setup.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/bash
  2. HOMEDIR=$HOME/.homedir
  3. # For most files, its enough to check if the file exists, make a backup and link the .homedir file instead.
  4. files=".vim .vimrc .bashrc .bash_aliases .bash_colors .gitconfig .npmrc"
  5. for file in $files
  6. do
  7. echo "Processing $file"
  8. if [ -f $HOMEDIR/$file ]
  9. then
  10. TYPE="file"
  11. elif [ -d $HOMEDIR/$file ]
  12. then
  13. TYPE="dir"
  14. else
  15. echo "File not found. Skipping"
  16. continue
  17. fi
  18. if [ -L $HOME/$file ]
  19. then
  20. if [ `readlink -f $HOME/$file` == $HOMEDIR/$file ]
  21. then
  22. echo "There's already a link to homedir."
  23. continue
  24. else
  25. echo "Wrong link found. Deleting it."
  26. rm $HOME/$file
  27. fi
  28. fi
  29. if [ -f $HOME/$file -o -d $HOME/$file ]
  30. then
  31. echo "File exists in home. Creating backup."
  32. FOLDER="`hostname`-$USER-backup"
  33. mkdir -p $HOMEDIR/$FOLDER
  34. mv $HOME/$file "$HOMEDIR/$FOLDER/$file"
  35. fi
  36. echo "Linking to $file"
  37. ln -s $HOMEDIR/$file $HOME/$file
  38. done
  39. # These files only make sense in certain environments
  40. files=".config/sublime-text-3/Packages/User/Package\ Control.sublime-settings .config/sublime-text-3/Packages/User/Preferences.sublime-settings"
  41. if [ `which subl` ]
  42. then
  43. for file in $files
  44. do
  45. echo "Processing $file"
  46. done
  47. else
  48. echo "Sublime not found. Skipping files $files."
  49. fi