| 26 Jul 2025 |
emily | it doesn't take parameters | 16:58:50 |
piegames | * which is basically like that one except the overlay gets access to its inputs, in a way (not sure if that even adds anything useful in the first place though) | 16:58:52 |
emily | overlays = [ pkgs. can never work | 16:58:59 |
emily | overlays = [ (final: prev: prev.dummyOverlay) ]; should | 16:59:06 |
emily | I don't think you need the arguments in lixPackageSets | 16:59:39 |
emily | its "prev" is essentially the wider package set it's instantiated in | 17:00:04 |
aloisw | In reply to @emilazy:matrix.org
"prefetch-yarn-deps" # force these onto upstream so we are not regularly rebuilding electron
has some clue
Am I looking at the correct thing here https://github.com/NixOS/nixpkgs/blob/7379d27cddb838c205119f9eede242810cd299a7/pkgs/development/tools/electron/common.nix#L53-L56 ? That's a FOD. | 17:00:16 |
emily | it does mean that lixPackageSets will become a double-overlay in the resulting package set though, which is fun. | 17:00:18 |
emily | but you do want an explicit non-overlay thing so that those packages can be used from the CLI, anyway | 17:00:28 |
emily | I don't understand it either, but also like I said this stuff changed at some point I believe | 17:00:54 |
piegames | yeah, I figured | 17:01:21 |
aloisw | In reply to @emilazy:matrix.org
overlays = [ (final: prev: prev.dummyOverlay) ]; should final: prev: prev.dummyOverlay final prev, but yes that works, cool trick. | 17:02:21 |
emily | that's not the trick I mean :) | 17:02:33 |
aloisw | Ah you want to use an attrset as an overlay? | 17:03:33 |
emily | you can do dummyPackages = { nix = pkgs.hello; } | 17:03:34 |
emily | and then (final: prev: prev.dummyPackages) should work | 17:03:41 |
emily | that's how lixPackageSets could work (but it does admittedly infrec right now) | 17:04:05 |
emily | (I guess because it's overlaying newScope, lol) | 17:04:13 |
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 |