An immutable, GNOME-only operating system built on Fedora bootc. Atomic updates, OCI container delivery, and three distinct editions for different form factors.
| Edition | Description | Output |
|---|---|---|
| core | Minimal CLI base — containers, servers, terminal | Container image |
| workstation | GNOME desktop for PCs and notebooks | Container image + ISO |
| mobile-phosh | Phosh shell for phones and tablets | Container image + 7z disk image |
| mobile-gnome | GNOME Mobile shell for phones and tablets | Container image + 7z disk image |
Releases follow the Fedora base version with a build date suffix:
{FEDORA_VERSION}.{YYYYMMDD} → 44.20260322
.
├── common/ # Shared base packages (all editions)
│ ├── build
│ ├── cleanup
│ └── finalize
├── desktops/ # Desktop environment modules
│ ├── gnome/ # GNOME desktop (workstation)
│ ├── gnome-mobile/ # GNOME Mobile shell
│ └── phosh/ # Phosh shell
├── editions/ # Bootable image definitions
│ ├── core/ # CLI-only edition
│ ├── workstation/ # Desktop edition
│ └── mobile/ # Mobile editions (phosh + gnome-mobile)
└── tools/ # Local development helpers (QEMU)
buildahjustpodman— for bootc-image-builder (ISO and disk image generation)qemu-kvmandOVMF— for QEMU testing
# Build a specific edition
just build core
just build workstation
just build mobile-phosh
just build mobile-gnomeUses bootc-image-builder to generate a bootable ISO (no Anaconda). Requires the workstation container image to be available locally first.
just build workstation
just isojust build mobile-phosh
just mobile-disk phosh
just build mobile-gnome
just mobile-disk gnome# Build, install to a virtual disk, and boot
just qemu-install
just qemu-run
# Or boot an ISO directly
just qemu-isoVariables can be overridden via environment or a .env file at the project root:
| Variable | Default | Description |
|---|---|---|
LOS_FEDORA_VERSION |
44 |
Fedora base version |
LOS_BASE |
quay.io/fedora/fedora-bootc:44 |
Base bootc image |
LOS_REGISTRY |
localhost |
Container registry for local builds |
LOS_TAG |
44.YYYYMMDD |
Image tag (auto-generated) |
LOS_NAME |
LuminusOS |
OS name |
LOS_PRETTY_NAME |
Luminus OS |
OS pretty name |
QEMU_MEM |
4G |
QEMU memory |
QEMU_CPU |
4 |
QEMU CPU cores |
GitHub Actions automatically builds and publishes all editions on every push to main.
| Workflow | Trigger | Output |
|---|---|---|
build-containers |
Push to main, PRs |
Container images → GHCR |
build-iso |
Tag v* or manual |
Workstation ISO → release |
build-mobile-images |
Tag v* or manual |
Mobile 7z disk images → release |
Container images are published at:
ghcr.io/OWNER/luminusos-core:latest
ghcr.io/OWNER/luminusos-workstation:latest
ghcr.io/OWNER/luminusos-mobile-phosh:latest
ghcr.io/OWNER/luminusos-mobile-gnome:latest
To create a release with ISO and mobile disk images, push a version tag:
git tag v44.20260322
git push origin v44.20260322Once the workstation image is published, rebase any existing Fedora Atomic system:
bootc switch ghcr.io/luminusos/luminusos-workstation:latestMIT — see LICENSE.