What I'd like to see operating systems do is move to a simple YAML or similar format for creating install configs. I think cloud-init has something similar but always had issues.
GNU Guix can do that. You can describe [1] the system in Guile Scheme and you can install a system or create a virtual machine image from that configuration.