mirror of
https://github.com/hercules-ci/flake-parts.git
synced 2024-12-14 11:47:31 +00:00
Merge remote-tracking branch 'origin/main' into unused
This commit is contained in:
commit
cfbbf9bc25
3 changed files with 38 additions and 4 deletions
23
ChangeLog.md
23
ChangeLog.md
|
@ -1,3 +1,26 @@
|
||||||
|
|
||||||
|
# 2023-05-30
|
||||||
|
|
||||||
|
- Fix a strictness issue in `perInput`, affecting `inputs'`, `self'`.
|
||||||
|
This has caused infinite recursions and potentially performance issues since
|
||||||
|
the introduction of these module arguments.
|
||||||
|
|
||||||
|
# 2023-05-08
|
||||||
|
|
||||||
|
- Add [`importApply`](https://flake.parts/define-module-in-separate-file.html?highlight=importApply#importApply) for bringing variables from the flake scope into module files.
|
||||||
|
|
||||||
|
- Add `mkDeferredModuleOption` as a generic name for the implementation of `mkPerSystemOption`.
|
||||||
|
|
||||||
|
# 2023-03-26
|
||||||
|
|
||||||
|
- Add preliminary support for `disabledModules` for modules exposed via the importable `flakeModules` module.
|
||||||
|
This requires a Nixpkgs of 2023-03-09 or newer.
|
||||||
|
|
||||||
|
# 2023-01-05
|
||||||
|
|
||||||
|
- Add importable `easyOverlay` module for defining an overlay "easily" by reusing `perSystem`.
|
||||||
|
This is not for consuming overlays.
|
||||||
|
|
||||||
# 2022-12-25
|
# 2022-12-25
|
||||||
|
|
||||||
- Added a new `flake.flakeModules` option so a flake can expose a module
|
- Added a new `flake.flakeModules` option so a flake can expose a module
|
||||||
|
|
|
@ -35,6 +35,18 @@ rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
packagesNonStrictInDevShells = mkFlake
|
||||||
|
{ inputs.self = packagesNonStrictInDevShells; /* approximation */ }
|
||||||
|
{
|
||||||
|
systems = [ "a" "b" ];
|
||||||
|
perSystem = { system, self', ... }: {
|
||||||
|
packages.hello = pkg system "hello";
|
||||||
|
packages.default = self'.packages.hello;
|
||||||
|
devShells = throw "can't be strict in perSystem.devShells!";
|
||||||
|
};
|
||||||
|
flake.devShells = throw "can't be strict in devShells!";
|
||||||
|
};
|
||||||
|
|
||||||
easyOverlay = mkFlake
|
easyOverlay = mkFlake
|
||||||
{ inputs.self = { }; }
|
{ inputs.self = { }; }
|
||||||
{
|
{
|
||||||
|
@ -148,6 +160,8 @@ rec {
|
||||||
|
|
||||||
assert flakeModulesDisable.test123 == "option123";
|
assert flakeModulesDisable.test123 == "option123";
|
||||||
|
|
||||||
|
assert packagesNonStrictInDevShells.packages.a.default == pkg "a" "hello";
|
||||||
|
|
||||||
ok;
|
ok;
|
||||||
|
|
||||||
result = runTests "ok";
|
result = runTests "ok";
|
||||||
|
|
|
@ -61,10 +61,7 @@ in
|
||||||
system: flake:
|
system: flake:
|
||||||
mapAttrs
|
mapAttrs
|
||||||
(attrName: attrConfig: flake.${attrName}.${system})
|
(attrName: attrConfig: flake.${attrName}.${system})
|
||||||
(filterAttrs
|
config.transposition;
|
||||||
(attrName: attrConfig: flake?${attrName}.${system})
|
|
||||||
config.transposition
|
|
||||||
);
|
|
||||||
|
|
||||||
perSystem = {
|
perSystem = {
|
||||||
options =
|
options =
|
||||||
|
|
Loading…
Reference in a new issue