Subject: bug#38243: Zsh does not load /etc/profile values by default

From: Leo Prikler <[email-masked]>
Date: Sun, 17 Nov 2019 14:21:58 +0100

> I'm not sure what status /etc/profile holds in Guix -- is it the
> canonical location for any user-wide environment settings? Will it
> be 
> guaranteed to be POSIXly correct, rather than having any bashisms?
It is currently not and I'm not sure whether it will be.  The current
behaviour is known to cause problems with fish, though, so a proper
solution would be appreciated.  The real culprit seems likely to be
$GUIX_PROFILE/etc/profile, which are sourced by /etc/profile.  As far
as zsh is concerned, it does seem to work despite the bashisms, as long
as you can get it to source /etc/profile.

> Not sure what the correct approach should be here. We could symlink
> /etc/zprofile to /etc/profile , but that would require knowing that
> /etc/profile was always available. Or we could include a source'ing
> of
> /etc/profile in /etc/zprofile.
I'd rather generate a separate file.  In zsh, you would also have to
expand fpath to include Guix' autocompletion stuff, which works out of
the box for bash.  Given the aforementioned bashisms in
$GUIX_PROFILE/etc/profile, we may also want to keep a
$GUIX_PROFILE/etc/zprofile, although ideally we would make our profiles
POSIXly correct instead.

Regards,
Leo