X Linux
Menú de documentación

Resumen/Scripts y CLI

x-scripts — visión general

x-scripts es el payload de aprovisionamiento y CLI del sistema X. Es el repo equislinux/scripts (antes el repo x) y sustituyó al instalador gráfico basado en Calamares por aprovisionamiento por scripts, con implementación y branding propios.

Rol en la organización

RepoRol
equislinux/xLa distro: perfil archiso, builds ISO/WSL y flujo de instalación.
equislinux/scriptsEste repo: fases de aprovisionamiento, setup de usuario, CLI x, migraciones y temas, empaquetado como x-scripts.
equislinux/xpkg / equislinux/xpmTooling Rust de empaquetado/gestión de paquetes.
equislinux/x-repoRepo de paquetes + portal.

La distro (x) consume este repo empaquetado como el paquete x-scripts. El instalador de texto ejecuta ambas fases durante la instalación: las fases root (x setup) aprovisionan el sistema y la fase de usuario (x setup --user) siembra el home del usuario nuevo antes de desplegar el escritorio elegido. El tooling Rust (xpkg/xpm) construye y consume el endpoint nativo .xp; el sistema se aprovisiona con pacman + [x].

Qué aporta este repo

  • install/ — orquestadores de fase para aprovisionamiento de sistema (root) y usuario, con helpers de sync idempotentes y los motores de generaciones (xgen.sh para snapshots del sistema, xgen-home.sh para dotfiles).
  • bin/ — la CLI x (dispatcher + subcomandos por convención de nombres), incluidos x gen ... y x home ....
  • hooks/ — el wrapper pacman-gen.sh y los hooks alpm (hooks/alpm/, instalados en /usr/share/libalpm/hooks/).
  • skel/, etc/, config/ — semillas de dotfiles para /etc/skel, drop-ins de /etc y configs de usuario.
  • hardware/, tools/ — módulos opcionales (NVIDIA, QEMU/libvirt, node) y las herramientas de setup de los escritorios Hyprland y niri. KDE Plasma lo instala el instalador de texto, no este payload.
  • migrations/, themes/ — migraciones por usuario y temas por paleta.
  • packaging/ — el PKGBUILD de x-scripts y el generador del snapshot de config offline (vendor-config.sh). payload).
  • test/ — tests locales sin root (test/smoke.sh).

Rol en el sistema

En un sistema x instalado, el paquete instala todo bajo /usr/share/x y expone la CLI como /usr/bin/x (un symlink a /usr/share/x/bin/x). El payload es lo que convierte un Arch recién pacstrapeado en una máquina x aprovisionada:

  1. Las fases root configuran el sistema (skel, drop-ins de /etc, módulos de hardware, servicios).
  2. La fase de usuario siembra el home, sincroniza los dotfiles y aprovisiona el escritorio: Hyprland (snapshot offline u online vía equisdots/dots) o niri (online vía equisdots/niri-meta). KDE Plasma lo gestiona el instalador de texto.
  3. x es la CLI del día a día para temas, migraciones y actualizaciones, más generaciones: x gen versiona el sistema (snapshots booteables, rollback, restore granular) y x home versiona los dotfiles del usuario.

Ver cli.md, provisioning.md, generations.md, hyprland.md, niri.md y packaging.md.

Fuentes de configuración

Las configs de escritorio no se mantienen en esta organización: la org equisdots es dueña de los stacks (equisdots/hyprland, equisdots/niri, equisdots/niri-shell, equisdots/niri-login, equisdots/niri-meta, más los repos compartidos shell, palettes, theme-sync, davincix, timex y login; rama main). Las configs de apps vienen de xscriptor-colors/terminal (kitty/starship) y xscriptor-colors/nvim. Todas se usan de solo lectura; los instaladores oficiales son equisdots/dots (Hyprland) y equisdots/niri-meta (niri). Solo el stack Hyprland se vende para uso offline; niri se instala online. El branding de KDE Plasma vive en el paquete x-kde-settings de [x]. Ver hyprland.md, niri.md y ADR-0005.

Rama y estado

Los entregables de este repo se trackean en main. La fuente del payload es x-scripts 0.1.0-42, incluida en el ISO 2026.10.27; el repositorio público [x] sirve actualmente 0.1.0-39. El paquete también incluye la herramienta no interactiva niri-install.sh que usa el instalador de texto. Restos de auditoría pendientes: x-base.packages sin consumidor, pulido de CLI y más cobertura de los helpers/fases.

WSL vive en sus repos dedicados: equislinux/wsl y equislinux/wsl-scripts.

Editar esta página en GitHub