#!/bin/bash set -euo pipefail baseDir="$(realpath "$(dirname "${0}")/../")" source \ /etc/os-release source \ "${baseDir}/system.conf" zfs create \ -o canmount=off \ -o mountpoint=none \ ${hostname,,}/ROOT zfs create \ -o canmount=noauto \ -o mountpoint=/ \ ${hostname,,}/ROOT/${ID} zfs mount \ ${hostname,,}/ROOT/${ID} zfs create \ ${hostname,,}/home zfs create \ -o mountpoint=/root \ ${hostname,,}/home/root chmod \ 700 \ /mnt/root zfs create \ -o canmount=off \ -o mountpoint=/var \ ${hostname,,}/var zfs create \ -o canmount=off \ ${hostname,,}/var/lib zfs create \ ${hostname,,}/var/log zfs create \ ${hostname,,}/var/spool zfs create \ -o com.sun:auto-snapshot=false \ ${hostname,,}/var/cache zfs create \ -o com.sun:auto-snapshot=false \ ${hostname,,}/var/lib/nfs zfs create \ -o com.sun:auto-snapshot=false \ ${hostname,,}/var/tmp chmod \ 1777 \ /mnt/var/tmp zfs create \ -o mountpoint=/srv \ ${hostname,,}/srv zfs create \ -o canmount=off \ -o mountpoint=/usr \ ${hostname,,}/usr zfs create \ ${hostname,,}/usr/local zfs create \ ${hostname,,}/var/games zfs create \ ${hostname,,}/var/lib/AccountsService zfs create \ ${hostname,,}/var/lib/NetworkManager zfs create \ ${hostname,,}/var/www zfs create \ -o com.sun:auto-snapshot=false \ -o mountpoint=/tmp \ ${hostname,,}/tmp if [[ "${encryption}" == 'yes' ]]; then zfs create \ -o com.sun:auto-snapshot=false \ -o mountpoint=/etc/zfs/keys \ ${hostname,,}/keystore fi zpool set \ bootfs=${hostname,,}/ROOT/${ID} \ ${hostname,,} if [[ "${ID}" == 'fedora' ]]; then "${baseDir}/fedora.sh" --rsync fi zfs create \ ${hostname,,}/var/mail chmod \ 1777 \ /mnt/tmp