Subject: Re: bug#66659: (home-)on-first-login script broken when no gexps are added

From: Carlo Zancanaro <[email-masked]>
Date: Sat, 21 Oct 2023 20:27:12 +1100

On Sat, Oct 21 2023, Nils Landt wrote:
> ...
> As you can see, there is no body in the "when" expression.
>
> Code in gnu/home/services.scm:438 :
>
>           (if (file-exists? xdg-runtime-dir)
>               (when (claim-first-run flag-file-path)
>                 #$@gexps)
>
> In my case, it appears that gexps is empty, resulting in the invalid syntax.

Ah, yep, that's an issue. That issue was introduced in 6b0a32196982a0a2f4dbb59d35e55833a5545ac6.

I guess this raises a question about how to resolve this: if we have no gexps, do we still want to claim the first run?

If yes: we can add #t (or whatever) to the end of the "when" form to make sure it's never empty.

If no: we can generate an empty on-first-login script that does nothing.

The previous behaviour was to still claim the first run, so I'll send through a patch that does that.

Carlo