Build scripts 'n configs for spinnin' up a bootable Live ISO of an immutable Arch Linux env powered by OSTree 'n bootc.
Not a separate distro — underneath it's pure Arch Linux, delivered as an immutable image. Declarative package management's built right in with Nix, pin host packages alongside the system image. Distrobox is pre-configured, dev-ready outta the box — no setup needed, just use it.
⚠️ Heads up — this is very early stage. Expect bugs. Lotta 'em. For testin' only, don't run this on anythin' ya care about. Ya been warned.
Three things're holdin' this together. OSTree + bootc handles image-based deployments — system state always matches whatcha tested in the build, no surprises. Alga's the native installer; GTK4 Rust-based, async ops, real-time progress, graceful cancellation — it's got it handled. And the CI/CD pipeline's automatin' everythin' else: GitHub Actions + OCI Containerfiles, push → ISO, that's it.
podmanwget,curl,jq- Root (for
mkarchiso) - ~10GB free disk space
sudo bash .github/workflows/build_iso.shOutput lands in out/.
qemu-system-x86_64 -m 4096 -cdrom out/install.iso -boot d- Open GNOME Boxes
- Hit "+" → new VM
- Point it at the ISO
- Follow Alga's prompts
- ark.linux ISO generation via
archiso'nbootc-image-builder - ark-image Base container image defs 'n OS package manifests
- alga GTK4 Rust frontend for
bootcinstall 'n system updates - ark-aur Custom repo for pre-compiled AUR packages
All technical docs're livin' in docs/:
- Architecture and Vision Core design philosophy 'n system anatomy
- Bootloader Implementation Bootloader 'n firmware integration
- Installer Mechanics Technical details of the Alga installer
- Builder Mechanics Automated ISO generation pipeline
- Alga Source Code Source code architecture 'n async patterns
- OSTree and bootc Immutable filesystem layout 'n atomic updates
- Troubleshooting Common issues 'n diagnostics
- Local Testing Virtualization 'n testin' guidelines
- Rust 1.70+ (for Alga builds)
- GTK4 dev libraries
- Podman (or any Containerfile-compatible runtime)
git clone https://github.com/zamkara/ark.linux.git
cd ark.linux
# Poke around the Containerfile first
cat Containerfile
# Optional local build
podman build -t ark-os:dev .
# Generate the ISO
sudo bash .github/workflows/build_iso.sh- Boot from ISO Write it to a USB or boot directly
- Launch Alga Hit "Install Ark Linux" from the boot menu
- Pick target drive Choose where it's goin'
- Wait Watch progress in the Alga terminal
- Reboot Done. Immutable Arch, ready to go.
# Check for updates
bootc check-update
# Apply 'em — atomic, rollback-capable
bootc upgrade
# Regret it? Roll back.
bootc rollback
# Install packages on host via Nix
nix profile install nixpkgs#htop
# Drop into a full Arch container with pacman
distrobox enter arch
# Switch default shell
chsh -s /usr/bin/fish
# System info
fastfetch/ Immutable root (read-only)
├── /etc Config (mutable, 3-way merged on updates)
├── /var Variable data, user home (mutable)
├── /usr Immutable system binaries 'n libraries
└── /opt Additional immutable applications
- Pods GTK4+Rust Podman frontend — UI inspiration for Alga's container management layer
- DistroShelf GTK4 GUI for Distrobox — shaped how Distrobox integration's hangin' together in-session
- MoreWaita Expanded Adwaita icon theme — keepin' the desktop consistent 'n cohesive outta the box
- nixpkgs The Nix package collection — powerin' declarative host package management
Buildin' on the work of:
- Fedora Silverblue Pioneer of container-native Linux desktops
- Arch Linux The base. The goat.
- OSTree Git-like versioning for OS binaries
- bootc Container-to-bootable-system magic
- GNOME Desktop env 'n dev libraries