# Configuring Omarchy on Beelink

> This walkthrough describes the steps taken to load Omarchy, an opinionated archlinux/Hyprland setup, onto my new Beelink SER5.

- Canonical: https://dennisokeeffe.com/blog/2025-07-17-configuring-arch-linux-omarchy-via-mac
- Published: 2025-07-17
- Updated: 2025-07-17
- Tags: linux

The following walks through my installation setup of Omarchy onto my new Beelink SER5.

I loaded the ISO onto a USB using my Mac, so this is a specific recount with these items in case it clarifies anything for others configuring their setup.

I will reference any point where it is best to refer back to DHH's video or the archlinux docs.


  I operated most of this with my overbearing work laptop settings, and so
  admittedly wasn't able to visit the website documentation directly due to
  their strict policies. I am sure they are very good.


## Preparing the ISO on a bootable USB drive

The following is best done alongside the archlinux installation documentation.

First, download the Arch Linux ISO from the official website. [The official docs](https://archlinux.org/download/) recommend using a BitTorrent download, however (due to work restrictions) it was required for me to make a HTTP direct download.

For myself in Australia, I found a mirror website to download the ISO directly, and then made use of the `b2sum` CLI utility in order to verify the BLAKE2b checksums.

To do this, download the `b2sum.txt` file from the downloads section into the same folder that you downloaded the ISO and run `b2sum -c b2sums.txt` in order to validate the ISO checksum.

- **b2sum** is a command-line utility for computing and verifying BLAKE2b checksums.
- **BLAKE2b** is a cryptographic hash function that's faster than MD5, SHA-1, and SHA-2, while providing high security. It's used to verify file integrity by comparing computed hashes against known good values.

On macOS, you can use tools like `dd` or graphical utilities like Balena Etcher to create a bootable USB drive.

```sh
# Example using dd (replace /dev/diskX with your USB device)
sudo dd if=archlinux.iso of=/dev/diskX bs=4M status=progress
```


  Always verify the USB device identifier with `diskutil list` before using dd
  to avoid overwriting the wrong drive.


This is also listed on the [archlinux USB flash installation guide](https://wiki.archlinux.org/title/USB_flash_installation_medium) under **1.3 In macOS**:

```sh
dd if=path/to/archlinux-version-x86_64.iso of=/dev/rdiskX bs=1m
```

**Take note**: the `of` section prefixes the disk with `r`.

**dd** (data duplicator) is a low-level copying utility that reads from an input file and writes to an output file. The options used are:

- `if=` (input file): specifies the source file to read from
- `of=` (output file): specifies the destination to write to
- `bs=1m` (block size): sets the read/write block size to 1 megabyte for faster copying
- `rdisk` prefix: on macOS, this accesses the raw disk device for faster performance

The command provided by archlinux will run silently. You can press `Ctrl + t` to get updates.

Once the USB is loaded, you can dismount the disk and we can plug it into our Beelink SER 5.

## Entering UEFI on the Beelink SER 5

Since I pulled out my Beelink SER 5 fresh from the box, so it came preloaded with Windows 11.

We _don't care_ about that preloaded OS, so we need to boot into **UEFI**.

You may be more familiar with **BIOS**. They are different technologies that do the same job.

- **UEFI** (Unified Extensible Firmware Interface) is the modern successor to BIOS. It provides a more advanced interface with better security features (like Secure Boot), support for larger hard drives (over 2TB), faster boot times, and a graphical interface instead of text-only menus.
- **BIOS** (Basic Input/Output System) is firmware that initializes and tests hardware components during the boot process. It provides the interface between the operating system and hardware, allowing you to configure boot order, hardware settings, and system parameters before the OS loads.

To enter UEFI on the Beelink SER 5:

1. Power on the device
2. Immediately press and hold the `Delete` key (or supposedly `F2`, but I didn't try) key repeatedly during startup
3. This will bring you into the UEFI setup menu
4. Navigate to the boot options and set your USB drive as the first boot priority
5. Save and exit to boot from the Arch Linux USB


  You should be able to identity the USB drive from the description. If it's
  confusing (mine was), then you can validate the drive based on your brand
  online.


## Running archinstall

At this point, the system will boot into a very basic terminal UI. For most of this section, I followed along with [DHH's setup tutorial](https://youtu.be/I5Mnni7cea8?si=gpP5_jRFNhNJovnr&t=1147).

We want to run `archinstall` to open the Arch installer and setup our configurations.

I won't go too deep into this section since you can follow along with the video, but the general overview is this:

1. Run the Arch bootscreen
2. (optional for Wifi) Configure WiFi with `iwctl`
3. Open the `archinstall` TUI with `archinstall`
4. Go down top-to-bottom on the left-hand sidebar
5. (optional) Configure your locales
6. Select your mirror regions to install from somewhere close to you
7. Disk configuration with the default layout and using the recommended `btrfs` file system
8. Turn on disk encryption (a must for Omarchy) -- select type `LUKS`, set the password and apply the encrytion
9. Setup `hostname`
10. Set root password
11. Add user account
12. For Audio, use `pipewire`
13. For network configuration, copy over what you used for install
14. For "Additional packages", ensure `wget` is installed as it will be used for Omarchy
15. Save and run the installation

At this point, the installer will take over and it can take a few minutes for everything to e configured.


  In DHH's overview video, his load time was wickedly fast. Not sure what gear
  he is working with, but I am very jealous.


Once you've configured `archinstall` and run the installer, it will prompt you to restart the system.

The following sub-headings are some details that I thought I would callout which goes a little bit deeper than the video:

### archinstall

**archinstall** is Arch Linux's official guided installer that provides a text-based interface for installing Arch Linux. It simplifies the traditionally manual installation process by offering:

- Automated partitioning and filesystem setup
- Package selection and installation
- Bootloader configuration
- User account creation
- Network configuration

### bootloader

A **bootloader** is a small program that loads the operating system kernel
into memory during startup. Common Linux bootloaders include GRUB and
systemd-boot. The bootloader handles the transition from firmware (BIOS/UEFI)
to the operating system, and can manage multiple OS installations on the same
machine.

### btrfs

**Btrfs** (B-tree file system) is a modern copy-on-write filesystem for Linux that supports advanced features like snapshots, checksums, and built-in RAID. It's designed for fault tolerance, repair, and easy administration.

### zstd

**Zstd** (Zstandard) is a fast compression algorithm developed by Facebook that provides excellent compression ratios with high speed. It's commonly used for filesystem compression and package compression in Linux distributions.

### wget

**wget** (web get) is a command-line utility for downloading files from web servers using HTTP, HTTPS, and FTP protocols. It supports recursive downloads, resuming interrupted transfers, and can follow redirects. The `-qO-` options make it run quietly (`-q`) and output to stdout (`-O-`) instead of saving to a file.

## Installing Omarchy

Once the system reboots, you'll be prompted to unlock your encrypted disk and then log in with the configurations that you setup before.


  If you're like me and normally map `caps` to `esc` and pulled an uno reverso
  on yourself to configure the wrong encryption passphrase for the drive, you'll
  need to make use of `sudo cryptsetup luksChangeKey /dev/YOUR_DRIVE_NAME` in
  order to reset the password. You can use `lsblk` to find the `TYPE=crypt`
  block device.


In the previous section, we preemptively configured `wget`. We can now use it to install Omarchy.

```sh
wget -qO- https://omarchy.org/install | bash
```

At my time of installation, this will prompt you for your password a few times and request some configurations for Git.

Afterwards, it will just do it's thing and install DHH's opinionated setup.

Once completed, you will be prompted to restart the system to apply the changes.

Congratulations, you have now configured Omarchy!

> I use Arch btw

## Conclusion

In this recount, we walked through how I configured my new Beelink SER5 for Omarchy with boot loading. This made use of my Mac for downloading, validating and configuring my USB drive for the Arch Linux ISO.

Hopefully this comes in handy for anyone else who may be keen to make the jump but wants to understand a little bit more about the configuration.

At this point, it's worth restarting [DHH's video](https://youtu.be/I5Mnni7cea8?si=gpP5_jRFNhNJovnr) for the basics on how to work with Omarchy.

## Links and Further Reading

- [Omarchy Official Website](https://omarchy.org/)
- [Arch Linux Installation Guide](https://wiki.archlinux.org/title/Installation_guide)
- [Btrfs Wiki](https://btrfs.wiki.kernel.org/)
- [Zstandard Compression](https://facebook.github.io/zstd/)
- [Hyprland Window Manager](https://hyprland.org/)
- [DHH's 37signals](https://37signals.com/)
- [DHH's Omarchy introduction video](https://youtu.be/I5Mnni7cea8?si=gpP5_jRFNhNJovnr)

_Photo credit: [`johnnyb803`](https://unsplash.com/@johnnyb803)_
