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 '';