30 lines
804 B
Bash
Executable file
30 lines
804 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# Auto-detect the directory where the script is located
|
|
DOTFILES_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
declare -A DIRS
|
|
DIRS["alacritty"]="$HOME/.config/alacritty"
|
|
DIRS["doom"]="$HOME/.config/doom"
|
|
DIRS["i3"]="$HOME/.config/i3"
|
|
DIRS["polybar"]="$HOME/.config/polybar"
|
|
DIRS["qtile"]="$HOME/.config/qtile"
|
|
DIRS["xmobar"]="$HOME/.config/xmobar"
|
|
DIRS["xmonad"]="$HOME/.config/xmonad"
|
|
|
|
DIRS["bin/nixos-update-script"]="$HOME/.local/bin/nixos-update-script"
|
|
|
|
for DIR in "${!DIRS[@]}"; do
|
|
TARGET="${DIRS[$DIR]}"
|
|
|
|
if [ -e "$TARGET" ]; then
|
|
echo "Warning: $TARGET already exists, skipping..."
|
|
continue
|
|
fi
|
|
|
|
ln -sf "$DOTFILES_DIR/$DIR" "$TARGET"
|
|
echo "Symlinked $DOTFILES_DIR/$DIR to $TARGET"
|
|
done
|
|
|
|
echo "All directories have been symlinked!"
|
|
|