fix(desktop): drop snapper, which never took a snapshot

The module wrote the configs and the timers, but nothing creates the
.snapshots subvolumes they need, so snapper-timeline failed every hour
with errno:2 and there was never a single snapshot to roll back to.

Removing it rather than fixing it: rollbacks of / are already covered by
NixOS generations, and snapshots of /home would have shared a disk with
/home. That answers "I deleted the wrong file" but not "the disk is
gone", and the second is the failure that actually occurred here.
This commit is contained in:
nevaforget committed 2026-09-09 18:45:38 +02:00
1 parent a112ebc413
commit d3cc03c7e0
1 file changed
+9 -22
+9 -22
View File
@@ -103,28 +103,15 @@
user = config.moonarch.user;
};
# Snapshots of root and home. snap-pac has no counterpart here: NixOS keeps
# its own generations, so pre/post package snapshots are redundant. /home is
# its own btrfs on the second disk, which snapper does not care about — a
# subvolume is a subvolume.
services.snapper = {
configs = {
root = {
SUBVOLUME = "/";
ALLOW_USERS = [ config.moonarch.user ];
TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true;
};
home = {
SUBVOLUME = "/home";
ALLOW_USERS = [ config.moonarch.user ];
TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true;
};
};
snapshotInterval = "hourly";
cleanupInterval = "1d";
};
# No snapper here. It was configured for / and /home and never took a single
# snapshot: the module writes the configs and the timers, but nobody creates
# the .snapshots subvolumes they need, so snapper-timeline failed every hour
# with errno:2 for months without anyone noticing. Rather than paper over that,
# note what it would and would not have bought: rollbacks of / are already
# covered by NixOS generations, and snapshots of /home share a disk with /home,
# so they answer "I deleted the wrong file" but not "the disk is gone" — which
# is the failure that actually happened here on 09.09.2026. The second question
# needs a copy off this machine and is still unanswered.
# No nixos-hardware profile applies to a self-built desktop, so the firmware
# this machine needs is enabled here instead.