diff options
Diffstat (limited to 'install.sh')
| -rw-r--r-- | install.sh | 49 |
1 files changed, 40 insertions, 9 deletions
@@ -1,26 +1,57 @@ +# THIS IS CURRENTLY EXPERIMENTAL. REVIEW AND TEST FIRST. NEVER RUN ON MAIN +# MACHINE WITHOUT A BACKUP OF VIMFILES AND DOTFILES + + # Links configuration files to the ones listed here. Backup and remove your's -# and then run this script (while inside repo directory). +# and then run this script while inside repo directory. +# +# In Windows it has to be run with git-bash. # # Note: This solution is lazy and causes some problems. Like not being able to # track vim pluggins. -# bash -ln -s ${PWD}/profile ~/.profile -ln -s ${PWD}/bash_aliases ~/.bash_aliases -ln -s ${PWD}/bashrc ~/.bashrc -ln -s ${PWD}/inputrc ~/.inputrc +# Config +# ====== + +platform="linux" # linux,windows +mode="copy" # copy,slink + + +# Auto config +# =========== + +# Append ~ later (bash only does 1 substitution of variables) +if [[ $platform = "linux" ]]; then + VIMFILES=".vim" +elif [[ $platform = "windows" ]]; then + VIMFILES="vimfiles" +fi + +[[ $mode = "copy" ]] && cp_or_ln="cp" +[[ $mode = "slink" ]] && cp_or_ln="ln -s" + + +# Commands +# ======== + +# bash ( eval concatenates and executes) + +eval $cp_or_ln " ${PWD}/profile ~/.profile" +eval $cp_or_ln " ${PWD}/bash_aliases ~/.bash_aliases" +eval $cp_or_ln " ${PWD}/bashrc ~/.bashrc" +eval $cp_or_ln " ${PWD}/inputrc ~/.inputrc" # vim # ~/.vimrc takes priority over ~/.vim/vimrc, so remove the former first -[ -d ~/.vim/ ] || mkdir -p ~/.vim/{undo,swap,backup,plugins} +[ -d ~/.vim/ ] || mkdir -p ~/$VIMFILES/{undo,swap,backup,plugins} chmod 0700 ~/.vim/swap # swap files should only be readable by owner -ln -s ${PWD}/vim/vimrc ~/.vim/vimrc -ln -s ${PWD}/vim/fun.vim ~/.vim/fun.vim +eval $cp_or_ln " ${PWD}/vim/vimrc ~/$VIMFILES/vimrc" +eval $cp_or_ln " ${PWD}/vim/fun.vim ~/$VIMFILES/fun.vim" # done |
