Using Nix for local application development

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.

For me, Nix and devenv have replaced Docker and Docker Compose on my development projects.