pipewire: Disable hardware volume for HD 4.50BTNC

This commit is contained in:
Simon Bruder 2021-08-21 15:47:17 +02:00
parent aed5d19be3
commit 15fdc8756a
Signed by: simon
GPG key ID: 8D3C82F9F309F8EC

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }:
{ config, lib, modulesPath, pkgs, ... }:
let
bluetoothSupport = config.sbruder.full;
in
@ -14,6 +14,21 @@ lib.mkIf config.sbruder.gui.enable {
};
};
# not exposed in NixOS module
environment.etc."pipewire/media-session.d/bluez-hardware.conf".source = lib.mkForce ((pkgs.formats.json { }).generate "bluez-hardware.conf" (
let
defaults = (builtins.fromJSON (builtins.readFile "${modulesPath}/services/desktops/pipewire/bluez-hardware.conf.json"));
in
defaults // {
"bluez5.features.device" = defaults."bluez5.features.device" ++ [
# Sennheiser HD 4.50BTNC has unreliable hardware volume control (too
# frequent changes cause it to not apply the changes) and sometimes
# crashes (disconnects and shuts off) after too many changes.
{ name = "HD 4.50BTNC"; no-features = [ "hw-volume" ]; }
];
}
));
environment.systemPackages = with pkgs; [
pavucontrol
pulseaudio # pacmd and pactl