mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-22 17:03:31 +02:00
flake/templates: propagate the template's checks to the main flake's
This commit is contained in:
parent
45c2e25127
commit
3bced7b059
1 changed files with 52 additions and 0 deletions
|
@ -1,8 +1,60 @@
|
||||||
{
|
{
|
||||||
|
self,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
flake.templates = {
|
flake.templates = {
|
||||||
default = {
|
default = {
|
||||||
path = ../templates/simple;
|
path = ../templates/simple;
|
||||||
description = "A simple nix flake template for getting started with nixvim";
|
description = "A simple nix flake template for getting started with nixvim";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# The following adds the template flake's checks to the main (current) flake's checks.
|
||||||
|
# It ensures that the template's own checks are successful.
|
||||||
|
perSystem = {
|
||||||
|
pkgs,
|
||||||
|
system,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
checks = let
|
||||||
|
# Approximates https://github.com/NixOS/nix/blob/7cd08ae379746749506f2e33c3baeb49b58299b8/src/libexpr/flake/call-flake.nix#L46
|
||||||
|
# s/flake.outputs/args.outputs/
|
||||||
|
callFlake = args @ {
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
sourceInfo,
|
||||||
|
}: let
|
||||||
|
outputs = args.outputs (inputs // {self = result;});
|
||||||
|
result =
|
||||||
|
outputs
|
||||||
|
// sourceInfo
|
||||||
|
// {
|
||||||
|
inherit inputs outputs sourceInfo;
|
||||||
|
_type = "flake";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
result;
|
||||||
|
|
||||||
|
templateFlakeOuputs = callFlake {
|
||||||
|
inputs = {
|
||||||
|
inherit (inputs) flake-parts nixpkgs;
|
||||||
|
nixvim = self;
|
||||||
|
};
|
||||||
|
# Import and read the `outputs` field of the template flake.
|
||||||
|
inherit (import ../templates/simple/flake.nix) outputs;
|
||||||
|
sourceInfo = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
templateChecks = templateFlakeOuputs.checks.${system};
|
||||||
|
in
|
||||||
|
lib.concatMapAttrs
|
||||||
|
(
|
||||||
|
checkName: check: {
|
||||||
|
"template-${checkName}" = check;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
templateChecks;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue