An image-mode, immutable workstation operating system based on Parch Linux, delivered as an OCI bootable container powered by bootc, OSTree, and ComposeFS.
- Declarative & Cloud-Native: Defined entirely in
Containerfileand built in standard container CI pipelines. - Atomic Updates & Rollbacks: Updates deploy atomically via OCI layer transport. Easily revert bad updates with
bootc rollback. - Three-Zone Filesystem Isolation:
/usr— Strictly read-only immutable system binaries and libraries./etc— Managed configuration tree with automated three-way merge on upgrades./var— Persistent, stateful user and application data (/home->/var/home).
- No Local Pacman Drift: The operating system is fully immutable; pacman is purged from runtime to prevent configuration drift.
- Desktop Environment: Minimal KDE Plasma Desktop with Wayland, Dolphin (file manager), Kate (text editor), Ark (archive manager), Discover (software center), Firefox, and official Parch branding.
- Application Delivery & Compatibility Ecosystem:
- Flatpak & Flathub: Decoupled native Linux desktop applications.
- Distrobox & Kontainer: Run any Linux distribution (Ubuntu, Fedora, Arch, Debian) inside terminal or GUI and export applications effortlessly.
- Waydroid & Parchdroid: Full Android runtime container with Parchdroid GUI for running Android APKs and mobile applications.
- Kernel:
linux-ltsfor long-term hardware stability and reliability.
├── .github/workflows/build.yaml # Release-driven CI/CD container build workflow
├── Containerfile # Multi-layer declarative OS definition
├── Justfile # Automation recipes (build, lint, disk, VM)
├── README.md # Documentation
└── rootfs/ # System assets copied into container root
├── etc/
│ ├── pacman.d/ # Mirrorlist configuration (Parch & Chaotic-AUR)
│ └── sudoers.d/ # Wheel group sudo configuration
└── usr/
├── lib/
│ ├── dracut/ # Dracut ostree & bootc initramfs configuration
│ ├── ostree/ # ComposeFS & sysroot readonly configurations
│ ├── sddm/ # SDDM display manager defaults
│ ├── systemd/system/ # Flathub initialization & bootc auto-update units
│ └── tmpfiles.d/ # /var directory structure provisioning
└── share/plasma/ # Custom KDE default panel layout with Parch icon
just buildjust lintGenerate a bootable virtual disk media using bootc-image-builder:
just build-disk qcow2Launch the generated QCOW2 image in a local virtual machine:
just run-vmBoot from any live Linux environment with Podman:
sudo podman run \
--privileged \
--pid=host \
--net=host \
--security-opt label=type:unconfined_t \
-v /dev:/dev \
ghcr.io/parchlinux/parch-bootc:latest \
bootc install to-disk /dev/nvme0n1Or run the interactive Python installer:
sudo python3 ../apadana-installer/installer.pyCheck and stage OS updates in the background:
sudo bootc upgradeTo roll back to the prior deployment:
sudo bootc rollbackGPL-3.0 License.