!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture Team

224 Members
https://github.com/nixpkgs-architecture, weekly public meetings on Wednesday 15:00-16:00 UTC at https://meet.jit.si/nixpkgs-architecture53 Servers

Load older messages


SenderMessageTime
14 Feb 2024
@9999years:matrix.org9999yearsi'm a little nervous about the complexity of the code itself -- it seems like it's fairly easy to cause infinite recursion errors -- but it's definitely a step in the right direction16:54:12
@infinisil:matrix.orginfinisilHm yeah if that's the case then it might be fine16:54:22
@infinisil:matrix.orginfinisilOh yeah that's a big problem indeed, it's really tricky to get this right16:54:51
@9999years:matrix.org9999years but any decision that lets us move forward is a good one, regardless of if we standardize on lib.mkExtendDerivation or lib.makeOverridableGeneric 16:54:59
@infinisil:matrix.orginfinisil Robert Hensing (roberth) previously described that there's about 7 layers of fixed-points for some derivations 16:55:13
@9999years:matrix.org9999years and to be honest the makeOverridable code is no easier to read & comprehend 16:55:19
@infinisil:matrix.orginfinisilIt's just really hard to make sure that there are no regressions16:55:44
@roberthensing:matrix.orgRobert Hensing (roberth)fixed-points and potential fixed-points. Not all of them are properly exposed etc16:55:52
@roberthensing:matrix.orgRobert Hensing (roberth)which is part of the problem16:55:56
@infinisil:matrix.orginfinisilIt's so many intricasies16:56:01
@roberthensing:matrix.orgRobert Hensing (roberth)https://github.com/NixOS/nixpkgs/issues/27381516:56:13
@qyriad:matrix.org@qyriad:matrix.org
In reply to @infinisil:matrix.org
It's just really hard to make sure that there are no regressions
This is unfortunately going to be true of any unification solution and all of the steps towards them :/
16:58:22
@infinisil:matrix.orginfinisilCan't deny that!16:58:35
@roberthensing:matrix.orgRobert Hensing (roberth)That's exactly why we need to burn it and start over with something manageable: a single fixpoint16:59:43
@roberthensing:matrix.orgRobert Hensing (roberth)Each layer of fixpoint is expected to interact with each other layer. If they don't, that's a bug17:00:35
@roberthensing:matrix.orgRobert Hensing (roberth)Let me refine that: if they completely don't, it's a missing feature that someone will want to use, in which case they'll write a partial implementation, which has bugs, because it doesn't interact with some of the other layers.17:01:31
@infinisil:matrix.orginfinisilAgreed. I don't want to stop others from trying to make small improvements, but personally I want to invest my energy into more future-proof designs17:05:55
@infinisil:matrix.orginfinisilThere needs to be a balance though, can't always jump into all the rabbit holes..17:06:35
@roberthensing:matrix.orgRobert Hensing (roberth)I don't think the incremental improvements/fixes are particularly easy, so I wouldn't necessarily recommend to make them, but I won't stop those either21:49:49
17 Feb 2024
@jade_:matrix.org@jade_:matrix.orgThis looks interesting, for downstream consumers! https://discourse.nixos.org/t/nix-pkgset-cross-compilation-aware-flake-package-sets/3991119:19:15
@qyriad:matrix.org@qyriad:matrix.orgOh this looks fantastic 👀19:32:45
20 Feb 2024
@szlend:matrix.orgszlend joined the room.18:59:04
@szlend:matrix.orgszlend changed their display name from siyo to szlend.19:00:36
@szlend:matrix.orgszlend What's the purpose of the callPackage pattern really? Why does it expect a subset of packages as opposed to simply being the entire pkgs? Is it just so it can accept custom attributes? Some sort of performance reasons? 20:21:38
@szlend:matrix.orgszlendI know it does splicing as well, but that wasn't there originally right20:22:49
@k900:0upti.meK900It's a bit of a historical artifact20:23:12
@k900:0upti.meK900It doesn't really need to exist20:23:44
@Minijackson:matrix.orgMinijackson right now, I think callPackage allows us to do overrides, and things like withFeature ? true 20:26:22
@szlend:matrix.orgszlendI see yeah, I've always just found the pattern inconvenient. I'd basically have to name all the packages twice. If I no longer needed one, I would forget to remove it from the function arguments. When I started with nix I always assumed it was the way to track dependencies between packages, but that's obviously not how it works.20:27:01
@k900:0upti.meK900 The overrides bit is actually mkOverrideable 20:27:08

Show newer messages


Back to Room ListRoom Version: 9