6 Mar 2025 |
Matt Sturgeon | Sounds like your definition has a higher override priority. For example a "normal" definition will not be merged with a "default" definition, because merging is only done for definitions of whatever happens to be the highest priority | 14:45:41 |
mr-qubo | Yes, I want to merge with the default value of that option. | 14:46:34 |
mr-qubo | This module needs the flags, which are passed in default value. | 14:46:56 |
nbp | then you need mkDefault (mkAfter suffix) | 14:47:00 |
Matt Sturgeon | Assuming the option's type actually supports merging, you need to make your definition have the same override priority. This is probably either mkDefault or more likely mkOptionDefault | 14:47:30 |
nbp | * then you need mkOptionDefault (mkAfter suffix) — editted: wrong function name | 14:48:21 |
Matt Sturgeon | If the option doesn't support merging, a less idiomatic solution would be to read the option's default value and use that in your overriding definition:
foo = options.foo.default + "suffix";
This is ugly and fragile, but could work as a hacky solution if necessary. | 14:50:45 |
mr-qubo | mkOptionDefault raises an error. The type is types.str . I'll guess I'll go with options..default then. | 15:24:07 |
Matt Sturgeon | types.str has merge = mergeEqualOption , which essentially means it doesn't support merging multiple definitions | 15:58:40 |
7 Mar 2025 |
| Qyriad changed their display name from Qyriad to qyriad. | 16:43:26 |
8 Mar 2025 |
| Qyriad changed their display name from qyriad to Qyriad. | 21:41:03 |
9 Mar 2025 |
| jappie joined the room. | 09:23:03 |
12 Mar 2025 |
Sam Lehman | Is there a "best-practices" way of iterating over many option names/values in a config? Particularly such that I can test the existence of many options without losing the benefits of lazy eval. | 12:09:50 |
Sam Lehman | e.g. I'm trying to persist directories using impermanence by enumerating all services*.dataDir options, then appending its value to environment.persistence."/persist".directories with lib.optional config.services.<name>.enable config.services.<name>.dataDir | 12:10:09 |
nbp | Unfortunately no. So far people have been using map within modules to iterate over the individual definitions, and some have used mkMerge / mkIf to make their definitions conditional. I have no found any way to generalize the processing of multiple option definitions into 1 or multiple at the moment. If you have any idea of what might be a good API, feel free to suggest, and people in this channel might be able to provide an implementation (if possible) | 14:18:09 |
| vidariondr joined the room. | 21:07:51 |
22 Mar 2025 |
| isabel joined the room. | 00:42:48 |
| vaw joined the room. | 21:26:12 |
27 Mar 2025 |
| ·☽•Nameless☆•777 · ± changed their profile picture. | 04:46:05 |
| ·☽•Nameless☆•777 · ± changed their profile picture. | 07:58:24 |
1 Apr 2025 |
| maka_77x joined the room. | 20:03:47 |
3 Apr 2025 |
| NixOS Moderation Bot banned cafkafk 🏳️⚧️ (<no reason supplied>). | 11:42:04 |
4 Apr 2025 |
| NixOS Moderation Bot unbanned cafkafk 🏳️⚧️. | 06:12:50 |
8 Apr 2025 |
| ·☽•Nameless☆•777 · ± changed their profile picture. | 17:39:03 |
10 Apr 2025 |
| anselmetombarel joined the room. | 14:47:57 |
16 Apr 2025 |
| ·☽•Nameless☆•777 · ± changed their profile picture. | 06:50:41 |
| Alexandru Tocar joined the room. | 11:47:32 |
18 Apr 2025 |
| Cirno joined the room. | 01:05:05 |
| fabaff joined the room. | 18:03:01 |
19 Apr 2025 |
| jopejoe1 (4094@eh22) changed their display name from jopejoe1 to jopejoe1 (4094@eh22). | 13:01:33 |