Skip to content
New issue

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

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

Already on GitHub? # to your account

Error following quickstart guide #408

Closed
jackmac92 opened this issue Dec 29, 2021 · 2 comments · Fixed by #409
Closed

Error following quickstart guide #408

jackmac92 opened this issue Dec 29, 2021 · 2 comments · Fixed by #409
Labels
bug Something isn't working

Comments

@jackmac92
Copy link
Contributor

Expected Behavior

Following the steps listed in the start guide I should not get an error

Current Behavior

infinite recursion encountered

error: infinite recursion encountered

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:585:9:

          584|     in warnDeprecation opt //
          585|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          586|         inherit (res.defsFinal') highestPrio;

Possible Solution

noidea just reporting

Steps to Reproduce

  1. nix-shell -p cachix --run "cachix use nrdxp"
  2. nix-shell https://github.com/divnix/devos/archive/main.tar.gz -A shell --run "bud get main"
  3. cd devos
  4. nix-shell
    infinite recursion error

Context

Trying to start a new config (no existing state should be causing the issue, right?)

Your Environment

nix 2.4

--show-trace full output

error: infinite recursion encountered

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:585:9:

          584|     in warnDeprecation opt //
          585|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          586|         inherit (res.defsFinal') highestPrio;

       … while evaluating the attribute 'value'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:585:9:

          584|     in warnDeprecation opt //
          585|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          586|         inherit (res.defsFinal') highestPrio;

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:171:72:

          170|           # For definitions that have an associated option
          171|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          172|

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:304:20:

          303|               then recurse (path ++ [name]) value
          304|               else f (path ++ [name]) value;
             |                    ^
          305|         in mapAttrs g set;

       … while evaluating 'g'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:301:19:

          300|           g =
          301|             name: value:
             |                   ^
          302|             if isAttrs value && cond value

       … from call site

       … while evaluating the attribute 'checks'

       at /nix/store/nvkkhnbjmghwl4d2sbr4s8qpv5fg5i9k-source/src/mkFlake/outputs-builder.nix:64:3:

           63|
           64|   checks =
             |   ^
           65|     (

       … while evaluating anonymous lambda

       at /nix/store/zzp9cqzfqmsqxkxbz3k17q5kp5n48xsv-source/flake.nix:34:20:

           33|           lhs // mapAttrs
           34|             (name: value:
             |                    ^
           35|               if isAttrs value then lhs.${name} or { } // value

       … from call site

       … while evaluating 'id'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/trivial.nix:14:5:

           13|     # The value to return
           14|     x: x;
             |     ^
           15|

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:217:47:

          216|           let
          217|             evalNext = x: mapAny (depth + 1) (transform (depth + 1) x);
             |                                               ^
          218|           in

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:215:40:

          214|           else id;
          215|         mapAny = with builtins; depth: v:
             |                                        ^
          216|           let

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:217:27:

          216|           let
          217|             evalNext = x: mapAny (depth + 1) (transform (depth + 1) x);
             |                           ^
          218|           in

       … while evaluating 'evalNext'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:217:24:

          216|           let
          217|             evalNext = x: mapAny (depth + 1) (transform (depth + 1) x);
             |                        ^
          218|           in

       … from call site

       … while evaluating 'go'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:237:18:

          236|     let
          237|     go = indent: v: with builtins;
             |                  ^
          238|     let     isPath   = v: typeOf v == "path";

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:282:57:

          281|               (name: value:
          282|                 "${libStr.escapeNixIdentifier name} = ${go (indent + "  ") value};") v)
             |                                                         ^
          283|         + outroSpace + "}"

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:281:22:

          280|           + libStr.concatStringsSep introSpace (libAttr.mapAttrsToList
          281|               (name: value:
             |                      ^
          282|                 "${libStr.escapeNixIdentifier name} = ${go (indent + "  ") value};") v)

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:259:16:

          258|   mapAttrsToList = f: attrs:
          259|     map (name: f name attrs.${name}) (attrNames attrs);
             |                ^
          260|

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:259:10:

          258|   mapAttrsToList = f: attrs:
          259|     map (name: f name attrs.${name}) (attrNames attrs);
             |          ^
          260|

       … from call site

       … while evaluating 'go'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:237:18:

          236|     let
          237|     go = indent: v: with builtins;
             |                  ^
          238|     let     isPath   = v: typeOf v == "path";

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:282:57:

          281|               (name: value:
          282|                 "${libStr.escapeNixIdentifier name} = ${go (indent + "  ") value};") v)
             |                                                         ^
          283|         + outroSpace + "}"

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:281:22:

          280|           + libStr.concatStringsSep introSpace (libAttr.mapAttrsToList
          281|               (name: value:
             |                      ^
          282|                 "${libStr.escapeNixIdentifier name} = ${go (indent + "  ") value};") v)

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:259:16:

          258|   mapAttrsToList = f: attrs:
          259|     map (name: f name attrs.${name}) (attrNames attrs);
             |                ^
          260|

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:259:10:

          258|   mapAttrsToList = f: attrs:
          259|     map (name: f name attrs.${name}) (attrNames attrs);
             |          ^
          260|

       … from call site

       … while evaluating 'go'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/generators.nix:237:18:

          236|     let
          237|     go = indent: v: with builtins;
             |                  ^
          238|     let     isPath   = v: typeOf v == "path";

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/options.nix:269:10:

          268|       prettyEval = builtins.tryEval
          269|         (lib.generators.toPretty { }
             |          ^
          270|           (lib.generators.withRecursion { depthLimit = 10; throwOnDepthLimit = false; } def.value));

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/options.nix:265:38:

          264|
          265|   showDefs = defs: concatMapStrings (def:
             |                                      ^
          266|     let

       … from call site

       … while evaluating 'concatMapStrings'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/strings.nix:53:25:

           52|   */
           53|   concatMapStrings = f: list: concatStrings (map f list);
             |                         ^
           54|

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/options.nix:265:20:

          264|
          265|   showDefs = defs: concatMapStrings (def:
             |                    ^
          266|     let

       … while evaluating 'showDefs'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/options.nix:265:14:

          264|
          265|   showDefs = defs: concatMapStrings (def:
             |              ^
          266|     let

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:621:121:

          620|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;
          621|         in throw "A definition for option `${showOption loc}' is not of type `${type.description}'. Definition values:${showDefs allInvalid}"
             |                                                                                                                         ^
          622|       else

       … while evaluating the attribute 'mergedValue'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:617:5:

          616|     # Type-check the remaining definitions, and merge them. Or throw if no definitions.
          617|     mergedValue =
             |     ^
          618|       if isDefined then

       … while evaluating the option `self':

       … while evaluating the attribute 'value'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:585:9:

          584|     in warnDeprecation opt //
          585|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          586|         inherit (res.defsFinal') highestPrio;

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:171:72:

          170|           # For definitions that have an associated option
          171|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          172|

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:304:20:

          303|               then recurse (path ++ [name]) value
          304|               else f (path ++ [name]) value;
             |                    ^
          305|         in mapAttrs g set;

       … while evaluating 'g'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:301:19:

          300|           g =
          301|             name: value:
             |                   ^
          302|             if isAttrs value && cond value

       … from call site

       … while evaluating the attribute 'default'

       at /nix/store/nvkkhnbjmghwl4d2sbr4s8qpv5fg5i9k-source/src/mkFlake/options.nix:258:7:

          257|       type = flakeType;
          258|       default = config.self.inputs.${name};
             |       ^
          259|       defaultText = "config.self.inputs.<name>";

       … while evaluating the attribute 'value.content'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:768:14:

          767|     { _type = "override";
          768|       inherit priority content;
             |              ^
          769|     };

       … while evaluating the attribute 'value._type'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:708:73:

          707|       highestPrio = foldl' (prio: def: min (getPrio def) prio) 9999 defs;
          708|       strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def;
             |                                                                         ^
          709|     in {

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:607:19:

          606|           # Avoid sorting if we don't have to.
          607|           if any (def: def.value._type or "" == "order") defs''.values
             |                   ^
          608|           then sortProperties defs''.values

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:607:14:

          606|           # Avoid sorting if we don't have to.
          607|           if any (def: def.value._type or "" == "order") defs''.values
             |              ^
          608|           then sortProperties defs''.values

       … while evaluating the attribute 'values'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:611:9:

          610|       in {
          611|         values = defs''';
             |         ^
          612|         inherit (defs'') highestPrio;

       … while evaluating the attribute 'mergedValue'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:617:5:

          616|     # Type-check the remaining definitions, and merge them. Or throw if no definitions.
          617|     mergedValue =
             |     ^
          618|       if isDefined then

       … while evaluating the option `channels.nixos.input':

       … while evaluating the attribute 'value'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:585:9:

          584|     in warnDeprecation opt //
          585|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          586|         inherit (res.defsFinal') highestPrio;

       … while evaluating anonymous lambda

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/modules.nix:171:72:

          170|           # For definitions that have an associated option
          171|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
             |                                                                        ^
          172|

       … from call site

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:304:20:

          303|               then recurse (path ++ [name]) value
          304|               else f (path ++ [name]) value;
             |                    ^
          305|         in mapAttrs g set;

       … while evaluating 'g'

       at /nix/store/bxapqbai4fnwm7297y02m9gjhz9w959n-source/lib/attrsets.nix:301:19:

          300|           g =
          301|             name: value:
             |                   ^
          302|             if isAttrs value && cond value

       … from call site

       … while evaluating 'patchChannel'

       at /nix/store/zzp9cqzfqmsqxkxbz3k17q5kp5n48xsv-source/flake.nix:41:41:

           40|
           41|         patchChannel = system: channel: patches:
             |                                         ^
           42|           if patches == [ ] then channel else

       … from call site

       at /nix/store/zzp9cqzfqmsqxkxbz3k17q5kp5n48xsv-source/lib/mkFlake.nix:211:47:

          210|       let
          211|         importChannel = name: value: (import (patchChannel system value.input (value.patches or [ ])) {
             |                                               ^
          212|           inherit system;

       … while evaluating 'importChannel'

       at /nix/store/zzp9cqzfqmsqxkxbz3k17q5kp5n48xsv-source/lib/mkFlake.nix:211:31:

          210|       let
          211|         importChannel = name: value: (import (patchChannel system value.input (value.patches or [ ])) {
             |                               ^
          212|           inherit system;

       … from call site

       … while evaluating the attribute 'shell'

       at /nix/store/497ak1gmjg2zpd52ivbzcbq0gp9rapiv-source/modules/default.nix:23:3:

           22|
           23|   shell = module.config.devshell.shell;
             |   ^
           24| }

       … while evaluating the attribute 'devShell'

       at /nix/store/nvkkhnbjmghwl4d2sbr4s8qpv5fg5i9k-source/src/mkFlake/outputs-builder.nix:51:3:

           50|
           51|   devShell =
             |   ^
           52|     let

       … while evaluating anonymous lambda

       at /nix/store/zzp9cqzfqmsqxkxbz3k17q5kp5n48xsv-source/flake.nix:34:20:

           33|           lhs // mapAttrs
           34|             (name: value:
             |                    ^
           35|               if isAttrs value then lhs.${name} or { } // value

       … from call site

       … while evaluating the attribute 'devShell.x86_64-linux'

       at /nix/store/qcvnd2dsa5a3h4gq8x5x7hds6z85i4dw-source/default.nix:103:26:

          102|                   then (pushDownSystem system (attrs.hydraJobs or {}) ret.hydraJobs)
          103|                   else { ${system} = ret.${key}; };
             |                          ^
          104|             in attrs //
@jackmac92 jackmac92 added the bug Something isn't working label Dec 29, 2021
@Pacman99
Copy link
Member

So I'm not sure how to explain this, but I think this is caused by devos not being a git repository. I think bud get needs to be updated to just do git clone https://github.com/divnix/devos

@jackmac92
Copy link
Contributor Author

working now!

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants