diff options
Diffstat (limited to 'modules/scheme')
| -rw-r--r-- | modules/scheme/default.nix | 66 |
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 { + # }; +} |