Arch Linux
Introduction
Arch is a very DIY OS. Even though it is less so than Gentoo or Linux From Scratch, there is the expectation that you know enough about system-level things to do the installation. They also have lots of options, so it's even more important to know enough to make decisions on those options.
If you want to be such a techie and/or want to learn your way around the Linux operating system, Arch is a good place to start. If you aren't a techie at all, it is possible, just expect to really roll up those sleaves!
All that said, I have an Arch system, though I don't regularly use it. 😉 Once you get used to it all, it is pretty easy to maintain. And, yes, you can brag if you've keep it all up and running.
Table of Contents
Installation
Okay, want to do the brain-dead thing and get to bragging without learning? Instead of starting with Arch's installation guide, you can use the steps below that I've "compiled". I keep it so I don't have to jump around the pages on Arch's wiki to relearn their style of Linux implementation. In order to use it, you will need some experience with Linux, or willingness to search. Also, as of 1/1/2025, the steps work; at least that is when I reloaded my Arch computer from scratch.
Make and boot to a current installation USB.
Do NOT update! Many places suggest it, and I've done it before. But it has busted things; just recently, reflector.
Connect to the internet, if you've got wireless (change wlan0 if needed):
iwctl
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect <name of SSID>
exit
ping yahoo.com
Check EFI: cat /sys/firmware/efi/fw_platform_size. If you have 64, you're using EFI (GPT). It is blank, you're using BIOS (MBR). If it's 32, you could get it to work, but support is limited.
Partition & mount disks: Typically I have
sda1 => 1GB, ESP or FAT, /mnt/boot/efi/
sda2 => rest of disk, ext4, /mnt/
I use fdisk and usually create a new GPT or MBR.
Check for the best mirrors: reflector
Bootstrap the installation: pacstrap -K /mnt base linux linux-firmware nano
Create your future fstab: genfstab -U /mnt >> /mnt/etc/fstab
Get "into" your Arch installation: arch-chroot /mnt
Set your timezone
timedatectl list-timezones
timedatectl set-timezone <choose your timezone>
Set your locale:
In /etc/locale.gen, uncomment; usually en_US.UTF-8.
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
Name your computer (for network purposes):
echo <name of computer> > /etc/hostname
nano -w /etc/hosts
add the line: 127.0.0.1 localhost
add the line: ::1 locationhost
add the line: 127.0.0.1 <name of computer>
Set root password: passwd
Install bootloader, typically grub
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
grub-mkconfig -o /boot/grub/grub.cfg
You could end here, but let's make it a nice workstation to use...
Create regular user:
useradd -m <username>
passwd <username>
usermod -aG wheel,audio,video,storage <username>
pacman -S sudo
EDITOR=nano visudo
uncomment: %wheel ALL=(ALL:ALL) ALL
Install a DE (desktop environment) & Network Manager; I usually do KDE:
pacman -S xorg NetworkManager
pacman -S plasma-meta kde-applications-meta sddm
systemctl enable sddm.service
systemctl enable NetworkManager.service
Reboot into your new system; be sure to exit/unmount gracefully first.
HINT: Often Wayland is selected by default as your session, so you will have to change it.
I've also created this script {put in link once I copy it to public github repo} to install my favorite/usual apps. Not a few that use AUR, see below.
AUR
The Arch User Repository has lots of packages outside the core supported packages. They are community created & maintained, so understand what that means. In general, it is a multi-step process. You have to find the package here, clone the PKGBUILD using GIT, build it, and finally install it.
Because it is community driven, always do your research. After getting the build files, check to make sure everything looks cool. Some effort is better than no effort and not catching everything is not an excuse, to me, to not do anything at all.
I also like to do this manually, not via a GUI. How often do you install packages? So I create a directory /home/System/aurbuilds/ and do all the work there. For packages & packagers I know I use these commands:
makepkg -sic
git clean -dfx
The last command means you will have to (re)build everything again if you want to reinstall. It deletes all files not tracked by git. Using the -r option in makepkg might better suit your needs. I personally like cleaning up the disc space and starting from scratch when I run into issues.
I do this for Google Chrome and Github Desktop.