Files
omarchycn/default/systemd/user/omarchy-speaker-tuning.service
T
David Heinemeier HanssonandClaude Fable 5 16c8888f96 Sort documentation by genre and document the layout
Task procedure lives in agents/skills/ (migrations.md moves there),
system-shape reference in docs/ (AUDIO-TUNING.md renamed to match),
end-user documentation in manual/. AGENTS.md now states the split.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 16:21:25 +02:00

33 lines
1.4 KiB
Desktop File

[Unit]
Description=Omarchy speaker tuning filter-chain
Documentation=https://github.com/basecamp/omarchy/blob/master/docs/audio-tuning.md
# WirePlumber does the linking, so starting before it is up risks the output being
# linked before the speaker device has been discovered.
After=pipewire.service wireplumber.service
Requires=pipewire.service
Wants=wireplumber.service
# Restart with the audio daemon, since the filter-chain loses its connection when
# PipeWire goes away.
PartOf=pipewire.service
[Service]
Type=simple
# Hosts the tuning as a PipeWire *client* rather than loading it into the daemon
# from pipewire.conf.d, which is only read at daemon startup. That is what lets
# the tuning be switched on and off without restarting pipewire-pulse -- a
# restart drops every PulseAudio client's connection, and applications that do
# not reconnect (Spotify) have to be restarted by hand.
#
# It also contains failure: a malformed tuning breaks only this service, where a
# bad drop-in in the daemon's own config stops PipeWire from starting at all.
#
# The config name is deliberately not PipeWire's stock filter-chain.conf, which
# merges every fragment in ~/.config/pipewire/filter-chain.conf.d/ and would make
# this service host unrelated user filters too.
ExecStart=/usr/bin/pipewire -c omarchy-speaker-tuning.conf
Restart=on-failure
RestartSec=2
[Install]
WantedBy=graphical-session.target