fix ln in config-switch

This commit is contained in:
2026-03-14 04:49:33 +01:00
parent 5ec0855a7e
commit e0b49d5520
+20 -20
View File
@@ -8,28 +8,28 @@ set -euo pipefail
desktop=${1:-${XDG_CURRENT_DESKTOP:-default}} desktop=${1:-${XDG_CURRENT_DESKTOP:-default}}
alt() { alt() {
local item profile local item profile
item=$1 item=$1
profile=$2 profile=$2
if [[ -e $HOME/.config/.alt/${item}-${profile} ]]; then if [[ -e $HOME/.config/.alt/${item}-${profile} ]]; then
ln -svf ".alt/${item}-${profile}" "$HOME/.config/$item" ln -svfT ".alt/${item}-${profile}" "$HOME/.config/$item"
elif [[ -e $HOME/.config/.alt/${item}-default ]]; then elif [[ -e $HOME/.config/.alt/${item}-default ]]; then
ln -svf ".alt/${item}-default" "$HOME/.config/$item" ln -svfT ".alt/${item}-default" "$HOME/.config/$item"
fi fi
} }
for item in "kitty" "wlogout"; do for item in "kitty" "wlogout"; do
if [[ ! -L $HOME/.config/$item ]] && [[ -e $HOME/.config/$item ]]; then if [[ ! -L $HOME/.config/$item ]] && [[ -e $HOME/.config/$item ]]; then
echo "Error: $HOME/.config/$item exists and is not a symlink." >&2 echo "Error: $HOME/.config/$item exists and is not a symlink." >&2
exit 1 exit 1
fi fi
case "$desktop" in case "$desktop" in
niri | GNOME) niri | GNOME)
alt "$item" niri alt "$item" niri
;; ;;
*) *)
alt "$item" default alt "$item" default
;; ;;
esac esac
done done