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:
parent
964d796b4b
commit
02f89ac524
30
flake.nix
30
flake.nix
|
@ -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 = ./.;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue