01

Pre-Installation

Windows preparation & disk setup before we dive in.

1.1 — Download the Arch ISO

  1. Go to the official Arch Linux website
  2. Download the latest ISO
  3. (Optional but recommended) Verify the checksum
LINK
https://archlinux.org/download/

1.2 — Create a Bootable USB

You can use Rufus (Windows) or Balena Etcher.

  1. Insert USB (8 GB+ recommended)
  2. Select the Arch ISO
  3. Choose DD mode
  4. Start flashing and wait until complete

1.3 — Prepare Disk

⚠ Dual Booting with Windows:
  1. Open Disk Management
  2. Shrink your main Windows partition
  3. Leave the space as Unallocated
✨ Full Disk Install: No preparation required — the installer will handle everything.
02

Installing Arch Linux

Using archinstall — from first boot to a working system.

2.1 — Boot into Arch

  1. Reboot system
  2. Enter BIOS
  3. Select USB boot
  4. Choose: Arch Linux install medium

2.2 — Verify Internet Connection

If using Ethernet:

bash
ping archlinux.org

If it works → continue.

If using Wi-Fi:

bash
iwctl

Inside iwctl:

bash
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect WIFI_NAME
exit

Test connection:

bash
ping archlinux.org

2.3 — Partition the Disk

Check available disks:

bash
lsblk

Use cfdisk (example for NVMe):

bash
cfdisk /dev/nvme0n1
✎ Partition Scheme (UEFI):
  • 1G → EFI System
  • Remaining space → Linux filesystem

After creating partitions: Write changesQuit.

Verify:

bash
lsblk

2.4 — Format Partitions

bash
mkfs.fat -F32 /dev/nvme0n1p1(1G)
mkfs.ext4 /dev/nvme0n1p2(Remaining Space)

Verify:

bash
lsblk -f

2.5 — Installing via archinstall

Run the installer:

bash
archinstall

Leave most options default except the following custom changes:

✎ Disk Configuration:
  • Select the 1G EFI partition → assign mount point: /boot
  • Select remaining Linux partition → assign mount point: /
✎ Other Settings:
  • Bootloader → GRUB
  • Hostname → set if you want (optional)
  • User Account → create username + set password and set user as sudo user
  • Bluetooth → Yes
  • Audio → PipeWire
  • Network → NetworkManager (default)
✎ Additional Packages:
  • Search and install: os-prober and vim (or any editor you prefer)
✨ Tip: Press / to search, press Tab to select. Use the same for Timezone — search your region using /.
⚠ Double-check everything before clicking Install. After installation finishes, select chroot into installation for post-install configuration.

2.6 — Verify & Reinstall GRUB

Inside chroot, install required packages:

bash
sudo pacman -S efibootmgr grub mtools dosfstools

Install GRUB:

bash
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

Generate config:

bash
grub-mkconfig -o /boot/grub/grub.cfg

Exit and reboot:

bash
exit
reboot

Fixing GRUB to Show Windows

After reboot, GRUB might only show Arch Linux. Boot into Arch, log in with your created username and password. If using Wi-Fi, reconnect.

Edit GRUB config:

bash
sudo vim /etc/default/grub

Find this line and uncomment it:

config
GRUB_DISABLE_OS_PROBER=false

Make sure required packages are installed:

bash
sudo pacman -S os-prober fuse3

Regenerate GRUB:

bash
sudo grub-mkconfig -o /boot/grub/grub.cfg

Reboot → Windows should now appear in GRUB. ✓

03

Setting Up Hyprland

Install Hyprland, enable the display manager, and rice it up.

3.1 — Install Required Packages

bash
sudo pacman -S hyprland wayland wayland-protocols xorg-xwayland kitty sddm git

3.2 — Enable Display Manager

bash
sudo systemctl enable sddm.service

Reboot:

bash
reboot

Login via SDDM. Press Super + Q to open terminal.

3.3 — Update System

bash
sudo pacman -Syu
sudo pacman -S --needed git base-devel

3.4 — Installing My Hyprland Rice (Zenities)

For this guide, I'm using a Hyprland rice from Zenities.

Clone the repository:

bash
git clone https://github.com/hayyaoe/zenities
cd zenites
sh INSTALL.sh
✨ Note: Adjust repo name if needed. Reboot after installation and enjoy your beautifully riced Hyprland desktop!
04

Additionals Setup

Packages (what I use for dev setup).

4.1 — My Development Packages

Here are the packages I install for my development setup. You can run the script below to quickly install all of them at once.

📦 Pacman Packages:

neovim, thunar, libreoffice-fresh, discord, gedit, code

bash
sudo pacman -S --noconfirm neovim thunar libreoffice-fresh discord gedit code
🧩 AUR (yay) Packages:

brave-bin, localsend-bin, spotify, cursor-bin, prismlauncher, antigravity

bash
yay -S --noconfirm brave-bin localsend-bin spotify cursor-bin prismlauncher antigravity