Thanks for the great video and excellent explanations! I’m still a bit unclear on something - in the video, you add install dependencies to the nix derivation as
propagatedBuildInputs - but the build phase of
buildPythonPackage runs the setuptools install on the package anyway which adds all the dependencies to the python environment. Is the point just to use nix packages wherever possible to avoid duplication and rebuilding? It seems really inconvenient to have to maintain two sets of dependency lists (one in
setup.py and one in the
default.nix. I guess
mach-nix is trying to solve this problem?
Also, in your
shell.nix you built a “development environment” but you didn’t install the package itself. A typical workflow would be to install all the dependencies including the code of the package you are developing, in editable mode. When I inspect my nix derivation, I see that my package installed this way is indeed installed in editable mode - so is this the default for anything residing on the local filesystem?