feat: add script to prepare ZFS datasets and create a ZFS pool
Some checks failed
Nix Format Check / check-format (push) Failing after 37s

This commit is contained in:
Menno van Leeuwen 2025-03-12 11:19:54 +01:00
parent 9f8cca411a
commit 2872993628
Signed by: vleeuwenmenno
SSH Key Fingerprint: SHA256:OJFmjANpakwD3F2Rsws4GLtbdz1TJ5tkQF0RZmF0TRE

43
prepare-zfs-datasets.sh Executable file
View File

@ -0,0 +1,43 @@
#!/usr/bin/env bash
# Prompt user for device
echo "Enter the device to use for the ZFS pool (e.g., /dev/sdb):"
read device
# Ask for confirmation, since this script will destroy all data on the device
echo "This script will destroy all data on $device. Are you sure you want to continue? (y/n)"
read confirm
if [ "$confirm" != "y" ]; then
echo "Exiting..."
exit 1
fi
# Create ZFS pool
sudo zpool create -f datapool "$device"
# Create datasets with mountpoint=legacy
datasets=(
isos
vms
ai
downloads
services
audiobooks
music
photos
movies
tv_shows
# old_backups
)
for dataset in "${datasets[@]}"; do
sudo zfs create -o mountpoint=legacy datapool/"$dataset"
done
df -h
echo ""
echo "ZFS datasets created successfully."
echo "You can now run \`dotf update\` and it should start mounting the datasets."
echo ""