Files
dotfiles/scripts/config-switch
2025-10-25 12:14:47 +02:00

26 lines
792 B
Bash
Executable File

#!/usr/bin/env bash
path="$(dirname "$(readlink -f "$0")")"
if [ -z "$1" ]; then
desktop="$XDG_CURRENT_DESKTOP"
else
desktop="$1"
fi
for item in "kitty" "ghostty" "wlogout"; do
for target in "$item" "$item-niri"; do
if [ -L "$HOME/.config/$target" ]; then
rm -v "$HOME/.config/$target"
elif [ -e "$HOME/.config/$target" ]; then
echo "Error: $HOME/.config/$target exists and is not a symlink." >&2
exit 1
fi
done
if [ "$desktop" = "niri" ] || [ "$desktop" = "GNOME" ]; then
ln -sv "$(realpath --relative-to="$HOME/.config" "$path/../config/$item-niri")" "$HOME/.config/$item"
else
ln -sv "$(realpath --relative-to="$HOME/.config" "$path/../config/$item")" "$HOME/.config/$item"
fi
done