Debugging a flake see what values are

I am trying to see exactly what my flake is doing so I am using nix real to look at things.
I can see the outputs ie end results but I want to see the actual structure of the nix before evaluation the flake.

I am trying to setup a devShell

For example as part of the flake I have

 devShells.default = inputs'.devshell.legacyPackages.mkShell {
      name = "mwb devshell for nix";
      packages = with pkgs; [
        # mwb minimum (macOs does not have git as standard)

How do I show what name has been set to?
in nix real all I get for dev shells is

nix-repl> outputs.devShells.aarch64-darwin.default
Ā«derivation /nix/store/izzdwm34dwrbvq0qfmmpv7qa98hknxii-nix-shell.drvĀ»

And the derivation is the resulting bash script.

Alternatively - is there a lib.trace function that will show the full path of something I have just set?

You should be able to just add .name, so Also, after writing the dot after default and then pressing tab, you should get autocompletion for all the fields available.

1 Like

Ah yes that worked.

What the issue was is that for most other things asking for a value gives all the values that would be expanded.
SO I just typed the string outputs.devShells.aarch64-darwin.default and got just the derivation and so thought there was noting else.