Refactor nix package

Introduce an overlay, and use the existing 'tree-sitter' package
machinery to extend it with this grammar.

Expose the extended 'tree-sitter' as part of the flake packages.
This commit is contained in:
Bruno BELANYI 2022-06-03 14:48:15 +02:00
parent 964d796b4b
commit 02f89ac524

View file

@ -51,9 +51,8 @@
let
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
version = (builtins.fromJSON (builtins.readFile ./package.json)).version;
in
rec {
checks = {
@ -104,14 +103,23 @@
};
packages = {
default =
let mkGrammar = pkgs.callPackage "${nixpkgs}/pkgs/development/tools/parsing/tree-sitter/grammar.nix" { };
in
mkGrammar {
language = "tiger";
inherit version;
source = ./.;
};
default = packages.tree-sitter-tiger;
inherit (pkgs.tree-sitter.passthru.builtGrammars) tree-sitter-tiger;
inherit (pkgs) tree-sitter;
};
});
}) // {
overlays = {
default = final: prev: {
tree-sitter = prev.tree-sitter.override {
extraGrammars = {
tree-sitter-tiger = {
src = ./.;
};
};
};
};
};
};
}