NixOS 25.11 released!

Hey everyone,

we are very pleased to announce the public availability of NixOS 25.11 (the Linux distribution) and Nixpkgs 25.11 (the package set), under the codename “Xantusia”.

This release was made possible by 2742 contributors working on improving Nixpkgs/NixOS. We’d like to thank all of you for taking part in working on this release!

The old release 25.05 “Warbler” is now officially deprecated and will reach its end-of-life after 2025-12-31 and thus not receive any security updates after that date.

There will also be a release retrospective in about a week, which we would be happy for you to join us and tell us about any suggestions and feedback. The exact meeting hours will be planned in the release management matrix room, and the agreed-upon time will be announced here.

We would also like to thank our release editors @pyrox and @getchoo for working on the release notes. And also a special thanks to @Sigmanificient for designing the release logo!

Enjoy the new release! :tada:

117 Likes

Great work! Thank you to everyone that helped out, and to our release managers this cycle!

2 Likes

I’ve sadly been absent this release cycle, but I have been paying attention to the ZHF graph. I have not seen the number of build failures on linux this low in years! Great work everyone!

6 Likes

Thanks leona et all, nice work.

2 Likes

I’m a little doubtful about this

Added 7002 new packages
Updated 25252 existing packages
Removed 6338 outdated packages, in an effort to keep the package set maintainable and secure.

How is this calculated? Will it happen, for example, that after Python is updated, a bunch of pnames change, so we add and remove many packages out of thin air? Will it happen for other package groups?

3 Likes

By default nixos-rebuild switch now symlinks to nixos-rebuild-ng as per the notes although this didn’t seem to be the case in ‘unstable’ for me so this is the first time I am trying it.

  • nixos-rebuild-ng, a full rewrite of nixos-rebuild in Python, is enabled by default from this release. You can disable it by setting to false in your configuration if you need, but please report any issues. It is expected that the next major version of NixOS (26.05) will remove the {option}system.rebuild.enableNg option.
$ ls -lat | grep nixos-rebuild
lrwxrwxrwx 1 root root    84 Jan  1  1970 nixos-rebuild -> /nix/store/vvfclqlzrwsbmk015rwysvqrp7dmir03-nixos-rebuild-ng-25.11/bin/nixos-rebuild

nixos-rebuild-ng seems to require that you have git installed.

$ sudo nixos-rebuild switch
warning: Git not found; cannot figure out revision of '/nix/store/92bnyyz7z28m9ar34c3g9z8l4hagl26y-nixos-25.11.612.d542db745310/nixos'
building the system configuration...

This resolves easily with the following config (although there was no mention that 25.11 would expect/require git).

{ config, pkgs, ... }:

{
	environment = {
		systemPackages = with pkgs; [
			git
		];
	};
}

Using the option system.rebuild.enableNg = false; seems to eliminate the requirement for git but does give the following warning.

evaluation warning: The Bash implementation of nixos-rebuild will be deprecated and removed in the 26.05 release of NixOS.
                    Please migrate to the newer implementation by removing 'system.rebuild.enableNg = false' from your configuration.
                    If you are unable to migrate due to any issues with the new implementation, please create an issue and tag the maintainers of 'nixos-rebuild-ng'.

@k0kada : Any chance you can please give a bit of an answer about what purpose git serves for nixos-rebuild or perhaps how it is used? So far I haven’t seen any network traffic that appears to be related to git being used as part of nixos-rebuild. Many thanks.

Edit: I have just been reading through the home-page for nixos-rebuild-ng which I got from search.nixos.org.

The caveat at the bottom was quite concerning.

Bugs in the profile manipulation can cause corruption of your profile that may be difficult to fix, so right now I only recommend using nixos-rebuild-ng if you are testing in a VM or in a filesystem with snapshots like BTRFS or ZFS. Those bugs are unlikely to be unfixable but the errors can be difficult to understand. If you want to go on, nix-collect-garbage -d and nix store repair are your friends

2 Likes

Not required, nixos-rebuild-ng works fine without it. It is just showing you a warning because some functionality will be missing, but unless you depend in the .version-suffix file being generated it should be harmless.

BTW, nixos-rebuild did the same thing, not sure why it didn’t trigger in your specific configuration though:

Edit: I think I found the issue, I will open a PR soon to fix it.

This was an old note before nixos-rebuild-ng was declared stable and I forgot to remove. Pretty much everything in that README.md is out of date. nixos-rebuild: remove by thiagokokada · Pull Request #466809 · NixOS/nixpkgs · GitHub updates the README.md removing out-of-date information.

5 Likes

@fsbof Opened a PR that should fix both the git issue and update the README.md: nixos-rebuild-ng: check if .git exists in nixpkgs directory before parsing rev by thiagokokada · Pull Request #467086 · NixOS/nixpkgs · GitHub.

Would appreciate some testing here.

1 Like

This is currently a very dumb script that doesn’t count renames of packages, they appear both in removed and new. See Final Release - NixOS Release Wiki

For the 25.05 release I used Nixpkgs RM packages diff script with python special casing ($1) · Snippets · GitLab which has special casing for python3Packages. In this release there were no changes to python3XXPackages, so we just used the normal one this time.

Many thanks for the feedback @k0kada.

Regarding git perhaps it could be phrased as informational rather than a warning if it is harmless. :man_shrugging:

Very pleased to hear the caveat was out-of-date. The rest of the README.md was pretty interesting, on what is a pretty important piece of the puzzle so I look forward to re-reading.

Regarding testing. Happy to do some testing. Perhaps you can PM when it’s ready. Not always paying attention but I do get the mail! :slight_smile: Thanks for your efforts.

The PR itself is ready as I said above: nixos-rebuild-ng: check if .git exists in nixpkgs directory before parsing rev by thiagokokada · Pull Request #467086 · NixOS/nixpkgs · GitHub. Needs some test to confirm if it fixes your specific case.

1 Like