Get detailed info on available configuration

While I’m mainly wanting to get each configuration’s installed kernels, I would eventually like to get more details: other installed package versions and differences between configurations, as a start.

Is there a nix command(s) that shows this? If not, can someone explain how to get this information? I don’t want to have to guess what my environment will be like if I need/want to boot into a previous config.

I’d use nvd for diffing and nix-tree for exploring (third party tools).
nix can handle both (nix store diff-closures and nix path-info), I just like the conveniences though.

And in any case, kernel version is visible via nixos-rebuild list-generations.

3 Likes

On which layer would you like to see this?

Store paths are a rather primitive representation whereas the Nix expressions are much more, well, expressive. You can query the module system resulting from your configuration for any value using i.e. config.boot.kernelPackages.kernel.version.

1 Like

Just what I was looking for - thanks!