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 automatically activate the nix shell upon `cd`. Plays well with gui editors too, assuming direnv plugin/tooling available.