Edit: And if you know, how does it differ from devbox?
Nix, NPM, Brew, Pip, etc all have basically the same blind trust security posture and should thus not be trusted. I generally suggest Debian in a container for a dual use dev/compile container made of signed/vetted/reproducibly-built dev/build/debug dependencies.
That was done using VM images that he owned and maintained, which was not optimal for me, but there was also documentation laying out the steps needed to create the environment so it was possible to maintain a bare-metal clone of the official environment and use that. Good times!
I cd to a project and run "make shell" and I am back in a docker container with every tool and the current working directory mounted in it with permissions all mapped 1/1, scripts in path, etc.
The only tools I need on a dev machine are an editor, a browser, a container runtime, and make.
Everything is in there. Every library and piece of software, every config and preference. User creation (minus any sensitive data). Everything.
Made a bootstrap script I run on a fresh install, and then I can push the ansible config onto it from a raspberrypi ansible server on my LAN.
Wanted a different file system in december. Wiped the system, changed filesystems, resetup. Took less than 1 hour.
Seem like you never got on board the declarative-infra-as-code boat, it's actually rekindling my software flame, with things like docker-compose and NixOS, everything you ever work on can be stored as code, and set up with 0 effort.
Doing this again, and again, and again....
...truly sucks.
After not working on a codebase for a year, or two, I usually need to set up everything again -- and often run into very stupid/pointless issues that waste an hour, and often much more, just to get to the point where I can start the actual coding process.
This is pretty much why I've stopped coding. I don't have the time to waste any more.