diff --git a/homes/modules/editor/helix.nix b/homes/modules/editor/helix.nix index 81f7959..3d831c1 100755 --- a/homes/modules/editor/helix.nix +++ b/homes/modules/editor/helix.nix @@ -3,50 +3,56 @@ pkgs-unstable, ... }: let - lsps = let - mkLsp = pkg: path: {inherit pkg path;}; - in { + lsps = { bash-language-server = - mkLsp - pkgs.bash-language-server - "/bin/bash-language-server"; + { + pkg = pkgs.bash-language-server; + cmd = "bash-language-server"; + }; clangd = - mkLsp - pkgs.clang-tools - "/bin/clangd"; + { + pkg = pkgs.clang-tools; + cmd = "clangd"; + }; haskell-language-server = - mkLsp - pkgs.haskell-language-server - "/bin/haskell-language-server-wrapper"; + { + pkg = pkgs.haskell-language-server; + cmd = "haskell-language-server-wrapper"; + }; # TODO: once upgraded past Nix-24.07 this line won't be necessary (I think) # helix will support nixd by default # SOURCE: https://github.com/nix-community/nixd/blob/main/nixd/docs/editor-setup.md#Helix nixd = - mkLsp - pkgs.nixd - "/bin/nixd"; + { + pkg = pkgs.nixd; + cmd = "nixd"; + }; OmniSharp = - mkLsp - pkgs.omnisharp-roslyn - "/bin/OmniSharp"; + { + pkg = pkgs.omnisharp-roslyn; + cmd = "OmniSharp"; + }; rust-analyzer = - mkLsp - pkgs.rust-analyzer - "/bin/rust-analyzer"; + { + pkg = pkgs.rust-analyzer; + cmd = "rust-analyzer"; + }; ty = - mkLsp - pkgs.ty - "/bin/ty"; + { + pkg = pkgs-unstable.ty; + cmd = "ty"; + }; }; in { - environment.systemPackages = + home.packages = lsps + |> builtins.attrValues |> map (lsp: lsp.pkg); # REF: https://docs.helix-editor.com/editor.html @@ -205,7 +211,6 @@ in { } { name = "c-sharp"; - source = "source.cs"; file-types = ["cs"]; indent = { tab-width = 4; @@ -223,7 +228,7 @@ in { language-server = lsps - |> builtins.mapAttrs (_: lsp: "${lsp.pkg}${lsp.path}"); + |> builtins.mapAttrs (_: lsp: { command = "${lsp.pkg}/bin/${lsp.cmd}"; }); }; }; }