Compare commits

..

2 commits

Author SHA1 Message Date
f1224c8cf8 add helix js/ts lsp 2026-01-31 10:57:59 +10:00
de526f42a0 progress input dobutterfliescry-net 2026-01-31 10:57:49 +10:00
2 changed files with 52 additions and 40 deletions

8
flake.lock generated
View file

@ -40,11 +40,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769819040, "lastModified": 1769819491,
"narHash": "sha256-sFtlxsSXGH3BFkM7REuwntmKQ9f1SeDQIqEK8jTdz34=", "narHash": "sha256-hMr47pVjBGd9Jk0zlKL66GWBlS6E50Mp4sW0OBvneSk=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "e001182489cea3e4cb2a461eb83a7c163f38b7e7", "rev": "c0f53e00c1888ff9bd92055f0bdc3fe9f218d387",
"revCount": 56, "revCount": 57,
"type": "git", "type": "git",
"url": "https://forge.imbored.dev/emileclarkb/dobutterfliescry.net" "url": "https://forge.imbored.dev/emileclarkb/dobutterfliescry.net"
}, },

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}";});
}; };
}; };
} }