diff --git a/modules/ezpw.nix b/modules/ezpw.nix index 0eebd4e..7d5944a 100644 --- a/modules/ezpw.nix +++ b/modules/ezpw.nix @@ -21,86 +21,32 @@ in alsa.support32Bit = lib.mkDefault true; pulse.enable = lib.mkDefault true; - config.pipewire = { - "context.properties" = { - "link.max-buffers" = 16; - "log.level" = 2; - "default.clock.rate" = 48000; - "default.clock.quantum" = 32; - "default.clock.min-quantum" = 32; - "default.clock.max-quantum" = 32; - "core.daemon" = true; - "core.name" = "pipewire-0"; - }; - "context.modules" = [ - { - name = "libpipewire-module-rtkit"; - args = { - "nice.level" = -15; - "rt.prio" = 88; - "rt.time.soft" = 200000; - "rt.time.hard" = 200000; - }; - flags = [ "ifexists" "nofail" ]; - } - { name = "libpipewire-module-protocol-native"; } - { name = "libpipewire-module-profiler"; } - { name = "libpipewire-module-metadata"; } - { name = "libpipewire-module-spa-device-factory"; } - { name = "libpipewire-module-spa-node-factory"; } - { name = "libpipewire-module-client-node"; } - { name = "libpipewire-module-client-device"; } - { - name = "libpipewire-module-portal"; - flags = [ "ifexists" "nofail" ]; - } - { - name = "libpipewire-module-access"; - args = { }; - } - { name = "libpipewire-module-adapter"; } - { name = "libpipewire-module-link-factory"; } - { name = "libpipewire-module-session-manager"; } - ]; - }; - config.pipewire-pulse = { - "context.properties" = { - "log.level" = 2; - }; "context.modules" = [ { - name = "libpipewire-module-rtkit"; - args = { - "nice.level" = -15; - "rt.prio" = 88; - "rt.time.soft" = 200000; - "rt.time.hard" = 200000; - }; - flags = [ "ifexists" "nofail" ]; + "args" = { }; + "flags" = [ "ifexists" "nofail" ]; + "name" = "libpipewire-module-rtkit"; } - { name = "libpipewire-module-protocol-native"; } - { name = "libpipewire-module-client-node"; } - { name = "libpipewire-module-adapter"; } - { name = "libpipewire-module-metadata"; } + { "name" = "libpipewire-module-protocol-native"; } + { "name" = "libpipewire-module-client-node"; } + { "name" = "libpipewire-module-adapter"; } + { "name" = "libpipewire-module-metadata"; } { - name = "libpipewire-module-protocol-pulse"; - args = { - "pulse.min.req" = "32/48000"; - "pulse.default.req" = "32/48000"; - "pulse.max.req" = "32/48000"; - "pulse.min.quantum" = "32/48000"; - "pulse.max.quantum" = "32/48000"; - "server.address" = [ "unix:native" ]; + "args" = { + "server.address" = [ "unix:native" "tcp:4713" ]; + "vm.overrides" = { "pulse.min.quantum" = "1024/48000"; }; }; + "name" = "libpipewire-module-protocol-pulse"; } ]; - "stream.properties" = { - "node.latency" = "32/48000"; - "resample.quality" = 1; + "context.properties" = { }; + "context.spa-libs" = { + "audio.convert.*" = "audioconvert/libspa-audioconvert"; + "support.*" = "support/libspa-support"; }; + "stream.properties" = { }; }; - media-session.config.bluez-monitor = { properties = { "bluez5.codecs" = [ "sbc" "aac" "ldac" "aptx" "aptx_hd" ]; @@ -110,9 +56,10 @@ in { actions = { update-props = { - "bluez5.auto-connect" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ]; + "bluez5.auto-connect" = [ "hsp_hs" "hfp_hf" "a2dp_sink" ]; "bluez5.hw-volume" = - [ "hfp_ag" "hsp_ag" "a2dp_source" "a2dp_sink" ]; + [ "hsp_ag" "hfp_ag" "a2dp_source" "a2dp_sink" ]; + "bluez5.autoswitch-profile" = true; }; }; matches = [{ "device.name" = "~bluez_card.*"; }];