From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?B?5a6L5paH5q2m?= Subject: use zsh as login shell Date: Thu, 27 Nov 2014 23:58:38 +0800 Message-ID: <87k32gtz2p.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39877) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xu1TX-0007Sp-BJ for guix-devel@gnu.org; Thu, 27 Nov 2014 10:59:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xu1TM-00052E-RK for guix-devel@gnu.org; Thu, 27 Nov 2014 10:59:23 -0500 Received: from mail-pa0-x22b.google.com ([2607:f8b0:400e:c03::22b]:48372) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xu1TM-000526-Jx for guix-devel@gnu.org; Thu, 27 Nov 2014 10:59:12 -0500 Received: by mail-pa0-f43.google.com with SMTP id kx10so5216102pab.30 for ; Thu, 27 Nov 2014 07:59:11 -0800 (PST) Received: from akarin ([59.172.247.101]) by mx.google.com with ESMTPSA id ir2sm7461218pbc.57.2014.11.27.07.59.07 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Nov 2014 07:59:10 -0800 (PST) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Currently, zsh doesn't work out of box. 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. And `~/.bash_profile', `~/.zlogin' for user variables: [[ $- == *i* ]] && source ~/.bashrc # only for bash export PATH=$PATH:$HOME/.guix-profile/bin Use `~/.bashrc', `~/.zshrc' for interactive settings: PS1='$ ' alias ls='ls -p --color' # $(guix package --search-paths)? Note: non-login interactive should inherit env from parent, eg: `env -i $(which bash)' spawn a shell with no PATH (what I expect).