Home Explore Blog CI



nixpkgs

16th chunk of `nixos/doc/manual/release-notes/rl-2311.section.md`
ba8972e791a4e5f2a1cae6eb314aea40e8e3af675df9bb4e0000000100000fa2
  time. If you're running Teleport server components, it is recommended to
  first upgrade to an intermediate v13.x version by setting
  `services.teleport.package = pkgs.teleport_13`. Afterwards, this option can
  be removed to upgrade to the default version (14).

- `zfs` was updated from v2.1.x to v2.2.0, [enabling newer kernel support and
  adding new features](https://github.com/openzfs/zfs/releases/tag/zfs-2.2.0).

- The use of `sourceRoot = "source";`, `sourceRoot = "source/subdir";`, and
  similar lines in package derivations using the default `unpackPhase` is
  deprecated as it requires `unpackPhase` to always produce a directory named
  "source". Use `sourceRoot = src.name`, `sourceRoot = "${src.name}/subdir";`,
  or `setSourceRoot = "sourceRoot=$(echo */subdir)";` or similar instead.

- The `django` alias in the python package set was upgraded to Django v4.x.
  Applications that consume Django should always pin their python environment
  to a compatible major version, so they can move at their own pace.

  ```nix
  {
    python = python3.override {
      packageOverrides = self: super: {
        django = super.django_3;
      };
    };
  }
  ```

- The `qemu-vm.nix` module by default now identifies block devices via
  persistent names available in `/dev/disk/by-*`. Because the rootDevice is
  identified by its filesystem label, it needs to be formatted before the VM is
  started. The functionality of automatically formatting the rootDevice in the
  initrd is removed from the QEMU module. However, for tests that depend on
  this functionality, a test utility for the scripted initrd is added
  (`nixos/tests/common/auto-format-root-device.nix`). To use this in a NixOS
  test, import the module, e.g. `imports = [
  ./common/auto-format-root-device.nix ];` When you use the systemd initrd, you
  can automatically format the root device by setting
  `virtualisation.fileSystems."/".autoFormat = true;`.

- The `electron` packages places its application files in
  `$out/libexec/electron` instead of `$out/lib/electron` now. Packages using
  electron-builder will fail to build and need to be adjusted by changing `lib`
  to `libexec`.

### New Services {#sec-release-23.11-nixos-new-services}

- [MCHPRS](https://github.com/MCHPR/MCHPRS), a multithreaded Minecraft server
  built for redstone. Available as
  [services.mchprs](#opt-services.mchprs.enable).

- [acme-dns](https://github.com/joohoi/acme-dns), a limited DNS server to
  handle ACME DNS challenges easily and securely. Available as
  [services.acme-dns](#opt-services.acme-dns.enable).

- [frp](https://github.com/fatedier/frp), a fast reverse proxy to help you
  expose a local server behind a NAT or firewall to the Internet. Available as
  [services.frp](#opt-services.frp.enable).

- [river](https://github.com/riverwm/river), A dynamic tiling wayland
  compositor. Available as [programs.river](#opt-programs.river.enable).

- [wayfire](https://wayfire.org), a modular and extensible wayland compositor.
  Available as [programs.wayfire](#opt-programs.wayfire.enable).

- [mautrix-whatsapp](https://docs.mau.fi/bridges/go/whatsapp/index.html), a
  Matrix-WhatsApp puppeting bridge. Available as
  [services.mautrix-whatsapp](#opt-services.mautrix-whatsapp.enable).

- [hddfancontrol](https://github.com/desbma/hddfancontrol), a service to
  regulate fan speeds based on hard drive temperature. Available as
  [services.hddfancontrol](#opt-services.hddfancontrol.enable).

- [seatd](https://sr.ht/~kennylevinsen/seatd/), A minimal seat management
  daemon. Available as [services.seatd](#opt-services.seatd.enable).

- [GoToSocial](https://gotosocial.org/), an ActivityPub social network server
  written in Golang. Available as
  [services.gotosocial](#opt-services.gotosocial.enable).

- [Castopod](https://castopod.org/), an open-source hosting platform made for
  podcasters who want to engage and interact with their audience. Available as
  [services.castopod](#opt-services.castopod.enable).

Title: NixOS 23.11 Breaking Changes (Continued) and New Services: Teleport, ZFS, SourceRoot, Django, QEMU, Electron, New Services
Summary
Breaking changes in NixOS 23.11 include: upgrading Teleport, updating ZFS to v2.2.0, deprecating 'sourceRoot = "source"' in package derivations, upgrading the django alias to Django v4.x, changes to QEMU VM block device identification, and moving electron application files to '$out/libexec/electron'. New services available in NixOS 23.11 include: MCHPRS, acme-dns, frp, river, wayfire, mautrix-whatsapp, hddfancontrol, seatd, GoToSocial, and Castopod.