diff --git a/modules/nixos/services/pipewire.nix b/modules/nixos/services/pipewire.nix new file mode 100644 index 0000000..48f65ad --- /dev/null +++ b/modules/nixos/services/pipewire.nix @@ -0,0 +1,39 @@ +{ config, lib, pkgs, ... }: { + services = { + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + + extraConfig = { + pipewire."92-low-latency" = { + "context.properties" = { + "default.clock.rate" = 48000; + "default.clock.quantum" = 32; + "default.clock.min-quantum" = 32; + "default.clock.max-quantum" = 32; + }; + }; + pipewire-pulse."92-low-latency" = { + "context.properties" = [{ + name = "libpipewire-module-protocol-pulse"; + args = { }; + }]; + "pulse.properties" = { + "pulse.min.req" = "32/48000"; + "pulse.default.req" = "32/48000"; + "pulse.max.req" = "32/48000"; + "pulse.min.quantum" = "32/48000"; + "pulse.max.quantum" = "32/48000"; + }; + "stream.properties" = { + "node.latency" = "32/48000"; + "resample.quality" = 1; + }; + }; + }; + }; + }; +}