add helix js/ts lsp

This commit is contained in:
Emile Clark-Boman 2026-01-31 10:57:59 +10:00
parent de526f42a0
commit f1224c8cf8

View file

@ -4,50 +4,48 @@
... ...
}: let }: let
lsps = { lsps = {
bash-language-server = bash-language-server = {
{ pkg = pkgs.bash-language-server;
pkg = pkgs.bash-language-server; cmd = "bash-language-server";
cmd = "bash-language-server"; };
};
clangd = clangd = {
{ pkg = pkgs.clang-tools;
pkg = pkgs.clang-tools; cmd = "clangd";
cmd = "clangd"; };
};
haskell-language-server = haskell-language-server = {
{ pkg = pkgs.haskell-language-server;
pkg = pkgs.haskell-language-server; cmd = "haskell-language-server-wrapper";
cmd = "haskell-language-server-wrapper"; };
};
# TODO: once upgraded past Nix-24.07 this line won't be necessary (I think) # TODO: once upgraded past Nix-24.07 this line won't be necessary (I think)
# helix will support nixd by default # helix will support nixd by default
# SOURCE: https://github.com/nix-community/nixd/blob/main/nixd/docs/editor-setup.md#Helix # SOURCE: https://github.com/nix-community/nixd/blob/main/nixd/docs/editor-setup.md#Helix
nixd = nixd = {
{ pkg = pkgs.nixd;
pkg = pkgs.nixd; cmd = "nixd";
cmd = "nixd"; };
};
OmniSharp = OmniSharp = {
{ pkg = pkgs.omnisharp-roslyn;
pkg = pkgs.omnisharp-roslyn; cmd = "OmniSharp";
cmd = "OmniSharp"; };
};
rust-analyzer = rust-analyzer = {
{ pkg = pkgs.rust-analyzer;
pkg = pkgs.rust-analyzer; cmd = "rust-analyzer";
cmd = "rust-analyzer"; };
};
ty = ty = {
{ pkg = pkgs-unstable.ty;
pkg = pkgs-unstable.ty; cmd = "ty";
cmd = "ty"; };
};
typescript-language-server = {
pkg = pkgs.typescript-language-server;
cmd = "typescript-language-server";
};
}; };
in { in {
home.packages = home.packages =
@ -224,11 +222,25 @@ in {
# formatter.command = "${pkgs.omnisharp-roslyn}/bin/OmniSharp"; # formatter.command = "${pkgs.omnisharp-roslyn}/bin/OmniSharp";
# language-servers = ["OmniSharp"]; # language-servers = ["OmniSharp"];
} }
{
name = "javascript";
file-types = ["js"];
indent = {
tab-width = 2;
unit = " ";
};
block-comment-tokens = {
start = "/*";
end = "*/";
};
auto-format = true;
language-servers = ["typescript-language-server"];
}
]; ];
language-server = language-server =
lsps lsps
|> builtins.mapAttrs (_: lsp: { command = "${lsp.pkg}/bin/${lsp.cmd}"; }); |> builtins.mapAttrs (_: lsp: {command = "${lsp.pkg}/bin/${lsp.cmd}";});
}; };
}; };
} }