Arch Linux

Here is my recipe for installing Arch Linux.

Arch Linux Logo My favourite distribution of Linux is Arch Linux. The reason? It lets you choose exactly what components you'd like to install - nothing more. Unlike pre-packaged distros like Ubuntu, Arch doesn't come with an office suite, a graphics editor, various games, tons of GUI tools, etc. Oh, you can install all of these things. As a matter of fact, you can make Arch look and behave exactly like Ubuntu, or any other distro. But that's not what I'm into.

When I install Arch, I either run Tom's Window Manager (TWM) which was one of the original window managers for Unix, or I run XFCE4 which is a nice, lightweight but modern window manager. I tend to install Arch often - recently I re-did my laptop after buying a bigger hard drive, or into a virtual machine for testing purposes. Here is the guide I use to install Arch:

Installation Notes

# iwctl                                ;when using wifi instead of LAN
[iwd]# device list                     ;make note of your device ie: wlan0
[iwd]# station {device} connect {SSID}
# ping archlinux.org                   ;ensure you have Internet!
# lsblk                                ;list devices
# fdisk /dev/sdx                       ;partition drive
Command: g                             ;create GPT table - clears drive
Command: n, 1, enter, +512M            ;partition 1 for EFI
Command: t, 1, 1                       ;set partition 1 type = 1 (EFI Boot)
Command: n, 2, enter, +8192M           ;partition 2 for Swap
Command: t, 2, 19                      ;set partition 1 type = 19 (swap)
Command: n, 3, enter, enter            ;partition 3 for Linux System
                                        ;by default, partition type = system
Command: p                             ;display partition table - double check!
Command: w                             ;write changes and exit app
# mkfs.fat -F32 /dev/sdxX              ;format EFI boot partition
# mkfs.ext4 /dev/sdxY                  ;format primary partition
# mkswap /dev/sdxZ
# swapon /dev/sdxZ
# mount /dev/sdxY /mnt
# pacman -Syy
# pacman -S reflector
# reflector -c "Canada" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
# pacman -Sy archlinux-keyring
# pacstrap -K /mnt base base-devel bash-completion linux linux-firmware vim vi rfkill networkmanager
Other Packages To Consider:
intel-ucode         ;if running an Intel processor
os-prober ntfs-3g   ;if dual booting with Windows
# genfstab -U /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
# vi /etc/locale.gen                   ;uncomment en_US.UTF-8 UTF-8
# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# ln -sf /usr/share/zoneinfo/{Zone}/{SubZone} /etc/localtime
# hwclock --systohc --utc
# timedatectl set-ntp true
# echo {hostname} > /etc/hostname      ;replace {hostname} with your preference
# vi /etc/hosts                        ;insert lines listed below:
127.0.0.1   localhost
::1         localhost
127.0.1.1   {hostname}
# systemctl enable NetworkManager.service    ; if required
# passwd
# pacman -S grub efibootmgr
# mkdir /boot/efi
# mount /dev/sdxX /boot/efi
# grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
# grub-mkconfig -o /boot/grub/grub.cfg
# vi /etc/pacman.conf                  ;uncomment Color and multilib repository!
# useradd -m -G wheel -s /bin/bash rick
# passwd rick
# visudo                               ;uncomment 'wheel' group line!
# exit
# reboot

Once rebooted, install nice things. Run all these commands with:

sudo pacman -S {package}

first, update repositories:
sudo pacman -Sy

PACKAGES:
---------
xorg
xorg-server
xorg-apps
xorg-xinit
xterm
xorg-fonts-100dpi
xorg-fonts-75dpi
plasma-meta                            ;KDE desktop
kde-applications-meta                  ;KDE applications
terminus-font                          ;nice font for the console!
                                        ;create; /etc/vconsole.conf with the line:
                                        ;FONT=ter-p24n

LOGIN SERVICE:
---------------
sudo systemctl enable sddm             ;enables KDE login

VIRTUALBOX GUEST:
-----------------
pacman -S virtualbox-guest-utils
vi ~/.xinitrc                          ;add /usr/bin/VBoxClient-all

OTHER PACKAGES:
---------------
yay                                    ;aur + pacman wrapper
stellarium                             ;night sky simulator
stella                                 ;Atari 2600 emulator
gimp                                   ;image manipulation
firefox                                ;web browser
vlc                                    ;multimedia player
libreoffice                            ;office suite
clamav                                 ;antivirus
jre7-openjdk                           ;java runtime
virtualbox                             ;virtualization
                                        ;gpasswd -a {user} vboxusers

HP printing
-----------
cups                                   ;systemctl enable org.cups.cupsd.service
                                        ;gpasswd -a {user} lp
gtk3-print-backends                    ;required to print from Firefox

UPDATES:
--------
sudo pacman -Syu
or
yay