Installation guide
Pre-installation
Verify the boot mode
# ls /sys/firmware/efi/efivars
Connect to the Internet
# systemctl stop dhcpcd@en...service
# wifi-menu
# ping -c 3 archlinux.org
Update the system clock
# timedatectl set-ntp true
Partition the disks
# fdisk /dev/nvme0n1
Format the partitions
# mkfs.ext4 /dev/nvme0n1p1
# mkfs.ext4 /dev/nvme0n1p2
Mount the file systems
# mount /dev/nvme0n1p1 /mnt
# mkdir /mnt/boot
# mkdir /mnt/home
# mount /dev/nvme0n1p2 /mnt/home
# mount /dev/nvme1n1p2 /mnt/boot
Installation
Select the mirrors
# curl -s "https://www.archlinux.org/mirrorlist/?country=US&protocol=https&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 5 - > /etc/pacman.d/mirrorlist
Install the base packages
# pacstrap /mnt base base-devel
Configure the system
Fstab
# genfstab -U /mnt >> /mnt/etc/fstab
Chroot
# arch-chroot /mnt
Time zone
# ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
# hwclock --systohc
Locale
/etc/locale.gen
en_US.UTF-8 UTF-8
# locale-gen
/etc/locale.conf
LANG=en_US.UTF-8
Network configuration
/etc/hostname
neo
/etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 neo.localdomain neo
intel-ucode
networkmanager
Initramfs
# mkinitcpio -p linux
Root password
# passwd
Boot loader
# bootctl install
/boot/loader/loader.conf
default arch
timeout 0
editor no
/boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
# echo "options root=PARTUUID=$(blkid -s PARTUUID -o value /dev/nvme0n1p1) rw
General recommendations
# systemctl enable --now NetworkManager.service
$ nmcli dev wifi connect SSID password PASSWORD
# fallocate -l 4G /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile
/etc/fstab
/swapfile none swap defaults 0 0
System administration
Users and groups
# useradd -m -G wheel thatoe
# passwd thatoe
Privilege escalation
# EDITOR=nano visudo
%wheel ALL=(ALL) ALL
Package management
pacman
/etc/pacman.conf
Color
ILoveCandy
[multilib]
Include = /etc/pacman.d/mirrorlist
Arch Build System
/etc/makepkg.conf
MAKEFLAGS="-j$(nproc)"
BUILDDIR=/tmp/makepkg makepkg
COMPRESSXZ=(xz -c -z - --threads=0)
Arch User Repository
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si
Graphical user interface
Display server
xorg-server
xorg-xinit
xterm
Display drivers
linux-headers
nvidia-dkms
lib32-nvidia-utils
nvidia-settings
/boot/loader/entries/arch.conf
nvidia-drm.modeset=1
/etc/mkinitcpio.conf
MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm"
/etc/pacman.d/hooks/nvidia.hook
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia
[Action]
Depends=mkinitcpio
When=PostTransaction
Exec=/usr/bin/mkinitcpio -P
Window managers
awesome
Optimization
Solid state drives
# systemctl enable fstrim.timer
List of applications
Official Repositories
arc-gtk-theme
audacity
blender
calibre
compton
displaycal
firefox
gimp
git
lxappearance
mpv
neofetch
picard
papirus-icon-theme
qbittorrent
ranger
steam
thunar
ttf-dejavu
ttf-font-awesome
ttf-liberation
ttf-roboto
udiskie
vim
youtube-dl
Arch User Repository
discordAUR
private-internet-access-vpnAUR
slack-desktopAUR
sublime-text-devAUR
spotifyAUR
viberAUR
Configuration
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
~/.xinitrc
xrandr --output DP-0 --mode 2560x1440 --rate 165 --dpi 96
exec awesome
$ cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
$ cp /usr/share/awesome/themes/default/theme.lua ~/.config/awesome/theme.lua
$ cp /etc/xdg/compton.conf ~/.config/compton.conf
~/.bashrc
alias pkglist='comm -23 <(pacman -Qeq | sort) <(pacman -Qgq base base-devel | sort)'
alias pia-start='sudo systemctl start openvpn-client@US_New_York_City'
alias pia-stop='sudo systemctl stop openvpn-client@US_New_York_City'
$ cp /usr/share/doc/mpv/mpv.conf ~/.config/mpv/mpv.conf
$ cp /usr/share/doc/mpv/input.conf ~/.config/mpv/input.conf
~/.config/mpv/mpv.conf
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample
/etc/private-internet-access/login.conf
USERNAME
PASSWORD
# chmod 0600 /etc/private-internet-access/login.conf
# chown root:root /etc/private-internet-access/login.conf
# pia -a