set -e
+###--------------------------------------------------------------------------
+### Basic setup.
+
umask 002
sub=
export PATH=/usr/local/bin:$HOME$sub/bin:/usr/bin:/usr/ccs/bin:/bin
-### Sort out command line
+###--------------------------------------------------------------------------
+### Sort out command line.
+
xstuff= false=
while [ $# -gt 0 ]; do
case "$1" in
shift
done
-### Find out where I am
+###--------------------------------------------------------------------------
+### Environment autoconfiguration.
+
+## Find out where I am
here=$(pwd)
-### Suss out how to print things
+## Suss out how to print things
out=$(echo -n "foo"; echo "bar")
if [ "$out" = "foobar" ]; then
echon="echo -n"
echoc='\c'
fi
-### Create the necessary directories
-echo "Creating directories..."
-for i in bin lib/emacs src; do
- $echon " $i:$echoc"
- if [ -d $HOME$sub/$i ]; then
- echo " already exists."
- else
- mkdir -p $HOME$sub/$i
- echo " done."
- fi
-done
-echo " all done."
-
-### Find out how to fetch things over the net
+## Find out how to fetch things over the net
$echon "Finding URL fetcher:$echoc"
if curl >/dev/null 2>&1 --version || [ $? -eq 2 ]; then
GETURL="curl -fs -o"
exit 1
fi
-### Install necessary things
+###--------------------------------------------------------------------------
+### Create the necessary directories.
+
+echo "Creating directories..."
+for i in bin lib/emacs src; do
+ $echon " $i:$echoc"
+ if [ -d $HOME$sub/$i ]; then
+ echo " already exists."
+ else
+ mkdir -p $HOME$sub/$i
+ echo " done."
+ fi
+done
+echo " all done."
+
+###--------------------------------------------------------------------------
+### Install necessary things.
+
echo "Installing useful scripts..."
scripts="
echo " all done."
-### Install some more complicated programs
+###--------------------------------------------------------------------------
+### Install some more complicated programs.
+
echo "Installing packages..."
systems="
mlib:2.0.4:crc-mktab
done
echo " all done."
-### Install global configuration
+###--------------------------------------------------------------------------
+### Install global configuration.
+
echo -n "Installing dotfile configuration:"
if [ -f $HOME$sub/.mdw.conf ]; then
echo " already installed."
echo " done."
fi
-### Symlink the various dotfiles into place
+## Symlink the various dotfiles into place
dotfiles="
bash_profile bash_logout bashrc inputrc bash_completion
emacs emacs-calc vm
vimrc mg
mailrc signature
- gitconfig cgrc tigrc
+ cgrc tigrc
gdbinit
guile
lisp-init.lisp:.cmucl-init.lisp
done
echo " all done."
-### Install useful scripts included in this package
+###--------------------------------------------------------------------------
+### Process the Git configuration.
+
+echo -n "Installing Git configuration:"
+sed "
+1i\
+### generated by $(pwd)/setup; do not edit!\
+
+/@releasekey@/ s::$(./mdw-conf release-key 481334C2):g
+/@gitignore@/ s::$(./mdw-conf gitignore $(pwd)/gitignore):g
+" gitconfig >$HOME/.gitconfig.new
+mv $HOME/.gitconfig.new $HOME/.gitconfig
+echo " done."
+
+###--------------------------------------------------------------------------
+### Install useful scripts included in this package.
+
scripts="
mdw-editor
+ mdw-conf
movemail-hack
emerge-hack"
[ "$xstuff" ] && scripts="$scripts
done
echo " all done."
-### Set up the Emacs config
+###--------------------------------------------------------------------------
+### Set up the Emacs config.
+
$echon "Finding a suitable emacs:$echoc"
emacs=no
for i in emacs22 emacs21 emacs; do
$echon " compiling$echoc"
make >/dev/null 2>&1 -C $HOME$sub/lib/emacs EMACS=$emacs
echo " done."
+
+###----- That's all, folks --------------------------------------------------