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
1 changed files with 19 additions and 11 deletions
30
flake.nix
30
flake.nix
|
|
@ -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 = ./.;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue