summaryrefslogtreecommitdiffstats
path: root/common/theme.nix
diff options
context:
space:
mode:
authorMinijackson <minijackson@riseup.net>2020-12-03 16:45:06 +0100
committerMinijackson <minijackson@riseup.net>2020-12-03 16:45:06 +0100
commit3f0e83cb4816e637d8c916fb77217e1c5824dbe5 (patch)
tree65b48ffe6e82459cde97b8ee61a597402ba2617b /common/theme.nix
downloadnixos-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.nix223
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
10with 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}