diff options
Diffstat (limited to 'nixos/services/pipewire.service.nix')
-rw-r--r-- | nixos/services/pipewire.service.nix | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/nixos/services/pipewire.service.nix b/nixos/services/pipewire.service.nix index be0cc76..83548a4 100644 --- a/nixos/services/pipewire.service.nix +++ b/nixos/services/pipewire.service.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: let +{ pkgs, ... }: +let pw_rnnoise_config = { "context.modules" = [ { @@ -13,11 +14,11 @@ "name" = "rnnoise"; "plugin" = "${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so"; "label" = "noise_suppressor_stereo"; - "control" = {"VAD Threshold (%)" = 50.0;}; + "control" = { "VAD Threshold (%)" = 50.0; }; } ]; }; - "audio.position" = ["FL" "FR"]; + "audio.position" = [ "FL" "FR" ]; "capture.props" = { "node.name" = "effect_input.rnnoise"; "node.passive" = true; @@ -30,7 +31,8 @@ } ]; }; -in { +in +{ services.pipewire = { enable = true; alsa = { @@ -42,33 +44,33 @@ in { wireplumber.configPackages = [ (pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/52-profile-switch.conf" '' - wireplumber.settings = { - bluetooth.autoswitch-to-headset-profile = false - } + wireplumber.settings = { + bluetooth.autoswitch-to-headset-profile = false + } - monitor.bluez.properties = { - ## Supported roles: hsp_hs (HSP Headset), - ## hsp_ag (HSP Audio Gateway), - ## hfp_hf (HFP Hands-Free), - ## hfp_ag (HFP Audio Gateway) - ## a2dp_sink (A2DP Audio Sink) - ## a2dp_source (A2DP Audio Source) - ## bap_sink (LE Audio Basic Audio Profile Sink) - ## bap_source (LE Audio Basic Audio Profile Source) - ## -- - ## Only enable A2DP here and disable HFP. See note at the top as to why. - bluez5.roles = [ a2dp_sink a2dp_source ] - } - '') + monitor.bluez.properties = { + ## Supported roles: hsp_hs (HSP Headset), + ## hsp_ag (HSP Audio Gateway), + ## hfp_hf (HFP Hands-Free), + ## hfp_ag (HFP Audio Gateway) + ## a2dp_sink (A2DP Audio Sink) + ## a2dp_source (A2DP Audio Source) + ## bap_sink (LE Audio Basic Audio Profile Sink) + ## bap_source (LE Audio Basic Audio Profile Source) + ## -- + ## Only enable A2DP here and disable HFP. See note at the top as to why. + bluez5.roles = [ a2dp_sink a2dp_source ] + } + '') (pkgs.writeTextDir "share/wireplumber/bluetooth.lua.d/51-bluez-config.lua" '' - bluez_monitor.properties = { - ["bluez5.enable-sbc-xq"] = true, - ["bluez5.enable-msbc"] = true, - ["bluez5.enable-hw-volume"] = true, - ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]" - } - '') + bluez_monitor.properties = { + ["bluez5.enable-sbc-xq"] = true, + ["bluez5.enable-msbc"] = true, + ["bluez5.enable-hw-volume"] = true, + ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]" + } + '') ]; #extraConfig.pipewire."99-input-denoising" = pw_rnnoise_config; }; |