Specifically, this is when the options attribute is not set for the module but value is. For example, I need to add an entry to services.openssh.settings.Macs but I can’t seem to set it such that it includes the modules’s default list.
Typically I would reference the module default option like this:
But this results in infinite recursion. Is there a lib function that just makes any assignment a merge instead of a re-assignment? I’ve tried some of the mkMerge, mkOrder, etc. but I don’t think any work like this.
Interesting. I guess this means the 23.05 Release Notes notes are a little misleading since the example would set the MACs to only what is listed instead of adding.
I’ll have to test mkOptionDefault a bit more. i think if you had another but regular MACs = [ "AA" ] assignment (e.g. in separate files that are recursively merged) then it would silently override both the module default and mkOptionDefault instead of throwing due to conflicting definitions. (For now I’m just adding my own check via config.asserts.)