nixos-configuration/modules/pipewire.nix
2025-12-01 10:54:43 +01:00

68 lines
1.3 KiB
Nix

{ config, lib, pkgs, ... }:
lib.mkIf config.jalr.gui.enable {
services.pulseaudio.enable = false;
# FIXME
#hardware.pulseaudio.extraModules = [ pkgs.pulseaudio-modules-bt ];
services.pipewire = {
enable = true;
package = pkgs.pipewire;
pulse = {
enable = true;
};
jack = {
enable = true;
};
alsa = {
enable = true;
support32Bit = true;
};
extraConfig = {
pipewire-pulse."10-snapcast-discover" = {
"context.modules" = [
{
name = "libpipewire-module-snapcast-discover";
args = {
stream.rules = [{
matches = [{
snapcast.ip = "~.*";
}];
actions = {
create-stream = { };
};
}];
};
}
];
};
/*
pipewire."raop-sink" = {
"context.modules" = [
{ name = "libpipewire-module-raop-discover"; args = { }; }
];
};
*/
};
raopOpenFirewall = true;
};
environment.systemPackages = with pkgs; [
pavucontrol
pulseaudio # pacmd and pactl
];
# required for ardour
security.pam.loginLimits = [
{
domain = "@audio";
item = "memlock";
type = "-";
value = "unlimited";
}
];
security.rtkit.enable = true;
}