aboutsummaryrefslogtreecommitdiff
path: root/home/modules/misc
diff options
context:
space:
mode:
Diffstat (limited to 'home/modules/misc')
-rw-r--r--home/modules/misc/neotheme/default.nix59
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"
+ ]);
+ };
+ };
+}