Therefore, let’s prioritize for the future of nix, down-wind of nix flakes inauguration:
nix develop github:foo/bar to become the tooling of choice for developers to setup a universally sharable development & tooling environment for their project.
nix run github:foo/bar to become a natural choice for packaging their application.
nix build github:foo/bar to also generate binaries for X, Y & Z.
The rest.
I wanted to keep this short. Be creative filling in the blank spots on your side!
I believe OP’s attempt to “keep this short” did a great disservice. Anyways a lot of these changes are being implemented in Nix Flakes. You should have a look
I am screaming and waiving hands at flakes, indeed!
There are a couple of deltas:
nix --help isn’t optimized cli wise. A little better grouping and maybe consolidating some heredary commands behind nix build would be an actionable suggestion.
Some might have also notices between the lines, that this was the cornerstone that catapulted once docker out of the shadows: A greate UX for developers.
EDIT: I remember the docker page of those days around 2013. It looked a little like nixos.org just befor it took off. Is this coincidence? Please say no!
The challenge with mkShel and devshell is the bash first approach; which leads me to reach for something like direnv.
The problem then is i lose the fact that the shellHook is executed each time fresh.
This means I can’t automatically startup required services (redis, postgres) and maybe even shut them down via TRAP; which would be a slick feature.
I think this is too much of an automation in a team environment. — while people might trust their boss, I’m sure a developer at least want’s to be asked if DevOps is remotely taking control of their runtime.
There is the devshell MOTD feature which looks as a great balanced approach to such requirement.
This is an interesting aspect — might warrant an upstream issue with detailed feedback. There is a value in providing a standard e.g. python shell for tinkering in a project setup, besides the bash shell.