Open alerque opened 1 year ago
There is also devenv.sh, flox, and the venerable nixpkgs mkShell.
In terms of history, I believe devshell appeared second. To goal of devshell is to create a clean developer environment, typically aimed at larger repos where a lot of developer tooling is needed. It's the first one that introduced the Nix module system to configure the project.
I can't speak to the motivation and goal of the other project, but happy to host a comparison. I'm not a big believer of comparison matrices. Each project has a slight different angle and appear to various groups of users I believe.
same issue on devenv
The issue in the devenv repo states that devshell is in the process of being deprecated, i.e this issue from above: https://github.com/cachix/devenv/issues/140 - is that correct @zimbatm ?
It would be nice to join forces. It's a bit too soon to deprecate it, but I would like to merge both eventually. When that happens I would also provide some sort of migration path.
I don't know if I've only started noticing or if the tooling in this space has started to proliferate, but it isn't clear to me which tool to reach for an which project. Recently I've run across nixpacks, riff, devbox, and devshell — all of which seem to try and simplify building and-or using projects by abstracting some combination of nix and docker features. There are likely others I'm unaware of too. Of course this is in addition to lower level tooling like
docker
andnix shell
andnix develop
which can be used directly as well.I think it would be useful for at least one of these projects to maintain a comparison chart that helps flesh out which projects cover which ground and what the respective pros and cons of each approach is to help people make informed choices about tooling.
c.f. same issue on nixpacks, devbox, and riff.