Skip to content

bug: substituteAll error when using barebones homemanager #7141

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

Open
2 tasks done
sophronesis opened this issue May 27, 2025 · 4 comments
Open
2 tasks done

bug: substituteAll error when using barebones homemanager #7141

sophronesis opened this issue May 27, 2025 · 4 comments
Assignees
Labels
bug triage Issues or feature request that have not been triaged yet

Comments

@sophronesis
Copy link

Are you following the right branch?

  • My Nixpkgs and Home Manager versions are in sync

Is there an existing issue for this?

  • I have searched the existing issues

Issue description

from here NixOS/nixpkgs#411203

Getting

error: `substituteAll` has been removed. Use `replaceVars` instead.

error message when importing almost barebones home manager module:

{ inputs, lib, pkgs, ... }:
{
  home = {
    stateVersion = "24.05";
  };
  programs.home-manager.enable = true;
}

if i'm not using homemanager - everything works smoothly

should be related to NixOS/nixpkgs#237216

so unbearable i switched to stow

Maintainer CC

No response

System information

- system: `"x86_64-linux"`
 - host os: `Linux 6.12.30, NixOS, 25.11 (Xantusia), 25.11.20250523.063f43f`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.28.3`
 - nixpkgs: `/nix/store/khwrmv3vkmc60ig18h90rf0iadis95na-source`
@sophronesis sophronesis added bug triage Issues or feature request that have not been triaged yet labels May 27, 2025
@BerriJ
Copy link

BerriJ commented May 27, 2025

It may be a little of topic in this thread, but maybe others have similar problems too. So my problem wasn't actually related to home-manager but to agenix, or more precisely, not up-to-date channels. You can read about that here: ryantm/agenix#331 (comment)

@sophronesis
Copy link
Author

more precisely, not up-to-date channels

i'm wondering how this relates to my case, due to me using flakes

@SSJDeathSpawn
Copy link

I checked your nixpkgs issue (NixOS/nixpkgs#411203) and noticed that it did not contain the stack trace. What does the full stack trace look like (Using --show-trace)? It was helpful for me to debug it, even though it was a different issue in my case (I used a custom package of gimp which used substituteAll).

@sophronesis
Copy link
Author

I checked your nixpkgs issue (NixOS/nixpkgs#411203) and noticed that it did not contain the stack trace. What does the full stack trace look like (Using --show-trace)? It was helpful for me to debug it, even though it was a different issue in my case (I used a custom package of gimp which used substituteAll).

 F ~/./nixos/➤ sudo nixos-rebuild test --cores 16 --flake ~/.config/nixos/#sphFW16Nixos --show-trace
warning: Git tree '/home/sph/.config/nixos' is dirty
building the system configuration...
warning: Git tree '/home/sph/.config/nixos' is dirty
error:
       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1529:14:
         1528|         zipAttrsWith (
         1529|           n: values:
             |              ^
         1530|           let

       … while calling the 'head' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1534:13:
         1533|           if length values == 1 || pred here (elemAt values 1) (head values) then
         1534|             head values
             |             ^
         1535|           else

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1182:17:
         1181|         mapAttrs (
         1182|           name: value:
             |                 ^
         1183|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1183:85:
         1182|           name: value:
         1183|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1184|         );

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:273:71:
          272|           # For definitions that have an associated option
          273|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          274|

       … while evaluating the attribute 'value'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1084:7:
         1083|     // {
         1084|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1085|       inherit (res.defsFinal') highestPrio;

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

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

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1132:7:
         1131|     mergedValue =
         1132|       if isDefined then
             |       ^
         1133|         if all (def: type.check def.value) defsFinal then

       … while evaluating the attribute 'values'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1125:9:
         1124|       {
         1125|         values = defs''';
             |         ^
         1126|         inherit (defs'') highestPrio;

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

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

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

       … while calling the 'concatMap' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1252:16:
         1251|     {
         1252|       values = concatMap (def: if getPrio def == highestPrio then [ (strip def) ] else [ ]) defs;
             |                ^
         1253|       inherit highestPrio;

       … while calling the 'concatMap' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1099:17:
         1098|         # Process mkMerge and mkIf properties.
         1099|         defs' = concatMap (
             |                 ^
         1100|           m:

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1100:11:
         1099|         defs' = concatMap (
         1100|           m:
             |           ^
         1101|           map (

       … while calling the 'map' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1101:11:
         1100|           m:
         1101|           map (
             |           ^
         1102|             value:

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

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1110:80:
         1109|               }
         1110|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
         1111|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1203:5:
         1202|   dischargeProperties =
         1203|     def:
             |     ^
         1204|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1204:5:
         1203|     def:
         1204|     if def._type or "" == "merge" then
             |     ^
         1205|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:770:21:
          769|             inherit (module) file;
          770|             inherit value;
             |                     ^
          771|           }) module.config

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/nixos/modules/system/activation/top-level.nix:80:26:
           79|   # Handle assertions and warnings
           80|   baseSystemAssertWarn = lib.asserts.checkAssertWarn config.assertions config.warnings baseSystem;
             |                          ^
           81|

       … while calling 'checkAssertWarn'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/asserts.nix:193:27:
          192|   checkAssertWarn =
          193|     assertions: warnings: val:
             |                           ^
          194|     let

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/asserts.nix:200:7:
          199|     else
          200|       showWarnings warnings val;
             |       ^
          201|

       … while calling 'showWarnings'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/trivial.nix:962:28:
          961|
          962|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                            ^
          963|

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/trivial.nix:962:33:
          961|
          962|   showWarnings = warnings: res: lib.foldr (w: x: warn w x) res warnings;
             |                                 ^
          963|

       … while calling 'foldr'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/lists.nix:139:14:
          138|   foldr =
          139|     op: nul: list:
             |              ^
          140|     let

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/lists.nix:144:5:
          143|     in
          144|     fold' 0;
             |     ^
          145|

       … while calling 'fold''
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/lists.nix:142:15:
          141|       len = length list;
          142|       fold' = n: if n == len then nul else op (elemAt list n) (fold' (n + 1));
             |               ^
          143|     in

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/lists.nix:142:18:
          141|       len = length list;
          142|       fold' = n: if n == len then nul else op (elemAt list n) (fold' (n + 1));
             |                  ^
          143|     in

       … while calling the 'length' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/lists.nix:141:13:
          140|     let
          141|       len = length list;
             |             ^
          142|       fold' = n: if n == len then nul else op (elemAt list n) (fold' (n + 1));

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/nixos/modules/system/activation/top-level.nix:80:72:
           79|   # Handle assertions and warnings
           80|   baseSystemAssertWarn = lib.asserts.checkAssertWarn config.assertions config.warnings baseSystem;
             |                                                                        ^
           81|

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1182:17:
         1181|         mapAttrs (
         1182|           name: value:
             |                 ^
         1183|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1183:85:
         1182|           name: value:
         1183|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1184|         );

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:273:71:
          272|           # For definitions that have an associated option
          273|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          274|

       … while evaluating the attribute 'value'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1084:7:
         1083|     // {
         1084|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1085|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `warnings':

       (10 duplicate frames omitted)

       … while evaluating definitions from `/nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/nixos/modules/system/boot/systemd.nix':

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1110:80:
         1109|               }
         1110|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
         1111|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1203:5:
         1202|   dischargeProperties =
         1203|     def:
             |     ^
         1204|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1204:5:
         1203|     def:
         1204|     if def._type or "" == "merge" then
             |     ^
         1205|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:770:21:
          769|             inherit (module) file;
          770|             inherit value;
             |                     ^
          771|           }) module.config

       … while calling the 'concatLists' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/nixos/modules/system/boot/systemd.nix:533:7:
          532|       in
          533|       concatLists (
             |       ^
          534|         mapAttrsToList (

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/nixos/modules/system/boot/systemd.nix:535:17:
          534|         mapAttrsToList (
          535|           name: service:
             |                 ^
          536|           let

       … while calling the 'concatLists' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/nixos/modules/system/boot/systemd.nix:541:11:
          540|           in
          541|           concatLists [
             |           ^
          542|             (optional (type == "oneshot" && (restart == "always" || restart == "on-success"))

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/nixos/modules/system/boot/systemd.nix:542:14:
          541|           concatLists [
          542|             (optional (type == "oneshot" && (restart == "always" || restart == "on-success"))
             |              ^
          543|               "Service '${name}.service' with 'Type=oneshot' cannot have 'Restart=always' or 'Restart=on-success'"

       … while calling 'optional'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/lists.nix:777:20:
          776|   */
          777|   optional = cond: elem: if cond then [ elem ] else [ ];
             |                    ^
          778|

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/lists.nix:777:26:
          776|   */
          777|   optional = cond: elem: if cond then [ elem ] else [ ];
             |                          ^
          778|

       … in the left operand of the AND (&&) operator
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/nixos/modules/system/boot/systemd.nix:542:42:
          541|           concatLists [
          542|             (optional (type == "oneshot" && (restart == "always" || restart == "on-success"))
             |                                          ^
          543|               "Service '${name}.service' with 'Type=oneshot' cannot have 'Restart=always' or 'Restart=on-success'"

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/nixos/modules/system/boot/systemd.nix:537:20:
          536|           let
          537|             type = service.serviceConfig.Type or "";
             |                    ^
          538|             restart = service.serviceConfig.Restart or "no";

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1182:17:
         1181|         mapAttrs (
         1182|           name: value:
             |                 ^
         1183|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1183:85:
         1182|           name: value:
         1183|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1184|         );

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:273:71:
          272|           # For definitions that have an associated option
          273|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          274|

       … while evaluating the attribute 'value'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1084:7:
         1083|     // {
         1084|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1085|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `systemd.services.home-manager-sph.serviceConfig':

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

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1134:11:
         1133|         if all (def: type.check def.value) defsFinal then
         1134|           type.merge loc defsFinal
             |           ^
         1135|         else

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/types.nix:831:22:
          830|                 # Non-lazy merge Function
          831|                 loc: defs:
             |                      ^
          832|                 mapAttrs (n: v: v.value) (

       … while calling the 'mapAttrs' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/types.nix:832:17:
          831|                 loc: defs:
          832|                 mapAttrs (n: v: v.value) (
             |                 ^
          833|                   filterAttrs (n: v: v ? value) (

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/types.nix:833:19:
          832|                 mapAttrs (n: v: v.value) (
          833|                   filterAttrs (n: v: v ? value) (
             |                   ^
          834|                     zipAttrsWith (name: defs: (mergeDefinitions (loc ++ [ name ]) elemType (defs)).optionalValue)

       … while calling 'filterAttrs'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:657:23:
          656|   */
          657|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                       ^
          658|

       … while calling the 'removeAttrs' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:657:28:
          656|   */
          657|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                            ^
          658|

       … while calling the 'filter' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:657:45:
          656|   */
          657|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                                             ^
          658|

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:657:53:
          656|   */
          657|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                                                     ^
          658|

       … in the argument of the not operator
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:657:60:
          656|   */
          657|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                                                            ^
          658|

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:657:60:
          656|   */
          657|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                                                            ^
          658|

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/types.nix:833:35:
          832|                 mapAttrs (n: v: v.value) (
          833|                   filterAttrs (n: v: v ? value) (
             |                                   ^
          834|                     zipAttrsWith (name: defs: (mergeDefinitions (loc ++ [ name ]) elemType (defs)).optionalValue)

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:657:70:
          656|   */
          657|   filterAttrs = pred: set: removeAttrs set (filter (name: !pred name set.${name}) (attrNames set));
             |                                                                      ^
          658|

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/types.nix:834:41:
          833|                   filterAttrs (n: v: v ? value) (
          834|                     zipAttrsWith (name: defs: (mergeDefinitions (loc ++ [ name ]) elemType (defs)).optionalValue)
             |                                         ^
          835|                       # Push down position info.

       … while evaluating the attribute 'optionalValue'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1148:5:
         1147|
         1148|     optionalValue = if isDefined then { value = mergedValue; } else { };
             |     ^
         1149|   };

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1148:21:
         1147|
         1148|     optionalValue = if isDefined then { value = mergedValue; } else { };
             |                     ^
         1149|   };

       (8 duplicate frames omitted)

       … while evaluating definitions from `/nix/store/gv5nmwx29kyaai4yy98327hdpbiqx18p-source/hosts/framework_16/configuration.nix':

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1110:80:
         1109|               }
         1110|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
         1111|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1203:5:
         1202|   dischargeProperties =
         1203|     def:
             |     ^
         1204|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1204:5:
         1203|     def:
         1204|     if def._type or "" == "merge" then
             |     ^
         1205|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/types.nix:774:15:
          773|               inherit (def) file;
          774|               value = v;
             |               ^
          775|             }) def.value

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

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

       … while evaluating derivation 'home-manager-generation'
         whose name attribute is located at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/stdenv/generic/make-derivation.nix:480:13

       … while evaluating attribute 'buildCommand' of derivation 'home-manager-generation'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/build-support/trivial-builders/default.nix:80:17:
           79|         enableParallelBuilding = true;
           80|         inherit buildCommand name;
             |                 ^
           81|         passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);

       … while calling the 'getAttr' builtin
         at <nix/derivation-internal.nix>:50:17:
           49|     value = commonAttrs // {
           50|       outPath = builtins.getAttr outputName strict;
             |                 ^
           51|       drvPath = strict.drvPath;

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

       … while evaluating derivation 'activation-script'
         whose name attribute is located at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/stdenv/generic/make-derivation.nix:480:13

       … while evaluating attribute 'text' of derivation 'activation-script'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/build-support/trivial-builders/default.nix:129:13:
          128|           inherit
          129|             text
             |             ^
          130|             executable

       … while calling the 'concatStringsSep' builtin
         at /nix/store/q1ss75nhmjiydyqw8lbzwbx7cqk8z0qq-source/modules/home-environment.nix:673:13:
          672|           if sortedCommands ? result then
          673|             concatStringsSep "\n" (map mkCmd sortedCommands.result)
             |             ^
          674|           else

       … while calling 'mkCmd'
         at /nix/store/q1ss75nhmjiydyqw8lbzwbx7cqk8z0qq-source/modules/home-environment.nix:666:17:
          665|       let
          666|         mkCmd = res: ''
             |                 ^
          667|             _iNote "Activating %s" "${res.name}"

       … while evaluating the attribute 'data'
         at /nix/store/q1ss75nhmjiydyqw8lbzwbx7cqk8z0qq-source/modules/lib/dag.nix:89:43:
           88|     in if sorted ? result then {
           89|       result = map (v: { inherit (v) name data; }) sorted.result;
             |                                           ^
           90|     } else

       … while evaluating the attribute 'data'
         at /nix/store/q1ss75nhmjiydyqw8lbzwbx7cqk8z0qq-source/modules/lib/dag.nix:83:9:
           82|         name = n;
           83|         data = v.data;
             |         ^
           84|         after = v.after ++ dagBefore dag n;

       … from call site
         at /nix/store/q1ss75nhmjiydyqw8lbzwbx7cqk8z0qq-source/modules/lib/dag.nix:83:16:
           82|         name = n;
           83|         data = v.data;
             |                ^
           84|         after = v.after ++ dagBefore dag n;

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1182:17:
         1181|         mapAttrs (
         1182|           name: value:
             |                 ^
         1183|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1183:85:
         1182|           name: value:
         1183|           if isAttrs value && cond value then recurse (path ++ [ name ]) value else f (path ++ [ name ]) value
             |                                                                                     ^
         1184|         );

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:273:71:
          272|           # For definitions that have an associated option
          273|           declaredConfig = mapAttrsRecursiveCond (v: !isOption v) (_: v: v.value) options;
             |                                                                       ^
          274|

       … while evaluating the attribute 'value'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1084:7:
         1083|     // {
         1084|       value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |       ^
         1085|       inherit (res.defsFinal') highestPrio;

       … while evaluating the option `home-manager.users.sph.home.activation.checkLinkTargets.data':

       (10 duplicate frames omitted)

       … while evaluating definitions from `/nix/store/q1ss75nhmjiydyqw8lbzwbx7cqk8z0qq-source/modules/files.nix':

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1110:80:
         1109|               }
         1110|           ) (addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                ^
         1111|         ) defs;

       … while calling 'dischargeProperties'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1203:5:
         1202|   dischargeProperties =
         1203|     def:
             |     ^
         1204|     if def._type or "" == "merge" then

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:1204:5:
         1203|     def:
         1204|     if def._type or "" == "merge" then
             |     ^
         1205|       concatMap dischargeProperties def.contents

       … while evaluating the attribute 'value'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/modules.nix:770:21:
          769|             inherit (module) file;
          770|             inherit value;
             |                     ^
          771|           }) module.config

       … from call site
         at /nix/store/q1ss75nhmjiydyqw8lbzwbx7cqk8z0qq-source/modules/files.nix:84:17:
           83|
           84|         check = pkgs.substituteAll {
             |                 ^
           85|           src = ./files/check-link-targets.sh;

       … while calling anonymous lambda
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:217:10:
          216|     lib.mapAttrs (
          217|       n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
             |          ^
          218|     ) aliases;

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:217:17:
          216|     lib.mapAttrs (
          217|       n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
             |                 ^
          218|     ) aliases;

       … while calling 'removeDistribute'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:34:22:
           33|   # sets from building on Hydra.
           34|   removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias;
             |                      ^
           35|

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:34:29:
           33|   # sets from building on Hydra.
           34|   removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias;
             |                             ^
           35|

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:34:32:
           33|   # sets from building on Hydra.
           34|   removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias;
             |                                ^
           35|

       … while calling 'isDerivation'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/lib/attrsets.nix:1251:18:
         1250|   */
         1251|   isDerivation = value: value.type or null == "derivation";
             |                  ^
         1252|

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:217:35:
          216|     lib.mapAttrs (
          217|       n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
             |                                   ^
          218|     ) aliases;

       … while calling 'removeRecurseForDerivations'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:26:5:
           25|   removeRecurseForDerivations =
           26|     alias:
             |     ^
           27|     if alias.recurseForDerivations or false then

       … while evaluating a branch condition
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:27:5:
           26|     alias:
           27|     if alias.recurseForDerivations or false then
             |     ^
           28|       lib.removeAttrs alias [ "recurseForDerivations" ]

       … from call site
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:217:64:
          216|     lib.mapAttrs (
          217|       n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
             |                                                                ^
          218|     ) aliases;

       … while calling 'checkInPkgs'
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:211:8:
          210|   checkInPkgs =
          211|     n: alias:
             |        ^
          212|     if builtins.hasAttr n super then throw "Alias ${n} is still in all-packages.nix" else alias;

       … while calling the 'throw' builtin
         at /nix/store/7z0c39jdpwfp86vbibi8q2l0pa22y77s-source/pkgs/top-level/aliases.nix:1815:19:
         1814|   subberthehut = throw "'subberthehut' has been removed as it was unmaintained upstream"; # Added 2025-05-17
         1815|   substituteAll = throw "`substituteAll` has been removed. Use `replaceVars` instead."; # Added 2025-05-23
             |                   ^
         1816|   substituteAllFiles = throw "`substituteAllFiles` has been removed. Use `replaceVars` for each file instead."; # Added 2025-05-23

       error: `substituteAll` has been removed. Use `replaceVars` instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug triage Issues or feature request that have not been triaged yet
Projects
None yet
Development

No branches or pull requests

5 participants