Arch Linux with Hyprland: A Beginner's Guide
Discover the power of Arch Linux and Hyprland, two popular choices for minimalist and highly customizable desktop setups. This tutorial will teach you how to install and configure both, providing you with a tailored desktop experience.
11/01/2024

Introduction
What is Hyprland?
Hyprland is a dynamic tiling Wayland compositor written in C++. It's designed to be highly customizable, feature-rich, and visually appealing while maintaining excellent performance. Hyprland provides advanced window management capabilities, smooth animations, and extensive configuration options that allow users to create a truly personalized desktop experience.
Why Hyprland?
Hyprland is an excellent choice for users who want a modern, efficient, and highly customizable desktop environment. As a Wayland compositor, it offers better security, performance, and multi-monitor support compared to traditional X11 window managers. Hyprland's tiling window management automatically organizes your windows for optimal screen space usage, boosting productivity.
The compositor is particularly appealing for power users and developers who appreciate fine-grained control over their desktop environment. With its extensive configuration options, smooth animations, and active development community, Hyprland represents the cutting edge of Linux desktop technology while remaining stable and reliable for daily use.
Installation
Requirements
- A usb drive with at least 8GB of storage
- A ISO image of Arch Linux Download
- A computer with a 64-bit processor
- A stable internet connection
Installation steps
First, you need to download the Arch Linux ISO image from the Arch Linux website. You can download the ISO image from the Arch Linux website by clicking on the download link on the Arch Linux website.
Second, use Ventoy
to burn the ISO image to the USB drive. You can download Ventoy from this website . Once you have downloaded Ventoy, you can craete bootable USB, then copy the ISO file to this.
Third, plug the USB drive into the computer that you want to install Arch Linux on. Then, you need to boot the computer from the USB drive. You can do this by restarting the computer and pressing the boot menu key when the computer starts up. The boot menu key is usually F12, but it can vary depending on the computer. Once you have booted the computer from the USB drive, you need to select the Arch Linux installation option from the boot menu.
Finally, started to install Arch Linux on your computer. You can follow the Arch Linux installation guide to install Arch Linux on your computer.
# Increase the font size
setfont ter-120n
Check the internet connection.
ping google.com
If the internet connection is not working, you can use the following command to connect to the internet.
iwctl
# List the available device
device list
# Scan the available network
station device_name scan
station device_name get-networks
# Connect to the network
station device_name connect SSID
# Enter the password
# Check the connection
station device_name show
# Exit the iwctl and check the connection
exit
ping google.com
# if the connection is working, you can continue the next step
Set up drive partitions to install Arch Linux.
# Show the available disk
lsblk
# Choose the drive has at least 50GB of storage
# Use cfdisk to create a new partition table on the drive
cfdisk /dev/[drive_name]
Create the partitions on the drive.
- Move the cursor to the free space and press
Enter
- Select the
New
option and pressEnter
- Set the size of the partition is
1G
and pressEnter
- Select
type
toEFI System
and pressEnter
- Go to the free space again and select the
New
option and pressEnter
- Set the size of the partition is at least
40GB
and pressEnter
Note: this partition is used to home directory
- Select
write
and pressEnter
to write the changes to the disk thenquit
to exit the cfdisk
# Format the partitions
mkfs.fat -F32 /dev/[drive_name] # EFI partition 1G
mkfs.ext4 /dev/[drive_name] # Home partition >= 40G
# Mount the partitions to the system
mount --mkdir /dev/[drive_name] /mnt/archinstall # Home partition (>= 40G)
mount --mkdir /dev/[drive_name] /mnt/archinstall/boot # EFI partition (1G)
Run archinstall
script to start the installation. In archinstall script, you can choose the following options:
Disk configuration
:- Choose
Pre-mounted configuration
to use the partitions that you have created - Enter the directory:
/mnt/archinstall
- Choose
Bootloader
: ChooseGRUB
as the bootloaderHostname
: Enter the hostname for the computerRoot password
: Enter the root passwordUser
: Create your user account and remember to set user assuperuser
Profile
:- Choose
Desktop
as the profile and selectHyprland
as the desktop environment - Choose
Graphics driver
and select GPU driver for your computer. In my case, I chooseNvidia
driver Greeter
: ChooseSDDM
as the greeter or something you like
- Choose
Additional packages
:- Choose
Yes
to install additional packages - Enter the package name:
grub
efibootmgr
os-prober
neovim
pipewire-pulse
orpulseaudio
- Press enter to verify the package name
- Choose
Network configuration
: ChooseUse NetworkManager
to manage the network connectionTimezone
: Choose the timezone for your location.- Finally, choose
Install
to start the installation process
If you encounter a "Failed to install packages to new root" error when running archinstall
, you may need to update the Arch Linux keyring before proceeding:
pacman -S archlinux-keyring
After that, configure the system to boot into Arch Linux.
bootctl remove
# Mount the EFI partitions of Windows 11
lsblk # Check the EFI partition
mkdir /mnt/windows
mount /dev/[drive_name] /mnt/windows
# Grub installation
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch
grub-mkconfig -o /boot/grub/grub.cfg
Then, config grub
boot menu
nvim /etc/default/grub
Uncomment the following line
GRUB_DISABLE_OS_PROBER=false
Update the grub resolution by find and update the following line
GRUB_GFXMODE=1920x1080x32
Optionally, you can set GRUB to remember your last boot selection:
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
Finally, reboot the computer and select the Arch Linux in the boot menu to start the system.
exit
reboot
After reboot, open the terminal by press Win + Q
, and start to set up dual boot with Windows 11.
sudo grub-mkconfig -o /boot/grub/grub.cfg
Now, you can reboot the computer and can see the Windows 11 in the boot menu.
Set up
Installation
-
Install
yay
pacman -Syu --needed git base-devel git clone https://aur.archlinux.org/yay.git ~/yay cd ~/yay makepkg -si rm -rf ~/yay
-
Install all packages
yes | yay -S --answerclean All --answerdiff None \ hypridle hyprlock hyprpaper hyprpicker xdg-desktop-portal-hyprland-git rofi-wayland \ noto-fonts noto-fonts-cjk noto-fonts-emoji otf-geist otf-geist-mono-nerd \ fastfetch zsh brightnessctl nwg-look playerctl libnotify swaync \ github-cli lazygit lsd ripgrep unzip \ grim slurp cliphist wl-clipboard \ ffmpeg pipewire wireplumber \ thunar gvfs
I use zen as my default browser, you can install it by running the following command:
yay -S --noconfirm zen-browser-bin
If you use another browser, you must change the
$browser
variable in the~/dotfiles/hypr/core/keymaps.conf
file to your browser's executable name. -
Install
oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Remember to choose
zsh
as your default shellThen, install zsh plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
-
UV (Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
-
NVM (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
-
-
Set up github
Open your browser (press
SUPER+B
) and sign in to your GitHub account. Then authenticate GitHub CLI and set up SSH keys:gh auth login
-
Uninstall unnecessary packages (optional)
sudo pacman -Runs htop nano vim wofi
Usage
-
To apply my config, you can run the following command:
git clone git@github.com:tiesen243/dotfiles.git ~/dotfiles
Then, create the symbolic links to the config files
rm ~/.zshrc rm -rf ~/.config/{Thunar,fastfetch,git,hypr,kitty,lazygit,lsd,nvim,rofi,swaync} ln -s ~/dotfiles/{Thunar,fastfetch,git,hypr,kitty,lazygit,lsd,nvim,rofi,swaync} ~/.config ln -s ~/dotfiles/zsh/themes/yuki.zsh-theme ~/.oh-my-zsh/custom/themes ln -s ~/dotfiles/zsh/config.zsh ~/.zshrc
Final, make all scripts in the
dotfiles/scripts
directory executablesudo chmod +x ~/dotfiles/scripts/*
-
Change Wallpaper in
~/dotfiles/hypr/hyprpaper.conf
$path = /path/to/your/wallpaper
Or change file in
~/dotfiles/assets/_background.png
-
Add your avatar to
~/dotfiles/assets/_profile.png
to show in the lock screen -
Change sddm theme
Copy the
eucalyptus-drop
theme to the SDDM themes directory:sudo cp -r ~/dotfiles/sddm/eucalyptus-drop /usr/share/sddm/themes
Change the SDDM theme in the SDDM configuration file:
/usr/lib/sddm/sddm.conf.d/default.conf [Theme] # Current theme name Current=/usr/share/sddm/themes/eucalyptus-drop
-
Laptop Fan Control (optional)
If you're using a laptop and want to control your fans for better thermal management or noise reduction, install
nbfc
and configure it to your liking.yay -S nbfc-linux
Then run the following command to set up the fan control
-
Detect the fan on your laptop and set it.
sudo nbfc config --set auto
-
Add service to start the fan control
sudo systemctl enable nbfc_service
Then
reboot
the computer to apply the changes. -
Now you can control the fan speed by using the following command
nbfc set -s [fan_speed in percentage] nbfc set -a #auto fan speed
-
If it show wrong time on Windows, you can run the following command to fix it
timedatectl set-local-rtc 1
Keybindings
Here are the essential keybindings for navigating and controlling your Hyprland desktop environment. These shortcuts will help you efficiently manage windows, workspaces, applications, and system functions:
Keybinding | Action |
---|---|
Super + A | Toggle notification center |
Super + B | Open browser (Zen) |
Super + E | Open file manager (Thunar) |
Super + T | Open terminal (Kitty) |
Super + C | Color picker |
Super + Q | Kill active window |
Super + Space | Application launcher (Rofi) |
Super + X | Power menu (Rofi) |
Super + R | Window switcher (Rofi) |
Super + N | Web search (Rofi) |
Super + V | Clipboard history (Rofi) |
Super + F | Toggle floating window |
Super + Shift + F | Toggle fullscreen |
Super + O | Pseudo tile |
Super + Shift + O | Toggle split |
Super + S | Screenshot selection |
Super + Shift + S | Screenshot full screen |
Super + H/J/K/L | Move focus (left/down/up/right) |
Super + Ctrl + H/J/K/L | Move window (left/down/up/right) |
Super + Ctrl + Shift + H/J/K/L | Resize window |
Super + 1-9/0 | Switch to workspace 1-10 |
Super + Shift + 1-9/0 | Move window to workspace 1-10 |
Super + W | Toggle special workspace |
Super + Shift + W | Move to special workspace |
Super + Mouse Wheel | Switch workspaces |
Super + Left Click | Move window |
Super + Right Click | Resize window |
XF86AudioRaiseVolume | Volume up |
XF86AudioLowerVolume | Volume down |
XF86AudioMute | Toggle mute |
XF86MonBrightnessUp | Brightness up |
XF86MonBrightnessDown | Brightness down |
Conclusion
In this tutorial, you have learned how to install Arch Linux with Hyprland OS on your computer. You have also learned how to set up the system and customize it to your liking. I hope this tutorial has been helpful to you, and I wish you the best of luck with your new Arch Linux system. If you have any questions or need further assistance, please feel free to ask. Thank you for reading!
References
Document: Hyprland