Declarative XeConfig.md
Packages, services, containers, desktop components and agents live in one Markdown file you can read, diff and review like code.
Xenite Linux pairs AlmaLinux OS 10's binary-compatible enterprise core with Fedora-speed package tiers and NixOS-style reproducible generations — all described in one readable file, XeConfig.md.
xeEverything installed on a Xenite machine is declared, probed, planned and verified. No drift, no mystery packages, no ABI surprises.
XeConfig.mdPackages, services, containers, desktop components and agents live in one Markdown file you can read, diff and review like code.
Each applied state is hashed into a closure and committed as a generation. Compare, audit or roll back to any previous one.
xe toolWritten in Rust with only the standard library. Parse, plan and hash in about a millisecond, then do only the work that is missing.
Pull newer software from Fedora or COPR without risk: glibc, systemd and kernel are fenced off, or it runs in rootless containers.
KDE Plasma 6 on Wayland with a tuned glass theme, PipeWire audio, Flatpak apps and sensible shortcuts out of the box.
xe iso-audit fails a build if any upstream branding, artwork fingerprint or non-redistributable package slips into the image.
rpm -q, flatpak list and systemctl is-enabled run concurrently. Things already true produce no command at all.
Every stable tier goes into a single dnf depsolve with 20 parallel downloads: one metadata load instead of one per tier.
The root lane runs dnf and systemd while the user lane installs Flatpaks and containers at the same time.
# --- System identity ---
distro Xenite-Linux version=10.2 codename=genesis-alpha
base=almalinux:10.2 arch=x86_64
# --- Tier 1: stable enterprise core ---
pkg @alma10 pipewire wireplumber plasma-desktop
pkg @epel10 fastfetch btop
# --- Tier 3: Fedora bridge behind the ABI firewall ---
pkg @fedora fedora-bleeding-cli mode=distrobox state=optional
# --- Tier 4: sandboxed desktop apps ---
pkg @flathub org.onlyoffice.desktopeditors scope=user
service pipewire.socket scope=user state=enabled
$ xe apply
probe 107 records · rpm · flatpak · systemctl 4 ms
skip 98 already converged
plan root lane: dnf install 3 pkgs (1 transaction)
user lane: flatpak install 1 app
systemd: enable 1 unit
dry-run only. re-run with --yes to apply.
$ xe apply --yes
✓ root lane done in 41.2 s (max_parallel_downloads=20)
✓ user lane done in 18.7 s (ran in parallel)
✓ converged · 0 pending
$ xe gen --state-dir ~/.local/state/xenite/generations
✓ generation #42 committed
closure sha256:9f3c1a7e…be21a
records 107 (pkg 71 · flatpak 9 · service 14 · other 13)
previous #41 (+3 pkgs, +1 unit)
$ xe check
✓ parse 107 records in 64 µs
✓ closure matches generation #42
✓ invariants os-release · repos · branding
Stable where it matters, fresh where you want it. Each tier has its own rules, and xe enforces them.
Binary-compatible EL10 packages from upstream AlmaLinux mirrors. Ten-year ABI stability.
Most stableCommunity packages built for EL10. Installed in the same single dnf transaction.
StableNewer tools via isolated dnf, COPR or a rootless distrobox — always behind the ABI firewall.
FreshDesktop apps with their own runtimes, installed per user and updated independently.
LatestGenesis Alpha is a preview release for testing. Verify every image with its SHA-256 checksum before you install.
Download the CHECKSUM file from the same mirror, then check the image before writing it to a USB stick.
sha256sum -c CHECKSUM --ignore-missingsudo dd if=Xenite-10.2-x86_64-Workstation.iso of=/dev/sdX bs=4M status=progress oflag=syncSwitch in place: the Xenite branding and tools replace the upstream ones, your repositories and data stay as they are.
sudo dnf install ./xenite-release-10.2-1.el10.noarch.rpm ./xenite-repos-10.2-1.el10.noarch.rpm --allowerasingxe check && xe applyXenite version numbers follow the EL point release they are built on. No calendar versions, no surprises.
Live system switch, Rust xe tool, debranding packages, generations and ISO audit.
First real ISO built with lorax, validated kickstart, renamed kernel and package names, public mirror network.
Signed repositories, aarch64 images, graphical installer branding and a one-click converter from AlmaLinux OS 10.
Released shortly after each upstream EL10 point release and supported for the EL10 lifecycle.
The first public preview: a live EL10 machine running fully on Xenite branding, the new Rust xe tool and reproducible generations.
xe installs fastParsing was never the slow part — dnf is. How probing, one transaction and two parallel lanes cut install time.
Read more →What we keep from upstream, what we replace, and why proprietary vendor apps never ship on the image.
Read more →Can't find what you need? Open an issue in the project repository.
Yes. The enterprise core comes unchanged from upstream AlmaLinux OS 10 mirrors, so EL10 software and RPMs run as-is. Xenite only replaces branding packages and adds its own tools.
Xenite tracks the EL point release it is built on. 10.2 means "built on the EL 10.2 package set", so you always know which ABI you are running.
Yes, through the @fedora tier. Packages are installed with an automatic include list and with glibc, systemd and kernel excluded, or run inside a rootless distrobox and exported to the host.
Every xe gen run stores a generation with its closure hash. Compare two generations to see exactly what changed and re-apply an earlier one.
No. Xenite Linux is an independent community project that builds on AlmaLinux OS packages. It ships its own name and artwork and keeps upstream repositories so updates stay in sync.
With the 10.2 Beta, once the first ISO is built and passes xe iso-audit. Until then the download buttons on this page are previews.
Boot the live Workstation image, or convert an existing AlmaLinux OS 10 machine in minutes.
Connecting to mirror…