#!/bin/bash # outcome: replace existing dot files with symlinks pointing to new version controlled files #-------------------------------------------------------setup folder pointers and target files------------------------------------------------------------- dir=~/dot_config backup=~/dot_config_backup files=".bashrc .vimrc .tmux.conf .psqlrc .gitconfig" #------------------------------------------------ create the resore directory if it doesn't already exist-------------------------------------------------- if [ ! -d $backup ] then mkdir $backup fi #-------------------------------------- loop through each target file, move it and create a symlink to the replacements------------------------------------ for file in $files do #if the file is not a symlink the just _move_ it, otherwise _copy_ the linked file if [ ! -L $file ]; then mv ~/$file $backup else # if the target file is a symlink, copy the linked file cp $(readlink -f $file) $backup rm $file fi ln -s $dir/$file ~/$file done #----------------------------------------------------------install go and go-powerline-------------------------------------------------------------------- if [ -z "$GOPATH" ] then while true; do read -p "do you want to install golang and go-powerline?" yn case $yn in [Yy]* ) sudo apt-get install golang; go get -u github.com/justjanne/powerline-go; break;; [Nn]* ) exit;; * ) echo "Please answer yes or no.";; esac done fi #----------------------------------------------------------install power line fonts------------------------------------------------------------------------ if [ ! -d ~/fonts ] then while true; do read -p "do you want to install powerline fonts from https://github.com/powerline/fonts?" yn case $yn in [Yy]* ) git clone https://github.com/powerline/fonts; cd fonts; ./install.sh; break;; [Nn]* ) exit;; * ) echo "Please answer yes or no.";; esac done fi #----------------------------------------------------------install tmux plugin manager and tmux resurrect-------------------------------------------------- if [ ! -d ~/.tmux/plugins/tpm ] then while true; do read -p "do you want to install the tmux plugin manager from https://github.com/tmux-plugins/tpm" yn case $yn in [Yy]* ) git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm; break;; [Nn]* ) exit;; * ) echo "Please answer yes or no.";; esac done fi #----------------------------------------------------------see if Vundle has been cloned yet and do so----------------------------------------------------- if [ ! -d ~/.vim ] then git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim while true; do read -p "Do you want to install the vim plugins now?" yn case $yn in [Yy]* ) vim +PluginInstall +qall; break;; [Nn]* ) exit;; * ) echo "Please answer yes or no.";; esac done fi echo "you may need to run vim and execute :PluginInstall to sync packages with the new .vimrc, or \"vim +PluginInstall +qall\" from the command line"