nix-files/pkgs/patched/helix/default.nix

28 lines
721 B
Nix

{ helix
, rsync
, substituteAll
, tree-sitter-nix-shell
}:
let
languages = substituteAll {
src = ./languages.toml;
tree_sitter_nix_shell = tree-sitter-nix-shell.generated;
};
in
helix.overrideAttrs (upstream: {
nativeBuildInputs = (upstream.nativeBuildInputs or []) ++ [
rsync
];
configurePhase = (upstream.configurePhase or "") + ''
cat ${languages} >> languages.toml
substituteAllInPlace languages.toml
rsync -arv ${tree-sitter-nix-shell.generated}/ runtime/grammars/sources/nix-shell/
rsync -arv ${tree-sitter-nix-shell}/queries/ runtime/queries/nix-shell/
# helix tries to delete the sources during installPhase
chmod -R +w runtime/grammars/sources/nix-shell
'';
})