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