Overview/X Linux (distro)
X distribution repository
This is the documentation index for the x repository (equislinux/x), the home
of the X distribution (formerly known as X Linux / x-linux). X is a
custom Arch Linux spin focused on simplicity, clean branding, and reproducible
builds. It ships its own package repository (x-repo) so X-specific packages
can be installed directly with pacman.
Overview
The repository contains the distribution build source, not a user-facing product on its own. It provides:
- An archiso profile that produces the bootable live ISO.
- A text installer that runs automatically in the live environment (no graphical installer; Calamares was removed).
- Provisioning of the installed system through the
x-scriptspayload, shipped offline inside the ISO. - WSL is built from the dedicated
equislinux/wsl+equislinux/wsl-scriptsrepositories (rootfs releasev0.1.0).
The ISO uses the standard mkarchiso workflow. A custom [x] pacman
repository is declared in pacman.conf and is used both at build time and on
the installed system, so X branding and tooling packages (x-release,
x-dev) install with pacman.
Project status
The distribution is under active development. The current work is the reboot
initiative (script-based provisioning in the style of Omarchy, with X's own
decisions and tooling). See ROADMAP.md for the roadmap and
docs/project-state.md for a state snapshot.
How this repository maps to the organization
The workspace groups each equislinux repository under x-lnux/. Repo names were
renamed at some point, so older references to x-linux (the distro) or to an
x scripts repo must be read with this mapping in mind:
| Repository | Role |
|---|---|
equislinux/x | The distro (this repo). archiso profile, live ISO, text installer. |
equislinux/scripts | Provisioning payload and the x CLI (x setup, x theme, ...). Packaged as x-scripts and installed by the text installer. |
equislinux/x-repo | X binary package repository (hosted on GitHub Pages, [x] in pacman.conf) plus the package portal. |
equislinux/xpm | X package manager (Rust). |
equislinux/xpkg | X packaging tool for developers (Rust). |
equisdots/* | Org that owns the desktop stack (Hyprland Lua config, Quickshell shell, palettes, engines, SDDM login) consumed read-only by the Hyprland setup tool in scripts; its official installer is equisdots/dots. |
Related documentation in this repository:
Highlights
- Branding. Identity applied to GRUB (
GRUB_DISTRIBUTOR="X"), the ISO label/publisher, MOTD, and installed packages. - Text installer.
configurator.shcollects options and writes a JSON plan;install.shpartitions (GPT/btrfs with the@,@home,@snapshotsand@xstatesubvolumes and a 1 GiB ESP), runspacstrap, configures the base system, provisions withx-scripts, installs a bootloader and records generation0001. - Dualboot mode. The installer can target the largest free region of a GPT
disk (
modein the JSON), reusing the existing EFI System Partition and leaving the Windows bootloader (EFI/Microsoft/**,EFI/BOOT/BOOTX64.EFI) untouched. UEFI only. - Generations. The btrfs layout plus the
x-scriptsengine record a bootable snapshot and a manifest with the system state for every relevant change: list generations, roll back to a previous one (x gen rollback) and restore a single file or a whole package (x gen restore,--pkg). - Unattended install. The ISO ships an
autoinstallboot entry (hotkeya,xauto=1) for a disk labeledcidatacontainingx-install.json. - Offline provisioning payload. The
x-scriptspackage (current payloadx-scripts 0.1.0-30) and the Hyprland config snapshot ship inside the ISO, so provisioning does not depend on downloading them during install. - WSL support. The rootfs is built in the dedicated
equislinux/wslrepository (releasev0.1.0) and provisioned withequislinux/wsl-scripts.
Development model
- Development happens on
mainwith short-lived PR branches. - Older branches (
checkpoint/calamares-installer-v1,x/reboot,dev) are historical and do not reflect the current code.
Scope
Everything in this repository is part of the equislinux organization. Only
references related to building, installing, and provisioning X live here;
user-facing setup logic lives in the x-scripts payload.