NixOS Module System | 155 Members | |
| 30 Servers |
| Sender | Message | Time |
|---|---|---|
| 16 May 2025 | ||
I believe the attrs are merged before being typechecked. I suppose you could try adding a lib.trace inside the typecheck to verify? | 20:32:31 | |
For modules:
| 20:37:22 | |
*
For modules:
| 20:37:32 | |
| This won't support Type checking is done before merging, but after resolving Type checking is used to determine which type to use for merging. | 20:39:18 | |
| Aha, that makes sense 👍️ | 20:41:25 | |
Sounds like __result is least wrong? | 20:50:51 | |
* Sounds like __result is the least wrong? | 20:50:55 | |
H'm what if freeformTypes are different? attrsOf a and attrsOf b | 20:53:42 | |
| I believe the freeform type can be conditional on a marker option being defined without infinite recursion. | 20:58:27 | |
| So long as the marker options are explicitly defined, they are resolved before freeform definitions | 20:59:14 | |
| Not sure I should depend on this detail 😅 | 20:59:19 | |
| * So long as the marker options are explicitly declared, they are resolved before freeform definitions | 20:59:26 | |
freeformType is itself an option (config._module.freeformType), so it's not really an implementation detail | 21:00:17 | |