X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshenv;h=9a97788c4804687783b6eab41bead2871f34db65;hb=31dc671f573000a4e83b715c2f1e52829d604e1c;hp=0f12462205907eb2e051cb32238a417de4a792e6;hpb=fbcf64be606a6956dc4c4ade15775e4a4670366f;p=grml-etc-core.git diff --git a/etc/zsh/zshenv b/etc/zsh/zshenv index 0f12462..9a97788 100644 --- a/etc/zsh/zshenv +++ b/etc/zsh/zshenv @@ -3,7 +3,6 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Sam Feb 24 18:59:11 CET 2007 [mika] ################################################################################ # This file is sourced on all invocations of the shell. # It is the 1st file zsh reads; it's read for every shell, @@ -23,63 +22,108 @@ # language settings (read in /etc/environment before /etc/default/locale as # the latter one is the default on Debian nowadays) - [ -r /etc/environment ] && source /etc/environment - if [ -n "$LANG" ] ; then - export LANG - else - [ -r /etc/default/locale ] && source /etc/default/locale - fi - [ -n "$LANG" ] && export LANG || export LANG="en_US.iso885915" - [ -n "$LC_ALL" ] && export LC_ALL - [ -n "$LC_MESSAGES" ] && export LC_MESSAGES - - [ -r /etc/sysconfig/keyboard ] && source /etc/sysconfig/keyboard +# no xsource() here because it's only created in zshrc! (which is good) +[[ -r /etc/environment ]] && source /etc/environment # set environment variables (important for autologin on tty) - [ -z "$HOSTNAME" ] && export HOSTNAME=`hostname` - [ -z "$USER" ] && export USER=`id -un` - [[ $LOGNAME == LOGIN ]] && LOGNAME=$(id -un) +export HOSTNAME=${HOSTNAME:-$(hostname)} + +# make sure /usr/bin/id is available +if [[ -x /usr/bin/id ]] ; then + [[ -z "$USER" ]] && export USER=$(/usr/bin/id -un) + [[ $LOGNAME == LOGIN ]] && LOGNAME=$(/usr/bin/id -un) +fi # workaround for live-cd mode as $HOME is not set via rungetty - if [ -f /etc/grml_cd ] ; then +if [[ -f /etc/grml_cd ]] ; then if (( EUID == 0 )); then - export HOME=/root + export HOME=/root else - export HOME=/home/$USER + export HOME=/home/$USER fi - fi +fi -# set $PATH +## set $PATH # gentoo users have to source /etc/profile.env - if [ -r /etc/gentoo-release ] ; then - [ -r /etc/profile.env ] && source /etc/profile.env - if (( EUID != 0 )); then - PATH="$HOME/bin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/games:/usr/NX/bin:$PATH" - else - PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/NX/bin:$PATH" - fi - else - # support extra software in special directory outside of squashfs environment in live-cd mode - if [ -f /etc/grml_cd ] ; then - [ -d /cdrom/addons/ ] && ADDONS=':/cdrom/addons/' - fi - if (( EUID != 0 )); then - PATH="$HOME/bin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/games:/usr/NX/bin$ADDONS" - else - PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/NX/bin$ADDONS" - fi -# fi - fi +if [[ -r /etc/gentoo-release ]] ; then + [[ -r /etc/profile.env ]] && source /etc/profile.env +fi + +# support extra scripts/software in special directory outside of squashfs environment in live mode +if [[ -f /etc/grml_cd ]] ; then + [[ -r /run/live/medium/scripts ]] && ADDONS='/run/live/medium/scripts' + [[ -r /etc/grml/my_path ]] && ADDONS="$(cat /etc/grml/my_path)" +fi + +# Solaris +case $(uname 2>/dev/null) in + SunOS) + path=( + /usr/bin + /usr/sbin + /usr/ccs/bin + /opt/SUNWspro/bin + /usr/ucb + /usr/sfw/bin + /usr/gnu/bin + /usr/openwin/bin + /opt/csw/bin + /sbin + ~/bin + ) +esac + +# generic $PATH handling +if (( EUID != 0 )); then + path=( + $HOME/bin + /usr/local/bin + /usr/bin + /bin + /usr/local/sbin + /usr/sbin + /sbin + /usr/local/games + /usr/games + "${ADDONS}" + "${path[@]}" + ) +else + path=( + $HOME/bin + /usr/local/sbin + /usr/local/bin + /sbin + /bin + /usr/sbin + /usr/bin + "${ADDONS}" + "${path[@]}" + ) +fi + +# remove empty components to avoid '::' ending up + resulting in './' being in $PATH +path=( "${path[@]:#}" ) + +typeset -U path # less (:=pager) options: # export LESS=C - export LESSOPEN="|lesspipe.sh %s" - export READNULLCMD=${PAGER:-/usr/bin/pager} +typeset -a lp; lp=( ${^path}/lesspipe(N) ) +if (( $#lp > 0 )) && [[ -x $lp[1] ]] ; then + export LESSOPEN="|lesspipe %s" +elif [[ -x /usr/bin/lesspipe.sh ]] ; then + export LESSOPEN="|lesspipe.sh %s" +fi +unset lp + +export READNULLCMD=${PAGER:-/usr/bin/pager} # allow zeroconf for distcc - export DISTCC_HOSTS="+zeroconf" +export DISTCC_HOSTS="+zeroconf" # MAKEDEV should be usable on udev as well by default: - export WRITE_ON_UDEV=yes +export WRITE_ON_UDEV=yes ## END OF FILE ################################################################# +# vim:filetype=zsh foldmethod=marker autoindent expandtab shiftwidth=4