| 17 Mar 2024 |
infinisil | Could be fixed by publishing X+1 instead, which probably requires extra permission to do a direct git push to master | 14:05:46 |
K900 | But adding LFS is also a bad idea | 14:05:38 |
infinisil | Ultimately it just feels like git commits is not the tool for this due to their immutability | 14:06:33 |
infinisil | I guess you could use git notes, which can be attached to commits after the fact | 14:06:58 |
Robert Hensing (roberth) | It already writes to a bucket, so it could just be a package that fetches from channels.nixos.org or something | 14:07:25 |
K900 | Honestly I'd much prefer the whole CNF database to exist outside of the channels entirely | 14:07:01 |
K900 | And probably not be versioned at all | 14:07:14 |
K900 | And be updated incrementally | 14:07:23 |
Robert Hensing (roberth) | What's CNF? | 14:07:52 |
infinisil | In reply to @roberthensing:matrix.org It already writes to a bucket, so it could just be a package that fetches from channels.nixos.org or something It won't be able to know which version to fetch though. A Nixpkgs version fetched from git can't know its own commit | 14:08:27 |
K900 | command-not-found | 14:07:59 |
K900 | Which is what programs.sqlite is for | 14:08:06 |
Robert Hensing (roberth) | In reply to @infinisil:matrix.org It won't be able to know which version to fetch though. A Nixpkgs version fetched from git can't know its own commit I don't see why that would be a requirement | 14:09:15 |
K900 | I really don't see any reason to tie it to nixpkgs lifecycle except "we've always done this" which is honestly not a good reason | 14:09:02 |
infinisil | Robert Hensing (roberth): Are you thinking of programsSqlite = builtins.fetchTarball "https://nixos.org/programs.sqlite"? | 14:09:43 |
Robert Hensing (roberth) | It takes the evaluated commit, computes the db, creates a new commit, pushes that to git | 14:09:49 |
K900 | It's not a good example of the kind of postprocessing we'd actually want to do | 14:09:50 |
K900 | On other things | 14:09:54 |
K900 | Because it being tied to a specific nixpkgs version is an implementation detail, not a required in variant | 14:10:26 |
K900 | * Because it being tied to a specific nixpkgs version is an implementation detail, not a required invariant | 14:10:32 |
Robert Hensing (roberth) | In reply to @infinisil:matrix.org Robert Hensing (roberth): Are you thinking of programsSqlite = builtins.fetchTarball "https://nixos.org/programs.sqlite"? more like pkgs.fetchurl ".../programs-${indexedCommit}.sqlite", but yeah | 14:10:38 |
infinisil | Yeah I'm not a fan of that idea | 14:11:10 |
K900 | And also because it's much bigger and much more expensive to build than the other cases I can see | 14:10:51 |
Robert Hensing (roberth) | I don't get it. It would work well for git-based channels | 14:11:41 |
Robert Hensing (roberth) | Currently we don't have any programs.sqlite for those users | 14:11:52 |
K900 | Also, here's a hot take: the default behavior should be to put that behind an HTTP endpoint | 14:11:46 |
infinisil | Why does it need to be git-based? | 14:12:10 |
K900 | And make people opt in if you want it offline | 14:11:59 |
K900 | In reply to @roberthensing:matrix.org Currently we don't have any programs.sqlite for those users We have nix-index | 14:12:06 |
K900 | Though it's also not great because it wastes time scraping Hydra every time | 14:12:27 |