build01: building jwg0pmbc583wdz8dsx4gxzarvp6jw8l5-evalCheck-eval-lib-distributedServices.drv warning: not writing modified lock file of flake 'path:/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source': • Updated input 'data-mesher': 'https://git.clan.lol/api/v1/repos/clan/data-mesher/archive/4f7b0d3b73da323c0a68b5d7422f6f19124d0392.tar.gz?narHash=sha256-5dCQfuon%2BqbWnbqxMI55HdrInZMrzMw9sRmzk%2B3Ccjg%3D' (2026-10-05) → 'path:/nix/store/asya8pxf7risbjh0n14dlqjal1rw8jh9-source?lastModified=1&narHash=sha256-5dCQfuon%2BqbWnbqxMI55HdrInZMrzMw9sRmzk%2B3Ccjg%3D' (1970-01-01) • Updated input 'disko': 'github:nix-community/disko/725ea35e410ad83be4931d1bff7e090eacaf3563?narHash=sha256-uZkBR7yHdIKUFB5SZdfgh1qkGfI3XmYmI/lTiquxbck%3D' (2026-09-18) → 'path:/nix/store/adcpmshidndclaz4dxjsgklrx3gqhaxp-source?lastModified=1&narHash=sha256-uZkBR7yHdIKUFB5SZdfgh1qkGfI3XmYmI/lTiquxbck%3D' (1970-01-01) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/024633cd702b10285db5cb19b40ad48d2399ba60?narHash=sha256-zTwuwezD0w3hpga6a6P8emidzAZFyWqlNeRBlpWOOl8%3D' (2026-10-01) → 'path:/nix/store/6xr58mfvs42ixw6428x3vm9l5h88l2z7-source?lastModified=1&narHash=sha256-zTwuwezD0w3hpga6a6P8emidzAZFyWqlNeRBlpWOOl8%3D' (1970-01-01) • Updated input 'nix-darwin': 'github:nix-darwin/nix-darwin/4cff07de74b50e64bdd68cd4e722ab5b6b35ee48?narHash=sha256-oQFip%2Bv0luP8NIxJzmiW4Wu8bILsbFWom5l0zonl8hQ%3D' (2026-08-16) → 'path:/nix/store/8ggr67sci43hlp8ba6rhjrdhhj5490am-source?lastModified=1&narHash=sha256-oQFip%2Bv0luP8NIxJzmiW4Wu8bILsbFWom5l0zonl8hQ%3D' (1970-01-01) • Updated input 'nix-select': 'https://git.clan.lol/api/v1/repos/clan/nix-select/archive/3d1e3860bef36857a01a2ddecba7cdb0a14c35a9.tar.gz?narHash=sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg%3D' (2025-11-16) → 'path:/nix/store/cba1x9mxnwr8b36cw41bya7g6d5v1p7d-source?lastModified=1&narHash=sha256-yxcNOha7Cfv2nhVpz9ZXSNKk0R7wt4AiBklJ8D24rVg%3D' (1970-01-01) • Updated input 'nixpkgs': 'https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1085827.aa48d3470809/nixexprs.tar.xz?narHash=sha256-R4B%2BRRYmze9htmPZ8xeF19mchTSH99GdaqanKCW8CF8%3D' (2026-10-05) → 'path:/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source?lastModified=1&narHash=sha256-R4B%2BRRYmze9htmPZ8xeF19mchTSH99GdaqanKCW8CF8%3D' (1970-01-01) • Updated input 'sops-nix': 'github:Mic92/sops-nix/dcd241ba97088c22569d1573286e1b9daad340c0?narHash=sha256-nFxM%2BpKoZ8LJAEnUXARyCaOAloWgaW9kZQOSjWzKcTE%3D' (2026-10-04) → 'path:/nix/store/0w8jfjkpbh7z0v22mwp2dsxmv14j7lwn-source?lastModified=1&narHash=sha256-nFxM%2BpKoZ8LJAEnUXARyCaOAloWgaW9kZQOSjWzKcTE%3D' (1970-01-01) • Updated input 'systems': 'github:nix-systems/default/d36eeed142f88b5a636f2e3856a53c61654cf29b?narHash=sha256-uuanbkFk8a313Zfrxdcz8Us/yQtaxNnKJtX8v0ZPpd8%3D' (2026-10-05) → 'path:/nix/store/3wgddllhk35g2vr8ybjczx2lkqnrsjw5-source?lastModified=1&narHash=sha256-uuanbkFk8a313Zfrxdcz8Us/yQtaxNnKJtX8v0ZPpd8%3D' (1970-01-01) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/0d6d739a833ba9a9c93034862e4a7b061a062a1c?narHash=sha256-C3alQ2MEt0zVrUSho5NUDo3jmhbff72%2B%2BbfwoqT9Omo%3D' (2026-10-13) → 'path:/nix/store/mk5plyv9rrsck1mz8yjra5zphcjai2lj-source?lastModified=1&narHash=sha256-C3alQ2MEt0zVrUSho5NUDo3jmhbff72%2B%2BbfwoqT9Omo%3D' (1970-01-01) ☢️ api_feature_meta.test_default_resolves_meta error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/api_feature_meta.nix:56:13: 55| 56| service = res.config._services.allServices.self-A; | ^ 57| assertions = service.result.assertions; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ api_feature_meta.test_no_failing_assertion error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/api_feature_meta.nix:56:13: 55| 56| service = res.config._services.allServices.self-A; | ^ 57| assertions = service.result.assertions; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ api_feature_meta.test_schema_is_forceable error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/api_feature_meta.nix:56:13: 55| 56| service = res.config._services.allServices.self-A; | ^ 57| assertions = service.result.assertions; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ api_feature_meta.test_static_default_still_works error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/api_feature_meta.nix:93:18: 92| }; 93| schemaNoMeta = resNoMeta.config._services.allServices.self-A.result.api.schema; | ^ 94| in … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ cli_checks.test_exact_machine_count_pass error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/cli_checks.nix:182:14: 181| inherit res; 182| expr = res.config.clanInternals.cliChecks; | ^ 183| expected = [ ]; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `clanInternals.cliChecks': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'concatMap' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:170:31: 169| 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( | ^ 171| lib.attrValues config._services.allServices … while calling the 'attrValues' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:7: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:22: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': (17 duplicate frames omitted) … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ cli_checks.test_maxInstances_fail error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/cli_checks.nix:87:14: 86| inherit res; 87| expr = res.config.clanInternals.cliChecks; | ^ 88| expected = [ … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `clanInternals.cliChecks': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'concatMap' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:170:31: 169| 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( | ^ 171| lib.attrValues config._services.allServices … while calling the 'attrValues' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:7: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:22: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': (17 duplicate frames omitted) … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ cli_checks.test_maxInstances_pass error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/cli_checks.nix:60:14: 59| inherit res; 60| expr = res.config.clanInternals.cliChecks; | ^ 61| expected = [ ]; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `clanInternals.cliChecks': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'concatMap' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:170:31: 169| 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( | ^ 171| lib.attrValues config._services.allServices … while calling the 'attrValues' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:7: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:22: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': (17 duplicate frames omitted) … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ cli_checks.test_maxMachines_fail error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/cli_checks.nix:151:14: 150| inherit res; 151| expr = res.config.clanInternals.cliChecks; | ^ 152| expected = [ … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `clanInternals.cliChecks': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'concatMap' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:170:31: 169| 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( | ^ 171| lib.attrValues config._services.allServices … while calling the 'attrValues' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:7: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:22: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': (17 duplicate frames omitted) … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ cli_checks.test_minMachines_fail error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/cli_checks.nix:119:14: 118| inherit res; 119| expr = res.config.clanInternals.cliChecks; | ^ 120| expected = [ … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `clanInternals.cliChecks': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'concatMap' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:170:31: 169| 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( | ^ 171| lib.attrValues config._services.allServices … while calling the 'attrValues' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:7: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:22: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': (17 duplicate frames omitted) … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ cli_checks.test_no_constraints error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/cli_checks.nix:38:14: 37| inherit res; 38| expr = res.config.clanInternals.cliChecks; | ^ 39| expected = [ ]; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `clanInternals.cliChecks': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'concatMap' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:170:31: 169| 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( | ^ 171| lib.attrValues config._services.allServices … while calling the 'attrValues' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:7: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:171:22: 170| clanInternals.cliChecks = lib.concatMap (svc: svc.result.cliChecks) ( 171| lib.attrValues config._services.allServices | ^ 172| ); … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': (17 duplicate frames omitted) … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ✅ extraModules.test_1 ✅ machine_imports.test_1 ☢️ per_instance_args.test_per_instance_arguments error: … while evaluating the attribute 'settings' at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/per_instance_args.nix:122:7: 121| # machines = jon 122| settings = | ^ 123| res.config._services.allServices.self-A.result.allRoles.peer.allInstances.instance_foo.allMachines.jon.passthru.settings; … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/per_instance_args.nix:123:9: 122| settings = 123| res.config._services.allServices.self-A.result.allRoles.peer.allInstances.instance_foo.allMachines.jon.passthru.settings; | ^ 124| machine = … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ per_instance_args.test_per_instance_settings_vendoring error: … while evaluating the attribute 'settings' at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/per_instance_args.nix:122:7: 121| # machines = jon 122| settings = | ^ 123| res.config._services.allServices.self-A.result.allRoles.peer.allInstances.instance_foo.allMachines.jon.passthru.settings; … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/per_instance_args.nix:123:9: 122| settings = 123| res.config._services.allServices.self-A.result.allRoles.peer.allInstances.instance_foo.allMachines.jon.passthru.settings; | ^ 124| machine = … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ per_machine_args.test_per_machine_receives_instance_settings error: … while evaluating the attribute 'hasMachineSettings' at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/per_machine_args.nix:97:7: 96| expr = { 97| hasMachineSettings = | ^ 98| res.config._services.allServices.self-A.result.allMachines.jon.passthru.instances.instance_foo.roles.peer.machines.jon … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/per_machine_args.nix:98:9: 97| hasMachineSettings = 98| res.config._services.allServices.self-A.result.allMachines.jon.passthru.instances.instance_foo.roles.peer.machines.jon | ^ 99| ? settings; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ per_machine_args.test_per_machine_roles_only_assigned error: … while evaluating the attribute 'hasMachineSettings' at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/per_machine_args.nix:97:7: 96| expr = { 97| hasMachineSettings = | ^ 98| res.config._services.allServices.self-A.result.allMachines.jon.passthru.instances.instance_foo.roles.peer.machines.jon … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/per_machine_args.nix:98:9: 97| hasMachineSettings = 98| res.config._services.allServices.self-A.result.allMachines.jon.passthru.instances.instance_foo.roles.peer.machines.jon | ^ 99| ? settings; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ resolve_module_spec.test_import_local_module_by_name error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/import_module_spec.nix:39:7: 38| expr = 39| (resolve { | ^ 40| name = "A"; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ resolve_module_spec.test_import_remote_module_by_name error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/import_module_spec.nix:47:7: 46| expr = 47| (resolve { | ^ 48| name = "uzzi"; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ settings.test_simple error: … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/settings.nix:60:17: 59| 60| mapSettings = lib.mapAttrs applySettings config.instances; | ^ 61| in … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/settings.nix:48:12: 47| 48| config = res.config._services.allServices.self-A; | ^ 49| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ settings.test_tag_settings error: … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/settings.nix:120:14: 119| }; 120| map2 = lib.mapAttrs ( | ^ 121| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/settings.nix:129:16: 128| ) config.instances; 129| config = res2.config._services.allServices."self-B"; | ^ 130| in … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ specialArgs.test_simple error: … while calling the 'attrNames' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/specialArgs.nix:31:17: 30| 31| specialArgs = lib.attrNames res.config._services.allServices.self-A.test.specialArgs; | ^ 32| in … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/specialArgs.nix:31:31: 30| 31| specialArgs = lib.attrNames res.config._services.allServices.self-A.test.specialArgs; | ^ 32| in … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ test_add_machines_directly error: … while calling the 'attrNames' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:275:14: 274| # We might change the attribute name in the future 275| expr = lib.attrNames res.config._services.allServices.self-A.result.allMachines; | ^ 276| expected = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:275:28: 274| # We might change the attribute name in the future 275| expr = lib.attrNames res.config._services.allServices.self-A.result.allMachines; | ^ 276| expected = [ … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ test_add_machines_via_tags error: … while calling the 'attrNames' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:329:14: 328| # We might change the attribute name in the future 329| expr = lib.attrNames res.config._services.allServices.self-A.result.allMachines; | ^ 330| expected = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:329:28: 328| # We might change the attribute name in the future 329| expr = lib.attrNames res.config._services.allServices.self-A.result.allMachines; | ^ 330| expected = [ … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ test_creates_all_instances error: … while calling the 'attrNames' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:217:14: 216| # We might change the attribute name in the future 217| expr = lib.attrNames res.config._services.allServices.self-A.instances; | ^ 218| expected = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:217:28: 216| # We might change the attribute name in the future 217| expr = lib.attrNames res.config._services.allServices.self-A.instances; | ^ 218| expected = [ … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ test_manifest_maintainers error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:106:14: 105| { 106| expr = res.config._services.allServices.self-maintained-module.manifest.maintainers; | ^ 107| expected = [ … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ test_module_grouping error: … while calling the 'attrNames' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:171:14: 170| # We might change the attribute name in the future 171| expr = lib.attrNames res.config._services.allServices; | ^ 172| expected = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:171:28: 170| # We might change the attribute name in the future 171| expr = lib.attrNames res.config._services.allServices; | ^ 172| expected = [ … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| ☢️ test_simple error: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/lib/inventory/distributed-service/tests/default.nix:74:14: 73| # We might change the attribute name in the future 74| expr = res.config._services.allServices ? "-simple-module"; | ^ 75| expected = true; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `_services.allServices': … while evaluating the attribute 'mergedValue' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1276:5: 1275| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1276| mergedValue = | ^ 1277| if isDefined then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1277:7: 1276| mergedValue = 1277| if isDefined then | ^ 1278| if type.merge ? v2 then … while evaluating the attribute 'values' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1270:11: 1269| { 1270| values = defsSorted; | ^ 1271| inherit (defsFiltered) highestPrio; … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:13: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … while calling the 'any' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1264:16: 1263| # Avoid sorting if we don't have to. 1264| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1265| sortProperties defsFiltered.values … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1259:26: 1258| # Process mkOverride properties. 1259| defsFiltered = filterOverrides' defsNormalized; | ^ 1260| … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1460:5: 1459| in 1460| defs: | ^ 1461| # Optimize for the singleton case, equivalent to the `else` clause. … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:5: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'length' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1462:8: 1461| # Optimize for the singleton case, equivalent to the `else` clause. 1462| if length defs == 1 then | ^ 1463| { … while calling the 'concatMap' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1244:28: 1243| # Process mkMerge and mkIf properties. 1244| defsNormalized = concatMap ( | ^ 1245| m: … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1245:13: 1244| defsNormalized = concatMap ( 1245| m: | ^ 1246| map ( … while calling the 'map' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1246:13: 1245| m: 1246| map ( | ^ 1247| value: … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:128:25: 127| # All services 128| allServices = lib.mapAttrs (_module_ident: instances: { | ^ 129| imports = [ … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:17:13: 16| 17| grouped = lib.foldlAttrs ( | ^ 18| acc: instanceName: instance: … while calling 'foldlAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:783:14: 782| foldlAttrs = 783| f: init: set: | ^ 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); … while calling the 'foldl'' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:5: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'attrNames' builtin at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:784:54: 783| f: init: set: 784| foldl' (acc: name: f acc name set.${name}) init (attrNames set); | ^ 785| … while calling the 'mapAttrs' builtin at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:33:33: 32| 33| importedModuleWithInstances = lib.mapAttrs ( | ^ 34| instanceName: instance: … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/distributed-services.nix:13:15: 12| 13| inventory = clanConfig.inventory; | ^ 14| flakeInputs = clanConfig.self.inputs; … while calling anonymous lambda at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:283:38: 282| let 283| recurse = mapAttrs (n: v: if isOption v then v.value else recurse v); | ^ 284| in … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1181:7: 1180| // { 1181| value = addErrorContext "while evaluating the option `${showOption loc}':" ( | ^ 1182| # Apply the 'apply' function to the merged value. This allows options to … while evaluating the option `inventory': (12 duplicate frames omitted) … while evaluating definitions from `/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix': … from call site at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1255:82: 1254| } 1255| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1256| ) defs; … while calling 'dischargeProperties' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1411:5: 1410| dischargeProperties = 1411| def: | ^ 1412| if def ? _type then … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:1412:5: 1411| def: 1412| if def ? _type then | ^ 1413| if def._type == "if" then … while evaluating the attribute 'value' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/modules.nix:866:21: 865| inherit (module) file; 866| inherit value; | ^ 867| }) module.config … from call site at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:143:19: 142| # Note: we use clanLib.fs here, so that we can override it in tests 143| inventory = lib.optionalAttrs (clanLib.fs.pathExists "${directory}/machines") { | ^ 144| imports = lib.mapAttrsToList (name: _t: { … while calling 'optionalAttrs' at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:25: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| … while evaluating a branch condition at /build/nix/store/vlhb7haagkjabf20g1vg9kxi53fcpi17-source/lib/attrsets.nix:1479:29: 1478| */ 1479| optionalAttrs = cond: as: if cond then as else { }; | ^ 1480| error: attribute 'clanLib' missing at /build/nix/store/j0zfxpxxf8smni4zq77xiqlyzaqnxz7j-source/modules/clan/module.nix:49:23: 48| 49| inherit (clan-core) clanLib; | ^ 50| 😢 2/27 successful error: Tests failed Eval check failed. To re-run this test: nix build .#legacyPackages.aarch64-linux.evalCheck-eval-lib-distributedServices