{ programs.helix = { enable = true; defaultEditor = true; settings = { theme = "catppuccin_mocha"; editor = { indent-guides.render = true; cursor-shape = { insert = "bar"; normal = "block"; select = "underline"; }; true-color = true; # to make colors coherent when in ssh # inline-diagnostic = { # cursor-line = "hint"; # other-lines = "error"; # }; }; }; languages = { language = [ { name = "nix"; language-servers = [ "nixd" ]; } { name = "markdown"; language-servers = [ "zk" ]; } { name = "typescript"; language-servers = [ "vtsls" ]; } ]; language-server = { nixd.command = "nixd"; vtsls = { command = "vtsls"; args = [ "--stdio" ]; }; zk = { command = "zk"; args = [ "lsp" ]; }; }; }; }; }