Six months after the previous 25.05 “Warbler” release, the new stable version, NixOS 25.05 “Xantusia,” is officially here. Targeted at advanced users and developers, NixOS bets on an immutable design and an atomic update model, emphasizing reproducibility and reliability with the Nix package manager.

Nixpkgs adds 7,002 new packages and updates 25,252 existing entries. A cleanup effort removed 6,338 outdated packages to keep the repository manageable and secure. On the NixOS side, the release introduces 107 new modules, adds 1,778 configuration options, and removes older, unused components.

The desktop stack is updated to GNOME 49. This version ends X11 session availability, includes a new video player and document viewer, and ships a redesigned calendar application. Other applications across the GNOME suite receive updates as part of the regular upstream cycle.

  • ikidd@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    2
    ·
    1 day ago

    How does NixOS ship with anything? It’s all about what you put in the configuration.nix. You even have to specify if you want a WM.

  • Harold@feddit.nl
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 day ago

    As others have commented, the article is a little misleading. Especially to those not familiar with NixOS:

    • The desktop stack is updated to GNOME 49.
    • Under the hood, the release updates the Linux kernel to 6.17 (with 6.12 LTS also available).

    These changes have been made available through packages in the nixpkgs repo, branched to the 25.11 release.

    However, NixOS doesn’t “stack” GNOME into it. Nor does it carry specific Linux kernels “under the hood”.

    You can pin any version of any release of any listed package (including kernels) from the nixpkgs repo to your configuration. More specifically even with Flakes, but that’s not even required, if that isn’t your thing.

    So for example, I am running a specific host with NixOS 25.11, and Linux kernel 6.17.58 (LTS). (There is a specific use case for me to do so on that particular host.) This runs out of the box due to how I’ve configured NixOS, which is precisely the point of Nix, you configure it how you want it.

    • KeenFlame@feddit.nu
      link
      fedilink
      arrow-up
      2
      ·
      8 hours ago

      I gotta try it because it just sounds like Linux already is which is possibly a good thing?

  • Clay_pidgin@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    But it’s worth noting that as with regular Linux distro, you can get easily switch the DE. I think it’s only two lines of config.

      • Clay_pidgin@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        11 hours ago

        Don’t recall but you’re probably right.

        Want Gnome? services.displayManager.gdm.enable = true; services.desktopManager.gnome.enable = true;

        Want KDE? services.displayManager.sddm.enable = true; services.displayManager.sddm.wayland.enable = true; services.desktopManager.plasma6.enable = true;

    • kibiz0r@midwest.social
      link
      fedilink
      English
      arrow-up
      15
      ·
      1 day ago

      And unlike a regular Linux distro, you’ll have zero leftover systemd units or config files floating around in your FHS dirs. (You’ll have the binaries for Gnome sitting in /nix/store until you do a GC, so you can still quickly switch back if you want to.)

      • qqq@programming.dev
        link
        fedilink
        arrow-up
        14
        ·
        1 day ago

        … or config files floating around in your FHS dirs

        Mostly true, but unless you’re doing an impermanence setup, programs still poop random files all over the place. Especially in home and other various places like /var/lib /var/cache.

        • Clay_pidgin@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          11 hours ago

          Yeah, home still gets ugly if you are adding/removing stuff all of the time.

          I’m looking at adding impermanence to wipe everything every boot, and keep my non nix files (like games) in another partition.

  • djsaskdja@reddthat.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    I tried installing it for fun and my /home/$user folder is empty. Is that normal? Like there’s no Desktop, Downloads, Documents, etc folders by default. I picked the GNOME desktop environment at install. Never seen that before.

      • djsaskdja@reddthat.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        19 hours ago

        Good to know! I’ve not seen any other distribution handle home folders that way. I’ve even installed previous versions of NixOS and don’t remember ever needing to do that. Seems like an odd choice to me, but NixOS has a few of those so it’s all good. Definitely not a beginner distro.

    • onlinepersona@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      Probably not. There must be something missing in your configuration. Do you have createHome = true for your user?

      When facing issues on nixos, you can easily just share your /etc/nixos/configuration.nix + a description of your error + logs and it’ll provide useful context for people. We’ll even be able to spin up a VM with your config to see if the bug can be recreated.

      • djsaskdja@reddthat.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        21 hours ago

        I have a home folder. It’s just empty. To answer your question though, no createHome = true is not in my configuration.nix file. I could dump all that, but this is a fresh system. It’s clearly an issue with the NixOS installer. I tried it on completely different hardware just now and have the same problem. I solved it by running this series of commands.

        xdg-user-dirs-update
        gio set ~/Desktop metadata::custom-icon-name user-desktop
        gio set ~/Documents metadata::custom-icon-name folder-documents
        gio set ~/Downloads metadata::custom-icon-name folder-download
        gio set ~/Music metadata::custom-icon-name folder-music
        gio set ~/Pictures metadata::custom-icon-name folder-pictures
        gio set ~/Videos metadata::custom-icon-name folder-videos
        gio set ~/Templates metadata::custom-icon-name folder-templates
        gio set ~/Public metadata::custom-icon-name folder-publicshare
        xdg-user-dirs-gtk-update

        I guess it’s fine, but not ideal. I could see that confusing the shit out of a more casual user.