• jim3692@discuss.online
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    2 days ago
    nix flake update
    nixos-rebuild --switch --flake .
    
    # Just to keep an update history
    git add flake.lock
    git commit -m "update"
    

    This may seem like too much work, but it guarantees an all-or-nothing procedure. If some package is broken, the entire upgrade process is canceled, and the system remains in the state that it was.

    I have had a couple of partial upgrade cases on Arch. It was not fun live booting to repair it, every time this happened.

    • Something Burger 🍔@jlai.lu
      link
      fedilink
      arrow-up
      2
      ·
      1 day ago

      I’ve had updates fail on NixOS. A kernel update didn’t generate the initramfs and the system wouldn’t boot. Booting to a previous generation and reapplying the update fixed it.

      This is very rare, though, and unlike Arch can be fixed without a Live USB.

      • jim3692@discuss.online
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        A kernel update didn’t generate the initramfs

        This sounds like a bug on Nix configuration, or the kernel build process.

        If NixOS had caught the error, you wouldn’t have gotten a faulty generation at all. This is different from pacman/apt/dnf, which will happily continue the upgrade, resulting in a broken system with no easy way to fix it.