~ruther/guix-local

d2a751c14eac664e32c79613f09cf146504d433f — Saku Laesvuori 3 years ago c69dc48
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>
1 files changed, 3 insertions(+), 4 deletions(-)

M gnu/home/services/shells.scm
M gnu/home/services/shells.scm => gnu/home/services/shells.scm +3 -4
@@ 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)