#!/bin/bash set -euo pipefail # @TODO: Implement more soft-coding and interactivity to this script sudo zpool create \ -o ashift=12 \ -o autotrim=on \ -o compatibility=openzfs-2.1-linux \ -O encryption=on \ -O keylocation=file:///etc/zfs/keys/zroot.key \ -O keyformat=passphrase \ -O acltype=posixacl \ -O xattr=sa \ -O dnodesize=auto \ -O compression=zstd-3 \ -O normalization=formD \ -O relatime=on \ -O canmount=off \ -O mountpoint=none \ "$2" \ /dev/disk/by-id/"${1}"-part1 DATASET=("${HOME}/Documents/.calibre" "${2}/LITERATURE") mkdir -p "${DATASET[0]}" sudo zfs create -o mountpoint="${DATASET[0]}" "${DATASET[1]}" DATASET=("${HOME}/Videos" "${2}/FILM") mkdir -p "${DATASET[0]}" sudo zfs create -o mountpoint="${DATASET[0]}" "${DATASET[1]}" DATASET=("${HOME}/.var/app/com.valvesoftware.Steam" "${2}/STEAMGAMES") mkdir -p "${DATASET[0]}" sudo zfs create -o mountpoint="${DATASET[0]}" "${DATASET[1]}" DATASET=("${HOME}/.var/app/org.libretro.RetroArch" "${2}/RARCHGAMES") mkdir -p "${DATASET[0]}" sudo zfs create -o mountpoint="${DATASET[0]}" "${DATASET[1]}" DATASET=("${HOME}/Games" "${2}/GAMES") mkdir -p "${DATASET[0]}" sudo zfs create -o mountpoint="${DATASET[0]}" "${DATASET[1]}" ln -s "${HOME}/.var/app/com.valvesoftware.Steam" "${DATASET[0]}/Steam" ln -s "${HOME}/.var/app/org.libretro.RetroArch" "${DATASET[0]}/libRetro" DATASET=("${HOME}/.var/app/org.libretro.RetroArch" "${2}/RARCHGAMES") mkdir -p "${DATASET[0]}" sudo zfs create -o mountpoint="${DATASET[0]}" "${DATASET[1]}" DATASET=("${HOME}/.XXX" "${2}/XXX") mkdir -p "${DATASET[0]}" sudo zfs create -o keylocation=prompt -o keyformat=passphrase -o mountpoint="${DATASET[0]}" "${DATASET[1]}"