#!/bin/bash # This a lazy and DANGEROUS way to install Arch. # I do not recommend this to other people, ONLY # do this if you exactly understand EVERY SINGLE # LINE of this bash script. You'll thank me later. pacman -Sy --noconfirm dialog || { printf "Error at script start:\n\nAre you sure you're running this as the root user?\n\t(Tip: run 'whoami' to check)\n\nAre you sure you have an internet connection?\n\t(Tip: run 'ip a' to check)\n" exit } # Hardware AES Detection if grep -q "\baes\b" /proc/cpuinfo; then AES_NI="yes" else AES_NI="no" fi dialog --no-cancel --inputbox "Enter the hostname." 10 60 2>comp clear lsblk -d | sed 's/0 disk/0 disk\\n/;s/POINT/POINT\\n/' read -rp "Press any key to continue" dialog --no-cancel --inputbox "Enter the drive you want do install Arch on." 10 60 2>drive dialog --defaultno --title "Time Zone select" --yesno "Do you want use the default time zone(Europe/Zurich)?.\n\nPress no for select your own time zone" 10 60 && echo "Europe/Zurich" >tz.tmp || tzselect >tz.tmp dialog --no-cancel --inputbox "Enter swapsize in gb (only type in numbers)." 10 60 2>swapsize ls /sys/firmware/efi/efivars && EFI=yes SIZE=$(cat swapsize) DRIVE=$(cat drive) PVALUE=$(echo "${DRIVE}" | grep "^nvme" | sed 's/.*[0-9]/p/') timedatectl set-ntp true # Dynamic Partitioning if [ "$EFI" = "yes" ]; then if [ "$AES_NI" = "yes" ]; then UEFI_LETTER="1" SWAP_LETTER="2" ROOT_LETTER="3" cat <>/mnt/etc/fstab # Pass variables to chroot cat tz.tmp >/mnt/tzfinal.tmp echo "$AES_NI" >/mnt/aes.tmp rm tz.tmp mv drive /mnt mv comp /mnt/etc/hostname curl -LO https://noahvogt.com/chroot.sh --output-dir /mnt && arch-chroot /mnt bash chroot.sh && rm /mnt/chroot.sh