Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nix flake: error: attribute 'enableIPv6' missing #2828

Open
benjamb opened this issue Feb 17, 2025 · 1 comment
Open

nix flake: error: attribute 'enableIPv6' missing #2828

benjamb opened this issue Feb 17, 2025 · 1 comment

Comments

@benjamb
Copy link

benjamb commented Feb 17, 2025

There appears to be a conflict with using config.networking.enableIPv6 as a default value for networking.stevenBlackHosts.enableIPv6 when documentation.nixos.includeAllModules is also enabled on a system.

The enableIPv6 option was introduced in #2803.

Minimal reproduction flake.nix:

{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
    hosts = {
      url = "github:StevenBlack/hosts";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = {
    nixpkgs,
    hosts,
    ...
  }: let
    system = "x86_64-linux";
  in {
    nixosConfigurations.hostname = nixpkgs.lib.nixosSystem {
      inherit system;
      modules = [
        ./hardware-configuration.nix
        {
          boot.loader.systemd-boot.enable = true;
          networking.stevenBlackHosts.enable = true;
          documentation.nixos.includeAllModules = true;
        }
        hosts.nixosModule
      ];
    };
  };
}

Output of nixos-rebuild build --show-trace --flake .:

building the system configuration...
evaluation warning: system.stateVersion is not set, defaulting to 24.11. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion.
error:
       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1570:24:
         1569|     let f = attrPath:
         1570|       zipAttrsWith (n: values:
             |                        ^
         1571|         let here = attrPath ++ [n]; in

       … while calling the 'head' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1574:11:
         1573|         || pred here (elemAt values 1) (head values) then
         1574|           head values
             |           ^
         1575|         else

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1204:18:
         1203|         mapAttrs
         1204|           (name: value:
             |                  ^
         1205|             if isAttrs value && cond value

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1207:18:
         1206|             then recurse (path ++ [ name ]) value
         1207|             else f (path ++ [ name ]) value);
             |                  ^
         1208|     in

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:254:72:
          253|           # For definitions that have an associated option
          254|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          255|

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:816:9:
          815|     in warnDeprecation opt //
          816|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          817|         inherit (res.defsFinal') highestPrio;

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

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

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:852:7:
          851|     mergedValue =
          852|       if isDefined then
             |       ^
          853|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal

       … while evaluating the attribute 'values'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:845:9:
          844|       in {
          845|         values = defs''';
             |         ^
          846|         inherit (defs'') highestPrio;

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

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

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

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

       … while calling the 'concatMap' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:831:17:
          830|         # Process mkMerge and mkIf properties.
          831|         defs' = concatMap (m:
             |                 ^
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:831:28:
          830|         # Process mkMerge and mkIf properties.
          831|         defs' = concatMap (m:
             |                            ^
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

       … while calling the 'map' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:832:11:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |           ^
          833|         ) defs;

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

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:832:128:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                ^
          833|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:903:25:
          902|   */
          903|   dischargeProperties = def:
             |                         ^
          904|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:904:5:
          903|   dischargeProperties = def:
          904|     if def._type or "" == "merge" then
             |     ^
          905|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:614:53:
          613|                 (n: value:
          614|                   [{ inherit (module) file; inherit value; }]
             |                                                     ^
          615|                 )

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/top-level.nix:74:10:
           73|     then throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failedAssertions)}"
           74|     else showWarnings config.warnings baseSystem;
             |          ^
           75|

       … while calling 'showWarnings'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/trivial.nix:972:28:
          971|
          972|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                            ^
          973|

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/trivial.nix:972:33:
          971|
          972|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                                 ^
          973|

       … while calling 'foldr'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/lists.nix:122:20:
          121|   */
          122|   foldr = op: nul: list:
             |                    ^
          123|     let

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/lists.nix:129:8:
          128|         else op (elemAt list n) (fold' (n + 1));
          129|     in fold' 0;
             |        ^
          130|

       … while calling 'fold''
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/lists.nix:125:15:
          124|       len = length list;
          125|       fold' = n:
             |               ^
          126|         if n == len

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/top-level.nix:54:16:
           53|   # makes it bootable. See `activatable-system.nix`.
           54|   baseSystem = pkgs.stdenvNoCC.mkDerivation ({
             |                ^
           55|     name = "nixos-system-${config.system.name}-${config.system.nixos.label}";

       … while calling 'mkDerivation'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/stdenv/generic/make-derivation.nix:64:5:
           63|   mkDerivation =
           64|     fnOrAttrs:
             |     ^
           65|       if builtins.isFunction fnOrAttrs

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/stdenv/generic/make-derivation.nix:65:7:
           64|     fnOrAttrs:
           65|       if builtins.isFunction fnOrAttrs
             |       ^
           66|       then makeDerivationExtensible fnOrAttrs

       … while calling the 'isFunction' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/stdenv/generic/make-derivation.nix:65:10:
           64|     fnOrAttrs:
           65|       if builtins.isFunction fnOrAttrs
             |          ^
           66|       then makeDerivationExtensible fnOrAttrs

       … in the right operand of the update (//) operator
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/top-level.nix:66:5:
           65|     inherit (config.system) extraDependencies;
           66|   } // config.system.systemBuilderArgs);
             |     ^
           67|

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/top-level.nix:66:8:
           65|     inherit (config.system) extraDependencies;
           66|   } // config.system.systemBuilderArgs);
             |        ^
           67|

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1204:18:
         1203|         mapAttrs
         1204|           (name: value:
             |                  ^
         1205|             if isAttrs value && cond value

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1207:18:
         1206|             then recurse (path ++ [ name ]) value
         1207|             else f (path ++ [ name ]) value);
             |                  ^
         1208|     in

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:254:72:
          253|           # For definitions that have an associated option
          254|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          255|

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:816:9:
          815|     in warnDeprecation opt //
          816|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          817|         inherit (res.defsFinal') highestPrio;

       … while evaluating the option `system.systemBuilderArgs':

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

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:853:59:
          852|       if isDefined then
          853|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |                                                           ^
          854|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … while calling 'merge'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:576:20:
          575|       check = isAttrs;
          576|       merge = loc: defs:
             |                    ^
          577|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:

       … while calling the 'mapAttrs' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:577:9:
          576|       merge = loc: defs:
          577|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |         ^
          578|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:577:35:
          576|       merge = loc: defs:
          577|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |                                   ^
          578|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … while calling 'filterAttrs'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:646:5:
          645|     pred:
          646|     set:
             |     ^
          647|     removeAttrs set (filter (name: ! pred name set.${name}) (attrNames set));

       … while calling the 'removeAttrs' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:647:5:
          646|     set:
          647|     removeAttrs set (filter (name: ! pred name set.${name}) (attrNames set));
             |     ^
          648|

       … while calling the 'filter' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:647:22:
          646|     set:
          647|     removeAttrs set (filter (name: ! pred name set.${name}) (attrNames set));
             |                      ^
          648|

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:647:30:
          646|     set:
          647|     removeAttrs set (filter (name: ! pred name set.${name}) (attrNames set));
             |                              ^
          648|

       … in the argument of the not operator
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:647:38:
          646|     set:
          647|     removeAttrs set (filter (name: ! pred name set.${name}) (attrNames set));
             |                                      ^
          648|

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:647:38:
          646|     set:
          647|     removeAttrs set (filter (name: ! pred name set.${name}) (attrNames set));
             |                                      ^
          648|

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:577:51:
          576|       merge = loc: defs:
          577|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |                                                   ^
          578|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:647:48:
          646|     set:
          647|     removeAttrs set (filter (name: ! pred name set.${name}) (attrNames set));
             |                                                ^
          648|

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:577:86:
          576|       merge = loc: defs:
          577|         mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs:
             |                                                                                      ^
          578|             (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue

       … while evaluating the attribute 'optionalValue'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:863:5:
          862|
          863|     optionalValue =
             |     ^
          864|       if isDefined then { value = mergedValue; }

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:864:7:
          863|     optionalValue =
          864|       if isDefined then { value = mergedValue; }
             |       ^
          865|       else {};

       (8 duplicate frames omitted)

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

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:832:128:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                ^
          833|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:903:25:
          902|   */
          903|   dischargeProperties = def:
             |                         ^
          904|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:904:5:
          903|   dischargeProperties = def:
          904|     if def._type or "" == "merge" then
             |     ^
          905|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:581:60:
          580|           # Push down position info.
          581|           (map (def: mapAttrs (n: v: { inherit (def) file; value = v; }) def.value) defs)));
             |                                                            ^
          582|       emptyValue = { value = {}; };

       … while evaluating the attribute 'system.activationScripts.script'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/activation-script.nix:140:9:
          139|       apply = set: set // {
          140|         script = systemActivationScript set false;
             |         ^
          141|       };

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/activation-script.nix:140:18:
          139|       apply = set: set // {
          140|         script = systemActivationScript set false;
             |                  ^
          141|       };

       … while calling 'systemActivationScript'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/activation-script.nix:20:33:
           19|
           20|   systemActivationScript = set: onlyDry: let
             |                                 ^
           21|     set' = mapAttrs (_: v: if isString v then (noDepEntry v) // { supportsDryActivation = false; } else v) set;

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/activation-script.nix:51:9:
           50|
           51|       ${textClosureMap id (withDrySnippets) (attrNames withDrySnippets)}
             |         ^
           52|

       … while calling 'textClosureMap'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/strings-with-deps.nix:75:35:
           74|
           75|   textClosureMap = f: predefined: names:
             |                                   ^
           76|     concatStringsSep "\n" (map f (textClosureList predefined names));

       … while calling the 'concatStringsSep' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/strings-with-deps.nix:76:5:
           75|   textClosureMap = f: predefined: names:
           76|     concatStringsSep "\n" (map f (textClosureList predefined names));
             |     ^
           77|

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

       … while evaluating the attribute 'text'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/activation-script.nix:9:5:
            8|   addAttributeName = mapAttrs (a: v: v // {
            9|     text = ''
             |     ^
           10|       #### Activation script snippet ${a}:

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/activation/activation-script.nix:12:9:
           11|       _localstatus=0
           12|       ${v.text}
             |         ^
           13|

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1204:18:
         1203|         mapAttrs
         1204|           (name: value:
             |                  ^
         1205|             if isAttrs value && cond value

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1207:18:
         1206|             then recurse (path ++ [ name ]) value
         1207|             else f (path ++ [ name ]) value);
             |                  ^
         1208|     in

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:254:72:
          253|           # For definitions that have an associated option
          254|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          255|

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:816:9:
          815|     in warnDeprecation opt //
          816|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          817|         inherit (res.defsFinal') highestPrio;

       … while evaluating the option `system.activationScripts.etc.text':

       (10 duplicate frames omitted)

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

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:832:128:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                ^
          833|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:903:25:
          902|   */
          903|   dischargeProperties = def:
             |                         ^
          904|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:904:5:
          903|   dischargeProperties = def:
          904|     if def._type or "" == "merge" then
             |     ^
          905|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:614:53:
          613|                 (n: value:
          614|                   [{ inherit (module) file; inherit value; }]
             |                                                     ^
          615|                 )

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/etc/etc-activation.nix:18:9:
           17|         "groups"
           18|       ] config.system.build.etcActivationCommands;
             |         ^
           19|     }

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1570:24:
         1569|     let f = attrPath:
         1570|       zipAttrsWith (n: values:
             |                        ^
         1571|         let here = attrPath ++ [n]; in

       … while calling the 'head' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1574:11:
         1573|         || pred here (elemAt values 1) (head values) then
         1574|           head values
             |           ^
         1575|         else

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:601:29:
          600|       merge = loc: defs:
          601|         zipAttrsWith (name: defs:
             |                             ^
          602|           let merged = mergeDefinitions (loc ++ [name]) elemType defs;

       … while evaluating the attribute 'optionalValue.value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:863:5:
          862|
          863|     optionalValue =
             |     ^
          864|       if isDefined then { value = mergedValue; }

       (9 duplicate frames omitted)

       … while evaluating definitions from `/nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/etc/etc.nix':

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:832:128:
          831|         defs' = concatMap (m:
          832|           map (value: { inherit (m) file; inherit value; }) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                ^
          833|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:903:25:
          902|   */
          903|   dischargeProperties = def:
             |                         ^
          904|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:904:5:
          903|   dischargeProperties = def:
          904|     if def._type or "" == "merge" then
             |     ^
          905|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:607:58:
          606|         # Push down position info.
          607|         (map (def: mapAttrs (n: v: { inherit (def) file; value = v; }) def.value) defs);
             |                                                          ^
          608|       emptyValue = { value = {}; };

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/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/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:270:17:
          269|       len = length attrPath;
          270|       atDepth = n:
             |                 ^
          271|         if n == len

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:614:53:
          613|                 (n: value:
          614|                   [{ inherit (module) file; inherit value; }]
             |                                                     ^
          615|                 )

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'etc'
         whose name attribute is located at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'buildCommand' of derivation 'etc'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/trivial-builders/default.nix:59:17:
           58|         enableParallelBuilding = true;
           59|         inherit buildCommand name;
             |                 ^
           60|         passAsFile = [ "buildCommand" ]

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/etc/etc.nix:58:11:
           57|         mkdir -p "$out/etc"
           58|         ${lib.concatMapStringsSep "\n" (
             |           ^
           59|           etcEntry:

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

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

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/etc/etc.nix:59:11:
           58|         ${lib.concatMapStringsSep "\n" (
           59|           etcEntry:
             |           ^
           60|           lib.escapeShellArgs [

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/etc/etc.nix:60:11:
           59|           etcEntry:
           60|           lib.escapeShellArgs [
             |           ^
           61|             "makeEtcEntry"

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

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

       … while calling 'escapeShellArg'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/strings.nix:1056:20:
         1055|   */
         1056|   escapeShellArg = arg:
             |                    ^
         1057|     let

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/strings.nix:1060:7:
         1059|     in
         1060|       if match "[[:alnum:],._+:@%/-]+" string == null
             |       ^
         1061|       then "'${replaceStrings ["'"] ["'\\''"] string}'"

       … while calling the 'match' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/strings.nix:1060:10:
         1059|     in
         1060|       if match "[[:alnum:],._+:@%/-]+" string == null
             |          ^
         1061|       then "'${replaceStrings ["'"] ["'\\''"] string}'"

       … while evaluating the second argument passed to builtins.match

       … while calling the 'toString' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/strings.nix:1058:16:
         1057|     let
         1058|       string = toString arg;
             |                ^
         1059|     in

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/modules/system/etc/etc.nix:63:16:
           62|             # Force local source paths to be added to the store
           63|             "${etcEntry.source}"
             |                ^
           64|             etcEntry.target

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1204:18:
         1203|         mapAttrs
         1204|           (name: value:
             |                  ^
         1205|             if isAttrs value && cond value

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/attrsets.nix:1207:18:
         1206|             then recurse (path ++ [ name ]) value
         1207|             else f (path ++ [ name ]) value);
             |                  ^
         1208|     in

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:254:72:
          253|           # For definitions that have an associated option
          254|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          255|

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:816:9:
          815|     in warnDeprecation opt //
          816|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          817|         inherit (res.defsFinal') highestPrio;

       … while evaluating the option `environment.etc.dbus-1.source':

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

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:853:9:
          852|       if isDefined then
          853|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |         ^
          854|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … while calling the 'all' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:853:12:
          852|       if isDefined then
          853|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |            ^
          854|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:853:17:
          852|       if isDefined then
          853|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |                 ^
          854|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:853:22:
          852|       if isDefined then
          853|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
             |                      ^
          854|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

       … while calling 'check'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:528:15:
          527|       descriptionClass = "noun";
          528|       check = x: isStringLike x && builtins.substring 0 1 (toString x) == "/";
             |               ^
          529|       merge = mergeEqualOption;

       … in the right operand of the AND (&&) operator
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:528:33:
          527|       descriptionClass = "noun";
          528|       check = x: isStringLike x && builtins.substring 0 1 (toString x) == "/";
             |                                 ^
          529|       merge = mergeEqualOption;

       … while calling the 'substring' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:528:36:
          527|       descriptionClass = "noun";
          528|       check = x: isStringLike x && builtins.substring 0 1 (toString x) == "/";
             |                                    ^
          529|       merge = mergeEqualOption;

       … while calling the 'toString' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:528:60:
          527|       descriptionClass = "noun";
          528|       check = x: isStringLike x && builtins.substring 0 1 (toString x) == "/";
             |                                                            ^
          529|       merge = mergeEqualOption;

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'dbus-1'
         whose name attribute is located at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'serviceDirectories' of derivation 'dbus-1'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/development/libraries/dbus/make-dbus-conf.nix:19:13:
           18|   {
           19|     inherit serviceDirectories suidHelper apparmor;
             |             ^
           20|     preferLocalBuild = true;

       … while calling anonymous lambda
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/types.nix:546:14:
          545|       merge = loc: defs:
          546|         map (x: x.value) (filter (x: x ? value) (concatLists (imap1 (n: def:
             |              ^
          547|           imap1 (m: def':

       … while evaluating the attribute 'value'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/modules.nix:864:27:
          863|     optionalValue =
          864|       if isDefined then { value = mergedValue; }
             |                           ^
          865|       else {};

       (10 duplicate frames omitted)

       … while evaluating derivation 'system-path'
         whose name attribute is located at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'passAsFile' of derivation 'system-path'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/trivial-builders/default.nix:60:9:
           59|         inherit buildCommand name;
           60|         passAsFile = [ "buildCommand" ]
             |         ^
           61|           ++ (derivationArgs.passAsFile or [ ]);

       … while evaluating the attribute 'passAsFile'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/buildenv/default.nix:107:7:
          106|       # XXX: The size is somewhat arbitrary
          107|       passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |       ^
          108|     }

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/buildenv/default.nix:107:20:
          106|       # XXX: The size is somewhat arbitrary
          107|       passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |                    ^
          108|     }

       … in the argument of the not operator
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/buildenv/default.nix:107:50:
          106|       # XXX: The size is somewhat arbitrary
          107|       passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |                                                  ^
          108|     }

       … while calling the 'lessThan' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/buildenv/default.nix:107:50:
          106|       # XXX: The size is somewhat arbitrary
          107|       passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |                                                  ^
          108|     }

       … while calling the 'stringLength' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/buildenv/default.nix:107:23:
          106|       # XXX: The size is somewhat arbitrary
          107|       passAsFile = if builtins.stringLength pkgs >= 128 * 1024 then [ "pkgs" ] else [ ];
             |                       ^
          108|     }

       … while calling the 'toJSON' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/buildenv/default.nix:102:14:
          101|         ;
          102|       pkgs = builtins.toJSON chosenOutputs;
             |              ^
          103|       extraPathsFrom = lib.optional includeClosures (writeClosure pathsForClosure);

       … while evaluating list element at index 41

       … while evaluating attribute 'paths'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/buildenv/default.nix:64:7:
           63|     chosenOutputs = map (drv: {
           64|       paths =
             |       ^
           65|         # First add the usual output(s): respect if user has chosen explicitly,

       … while evaluating list element at index 0
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/buildenv/default.nix:64:7:
           63|     chosenOutputs = map (drv: {
           64|       paths =
             |       ^
           65|         # First add the usual output(s): respect if user has chosen explicitly,

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'nixos-configuration-reference-manpage'
         whose name attribute is located at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'buildCommand' of derivation 'nixos-configuration-reference-manpage'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/build-support/trivial-builders/default.nix:59:17:
           58|         enableParallelBuilding = true;
           59|         inherit buildCommand name;
             |                 ^
           60|         passAsFile = [ "buildCommand" ]

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:44:19:
           43|       value = commonAttrs // {
           44|         outPath = builtins.getAttr outputName strict;
             |                   ^
           45|         drvPath = strict.drvPath;

       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:34:12:
           33|
           34|   strict = derivationStrict drvAttrs;
             |            ^
           35|

       … while evaluating derivation 'options.json'
         whose name attribute is located at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'options' of derivation 'options.json'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/lib/make-options-doc/default.nix:214:9:
          213|         ];
          214|         options = builtins.toFile "options.json" (
             |         ^
          215|           builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix)

       … while calling the 'toFile' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/lib/make-options-doc/default.nix:214:19:
          213|         ];
          214|         options = builtins.toFile "options.json" (
             |                   ^
          215|           builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix)

       … while evaluating the second argument passed to builtins.toFile

       … while calling the 'unsafeDiscardStringContext' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/lib/make-options-doc/default.nix:215:11:
          214|         options = builtins.toFile "options.json" (
          215|           builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix)
             |           ^
          216|         );

       … while calling the 'toJSON' builtin
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/lib/make-options-doc/default.nix:215:48:
          214|         options = builtins.toFile "options.json" (
          215|           builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix)
             |                                                ^
          216|         );

       … while evaluating attribute '"networking.stevenBlackHosts.enableIPv6"'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/nixos/lib/make-options-doc/default.nix:168:7:
          167|       name = o.name;
          168|       value = removeAttrs o [
             |       ^
          169|         "name"

       … while evaluating attribute 'default'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/options.nix:344:11:
          343|         // optionalAttrs (opt ? defaultText || opt ? default) {
          344|           default =
             |           ^
          345|             builtins.addErrorContext "while evaluating the ${if opt?defaultText then "defaultText" else "default value"} of option `${name}`" (

       … while evaluating the default value of option `networking.stevenBlackHosts.enableIPv6`

       … from call site
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/options.nix:346:15:
          345|             builtins.addErrorContext "while evaluating the ${if opt?defaultText then "defaultText" else "default value"} of option `${name}`" (
          346|               renderOptionValue (opt.defaultText or opt.default)
             |               ^
          347|             );

       … while calling 'renderOptionValue'
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/options.nix:383:23:
          382|   */
          383|   renderOptionValue = v:
             |                       ^
          384|     if v ? _type && v ? text then v

       … while evaluating a branch condition
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/options.nix:384:5:
          383|   renderOptionValue = v:
          384|     if v ? _type && v ? text then v
             |     ^
          385|     else literalExpression (lib.generators.toPretty {

       … in the left operand of the AND (&&) operator
         at /nix/store/k5m013s96104sv1fl3awxn83l57j9dpm-source/lib/options.nix:384:18:
          383|   renderOptionValue = v:
          384|     if v ? _type && v ? text then v
             |                  ^
          385|     else literalExpression (lib.generators.toPretty {

       … while evaluating the attribute 'default'
         at /nix/store/28kb6ki1q3a98aqwmp09g8yksb5cz7mn-source/flake.nix:26:15:
           25|             enableIPv6 = mkEnableOption "IPv6 rules" // {
           26|               default = config.networking.enableIPv6;
             |               ^
           27|             };

       error: attribute 'enableIPv6' missing
       at /nix/store/28kb6ki1q3a98aqwmp09g8yksb5cz7mn-source/flake.nix:26:25:
           25|             enableIPv6 = mkEnableOption "IPv6 rules" // {
           26|               default = config.networking.enableIPv6;
             |                         ^
           27|             };
Copy link

welcome bot commented Feb 17, 2025

Hello! Thank you for opening your first issue in this repo. It’s people like you who make these host files better!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant