flocon/modules/pipewire.nix

32 lines
917 B
Nix
Raw Normal View History

{ config, lib, ... }:
let
cfg = config.modules.pipewire;
in
{
options.modules.pipewire.enable = lib.mkEnableOption "pipewire module";
2024-09-08 14:27:43 +00:00
options.modules.pipewire.latencyFix.enable = lib.mkEnableOption "enable latency fixes";
config = lib.mkIf cfg.enable {
hardware.pulseaudio.enable = false;
# rtkit is optional but recommended
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
};
2024-09-08 14:27:43 +00:00
services.pipewire.extraConfig.pipewire."92-low-latency" = lib.mkIf cfg.latencyFix.enable {
"context.properties" = {
"default.clock.rate" = 48000;
"default.clock.quantum" = 32;
"default.clock.min-quantum" = 32;
"default.clock.max-quantum" = 32;
};
};
};
}