Add nofaildefault flag to mark components enabled by default if available

P V requested to merge pvir/wireplumber:plugin-enabled into next

Make Wireplumber in its default configuration start successfully also when logind or DBus user session is not available.

Consider the logind, reserve-device, and flatpak-portal components as optional and enabled by default, but not making Wireplumber fail to start up if not available. However, if they were explicitly enabled in the settings, make Wireplumber startup fail if they cannot be enabled.

Do this by adding a new nofaildefault component flag that acts as nofail if the component dependency setting was not enabled explicitly.

Also adjust Lua Plugin.find so that it returns nil for plugins that are not active, so that scripts do not have to explicitly check for that explicitly. Seems tests assume otherwise, so just check plugin enabled in scripts then.

The idea here is to make it easier to just run Pipewire & Wireplumber in any environment, e.g. for automated testing, or on bare-bones Linux distros.

Edited by P V

Merge request reports