In the 66 README, the Roadmap section mentions:
Provide a Conflicts keyword at frontend file:
Allow to declare a conflicting service through the Conflicts field, e.g. connmand service will declare Conflicts = ( Networkmanager ).
But this seems a bit bizarre. I think Provides would be a better option. For example, in openrc, both connmand, networkmanager, networking and others would provide net
. By the default alpine policy for example, networking
provides net
and you can easily switch to it by enabling networkmanager
and disabling the other. This means that other services just need to depend on net
and not care about the implementation.
Other examples off the top of my head could be chrony
providing ntp-client
and ntp-server
. gdm
providing display-manager
and more.