Subject: [bug#56050] [PATCH] home: services: environment-variables: Fix XDG base directories.

From: Ludovic Courtès <[email-masked]>
Date: Sat, 25 Jun 2022 23:39:37 +0200

Hi Philip,

Philip McGrath <[email-masked]> skribis:

> I based this patch on the file that gets installed as /etc/profile.d/guix.sh (I haven't found its source yet). Maybe we could leave this code alone if we change that file, instead? Then, both on Guix System and on foreign distros, some system-wide code would be responsible for initializing these search paths, and we could assume in contexts like this that they are explicitly set and not empty.

Yes, changing /etc/profile.d/guix.sh sounds better: it allows us to
provide a solution specifically for foreign distros.

This file is created by ‘etc/guix-install.sh’, the installation script
given at <https://guix.gnu.org/manual/en/html_node/Binary-Installation.html>.

> One catch is that, right now, this is what was installed for me into /etc/profile.d/guix.sh:

[...]

> but $HOME/.guix-profile doesn't exist for me (only $HOME/.guix-home), so this script exits without setting GUIX_LOCPATH or XDG_DATA_DIRS. Maybe something about that should change?

Yes, that too!  We should change it so that it checks
~/.guix-home/profile and ~/.guix-profile (in that order) and picks the
right one.

Would you like to give it a try?

Thanks,
Ludo’.