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>
This commit is contained in:
Saku Laesvuori 2023-08-17 10:38:48 +03:00 committed by Ludovic Courtès
parent c69dc48da6
commit d2a751c14e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -183,7 +183,8 @@ (define (zsh-file-zshenv config)
(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 @@ (define (zsh-file-by-field config field)
(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)