diff --git a/home/helix/catppuccin_mocha.nix b/home/helix/catppuccin_mocha.nix new file mode 100644 index 0000000..3cd5c03 --- /dev/null +++ b/home/helix/catppuccin_mocha.nix @@ -0,0 +1,121 @@ +{ + ... +}: { + 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 = crust; }; + "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; + }; + }; +} \ No newline at end of file diff --git a/home/helix/default.nix b/home/helix/default.nix index c326dfd..06174f4 100644 --- a/home/helix/default.nix +++ b/home/helix/default.nix @@ -1,6 +1,9 @@ { ... }: { + imports = [ + ./catppuccin_mocha.nix + ]; programs.helix = { enable = true; settings = { @@ -52,4 +55,4 @@ }; }; }; -} \ No newline at end of file +}