- add flake-module.nix
- remove custom logic to find the repo root
- use findRoot script to find repo root
- use gitMinimal instead of git
- use separate python version for lock script than the python version to lock for. This prevents rebuilds and allows defining a standalone fetchPipMetadata package
When parsing the pip report, parsing some requirements could fail, as the packaging library used for the parsing was different from the one used by pip internally.
This makes sure that always the pip internals packaging library is used, which should prevent inconsistencies like that.
pip does allow cycles and they are common in larger dependency trees. Instead of crashing on them, we should allow the user to deal with them.
As a result of this, it can happen that during the installation of individual dependencies, some dep(s) might be missing, which then can be fixed by including them manually or with a `--no-deps`