What if you had a package.json for your entire development environment? That's dev.nix.
We use Nix in IDX so in one file you can declare the needed runtimes and tools and most importantly their versions. This file is checked into source so anyone contributing to the project has everything they need when the workstation boots up.
Let's dive in.