snowflake/home/helix/themes/catppuccin_mocha.nix

217 lines
5.1 KiB
Nix

{...}: {
programs.helix = {
themes.catppuccin_mocha = let
transparent = "none";
rosewater = "#f5e0dc";
flamingo = "#f2cdcd";
pink = "#f5c2e7";
mauve = "#cba6f7";
red = "#f38ba8";
maroon = "#eba0ac";
peach = "#fab387";
yellow = "#f9e2af";
green = "#a6e3a1";
teal = "#94e2d5";
sky = "#89dceb";
sapphire = "#74c7ec";
blue = "#89b4fa";
lavender = "#b4befe";
text = "#cdd6f4";
subtext1 = "#bac2de";
subtext0 = "#a6adc8";
overlay2 = "#9399b2";
overlay1 = "#7f849c";
overlay0 = "#6c7086";
surface2 = "#585b70";
surface1 = "#45475a";
surface0 = "#313244";
base = "#1e1e2e";
mantle = "#181825";
crust = "#11111b";
cursorline = "#2a2b3c";
secondary_cursor = "#b5a6a8";
in {
"type" = yellow;
"constructor" = sapphire;
"constant" = peach;
"constant.builtin" = peach;
"constant.character" = teal;
"constant.character.escape" = pink;
"string" = green;
"string.regexp" = peach;
"string.special" = blue;
"comment" = {
fg = maroon;
modifiers = ["italic"];
};
"variable" = "text";
"variable.parameter" = {
fg = maroon;
modifiers = ["italic"];
};
"variable.builtin" = red;
"variable.other.member" = teal;
"label" = sapphire;
"punctuation" = overlay2;
"punctuation.special" = sky;
"keyword" = mauve;
"keyword.control.conditional" = {
fg = mauve;
modifiers = ["italic"];
};
"operator" = sky;
"function" = blue;
"function.macro" = mauve;
"tag" = mauve;
"attribute" = blue;
"namespace" = {
fg = blue;
modifiers = ["italic"];
};
"special" = blue;
"markup.heading.marker" = {
fg = peach;
modifiers = ["bold"];
};
"markup.heading.1" = lavender;
"markup.heading.2" = mauve;
"markup.heading.3" = green;
"markup.heading.4" = yellow;
"markup.heading.5" = pink;
"markup.heading.6" = teal;
"markup.list" = mauve;
"markup.bold" = {modifiers = ["bold"];};
"markup.italic" = {modifiers = ["italic"];};
"markup.link.url" = {
fg = rosewater;
modifiers = ["italic" "underlined"];
};
"markup.link.text" = blue;
"markup.raw" = flamingo;
"diff.plus" = green;
"diff.minus" = red;
"diff.delta" = blue;
"ui.background" = {fg = surface1;};
"ui.linenr" = {fg = surface1;};
"ui.linenr.selected" = {fg = lavender;};
"ui.statusline" = {
fg = subtext1;
bg = mantle;
};
"ui.statusline.inactive" = {
fg = surface2;
bg = mantle;
};
"ui.statusline.normal" = {
fg = base;
bg = lavender;
modifiers = ["bold"];
};
"ui.statusline.insert" = {
fg = base;
bg = green;
modifiers = ["bold"];
};
"ui.statusline.select" = {
fg = base;
bg = flamingo;
modifiers = ["bold"];
};
"ui.popup" = {
fg = text;
bg = surface0;
};
"ui.window" = {fg = crust;};
"ui.help" = {
fg = overlay2;
bg = surface0;
};
"ui.bufferline" = {
fg = subtext0;
bg = mantle;
};
"ui.bufferline.active" = {
fg = mauve;
bg = base;
underline = {
color = mauve;
style = "line";
};
};
"ui.bufferline.background" = {bg = crust;};
"ui.text" = text;
"ui.text.focus" = {
fg = text;
bg = surface0;
modifiers = ["bold"];
};
"ui.text.inactive" = {fg = overlay1;};
"ui.virtual" = overlay0;
"ui.virtual.ruler" = {bg = surface0;};
"ui.virtual.indent-guide" = surface0;
"ui.virtual.inlay-hint" = {
fg = surface1;
bg = mantle;
};
"ui.selection" = {bg = surface1;};
"ui.cursor" = {
fg = base;
bg = secondary_cursor;
};
"ui.cursor.primary" = {
fg = base;
bg = rosewater;
};
"ui.cursor.match" = {
fg = peach;
modifiers = ["bold"];
};
"ui.cursorline.primary" = {bg = cursorline;};
"ui.highlight" = {
bg = surface1;
modifiers = ["bold"];
};
"ui.menu" = {
fg = overlay2;
bg = surface0;
};
"ui.menu.selected" = {
fg = text;
bg = surface1;
modifiers = ["bold"];
};
"diagnostic.error" = {
underline = {
color = red;
style = "curl";
};
};
"diagnostic.warning" = {
underline = {
color = yellow;
style = "curl";
};
};
"diagnostic.info" = {
underline = {
color = sky;
style = "curl";
};
};
"diagnostic.hint" = {
underline = {
color = teal;
style = "curl";
};
};
"error" = red;
"warning" = yellow;
"info" = sky;
"hint" = teal;
};
};
}