Subject: Re: bug#45360: Cannot log in to GNOME on foreign distro with Guix

From: Carlo Zancanaro <[email-masked]>
Date: Tue, 22 Dec 2020 22:42:25 +1100

Hi Evan!

On Tue, Dec 22 2020, Evan Straw wrote:
> ... When I add a package (like stumpwm) that needs to set 
> XDG_DATA_DIRS, the problem seems to reappear. ...

I think I've had this problem in the past. I'm currently running 
on a foreign distribution, and I have this in my ~/.profile file:

    # XDG_DATA_DIRS often starts off empty, but an empty value is
    # interpreted as this value. Loading a profile can set it, 
    though,
    # which effectively ignores the default value. We want it to
    # instead add to the default, so we set it here to the default
    # value.
    if [ -z "$XDG_DATA_DIRS" ]; then
        export XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
    fi

I think I took the default value from 
https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html 
where it says:

    If $XDG_DATA_DIRS is either not set or empty, a value equal to 
    /usr/local/share/:/usr/share/ should be used.

I hope that helps!

> Is this a bug, or is it possible I've just misconfigured 
> something?

We should consider this a bug, because Guix's attempt to add to 
the XDG_DATA_DIRS environment variable clobbers the default value 
that foreign distributions are relying on.

We should at least document this in the manual, maybe in "(guix) 
Application Setup".

Carlo