···3737 environment.systemPackages = [ cfg.package ];
38383939 environment.etc."wireplumber/main.lua.d/80-nixos.lua" = lib.mkIf (!pwUsedForAudio) {
4040- text = ''
4040+ text = ''
4141 -- Pipewire is not used for audio, so prevent it from grabbing audio devices
4242 alsa_monitor.enable = function() end
4343 '';
4444 };
4545+ environment.etc."wireplumber/main.lua.d/80-systemwide.lua" = lib.mkIf config.services.pipewire.systemWide {
4646+ text = ''
4747+ -- When running system-wide, these settings need to be disabled (they
4848+ -- use functions that aren't available on the system dbus).
4949+ alsa_monitor.properties["alsa.reserve"] = false
5050+ default_access.properties["enable-flatpak-portal"] = false
5151+ '';
5252+ };
45534654 systemd.packages = [ cfg.package ];
4755···50585159 systemd.services.wireplumber.wantedBy = [ "pipewire.service" ];
5260 systemd.user.services.wireplumber.wantedBy = [ "pipewire.service" ];
6161+6262+ systemd.services.wireplumber.environment = lib.mkIf config.services.pipewire.systemWide {
6363+ # Force wireplumber to use system dbus.
6464+ DBUS_SESSION_BUS_ADDRESS = "unix:path=/run/dbus/system_bus_socket";
6565+ };
5366 };
5467}