NixOS 23.11 released!

Yes, wonderful work! Thank you so much! Onward to Uakari!

2 Likes

Awesome! A big thank you to everyone who made this possible! :partying_face: :rocket:

2 Likes

Why does this page mention 23.05?

Looks like it just hasn’t made it through the pipeline yet, it was updated on master less than a day ago: https://github.com/NixOS/nixpkgs/blob/54a8f13f93858764fb89cf3f9ee02674557bf11f/nixos/doc/manual/installation/upgrading.chapter.md

1 Like

Awesome! This was my first time contributing to ZHF and it was so much fun to do even if my share was relatively tiny. Looking forward to more exciting Nix-things in the future :smiley:

Good job, everyone!

7 Likes

Those instructions are pretty much entirely wrong. They will only give you an update to the latest commit of NixOS 23.05, you will not be upgrading to 23.11. Don’t rely on LLMs for things you don’t understand yourself.

You need to start off by changing your channel, as the manual instructs.

If you’re really struggling to understand it, assuming you’re using the most defaultest NixOS 23.05, you need to run these commands:

sudo nix-channel --add https://channels.nixos.org/nixos-23.11 nixos
sudo nixos-rebuild boot --upgrade
# You probably get some errors and warnings here that you need to take care
# of, do so and repeat until the above command succeeds
sudo shutdown -r now

A reboot is required according to the release notes, which you should really take a look at before/while upgrading. Using nixos-rebuild boot should probably generally be recommended for full version upgrades, if only to prevent confusing people with graphics library failures.

YMMV, this doesn’t cover user channels, home-manager, niv, etc., but neither does the manual in fairness. We probably should have a more foolproof set of “this is how you upgrade” instructions somewhere.

14 Likes

Not quite, sudo nix-channel --update will update all your channels, including e.g. a home-manager channel you might have.

nixos-rebuild switch --upgrade will only update the nixos channel (and other channels that explicitly opt-in to updating when that flag is used) by default. To mimic sudo nix-channel --update exactly, you need nixos-rebuild switch --upgrade-all.

3 Likes

Yeah.
I think honestly, that your instructions are a great start. :smiley:

Thanks for pointing out that the LLM was wrong, I have a very basic configuration, I think .
I added new packages only via configuration.nix, and added no further channels, home-manager, or anything of that sorts.

Still, after using NixOS for 2 months, this is the first time that I am truly stuck, and I think the documentation could definitely be improved here.

I was quite happy with it besides this, honestly. :slight_smile:

1 Like

Congrats on the release!

Is there page somewhere that lays out the EOL policies for the releases? I’m curious if there ever long(er)-term security supported versions?

1 Like

I think its always 7 months from the point of release.

2 Likes

What @ShalokShalom said is correct, but let me add that there is currently no LTS release, nor is one planned.

6 Likes

I’ve tried adding system.autoUpgrade.channel = "https://channels.nixos.org/nixos-23.11"; to my config file, and it doesn’t do anything, even after sudo nixos-rebuild switch and reboot.

Is it better to do the sudo nix-channel --add https://channels.nixos.org/nixos-23.11 nixos and then sudo nixos-rebuild switch method?

To be more specific, this is what’s in my config file for auto system upgrades:

# system upgrades
system.autoUpgrade.enable = true;
system.autoUpgrade.allowReboot = false;
boot.kernelPackages = pkgs.linuxPackages_6_5; # Use pkgs.linuxPackages_6_5 if nvidia drivers fail, use pkgs.linuxPackages_latest if nvidia drivers work on "latest"!

system.autoUpgrade.channel = "https://channels.nixos.org/nixos-23.11";

Yes. system.autoUpgrade runs said updates with a systemd timer which runs once a day by default.

You’ve basically told NixOS to update your system at midnight, or whenever you next boot your computer after midnight passes. That option is intended to do the small, tedious updates on a single NixOS version where you don’t expect much breakage, not distro upgrades.

It will likely trigger a rebuild, fail, and then dump the logs into your journal, where you won’t think to read them.

By default, it will also use nixos-rebuild switch, which is not recommended on major upgrades and may cause kernel panics (?).

While enabling that module is fine, and probably even good practice, I think I would not recommend setting system.autoUpgrade.channel, personally, unless you have a specialized use case (such as a custom nixpkgs fork with your own branching strategy). It makes it awkward to do the manual steps involved in stable upgrades.

Good tip for people who are upgrading for the first time:

If you run nixos-rebuild build-vm, (after updating your channel or flake input), you will get a script that boots your configuration in a VM, so you can make sure it works. The main catch here is that password data doesn’t get embedded, so you need something like services.getty.autologinUser = <username> if you want to do more than a boot check.

5 Likes

I’ve found package aliza dissapearing in this release. Why would a package disappear, whats the point?

I’ve found package aliza dissapearing in this release. Why would a package disappear, whats the point?

packages disappear because there is no one to maintain them. Your configuration can depend on multiple versions of nixpkgs, so you can still get the package that way.

2 Likes

i think it should stay in nixpkgs and depend on old revision. Because now I can’t search for it on the website. It might be my favourite package and I won’t install nixpkgs because of that.

EDIT: Ok, i dont know. Not sure about that.

Couple of things here:

  1. aliza depends on qt4 which we no longer support
  2. aliza was removed from nixpkgs before the release of 23.11
  3. by disappear, if you mean “it just isn’t on my system after the upgrade and it didn’t tell me anything”, that cannot happen. You would have gotten an error telling you that “aliza has been removed, because it depended on qt4 and was unmaintained in nixpkgs”.

You can however, still install software from older nixos releases

i think it should stay in nixpkgs and depend on old revision

That’s not how nix works.

2 Likes

It was error: undefined variable 'aliza' :stuck_out_tongue:
haskellPackages.cabal-plan had a nice descriptive one.

Anyway haha, thanks for the context!

1 Like

thanks to all who contributed. The upgrade went smooth, was flawless

Question: in which NixOS release will flakes be enabled by default - is there a plan/duedate/roadmap?
Because even ‘zero to nix’ strongly recommends using it