Maze takes a btrfs snapshot automatically before and after every pacman
transaction (via snap-pac). You do not need to remember to do it, and the
snapper configuration is created for you.
A freshly installed system starts with an empty snapshot list — this is expected:
maze-snapshots-setup.service creates the snapper configuration on the
first boot.SNAP_PAC_SKIP=y), so there is
no snapshot of the install process.Want a known-good starting point right away? Take one by hand:
sudo snapper -c root create -d "fresh install"
sudo snapper -c root list
sudo is required — /.snapshots is readable by root only, so without it you
get a "No permissions" error.
The first line, 0 current, is not a snapshot: it is the running system.
That is why commands below compare against 0 ("now").
Graphical equivalent: Btrfs Assistant, in the application menu.
Snapshots are taken of the root subvolume only. Some locations live on separate subvolumes or partitions on purpose, so rolling back never touches them:
| Location | In the snapshot? | Why |
|---|---|---|
/ — system files, /etc, /usr | Yes | This is what an update changes |
/home — your files, shell history, app settings | No | Rolling back the system must not lose your work |
/var/log | No | Logs of what went wrong stay available |
/var/cache | No | Package cache, not worth snapshotting |
| EFI partition — the signed kernel image (UKI) | No | Not on btrfs |
So after a rollback, a package you installed is gone again, but the changes it made inside your home directory (for example your shell history or config files) stay.
This is the common case: an update changed something and you want it back the way it was. First see what actually changed between snapshot 42 and now:
sudo snapper -c root status 42..0
Then undo it:
sudo snapper -c root undochange 42..0
Not across a kernel update.
undochangerestores everything in the root subvolume — including the kernel modules in/usr/lib/modules— but the kernel image itself lives on the EFI partition, which is not snapshotted. If the kernel was updated after snapshot 42, you would end up with old modules and a new kernel: no Wi-Fi, possibly no graphics. Check with thestatuscommand above; if/usr/lib/modulesis in the list, use full system rollback instead, which checks for this.
Returns the entire system to an earlier snapshot:
sudo maze-rollback # list snapshots you can return to
sudo maze-rollback 42 # return to snapshot 42
You are asked to type the snapshot number again to confirm.
Before switching, a read-only snapshot of the current state is taken, so
nothing is lost — it shows up in snapper list.
It warns you if a kernel update happened in between (see above).
Changed your mind? Undo the rollback:
sudo maze-rollback --undo
Setup: the installer prepares full rollback automatically. Only systems installed from an older ISO need a one-time step — running it on a current install just reports "Already set up":
sudo maze-enable-rollback # shows what would change
sudo maze-enable-rollback --apply # applies it
Known limitation: full system rollback is not yet reliable on every machine and is still being worked on. If you need to recover from a bad update today,
snapper undochange(mind the kernel caveat above) or the recovery kernel are the safer routes.
Snapshots live on the same disk as your system. They protect you from a bad update or a mistaken change — not from disk failure, theft, or an encrypted-disk password you have forgotten. Keep real backups on separate media for that.
See also: If the System Won't Boot · Updating