HOSTNAME="$1" DISK="$2" function run(){ echo "[ ] $1" echo "# $1" >>install.log echo "> $2" >>install.log bash -c "$2" &>>install.log \ && echo -e "\e[1A\e[K[ \e[32mOK\e[0m ] $1" \ || { echo -e "\e[1A\e[K[\e[31mFAIL\e[0m] $1" bash -c "$3" exit } echo >>install.log } echo >install.log echo -n "password for freenen: " read -s PASS echo echo -n "retype password: " read -s PASSRE echo if [ "$PASS" != "$PASSRE" ]; then echo "password do not match" exit fi echo run "set timezone" "ln -sf /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime" run "set hwclock to UTC" "hwclock --systohc" run "generate locals" "locale-gen" run "config locals" "echo \"LANG=en_GB.UTF-8\" >/etc/locale.conf" run "set hostname" "echo \"$HOSTNAME\" >/etc/hostname" echo "create hosts file" echo "127.0.0.1 localhost" >/etc/hosts echo "::1 localhost" >>/etc/hosts echo "127.0.1.1 $HOSTNAME" >>/etc/hosts run "config initramfs" "sed --in-place -e 's/HOOKS=(.*)/HOOKS=(base udev autodetect microcode modconf kms keyboard block encrypt filesystems fsck)/' /etc/mkinitcpio.conf" run "generate initramfs" "mkinitcpio -P" DISKUUID=$(blkid --output export ${DISK}3 | grep '^UUID' | sed 's/UUID=//') run "install systemd-boot" "bootctl install" run "create boot config for main" "cat >/boot/loader/entries/arch.conf </boot/loader/entries/arch-fallback.conf </boot/loader/loader.conf <>/etc/sudoers" run "touch authoized keys" "touch /home/freenen/.ssh/authorized_keys" run "add sshkeys for new user" "curl -o /home/freenen/.ssh/authorized_keys https://github.com/FReenen.keys"