From bb64deb8a4400da1b71c539786fa7b32948c9b1d Mon Sep 17 00:00:00 2001 From: Gabriel Fontes Date: Sat, 6 Aug 2022 01:25:10 -0300 Subject: [PATCH] hosts: don't wipe btrfs if there's a dontwipe file --- .../optional/btrfs-optin-persistence.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/hosts/common/optional/btrfs-optin-persistence.nix b/hosts/common/optional/btrfs-optin-persistence.nix index 3cd12b83..a0afbd39 100644 --- a/hosts/common/optional/btrfs-optin-persistence.nix +++ b/hosts/common/optional/btrfs-optin-persistence.nix @@ -4,14 +4,18 @@ mkdir -p /mnt mount -o subvol=/ /dev/disk/by-label/${hostname} /mnt - echo "Cleaning subvolume" - btrfs subvolume list -o /mnt/root | cut -f9 -d ' ' | - while read subvolume; do - btrfs subvolume delete "/mnt/$subvolume" - done && btrfs subvolume delete /mnt/root + if [ -e "/mnt/root/dontwipe" ]; then + echo "Not wiping root" + else + echo "Cleaning subvolume" + btrfs subvolume list -o /mnt/root | cut -f9 -d ' ' | + while read subvolume; do + btrfs subvolume delete "/mnt/$subvolume" + done && btrfs subvolume delete /mnt/root - echo "Restoring blank subvolume" - btrfs subvolume snapshot /mnt/root-blank /mnt/root + echo "Restoring blank subvolume" + btrfs subvolume snapshot /mnt/root-blank /mnt/root + fi umount /mnt '';