🚀 rework theming module
This commit is contained in:
parent
cf231cf182
commit
270623ea17
6 changed files with 930 additions and 583 deletions
|
@ -6,12 +6,12 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./theming.nix
|
|
||||||
./nix.nix
|
|
||||||
./bin
|
./bin
|
||||||
./shell.nix
|
|
||||||
./yubikey.nix
|
|
||||||
./email.nix
|
./email.nix
|
||||||
|
./nix.nix
|
||||||
|
./shell.nix
|
||||||
|
./theming
|
||||||
./wallpapers.nix
|
./wallpapers.nix
|
||||||
|
./yubikey.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,553 +0,0 @@
|
||||||
{ config
|
|
||||||
, lib
|
|
||||||
, pkgs
|
|
||||||
, inputs
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.my.theming;
|
|
||||||
schemes = {
|
|
||||||
dracula = {
|
|
||||||
slug = "Dracula";
|
|
||||||
scheme = "Dracula";
|
|
||||||
author = "Moritz Boehme based on Dracula Theme";
|
|
||||||
base00 = "282a36"; # Background
|
|
||||||
base01 = "69ff94"; # Green 2
|
|
||||||
base02 = "ffffa5"; # Yellow 2
|
|
||||||
base03 = "6272a4"; # Black 2
|
|
||||||
base04 = "d6acff"; # Blue 2
|
|
||||||
base05 = "f8f8f2"; # Foreground
|
|
||||||
base06 = "ff92df"; # Magenta 2
|
|
||||||
base07 = "44475a"; # White 2
|
|
||||||
base08 = "ff5555"; # Red 1
|
|
||||||
base09 = "ff6e6e"; # Red 2
|
|
||||||
base0A = "f1fa8c"; # Yellow 1
|
|
||||||
base0B = "50fa7b"; # Green 1
|
|
||||||
base0C = "8be9fd"; # Cyan 1
|
|
||||||
base0D = "bd93f9"; # Blue 1
|
|
||||||
base0E = "ff79c6"; # Magenta 1
|
|
||||||
base0F = "a4ffff"; # Cyan 2
|
|
||||||
};
|
|
||||||
catppuccin = {
|
|
||||||
slug = "Catpuccin";
|
|
||||||
scheme = "Catpuccin";
|
|
||||||
author = "Moritz Boehme based on Catppuccin Theme";
|
|
||||||
base00 = "1e1e2e"; # Background
|
|
||||||
base01 = "abe9b3"; # Green 2
|
|
||||||
base02 = "fae380"; # Yellow 2
|
|
||||||
base03 = "988ba2"; # Black 2
|
|
||||||
base04 = "96cdf8"; # Blue 2
|
|
||||||
base05 = "d9e0ee"; # Foreground
|
|
||||||
base06 = "ddb6f2"; # Magenta 2
|
|
||||||
base07 = "d9e0ee"; # White 2
|
|
||||||
base08 = "f28fad"; # Red 1
|
|
||||||
base09 = "f28fad"; # Red 2
|
|
||||||
base0A = "fae3b0"; # Yellow 1
|
|
||||||
base0B = "abe9b3"; # Green 1
|
|
||||||
base0C = "89dceb"; # Cyan 1
|
|
||||||
base0D = "96cdfb"; # Blue 1
|
|
||||||
base0E = "f5c2e7"; # Magenta 1
|
|
||||||
base0F = "89dceb"; # Cyan 2
|
|
||||||
};
|
|
||||||
nord = {
|
|
||||||
slug = "Nord";
|
|
||||||
scheme = "Nord";
|
|
||||||
author = "arcticicestudio";
|
|
||||||
base00 = "2E3440";
|
|
||||||
base01 = "ECEFF4";
|
|
||||||
base02 = "B48EAD";
|
|
||||||
base03 = "4C566A";
|
|
||||||
base04 = "D8DEE9";
|
|
||||||
base05 = "E5E9F0";
|
|
||||||
base06 = "434C5E";
|
|
||||||
base07 = "8FBCBB";
|
|
||||||
base08 = "BF616A";
|
|
||||||
base09 = "3B4252";
|
|
||||||
base0A = "EBCB8B";
|
|
||||||
base0B = "A3BE8C";
|
|
||||||
base0C = "88C0D0";
|
|
||||||
base0D = "5E81AC";
|
|
||||||
base0E = "D08770";
|
|
||||||
base0F = "81A1C1";
|
|
||||||
};
|
|
||||||
onedark = {
|
|
||||||
slug = "onedark";
|
|
||||||
scheme = "OneDark";
|
|
||||||
author = "Lalit Magant (http://github.com/tilal6991)";
|
|
||||||
base00 = "282c34";
|
|
||||||
base01 = "353b45";
|
|
||||||
base02 = "3e4451";
|
|
||||||
base03 = "545862";
|
|
||||||
base04 = "565c64";
|
|
||||||
base05 = "abb2bf";
|
|
||||||
base06 = "b6bdca";
|
|
||||||
base07 = "c8ccd4";
|
|
||||||
base08 = "e06c75";
|
|
||||||
base09 = "d19a66";
|
|
||||||
base0A = "e5c07b";
|
|
||||||
base0B = "98c379";
|
|
||||||
base0C = "56b6c2";
|
|
||||||
base0D = "61afef";
|
|
||||||
base0E = "c678dd";
|
|
||||||
base0F = "be5046";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.my.theming = {
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
type = types.bool;
|
|
||||||
example = true;
|
|
||||||
};
|
|
||||||
scheme = mkOption {
|
|
||||||
default = "dracula";
|
|
||||||
type = types.enum (builtins.attrNames schemes);
|
|
||||||
apply = name: schemes."${name}";
|
|
||||||
example = "nord";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
inherit (cfg) scheme;
|
|
||||||
home-manager.users.moritz = {
|
|
||||||
programs = {
|
|
||||||
kitty.extraConfig =
|
|
||||||
mkIf config.my.programs.kitty.enable
|
|
||||||
(builtins.readFile (config.scheme {
|
|
||||||
template = ''
|
|
||||||
# Base16 {{scheme-name}} - kitty color config
|
|
||||||
# Scheme by {{scheme-author}}
|
|
||||||
background #{{base00-hex}}
|
|
||||||
foreground #{{base05-hex}}
|
|
||||||
selection_background #{{base05-hex}}
|
|
||||||
selection_foreground #{{base00-hex}}
|
|
||||||
url_color #{{base04-hex}}
|
|
||||||
cursor #{{base03-hex}}
|
|
||||||
active_border_color #{{base03-hex}}
|
|
||||||
inactive_border_color #{{base01-hex}}
|
|
||||||
active_tab_background #{{base00-hex}}
|
|
||||||
active_tab_foreground #{{base05-hex}}
|
|
||||||
inactive_tab_background #{{base01-hex}}
|
|
||||||
inactive_tab_foreground #{{base04-hex}}
|
|
||||||
tab_bar_background #{{base01-hex}}
|
|
||||||
|
|
||||||
# normal
|
|
||||||
color0 #{{base00-hex}}
|
|
||||||
color1 #{{base08-hex}}
|
|
||||||
color2 #{{base0B-hex}}
|
|
||||||
color3 #{{base0A-hex}}
|
|
||||||
color4 #{{base0D-hex}}
|
|
||||||
color5 #{{base0E-hex}}
|
|
||||||
color6 #{{base0C-hex}}
|
|
||||||
color7 #{{base05-hex}}
|
|
||||||
|
|
||||||
# bright
|
|
||||||
color8 #{{base03-hex}}
|
|
||||||
color9 #{{base09-hex}}
|
|
||||||
color10 #{{base01-hex}}
|
|
||||||
color11 #{{base02-hex}}
|
|
||||||
color12 #{{base04-hex}}
|
|
||||||
color13 #{{base06-hex}}
|
|
||||||
color14 #{{base0F-hex}}
|
|
||||||
color15 #{{base07-hex}}
|
|
||||||
'';
|
|
||||||
}));
|
|
||||||
zathura.extraConfig = builtins.readFile (config.scheme {
|
|
||||||
template = ''
|
|
||||||
# Base16 {{scheme-name}}
|
|
||||||
# Author: {{scheme-author}}
|
|
||||||
|
|
||||||
set completion-bg "#{{base00-hex}}"
|
|
||||||
set completion-fg "#{{base05-hex}}"
|
|
||||||
set completion-group-bg "#{{base00-hex}}"
|
|
||||||
set completion-group-fg "#{{base03-hex}}"
|
|
||||||
set completion-highlight-bg "#{{base07-hex}}"
|
|
||||||
set completion-highlight-fg "#{{base06-hex}}"
|
|
||||||
|
|
||||||
set notification-bg "#{{base00-hex}}"
|
|
||||||
set notification-fg "#{{base05-hex}}"
|
|
||||||
set notification-warning-bg "#{{base0A-hex}}"
|
|
||||||
set notification-warning-fg "#{{base05-hex}}"
|
|
||||||
set notification-error-bg "#{{base08-hex}}"
|
|
||||||
set notification-error-fg "#{{base05-hex}}"
|
|
||||||
|
|
||||||
set index-bg "#{{base00-hex}}"
|
|
||||||
set index-fg "#{{base05-hex}}"
|
|
||||||
set index-active-bg "#{{base07-hex}}"
|
|
||||||
set index-active-fg "#{{base05-hex}}"
|
|
||||||
|
|
||||||
set default-bg "#{{base00-hex}}"
|
|
||||||
set default-fg "#{{base05-hex}}"
|
|
||||||
|
|
||||||
set inputbar-bg "#{{base00-hex}}"
|
|
||||||
set inputbar-fg "#{{base0C-hex}}"
|
|
||||||
set statusbar-bg "#{{base00-hex}}"
|
|
||||||
set statusbar-fg "#{{base05-hex}}"
|
|
||||||
|
|
||||||
set highlight-color "#{{base0A-hex}}"
|
|
||||||
set highlight-active-color "#{{base06-hex}}"
|
|
||||||
|
|
||||||
set recolor-lightcolor "#{{base00-hex}}"
|
|
||||||
set recolor-darkcolor "#{{base05-hex}}"
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
rofi.theme = config.scheme {
|
|
||||||
template = ''
|
|
||||||
* {
|
|
||||||
drac-bgd: #{{base00-hex}};
|
|
||||||
drac-cur: #{{base07-hex}};
|
|
||||||
drac-fgd: #{{base05-hex}};
|
|
||||||
drac-cmt: #{{base03-hex}};
|
|
||||||
drac-cya: #{{base0C-hex}};
|
|
||||||
drac-grn: #{{base0B-hex}};
|
|
||||||
drac-ora: #{{base0A-hex}};
|
|
||||||
drac-pnk: #{{base0E-hex}};
|
|
||||||
drac-pur: #{{base0D-hex}};
|
|
||||||
drac-red: #{{base08-hex}};
|
|
||||||
drac-yel: #{{base0A-hex}};
|
|
||||||
|
|
||||||
font: "FiraCode Nerd Font 14";
|
|
||||||
|
|
||||||
foreground: @drac-fgd;
|
|
||||||
background-color: @drac-bgd;
|
|
||||||
active-background: @drac-pnk;
|
|
||||||
urgent-background: @drac-red;
|
|
||||||
|
|
||||||
selected-background: @active-background;
|
|
||||||
selected-urgent-background: @urgent-background;
|
|
||||||
selected-active-background: @active-background;
|
|
||||||
separatorcolor: @active-background;
|
|
||||||
bordercolor: #6272a4;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window {
|
|
||||||
background-color: @background;
|
|
||||||
border: 3;
|
|
||||||
border-radius: 6;
|
|
||||||
border-color: @bordercolor;
|
|
||||||
padding: 25;
|
|
||||||
}
|
|
||||||
#mainbox {
|
|
||||||
border: 0;
|
|
||||||
padding: 5;
|
|
||||||
}
|
|
||||||
#message {
|
|
||||||
border: 1px dash 0px 0px ;
|
|
||||||
border-color: @separatorcolor;
|
|
||||||
padding: 1px ;
|
|
||||||
}
|
|
||||||
#textbox {
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
#listview {
|
|
||||||
fixed-height: 0;
|
|
||||||
border: 2px dash 0px 0px ;
|
|
||||||
border-color: @bordercolor;
|
|
||||||
spacing: 2px ;
|
|
||||||
scrollbar: false;
|
|
||||||
padding: 2px 0px 0px ;
|
|
||||||
}
|
|
||||||
#element-text {
|
|
||||||
border: 0;
|
|
||||||
padding: 1px ;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
#element-text normal.normal {
|
|
||||||
background-color: @background;
|
|
||||||
}
|
|
||||||
#element-text normal.urgent {
|
|
||||||
background-color: @urgent-background;
|
|
||||||
text-color: @urgent-foreground;
|
|
||||||
}
|
|
||||||
#element-text normal.active {
|
|
||||||
backgroundr: @active-background;
|
|
||||||
}
|
|
||||||
#element-text selected.normal {
|
|
||||||
background-color: @selected-background;
|
|
||||||
}
|
|
||||||
#element-text selected.urgent {
|
|
||||||
background-color: @selected-urgent-background;
|
|
||||||
}
|
|
||||||
#element-text selected.active {
|
|
||||||
background-color: @selected-active-background;
|
|
||||||
}
|
|
||||||
#element-text alternate.normal {
|
|
||||||
background-color: @background;
|
|
||||||
}
|
|
||||||
#element-text alternate.urgent {
|
|
||||||
background-color: @urgent-background;
|
|
||||||
}
|
|
||||||
#element-text alternate.active {
|
|
||||||
background-color: @active-background;
|
|
||||||
}
|
|
||||||
#scrollbar {
|
|
||||||
width: 2px ;
|
|
||||||
border: 0;
|
|
||||||
handle-width: 8px ;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
#sidebar {
|
|
||||||
border: 2px dash 0px 0px ;
|
|
||||||
border-color: @separatorcolor;
|
|
||||||
}
|
|
||||||
#button selected {
|
|
||||||
background-color: @selected-background;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
#inputbar {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @foreground;
|
|
||||||
padding: 1px ;
|
|
||||||
}
|
|
||||||
#case-indicator {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
#entry {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @drac-cya;
|
|
||||||
}
|
|
||||||
#prompt {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @drac-grn;
|
|
||||||
}
|
|
||||||
#inputbar {
|
|
||||||
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
|
||||||
}
|
|
||||||
#textbox-prompt-colon {
|
|
||||||
expand: false;
|
|
||||||
str: ":";
|
|
||||||
margin: 0px 0.3em 0em 0em ;
|
|
||||||
text-color: @drac-grn;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
firefox.profiles."default" = {
|
|
||||||
userChrome = with config.scheme; ''
|
|
||||||
toolbar#nav-bar, nav-bar-customization-target {
|
|
||||||
background: #${base00} !important;
|
|
||||||
}
|
|
||||||
@-moz-document url("about:newtab"),
|
|
||||||
@-moz-document url("about:blank") {
|
|
||||||
* { background-color: #${base00} !important; }
|
|
||||||
}
|
|
||||||
#urlbar-background {
|
|
||||||
background-color: #${base00} !important
|
|
||||||
}
|
|
||||||
#urlbar {
|
|
||||||
color: #${base05} !important
|
|
||||||
}
|
|
||||||
#sidebar-splitter {
|
|
||||||
border-color: #${base01} !important;
|
|
||||||
color: #${base01} !important;
|
|
||||||
background-color: #${base01} !important;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
settings = with config.scheme; {
|
|
||||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
||||||
"browser.anchor_color" = "#${base0D}";
|
|
||||||
"browser.visited_color" = "#${base0C}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xsession.windowManager.bspwm = {
|
|
||||||
settings = with config.scheme.withHashtag; {
|
|
||||||
focused_border_color = base0D;
|
|
||||||
normal_border_color = base03;
|
|
||||||
active_border_color = base03;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
services.polybar = {
|
|
||||||
config = with config.scheme.withHashtag; {
|
|
||||||
"bar/bottom" = {
|
|
||||||
# position
|
|
||||||
monitor = "\${env:MONITOR}";
|
|
||||||
bottom = true;
|
|
||||||
width = "100%";
|
|
||||||
heigth = 20;
|
|
||||||
|
|
||||||
background = base00;
|
|
||||||
foreground = base05;
|
|
||||||
|
|
||||||
border-size = 5;
|
|
||||||
border-color = base00;
|
|
||||||
|
|
||||||
separator = " ";
|
|
||||||
|
|
||||||
font-0 = "FiraCode Nerd Font:size=9;0";
|
|
||||||
font-1 = "FiraCode Nerd Font:size=9;1";
|
|
||||||
font-2 = "FiraCode Nerd Font:size=9;2";
|
|
||||||
|
|
||||||
modules-left = "cpu memory network battery";
|
|
||||||
modules-center = "bspwm";
|
|
||||||
modules-right = "pulseaudio date time";
|
|
||||||
|
|
||||||
tray-position = "right";
|
|
||||||
tray-padding = 2;
|
|
||||||
|
|
||||||
wm-restack = "bspwm";
|
|
||||||
|
|
||||||
cursor-click = "pointer";
|
|
||||||
cursor-scroll = "ns-resize";
|
|
||||||
};
|
|
||||||
"module/battery" = {
|
|
||||||
type = "internal/battery";
|
|
||||||
battery = "BATT";
|
|
||||||
adapter = "ACAD";
|
|
||||||
time-format = "%H:%M";
|
|
||||||
|
|
||||||
format-charging = "<animation-charging> <label-charging>";
|
|
||||||
format-discharging = "<animation-discharging> <label-discharging>";
|
|
||||||
format-full = " <label-full>";
|
|
||||||
|
|
||||||
label-charging = "%percentage%% %time% remaining";
|
|
||||||
label-discharging = "%percentage%% %time% remaining";
|
|
||||||
label-full = "Fully charged";
|
|
||||||
|
|
||||||
animation-charging-0 = " ";
|
|
||||||
animation-charging-1 = " ";
|
|
||||||
animation-charging-2 = " ";
|
|
||||||
animation-charging-3 = " ";
|
|
||||||
animation-charging-4 = " ";
|
|
||||||
animation-charging-framerate = 500;
|
|
||||||
|
|
||||||
animation-discharging-0 = " ";
|
|
||||||
animation-discharging-1 = " ";
|
|
||||||
animation-discharging-2 = " ";
|
|
||||||
animation-discharging-3 = " ";
|
|
||||||
animation-discharging-4 = " ";
|
|
||||||
animation-discharging-framerate = 500;
|
|
||||||
};
|
|
||||||
"module/bspwm" = {
|
|
||||||
type = "internal/bspwm";
|
|
||||||
|
|
||||||
label-focused = "";
|
|
||||||
label-focused-foreground = base0E;
|
|
||||||
label-focused-padding = 1;
|
|
||||||
|
|
||||||
label-occupied = "";
|
|
||||||
label-occupied-foreground = base03;
|
|
||||||
label-occupied-padding = 1;
|
|
||||||
|
|
||||||
label-urgent = "";
|
|
||||||
label-urgent-foreground = base08;
|
|
||||||
label-urgent-padding = 1;
|
|
||||||
|
|
||||||
label-empty = "";
|
|
||||||
label-empty-foreground = base03;
|
|
||||||
label-empty-padding = 1;
|
|
||||||
|
|
||||||
label-separator = " ";
|
|
||||||
label-separator-foreground = base0C;
|
|
||||||
label-separator-padding = 1;
|
|
||||||
|
|
||||||
pin-workspaces = true;
|
|
||||||
};
|
|
||||||
"module/cpu" = {
|
|
||||||
type = "internal/cpu";
|
|
||||||
interval = 2;
|
|
||||||
|
|
||||||
format = "<ramp-load><label>";
|
|
||||||
format-foreground = base00;
|
|
||||||
format-background = base0B;
|
|
||||||
format-padding = 1;
|
|
||||||
format-font = 3;
|
|
||||||
|
|
||||||
ramp-load-0 = " ";
|
|
||||||
ramp-load-1 = " ";
|
|
||||||
ramp-load-2 = " ";
|
|
||||||
ramp-load-3 = " ";
|
|
||||||
|
|
||||||
label = "%percentage:2%%";
|
|
||||||
};
|
|
||||||
"module/time" = {
|
|
||||||
type = "internal/date";
|
|
||||||
interval = 1;
|
|
||||||
|
|
||||||
time = "%H:%M";
|
|
||||||
time-alt = "%H:%M:%S";
|
|
||||||
|
|
||||||
label = "%time%";
|
|
||||||
format-prefix = " ";
|
|
||||||
format-prefix-font = 2;
|
|
||||||
format-foreground = base00;
|
|
||||||
format-background = base0C;
|
|
||||||
format-padding = 1;
|
|
||||||
label-font = 3;
|
|
||||||
};
|
|
||||||
"module/date" = {
|
|
||||||
type = "internal/date";
|
|
||||||
interval = 5;
|
|
||||||
|
|
||||||
format = "<label>";
|
|
||||||
format-prefix = " ";
|
|
||||||
format-prefix-font = 2;
|
|
||||||
format-foreground = base00;
|
|
||||||
format-background = base0A;
|
|
||||||
format-padding = 1;
|
|
||||||
format-font = 3;
|
|
||||||
|
|
||||||
date = "%A";
|
|
||||||
date-alt = "%Y-%m-%d";
|
|
||||||
|
|
||||||
label = "%date%";
|
|
||||||
label-font = 3;
|
|
||||||
};
|
|
||||||
"module/memory" = {
|
|
||||||
type = "internal/memory";
|
|
||||||
interval = 2;
|
|
||||||
|
|
||||||
format = "<label>";
|
|
||||||
format-prefix = " ";
|
|
||||||
format-foreground = base00;
|
|
||||||
format-background = base0C;
|
|
||||||
format-padding = 1;
|
|
||||||
format-font = 2;
|
|
||||||
|
|
||||||
label = "%gb_used%";
|
|
||||||
label-font = 3;
|
|
||||||
};
|
|
||||||
"module/pulseaudio" = {
|
|
||||||
type = "internal/pulseaudio";
|
|
||||||
|
|
||||||
format-volume = "<ramp-volume> <label-volume>";
|
|
||||||
label-volume = "%percentage%%";
|
|
||||||
|
|
||||||
format-volume-foreground = base00;
|
|
||||||
format-volume-background = base04;
|
|
||||||
format-volume-padding = 1;
|
|
||||||
format-volume-font = 2;
|
|
||||||
|
|
||||||
label-muted = "%{F${base08}}婢 %{F${base00}}muted";
|
|
||||||
format-muted-foreground = base00;
|
|
||||||
format-muted-background = base04;
|
|
||||||
format-muted-padding = 1;
|
|
||||||
format-muted-font = 2;
|
|
||||||
ramp-volume-0 = "奄";
|
|
||||||
ramp-volume-1 = "奄";
|
|
||||||
ramp-volume-2 = "奔";
|
|
||||||
ramp-volume-3 = "墳";
|
|
||||||
ramp-volume-4 = "墳";
|
|
||||||
|
|
||||||
click-middle = "${pkgs.pavucontrol}/bin/pavucontrol";
|
|
||||||
};
|
|
||||||
"module/network" = {
|
|
||||||
type = "internal/network";
|
|
||||||
interface =
|
|
||||||
builtins.head (builtins.attrNames config.networking.interfaces);
|
|
||||||
interval = 3;
|
|
||||||
format-connected = "<label-connected>";
|
|
||||||
label-connected = "%{T2}祝%{T3} %upspeed% %{T2}%{T3} %downspeed%";
|
|
||||||
|
|
||||||
format-connected-foreground = base00;
|
|
||||||
format-connected-background = base0E;
|
|
||||||
format-connected-padding = 1;
|
|
||||||
format-connected-font = 3;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
361
modules/config/theming/catppuccin.nix
Normal file
361
modules/config/theming/catppuccin.nix
Normal file
|
@ -0,0 +1,361 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.my.theming;
|
||||||
|
|
||||||
|
rosewater = "#f2d5cf";
|
||||||
|
flamingo = "#eebebe";
|
||||||
|
pink = "#f4b8e4";
|
||||||
|
mauve = "#ca9ee6";
|
||||||
|
red = "#e78284";
|
||||||
|
maroon = "#ea999c";
|
||||||
|
peach = "#ef9f76";
|
||||||
|
yellow = "#e5c890";
|
||||||
|
green = "#a6d189";
|
||||||
|
teal = "#81c8be";
|
||||||
|
sky = "#99d1db";
|
||||||
|
sapphire = "#85c1dc";
|
||||||
|
blue = "#8caaee";
|
||||||
|
lavender = "#babbf1";
|
||||||
|
text = "#c6d0f5";
|
||||||
|
subtext1 = "#b5bfe2";
|
||||||
|
subtext0 = "#a5adce";
|
||||||
|
overlay2 = "#949cbb";
|
||||||
|
overlay1 = "#838ba7";
|
||||||
|
overlay0 = "#737994";
|
||||||
|
surface2 = "#626880";
|
||||||
|
surface1 = "#51576d";
|
||||||
|
surface0 = "#414559";
|
||||||
|
base = "#303446";
|
||||||
|
mantle = "#292c3c";
|
||||||
|
crust = "#232634";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf (cfg.scheme == "catppuccin") {
|
||||||
|
home-manager.users.moritz = {
|
||||||
|
programs = {
|
||||||
|
kitty.extraConfig =
|
||||||
|
''
|
||||||
|
# vim:ft=kitty
|
||||||
|
|
||||||
|
## name: Catppuccin-Frappe
|
||||||
|
## author: Pocco81 (https://github.com/Pocco81)
|
||||||
|
## license: MIT
|
||||||
|
## upstream: https://github.com/catppuccin/kitty/blob/main/frappe.conf
|
||||||
|
## blurb: Soothing pastel theme for the high-spirited!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# The basic colors
|
||||||
|
foreground #C6D0F5
|
||||||
|
background #303446
|
||||||
|
selection_foreground #303446
|
||||||
|
selection_background ${rosewater}
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
cursor ${rosewater}
|
||||||
|
cursor_text_color #303446
|
||||||
|
|
||||||
|
# URL underline color when hovering with mouse
|
||||||
|
url_color ${rosewater}
|
||||||
|
|
||||||
|
# Kitty window border colors
|
||||||
|
active_border_color #BABBF1
|
||||||
|
inactive_border_color #737994
|
||||||
|
bell_border_color #E5C890
|
||||||
|
|
||||||
|
# OS Window titlebar colors
|
||||||
|
wayland_titlebar_color system
|
||||||
|
macos_titlebar_color system
|
||||||
|
|
||||||
|
# Tab bar colors
|
||||||
|
active_tab_foreground #232634
|
||||||
|
active_tab_background ${mauve}
|
||||||
|
inactive_tab_foreground #C6D0F5
|
||||||
|
inactive_tab_background #292C3C
|
||||||
|
tab_bar_background #232634
|
||||||
|
|
||||||
|
# Colors for marks (marked text in the terminal)
|
||||||
|
mark1_foreground #303446
|
||||||
|
mark1_background #BABBF1
|
||||||
|
mark2_foreground #303446
|
||||||
|
mark2_background ${mauve}
|
||||||
|
mark3_foreground #303446
|
||||||
|
mark3_background #85C1DC
|
||||||
|
|
||||||
|
# The 16 terminal colors
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #51576D
|
||||||
|
color8 #626880
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 ${red}
|
||||||
|
color9 ${red}
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #A6D189
|
||||||
|
color10 #A6D189
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #E5C890
|
||||||
|
color11 #E5C890
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #8CAAEE
|
||||||
|
color12 #8CAAEE
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 ${pink}
|
||||||
|
color13 ${pink}
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #81C8BE
|
||||||
|
color14 #81C8BE
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #B5BFE2
|
||||||
|
color15 #A5ADCE
|
||||||
|
'';
|
||||||
|
zathura.extraConfig = ''
|
||||||
|
set window-title-basename "true"
|
||||||
|
set selection-clipboard "clipboard"
|
||||||
|
|
||||||
|
set default-fg "#C6D0F5"
|
||||||
|
set default-bg "#303446"
|
||||||
|
|
||||||
|
set completion-bg "#414559"
|
||||||
|
set completion-fg "#C6D0F5"
|
||||||
|
set completion-highlight-bg "#575268"
|
||||||
|
set completion-highlight-fg "#C6D0F5"
|
||||||
|
set completion-group-bg "#414559"
|
||||||
|
set completion-group-fg "#8CAAEE"
|
||||||
|
|
||||||
|
set statusbar-fg "#C6D0F5"
|
||||||
|
set statusbar-bg "#414559"
|
||||||
|
|
||||||
|
set notification-bg "#414559"
|
||||||
|
set notification-fg "#C6D0F5"
|
||||||
|
set notification-error-bg "#414559"
|
||||||
|
set notification-error-fg "${red}"
|
||||||
|
set notification-warning-bg "#414559"
|
||||||
|
set notification-warning-fg "#FAE3B0"
|
||||||
|
|
||||||
|
set inputbar-fg "#C6D0F5"
|
||||||
|
set inputbar-bg "#414559"
|
||||||
|
|
||||||
|
set recolor-lightcolor "#303446"
|
||||||
|
set recolor-darkcolor "#C6D0F5"
|
||||||
|
|
||||||
|
set index-fg "#C6D0F5"
|
||||||
|
set index-bg "#303446"
|
||||||
|
set index-active-fg "#C6D0F5"
|
||||||
|
set index-active-bg "#414559"
|
||||||
|
|
||||||
|
set render-loading-bg "#303446"
|
||||||
|
set render-loading-fg "#C6D0F5"
|
||||||
|
|
||||||
|
set highlight-color "#575268"
|
||||||
|
set highlight-fg "${pink}"
|
||||||
|
set highlight-active-color "${pink}"
|
||||||
|
'';
|
||||||
|
rofi = {
|
||||||
|
theme = "custom";
|
||||||
|
extraConfig = {
|
||||||
|
show-icons = true;
|
||||||
|
terminal = "alacritty";
|
||||||
|
drun-display-format = "{icon} {name}";
|
||||||
|
location = 0;
|
||||||
|
disable-history = false;
|
||||||
|
hide-scrollbar = true;
|
||||||
|
display-drun = " Apps ";
|
||||||
|
display-run = " Run ";
|
||||||
|
display-window = " Window";
|
||||||
|
display-Network = " Network";
|
||||||
|
sidebar-mode = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xsession.windowManager.bspwm = {
|
||||||
|
settings = {
|
||||||
|
focused_border_color = mauve;
|
||||||
|
normal_border_color = base;
|
||||||
|
active_border_color = base;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
dunst.settings = {
|
||||||
|
global = {
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = blue;
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = "frame";
|
||||||
|
};
|
||||||
|
|
||||||
|
urgency_low = {
|
||||||
|
background = base;
|
||||||
|
foreground = text;
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = base;
|
||||||
|
foreground = text;
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
background = base;
|
||||||
|
foreground = text;
|
||||||
|
frame_color = peach;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
polybar = {
|
||||||
|
config = {
|
||||||
|
"bar/bottom" = {
|
||||||
|
background = base;
|
||||||
|
foreground = text;
|
||||||
|
border-color = base;
|
||||||
|
};
|
||||||
|
"module/bspwm" = {
|
||||||
|
label-focused-foreground = pink;
|
||||||
|
label-occupied-foreground = overlay1;
|
||||||
|
label-urgent-foreground = maroon;
|
||||||
|
label-empty-foreground = overlay1;
|
||||||
|
label-separator-foreground = base;
|
||||||
|
};
|
||||||
|
"module/cpu" = {
|
||||||
|
format-foreground = base;
|
||||||
|
format-background = green;
|
||||||
|
};
|
||||||
|
"module/time" = {
|
||||||
|
format-foreground = base;
|
||||||
|
format-background = blue;
|
||||||
|
};
|
||||||
|
"module/date" = {
|
||||||
|
format-foreground = base;
|
||||||
|
format-background = peach;
|
||||||
|
};
|
||||||
|
"module/memory" = {
|
||||||
|
format-foreground = base;
|
||||||
|
format-background = blue;
|
||||||
|
};
|
||||||
|
"module/pulseaudio" = {
|
||||||
|
format-volume-foreground = base;
|
||||||
|
format-volume-background = mauve;
|
||||||
|
label-muted = "%{F${red}}婢 %{F${base}}muted";
|
||||||
|
format-muted-foreground = base;
|
||||||
|
format-muted-background = red;
|
||||||
|
};
|
||||||
|
"module/network" = {
|
||||||
|
format-connected-foreground = base;
|
||||||
|
format-connected-background = mauve;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg.configFile."rofi/custom.rasi".text = ''
|
||||||
|
* {
|
||||||
|
bg-col: #303446;
|
||||||
|
bg-col-light: #303446;
|
||||||
|
border-col: #303446;
|
||||||
|
selected-col: #303446;
|
||||||
|
blue: #8caaee;
|
||||||
|
fg-col: #c6d0f5;
|
||||||
|
fg-col2: ${red};
|
||||||
|
grey: #737994;
|
||||||
|
|
||||||
|
width: 900;
|
||||||
|
font: "JetBrainsMono Nerd Font 14";
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text, element-icon , mode-switcher {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
height: 360px;
|
||||||
|
border: 3px;
|
||||||
|
border-color: @border-col;
|
||||||
|
background-color: @bg-col;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @bg-col;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [prompt,entry];
|
||||||
|
background-color: @bg-col;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
background-color: @blue;
|
||||||
|
padding: 6px;
|
||||||
|
text-color: @bg-col;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin: 20px 0px 0px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: ":";
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
padding: 6px;
|
||||||
|
margin: 20px 0px 0px 10px;
|
||||||
|
text-color: @fg-col;
|
||||||
|
background-color: @bg-col;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
border: 0px 0px 0px;
|
||||||
|
padding: 6px 0px 0px;
|
||||||
|
margin: 10px 0px 0px 20px;
|
||||||
|
columns: 2;
|
||||||
|
lines: 5;
|
||||||
|
background-color: @bg-col;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 5px;
|
||||||
|
background-color: @bg-col;
|
||||||
|
text-color: @fg-col ;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
size: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @selected-col ;
|
||||||
|
text-color: @fg-col2 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
mode-switcher {
|
||||||
|
spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @bg-col-light;
|
||||||
|
text-color: @grey;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
button selected {
|
||||||
|
background-color: @bg-col;
|
||||||
|
text-color: @blue;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
196
modules/config/theming/default.nix
Normal file
196
modules/config/theming/default.nix
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
{ config
|
||||||
|
, lib
|
||||||
|
, pkgs
|
||||||
|
, inputs
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.my.theming;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [ ./dracula.nix ./catppuccin.nix ];
|
||||||
|
|
||||||
|
options.my.theming = {
|
||||||
|
enable = mkOption {
|
||||||
|
default = false;
|
||||||
|
type = types.bool;
|
||||||
|
example = true;
|
||||||
|
};
|
||||||
|
scheme = mkOption {
|
||||||
|
default = "catppuccin";
|
||||||
|
type = types.enum [ "dracula" "catppuccin" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home-manager.users.moritz = {
|
||||||
|
services.polybar = {
|
||||||
|
config = {
|
||||||
|
"bar/bottom" = {
|
||||||
|
# position
|
||||||
|
monitor = "\${env:MONITOR}";
|
||||||
|
bottom = true;
|
||||||
|
width = "100%";
|
||||||
|
heigth = 20;
|
||||||
|
|
||||||
|
border-size = 5;
|
||||||
|
|
||||||
|
separator = " ";
|
||||||
|
|
||||||
|
font-0 = "FiraCode Nerd Font:size=9;0";
|
||||||
|
font-1 = "FiraCode Nerd Font:size=9;1";
|
||||||
|
font-2 = "FiraCode Nerd Font:size=9;2";
|
||||||
|
|
||||||
|
modules-left = "cpu memory network battery";
|
||||||
|
modules-center = "bspwm";
|
||||||
|
modules-right = "pulseaudio date time";
|
||||||
|
|
||||||
|
tray-position = "right";
|
||||||
|
tray-padding = 2;
|
||||||
|
|
||||||
|
wm-restack = "bspwm";
|
||||||
|
|
||||||
|
cursor-click = "pointer";
|
||||||
|
cursor-scroll = "ns-resize";
|
||||||
|
};
|
||||||
|
"module/battery" = {
|
||||||
|
type = "internal/battery";
|
||||||
|
battery = "BATT";
|
||||||
|
adapter = "ACAD";
|
||||||
|
time-format = "%H:%M";
|
||||||
|
|
||||||
|
format-charging = "<animation-charging> <label-charging>";
|
||||||
|
format-discharging = "<animation-discharging> <label-discharging>";
|
||||||
|
format-full = " <label-full>";
|
||||||
|
|
||||||
|
label-charging = "%percentage%% %time% remaining";
|
||||||
|
label-discharging = "%percentage%% %time% remaining";
|
||||||
|
label-full = "Fully charged";
|
||||||
|
|
||||||
|
animation-charging-0 = " ";
|
||||||
|
animation-charging-1 = " ";
|
||||||
|
animation-charging-2 = " ";
|
||||||
|
animation-charging-3 = " ";
|
||||||
|
animation-charging-4 = " ";
|
||||||
|
animation-charging-framerate = 500;
|
||||||
|
|
||||||
|
animation-discharging-0 = " ";
|
||||||
|
animation-discharging-1 = " ";
|
||||||
|
animation-discharging-2 = " ";
|
||||||
|
animation-discharging-3 = " ";
|
||||||
|
animation-discharging-4 = " ";
|
||||||
|
animation-discharging-framerate = 500;
|
||||||
|
};
|
||||||
|
"module/bspwm" = {
|
||||||
|
type = "internal/bspwm";
|
||||||
|
|
||||||
|
label-focused = "";
|
||||||
|
label-focused-padding = 1;
|
||||||
|
|
||||||
|
label-occupied = "";
|
||||||
|
label-occupied-padding = 1;
|
||||||
|
|
||||||
|
label-urgent = "";
|
||||||
|
label-urgent-padding = 1;
|
||||||
|
|
||||||
|
label-empty = "";
|
||||||
|
label-empty-padding = 1;
|
||||||
|
|
||||||
|
label-separator = " ";
|
||||||
|
label-separator-padding = 1;
|
||||||
|
|
||||||
|
pin-workspaces = true;
|
||||||
|
};
|
||||||
|
"module/cpu" = {
|
||||||
|
type = "internal/cpu";
|
||||||
|
interval = 2;
|
||||||
|
|
||||||
|
format = "<ramp-load><label>";
|
||||||
|
format-padding = 1;
|
||||||
|
format-font = 3;
|
||||||
|
|
||||||
|
ramp-load-0 = " ";
|
||||||
|
ramp-load-1 = " ";
|
||||||
|
ramp-load-2 = " ";
|
||||||
|
ramp-load-3 = " ";
|
||||||
|
|
||||||
|
label = "%percentage:2%%";
|
||||||
|
};
|
||||||
|
"module/time" = {
|
||||||
|
type = "internal/date";
|
||||||
|
interval = 1;
|
||||||
|
|
||||||
|
time = "%H:%M";
|
||||||
|
time-alt = "%H:%M:%S";
|
||||||
|
|
||||||
|
label = "%time%";
|
||||||
|
format-prefix = " ";
|
||||||
|
format-prefix-font = 2;
|
||||||
|
format-padding = 1;
|
||||||
|
label-font = 3;
|
||||||
|
};
|
||||||
|
"module/date" = {
|
||||||
|
type = "internal/date";
|
||||||
|
interval = 5;
|
||||||
|
|
||||||
|
format = "<label>";
|
||||||
|
format-prefix = " ";
|
||||||
|
format-prefix-font = 2;
|
||||||
|
format-padding = 1;
|
||||||
|
format-font = 3;
|
||||||
|
|
||||||
|
date = "%A";
|
||||||
|
date-alt = "%Y-%m-%d";
|
||||||
|
|
||||||
|
label = "%date%";
|
||||||
|
label-font = 3;
|
||||||
|
};
|
||||||
|
"module/memory" = {
|
||||||
|
type = "internal/memory";
|
||||||
|
interval = 2;
|
||||||
|
|
||||||
|
format = "<label>";
|
||||||
|
format-prefix = " ";
|
||||||
|
format-padding = 1;
|
||||||
|
format-font = 2;
|
||||||
|
|
||||||
|
label = "%gb_used%";
|
||||||
|
label-font = 3;
|
||||||
|
};
|
||||||
|
"module/pulseaudio" = {
|
||||||
|
type = "internal/pulseaudio";
|
||||||
|
|
||||||
|
format-volume = "<ramp-volume> <label-volume>";
|
||||||
|
label-volume = "%percentage%%";
|
||||||
|
|
||||||
|
format-volume-padding = 1;
|
||||||
|
format-volume-font = 2;
|
||||||
|
|
||||||
|
format-muted-padding = 1;
|
||||||
|
format-muted-font = 2;
|
||||||
|
ramp-volume-0 = "奄";
|
||||||
|
ramp-volume-1 = "奄";
|
||||||
|
ramp-volume-2 = "奔";
|
||||||
|
ramp-volume-3 = "墳";
|
||||||
|
ramp-volume-4 = "墳";
|
||||||
|
|
||||||
|
click-middle = "${pkgs.pavucontrol}/bin/pavucontrol";
|
||||||
|
};
|
||||||
|
"module/network" = {
|
||||||
|
type = "internal/network";
|
||||||
|
interface =
|
||||||
|
builtins.head (builtins.attrNames config.networking.interfaces);
|
||||||
|
interval = 3;
|
||||||
|
format-connected = "<label-connected>";
|
||||||
|
label-connected = "%{T2}祝%{T3} %upspeed% %{T2}%{T3} %downspeed%";
|
||||||
|
|
||||||
|
format-connected-padding = 1;
|
||||||
|
format-connected-font = 3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
366
modules/config/theming/dracula.nix
Normal file
366
modules/config/theming/dracula.nix
Normal file
|
@ -0,0 +1,366 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.my.theming;
|
||||||
|
|
||||||
|
background = "#282a36";
|
||||||
|
currentLine = "#44475a";
|
||||||
|
foreground = "#f8f8f2";
|
||||||
|
comment = "#6272a4";
|
||||||
|
cyan = "#8be9fd";
|
||||||
|
green = "#50fa7b";
|
||||||
|
orange = "#ffb86c";
|
||||||
|
pink = "#ff79c6";
|
||||||
|
purple = "#bd93f9";
|
||||||
|
red = "#ff5555";
|
||||||
|
yellow = "#f1fa8c";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf (cfg.scheme == "dracula") {
|
||||||
|
home-manager.users.moritz = {
|
||||||
|
programs = {
|
||||||
|
kitty.extraConfig =
|
||||||
|
''
|
||||||
|
# https://draculatheme.com/kitty
|
||||||
|
foreground #f8f8f2
|
||||||
|
background #282a36
|
||||||
|
selection_foreground #ffffff
|
||||||
|
selection_background #44475a
|
||||||
|
|
||||||
|
url_color #8be9fd
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #21222c
|
||||||
|
color8 #6272a4
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #ff5555
|
||||||
|
color9 #ff6e6e
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #50fa7b
|
||||||
|
color10 #69ff94
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #f1fa8c
|
||||||
|
color11 #ffffa5
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #bd93f9
|
||||||
|
color12 #d6acff
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #ff79c6
|
||||||
|
color13 #ff92df
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #8be9fd
|
||||||
|
color14 #a4ffff
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #f8f8f2
|
||||||
|
color15 #ffffff
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
cursor #f8f8f2
|
||||||
|
cursor_text_color background
|
||||||
|
|
||||||
|
# Tab bar colors
|
||||||
|
active_tab_foreground #282a36
|
||||||
|
active_tab_background #f8f8f2
|
||||||
|
inactive_tab_foreground #282a36
|
||||||
|
inactive_tab_background #6272a4
|
||||||
|
|
||||||
|
# Marks
|
||||||
|
mark1_foreground #282a36
|
||||||
|
mark1_background #ff5555
|
||||||
|
|
||||||
|
# Splits/Windows
|
||||||
|
active_border_color #f8f8f2
|
||||||
|
inactive_border_color #6272a4
|
||||||
|
'';
|
||||||
|
zathura.extraConfig = ''
|
||||||
|
set window-title-basename "true"
|
||||||
|
set selection-clipboard "clipboard"
|
||||||
|
|
||||||
|
# Dracula color theme for Zathura
|
||||||
|
# Swaps Foreground for Background to get a light version if the user prefers
|
||||||
|
|
||||||
|
#
|
||||||
|
# Dracula color theme
|
||||||
|
#
|
||||||
|
|
||||||
|
set notification-error-bg "#ff5555" # Red
|
||||||
|
set notification-error-fg "#f8f8f2" # Foreground
|
||||||
|
set notification-warning-bg "#ffb86c" # Orange
|
||||||
|
set notification-warning-fg "#44475a" # Selection
|
||||||
|
set notification-bg "#282a36" # Background
|
||||||
|
set notification-fg "#f8f8f2" # Foreground
|
||||||
|
|
||||||
|
set completion-bg "#282a36" # Background
|
||||||
|
set completion-fg "#6272a4" # Comment
|
||||||
|
set completion-group-bg "#282a36" # Background
|
||||||
|
set completion-group-fg "#6272a4" # Comment
|
||||||
|
set completion-highlight-bg "#44475a" # Selection
|
||||||
|
set completion-highlight-fg "#f8f8f2" # Foreground
|
||||||
|
|
||||||
|
set index-bg "#282a36" # Background
|
||||||
|
set index-fg "#f8f8f2" # Foreground
|
||||||
|
set index-active-bg "#44475a" # Current Line
|
||||||
|
set index-active-fg "#f8f8f2" # Foreground
|
||||||
|
|
||||||
|
set inputbar-bg "#282a36" # Background
|
||||||
|
set inputbar-fg "#f8f8f2" # Foreground
|
||||||
|
set statusbar-bg "#282a36" # Background
|
||||||
|
set statusbar-fg "#f8f8f2" # Foreground
|
||||||
|
|
||||||
|
set highlight-color "#ffb86c" # Orange
|
||||||
|
set highlight-active-color "#ff79c6" # Pink
|
||||||
|
|
||||||
|
set default-bg "#282a36" # Background
|
||||||
|
set default-fg "#f8f8f2" # Foreground
|
||||||
|
|
||||||
|
set render-loading true
|
||||||
|
set render-loading-fg "#282a36" # Background
|
||||||
|
set render-loading-bg "#f8f8f2" # Foreground
|
||||||
|
|
||||||
|
#
|
||||||
|
# Recolor mode settings
|
||||||
|
#
|
||||||
|
|
||||||
|
set recolor-lightcolor "#282a36" # Background
|
||||||
|
set recolor-darkcolor "#f8f8f2" # Foreground
|
||||||
|
|
||||||
|
#
|
||||||
|
# Startup options
|
||||||
|
#
|
||||||
|
set adjust-open width
|
||||||
|
set recolor true
|
||||||
|
'';
|
||||||
|
rofi.theme = "dracula";
|
||||||
|
};
|
||||||
|
xsession.windowManager.bspwm = {
|
||||||
|
settings = {
|
||||||
|
focused_border_color = purple;
|
||||||
|
normal_border_color = background;
|
||||||
|
active_border_color = background;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
dunst.settings = {
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#282a36";
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = "frame";
|
||||||
|
|
||||||
|
urgency_low = {
|
||||||
|
background = "#282a36";
|
||||||
|
foreground = "#6272a4";
|
||||||
|
timeout = 10;
|
||||||
|
};
|
||||||
|
urgency_normal = {
|
||||||
|
background = "#282a36";
|
||||||
|
foreground = "#bd93f9";
|
||||||
|
timeout = 10;
|
||||||
|
};
|
||||||
|
urgency_critical = {
|
||||||
|
background = "#ff5555";
|
||||||
|
foreground = "#f8f8f2";
|
||||||
|
timeout = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
polybar = {
|
||||||
|
config = {
|
||||||
|
"bar/bottom" = {
|
||||||
|
inherit background foreground;
|
||||||
|
border-color = background;
|
||||||
|
};
|
||||||
|
"module/bspwm" = {
|
||||||
|
label-focused-foreground = pink;
|
||||||
|
label-occupied-foreground = comment;
|
||||||
|
label-urgent-foreground = red;
|
||||||
|
label-empty-foreground = currentLine;
|
||||||
|
label-separator-foreground = background;
|
||||||
|
};
|
||||||
|
"module/cpu" = {
|
||||||
|
format-foreground = background;
|
||||||
|
format-background = green;
|
||||||
|
};
|
||||||
|
"module/time" = {
|
||||||
|
format-foreground = background;
|
||||||
|
format-background = cyan;
|
||||||
|
};
|
||||||
|
"module/date" = {
|
||||||
|
format-foreground = background;
|
||||||
|
format-background = yellow;
|
||||||
|
};
|
||||||
|
"module/memory" = {
|
||||||
|
format-foreground = background;
|
||||||
|
format-background = cyan;
|
||||||
|
};
|
||||||
|
"module/pulseaudio" = {
|
||||||
|
format-volume-foreground = background;
|
||||||
|
format-volume-background = purple;
|
||||||
|
label-muted = "%{F${red}}婢 %{F${background}}muted";
|
||||||
|
format-muted-foreground = background;
|
||||||
|
format-muted-background = red;
|
||||||
|
};
|
||||||
|
"module/network" = {
|
||||||
|
format-connected-foreground = background;
|
||||||
|
format-connected-background = purple;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg.configFile."rofi/dracula.rasi".text = ''
|
||||||
|
* {
|
||||||
|
/* Dracula theme colour palette */
|
||||||
|
drac-bgd: #282a36;
|
||||||
|
drac-cur: #44475a;
|
||||||
|
drac-fgd: #f8f8f2;
|
||||||
|
drac-cmt: #6272a4;
|
||||||
|
drac-cya: #8be9fd;
|
||||||
|
drac-grn: #50fa7b;
|
||||||
|
drac-ora: #ffb86c;
|
||||||
|
drac-pnk: #ff79c6;
|
||||||
|
drac-pur: #bd93f9;
|
||||||
|
drac-red: #ff5555;
|
||||||
|
drac-yel: #f1fa8c;
|
||||||
|
|
||||||
|
font: "FiraCode Nerd Font Mono 13";
|
||||||
|
|
||||||
|
foreground: @drac-fgd;
|
||||||
|
background-color: @drac-bgd;
|
||||||
|
active-background: @drac-pnk;
|
||||||
|
urgent-foreground: @foreground;
|
||||||
|
urgent-background: @drac-red;
|
||||||
|
|
||||||
|
selected-background: @active-background;
|
||||||
|
selected-urgent-background: @urgent-background;
|
||||||
|
selected-active-background: @active-background;
|
||||||
|
separatorcolor: @active-background;
|
||||||
|
bordercolor: #6272a4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background-color: @background-color;
|
||||||
|
border: 3;
|
||||||
|
border-radius: 6;
|
||||||
|
border-color: @bordercolor;
|
||||||
|
padding: 5;
|
||||||
|
}
|
||||||
|
#mainbox {
|
||||||
|
border: 0;
|
||||||
|
padding: 5;
|
||||||
|
}
|
||||||
|
#message {
|
||||||
|
border: 1px dash 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
#textbox {
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#listview {
|
||||||
|
fixed-height: 0;
|
||||||
|
border: 2px dash 0px 0px ;
|
||||||
|
border-color: @bordercolor;
|
||||||
|
spacing: 2px ;
|
||||||
|
scrollbar: false;
|
||||||
|
padding: 2px 0px 0px ;
|
||||||
|
}
|
||||||
|
#element {
|
||||||
|
border: 0;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
#element.normal.normal {
|
||||||
|
background-color: @background-color;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.normal.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @urgent-foreground;
|
||||||
|
}
|
||||||
|
#element.normal.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
text-color: @background-color;
|
||||||
|
}
|
||||||
|
#element.selected.normal {
|
||||||
|
background-color: @selected-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.selected.urgent {
|
||||||
|
background-color: @selected-urgent-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.selected.active {
|
||||||
|
background-color: @selected-active-background;
|
||||||
|
text-color: @background-color;
|
||||||
|
}
|
||||||
|
#element.alternate.normal {
|
||||||
|
background-color: @background-color;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.alternate.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#element.alternate.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#scrollbar {
|
||||||
|
width: 2px ;
|
||||||
|
border: 0;
|
||||||
|
handle-width: 8px ;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
#sidebar {
|
||||||
|
border: 2px dash 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
}
|
||||||
|
#button.selected {
|
||||||
|
background-color: @selected-background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#inputbar {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @foreground;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
#case-indicator {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
#entry {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @drac-cya;
|
||||||
|
}
|
||||||
|
#prompt {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @drac-grn;
|
||||||
|
}
|
||||||
|
#inputbar {
|
||||||
|
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||||
|
}
|
||||||
|
#textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: ":";
|
||||||
|
margin: 0px 0.3em 0em 0em ;
|
||||||
|
text-color: @drac-grn;
|
||||||
|
}
|
||||||
|
element-text, element-icon {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -87,17 +87,6 @@ in
|
||||||
# Set to 0 to disable.
|
# Set to 0 to disable.
|
||||||
frame_width = 0;
|
frame_width = 0;
|
||||||
|
|
||||||
# Defines color of the frame around the notification window.
|
|
||||||
frame_color = "#282a36";
|
|
||||||
|
|
||||||
# Define a color for the separator.
|
|
||||||
# possible values are:
|
|
||||||
# * auto: dunst tries to find a color fitting to the background;
|
|
||||||
# * foreground: use the same color as the foreground;
|
|
||||||
# * frame: use the same color as the frame;
|
|
||||||
# * anything else will be interpreted as a X color.
|
|
||||||
separator_color = "frame";
|
|
||||||
|
|
||||||
# Sort messages by urgency.
|
# Sort messages by urgency.
|
||||||
sort = "yes";
|
sort = "yes";
|
||||||
|
|
||||||
|
@ -283,21 +272,9 @@ in
|
||||||
mouse_middle_click = "do_action, close_current";
|
mouse_middle_click = "do_action, close_current";
|
||||||
mouse_right_click = "close_all";
|
mouse_right_click = "close_all";
|
||||||
};
|
};
|
||||||
urgency_low = {
|
urgency_low.timeout = 10;
|
||||||
background = "#282a36";
|
urgency_normal.timeeout = 10;
|
||||||
foreground = "#6272a4";
|
urgency_critical.timeout = 0;
|
||||||
timeout = 10;
|
|
||||||
};
|
|
||||||
urgency_normal = {
|
|
||||||
background = "#282a36";
|
|
||||||
foreground = "#bd93f9";
|
|
||||||
timeout = 10;
|
|
||||||
};
|
|
||||||
urgency_critical = {
|
|
||||||
background = "#ff5555";
|
|
||||||
foreground = "#f8f8f2";
|
|
||||||
timeout = 0;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue