######################################################################
# ~/.zshenv
#
# Z-Shell Environment File
#
# I use this file both as a regular user and as a superuser, so
# there will be some differences depending on UID. It also runs
# on several different systems, so there will be differences based
# on HOST or DOMAIN, too.
#
######################################################################
export ZSHENV_VERSION="$Id: .zshenv,v 1.52 2003/03/12 19:31:23 cwynne Exp $"
######################################################################
# Run SSH authentication agent.
######################################################################
_SSH_AUTH="$SSH_AUTH_SOCK$SSH2_AUTH_SOCK"
whence -p ssh-agent >& /dev/null
if [[ $? == 0 && -z $_SSH_AUTH && -o interactive ]]; then
echo "Executing SSH Authentication Agent..."
eval $(ssh-agent -s)
export _AGENT_=$SSH_AGENT_PID
fi
unset _SSH_AUTH
whence -p ip2name >&/dev/null
if [[ $? == 0 && -n $SSH_CLIENT ]]; then
client=${$(ip2name ${SSH_CLIENT%% *})%%.*}
fi
######################################################################
# Determine which machine/UID pair we have.
######################################################################
domain=${(R)$(hostname)#*.}
[[ -z $domain ]] && domain=$(domainname)
[[ ${UID} = 0 ]] && whoami="-su"
case $domain {
(*avtokrator*)
session="avtokrator" ;;
(*emufarm*)
session="emufarm" ;;
(*mts.jhu*)
session="mts" ;;
}
session=${session:-unknown}${whoami}
unset domain whoami
ZDOTDIR=${ZDOTDIR:=~}
######################################################################
# Primary Paths
######################################################################
## The core* variable exists so that reinvocations can set paths
## from a baseline state and not grow recursively.
[[ -z $corepath ]] && corepath=( $path )
[[ -z $corefpath ]] && corefpath=( $fpath )
[[ -z $coreman ]] && coreman=( $manpath )
export corepath coreman
####################################################################
# Binary search path.
####################################################################
case $session {
(emufarm*)
path=( ~/bin ${corepath} /usr/games /sbin /usr/sbin )
;;
(avtokrator*)
path=( ${corepath} /usr/local/sbin /usr/sbin /sbin \
/var/qmail/bin )
;;
(mts*)
path=( ~/bin /usr/local/bin /usr/bin/X11 /usr/bin /bin \
/usr/ucb /etc /usr/etc /usr/lib /sbin /usr/sbin )
;;
}
[[ $LOGNAME == "slist" ]] && path=( ~/.bin $path )
####################################################################
# Documentation search path.
####################################################################
case $session {
(emufarm*)
manpath=( ~/man /usr/local/man /usr/man /usr/X11R6/man )
;;
(avtokrator*)
manpath=( cwynne/doc/man $coreman /var/qmail/man )
;;
}
####################################################################
# Shell function search path.
####################################################################
fpath=( $ZDOTDIR/lib/zsh/func $corefpath )
export FPATH MANPATH PATH
####################################################################
# Miscellaneous
####################################################################
## GNU locate databse.
case $session {
(emufarm*)
export LOCATE_PATH=/var/state/misc/locatedb ;;
}
## Assorted program library search paths.
[[ -d ~/lib/perl ]] && export PERL5LIB=~/lib/perl
[[ -d ~/lib/matlab ]] && export MATLABPATH=~/lib/matlab
[[ -d ~/CVS ]] && export CVSROOT=~/CVS
[[ -d /usr/X11R6/lib/X11/xmcd ]] \
&& export XMCD_LIBDIR=/usr/X11R6/lib/X11/xmcd
whence -p niscat >&/dev/null \
&& export NIS_PATH="org_dir.$:groups_dir.$:$"
######################################################################
# Mail checking
######################################################################
if [[ -z $MAIL ]]; then
if [[ -d /var/spool/mail || -h /var/spool/mail ]]
then
MAIL=/var/spool/mail/${LOGNAME}
elif [[ -d /var/mail || -h /var/mail ]]
then
MAIL=/var/mail/${LOGNAME}
fi
export MAIL
fi
[[ -d ~/mail/conf ]] && export MAILCONF=~/mail/conf
mailpath=()
case $session {
(avtokrator)
setopt nullglob
INBOX=~/mail/INBOX
MAIL=${INBOX}/
MAILCHECK=10
neue="Es gibt neue Mail in"
for dir in ~/mail/[^.]*(/)
do
[[ -d $dir/new ]] && \
mailpath=( $mailpath "$dir?$neue +$(basename $dir)" )
done
unset neue
unsetopt nullglob
export INBOX MAIL MAILCHECK MAILPATH;;
}
######################################################################
# Shell behavior
######################################################################
NULLCMD=:
READNULLCMD=/bin/cat
TEMPDIR=${TMPDIR:=/tmp/cwynne}
TRASHDIR=~/.trash
STOPFILE=${TRASHDIR}/.STOP
WATCH=duvall:jlouder:cwynne
WATCHFMT="%n has %a %l from %M at %T."
export NULLCMD READNULLCMD TEMPDIR TMPDIR TRASHDIR STOPFILE
export WATCH WATCHFMT
####################################################################
# Shell History
####################################################################
HISTFILE=~/.zshist
HISTSIZE=1000
SAVEHIST=1000
REPORTTIME=50
export HISTFILE HISTSIZE SAVEHIST REPORTTIME
[[ ${TERM:-unknown} = emacs ]] && unset HISTFILE
######################################################################
# Viewing, Editing, and Printing
######################################################################
## Choose a vi editor.
whence -p vim >& /dev/null
if [[ $? == 0 ]]
then
EDITOR=vim
VISUAL=vim
else
EDITOR=vi
VISUAL=vi
fi
LESS=-CMXes
LESSBINFMT="*d"
LESSCHARSET=latin1
PAGER=less
PARINIT="rT4bgqR B=.?_A_a Q=_s>|"
case $session {
(mts*)
export LPDEST=paris
export PRINTER=paris ;;
(avtokrator*)
export PRINTER=dj ;;
}
export EDITOR VISUAL LESS LESBINFMT LESSCHARSET PAGER PARINIT
######################################################################
# Specific program initializations
######################################################################
####################################################################
# Palm Pilot maintenance
####################################################################
#PILOTRATE=115200
#export PILOTRATE
####################################################################
# Web apps
####################################################################
WWW_HOME="http://www.avtokrator.org/cwynne/"
# case $session {
# (avtokrator*)
# http_proxy="http://iulius.avtokrator.org:8888/" ;;
# }
export WWW_HOME # http_proxy
####################################################################
# Newsreading
####################################################################
case $session {
(mts)
DISTRIBUTION="world"
ORGANIZATION="Math Sciences, Johns Hopkins Univ."
;;
(avtokrator)
DISTRIBUTION="world"
ORGANIZATION="Big Goddamn Nazi Rocket Company"
NNTPSERVER="news.qwest.net"
export NNTPSERVER
;;
}
export DISTRIBUTION ORGANIZATION
####################################################################
# (La)TeX
####################################################################
MYTEX=~/lib/tex
case $session {
(avtokrator|mts)
TEXINPUTS=.:${MYTEX}//:
TEXFORMATS=.:${MYTEX}/formats//:
TEXFONTS=.:${MYTEX}//:/opt/teTeX/var/tmp/texfonts//:
TEXPKS=${TEXFONTS}
export TEXINPUTS TEXFORMATS TEXFONTS TEXPKS
;;
(emufarm)
TEX=/usr/lib/texmf/tex
TEXINPUTS=.:${MYTEX}//:${TEX}/tex//:
TEXFORMATS=.:${TEX}/formats//:${MYTEX}/formats//:
TEXFONTS=.:${TEX}/fonts/tfm//:${MYTEX}//:
TEXPKS=${TEX}/fonts/pk//:
TEXPOOL=${TEX}
export TEX MYTEX TEXINPUTS TEXFORMATS TEXFONTS TEXPKS
export TEXPOOL MFINPUTS VFFONTS
;;
}
######################################################################
# vim:noet:tw=0:ts=4:sw=4
######################################################################