feat(home-manager): add support for freetube (#327)

This commit is contained in:
Anomalocaridid 2024-09-21 16:29:48 -04:00 committed by GitHub
parent 85a6ef0294
commit 6effc32e61
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 27 additions and 0 deletions

View file

@ -10,6 +10,7 @@
./fcitx5.nix
./fish.nix
./foot.nix
./freetube.nix
./fuzzel.nix
./fzf.nix
./gh-dash.nix

View file

@ -0,0 +1,25 @@
{ 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}";
};
}

View file

@ -24,6 +24,7 @@
cava.enable = true;
fish.enable = true;
foot.enable = true;
freetube.enable = true;
fuzzel.enable = true;
fzf.enable = true;
gh-dash.enable = true;