summaryrefslogtreecommitdiff
path: root/modules/multimedia/audio/wireplumber.nix
blob: 970396fd555e7db003438b735919feded22c3b6d (plain) (blame)
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
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;
            };
          }
        ];
      };
    };
  };
}