feat: dank themes module

This commit is contained in:
Nick 2025-01-14 20:28:48 -06:00
parent de0e79f326
commit 4f61cbcccc
4 changed files with 457 additions and 236 deletions

View file

@ -74,11 +74,18 @@ let
schemePath = ./schemes; schemePath = ./schemes;
mkThemeMap = themes: themeColours:
if currentTheme == builtins.head themes
then builtins.head themeColours
else if themes == []
then throw errorMessage
else mkThemeMap (builtins.tail themes) (builtins.tail themeColours);
mapColour = mapColour =
# Ayu # Ayu
ayu-darkColour: ayu-lightColour: ayu-mirageColour: ayu-darkColour: ayu-lightColour: ayu-mirageColour:
# Catppuccin # Catppuccin
catppuccin-latteColour: catppuccin-frappeColour: catppuccin-macchiatoColour: catppuccin-mochaColour: catppuccin-frappeColour: catppuccin-latteColour: catppuccin-macchiatoColour: catppuccin-mochaColour:
# Cobalt2 # Cobalt2
cobalt2Colour: cobalt2Colour:
# Dracula # Dracula
@ -121,121 +128,147 @@ let
vesperColour: vesperColour:
# Wasp # Wasp
waspColour: waspColour:
# Ayu mkThemeMap [
if currentTheme == ayu-dark # Ayu
then ayu-darkColour ayu-dark
else if currentTheme == ayu-light ayu-light
then ayu-lightColour ayu-mirage
else if currentTheme == ayu-mirage # Catppuccin
then ayu-mirageColour catppuccin-frappe
# Catppuccin catppuccin-latte
else if currentTheme == catppuccin-mocha catppuccin-macchiato
then catppuccin-mochaColour catppuccin-mocha
else if currentTheme == catppuccin-macchiato # Cobalt2
then catppuccin-macchiatoColour cobalt2
else if currentTheme == catppuccin-frappe # Dracula
then catppuccin-frappeColour dracula
else if currentTheme == catppuccin-latte # Gruvbox
then catppuccin-latteColour gruvbox-dark
else if currentTheme == cobalt2 gruvbox-light
then cobalt2Colour # Houston
# Dracula houston
else if currentTheme == dracula # Kanagawa
then draculaColour kanagawa-dragon
#Gruvbox kanagawa-lotus
else if currentTheme == gruvbox-dark kanagawa-wave
then gruvbox-darkColour # Laserwave
else if currentTheme == gruvbox-light laserwave
then gruvbox-lightColour # Lunar
# Houston lunar
else if currentTheme == houston # Material
then houstonColour material-darker
# Kanagawa material-deep-ocean
else if currentTheme == kanagawa-dragon material-forest
then kanagawa-dragonColour material-lighter
else if currentTheme == kanagawa-lotus material-oceanic
then kanagawa-lotusColour material-palenight
else if currentTheme == kanagawa-wave material-sandy-beach
then kanagawa-waveColour material-sky-blue
# Laserwave material-space
else if currentTheme == laserwave material-volcano
then laserwaveColour # Monokai
# Lunar monokai
else if currentTheme == lunar # Night Owl
then lunarColour night-owl
# Material # Nord
else if currentTheme == material-darker nord
then material-darkerColour # Ocean Next
else if currentTheme == material-deep-ocean ocean-next
then material-deep-oceanColour # One Dark
else if currentTheme == material-forest one-dark
then material-forestColour # Plastic
else if currentTheme == material-lighter plastic
then material-lighterColour # Poimandres
else if currentTheme == material-oceanic poimandres-base
then material-oceanicColour poimandres-storm
else if currentTheme == material-palenight # Rosepine
then material-palenightColour rosepine
else if currentTheme == material-sandy-beach rosepine-moon
then material-sandy-beachColour rosepine-dawn
else if currentTheme == material-sky-blue # Tokyo Night
then material-sky-blueColour tokyo-night-night
else if currentTheme == material-space tokyo-night-storm
then material-spaceColour tokyo-night-day
else if currentTheme == material-volcano # Solorized
then material-volcanoColour solorized-dark
# Monokai solorized-light
else if currentTheme == monokai # Synthwave 84
then monokaiColour synthwave-84
# Night Owl # Vesper
else if currentTheme == night-owl vesper
then night-owlColour # Wasp
# Nord wasp
else if currentTheme == nord ] [
then nordColour # Ayu
# Ocean Next ayu-darkColour
else if currentTheme == ocean-next ayu-lightColour
then ocean-nextColour ayu-mirageColour
# One Dark # Catppuccin
else if currentTheme == one-dark catppuccin-frappeColour
then one-darkColour catppuccin-latteColour
# Plastic catppuccin-macchiatoColour
else if currentTheme == plastic catppuccin-mochaColour
then plasticColour # Cobalt2
# Poimandres cobalt2Colour
else if currentTheme == poimandres-base # Dracula
then poimandres-baseColour draculaColour
else if currentTheme == poimandres-storm # Gruvbox
then poimandres-stormColour gruvbox-darkColour
# Rosepine gruvbox-lightColour
else if currentTheme == rosepine # Houston
then rosepineColour houstonColour
else if currentTheme == rosepine-moon # Kanagawa
then rosepine-moonColour kanagawa-dragonColour
else if currentTheme == rosepine-dawn kanagawa-lotusColour
then rosepine-dawnColour kanagawa-waveColour
# Solorized # Laserwave
else if currentTheme == solorized-dark laserwaveColour
then solorized-darkColour # Lunar
else if currentTheme == solorized-light lunarColour
then solorized-lightColour # Material
# Synthwave 84 material-darkerColour
else if currentTheme == synthwave-84 material-deep-oceanColour
then synthwave-84Colour material-forestColour
# Tokyo Night material-lighterColour
else if currentTheme == tokyo-night-night material-oceanicColour
then tokyo-night-nightColor material-palenightColour
else if currentTheme == tokyo-night-storm material-sandy-beachColour
then tokyo-night-stormColor material-sky-blueColour
else if currentTheme == tokyo-night-day material-spaceColour
then tokyo-night-dayColor material-volcanoColour
# Vesper # Monokai
else if currentTheme == vesper monokaiColour
then vesperColour # Night Owl
# Wasp night-owlColour
else if currentTheme == wasp # Nord
then waspColour nordColour
else throw errorMessage; # Ocean Next
ocean-nextColour
# One Dark
one-darkColour
# Plastic
plasticColour
# Poimandres
poimandres-baseColour
poimandres-stormColour
# Rosepine
rosepineColour
rosepine-moonColour
rosepine-dawnColour
# Tokyo Night
tokyo-night-nightColor
tokyo-night-stormColor
tokyo-night-dayColor
# Solorized
solorized-darkColour
solorized-lightColour
# Synthwave 84
synthwave-84Colour
# Vesper
vesperColour
# Wasp
waspColour
];
in { in {
themes = { themes = {
currentTheme = currentTheme; currentTheme = currentTheme;
@ -301,152 +334,358 @@ in {
# Core Text Colours # Core Text Colours
text = text =
mapColour mapColour
"text" # catppuccin-frappe
"text" # catppuccin-latte
"text" # catppuccin-macchiato "text" # catppuccin-macchiato
"text" # catppuccin-mocha
"text" # rosepine "text" # rosepine
"foreground"; #dracula "foreground"; # dracula
subtext1 =
mapColour
"subtext1"
"subtle"
"foreground";
subtext0 = subtext0 =
mapColour mapColour
"subtext0" "subtext0" # catppuccin-frappe
"muted"
"foreground"; "subtext0" # catppuccin-latte
"subtext0" # catppuccin-macchiato
"subtext0" # catppuccin-mocha
"muted" # rosepine
"foreground"; # dracula
subtext1 =
mapColour
"subtext1" # catppuccin-frappe
"subtext1" # catppuccin-latte
"subtext1" # catppuccin-macchiato
"subtext1" # catppuccin-mocha
"subtle" # rosepine
"foreground"; # dracula
# Background Colours # Background Colours
background0 = background0 =
mapColour mapColour
"crust" "crust" # catppuccin-frappe
"highlight0"
"background"; "crust" # catppuccin-latte
"crust" # catppuccin-macchiato
"crust" # catppuccin-mocha
"highlight0" # rosepine
"background"; # dracula
background1 = background1 =
mapColour mapColour
"base" "base" # catppuccin-frappe
"base"
"background"; "base" # catppuccin-latte
"base" # catppuccin-macchiato
"base" # catppuccin-mocha
"base" # rosepine
"background"; # dracula
background2 = background2 =
mapColour mapColour
"mantle" "mantle" # catppuccin-frappe
"surface"
"background"; "mantle" # catppuccin-latte
"mantle" # catppuccin-macchiato
"mantle" # catppuccin-mocha
"surface" # rosepine
"background"; # dracula
# Surface Colours # Surface Colours
surface0 = surface0 =
mapColour mapColour
"surface0" "surface0" # catppuccin-frappe
"highlight0"
"background"; "surface0" # catppuccin-latte
"surface0" # catppuccin-macchiato
"surface0" # catppuccin-mocha
"highlight0" # rosepine
"background"; # dracula
surface1 = surface1 =
mapColour mapColour
"surface1" "surface1" # catppuccin-frappe
"highlight1"
"background"; "surface1" # catppuccin-latte
"surface1" # catppuccin-macchiato
"surface1" # catppuccin-mocha
"highlight1" # rosepine
"background"; # dracula
surface2 = surface2 =
mapColour mapColour
"surface2" "surface2" # catppuccin-frappe
"highlight2"
"background"; "surface2" # catppuccin-latte
"surface2" # catppuccin-macchiato
"surface2" # catppuccin-mocha
"highlight2" # rosepine
"background"; # dracula
# Overlay Colours # Overlay Colours
overlay0 = overlay0 =
mapColour mapColour
"overlay0" "overlay0" # catppuccin-frappe
"muted"
"background"; "overlay0" # catppuccin-latte
"overlay0" # catppuccin-macchiato
"overlay0" # catppuccin-mocha
"muted" # rosepine
"background"; # dracula
overlay1 = overlay1 =
mapColour mapColour
"overlay1" "overlay1" # catppuccin-frappe
"subtle"
"background"; "overlay1" # catppuccin-latte
overlay2 =
mapColour "overlay1" # catppuccin-macchiato
"overlay2"
"subtle" "overlay1" # catppuccin-mocha
"background";
"subtle" # rosepine
"background"; # dracula
overlay2 =
# and comments
mapColour
"overlay2" # catppuccin-frappe
"overlay2" # catppuccin-latte
"overlay2" # catppuccin-macchiato
"overlay2" # catppuccin-mocha
"subtle" # rosepine
"background"; # dracula
# Diagnostic Colours # Diagnostic Colours
error = error =
mapColour mapColour
"red" "red" # catppuccin-frappe
"love"
"red"; "red" # catppuccin-latte
"red" # catppuccin-macchiato
"red" # catppuccin-mocha
"love" # rosepine
"red"; # dracula
warning = warning =
mapColour mapColour
"yellow" "yellow" # catppuccin-frappe
"gold"
"yellow"; "yellow" # catppuccin-latte
"yellow" # catppuccin-macchiato
"yellow" # catppuccin-mocha
"gold" # rosepine
"yellow"; # dracula
noError = noError =
mapColour mapColour
"green" "green" # catppuccin-frappe
"pine"
"green"; "green" # catppuccin-latte
"green" # catppuccin-macchiato
"green" # catppuccin-mocha
"pine" # rosepine
"green"; # dracula
# Warm Accent Colours label =
warmAccent0 =
mapColour mapColour
"rosewater" "rosewater" # catppuccin-frappe
"rose"
"pink"; "rosewater" # catppuccin-latte
warmAccent1 =
"rosewater" # catppuccin-macchiato
"rosewater" # catppuccin-mocha
"rose" # rosepine
"pink"; # dracula
selection =
mapColour mapColour
"flamingo" "flamingo" # catppuccin-latte
"rose"
"pink"; "flamingo" # catppuccin-frappe
warmAccent2 =
"flamingo" # catppuccin-macchiato
"flamingo" # catppuccin-mocha
"rose" # rosepine
"pink"; # dracula
keyword =
mapColour mapColour
"mauve" "mauve" # catppuccin-frappe
"iris"
"purple"; "mauve" # catppuccin-latte
warmAccent3 =
"mauve" # catppuccin-macchiato
"mauve" # catppuccin-mocha
"iris" # rosepine
"purple"; # dracula
parameter =
mapColour mapColour
"maroon" "maroon" # catppuccin-frappe
"love"
"orange"; "maroon" # catppuccin-latte
warmAccent4 =
"maroon" # catppuccin-macchiato
"maroon" # catppuccin-mocha
"love" # rosepine
"orange"; # dracula
constant =
mapColour mapColour
"peach" "peach" # catppuccin-frappe
"gold"
"orange"; "peach" # catppuccin-latte
warmAccent5 =
"peach" # catppuccin-macchiato
"peach" # catppuccin-mocha
"gold" # rosepine
"orange"; # dracula
regex =
mapColour mapColour
"pink" "pink" # catppuccin-frappe
"love"
"purple"; "pink" # catppuccin-latte
"pink" # catppuccin-macchiato
"pink" # catppuccin-mocha
"love" # rosepine
"purple"; # dracula
character =
mapColour
"teal" # catppuccin-frappe
"teal" # catppuccin-latte
"teal" # catppuccin-macchiato
"teal" # catppuccin-mocha
"foam" # rosepine
"comment"; # dracula
# Cool Accent Colours # Cool Accent Colours
coolAccent0 = operator =
mapColour mapColour
"teal" "sky" # catppuccin-frappe
"foam"
"comment"; "sky" # catppuccin-latte
coolAccent1 =
"sky" # catppuccin-macchiato
"sky" # catppuccin-mocha
"foam" # rosepine
"cyan"; # dracula
constructor =
mapColour mapColour
"sky" "sapphire" # catppuccin-frappe
"foam"
"cyan"; "sapphire" # catppuccin-latte
coolAccent2 =
"sapphire" # catppuccin-macchiato
"sapphire" # catppuccin-mocha
"foam" # rosepine
"cyan"; # dracula
function =
mapColour mapColour
"sapphire" "blue" # catppuccin-frappe
"foam"
"cyan"; "blue" # catppuccin-latte
coolAccent3 =
"blue" # catppuccin-macchiato
"blue" # catppuccin-mocha
"pine" # rosepine
"comment"; # dracula
link =
mapColour mapColour
"blue" "lavender" # catppuccin-frappe
"pine"
"comment"; "lavender" # catppuccin-latte
coolAccent4 =
mapColour "lavender" # catppuccin-macchiato
"lavender"
"iris" "lavender" # catppuccin-mocha
"cyan";
"iris" # rosepine
"cyan"; # dracula
}; };
}; };
} }

View file

@ -17,19 +17,13 @@
editor_fg = "BFBDB6"; editor_fg = "BFBDB6";
editor_bg = "0D1017"; editor_bg = "0D1017";
editor_line = "131721"; editor_line = "131721";
editor_selection_active = "409FFF"; editor_selection = "409FFF";
editor_selection_inactive = "409FFF"; editor_match = "6C5980";
editor_findMatch_active = "6C5980"; editor_indent = "6C7380";
editor_findMatch_inactive = "6C5980";
editor_gutter_active = "6C7380";
editor_gutter_normal = "6C7380";
editor_indentGuide_active = "6C7380";
editor_indentGuide_normal = "6C7380";
ui_fg = "565B66"; ui_fg = "565B66";
ui_bg = "0B0E14"; ui_bg = "0B0E14";
ui_line = "11151C"; ui_line = "11151C";
ui_selection_active = "475266"; ui_selection = "475266";
ui_selection_normal = "475266";
ui_panel_bg = "0F131A"; ui_panel_bg = "0F131A";
ui_panel_shadow = "000000"; ui_panel_shadow = "000000";
accent = "E6B450"; accent = "E6B450";

View file

@ -16,15 +16,8 @@
removed = "FF7383"; removed = "FF7383";
editor_fg = "5C6166"; editor_fg = "5C6166";
editor_bg = "FCFCFC"; editor_bg = "FCFCFC";
editor_line = "8A9199"; editor_selection = "035BD6";
editor_selection_active = "035BD6"; editor_match = "9F40FF";
editor_selection_inactive = "035BD6";
editor_findMatch_active = "9F40FF";
editor_findMatch_inactive = "9F40FF";
editor_gutter_active = "8A9199";
editor_gutter_normal = "8A9199";
editor_indentGuide_active = "8A9199";
editor_indentGuide_normal = "8A9199";
ui_fg = "8A9199"; ui_fg = "8A9199";
ui_bg = "F8F9FA"; ui_bg = "F8F9FA";
ui_line = "6B7D8F"; ui_line = "6B7D8F";

View file

@ -17,14 +17,9 @@
editor_fg = "CCCAC2"; editor_fg = "CCCAC2";
editor_bg = "242936"; editor_bg = "242936";
editor_line = "1A1F29"; editor_line = "1A1F29";
editor_selection_active = "409FFF"; editor_selection = "409FFF";
editor_selection_inactive = "409FFF"; editor_match = "695380";
editor_findMatch_active = "695380"; editor_indent = "8A9199";
editor_findMatch_inactive = "695380";
editor_gutter_active = "8A9199";
editor_gutter_normal = "8A9199";
editor_indentGuide_active = "8A9199";
editor_indentGuide_normal = "8A9199";
ui_fg = "707A8C"; ui_fg = "707A8C";
ui_bg = "1F2430"; ui_bg = "1F2430";
ui_line = "171B24"; ui_line = "171B24";