This is what I have been doing to manage development environments: Workflows now revolve around nix. Setup a shell.nix that defines development environment (whether it’s specific version of rust or python). Then `nix develop` will setup an isolated environment. Do some work on project. Then exit shell. No need to pollute machines environment with 100 versions of python/pip/uv. Add in `direnv` and it will automaticall…
It works really well.