feat(colorscheme): add gruvbox-material-medium-dark

This commit is contained in:
ooks-io 2024-08-11 20:22:23 +12:00
parent 788d6c605e
commit 56fbaafdd0
7 changed files with 93 additions and 57 deletions

View file

@ -1,30 +0,0 @@
{
config,
lib,
...
}: let
inherit (lib) mkOption;
inherit (lib.types) str enum attrsOf;
cfg = config.ooknet.colorscheme;
in {
# simple colorscheme module bases on misterio77/nix-colors
options.ooknet.colorscheme = {
name = mkOption {
type = enum ["hozen"];
default = "hozen";
};
variant = mkOption {
type = enum ["dark" "light"];
default = "dark";
};
slug = mkOption {
type = str;
default = "${toString cfg.name-cfg.variant}";
};
palette = {
type = attrsOf str;
default = (import ./palettes/${cfg.slug}.nix).colorscheme.palette;
};
};
}

View file

@ -25,7 +25,7 @@
cfg = config.ooknet.appearance;
in {
imports = [./palettes];
# imports = [./palettes];
options.ooknet.appearance = {
theme = mkOption {
type = nullOr (enum ["minimal" "phone"]);
@ -57,7 +57,7 @@ in {
};
colorscheme = {
name = mkOption {
type = enum ["hozen"];
type = enum ["hozen" "gruvbox-material-medium"];
default = "hozen";
};
variant = mkOption {
@ -70,7 +70,7 @@ in {
};
palette = mkOption {
type = attrsOf (coercedTo str (removePrefix "#") hexColorType);
default = {};
default = (import ./palettes/${config.ooknet.appearance.colorscheme.slug}.nix).colorscheme.palette;
};
};
};

View file

@ -0,0 +1,65 @@
{
colorscheme = {
palette = {
crust = "#282828";
mantle = "#32302f";
base = "#3a3735";
surface-0 = "#45403d";
surface-1 = "#504945";
surface-2 = "#5A524C";
overlay-0 = "#696059";
overlay-1 = "#70665C";
overlay-2 = "#7C6F64";
subtext-0 = "#928374";
subtext-1 = "#A89984";
text = "#d4be98";
red = "#ea6962";
dull-red = "#D87974";
bright-red = "#F47771";
orange = "#e78a4e";
dull-orange = "#D39063";
bright-orange = "#F3995E";
yellow = "#d8a657";
dull-yellow = "#c2A16B";
bright-yellow = "#E5B361";
green = "#a9b665";
dull-green = "#989F7A";
bright-green = "#B8C86A";
cyan = "#89b482";
dull-cyan = "#93A790";
bright-cyan = "#92C78A";
blue = "#7daea3";
dull-blue = "#939A98";
bright-blue = "#85C1B4";
purple = "#d3869b";
dull-purple = "#C397A3";
bright-purple = "#E193A8";
base00 = "#282828";
base01 = "#32302f";
base02 = "#504945";
base03 = "#7C6F64";
base04 = "#A89984";
base05 = "#D4BE98";
base06 = "#DDc7a1";
base07 = "#FBF1C7";
base08 = "#EA6962";
base09 = "#E78A4E";
base0A = "#d8a657";
base0B = "#A9B665";
base0C = "#89B482";
base0D = "#7DAEA3";
base0E = "#D3869B";
base0F = "#E37B35";
base10 = "#141617";
base11 = "#050505";
base12 = "#F47771";
base13 = "#D8A657";
base14 = "#B7C86A";
base15 = "#92C78A";
base16 = "#85C1B4";
base17 = "#E193A8";
};
};
}

View file

@ -1,12 +1,5 @@
{
config,
lib,
...
}: let
cfg = config.ooknet.appearance.colorscheme;
inherit (lib) mkIf;
in {
ooknet.appearance.colorscheme = mkIf (cfg.name == "hozen" && cfg.variant == "dark") {
colorscheme = {
palette = {
crust = "2b2927";
mantle = "33312e";