diff options
author | Carlos Sánchez de La Lama <csanchezdll@gmail.com> | 2016-07-27 14:27:00 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-07-27 23:08:20 +0200 |
commit | cad7e6abafc14de220265e09a0fc4bbd96664599 (patch) | |
tree | 8394e0d68c59335b700befd21e7b2a07b9106c14 /gnu/system.scm | |
parent | 9712ef8d426375f7bc1975ed4076663176c48735 (diff) |
system: Source /etc/environment before $HOME/.guix-profile/etc/profile.
* gnu/system.scm (operating-system-etc-service) <profile>: Move sourcing
of /etc/environment before that of $HOME/.guix-profile/etc/profile.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/system.scm')
-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 |