summary refs log tree commit diff
diff options
context:
space:
mode:
authorSaku Laesvuori <saku@laesvuori.fi>2023-08-17 10:38:48 +0300
committerLudovic Courtès <ludo@gnu.org>2023-09-17 15:31:04 +0200
commitd2a751c14eac664e32c79613f09cf146504d433f (patch)
treef65a4e69144c174320099f946fc42d1fe8da7c25
parentc69dc48da684c338fb8fc991a5d95a238df7573a (diff)
downloadguix-d2a751c14eac664e32c79613f09cf146504d433f.tar.gz
gnu: home: zsh: Load environment when running via ssh
* gnu/home/services/shells.scm (zsh-file-zshenv): Add snippet to source
/etc/profile when running via ssh.
(zsh-get-configuration-files): Always add .zshenv as it is never empty.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/home/services/shells.scm7
1 files changed, 3 insertions, 4 deletions
diff --git a/gnu/home/services/shells.scm b/gnu/home/services/shells.scm
index 7960590e7c..9dd56f634a 100644
--- a/gnu/home/services/shells.scm
+++ b/gnu/home/services/shells.scm
@@ -183,7 +183,8 @@ another process for example)."))
   (mixed-text-file
    "zshenv"
    (zsh-serialize-field config 'zshenv)
-   (zsh-serialize-field config 'environment-variables)))
+   (zsh-serialize-field config 'environment-variables)
+   "[ -n \"$SSH_CLIENT\" ] && source /etc/profile"))
 
 (define (zsh-file-zprofile config)
   (mixed-text-file
@@ -209,9 +210,7 @@ source ~/.profile
 
 (define (zsh-get-configuration-files config)
   `((".zprofile" ,(zsh-file-by-field config 'zprofile)) ;; Always non-empty
-    ,@(if (or (zsh-field-not-empty? config 'zshenv)
-              (zsh-field-not-empty? config 'environment-variables))
-          `((".zshenv" ,(zsh-file-by-field config 'zshenv))) '())
+    (".zshenv" ,(zsh-file-by-field config 'zshenv)) ;; Always non-empty
     ,@(if (zsh-field-not-empty? config 'zshrc)
           `((".zshrc" ,(zsh-file-by-field config 'zshrc))) '())
     ,@(if (zsh-field-not-empty? config 'zlogin)