all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Prikler <leo.prikler@student.tugraz.at>
To: Danny O'Brien <danny@spesh.com>
Cc: 38243@debbugs.gnu.org
Subject: bug#38243: Zsh does not load /etc/profile values by default
Date: Sun, 08 Dec 2019 10:01:12 +0100	[thread overview]
Message-ID: <59bddacf16b64ab6f5409958704608b1280b7819.camel@student.tugraz.at> (raw)
In-Reply-To: <CAAkY2sdQN9Vczi=5_a_-=tZU8kwnd+Mhen--Lh_3maCu7NfaVQ@mail.gmail.com>

Am Samstag, den 07.12.2019, 22:15 -0800 schrieb Danny O'Brien:
> I took a closer look at this, and currently Zsh users have
> /etc/profile included in their environment by virtue of a default
> $HOME/.zprofile, which is created in their home directory when they
> are created (via `useradd` and /etc/skel ).
It appears, though, that some Guix users lack this skeleton, perhaps
those who used it before the change.

> I'm a little stuck to know what to do here -- if we source
> /etc/profile in /etc/zprofile, then we risk sourcing it twice for
> users who have the current default ~/.zprofile already in their home
> directories`. OTOH, if users come to Guix System with their own pre-
> existing home directory, then they may well struggle --- as I did --
> because important environment variables aren't set by their
> established ~/.zshrc, ~/.zprofile or ~/.zlogin setups.
I don't think the problem is as bad as you make it out to be.  If we
write channel news describing the move of .zprofile to /etc/zprofile,
people ought to see it and be able to prevent the double-sourcing.


> I *think* the right thing to do is to drop the current
> /etc/skel/.zprofile and establish that /etc/zprofile (and other
> shells) should source /etc/profile . Guix System does a lot of setup
> in /etc/profile including including $GUIX_PROFILE/etc/profile.  It
> would be best if this automatically happened, whatever is going on in
> individual home directories. I'm a Guix newbie though, so I'm happy
> to take advice!  Archlinux has a one-line /etc/zprofile which sources
> /etc/profile ; Debian does not; I have not checked other
> distributions, but I could.
The real problem with $GUIX_PROFILE/etc/profile is its shell-specific
behaviour.  The weird syntax used there *happens* to be supported by
zsh, but other shells (most notably fish, but e.g. also Eshell[1]) do
not like it.
To solve this problem not just for one shell, but for all of them, we
should write a portable $GUIX_PROFILE/etc/profile.  Same for
/etc/profile.  Then we can source it from other shells.  Again,
sourcing it from /etc/zprofile is fine even without that change, as zsh
happens to eat this syntax without complaints, but other shells do not
like it.

Regards,
Leo

[1] Eshell is a weird one.  Sourceing the file directly appears to
work, but does nothing.  Setting $GUIX_PROFILE instead causes the user
to be prompted for an alias.

  reply	other threads:[~2019-12-08  9:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-17  7:14 bug#38243: Zsh does not load /etc/profile values by default Danny O'Brien
2019-11-17 13:21 ` Leo Prikler
2019-12-08  6:15   ` Danny O'Brien
2019-12-08  9:01     ` Leo Prikler [this message]
2019-11-17 21:42 ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=59bddacf16b64ab6f5409958704608b1280b7819.camel@student.tugraz.at \
    --to=leo.prikler@student.tugraz.at \
    --cc=38243@debbugs.gnu.org \
    --cc=danny@spesh.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.