diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/system.scm | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index 476720b9f9..04dd7a845c 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -408,6 +408,17 @@ GUIX_PROFILE=/run/current-system/profile \\ # Prepend setuid programs. export PATH=/run/setuid-programs:$PATH +# Since 'lshd' does not use pam_env, /etc/environment must be explicitly +# loaded when someone logs in via SSH. See <http://bugs.gnu.org/22175>. +# We need 'PATH' to be defined here, for 'cat' and 'cut'. Do this before +# reading the user's 'etc/profile' to allow variables to be overridden. +if [ -f /etc/environment -a -n \"$SSH_CLIENT\" \\ + -a -z \"$LINUX_MODULE_DIRECTORY\" ] +then + . /etc/environment + export `cat /etc/environment | cut -d= -f1` +fi + if [ -f \"$HOME/.guix-profile/etc/profile\" ] then # Load the user profile's settings. @@ -419,16 +430,6 @@ else export PATH=\"$HOME/.guix-profile/bin:$PATH\" fi -# Since 'lshd' does not use pam_env, /etc/environment must be explicitly -# loaded when someone logs in via SSH. See <http://bugs.gnu.org/22175>. -# We need 'PATH' to be defined here, for 'cat' and 'cut'. -if [ -f /etc/environment -a -n \"$SSH_CLIENT\" \\ - -a -z \"$LINUX_MODULE_DIRECTORY\" ] -then - . /etc/environment - export `cat /etc/environment | cut -d= -f1` -fi - # Set the umask, notably for users logging in via 'lsh'. # See <http://bugs.gnu.org/22650>. umask 022 |