Originally posted by **snglth** October 10, 2024
I ran `nix flake update` recently which fetched following inputs among others:
```
• Updated input 'nixos-unified':
'github:srid/nixos-unified/ed937a03c0949742ff7dcd871957d80596e9f59a' (2024-10-05)
→ 'github:srid/nixos-unified/4c9a3c503952b256d6989bbfcd3a443b7eb13647' (2024-10-07)
• Updated input 'nixpkgs':
'github:nixos/nixpkgs/27e30d177e57d912d614c88c622dcfdb2e6e6515'
→ 'github:nixos/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7' (2024-10-09)
```
Now every build results in following error:
```
<- nix run --show-trace nixos-config-shell-env
warning: Git tree '/Users/snglth/Development/ws-flake' is dirty
error:
… while calling the 'derivationStrict' builtin
at /builtin/derivation.nix:9:12: (source not available)
… while evaluating derivation 'activate'
whose name attribute is located at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'buildCommand' of derivation 'activate'
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/pkgs/build-support/trivial-builders/default.nix:59:16:
58| enableParallelBuilding = true;
59| inherit buildCommand name;
| ^
60| passAsFile = [ "buildCommand" ]
… while evaluating derivation 'nixos-unified.nu'
whose name attribute is located at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'text' of derivation 'nixos-unified.nu'
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/pkgs/build-support/trivial-builders/default.nix:101:16:
100| ({
101| inherit text executable checkPhase allowSubstitutes preferLocalBuild;
| ^
102| passAsFile = [ "text" ]
… while evaluating derivation 'nixos-unified-activate-data'
whose name attribute is located at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/pkgs/stdenv/generic/make-derivation.nix:336:7
… while evaluating attribute 'text' of derivation 'nixos-unified-activate-data'
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/pkgs/build-support/trivial-builders/default.nix:101:16:
100| ({
101| inherit text executable checkPhase allowSubstitutes preferLocalBuild;
| ^
102| passAsFile = [ "text" ]
… while calling anonymous lambda
at /nix/store/2sz6la88drv77fxg87hb4li4jl9gxf3w-source/activate/default.nix:11:51:
10| };
11| nixos-unified-configs = lib.mapAttrs (name: value: value.config.nixos-unified) (self.nixosConfigurations or { } // self.darwinConfigurations or { });
| ^
12| data = {
… from call site
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:254:28:
253| # For definitions that have an associated option
254| declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
| ^
255|
… while calling 'mapAttrsRecursiveCond'
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/attrsets.nix:1201:5:
1200| f:
1201| set:
| ^
1202| let
… from call site
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:246:33:
245| ({ inherit lib options config specialArgs; } // specialArgs);
246| in mergeModules prefix (reverseList collected);
| ^
247|
… while calling 'reverseList'
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/lists.nix:1116:17:
1115| */
1116| reverseList = xs:
| ^
1117| let l = length xs; in genList (n: elemAt xs (l - n - 1)) l;
… from call site
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:241:25:
240| merged =
241| let collected = collectModules
| ^
242| class
… while calling anonymous lambda
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:452:37:
451|
452| in modulesPath: initialModules: args:
| ^
453| filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
… from call site
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:453:7:
452| in modulesPath: initialModules: args:
453| filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args);
| ^
454|
… while calling 'filterModules'
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:420:36:
419| # modules recursively. It returns the final list of unique-by-key modules
420| filterModules = modulesPath: { disabled, modules }:
| ^
421| let
… while calling anonymous lambda
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:446:31:
445| disabledKeys = concatMap ({ file, disabled }: map (moduleKey file) disabled) disabled;
446| keyFilter = filter (attrs: ! elem attrs.key disabledKeys);
| ^
447| in map (attrs: attrs.module) (genericClosure {
… from call site
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:407:22:
406| let
407| module = checkModule (loadModule args parentFile "${parentKey}:anon-${toString n}" x);
| ^
408| collectedImports = collectStructuredModules module._file module.key module.imports args;
… while calling anonymous lambda
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:366:11:
365| then
366| m:
| ^
367| if m._class != null -> m._class == class
… from call site
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:407:35:
406| let
407| module = checkModule (loadModule args parentFile "${parentKey}:anon-${toString n}" x);
| ^
408| collectedImports = collectStructuredModules module._file module.key module.imports args;
… while calling 'loadModule'
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:348:53:
347| # Like unifyModuleSyntax, but also imports paths and calls functions if necessary
348| loadModule = args: fallbackFile: fallbackKey: m:
| ^
349| if isFunction m then
… from call site
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:349:12:
348| loadModule = args: fallbackFile: fallbackKey: m:
349| if isFunction m then
| ^
350| unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgs fallbackKey m args)
… while calling 'isFunction'
at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/trivial.nix:1000:16:
999| */
1000| isFunction = f: builtins.isFunction f ||
| ^
1001| (f ? __functor && isFunction (f.__functor f));
… while calling anonymous lambda
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/attrsets.nix:1571:24:
1570| let f = attrPath:
1571| zipAttrsWith (n: values:
| ^
1572| let here = attrPath ++ [n]; in
… while calling anonymous lambda
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/types.nix:601:29:
600| merge = loc: defs:
601| zipAttrsWith (name: defs:
| ^
602| let merged = mergeDefinitions (loc ++ [name]) elemType defs;
… while calling anonymous lambda
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/modules.nix:836:28:
835| # Process mkMerge and mkIf properties.
836| defs' = concatMap (m:
| ^
837| map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
… while evaluating definitions from `/nix/store/2sz6la88drv77fxg87hb4li4jl9gxf3w-source/nix/modules/flake-parts/autowire.nix':
… from call site
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/modules.nix:837:128:
836| defs' = concatMap (m:
837| map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
| ^
838| ) defs;
… while calling 'dischargeProperties'
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/modules.nix:908:25:
907| */
908| dischargeProperties = def:
| ^
909| if def._type or "" == "merge" then
… from call site
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/attrsets.nix:273:39:
272| then value
273| else { ${elemAt attrPath n} = atDepth (n + 1); };
| ^
274| in atDepth 0;
… while calling 'atDepth'
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/attrsets.nix:270:17:
269| len = length attrPath;
270| atDepth = n:
| ^
271| if n == len
… from call site
at /nix/store/2sz6la88drv77fxg87hb4li4jl9gxf3w-source/nix/modules/flake-parts/autowire.nix:31:11:
30| darwinModules =
31| forAllNixFiles "${self}/modules/darwin"
| ^
32| (fn: fn);
… while calling 'forAllNixFiles'
at /nix/store/2sz6la88drv77fxg87hb4li4jl9gxf3w-source/nix/modules/flake-parts/autowire.nix:5:29:
4| let
5| forAllNixFiles = dir: f:
| ^
6| if builtins.pathExists dir then
… while calling anonymous lambda
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/trivial.nix:131:30:
130| */
131| pipe = builtins.foldl' (x: f: f x);
| ^
132|
… from call site
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/trivial.nix:131:33:
130| */
131| pipe = builtins.foldl' (x: f: f x);
| ^
132|
… while calling 'mapAttrs''
at /nix/store/x3d704r2qzq7h0m7i04liyzrvnng1pi2-source/attrsets.nix:1057:5:
1056| f:
1057| set:
| ^
1058| listToAttrs (map (attr: f attr set.${attr}) (attrNames set));
error: value is null while a set was expected
```
Discussed in https://github.com/srid/nixos-unified/discussions/83