Message ID | 20230208023735.8388-1-iyzsong@envs.net |
---|---|
State | New |
Headers | show |
Series | [bug#61358] system: default-skeletons: Merge search-paths of multiple profiles. | expand |
Am Mittwoch, dem 08.02.2023 um 10:37 +0800 schrieb iyzsong@envs.net: > From: 宋文武 <iyzsong@member.fsf.org> > > 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". > --- > gnu/system/shadow.scm | 24 ++++++++++++++++++++++-- > 1 file changed, 22 insertions(+), 2 deletions(-) > > diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm > index 2e87928368..a46f53e784 100644 > --- a/gnu/system/shadow.scm > +++ b/gnu/system/shadow.scm > @@ -152,11 +152,31 @@ (define (default-skeletons) > > (let ((profile (plain-file "bash_profile" "\ > # 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")) Why not do this in /etc/profile?
Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > Am Mittwoch, dem 08.02.2023 um 10:37 +0800 schrieb iyzsong@envs.net: >> From: 宋文武 <iyzsong@member.fsf.org> >> >> 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". >> --- >> gnu/system/shadow.scm | 24 ++++++++++++++++++++++-- >> 1 file changed, 22 insertions(+), 2 deletions(-) >> [...] > Why not do this in /etc/profile? It's easier to modify ~/.bash_profile If you don't like the way (eval! and speed as disscussed in #20255). Also this doesn't include home profiles, which a user likely want to add them into "guix package -p ..." too.
Pushed now!
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 2e87928368..a46f53e784 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -152,11 +152,31 @@ (define (default-skeletons) (let ((profile (plain-file "bash_profile" "\ # 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"))
From: 宋文武 <iyzsong@member.fsf.org> 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". --- gnu/system/shadow.scm | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-)