ft: moved cables.sh into nix
This commit is contained in:
1 parent
a8365a1a73
commit
ff14cb6a8b
8 files changed
+172
-44
No files matched your search
Executable
+40
@@ -0,0 +1,40 @@
|
||||
# wait until pw-link port becomes available
|
||||
# $1: port identifier
|
||||
wait_for_port() {
|
||||
for _ in $(seq 1 10); do
|
||||
if pw-link -io 2>/dev/null | grep -Fq "$1"; then
|
||||
return 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
echo "Timed out waiting for PipeWire port: $1" >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
# link two pipewire ports together. waits for htme to exist first.
|
||||
# $1: output port
|
||||
# $2: input port
|
||||
link_ports() {
|
||||
wait_for_port "$1"
|
||||
wait_for_port "$2"
|
||||
|
||||
# pw-link errors if a link already exists, but we don't want that to fail the script
|
||||
pw-link "$1" "$2" 2>/dev/null || true
|
||||
}
|
||||
|
||||
# link clementine -> combine
|
||||
link_ports "clementine:monitor_FL" "combine:playback_FL"
|
||||
link_ports "clementine:monitor_FR" "combine:playback_FR"
|
||||
|
||||
# link element -> combine
|
||||
link_ports "element:monitor_FL" "combine:playback_FL"
|
||||
link_ports "element:monitor_FR" "combine:playback_FR"
|
||||
|
||||
# link game -> combine
|
||||
link_ports "game:monitor_FL" "combine:playback_FL"
|
||||
link_ports "game:monitor_FR" "combine:playback_FR"
|
||||
|
||||
# link combine -> usb_c_sink
|
||||
link_ports "combine:monitor_FL" "$USB_C_SINK:playback_FL"
|
||||
link_ports "combine:monitor_FR" "$USB_C_SINK:playback_FR"
|
||||
|
||||