gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1574Shell 204Rust 111Markdown 993763 Definitions

feat(perfil): escritorio-mirada lleva el riel y el instalador COMPLETOS — aligerar es apagar plugins

Hasta hoy este perfil declaraba compositor, greeter y ctl: **un escritorio sin panel, sin fondo y
sin notificaciones**. El síntoma fue de instalación —con churay, «me montó un busybox, luego dice
que no hay pata»— y la causa era doble: `pata` no existía como receta Y no estaba en ningún perfil.
Faltar una de las dos cosas no se parece a faltar la otra, y faltaban las dos.

De 17 raíces a 28: `pata` son SIETE binarios (el riel `pata-llimphi`, el que toma los pedidos
`pata`, los espacios, el centro y la cadena de notificaciones), más las dos caras de churay con
receta y `mirada-wallpaper`.

⇒ **LA REGLA QUE FIJA EL USUARIO, Y POR QUÉ IMPORTA: la imagen lleva el componente COMPLETO;
aligerar se hace deshabilitando plugins, no omitiendo paquetes.** Un paquete que no está no se puede
encender, así que recortar la lista decide por el dueño de la máquina — y lo decide en una tabla
donde él no puede llegar. Apagar un plugin es reversible en su máquina y sin reconstruir nada; no
empaquetarlo no lo es.

Por qué `escritorio-mirada` y no los otros cuatro escritorios, medido antes de elegir:

- `pata` es el panel DE MIRADA, no uno genérico: el código de mirada lo referencia **571 veces** y
  4 de sus crates dependen de `mirada` en su `Cargo.toml`.
- `escritorio-mirada` era el único escritorio con compositor y SIN panel. KDE, GNOME, COSMIC y sway
  ya traen el suyo — meter `pata` ahí serían dos paneles peleándose la misma capa de layer-shell.
- Y este perfil **ES el USB**: `scripts/mirada-usb.sh` deriva sus paquetes de él. El instalador
  tiene que estar en lo que arrancás para instalar, no en lo que queda instalado.

Entra también `mirada-wallpaper`, hueco del mismo censo: el código de mirada lo referencia 30 veces,
es un binario real y no estaba empaquetado.

⚠ **`churay` queda como `wanted` en el grafo A PROPÓSITO.** Es la cara de ventana del instalador y su
receta la tiene otro agente escrita y sin commitear. Declararla acá deja el hueco VISIBLE
—«declara sin receta: wanted/churay» en `cierres.json`— en vez de en un comentario que nadie lee. El
día que se commitee, la marca pasa a hash sola.

⚠ **Coste del bump, dicho claro: 36 recetas quedan en deuda** —las 35 de tawasuyu que saltaron a
`619431ca` más una— porque mover el pin cambia su hash y la granja no construye recetas canónicas
por su cuenta. Hace falta una tanda; está lanzada.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

f303ee456eef55f19b1f677ad3f1c6739aca2657 · by Sergio · (9 d ago) · parent 7db765a31 · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

2 files · +54 −2

diff --git a/docs/state/targets.toml b/docs/state/targets.toml
index 1a3181ef..368a8849 100644
--- a/docs/state/targets.toml
+++ b/docs/state/targets.toml
@@ -357,7 +357,7 @@ paquetes = [
 ]
 
 [perfil.escritorio-mirada]
-descripcion = "rootfs slim del USB mirada: compositor Wayland propio sobre mesa software"
+descripcion = "rootfs del USB mirada: compositor Wayland propio sobre mesa software, riel pata y el instalador churay"
 # NO hereda base: es una imagen slim a propósito. El ORDEN importa (libs primero, binarios mirada
 # al final) y se preserva. `scripts/mirada-usb.sh` deriva su PKGS de acá (`targets.py
 # escritorio-mirada`), así que esta lista ES la del USB — no una copia que pueda divergir.
@@ -376,11 +376,39 @@ descripcion = "rootfs slim del USB mirada: compositor Wayland propio sobre mesa
 # NO se suman `bzip2-shared` ni `ncurses-shared`, que sí llevan los otros perfiles: acá esos sonames
 # los pide sólo `python3`, que es HERRAMIENTA DE BUILD y no viaja en la imagen. Lo accionable del
 # vigía es lo que pide un componente de runtime, y por eso imprime siempre quién pide cada cosa.
+#
+# ── EL ESCRITORIO COMPLETO, Y ALIGERAR ES APAGAR PLUGINS (2026-10-13, decisión del usuario) ──────
+# Hasta hoy este perfil declaraba compositor, greeter y ctl: **un escritorio sin panel, sin fondo y
+# sin notificaciones**. El síntoma fue de instalación — con churay, «me montó un busybox, luego dice
+# que no hay pata» — y la causa doble: `pata` no existía como receta Y no estaba en ningún perfil.
+# Faltar una de las dos cosas no se parece a faltar la otra, y acá faltaban las dos.
+#
+# ⇒ **La imagen lleva el componente COMPLETO. Aligerar se hace deshabilitando plugins, no omitiendo
+# paquetes.** Es la regla que fija el usuario y conviene entender por qué: un paquete que no está no
+# se puede encender, así que recortar la lista decide por el usuario de la máquina y además lo
+# decide en un sitio —esta tabla— donde él no puede llegar. Apagar un plugin es reversible en su
+# máquina y sin reconstruir nada; no empaquetarlo no lo es.
+#
+# `pata` son SIETE binarios y no uno: el riel (`pata-llimphi`), el que toma los pedidos (`pata`),
+# los espacios (`pata-space`), el centro (`pata-centro`) y la cadena de notificaciones
+# (`pata-notify`, `pata-notify-panel`, `pata-notify-triage`). Y `mirada-wallpaper` entra por el
+# mismo censo: el código de mirada lo referencia 30 veces y tampoco estaba.
+#
+# ⚠ **`churay` aparecerá como `wanted` en el grafo, y está bien así.** Es la cara de ventana del
+# instalador, y su receta la tiene OTRO AGENTE escrita y SIN COMMITEAR (9.487 bytes, 11-oct 19:00,
+# con la medición de por qué la cara de Vello no sirve acá). Declararla acá deja el hueco VISIBLE en
+# `cierres.json` y en `build-state` —«declara sin receta: wanted/churay»— en vez de en un comentario
+# que nadie lee. El día que se commitee, la marca pasa a hash sola.
 paquetes = [
   "expat-shared", "zlib-shared", "libffi-shared",
   "mesa-swrast", "wayland", "libdrm", "seatd", "libinput", "libudev-zero",
   "libxkbcommon", "pixman", "linux-pam", "mtdev", "libevdev",
-  "mirada-compositor", "mirada-greeter", "mirada-ctl",
+  "mirada-compositor", "mirada-greeter", "mirada-ctl", "mirada-wallpaper",
+  # el riel completo
+  "pata", "pata-llimphi", "pata-space", "pata-centro",
+  "pata-notify", "pata-notify-panel", "pata-notify-triage",
+  # el instalador: las dos caras que ya tienen receta, y la de ventana que la espera
+  "churay-tui", "churay-metal", "churay",
 ]
 
 [perfil.escritorio-kde]
diff --git a/recipes/mirada-wallpaper.toml b/recipes/mirada-wallpaper.toml
new file mode 100644
index 00000000..5fe777c2
--- /dev/null
+++ b/recipes/mirada-wallpaper.toml
@@ -0,0 +1,24 @@
+# mirada-wallpaper — el fondo de escritorio de mirada.
+#
+# ── POR QUÉ ESTA RECETA (2026-10-13) ────────────────────────────────────────────────────────────
+# Hueco encontrado buscando el de `pata`: el código de mirada referencia `mirada-wallpaper` 30
+# veces, es un binario de verdad en el monorepo, y **no estaba empaquetado** — igual que `pata`,
+# sólo más chico. El perfil `escritorio-mirada` declaraba compositor, greeter y ctl, y nada más.
+#
+# ⚠ `static` y sin `[deps]`: medido, su `Cargo.toml` no toca wgpu/winit/wayland/llimphi/smithay
+# (0 referencias). No se asume por el nombre — `pata-notify-triage` tampoco mencionaba nada y
+# arrastraba `smithay-client-toolkit`, así que lo que vale es si CONSTRUYE.
+name    = "mirada-wallpaper"
+version = "0.1.0"
+license = "MIT OR Apache-2.0"
+
+[source]
+repo   = "https://git.tawasuyu.net/tawasuyu/tawasuyu.git"
+commit = "619431cac9753cd55d0f9e2d99ff8efe7fab651b"
+cargo_vendor_dir = ".hammer-cargo-vendor"
+
+[build]
+compiler = "zig-cc"
+target   = "x86_64-linux-musl"
+link     = "static"
+flags    = ["-p", "mirada-wallpaper", "--bin", "mirada-wallpaper"]