aboutsummaryrefslogtreecommitdiff
path: root/modules/options.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/options.nix')
-rw-r--r--modules/options.nix95
1 files changed, 93 insertions, 2 deletions
diff --git a/modules/options.nix b/modules/options.nix
index b890831..65de32e 100644
--- a/modules/options.nix
+++ b/modules/options.nix
@@ -1,9 +1,100 @@
-{lib, ...}: let
+{
+ lib,
+ config,
+ ...
+}: let
inherit (lib) mkOption types;
in {
options = {
collinux.theme = mkOption {
- type = types.enum ["catppuccin" "adwaita"];
+ type = types.enum ["catppuccin" "adwaita" "kanagawa"];
};
+
+ collinux.palette = let
+ colorOption = lib.mkOption {
+ type = lib.types.strMatching "^([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$";
+ };
+ in
+ lib.mkOption {
+ type = lib.types.submodule {
+ options = {
+ base00 = colorOption;
+ base01 = colorOption;
+ base02 = colorOption;
+ base03 = colorOption;
+ base04 = colorOption;
+ base05 = colorOption;
+ base06 = colorOption;
+ base07 = colorOption;
+ base08 = colorOption;
+ base09 = colorOption;
+ base10 = colorOption;
+ base11 = colorOption;
+ base12 = colorOption;
+ base13 = colorOption;
+ base14 = colorOption;
+ base15 = colorOption;
+ };
+ };
+ default =
+ if (config.collinux.theme == "catppuccin")
+ then {
+ base00 = "1E1E2E";
+ base01 = "181825";
+ base02 = "313244";
+ base03 = "45475A";
+ base04 = "585B70";
+ base05 = "CDD6F4";
+ base06 = "F5E0DC";
+ base07 = "B4BEFE";
+ base08 = "F38BA8";
+ base09 = "FAB387";
+ base10 = "F9E2AF";
+ base11 = "A6E3A1";
+ base12 = "94E2D5";
+ base13 = "89B4FA";
+ base14 = "CBA6F7";
+ base15 = "F2CDCD";
+ }
+ else if (config.collinux.theme == "adwaita")
+ then {
+ base00 = "1D1D1D";
+ base01 = "303030";
+ base02 = "3D3846";
+ base03 = "77767B";
+ base04 = "B0AFAC";
+ base05 = "DEDDDA";
+ base06 = "F6F5F4";
+ base07 = "FCFCFC";
+ base08 = "E01B24";
+ base09 = "FF7800";
+ base10 = "F5C211";
+ base11 = "33D17A";
+ base12 = "33B2A4";
+ base13 = "3584E4";
+ base14 = "9141AC";
+ base15 = "986A44";
+ }
+ else if (config.collinux.theme == "kanagawa")
+ then {
+ base00 = "1F1F28";
+ base01 = "16161D";
+ base02 = "223249";
+ base03 = "54546D";
+ base04 = "727169";
+ base05 = "DCD7BA";
+ base06 = "C8C093";
+ base07 = "717C7C";
+ base08 = "C34043";
+ base09 = "FFA066";
+ base10 = "C0A36E";
+ base11 = "76946A";
+ base12 = "6A9589";
+ base13 = "7E9CD8";
+ base14 = "957FB8";
+ base15 = "D27E99";
+ }
+ else {};
+ };
};
}