major buff to the helix module

This commit is contained in:
Emile Clark-Boman 2026-01-31 08:36:10 +10:00
parent 3a5e6dcbed
commit 7d4353bffe

View file

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