#!/bin/bash echo "testing uplink..." ping -c4 8.8.8.8 || (echo "!!!ERROR NO UPLINK - ABORTING!!!" && exit) echo "Starting base Installer..." echo "is the clock correct? - if not abort with CTRL+C" timedatectl timedatecheckwaitercount=0 echo "sleeping for 20s" let "timedatecheckwaitercount=timedatecheckwaitercount+1" #this is hard coded for assurance that the wait wont be skipped echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo $timedatecheckwaitercount sleep 1s let "timedatecheckwaitercount=timedatecheckwaitercount+1" echo "Continuing..." #autoformat.sh mkfs.fat "$blockdev"p1 mkswap "$blockdev"p2 mkfs.btrfs "$blockdev"p3 mount "$blockdev"p3 /mnt/ btrfs subvolume create /mnt/@ btrfs subvolume create /mnt/@home mkdir /mnt/@/boot mount "$blockdev"p1 /mnt/@/boot umount /mnt mount -o compress=zstd,subvol=@ "$blockdev"p3 /mnt mkdir -p /mnt/home mount -o compress=zstd,subvol=@home "$blockdev"p3 /mnt/home mount "$blockdev"p1 /mnt/@/boot swapon "$blockdev"p2 # pacstrap -K /mnt base linux linux-firmware pacstrap -K /mnt base base-devel linux linux-firmware git btrfs-progs grub efibootmgr grub-btrfs inotify-tools timeshift vim networkmanager pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber reflector zsh zsh-completions zsh-autosuggestions openssh man sudo # Fetch the disk mounting points as they are now ( we mounted everything before ) and generate instructions to let the system know how to mount the various disks automatically genfstab -U /mnt >> /mnt/etc/fstab # Check if fstab is fine ( it is if you've faithfully followed the previous steps ) cat /mnt/etc/fstab cp ~/Dotfiles/setup/chroot-install.sh /mnt/ arch-chroot /mnt umount -R /mnt reboot