diff mbox series

[bug#52891] guix-install.sh: Run guix.sh script in /etc/profile.d last.

Message ID m1lf02qyf0.fsf@fastmail.net
State New
Headers show
Series [bug#52891] guix-install.sh: Run guix.sh script in /etc/profile.d last. | expand

Commit Message

Konrad Hinsen Dec. 30, 2021, 8:39 a.m. UTC
* etc/guix-install.sh: Rename /etc/profile.d/guix.sh to zzz-guix.sh.

This script refers to environment variables set by the host distribution.
They may be set in other scripts in /etc/profile.d, which must therefore
be run first.
Example: in Ubuntu 20.04, XDG_DATA_DIRS is set in
/etc/profile.d/xdg_dirs_desktop_session.sh
---
 etc/guix-install.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ludovic Courtès Jan. 14, 2022, 8:27 a.m. UTC | #1
Hi Konrad,

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

> * etc/guix-install.sh: Rename /etc/profile.d/guix.sh to zzz-guix.sh.
>
> This script refers to environment variables set by the host distribution.
> They may be set in other scripts in /etc/profile.d, which must therefore
> be run first.
> Example: in Ubuntu 20.04, XDG_DATA_DIRS is set in
> /etc/profile.d/xdg_dirs_desktop_session.sh

[...]

> -    cat <<"EOF" > /etc/profile.d/guix.sh
> +    cat <<"EOF" > /etc/profile.d/zzz-guix.sh

Does anybody have objections, such as distros where this would not work?

Otherwise let’s apply it in time for the upcoming release.

Thanks,
Ludo’.
Mathieu Othacehe Nov. 8, 2022, 9:58 a.m. UTC | #2
Hello,

> Does anybody have objections, such as distros where this would not work?
>
> Otherwise let’s apply it in time for the upcoming release.

Tested on Ubuntu, seems to work fine. It appears to be the right thing
to do to make sure that Guix stuff is prepended to XDG_*, PATH and
INFOPATH variables.

Applied as 93be56a3ab28ed0a482f354b7f536681c99b6999.

Thanks,

Mathieu
diff mbox series

Patch

diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index cd1a1c34c1..00a9fc5377 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -503,7 +503,7 @@  sys_create_init_profile()
 { # Define for better desktop integration
   # This will not take effect until the next shell or desktop session!
     [ -d "/etc/profile.d" ] || mkdir /etc/profile.d # Just in case
-    cat <<"EOF" > /etc/profile.d/guix.sh
+    cat <<"EOF" > /etc/profile.d/zzz-guix.sh
 # _GUIX_PROFILE: `guix pull` profile
 _GUIX_PROFILE="$HOME/.config/guix/current"
 export PATH="$_GUIX_PROFILE/bin${PATH:+:}$PATH"