My install notes to get Arch Linux set up just the way I like it, June 2020 edition. Reference: https://wiki.archlinux.org/index.php/Installation_guide
Change to dvorak layout:loadkeys dvorak
Sync NTP time:timedatectl set-ntp true
Configure disk:fdisk
#create separate efi partition, LVM root & swappvcreate <dev>
vgcreate arch <dev>
lvcreate -L+2G arch -n swap
lvcreate -l100%FREE -n root arch
Initialize swap:mkswap /dev/arch/swap
swapon /dev/arch/swap
Format & Mount root:mkfs.ext4 /dev/arch/root
mount /dev/arch/root /mnt
Create EFI partitionmkdosfs -F32 <partition 1>
mkdir /mnt/efi
mount <partition 1> /mnt/efi
Make mirrorlist use only xmissionsed -i 's/^Server/#Server/g;s/#Server\(.*xmission.*\)/Server\1/g' /etc/pacman.d/mirrorlist
Install base system plus extra packages:pacstrap /mnt base linux linux-firmware lvm2 efibootmgr samba vim htop networkmanager inetutils man-db man-pages texinfo openssh grub
Generate fstabgenfstab -U /mnt >> /mnt/etc/fstab
Enter new environment chrootarch-chroot /mnt
Set timezoneln -sf /usr/share/zoneinfo/America/Boise /etc/localtime
Configure en_US localessed -i 's/^#en_US\(.*\)/en_US\1/g' /etc/locale.gen
locale-gen
Make dvorak layout permanentecho "KEYMAP=dvorak" > /etc/vconsole.conf
Set hostnameecho "_HOSTNAME_" > /etc/hostname
echo "127.0.1.1 _HOSTNAME_._DOMAIN_ _HOSTNAME_" >> /etc/hosts
Enable lvm2 hook for initial ramdisk (boot)sed -i 's/HOOKS=(.*\<block\>/& lvm2/' /etc/mkinitcpio.conf
Generate initial ramdiskmkinitcpio -P
Set password for root user:passwd
Install Grub (EFI)grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
Enable networking & SSH on bootup:systemctl enable NetworkManager sshd
Configure NTPyum -y install ntp
#modify /etc/ntp.conf for timeservers as desired
systemctl enable ntpd
Exit chroot & rebootexit
reboot