| 26 Jul 2025 |
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 |
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 |