guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: use zsh as login shell


From: Ludovic Courtès
Subject: Re: use zsh as login shell
Date: Fri, 28 Nov 2014 23:26:30 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)

宋文武 <address@hidden> skribis:

> Ludovic Courtès <address@hidden> writes:
>
>> 宋文武 <address@hidden> skribis:

[...]

>>> IMO, we should use `/etc/environment' for system variables:
>>>     LANG=en_US.UTF-8
>>>     PATH=/run/current-system/profile/bin:/run/setuid-programs
>>> And add `pam_env.so' to /etc/pam.d/login, to make tty login work.
>>>
>>> With `/etc/profile', `/etc/zlogin' just:
>>>     source /etc/environment
>>> to make `bash -l' and `zsh -l' work.
>>
>> Is ‘pam env’ needed at all if /etc/profile and /etc/zlogin are provided
>> anyway?
> Yes, it's redundant.
> Now I think the better way is just provide /etc/environment.
> then `bash -l' would take ~/.bash_profile and ~/.profile.
> We can have a default ~/.bash_profile like:
>     source /etc/environment
>     export PATH=$PATH:$HOME/.guix-profile/bin

Currently, the .bashrc skeleton sources /etc/profile.

So, instead of what you suggest, what about having:

  1. /etc/profile and /etc/zlogin (?) both source /etc/environment,
     which uses plain Bourne syntax.

  2. PATH is defined in /etc/environment and includes
     ~/.guix-profile/bin.

  3. The skeleton for ~/.bash_profile sources /etc/profile, /etc/bashrc,
     and ~/.bashrc.

  4. The definition of PS1 is moved from /etc/profile to /etc/bashrc.

  5. The skeleton for ~/.bashrc sources /etc/bashrc.

?

(I was reading the Bash manual to make sure (info "(bash) Bash Startup
Files"), and as an exercise, I’ve cleaned up my own ~/.bashrc and
~/.bash_profile accordingly, which fixes the issue I reported a couple
of weeks ago regarding ‘guix environment’.)

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]