GNU bug report logs - #20255
'search-paths' should respect both user and system profile.

Previous Next

Package: guix;

Reported by: 宋文武 <iyzsong <at> gmail.com>

Date: Sat, 4 Apr 2015 10:30:03 UTC

Severity: normal

Full log


View this message in rfc822 format

From: iyzsong <at> envs.net
To: 20255 <at> debbugs.gnu.org
Cc: 宋文武 <iyzsong <at> member.fsf.org>, ( <paren <at> disroot.org>, Andrew Tropin <andrew <at> trop.in>, Ludovic Courtès <ludo <at> gnu.org>
Subject: bug#20255: [PATCH 1/4] home: shells: Merge search-paths of multiple profiles.
Date: Wed, 17 May 2023 22:04:08 +0800
From: 宋文武 <iyzsong <at> member.fsf.org>

This is a followup to 40310efde9b4a4f2cf98081d6cd10f843685ebb6.

* gnu/home/services.scm (environment-variables->setup-environment-script):
Merge search-paths from multiple profiles via "guix package".
* gnu/home/services/shells.scm (zsh-file-zprofile, add-bash-configuration):
Adjust comments.
---
 gnu/home/services.scm        | 14 ++++++++++----
 gnu/home/services/shells.scm |  6 ++----
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/gnu/home/services.scm b/gnu/home/services.scm
index b17a34d19d..3a061cf310 100644
--- a/gnu/home/services.scm
+++ b/gnu/home/services.scm
@@ -260,11 +260,17 @@ (define (environment-variables->setup-environment-script vars)
                            (lambda (port)
                              (set-port-encoding! port "UTF-8")
                              (display "\
-HOME_ENVIRONMENT=$HOME/.guix-home
-GUIX_PROFILE=\"$HOME_ENVIRONMENT/profile\"
-PROFILE_FILE=\"$HOME_ENVIRONMENT/profile/etc/profile\"
-[ -f $PROFILE_FILE ] && . $PROFILE_FILE
+# Merge search-paths from multiple profiles, the order matters.
+eval \"$(guix package --search-paths \\
+-p $HOME/.config/guix/current \\
+-p $HOME/.guix-home/profile \\
+-p $HOME/.guix-profile \\
+-p /run/current-system/profile)\"
+
+# Prepend setuid programs.
+export PATH=/run/setuid-programs:$PATH
 
+HOME_ENVIRONMENT=$HOME/.guix-home
 case $XDG_DATA_DIRS in
   *$HOME_ENVIRONMENT/profile/share*) ;;
   *) export XDG_DATA_DIRS=$HOME_ENVIRONMENT/profile/share:$XDG_DATA_DIRS ;;
diff --git a/gnu/home/services/shells.scm b/gnu/home/services/shells.scm
index f05f2221d6..7c8908083e 100644
--- a/gnu/home/services/shells.scm
+++ b/gnu/home/services/shells.scm
@@ -185,9 +185,8 @@ (define (zsh-file-zprofile config)
   (mixed-text-file
    "zprofile"
    "\
-# Set up the system, user profile, and related variables.
+# Set up environment variables of profiles.
 source /etc/profile
-# Set up the home environment profile.
 source ~/.profile
 
 # It's only necessary if zsh is a login shell, otherwise profiles will
@@ -399,9 +398,8 @@ (define (add-bash-configuration config)
       ,(mixed-text-file
         "bash_profile"
         "\
-# Set up the system, user profile, and related variables.
+# Set up environment variables of profiles.
 # /etc/profile will be sourced by bash automatically
-# Set up the home environment profile.
 if [ -f ~/.profile ]; then source ~/.profile; fi
 
 # Honor per-interactive-shell startup file

base-commit: cf82526ac400fe953ddfbf9d7458d62ea4871d10
-- 
2.40.1





This bug report was last modified 2 years and 27 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.