listToAttrs o map o attrsToListmapAttrs' (#489)

Reviewed-on: Fediversity/Fediversity#489
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
Co-authored-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
Co-committed-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
This commit is contained in:
Nicolas Jeannerod 2025-08-01 13:09:26 +02:00 committed by kiara Grouwstra
parent 588bb77a94
commit 1f99a4c6c3

View file

@ -14,9 +14,7 @@ let
mkOption mkOption
evalModules evalModules
filterAttrs filterAttrs
attrsToList mapAttrs'
map
listToAttrs
deepSeq deepSeq
; ;
inherit (lib.attrsets) genAttrs; inherit (lib.attrsets) genAttrs;
@ -200,27 +198,17 @@ in
{ pkgs, ... }: { pkgs, ... }:
{ {
checks = checks =
listToAttrs ( mapAttrs' (name: nixosConfiguration: {
map ( name = "nixosConfigurations-${name}";
{ name, value }: value = nixosConfiguration.config.system.build.toplevel;
{ }) nixosConfigurations
name = "nixosConfigurations-${name}"; // mapAttrs' (name: vmOptions: {
value = value.config.system.build.toplevel; name = "vmOptions-${name}";
} ## Check that VM options builds/evaluates correctly. `deepSeq e1
) (attrsToList nixosConfigurations) ## e2` evaluates `e1` strictly in depth before returning `e2`. We
) ## use this trick because checks need to be derivations, which VM
// listToAttrs ( ## options are not.
map ( value = deepSeq vmOptions pkgs.hello;
{ name, value }: }) vmOptions;
{
name = "vmOptions-${name}";
## Check that VM options builds/evaluates correctly. `deepSeq e1
## e2` evaluates `e1` strictly in depth before returning `e2`. We
## use this trick because checks need to be derivations, which VM
## options are not.
value = deepSeq value pkgs.hello;
}
) (attrsToList vmOptions)
);
}; };
} }