Earlier quoted context omitted.
That's a real scenario and it's happened to me. The key is that NixOS keeps every previous generation — so when I discover program #12 is broken, I can nix store diff-closures to see exactly what changed between generations, or just boot into the last known-good generation from GRUB. In practice I do two things: I keep a quick smoke-test habit after rebuilds (open a couple of the less-used apps), and the git history…
Can those smoke tests be included as part of the build? You could build up a test suite of example workflows that run on every build.
Yes absolutely! Please have a look at my nixos-config I really would love to get feedback from others