Nixpkgs Architecture Team | 230 Members | |
| https://github.com/nixpkgs-architecture, weekly public meetings on Wednesday 15:00-16:00 UTC at https://meet.jit.si/nixpkgs-architecture | 51 Servers |
| Sender | Message | Time |
|---|---|---|
| 10 Jul 2023 | ||
| And that's just *attending* them. Organizing is another couple steps up. | 14:09:33 | |
| infinisil: I'd like to see the first RFC 140 implementation PR ready for being merged soon, if possible | 14:41:10 | |
| Have anyone else thought of restructuring how we use
This strikes me as a more concise way and would leave us with one blessed way to override regardless of context. I haven't thought too much about this yet and it might be a bad idea. | 14:43:04 | |
| That's getting dangerously close to packages-as-modules already tbh | 14:44:14 | |
| So I'd rather just do that | 14:44:20 | |
In reply to @k900:conduit.0upti.meModules in what sense? | 14:44:53 | |
| Similar to how the current module system for NixOS options works | 14:45:14 | |
| But on a per-package basis | 14:45:22 | |
| Also, that's a lot of magic code and boilerplate, even for Nix' standards | 14:45:41 | |
In reply to @piegames:matrix.orgI'm showcasing an idea, it's possible to make it less code. | 14:46:12 | |
| Ot | 14:46:21 | |
| * It's a thing that has been discussed a lot | 14:46:33 | |
| And probably the next big change after RFC140 lands | 14:46:40 | |
| See https://github.com/nixpkgs-architecture/pkgs-modules | 14:46:59 | |
In reply to @piegames:matrix.orgYup that's high on my priority list right now | 15:04:38 | |
| k900: you can’t have packages as modules, it would kill performance even more | 16:15:15 | |
| at least you cannot use the nixos module sysetm | 16:15:29 | |
| https://github.com/NixOS/rfcs/pull/146 needs shepherds | 17:20:30 | |
| And that's in scope for the team, relates closely to RFC 140 | 17:20:50 | |
| 11 Jul 2023 | ||
In reply to @profpatsch:augsburg.oneI think that's the key question the wg is trying to answer | 09:20:12 | |
In reply to @adis:blad.isThat's more or less the direction I was thinking of when adding the self / finalAttrs argument to the mkDerivation args. At some point I tried to add mkPackage, which would be an overlay-based attrset whose "root" attributes were not exposed in the mkPackage return value. It would allow your example to be expressed without having passthru everywhere, and it would also allow the package to define how the derivation is exposed in the package attrset, which is important for RFC 92 dynamic derivations. | 09:25:55 | |
| It would have solved a couple of warts, except for the lack of automatic merging. That could be a good thing or a bad thing, but this uncertainty is one of the reasons I didn't pursue it further | 09:27:42 | |
| Another was the pushback I got because people didn't understand where this was going | 09:28:11 | |
| Maybe pushback isn't the right word. I could have made a better attempt at convincing them, but tbh that would have been a week long project that I couldn't spend | 09:30:54 | |
| adisbladis: I had not thought of using the final as the source for the input, but S.O.S. is kind of layed out this way. With the same disadvantage that the update operator is becoming overwhelmingly present. I think this is part of the solution, except that as To which the solution is simply to let people override whatever they want before applying | 09:38:13 | |
The idea of S.O.S. is that derivations are available only through final / self, and prev / super provides the recipes. | 09:38:54 | |
You want to override anything, use prev. You want to use a program, then use final.I warned people that I would be happy to break their code if they do not follow the rule. | 09:40:15 | |
| Speaking of mkPackage, a lot of the problems that package modules attempt to solve are actually mkDerivation problems, and I'd like to see them solved first separately | 09:56:35 | |
| Passing random shit as attribute set down through a chain of function calls should be an anti pattern. builtins.removeAttrs should not exist | 09:57:32 | |
| removeAttrs is useful in other contexts | 10:00:19 | |