rose-pine-nix/modules/home-manager/k9s.nix
seth 28e6d8a18d
feat(modules): add catppuccin.sources option (#129)
* feat(modules): add `catppuccin.sources` option

* refactor(modules)!: nvfetcher -> npins

npins gives us a nicer file to import that is a simple name value pair
of the port and the path in the store. this allows for easier overriding
with the catppuccin.sources option

* fix(modules): ensure default sources are applied to `catppuccin.sources`
2024-05-13 16:33:16 -04:00

34 lines
781 B
Nix

{ config
, lib
, ...
}:
let
inherit (config.catppuccin) sources;
cfg = config.programs.k9s.catppuccin;
enable = cfg.enable && config.programs.k9s.enable;
themeName = "catppuccin-${cfg.flavour}" + lib.optionalString cfg.transparent "-transparent";
themeFile = "${themeName}.yaml";
themePath = "/skins/${themeFile}";
theme = sources.k9s + "/dist/${themeFile}";
in
{
options.programs.k9s.catppuccin =
lib.ctp.mkCatppuccinOpt "k9s"
// {
transparent = lib.mkEnableOption "transparent version of flavour";
};
config =
lib.mkIf enable
{
assertions = [
(lib.ctp.assertXdgEnabled "k9s")
];
xdg.configFile."k9s${themePath}".source = theme;
programs.k9s.settings.k9s.ui.skin = themeName;
};
}