omarchy-zfs

Run Omarchy on a ZFS root.

A native Arch package that makes Omarchy (Quattro, 4.x or later) ZFS-safe: snapshots before every update, rollback from the boot menu with ZFSBootMenu, whole-pool native encryption — no LVM.

fastfetch on an Omarchy desktop: the Omarchy logo beside hardware info where every filesystem line ends in zfs

Fresh machine

Download the ISO (beta)

The official Omarchy Quattro installer plus a root-on-ZFS path. Boots and installs fully offline.

6.2 GB · sha256 475d9cb86b39…89d4799 · checksum · build it yourself

Already on Omarchy with a ZFS root

yay -S omarchy-zfs

For manual root-on-ZFS installs: one package, and the pacman hooks take over from there. Requires Omarchy Quattro (4.x) or later. AUR page.

Why ZFS?

Omarchy is opinionated, and that's exactly why it's good — btrfs with snapper is a solid default that serves most people well. But a few of us have a storage world that already runs on ZFS: a TrueNAS box in the closet, ZFS backup targets, encrypted replicas offsite. For that (admittedly niche) crowd, the laptop is the odd one out — this project brings it into the fold.

Native encryption

Encryption is a dataset property, not a LUKS layer underneath the filesystem. The whole pool is protected — /etc, /var, logs, credentials, machine-id — and ZFSBootMenu prompts for the key at boot.

Backups that stay encrypted

zfs send --raw replicates snapshots without ever decrypting them. Send to a TrueNAS box, S3, or a friend's server — the key never leaves your machine, so where the backup lives stops mattering.

One toolset, laptop to NAS

The same snapshots, the same send | receive, the same scrubs on the desktop as on TrueNAS. No translation layer between your workstation and the rest of your storage.

Self-healing data

Every block is checksummed end to end. Corruption is caught on read and repaired from redundancy — and the package ships a monthly zpool scrub timer, so bitrot is found before you go looking for the file.

One pool, many disks

Start on a single NVMe, grow into mirrors or raidz when you outgrow it — the installer handles multi-disk topologies out of the box, with none of btrfs's RAID5/6 write-hole caveats.

Boot any snapshot

ZFSBootMenu shows snapshots and boot environments at boot. A bad update is a reboot away from undone — no live USB, no chroot.

What the package does

Stock Omarchy assumes btrfs: updates rewrite the initramfs config without the zfs hook, snapper aborts on non-btrfs roots, and Limine can push itself ahead of ZFSBootMenu in the EFI boot order. Each one ends in a system that won't boot or won't update. omarchy-zfs fixes all three with pacman hooks that run on every transaction — everything is a package-owned file, so omarchy update can't strip it.

omarchy-zfs this package — a layer, not a fork Omarchy Quattro stock, unmodified — normal updates Arch Linux Encrypted ZFS pool booted by ZFSBootMenu — snapshots selectable at boot snapshot before every update zfs initramfs hook re-asserted after every transaction ZFSBootMenu kept first in the EFI boot order
CapabilityHow
Snapshot before every updatePreTransaction hook with retention (omarchy-zfs-autosnap)
Boot-safe updatesPostTransaction hook re-asserts the zfs initramfs hook, regenerates initramfs + ZBM
Kernel-skew protectionBlocks kernel upgrades the installed ZFS module can't build against
EFI boot-order guardKeeps ZFSBootMenu first; never deletes other entries
Snapper cleanupRemoves btrfs-only snapper configs that abort omarchy update on ZFS
Pool healthMonthly zpool scrub timer
HibernationSuspend-to-disk on a zvol swap
Fresh installs & recoveryomarchy-bootstrap-zfs: pool, datasets, encryption, ZBM — from the ISO or any live environment

FAQ

Is this a fork of Omarchy?

No. It's a package that depends on stock Omarchy (Quattro+). You keep normal omarchy update; this package keeps it ZFS-safe.

Which Omarchy versions are supported?

Omarchy Quattro (4.x) and later — the releases served entirely from Arch packages, which is what makes a clean support layer possible. Earlier Omarchy versions used a different install model and aren't supported.

Which ZFS packages does it work with?

Any provider of zfs/zfs-utils: zfs-dkms, zfs-dkms-git, zfs-linux, or zfs-linux-lts. The kernel guard stops upgrades your ZFS module can't follow.

What happens to snapper and Limine?

They stay installed (Omarchy depends on them) but inert: stale snapper configs are cleaned, related timers are masked, and the boot-order guard keeps ZFSBootMenu first. A real btrfs pool on a second disk keeps working snapper coverage.

How do I roll back a bad update?

Reboot, pick the pre-upgrade snapshot in ZFSBootMenu, boot it. Promote it with omarchy-zfs-snapshot restore.

Heads up: the AUR "omarchy" package

The AUR package named omarchy is an unrelated third-party placeholder. The real dependency is the official package from pkgs.omarchy.org, already on every Omarchy system. Don't build the placeholder.