diff options
| -rw-r--r-- | modules/home/i3wm/nord-blue/helix.nix | 86 |
1 files changed, 81 insertions, 5 deletions
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 |
