| 17 Mar 2024 |
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 |
K900 | But it is correct in being incremental and out of lifecycle | 14:12:39 |
Robert Hensing (roberth) | Because then Nixpkgs functionality like command-not-found doesn't break when you use a branch | 14:12:47 |
Robert Hensing (roberth) | nix-index is not a viable replacement for everyone to run by default | 14:13:26 |
K900 | We can have it not break in other ways | 14:13:27 |
K900 | That don't involve tracking an sqlite blob in nixpkgs forever | 14:13:38 |
Robert Hensing (roberth) | We should deliver programs.sqlite to branch-based users, which is the majority by now | 14:13:52 |
infinisil | Orthogonally to this discussion, programs.sqlite should be replaced with nix-index | 14:14:05 |
Robert Hensing (roberth) | Most growth has been through flakes apparently | 14:14:07 |