setup.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. # Location: $HOME/dots
  3. # User Scope: user
  4. # Run as: ./setup.sh <arg>
  5. # Script to setup terminal environment
  6. if [ $# -ne 1 ]; then
  7. echo "::[Dots Setup Script]::"
  8. echo "Usage: setup.sh <prompt to use: seafly|parrot|powerline>"
  9. exit 1
  10. fi
  11. main_user=$USER
  12. user_prompt="$1"
  13. # Set Permissions
  14. chmod 660 $(find ./ -type f)
  15. chmod 660 $(find "$HOME/.bashrc" -type f)
  16. chmod 770 $(find "$HOME/dots" -type d)
  17. function add_string_to_file() {
  18. # Checks if a string is in a file
  19. # adds it if it isn't in that file
  20. local file="$1"
  21. local string="$2"
  22. if ! grep -q "$string" "$file"; then
  23. echo "$string" >> "$file"
  24. fi
  25. }
  26. # Bashrc
  27. add_string_to_file "$HOME/.bashrc" "source $HOME/dots/default_aliases"
  28. add_string_to_file "$HOME/.bashrc" "source $HOME/dots/$user_prompt-prompt"
  29. # Bashrc for control
  30. if [ $main_user == "control" ]; then
  31. add_string_to_file "$HOME/.bashrc" "bash $HOME/dots/life.sh 1993-07-21 control"
  32. fi
  33. # NVIM
  34. mkdir -p "$HOME/.config/nvim/"
  35. cp "./nvim" "$HOME/.config/nvim/init.vim"
  36. # TMUX
  37. cp "./tmux.conf" "$HOME/.tmux.conf"
  38. # PATH VARS
  39. if [ -f "$HOME/.dots/user_paths" ]; then
  40. chmod 660 "$HOME/.dots/user_paths"
  41. add_string_to_file "$HOME/.bashrc" "source $HOME/.dots/user_paths"
  42. fi
  43. if [ -f "$HOME/.dots/user_aliases" ]; then
  44. chmod 660 "$HOME/.dots/user_aliases"
  45. add_string_to_file "$HOME/.bashrc" "source $HOME/.dots/user_aliases"
  46. fi
  47. # Set System Aliases
  48. sudo cp -f "$HOME/dots/system_aliases" "/etc/system_aliases"
  49. sudo chmod 666 "/etc/system_aliases"
  50. sudo add_string_to_file "/etc/bash.bashrc" "source /etc/system_aliases"
  51. # Source
  52. source "$HOME/.bashrc"