| 3 Oct 2025 |
| moleksiak joined the room. | 23:13:54 |
| 13 Oct 2025 |
| vivekanandan_ks joined the room. | 18:55:01 |
| 21 Oct 2025 |
| jonhermansen joined the room. | 20:56:17 |
| 23 Oct 2025 |
| @mrargoz:matrix.org joined the room. | 21:02:11 |
| 24 Oct 2025 |
| @mrargoz:matrix.org left the room. | 04:41:41 |
| seapat | 20:35:16 |
| 1 Nov 2025 |
| Gaétan Lepage changed their profile picture. | 22:53:22 |
| Gaétan Lepage changed their profile picture. | 22:54:19 |
| 4 Nov 2025 |
| cafkafk changed their profile picture. | 08:23:11 |
| Vera Gradient joined the room. | 08:34:45 |
| 7 Nov 2025 |
| @emma:rory.gay left the room. | 22:42:52 |
| 9 Nov 2025 |
| draed joined the room. | 15:24:51 |
| 12 Nov 2025 |
| Inayet changed their display name from inayet to Inayet. | 12:38:21 |
| 18 Nov 2025 |
| jopejoe1 (4094@39c3) changed their display name from jopejoe1 to jopejoe1 (4094@39c3). | 20:19:24 |
| 20 Nov 2025 |
| John joined the room. | 06:56:48 |
| 21 Nov 2025 |
| isabel changed their profile picture. | 18:14:02 |
| 23 Nov 2025 |
Matt Sturgeon | In nixvim, we recently used the new valueMeta to implement a warning that checks whether a submodule's sub-option is defined.
I was anticipating some breakage for users with an old/outdated nixpkgs revision pre-dating #391544. This seems to be the case for some users, however other users apparently have up-to-date inputs and are still reporting error: attribute 'valueMeta' missing.
Reports are in #3966 and #3960.
The nixvim test suite does not reproduce this in any of its test cases, most of which are module evals. The affected users have not yet provided complete reproducible examples.
One initial hypothesis is that type-merging (not definition merging) could be breaking v2 check+merge? E.g. if users declare programs.nixvim.* submodule options from outside the nixvim submodule, those declarations get merged into the option-type via type-merging. But that is pure conjecture at this point.
Before I dive too deep into investigating and trying to reproduce the issue, I was wondering if hsjobeki , Robert Hensing (roberth) , or anyone else familiar may have some insight or intuition?
| 23:02:23 |
Robert Hensing (roberth) | Versions could explain it. Maybe add some asserts to catch that early? E.g. assert (attrsOf unspecified)?merge.v2; ... | 23:10:16 |
Matt Sturgeon | Ah, that seems to be it.
A 25.05 (or otherwise pre-v2-checkAndMerge) host configuration importing a nixvim wrapper-module will use that host-configuration's lib as the basis for nixvim's "extended" lib:
https://github.com/nix-community/nixvim/blob/2606dc719488065e735ff0fc622d743566b21ad4/wrappers/_shared.nix#L73-L77
That should probably be changed to freshly import lib from our flake-locked nixpkgs revision, the same as we do when constructing pkgs.
| 23:48:16 |
| 24 Nov 2025 |
| @whispers:catgirl.cloud joined the room. | 00:26:42 |
| @whispers:catgirl.cloud left the room. | 02:37:42 |
nbp | What is this v2 about? | 13:37:23 |
Matt Sturgeon | https://github.com/NixOS/nixpkgs/pull/391544 extended how option-types check and merge definitions. This means the merge function is responsible for checking and merging, and it is able to return additional metadata alongside the actual merged value. For submodules, this means we can introspect the actual submodule configuration, instead of just it's final config value. | 13:52:39 |
nbp | Interesting …
This might help solve the issue that we have to forward per-submodule option definitions to the parent module. | 14:12:50 |
nbp | I am not sure for the need of blending the check & merge functions, as we used to have this for submodules a while back, before people wanted to have freeform types. | 14:21:26 |
nbp | we used to have extra values in submodules output at least. | 14:22:09 |
n4ch723hr3r | whats the nixos version of home.file? i only find environment.etc | 16:23:07 |
Robert Hensing (roberth) | Not sure I understand your problem description, but if you were adding options just to forward in-submodule metadata like options or _module to the parent, you could use valueMeta instead. | 16:46:50 |
Robert Hensing (roberth) | Reason to merge the two operations is so that they can share computations. That's somewhat separate from the valueMeta addition | 16:47:37 |
hsjobeki | I guess he is referring to seperate out the check, because freeformType is just calling merge without check | 16:48:01 |