Files
dotfiles/config/scripts/.local/scripts/config-switch
2026-03-14 04:49:33 +01:00

36 lines
791 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Description:
# Updates configurations of several apps according to the current (or given as parameter) desktop environment.
desktop=${1:-${XDG_CURRENT_DESKTOP:-default}}
alt() {
local item profile
item=$1
profile=$2
if [[ -e $HOME/.config/.alt/${item}-${profile} ]]; then
ln -svfT ".alt/${item}-${profile}" "$HOME/.config/$item"
elif [[ -e $HOME/.config/.alt/${item}-default ]]; then
ln -svfT ".alt/${item}-default" "$HOME/.config/$item"
fi
}
for item in "kitty" "wlogout"; do
if [[ ! -L $HOME/.config/$item ]] && [[ -e $HOME/.config/$item ]]; then
echo "Error: $HOME/.config/$item exists and is not a symlink." >&2
exit 1
fi
case "$desktop" in
niri | GNOME)
alt "$item" niri
;;
*)
alt "$item" default
;;
esac
done