mirror of
https://github.com/hercules-ci/flake-parts.git
synced 2024-12-14 11:47:31 +00:00
introduce lib.mkFlake
This makes the most common use-case a tiny bit less verbose.
This commit is contained in:
parent
0f0b1633a6
commit
ad19f920cf
3 changed files with 29 additions and 32 deletions
|
@ -34,18 +34,15 @@ Otherwise, add the input,
|
|||
flake-modules-core.inputs.nixpkgs.follows = "nixpkgs";
|
||||
```
|
||||
|
||||
then slide `evalFlakeModule` between your outputs function head and body,
|
||||
then slide `mkFlake` between your outputs function head and body,
|
||||
|
||||
```
|
||||
outputs = { self, flake-modules-core, ... }:
|
||||
(flake-modules-core.lib.evalFlakeModule
|
||||
{ inherit self; }
|
||||
{
|
||||
flake-modules-core.lib.mkFlake { inherit self; } {
|
||||
flake = {
|
||||
# Put your original flake attributes here.
|
||||
}
|
||||
}
|
||||
).config.flake;
|
||||
};
|
||||
```
|
||||
|
||||
Now you can add the remaining module attributes like in the [the template](./template/default/flake.nix).
|
||||
|
|
3
lib.nix
3
lib.nix
|
@ -38,6 +38,9 @@ let
|
|||
modules = [ ./all-modules.nix module ];
|
||||
};
|
||||
|
||||
mkFlake = args: module:
|
||||
(flake-modules-core-lib.evalFlakeModule args module).config.flake;
|
||||
|
||||
# For extending options in an already declared submodule.
|
||||
# Workaround for https://github.com/NixOS/nixpkgs/issues/146882
|
||||
mkSubmoduleOptions =
|
||||
|
|
|
@ -8,9 +8,7 @@
|
|||
};
|
||||
|
||||
outputs = { self, flake-modules-core, ... }:
|
||||
(flake-modules-core.lib.evalFlakeModule
|
||||
{ inherit self; }
|
||||
{
|
||||
flake-modules-core.mkFlake { inherit self; } {
|
||||
imports = [
|
||||
# To import a flake module
|
||||
# 1. Add foo to inputs
|
||||
|
@ -33,6 +31,5 @@
|
|||
# those are more easily expressed in perSystem.
|
||||
|
||||
};
|
||||
}
|
||||
).config.flake;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue