cava: add rainbow theme option (#638)
Link: https://github.com/danth/stylix/pull/638 Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com> Tested-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
This commit is contained in:
parent
4f489c6393
commit
be3a33d589
1 changed files with 34 additions and 0 deletions
34
modules/cava/hm.nix
Normal file
34
modules/cava/hm.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
let
|
||||
|
||||
mkGradient = colors: lib.listToAttrs (lib.imap0 (i: c: lib.nameValuePair "gradient_color_${toString (i+1)}" "'#${c}'") colors) // {
|
||||
gradient = 1;
|
||||
gradient_count = builtins.length colors;
|
||||
};
|
||||
|
||||
rainbowColors = with config.lib.stylix.colors; [
|
||||
base0E
|
||||
base0D
|
||||
base0C
|
||||
base0B
|
||||
base0A
|
||||
base09
|
||||
base08
|
||||
];
|
||||
|
||||
in {
|
||||
options.stylix.targets.cava = {
|
||||
enable = config.lib.stylix.mkEnableTarget "CAVA" true;
|
||||
rainbow.enable = config.lib.stylix.mkEnableTarget "rainbow gradient theming" false;
|
||||
};
|
||||
|
||||
config = let
|
||||
cfg = config.stylix.targets.cava;
|
||||
in
|
||||
lib.mkIf (config.stylix.enable && cfg.enable) {
|
||||
programs.cava.settings.color = lib.mkIf cfg.rainbow.enable (
|
||||
mkGradient rainbowColors
|
||||
);
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue