|
@@ -0,0 +1,56 @@
|
|
|
+#!/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
|