diff --git a/.gitignore b/.gitignore index 1138cb3..ff14b97 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,8 @@ nushell/history.txt +# Ignore application history files +**/history.txt +**/history.db + +# Ignore shell history files +.zsh_history +.bash_history diff --git a/manage_configs.sh b/manage_configs.sh index 379d5b8..4fcc52b 100755 --- a/manage_configs.sh +++ b/manage_configs.sh @@ -2,28 +2,30 @@ # A script to REMOVE old broken links and CREATE correct new ones. +set -e # Exit immediately if a command exits with a non-zero status. + DOTFILES_DIR="$HOME/dotfiles" CONFIG_DIR="$HOME/.config" # List of all config DIRECTORIES to be linked into ~/.config CONFIG_DIRS=( - "atuin" "borg" "btop" "carapace" "gh" "ghostty" - "kitty" "lazygit" "nushell" "nvim" "zellij" + "atuin" "borg" "btop" "carapace" "gh" "ghostty" + "kitty" "lazygit" "nushell" "nvim" "zellij" ) echo "--- Starting to fix symbolic links ---" # --- 1. Fix links for directories inside ~/.config --- for dir in "${CONFIG_DIRS[@]}"; do - SOURCE_PATH="$DOTFILES_DIR/$dir" - LINK_PATH="$CONFIG_DIR/$dir" + SOURCE_PATH="$DOTFILES_DIR/$dir" + LINK_PATH="$CONFIG_DIR/$dir" - echo "-> Processing $dir..." - # Remove any existing file or broken link at the destination - rm -rf "$LINK_PATH" - # Create the new, correct symlink - ln -s "$SOURCE_PATH" "$LINK_PATH" - echo " Linked $SOURCE_PATH -> $LINK_PATH" + echo "-> Processing $dir..." + # Remove any existing file, directory, or broken link at the destination + rm -rf "$LINK_PATH" + # Create the new, correct symlink. -T prevents nesting. + ln -sT "$SOURCE_PATH" "$LINK_PATH" + echo " Linked $SOURCE_PATH -> $LINK_PATH" done # --- 2. Fix link for starship.toml file in ~/.config --- @@ -31,7 +33,7 @@ SOURCE_PATH_STARSHIP="$DOTFILES_DIR/starship.toml" LINK_PATH_STARSHIP="$CONFIG_DIR/starship.toml" echo "-> Processing starship.toml..." rm -f "$LINK_PATH_STARSHIP" -ln -s "$SOURCE_PATH_STARSHIP" "$LINK_PATH_STARSHIP" +ln -sT "$SOURCE_PATH_STARSHIP" "$LINK_PATH_STARSHIP" echo " Linked $SOURCE_PATH_STARSHIP -> $LINK_PATH_STARSHIP" # --- 3. Fix link for .zshrc file in ~ --- @@ -39,7 +41,7 @@ SOURCE_PATH_ZSHRC="$DOTFILES_DIR/.zshrc" LINK_PATH_ZSHRC="$HOME/.zshrc" echo "-> Processing .zshrc..." rm -f "$LINK_PATH_ZSHRC" -ln -s "$SOURCE_PATH_ZSHRC" "$LINK_PATH_ZSHRC" +ln -sT "$SOURCE_PATH_ZSHRC" "$LINK_PATH_ZSHRC" echo " Linked $SOURCE_PATH_ZSHRC -> $LINK_PATH_ZSHRC" echo "--- All links have been reset correctly. ---"