ITADN

The option `submodule.args' was accessed but has no value defined. Try setting the option.

#99ClosedDerRockWolf 创建于 2026-01-02
D
DerRockWolfcommented
> `nix build github:insipx/jupiter/namespace-issue#kubenix` > > which is on [this branch](https://github.com/insipx/jupiter/tree/namespace-issue) _Originally posted by @insipx in [#97](https://github.com/hall/kubenix/issues/97#issuecomment-3705707972)_ @insipx I needed to clone the branch and remove the cases where it was depending on your `jupiter-secrets` repo 🙂 But I was also able to reproduce the issue. <details><summary>Trace</summary> <p> ``` error: … while calling anonymous lambda at /nix/store/f68rm3gsa1ffllyz4m35jvrck4db2f7i-source/flake.nix:50:43: 49| in 50| nixpkgs.lib.attrsets.mapAttrs (_: exp: exp.config.kubernetes.result) experiments | ^ 51| ); … while evaluating the attribute 'config.kubernetes.result' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:361:9: 360| options = checked options; 361| config = checked (removeAttrs config [ "_module" ]); | ^ 362| _module = checked (config._module); … while evaluating an expression to select 'kubernetes' on it at /nix/store/f68rm3gsa1ffllyz4m35jvrck4db2f7i-source/flake.nix:50:59: 49| in 50| nixpkgs.lib.attrsets.mapAttrs (_: exp: exp.config.kubernetes.result) experiments | ^ 51| ); … while calling the 'seq' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:361:18: 360| options = checked options; 361| config = checked (removeAttrs config [ "_module" ]); | ^ 362| _module = checked (config._module); … while evaluating the attribute 'unmatchedDefns' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:894:7: 893| # Transforms unmatchedDefnsByName into a list of definitions 894| unmatchedDefns = | ^ 895| if configs == [ ] then … while calling the 'concatLists' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:900:11: 899| else 900| concatLists ( | ^ 901| mapAttrsToList ( … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:902:21: 901| mapAttrsToList ( 902| name: defs: | ^ 903| map ( … while calling the 'map' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:903:15: 902| name: defs: 903| map ( | ^ 904| def: … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:886:22: 885| # Propagate all unmatched definitions from nested option sets 886| mapAttrs (n: v: v.unmatchedDefns) resultsByName | ^ 887| # Plus the definitions for the current prefix that don't have a matching option … while evaluating the attribute 'unmatchedDefns' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:894:7: 893| # Transforms unmatchedDefnsByName into a list of definitions 894| unmatchedDefns = | ^ 895| if configs == [ ] then … while evaluating configs at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:895:12: 894| unmatchedDefns = 895| if configs == [ ] then | ^ 896| # When no config values exist, there can be no unmatched config, so … while calling the 'concatLists' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:834:47: 833| loc = prefix ++ [ name ]; 834| defns = pushedDownDefinitionsByName.${name} or [ ]; | ^ 835| defns' = rawDefinitionsByName.${name} or [ ]; … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:791:16: 790| mapAttrs ( 791| n: value: | ^ 792| map (config: { … while calling the 'map' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:792:13: 791| n: value: 792| map (config: { | ^ 793| inherit (module) file; … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:795:17: 794| inherit config; 795| }) (pushDownProperties value) | ^ 796| ) module.config … while calling 'pushDownProperties' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1282:5: 1281| pushDownProperties = 1282| cfg: | ^ 1283| if cfg._type or "" == "merge" then … while calling the 'concatMap' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1284:7: 1283| if cfg._type or "" == "merge" then 1284| concatMap pushDownProperties cfg.contents | ^ 1285| else if cfg._type or "" == "if" then … while calling 'pushDownProperties' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1282:5: 1281| pushDownProperties = 1282| cfg: | ^ 1283| if cfg._type or "" == "merge" then … while evaluating an expression to select '_type' on it at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1283:8: 1282| cfg: 1283| if cfg._type or "" == "merge" then | ^ 1284| concatMap pushDownProperties cfg.contents … while evaluating cfg at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1283:8: 1282| cfg: 1283| if cfg._type or "" == "merge" then | ^ 1284| concatMap pushDownProperties cfg.contents … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1283:8: 1282| cfg: 1283| if cfg._type or "" == "merge" then | ^ 1284| concatMap pushDownProperties cfg.contents … while calling anonymous lambda at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:67:13: 66| ${name} = mkMerge (mapAttrsToList 67| (_: inst: | ^ 68| if inst.passthru.enable … while evaluating an expression to select 'submodule' on it at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:69:28: 68| if inst.passthru.enable 69| then inst.config.submodule.passthru.${name} or { } | ^ 70| else { } … from call site at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:69:16: 68| if inst.passthru.enable 69| then inst.config.submodule.passthru.${name} or { } | ^ 70| else { } … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/attrsets.nix:1188:17: 1187| mapAttrs ( 1188| name: value: | ^ 1189| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/attrsets.nix:1189:85: 1188| name: value: 1189| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value | ^ 1190| ); … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:275:71: 274| # For definitions that have an associated option 275| declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options; | ^ 276| … while evaluating the attribute 'value' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1118:7: 1117| // { 1118| value = addErrorContext "while evaluating the option `${showOption loc}':" value; | ^ 1119| inherit (res.defsFinal') highestPrio; … while calling the 'addErrorContext' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1118:15: 1117| // { 1118| value = addErrorContext "while evaluating the option `${showOption loc}':" value; | ^ 1119| inherit (res.defsFinal') highestPrio; … while evaluating the option `submodules.instances.ingress-internal.config': … while evaluating the attribute 'mergedValue' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1192:5: 1191| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1192| mergedValue = | ^ 1193| if isDefined then … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1202:11: 1201| else if all (def: type.check def.value) defsFinal then 1202| type.merge loc defsFinal | ^ 1203| else … while calling 'merge' at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:92:20: 91| check = x: isAttrs x || isFunction x; 92| merge = loc: defs: | ^ 93| let … while evaluating the attribute 'config' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:361:9: 360| options = checked options; 361| config = checked (removeAttrs config [ "_module" ]); | ^ 362| _module = checked (config._module); … while calling the 'seq' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:361:18: 360| options = checked options; 361| config = checked (removeAttrs config [ "_module" ]); | ^ 362| _module = checked (config._module); … while evaluating an expression to select '_module.check' on it at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:297:12: 296| checkUnmatched = 297| if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [ ] then | ^ 298| let … while evaluating config at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:297:12: 296| checkUnmatched = 297| if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [ ] then | ^ 298| let … while evaluating an expression to select '_module.freeformType' on it at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:288:12: 287| in 288| if declaredConfig._module.freeformType == null then | ^ 289| declaredConfig … while evaluating declaredConfig at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:288:12: 287| in 288| if declaredConfig._module.freeformType == null then | ^ 289| declaredConfig … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:275:28: 274| # For definitions that have an associated option 275| declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options; | ^ 276| … while calling 'mapAttrsRecursiveCond' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/attrsets.nix:1183:14: 1182| mapAttrsRecursiveCond = 1183| cond: f: set: | ^ 1184| let … while calling the 'mapAttrs' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/attrsets.nix:1192:5: 1191| in 1192| recurse [ ] set; | ^ 1193| … while evaluating the attribute 'matchedOptions' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:891:15: 890| { 891| inherit matchedOptions; | ^ 892| … while calling the 'mapAttrs' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:881:24: 880| 881| matchedOptions = mapAttrs (n: v: v.matchedOptions) resultsByName; | ^ 882| … while calling the 'mapAttrs' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:829:23: 828| 829| resultsByName = mapAttrs ( | ^ 830| name: decls: … while calling the 'zipAttrsWith' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:745:21: 744| # an attrset 'name' => list of submodules that declare ‘name’. 745| declsByName = zipAttrsWith (n: v: v) ( | ^ 746| map ( … while calling the 'map' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:746:9: 745| declsByName = zipAttrsWith (n: v: v) ( 746| map ( | ^ 747| module: … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:267:37: 266| 267| merged = mergeModules prefix (reverseList (doCollect { }).modules); | ^ 268| … while calling 'reverseList' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/lists.nix:1105:5: 1104| reverseList = 1105| xs: | ^ 1106| let … while calling the 'genList' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/lists.nix:1109:5: 1108| in 1109| genList (n: elemAt xs (l - n - 1)) l; | ^ 1110| … while evaluating the second argument passed to builtins.genList … while calling the 'length' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/lists.nix:1107:11: 1106| let 1107| l = length xs; | ^ 1108| in … while evaluating the attribute 'modules' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:550:7: 549| modulesPath: initialModules: args: { 550| modules = filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args); | ^ 551| graph = toGraph modulesPath (collectStructuredModules unknownModule "" initialModules args); … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:550:17: 549| modulesPath: initialModules: args: { 550| modules = filterModules modulesPath (collectStructuredModules unknownModule "" initialModules args); | ^ 551| graph = toGraph modulesPath (collectStructuredModules unknownModule "" initialModules args); … while calling 'filterModules' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:525:9: 524| modulesPath: 525| { disabled, modules }: | ^ 526| let … while calling the 'map' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:529:9: 528| in 529| map (attrs: attrs.module) (genericClosure { | ^ 530| startSet = keyFilter modules; … while calling the 'genericClosure' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:529:36: 528| in 529| map (attrs: attrs.module) (genericClosure { | ^ 530| startSet = keyFilter modules; … while calling the 'filter' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:530:22: 529| map (attrs: attrs.module) (genericClosure { 530| startSet = keyFilter modules; | ^ 531| operator = attrs: keyFilter attrs.modules; … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:527:31: 526| let 527| keyFilter = filter (attrs: !isDisabled modulesPath disabled attrs); | ^ 528| in … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:527:39: 526| let 527| keyFilter = filter (attrs: !isDisabled modulesPath disabled attrs); | ^ 528| in … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:456:9: 455| in 456| structuredModule: elem structuredModule.key disabledKeys; | ^ 457| … while calling the 'elem' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:456:27: 455| in 456| structuredModule: elem structuredModule.key disabledKeys; | ^ 457| … while calling the 'concatMap' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:454:26: 453| 454| disabledKeys = concatMap ({ file, disabled }: map (moduleKey file) disabled) disabledList; | ^ 455| in … while calling the 'concatLists' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:486:24: 485| collectResults = modules: { 486| disabled = concatLists (catAttrs "disabled" modules); | ^ 487| inherit modules; … while evaluating the attribute 'disabled' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:486:13: 485| collectResults = modules: { 486| disabled = concatLists (catAttrs "disabled" modules); | ^ 487| inherit modules; … while calling the 'concatLists' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:486:24: 485| collectResults = modules: { 486| disabled = concatLists (catAttrs "disabled" modules); | ^ 487| inherit modules; … while evaluating the attribute 'disabled' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:486:13: 485| collectResults = modules: { 486| disabled = concatLists (catAttrs "disabled" modules); | ^ 487| inherit modules; … while calling the 'concatLists' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:486:24: 485| collectResults = modules: { 486| disabled = concatLists (catAttrs "disabled" modules); | ^ 487| inherit modules; … while calling the 'catAttrs' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:486:37: 485| collectResults = modules: { 486| disabled = concatLists (catAttrs "disabled" modules); | ^ 487| inherit modules; … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:492:11: 491| collectResults ( 492| imap1 ( | ^ 493| n: x: … while calling 'imap1' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/lists.nix:347:14: 346| */ 347| imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list); | ^ 348| … while calling the 'genList' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/lists.nix:347:20: 346| */ 347| imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list); | ^ 348| … while evaluating the second argument passed to builtins.genList … while calling the 'length' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/lists.nix:347:60: 346| */ 347| imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list); | ^ 348| … while evaluating the attribute 'imports' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:645:9: 644| disabledModules = m.disabledModules or [ ]; 645| imports = m.require or [ ] ++ m.imports or [ ]; | ^ 646| options = { }; … while evaluating the attribute 'imports' at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:318:19: 317| ({ ... }: { 318| imports = submodule.modules ++ defaults ++ [ ./base.nix ]; | ^ 319| _module.args.pkgs = pkgs; … while evaluating an expression to select 'modules' on it at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:318:29: 317| ({ ... }: { 318| imports = submodule.modules ++ defaults ++ [ ./base.nix ]; | ^ 319| _module.args.pkgs = pkgs; … while evaluating submodule at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:318:29: 317| ({ ... }: { 318| imports = submodule.modules ++ defaults ++ [ ./base.nix ]; | ^ 319| _module.args.pkgs = pkgs; … from call site at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:269:23: 268| # submodule associated with 269| submodule = findSubmodule { | ^ 270| name = config.submodule; … while calling 'findSubmodule' at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:34:19: 33| 34| findSubmodule = { name, version ? null, latest ? true }: | ^ 35| let … while evaluating matchingModule at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:62:5: 61| in 62| matchingModule; | ^ 63| … while calling the 'length' builtin at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:53:12: 52| matchingModule = 53| if length versionSortedSubmodules == 0 | ^ 54| then … while calling the 'sort' builtin at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:44:33: 43| 44| versionSortedSubmodules = sort | ^ 45| (s1: s2: … while calling the 'filter' builtin at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:36:28: 35| let 36| matchingSubmodules = filter | ^ 37| (el: … while calling anonymous lambda at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:37:10: 36| matchingSubmodules = filter 37| (el: | ^ 38| el.definition.name … while evaluating the attribute 'definition.name' at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:252:64: 251| definition = { 252| inherit (evaledSubmodule.config.submodule) name description version tags exports; | ^ 253| }; … while evaluating an expression to select 'name' on it at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:252:64: 251| definition = { 252| inherit (evaledSubmodule.config.submodule) name description version tags exports; | ^ 253| }; … while evaluating an expression to select 'config.submodule' on it at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:252:30: 251| definition = { 252| inherit (evaledSubmodule.config.submodule) name description version tags exports; | ^ 253| }; … while evaluating evaledSubmodule at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:252:30: 251| definition = { 252| inherit (evaledSubmodule.config.submodule) name description version tags exports; | ^ 253| }; … while calling the 'elem' builtin at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:215:25: 214| evaledSubmodule = 215| if (!(elem "submodule" evaledSubmodule'.config._m.features)) | ^ 216| then throw "no submodule defined" … while evaluating the attribute 'config._m.features' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:361:9: 360| options = checked options; 361| config = checked (removeAttrs config [ "_module" ]); | ^ 362| _module = checked (config._module); … while evaluating an expression to select '_m' on it at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodules.nix:215:66: 214| evaledSubmodule = 215| if (!(elem "submodule" evaledSubmodule'.config._m.features)) | ^ 216| then throw "no submodule defined" (17 duplicate frames omitted) … while evaluating an expression to select 'kubernetes' on it at /nix/store/f68rm3gsa1ffllyz4m35jvrck4db2f7i-source/experiments/3-submodules/submodule-generic-args.nix:56:7: 55| } 56| args.kubernetes | ^ 57| ]; … while evaluating args at /nix/store/f68rm3gsa1ffllyz4m35jvrck4db2f7i-source/experiments/3-submodules/submodule-generic-args.nix:56:7: 55| } 56| args.kubernetes | ^ 57| ]; … from call site at /nix/store/f68rm3gsa1ffllyz4m35jvrck4db2f7i-source/experiments/3-submodules/submodule-generic-args.nix:56:7: 55| } 56| args.kubernetes | ^ 57| ]; … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:681:15: 680| extraArgs = mapAttrs ( 681| name: _: | ^ 682| addErrorContext (context name) ( … while calling the 'addErrorContext' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:682:9: 681| name: _: 682| addErrorContext (context name) ( | ^ 683| args.${name} or (addErrorContext … while evaluating the module argument `args' in "/nix/store/f68rm3gsa1ffllyz4m35jvrck4db2f7i-source/experiments/3-submodules/submodule-generic-args.nix": … while calling the 'addErrorContext' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:683:28: 682| addErrorContext (context name) ( 683| args.${name} or (addErrorContext | ^ 684| "noting that argument `${name}` is not externally provided, so querying `_module.args` instead, requiring `config`" … noting that argument `args` is not externally provided, so querying `_module.args` instead, requiring `config` … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:685:33: 684| "noting that argument `${name}` is not externally provided, so querying `_module.args` instead, requiring `config`" 685| config._module.args.${name} | ^ 686| ) … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/types.nix:879:22: 878| value = mapAttrs ( 879| n: v: | ^ 880| if lazy then … while evaluating the attribute 'optionalValue.value' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1256:5: 1255| 1256| optionalValue = if isDefined then { value = mergedValue; } else { }; | ^ 1257| }; … while evaluating an expression to select 'value' on it at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/types.nix:881:37: 880| if lazy then 881| v.optionalValue.value or elemType.emptyValue.value or v.mergedValue | ^ 882| else … while evaluating isDefined at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1256:24: 1255| 1256| optionalValue = if isDefined then { value = mergedValue; } else { }; | ^ 1257| }; … while evaluating defsFinal at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1254:17: 1253| 1254| isDefined = defsFinal != [ ]; | ^ 1255| … while evaluating the attribute 'values' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1186:9: 1185| { 1186| values = defsSorted; | ^ 1187| inherit (defsFiltered) highestPrio; … while calling the 'any' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1180:14: 1179| # Avoid sorting if we don't have to. 1180| if any (def: def.value._type or "" == "order") defsFiltered.values then | ^ 1181| sortProperties defsFiltered.values … while evaluating the attribute 'values' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1360:7: 1359| { 1360| values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs; | ^ 1361| inherit highestPrio; … while calling the 'concatMap' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1360:16: 1359| { 1360| values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs; | ^ 1361| inherit highestPrio; … while calling the 'concatMap' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1160:26: 1159| # Process mkMerge and mkIf properties. 1160| defsNormalized = concatMap ( | ^ 1161| m: … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1161:11: 1160| defsNormalized = concatMap ( 1161| m: | ^ 1162| map ( … while calling the 'map' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1162:11: 1161| m: 1162| map ( | ^ 1163| value: … while calling the 'addErrorContext' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1171:14: 1170| } 1171| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1172| ) defs; … while evaluating definitions from `/nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodule.nix': … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1171:80: 1170| } 1171| ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value)) | ^ 1172| ) defs; … while calling 'dischargeProperties' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1311:5: 1310| dischargeProperties = 1311| def: | ^ 1312| if def._type or "" == "merge" then … while evaluating an expression to select '_type' on it at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1312:8: 1311| def: 1312| if def._type or "" == "merge" then | ^ 1313| concatMap dischargeProperties def.contents … while evaluating def at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1312:8: 1311| def: 1312| if def._type or "" == "merge" then | ^ 1313| concatMap dischargeProperties def.contents … while evaluating the attribute 'value' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/types.nix:819:15: 818| inherit (def) file; 819| value = v; | ^ 820| }) def.value … from call site at /nix/store/jy9fxccigmgkdiby446l5bjdvirwa2hn-source/modules/submodule.nix:54:47: 53| 54| config._module.args.args = config.submodule.args; | ^ 55| config._m.features = [ "submodule" ]; … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/attrsets.nix:1188:17: 1187| mapAttrs ( 1188| name: value: | ^ 1189| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value … from call site at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/attrsets.nix:1189:85: 1188| name: value: 1189| if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value | ^ 1190| ); … while calling anonymous lambda at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:275:71: 274| # For definitions that have an associated option 275| declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options; | ^ 276| … while evaluating the attribute 'value' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1118:7: 1117| // { 1118| value = addErrorContext "while evaluating the option `${showOption loc}':" value; | ^ 1119| inherit (res.defsFinal') highestPrio; … while calling the 'addErrorContext' builtin at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1118:15: 1117| // { 1118| value = addErrorContext "while evaluating the option `${showOption loc}':" value; | ^ 1119| inherit (res.defsFinal') highestPrio; … while evaluating the option `submodule.args': … while evaluating the attribute 'mergedValue' at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1192:5: 1191| # Type-check the remaining definitions, and merge them. Or throw if no definitions. 1192| mergedValue = | ^ 1193| if isDefined then … caused by explicit throw at /nix/store/0lc6kbmhkqk8vmgflpn2n1d1qb3vl2f5-source/lib/modules.nix:1211:9: 1210| # handling. If changed here, please change it there too.) 1211| throw | ^ 1212| "The option `${showOption loc}' was accessed but has no value defined. Try setting the option."; error: The option `submodule.args' was accessed but has no value defined. Try setting the option. ``` </p> </details> ``` error: The option `submodule.args' was accessed but has no value defined. Try setting the option. ``` It seems to be cause by this https://github.com/hall/kubenix/pull/89. When I just revert the change in `modules/submodule.nix` it works again.
关闭于 2026-01-03 2 条评论