services.pipewire.wireplumber.extraConfig
Additional configuration for the WirePlumber daemon when run in
single-instance mode (the default in nixpkgs and currently the only
supported way to run WirePlumber configured via extraConfig).
See also:
- The configuration file
- Modifying configuration
- Locations of files
- and the configuration section of the docs in general
Note that WirePlumber (and PipeWire) use dotted attribute names like
device.product.id. These are not nested, but flat objects for WirePlumber/PipeWire,
so to write these in nix expressions, remember to quote them like "device.product.id".
Have a look at the example for this.
- Type
attribute set of attribute set of (JSON value)- Default
{ }- Example
{ "log-level-debug" = { "context.properties" = { # Output Debug log messages as opposed to only the default level (Notice) "log.level" = "D"; }; }; "wh-1000xm3-ldac-hq" = { "monitor.bluez.rules" = [ { matches = [ { # Match any bluetooth device with ids equal to that of a WH-1000XM3 "device.name" = "~bluez_card.*"; "device.product.id" = "0x0cd3"; "device.vendor.id" = "usb:054c"; } ]; actions = { update-props = { # Set quality to high quality instead of the default of auto "bluez5.a2dp.ldac.quality" = "hq"; }; }; } ]; }; }- Declared
- <nixpkgs/nixos/modules/services/desktops/pipewire/wireplumber.nix>