tons of theme tweaks, +gruvbox

This commit is contained in:
Reid 2026-04-22 21:32:27 -07:00
parent 80d22a470a
commit 2ad77494b2
Signed by: reidlab
GPG key ID: DAF5EAF6665839FD
30 changed files with 410 additions and 371 deletions

View file

@ -4,14 +4,16 @@ with lib;
let
cfg = config.modules.desktop.themes;
accent = "pink";
accentBase = "base17";
variant = "mocha";
dark = variant != "latte";
colorScheme = inputs.nix-colors.colorSchemes.${"catppuccin-${variant}"};
darkString = if dark then "dark" else "light";
scheme = "${inputs.tt-schemes}/base24/catppuccin-${variant}.yaml";
pascalCase = s: (toUpper (substring 0 1 s)) + (toLower (substring 1 (stringLength s) s));
in {
config = mkIf (cfg.active == "catppuccin") {
colorScheme = colorScheme;
scheme = scheme;
modules.desktop.themes = {
dark = dark;
@ -35,14 +37,13 @@ in {
};
iconTheme = {
name = "WhiteSur-${if dark then "dark" else "light"}";
name = "WhiteSur-${darkString}";
package = pkgs.whitesur-icon-theme;
};
cursorTheme = {
name = "graphite-${if dark then "dark" else "light"}";
package = pkgs.graphite-cursors;
size = 24;
name = "macOS";
package = pkgs.apple-cursor;
};
editor = {
@ -68,36 +69,24 @@ in {
};
};
niri = with colorScheme.palette; {
# TODO: make more dynamic
# catppuccin pink
accent = "#f5c2e7";
inactive = "#${base02}";
# catppuccin crust
shadow = "#11111b";
# catppuccin crust
background = "#11111b";
niri = let
colors = config.scheme.withHashtag;
in with colors; {
accent = colors.${accentBase};
inactive = "${base02}";
shadow = "${base11}";
background = if dark then "${base11}" else "${base05}";
};
waybar = builtins.concatStringsSep "\n" [
"@import \"${inputs.waybar-catppuccin}/themes/${variant}.css\";"
"@define-color accent @${accent};"
(lib.readFile ./waybar.css)
];
waybarTop = "@define-color accent @${accentBase};";
wob = with colorScheme.palette; {
wob = with config.scheme; {
borderColor = "${base04}FF";
backgroundColor = "${base01}CC";
barColor = "${base05}FF";
};
rofi = builtins.concatStringsSep "\n" [
"@theme \"${inputs.rofi-catppuccin}/themes/catppuccin-${variant}.rasi\""
"* { accent: @${accent}; }"
(lib.readFile ./rofi.rasi)
];
fuzzel = "${inputs.fuzzel-catppuccin}/themes/catppuccin-${variant}/${accent}.ini";
rofiTop = "* { accent: @${accentBase}; }";
wezterm = ''
config.color_scheme = 'Catppuccin ${pascalCase variant}'

View file

@ -1,90 +0,0 @@
* {
width: 450px;
}
element-text, element-icon , mode-switcher {
background-color: inherit;
text-color: inherit;
}
window {
height: 500px;
border: 1px;
border-radius: 1em;
border-color: @accent;
background-color: @base;
}
mainbox {
background-color: @base;
}
inputbar {
margin: 10px 5px 5px 5px;
children: [prompt, entry];
background-color: @base;
padding: 1px;
}
prompt {
background-color: transparent;
padding: 1px;
text-color: @text;
border-radius: 1.5em;
}
textbox-prompt-colon {
expand: true;
str: ":";
}
entry {
padding: 1px;
margin: 0px;
text-color: @text;
background-color: @base;
}
listview {
border: 0px 0px 0px;
margin: 5px 0px 0px 10px;
columns: 1;
lines: 10;
background-color: @base;
}
element {
padding: 1px;
background-color: @base;
text-color: @text;
}
element-icon {size: 12px;}
element.selected {
background-color: @surface1;
text-color: @accent;
}
scrollbar {
width: 4px ;
border: 0;
handle-color: @text;
handle-width: 8px ;
padding: 0;
}
mode-switcher {spacing: 0;}
button {
spacing: 0;
background-color: @surface0;
text-color: @subtext1;
vertical-align: 0.5;
horizontal-align: 0.5;
}
button.selected {
background-color: @base;
text-color: @accent;
}

View file

@ -1,238 +0,0 @@
* {
border: none;
border-radius: 0px;
min-height: 0;
}
button, button:hover {
box-shadow: none; /* undo default styles */
}
window#waybar {
color: @text;
background: alpha(@base, 0.9999999);
border-radius: 1em;
font-family: "CozetteVector", monospace, "FontAwesome 6 Free", "Noto Sans CJK";
font-size: 13px;
font-style: normal;
border: 1px solid @surface0;
}
#workspaces, .modules-right box {
background-color: @surface0;
margin: 0 0.25em;
padding: 0.15em 0.25em;
border-radius: 1em;
}
.modules-right label.module {
margin: 0 0.5em;
}
.modules-right box {
padding: 0.15em 0.4em;
}
.modules-left, .modules-right {
margin: 0.4em 0.5em;
}
#workspaces {
background-color: @surface0;
padding: 0;
}
#workspaces button {
background-color: transparent;
color: @text;
padding: 0 0.4em;
transition: none;
}
#workspaces button:nth-child(1) {
border-top-left-radius: 1em;
border-bottom-left-radius: 1em;
}
#workspaces button:nth-last-child(1) {
border-top-right-radius: 1em;
border-bottom-right-radius: 1em;
}
#workspaces button.empty {
color: @overlay1;
}
#workspaces button.visible {
background: @surface1;
}
#workspaces button.focused {
box-shadow: none;
}
#workspaces button.active {
background: @accent;
color: @surface0;
}
#workspaces button:hover {
background: rgba(255, 255, 255, 0.1);
color: @text;
box-shadow: none;
}
#workspaces button.active:hover {
background: @accent;
color: @surface0;
}
#workspaces button.urgent {
background: @red;
color: @surface0;
}
#window {
background: transparent;
}
window#waybar.floating #window {
color: @pink;
}
#clock {
color: @lavender;
}
#power-profiles-daemon {
color: @teal;
}
#cpu, #network {
color: @sapphire;
}
#network.disabled, #network.disconnected {
color: @overlay1;
}
@keyframes blink {
to {
color: @text;
}
}
#memory {
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
color: @lavender;
}
#memory.warning {
color: @peach;
animation-name: blink;
animation-duration: 3s;
}
#memory.critical {
color: @maroon;
animation-name: blink;
animation-duration: 2s;
}
#battery {
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
color: @green;
}
/* this here is ditto */
#battery.charging {
color: @green;
}
#battery.warning.discharging {
color: @peach;
animation-name: blink;
animation-duration: 3s;
}
#battery.critical.discharging {
color: @maroon;
animation-name: blink;
animation-duration: 2s;
}
#backlight, #custom-weather {
color: @yellow;
}
#pulseaudio {
color: @pink;
}
#pulseaudio.muted {
color: @overlay1;
}
#custom-power {
color: @red;
}
#custom-wallpaper, #custom-rgb {
color: @overlay1;
}
#privacy {
margin: 0 0.25em;
padding: 0;
}
#privacy-item {
padding: 0 1px;
color: @text;
}
box#playback {
background-color: transparent;
margin: 0 0;
padding: 0 0;
}
#mpris {
background-color: @surface0;
margin: 0 0.25em;
padding: 0.15em 0.5em;
border-radius: 1em;
}
#mpris.playing {
color: @accent;
background: @surface0;
}
#mpris.paused, #mpris.stopped {
color: @overlay1;
}
window decoration {
box-shadow: none;
}
tooltip, window.popup menu {
background: @base;
border: 1px solid @surface2;
font-size: 12px;
color: @text;
}
tooltip *, window.popup {
font-family: CozetteVector, monospace;
}
tooltip * {
padding: 0px;
margin: 0px;
color: @text;
}
window.popup separator {
background-color: @surface0;
}
window.popup menuitem:disabled {
color: @overlay1;
}
window.popup menuitem:hover {
background-color: @accent;
color: @surface0;
}
window.popup menuitem:hover > box {
background-color: transparent;
}