Snapper: no question on btrfs; vendor the SysGuides scripts

- On btrfs, snapshots + zstd compression now just happen (no prompt);
  --snapper=no remains the explicit opt-out.
- Vendor scripts/snapper-*.sh + config/snapper.actions from
  SysGuides/sysguides-snapper-fedora (MIT, upstream 0a28eb4) into
  vendor/snapper/ and install from there — no runtime clone of an
  external repo, and no dependency on exec bits (fixes the
  './install.sh: Permission denied' failure seen on the test VM).
- grub-btrfs still cloned at runtime from Antynea/grub-btrfs with the
  Fedora config applied; everything else is local now.
This commit is contained in:
Pathfinder
2026-10-27 12:37:18 +01:00
parent 47991727ff
commit 3776dcb5a4
9 changed files with 324 additions and 16 deletions
+3 -4
View File
@@ -36,7 +36,7 @@ Options:
--de=NAME gnome | plasma | xfce | none
--twm=NAME chadwm | hyprland | mango | niri | none
--selinux=X keep | disabled (asked, default keep)
--snapper=X yes | no (asked when / is btrfs, default yes)
--snapper=X yes | no (automatic on btrfs; use 'no' to opt out)
--dotfiles=X yes | no (clone personal dotfiles, default no)
-y, --yes never prompt (requires --de and --twm)
-d, --debug pause after each section instead of aborting on error
@@ -244,9 +244,8 @@ if [[ -z "$SELINUX_OPT" ]]; then
[[ "$choice" == "yes" ]] && SELINUX_DISABLED=true
printf "\n"
if findmnt -n -o FSTYPE / 2>/dev/null | grep -q btrfs; then
ok "Root filesystem is btrfs — snapshot support is available."
choice=$(ask_yes_no "Set up snapper + grub-btrfs snapshots and zstd compression?" "yes")
[[ "$choice" == "yes" ]] && BTRFS_SNAPPER=true
ok "Root filesystem is btrfs — snapshots + zstd compression will be set up."
BTRFS_SNAPPER=true
else
info "Root filesystem is not btrfs; skipping snapshot setup."
fi