all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#64765] [PATCH] gnu: home: zsh: Also load enviroment in non-login shells
@ 2023-07-21 10:51 Saku Laesvuori via Guix-patches via
  2023-07-21 12:42 ` 宋文武 via Guix-patches via
  2023-08-17  7:38 ` [bug#64765] [PATCH v2] gnu: home: zsh: Load environment when running via ssh Saku Laesvuori via Guix-patches via
  0 siblings, 2 replies; 7+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2023-07-21 10:51 UTC (permalink / raw)
  To: 64765; +Cc: Saku Laesvuori

* gnu/home/services/shells.scm (zsh-file-zshenv): Add snippet to source
profiles.
(zsh-file-zprofile): Remove profile sourcing snippet.
(zsh-get-configuration-files): Always add .zshenv as it is never empty.
Check that .zprofile is not empty before adding it.
---
The service incorrectly assumed that shells are either login shells or
started from another shell. For example, ssh with a command argument
starts shells that aren't login shells nor started from another shell.

 gnu/home/services/shells.scm | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/gnu/home/services/shells.scm b/gnu/home/services/shells.scm
index 7960590e7c..93a3b38267 100644
--- a/gnu/home/services/shells.scm
+++ b/gnu/home/services/shells.scm
@@ -182,21 +182,18 @@ (define* (zsh-field-not-empty? config field)
 (define (zsh-file-zshenv config)
   (mixed-text-file
    "zshenv"
-   (zsh-serialize-field config 'zshenv)
-   (zsh-serialize-field config 'environment-variables)))
-
-(define (zsh-file-zprofile config)
-  (mixed-text-file
-   "zprofile"
    "\
 # Set up the system, user profile, and related variables.
 source /etc/profile
 # Set up the home environment profile.
 source ~/.profile
-
-# It's only necessary if zsh is a login shell, otherwise profiles will
-# be already sourced by bash
 "
+   (zsh-serialize-field config 'zshenv)
+   (zsh-serialize-field config 'environment-variables)))
+
+(define (zsh-file-zprofile config)
+  (mixed-text-file
+   "zprofile"
    (zsh-serialize-field config 'zprofile)))
 
 (define (zsh-file-by-field config field)
@@ -208,10 +205,9 @@ (define (zsh-file-by-field config field)
         (zsh-serialize-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 'zprofile)
+          `((".zprofile" ,(zsh-file-by-field config 'zprofile))) '())
     ,@(if (zsh-field-not-empty? config 'zshrc)
           `((".zshrc" ,(zsh-file-by-field config 'zshrc))) '())
     ,@(if (zsh-field-not-empty? config 'zlogin)

base-commit: e401eff97706dc6cdaf20b01dd12e291d7d13c2b
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-09-17 13:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-21 10:51 [bug#64765] [PATCH] gnu: home: zsh: Also load enviroment in non-login shells Saku Laesvuori via Guix-patches via
2023-07-21 12:42 ` 宋文武 via Guix-patches via
2023-07-21 14:44   ` Saku Laesvuori via Guix-patches via
2023-08-16 20:48     ` Ludovic Courtès
2023-08-17  7:36       ` Saku Laesvuori via Guix-patches via
2023-08-17  7:38 ` [bug#64765] [PATCH v2] gnu: home: zsh: Load environment when running via ssh Saku Laesvuori via Guix-patches via
2023-09-17 13:10   ` bug#64765: [PATCH] gnu: home: zsh: Also load enviroment in non-login shells Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.