Hello all,
I have a flake which provides multiple packages. The intended workflow is for the users of the flake (the development team) to use eg nix develop .#pkg1
to work on pkg1
.
I’d like to make a set of standard development tools (like gdb
) available in all of the provided packages, and I can easily do so by adding gdb
to the buildInputs
of each package. However, the problem with this is that I am now getting frequent cache invalidations, because this list of development tools is somewhat long and prone to change, and any change in this list requires pkg1
to be re-built.
I’m looking for a solution and speculating whether any of the following are possible:
- A mkDerivation argument I’ve missed that allows you to pass packages that are used only in the shell, and don’t form part of the build dependency graph
- A neat way to have the package-specific shell stack on top of a more general development shell with the developments tools available in it
- … or some other solution?
Thanks for any help!