Repository navigation
KaadzOS 0.1.0
First bootable image. Not a finished operating system, but this is a real
Debian 13 (trixie) live image that boots to a working Sway/Wayland desktop,
installs to disk with the bundled Calamares installer, and is verified by CI on
every push.
Download
KaadzOS-trixie-amd64.iso(~1.4 GB, hybrid ISO)KaadzOS-trixie-amd64.iso.sha256
Verify before writing to a USB stick:
sha256sum --check KaadzOS-trixie-amd64.iso.sha256
Write it to a USB stick
# Linux / macOS — replace sdX with your device, this erases it
sudo dd if=KaadzOS-trixie-amd64.iso of=/dev/sdX bs=4M status=progress oflag=sync
# Windows
# Use Rufus or balenaEtcher in DD mode.
The image is hybrid: the same file boots from a USB stick under BIOS or UEFI.
What works
- Debian 13 live session, built from the archive with
--apt-recommends false - Sway/Wayland desktop: Waybar, foot, fuzzel, mako, swaylock
- Theme rendered from a single palette file into the bootsplash, boot menus
(ISOLINUX/GRUB), Sway, Waybar, foot, fuzzel, mako, swaylock, GTK3/4, Qt6ct,
the wallpaper, the console palette, and the installer branding - Plymouth bootsplash and a KaadzOS identity (
os-release,issue,motd) - Calamares installer that unpacks the live system to disk and boots the
installed system through greetd — verified unattended in CI for BIOS and UEFI - Lean default apps: GNOME Web (Epiphany), Thunar, Mousepad, imv, zathura
- Screenshots (Print/Shift+Print) and screen recording to MP4 (
$mod+Print) - Eight on-demand packs (
ai,android,cloudflare,creative,dev,
gaming,privacy,windows) viakaadzos add <pack>, with--dry-run $mod+aopens the pack list as a fuzzel menu- zram swap (zstd, half of RAM) with a swappiness tuned for compressed swap
- The installed system boots with Secure Boot enabled (Debian's signed shim and
GRUB are shipped); the live image still requires Secure Boot off
What does not work yet
- No persistence, no release signing, and no APT repository (phase 8). This is
the first release channel; every asset is built and validated from the tag.
How this build is verified
The release is published by CI only after the whole validation matrix for the
tagged commit is green. Every push builds the ISO and then boots that exact ISO
twice in QEMU — once under Syslinux/BIOS and once under GRUB/OVMF UEFI. The boot
test waits for KAADZOS_SWAY_READY on the serial console (emitted only after a
successful swaymsg IPC query), dumps the framebuffer, fails the run if
swaynag is running (a red warning bar means the Sway config emitted an
error), and reports idle RAM with the zram state. A third job drives the
Calamares installer unattended on a blank disk and boots the installed system,
for both firmwares. The checksum is verified again inside the release job before
anything is uploaded.
The screenshots committed to the ci-artifacts branch are produced by those
jobs, not by hand.
Known limitations
- A full CI run takes ~50 minutes; the ISO build alone takes ~5 minutes and
needs ~10 GB of disk. - The pack manager is POSIX
shby design; the base image ships no runtime. - AMD64 only.