Arch Linux installation steps
This is less of a guide, and more of a log of the steps I've taken to install Arch on few computers. I thought it might help me in the future if I ran into issues with this installation. I also thought it might show others the sequence of steps to get a working installation.

install Arch base archlinux-2022.01.01-x86_64.iso

// boot ISO

// find wlan0 with
iw dev

iwlist scan | grep ESSID

killall dhcpcd wpa_supplicant
wpa_passphrase YOUR_NETWORK_SSID_HERE 'YOUR_WPA_KEY_HERE' > /etc/wpa_supplicant/YOUR_NETWORK_SSID_HERE.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/YOUR_NETWORK_SSID_HERE.conf
dhcpcd wlan0

timedatectl set-ntp true

fdisk -l

fdisk /dev/sda


// delete all partitions

// add EFI partition
+550M // size
y // remove ext2 signature
ef // change partition type to EFI

// CTRL+ALT+F2 to switch to second terminal and
// cat /proc/meminfo | grep MemTotal
// to find RAM size, to determine swap size

// add SWAP partition
+4G // size
82 // change partition type to Linux Swap

// add Linux partition
+120G // size
// type is default, 83: Linux

// format EFI partition with FAT32
mkfs.fat -F 32 /dev/sda1

// initialize swap partition
mkswap /dev/sda2

// format root patition
mkfs.ext4 /dev/sda3

// mount root partition
mount /dev/sda3 /mnt
// mount EFI partition
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
// start swap partition
swapon /dev/sda2

// install base package
pacstrap /mnt base linux linux-firmware

// generate fstab
genfstab -U /mnt >> /mnt/etc/fstab

// change root to mounted root partition
arch-chroot /mnt

// change timezone
ln -sf /usr/share/zoneinfo/Canada/Eastern /etc/localtime

// set hardware clock to UTC
hwclock --systohc

// generate locale

// create locale configuration
touch /etc/locale.conf

// install nano
pacman -S nano

nano /etc/locale.conf
// add line LANG=en_US.UTF-8

// keyboard layout
touch /etc/vconsole.conf
nano /etc/vconsole.conf
// add line KEYMAP=us

// network configuration
touch /etc/hostname
nano /etc/hostname
// add line myhostname

// set root password

// install GRUB loader
pacman -S grub
pacman -S efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

// reboot

// bad! base installation doesn't have networking tools

// boot again from USB

// perform network bring-up again

arch-chroot /mnt

pacman -S iw
pacman -S wpa_supplicant
pacman -S dhcpcd

// list installed PCI kernel drivers
lspci -k
// adapter device is wlp2s0

killall dhcpcd wpa_supplicant
wpa_passphrase YOUR_NETWORK_SSID_HERE 'YOUR_WPA_KEY_HERE' > /etc/wpa_supplicant/YOUR_NETWORK_SSID_HERE.conf
wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/YOUR_NETWORK_SSID_HERE.conf
dhcpcd wlp2s0

// works, but must be made automatic

// install network manager netctl
pacman -S netctl

cp /etc/netctl/examples/wireless-wpa /etc/netctl/mynetwork
nano /etc/netctl/mynetwork

// enable and connect wifi manually
netctl start mynetwork

// register profile for automatic startup
netctl enable mynetwork

// basically, netctl's configuration is used to invoke wpa_supplicant
// so the way I configured wpa_supplicant manually is no longer useful

// to prevent wifi connection by default, disable via
netctl disable mynetwork
// and only start it on-demand via
netctl start mynetwork

create user and allow sudo

pacman -S sudo
useradd -m myuser
passwd mypassword
EDITOR=nano visudo
// in User privilege specification
add line: myuser ALL=(ALL) ALL

auto-mount Windows shared partition

// add line to fstab:
// UUID=94DF-9821 /mnt/shared vfat rw,relatime,fmask=0,dmask=0,umask=0,codepage=437,iocharset=utf8,shortname=mixed,utf8,errors=remount-ro 0 3
// the "3" at the end is the order in which this partition is automatically fsck'd

install KDE

pacman -S xorg plasma plasma-wayland-session kde-applications
// when prompted for repository, pick core over all else, then extra, then community

systemctl enable sddm.service
shutdown now

// KDE shows no connections, but browser works with already configured wifi (via netctl)
// no need for: systemctl enable NetworkManager.service

configure KDE

// in the UI make login screen based on breeze (the default theme)
// then edit time formatting here to format time on login screen
// add format argument: , "hh:mm ap"

// remove Hibernate button (and maybe others) on Logout screen here:

// remove Switch User option from lock screen
// add to button: visible: false

// remove buttons from login screen
// careful: there are two sections of buttons: one for the "click on user face" view
// and one for the "enter user name" view

// clear widgets that come back after a computer restart
// (but first log out user)
// I removed any references to: