!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

864 Members
For people hacking on the Nix package manager itself182 Servers

Load older messages


SenderMessageTime
16 Oct 2025
@roberthensing:matrix.orgRobert Hensing (roberth)(well, two mostly unrelated schemas)14:14:26
@Ericson2314:matrix.orgJohn Ericsonyeah was just thinking we might need that14:25:36
@Ericson2314:matrix.orgJohn Ericsonbecause of references between then14:25:42
@Ericson2314:matrix.orgJohn Ericsonbut we can wait and see14:25:45
@roberthensing:matrix.orgRobert Hensing (roberth)one big schema should also be fine14:26:00
@roberthensing:matrix.orgRobert Hensing (roberth)at least for the store layer14:26:08
@roberthensing:matrix.orgRobert Hensing (roberth)that's where most of the JSON action is anyway14:26:25
@fzakaria:one.ems.hostfzakaria John Ericson: i'm not sure what you meant on PR#14266 14:40:01
@fzakaria:one.ems.hostfzakariaThe bug is about encoding so LocalBinaryCacheStore wouldn't anyways be a 1:1 test14:40:21
@Ericson2314:matrix.orgJohn EricsonOh whoops OK I guess that doesn't help with that then14:41:21
@fzakaria:one.ems.hostfzakariaalthough my test doesn't have a fix for it... after writing the unit tests i learned that '+' in the path doesn't get encoded. I couldn't reproduce it; I added notes on the linked issue that maybe it was S3 specific passing it as a query parameter.14:43:13
@joerg:thalheim.ioMic92 @Ericson2314:matrix.org: https://github.com/Mic92/niks3 since i am not aware of binary caches with gc that support the fully protocol including ca derivations, i created this. Currently working on the second production deployment. Also makes it really cheap to self-host high availability caches. You can get 1tb s3 buckets for 5 to 15 Dollar per month. 14:46:26
@Ericson2314:matrix.orgJohn Ericson Mic92: cool, but does it depend on harmonia / nixrs ? :) 14:47:26
@joerg:thalheim.ioMic92* @Ericson2314:matrix.org: https://github.com/Mic92/niks3 since i am not aware of binary caches with gc that support the full protocol including ca derivations, i created this. Currently working on the second production deployment. Also makes it really cheap to self-host high availability caches. You can get 1tb s3 buckets for 5 to 15 Dollar per month.14:47:35
@joerg:thalheim.ioMic92No this is a completely different implementation ;) but I promise that the other thing comes next14:48:36
@joerg:thalheim.ioMic92The actual difficulty was not the nix related protocols but getting the gc to work with some two phase commit14:50:13
@Ericson2314:matrix.orgJohn EricsonAlright, I just wanna start sharing Rust code :)14:50:19
@joerg:thalheim.ioMic92All those different object types i just wrote in a couple of days14:50:20
@joerg:thalheim.ioMic92* The actual difficulty was not the nix related protocols but getting the gc to work with some two phase commit protocol14:50:34
@joerg:thalheim.ioMic92We also should just move to zstd for ls files. It is much faster in my benchmarks compared to brotli. Nix already supports zstd on download for a long time. 14:54:10
@manveru:matrix.orgmanveru @Mic92 that looks really nice, we just had an incident where someone turned on object expiration on our bucket to save space... The fallout of narinfos pointing to nothing and Nix crashing because of it took weeks to clean up 15:13:17
@manveru:matrix.orgmanveruBut does this prevent crashes because of locally cached narinfos that point to removed NARs?15:15:41
@joerg:thalheim.ioMic92
In reply to @manveru:matrix.org
But does this prevent crashes because of locally cached narinfos that point to removed NARs?
I think missing nars for a given narinfo should only produce a warning? At least my experience from with harmonia. Broken references however might be a problem. However niks3 shouldn't let this happen.
15:18:00
@joerg:thalheim.ioMic92If you don't have gc the second best thing is rotating s3 buckets and have a cdn/load-balancer checking both15:19:19
@manveru:matrix.orgmanveru i'm not 100% certain anymore, but afaict if the NAR goes missing within the narinfo-cache-positive-ttl while there's an entry in the e.g. ~/.cache/nix/binary-cache-v7.sqlite Nix may take it personally 15:26:50
@manveru:matrix.orgmanverubut it's possible that's only true for references15:27:47
@Ericson2314:matrix.orgJohn Ericson Robert Hensing (roberth): do you know a command to convert yaml to json? 15:35:34
@Ericson2314:matrix.orgJohn Ericsonkinda want the JSON schema to be yaml 15:35:39
@Ericson2314:matrix.orgJohn Ericsonfor nicer git diffs15:35:42
@roberthensing:matrix.orgRobert Hensing (roberth) yq I guess? You can call me a freak, but I'm a happy JSON editor 15:39:54

Show newer messages


Back to Room ListRoom Version: 6