blob: 71b6944bcfe159dd341b2944fc6693e55c7fc8f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
{ pkgs, lib }:
let
inherit (import ./const.nix) homedir;
# ef-dream palette from protesilaos/ef-themes
efDream = {
bg-main = "#232025";
bg-dim = "#322f34";
bg-alt = "#3b393e";
fg-main = "#efd5c5";
fg-dim = "#8f8886";
fg-alt = "#b0a0cf";
cursor = "#f3c09a";
red = "#ff6f6f";
green = "#51b04f";
yellow = "#c0b24f";
blue = "#57b0ff";
magenta = "#ffaacf";
magenta-cooler = "#d0b0ff";
cyan = "#6fb3c0";
};
# ef-reverie (light companion to ef-dream)
efReverie = {
bg-main = "#f3eddf";
bg-dim = "#e6e0d4";
bg-alt = "#d9d3ca";
fg-main = "#4f204f";
fg-dim = "#6a5a6a";
fg-alt = "#704f4f";
cursor = "#7f007f";
red = "#ba2d2f";
green = "#007a0a";
yellow = "#a45a22";
blue = "#375cc6";
magenta = "#b044aa";
magenta-cooler = "#7f5ae0";
cyan = "#3f60af";
};
xresourcesContent = theme: let
p = if theme == "dark" then efDream else efReverie;
in ''
! ef-dream/ef-reverie inspired Xresources
*background: ${p.bg-main}
*foreground: ${p.fg-main}
*cursorColor: ${p.cursor}
! black
*color0: ${p.bg-main}
*color8: ${p.bg-alt}
! red
*color1: ${p.red}
*color9: ${p.red}
! green
*color2: ${p.green}
*color10: ${p.green}
! yellow
*color3: ${p.yellow}
*color11: ${p.yellow}
! blue
*color4: ${p.blue}
*color12: ${p.blue}
! magenta
*color5: ${p.magenta}
*color13: ${p.magenta-cooler}
! cyan
*color6: ${p.cyan}
*color14: ${p.cyan}
! white
*color7: ${p.fg-main}
*color15: ${p.cursor}
'';
in rec {
theme = lib.removeSuffix "\n" (builtins.readFile "${homedir}/.local/share/xtheme");
xresourcesFile = pkgs.writeText "ef-xresources" (xresourcesContent theme);
# ef-dream/ef-reverie colors for use by dunst, polybar, xmonad, etc.
colors = {
"dark" = {
highlight = efDream.magenta-cooler;
background = efDream.bg-main;
foreground = efDream.fg-main;
cursor = efDream.cursor;
red = efDream.red;
green = efDream.green;
yellow = efDream.yellow;
blue = efDream.blue;
magenta = efDream.magenta;
cyan = efDream.cyan;
};
"light" = {
highlight = efReverie.magenta-cooler;
background = efReverie.bg-main;
foreground = efReverie.fg-main;
cursor = efReverie.cursor;
red = efReverie.red;
green = efReverie.green;
yellow = efReverie.yellow;
blue = efReverie.blue;
magenta = efReverie.magenta;
cyan = efReverie.cyan;
};
};
}
|