this derivation will be built: /nix/store/c7l12a6iqp3y3j17wk99axlbnj9d3jj1-nix-unit-check.drv building '/nix/store/xm2xr1n4klxj3p915x9ny9lj95k2zlm2-nix-unit-check.drv' on 'ssh-ng://builder@build-x86-01.clan.lol' building '/nix/store/xm2xr1n4klxj3p915x9ny9lj95k2zlm2-nix-unit-check.drv' nix-unit-check> out=/nix/store/sncnzyvbaz64c2pqwx8i80s34r4gv3by-nix-unit-check nix-unit-check> Running tests for x86_64-linux nix-unit-check> warning: `--gc-roots-dir' not specified nix-unit-check> warning: not writing modified lock file of flake 'path:/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source': nix-unit-check> • Updated input 'clan-core': nix-unit-check> 'git+https://git.clan.lol/clan/clan-core?ref=refs/heads/main&rev=5cf3efca371d3fbcc6ac0a1bf84edb79629dd0fd' (2026-07-22) nix-unit-check> → 'path:/nix/store/y8hw0fq81igisgvc73z6skgrzblmswl8-source?lastModified=1&narHash=sha256-OzvNtZUPrYeQqOO7TZd4iup3i9NeQesK1UmKIQLHaao%3D' (1970-01-01) nix-unit-check> • Updated input 'ethereum-nix': nix-unit-check> 'github:nix-community/ethereum.nix/12621446ed2cc4a0840bbc9de1a96baef84cce28?narHash=sha256-LV5%2BM47NCQj2vUk%2BJ1vah3kKDfix7J3eUbrC2Q8e8KI%3D' (2026-07-21) nix-unit-check> → 'path:/nix/store/qd8pvn5zijd87gkfwc2hknqj8cvdicbk-source?lastModified=1&narHash=sha256-LV5%2BM47NCQj2vUk%2BJ1vah3kKDfix7J3eUbrC2Q8e8KI%3D' (1970-01-01) nix-unit-check> • Updated input 'flake-parts': nix-unit-check> follows 'clan-core/flake-parts' nix-unit-check> → 'path:/nix/store/xfg4bws749i95jvnxhymxmfwailzk38q-source?lastModified=1&narHash=sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w%2B6NWK9yA%3D' (1970-01-01) nix-unit-check> • Added input 'flake-parts/nixpkgs-lib': nix-unit-check> 'github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D' (2026-06-28) nix-unit-check> • Updated input 'nix-unit': nix-unit-check> 'github:nix-community/nix-unit/21a5496ae32b16b73601ef835b9f6497b19024dc?narHash=sha256-eXyZw2ddCKT5xMY8SDnV6lkr61zvSc7CNJeJSAjKqN4%3D' (2026-07-16) nix-unit-check> → 'path:/nix/store/8cm9f310i77mqdaz579p48pgq229kbdy-source?lastModified=1&narHash=sha256-eXyZw2ddCKT5xMY8SDnV6lkr61zvSc7CNJeJSAjKqN4%3D' (1970-01-01) nix-unit-check> • Updated input 'nix-unit/nixpkgs': nix-unit-check> 'github:NixOS/nixpkgs/421eebfd0ec7bccd4abe826ce62d7e6e83129493?narHash=sha256-/FCliTPgiuV1owejZFNx3Ch9irdvkOfOFl%2BHHZ%2BDrtM%3D' (2026-07-20) nix-unit-check> → 'github:NixOS/nixpkgs/35d3407a3816f3b341d8cf1d60abaf2b7b8166ac?narHash=sha256-BoYPdqk6jlKXy%2BDyUzyGV/CtRGfAhk2MmIgBhsemTGI%3D' (2026-07-15) nix-unit-check> • Updated input 'nixpkgs': nix-unit-check> follows 'clan-core/nixpkgs' nix-unit-check> → 'path:/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source?lastModified=1&narHash=sha256-hCafbexZ0iZ/7QYkKWxCxviTU%2Bc0PDhkieiUVVPCHtY%3D' (1970-01-01) nix-unit-check> unpacking 'github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D' into the Git cache... nix-unit-check> unpacking 'github:numtide/treefmt-nix/df3c0640565d04a0261253cdd89fce78ec50168a?narHash=sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0%3D' into the Git cache... nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.besu.test devnet (network = null) passes null through nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.besu.test network is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.erigon.test chain is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.erigon.test devnet (network = null) falls back to the module default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.geth.test devnet (network = null) passes null through nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.geth.test network is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.grandine.test checkpointSyncUrl is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.grandine.test devnet (network = null) falls back to the module default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.grandine.test network is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.grandine.test unset checkpointSyncUrl leaves the option at its null default nix-unit-check> unpacking 'github:numtide/blueprint/56131e8628f173d24a27f6d27c0215eff57e40dd?narHash=sha256-Dt9t1TGRmJFc0xVYhttNBD6QsAgHOHCArqGa0AyjrJY%3D' into the Git cache... nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lighthouse.test checkpointSyncUrl is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lighthouse.test devnet (network = null) passes null through nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lighthouse.test directPeering adds boot-nodes for dialing peers nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lighthouse.test directPeering adds trusted-peers for each peer nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lighthouse.test network is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lighthouse.test no trusted-peers flag when directPeering is disabled nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lighthouse.test unset checkpointSyncUrl adds no checkpoint flag to extraArgs nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lodestar.test checkpointSyncUrl is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lodestar.test devnet (network = null) falls back to the module default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lodestar.test network is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.lodestar.test unset checkpointSyncUrl leaves the option at its null default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test adapters default EL and CL budgets to upstream guidance nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test adapters put the client in the per-network child slice nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test cgroupLimits maps request and limit verbatim nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test cgroupLimits passes a slice through as Slice nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test cgroupLimits with only a limit sets no MemoryMin nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test cgroupLimits with only a request sets no MemoryMax nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test explicit -Xmx in jvmOpts wins over the derived heap nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test heapMiB is 80 percent of the process budget nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test inventory memory settings override the adapter defaults nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test lighthouse overlay applies the budget to the unit nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test limit without request sets only the kill line nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test request above limit trips the assertion nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test request without limit sets no MemoryMax nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory."test resources.memory.request keeps non-heap jvmOpts and appends -Xmx" nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test teku memory derives -Xmx from request and maps the cgroup pair nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.memory.test unset memory leaves the unit unconstrained nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.nethermind.test chainspec is selected from the packaged chainspecs nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.nethermind.test devnet (network = null) sets no chainspec nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.nethermind.test fast and snap sync are enabled by default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.nimbus.test checkpointSyncUrl is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.nimbus.test devnet (network = null) falls back to the module default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.nimbus.test network is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.nimbus.test unset checkpointSyncUrl leaves the option at its null default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.prysm.test checkpointSyncUrl also feeds genesis-beacon-api-url nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.prysm.test checkpointSyncUrl is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.prysm.test devnet (network = null) passes null through nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.prysm.test network is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.prysm.test unset checkpointSyncUrl leaves the option at its null default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.reth.test chain is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.reth.test devnet (network = null) falls back to the module default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.teku.test checkpointSyncUrl is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.teku.test devnet (network = null) falls back to the module default nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.teku.test network is passed through from the clan service nix-unit-check> ✅ system-agnostic.dvt-ecl-adapters.teku.test unset checkpointSyncUrl leaves the option at its null default nix-unit-check> ✅ system-agnostic.dvt-lib.beacon.test co-located machine yields the local beacon address nix-unit-check> ✅ system-agnostic.dvt-lib.beacon.test honours a non-default beacon rest port nix-unit-check> ✅ system-agnostic.dvt-lib.beacon.test signer-only machine yields null nix-unit-check> ✅ system-agnostic.dvt-lib.wg.canonAddrOf.test equals canonicalizeIPv6 of the raw addrOf form nix-unit-check> ✅ system-agnostic.dvt-lib.wg.canonAddrOf.test matches the canonical hash-derived admin address nix-unit-check> ✅ system-agnostic.dvt-lib.wg.canonicalizeIPv6.test collapses a leading zero run nix-unit-check> ✅ system-agnostic.dvt-lib.wg.canonicalizeIPv6.test collapses a trailing zero run nix-unit-check> ✅ system-agnostic.dvt-lib.wg.canonicalizeIPv6.test collapses only the longest zero run, leaving a lone zero literal nix-unit-check> ✅ system-agnostic.dvt-lib.wg.canonicalizeIPv6.test collapses the fixed prefix zero run nix-unit-check> ✅ system-agnostic.dvt-lib.wg.canonicalizeIPv6.test leaves an address with no zero run untouched nix-unit-check> ✅ system-agnostic.dvt-lib.wg.canonicalizeIPv6.test strips a single per-hextet leading zero nix-unit-check> ✅ system-agnostic.dvt-lib.wg.canonicalizeIPv6.test strips multiple leading zeros within a hextet nix-unit-check> evaluation warning: system.stateVersion is not set, defaulting to 26.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion. nix-unit-check> ✅ system-agnostic.dvt-resource-guard.guard.test MemoryMin is preferred over MemoryMax as the reservation nix-unit-check> evaluation warning: system.stateVersion is not set, defaulting to 26.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion. nix-unit-check> ✅ system-agnostic.dvt-resource-guard.guard."test a slice-less unit protects system.slice" nix-unit-check> evaluation warning: system.stateVersion is not set, defaulting to 26.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion. nix-unit-check> ✅ system-agnostic.dvt-resource-guard.guard.test infinity is unbounded, not unparseable nix-unit-check> ✅ system-agnostic.dvt-resource-guard.guard.test machines without a facter report skip the check nix-unit-check> evaluation warning: system.stateVersion is not set, defaulting to 26.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion. nix-unit-check> ✅ system-agnostic.dvt-resource-guard.guard.test nested slices carry subtree sums nix-unit-check> evaluation warning: system.stateVersion is not set, defaulting to 26.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion. nix-unit-check> ☢️ system-agnostic.dvt-resource-guard.guard.test over-provisioned reservations fail with a breakdown nix-unit-check> error: nix-unit-check> … while evaluating the attribute 'assertion' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:147:25: nix-unit-check> 146| { nix-unit-check> 147| inherit (our) assertion; nix-unit-check> | ^ nix-unit-check> 148| breakdown = lib.hasInfix "el: 10240 MiB (MemoryMin)" our.message; nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:144:17: nix-unit-check> 143| }; nix-unit-check> 144| our = lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions; nix-unit-check> | ^ nix-unit-check> 145| in nix-unit-check> nix-unit-check> … while calling 'findFirst' nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:649:20: nix-unit-check> 648| findFirst = nix-unit-check> 649| pred: default: list: nix-unit-check> | ^ nix-unit-check> 650| let nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:653:5: nix-unit-check> 652| in nix-unit-check> 653| if index == null then default else elemAt list index; nix-unit-check> | ^ nix-unit-check> 654| nix-unit-check> nix-unit-check> … from call site nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:651:15: nix-unit-check> 650| let nix-unit-check> 651| index = findFirstIndex pred null list; nix-unit-check> | ^ nix-unit-check> 652| in nix-unit-check> nix-unit-check> … while calling 'findFirstIndex' nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:579:20: nix-unit-check> 578| findFirstIndex = nix-unit-check> 579| pred: default: list: nix-unit-check> | ^ nix-unit-check> 580| let nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:609:5: nix-unit-check> 608| in nix-unit-check> 609| if resultIndex < 0 then default else resultIndex; nix-unit-check> | ^ nix-unit-check> 610| nix-unit-check> nix-unit-check> … while calling the 'lessThan' builtin nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:609:20: nix-unit-check> 608| in nix-unit-check> 609| if resultIndex < 0 then default else resultIndex; nix-unit-check> | ^ nix-unit-check> 610| nix-unit-check> nix-unit-check> … while calling the 'foldl'' builtin nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:594:21: nix-unit-check> 593| # We start with index -1 and the 0'th element of the list, which satisfies the invariant nix-unit-check> 594| resultIndex = foldl' ( nix-unit-check> | ^ nix-unit-check> 595| index: el: nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:595:16: nix-unit-check> 594| resultIndex = foldl' ( nix-unit-check> 595| index: el: nix-unit-check> | ^ nix-unit-check> 596| if index < 0 then nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:598:11: nix-unit-check> 597| # No match yet before the current index, we need to check the element nix-unit-check> 598| if pred el then nix-unit-check> | ^ nix-unit-check> 599| # We have a match! Turn it into the actual index to prevent future iterations from modifying it nix-unit-check> nix-unit-check> … from call site nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:598:14: nix-unit-check> 597| # No match yet before the current index, we need to check the element nix-unit-check> 598| if pred el then nix-unit-check> | ^ nix-unit-check> 599| # We have a match! Turn it into the actual index to prevent future iterations from modifying it nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:144:32: nix-unit-check> 143| }; nix-unit-check> 144| our = lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions; nix-unit-check> | ^ nix-unit-check> 145| in nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:144:35: nix-unit-check> 143| }; nix-unit-check> 144| our = lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions; nix-unit-check> | ^ nix-unit-check> 145| in nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/strings.nix:918:7: nix-unit-check> 917| else nix-unit-check> 918| content: builtins.match ".*${escapedInfix}.*" "${content}" != null; nix-unit-check> | ^ nix-unit-check> 919| nix-unit-check> nix-unit-check> … while calling the 'match' builtin nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/strings.nix:918:16: nix-unit-check> 917| else nix-unit-check> 918| content: builtins.match ".*${escapedInfix}.*" "${content}" != null; nix-unit-check> | ^ nix-unit-check> 919| nix-unit-check> nix-unit-check> … while evaluating the second argument passed to builtins.match nix-unit-check> nix-unit-check> … while evaluating the attribute 'message' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:153:7: nix-unit-check> 152| assertion = reservationTotal + reservedMiB <= capacityMiB; nix-unit-check> 153| message = '' nix-unit-check> | ^ nix-unit-check> 154| dvt.resources.memory: machine is over-provisioned. Memory reservations total nix-unit-check> nix-unit-check> … while calling the 'toString' builtin nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:155:61: nix-unit-check> 154| dvt.resources.memory: machine is over-provisioned. Memory reservations total nix-unit-check> 155| ${toString reservationTotal} MiB + systemReserved ${toString reservedMiB} MiB nix-unit-check> | ^ nix-unit-check> 156| exceed the ${toString capacityMiB} MiB of physical RAM in the facter nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:38:17: nix-unit-check> 37| capacityMiB = guardLib.facterMemoryMiB report; nix-unit-check> 38| reservedMiB = cfg.systemReserved; nix-unit-check> | ^ nix-unit-check> 39| nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1187:17: nix-unit-check> 1186| mapAttrs ( nix-unit-check> 1187| name: value: nix-unit-check> | ^ nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:11: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … in the left operand of the AND (&&) operator nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:28: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … while calling the 'isAttrs' builtin nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:14: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:925:37: nix-unit-check> 924| nix-unit-check> 925| matchedOptions = mapAttrs (n: v: v.matchedOptions) resultsByName; nix-unit-check> | ^ nix-unit-check> 926| nix-unit-check> nix-unit-check> … while evaluating the attribute 'matchedOptions' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:891:13: nix-unit-check> 890| { nix-unit-check> 891| matchedOptions = evalOptionValue loc opt defns'; nix-unit-check> | ^ nix-unit-check> 892| unmatchedDefns = [ ]; nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:891:30: nix-unit-check> 890| { nix-unit-check> 891| matchedOptions = evalOptionValue loc opt defns'; nix-unit-check> | ^ nix-unit-check> 892| unmatchedDefns = [ ]; nix-unit-check> nix-unit-check> … while calling 'evalOptionValue' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1101:15: nix-unit-check> 1100| evalOptionValue = nix-unit-check> 1101| loc: opt: defs: nix-unit-check> | ^ nix-unit-check> 1102| let nix-unit-check> nix-unit-check> … in the left operand of the update (//) operator nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1145:5: nix-unit-check> 1144| in nix-unit-check> 1145| warnDeprecation opt nix-unit-check> | ^ nix-unit-check> 1146| // { nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1139:9: nix-unit-check> 1138| warnDeprecation = nix-unit-check> 1139| if (opt.type.deprecationMessage != null) then nix-unit-check> | ^ nix-unit-check> 1140| warn "The type `types.${opt.type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${opt.type.deprecationMessage}" nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:888:19: nix-unit-check> 887| let nix-unit-check> 888| opt = fixupOptionType loc (mergeOptionDecls loc decls); nix-unit-check> | ^ nix-unit-check> 889| in nix-unit-check> nix-unit-check> … while calling 'fixupOptionType' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1471:10: nix-unit-check> 1470| fixupOptionType = nix-unit-check> 1471| loc: opt: nix-unit-check> | ^ nix-unit-check> 1472| if opt.type.getSubModules or null == null then nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1472:5: nix-unit-check> 1471| loc: opt: nix-unit-check> 1472| if opt.type.getSubModules or null == null then nix-unit-check> | ^ nix-unit-check> 1473| opt // { type = opt.type or types.unspecified; } nix-unit-check> nix-unit-check> … while evaluating the attribute 'type.getSubModules' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:7: nix-unit-check> 99| systemReserved = lib.mkOption { nix-unit-check> 100| type = resourceLib.memoryType; nix-unit-check> | ^ nix-unit-check> 101| default = 1024; nix-unit-check> nix-unit-check> error: attribute 'memoryType' missing nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:14: nix-unit-check> 99| systemReserved = lib.mkOption { nix-unit-check> 100| type = resourceLib.memoryType; nix-unit-check> | ^ nix-unit-check> 101| default = 1024; nix-unit-check> nix-unit-check> evaluation warning: system.stateVersion is not set, defaulting to 26.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion. nix-unit-check> ☢️ system-agnostic.dvt-resource-guard.guard.test overcommitted ceilings warn but do not fail nix-unit-check> error: nix-unit-check> … while evaluating the attribute 'assertion' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:233:11: nix-unit-check> 232| { nix-unit-check> 233| assertion = guardAssertion cfg; nix-unit-check> | ^ nix-unit-check> 234| burstWarning = lib.any (w: lib.hasInfix "runs out of memory" w) cfg.warnings; nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:233:23: nix-unit-check> 232| { nix-unit-check> 233| assertion = guardAssertion cfg; nix-unit-check> | ^ nix-unit-check> 234| burstWarning = lib.any (w: lib.hasInfix "runs out of memory" w) cfg.warnings; nix-unit-check> nix-unit-check> … while calling 'guardAssertion' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:58:5: nix-unit-check> 57| guardAssertion = nix-unit-check> 58| cfg: nix-unit-check> | ^ nix-unit-check> 59| (lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions).assertion; nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:59:6: nix-unit-check> 58| cfg: nix-unit-check> 59| (lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions).assertion; nix-unit-check> | ^ nix-unit-check> 60| in nix-unit-check> nix-unit-check> … while calling 'findFirst' nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:649:20: nix-unit-check> 648| findFirst = nix-unit-check> 649| pred: default: list: nix-unit-check> | ^ nix-unit-check> 650| let nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:653:5: nix-unit-check> 652| in nix-unit-check> 653| if index == null then default else elemAt list index; nix-unit-check> | ^ nix-unit-check> 654| nix-unit-check> nix-unit-check> … from call site nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:651:15: nix-unit-check> 650| let nix-unit-check> 651| index = findFirstIndex pred null list; nix-unit-check> | ^ nix-unit-check> 652| in nix-unit-check> nix-unit-check> … while calling 'findFirstIndex' nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:579:20: nix-unit-check> 578| findFirstIndex = nix-unit-check> 579| pred: default: list: nix-unit-check> | ^ nix-unit-check> 580| let nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:609:5: nix-unit-check> 608| in nix-unit-check> 609| if resultIndex < 0 then default else resultIndex; nix-unit-check> | ^ nix-unit-check> 610| nix-unit-check> nix-unit-check> … while calling the 'lessThan' builtin nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:609:20: nix-unit-check> 608| in nix-unit-check> 609| if resultIndex < 0 then default else resultIndex; nix-unit-check> | ^ nix-unit-check> 610| nix-unit-check> nix-unit-check> … while calling the 'foldl'' builtin nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:594:21: nix-unit-check> 593| # We start with index -1 and the 0'th element of the list, which satisfies the invariant nix-unit-check> 594| resultIndex = foldl' ( nix-unit-check> | ^ nix-unit-check> 595| index: el: nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:595:16: nix-unit-check> 594| resultIndex = foldl' ( nix-unit-check> 595| index: el: nix-unit-check> | ^ nix-unit-check> 596| if index < 0 then nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:598:11: nix-unit-check> 597| # No match yet before the current index, we need to check the element nix-unit-check> 598| if pred el then nix-unit-check> | ^ nix-unit-check> 599| # We have a match! Turn it into the actual index to prevent future iterations from modifying it nix-unit-check> nix-unit-check> … from call site nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:598:14: nix-unit-check> 597| # No match yet before the current index, we need to check the element nix-unit-check> 598| if pred el then nix-unit-check> | ^ nix-unit-check> 599| # We have a match! Turn it into the actual index to prevent future iterations from modifying it nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:59:21: nix-unit-check> 58| cfg: nix-unit-check> 59| (lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions).assertion; nix-unit-check> | ^ nix-unit-check> 60| in nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:59:24: nix-unit-check> 58| cfg: nix-unit-check> 59| (lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions).assertion; nix-unit-check> | ^ nix-unit-check> 60| in nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/strings.nix:918:7: nix-unit-check> 917| else nix-unit-check> 918| content: builtins.match ".*${escapedInfix}.*" "${content}" != null; nix-unit-check> | ^ nix-unit-check> 919| nix-unit-check> nix-unit-check> … while calling the 'match' builtin nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/strings.nix:918:16: nix-unit-check> 917| else nix-unit-check> 918| content: builtins.match ".*${escapedInfix}.*" "${content}" != null; nix-unit-check> | ^ nix-unit-check> 919| nix-unit-check> nix-unit-check> … while evaluating the second argument passed to builtins.match nix-unit-check> nix-unit-check> … while evaluating the attribute 'message' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:153:7: nix-unit-check> 152| assertion = reservationTotal + reservedMiB <= capacityMiB; nix-unit-check> 153| message = '' nix-unit-check> | ^ nix-unit-check> 154| dvt.resources.memory: machine is over-provisioned. Memory reservations total nix-unit-check> nix-unit-check> … while calling the 'toString' builtin nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:155:61: nix-unit-check> 154| dvt.resources.memory: machine is over-provisioned. Memory reservations total nix-unit-check> 155| ${toString reservationTotal} MiB + systemReserved ${toString reservedMiB} MiB nix-unit-check> | ^ nix-unit-check> 156| exceed the ${toString capacityMiB} MiB of physical RAM in the facter nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:38:17: nix-unit-check> 37| capacityMiB = guardLib.facterMemoryMiB report; nix-unit-check> 38| reservedMiB = cfg.systemReserved; nix-unit-check> | ^ nix-unit-check> 39| nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1187:17: nix-unit-check> 1186| mapAttrs ( nix-unit-check> 1187| name: value: nix-unit-check> | ^ nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:11: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … in the left operand of the AND (&&) operator nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:28: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … while calling the 'isAttrs' builtin nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:14: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:925:37: nix-unit-check> 924| nix-unit-check> 925| matchedOptions = mapAttrs (n: v: v.matchedOptions) resultsByName; nix-unit-check> | ^ nix-unit-check> 926| nix-unit-check> nix-unit-check> … while evaluating the attribute 'matchedOptions' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:891:13: nix-unit-check> 890| { nix-unit-check> 891| matchedOptions = evalOptionValue loc opt defns'; nix-unit-check> | ^ nix-unit-check> 892| unmatchedDefns = [ ]; nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:891:30: nix-unit-check> 890| { nix-unit-check> 891| matchedOptions = evalOptionValue loc opt defns'; nix-unit-check> | ^ nix-unit-check> 892| unmatchedDefns = [ ]; nix-unit-check> nix-unit-check> … while calling 'evalOptionValue' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1101:15: nix-unit-check> 1100| evalOptionValue = nix-unit-check> 1101| loc: opt: defs: nix-unit-check> | ^ nix-unit-check> 1102| let nix-unit-check> nix-unit-check> … in the left operand of the update (//) operator nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1145:5: nix-unit-check> 1144| in nix-unit-check> 1145| warnDeprecation opt nix-unit-check> | ^ nix-unit-check> 1146| // { nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1139:9: nix-unit-check> 1138| warnDeprecation = nix-unit-check> 1139| if (opt.type.deprecationMessage != null) then nix-unit-check> | ^ nix-unit-check> 1140| warn "The type `types.${opt.type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${opt.type.deprecationMessage}" nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:888:19: nix-unit-check> 887| let nix-unit-check> 888| opt = fixupOptionType loc (mergeOptionDecls loc decls); nix-unit-check> | ^ nix-unit-check> 889| in nix-unit-check> nix-unit-check> … while calling 'fixupOptionType' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1471:10: nix-unit-check> 1470| fixupOptionType = nix-unit-check> 1471| loc: opt: nix-unit-check> | ^ nix-unit-check> 1472| if opt.type.getSubModules or null == null then nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1472:5: nix-unit-check> 1471| loc: opt: nix-unit-check> 1472| if opt.type.getSubModules or null == null then nix-unit-check> | ^ nix-unit-check> 1473| opt // { type = opt.type or types.unspecified; } nix-unit-check> nix-unit-check> … while evaluating the attribute 'type.getSubModules' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:7: nix-unit-check> 99| systemReserved = lib.mkOption { nix-unit-check> 100| type = resourceLib.memoryType; nix-unit-check> | ^ nix-unit-check> 101| default = 1024; nix-unit-check> nix-unit-check> error: attribute 'memoryType' missing nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:14: nix-unit-check> 99| systemReserved = lib.mkOption { nix-unit-check> 100| type = resourceLib.memoryType; nix-unit-check> | ^ nix-unit-check> 101| default = 1024; nix-unit-check> nix-unit-check> evaluation warning: system.stateVersion is not set, defaulting to 26.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion. nix-unit-check> ☢️ system-agnostic.dvt-resource-guard.guard.test reservations that fit pass the assertion nix-unit-check> error: nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:126:14: nix-unit-check> 125| "test reservations that fit pass the assertion" = { nix-unit-check> 126| expr = guardAssertion (guardFor { nix-unit-check> | ^ nix-unit-check> 127| units = { nix-unit-check> nix-unit-check> … while calling 'guardAssertion' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:58:5: nix-unit-check> 57| guardAssertion = nix-unit-check> 58| cfg: nix-unit-check> | ^ nix-unit-check> 59| (lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions).assertion; nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:59:6: nix-unit-check> 58| cfg: nix-unit-check> 59| (lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions).assertion; nix-unit-check> | ^ nix-unit-check> 60| in nix-unit-check> nix-unit-check> … while calling 'findFirst' nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:649:20: nix-unit-check> 648| findFirst = nix-unit-check> 649| pred: default: list: nix-unit-check> | ^ nix-unit-check> 650| let nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:653:5: nix-unit-check> 652| in nix-unit-check> 653| if index == null then default else elemAt list index; nix-unit-check> | ^ nix-unit-check> 654| nix-unit-check> nix-unit-check> … from call site nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:651:15: nix-unit-check> 650| let nix-unit-check> 651| index = findFirstIndex pred null list; nix-unit-check> | ^ nix-unit-check> 652| in nix-unit-check> nix-unit-check> … while calling 'findFirstIndex' nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:579:20: nix-unit-check> 578| findFirstIndex = nix-unit-check> 579| pred: default: list: nix-unit-check> | ^ nix-unit-check> 580| let nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:609:5: nix-unit-check> 608| in nix-unit-check> 609| if resultIndex < 0 then default else resultIndex; nix-unit-check> | ^ nix-unit-check> 610| nix-unit-check> nix-unit-check> … while calling the 'lessThan' builtin nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:609:20: nix-unit-check> 608| in nix-unit-check> 609| if resultIndex < 0 then default else resultIndex; nix-unit-check> | ^ nix-unit-check> 610| nix-unit-check> nix-unit-check> … while calling the 'foldl'' builtin nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:594:21: nix-unit-check> 593| # We start with index -1 and the 0'th element of the list, which satisfies the invariant nix-unit-check> 594| resultIndex = foldl' ( nix-unit-check> | ^ nix-unit-check> 595| index: el: nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:595:16: nix-unit-check> 594| resultIndex = foldl' ( nix-unit-check> 595| index: el: nix-unit-check> | ^ nix-unit-check> 596| if index < 0 then nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:598:11: nix-unit-check> 597| # No match yet before the current index, we need to check the element nix-unit-check> 598| if pred el then nix-unit-check> | ^ nix-unit-check> 599| # We have a match! Turn it into the actual index to prevent future iterations from modifying it nix-unit-check> nix-unit-check> … from call site nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/lists.nix:598:14: nix-unit-check> 597| # No match yet before the current index, we need to check the element nix-unit-check> 598| if pred el then nix-unit-check> | ^ nix-unit-check> 599| # We have a match! Turn it into the actual index to prevent future iterations from modifying it nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:59:21: nix-unit-check> 58| cfg: nix-unit-check> 59| (lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions).assertion; nix-unit-check> | ^ nix-unit-check> 60| in nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:59:24: nix-unit-check> 58| cfg: nix-unit-check> 59| (lib.findFirst (a: lib.hasInfix "dvt.resources.memory" a.message) null cfg.assertions).assertion; nix-unit-check> | ^ nix-unit-check> 60| in nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/strings.nix:918:7: nix-unit-check> 917| else nix-unit-check> 918| content: builtins.match ".*${escapedInfix}.*" "${content}" != null; nix-unit-check> | ^ nix-unit-check> 919| nix-unit-check> nix-unit-check> … while calling the 'match' builtin nix-unit-check> at «github:nix-community/nixpkgs.lib/db3f255737b94216eb71cce308e2912cf6bc2d7c?narHash=sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC%2BeBu2zKlp8%3D»/lib/strings.nix:918:16: nix-unit-check> 917| else nix-unit-check> 918| content: builtins.match ".*${escapedInfix}.*" "${content}" != null; nix-unit-check> | ^ nix-unit-check> 919| nix-unit-check> nix-unit-check> … while evaluating the second argument passed to builtins.match nix-unit-check> nix-unit-check> … while evaluating the attribute 'message' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:153:7: nix-unit-check> 152| assertion = reservationTotal + reservedMiB <= capacityMiB; nix-unit-check> 153| message = '' nix-unit-check> | ^ nix-unit-check> 154| dvt.resources.memory: machine is over-provisioned. Memory reservations total nix-unit-check> nix-unit-check> … while calling the 'toString' builtin nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:155:61: nix-unit-check> 154| dvt.resources.memory: machine is over-provisioned. Memory reservations total nix-unit-check> 155| ${toString reservationTotal} MiB + systemReserved ${toString reservedMiB} MiB nix-unit-check> | ^ nix-unit-check> 156| exceed the ${toString capacityMiB} MiB of physical RAM in the facter nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:38:17: nix-unit-check> 37| capacityMiB = guardLib.facterMemoryMiB report; nix-unit-check> 38| reservedMiB = cfg.systemReserved; nix-unit-check> | ^ nix-unit-check> 39| nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1187:17: nix-unit-check> 1186| mapAttrs ( nix-unit-check> 1187| name: value: nix-unit-check> | ^ nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:11: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … in the left operand of the AND (&&) operator nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:28: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … while calling the 'isAttrs' builtin nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:14: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:925:37: nix-unit-check> 924| nix-unit-check> 925| matchedOptions = mapAttrs (n: v: v.matchedOptions) resultsByName; nix-unit-check> | ^ nix-unit-check> 926| nix-unit-check> nix-unit-check> … while evaluating the attribute 'matchedOptions' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:891:13: nix-unit-check> 890| { nix-unit-check> 891| matchedOptions = evalOptionValue loc opt defns'; nix-unit-check> | ^ nix-unit-check> 892| unmatchedDefns = [ ]; nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:891:30: nix-unit-check> 890| { nix-unit-check> 891| matchedOptions = evalOptionValue loc opt defns'; nix-unit-check> | ^ nix-unit-check> 892| unmatchedDefns = [ ]; nix-unit-check> nix-unit-check> … while calling 'evalOptionValue' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1101:15: nix-unit-check> 1100| evalOptionValue = nix-unit-check> 1101| loc: opt: defs: nix-unit-check> | ^ nix-unit-check> 1102| let nix-unit-check> nix-unit-check> … in the left operand of the update (//) operator nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1145:5: nix-unit-check> 1144| in nix-unit-check> 1145| warnDeprecation opt nix-unit-check> | ^ nix-unit-check> 1146| // { nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1139:9: nix-unit-check> 1138| warnDeprecation = nix-unit-check> 1139| if (opt.type.deprecationMessage != null) then nix-unit-check> | ^ nix-unit-check> 1140| warn "The type `types.${opt.type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${opt.type.deprecationMessage}" nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:888:19: nix-unit-check> 887| let nix-unit-check> 888| opt = fixupOptionType loc (mergeOptionDecls loc decls); nix-unit-check> | ^ nix-unit-check> 889| in nix-unit-check> nix-unit-check> … while calling 'fixupOptionType' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1471:10: nix-unit-check> 1470| fixupOptionType = nix-unit-check> 1471| loc: opt: nix-unit-check> | ^ nix-unit-check> 1472| if opt.type.getSubModules or null == null then nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1472:5: nix-unit-check> 1471| loc: opt: nix-unit-check> 1472| if opt.type.getSubModules or null == null then nix-unit-check> | ^ nix-unit-check> 1473| opt // { type = opt.type or types.unspecified; } nix-unit-check> nix-unit-check> … while evaluating the attribute 'type.getSubModules' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:7: nix-unit-check> 99| systemReserved = lib.mkOption { nix-unit-check> 100| type = resourceLib.memoryType; nix-unit-check> | ^ nix-unit-check> 101| default = 1024; nix-unit-check> nix-unit-check> error: attribute 'memoryType' missing nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:14: nix-unit-check> 99| systemReserved = lib.mkOption { nix-unit-check> 100| type = resourceLib.memoryType; nix-unit-check> | ^ nix-unit-check> 101| default = 1024; nix-unit-check> nix-unit-check> evaluation warning: system.stateVersion is not set, defaulting to 26.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion. nix-unit-check> ☢️ system-agnostic.dvt-resource-guard.guard.test unparseable limits are surfaced as a warning nix-unit-check> error: nix-unit-check> … while evaluating the attribute 'warned' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:248:11: nix-unit-check> 247| { nix-unit-check> 248| warned = lib.any (w: lib.hasInfix "could not parse" w) cfg.warnings; nix-unit-check> | ^ nix-unit-check> 249| listed = cfg.dvt.resources.memory.accounting.unparseable; nix-unit-check> nix-unit-check> … while calling the 'any' builtin nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:248:20: nix-unit-check> 247| { nix-unit-check> 248| warned = lib.any (w: lib.hasInfix "could not parse" w) cfg.warnings; nix-unit-check> | ^ nix-unit-check> 249| listed = cfg.dvt.resources.memory.accounting.unparseable; nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/guard.unit.nix:248:66: nix-unit-check> 247| { nix-unit-check> 248| warned = lib.any (w: lib.hasInfix "could not parse" w) cfg.warnings; nix-unit-check> | ^ nix-unit-check> 249| listed = cfg.dvt.resources.memory.accounting.unparseable; nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1187:17: nix-unit-check> 1186| mapAttrs ( nix-unit-check> 1187| name: value: nix-unit-check> | ^ nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:85: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:283:71: nix-unit-check> 282| # For definitions that have an associated option nix-unit-check> 283| declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options; nix-unit-check> | ^ nix-unit-check> 284| nix-unit-check> nix-unit-check> … while evaluating the attribute 'value' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1147:7: nix-unit-check> 1146| // { nix-unit-check> 1147| value = addErrorContext "while evaluating the option `${showOption loc}':" value; nix-unit-check> | ^ nix-unit-check> 1148| inherit (res.defsFinal') highestPrio; nix-unit-check> nix-unit-check> … while evaluating the option `warnings': nix-unit-check> nix-unit-check> … while evaluating the attribute 'mergedValue' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1244:5: nix-unit-check> 1243| # Type-check the remaining definitions, and merge them. Or throw if no definitions. nix-unit-check> 1244| mergedValue = nix-unit-check> | ^ nix-unit-check> 1245| if isDefined then nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1245:7: nix-unit-check> 1244| mergedValue = nix-unit-check> 1245| if isDefined then nix-unit-check> | ^ nix-unit-check> 1246| if type.merge ? v2 then nix-unit-check> nix-unit-check> … while evaluating the attribute 'values' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1238:11: nix-unit-check> 1237| { nix-unit-check> 1238| values = defsSorted; nix-unit-check> | ^ nix-unit-check> 1239| inherit (defsFiltered) highestPrio; nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1209:11: nix-unit-check> 1208| # Avoid sorting if we don't have to. nix-unit-check> 1209| if any (def: def.value._type or "" == "order") defsFiltered.values then nix-unit-check> | ^ nix-unit-check> 1210| sortProperties defsFiltered.values nix-unit-check> nix-unit-check> … while calling the 'any' builtin nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1209:14: nix-unit-check> 1208| # Avoid sorting if we don't have to. nix-unit-check> 1209| if any (def: def.value._type or "" == "order") defsFiltered.values then nix-unit-check> | ^ nix-unit-check> 1210| sortProperties defsFiltered.values nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1204:24: nix-unit-check> 1203| # Process mkOverride properties. nix-unit-check> 1204| defsFiltered = filterOverrides' defsNormalized; nix-unit-check> | ^ nix-unit-check> 1205| nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1422:5: nix-unit-check> 1421| in nix-unit-check> 1422| defs: nix-unit-check> | ^ nix-unit-check> 1423| # Optimize for the singleton case, equivalent to the `else` clause. nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1424:5: nix-unit-check> 1423| # Optimize for the singleton case, equivalent to the `else` clause. nix-unit-check> 1424| if length defs == 1 then nix-unit-check> | ^ nix-unit-check> 1425| { nix-unit-check> nix-unit-check> … while calling the 'length' builtin nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1424:8: nix-unit-check> 1423| # Optimize for the singleton case, equivalent to the `else` clause. nix-unit-check> 1424| if length defs == 1 then nix-unit-check> | ^ nix-unit-check> 1425| { nix-unit-check> nix-unit-check> … while calling the 'concatMap' builtin nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1189:26: nix-unit-check> 1188| # Process mkMerge and mkIf properties. nix-unit-check> 1189| defsNormalized = concatMap ( nix-unit-check> | ^ nix-unit-check> 1190| m: nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1190:11: nix-unit-check> 1189| defsNormalized = concatMap ( nix-unit-check> 1190| m: nix-unit-check> | ^ nix-unit-check> 1191| map ( nix-unit-check> nix-unit-check> … while calling the 'map' builtin nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1191:11: nix-unit-check> 1190| m: nix-unit-check> 1191| map ( nix-unit-check> | ^ nix-unit-check> 1192| value: nix-unit-check> nix-unit-check> … while evaluating definitions from `/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/flake-module.nix, via option flake.nixosModules.resource-guard': nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1200:80: nix-unit-check> 1199| } nix-unit-check> 1200| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) nix-unit-check> | ^ nix-unit-check> 1201| ) defs; nix-unit-check> nix-unit-check> … while calling 'dischargeProperties' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1376:5: nix-unit-check> 1375| dischargeProperties = nix-unit-check> 1376| def: nix-unit-check> | ^ nix-unit-check> 1377| if def._type or "" == "merge" then nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1377:5: nix-unit-check> 1376| def: nix-unit-check> 1377| if def._type or "" == "merge" then nix-unit-check> | ^ nix-unit-check> 1378| concatMap dischargeProperties def.contents nix-unit-check> nix-unit-check> … while evaluating the attribute 'value' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:849:21: nix-unit-check> 848| inherit (module) file; nix-unit-check> 849| inherit value; nix-unit-check> | ^ nix-unit-check> 850| }) module.config nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:166:7: nix-unit-check> 165| warnings = nix-unit-check> 166| lib.optional (active && ceilingTotal + reservedMiB > capacityMiB) '' nix-unit-check> | ^ nix-unit-check> 167| dvt.resources.memory: MemoryMax ceilings total ${toString ceilingTotal} MiB nix-unit-check> nix-unit-check> … while calling 'optional' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/lists.nix:785:20: nix-unit-check> 784| */ nix-unit-check> 785| optional = cond: elem: if cond then [ elem ] else [ ]; nix-unit-check> | ^ nix-unit-check> 786| nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/lists.nix:785:26: nix-unit-check> 784| */ nix-unit-check> 785| optional = cond: elem: if cond then [ elem ] else [ ]; nix-unit-check> | ^ nix-unit-check> 786| nix-unit-check> nix-unit-check> … in the right operand of the AND (&&) operator nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:166:28: nix-unit-check> 165| warnings = nix-unit-check> 166| lib.optional (active && ceilingTotal + reservedMiB > capacityMiB) '' nix-unit-check> | ^ nix-unit-check> 167| dvt.resources.memory: MemoryMax ceilings total ${toString ceilingTotal} MiB nix-unit-check> nix-unit-check> … while calling the 'lessThan' builtin nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:166:58: nix-unit-check> 165| warnings = nix-unit-check> 166| lib.optional (active && ceilingTotal + reservedMiB > capacityMiB) '' nix-unit-check> | ^ nix-unit-check> 167| dvt.resources.memory: MemoryMax ceilings total ${toString ceilingTotal} MiB nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:38:17: nix-unit-check> 37| capacityMiB = guardLib.facterMemoryMiB report; nix-unit-check> 38| reservedMiB = cfg.systemReserved; nix-unit-check> | ^ nix-unit-check> 39| nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1187:17: nix-unit-check> 1186| mapAttrs ( nix-unit-check> 1187| name: value: nix-unit-check> | ^ nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:11: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … in the left operand of the AND (&&) operator nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:28: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … while calling the 'isAttrs' builtin nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/attrsets.nix:1188:14: nix-unit-check> 1187| name: value: nix-unit-check> 1188| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value nix-unit-check> | ^ nix-unit-check> 1189| ); nix-unit-check> nix-unit-check> … while calling anonymous lambda nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:925:37: nix-unit-check> 924| nix-unit-check> 925| matchedOptions = mapAttrs (n: v: v.matchedOptions) resultsByName; nix-unit-check> | ^ nix-unit-check> 926| nix-unit-check> nix-unit-check> … while evaluating the attribute 'matchedOptions' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:891:13: nix-unit-check> 890| { nix-unit-check> 891| matchedOptions = evalOptionValue loc opt defns'; nix-unit-check> | ^ nix-unit-check> 892| unmatchedDefns = [ ]; nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:891:30: nix-unit-check> 890| { nix-unit-check> 891| matchedOptions = evalOptionValue loc opt defns'; nix-unit-check> | ^ nix-unit-check> 892| unmatchedDefns = [ ]; nix-unit-check> nix-unit-check> … while calling 'evalOptionValue' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1101:15: nix-unit-check> 1100| evalOptionValue = nix-unit-check> 1101| loc: opt: defs: nix-unit-check> | ^ nix-unit-check> 1102| let nix-unit-check> nix-unit-check> … in the left operand of the update (//) operator nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1145:5: nix-unit-check> 1144| in nix-unit-check> 1145| warnDeprecation opt nix-unit-check> | ^ nix-unit-check> 1146| // { nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1139:9: nix-unit-check> 1138| warnDeprecation = nix-unit-check> 1139| if (opt.type.deprecationMessage != null) then nix-unit-check> | ^ nix-unit-check> 1140| warn "The type `types.${opt.type.name}' of option `${showOption loc}' defined in ${showFiles opt.declarations} is deprecated. ${opt.type.deprecationMessage}" nix-unit-check> nix-unit-check> … from call site nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:888:19: nix-unit-check> 887| let nix-unit-check> 888| opt = fixupOptionType loc (mergeOptionDecls loc decls); nix-unit-check> | ^ nix-unit-check> 889| in nix-unit-check> nix-unit-check> … while calling 'fixupOptionType' nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1471:10: nix-unit-check> 1470| fixupOptionType = nix-unit-check> 1471| loc: opt: nix-unit-check> | ^ nix-unit-check> 1472| if opt.type.getSubModules or null == null then nix-unit-check> nix-unit-check> … while evaluating a branch condition nix-unit-check> at /build/storedata/nix/store/lr5ld8f0qbyhjx3nr9mxfvg4cndvpggp-source/lib/modules.nix:1472:5: nix-unit-check> 1471| loc: opt: nix-unit-check> 1472| if opt.type.getSubModules or null == null then nix-unit-check> | ^ nix-unit-check> 1473| opt // { type = opt.type or types.unspecified; } nix-unit-check> nix-unit-check> … while evaluating the attribute 'type.getSubModules' nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:7: nix-unit-check> 99| systemReserved = lib.mkOption { nix-unit-check> 100| type = resourceLib.memoryType; nix-unit-check> | ^ nix-unit-check> 101| default = 1024; nix-unit-check> nix-unit-check> error: attribute 'memoryType' missing nix-unit-check> at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:14: nix-unit-check> 99| systemReserved = lib.mkOption { nix-unit-check> 100| type = resourceLib.memoryType; nix-unit-check> | ^ nix-unit-check> 101| default = 1024; nix-unit-check> nix-unit-check> ✅ system-agnostic.dvt-resource-guard.parse.test a report without phys_mem yields no capacity nix-unit-check> ✅ system-agnostic.dvt-resource-guard.parse.test base-1024 suffixes nix-unit-check> ✅ system-agnostic.dvt-resource-guard.parse.test digit strings are bytes nix-unit-check> ✅ system-agnostic.dvt-resource-guard.parse.test facter phys_mem is summed into MiB nix-unit-check> ✅ system-agnostic.dvt-resource-guard.parse.test infinity means unbounded nix-unit-check> ✅ system-agnostic.dvt-resource-guard.parse.test integer values are bytes nix-unit-check> ✅ system-agnostic.dvt-resource-guard.parse.test list values follow last-assignment-wins nix-unit-check> ✅ system-agnostic.dvt-resource-guard.parse.test percentages resolve against physical RAM nix-unit-check> ✅ system-agnostic.dvt-resource-guard.parse.test unrecognised values are marked, not dropped nix-unit-check> nix-unit-check> 😢 81/85 successful nix-unit-check> error: Tests failed error: build of '/nix/store/xm2xr1n4klxj3p915x9ny9lj95k2zlm2-nix-unit-check.drv' on 'ssh-ng://builder@build-x86-01.clan.lol' failed: Cannot build '/nix/store/xm2xr1n4klxj3p915x9ny9lj95k2zlm2-nix-unit-check.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/sncnzyvbaz64c2pqwx8i80s34r4gv3by-nix-unit-check Last 25 log lines: > at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:7: > 99| systemReserved = lib.mkOption { > 100| type = resourceLib.memoryType; > | ^ > 101| default = 1024; > > error: attribute 'memoryType' missing > at /build/storedata/nix/store/ad7j7iwqkw2bhrswr0bcp4l4qy6ywjzc-source/nixosModules/resource-guard/default.nix:100:14: > 99| systemReserved = lib.mkOption { > 100| type = resourceLib.memoryType; > | ^ > 101| default = 1024; > > ✅ system-agnostic.dvt-resource-guard.parse.test a report without phys_mem yields no capacity > ✅ system-agnostic.dvt-resource-guard.parse.test base-1024 suffixes > ✅ system-agnostic.dvt-resource-guard.parse.test digit strings are bytes > ✅ system-agnostic.dvt-resource-guard.parse.test facter phys_mem is summed into MiB > ✅ system-agnostic.dvt-resource-guard.parse.test infinity means unbounded > ✅ system-agnostic.dvt-resource-guard.parse.test integer values are bytes > ✅ system-agnostic.dvt-resource-guard.parse.test list values follow last-assignment-wins > ✅ system-agnostic.dvt-resource-guard.parse.test percentages resolve against physical RAM > ✅ system-agnostic.dvt-resource-guard.parse.test unrecognised values are marked, not dropped > > 😢 81/85 successful > error: Tests failed For full logs, run: nix log /nix/store/xm2xr1n4klxj3p915x9ny9lj95k2zlm2-nix-unit-check.drv error: Cannot build '/nix/store/xm2xr1n4klxj3p915x9ny9lj95k2zlm2-nix-unit-check.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/sncnzyvbaz64c2pqwx8i80s34r4gv3by-nix-unit-check error: build of resolved derivation '/nix/store/xm2xr1n4klxj3p915x9ny9lj95k2zlm2-nix-unit-check.drv' failed