Home Explore Blog CI



nixpkgs

20th chunk of `nixos/doc/manual/release-notes/rl-2305.section.md`
06f2d939e42b4f7bc0a54e4364325d8aceb2d2ac35a9e92900000001000007f3
- `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: NixOS 23.05: Improvements to `make-disk-image.nix`, IEEE Floating Point Arithmetic, Removal of `xlibsWrapper`, and Pipewire Configuration Migration
Summary
This section details improvements to `nixos/lib/make-disk-image.nix`, including better handling of directories and new capabilities for mutating EFI variables. Nixpkgs now uses IEEE-standard floating-point arithmetic on `powerpc64le-linux`. The deprecated `xlibsWrapper` package has been removed. A detailed migration section focuses on Pipewire configuration overrides, explaining the reason for the change due to mismatched semantics, maintenance overhead, and upstream accommodations. It provides instructions on migrating configurations by creating drop-in JSON files in `/etc/pipewire/<config file name>.d/99-custom.conf` and outlines scenarios where settings can be directly copied over, such as setting properties, loading modules, creating objects, and declaring SPA libraries.