diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 612846122a70..a6c3fdd1ed23 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -716,6 +716,19 @@
olimorris/onedarkpro.nvim).
+
+
+ services.pipewire.enable will default to
+ enabling the WirePlumber session manager instead of
+ pipewire-media-session. pipewire-media-session is deprecated
+ by upstream and not recommended, but can still be manually
+ enabled by setting
+ services.pipewire.media-session.enable to
+ true and
+ services.pipewire.wireplumber.enable to
+ false.
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index a8017f26708a..d55a45f8b2b1 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -223,6 +223,10 @@ In addition to numerous new and upgraded packages, this release has the followin
- `pkgs.vimPlugins.onedark-nvim` now refers to [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim)
(formerly refers to [olimorris/onedarkpro.nvim](https://github.com/olimorris/onedarkpro.nvim)).
+- `services.pipewire.enable` will default to enabling the WirePlumber session manager instead of pipewire-media-session.
+ pipewire-media-session is deprecated by upstream and not recommended, but can still be manually enabled by setting
+ `services.pipewire.media-session.enable` to `true` and `services.pipewire.wireplumber.enable` to `false`.
+
## Other Notable Changes {#sec-release-22.05-notable-changes}
diff --git a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
index f7a03a4a3eaf..109c91134b99 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -38,9 +38,8 @@ in {
services.pipewire.media-session = {
enable = mkOption {
type = types.bool;
- default = config.services.pipewire.enable;
- defaultText = literalExpression "config.services.pipewire.enable";
- description = "Example pipewire session manager";
+ default = false;
+ description = "Whether to enable the deprecated example Pipewire session manager";
};
package = mkOption {
diff --git a/nixos/modules/services/desktops/pipewire/wireplumber.nix b/nixos/modules/services/desktops/pipewire/wireplumber.nix
index ad96dc1f9745..52ec17b95db4 100644
--- a/nixos/modules/services/desktops/pipewire/wireplumber.nix
+++ b/nixos/modules/services/desktops/pipewire/wireplumber.nix
@@ -8,15 +8,18 @@ in
options = {
services.pipewire.wireplumber = {
- enable = lib.mkEnableOption "A modular session / policy manager for PipeWire";
+ enable = lib.mkOption {
+ type = lib.types.bool;
+ default = config.services.pipewire.enable;
+ defaultText = lib.literalExpression "config.services.pipewire.enable";
+ description = "Whether to enable Wireplumber, a modular session / policy manager for PipeWire";
+ };
package = lib.mkOption {
type = lib.types.package;
default = pkgs.wireplumber;
defaultText = lib.literalExpression "pkgs.wireplumber";
- description = ''
- The wireplumber derivation to use.
- '';
+ description = "The wireplumber derivation to use.";
};
};
};
diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix
index 9ab197278d0a..cde73edf7904 100644
--- a/pkgs/development/libraries/pipewire/wireplumber.nix
+++ b/pkgs/development/libraries/pipewire/wireplumber.nix
@@ -67,6 +67,8 @@ stdenv.mkDerivation rec {
"-Delogind=disabled"
"-Ddoc=${mesonEnableFeature enableDocs}"
"-Dintrospection=${mesonEnableFeature enableGI}"
+ "-Dsystemd-system-service=true"
+ "-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system"
];
passthru.updateScript = nix-update-script {