#!/bin/bash #variable=$(dialog --title "" 3>&1 1>&2 2>&3 3>&-) #pacman -S dialog #device_to_install_to=$(dialog --title "Device" --inputbox "Write the Path to the device to install to (eg. /dev/vda)" 3>&1 1>&2 2>&3 3>&-) localectl set-keymap de-latin1-nodeadkeys timedatectl set-timezone Europe/Berlin timedatectl set-ntp yes echo "Choose Device: 1) /dev/sda 2) /dev/vda 3) Other Path" read -r choise if [ "$choise" == 1 ];then path="/dev/sda" part1="/dev/sda1" part2="/dev/sda2" elif [ "$choise" == 2 ];then path="/dev/vda" part1="/dev/vda1" part2="/dev/vda2" elif [ "$choise" == 3 ];then read -r -p "Enter Device-Path: " path part1="$path"1 part2="$path"2 else echo "Path not recognized, aborting" exit 1 fi cryptrootname="cryptroot" parted --script "$path" \ mklabel gpt \ mkpart "efi" fat32 1MiB 501MiB \ set 1 esp on \ mkpart "root" btrfs 501MiB 100% mkfs.vfat "$part1" -n EFI cryptsetup --cipher aes-xts-plain64 --hash sha512 --use-random --verify-passphrase luksFormat "$part2" cryptsetup luksOpen "$part2" $cryptrootname mkfs.btrfs /dev/mapper/$cryptrootname -L arch mount /dev/mapper/$cryptrootname /mnt cd /mnt || exit 1 btrfs subvolume create @ btrfs subvolume create @home btrfs subvolume create @var btrfs subvolume create @log btrfs subvolume create @cache cd ~ || exit 1 umount -R /mnt mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@ /dev/mapper/$cryptrootname /mnt mkdir -p /mnt/{home,boot,var} mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@home /dev/mapper/$cryptrootname /mnt/home mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@var /dev/mapper/$cryptrootname /mnt/var mkdir -p /mnt/var/{cache,log} mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@log /dev/mapper/$cryptrootname /mnt/var/log mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@cache /dev/mapper/$cryptrootname /mnt/var/cache mount "$part1" /mnt/boot pacstrap /mnt base linux-firmware vim git btrfs-progs genfstab -U /mnt >> /mnt/etc/fstab ln -sf /run/systemd/resolve/stub-resolv.conf /mnt/etc/resolv.conf arch-chroot /mnt