summaryrefslogtreecommitdiff
path: root/lib/theme.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/theme.nix')
-rw-r--r--lib/theme.nix104
1 files changed, 93 insertions, 11 deletions
diff --git a/lib/theme.nix b/lib/theme.nix
index 1020514..71b6944 100644
--- a/lib/theme.nix
+++ b/lib/theme.nix
@@ -1,24 +1,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");
- base16-scheme = "atelier-sulphurpool";
- base16-scheme-filename = lib.strings.concatStrings (lib.strings.splitString "-" base16-scheme);
- xresourcesFile = "${pkgs.base16}/xresources/base16-${base16-scheme-filename}.${theme}.256.xresources";
-
+ xresourcesFile = pkgs.writeText "ef-xresources" (xresourcesContent theme);
- colors = { # derived from spacemacs
+ # ef-dream/ef-reverie colors for use by dunst, polybar, xmonad, etc.
+ colors = {
"dark" = {
- highlight = "#5d4d7a";
- background = "#292b2e";
- foreground = "#b2b2b2";
+ 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 = "#67b11d";
- background = "#f6f1e1";
- foreground = "#655370";
+ 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;
};
};
}