> Nix goes the other: what if we built a system around this concept.
This is what I'm referring to. There isn't anything currently as far as I'm aware that takes it as far as Nix. Sure, Arch has archinstall and there is also cloud-init.
There are examples of using JSON to help manage that:
https://github.com/archlinux/archinstall/blob/master/example...
But, ultimately I believe a lightweight Go/Rust tool that takes a YAML file and does essentially the same thing will prevail.