| 1 Mar 2026 |
lunik1 | Unfortunately, using extends does not seem to compose well. Setting withOverlays to
withOverlays = [
(self: super: { lib = super.lib.extend (self: super: { lunik1.myTrue = true; }); })
(self: super: { lib = super.lib.extend (self: super: { lunik1.myOtherTrue = true; }); })
];
means my configurations can no longer see myTrue. | 21:03:34 |
lunik1 | Unfortunately, using extends does not seem to compose well. Setting withOverlays to
withOverlays = [
(self: super: { lib = super.lib.extend (self: super: { lunik1.myTrue = true; }); })
(self: super: { lib = super.lib.extend (self: super: { lunik1.myOtherTrue = true; }); })
];
means my configurations can no longer see myTrue. | 21:03:42 |
| 2 Mar 2026 |
accelbread | yeah, extend is just applying an overlay, so the second one is replacing the whole lunik1 attr | 00:00:35 |
accelbread | you'd need to do the merging thing inside of the lib overlay | 00:01:35 |
accelbread | probably discouraged since nested overlays is annoying. but home-manager is using it | 00:02:59 |
accelbread | Not sure if warning would be possible; would need to detect lib was modified without extend | 00:03:29 |
lunik1 | is this just the wrong way to pass common functions to all my system/home configurations? | 16:40:19 |
| 3 Mar 2026 |
accelbread | yeah, modifying lib is a bit of a minefield so I usually add my own attr.
You could either add your own personal lib attr to packages, or use a module to make it a module argument for nixos/home configs | 03:26:41 |
| 4 Mar 2026 |
accelbread | by the way, I'll be at SCaLE if anyones there and wants to say hi | 09:08:07 |