2024-12-19 19:56:45 -06:00
|
|
|
let
|
2025-01-14 16:17:42 -06:00
|
|
|
currentTheme = catppuccin-macchiato;
|
2025-01-14 19:40:12 -06:00
|
|
|
# Ayu
|
|
|
|
ayu-dark = "ayu-dark";
|
|
|
|
ayu-light = "ayu-light";
|
|
|
|
ayu-mirage = "ayu-mirage";
|
2025-01-14 16:17:42 -06:00
|
|
|
# Catppuccin
|
|
|
|
catppuccin-latte = "catppuccin-latte";
|
|
|
|
catppuccin-frappe = "catppuccin-frappe";
|
|
|
|
catppuccin-macchiato = "catppuccin-macchiato";
|
|
|
|
catppuccin-mocha = "catppuccin-mocha";
|
2025-01-14 19:40:12 -06:00
|
|
|
# Cobalt
|
|
|
|
cobalt2 = "cobalt2";
|
2025-01-14 16:17:42 -06:00
|
|
|
# Dracula
|
|
|
|
dracula = "dracula";
|
|
|
|
# Gruvbox
|
|
|
|
gruvbox-dark = "gruvbox-dark";
|
|
|
|
gruvbox-light = "gruvbox-light";
|
2025-01-14 19:40:12 -06:00
|
|
|
# Houston
|
|
|
|
houston = "houston";
|
|
|
|
# Kanagawa
|
|
|
|
kanagawa-dragon = "kanagawa-dragon";
|
|
|
|
kanagawa-lotus = "kanagawa-lotus";
|
|
|
|
kanagawa-wave = "kanagawa-wave";
|
|
|
|
# Laserwave
|
|
|
|
laserwave = "laserwave";
|
|
|
|
#Lunar
|
|
|
|
lunar = "lunar";
|
2025-01-14 16:17:42 -06:00
|
|
|
# Material
|
|
|
|
material-darker = "material-darker";
|
|
|
|
material-deep-ocean = "material-deep-ocean";
|
|
|
|
material-forest = "material-forest";
|
|
|
|
material-lighter = "material-lighter";
|
|
|
|
material-oceanic = "material-oceanic";
|
|
|
|
material-palenight = "material-palenight";
|
|
|
|
material-sandy-beach = "material-sandy-beach";
|
|
|
|
material-sky-blue = "material-sky-blue";
|
|
|
|
material-space = "material-space";
|
|
|
|
material-volcano = "material-volcano";
|
2025-01-14 19:40:12 -06:00
|
|
|
# Monokai
|
|
|
|
monokai = "monokai";
|
|
|
|
# Night Owl
|
|
|
|
night-owl = "night-owl";
|
2025-01-14 16:17:42 -06:00
|
|
|
# Nord
|
|
|
|
nord = "nord";
|
2025-01-14 19:40:12 -06:00
|
|
|
#Ocean Next
|
|
|
|
ocean-next = "ocean-next";
|
2025-01-14 16:17:42 -06:00
|
|
|
# One Dark
|
|
|
|
one-dark = "one-dark";
|
2025-01-14 19:40:12 -06:00
|
|
|
# Plastic
|
|
|
|
plastic = "plastic";
|
|
|
|
# Poimandres
|
|
|
|
poimandres-base = "poimandres-base";
|
|
|
|
poimandres-storm = "poimandres-storm";
|
2025-01-14 16:17:42 -06:00
|
|
|
# Rosepine
|
|
|
|
rosepine = "rosepine";
|
|
|
|
rosepine-moon = "rosepine-moon";
|
|
|
|
rosepine-dawn = "rosepine-dawn";
|
|
|
|
# Tokyo Night
|
|
|
|
tokyo-night-night = "tokyo-night-night";
|
|
|
|
tokyo-night-storm = "tokyo-night-storm";
|
|
|
|
tokyo-night-day = "tokyo-night-day";
|
|
|
|
# Solorized
|
|
|
|
solorized-dark = "solorized-dark";
|
|
|
|
solorized-light = "solorized-light";
|
2025-01-14 19:40:12 -06:00
|
|
|
# Synthwave 84
|
|
|
|
synthwave-84 = "synthwave-84";
|
|
|
|
# Vesper
|
|
|
|
vesper = "vesper";
|
|
|
|
# Wasp
|
|
|
|
wasp = "wasp";
|
|
|
|
|
2025-01-14 16:17:42 -06:00
|
|
|
errorMessage = "Unknown theme: ${currentTheme}";
|
2024-12-19 19:56:45 -06:00
|
|
|
|
2025-01-14 16:17:42 -06:00
|
|
|
schemePath = ./schemes;
|
2024-12-19 19:56:45 -06:00
|
|
|
|
2025-01-14 20:28:48 -06:00
|
|
|
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);
|
|
|
|
|
2025-01-14 16:17:42 -06:00
|
|
|
mapColour =
|
2025-01-14 19:40:12 -06:00
|
|
|
# Ayu
|
|
|
|
ayu-darkColour: ayu-lightColour: ayu-mirageColour:
|
2025-01-14 16:17:42 -06:00
|
|
|
# Catppuccin
|
2025-01-14 20:28:48 -06:00
|
|
|
catppuccin-frappeColour: catppuccin-latteColour: catppuccin-macchiatoColour: catppuccin-mochaColour:
|
2025-01-14 19:40:12 -06:00
|
|
|
# Cobalt2
|
|
|
|
cobalt2Colour:
|
2025-01-14 16:17:42 -06:00
|
|
|
# Dracula
|
|
|
|
draculaColour:
|
|
|
|
# Gruvbox
|
|
|
|
gruvbox-darkColour: gruvbox-lightColour:
|
2025-01-14 19:40:12 -06:00
|
|
|
# Houston
|
|
|
|
houstonColour:
|
|
|
|
# Kanagawa
|
|
|
|
kanagawa-dragonColour: kanagawa-lotusColour: kanagawa-waveColour:
|
|
|
|
# Laserwave
|
|
|
|
laserwaveColour:
|
|
|
|
# Lunar
|
|
|
|
lunarColour:
|
2025-01-14 16:17:42 -06:00
|
|
|
# Material
|
|
|
|
material-darkerColour: material-deep-oceanColour: material-forestColour: material-lighterColour: material-oceanicColour: material-palenightColour: material-sandy-beachColour: material-sky-blueColour: material-spaceColour: material-volcanoColour:
|
2025-01-14 19:40:12 -06:00
|
|
|
# Monokai
|
|
|
|
monokaiColour:
|
|
|
|
# Night Owl
|
|
|
|
night-owlColour:
|
2025-01-14 16:17:42 -06:00
|
|
|
# Nord
|
|
|
|
nordColour:
|
2025-01-14 19:40:12 -06:00
|
|
|
# Ocean Next
|
|
|
|
ocean-nextColour:
|
2025-01-14 16:17:42 -06:00
|
|
|
# One Dark
|
|
|
|
one-darkColour:
|
2025-01-14 19:40:12 -06:00
|
|
|
# Plastic
|
|
|
|
plasticColour:
|
|
|
|
# Poimandres
|
|
|
|
poimandres-baseColour: poimandres-stormColour:
|
2025-01-14 16:17:42 -06:00
|
|
|
# Rosepine
|
|
|
|
rosepineColour: rosepine-moonColour: rosepine-dawnColour:
|
|
|
|
# Tokyo Night
|
|
|
|
tokyo-night-nightColor: tokyo-night-stormColor: tokyo-night-dayColor:
|
|
|
|
# Solorized
|
|
|
|
solorized-darkColour: solorized-lightColour:
|
2025-01-14 19:40:12 -06:00
|
|
|
# Synthwave 84
|
|
|
|
synthwave-84Colour:
|
|
|
|
# Vesper
|
|
|
|
vesperColour:
|
|
|
|
# Wasp
|
|
|
|
waspColour:
|
2025-01-14 20:28:48 -06:00
|
|
|
mkThemeMap [
|
|
|
|
# Ayu
|
|
|
|
ayu-dark
|
|
|
|
ayu-light
|
|
|
|
ayu-mirage
|
|
|
|
# Catppuccin
|
|
|
|
catppuccin-frappe
|
|
|
|
catppuccin-latte
|
|
|
|
catppuccin-macchiato
|
|
|
|
catppuccin-mocha
|
|
|
|
# Cobalt2
|
|
|
|
cobalt2
|
|
|
|
# Dracula
|
|
|
|
dracula
|
|
|
|
# Gruvbox
|
|
|
|
gruvbox-dark
|
|
|
|
gruvbox-light
|
|
|
|
# Houston
|
|
|
|
houston
|
|
|
|
# Kanagawa
|
|
|
|
kanagawa-dragon
|
|
|
|
kanagawa-lotus
|
|
|
|
kanagawa-wave
|
|
|
|
# Laserwave
|
|
|
|
laserwave
|
|
|
|
# Lunar
|
|
|
|
lunar
|
|
|
|
# Material
|
|
|
|
material-darker
|
|
|
|
material-deep-ocean
|
|
|
|
material-forest
|
|
|
|
material-lighter
|
|
|
|
material-oceanic
|
|
|
|
material-palenight
|
|
|
|
material-sandy-beach
|
|
|
|
material-sky-blue
|
|
|
|
material-space
|
|
|
|
material-volcano
|
|
|
|
# Monokai
|
|
|
|
monokai
|
|
|
|
# Night Owl
|
|
|
|
night-owl
|
|
|
|
# Nord
|
|
|
|
nord
|
|
|
|
# Ocean Next
|
|
|
|
ocean-next
|
|
|
|
# One Dark
|
|
|
|
one-dark
|
|
|
|
# Plastic
|
|
|
|
plastic
|
|
|
|
# Poimandres
|
|
|
|
poimandres-base
|
|
|
|
poimandres-storm
|
|
|
|
# Rosepine
|
|
|
|
rosepine
|
|
|
|
rosepine-moon
|
|
|
|
rosepine-dawn
|
|
|
|
# Tokyo Night
|
|
|
|
tokyo-night-night
|
|
|
|
tokyo-night-storm
|
|
|
|
tokyo-night-day
|
|
|
|
# Solorized
|
|
|
|
solorized-dark
|
|
|
|
solorized-light
|
|
|
|
# Synthwave 84
|
|
|
|
synthwave-84
|
|
|
|
# Vesper
|
|
|
|
vesper
|
|
|
|
# Wasp
|
|
|
|
wasp
|
|
|
|
] [
|
|
|
|
# Ayu
|
|
|
|
ayu-darkColour
|
|
|
|
ayu-lightColour
|
|
|
|
ayu-mirageColour
|
|
|
|
# Catppuccin
|
|
|
|
catppuccin-frappeColour
|
|
|
|
catppuccin-latteColour
|
|
|
|
catppuccin-macchiatoColour
|
|
|
|
catppuccin-mochaColour
|
|
|
|
# Cobalt2
|
|
|
|
cobalt2Colour
|
|
|
|
# Dracula
|
|
|
|
draculaColour
|
|
|
|
# Gruvbox
|
|
|
|
gruvbox-darkColour
|
|
|
|
gruvbox-lightColour
|
|
|
|
# Houston
|
|
|
|
houstonColour
|
|
|
|
# Kanagawa
|
|
|
|
kanagawa-dragonColour
|
|
|
|
kanagawa-lotusColour
|
|
|
|
kanagawa-waveColour
|
|
|
|
# Laserwave
|
|
|
|
laserwaveColour
|
|
|
|
# Lunar
|
|
|
|
lunarColour
|
|
|
|
# Material
|
|
|
|
material-darkerColour
|
|
|
|
material-deep-oceanColour
|
|
|
|
material-forestColour
|
|
|
|
material-lighterColour
|
|
|
|
material-oceanicColour
|
|
|
|
material-palenightColour
|
|
|
|
material-sandy-beachColour
|
|
|
|
material-sky-blueColour
|
|
|
|
material-spaceColour
|
|
|
|
material-volcanoColour
|
|
|
|
# Monokai
|
|
|
|
monokaiColour
|
|
|
|
# Night Owl
|
|
|
|
night-owlColour
|
|
|
|
# Nord
|
|
|
|
nordColour
|
|
|
|
# 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
|
|
|
|
];
|
2024-12-19 19:56:45 -06:00
|
|
|
in {
|
2025-01-14 16:17:42 -06:00
|
|
|
themes = {
|
|
|
|
currentTheme = currentTheme;
|
|
|
|
font = "MonaspiceRn Nerd Font";
|
|
|
|
schemes = let
|
2025-01-14 19:40:12 -06:00
|
|
|
ayuPath = /ayu;
|
2025-01-14 16:17:42 -06:00
|
|
|
catppuccinPath = /catppuccin;
|
|
|
|
gruvboxPath = /gruvbox;
|
2025-01-14 19:40:12 -06:00
|
|
|
kanagawaPath = /kanagawa;
|
2025-01-14 16:17:42 -06:00
|
|
|
materialPath = /material;
|
2025-01-14 19:40:12 -06:00
|
|
|
poimandresPath = /poimandres;
|
2025-01-14 16:17:42 -06:00
|
|
|
rosepinePath = /rosepine;
|
|
|
|
toyko-nightPath = /tokyo-night;
|
|
|
|
solarizedPath = /solarized;
|
|
|
|
in {
|
2025-01-14 19:40:12 -06:00
|
|
|
${ayu-dark} = import (schemePath + ayuPath + /dark);
|
|
|
|
${ayu-light} = import (schemePath + ayuPath + /light);
|
|
|
|
${ayu-mirage} = import (schemePath + ayuPath + /mirage);
|
2025-01-14 16:17:42 -06:00
|
|
|
${catppuccin-frappe} = import (schemePath + catppuccinPath + /frappe);
|
|
|
|
${catppuccin-latte} = import (schemePath + catppuccinPath + /latte);
|
|
|
|
${catppuccin-macchiato} = import (schemePath + catppuccinPath + /macchiato);
|
|
|
|
${catppuccin-mocha} = import (schemePath + catppuccinPath + /mocha);
|
2025-01-14 19:40:12 -06:00
|
|
|
${cobalt2} = import (schemePath + /cobalt2);
|
2025-01-14 16:17:42 -06:00
|
|
|
${dracula} = import (schemePath + /dracula);
|
|
|
|
${gruvbox-dark} = import (schemePath + gruvboxPath + /dark);
|
|
|
|
${gruvbox-light} = import (schemePath + gruvboxPath + /light);
|
2025-01-14 19:40:12 -06:00
|
|
|
${houston} = import (schemePath + /houston);
|
|
|
|
${kanagawa-dragon} = import (schemePath + kanagawaPath + /kanagawa);
|
|
|
|
${kanagawa-lotus} = import (schemePath + kanagawaPath + /kanagawa);
|
|
|
|
${kanagawa-wave} = import (schemePath + kanagawaPath + /kanagawa);
|
|
|
|
${laserwave} = import (schemePath + /laserwave);
|
|
|
|
${lunar} = import (schemePath + /lunar);
|
2025-01-14 16:17:42 -06:00
|
|
|
${material-darker} = import (schemePath + materialPath + /darker);
|
|
|
|
${material-lighter} = import (schemePath + materialPath + /lighter);
|
|
|
|
${material-oceanic} = import (schemePath + materialPath + /oceanic);
|
|
|
|
${material-palenight} = import (schemePath + materialPath + /palenight);
|
|
|
|
${material-deep-ocean} = import (schemePath + materialPath + /deep-ocean);
|
|
|
|
${material-forest} = import (schemePath + materialPath + /forest);
|
|
|
|
${material-sky-blue} = import (schemePath + materialPath + /sky-blue);
|
|
|
|
${material-sandy-beach} = import (schemePath + materialPath + /sandy-beach);
|
|
|
|
${material-volcano} = import (schemePath + materialPath + /volcano);
|
|
|
|
${material-space} = import (schemePath + materialPath + /space);
|
2025-01-14 19:40:12 -06:00
|
|
|
${monokai} = import (schemePath + /monokai);
|
|
|
|
${night-owl} = import (schemePath + /night-owl);
|
2025-01-14 16:17:42 -06:00
|
|
|
${nord} = import (schemePath + /nord);
|
2025-01-14 19:40:12 -06:00
|
|
|
${ocean-next} = import (schemePath + /ocean-next);
|
2025-01-14 16:17:42 -06:00
|
|
|
${one-dark} = import (schemePath + /one-dark);
|
2025-01-14 19:40:12 -06:00
|
|
|
${poimandres-base} = import (schemePath + poimandresPath + /base);
|
|
|
|
${poimandres-storm} = import (schemePath + poimandresPath + /storm);
|
2025-01-14 16:17:42 -06:00
|
|
|
${rosepine} = import (schemePath + rosepinePath + /base);
|
|
|
|
${rosepine-dawn} = import (schemePath + rosepinePath + /dawn);
|
|
|
|
${rosepine-moon} = import (schemePath + rosepinePath + /moon);
|
|
|
|
${tokyo-night-night} = import (schemePath + toyko-nightPath + /night);
|
|
|
|
${tokyo-night-storm} = import (schemePath + toyko-nightPath + /storm);
|
|
|
|
${tokyo-night-day} = import (schemePath + toyko-nightPath + /day);
|
|
|
|
${solorized-dark} = import (schemePath + solarizedPath + /dark);
|
|
|
|
${solorized-light} = import (schemePath + solarizedPath + /light);
|
2025-01-14 19:40:12 -06:00
|
|
|
${synthwave-84} = import (schemePath + /synthwave-84);
|
|
|
|
${vesper} = import (schemePath + /vesper);
|
|
|
|
${wasp} = import (schemePath + /wasp);
|
2025-01-14 16:17:42 -06:00
|
|
|
};
|
2025-01-14 21:25:38 -06:00
|
|
|
currentColours = import ./map {inherit mapColour;};
|
2025-01-14 16:17:42 -06:00
|
|
|
};
|
2024-12-19 19:56:45 -06:00
|
|
|
}
|