rose-pine-nix/modules/home-manager/fish.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

28 lines
628 B
Nix

{ config
, lib
, ...
}:
let
inherit (lib) ctp mkIf;
inherit (config.catppuccin) sources;
cfg = config.programs.fish.catppuccin;
enable = cfg.enable && config.programs.fish.enable;
themeName = "Catppuccin ${ctp.mkUpper cfg.flavour}";
themePath = "/themes/${themeName}.theme";
in
{
options.programs.fish.catppuccin = lib.ctp.mkCatppuccinOpt "fish";
config = mkIf enable {
assertions = [
(lib.ctp.assertXdgEnabled "fish")
];
xdg.configFile."fish${themePath}".source = "${sources.fish}${themePath}";
programs.fish.shellInit = ''
fish_config theme choose "${themeName}"
'';
};
}