28 lines
721 B
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
|
|
'';
|
|
})
|