nixos/pkgs/helix/default.nix

68 lines
1.3 KiB
Nix
Raw Normal View History

{
lib,
pkgs,
inputs,
...
}@args:
2025-01-17 18:01:19 +08:00
let
inherit (inputs.helix.packages."${pkgs.system}") helix helix-unwrapped;
helix-core = helix-unwrapped.overrideAttrs {
HELIX_DEFAULT_RUNTIME = "${grammarRuntime}";
};
helix-wrapped = (helix.override grammarConfig).passthru.wrapper helix-core;
grammars = import ./grammars args;
grammarOverlays = grammars.overlays;
grammarRuntime = grammars.runtime;
grammarConfig = {
inherit grammarOverlays;
};
2025-01-17 18:01:19 +08:00
runtimeInputs = (
with pkgs;
[
idris2Packages.idris2Lsp
lua-language-server
bash-language-server
hurl
2025-01-25 20:26:57 +08:00
cmake-language-server
kdlfmt
2025-01-17 18:01:19 +08:00
rustfmt
clang-tools
libxml2
typstyle
pyright
ruff
gotools
yaml-language-server
taplo
markdown-oxide
nixd
deno
nixfmt-rfc-style
vscode-langservers-extracted
fish-lsp
gopls
golangci-lint-langserver
tinymist
delve
2025-02-13 03:52:50 +08:00
# lldb
2025-01-17 18:01:19 +08:00
rust-analyzer
nil
haskell-language-server
2025-01-25 20:26:57 +08:00
neocmakelsp
2025-01-17 18:01:19 +08:00
]
);
in
pkgs.symlinkJoin {
pname = "helix-wrapped";
version = helix-wrapped.version;
paths = [ helix-wrapped ];
inherit (helix-wrapped) meta;
2025-01-17 18:01:19 +08:00
buildInputs = [
pkgs.makeWrapper
];
postBuild = ''
wrapProgram $out/bin/hx \
--suffix PATH : ${lib.makeBinPath runtimeInputs}
'';
}