aboutsummaryrefslogtreecommitdiff
path: root/modules/scheme
diff options
context:
space:
mode:
Diffstat (limited to 'modules/scheme')
-rw-r--r--modules/scheme/default.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/modules/scheme/default.nix b/modules/scheme/default.nix
new file mode 100644
index 0000000..9d6e77e
--- /dev/null
+++ b/modules/scheme/default.nix
@@ -0,0 +1,66 @@
+{ config, lib, pkgs, ... }:
+let
+ cfg = config.modules.scheme;
+ hexColorRegex = ''#([0-9a-fA-F]{3}){1,2}'';
+ hexColor = {
+ type = lib.types.strMatching hexColorRegex;
+ };
+ base16Palette = {
+ options = {
+ name = lib.mkOption {
+ type = lib.types.uniq lib.types.str;
+ description = "scheme name";
+ example = "base16-default-dark";
+ };
+ light = lib.mkOption {
+ type = lib.types.uniq lib.types.bool;
+ default = false;
+ description = "whether this is a light colorscheme";
+ };
+ base00 = lib.mkOption hexColor;
+ base01 = lib.mkOption hexColor;
+ base02 = lib.mkOption hexColor;
+ base03 = lib.mkOption hexColor;
+ base04 = lib.mkOption hexColor;
+ base05 = lib.mkOption hexColor;
+ base06 = lib.mkOption hexColor;
+ base07 = lib.mkOption hexColor;
+ base08 = lib.mkOption hexColor;
+ base09 = lib.mkOption hexColor;
+ base0A = lib.mkOption hexColor;
+ base0B = lib.mkOption hexColor;
+ base0C = lib.mkOption hexColor;
+ base0D = lib.mkOption hexColor;
+ base0E = lib.mkOption hexColor;
+ base0F = lib.mkOption hexColor;
+ };
+ };
+in
+{
+ options.modules.scheme = {
+ name = lib.mkOption {
+ type = lib.types.str;
+ description = "scheme name";
+ example = "base16-default-dark";
+ };
+ base00 = lib.mkOption hexColor;
+ base01 = lib.mkOption hexColor;
+ base02 = lib.mkOption hexColor;
+ base03 = lib.mkOption hexColor;
+ base04 = lib.mkOption hexColor;
+ base05 = lib.mkOption hexColor;
+ base06 = lib.mkOption hexColor;
+ base07 = lib.mkOption hexColor;
+ base08 = lib.mkOption hexColor;
+ base09 = lib.mkOption hexColor;
+ base0A = lib.mkOption hexColor;
+ base0B = lib.mkOption hexColor;
+ base0C = lib.mkOption hexColor;
+ base0D = lib.mkOption hexColor;
+ base0E = lib.mkOption hexColor;
+ base0F = lib.mkOption hexColor;
+ };
+
+ # config = lib.mkIf cfg.enable {
+ # };
+}