user/catppuccin: create specialisation switcher

This commit is contained in:
LavaDesu 2025-03-18 18:01:59 +11:00
parent 7d8dbaef0d
commit 8818d8a1aa
Signed by: cilly
GPG key ID: 6500251E087653C9

View file

@ -1,4 +1,4 @@
{ config, inputs, lib, ... }: {
{ config, inputs, lib, pkgs, ... }: {
imports = [
inputs.catppuccin.homeManagerModules.catppuccin
];
@ -32,5 +32,27 @@
light.configuration.catppuccin.flavor = "latte";
dark.configuration.catppuccin.flavor = "mocha";
};
home.packages = [(pkgs.writeShellScriptBin "theme" ''
if [ "$1" != "dark" ] && [ "$1" != "light" ]; then
echo "invalid theme, valid values: [dark, light]"
exit 1
fi
current="$HOME/.local/state/nix/profiles/home-manager"
cached="$HOME/.local/state/last-parent-specialisation"
if [ -d "$current/specialisation" ]; then
if [ -d "$cached" ]; then
rm -f "$cached"
fi
ln -sf "$(readlink -f $current)" "$cached"
fi
if [ ! -d "$cached/specialisation" ]; then
echo "no specialisations found"
exit 1
fi
"$cached/specialisation/$1/activate"
'')];
};
}