Home Explore Blog Models CI



nixpkgs

nixos/doc/manual/administration/rollback.section.md
4da3d6ce7864686db3c7e191443679a667342a2a8ee5466c00000003000004fd
# Rolling Back Configuration Changes {#sec-rollback}

After running `nixos-rebuild` to switch to a new configuration, you may
find that the new configuration doesn't work very well. In that case,
there are several ways to return to a previous configuration.

First, the GRUB boot manager allows you to boot into any previous
configuration that hasn't been garbage-collected. These configurations
can be found under the GRUB submenu "NixOS - All configurations". This
is especially useful if the new configuration fails to boot. After the
system has booted, you can make the selected configuration the default
for subsequent boots:

```ShellSession
# /run/current-system/bin/switch-to-configuration boot
```

Second, you can switch to the previous configuration in a running
system:

```ShellSession
# nixos-rebuild switch --rollback
```

This is equivalent to running:

```ShellSession
# /nix/var/nix/profiles/system-N-link/bin/switch-to-configuration switch
```

where `N` is the number of the NixOS system configuration. To get a
list of the available configurations, do:

```ShellSession
$ ls -l /nix/var/nix/profiles/system-*-link
...
lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> /nix/store/202b...-nixos-13.07pre4932_5a676e4-4be1055
```

Chunks
458d5f21 (1st chunk of `nixos/doc/manual/administration/rollback.section.md`)
Title: Rolling Back NixOS Configuration Changes
Summary
This section explains how to revert to a previous NixOS configuration if a new one, applied via `nixos-rebuild`, causes issues. One method is to use the GRUB boot manager to select and boot into any un-garbage-collected previous configuration, especially useful if the new configuration fails to boot. Once booted, the selected configuration can be made the default. Alternatively, in a running system, users can switch to the immediate prior configuration using `nixos-rebuild switch --rollback`. The text also provides an equivalent command and explains how to list available past system configurations.