From 330ade0a84415b29e373b7fdb5c3f1255fee348b Mon Sep 17 00:00:00 2001 From: Natasha Moongrave Date: Thu, 12 Feb 2026 14:56:49 +0100 Subject: added language servers to helix --- modules/home/i3wm/nord-blue/helix.nix | 86 +++++++++++++++++++++++++++++++++-- 1 file changed, 81 insertions(+), 5 deletions(-) (limited to 'modules/home/i3wm') diff --git a/modules/home/i3wm/nord-blue/helix.nix b/modules/home/i3wm/nord-blue/helix.nix index 6a828ff..2346ea5 100644 --- a/modules/home/i3wm/nord-blue/helix.nix +++ b/modules/home/i3wm/nord-blue/helix.nix @@ -11,10 +11,86 @@ select = "underline"; }; }; - languages.language = [{ - name = "nix"; - auto-format = true; - formatter.command = lib.getExe pkgs.nixfmt-rfc-style; - }]; + languages = { + language-server = { + # Bash + "bash-language-server" = { + command = "${pkgs.bash-language-server}/bin/bash-language-server"; + args = [ "start" ]; + }; + + # Rust + "rust-analyzer" = { + command = "${pkgs.rust-analyzer}/bin/rust-analyzer"; + }; + + # Python + "pyright" = { + command = "${pkgs.pyright}/bin/pyright" + } + + # Nix + "nil" = { + command = "${pkgs.nil}/bin/nil"; + }; + + # LaTeX + "texlab" = { + command = "${pkgs.texlab}/bin/texlab"; + }; + + # Markdown + "marksman" = { + command = "${pkgs.marksman}/bin/marksman"; + } + }; + language = [ + { + name = "bash"; + language-servers = [ "bash-language-server" ]; + auto-format = true; + } + { + name = "rust"; + language-servers = [ "rust-analyzer" ]; + auto-format = true; + } + { + name = "python"; + language-servers = [ "pyright" ]; + auto-format = true; + } + { + name = "nix"; + language-servers = [ "nil" ]; + auto-format = true; + } + { + name = "latex"; + language-servers = [ "texlab" ]; + auto-format = true; + } + { + name = "markdown"; + language-servers = [ "marksman" ]; + auto-format = true; + } + ]; + }; }; + + home.packages = with pkgs; [ + zathura + ripgrep + fd + + bash-language-server # LSP for Bash + rust-analyzer # Rust LSP + llvmPackages_latest.lldb # lldb-dap for Rust + pyright # Python LSP + nil # Nix LSP + texlab # LaTeX LSP + marksman # Markdown LSP + ]; + } \ No newline at end of file -- cgit v1.2.3