source /etc/default/locale only if LANG is not set
[grml-etc-core.git] / etc / zsh / zshenv
1 # Filename:      zshenv
2 # Purpose:       system-wide .zshenv file for zsh(1)
3 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
4 # Bug-Reports:   see http://grml.org/bugs/
5 # License:       This file is licensed under the GPL v2.
6 # Latest change: Sam Feb 24 18:59:11 CET 2007 [mika]
7 ################################################################################
8 # This file is sourced on all invocations of the shell.
9 # It is the 1st file zsh reads; it's read for every shell,
10 # even if started with -f (setopt NO_RCS), all other
11 # initialization files are skipped.
12 #
13 # This file should contain commands to set the command
14 # search path, plus other important environment variables.
15 # This file should not contain commands that produce
16 # output or assume the shell is attached to a tty.
17 #
18 # Notice: .zshenv is the same, execpt that it's not read
19 # if zsh is started with -f
20 #
21 # Global Order: zshenv, zprofile, zshrc, zlogin
22 ################################################################################
23
24 # language settings (read in /etc/environment before /etc/default/locale as
25 # the latter one is the default on Debian nowadays)
26   [ -r /etc/environment    ] && source /etc/environment
27   if [ -n "$LANG" ]  ; then
28      export LANG
29   else
30      [ -r /etc/default/locale ] && source /etc/default/locale
31   fi
32   [ -n "$LANG" ]          && export LANG || export LANG="en_US.iso885915"
33   [ -n "$LC_ALL" ]        && export LC_ALL
34   [ -n "$LC_MESSAGES" ]   && export LC_MESSAGES
35
36   [ -r /etc/sysconfig/keyboard ] && source /etc/sysconfig/keyboard
37
38 # set environment variables (important for autologin on tty)
39   [ -z "$HOSTNAME" ]      && export HOSTNAME=`hostname`
40   [ -z "$USER" ]          && export USER=`id -un`
41   [[ $LOGNAME == LOGIN ]] && LOGNAME=$(id -un)
42
43 # workaround for live-cd mode as $HOME is not set via rungetty
44   if [ -f /etc/grml_cd ] ; then
45     if (( EUID == 0 )); then
46        export HOME=/root
47     else
48        export HOME=/home/$USER
49     fi
50   fi
51
52 # set $PATH
53 # gentoo users have to source /etc/profile.env
54   if [ -r /etc/gentoo-release ] ; then
55      [ -r /etc/profile.env ] && source /etc/profile.env
56        if (( EUID != 0 )); then
57           PATH="$HOME/bin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/games:/usr/NX/bin:$PATH"
58        else
59           PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/NX/bin:$PATH"
60        fi
61   else
62     # support extra software in special directory outside of squashfs environment in live-cd mode
63     if [ -f /etc/grml_cd ] ; then
64        [ -d /cdrom/addons/ ] && ADDONS=':/cdrom/addons/'
65     fi
66     if (( EUID != 0 )); then
67       PATH="$HOME/bin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/games:/usr/NX/bin$ADDONS"
68     else
69       PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/NX/bin$ADDONS"
70     fi
71 #  fi
72   fi
73
74 # less (:=pager) options:
75 #  export LESS=C
76   export LESSOPEN="|lesspipe.sh %s"
77   export READNULLCMD=${PAGER:-/usr/bin/pager}
78
79 # allow zeroconf for distcc
80   export DISTCC_HOSTS="+zeroconf"
81
82 # MAKEDEV should be usable on udev as well by default:
83   export WRITE_ON_UDEV=yes
84
85 ## END OF FILE #################################################################