For example, I set firefox to some custom sink using pavucontrol, but now I want to reset it to default. How can I do this without using pavucontrol, just cli?
EDIT:
Found it :) they are in ~/.local/state/wireplumber/restore-stream
. To remove target sink, pipewire and wireplumber have to be restarted:
systemctl --user stop pipewire
sed -i '/:target/d' ~/.local/state/wireplumber/restore-stream
systemctl --user start wireplumber
Other solution is just to reroute all active streams to the default sink:
sink="$(pactl get-default-sink)"
pactl list short sink-inputs | sed -r 's/([0-9]+).*/\1/' | while read appId; do
pactl move-sink-input $appId "$sink"
done
Only Linus and Jesus know.
Looks like your options are wireplumber (separate package) or pw-cli (looks kind of arcane). Gentoo appears to create an /etc/pipewire directory for some configuration, but your distro may be different.
I'm not entirely sure if this can do what you need, but I like looking at the graph with qpwgraph
Ooh this is nicer looking than helvum.
I've not played enough with pipewire, but my impression was: use pavucontrol for gui or wireplumber for cli.