26 lines
792 B
Bash
Executable File
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 |