blob: 5fdb405e65f74b6658c16c6f58b5627341ecdc32 [file] [log] [blame]
Skyler Grey4e230892024-02-13 22:58:46 +00001{
2 pkgs,
3 config,
4 lib,
5 ...
6}:
7{
8 options.chimera.theme = {
9 cursor = null;
10 colors =
11 let
12 themeColor = {
13 hex = lib.types.str;
14 rgb = {
15 r = lib.types.numbers 0 255;
16 g = lib.types.numbers 0 255;
17 b = lib.types.numbers 0 255;
18 };
19 hsl = {
20 h = lib.types.numbers 0 360;
21 s = lib.types.numbers 0 100;
22 l = lib.types.numbers 0 100;
23 };
24 };
25 in
26 {
27 Rosewater = lib.mkOption { type = themeColor; };
28 Flamingo = lib.mkOption { type = themeColor; };
29 Pink = lib.mkOption { type = themeColor; };
30 Mauve = lib.mkOption { type = themeColor; };
31 Red = lib.mkOption { type = themeColor; };
32 Maroon = lib.mkOption { type = themeColor; };
33 Peach = lib.mkOption { type = themeColor; };
34 Yellow = lib.mkOption { type = themeColor; };
35 Green = lib.mkOption { type = themeColor; };
36 Teal = lib.mkOption { type = themeColor; };
37 Sky = lib.mkOption { type = themeColor; };
38 Sapphire = lib.mkOption { type = themeColor; };
39 Blue = lib.mkOption { type = themeColor; };
40 Lavender = lib.mkOption { type = themeColor; };
41 Text = lib.mkOption { type = themeColor; };
42 Subtext1 = lib.mkOption { type = themeColor; };
43 Subtext0 = lib.mkOption { type = themeColor; };
44 Overlay2 = lib.mkOption { type = themeColor; };
45 Overlay1 = lib.mkOption { type = themeColor; };
46 Overlay0 = lib.mkOption { type = themeColor; };
47 Surface2 = lib.mkOption { type = themeColor; };
48 Surface1 = lib.mkOption { type = themeColor; };
49 Surface0 = lib.mkOption { type = themeColor; };
50 Base = lib.mkOption { type = themeColor; };
51 Mantle = lib.mkOption { type = themeColor; };
52 Crust = lib.mkOption { type = themeColor; };
53 Highlight = lib.mkOption { type = themeColor; };
54 };
55 };
56}