7 Commits
Author SHA1 Message Date
JoseviandClaude Sonnet 5 1994f7b030 pkgsync: añade aviso por Gotify a los fallos, además de notify-send
notify-send depende de la sesión gráfica -- poco fiable justo cuando
push falla en ExecStop durante el apagado (sesión/D-Bus cayéndose).
notify_fail() ahora también hace POST a push.josevi.ovh (mismo Gotify
que ya usa WUD para avisos de actualizaciones), best-effort con
timeout corto, leyendo el token de ~/.config/pkgsync/gotify.env --
fichero local-only, nunca tracked (mismo criterio que
overrides.local.toml), con scaffold comentado en bootstrap.

De paso: durante la verificación se descubrió que notify-send llevaba
tiempo fallando en silencio en esta máquina (applet de Notifications
ausente de shownItems/extraItems en el systray) -- arreglado aparte,
no es parte de este commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 18:58:37 +02:00
JoseviandClaude Sonnet 5 64bb53eadf pkgsync: aborta sin commitear si falla el parcheo, notifica fallos
cmd_push() seguía adelante y commiteaba lo que hubiera en disco aunque
patch_array_file no encontrara los arrays -- así fue como el fichero
acabó vacío en origin/main. Ahora aborta sin tocar git si cualquiera
de los 3 parcheos falla.

Añade notify_fail() (notify-send con urgencia critical) en los puntos
de fallo real de push/pull: parcheo fallido, git push/pull/clone
fallidos. Como push corre en ExecStop durante el apagado (sesión/D-Bus
cayéndose, notify-send no garantizado), también deja un marcador en
disco que el siguiente pull revisa al arrancar con la sesión completa,
para no depender de que la notificación del apagado llegara a verse.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 18:49:26 +02:00
Josevi 9f0d0f1179 Quita la variante GNOME: KDE Plasma es el único escritorio que se usa
En el uso real nunca se ha instalado GNOME en ninguna de las dos máquinas.
Elimina gnome/ entero (archinstall-config.json + setup.sh) y limpia todas
las referencias en README.md, INSTALL.md, packages-common.sh y pkgsync.sh
(comentarios "<de>/setup.sh" genéricos, comparaciones GNOME/KDE, la variable
DE ya inútil en kde/setup.sh). Sigue disponible en el historial de git si
algún día hiciera falta.
2026-08-18 11:35:35 +02:00
Josevi dc30383bf7 Añade inotify-tools: grub-btrfsd lo necesita, es dep. opcional de grub-btrfs
Detectado en real en Vampire-HM80: los 3 paquetes de rollback btrfs estaban
declarados e instalados, pero grub-btrfsd moría con exit 1 porque pacman
--needed no arrastra dependencias opcionales. Sin inotify-tools el daemon
nunca regenera el grub.cfg con los snapshots -- toda la red de seguridad de
rollback quedaba muda en silencio.
2026-08-18 11:23:38 +02:00
Josevi 41d64de461 pkgsync: notify-send con timeout, no debe poder colgar pkgsync-pull.service
Un StartServiceByName de D-Bus atascado hizo que notify-send se colgara,
comiéndose el TimeoutStartSec=60 del servicio systemd y matándolo (probado
en la máquina real). Acotado a 5s como los git ls-remote/clone/pull.
2026-08-18 11:12:45 +02:00
Josevi d1077f0547 Arregla bug de trap RETURN en pkgsync.sh y quita mención stale a DavMail
trap RETURN persiste entre retornos de función en bash, no solo el de la
función que lo puso: al volver de compute_diff/cmd_push/cmd_audit hacia
arriba en la pila, volvía a dispararse sobre un $work ya fuera de scope
('work: variable sin asignar' bajo set -u). Cambiado a rm -rf explícito en
cada punto de salida.

DavMail se desinstaló del sistema; ya no debía aparecer en la lista de apps.
2026-08-18 11:08:54 +02:00
Josevi c074095d68 Añade pkgsync: sincronización de paquetes entre máquinas (mismo patrón que chezmoi)
Nuevo pkgsync/pkgsync.sh + servicios systemd --user (push al cerrar sesión,
pull+diff+notifica al iniciar sesión, sin aplicar cambios solo) usando
metapac como motor de diff/aplicación sobre los arrays de
packages-common.sh. Lista de paquetes críticos protegidos de borrado
automático, fichero de overrides local para divergencias entre máquinas, y
comandos de introspección (diff/log/incoming/audit).

De paso, grub/efibootmgr y los drivers gráficos pasan de estar hardcodeados
en cada <de>/setup.sh a vivir en PACMAN_COMMON, para que pkgsync pueda
declararlos y protegerlos.
2026-08-18 10:46:23 +02:00