diff options
author | William Carroll <wpcarro@gmail.com> | 2016-11-10T16·47-0500 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2016-11-10T16·47-0500 |
commit | b24cfc36cd8c0e5919f102c60a036c4e91ab540f (patch) | |
tree | 749f4476d5481d530fceb9ebc48b8fee7a074852 /configs | |
parent | ccd11f71971cfabd9f61666f403161a553266693 (diff) |
Refactors script to use array
Diffstat (limited to 'configs')
-rwxr-xr-x | configs/setup_configs.sh | 80 |
1 files changed, 26 insertions, 54 deletions
diff --git a/configs/setup_configs.sh b/configs/setup_configs.sh index 2dbe15e118f9..7176259347b8 100755 --- a/configs/setup_configs.sh +++ b/configs/setup_configs.sh @@ -1,58 +1,30 @@ #!/usr/bin/env bash -# .zsh_profile -if [ -f "$HOME"/.zsh_profile ] && [ ! -L "$HOME"/.zsh_profile ]; then - # backup .zsh_profile - echo -n "Backing up .zsh_profile ... " && \ - mv "$HOME"/.zsh_profile "$HOME"/.zsh_profile.bak && \ - echo "Done." -fi - -if [ -L "$HOME"/.zsh_profile ]; then - # TODO: make sure that .zsh_profile is symlinked to the correct location. - echo ".zsh_profile is already symlinked." -else - # create symlink to pc_settings .zsh_profile - echo -n "Symlinking to pc_settings/configs/.zsh_profile ... " && \ - ln -s "$HOME"/pc_settings/configs/.zsh_profile "$HOME"/.zsh_profile && \ - echo "Done." -fi - - -# .tmux.conf -if [ -f "$HOME"/.tmux.conf ] && [ ! -L "$HOME"/.tmux.conf ]; then - echo -n "Backing up .tmux.conf ... " && \ - mv "$HOME"/.tmux.conf "$HOME"/.tmux.conf.bak && \ - echo "Done." -fi - -if [ -L "$HOME"/.tmux.conf ]; then - # TODO: make sure that .tmux.conf is symlinked to the correct location. - echo ".tmux.conf is already symlinked." -else - # create symlink to pc_settings .tmux.conf - echo -n "Symlinking to pc_settings/configs/.tmux.conf ... " && \ - ln -s "$HOME"/pc_settings/configs/.tmux.conf "$HOME"/.tmux.conf && \ - echo "Done." -fi - - -# .ctags -if [ -f "$HOME"/.ctags ] && [ ! -L "$HOME"/.ctags ]; then - # backup .ctags - echo -n "Backing up .ctags ... " && \ - mv "$HOME"/.ctags "$HOME"/.ctags.bak && \ - echo "Done." -fi - -if [ -L "$HOME"/.ctags ]; then - # TODO: make sure that .ctags is symlinked to the correct location. - echo ".ctags is already symlinked." -else - # create symlink to pc_settings .ctags - echo -n "Symlinking to pc_settings/configs/.ctags ... " && \ - ln -s "$HOME"/pc_settings/configs/.ctags "$HOME"/.ctags && \ - echo "Done." -fi +pc_settings_path="$HOME/pc_settings" + + +config_files=( ".zsh_profile" ".tmux.conf" ".ctags" ) + + +for i in {1..3}; do + cf="${config_files[i]}" + if [ -f "$HOME/$cf" ] && [ ! -L "$HOME/$cf" ]; then + echo -n "Backing up $cf ... " && \ + mv "$HOME/$cf" "$HOME/$cf.bak" && \ + echo "Done." + fi + + if [ -L "$HOME/$cf" ]; then + if [ $(readlink "$HOME/$cf") = "$pc_settings_path/configs/$cf" ]; then + echo "\"$cf\" is already properly symlinked to \"$pc_settings_path/configs\"." + else + echo "\"$cf\" is symlinked but not to the proper location." + fi + else + echo -n "Symlinking to $pc_settings_path/configs/$cf ... " && \ + ln -s "$pc_settings_path/configs/$cf" "$HOME/$cf" && \ + echo "Done." + fi +done |