diff options
author | sefidel <contact@sefidel.net> | 2022-01-01 01:44:39 +0900 |
---|---|---|
committer | sefidel <contact@sefidel.net> | 2022-01-01 01:46:13 +0900 |
commit | 34e2f2666627a516a73df8f7c19b3abac75050d6 (patch) | |
tree | 054a9b49601d2af342123cf9902a956216ddb87f /home/modules/misc | |
parent | 4dae1769aaf420643f99685c420197239f6b8755 (diff) | |
download | nixrc-34e2f2666627a516a73df8f7c19b3abac75050d6.tar.gz nixrc-34e2f2666627a516a73df8f7c19b3abac75050d6.zip |
home/neotheme: init
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" + ]); + }; + }; +} |