Hello,
Since commit 9e4c90ea160066d0b8e23c1e73450e2fc9f68bea ("guix: Adjust
environment setup so extensions are located without propagating Guix.",
authored 2026-08-17, committed 2026-08-21), the /etc/profile generated on
Guix System contains a stray line, and every login shell prints an error.
There appear to be two separate defects in the three lines that commit
added to gnu/system.scm.
1. Missing line continuation
----------------------------
In gnu/system.scm, inside the "profile" mixed-text-file in
operating-system-etc-service (around line 1075):
export GUIX_EXTENSIONS_PATH=\
$HOME/.guix-profile/share/guix/extensions
:/run/current-system/share/guix/extensions
The first line ends with a backslash, which inside a Guile string literal
elides the newline. The second line does not, so a literal newline is
emitted into the generated file between "extensions" and ":/run/...".
The resulting /etc/profile, lines 8-9:
export GUIX_EXTENSIONS_PATH=$HOME/.guix-profile/share/guix/extensions
:/run/current-system/share/guix/extensions
Line 9 is then executed as a command word:
$ bash -l -c true
/etc/profile: line 9: :/run/current-system/share/guix/extensions:
No such file or directory
This appears on every shell that sources /etc/profile: console login, SSH
login, and "su -".
Beyond the message, GUIX_EXTENSIONS_PATH ends up set to only
$HOME/.guix-profile/share/guix/extensions -- the system component is lost.
Proposed fix:
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@
export GUIX_EXTENSIONS_PATH=\
-$HOME/.guix-profile/share/guix/extensions
+$HOME/.guix-profile/share/guix/extensions\
:/run/current-system/share/guix/extensions
2. The system-side path looks wrong
------------------------------------
/run/current-system/share/guix/extensions cannot exist.
/run/current-system contains only:
activate boot channels.scm configuration.scm etc initrd
kernel locale parameters profile provenance
There is no "share" there and there never will be. Every other entry in
the same template uses /run/current-system/profile/... -- MANPATH,
INFOPATH, XDG_DATA_DIRS, XDG_CONFIG_DIRS and XCURSOR_PATH all do.
I believe the line should read:
:/run/current-system/profile/share/guix/extensions
so that extensions installed into the system profile are actually found.
Both paths are absent on my machine, so this second defect has no visible
symptom yet -- nothing that previously worked has regressed.
System
------
$ guix describe
Generation 126 Aug 23 2026 02:21:09 (current)
nonguix caa8c0b
repository URL: https://gitlab.com/nonguix/nonguix
branch: master
commit: caa8c0b4646b993537be13c9bc819b3df68ab9b2
guix 883d5b4
repository URL: https://codeberg.org/guix/guix.git
branch: master
commit: 883d5b48010542f04eafdb9c8f03a8b17ea8ace4
x86_64-linux, Guix System.
Thanks,
Z