For future readers looking to set separate default pulseaudio or pipewire sinks for individual apps, this his how I accomplished it.
If you're using pipewire config, sink_name
will be called node.name
in the capture.props
of the module.
For flatpak apps, I used this per-user override only for my current user:
flatpak override --user --env=PULSE_SINK=(sink_name) (full application name)
For example:
flatpak override --user --env=PULSE_SINK=live_sink com.spotify.Client
For steam games, insert the respective environment variable into the launch options if you already have some, or otherwise put PULSE_SINK=(sink_name) %command%
in there.
Steam Tinker Launch maintains a gamecfgs/customvars/(Game ID).conf
config file for each game to set custom environment variables in, which you can most conveniently find through from the launcher's Main Menu > Editor > find the customvars entry. In there, just put the line PULSE_SINK=(sink_name)
and you'll be good to go.
Those two videos are pure chaos condensed into rapidfire hilarity and one of the few things I can rewatch just about anytime