66 lines
1.3 KiB
Nix
66 lines
1.3 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
inputs,
|
|
...
|
|
}@args:
|
|
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;
|
|
};
|
|
runtimeInputs = (
|
|
with pkgs;
|
|
[
|
|
idris2Packages.idris2Lsp
|
|
lua-language-server
|
|
bash-language-server
|
|
hurl
|
|
cmake-language-server
|
|
kdlfmt
|
|
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
|
|
# lldb
|
|
rust-analyzer
|
|
nil
|
|
haskell-language-server
|
|
neocmakelsp
|
|
]
|
|
);
|
|
in
|
|
pkgs.symlinkJoin {
|
|
name = "helix-wrapped";
|
|
paths = [ helix-wrapped ];
|
|
inherit (helix-wrapped) meta;
|
|
buildInputs = [
|
|
pkgs.makeWrapper
|
|
];
|
|
postBuild = ''
|
|
wrapProgram $out/bin/hx \
|
|
--suffix PATH : ${lib.makeBinPath runtimeInputs}
|
|
'';
|
|
}
|