How to install Arch and configure it with NeoVim and Hyprland tiling windows manager
Installing Arch
Prepare your key
We ll first start by downloading the iso. The download page can be found here. We ll choose the http direct download.
curl -L -C - --progress-bar -O https://archlinux.mirrors.ovh.net/archlinux/iso/2026.02.01/archlinux-2026.02.01-x86_64.iso
curl -L -C - --progress-bar -O https://archlinux.mirrors.ovh.net/archlinux/iso/2026.02.01/b2sums.txt
b2sum -c b2sums.txt
Now we have to copy it to our USB key.
lsusb
lsblk
sudo dd if=archlinux-2026.02.01-x86_64.iso of=/dev/sdd bs=4M status=progress oflag=sync
Configure and install
Once booted on your USB key, select the first option “Arch Linux install medium (x86_64, UEFI).
You should have a terminal welcoming you.
arch install
Let s go through each option
Archinstall language
English
Locales
Keyboard layout : us
Locale language : en_US.UTF-8
Locale encoding : UTF-8
Mirrors and repositories
Select your region
Disk configuration
Partitioning
Use a best-effort default partition layout
Filesystem : Btrfs
Use Btrfs subvolumes with a default structure : Yes
Use compression : Yes
LVM
No
Disk Encryption
TODO
Btrfs snapshots
TimeShift
Swap
Use swap on zram : Yes (ZSTD)
Bootloader
USE GRUB
Unified kernel images
Yes
Hostname
YouDontNeedMyInputForThisOne
Authentication
User account : name, pass, is a superuser
Profile
Minimal
Applications
Bluetooth : enabled Audio : pipewire (Maybe Alsa is better for RodeCaster Pro 2)
Kernels
Linux - Power-Profiles-Daemon
Power Management
Tuned
Network configuration
Use NetworkManager
Additional packages
None
Timezone
Select yours
NTP
Enabled
Arch config
Congratz ! It should boot. Choose carefully the UEFI entry if you are using a multiboot selector otherwise it will look for legacy grub path
YAY
Before starting the infinite install step, we will install the YAY package manager to take full advantage of AUR.
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Git
yay -S openssh
ssh-keygen -t ed25519 -C "your email"
NVIDIA
Install Nvidia drivers if you are using an Nvidia graphic card :
yay -S linux-headers nvidia-dkms
The DKMS version will recompile the module every time our kernel will update. Wich will improve stability.
Modifying Pacman
Edit /etc/pacman.conf
# Misc options
Color
ILoveCandy
# And uncomment the following 2 lines
[extra]
Include = /etc/pacman.d/mirrolist
Necessary packages
This is a list of packages I use all the time, some of them are necessary in order to have hyprland and zsh to work properly, other are just preferences.
# Fonts
yay -S ttf-font-awesome-5 ttf-firacode-nerd
# Boot and snap
yay -S grub-btrfs efibootmgr timeshift-autosnap
# Hyprland
yay -S hyprland waybar swaync hyprshot hyprlauncher
# Terminal
yay -S zsh kitty tmux neovim fzf bat lsd ripgrep
# File management
yay -S ntfs-3g polkit polkit-gnome nautilus
# Sound
yay -S helvum pavucontrol
# Gaming
yay -S steam heroic-games-launcher
# Video
yay -S ffmpeg opencv vlc vlc-plugins-all kdenlive obs-studio
# Software
yay -S blender godot brave-bin firefox
Reboot, log in, type
start-hyprland
# super + m to exit
and you should be greeted by a working hyprland ! Yeahhh
Hyprland config
Ok, it works. But barely. We ll now import our various configuration files. I am using git to keep them tidy and sync between devices. But I am wondering if adding an Ansible layer to manage them would be worth the overhead.