summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2023-02-08 10:37:35 +0800
committer宋文武 <iyzsong@member.fsf.org>2023-05-12 20:27:06 +0800
commit40310efde9b4a4f2cf98081d6cd10f843685ebb6 (patch)
tree3f9f31710ee5fb2479df529e8ef222f46b5bdc23 /gnu/system
parent6419ca7fd75afb16cbff5725e99ec8d2e642a078 (diff)
downloadguix-40310efde9b4a4f2cf98081d6cd10f843685ebb6.tar.gz
system: default-skeletons: Merge search-paths of multiple profiles.
Fixes <https://issues.guix.gnu.org/20255>.

* gnu/system/shadow.scm (default-skeletons)[bash_profile, zprofile]:
Merge search-paths from multiple profiles via "guix package".
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/shadow.scm24
1 files changed, 22 insertions, 2 deletions
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 2bd72d3e96..8d428bf743 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -155,11 +155,31 @@ alias grep='grep --color=auto'\n"))
 if [ -f ~/.profile ]; then . ~/.profile; fi
 
 # Honor per-interactive-shell startup file
-if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n"))
+if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
+
+# Merge search-paths from multiple profiles, the order matters.
+eval \"$(guix package --search-paths \\
+-p $HOME/.config/guix/current \\
+-p $HOME/.guix-profile \\
+-p /run/current-system/profile)\"
+
+# Prepend setuid programs.
+export PATH=/run/setuid-programs:$PATH
+"))
         (bashrc  %default-bashrc)
         (zprofile    (plain-file "zprofile" "\
 # Honor system-wide environment variables
-source /etc/profile\n"))
+source /etc/profile
+
+# Merge search-paths from multiple profiles, the order matters.
+eval \"$(guix package --search-paths \\
+-p $HOME/.config/guix/current \\
+-p $HOME/.guix-profile \\
+-p /run/current-system/profile)\"
+
+# Prepend setuid programs.
+export PATH=/run/setuid-programs:$PATH
+"))
         (xdefaults (plain-file "Xdefaults" "\
 XTerm*utf8: always
 XTerm*metaSendsEscape: true\n"))