Hacker News new | ask | show | jobs
by rnhmjoj 22 days ago
I'd say not much: you update the channel, run nixos-rebuild switch, fix all the warnings/errors due to renamed/changed options until it succeeds and you're done. If you have a database like postgres you may have to do a schema upgrade manually, since the default version is updated every 4/5 releases or so.

It's very rare to find something that prevents you from directly updating. Nixpkgs tries very hard to no require new Nix features, so it evaluates with even Nix versions from a decade ago. Also, NixOS options and packages are frequently changed, but the automatic migrations (mkChangedOptionModule, mkRenamedOptionModule, alias, etc.) are never removed in practice.

Since the binary cache has never been cleared since its creation (2002?), it should actually be easy to install a super old NixOS release and upgrading it to the latest to see what happens.

By the way, there are LTS versions of NixOS, just not officially supported. See https://docs.ctrl-os.com/.

1 comments

And when it happens, that there are new Nix features used in Nixpkgs, then you can download the closure for the new Nix executable, directly from the build farm, and update your OS from this new Nix version.