+85
nixos/doc/manual/release-notes/rl-2305.section.md
+85
nixos/doc/manual/release-notes/rl-2305.section.md
···- conntrack helper autodetection has been removed from kernels 6.0 and up upstream, and an assertion was added to ensure things don't silently stop working. Migrate your configuration to assign helpers explicitly or use an older LTS kernel branch as a temporary workaround.+- The `services.pipewire.config` options have been removed, as they have basically never worked correctly. All behavior defined by the default configuration can be overridden with drop-in files as necessary - see [below](#sec-release-23.05-migration-pipewire) for details.+- `services.pipewire.media-session` and the `pipewire-media-session` package have been removed, as they are no longer supported upstream. Users are encouraged to use `services.pipewire.wireplumber` instead.<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->···- The option `services.prometheus.exporters.pihole.interval` does not exist anymore and has been removed.- `k3s` can now be configured with an EnvironmentFile for its systemd service, allowing secrets to be provided without ending up in the Nix Store.+The Pipewire config semantics don't really match the NixOS module semantics, so it's extremely awkward to override the default config, especially when lists are involved. Vendoring the configuration files in nixpkgs also creates unnecessary maintenance overhead.+Also, upstream added a lot of accomodations to allow doing most of the things you'd want to do with a config edit in better ways.+Compare your settings to [the defaults](https://gitlab.freedesktop.org/pipewire/pipewire/-/tree/master/src/daemon) and where your configuration differs from them.+Then, create a drop-in JSON file in `/etc/pipewire/<config file name>.d/99-custom.conf` (the actual filename can be anything) and migrate your changes to it according to the following sections.+Note that the use of `context.exec` is not recommended and other methods of running your thing are likely a better option.+#### Removing a module from `context.modules` {#sec-release-23.05-migration-pipewire-removing-modules}+Look for an option to disable it via `context.properties` (`"module.x11.bell": "false"` is likely the most common use case here).+#### Modifying a module's parameters in `context.modules` {#sec-release-23.05-migration-pipewire-modifying-modules}+For most modules (e.g. `libpipewire-module-rt`) it's enough to load the module again with the new arguments, e.g.:+Note that `module-rt` specifically will generally use the highest values available by default, so setting limits on the `pipewire` systemd service is preferable to reloading.+If reloading the module is not an option, proceed to [Nuclear option](#sec-release-23.05-migration-pipewire).+from `${pkgs.pipewire.lib}/share/pipewire` to `/etc/pipewire` and edit it to fully override the default.+However, this should be done only as a last resort. Please talk to the Pipewire maintainers if you ever need to do this.
-1
nixos/modules/module-list.nix
-1
nixos/modules/module-list.nix
···
-54
nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
-54
nixos/modules/services/desktops/pipewire/daemon/client-rt.conf.json
···
-31
nixos/modules/services/desktops/pipewire/daemon/client.conf.json
-31
nixos/modules/services/desktops/pipewire/daemon/client.conf.json
···
-28
nixos/modules/services/desktops/pipewire/daemon/filter-chain.conf.json
-28
nixos/modules/services/desktops/pipewire/daemon/filter-chain.conf.json
···
-76
nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
-76
nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
···
-120
nixos/modules/services/desktops/pipewire/daemon/minimal.conf.json
-120
nixos/modules/services/desktops/pipewire/daemon/minimal.conf.json
···
-38
nixos/modules/services/desktops/pipewire/daemon/pipewire-aes67.conf.json
-38
nixos/modules/services/desktops/pipewire/daemon/pipewire-aes67.conf.json
···
-38
nixos/modules/services/desktops/pipewire/daemon/pipewire-avb.conf.json
-38
nixos/modules/services/desktops/pipewire/daemon/pipewire-avb.conf.json
···
-106
nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
-106
nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
···
-110
nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
-110
nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
···
-34
nixos/modules/services/desktops/pipewire/media-session/alsa-monitor.conf.json
-34
nixos/modules/services/desktops/pipewire/media-session/alsa-monitor.conf.json
···
-36
nixos/modules/services/desktops/pipewire/media-session/bluez-monitor.conf.json
-36
nixos/modules/services/desktops/pipewire/media-session/bluez-monitor.conf.json
···
-68
nixos/modules/services/desktops/pipewire/media-session/media-session.conf.json
-68
nixos/modules/services/desktops/pipewire/media-session/media-session.conf.json
···
-30
nixos/modules/services/desktops/pipewire/media-session/v4l2-monitor.conf.json
-30
nixos/modules/services/desktops/pipewire/media-session/v4l2-monitor.conf.json
···
-141
nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
-141
nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
···-https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf-https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf-https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf-https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf
+12
-99
nixos/modules/services/desktops/pipewire/pipewire.nix
+12
-99
nixos/modules/services/desktops/pipewire/pipewire.nix
······-pipewire = recursiveUpdate (if useSessionManager then defaults.pipewire else defaults.minimal) cfg.config.pipewire;···-https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/client.conf.in-https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/client-rt.conf.in-https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/jack.conf.in-https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/pipewire.conf.in-https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/pipewire-pulse.conf.in···+Overriding default Pipewire configuration through NixOS options never worked correctly and is no longer supported.+Please create drop-in files in /etc/pipewire/pipewire.conf.d/ to make the desired setting changes instead.······
-4
nixos/modules/services/desktops/pipewire/wireplumber.nix
-4
nixos/modules/services/desktops/pipewire/wireplumber.nix
···message = "Using Wireplumber conflicts with hsphfpd, as it provides the same functionality. `hardware.bluetooth.hsphfpd.enable` needs be set to false";
+1
-37
pkgs/development/libraries/pipewire/default.nix
+1
-37
pkgs/development/libraries/pipewire/default.nix
······
-109
pkgs/development/libraries/pipewire/media-session.nix
-109
pkgs/development/libraries/pipewire/media-session.nix
···-url = "https://gitlab.freedesktop.org/pipewire/media-session/-/commit/dfa740175c83e1cd0d815ad423f90872de566437.diff";-url = "https://gitlab.freedesktop.org/pipewire/media-session/-/commit/2ff6b0baec7325dde229013b9d37c93f8bc7edee.diff";
-23
pkgs/development/libraries/pipewire/test-paths.nix
-23
pkgs/development/libraries/pipewire/test-paths.nix
···
-24
pkgs/development/libraries/pipewire/update-media-session.sh
-24
pkgs/development/libraries/pipewire/update-media-session.sh
···
-25
pkgs/development/libraries/pipewire/update-pipewire.sh
-25
pkgs/development/libraries/pipewire/update-pipewire.sh
···
+1
pkgs/top-level/aliases.nix
+1
pkgs/top-level/aliases.nix
···pidginwindowmerge = throw "'pidginwindowmerge' has been renamed to/replaced by 'pidgin-window-merge'"; # Converted to throw 2022-02-22pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed"; # Added 2022-01-19ping = throw "'ping' does not build with recent valac and has been removed. If you are just looking for the 'ping' command use either 'iputils' or 'inetutils'"; # Added 2022-04-18+pipewire-media-session = throw "pipewire-media-session is no longer maintained and has been removed. Please use Wireplumber instead.";piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22
-2
pkgs/top-level/all-packages.nix
-2
pkgs/top-level/all-packages.nix
···-pipewire-media-session = callPackage ../development/libraries/pipewire/media-session.nix { };