Well, if one of your criteria is to build in docker you should use a docker. I mean if one of my requirement was that program should be written in Python I would write it in Python.
If you need to create Docker or OCI image you can use nixpkgs functions[1][2]
As for Windows, yeah, it's not natively supported, I see there's an issue opened, but no idea when a support would be added.
There's also this[3] not sure if suitable for what you need. My understanding is that it allows building for Windows targets on Linux.
[1] https://nixos.org/nixpkgs/manual/#sec-pkgs-dockerTools
[2] https://nixos.org/nixpkgs/manual/#sec-pkgs-ociTools
[3] https://github.com/pololu/nixcrpkgs