X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/739bccbf5633f334556603fdd7396d6e8375fb0d..5d2b7dabde9c32e96d3a770e3459321f90ff3062:/setup diff --git a/setup b/setup index d7dd890..194e1bc 100755 --- 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 movemail-hack" +[ "$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,17 +131,31 @@ 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 bash_completion emacs emacs-calc - vm mailrc - cmucl-init.lisp clisprc.lisp sbclrc - dircolors screenrc" + vm mailrc signature + gitconfig cgrc stgitrc tigrc + lisp-init.lisp:.cmucl-init.lisp + lisp-init.lisp:.sbclrc + lisp-init.lisp:.clisprc.lisp + lisp-init.lisp:.eclrc + dircolors colordiffrc screenrc cvsrc indent.pro" [ "$xstuff" ] && dotfiles="$dotfiles - xinitrc xsession Xdefaults + xinitrc xsession Xdefaults vncrc vncsession eterm-theme.cfg:.Eterm/themes/Eterm/theme.cfg e-keybindings.cfg:.enlightenment/keybindings.cfg + evnc-keybindings.cfg:.enlightenment-vnc/keybindings.cfg jue-peek.jpg:.enlightenment/backgrounds/jue-peek.jpg" mkdir -p $HOME/test echo "Installing dotfiles..." @@ -156,21 +174,42 @@ 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 +emacspkg=" + make-regexp + git vc-git + quilt" +for elib in $emacspkg; do $echon " $elib:$echoc" - if $false emacs >/dev/null 2>&1 --batch --eval ' - (kill-emacs (condition-case nil - (progn (load-library "make-regexp") 0) - (error 1)))'; then + if $false $emacs >/dev/null 2>&1 --no-site-file --batch --eval ' + (progn + (setq load-path (nconc load-path (list "~/lib/emacs"))) + (kill-emacs (condition-case nil + (progn (load-library "'"$elib"'") 0) + (error 1))))'; then echo " already installed." else $echon " downloading$echoc" - $GETURL $HOME$sub/lib/emacs/make-regexp.el $REPO/make-regexp.el + $GETURL $HOME$sub/lib/emacs/$elib.el $REPO/$elib.el $echon " compiling$echoc" (cd $HOME$sub/lib/emacs; - emacs >/dev/null 2>&1 --batch \ - --eval '(byte-compile-file "make-regexp.el")') + $emacs >/dev/null 2>&1 --no-site-file --batch \ + --eval '(byte-compile-file "'"$elib.el"'")') echo " done." fi done @@ -185,5 +224,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."