Subject: Re: [bug#39049] guix-install.sh: Create an init profile for better out-of-the-box experience on foreign distros

From: Ludovic Courtès <[email-masked]>
Date: Fri, 17 Jan 2020 17:29:10 +0100

Hello Prafulla,

Prafulla Giri <[email-masked]> skribis:

> Attached is a patch that I think improves the guix user experience on a
> foreign distro. It creates a guix.sh init profile at /etc/profile.d (in the
> same vein as flatpak with it's /etc/profile.d/flatpak.sh). I have been
> using the init file on few of my friends computers with no regressions.

That’s a great idea!  Do you know how common the /etc/profile.d/*.sh
convention is?

> I have tried my best to emulate the commit-logs as seen from `git log
> etc/guix-install.sh`. Please do let me know if I am doing anything wrong.
> This is my first real contribution to a GNU project, ever. I am still a
> n00b, and only have had experiences with GitHub based PRs so far, and still
> have a lot to learn. Please forgive my klutzes.

You did very well, no worries!  (And it’s normal to need some time to
discover a project’s conventions when one joins it.)

> From 527d82c66a1e80779f75a16cfdd65634d55f32c1 Mon Sep 17 00:00:00 2001
> From: Prafulla Giri <[email-masked]>
> Date: Sat, 28 Dec 2019 12:48:52 +0545
> Subject: [PATCH] guix-install.sh: Create an init profile during installation
>
> Create an init profile (/etc/profile.d/guix.sh) during installation for
> better integration with foreign distros. This file, read by login-shells
> sets a few environment variables (PATH, GUIX_PROFILE, GUIX_LOCALE, along
> with XDG_DATA_DIRS) and makes guix-installed packages readily available
> for the users. Other environment variables, as listed by `guix package
> --search-paths=prefix`, are also exported.
>
> Checks are in place to prevent the init profile from needlessly polluting
> the user's environment.
>
> * etc/guix-install.sh (sys_create_init_profile): New function to create
> /etc/profile.d/guix.sh init profile.

Applied, thanks!

Ludo’.