Install Arch (UEFI)
Updated - 2020-08-26

# after booting into arch from usb

# connect to wifi (if not connected via ethernet)
# wifi-menu
#(follow prompts to connect)

# Update: 2020-08-17
# network connection is now handled using iwctl
iwctl
# prompt will change to [iwd]#
device list  #  list all wifi devices
station device-name scan # scan for networks
station device-name get-networks # list available networks
station device-name connect SSID # connect to found network

# make sure you know which drive you're installing on
lsblk 
# (assuming /dev/sda from this point on)

# create partitions
cfdisk /dev/sda
    # delete any existing partitions
    # and create 2 new partitions
    1. 300M : type = EFI System (/dev/sda1)
    2. remainder: type = Linux filesystem (/dev/sda2)
    [Write]
    [Quit]
# make sure everything looks right with:
fdisk -l

# format new partitions
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2

# mount 
mount /dev/sda2 /mnt

# edit mirrors list for faster downloads
vim /etc/pacman.d/mirrorlist
#    ( move closest mirrors to top or comment others out )

# do actual install
pacstrap /mnt base base-devel linux linux-headers linux-firmware vim
## NOTE: to use the lts version of the kernel, swap linux and linux-headers for 
## linux-lts and linux-lts-headers

# generate fstab
genfstab -U -p /mnt >> /mnt/etc/fstab
# make sure it looks ok
cat /mnt/etc/fstab

# move into installed system to configure
arch-chroot /mnt

# install and enable networkmanager
pacman -S networkmanager
systemctl enable NetworkManager

# set hostname
echo "your-hostname" > /etc/hostname

# locale and timezone stuff
vim /etc/locale.gen
# ( uncomment 2 en_US entries )

locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

timedatectl set-ntp true

# set root password
passwd 
# ( and enter new password 2ce )

# install and configure grub
pacman -S grub efibootmgr dosfstools os-prober mtools
mkdir /boot/EFI
mount /dev/sda1 /boot/EFI
grub-install --target=x86_64-efi --bootloader-id=grub_uefi
grub-mkconfig -o /boot/grub/grub.cfg

# exit arch-chroot, unmount and reboot
exit
umount -a
reboot