{ 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"]; }; }