summaryrefslogtreecommitdiff
path: root/modules/multimedia/audio/wireplumber.nix
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-09-04 19:57:20 -0700
committerFuwn <[email protected]>2024-09-04 19:57:20 -0700
commit8b5e5079e5fd00eadf2e3926c104e4ecf99a5779 (patch)
treed35acd86220ae3ffa521677d55acb37e9436ba64 /modules/multimedia/audio/wireplumber.nix
parentstyles (diff)
downloadnixos-config-8b5e5079e5fd00eadf2e3926c104e4ecf99a5779.tar.xz
nixos-config-8b5e5079e5fd00eadf2e3926c104e4ecf99a5779.zip
refac
Diffstat (limited to 'modules/multimedia/audio/wireplumber.nix')
-rw-r--r--modules/multimedia/audio/wireplumber.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/modules/multimedia/audio/wireplumber.nix b/modules/multimedia/audio/wireplumber.nix
new file mode 100644
index 0000000..970396f
--- /dev/null
+++ b/modules/multimedia/audio/wireplumber.nix
@@ -0,0 +1,42 @@
+let
+ rate = builtins.toString 48000;
+in
+{
+ services.pipewire.wireplumber = {
+ enable = true;
+
+ extraConfig = {
+ "10-log-level-debug" = {
+ "context.properties"."log.level" = "D";
+ };
+
+ "10-default-volume" = {
+ "wireplumber.settings"."device.routes.default-sink-volume" = 1.0;
+ };
+
+ "92-low-latency" = {
+ "monitor.alsa.rules" = [
+ {
+ matches = [
+ { "device.name" = "~alsa_card.*"; }
+ { "node.name" = "~alsa_output.*"; }
+ ];
+
+ actions.update-props = {
+ "node.description" = "ALSA Low Latency Output";
+ "audio.rate" = rate;
+ "audio.format" = "S32LE";
+ "resample.quality" = 4;
+ "resample.disable" = false;
+ "session.suspend-timeout-seconds" = 0;
+ "api.alsa.period-size" = 2;
+ "api.alsa.headroom" = 128;
+ "api.alsa.period-num" = 2;
+ "api.alsa.disable-batch" = false;
+ };
+ }
+ ];
+ };
+ };
+ };
+}