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.
Fresh machine
Download the ISO (beta)The official Omarchy Quattro installer plus a root-on-ZFS path. Boots and installs fully offline.
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. Using 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.
| Capability | How |
|---|---|
| Snapshot before every update | PreTransaction hook with retention (omarchy-zfs-autosnap) |
| Boot-safe updates | PostTransaction hook re-asserts the zfs initramfs hook, regenerates initramfs + ZBM |
| Kernel-skew protection | Blocks kernel upgrades the installed ZFS module can't build against |
| EFI boot-order guard | Keeps ZFSBootMenu first; never deletes other entries |
| Snapper cleanup | Removes btrfs-only snapper configs that abort omarchy update on ZFS |
| Pool health | Monthly zpool scrub timer |
| Hibernation (experimental) | Creates an encrypted zvol swap and wires up resume. Setting it up is one command; suspend-to-disk itself is not in the test matrix, and OpenZFS discourages swap on a zvol. Treat it as an experiment, not a feature |
| Fresh installs & recovery | omarchy-bootstrap-zfs: pool, datasets, encryption, ZBM. From the ISO or any live environment |
Documentation
Three routes onto ZFS, each one tested on Omarchy Quattro.
Fresh root-on-ZFS install
Boot the ISO, answer a few questions, get an encrypted ZFS root with ZFSBootMenu and one passphrase prompt.
Existing install → ZFS root
No in-place conversion exists. The two safe routes, and how to keep your current install bootable while you move.
Keep btrfs, add ZFS
Leave the root filesystem alone; put /home or a data pool
on ZFS, with snapshots, scrubs and replication.
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.