diff --git a/home/programs/editors/helix/default.nix b/home/programs/editors/helix/default.nix index 772c5f6..ebab682 100644 --- a/home/programs/editors/helix/default.nix +++ b/home/programs/editors/helix/default.nix @@ -2,13 +2,15 @@ _: { imports = [ ./languages.nix ./themes/tokyonight.nix + ./themes/onedark.nix + ./themes/catppuccin_mocha.nix ]; programs.helix = { enable = true; defaultEditor = true; settings = { - theme = "tokyonight"; + theme = "onedark"; editor = { auto-save = true; true-color = true; @@ -24,9 +26,9 @@ _: { right = ["diagnostics" "selections" "position" "file-line-ending" "file-type" "version-control"]; separator = "|"; mode = { - normal = "NORMAL"; - insert = "INSERT"; - select = "SELECT"; + normal = "NOR"; + insert = "INS"; + select = "SEL"; }; }; cursor-shape = { diff --git a/home/programs/editors/helix/themes/onedark.nix b/home/programs/editors/helix/themes/onedark.nix new file mode 100644 index 0000000..3828c90 --- /dev/null +++ b/home/programs/editors/helix/themes/onedark.nix @@ -0,0 +1,216 @@ +_: { + programs.helix = { + themes.onedark = let + yellow = "#E5C07B"; + blue = "#61AFEF"; + red = "#E06C75"; + purple = "#C678DD"; + green = "#98C379"; + gold = "#D19A66"; + cyan = "#56B6C2"; + white = "#c0caf5"; + black = "#1a1b26"; + light-black = "#2C323C"; + gray = "#3E4452"; + faint-gray = "#3B4048"; + light-gray = "#5C6370"; + linenr = "#4B5263"; + in { + "tag" = {fg = red;}; + "attribute" = {fg = yellow;}; + "comment" = { + fg = light-gray; + modifiers = ["italic"]; + }; + "constant" = {fg = cyan;}; + "constant.numeric" = {fg = gold;}; + "constant.builtin" = {fg = gold;}; + "constant.character.escape" = {fg = gold;}; + "constructor" = {fg = cyan;}; + "function" = { + fg = blue; + modifiers = ["italic"]; + }; + "function.builtin" = {fg = blue;}; + "function.macro" = {fg = purple;}; + "keyword" = { + fg = red; + modifiers = ["italic"]; + }; + "keyword.control" = {fg = purple;}; + "keyword.control.import" = { + fg = red; + modifiers = ["italic"]; + }; + "keyword.directive" = {fg = purple;}; + "label" = {fg = purple;}; + "namespace" = {fg = blue;}; + "operator" = {fg = purple;}; + "keyword.operator" = {fg = purple;}; + "special" = {fg = blue;}; + "string" = {fg = green;}; + "type" = {fg = yellow;}; + "variable" = {fg = yellow;}; + "variable.builtin" = {fg = blue;}; + "variable.parameter" = { + fg = red; + modifiers = ["italic"]; + }; + "variable.other.member" = {fg = red;}; + + "markup.heading" = {fg = red;}; + "markup.raw.inline" = {fg = green;}; + "markup.bold" = { + fg = gold; + modifiers = ["bold"]; + }; + "markup.italic" = { + fg = purple; + modifiers = ["italic"]; + }; + "markup.strikethrough" = {modifiers = ["crossed_out"];}; + "markup.list" = {fg = red;}; + "markup.quote" = {fg = yellow;}; + "markup.link.url" = { + fg = cyan; + modifiers = ["underlined"]; + }; + "markup.link.text" = {fg = purple;}; + + "diff.plus" = green; + "diff.delta" = gold; + "diff.minus" = red; + + "diagnostic.info".underline = { + color = blue; + style = "curl"; + }; + "diagnostic.hint".underline = { + color = green; + style = "curl"; + }; + "diagnostic.warning".underline = { + color = yellow; + style = "curl"; + }; + "diagnostic.error".underline = { + color = red; + style = "curl"; + }; + "diagnostic.unnecessary" = {modifiers = ["dim"];}; + "diagnostic.deprecated" = {modifiers = ["crossed_out"];}; + "info" = { + fg = blue; + modifiers = ["bold"]; + }; + "hint" = { + fg = green; + modifiers = ["bold"]; + }; + "warning" = { + fg = yellow; + modifiers = ["bold"]; + }; + "error" = { + fg = red; + modifiers = ["bold"]; + }; + + # "ui.background" = {bg = black;}; + "ui.virtual" = {fg = faint-gray;}; + "ui.virtual.indent-guide" = {fg = faint-gray;}; + "ui.virtual.whitespace" = {fg = light-gray;}; + "ui.virtual.ruler" = {bg = gray;}; + "ui.virtual.inlay-hint" = {fg = light-gray;}; + "ui.virtual.jump-label" = { + fg = light-gray; + modifiers = ["bold"]; + }; + + "ui.cursor" = { + fg = white; + modifiers = ["reversed"]; + }; + "ui.cursor.primary" = { + fg = white; + modifiers = ["reversed"]; + }; + "ui.cursor.match" = { + fg = blue; + modifiers = ["underlined"]; + }; + + "ui.selection" = {bg = faint-gray;}; + "ui.selection.primary" = {bg = gray;}; + # "ui.cursorline.primary" = {bg = light-black;}; + + "ui.highlight" = {bg = gray;}; + "ui.highlight.frameline" = {bg = "#97202a";}; + + "ui.linenr" = {fg = linenr;}; + "ui.linenr.selected" = {fg = white;}; + + "ui.statusline" = {fg = white;}; + "ui.statusline.inactive" = { + fg = light-gray; + }; + "ui.statusline.normal" = { + fg = light-black; + bg = blue; + modifiers = ["bold"]; + }; + "ui.statusline.insert" = { + fg = light-black; + bg = green; + modifiers = ["bold"]; + }; + "ui.statusline.select" = { + fg = light-black; + bg = purple; + modifiers = ["bold"]; + }; + + "ui.bufferline" = { + fg = light-gray; + bg = light-black; + }; + "ui.bufferline.active" = { + fg = light-black; + bg = blue; + underline = { + color = light-black; + style = "line"; + }; + }; + # "ui.bufferline.background" = {bg = light-black;}; + + "ui.text" = {fg = white;}; + "ui.text.focus" = { + fg = white; + # bg = light-black; + modifiers = ["bold"]; + }; + + "ui.help" = { + fg = white; + # bg = gray; + }; + # "ui.popup" = {bg = gray;}; + # "ui.window" = {fg = gray;}; + "ui.menu" = { + fg = white; + # bg = gray; + }; + "ui.menu.selected" = { + fg = black; + bg = blue; + }; + "ui.menu.scroll" = { + fg = white; + bg = light-gray; + }; + + "ui.debug" = {fg = red;}; + }; + }; +} diff --git a/home/programs/editors/helix/themes/tokyonight.nix b/home/programs/editors/helix/themes/tokyonight.nix index 6377971..4c3ee23 100644 --- a/home/programs/editors/helix/themes/tokyonight.nix +++ b/home/programs/editors/helix/themes/tokyonight.nix @@ -61,7 +61,7 @@ _: { "diff.delta" = {fg = orange;}; "diff.minus" = {fg = red;}; - "ui.background" = {fg = foreground;}; + # "ui.background" = {fg = foreground;}; "ui.cursor" = {modifiers = ["reversed"];}; "ui.cursor.match" = { @@ -69,27 +69,27 @@ _: { modifiers = ["bold"]; }; "ui.cursor.primary" = {modifiers = ["reversed"];}; - "ui.cursorline.primary" = {bg = background_menu;}; + # "ui.cursorline.primary" = {bg = background_menu;}; "ui.help" = { fg = foreground; - bg = background_menu; + # bg = background_menu; }; "ui.linenr" = {fg = foreground_gutter;}; "ui.linenr.selected" = {fg = foreground;}; "ui.menu" = { fg = foreground; - bg = background_menu; + # bg = background_menu; }; "ui.menu.selected" = {bg = background_highlight;}; "ui.popup" = { fg = foreground; - bg = background_menu; + # bg = background_menu; }; "ui.selection" = {bg = background_highlight;}; "ui.selection.primary" = {bg = background_highlight;}; "ui.statusline" = { fg = foreground; - bg = background_menu; + # bg = background_menu; }; "ui.statusline.inactive" = { fg = foreground_gutter;