🚀 rework theming module
This commit is contained in:
parent
cf231cf182
commit
270623ea17
6 changed files with 930 additions and 583 deletions
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;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue