From 353f449f80bb16ec4a31a719cf656ceccf4dfa74 Mon Sep 17 00:00:00 2001 From: Doloro1978 Date: Sat, 10 Jan 2026 23:21:14 +0100 Subject: [PATCH] added(mods): base16 mod, currently has gruvbox --- modules/base16-theme/default.nix | 4 + modules/base16-theme/home.nix | 137 +++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 modules/base16-theme/default.nix create mode 100644 modules/base16-theme/home.nix diff --git a/modules/base16-theme/default.nix b/modules/base16-theme/default.nix new file mode 100644 index 0000000..fb4af30 --- /dev/null +++ b/modules/base16-theme/default.nix @@ -0,0 +1,4 @@ +_: { + home = ./home.nix; + # nixos: ./nixos.nix; +} diff --git a/modules/base16-theme/home.nix b/modules/base16-theme/home.nix new file mode 100644 index 0000000..cce8492 --- /dev/null +++ b/modules/base16-theme/home.nix @@ -0,0 +1,137 @@ +{ + config, + lib, + inputs, + pkgs, + home, + system, + ... +}: +# system: "base16" +# name: "Gruvbox dark, hard" +# author: "Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)" +# variant: "dark" +let + cfg_hex = { + "01" = "#1d2021"; # base00 + "02" = "#3c3836"; # base01 + "03" = "#504945"; # base02 + "04" = "#665c54"; # base03 + "05" = "#bdae93"; # base04 + "06" = "#d5c4a1"; # base05 + "07" = "#ebdbb2"; # base06 + "08" = "#fbf1c7"; # base07 + "09" = "#fb4934"; # base08 (red) + "10" = "#fe8019"; # base09 (orange) + "11" = "#fabd2f"; # base0A (yellow) + "12" = "#b8bb26"; # base0B (green) + "13" = "#8ec07c"; # base0C (aqua/cyan) + "14" = "#83a598"; # base0D (blue) + "15" = "#d3869b"; # base0E (purple) + "16" = "#d65d0e"; # base0F (brown) + }; + + cfg_rgb = { + "01" = { + r = 29; + g = 32; + b = 33; + }; # base00 + "02" = { + r = 60; + g = 56; + b = 54; + }; # base01 + "03" = { + r = 80; + g = 73; + b = 69; + }; # base02 + "04" = { + r = 102; + g = 92; + b = 84; + }; # base03 + "05" = { + r = 189; + g = 174; + b = 147; + }; # base04 + "06" = { + r = 213; + g = 196; + b = 161; + }; # base05 + "07" = { + r = 235; + g = 219; + b = 178; + }; # base06 + "08" = { + r = 251; + g = 241; + b = 199; + }; # base07 + "09" = { + r = 251; + g = 73; + b = 52; + }; # base08 (red) + "10" = { + r = 254; + g = 128; + b = 25; + }; # base09 (orange) + "11" = { + r = 250; + g = 189; + b = 47; + }; # base0A (yellow) + "12" = { + r = 184; + g = 187; + b = 38; + }; # base0B (green) + "13" = { + r = 142; + g = 192; + b = 124; + }; # base0C (aqua/cyan) + "14" = { + r = 131; + g = 165; + b = 152; + }; # base0D (blue) + "15" = { + r = 211; + g = 134; + b = 155; + }; # base0E (purple) + "16" = { + r = 214; + g = 93; + b = 14; + }; # base0F (brown) + }; +in +{ + options.modules.base16 = { + hex = lib.mkOption { + type = lib.types.attrs; + description = '' + Hexadecimal color configuration for Gruvbox dark, hard Base16 theme. + ''; + default = cfg_hex; + }; + rgb = lib.mkOption { + type = lib.types.attrs; + description = '' + RGB color configuration for Gruvbox dark, hard Base16 theme. + ''; + default = cfg_rgb; + }; + }; + + config.modules.base16.hex = cfg_hex; + config.modules.base16.rgb = cfg_rgb; +}