diff options
author | Minijackson <minijackson@riseup.net> | 2020-12-03 16:45:06 +0100 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2020-12-03 16:45:06 +0100 |
commit | 3f0e83cb4816e637d8c916fb77217e1c5824dbe5 (patch) | |
tree | 65b48ffe6e82459cde97b8ee61a597402ba2617b /common/theme.nix | |
download | nixos-config-reborn-3f0e83cb4816e637d8c916fb77217e1c5824dbe5.tar.gz nixos-config-reborn-3f0e83cb4816e637d8c916fb77217e1c5824dbe5.zip |
initial commit: most of previous configuration reworked
Diffstat (limited to 'common/theme.nix')
-rw-r--r-- | common/theme.nix | 223 |
1 files changed, 223 insertions, 0 deletions
diff --git a/common/theme.nix b/common/theme.nix new file mode 100644 index 0000000..675bc33 --- /dev/null +++ b/common/theme.nix | |||
@@ -0,0 +1,223 @@ | |||
1 | # A facility centralizing theme / colorscheme | ||
2 | |||
3 | # The default colors are based on the Gruvbox theme: | ||
4 | # | ||
5 | # - https://github.com/morhetz/gruvbox | ||
6 | # - https://github.com/morhetz/gruvbox-contrib | ||
7 | |||
8 | { config, lib, ... }: | ||
9 | |||
10 | with lib; | ||
11 | |||
12 | { | ||
13 | options.theme.colors = { | ||
14 | |||
15 | dominantName = mkOption { | ||
16 | type = types.str; | ||
17 | default = "green"; | ||
18 | description = '' | ||
19 | The dominant color name of the theme. | ||
20 | |||
21 | This color should be different on different hosts. | ||
22 | ''; | ||
23 | }; | ||
24 | |||
25 | dominant = mkOption { | ||
26 | type = types.str; | ||
27 | default = "#b8bb26"; | ||
28 | description = '' | ||
29 | The dominant color of the theme. | ||
30 | |||
31 | This color should be different on different hosts. | ||
32 | ''; | ||
33 | }; | ||
34 | |||
35 | dimDominant = mkOption { | ||
36 | type = types.str; | ||
37 | default = "#79740e"; | ||
38 | description = '' | ||
39 | The dominant color of the theme, but dimmed. | ||
40 | ''; | ||
41 | }; | ||
42 | |||
43 | foreground = mkOption { | ||
44 | type = types.str; | ||
45 | default = "#ebdbb1"; | ||
46 | description = "The foreground (text) color"; | ||
47 | }; | ||
48 | |||
49 | dimForeground = mkOption { | ||
50 | type = types.str; | ||
51 | default = "#928374"; | ||
52 | description = "Like the foreground color, but one which does not burn the eyes."; | ||
53 | }; | ||
54 | |||
55 | background = mkOption { | ||
56 | type = types.str; | ||
57 | default = "#282828"; | ||
58 | description = "The background color"; | ||
59 | }; | ||
60 | |||
61 | softBackground = mkOption { | ||
62 | type = types.str; | ||
63 | default = "#32302f"; | ||
64 | description = "Like the background color, but a little bit softer."; | ||
65 | }; | ||
66 | |||
67 | lightBackground = mkOption { | ||
68 | type = types.str; | ||
69 | default = "#504945"; | ||
70 | description = "Like the background color, but one which burns the eyes a little bit more."; | ||
71 | }; | ||
72 | |||
73 | background0 = mkOption { | ||
74 | type = types.str; | ||
75 | default = "#1d2021"; | ||
76 | description = "Background level 0"; | ||
77 | }; | ||
78 | |||
79 | background1 = mkOption { | ||
80 | type = types.str; | ||
81 | default = "#282828"; | ||
82 | description = "Background level 1"; | ||
83 | }; | ||
84 | |||
85 | background2 = mkOption { | ||
86 | type = types.str; | ||
87 | default = "#3c3836"; | ||
88 | description = "Background level 2"; | ||
89 | }; | ||
90 | |||
91 | background3 = mkOption { | ||
92 | type = types.str; | ||
93 | default = "#504945"; | ||
94 | description = "Background level 3"; | ||
95 | }; | ||
96 | |||
97 | background4 = mkOption { | ||
98 | type = types.str; | ||
99 | default = "#665c54"; | ||
100 | description = "Background level 4"; | ||
101 | }; | ||
102 | |||
103 | background5 = mkOption { | ||
104 | type = types.str; | ||
105 | default = "#7c6f64"; | ||
106 | description = "Background level 5"; | ||
107 | }; | ||
108 | |||
109 | background6 = mkOption { | ||
110 | type = types.str; | ||
111 | default = "#928374"; | ||
112 | description = "Background level 6"; | ||
113 | }; | ||
114 | |||
115 | brightRed = mkOption { | ||
116 | type = types.str; | ||
117 | default = "#fb4934"; | ||
118 | }; | ||
119 | |||
120 | brightGreen = mkOption { | ||
121 | type = types.str; | ||
122 | default = "#b8bb26"; | ||
123 | }; | ||
124 | |||
125 | brightYellow = mkOption { | ||
126 | type = types.str; | ||
127 | default = "#fabd2f"; | ||
128 | }; | ||
129 | |||
130 | brightBlue = mkOption { | ||
131 | type = types.str; | ||
132 | default = "#83a598"; | ||
133 | }; | ||
134 | |||
135 | brightMagenta = mkOption { | ||
136 | type = types.str; | ||
137 | default = "#d3869b"; | ||
138 | }; | ||
139 | |||
140 | brightCyan = mkOption { | ||
141 | type = types.str; | ||
142 | default = "#8ec07c"; | ||
143 | }; | ||
144 | |||
145 | brightOrange = mkOption { | ||
146 | type = types.str; | ||
147 | default = "#fe8019"; | ||
148 | }; | ||
149 | |||
150 | |||
151 | neutralRed = mkOption { | ||
152 | type = types.str; | ||
153 | default = "#cc241d"; | ||
154 | }; | ||
155 | |||
156 | neutralGreen = mkOption { | ||
157 | type = types.str; | ||
158 | default = "#98971a"; | ||
159 | }; | ||
160 | |||
161 | neutralYellow = mkOption { | ||
162 | type = types.str; | ||
163 | default = "#d79921"; | ||
164 | }; | ||
165 | |||
166 | neutralBlue = mkOption { | ||
167 | type = types.str; | ||
168 | default = "#458588"; | ||
169 | }; | ||
170 | |||
171 | neutralMagenta = mkOption { | ||
172 | type = types.str; | ||
173 | default = "#b16286"; | ||
174 | }; | ||
175 | |||
176 | neutralCyan = mkOption { | ||
177 | type = types.str; | ||
178 | default = "#689d6a"; | ||
179 | }; | ||
180 | |||
181 | neutralOrange = mkOption { | ||
182 | type = types.str; | ||
183 | default = "#d65d0e"; | ||
184 | }; | ||
185 | |||
186 | |||
187 | fadedRed = mkOption { | ||
188 | type = types.str; | ||
189 | default = "#9d0006"; | ||
190 | }; | ||
191 | |||
192 | fadedGreen = mkOption { | ||
193 | type = types.str; | ||
194 | default = "#79740e"; | ||
195 | }; | ||
196 | |||
197 | fadedYellow = mkOption { | ||
198 | type = types.str; | ||
199 | default = "#b57614"; | ||
200 | }; | ||
201 | |||
202 | fadedBlue = mkOption { | ||
203 | type = types.str; | ||
204 | default = "#076678"; | ||
205 | }; | ||
206 | |||
207 | fadedMagenta = mkOption { | ||
208 | type = types.str; | ||
209 | default = "#8f3f71"; | ||
210 | }; | ||
211 | |||
212 | fadedCyan = mkOption { | ||
213 | type = types.str; | ||
214 | default = "#427b58"; | ||
215 | }; | ||
216 | |||
217 | fadedOrange = mkOption { | ||
218 | type = types.str; | ||
219 | default = "#af3a03"; | ||
220 | }; | ||
221 | |||
222 | }; | ||
223 | } | ||