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.