[PATCH] system: default-skeletons: Merge search-paths of multiple profiles.

  • Done
  • quality assurance status badge
Details
2 participants
  • iyzsong
  • Liliana Marie Prikler
Owner
unassigned
Submitted by
iyzsong
Severity
normal
I
I
iyzsong wrote on 8 Feb 2023 03:37
(address . guix-patches@gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
20230208023735.8388-1-iyzsong@envs.net
From: ??? <iyzsong@member.fsf.org>


* 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(-)

Toggle diff (40 lines)
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"))
--
2.39.1
L
L
Liliana Marie Prikler wrote on 8 Feb 2023 06:18
(name . ???)(address . iyzsong@member.fsf.org)
86b3b6506962488fece3f01497b6d63b880419b4.camel@gmail.com
Am Mittwoch, dem 08.02.2023 um 10:37 +0800 schrieb iyzsong@envs.net:
Toggle quote (48 lines)
> 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?
?
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
87fsbg8vxv.fsf@envs.net
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

Toggle quote (14 lines)
> 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.
?
Re: bug#61358: [PATCH] system: default-skeletons: Merge search-paths of multiple profiles.
(address . 61358-done@debbugs.gnu.org)
87zg6991fw.fsf@envs.net
Pushed now!
Closed
?