* gnu/home/services.scm (files->files-directory): Build file union
without checking for existence of included items.
* tests/guix-home.sh: Verify symlinking files out of store works.
Change-Id: I94054003f4a6be944252ce7a397cf56f0b979554
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Locales installed via Guix Home should be exposed to Guix packages by
default.
* gnu/home/services.scm (environment-variables->setup-environment-script):
Set GUIX_LOCPATH.
Change-Id: Ic61f0832312479ba36f471d92a12e7b4e296389f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
While they aren’t exported, these temporary variables show up in the
resulting shell, cluttering tab completion and declare -p.
* gnu/home/services.scm (environment-variables->setup-environment-script):
Unset shell variables.
* gnu/home/services/shells.scm (add-shell-profile-file): Likewise.
Change-Id: Ibb634849d9f38c1a9a44c0d493e92231364de958
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
setup-environment already defines this variable. Use it since it’s more
concise.
* gnu/home/services.scm (environment-variables->setup-environment-script):
Use GUIX_PROFILE.
Change-Id: Ib75d8df6294976f4e95cfa7d607dc0ba21ddd258
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/home/services.scm: Add end-of-text newline to warning printed by
on-first-login script when XDG_RUNTIME_DIR does not exist.
Change-Id: I3bfe2c415f6941fa9a2231ab2a0be53db965053f
Signed-off-by: Hilton Chain <hako@ultrarare.space>
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'.