nixos/pkgs/helix/default.nix

68 lines
1.3 KiB
Nix

{
lib,
pkgs,
inputs,
...
}@args:
let
inherit (inputs.helix.packages."${pkgs.system}") helix;
# 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 {
# pname = "helix-wrapped";
# version = helix.version;
name = "helix-wrapped";
paths = [ helix ];
inherit (helix) meta;
buildInputs = [
pkgs.makeWrapper
];
postBuild = ''
wrapProgram $out/bin/hx \
--suffix PATH : ${lib.makeBinPath runtimeInputs}
'';
}