pinwheel: Replace purple color scheme with grayscale and amber

Terminals, tmux and Emacs share a grayscale palette with amber
accents instead of Dracula, and the desktop bars and menus use a
matching gray background.
This commit is contained in:
Alexander Heldt committed 2026-11-03 09:28:12 +01:00
1 parent 79df296690
commit 4a1f524864
7 files changed
+140 -13

No files matched your search

+37 -4
View File
@@ -1,12 +1,45 @@
let
bar = "2c2c2c";
in
{
lib = {
colors = {
foreground = "bd93f9";
foreground-dim = "644294";
background = "1E1E2F";
foreground = "ffb347";
foreground-dim = "8a5a20";
background = bar;
gray = "3a3a3a";
warning = "ff6969";
warning = "e0473c";
terminal = {
foreground = "e8e8e8";
background = "1b1b1b";
cursor = "b8843a";
selection = "4a3820";
status = bar;
regular = [
"181818" # black
"e0473c" # red
"f4f4f4" # green
"b8904a" # yellow
"8a8a8a" # blue
"a05048" # magenta
"9e9e9e" # cyan
"e8e8e8" # white
];
bright = [
"5a5a5a" # black
"ff5f52" # red
"ffffff" # green
"d8b070" # yellow
"aaaaaa" # blue
"c06058" # magenta
"bebebe" # cyan
"fafafa" # white
];
};
};
};
}
+1 -1
View File
@@ -159,7 +159,7 @@
** Theme
#+BEGIN_SRC emacs-lisp
(use-package doom-themes
:init (load-theme 'doom-dracula t))
:config (load-theme 'doom-submarine t))
#+END_SRC
** Disable the menu bar
#+BEGIN_SRC emacs-lisp
+2
View File
@@ -35,6 +35,8 @@ in
TIG_EDITOR = "${e}/bin/e $@";
};
home.file.".emacs.d/doom-submarine-theme.el".source = ./doom-submarine-theme.el;
home.packages = [
e
ec
@@ -0,0 +1,63 @@
;;; doom-submarine-theme.el --- Grayscale with amber accents, like a submarine at night -*- lexical-binding: t; no-byte-compile: t; -*-
(require 'doom-themes)
(def-doom-theme doom-submarine
"Grayscale with amber accents, like a submarine at night."
((bg '("#1b1b1b" nil nil))
(bg-alt '("#181818" nil nil))
(base0 '("#121212" nil nil))
(base1 '("#181818" nil nil))
(base2 '("#242424" nil nil))
(base3 '("#2c2c2c" nil nil))
(base4 '("#404040" nil nil))
(base5 '("#626262" nil nil))
(base6 '("#858585" nil nil))
(base7 '("#a0a0a0" nil nil))
(base8 '("#f4f4f4" nil nil))
(fg '("#e8e8e8" nil nil))
(fg-alt '("#9a9a9a" nil nil))
(grey base5)
(red '("#e0473c" nil nil))
(orange '("#ffb347" nil nil))
(green '("#f4f4f4" nil nil))
(teal '("#aaaaaa" nil nil))
(yellow '("#ffb347" nil nil))
(blue '("#aaaaaa" nil nil))
(dark-blue '("#7a7a7a" nil nil))
(magenta '("#b05048" nil nil))
(violet '("#9a9a9a" nil nil))
(cyan '("#bebebe" nil nil))
(dark-cyan '("#8a8a8a" nil nil))
(highlight orange)
(vertical-bar base3)
(selection base3)
(builtin fg)
(comments base5)
(doc-comments base6)
(constants yellow)
(functions base8)
(keywords orange)
(methods base8)
(operators fg-alt)
(type fg)
(strings base7)
(variables fg)
(numbers yellow)
(region '("#4a3820" nil nil))
(error red)
(warning red)
(success green)
(vc-modified base6)
(vc-added green)
(vc-deleted red)
(modeline-fg fg)
(modeline-fg-alt base6)
(modeline-bg base2)
(modeline-bg-alt bg-alt)
(modeline-bg-inactive bg-alt)
(modeline-bg-inactive-l bg-alt)))
;;; doom-submarine-theme.el ends here
+13 -1
View File
@@ -8,6 +8,9 @@ let
enabled = config.mod.foot.enable;
hyprlandEnabled = config.mod.hyprland.enable;
colors = config.lib.colors.terminal;
indexed = prefix: list: lib.listToAttrs (lib.imap0 (i: c: lib.nameValuePair "${prefix}${toString i}" c) list);
in
{
options = {
@@ -25,8 +28,17 @@ in
main = {
term = "xterm-256color";
font = "JetBrainsMono Nerd Font:size=15";
include = "${pkgs.foot.themes}/share/foot/themes/dracula";
};
colors-dark = {
foreground = colors.foreground;
background = colors.background;
cursor = "${colors.background} ${colors.cursor}";
selection-foreground = colors.foreground;
selection-background = colors.selection;
}
// indexed "regular" colors.regular
// indexed "bright" colors.bright;
};
};
+10 -6
View File
@@ -1,4 +1,8 @@
{ pkgs, config, ... }:
let
colors = config.lib.colors.terminal;
dim = builtins.elemAt colors.bright 0;
in
{
home-manager.users.alex = {
programs.tmux = {
@@ -26,18 +30,18 @@
set -g set-clipboard on
# Status line colors
set -g status-fg '#${config.lib.colors.foreground}'
set -g status-bg '#${config.lib.colors.background}'
set -g status-fg '#${colors.foreground}'
set -g status-bg '#${colors.status}'
# Remove date/time etc. on the right side
set -g status-right ""
# Status window colors
set -g window-status-current-style bg='#${config.lib.colors.background}',fg='#${config.lib.colors.foreground}'
set -g window-status-style bg='#${config.lib.colors.background}',fg='#${config.lib.colors.foreground-dim}'
set -g window-status-current-style bg='#${colors.status}',fg='#${colors.cursor}'
set -g window-status-style bg='#${colors.status}',fg='#${dim}'
set -g pane-border-style fg='#${config.lib.colors.background}'
set -g pane-active-border-style fg='#${config.lib.colors.background}'
set -g pane-border-style fg='#${colors.background}'
set -g pane-active-border-style fg='#${colors.background}'
set -g pane-border-lines "heavy"
# Remove accidental `suspend-client` triggers
+14 -1
View File
@@ -8,6 +8,9 @@ let
enabled = config.mod.wezterm.enable;
hyprlandEnabled = config.mod.hyprland.enable;
colors = config.lib.colors.terminal;
luaList = list: "{ " + lib.concatMapStringsSep ", " (c: "'#${c}'") list + " }";
in
{
options = {
@@ -27,7 +30,17 @@ in
local config = wezterm.config_builder()
config.color_scheme = 'Dracula (Official)'
config.colors = {
foreground = '#${colors.foreground}',
background = '#${colors.background}',
cursor_bg = '#${colors.cursor}',
cursor_border = '#${colors.cursor}',
cursor_fg = '#${colors.background}',
selection_bg = '#${colors.selection}',
selection_fg = '#${colors.foreground}',
ansi = ${luaList colors.regular},
brights = ${luaList colors.bright},
}
config.font = wezterm.font 'JetBrainsMono Nerd Font'
-- to get "perfect" scaling to the right