nixos-config/modules/sound/default.nix

50 lines
1.3 KiB
Nix

{ pkgs, config, lib, ... }:
with lib;
let cfg = config.eboskma.sound;
in
{
options.eboskma.sound.enable = mkEnableOption "activate sound settings";
config = mkIf (cfg.enable) {
sound.enable = true;
services = {
pipewire = {
enable = true;
pulse.enable = true;
media-session = {
enable = true;
config = {
bluez-monitor.rules = [
{
matches = [{ "device.name" = "~bluez_card.*"; }];
actions = {
"update-props" = {
"bluez5.reconnect-profiles" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ];
"bluez5.msbc-support" = true;
"bluez5.sbc-xq-support" = true;
};
};
}
{
matches = [
{ "node.name" = "~bluez_input.*"; }
{ "node.name" = "~bluez_output.*"; }
];
actions = {
"node.pause-on-idle" = false;
};
}
];
};
};
};
};
security.rtkit.enable = true;
environment.systemPackages = with pkgs; [ pavucontrol ];
users.extraUsers.${config.eboskma.var.mainUser}.extraGroups = [ "audio" ];
};
}