Your order · Coming from Ubuntu

Same desktops, fewer surprises.

GNOME and KDE work the way you know them. The difference is underneath: an upgrade either completes or doesn’t happen, so a bad one can’t leave you stranded halfway.

If you’ve had a release upgrade fail halfway, or a PPA leave your system in a strange state, this is the part of NixOS you’ll like. Every change builds a complete new system first, and NixOS only switches to it if the build succeeded.

Ubuntu habits, translated

On UbuntuOn NixOSWhat changes
sudo apt install fooAdd foo to environment.systemPackages, rebuildYour installed apps are a list you can read, copy and share.
PPAs for newer versionsPull single packages from nixos-unstableNo third-party repos to break your upgrades.
SnapsFlatpak: services.flatpak.enable = true;Snaps aren’t supported out of the box. Flatpak and Flathub are.
do-release-upgradeSwitch channel, then nixos-rebuild switch --upgradeIf the new release misbehaves, boot the old one.
LTS every two yearsA stable release every May and NovemberEach release gets about seven months of updates, so you move up twice a year.

Your desktop

{
  services.desktopManager.gnome.enable = true;
  services.displayManager.gdm.enable = true;
}

For KDE, swap those two lines for services.desktopManager.plasma6.enable = true; and services.displayManager.sddm.enable = true;.

Where to go next