Skip to content

omarchy

Recipe card from the charly-distros plugin (Images — the deployable catalog).

The canonical Omarchy base image: plain Arch plus Omarchy’s own package sources and runtime. Owned by the opencharly/distro-omarchy submodule (box/omarchy inside charly), consumed from main through the omarchy import namespace — the same arrangement /charly-distros:cachyos uses.

Property Value
Base arch.arch
Layers layer-omarchy-base/candy/omarchy-base
Platforms linux/amd64 (the [omarchy] repo publishes no aarch64 tree)
Distro [omarchy, arch] — the tag chain
Build pac (no AUR builder: all 23 Omarchy-built packages come from [omarchy])

The three things that make this image different from Arch

Section titled “The three things that make this image different from Arch”

1. Every package comes from Omarchy’s frozen mirror. core, extra and multilib resolve to stable-mirror.omarchy.org, not to Arch upstream — the snapshot is deliberately older, and a guest built against Arch would silently carry a different kernel and a different everything-else than Omarchy ships. pacman-conf --repo core Server reporting an omarchy.org host is the check that catches it.

2. It reports ID=omarchy. omarchy-settings REPLACES /etc/os-release, so the built image is ID=omarchy, ID_LIKE=arch, VERSION_ID=4.x. That is why omarchy needs its own #DistroID rather than an alias of arch — charly’s host detection reads that field — while ID_LIKE=arch makes the arch fallback work automatically.

3. The limine alpm hooks are withheld, not masked. omarchy hard-depends on limine, limine-mkinitcpio-hook, limine-snapper-sync, snapper and sddm, so a container installs the whole boot/DM stack whether it wants it or not. Their hooks cannot succeed with no mounted ESP. Pacman’s NoExtract keeps the hook FILES off the image entirely — masking cannot, because 90-mkinitcpio-install.hook is package-owned and pre-masking it aborts the transaction with a file conflict.

⚠️ NoExtract applies to every LATER transaction too. A machine image that wants those hooks back (for kernel updates to regenerate boot entries) must strip the five rules AND reinstall the affected packages — the hook files are withheld, not merely disabled.

Terminal window
charly -C box/omarchy box build omarchy
charly -C box/omarchy check run check-omarchy-pod
  • charly -C box/omarchy check box omarchy — build-scope probes
  • charly -C box/omarchy check run check-omarchy-pod — the disposable: true R10 bed: mirror provenance, the locally-signed packaging key, the withheld hooks, and /etc/skel seeded into the image user’s home

MUST be invoked when the task involves the Omarchy base image, the opencharly/distro-omarchy submodule, or the main → omarchy import namespace. Invoke this skill BEFORE reading source code or launching Explore agents.