The new config system in pcb-rnd

Priorities

Priority is an integer property of each config root. Syntax-wise it is part of the name of the config root. In the lihata config file it is either specified or omitted. When omitted, a role dependent default value is used. The default values are chosen in an intuitive way, thus most commonly the priority value is omitted.

For scalar settings, the highest priority value determines the final value of a setting after the merge. If there is a tie, role decides: the role closer to the CLI is stronger.

For lists and arrays, priority determines the order of merge, which changes the order of items in the final list as config roots prepend and append items.