+# -*-sh-*-
#
# $Id: .profile,v 1.3 1997/01/09 20:30:23 mdw Exp $
#
export __mdw_profile=done
+# --- Work out my home directory ---
+#
+# This horrible trick resolves symbolic links. It enables resolving links,
+# changes directory and displays the name of the directory in a subshell
+# to avoid changing the current state.
+
+HOME=`(set -P; cd $HOME; pwd)`
+cd $HOME
+
# --- Add elements to a path string ---
__mdw_addto () {
[ -d $i ] || continue
case "X$val" in
X)
- val=$i
- continue
- ;;
+ val=$i
+ continue
+ ;;
X$i)
continue
;;
export $var=$val
}
-# --- What sort of machine am I running on? ---
-
-export arch=`echo $MACHTYPE | tr 'A-Z' 'a-z'`
+# --- Find a configuration item ---
+
+__mdw_conf () {
+ local var=$1
+ val=`sed -n "
+ /^[ ]*$var[ ]*=[ ]*\(\|.*[^ ]\)[ ]*$/ {
+ s//\1/; p; q
+ }
+ " ${MDWCONF-$HOME/.mdw.conf}`
+ case "$val" in "~"*) val=`eval "echo ${val%%/*}"`${val#\~};; esac
+ echo "$val"
+}
# --- Set the path variable ---
__mdw_addto PATH l \
+ $HOME/bin \
{,/usr{,/local}{,/X11R6}}{/bin,/sbin,/games} \
- $HOME{,/arch/{$arch,any-any-any}}/bin \
- /opt/nfast{/bin,/sbin} \
+ /opt/nfast{,/gcc}{/bin,/sbin} \
$HOME/src/ncipher/scripts
-export PLAN9=/usr/local/plan9
-__mdw_addto PATH r \
- $PLAN9/bin
+if [ -d /usr/local/plan9 ]; then
+ export PLAN9=/usr/local/plan9
+ __mdw_addto PATH r \
+ $PLAN9/bin
+fi
+
+# --- Find whether a program exists ---
+
+__mdw_programp () { type -t >/dev/null "$1"; }
# --- And the same for manual pages ---
-case "$arch" in
+case "$MACHTIME" in
*linux*)
MANPATH=`manpath -q`
;;
{/usr{,/local}{,/X11R6}{,/share}}/{man,catman} \
$HOME/man
-# --- Work out my home directory ---
-#
-# This horrible trick resolves symbolic links. It enables resolving links,
-# changes directory and displays the name of the directory in a subshell
-# to avoid changing the current state.
-
-HOME=`(set -P; cd $HOME; pwd)`
-cd $HOME
-
# --- Where my mail comes from ---
-export MAIL=$HOME/Mailbox
+export MAIL=`__mdw_conf mailbox`
export NAME="Mark Wooding"
-export EMAIL="mdw@distorted.org.uk"
+export EMAIL=`__mdw_conf email`
export QMAILINJECT=c
-# --- GIT environment things ---
+# --- Find a text editor ---
-export GIT_AUTHOR_NAME=$NAME
-export GIT_AUTHOR_EMAIL=$EMAIL
-export GIT_COMMITTER_NAME=$NAME
-export GIT_COMMITTER_EMAIL=$EMAIL
+export EDITOR=ed
+for ed in "emacs21 -nw" "emacs -nw" vi pico nano ae; do
+ name=`echo $ed | sed 's/ .*$//'`
+ if __mdw_programp "$name"; then
+ EDITOR=$ed
+ break
+ fi
+done
+export VISUAL="$EDITOR"
# --- Various options for programs ---
[ -z "$HOST" ] && export HOST=`hostname`
-export EDITOR="emacs -nw"; export VISUAL="$EDITOR"
+unset LANG LC_COLLATE
+
+__mdw_programp distcc && export CCACHE_PREFIX=distcc
+
export TEXINPUTS=".:$HOME/lib/tex//:"
__mdw_addto INFOPATH r $HOME/info /usr/info /usr/share/info /usr/local/info
__mdw_addto PERLLIB r $HOME/lib/perl
+__mdw_addto PYTHONPATH r $HOME/lib/python
-[ -z "$LS_OPTIONS" ] && export LS_OPTIONS="-F"
+export __MDW_ROOTLY=`__mdw_conf rootly`
-export RMBKP="-abc +q -i"
+[ -z "$LS_OPTIONS" ] && export LS_OPTIONS="-F"
export BASCAT="-l +n"
export CVS_RSH=ssh
-case $HOST in
- metalzone | metalzone.* )
- export CVSROOT="/home/cvs/cvs"
- export SVNROOT="file:///home/cvs/svn"
- ;;
- *)
- export CVSROOT="metalzone.distorted.org.uk:/home/cvs/cvs"
- export SVNROOT="svn+ssh://metalzone.distorted.org.uk/home/cvs/svn"
- ;;
-esac
+export CVSROOT=`__mdw_conf cvs-root`
+export SVNROOT=`__mdw_conf svn-root`
+
export BECOME="--preserve-environment"
export PAGER=`type -p less` METAMAIL_PAGER=`type -p less`
-export LESS="-iqgRh1"
+export LESS="-iqgRh1FX"
export LESSOPEN="|lesspipe.sh %s"
export LESSCHARSET=latin1
# export MAKEFLAGS="-j4"
-[ "$TMPDIR"] || eval `tmpdir -b`
+[ "$TMPDIR" ] || eval `tmpdir -b`
export TMP=$TMPDIR
export PERL_READLINE_NOWARN=yes
-[ -z "$NNTPSERVER" ] && export NNTPSERVER=metalzone.distorted.org.uk
-[ -z "$http_proxy" ] && export http_proxy="http://metalzone.distorted.org.uk:3128/"
+[ -z "$NNTPSERVER" ] && export NNTPSERVER=`__mdw_conf nntp-server`
+[ -z "$http_proxy" ] && export http_proxy=http://`__mdw_conf http-proxy`/
[ -z "$ftp_proxy" ] && export ftp_proxy=$http_proxy
export XUSERFILESEARCHPATH="$HOME/.Xapps/%N:/usr/lib/X11/%T/%N%S"
if [ -z "$__mdw_bashrc" ] && [ "$__mdw_force_secure_session" = "yes" ] ||
( tty="`tty`" devtty="(/dev/)?${tty#/dev/}"
{ { { [ -e /etc/securetty ] && sectty=/etc/securetty; } ||
- { [ -e /etc/securettys ] && sectty=/etc/securettys; }; } &&
+ { [ -e /etc/securettys ] && sectty=/etc/securettys; }; } &&
egrep "$devtty" $sectty >/dev/null; } ||
{ [ -e /etc/default/login ] &&
egrep "^CONSOLE=$devtty" /etc/default/login >/dev/null; } ||
fi
fi
+[ -f "$HOME/.profile-local" ] && . "$HOME/.profile-local"
+
# --- Now, if my .bashrc hasn't been run yet, run it ---
#
# Oh, don't do that if we don't have a terminal.