X Linux
Documentation menu

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-scripts payload, shipped offline inside the ISO.
  • WSL is built from the dedicated equislinux/wsl + equislinux/wsl-scripts repositories (rootfs release v0.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:

RepositoryRole
equislinux/xThe distro (this repo). archiso profile, live ISO, text installer.
equislinux/scriptsProvisioning payload and the x CLI (x setup, x theme, ...). Packaged as x-scripts and installed by the text installer.
equislinux/x-repoX binary package repository (hosted on GitHub Pages, [x] in pacman.conf) plus the package portal.
equislinux/xpmX package manager (Rust).
equislinux/xpkgX 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.sh collects options and writes a JSON plan; install.sh partitions (GPT/btrfs with the @, @home, @snapshots and @xstate subvolumes and a 1 GiB ESP), runs pacstrap, configures the base system, provisions with x-scripts, installs a bootloader and records generation 0001.
  • Dualboot mode. The installer can target the largest free region of a GPT disk (mode in 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-scripts engine 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 autoinstall boot entry (hotkey a, xauto=1) for a disk labeled cidata containing x-install.json.
  • Offline provisioning payload. The x-scripts package (current payload x-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/wsl repository (release v0.1.0) and provisioned with equislinux/wsl-scripts.

Development model

  • Development happens on main with 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.

Edit this page on GitHub