Hi! Thanks for the details, Ludo! Ludovic Courtès writes: > An index could look like, say, a list of store item/file pairs. It > would grow very quickly, which may not be very practical. I think we might need some form of rotation and discard the old indexes to avoid growing up indefinitely. Well, we will see once we've started using it! > ‘guix publish’ could update that list every time it “bakes” a nar. > > The daemon could have a special RPC: you give it a file name and it > returns a store item (or package+version?) or #f. I think you meant "store itemS" (plural), no? > Internally it’d call ‘guix substitute’ to fetch the file index from > the substitute server, check its signature, cache it locally, and then > look up the file. > > You should look at how NixOS does it for its ‘command-not-found’ support > (I think it’s part of NixOS, not Nix). IIRC they distribute an SQLite > database, but it’s a pretty ad-hoc mechanism without authentication. I could work on this, but that seems like a lot of work, especially for me who knows nothing about the daemon (but hey, it's a great opportunity to learn!). Would anyone else like to pick this up? Otherwise I'll keep this on my todo list. Cheers! -- Pierre Neidhardt https://ambrevar.xyz/