1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/bin/bash
- HOMEDIR=$HOME/.homedir
- # For most files, its enough to check if the file exists, make a backup and link the .homedir file instead.
- files=".vim .vimrc .bashrc .bash_aliases .bash_colors .gitconfig .npmrc"
- for file in $files
- do
- echo "Processing $file"
- if [ -f $HOMEDIR/$file ]
- then
- TYPE="file"
- elif [ -d $HOMEDIR/$file ]
- then
- TYPE="dir"
- else
- echo "File not found. Skipping"
- continue
- fi
- if [ -L $HOME/$file ]
- then
- if [ `readlink -f $HOME/$file` == $HOMEDIR/$file ]
- then
- echo "There's already a link to homedir."
- continue
- else
- echo "Wrong link found. Deleting it."
- rm $HOME/$file
- fi
- fi
- if [ -f $HOME/$file -o -d $HOME/$file ]
- then
- echo "File exists in home. Creating backup."
- FOLDER="`hostname`-$USER-backup"
- mkdir -p $HOMEDIR/$FOLDER
- mv $HOME/$file "$HOMEDIR/$FOLDER/$file"
- fi
- echo "Linking to $file"
- ln -s $HOMEDIR/$file $HOME/$file
- done
- # These files only make sense in certain environments
- files=".config/sublime-text-3/Packages/User/Package\ Control.sublime-settings .config/sublime-text-3/Packages/User/Preferences.sublime-settings"
- if [ `which subl` ]
- then
- for file in $files
- do
- echo "Processing $file"
- done
- else
- echo "Sublime not found. Skipping files $files."
- fi
|