!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture

216 Members
Discussions about Nixpkgs' architecture - https://github.com/NixOS/nixpkgs/labels/architecture47 Servers

Load older messages


SenderMessageTime
17 Mar 2024
@roberthensing:matrix.orgRobert Hensing (roberth)Yeah14:01:59
@roberthensing:matrix.orgRobert Hensing (roberth)I don't think that script is in Nixpkgs, or is it?14:02:08
@roberthensing:matrix.orgRobert Hensing (roberth) * I don't think that script is in nixpkgs, or is it? 14:02:21
@infinisil:matrix.orginfinisil Robert Hensing (roberth): https://github.com/NixOS/nixos-channel-scripts 14:02:35
@infinisil:matrix.orginfinisilPretty sure14:02:40
@infinisil:matrix.orginfinisil Can't say I'm a fan of the idea, or at least it won't quite work as is. If you run Hydra for commit X, it calculates programs.sqlite for it, but now you need to push it with commit X+1. If you publish commit X as the channel update, people won't get the latest programs.sqlite. 14:05:14
@k900:0upti.meK900Indeed 14:05:02
@k900:0upti.meK900Putting it into nixpkgs is a bad idea14:05:23
@k900:0upti.meK900Unless we add LFS14:05:32
@infinisil:matrix.orginfinisil 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:0upti.meK900But adding LFS is also a bad idea 14:05:38
@infinisil:matrix.orginfinisil Ultimately it just feels like git commits is not the tool for this due to their immutability 14:06:33
@infinisil:matrix.orginfinisil I guess you could use git notes, which can be attached to commits after the fact 14:06:58
@roberthensing:matrix.orgRobert 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:0upti.meK900Honestly I'd much prefer the whole CNF database to exist outside of the channels entirely 14:07:01
@k900:0upti.meK900And probably not be versioned at all 14:07:14
@k900:0upti.meK900And be updated incrementally14:07:23
@roberthensing:matrix.orgRobert Hensing (roberth)What's CNF?14:07:52
@infinisil:matrix.orginfinisil
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:0upti.meK900command-not-found14:07:59
@k900:0upti.meK900Which is what programs.sqlite is for14:08:06
@roberthensing:matrix.orgRobert 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:0upti.meK900I 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:matrix.orginfinisil Robert Hensing (roberth): Are you thinking of programsSqlite = builtins.fetchTarball "https://nixos.org/programs.sqlite"? 14:09:43
@roberthensing:matrix.orgRobert Hensing (roberth)It takes the evaluated commit, computes the db, creates a new commit, pushes that to git14:09:49
@k900:0upti.meK900It's not a good example of the kind of postprocessing we'd actually want to do 14:09:50
@k900:0upti.meK900On other things 14:09:54
@k900:0upti.meK900Because it being tied to a specific nixpkgs version is an implementation detail, not a required in variant 14:10:26
@k900:0upti.meK900* Because it being tied to a specific nixpkgs version is an implementation detail, not a required invariant 14:10:32
@roberthensing:matrix.orgRobert 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

Show newer messages


Back to Room ListRoom Version: 9