Custom Scripts
The locations where WirePlumber searches for scripts is explained in Location of scripts.
Scripts are not loaded automatically; a component muse be defined for them, and this component must be included in a profile. See Components & Profiles.
Full example
Let’s assume that ~/.local/share/wireplumber/scripts/90-hello-world.lua
contains the following script:
log = Log.open_topic("hello-world")
log.info("Hello world")
In order for it to run, we’ll define a component and include it in the default
profile by including the following configuration (for example, in
~/.config/wireplumber/wireplumber.conf.d/90-hello-world.conf
):
wireplumber.components = [
{
name = "90-hello-world.lua", type = script/lua
provides = hello-world
}
]
wireplumber.profiles = {
main = {
hello-world = required
}
}