Overview/Scripts and CLI
x-scripts — overview
x-scripts is the provisioning payload and CLI of the X system. It is the
equislinux/scripts repo (formerly the x repo); it replaced the
Calamares-based graphical installer with scripted provisioning, with its own
implementation and branding.
Role in the organization
| Repo | Role |
|---|---|
equislinux/x | The distro: archiso profile, ISO/WSL builds and install flow. |
equislinux/scripts | This repo: provisioning phases, user setup, x CLI, migrations and themes, packaged as x-scripts. |
equislinux/xpkg / equislinux/xpm | Rust packaging/package-manager tooling. |
equislinux/x-repo | Package repository + portal. |
The distro (x) consumes this repo packaged as the x-scripts package. The
text installer runs both phases during installation: the root phases
(x setup) provision the system and the user phase (x setup --user) seeds
the new user's home before the selected desktop is deployed. The Rust tooling
(xpkg/xpm) builds and drives the native .xp endpoint; the system itself
is provisioned with pacman + [x].
What this repo provides
install/— phase orchestrators for system (root) and user provisioning, with idempotent sync helpers and the generation engines (xgen.shfor system snapshots,xgen-home.shfor dotfile generations).bin/— thexCLI (dispatcher + subcommands by naming convention), includingx gen ...andx home ....hooks/— thepacman-gen.shwrapper and the alpm hook sources (hooks/alpm/, installed to/usr/share/libalpm/hooks/).skel/,etc/,config/— dotfile seeds for/etc/skel,/etcdrop-ins and user configs.hardware/,tools/— optional modules (NVIDIA, QEMU/libvirt, node) and the Hyprland and niri desktop setup tools. KDE Plasma is installed by the text installer, not by this payload.migrations/,themes/— per-user migrations and palette themes.packaging/— thex-scriptsPKGBUILD and the offline config snapshot generator (vendor-config.sh).test/— local tests without root (test/smoke.sh).
Role in the system
On an installed x system the package installs everything below
/usr/share/x and exposes the CLI as /usr/bin/x (a symlink to
/usr/share/x/bin/x). The payload is what turns a freshly pacstrapped Arch
into a provisioned x machine:
- Root phases configure the system (skel,
/etcdrop-ins, hardware modules, services). - The user phase seeds the home, syncs dotfiles and provisions the desktop:
Hyprland (offline snapshot or online via
equisdots/dots) or niri (online viaequisdots/niri-meta). KDE Plasma is handled by the text installer. xis the day-to-day CLI for themes, migrations and updates, plus generations:x genversions the system (bootable snapshots, rollback, granular restore) andx homeversions the user's dotfiles.
See cli.md, provisioning.md, generations.md, hyprland.md, niri.md
and packaging.md.
Configuration sources
The desktop configs are not maintained in this organization: the equisdots
org owns the stacks (equisdots/hyprland, equisdots/niri,
equisdots/niri-shell, equisdots/niri-login, equisdots/niri-meta, plus
the shared shell, palettes, theme-sync, davincix, timex and login
repos; branch main). App configs come from xscriptor-colors/terminal
(kitty/starship) and xscriptor-colors/nvim. All are used read-only; the
official installers are equisdots/dots (Hyprland) and equisdots/niri-meta
(niri). Only the Hyprland stack is vendored for offline use; niri is installed
online. KDE Plasma branding lives in the x-kde-settings package in [x].
See hyprland.md, niri.md and ADR-0005.
Status
This repo's deliverables are tracked on main. The payload source is
x-scripts 0.1.0-42 and is bundled in the current 2026.10.27 ISO; the public
[x] repository currently serves 0.1.0-39. The package also ships the
non-interactive niri-install.sh tool used by the text installer. Remaining
audit items: x-base.packages without a consumer, CLI polish and more coverage
for the helpers/phases.
WSL lives in its dedicated repos: equislinux/wsl and equislinux/wsl-scripts.