NixOS 26.05 Arrives with Over 20 k New Packages and systemd‑Based Stage 1 Initrd
#Infrastructure

NixOS 26.05 Arrives with Over 20 k New Packages and systemd‑Based Stage 1 Initrd

Hardware Reporter
4 min read

The latest NixOS release adds 20,442 packages, upgrades core components like GNOME 50 and GCC 15, and switches the stage‑1 initramfs to a systemd‑driven implementation, a move that simplifies boot‑time debugging for homelab builders.

NixOS 26.05 – What’s New and Why It Matters for Homelab Builders

The NixOS project dropped version 26.05 on 30 May 2026. The release bumps the Nixpkgs collection to 20 442 new packages, refreshes 20 641 existing ones, and prunes 17 532 stale entries. In addition, the distribution ships 85 new modules and 1 547 extra configuration options, giving users finer control over services, networking, and hardware.


Package Refresh Highlights

Category Updated To Notable Changes
Desktop GNOME 50 Wayland improvements, new Settings panels, updated Mutter compositor
Compiler GCC 15 Full support for C++23, better LTO, reduced compile‑time memory usage
Language Runtimes Python 3.13, Node 22, Rust 1.78 Updated standard libraries, security patches
Server Tools OpenSSH 9.9, PostgreSQL 16, Nginx 1.27 Default hardened configurations, TLS 1.3‑only mode for Nginx

These updates alone shave 5‑10 % off typical build times for large codebases on a 32‑core AMD Threadripper 7975X, according to the Phoronix test suite. Power draw during compilation dropped from 250 W to 230 W, a modest but measurable gain for power‑constrained homelabs.


Stage 1 Initrd Now Powered by systemd

Historically, NixOS generated a handcrafted shell script for the stage‑1 initramfs. The 26.05 release replaces that script with a systemd‑based initrd built from the systemd package itself. The change brings several practical benefits:

  1. Unified logging – systemd’s journal captures early‑boot messages, making it easier to trace failures without digging through custom script output.
  2. Parallel device initialization – systemd can start multiple udev rules simultaneously, reducing boot latency by roughly 0.8 seconds on a typical Intel Xeon E5‑2699 v4 platform.
  3. Simplified configuration – the same systemd.unit syntax used for the main system now applies to the initrd, meaning a single source of truth for service ordering.

For homelab operators who frequently experiment with custom kernel parameters, encrypted root partitions, or network‑booted disks, the new initrd eliminates a layer of custom scripting that often became a maintenance headache.


Power and Performance Benchmarks

The Phoronix test suite was run on two reference machines to compare the old scripted initrd against the new systemd‑driven one.

Test Machine Initrd Type Boot Time (s) Avg. Power (W)
Intel Xeon E5‑2699 v4 (dual socket) Scripted 7.42 115
Intel Xeon E5‑2699 v4 (dual socket) systemd 6.61 112
AMD Threadripper 7975X (single socket) Scripted 5.87 210
AMD Threadripper 7975X (single socket) systemd 5.12 205

The systemd initrd consistently shaved 0.7‑0.9 seconds off cold‑boot times and reduced peak power draw by 2‑3 %. Those numbers matter when you’re running dozens of nodes in a rack; the cumulative savings add up quickly.


Compatibility and Migration Path

The switch to a systemd initrd is transparent for most users. Existing configuration.nix files continue to work, and the new initrd is selected automatically during the next nixos-rebuild switch. For the small subset of users who rely on custom stage‑1 scripts (e.g., bespoke hardware initialization), the NixOS manual now provides a boot.initrd.enable = false; toggle to retain the legacy behavior.

All 85 new modules are documented in the NixOS 26.05 release notes. Highlights include:

  • services.prometheus.exporters.node_exporter – ready‑to‑use system metrics exporter.
  • virtualisation.lxc.enable – simplified LXC container deployment with automatic cgroup v2 handling.
  • networking.firewall.extraRules – a more expressive syntax for complex iptables/nftables rulesets.

Build Recommendations for a Modern Homelab

If you are assembling a new rack or upgrading an existing cluster, consider the following hardware mix to get the most out of NixOS 26.05:

Role CPU RAM Storage Suggested NixOS Config
General‑purpose VM host AMD Threadripper 7975X (32 cores) 256 GB DDR5 4 × 2 TB NVMe (RAID‑10) Enable virtualisation.libvirtd and services.prometheus.exporters.node_exporter
Network‑gateway / firewall Intel Xeon E5‑2699 v4 (18 cores) 128 GB DDR4 2 × 1 TB SATA (RAID‑1) Use networking.firewall with the new extraRules syntax
Storage node (Ceph) AMD EPYC 7543 (32 cores) 512 GB DDR5 12 × 4 TB NVMe (erasure‑coded) Enable services.ceph and set boot.initrd.systemd.enable = true

These configurations take advantage of the updated systemd initrd, the newer compiler toolchain, and the expanded module set. The result is a more responsive boot process, lower idle power, and a cleaner, more maintainable configuration base.


Where to Get It

The official download mirrors are listed on the NixOS 26.05 release page. ISO images are provided for both x86_64 and aarch64 platforms, with SHA‑256 checksums signed by the NixOS maintainers.


{{IMAGE:2}}

The new initrd architecture diagram from the NixOS documentation.


Bottom Line

NixOS 26.05 delivers a massive package influx, modern desktop and compiler upgrades, and a systemd‑based stage‑1 initrd that trims boot time and simplifies early‑boot debugging. For anyone running a homelab or a production‑grade cluster, the release offers tangible performance and power benefits without sacrificing the declarative reproducibility that makes NixOS unique.

Comments

Loading comments...