Closed infinisil closed 11 months ago
Besides a general introduction to flocos capabilities it might be interesting to place a focus on the usage of the nixos module system for fetchers that @aakropotkin talked about today in the stream of #20?
Looking forward to this! :partying_face:
For 100% clarity I spent two months abstracting all legacy Nix, Nixpkgs, and Flake fetchers using pure Nix with modules in order to gain the ability to swap them interchangeably for slightly different niche optimizations at large scale. This was time consuming but ultimately saved a large amount of material dollars on a large AWS CI/CD bill.
I should not have done this and should instead have made improvements to the C++ fetchers such that they were able to emit either derivations or libfetcher
input compliant constructs.
Having said this - I already did all of the heavy lifting so if you want to use these modules I am 100% cool with it and it will in some small way help alleviate the pain of knowing that this effort was a real waste of time.
I only ask that if you do use them you do so knowing that this is not an approach worth expanding upon and that ultimately nix and nixpkgs need to stop bickering and extend libfetchers
in such a way that either derivations which depend on nix or underived paths may be produced by fetchTree
.
Scheduled for July 7th
Re-scheduled to July 21.
Live-stream scheduled: https://www.youtube.com/watch?v=rLtcCXJZuAU
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/working-group-member-search-module-system-for-packages/26574/19
I added this to the meetings directory: https://github.com/nixpkgs-architecture/pkgs-modules/blob/main/meetings/2023-07-21.md
https://github.com/aakropotkin/floco