Introduction
This is my personal guide to installing Arch Linux with the Hyprland Wayland compositor. Below are the detailed steps I follow to set up a minimal Arch system, configure networking, install Hyprland, and tweak it to my liking.
Pre-Installation
- Download ISO: Download the Arch Linux ISO from the official site.
- Write ISO: Use a tool like Ventoy to write the ISO to a USB drive.
- Disable Secure Boot: Enter your BIOS and turn off Secure Boot.
- Boot ISO: Boot the USB using Ventoy and wait for the prompt (
root@archiso~#
).
Initial Setup and Installation
Follow these commands exactly at the prompt:
ip addr show
– Check network interfaces.iwctl
– Enter the wireless control utility.- At the
[iwctl]
prompt, run:station wlan0 get-networks
to list available networks. exit
– Exit iwctl.iwctl --passphrase "your_wifi_password" station wlan0 connect "Your\ Wifi\ Name"
– Connect to your WiFi (use quotes and escape spaces).ip addr show
– Verify connection (ensure wlan0 has an IP address).archinstall
– Launch the Arch installer.- Within
archinstall
, choose firefox as an additional package.
Go through the archinstall
menu from top to bottom:
- Language: Select "English (100%)".
- Mirrors & Mirror Region: Check "United States" (use spacebar to select), then hit Enter and use "Back" to return.
- Locales: Leave as "us, en_US, UTF-8".
- Disk Configuration & Partitioning: Choose "Use a best-effort default partition layout", select your hard drive, choose "ext4", enable /home, then hit "Back".
- Swap: Enable "Swap on zram".
- Bootloader: Set to "Systemd-boot".
- Unified Kernel Images: Disable.
- Hostname: Leave as "archlinux".
- Root Password: Set a password.
- User Account: Add a username/password and enable sudo.
- Profile & Type: Select "Desktop", choose "Hyprland", enable "polkit", set Graphics Driver to "intel driver", and set Greeter to "sddm".
- Audio: Choose "pipewire".
- Kernels: Select "linux" and "linux-lts" (ensure "linux" is first in the Kernel Info pane).
- Network Configuration: Choose "Copy ISO config to installation".
- Skip "Additional Packages" and "Optional Repositories".
- Timezone: Select "America/New_York".
- Automatic Time Sync (NTP): Ensure enabled.
- Skip "Save Configuration".
- Install: Select "Install" and confirm with "YES".
After installation:
- When prompted to chroot, select "No".
- Run
reboot
to restart the system.
Post-Installation Boot
- BIOS Boot Order: Enter BIOS, set the hard drive as the first boot option, then exit.
- Boot into Arch with Hyprland.
Initial Hyprland Configuration
- Login: From the ly (or sddm) greeter, log in to the Hyprland session.
- Remove Warning: Open
kitty
and pressCtrl+q
to quit if needed. - Edit Hyprland Config: Open a terminal (kitty) and run
nano ~/.config/hypr/hyprland.conf
. Save a backup ashyprland.conf-bak
. - Reopen the config file, remove line 8 that reads
autogenerated = 1 # remove this line...
, then write and exit. The warning message will then go away. - Check for Updates: Run
sudo pacman -Syyu
.
Additional Software Installation
- Install gedit: Run
sudo pacman -S gedit
. (This installs 11 packages including enchant, gobject-introspection-runtime, gspell, libgedit components, libhandy, libpeas, and gedit itself.) - Install pika-backup: Run
sudo pacman -S pika-backup
. (This installs 27 packages including appstream, borg, gcr, graphene, gst-plugins-bad-libs, gtk4, gupnp, gvfs, libadwaita, libcdio, libnice, libxmlb, libyaml, several Python packages, and pika-backup.)
Wallpaper Setup with Hyprpaper
- Install Hyprpaper: Run
sudo pacman -S hyprpaper
. - Add
exec-once = hyprpaper
to the autostart section of~/.config/hypr/hyprland.conf
(for example, at line 51). - Configure Hyprpaper: Create or edit
~/.config/hypr/hyprpaper.conf
usingnano
and add:preload = /home/robert/wallpaper.png wallpaper = HDMI-A-1, /home/robert/wallpaper.png
- Download an Arch wallpaper (with a .png extension) from here (as found on this forum thread) and save it to
~/wallpaper.png
- Reboot the system.
Bluetooth PC Speakers Setup
- Install Bluetooth Packages: Run
sudo pacman -S bluez bluez-utils bluez-deprecated-tools blueman
. (This installs packages such as libnm, python-cairo, python-gobject, blueman, bluez, etc.) - Enable Bluetooth Service: Run
sudo systemctl enable bluetooth.service
. - Run
blueman-manager
, search for, pair, and trust your speakers. - Add
exec-once = bluetoothctl connect 10:94:97:11:D0:8F
to the autostart section of~/.config/hypr/hyprland.conf
. - Reboot the system.
Pavucontrol Installation
- Run
sudo pacman -S pavucontrol
. (This installs packages including cairomm, glibmm, gtkmm, libsigc++, pangomm, and pavucontrol.)
Waybar Setup
- Install Prerequisite Font: Run
sudo pacman -S ttf-font-awesome
. - Create a directory for Waybar in
~/.config
and then create the file~/.config/waybar/config.jsonc
. - Enter this following default configuration into the file.
- Change line 10 and line 16 from "sway" to "hyprland"
- exec-once = waybar to the autostart section of ~/.config/hypr/hyprland.conf
- install power-profiles-daemon, and then add user to the input group, finally reboot. Happy computing.