User:Thatoe

From ArchWiki

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