GuixSD is close. It's the internal DSL (using Guile Scheme as host) version of Nix (which is an external DSL).
Both have their own advantages. For example, I really like some of the reproducible binary efforts Guix has made [1].
And I prefer the way Guix packages some things. In Nix, I often found installing a seemingly innocent piece of software like mutt ended up installing python (!) by pulling all possible dependencies of mutt (like gpg), and in turn pulling all possible dependencies of gpg, which brought some X11 bindings and finally python.
But Nix has some amazing stuff like NixOps. And it might be more mature. I know some corps like Logicblox use it for their deployments.
Both have their own advantages. For example, I really like some of the reproducible binary efforts Guix has made [1].
And I prefer the way Guix packages some things. In Nix, I often found installing a seemingly innocent piece of software like mutt ended up installing python (!) by pulling all possible dependencies of mutt (like gpg), and in turn pulling all possible dependencies of gpg, which brought some X11 bindings and finally python.
But Nix has some amazing stuff like NixOps. And it might be more mature. I know some corps like Logicblox use it for their deployments.
[1] https://www.gnu.org/software/guix/manual/html_node/Invoking-...