28e6d8a18d
* 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`
28 lines
628 B
Nix
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}"
|
|
'';
|
|
};
|
|
}
|