Skip to main content
vee
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

omarchy

Omarchy — DHH’s opinionated Arch + Hyprland desktop. The install is fully unattended: alongside the install ISO, vee attaches a second cidata-labelled seed ISO carrying the answers Omarchy’s own wizard would have written (the autoinstall mechanism Omarchy documents for VMs and fleet machines). The installer partitions the disk, installs, and reboots into the finished desktop on its own — no keyboard required. vee ejects both ISOs once the installed system boots from disk.

Because the seed includes your vee SSH keys as authorized_keys, the installer enables sshd and opens the firewall for it, so vee ssh works from the first boot.

Create

vee create omarchy --template omarchy

# choose the login account (defaults: user omarchy, password matching the username)
vee create omarchy --template omarchy --user dev --password secret

# pin a specific ISO release
vee create omarchy --template omarchy --distro-version 4.0.1

# Apple Silicon: opt into TCG emulation (see Notes)
vee create omarchy --template omarchy --emulate

Omarchy is also available as a distro on the cloud-init templates that make sense for it:

vee create dev --template devbox --distro omarchy    # SSH user "dev"
vee create hypr --template desktop --distro omarchy

These delegate to the same unattended installer — Omarchy has no cloud image and no cloud-init, but its stock install already includes Docker, lazydocker, git, and the rest of the dev tooling a devbox provisions elsewhere.

The ISO can be fetched ahead of time:

vee pull omarchy

Defaults

SettingValue
Memory8G
CPUs4
Disk60G qcow2 (2GiB ESP + btrfs with @/@home/@log/@pkg subvolumes)
NetworkUser-mode NIC, SSH port forwarded
Displayvirtio-gpu GL (virgl) — Hyprland needs GL
Loginuser omarchy (password matches the username unless --password is given)
Guest agentEnabled
UEFIYes

Notes

  • The password is seeded into the installer as a SHA-512 crypt hash (the same openssl passwd -6 format Omarchy’s wizard writes); the plain text never lands on the seed. The default password (matching the username) is for the graphical console — change it in the guest for anything reachable from untrusted networks.
  • The seed’s user_configuration.json follows the archinstall schema of the pinned ISO releases. The Omarchy mirror keeps only the current release, so --distro-version accepts the releases vee knows about; latest (the default) resolves to the newest.
  • Omarchy publishes x86_64 ISOs only. On x86_64 hosts the guest runs hardware-accelerated (KVM). On Apple Silicon the template refuses unless you pass --emulate, which pins arch: x86_64 in vm.yaml and runs the guest under TCG emulation with the system qemu-system-x86_64 (e.g. brew install qemu). The unattended install reads from the ISO’s offline package mirror, so even emulated it lands in tens of minutes (~10 on an M4 Max); the desktop works but renders in software.
  • Disk encryption is deliberately not seeded: an encrypted autoinstall still stops at the LUKS passphrase on every boot, which defeats an unattended VM.

For a cloud-init managed GNOME desktop instead, use desktop.