Home Explore Blog Models CI



nixpkgs

20th chunk of `nixos/doc/manual/release-notes/rl-2305.section.md`
a966ba57ccf350dcfd4fa9d88aaeb48646779335e6c2d94200000001000007f3
- `nixos/lib/make-disk-image.nix` handles `contents` arguments that are directories better, fixing a bug where it used to put them in a subdirectory of the intended `target`.

- `nixos/lib/make-disk-image.nix` can now mutate EFI variables, run user-provided EFI firmware or variable templates. This is now extensively documented in the NixOS manual.

- Nixpkgs now uses [IEEE-standard floating point arithmetic](https://github.com/NixOS/nixpkgs/pull/170215) on `powerpc64le-linux`.

- Deprecated `xlibsWrapper` transitional package has been removed in favour of direct use of its constituents: `xorg.libX11`, `freetype` and others.

## Detailed migration information {#sec-release-23.05-migration}

### Pipewire configuration overrides {#sec-release-23.05-migration-pipewire}

#### Why this change? {#sec-release-23.05-migration-pipewire-why}

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 accommodations to allow doing most of the things you'd want to do with a config edit in better ways.

#### Migrating your configuration {#sec-release-23.05-migration-pipewire-how}

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.

Repeat for every file you've modified, changing the directory name accordingly.

#### Things you can just copy over {#sec-release-23.05-migration-pipewire-simple}

If you are:

- setting properties via `*.properties`
- loading a new module to `context.modules`
- creating new objects with `context.objects`
- declaring SPA libraries with `context.spa-libs`

Title: Nixpkgs Updates: Disk Images, Floating Point, XLibs, and Pipewire Migration
Summary
This chunk details several Nixpkgs updates, including improvements to `nixos/lib/make-disk-image.nix` for directory handling and EFI variable mutation, the adoption of IEEE-standard floating-point arithmetic on `powerpc64le-linux`, and the removal of the deprecated `xlibsWrapper` package. It then provides detailed migration information for Pipewire configuration overrides. This change addresses the mismatch between Pipewire's configuration semantics and NixOS module semantics, which made overriding defaults difficult and created maintenance overhead. Users are advised to migrate their custom Pipewire settings by comparing them to upstream defaults and creating drop-in JSON files (e.g., `/etc/pipewire/<config file name>.d/99-custom.conf`), noting that simple changes like setting properties, loading new modules, creating new objects, or declaring SPA libraries can often be copied directly.