lol

Merge pull request #178195 from dnr/pipewire-systemwide

nixos/pipewire: fix wireplumber with system-wide

authored by

Lassulus and committed by
GitHub
eb013128 c858c17c

+14 -1
+14 -1
nixos/modules/services/desktops/pipewire/wireplumber.nix
··· 37 37 environment.systemPackages = [ cfg.package ]; 38 38 39 39 environment.etc."wireplumber/main.lua.d/80-nixos.lua" = lib.mkIf (!pwUsedForAudio) { 40 - text = '' 40 + text = '' 41 41 -- Pipewire is not used for audio, so prevent it from grabbing audio devices 42 42 alsa_monitor.enable = function() end 43 43 ''; 44 44 }; 45 + environment.etc."wireplumber/main.lua.d/80-systemwide.lua" = lib.mkIf config.services.pipewire.systemWide { 46 + text = '' 47 + -- When running system-wide, these settings need to be disabled (they 48 + -- use functions that aren't available on the system dbus). 49 + alsa_monitor.properties["alsa.reserve"] = false 50 + default_access.properties["enable-flatpak-portal"] = false 51 + ''; 52 + }; 45 53 46 54 systemd.packages = [ cfg.package ]; 47 55 ··· 50 58 51 59 systemd.services.wireplumber.wantedBy = [ "pipewire.service" ]; 52 60 systemd.user.services.wireplumber.wantedBy = [ "pipewire.service" ]; 61 + 62 + systemd.services.wireplumber.environment = lib.mkIf config.services.pipewire.systemWide { 63 + # Force wireplumber to use system dbus. 64 + DBUS_SESSION_BUS_ADDRESS = "unix:path=/run/dbus/system_bus_socket"; 65 + }; 53 66 }; 54 67 }