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 |
|---|---|---|
| 11 Jul 2023 | ||
| I mean if you think about it nixos configs are very similar to CSS in that regard | 17:24:34 | |
| mkForce is !important | 17:24:38 | |
| The thing I don't like priority for, is that now you have to track which values are actual values, and which values are priority annotation wrapping a value. | 17:25:18 | |
| thus is the tyranny of structured typesystems | 17:26:30 | |
| *structural | 17:26:38 | |
| 20:43:38 | ||
| 12 Jul 2023 | ||
| Ah, funny to see that a lot of the subjects touched upon here are questions we also had to think about for Nickel as well. Would be interesting to share some of the ideas and insights on both side. A couple points:
| 07:22:24 | |
| Profpatsch: would you care elaborating on that? CUE seems to take the entirely opposed approach | 07:22:44 | |
| * Profpatsch: would you mind elaborating on that please? CUE seems to take the entirely opposed approach | 07:24:43 | |
| * Ah, funny to see that a lot of the subjects touched upon here are questions we also had to think about for Nickel as well. Would be interesting to share some of the ideas and insights on both sides. A couple points:
| 07:33:02 | |
| 07:46:09 | ||
| yannham: Cue suffers from the same slowness problems as the nixos module system afaik | 08:41:28 | |
| The problem is unscoped merging, aka if you want to figure out whether something exists, you have to potentially search through every module definition | 08:42:25 | |
| Priority is a pretty horrible monoid, because you cannot use laziness to short-circuit | 08:42:43 | |
| compared to e.g. Last | 08:42:54 | |
| (there could always be something with higher priority that the evaluator hasn’t seen yet, so you have to look at absolutely everything) | 08:43:33 | |
| I don’t know how nickel solves this? | 08:43:57 | |
Almost the same story for SOS, the intent was to not remove mkDerivation but delay it to be executed at the very end of the fix-point, thus making packages just ordinary attribute sets available through prev/super, which can be overwritten by using Nix's update operator within Nixpkgs' overlays. | 10:00:03 | |
In reply to @nbp:mozilla.orgHow does this deal with e.g. Python packages? I like the idea but again I don't think this is going to work well until we've foxed our builders | 10:16:18 | |
| Unrelated, but one change I’d like to see is having features be a special attribute set, and each feature ideally carries the information which dependencies it needs. | 10:58:16 | |
| That way static information is available. Question is whether this would be done symbolically (by projecting it out of the fixpoint as is the case now) or by-name (as a string) | 10:59:14 | |
| by flattening python packages under the top-level fix-point. What these python sets are is a custom python package with a set of python packages relying on these. To make it short, this is providing only a different An alternative would be to make inherited inputs. For example:
In which case one could assume that the last scope definition overrides the package inputs, unless override by the user with the update operator. We have many options to choose from. | 11:00:32 | |
These __scope would again be resolved last, only if the name is not explicitly bound on the packages inputs. | 11:01:52 | |
| No I was talking about builders like PythonPackage, not the package set itself | 11:04:10 | |
| Then I do not know, nor see how it would be different than today. | 11:05:14 | |
| Well the situation of today is pretty bad, so I hope it would be different | 11:06:31 | |
| simple paths when | 13:33:53 | |
| RFC is merged 🎉 | 13:46:11 | |
| as of 12 mins ago https://github.com/NixOS/rfcs/pull/140#event-9799573690 | 13:46:28 | |
| Yes. | 13:46:39 | |