You usually use Vagrant to provision a machine with a suitable image and then use some other tech to setup your environment on that image. Common choices are Chef, Puppet or Salt, last time I checked.
You can use NixOS to replace both the OS image and the configuration tech.
I'm somewhat out of my depth here, but isn't Vagrant suitable for this purpose?