Today I couldn't upgrade my system, maybe because the overlay doesn't apply well anymore, maybe the error was always bound to happen due to how badly I configured my system. My nix-fu is low.
sudo nixos-rebuild switch --upgrade --show-trace
unpacking channels...
building Nix...
building the system configuration...
error: 'wrapper' at /nix/store/dmb2chpbx965shwigb1zbr8zwjz34sgj-nixos/nixos/pkgs/applications/networking/browsers/firefox/wrapper.nix:24:5 called with unexpected argument 'browserName'
at /nix/store/dmb2chpbx965shwigb1zbr8zwjz34sgj-nixos/nixos/lib/customisation.nix:69:16:
68| let
69| result = f origArgs;
| ^
70|
… while evaluating 'makeOverridable'
at /nix/store/dmb2chpbx965shwigb1zbr8zwjz34sgj-nixos/nixos/lib/customisation.nix:67:24:
66| */
67| makeOverridable = f: origArgs:
| ^
68| let
… from call site
at /nix/store/0is2vvjlgpan12q39mfrsykfhpcw4332-firefox-overlay.nix:144:5:
143| let info = versionInfo version; in
144| super.wrapFirefox ((self.firefox-bin-unwrapped.override {
| ^
145| generated = {
… while evaluating 'firefoxVersion'
at /nix/store/0is2vvjlgpan12q39mfrsykfhpcw4332-firefox-overlay.nix:142:20:
141|
142| firefoxVersion = version:
| ^
143| let info = versionInfo version; in
… from call site
at /nix/store/0is2vvjlgpan12q39mfrsykfhpcw4332-firefox-overlay.nix:180:27:
179| latest = (super.latest or {}) // {
180| firefox-nightly-bin = firefoxVersion {
| ^
181| name = "Firefox Nightly";
… while evaluating the attribute 'firefox-nightly-bin'
at /nix/store/0is2vvjlgpan12q39mfrsykfhpcw4332-firefox-overlay.nix:180:5:
179| latest = (super.latest or {}) // {
180| firefox-nightly-bin = firefoxVersion {
| ^
181| name = "Firefox Nightly";
… while evaluating the attribute 'value'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/types.nix:408:38:
407| elemType
408| [{ inherit (def) file; value = def'; }]
| ^
409| ).optionalValue
… while evaluating 'dischargeProperties'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:739:25:
738| */
739| dischargeProperties = def:
| ^
740| if def._type or "" == "merge" then
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:668:137:
667| defs' = concatMap (m:
668| map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
| ^
669| ) defs;
… while evaluating definitions from `/etc/nixos/configuration.nix':
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:667:28:
666| # Process mkMerge and mkIf properties.
667| defs' = concatMap (m:
| ^
668| map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:667:17:
666| # Process mkMerge and mkIf properties.
667| defs' = concatMap (m:
| ^
668| map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
… while evaluating the attribute 'values'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:780:7:
779| in {
780| values = concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
| ^
781| inherit highestPrio;
… while evaluating the attribute 'values'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:681:9:
680| in {
681| values = defs''';
| ^
682| inherit (defs'') highestPrio;
… while evaluating the attribute 'optionalValue'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:699:5:
698|
699| optionalValue =
| ^
700| if isDefined then { value = mergedValue; }
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/types.nix:404:21:
403| map (x: x.value) (filter (x: x ? value) (concatLists (imap1 (n: def:
404| imap1 (m: def':
| ^
405| (mergeDefinitions
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:117:32:
116| */
117| imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list);
| ^
118|
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:117:29:
116| */
117| imap1 = f: list: genList (n: f (n + 1) (elemAt list n)) (length list);
| ^
118|
… from call site
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/types.nix:403:35:
402| merge = loc: defs:
403| map (x: x.value) (filter (x: x ? value) (concatLists (imap1 (n: def:
| ^
404| imap1 (m: def':
… from call site
… while evaluating 'merge'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/types.nix:402:20:
401| check = isList;
402| merge = loc: defs:
| ^
403| map (x: x.value) (filter (x: x ? value) (concatLists (imap1 (n: def:
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:689:59:
688| if isDefined then
689| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
690| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
… while evaluating the attribute 'mergedValue'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:687:5:
686| # Type-check the remaining definitions, and merge them. Or throw if no definitions.
687| mergedValue =
| ^
688| if isDefined then
… while evaluating the option `environment.systemPackages':
… while evaluating the attribute 'value'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:653:9:
652| in warnDeprecation opt //
653| { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
| ^
654| inherit (res.defsFinal') highestPrio;
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:205:72:
204| # For definitions that have an associated option
205| declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
| ^
206|
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:401:20:
400| then recurse (path ++ [name]) value
401| else f (path ++ [name]) value;
| ^
402| in mapAttrs g;
… while evaluating 'g'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:398:19:
397| g =
398| name: value:
| ^
399| if isAttrs value && cond value
… from call site
… while evaluating the attribute 'passAsFile'
at /nix/store/dmb2chpbx965shwigb1zbr8zwjz34sgj-nixos/nixos/pkgs/build-support/buildenv/default.nix:77:5:
76| # XXX: The size is somewhat arbitrary
77| passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
| ^
78| }
… while evaluating the attribute 'passAsFile' of the derivation 'system-path'
at /nix/store/dmb2chpbx965shwigb1zbr8zwjz34sgj-nixos/nixos/pkgs/stdenv/generic/make-derivation.nix:205:7:
204| // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
205| name =
| ^
206| let
… while evaluating 'check'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/types.nix:394:15:
393| name = "path";
394| check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/";
| ^
395| merge = mergeEqualOption;
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:689:22:
688| if isDefined then
689| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
690| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:689:17:
688| if isDefined then
689| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
690| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:689:12:
688| if isDefined then
689| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
690| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
… while evaluating the attribute 'value'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:700:27:
699| optionalValue =
700| if isDefined then { value = mergedValue; }
| ^
701| else {};
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/types.nix:403:14:
402| merge = loc: defs:
403| map (x: x.value) (filter (x: x ? value) (concatLists (imap1 (n: def:
| ^
404| imap1 (m: def':
… from call site
… while evaluating the attribute 'serviceDirectories' of the derivation 'dbus-1'
at /nix/store/dmb2chpbx965shwigb1zbr8zwjz34sgj-nixos/nixos/pkgs/stdenv/generic/make-derivation.nix:205:7:
204| // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
205| name =
| ^
206| let
… while evaluating 'check'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/types.nix:394:15:
393| name = "path";
394| check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/";
| ^
395| merge = mergeEqualOption;
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:689:22:
688| if isDefined then
689| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
690| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:689:17:
688| if isDefined then
689| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
690| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:689:12:
688| if isDefined then
689| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
690| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
… while evaluating the attribute 'mergedValue'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:687:5:
686| # Type-check the remaining definitions, and merge them. Or throw if no definitions.
687| mergedValue =
| ^
688| if isDefined then
… while evaluating the option `environment.etc.dbus-1.source':
… while evaluating the attribute 'value'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:653:9:
652| in warnDeprecation opt //
653| { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
| ^
654| inherit (res.defsFinal') highestPrio;
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:205:72:
204| # For definitions that have an associated option
205| declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
| ^
206|
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:401:20:
400| then recurse (path ++ [name]) value
401| else f (path ++ [name]) value;
| ^
402| in mapAttrs g;
… while evaluating 'g'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:398:19:
397| g =
398| name: value:
| ^
399| if isAttrs value && cond value
… from call site
… while evaluating 'escapeShellArg'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/strings.nix:318:20:
317| */
318| escapeShellArg = arg: "'${replaceStrings ["'"] ["'\\''"] (toString arg)}'";
| ^
319|
… from call site
… while evaluating 'concatMapStringsSep'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/strings.nix:110:5:
109| # List of input strings
110| list: concatStringsSep sep (map f list);
| ^
111|
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/etc/etc.nix:54:43:
53| mkdir -p "$out/etc"
54| ${concatMapStringsSep "\n" (etcEntry: escapeShellArgs [
| ^
55| "makeEtcEntry"
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/etc/etc.nix:54:33:
53| mkdir -p "$out/etc"
54| ${concatMapStringsSep "\n" (etcEntry: escapeShellArgs [
| ^
55| "makeEtcEntry"
… from call site
… while evaluating 'concatMapStringsSep'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/strings.nix:110:5:
109| # List of input strings
110| list: concatStringsSep sep (map f list);
| ^
111|
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/etc/etc.nix:54:7:
53| mkdir -p "$out/etc"
54| ${concatMapStringsSep "\n" (etcEntry: escapeShellArgs [
| ^
55| "makeEtcEntry"
… while evaluating the attribute 'buildCommand' of the derivation 'etc'
at /nix/store/dmb2chpbx965shwigb1zbr8zwjz34sgj-nixos/nixos/pkgs/stdenv/generic/make-derivation.nix:205:7:
204| // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
205| name =
| ^
206| let
… while evaluating the attribute 'value'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:488:44:
487| defnsByName' = byName "config" (module: value:
488| [{ inherit (module) file; inherit value; }]
| ^
489| ) configs;
… while evaluating 'atDepth'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:60:17:
59| len = length attrPath;
60| atDepth = n:
| ^
61| if n == len
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:63:39:
62| then value
63| else { ${elemAt attrPath n} = atDepth (n + 1); };
| ^
64| in atDepth 0;
… while evaluating the attribute 'value'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/types.nix:461:58:
460| # Push down position info.
461| (map (def: mapAttrs (n: v: { inherit (def) file; value = v; }) def.value) defs);
| ^
462| emptyValue = { value = {}; };
… while evaluating 'dischargeProperties'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:739:25:
738| */
739| dischargeProperties = def:
| ^
740| if def._type or "" == "merge" then
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:668:137:
667| defs' = concatMap (m:
668| map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
| ^
669| ) defs;
… while evaluating definitions from `/nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/etc/etc.nix':
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:667:28:
666| # Process mkMerge and mkIf properties.
667| defs' = concatMap (m:
| ^
668| map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:667:17:
666| # Process mkMerge and mkIf properties.
667| defs' = concatMap (m:
| ^
668| map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
… while evaluating the attribute 'values'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:780:7:
779| in {
780| values = concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
| ^
781| inherit highestPrio;
… while evaluating the attribute 'values'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:681:9:
680| in {
681| values = defs''';
| ^
682| inherit (defs'') highestPrio;
… while evaluating the attribute 'optionalValue.value'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:699:5:
698|
699| optionalValue =
| ^
700| if isDefined then { value = mergedValue; }
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/types.nix:455:29:
454| merge = loc: defs:
455| zipAttrsWith (name: defs:
| ^
456| let merged = mergeDefinitions (loc ++ [name]) elemType defs;
… from call site
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:518:24:
517| let f = attrPath:
518| zipAttrsWith (n: values:
| ^
519| let here = attrPath ++ [n]; in
… from call site
… while evaluating the attribute 'value'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:488:44:
487| defnsByName' = byName "config" (module: value:
488| [{ inherit (module) file; inherit value; }]
| ^
489| ) configs;
… while evaluating 'dischargeProperties'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:739:25:
738| */
739| dischargeProperties = def:
| ^
740| if def._type or "" == "merge" then
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:668:137:
667| defs' = concatMap (m:
668| map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
| ^
669| ) defs;
… while evaluating definitions from `/nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/etc/etc-activation.nix':
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:667:28:
666| # Process mkMerge and mkIf properties.
667| defs' = concatMap (m:
| ^
668| map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:667:17:
666| # Process mkMerge and mkIf properties.
667| defs' = concatMap (m:
| ^
668| map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
… while evaluating the attribute 'values'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:780:7:
779| in {
780| values = concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
| ^
781| inherit highestPrio;
… while evaluating the attribute 'values'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:681:9:
680| in {
681| values = defs''';
| ^
682| inherit (defs'') highestPrio;
… while evaluating the attribute 'mergedValue'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:687:5:
686| # Type-check the remaining definitions, and merge them. Or throw if no definitions.
687| mergedValue =
| ^
688| if isDefined then
… while evaluating the option `system.activationScripts.etc.text':
… while evaluating the attribute 'value'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:653:9:
652| in warnDeprecation opt //
653| { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
| ^
654| inherit (res.defsFinal') highestPrio;
… while evaluating anonymous lambda
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:205:72:
204| # For definitions that have an associated option
205| declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
| ^
206|
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:401:20:
400| then recurse (path ++ [name]) value
401| else f (path ++ [name]) value;
| ^
402| in mapAttrs g;
… while evaluating 'g'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:398:19:
397| g =
398| name: value:
| ^
399| if isAttrs value && cond value
… from call site
… while evaluating the attribute 'text'
at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/activation/activation-script.nix:9:5:
8| addAttributeName = mapAttrs (a: v: v // {
9| text = ''
| ^
10| #### Activation script snippet ${a}:
… while evaluating 'id'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/trivial.nix:14:5:
13| # The value to return
14| x: x;
| ^
15|
… from call site
… while evaluating 'textClosureMap'
at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/strings-with-deps.nix:75:35:
74|
75| textClosureMap = f: predefined: names:
| ^
76| concatStringsSep "\n" (map f (textClosureList predefined names));
… from call site
at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/activation/activation-script.nix:49:9:
48|
49| ${textClosureMap id (withDrySnippets) (attrNames withDrySnippets)}
| ^
50|
… while evaluating 'systemActivationScript'
at /nix/var/nix/profiles/per-user/root/channels/nixos/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/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/activation/activation-script.nix:137:18:
136| apply = set: set // {
137| script = systemActivationScript set false;
| ^
138| };
… while evaluating the attribute 'system.activationScripts.script'
at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/system/activation/activation-script.nix:137:9:
136| apply = set: set // {
137| script = systemActivationScript set false;
| ^
138| };
… while evaluating the attribute 'activationScript' of the derivation 'nixos-system-thonkpad-22.05pre364329.ce8cbe3c01f'
at /nix/store/dmb2chpbx965shwigb1zbr8zwjz34sgj-nixos/nixos/pkgs/stdenv/generic/make-derivation.nix:205:7:
204| // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
205| name =
| ^
206| let
sudo nixos-rebuild switch --upgrade --show-trace 4.79s user 1.86s system 99% cpu 6.664 total
Today I couldn't upgrade my system, maybe because the overlay doesn't apply well anymore, maybe the error was always bound to happen due to how badly I configured my system. My nix-fu is low.
This are my relevant configuration.nix sections:
Full log: