major buff to the helix module

This commit is contained in:
do butterflies cry? 2026-01-31 08:36:10 +10:00
parent 3e730965a0
commit d8e15fd8a4

View file

@ -3,50 +3,56 @@
pkgs-unstable, pkgs-unstable,
... ...
}: let }: let
lsps = let lsps = {
mkLsp = pkg: path: {inherit pkg path;};
in {
bash-language-server = bash-language-server =
mkLsp {
pkgs.bash-language-server pkg = pkgs.bash-language-server;
"/bin/bash-language-server"; cmd = "bash-language-server";
};
clangd = clangd =
mkLsp {
pkgs.clang-tools pkg = pkgs.clang-tools;
"/bin/clangd"; cmd = "clangd";
};
haskell-language-server = haskell-language-server =
mkLsp {
pkgs.haskell-language-server pkg = pkgs.haskell-language-server;
"/bin/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 =
mkLsp {
pkgs.nixd pkg = pkgs.nixd;
"/bin/nixd"; cmd = "nixd";
};
OmniSharp = OmniSharp =
mkLsp {
pkgs.omnisharp-roslyn pkg = pkgs.omnisharp-roslyn;
"/bin/OmniSharp"; cmd = "OmniSharp";
};
rust-analyzer = rust-analyzer =
mkLsp {
pkgs.rust-analyzer pkg = pkgs.rust-analyzer;
"/bin/rust-analyzer"; cmd = "rust-analyzer";
};
ty = ty =
mkLsp {
pkgs.ty pkg = pkgs-unstable.ty;
"/bin/ty"; cmd = "ty";
};
}; };
in { in {
environment.systemPackages = home.packages =
lsps lsps
|> builtins.attrValues
|> map (lsp: lsp.pkg); |> map (lsp: lsp.pkg);
# REF: https://docs.helix-editor.com/editor.html # REF: https://docs.helix-editor.com/editor.html
@ -205,7 +211,6 @@ in {
} }
{ {
name = "c-sharp"; name = "c-sharp";
source = "source.cs";
file-types = ["cs"]; file-types = ["cs"];
indent = { indent = {
tab-width = 4; tab-width = 4;
@ -223,7 +228,7 @@ in {
language-server = language-server =
lsps lsps
|> builtins.mapAttrs (_: lsp: "${lsp.pkg}${lsp.path}"); |> builtins.mapAttrs (_: lsp: { command = "${lsp.pkg}/bin/${lsp.cmd}"; });
}; };
}; };
} }