Dear #Nix contributors,
What do you think is key to making Nixpkgs the most up-to-date distro?
@picnoir Could you explain a bit the FOD-based dependencies fetchers (or send a link)? (I always read “FOD” is “FUD”; for those like me, we’re talking about fixed-output derivations. :-))
‘nixpkgs-review’ looks pretty cool indeed; the recently-added ‘mumi am’ helps, but it only does a tiny part of the job.
How does ‘nixpkgs-review’ figure out which packages (if any) need to be rebuilt to validate a PR?
@civodul @picnoir FOD stands for fixed output derivations. IIUC what PicNoir is suggesting that guix should use the lockfile of the Go/Rust package to define an intermediate package that contains all the dependencies for a package. This leads to less conflicts trying to find common versions that work for multiple crates at the expense of more storage requirements and longer build times
@PuercoPop @civodul @picnoir If I'm understanding this correctly, the dependencies would only exist in the FOD and wouldn't need to be explicitly packaged and included in nixpkgs, right?
@picnoir It’s a FOD whose output hash cannot be known in advance too, so I suppose one just builds it, looks at the hash mismatch error, and feeds the “expected” hash back in the package definition?
@picnoir @octorine @PuercoPop @civodul TIL that the lockfile has to live in nixpkgs. I thought it's computed on-demand from the source. (Guix actually can't do this because the list of inputs is used quite often, even though it's also computed-on-demand)
@picnoir @octorine @civodul For development the nix ecosystem has other alternatives like https://github.com/ipetkov/crane or https://github.com/oxalica/nocargo. I'm mostly familiar with crane, that although uses the cargo.lock as the source of truth for dependencies it stores each crate separately in the store so that changing one dependency doesn't require a full recompilation of dependencies.
@picnoir @octorine @civodul That said, it looks there is a push away from the current approach https://github.com/NixOS/nixpkgs/issues/333702