/ de-omarchy / default / audio / filter-chain-host.conf
swadhinbiswas Port upstream user-facing defaults: chromium extensions, XCompose, voxtype/tensaku state, audio tunings, screensaver terminal configs, agent skills, branding art · 8/24/2026
fb90631
41 lines · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Host config for the Omarchy speaker tuning.
#
# This exists so the tuning gets its own PipeWire client rather than sharing
# PipeWire's stock filter-chain.conf. That config merges every fragment in
# ~/.config/pipewire/filter-chain.conf.d/, so hosting the tuning there would load
# any unrelated filter a user keeps in that directory -- duplicating filters
# already hosted elsewhere, and stopping them all when the tuning is switched off.
#
# Installed as ~/.config/pipewire/omarchy-speaker-tuning.conf with the tuning
# graph merged from omarchy-speaker-tuning.conf.d/, and run with
#   pipewire -c omarchy-speaker-tuning.conf
#
# The contents are the minimum a filter-hosting client needs, taken from
# /usr/share/pipewire/filter-chain.conf.

context.properties = {
    log.level = 0
}

context.spa-libs = {
    audio.convert.* = audioconvert/libspa-audioconvert
    support.*       = support/libspa-support
}

context.modules = [
    # Boost the audio thread priority.
    { name = libpipewire-module-rt
        args = { }
        flags = [ ifexists nofail ]
    }

    # The native communication protocol.
    { name = libpipewire-module-protocol-native }

    # Lets this process provide nodes to PipeWire.
    { name = libpipewire-module-client-node }

    # Wraps nodes in an adapter with a converter and resampler.
    { name = libpipewire-module-adapter }
]