rose-pine-nix/modules/home-manager/cursor.nix

35 lines
846 B
Nix

{
config,
pkgs,
lib,
...
}:
let
inherit (lib) ctp mkIf;
cfg = config.catppuccin.pointerCursor;
# "dark" and "light" can be used alongside the regular accents
cursorAccentType = ctp.mergeEnums ctp.types.accentOption (
lib.types.enum [
"dark"
"light"
]
);
in
{
options.catppuccin.pointerCursor =
ctp.mkCatppuccinOpt {
name = "pointer cursors";
# NOTE: we exclude this from the global `catppuccin.enable` as there is no
# `enable` option in the upstream module to guard it
enableDefault = false;
}
// {
accent = ctp.mkBasicOpt "accent" cursorAccentType "cursors";
};
config.home.pointerCursor = mkIf cfg.enable {
name = "catppuccin-${cfg.flavor}-${cfg.accent}-cursors";
package = pkgs.catppuccin-cursors.${cfg.flavor + ctp.mkUpper cfg.accent};
};
}