Hello, I have configured in my way of course and it works. Everything can be improve of course:
In pipewire, I copied the file "/usr/share/pipewire/pipewire.conf" to "/etc/pipewire/pipewire.conf" and I made those changes, the key is "context.exec", with this configuration I'm telling Pipewire to execute "Wireplumber" and "Pipewire-pulse",I also have a "wireplumber.conf" because I'm using Sway with "seatd" and I'm not using "elogind" but if you use "elogind" you might not need the "wireplumber.conf" file and you can just run "wireplumber" without arguments. I also copied the file "/usr/share/pipewire/pipewire-pulse.conf" to "/etc/pipewire/pipewire-pulse" and I made my own configurations to pipewire-pulse, I don't know if you use pipeware as pulseaudio drop-in but you might need it.
context.exec = [
#{ path = <program-name> [ args = "<arguments>" ] }
#
# Execute the given program with arguments.
#
# You can optionally start the session manager here,
# but it is better to start it as a systemd service.
# Run the session manager with -h for options.
#
#{ path = "/usr/bin/pipewire-media-session" args = "" }
#{ path = "/usr/bin/pipewire-media-session" args = "" }
{ path = "/usr/bin/wireplumber" args = "-c wireplumber.conf" }
#
# You can optionally start the pulseaudio-server here as well
# but it is better to start it as a systemd service.
# It can be interesting to start another daemon here that listens
# on another address with the -a option (eg. -a tcp:4713).
#
#{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }
{ path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }
]
These are my s6 custom scripts:
In the pipeware folder:
run
-------------------------------------
#!/usr/bin/execlineb -P
exec dbus-run-session pipewire
---------------------------------------
finish
-------------------------------------
#!/usr/bin/execlineb -P
exec pkill pipewire
---------------------------------------
type
-------------------------------------
longrun
---------------------------------------