Resumen/Scripts y CLI
x-scripts — visión general
x-scripts es el payload de aprovisionamiento y CLI del sistema x. Es el
repo xlnux/scripts (antes el repo x) y, junto con el resto de repos de la
organización xlnux, implementa la iniciativa reboot que sustituyó el
instalador gráfico basado en Calamares por aprovisionamiento por scripts
(mecánica Omarchy, implementación y branding propios). Ver ADR-0001/ADR-0002 en
DECISIONS.md en la raíz del workspace (x-lnux).
Rol en la organización
| Repo | Rol |
|---|---|
xlnux/x | La distro: perfil archiso, builds ISO/WSL y flujo de instalación. |
xlnux/scripts | Este repo: fases de aprovisionamiento, setup de usuario, CLI x, migraciones y temas, empaquetado como x-scripts. |
xlnux/xpkg / xlnux/xpm | Tooling Rust de empaquetado/gestión de paquetes. |
xlnux/x-repo | Repo de paquetes + portal. |
La distro (x) consume este repo empaquetado como el paquete x-scripts; el
instalador ejecuta las fases root (x setup) durante la instalación y la fase
de usuario (x setup --user) en el primer arranque. El tooling Rust
(xpkg/xpm) está fuera de alcance para el empaquetado por ahora (ver el doc
de packaging y el ROADMAP del workspace).
Qué aporta este repo
install/— orquestadores de fase para aprovisionamiento de sistema (root) y usuario, con helpers de sync idempotentes.bin/— la CLIx(dispatcher + subcomandos por convención de nombres).skel/,etc/,config/— semillas de dotfiles para/etc/skel, drop-ins de/etcy configs de usuario.hardware/,tools/— módulos opcionales (NVIDIA, QEMU/libvirt, node) y el tool de setup del escritorio Hyprland.migrations/,themes/— migraciones por usuario y temas por paleta.packaging/— el PKGBUILD dex-scriptsy el generador del snapshot de config offline (vendor-config.sh).wsl/— bootstrap WSL legacy (se mantiene; previsto unificarlo con el 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:
- Las fases root configuran el sistema (skel, drop-ins de
/etc, módulos de hardware, servicios). - La fase de usuario siembra el home, sincroniza los dotfiles y aprovisiona el escritorio (stack Hyprland) offline desde un snapshot de config vendido.
xes la CLI del día a día para temas, migraciones y actualizaciones.
Ver cli.md, provisioning.md, hyprland.md y packaging.md.
Fuentes de configuración
Las configs de escritorio (Hyprland/kitty/nvim) no se mantienen en esta
organización: viven en repos externos (xscriptor-colors/hyprland,
xscriptor-colors/terminal, xscriptor-colors/nvim, rama main) que se usan
de solo lectura. Un snapshot se vende dentro del paquete para uso offline. Ver
hyprland.md y ADR-0005.
Rama y estado
Los entregables reboot de este repo se trackean en main (rama actual;
existe un x/reboot local de referencia). El seguimiento de fases en el
ROADMAP.md de este repo y del workspace está mayormente completo hasta la
etapa "distro instalable"; restos de auditoría pendientes para este repo
incluyen x-base.packages sin consumidor, pulido de CLI, más cobertura de
tests para helpers/fases y la unificación de wsl/. El progreso y las
decisiones viven en los ROADMAP.md/DECISIONS.md de la raíz del workspace
(x-lnux).