ADR-003 — Sombreado Parcial: [omarchy-personal] antes de [omarchy]
- Estado: Aceptada
- Fecha / Hito: 2026-09-01 (Etapa 4, WORKLOG 5ª parte)
Contexto
El ecosistema de Omarchy oficial provee cientos de paquetes precompilados en pkgs.omarchy.org. Recompilar la totalidad de los paquetes en nuestra propia infraestructura sería un desperdicio masivo de recursos de cómputo en GitHub Actions y aumentaría el riesgo de fallos por dependencias desactualizadas.
Sin embargo, necesitamos que las personalizaciones del fork reemplacen al software oficial sin romper la resolución de paquetes. Pacman implementa una semántica estricta: ante versiones idénticas o superiores, prevalece el repositorio declarado primero en /etc/pacman.conf.
Decisión
- Sombreado Parcial: Se declara la sección
[omarchy-personal]antes de[omarchy]y de los repositorios estándar de Arch Linux en/etc/pacman.conf. - Conservación de Nombres: Los paquetes conservan exactamente sus nombres originales (
omarchyyomarchy-settings). - Precedencia en
/etc/pacman.conf: La sección[omarchy-personal]debe quedar inmediatamente antes de[omarchy]cada vez queomarchy refresh pacman(o un cambio de canal) reescribe la plantilla.
Actualización 2026-10-13 (PR #78, cierra #76)
Ya no editamos default/pacman/pacman-stable.conf en el fork: el archivo permanece idéntico al espejo upstream para que el rebase diario ADR 0024 no choque en ese path.
Pieza en robert-flo/omarchy |
Rol |
|---|---|
default/pacman/omarchy-personal.repo.snippet |
Bloque [omarchy-personal] versionado |
config/omarchy/hooks/pre-refresh-pacman.d/omarchy-personal-repo |
Hook que inserta el snippet antes de [omarchy] en /etc/pacman.conf tras copiar la plantilla |
migrations/1791380000.sh |
Instala el hook en ~/.config/omarchy/hooks/pre-refresh-pacman.d/ en el primer omarchy update |
El comportamiento de sombreado en runtime es el mismo; solo cambia dónde vive la personalización (hook + snippet, no el template compartido con upstream).
Consecuencias
- Eficiencia Máxima: Solo compilamos y hospedamos los paquetes que efectivamente modificamos. El 99% restante de la distribución se sigue descargando directamente desde los mirrors oficiales de Omarchy y Arch Linux.
- Integridad: Las máquinas clientes consumen el par personalizado prioritariamente siempre que su versión sea superior o igual a la oficial.
- Sync upstream: Al no tocar
pacman-stable.conf, el conflicto recurrente[Conflicto Rebase]en ese archivo desaparece; los conflictos restantes suelen ser docs u otros paths editados enpersonal.