Unix Evolved

Zygaena is a desktop-focused operating system built on Hammerhead, an illumos fork. We took the best, and shed the rest.

Pre-alpha. Zygaena is nearing an alpha release. It is self-hosting, includes a package manager, and will soon have an installer.

Read the source Project Goals
Self-hosting since March 2026 Hammerhead compiles Hammerhead, on Hammerhead.
~3.4 million lines removed NIS, SPARC, legacy hardware and subsystems are gone.
Boots into a desktop Inspired by CrunchBang; XLibre running Openbox.
Language Reef A systems language developed at Leafscale. The new system software is written in it rather than inherited C.
Packages Coral The package manager, written in Reef. It installs binary packages built from the zports tree. IPS is gone.
Ports zports The ports tree — build recipes for everything above the base system. Over a hundred ports today.
Init zyginit PID 1: one supervising process, TOML service files, symlinks to enable and disable. No XML manifests.
Services zygctl The service CLI — one command lists what is running. It replaced svcs and svcadm.
Graphics XLibre The X server the desktop runs on, with Openbox above it. Over a virtual framebuffer for now.
Console Mouse on the tty The local unix console — in-kernel tem on wscons — now has a mouse. Stock illumos feeds /dev/mouse to X and leaves the text console pointer-blind. Local TUIs can use the pointer on the real console, not only under X.
Architecture amd64 only One architecture, one word size, one library path. SPARC and 32-bit multilib are gone.
Bootloader Limine Zygaena boots with Limine, not the illumos loader. Firmware hands off to Limine; Limine loads the kernel and boot archive from the ESP. ZFS stays the kernel's job — no Forth interpreter and no second ZFS implementation in the boot path.
Filesystem BSD-inspired layout A base system laid out as a designed whole — /usr/lib, not /usr/lib/amd64.
The good parts

Nobody has beaten ZFS and DTrace in twenty years. So we didn't try.

Hammerhead began as a fork of illumos, the open-source continuation of Solaris, and inherits the things Solaris genuinely got right. It has diverged since, and will keep diverging.

ZFS

The original implementation. Not a port, not a rewrite. Snapshots, checksums, and pooled storage as the default way the system stores anything.

DTrace

Whole-system dynamic tracing, safe to run on a machine you care about, and still without a real equal.

Zones

OS-level virtualisation that predates containers by a decade and was designed rather than assembled.

Process contracts

The kernel tracks process groups, so the init system knows what a service actually is rather than guessing from a PID file.

The deletions

Most systems grow. This one is getting smaller.

Solaris's descendants inherited its strengths and its accumulated weight in equal measure. Zygaena keeps the first and removes the second.

SMF is gone

No svc.startd, no svc.configd, no XML service manifests. In its place, zyginit: one supervising process, TOML service files, and symlinks to enable and disable them.

IPS is gone

No Python package manager living inside the base system. Coral installs binary packages built from a ports tree, under /usr/local, cleanly separated from the OS.

32-bit and SPARC are gone

One architecture, one hardware platform. The base filesystem is simplified: libraries live in /usr/lib — not /usr/lib/amd64.

The dead name services are gone

Goodbye YP and NIS and complicated PAM configurations. No bloat, no legacy.

About 66 legacy drivers are gone

Along with UUCP, SAF, the SVR4 packaging tools, sendmail, and the Sun-descended build system.

Every one of those removals cost some compatibility. That was the trade, and we'd make it again.

Desktop

A Unix workstation, in the sense that phrase used to mean something.

The goal isn't a server you forget in a rack. It's a machine you'd choose to sit in front of. As of July 2026, an X11 desktop runs: the XLibre X server with the Openbox window manager, built from 57 ports and installed with Coral.

The Zygaena desktop: Openbox with the Xfe file manager, an st terminal running uname -a, and a system monitor panel
Openbox on XLibre, July 2026 — Xfe, an st terminal, and the Openbox root menu. uname -a prints Hammerhead. Currently over a virtual framebuffer; hardware display support is in progress.
Project status

Zygaena and Hammerhead are still under development

Works today
  • Builds itself from source, on itself
  • Boots to a login prompt on a KVM guest
  • ZFS root, UEFI + Limine, networking, NFS, cron, zones
  • Coral and zports — over a hundred ports
  • An X11 desktop over a virtual framebuffer
  • Mouse on the local unix console
Doesn't yet
  • No installer — zyginstall is in development
  • No ISO or download image
  • No GPU acceleration, no output to real hardware
  • Narrow hardware support: x86-64, UEFI, KVM
  • Not safe for data you care about