From af0561f1d902d0fb84412ca6c301152ec44407c1 Mon Sep 17 00:00:00 2001 From: Mitsuo Tokumori Date: Fri, 21 Jan 2022 11:44:15 -0500 Subject: Experimental semi-auto-install --- install.sh | 48 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index d4ed109..c882578 100644 --- a/install.sh +++ b/install.sh @@ -1,25 +1,55 @@ +# 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 +# =========== + +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} +mkdir -p $VIMFILES/{undo,swap,backup,pack} -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 -- cgit v1.2.3