| 26 Jul 2025 |
aloisw | Yeah I understand now, that's an even cooler trick. | 17:05:08 |
emily | (extend (final: prev: builtins.removeAttrs prev.lixPackageSets.stable [ "callPackage" "newScope" "overrideScope" "packages" "recurseForDerivations" "stateDir" "storeDir" "confDir" "aws-sdk-cpp" "boehmgc" "editline" ])).lix does still infrec and I don't know why. | 17:05:59 |
emily | probably because the lixPackageSets themselves get messed up by the overlay and need to be written smarter for it | 17:06:22 |
emily | or something. | 17:06:32 |
aloisw | Will try to figure out once my nix-daemon is not longer almost OOMing due to linking a Gecko. | 17:09:21 |
| * raitobezarius sees cursed shit in the channel | 17:15:13 |
| * raitobezarius goes back to DNS debugging | 17:15:20 |
piegames | nooo we need you | 17:24:39 |
aloisw | In reply to @emilazy:matrix.org
(extend (final: prev: builtins.removeAttrs prev.lixPackageSets.stable [ "callPackage" "newScope" "overrideScope" "packages" "recurseForDerivations" "stateDir" "storeDir" "confDir" "aws-sdk-cpp" "boehmgc" "editline" ])).lix does still infrec and I don't know why. I think it infrecs on the names given that even final: prev: builtins.deepSeq (builtins.attrNames prev.lixPackageSets.stable) {} does. | 17:30:47 |
emily | I'm so confused. how can a prev thing infrec? | 17:32:49 |
emily | it's, like, already there. | 17:32:56 |
aloisw | Hmm even final: prev: prev.callPackages ({ }: { }) { } infrecs. | 17:33:01 |
aloisw | Might have something to do with the fact that prev is not quite the same as the package set without the overlay. | 17:33:55 |
raitobezarius | In reply to @piegames:flausch.social nooo we need you i feel like there's enough brains on the topic ;P | 17:36:34 |
raitobezarius | but tbh, I think the package set usage could be simply as lix.packageSet = pkgs.lixPackageSets.lix_2_93; | 17:36:56 |
raitobezarius | kernel style | 17:36:57 |
raitobezarius | and then the nixos module can abstract the various overlays we want to do | 17:37:06 |
emily | do you know how it differs? | 17:43:05 |
emily | apparently I don't understand overlays | 17:43:08 |
| * piegames is confused as well | 17:46:33 |
aloisw | This should be the function that applies overlays: https://github.com/NixOS/nixpkgs/blob/1733b682f2b4bf9e389a757e81e09fe3b51ddbc4/lib/fixed-points.nix#L319-L328 . So basically you should think of the package set as a function (that can be altered by overlays) and prev is the package set function prior to your overlay called with the fixed point. | 18:25:19 |
aloisw | Actually that's not just basically but literally how it works: https://github.com/NixOS/nixpkgs/blob/2b37f8f2d88df8c2a5e67cc11ae15ff8372315af/pkgs/top-level/stage.nix#L337-L354 | 19:16:55 |
aloisw | The entire nixpkgs package set is just overlays all the way down. | 19:17:20 |
raitobezarius | emily i reworked the whole thing to take into account Darwin | 21:01:40 |
raitobezarius | https://gerrit.lix.systems/c/lix/+/3765 | 21:01:42 |
raitobezarius | I'm going to have dinner and let CI see if Darwin tests works | 21:02:07 |
raitobezarius | I confirmed that Linux functionality did not regress as I have enough build capacity for that, but Darwin is not the optimal thing for me to test | 21:02:24 |
raitobezarius | I decided to optimize Linux for free in the context of cacert disappearing someday | 21:02:42 |
raitobezarius | I bind the CA certificate if possible rather than copying it | 21:02:50 |
raitobezarius | I kept the warning and ensured it appears only if caFile and $NIX_SSL_CERT_FILE disagrees | 21:03:06 |