Update script to be really pretty
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# --- Helper functions ---
|
||||
log() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
|
||||
|
||||
# Define paths as they have not been defined by new bashrc yet!
|
||||
PANAMA_PATH="${PANAMA_PATH:-$HOME/.local/share/Panama}"
|
||||
PANAMA_BASH="${PANAMA_BASH:-$PANAMA_PATH/config/bash}"
|
||||
@@ -11,36 +14,39 @@ CONFIG="$HOME/.config"
|
||||
mkdir -p "$PANAMA_OLD"
|
||||
|
||||
# --- Bashrc ---
|
||||
echo -e "\n--- Replacing .bashrc ---"
|
||||
# Backup existing .bashrc if it's a regular file
|
||||
if [ -f "$HOME/.bashrc" ] && [ ! -L "$HOME/.bashrc" ]; then
|
||||
log "Backing up existing .bashrc"
|
||||
mv "$HOME/.bashrc" "$PANAMA_OLD/.bashrc"
|
||||
fi
|
||||
# Remove old symlink if it exists and points somewhere else
|
||||
if [ -L "$HOME/.bashrc" ]; then
|
||||
log "Removing old .bashrc symlink"
|
||||
rm "$HOME/.bashrc"
|
||||
fi
|
||||
# Symlink Panama .bashrc file to ~/.bashrc
|
||||
log "Symlinking Panama .bashrc file to ~/.bashrc"
|
||||
ln -s "$PANAMA_BASH/.bashrc" "$HOME/.bashrc"
|
||||
|
||||
dirs=("espanso" "forge" "ghostty" "kitty" "nvim" "tmux")
|
||||
|
||||
for dir in "${dirs[@]}"; do
|
||||
echo "--- Setting up $dir ---"
|
||||
echo -e "\n--- Setting up $dir ---"
|
||||
|
||||
# Remove old symlink if it exists
|
||||
if [ -L "$CONFIG/$dir" ]; then
|
||||
rm "$CONFIG/$dir"
|
||||
echo "Removed old symlink at $CONFIG/$dir"
|
||||
log "Removed old symlink at $CONFIG/$dir"
|
||||
fi
|
||||
|
||||
# Backup existing directory if it exists
|
||||
if [ -d "$CONFIG/$dir" ]; then
|
||||
mv "$CONFIG/$dir" "$PANAMA_OLD/$dir"
|
||||
echo "Moved existing $dir config to $PANAMA_OLD/$dir"
|
||||
log "Moved existing $dir config to $PANAMA_OLD/$dir"
|
||||
fi
|
||||
|
||||
# Create symlink
|
||||
ln -s "$PANAMA_DOT/$dir" "$CONFIG/$dir"
|
||||
echo "Linked $PANAMA_DOT/$dir → $CONFIG/$dir"
|
||||
echo
|
||||
log "Linked $PANAMA_DOT/$dir → $CONFIG/$dir"
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user