!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

907 Members
For people hacking on the Nix package manager itself191 Servers

Load older messages


SenderMessageTime
19 Jan 2026
@joerg:thalheim.ioMic92Also because they have to be lexical sorted, no?14:56:23
@roberthensing:matrix.orgroberthIt's the simple thing to do, and simple is fast, usually. Not being simple is what stalled https://github.com/NixOS/nix/pull/415414:57:32
@roberthensing:matrix.orgroberthCould be revisited, but it does change the language semantics so that's tricky, and hard to backtrack away from in the future14:58:10
@joerg:thalheim.ioMic92Yeah, feels hard to make this bug-compatible with the current behaviour.14:58:51
@joerg:thalheim.ioMic92One could have an infinite attrset that would work with new nix, but not with old nix.14:59:24
@joerg:thalheim.ioMic92Also that would be less likely the biggest issue14:59:51
@roberthensing:matrix.orgroberthIt'd be subtler current errors that would be the problem, mostly infinite recursions that would be lifted in the new Nix language15:01:10
@roberthensing:matrix.orgroberth(or at least those would be the ones people would complain to me about :) )15:01:50
@shine:proqqul.netTaeer Bar-YamGenerally turning errors into correct behaviour is the least bad way to break compatibility, right? Though it causes more problems now that we have other forks of nix15:07:26
@raboof:matrix.orgraboofyeah I wasn't saying we should change this, just calibrating my expectations ;) - but nice to see more people have been pondering (and even hacking on) this ;)15:07:34
@roberthensing:matrix.orgroberthno, raboof, you are in the rabbit hole with us now!15:08:04
@roberthensing:matrix.orgroberthI agree it's a good kind of change, but the second order effects are real. E.g. you upgrade, you use it, I don't, it fails for me, I complain, we lose15:09:02
@roberthensing:matrix.orgroberthnot to say we can't get over that. It's still an improvement, but is it the right thing to do now?15:10:05
@roberthensing:matrix.orgroberthI'd want to know the long term impact on evaluator performance including opportunities missed. tricky.15:10:47
@roberthensing:matrix.orgroberthmaybe it's a cognitohazard and we should just ignore it for another year15:12:57
@raboof:matrix.orgraboof yeah, performance-wise it's hard to predict the trade-off between the benefit of not needing to evaluate the first parameter vs the cost of delaying when it's needed after all - AFAICT infinisil's work seems to suggest it's not a huge benefit (if at all). 15:13:54
@shine:proqqul.netTaeer Bar-YamAlso would this change solve anything for anyone or improve anything? I don’t think I’ve ever run into a situation that needed it, personally15:13:58
@roberthensing:matrix.orgroberth It could solve a portion of infinite recursions that necessitate lazyAttrsOf instead of attrsOf in module system use. Actually it might make that use case worse because definition merge order is deterministic but arbitrary in the module system. 15:16:08
@roberthensing:matrix.orgroberth It would speed up nix-env -q because // { type = "derivation"; } could just be the last thing in every mkDerivation (or similar) call. 15:16:58
@joerg:thalheim.ioMic92A different rabbit hole is improving narinfo lookup in our current binary cache protocol by adding an efficient index that can be downloaded (incrementally): https://github.com/NixOS/rfcs/pull/195 For now kalbasit is implementing this in his binary cache proxy. And I am planning on matching this with my binary cache implementations, but at some point it would be also useful for Nix to have something like this. Currently it's in concept stage and we want to test with some implementations how it performs. It would be the dream if we also had this in cache.nixos.org, but it would be also useful otherwise i.e. if you have many small scoped caches and don't want to reach out to each of them all the time. It unlocks features like efficient p2p binary caches.15:17:35
@magic_rb:matrix.redalder.orgmagic_rbexciting times15:18:08
@roberthensing:matrix.orgroberthIf I were to shepherd that RFC I'd basically require cache.nixos.org integration before completing the RFC15:18:51
@roberthensing:matrix.orgroberthIf it doesn't work for that (almost) what's the point15:19:01
@roberthensing:matrix.orgroberth* If it doesn't work for that what's the point (almost)15:19:55
@joerg:thalheim.ioMic92Not really, required. It doesn't even need to be accepted by the nix community as long as there are compatible implementations.15:19:57
@joerg:thalheim.ioMic92But it's nicer if everyone use the same standard of course15:20:29
@joerg:thalheim.ioMic92Right now cache.nixos.org is a rather big dataset that is hard to experiment with.15:22:14
@roberthensing:matrix.orgroberthIt is the most worthwhile though15:22:32
@roberthensing:matrix.orgroberthMost worthwhile per byte even, I would argue ;)15:22:42
@roberthensing:matrix.orgroberthBut do ignore me if I'm just a whiny bitch15:23:19

Show newer messages


Back to Room ListRoom Version: 6