Fixes <https://issues.guix.gnu.org/66659>.
Fixes a regression introduced in 6b0a321969. The
first attempt in e098ba2f49 to fix this issue didn't work.
* gnu/home/services.scm (compute-on-first-login-script): Add
‘begin *unspecified*’ around #$@gexps.
Change-Id: I14339ad684ffe93e692e507b57dcd221d96210ef
Signed-off-by: Clément Lassieur <clement@lassieur.org>
Fixes <https://issues.guix.gnu.org/66659>.
Fixes a regression introduced in
6b0a321969.
* gnu/home/services.scm (compute-on-first-login-script): Add ‘begin’
around #$@gexps.
Reported-by: Nils Landt <nils@landt.email>
* gnu/home/services.scm (compute-on-first-login-script): Use open-fdes to
atomically check whether a file exists and create it if not.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Fixes <https://issues.guix.gnu.org/63048>.
Reported by Ekaitz Zarraga <ekaitz@elenq.tech>.
* gnu/home/services.scm (with-shell-quotation-bindings): New procedure.
(environment-variable-shell-definitions): Use it instead of inline copy.
* gnu/home/services/shells.scm (bash-serialize-aliases): Use it. Add
clause for 'literal-string?'.
* tests/guix-home.sh: Add 'aliases' to 'home-bash-extension' and test it.
* gnu/home/services.scm (environment-variable-shell-definitions): Add support
for file-likes and gexps.
* tests/guix-home.sh: Add SHELL environment variable and test its value. Add
BUILDHOSTTIME environment variable.
This is a followup to 73684dc90e.
* gnu/home/services.scm (environment-variable-shell-definitions)
[shell-single-quote]: Remove #\\ from the escape list.
* gnu/home/services.scm (<literal-string>): New record type.
(environment-variable-shell-definitions): Split 'shell-quote' into
'quote-string' and 'shell-double-quote'. Add 'shell-single-quote'.
Add clause for 'literal-string' records.
* tests/guix-home.sh: Test it.
* doc/guix.texi (Essential Home Services): Document it.
Fixes <https://issues.guix.gnu.org/54469>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* gnu/home/services.scm (environment-variable-shell-definitions): New
procedure, with code formerly in 'serialize-posix-env-vars'.
(environment-variables->setup-environment-script): Change
"setup-environment" from 'mixed-text-file' to 'computed-file', and use
'environment-variable-shell-definitions'.
* tests/guix-home.sh: Test it.
* gnu/home/services/shells.scm (serialize-posix-env-vars): Delegate to
'environment-variable-shell-definitions'.
* gnu/home/services.scm (home-files-directory): New variable.
* gnu/home/symlink-manager.scm (update-symlinks-script): Use
home-files-directory variable from (gnu home services).
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Reinstates 4dcec60fa6, minus the
regression it introduced.
* gnu/home/services.scm (compute-on-first-login-script): Use
'program-file', not 'gexp->script'.
This commit breaks building guix home
guix home: error: reference to invalid output 'out' of derivation \
'/gnu/store/86zc4rijsswmfqnaq8rwixcxjl2zyl1c-on-first-login.drv'
This reverts commit 4dcec60fa6.
* gnu/home/services.scm (compute-on-first-login-script): Use
'computed-file' instead of' gexp->script'.
(on-first-login-script-entry): Expect a regular value rather than a
monadic value and remove 'mlet'.