Instead of using tools like Docker or nvm to manage dependencies for your projects, you can use Nix instead.
Creating a Nix shell or flake for each project with its dependencies will install everything without needing containers and with the benefit of everything being locked to specific versions, making environments reproducible.
If you need a specific version of PHP or node for a project, it will be available and different versions can be used for other projects.
And if you need services like MySQL and you're not using NixOS, you can also use devenv to manage services, tasks and processes for each project.
I'm an Acquia-certified Drupal Triple Expert with 17
years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.