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": {
"lastModified": 1769819040,
"narHash": "sha256-sFtlxsSXGH3BFkM7REuwntmKQ9f1SeDQIqEK8jTdz34=",
"lastModified": 1769819491,
"narHash": "sha256-hMr47pVjBGd9Jk0zlKL66GWBlS6E50Mp4sW0OBvneSk=",
"ref": "refs/heads/main",
"rev": "e001182489cea3e4cb2a461eb83a7c163f38b7e7",
"revCount": 56,
"rev": "c0f53e00c1888ff9bd92055f0bdc3fe9f218d387",
"revCount": 57,
"type": "git",
"url": "https://forge.imbored.dev/emileclarkb/dobutterfliescry.net"
},

View file

@ -4,50 +4,48 @@
...
}: let
lsps = {
bash-language-server =
{
pkg = pkgs.bash-language-server;
cmd = "bash-language-server";
};
bash-language-server = {
pkg = pkgs.bash-language-server;
cmd = "bash-language-server";
};
clangd =
{
pkg = pkgs.clang-tools;
cmd = "clangd";
};
clangd = {
pkg = pkgs.clang-tools;
cmd = "clangd";
};
haskell-language-server =
{
pkg = pkgs.haskell-language-server;
cmd = "haskell-language-server-wrapper";
};
haskell-language-server = {
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 =
{
pkg = pkgs.nixd;
cmd = "nixd";
};
nixd = {
pkg = pkgs.nixd;
cmd = "nixd";
};
OmniSharp =
{
pkg = pkgs.omnisharp-roslyn;
cmd = "OmniSharp";
};
OmniSharp = {
pkg = pkgs.omnisharp-roslyn;
cmd = "OmniSharp";
};
rust-analyzer =
{
pkg = pkgs.rust-analyzer;
cmd = "rust-analyzer";
};
rust-analyzer = {
pkg = pkgs.rust-analyzer;
cmd = "rust-analyzer";
};
ty =
{
pkg = pkgs-unstable.ty;
cmd = "ty";
};
ty = {
pkg = pkgs-unstable.ty;
cmd = "ty";
};
typescript-language-server = {
pkg = pkgs.typescript-language-server;
cmd = "typescript-language-server";
};
};
in {
home.packages =
@ -224,11 +222,25 @@ in {
# formatter.command = "${pkgs.omnisharp-roslyn}/bin/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 =
lsps
|> builtins.mapAttrs (_: lsp: { command = "${lsp.pkg}/bin/${lsp.cmd}"; });
|> builtins.mapAttrs (_: lsp: {command = "${lsp.pkg}/bin/${lsp.cmd}";});
};
};
}