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.
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.