I'm looking to do this with nix config, would rather not mix and match if at all possible
Maybe this can be of use for you, it's not declarative but it is in Nix, it shouldn't be too hard for someone to make it declarative: https://github.com/matejc/win11
You can use libvirt. It's not exactly declarative but you can automate it.
No, not by default. There's other people's work that lets you do this, but you're likely best off doing it yourself by generating qemu config files and systemd services for them through Nix.
Something like Ansible+Proxmox will do what you want. https://vectops.com/2020/01/provision-proxmox-vms-with-ansible-quick-and-easy/
I'm looking to do this with nix config, would rather not mix and match if at all possible