diff options
Diffstat (limited to 'home/modules/misc')
-rw-r--r-- | home/modules/misc/neotheme/default.nix | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/home/modules/misc/neotheme/default.nix b/home/modules/misc/neotheme/default.nix new file mode 100644 index 0000000..74f2c74 --- /dev/null +++ b/home/modules/misc/neotheme/default.nix @@ -0,0 +1,59 @@ +{ lib, pkgs, config, ... }: + +with lib; +let cfg = config.neotheme; +in { + options.neotheme = { + wallpaper = mkOption { + type = types.str; + default = ""; + description = "path for wallpaper image file"; + example = "/weird/dir/wallpaper.png"; + }; + + palette = { + identifier = mkOption { + type = types.str; + default = ""; + description = "palette identifier"; + example = "mytheme"; + }; + + name = mkOption { + type = types.str; + default = ""; + description = "palette name"; + example = "My Amazing Theme"; + }; + + colors = let + mkColorOption = name: { + inherit name; + value = mkOption { + type = types.strMatching "[a-fA-F0-9]{6}"; + description = "color ${name}."; + }; + }; + in listToAttrs (map mkColorOption [ + "background" + "foreground" + "color0" + "color1" + "color2" + "color3" + "color4" + "color5" + "color6" + "color7" + "bright0" + "bright1" + "bright2" + "bright3" + "bright4" + "bright5" + "bright6" + "bright7" + ]); + }; + }; +} |