I personally use Nixpkgs to fully isolate python installation on per project basis. And inside this isolated env, once python is built, usually using pip is enough and works well
This way, !each of my repositories has its own nix file defining the list of dependencies and it can easily be built per system as well
I love Nix as much as the next guy, but I also need my coworkers to be able to get things to work on their non-NixOS machines. Have you found an easy way to have Nix install packages through uv (from a pyproject.toml / uv.lock files)? Right now I just do programs.nix-ld.enable = true; and use uv completely separately from Nix.
System-wide dependencies installed via home manager, and project-related installed via nix flakes which is created on project basis
I can spin up a new identical environment on new macos in 15 mins