There are interfaces for which slots can be provided either implicitly by the system but also by application snaps (for example network-manager, wayland, possibly docker…).
In the case that both the system slot is present and also an application sported one, the auto-connection feature will refuse to auto-connect any snap to either of those because of the ambiguity.
There have been discussions and requests to allow enforcing a preference either generally for the interface, or from the point of view of an application snap with a plug for the interface.
It has been suggested to leverage the snap-declaration mechanism to be able to express this, either in the base-declaration for a general preference, or in the snap-declaration for a consuming snap preference.
A candidate solution is to extend the syntax supporting greedy plugs to cover this case.
The proposal is to allow for modifiers for the 1 slot case for
The modifiers wouldn’t be accepted for the any (
*) case nor for
plugs-per-slot as ATM there is no concept of system plugs. The order and the comma are mandatory.