My main hurdle right now is actually not that Nix expressions language is hard, I can learn and/or copy-paste from others. After playing Outer Wilds, Nix being hard has new meaning to me.
However, the main problem is that Nix only really works on public sources - public git, files downloadable from the internet. It is in its spirit because demanding login would break reproducibility. This is not what companies do - we keep private work in private repositories that you have to log in to private PyPi or Artifactory and tools are extended to support them.
Will Flox rely on every package to be converted into Nix/Flox and this way we can install dependencies, or you would recommend nix packaging the heretic way to do the job?
Hey it sounds like there’s 2 questions here and I can try to help you out with both of them.
Handling private source code.
This one usually boils down to some auth setup, where the source code lives is usually what dictates the type of auth setup required to fetch those sources. The good news is there’s a pretty large collection that you can choose from.
If you’ve got some specifics about where you’re trying to fetch source code from I can get into the details of setting up auth for them. For example github, git (ssh|https|http), curl ( for example to fetch pkgs.github.com/<ORG>/..., etc.
For impure builds similar to the two articles you’ve posted we agree completely. These articles were an inspiration for some R&D work we’ve been plugging away at and we hope to share some useful tooling with everyone soon.
I mainly want to replace PyPi index with new one, so instead pypi.org it will use myownpypi.example.com. Normally we do it through Pipenv or pyproject.yaml+setup.cfg + pip global config.
Thats very nice to hear and I will be waiting for that