summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/common.nix80
-rw-r--r--lib/theme.nix104
-rw-r--r--lib/xmonad.hs14
3 files changed, 131 insertions, 67 deletions
diff --git a/lib/common.nix b/lib/common.nix
index d1efeb9..d0d51fc 100644
--- a/lib/common.nix
+++ b/lib/common.nix
@@ -67,14 +67,14 @@ in {
programs.bat = {
enable = true;
- config = { theme = "catppuccin"; };
+ config = { theme = "catppuccin-mocha"; };
themes = {
- catppuccin = builtins.readFile (pkgs.fetchFromGitHub {
+ catppuccin-mocha = builtins.readFile (pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "bat";
rev = "d714cc1d358ea51bfc02550dabab693f70cccea0";
hash = "sha256-Q5B4NDrfCIK3UAMs94vdXnR42k4AXCqZz6sRn8bzmf4=";
- } + "/themes/Catppuccin Latte.tmTheme");
+ } + "/themes/Catppuccin Mocha.tmTheme");
};
};
@@ -93,19 +93,20 @@ in {
"$line_break"
"$character"
];
- directory.style = "blue";
+ # ef-dream inspired colors
+ directory.style = "#57b0ff";
character = {
- success_symbol = "[ϟ](white)";
- error_symbol = "[ϟ](red)";
+ success_symbol = "[ϟ](#f3c09a)";
+ error_symbol = "[ϟ](#ff6f6f)";
};
git_branch = {
format = "[$branch]($style)";
- style = "bright-black";
+ style = "#8f8886";
};
git_status = {
format =
- ''[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)'';
- style = "cyan";
+ ''[[(*$conflicted$untracked$modified$staged$renamed$deleted)](#ffaacf) ($ahead_behind$stashed)]($style)'';
+ style = "#6fb3c0";
conflicted = "​";
untracked = "​";
modified = "​";
@@ -116,12 +117,12 @@ in {
};
git_state = {
format = "\([$state( $progress_current/$progress_total)]($style)\) ";
- style = "bright-black";
+ style = "#8f8886";
};
cmd_duration = {
format = "[$duration]($style) ";
- style = "yellow";
+ style = "#c0b24f";
};
};
};
@@ -156,41 +157,17 @@ in {
enable = true;
enableBashIntegration = true;
colors = {
- # https://github.com/catppuccin/fzf
- # TODO: use catppuccin/nix, and switch based on xtheme
- # catppuccin-mocha
- "bg+" = "#313244";
- "bg" = "#1e1e2e";
- "hl" = "#f38ba8";
- "fg" = "#cdd6f4";
- "header" = "#f38ba8";
- "info" = "#cba6f7";
- "pointer" = "#f5e0dc";
- "marker" = "#b4befe";
- "fg+" = "#cdd6f4";
- "hl+" = "#f38ba8";
- # these are no longer supported
- # "prompt" = "#cba6f7";
- # "spinner" = "#f5e0dc";
- # these are new colors, but doesn't work for me
- # https://github.com/catppuccin/fzf/issues/10
- # "selected-bg" = "#45475a";
-
- # catppucin-latte:
- # "bg+" = "#ccd0da";
- # "bg" = "#eff1f5";
- # "hl" = "#d20f39";
- # "fg" = "#4c4f69";
- # "header" = "#d20f39";
- # "info" = "#8839ef";
- # "pointer" = "#dc8a78 ";
- # "marker" = "#dc8a78";
- # "fg+" = "#4c4f69";
- # "hl+" = "#d20f39";
- # "selected-bg" = "#51576d";
- # "selected-hl" = "#e78284";
- # "prompt" = "#8839ef";
- # "spinner" = "#dc8a78";
+ # ef-dream inspired
+ "bg+" = "#3b393e";
+ "bg" = "#232025";
+ "hl" = "#ffaacf";
+ "fg" = "#efd5c5";
+ "header" = "#d0b0ff";
+ "info" = "#d0b0ff";
+ "pointer" = "#f3c09a";
+ "marker" = "#57b0ff";
+ "fg+" = "#efd5c5";
+ "hl+" = "#ffaacf";
};
defaultCommand = "rg --files";
changeDirWidgetCommand = "fd --type d"; # M-c
@@ -339,12 +316,15 @@ in {
set -g status-left '#S | #(whoami)@#(hostname) | '
set -g status-right '~%Y.%m.%d..%H.%M'
set -g renumber-windows on
- # white-ish background with dark-grey text
- set -g status-style bg=colour0,fg=colour13
- # highlight current window
- set -g window-status-current-style fg=colour0,bg=colour13
+ # ef-dream colors
+ set -g status-style bg='#232025',fg='#efd5c5'
+ # highlight current window with magenta-cooler
+ set -g window-status-current-style fg='#232025',bg='#d0b0ff'
set -g window-status-format '#I) #W '
set -g window-status-current-format '#I) #W '
+ # pane borders
+ set -g pane-border-style fg='#3b393e'
+ set -g pane-active-border-style fg='#d0b0ff'
#
set-option -g allow-passthrough on
'';
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;
};
};
}
diff --git a/lib/xmonad.hs b/lib/xmonad.hs
index b008119..3903671 100644
--- a/lib/xmonad.hs
+++ b/lib/xmonad.hs
@@ -55,18 +55,20 @@ data Colors = Colors
highlight :: String
}
+-- ef-reverie (light companion to ef-dream)
lightTheme =
Colors
- { highlight = "#67b11d",
- background = "#f6f1e1",
- foreground = "#655370"
+ { highlight = "#7f5ae0",
+ background = "#f3eddf",
+ foreground = "#4f204f"
}
+-- ef-dream colors
darkTheme =
Colors
- { highlight = "#5d4d7a",
- background = "#292b2e",
- foreground = "#b2b2b2"
+ { highlight = "#d0b0ff",
+ background = "#232025",
+ foreground = "#efd5c5"
}
getColorsFromXtheme :: IO Colors