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

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!

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

Successfully merging a pull request may close this issue.

2 participants