2017-09-25 01:11:10 +00:00
#!/bin/bash
#This is a lazy script I have for auto-installing Arch.
#It's not officially part of LARBS, but I use it for testing.
#DO NOT RUN THIS YOURSELF because Step 1 is it reformatting /dev/sda WITHOUT confirmation,
#which means RIP in peace qq your data unless you've already backed up all of your drive.
2017-10-05 00:26:34 +00:00
pacman -S --noconfirm dialog || ( echo "Error at script start: Are you sure you're running this as the root user? Are you sure you have an internet connection?" && exit )
RED = '\033[0;31m'
BLUE = '\033[0;34m'
NC = '\033[0m'
2017-10-05 09:33:45 +00:00
dialog --defaultno --title "DON'T BE A BRAINLET!" --yesno "This is an Arch install script that is very rough around the edges.\n\nOnly run this script if you're a big-brane who doesn't mind deleting your entire /dev/sda drive.\n\nThis script is only really for me so I can autoinstall Arch.\n\nt. Luke" 15 60 || exit
2017-10-05 00:26:34 +00:00
dialog --defaultno --title "DON'T BE A BRAINLET!" --yesno "Do you think I'm meming? Only select yes to DELET your entire /dev/sda and reinstall Arch.\n\nTo stop this script, press no." 10 60 || exit
2017-10-05 07:19:56 +00:00
dialog --no-cancel --inputbox "Enter a name for your computer." 10 60 2> comp
2018-01-22 21:20:04 +00:00
dialog --no-cancel --inputbox "Enter partitionsize in gb, separated by space (swap & root)." 10 60 2>psize
IFS = ' ' read -ra SIZE <<< $( cat psize)
re = '^[0-9]+$'
if ! [ ${# SIZE [@] } -eq 2 ] || ! [ [ ${ SIZE [0] } = ~ $re ] ] || ! [ [ ${ SIZE [1] } = ~ $re ] ] ; then
SIZE = ( 12 25) ;
fi
2017-09-25 01:11:10 +00:00
timedatectl set-ntp true
cat <<EOF | fdisk /dev/sda
o
n
p
+200M
n
p
2018-01-22 21:20:04 +00:00
+${ SIZE [0] } G
2017-09-25 01:11:10 +00:00
n
p
2018-01-22 21:20:04 +00:00
+${ SIZE [1] } G
2017-09-25 01:11:10 +00:00
n
p
w
EOF
partprobe
mkfs.ext4 /dev/sda4
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
mkdir /mnt/home
mount /dev/sda4 /mnt/home
2017-10-05 07:19:56 +00:00
2017-10-05 01:12:14 +00:00
pacstrap /mnt base base-devel
2017-09-25 01:11:10 +00:00
genfstab -U /mnt >> /mnt/etc/fstab
2017-11-24 17:08:29 +00:00
curl https://raw.githubusercontent.com/LukeSmithxyz/LARBS/master/src/chroot.sh > /mnt/chroot.sh && arch-chroot /mnt bash chroot.sh && rm /mnt/chroot.sh
2017-09-25 01:11:10 +00:00
2017-10-06 05:44:26 +00:00
cat comp > /mnt/etc/hostname && rm comp
2017-10-05 09:53:46 +00:00
dialog --defaultno --title "Final Qs" --yesno "Eject CD/ROM (if any)?" 5 30 && eject
dialog --defaultno --title "Final Qs" --yesno "Reboot computer?" 5 30 && reboot
dialog --defaultno --title "Final Qs" --yesno "Return to chroot environment?" 6 30 && arch-chroot /mnt
clear