cvsrc: Generally sane settings for CVS.
[profile] / setup
diff --git a/setup b/setup
index e262820..6d1ef51 100755 (executable)
--- a/setup
+++ b/setup
@@ -4,7 +4,7 @@ set -e
 
 umask 002
 
-sub= up=;
+sub=
 mkdir -p $HOME$sub
 
 : ${REPO=http://guvnor.distorted.org.uk/ftp/pub/mdw}
@@ -26,11 +26,6 @@ done
 
 ### Find out where I am
 here=$(pwd)
-case "$here" in
-  $HOME/*) ;;
-  *) echo >&2 "$0: must be below $HOME"; exit 1;;
-esac
-down=$(echo $here | sed "s#^$HOME/##")
 
 ### Suss out how to print things
 out=$(echo -n "foo"; echo "bar")
@@ -72,7 +67,7 @@ fi
 ### Install necessary things
 echo "Installing useful scripts..."
 
-for script in lesspipe.sh start-ssh-agent; do
+for script in lesspipe.sh start-ssh-agent svnwrap; do
   $echon "  $script:$echoc"
   found=
   for p in /bin /usr/bin /usr/local/bin $(echo $PATH | tr : ' '); do
@@ -138,15 +133,25 @@ dotfiles="
   emacs emacs-calc 
   vm mailrc
   cmucl-init.lisp clisprc.lisp sbclrc
-  dircolors screenrc"
-[ "$xstuff" ] && dotfiles="$dotfiles xinitrc xsession Xdefaults"
+  dircolors screenrc cvsrc"
+[ "$xstuff" ] && dotfiles="$dotfiles
+  xinitrc xsession Xdefaults
+  eterm-theme.cfg:.Eterm/themes/Eterm/theme.cfg
+  e-keybindings.cfg:.enlightenment/keybindings.cfg
+  jue-peek.jpg:.enlightenment/backgrounds/jue-peek.jpg"
 mkdir -p $HOME/test
 echo "Installing dotfiles..."
 for d in $dotfiles; do
-  [ -f $d ]
-  rm -f "$HOME$sub/.$d"
-  ln -s $up$down/$d $HOME$sub/.$d
-  echo "  .$d"
+  target=.$d
+  case $d in
+    *:*) target=${d#*:} d=${d%%:*};;
+  esac
+  ft=$HOME$sub/$target
+  dir=${ft%/*}
+  mkdir -p $dir
+  ln -s $here/$d $ft.new
+  mv $ft.new $ft
+  echo "  $target"
 done
 echo "  all done."
 
@@ -176,8 +181,8 @@ $echon " linking$echoc"
 for link in dot-emacs.el:dot-emacs.el emacs-Makefile:Makefile; do
   set -- $(echo $link | tr : ' ')
   from=$1 to=$2
-  rm -f $HOME$sub/lib/emacs/$to
-  ln -s ../../$up$down/$from $HOME$sub/lib/emacs/$to
+  ln -s $here/$from $HOME$sub/lib/emacs/$to.new
+  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