rose-pine-nix/modules/home-manager/freetube.nix
2024-09-21 16:29:48 -04:00

25 lines
1 KiB
Nix

{ config, lib, ... }:
let
inherit (config.programs.freetube.settings) baseTheme;
inherit (lib.ctp) mkAccentOpt mkUpper;
cfg = config.programs.freetube.catppuccin;
enable = cfg.enable && config.programs.freetube.enable;
in
{
options.programs.freetube.catppuccin = lib.ctp.mkCatppuccinOpt { name = "freetube"; } // {
accent = mkAccentOpt "FreeTube";
# FreeTube supports two accent colors
secondaryAccent = mkAccentOpt "FreeTube" // {
# Have the secondary accent default to FreeTube's main accent rather than the global Catppuccin accent
# This assumes most users would prefer both accent colors to be the same when only overriding the main one
default = cfg.accent;
};
};
config.programs.freetube.settings = lib.mkIf enable {
# NOTE: For some reason, baseTheme does not capitalize first letter, but the other settings do
baseTheme = "catppuccin${mkUpper cfg.flavor}";
mainColor = mkUpper "${baseTheme}${mkUpper cfg.accent}";
secColor = mkUpper "${baseTheme}${mkUpper cfg.secondaryAccent}";
};
}