An immutable, atomic Arch-based Linux distribution with GNOME.
🌐 English · Español
Solera ships the operating system as a versioned, reproducible image rather than a machine you configure by hand. The root filesystem is read-only, updates are transactional with free rollback, and everything that defines the system lives in this Git repository.
It uses arkdep as the deployment engine (Btrfs subvolume images, the same engine behind Arkane Linux) and follows an image-based flow: the entire distribution is defined in this repository, built with the public scripts it contains on infrastructure controlled by the project, and published as a signed, versioned artifact. Every release is pinned to a dated Arch Linux Archive snapshot, so its build inputs are immutable and anyone can independently rebuild and verify it — see REPRODUCING.md.
Status: alpha. Solera boots, installs and runs, and is used daily by its maintainer. Images are built and signed from the public build scripts and published at repo.soleralinux.org with checksums and signatures; system updates are delivered through the public channel via
solera update. Not recommended for production machines yet — try it in a VM or on a spare machine first.
- Immutable root —
/usris read-only; the system can't drift out of a known state. - Atomic updates with rollback — an update deploys a new Btrfs subvolume and switches to it on reboot. The previous deployment stays on disk; rolling back is picking the old entry in the boot menu.
- Verifiable releases — every release builds against a pinned Arch Linux Archive snapshot; anyone can rebuild a release from its Git tag and verify the published artifacts (see REPRODUCING.md).
- GNOME desktop with dash-to-dock, blur-my-shell and magic-lamp enabled by default.
- systemd-boot (UEFI only), Btrfs with zstd compression, zram swap.
- PipeWire audio, Plymouth boot splash.
The root image stays minimal and identical across machines. Software lives in layers depending on its nature:
| Layer | Tool | For |
|---|---|---|
| Base system | the image | kernel, GNOME, services — changes only with a full update + reboot |
| GUI apps | Flatpak (Flathub preconfigured) | browsers, editors, end-user apps |
| Dev environments & CLI | Distrobox + Homebrew | compilers, runtimes, command-line tools, in user space |
| Host-level escape hatch | solera layer |
drivers, kernel modules, corporate VPN clients |
- Download the latest ISO (see Releases).
- Flash it to a USB drive (
dd, GNOME Disks, Ventoy, etc.). - Boot in UEFI mode (Solera is UEFI-only; in VirtualBox enable EFI in Settings → System → Motherboard).
- The live session launches the installer (
os-installer), which partitions the disk and deploys the system image viaarkdep. - On first boot,
gnome-initial-setupcreates your user.
Solera is managed with the solera command, a small front-end over the
arkdep deployment engine. Updates are downloaded from the public channel,
verified (GPG signature + SHA256) and deployed atomically:
sudo solera update # deploys the latest image as a separate subvolume
sudo reboot # boot into it; the old deployment stays for rollbackOther commands: solera layer <pkg> adds native packages onto the image,
solera list shows the available images, solera cleanup removes old
deployments. Run solera help for the full list.
GUI apps update independently through Flatpak; user CLI tools through Homebrew.
The whole distribution — packages, system image and installer ISO — builds locally without any cloud infrastructure. The build runs inside a podman container (defined in build/Containerfile), so the host distribution doesn't matter:
bash build/run-full-build.sh # builds the own packages, the image and the ISOArtifacts land in out-full/. Then test in QEMU:
qemu-system-x86_64 -enable-kvm -m 4G -smp 4 \
-bios /usr/share/edk2/x64/OVMF.4m.fd \
-drive file=out-full/solera-*.iso,format=raw,media=cdrom \
-drive file=test.qcow2,if=virtioSee image/README.md and iso/README.md for the build internals.
Solera does not depend on third-party cloud CI: images are built on infrastructure controlled by the project, from the exact scripts published in this repository. Trust does not come from watching a hosted pipeline run — it comes from independent verification:
- Versioned releases. Each release is tagged in Git and listed on the Releases page with its changelog and the checksums of the published artifacts.
- Pinned inputs. Every release builds against a fixed, dated Arch Linux Archive snapshot, recorded at the release tag in
image/arkdep-build.d/solera/pacman.conf, so the package inputs are immutable and public. - Rebuildable output. Anyone can rebuild a release from its tag against the same pinned snapshot and compare the result — REPRODUCING.md documents the exact procedure and its current scope.
- Signed artifacts. Published images ship with a SHA256 checksum and a detached GPG signature. The release public key lives in this repository at
keys/solera-release.pub(fingerprint2A6B 615A 08E0 0125 0DAC 48BE DCDA 556A 3BC6 04A8).
Artifacts are served from repo.soleralinux.org:
https://repo.soleralinux.org/stable/iso/solera-latest-x86_64.iso
https://repo.soleralinux.org/stable/iso/solera-latest-x86_64.iso.sha256
https://repo.soleralinux.org/stable/iso/solera-latest-x86_64.iso.sig
solera/
├── packages/ Own packages (published to Solera's pacman repo)
│ ├── solera-meta/ Meta-package: declares every dependency of Solera
│ ├── solera-config/ Branding, dconf defaults, /etc/skel, services
│ ├── solera-keyring/ PGP keyring for the Solera pacman repo
│ ├── arkdep/ Deployment engine (mirror of upstream)
│ ├── os-installer/ Installer (mirror of p3732/os-installer)
│ ├── os-installer-config-solera/ Installer flow for arkdep
│ └── gnome-shell-extension-*/ Bundled GNOME extensions
├── image/ arkdep-build recipe for the system image
├── iso/ archiso profile for the installer ISO
├── build/ Containerized build environment (Containerfile + runners)
├── scripts/ Build orchestration (runs inside the container)
├── keys/ Release signing public key
└── .github/workflows/ Experimental CI (not used for releases)
Releases use YY.MM (e.g. 26.04). The internal build id is separate and appears in the image name (solera-26.04-build-20260607-180000). Each release is pinned to an Arch Linux Archive snapshot for reproducibility.
Solera is open source and contributions are welcome — bug reports, feature requests and pull requests. See CONTRIBUTING.md for the workflow and CODE_OF_CONDUCT.md for community standards. Security issues: see SECURITY.md (report privately, not in a public issue).
Website: www.soleralinux.org · Changelog
Maintained by José Luis Castro (info@soleralinux.org). Supported by HappyAndroids. See AUTHORS.
GPL-3.0-or-later, matching upstream Arch / Arkane.