In a lot of cases, upstream sources or releases become unavailable (e.g. grsecurity) or even get modified (e.g. texlive) which breaks the package in older versions of nixpkgs.
It would be nice to duplicate the sources via a torrent. This doesn't involve any trust, because the hash of the sources is known beforehand and would allow older nixpkgs to work as long as someone uses the desired package.
We've discussed a fetchTorrent before but have mostly resisted because unless we build deep support for it into a persistent Nix daemon, fetchTorrent as we could implement today would be a terrible "torrent citizen", and would never seed.
Probably more promising is to build support for IPFS into Nix itself. See discussion at https://github.com/NixOS/nix/issues/859 and https://github.com/ipfs/notes/issues/51.
Either way, I don't think most of the work would happen inside nixpkgs, so if you think the above issues don't cover what you want, I'd suggest posting more information on the Nix issue tracker rather than in here.
FWIW I had an experimental fetchTorrent via aria2 but dropped it because of the same reasons -- it'd be an awful "torrent citizen".
Actually, the ipfs issue seems to be exactly what I wanted, so I'll close this issue.
@abbradar, can you share your fetchTorrent please? I'm currently thinking about packaging the program where using aria2c for install is an official way to install
Most helpful comment
We've discussed a
fetchTorrentbefore but have mostly resisted because unless we build deep support for it into a persistent Nix daemon,fetchTorrentas we could implement today would be a terrible "torrent citizen", and would never seed.Probably more promising is to build support for IPFS into Nix itself. See discussion at https://github.com/NixOS/nix/issues/859 and https://github.com/ipfs/notes/issues/51.
Either way, I don't think most of the work would happen inside nixpkgs, so if you think the above issues don't cover what you want, I'd suggest posting more information on the Nix issue tracker rather than in here.