dot-emacs: Finally fix fontification in cpp-messages-mode.
[profile] / setup
diff --git a/setup b/setup
index d7dd890..5f0ce0e 100755 (executable)
--- a/setup
+++ b/setup
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 
 set -e
 
@@ -7,7 +7,7 @@ umask 002
 sub=
 mkdir -p $HOME$sub
 
-: ${REPO=http://guvnor.distorted.org.uk/ftp/pub/mdw}
+: ${REPO=http://guvnor.distorted.org.uk/ftp/pub/mdw/profile}
 
 export PATH=/usr/local/bin:$HOME$sub/bin:/usr/bin:/usr/ccs/bin:/bin
 
@@ -67,7 +67,11 @@ fi
 ### Install necessary things
 echo "Installing useful scripts..."
 
-for script in lesspipe.sh start-ssh-agent svnwrap; do
+scripts="
+  lesspipe.sh start-ssh-agent svnwrap"
+[ "$xstuff" ] && scripts="$scripts
+  xrun"
+for script in $scripts; do
   $echon "  $script:$echoc"
   found=
   for p in /bin /usr/bin /usr/local/bin $(echo $PATH | tr : ' '); do
@@ -127,13 +131,24 @@ for system in $systems; do
 done
 echo "  all done."
 
+### Install global configuration
+echo -n "Installing dotfile configuration:"
+if [ -f $HOME$sub/.mdw.conf ]; then
+  echo " already installed."
+else
+  cp mdw.conf $HOME$sub/.mdw.conf
+  echo " done."
+fi
+
 ### Symlink the various dotfiles into place
 dotfiles=" 
-  bash_profile bash_logout bashrc
+  bash_profile bash_logout bashrc inputrc
   emacs emacs-calc 
   vm mailrc
-  cmucl-init.lisp clisprc.lisp sbclrc
-  dircolors screenrc"
+  lisp-init.lisp:.cmucl-init.lisp
+    lisp-init.lisp:.sbclrc
+    lisp-init.lisp:.clisprc.lisp
+  dircolors screenrc cvsrc"
 [ "$xstuff" ] && dotfiles="$dotfiles
   xinitrc xsession Xdefaults
   eterm-theme.cfg:.Eterm/themes/Eterm/theme.cfg
@@ -156,10 +171,26 @@ done
 echo "  all done."
 
 ### Set up the Emacs config
+$echon "Finding a suitable emacs:$echoc"
+emacs=no
+for i in emacs21 emacs; do
+  if type -p >/dev/null $i; then
+    emacs=$i
+    break
+  fi
+done
+if [ $emacs = no ]; then
+  echo " failed."
+  emacs=:
+else
+  echo " $emacs."
+fi
+
 echo "Installing Emacs packages..."
 for elib in make-regexp; do
   $echon "  $elib:$echoc"
-  if $false emacs >/dev/null 2>&1 --batch --eval '
+  if $false $emacs >/dev/null 2>&1 --no-site-file --batch --eval '
+       (setq load-path (nconc load-path (list "~/lib/emacs")))
        (kill-emacs (condition-case nil
                       (progn (load-library "make-regexp") 0)
                     (error 1)))'; then
@@ -169,7 +200,7 @@ for elib in make-regexp; do
     $GETURL $HOME$sub/lib/emacs/make-regexp.el $REPO/make-regexp.el
     $echon " compiling$echoc"
     (cd $HOME$sub/lib/emacs;
-      emacs >/dev/null 2>&1 --batch \
+      $emacs >/dev/null 2>&1 --no-site-file --batch \
        --eval '(byte-compile-file "make-regexp.el")')
     echo " done."
   fi
@@ -185,5 +216,5 @@ for link in dot-emacs.el:dot-emacs.el emacs-Makefile:Makefile; do
   mv $HOME$sub/lib/emacs/$to.new $HOME$sub/lib/emacs/$to
 done
 $echon " compiling$echoc"
-make >/dev/null 2>&1 -C $HOME$sub/lib/emacs
+make >/dev/null 2>&1 -C $HOME$sub/lib/emacs EMACS=$emacs
 echo " done."