Skip to content

Use cardano-config and adopt db-synthesizer - #6628

Draft
jasagredo wants to merge 4 commits into
f-f/prepare-11.1from
js/cardano-config-db-synth
Draft

Use cardano-config and adopt db-synthesizer#6628
jasagredo wants to merge 4 commits into
f-f/prepare-11.1from
js/cardano-config-db-synth

Update to newer LSM options format

7baf712
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/eval:x86_64-linux.native.checks/nixosTests/cardanoNodeArtifact failed Jul 24, 2026 in 15s

Evaluation failed

Checkout took 5s.
Evaluation took 9 min 1s.

Details

Evaluation error:

error:
       … while calling anonymous lambda
         at /nix/store/lmb4l79j5qlnk8kgfqcjz5a9janbb79x-source/flake.nix:212:55:
          211|         (optionalAttrs hostPlatform.isLinux (
          212|           prefixNamesWith "nixosTests/" (mapAttrs (_: v: v.${system} or v) nixosTests)
             |                                                       ^
          213|         ))

       … while evaluating the attribute 'x86_64-linux'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:988:47:
          987|   */
          988|   nameValuePair = name: value: { inherit name value; };
             |                                               ^
          989|

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1349:61:
         1348|   */
         1349|   genAttrs = names: f: genAttrs' names (n: nameValuePair n (f n));
             |                                                             ^
         1350|

       … while calling anonymous lambda
         at /nix/store/lmb4l79j5qlnk8kgfqcjz5a9janbb79x-source/nix/nixos/tests/default.nix:23:39:
           22|   # syncing but can still ensure services start and listen as expected.
           23|   callTest = fn: args: forAllSystems (system: hydraJob (importTest fn args system));
             |                                       ^
           24| in {

       … from call site
         at /nix/store/lmb4l79j5qlnk8kgfqcjz5a9janbb79x-source/nix/nixos/tests/default.nix:23:47:
           22|   # syncing but can still ensure services start and listen as expected.
           23|   callTest = fn: args: forAllSystems (system: hydraJob (importTest fn args system));
             |                                               ^
           24| in {

       … while calling 'hydraJob'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/customisation.nix:455:5:
          454|   hydraJob =
          455|     drv:
             |     ^
          456|     let

       … while calling the 'deepSeq' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/customisation.nix:488:35:
          487|     in
          488|     if drv == null then null else deepSeq drv' drv';
             |                                   ^
          489|

       … while evaluating the attribute 'outPath'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/customisation.nix:477:13:
          476|           value = commonAttrs // {
          477|             outPath = output.outPath;
             |             ^
          478|             drvPath = output.drvPath;

       … while evaluating the attribute 'outPath'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/customisation.nix:410:13:
          409|               drv.${outputName}.drvPath;
          410|             outPath =
             |             ^
          411|               assert condition;

       … while calling the 'getAttr' builtin
         at «nix-internal»/derivation-internal.nix:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'vm-test-run-cardano-node-artifact-test'
         whose name attribute is located at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/stdenv/generic/make-derivation.nix:539:13

       … while evaluating attribute 'buildCommand' of derivation 'vm-test-run-cardano-node-artifact-test'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/lib/testing/run.nix:107:9:
          106|
          107|         buildCommand = ''
             |         ^
          108|           mkdir -p $out

       … while calling the 'getAttr' builtin
         at «nix-internal»/derivation-internal.nix:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'nixos-test-driver-cardano-node-artifact-test'
         whose name attribute is located at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/stdenv/generic/make-derivation.nix:539:13

       … while evaluating attribute 'buildCommand' of derivation 'nixos-test-driver-cardano-node-artifact-test'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/build-support/trivial-builders/default.nix:80:17:
           79|         enableParallelBuilding = true;
           80|         inherit buildCommand name;
             |                 ^
           81|         passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);

       … while calling the 'toString' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/lib/testing/driver.nix:65:38:
           64|
           65|         vmStartScripts=($(for i in ${toString vms}; do echo $i/bin/run-*-vm; done))
             |                                      ^
           66|

       … while evaluating the first argument passed to builtins.toString

       … while calling the 'getAttr' builtin
         at «nix-internal»/derivation-internal.nix:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'nixos-vm'
         whose name attribute is located at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/stdenv/generic/make-derivation.nix:539:13

       … while evaluating attribute 'buildCommand' of derivation 'nixos-vm'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/build-support/trivial-builders/default.nix:80:17:
           79|         enableParallelBuilding = true;
           80|         inherit buildCommand name;
             |                 ^
           81|         passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/virtualisation/qemu-vm.nix:1449:19:
         1448|           mkdir -p $out/bin
         1449|           ln -s ${config.system.build.toplevel} $out/system
             |                   ^
         1450|           ln -s ${hostPkgs.writeScript "run-nixos-vm" startVM} $out/bin/run-${config.system.name}-vm

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1696:14:
         1695|         zipAttrsWith (
         1696|           n: values:
             |              ^
         1697|           let

       … while calling the 'head' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1701:13:
         1700|           if length values == 1 || pred here (elemAt values 1) (head values) then
         1701|             head values
             |             ^
         1702|           else

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1193:17:
         1192|         mapAttrs (
         1193|           name: value:
             |                 ^
         1194|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1194:85:
         1193|           name: value:
         1194|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1195|         );

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:275:71:
          274|           # For definitions that have an associated option
          275|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          276|

       … while evaluating the attribute 'value'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1118:7:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `nodes.machine.system.build.toplevel':

       … while evaluating the attribute 'mergedValue'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1166:5:
         1165|     # Type-check the remaining definitions, and merge them. Or throw if no definitions.
         1166|     mergedValue =
             |     ^
         1167|       if isDefined then

       … while evaluating a branch condition
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1167:7:
         1166|     mergedValue =
         1167|       if isDefined then
             |       ^
         1168|         if type.merge ? v2 then

       … while evaluating the attribute 'values'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1160:9:
         1159|       {
         1160|         values = defsSorted;
             |         ^
         1161|         inherit (defsFiltered) highestPrio;

       … while evaluating a branch condition
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1154:11:
         1153|           # Avoid sorting if we don't have to.
         1154|           if any (def: def.value._type or "" == "order") defsFiltered.values then
             |           ^
         1155|             sortProperties defsFiltered.values

       … while calling the 'any' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1154:14:
         1153|           # Avoid sorting if we don't have to.
         1154|           if any (def: def.value._type or "" == "order") defsFiltered.values then
             |              ^
         1155|             sortProperties defsFiltered.values

       … while evaluating the attribute 'values'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1331:7:
         1330|     {
         1331|       values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs;
             |       ^
         1332|       inherit highestPrio;

       … while calling the 'concatMap' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1331:16:
         1330|     {
         1331|       values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs;
             |                ^
         1332|       inherit highestPrio;

       … while calling the 'concatMap' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1134:26:
         1133|         # Process mkMerge and mkIf properties.
         1134|         defsNormalized = concatMap (
             |                          ^
         1135|           m:

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1135:11:
         1134|         defsNormalized = concatMap (
         1135|           m:
             |           ^
         1136|           map (

       … while calling the 'map' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1136:11:
         1135|           m:
         1136|           map (
             |           ^
         1137|             value:

       … while evaluating definitions from `/nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/top-level.nix':

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1145:80:
         1144|               }
         1145|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
         1146|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1282:5:
         1281|   dischargeProperties =
         1282|     def:
             |     ^
         1283|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1283:5:
         1282|     def:
         1283|     if def._type or "" == "merge" then
             |     ^
         1284|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:805:21:
          804|             inherit (module) file;
          805|             inherit value;
             |                     ^
          806|           }) module.config

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/top-level.nix:83:26:
           82|   # Handle assertions and warnings
           83|   baseSystemAssertWarn = lib.asserts.checkAssertWarn config.assertions config.warnings baseSystem;
             |                          ^
           84|

       … while calling 'checkAssertWarn'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/asserts.nix:193:27:
          192|   checkAssertWarn =
          193|     assertions: warnings: val:
             |                           ^
          194|     let

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/asserts.nix:200:7:
          199|     else
          200|       showWarnings warnings val;
             |       ^
          201|

       … while calling 'showWarnings'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/trivial.nix:982:28:
          981|
          982|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                            ^
          983|

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/trivial.nix:982:33:
          981|
          982|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                                 ^
          983|

       … while calling 'foldr'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/lists.nix:139:14:
          138|   foldr =
          139|     op: nul: list:
             |              ^
          140|     let

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/lists.nix:144:5:
          143|     in
          144|     fold' 0;
             |     ^
          145|

       … while calling 'fold''
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/lists.nix:142:15:
          141|       len = length list;
          142|       fold' = n: if n == len then nul else op (elemAt list n) (fold' (n + 1));
             |               ^
          143|     in

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/top-level.nix:65:16:
           64|   # makes it bootable. See `activatable-system.nix`.
           65|   baseSystem = pkgs.stdenvNoCC.mkDerivation (
             |                ^
           66|     {

       … while calling 'mkDerivation'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/stdenv/generic/make-derivation.nix:66:18:
           65|   */
           66|   mkDerivation = fnOrAttrs: makeDerivationExtensible (toFunction fnOrAttrs);
             |                  ^
           67|

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/stdenv/generic/make-derivation.nix:66:29:
           65|   */
           66|   mkDerivation = fnOrAttrs: makeDerivationExtensible (toFunction fnOrAttrs);
             |                             ^
           67|

       … while calling 'makeDerivationExtensible'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/stdenv/generic/make-derivation.nix:77:5:
           76|   makeDerivationExtensible =
           77|     rattrs:
             |     ^
           78|     let

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/stdenv/generic/make-derivation.nix:138:22:
          137|
          138|       finalPackage = mkDerivationSimple overrideAttrs args;
             |                      ^
          139|

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/stdenv/generic/make-derivation.nix:66:55:
           65|   */
           66|   mkDerivation = fnOrAttrs: makeDerivationExtensible (toFunction fnOrAttrs);
             |                                                       ^
           67|

       … while calling 'toFunction'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/trivial.nix:1120:16:
         1119|   */
         1120|   toFunction = v: if isFunction v then v else k: v;
             |                ^
         1121|

       … while evaluating a branch condition
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/trivial.nix:1120:19:
         1119|   */
         1120|   toFunction = v: if isFunction v then v else k: v;
             |                   ^
         1121|

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/trivial.nix:1120:22:
         1119|   */
         1120|   toFunction = v: if isFunction v then v else k: v;
             |                      ^
         1121|

       … while calling 'isFunction'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/trivial.nix:1043:16:
         1042|   */
         1043|   isFunction = f: builtins.isFunction f || (f ? __functor && isFunction (f.__functor f));
             |                ^
         1044|

       … in the left operand of the OR (||) operator
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/trivial.nix:1043:41:
         1042|   */
         1043|   isFunction = f: builtins.isFunction f || (f ? __functor && isFunction (f.__functor f));
             |                                         ^
         1044|

       … while calling the 'isFunction' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/trivial.nix:1043:19:
         1042|   */
         1043|   isFunction = f: builtins.isFunction f || (f ? __functor && isFunction (f.__functor f));
             |                   ^
         1044|

       … in the right operand of the update (//) operator
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/top-level.nix:79:8:
           78|     }
           79|     // config.system.systemBuilderArgs
             |        ^
           80|   );

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/top-level.nix:79:8:
           78|     }
           79|     // config.system.systemBuilderArgs
             |        ^
           80|   );

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1193:17:
         1192|         mapAttrs (
         1193|           name: value:
             |                 ^
         1194|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1194:85:
         1193|           name: value:
         1194|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1195|         );

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:275:71:
          274|           # For definitions that have an associated option
          275|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          276|

       … while evaluating the attribute 'value'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1118:7:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `nodes.machine.system.systemBuilderArgs':

       … while evaluating the attribute 'mergedValue'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1166:5:
         1165|     # Type-check the remaining definitions, and merge them. Or throw if no definitions.
         1166|     mergedValue =
             |     ^
         1167|       if isDefined then

       … while evaluating the attribute 'value'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/types.nix:847:17:
          846|                 headError = checkDefsForError check loc defs;
          847|                 value = mapAttrs (
             |                 ^
          848|                   n: v:

       … while calling the 'mapAttrs' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/types.nix:847:25:
          846|                 headError = checkDefsForError check loc defs;
          847|                 value = mapAttrs (
             |                         ^
          848|                   n: v:

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/types.nix:841:21:
          840|                     # Meaning it is less lazy
          841|                     filterAttrs (n: v: v.optionalValue ? value) (
             |                     ^
          842|                       zipAttrsWith (name: defs: mergeDefinitions (loc ++ [ name ]) elemType defs) (pushPositions defs)

       … while calling 'filterAttrs'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:668:23:
          667|   */
          668|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                       ^
          669|

       … while calling the 'removeAttrs' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:668:28:
          667|   */
          668|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                            ^
          669|

       … while calling the 'filter' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:668:45:
          667|   */
          668|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                                             ^
          669|

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:668:53:
          667|   */
          668|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                                                     ^
          669|

       … in the argument of the not operator
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:668:60:
          667|   */
          668|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                                                            ^
          669|

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:668:60:
          667|   */
          668|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                                                            ^
          669|

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/types.nix:841:37:
          840|                     # Meaning it is less lazy
          841|                     filterAttrs (n: v: v.optionalValue ? value) (
             |                                     ^
          842|                       zipAttrsWith (name: defs: mergeDefinitions (loc ++ [ name ]) elemType defs) (pushPositions defs)

       … while evaluating the attribute 'optionalValue'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1227:5:
         1226|
         1227|     optionalValue = if isDefined then { value = mergedValue; } else { };
             |     ^
         1228|   };

       … while evaluating a branch condition
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1227:21:
         1226|
         1227|     optionalValue = if isDefined then { value = mergedValue; } else { };
             |                     ^
         1228|   };

       (8 duplicate frames omitted)

       … while evaluating definitions from `/nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/activatable-system.nix':

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1145:80:
         1144|               }
         1145|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
         1146|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1282:5:
         1281|   dischargeProperties =
         1282|     def:
             |     ^
         1283|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1283:5:
         1282|     def:
         1283|     if def._type or "" == "merge" then
             |     ^
         1284|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/types.nix:791:15:
          790|               inherit (def) file;
          791|               value = v;
             |               ^
          792|             }) def.value

       … while evaluating the attribute 'system.activationScripts.script'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/activation-script.nix:172:11:
          171|         // {
          172|           script = systemActivationScript set false;
             |           ^
          173|         };

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/activation-script.nix:172:20:
          171|         // {
          172|           script = systemActivationScript set false;
             |                    ^
          173|         };

       … while calling 'systemActivationScript'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/activation-script.nix:30:10:
           29|   systemActivationScript =
           30|     set: onlyDry:
             |          ^
           31|     let

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/activation-script.nix:71:9:
           70|
           71|       ${textClosureMap id (withDrySnippets) (attrNames withDrySnippets)}
             |         ^
           72|

       … while calling 'textClosureMap'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/strings-with-deps.nix:168:20:
          167|   textClosureMap =
          168|     f: predefined: names:
             |                    ^
          169|     concatStringsSep "\n" (map f (textClosureList predefined names));

       … while calling the 'concatStringsSep' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/strings-with-deps.nix:169:5:
          168|     f: predefined: names:
          169|     concatStringsSep "\n" (map f (textClosureList predefined names));
             |     ^
          170|

       … while calling 'id'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/trivial.nix:40:8:
           39|   */
           40|   id = x: x;
             |        ^
           41|

       … while evaluating the attribute 'text'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/activation-script.nix:17:7:
           16|     // {
           17|       text = ''
             |       ^
           18|         #### Activation script snippet ${a}:

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/nixos/modules/system/activation/activation-script.nix:20:11:
           19|         _localstatus=0
           20|         ${v.text}
             |           ^
           21|

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1193:17:
         1192|         mapAttrs (
         1193|           name: value:
             |                 ^
         1194|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1194:85:
         1193|           name: value:
         1194|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1195|         );

       … while calling anonymous lambda
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:275:71:
          274|           # For definitions that have an associated option
          275|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          276|

       … while evaluating the attribute 'value'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/modules.nix:1118:7:
         1117|     // {
         1118|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1119|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `nodes.machine.system.activationScripts.prepTest.text':

       (10 duplicate frames omitted)

       … while evaluating definitions from `makeTest parameters':

       (6 duplicate frames omitted)

       … while evaluating derivation 'cardano-node-11.0.1-linux'
         whose name attribute is located at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/stdenv/generic/make-derivation.nix:539:13

       … while evaluating attribute 'buildCommand' of derivation 'cardano-node-11.0.1-linux'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/pkgs/build-support/trivial-builders/default.nix:80:17:
           79|         enableParallelBuilding = true;
           80|         inherit buildCommand name;
             |                 ^
           81|         passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);

       … from call site
         at /nix/store/lmb4l79j5qlnk8kgfqcjz5a9janbb79x-source/nix/binary-release.nix:103:35:
          102|   #       exit with 1. `-u` on the otherhand will just update as needed.
          103|   cp -u --remove-destination -v ${pkgs.lib.concatMapStringsSep " " (exe: "${exe}/bin/*") exes} ./bin
             |                                   ^
          104|   chmod -R +w .

       … while calling 'concatMapStringsSep'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/strings.nix:231:13:
          230|   concatMapStringsSep =
          231|     sep: f: list:
             |             ^
          232|     concatStringsSep sep (map f list);

       … while calling the 'concatStringsSep' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/strings.nix:232:5:
          231|     sep: f: list:
          232|     concatStringsSep sep (map f list);
             |     ^
          233|

       … while calling the 'map' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/strings.nix:232:27:
          231|     sep: f: list:
          232|     concatStringsSep sep (map f list);
             |                           ^
          233|

       … from call site
         at /nix/store/lmb4l79j5qlnk8kgfqcjz5a9janbb79x-source/flake.nix:376:21:
          375|                   exes =
          376|                     collect isDerivation (
             |                     ^
          377|                       filterAttrs (n: _: elem n releaseBins) projectExes

       … while calling 'collect'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:877:11:
          876|   collect =
          877|     pred: attrs:
             |           ^
          878|     if pred attrs then

       … while calling the 'concatMap' builtin
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:881:7:
          880|     else if isAttrs attrs then
          881|       concatMap (collect pred) (attrValues attrs)
             |       ^
          882|     else

       … while calling 'collect'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:877:11:
          876|   collect =
          877|     pred: attrs:
             |           ^
          878|     if pred attrs then

       … while evaluating a branch condition
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:878:5:
          877|     pred: attrs:
          878|     if pred attrs then
             |     ^
          879|       [ attrs ]

       … from call site
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:878:8:
          877|     pred: attrs:
          878|     if pred attrs then
             |        ^
          879|       [ attrs ]

       … while calling 'isDerivation'
         at /nix/store/lsdw9m87nam4syiycx607yjf1b8v9zir-source/lib/attrsets.nix:1418:18:
         1417|   */
         1418|   isDerivation = value: value.type or null == "derivation";
             |                  ^
         1419|

       error: attribute 'db-synthesizer' missing
       at /nix/store/lmb4l79j5qlnk8kgfqcjz5a9janbb79x-source/flake.nix:138:69:
          137|           inherit (dmq-node.components.exes) dmq-node;
          138|           inherit (ouroboros-consensus.components.exes) db-analyser db-synthesizer db-truncater snapshot-converter;
             |                                                                     ^
          139|           inherit (kes-agent.components.exes) kes-agent kes-agent-control;