diff --git a/install.sh b/install.sh index 2e7085a..030e8c5 100755 --- a/install.sh +++ b/install.sh @@ -29,17 +29,17 @@ source \ source \ "${baseDir}/system.conf" -if [[ ! "${DISK}" == **/dev/disk/by-id/** ]]; then - if [[ "${DISK}" == **/dev/nvme** ]]; then - PART1='p1' - PART2='p2' +if [[ ! "${disk}" == **/dev/disk/by-id/** ]]; then + if [[ "${disk}" == **/dev/nvme** ]]; then + part1='p1' + part2='p2' else - PART1='1' - PART2='2' + part1='1' + part2='2' fi else - PART1='-part1' - PART2='-part2' + part1='-part1' + part2='-part2' fi if [[ ! -f "/etc/mtab" ]]; then @@ -60,7 +60,7 @@ if [[ "${ID}" == 'fedora' ]]; then nofsck="yes" add_dracutmodules+=" zfs " omit_dracutmodules+=" btrfs " -install_items+=" /etc/zfs/keys/${HOSTNAME,,}.key " +install_items+=" /etc/zfs/keys/${hostname,,}.key " EOF else cat </etc/dracut.conf.d/zol.conf @@ -177,9 +177,9 @@ passwd printf \ '\033[?47l' -if [[ "${ENABLE_SWAP}" == "yes" ]]; then +if [[ "${enableSwap}" == "yes" ]]; then printf \ - "swap\t${DISK}${PART2}\t/dev/random\tswap,cipher=aes-xts-plain64,size=512\n" | \ + "swap\t${disk}${part2}\t/dev/random\tswap,cipher=aes-xts-plain64,size=512\n" | \ tee /etc/crypttab &> /dev/null printf \ @@ -215,14 +215,14 @@ fi zfs \ set \ org.zfsbootmenu:commandline='quiet splash rhgb noresume' \ - ${HOSTNAME,,}/ROOT/${ID} + ${hostname,,}/ROOT/${ID} if [[ ! "${*}" = *--no-part* ]]; then if [[ ! -z "$(zfs list | grep 'keystore')" ]]; then zfs \ set \ - org.zfsbootmenu:keysource=${HOSTNAME,,}/keystore \ - ${HOSTNAME,,} + org.zfsbootmenu:keysource=${hostname,,}/keystore \ + ${hostname,,} fi fi @@ -247,6 +247,6 @@ fi zfs \ snapshot \ - ${HOSTNAME,,}/ROOT/${ID}@install + ${hostname,,}/ROOT/${ID}@install "${baseDir}/post-inst.sh" diff --git a/partition.sh b/partition.sh index 0d512d9..8f0ffe4 100755 --- a/partition.sh +++ b/partition.sh @@ -8,14 +8,14 @@ source \ source \ "${BASEDIR}/system.conf" -if [[ ! "${DISK}" == **/dev/disk/by-id/** ]]; then - if [[ "${DISK}" == **/dev/nvme** ]]; then - PART3='p3' +if [[ ! "${disk}" == **/dev/disk/by-id/** ]]; then + if [[ "${disk}" == **/dev/nvme** ]]; then + part3='p3' else - PART3='3' + part3='3' fi else - PART3='-part3' + part3='-part3' fi swapoff \ @@ -23,36 +23,36 @@ swapoff \ wipefs \ -a \ - ${DISK} + ${disk} -if [[ ! "${DISK_TYPE}" == 'HDD' ]]; then +if [[ ! "${diskType}" == 'HDD' ]]; then blkdiscard \ -f \ - ${DISK} + ${disk} fi sgdisk \ --zap-all \ - ${DISK} + ${disk} sgdisk \ -n1:0:+512M \ -t1:EF00 \ -c1:EFI \ - ${DISK} + ${disk} -if [[ "${ENABLE_SWAP}" == "yes" ]]; then - SWAP_SIZE="$(((($(vmstat -sS M | grep 'total memory' | sed 's/ M total memory//') / 1024) + 1) * 2))" +if [[ "${enableSwap}" == "yes" ]]; then + swapSize="$(((($(vmstat -sS M | grep 'total memory' | sed 's/ M total memory//') / 1024) + 1) * 2))" - if [[ "${SWAP_SIZE#}" -gt '32' ]]; then - SWAP_SIZE='32' + if [[ "${swapSize#}" -gt '32' ]]; then + swapSize='32' fi sgdisk \ - -n2:0:+${SWAP_SIZE}G \ + -n2:0:+${swapSize}G \ -t2:BF02 \ -c2:swap \ - ${DISK} + ${disk} fi sgdisk \ diff --git a/post-inst.sh b/post-inst.sh index 9ed8437..867b392 100755 --- a/post-inst.sh +++ b/post-inst.sh @@ -2,7 +2,12 @@ set -euo pipefail -BASEDIR="$(dirname "${0}" | sed "s|^\.|${PWD}|")" +baseDir="$(realpath "$(dirname "${0}")")" + +source \ + /etc/os-release +source \ + "${baseDir}/system.conf" printf \ @@ -11,7 +16,7 @@ printf \ cat << EOF ####################################### ## ## -## $(cat "${BASEDIR}/title") Script ## +## $(cat "${baseDir}/title") Script ## ## ## ## Jean ## ## ## @@ -32,41 +37,41 @@ source \ /etc/os-release source \ - "${BASEDIR}/system.conf" + "${baseDir}/system.conf" -if [[ ! "${*}" = *--no-part* ]]; then +# if [[ ! "${*}" = *--no-part* ]]; then zfs create\ - ${HOSTNAME,,}/home/${USERNAME} + ${hostname,,}/home/${username} zfs create\ - ${HOSTNAME,,}/home/${USERNAME}/.config + ${hostname,,}/home/${username}/.config zfs create\ -o canmount=off\ - ${HOSTNAME,,}/home/${USERNAME}/.var + ${hostname,,}/home/${username}/.var zfs create\ - ${HOSTNAME,,}/home/${USERNAME}/.var/app + ${hostname,,}/home/${username}/.var/app zfs create\ -o canmount=off\ - ${HOSTNAME,,}/home/${USERNAME}/.local + ${hostname,,}/home/${username}/.local zfs create\ -o canmount=off\ - ${HOSTNAME,,}/home/${USERNAME}/.local/share + ${hostname,,}/home/${username}/.local/share zfs create\ - ${HOSTNAME,,}/home/${USERNAME}/.local/share/flatpak + ${hostname,,}/home/${username}/.local/share/flatpak printf \ 'Adding user account...\n' - adduser ${USERNAME} -else - adduser --no-create-home ${USERNAME} -fi + adduser ${username} +# else +# adduser --no-create-home ${username} +# fi if [[ "${ID}" == 'fedora' ]]; then printf \ @@ -77,7 +82,7 @@ if [[ "${ID}" == 'fedora' ]]; then Enter a password for the new user account: EOF passwd \ - ${USERNAME} + ${username} printf \ '\033[?47l' @@ -86,7 +91,7 @@ EOF -a \ -G \ audio,cdrom,dip,floppy,wheel,video,dialout \ - ${USERNAME} + ${username} else if [[ -z "$(cat /etc/group | grep 'lpadmin')" ]]; then groupadd --gid 108 lpadmin @@ -96,7 +101,7 @@ else -a \ -G \ audio,cdrom,dip,floppy,netdev,plugdev,sudo,video,dialout,lpadmin \ - ${USERNAME} + ${username} fi if [[ "${ID}" == 'elementary' ]]; then @@ -217,7 +222,7 @@ fi zfs \ snapshot \ - ${HOSTNAME,,}/ROOT/${ID}@post-install + ${hostname,,}/ROOT/${ID}@post-install printf \ '\033[?47h\033[2J\033[H' diff --git a/zfs.sh b/zfs.sh index c1247e7..572c4a5 100755 --- a/zfs.sh +++ b/zfs.sh @@ -1,55 +1,55 @@ #!/bin/bash set -euo pipefail -BASEDIR="$(dirname "${0}" | sed "s|^\.|${PWD}|")" +baseDir="$(realpath "$(dirname "${0}")")" source \ /etc/os-release source \ - "${BASEDIR}/system.conf" + "${baseDir}/system.conf" -if [[ ! "${DISK}" == **/dev/disk/by-id/** ]]; then - if [[ "${DISK}" == **/dev/nvme** ]]; then - PART3='p3' +if [[ ! "${disk}" == **/dev/disk/by-id/** ]]; then + if [[ "${disk}" == **/dev/nvme** ]]; then + part3='p3' else - PART3='3' + part3='3' fi else - PART3='-part3' + part3='-part3' fi # if [[ ! "${*}" = *--no-part* ]]; then - if [[ "${ENCRYPTION}" == 'yes' ]]; then - ZPOOL_PASSWORD='A' - ZPOOL_PASSWORD_VERIFY='B' + if [[ "${encryption}" == 'yes' ]]; then + zpoolPassword='A' + zpoolPasswordVerify='B' printf \ '\033[?47h\033[2J\033[H' - while [[ ! "${ZPOOL_PASSWORD}" == "${ZPOOL_PASSWORD_VERIFY}" ]] || [[ -z "${ZPOOL_PASSWORD}" ]] || [[ "${#ZPOOL_PASSWORD}" -lt '8' ]]; do + while [[ ! "${zpoolPassword}" == "${zpoolPasswordVerify}" ]] || [[ -z "${zpoolPassword}" ]] || [[ "${#zpoolPassword}" -lt '8' ]]; do printf \ "\nEnter a password to encrypt your root pool (minimum 8 characters):\n" read \ -r \ -s \ - ZPOOL_PASSWORD + zpoolPassword printf \ "\nVerify the password to encrypt your root pool:\n" read \ -r \ -s \ - ZPOOL_PASSWORD_VERIFY + zpoolPasswordVerify - if [[ ! "${ZPOOL_PASSWORD}" == "${ZPOOL_PASSWORD_VERIFY}" ]]; then + if [[ ! "${zpoolPassword}" == "${zpoolPasswordVerify}" ]]; then printf \ "ERROR:\tPasswords do not match!\n" - elif [[ -z "${ZPOOL_PASSWORD}" ]]; then + elif [[ -z "${zpoolPassword}" ]]; then printf \ "ERROR:\tPassword is empty!\n" - elif [[ "${#ZPOOL_PASSWORD}" -lt '8' ]]; then + elif [[ "${#zpoolPassword}" -lt '8' ]]; then printf \ "ERROR:\tPassword is too short!\n" fi @@ -63,18 +63,18 @@ fi /etc/zfs/keys/ printf \ - "${ZPOOL_PASSWORD}\n" | tee /etc/zfs/keys/${HOSTNAME,,}.key &> /dev/null + "${zpoolPassword}\n" | tee /etc/zfs/keys/${hostname,,}.key &> /dev/null chmod \ 000 \ - /etc/zfs/keys/${HOSTNAME,,}.key + /etc/zfs/keys/${hostname,,}.key zpool create \ -o ashift=12 \ -o autotrim=on \ -o compatibility=openzfs-2.1-linux \ -O encryption=on \ - -O keylocation=file:///etc/zfs/keys/${HOSTNAME,,}.key \ + -O keylocation=file:///etc/zfs/keys/${hostname,,}.key \ -O keyformat=passphrase \ -O acltype=posixacl \ -O xattr=sa \ @@ -85,8 +85,8 @@ fi -O canmount=off \ -O mountpoint=/ \ -R /mnt \ - ${HOSTNAME,,} \ - ${DISK}${PART3} + ${hostname,,} \ + ${disk}${part3} else zpool create \ -o ashift=12 \ @@ -102,42 +102,42 @@ fi -O canmount=off \ -O mountpoint=/ \ -R /mnt \ - ${HOSTNAME,,} \ - ${DISK}${PART3} + ${hostname,,} \ + ${disk}${part3} fi zfs create \ -o canmount=off \ -o mountpoint=none \ - ${HOSTNAME,,}/ROOT + ${hostname,,}/ROOT # else # zpool import \ # -N \ # -R \ # /mnt \ -# ${HOSTNAME,,} +# ${hostname,,} # # zfs load-key \ # -r \ # -L prompt \ -# ${HOSTNAME,,} +# ${hostname,,} # fi zfs create \ -o canmount=noauto \ -o mountpoint=/ \ - ${HOSTNAME,,}/ROOT/${ID} + ${hostname,,}/ROOT/${ID} zfs mount \ - ${HOSTNAME,,}/ROOT/${ID} + ${hostname,,}/ROOT/${ID} # if [[ ! "${*}" = *--no-part* ]]; then zfs create \ - ${HOSTNAME,,}/home + ${hostname,,}/home zfs create \ -o mountpoint=/root \ - ${HOSTNAME,,}/home/root + ${hostname,,}/home/root chmod \ 700 \ @@ -146,29 +146,29 @@ zfs mount \ zfs create \ -o canmount=off \ -o mountpoint=/var \ - ${HOSTNAME,,}/var + ${hostname,,}/var zfs create \ -o canmount=off \ - ${HOSTNAME,,}/var/lib + ${hostname,,}/var/lib zfs create \ - ${HOSTNAME,,}/var/log + ${hostname,,}/var/log zfs create \ - ${HOSTNAME,,}/var/spool + ${hostname,,}/var/spool zfs create \ -o com.sun:auto-snapshot=false \ - ${HOSTNAME,,}/var/cache + ${hostname,,}/var/cache zfs create \ -o com.sun:auto-snapshot=false \ - ${HOSTNAME,,}/var/lib/nfs + ${hostname,,}/var/lib/nfs zfs create \ -o com.sun:auto-snapshot=false \ - ${HOSTNAME,,}/var/tmp + ${hostname,,}/var/tmp chmod \ 1777 \ @@ -176,99 +176,99 @@ zfs mount \ zfs create \ -o mountpoint=/srv \ - ${HOSTNAME,,}/srv + ${hostname,,}/srv zfs create \ -o canmount=off \ -o mountpoint=/usr \ - ${HOSTNAME,,}/usr + ${hostname,,}/usr zfs create \ - ${HOSTNAME,,}/usr/local + ${hostname,,}/usr/local zfs create \ - ${HOSTNAME,,}/var/games + ${hostname,,}/var/games zfs create \ - ${HOSTNAME,,}/var/lib/AccountsService + ${hostname,,}/var/lib/AccountsService zfs create \ - ${HOSTNAME,,}/var/lib/NetworkManager + ${hostname,,}/var/lib/NetworkManager zfs create \ - ${HOSTNAME,,}/var/www + ${hostname,,}/var/www zfs create \ -o com.sun:auto-snapshot=false \ -o mountpoint=/tmp \ - ${HOSTNAME,,}/tmp + ${hostname,,}/tmp - if [[ "${ENCRYPTION}" == 'yes' ]]; then + if [[ "${encryption}" == 'yes' ]]; then zfs create \ -o com.sun:auto-snapshot=false \ -o mountpoint=/etc/zfs/keys \ - ${HOSTNAME,,}/keystore + ${hostname,,}/keystore fi zpool set \ - bootfs=${HOSTNAME,,}/ROOT/${ID} \ - ${HOSTNAME,,} + bootfs=${hostname,,}/ROOT/${ID} \ + ${hostname,,} # else # zfs mount \ -# ${HOSTNAME,,}/home +# ${hostname,,}/home # # zfs mount \ -# ${HOSTNAME,,}/home/root +# ${hostname,,}/home/root # # zfs mount \ -# ${HOSTNAME,,}/var/log +# ${hostname,,}/var/log # # zfs mount \ -# ${HOSTNAME,,}/var/spool +# ${hostname,,}/var/spool # # zfs mount \ -# ${HOSTNAME,,}/var/cache +# ${hostname,,}/var/cache # # zfs mount \ -# ${HOSTNAME,,}/var/lib/nfs +# ${hostname,,}/var/lib/nfs # # zfs mount \ -# ${HOSTNAME,,}/var/tmp +# ${hostname,,}/var/tmp # # zfs mount \ -# ${HOSTNAME,,}/srv +# ${hostname,,}/srv # # zfs mount \ -# ${HOSTNAME,,}/usr/local +# ${hostname,,}/usr/local # # zfs mount \ -# ${HOSTNAME,,}/var/games +# ${hostname,,}/var/games # # zfs mount \ -# ${HOSTNAME,,}/var/lib/AccountsService +# ${hostname,,}/var/lib/AccountsService # # zfs mount \ -# ${HOSTNAME,,}/var/lib/NetworkManager +# ${hostname,,}/var/lib/NetworkManager # # zfs mount \ -# ${HOSTNAME,,}/var/www +# ${hostname,,}/var/www # # zfs mount \ -# ${HOSTNAME,,}/keystore +# ${hostname,,}/keystore # fi if [[ "${ID}" == 'fedora' ]]; then - "${BASEDIR}/base-fedora.sh" -1 + "${baseDir}/fedora.sh" -1 fi # if [[ ! "${*}" = *--no-part* ]]; then zfs create \ - ${HOSTNAME,,}/var/mail + ${hostname,,}/var/mail chmod \ 1777 \ /mnt/tmp # else # zfs mount \ -# ${HOSTNAME,,}/var/mail +# ${hostname,,}/var/mail # fi