Commit Graph
44 Commits
Author SHA1 Message Date
Josevi df9cf52acf pkgsync: actualiza inventario de paquetes 2026-09-19 21:26 2026-09-19 21:26:29 +02:00
Josevi 4f2c3e937b pkgsync: actualiza inventario de paquetes 2026-09-19 17:15 2026-09-19 17:15:52 +02:00
Josevi 56c924d0a6 pkgsync: actualiza inventario de paquetes 2026-09-17 18:58 2026-09-17 18:58:48 +02:00
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
Josevi 56742247ce pkgsync: actualiza inventario de paquetes 2026-09-17 18:49 2026-09-17 18:49:34 +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
JoseviandClaude Sonnet 5 598e8b52c8 Restaura shared/packages-common.sh, vaciado por un push corrupto
El push de pkgsync del 2026-08-27 17:41 (8575c4f) commiteó el fichero
ya vacío en disco (algo lo truncó a 0 bytes fuera de pkgsync entre las
16:10 y las 17:41 de ese día -- causa exacta desconocida), porque
cmd_push() no validaba que el parcheo de arrays hubiera funcionado
antes de commitear. Restaurado desde f3cdc35 (último commit bueno,
mismo día 07:37). El siguiente push recapturará los 3 semanas de
drift real desde entonces.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 18:49:20 +02:00
Josevi 8575c4ffa3 pkgsync: actualiza inventario de paquetes 2026-08-27 17:41 2026-08-27 17:41:05 +02:00
Josevi f3cdc3525d pkgsync: actualiza inventario de paquetes 2026-08-27 07:37 2026-08-27 07:37:13 +02:00
Josevi 25beb525bc pkgsync: actualiza inventario de paquetes 2026-08-26 18:06 2026-08-26 18:06:31 +02:00
Josevi 179affc994 pkgsync: actualiza inventario de paquetes 2026-08-26 09:42 2026-08-26 09:42:58 +02:00
Josevi 3a95ae12e9 pkgsync: actualiza inventario de paquetes 2026-08-25 10:44 2026-08-25 10:44:25 +02:00
Josevi f190e739f9 pkgsync: actualiza inventario de paquetes 2026-08-24 21:55 2026-08-24 21:55:31 +02:00
Josevi d891ca5dd4 pkgsync: actualiza inventario de paquetes 2026-08-24 10:21 2026-08-24 10:21:08 +02:00
Josevi a2ae1da768 pkgsync: actualiza inventario de paquetes 2026-08-24 07:15 2026-08-24 07:15:59 +02:00
Josevi 5fda5aaaf6 pkgsync: actualiza inventario de paquetes 2026-08-18 12:31 2026-08-18 12:31:11 +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 8d1a839578 README: explica por qué dotfiles y paquetes viven en repos separados 2026-08-18 11:30:32 +02:00
Josevi d411593149 configure_btrfs_rollback: ALLOW_GROUPS=wheel para que el usuario use snapper sin sudo
El chmod/chown de /.snapshots no basta -- snapper tiene su propia lista de
permitidos (ALLOW_USERS/ALLOW_GROUPS) en la config, independiente de los
permisos de fichero. Sin esto 'snapper -c root list' da 'Sin permisos' para
cualquiera que no sea root. Detectado en real en Vampire-HM80.
2026-08-18 11:26:30 +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 b740ed5db5 pkgsync: actualiza inventario de paquetes 2026-08-18 11:09 2026-08-18 11:09:32 +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
Josevi f19b6f0f93 feat: rollback btrfs + kernel LTS + sync paquetes/flatpaks
- Añade linux-lts como kernel fallback en archinstall (GNOME/KDE).
- Implementa snapper + snap-pac + grub-btrfs para rollback de actualizaciones.
- Configura snapshots solo en operaciones de pacman (timeline deshabilitado).
- Sincroniza PACMAN_COMMON/AUR_COMMON con la máquina maestra.
- Añade FLATPAK_COMMON para Heroic, Karere y Buffer.
- Elimina paquetes no presentes: obsidian, davmail, karere, heroic-games-launcher-bin.
- Añade packagekit-qt6 y kwin-decoration-sierra-breeze-enhanced-git en KDE.
- Actualiza PROJECT_CONTEXT.md con la nueva arquitectura.
2026-08-13 17:11:49 +02:00
JoseviandClaude Sonnet 5 f87c2c08ce update settings
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 13:43:14 +02:00
JoseviandClaude Sonnet 5 e8e5b2060b Sincroniza kde/setup.sh con lo instalado hoy en esta máquina
- ksshaskpass: ssh-add helper vía kwallet, instalado a mano hoy (03/08).
- kwin-effects-glass-git: efecto de cristal para kwin, mismo día, junto al
  resto de efectos de blur ya trackeados.

packagekit-qt6 sigue instalado en esta máquina pero se deja fuera del script
a propósito: la decisión de quitarlo (commit 4cb89eb) sigue vigente, es solo
resto de antes de esa limpieza.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 13:42:28 +02:00
JoseviandClaude Sonnet 5 4cb89eb536 Sincroniza el instalador con lo realmente instalado en esta máquina
- vim, usbutils, gvfs-mtp, chezmoi (ya en repos oficiales, fuera de AUR),
  kdegraphics-thumbnailers, breeze-enhanced, yin-yang, heroic-games-launcher-bin.
- Quita discover/packagekit-qt6 de kde/setup.sh: ya no se usan, pamac-all es
  el único gestor gráfico.
- claude-code sale de AUR_COMMON (se desincroniza) y pasa a instalador nativo
  oficial vía install_claude_code() en shared/packages-common.sh, llamado
  desde ambos setup.sh.
- Karere se queda en AUR_COMMON tal cual pese a que en la práctica corre por
  Flatpak en esta máquina (el build de AUR es inestable, ver comentario ya
  existente en install_aur); Heroic pasa a AUR (tenía alternativa estable).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 20:34:32 +02:00
Josevi 0ce0deb8ec Añade yay a AUR_COMMON: también está instalado en esta máquina
Se había dejado fuera por contradecir el "AUR-first, resto por paru" de los
comentarios, pero esta máquina es la fuente de verdad: si está instalado y
funcionando aquí, se replica tal cual.
2026-07-27 05:51:28 +02:00
Josevi 8d5f0f1546 Añade a los scripts lo instalado a mano en este equipo
Diff de pacman -Qqe / paru -Qqem contra packages-common.sh y kde/setup.sh:
audio (PipeWire+Wireplumber), VPN (tailscale, openvpn), codecs (vlc, gst-*),
utilidades de hardware (amd-ucode, cpupower, power-profiles-daemon, zram),
plasma-systemmonitor y appmenu-gtk-module (curados originalmente fuera),
plasmoides/tema extra (appgrid, smart-video-wallpaper, pamac tray), y apps
(claude-code, vscodium, ventoy, woeusb-ng, pamac, cursores Bibata/Googledot).
Cursor activo real es Bibata-Modern-Classic, no Layan-white: comentario
actualizado. Servicios tailscaled/power-profiles-daemon/cpupower habilitados
en ambos DE (mismo hardware).
2026-07-27 05:47:30 +02:00
Josevi cf63f01ecd update settings 2026-07-21 18:46:27 +02:00
Josevi 2761070876 updates 2026-07-12 08:34:48 +02:00
JoseviandClaude Sonnet 5 5400813069 KDE: tema Layan vía AUR (look-and-feel real de este equipo)
kde/setup.sh instala plasma6-themes-layan-git, tela-icon-theme y
layan-cursor-theme-git (a /usr/share, sin vendorizar binarios). El look
capturado (rc files, splash Animated-Abstract-Cube) ya va por chezmoi
en arch-configs, ver shared/capture-kde.sh. README actualizado: KDE ya
no es Catppuccin+Papirus, diverge de GNOME (Layan+Tela). También
arregla un bug de capture-kde.sh (hostname -> uname -n).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 13:42:36 +02:00
JoseviandClaude Sonnet 5 0440b7e093 KDE: promueve apps instaladas a mano a paquetes base; quita input-remapper
Añade a los scripts lo que llevaba usando semanas sin estar versionado
(kdeconnect, kinfocenter, sddm-kcm, guvcview, kvirc, hunspell es/en,
plasma6-applets-panel-colorizer, kwin-effects-better-blur-dx). Quita
input-remapper-git de AUR_COMMON: decidido no instalarlo por defecto.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-06 08:00:34 +02:00
JoseviandClaude Opus 4.8 e5e38551a3 KDE: instala bluedevil (UI de Bluetooth de Plasma)
El Plasma curado no incluía la integración de Bluetooth, así que el
módulo en Preferencias del Sistema y el applet de bandeja no aparecían
pese a tener bluez + servicio activos. GNOME no se ve afectado: su UI
llega vía gnome-control-center.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 20:38:35 +02:00
joseviandClaude Opus 4.8 092c8c4c67 KDE: rice Catppuccin + layout macOS (horneado del setup en VM)
Tras iterar en la VM, se hornea en el instalador:
- AUR: kvantum-theme-catppuccin, catppuccin-cursors-mocha, catppuccin-konsole,
  papirus-folders-catppuccin, catppuccin-sddm-theme-mocha (+ kvantum del repo).
- Root (chroot): tema SDDM catppuccin-mocha-blue y recoloreo de carpetas Papirus.
- Oneshot primer login: cursor Catppuccin, estilo Qt=Kvantum (Catppuccin Mocha
  Blue), perfil Konsole Catppuccin, botones de ventana a la izquierda (macOS), y
  layout macOS por Plasma scripting (barra superior con menú global + dock
  inferior flotante con apps clavadas). Sustituye el hack del pin de Discover.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 00:04:31 +02:00
joseviandClaude Opus 4.8 9bf3fda9a6 KDE: tema GTK Catppuccin y quita el curl roto del esquema
- Añade catppuccin-gtk-theme-mocha (apps GTK como GIMP siguen Catppuccin) y
  escribe gtk-3.0/4.0 settings.ini en el oneshot.
- Quita el curl del .colors (URL 404; ahora lo provee chezmoi).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 23:36:49 +02:00
joseviandClaude Opus 4.8 cd9209178f KDE: quita el pin roto de Discover del panel (setup mínimo)
El panel por defecto de Plasma clava org.kde.discover.desktop, que no se
instala en el setup mínimo -> icono en blanco que da error al pulsar. El
oneshot de tema fija lanzadores limpios (dolphin+konsole) en el gestor de
tareas, localizando su applet dinámicamente.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 23:28:18 +02:00
joseviandClaude Opus 4.8 7fd2cb55f4 KDE mínimo: instala Plasma curado en setup.sh, no el grupo plasma
Mismo enfoque que GNOME mínimo: se quita el profile_config (archinstall solo
base) y kde/setup.sh instala un Plasma curado (plasma-desktop, sddm, plasma-pa,
plasma-nm, powerdevil, kscreen, systemsettings, konsole, dolphin, kate, ark,
spectacle, kcalc, gwenview, okular) + drivers open-source, y habilita sddm.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 22:59:58 +02:00
joseviandClaude Opus 4.8 1d01760db6 GNOME mínimo: instala escritorio curado en setup.sh, no el grupo gnome
El perfil GNOME de archinstall instala el grupo 'gnome' completo (Maps,
Weather, Music, Tour, Web/Epiphany, Contacts, Rygel...). Se quita el
profile_config: archinstall instala solo la base, y gnome/setup.sh pone una
lista curada (gnome-shell, gdm, control-center, nautilus, console, text-editor,
calculator, loupe, tweaks) + drivers gráficos open-source (mesa/vulkan) y
habilita gdm. KDE pendiente del mismo tratamiento.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 22:50:11 +02:00
joseviandClaude Opus 4.8 cb728280d7 helpwire: registra el .desktop e icono (scriptlet de debtap roto)
El .INSTALL que genera debtap tiene un error de sintaxis y no registra el
lanzador, que queda en /opt/HelpWire/Operator/desktop. Lo copiamos a
/usr/share/applications e icons/hicolor para que aparezca en el menú.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 22:34:22 +02:00
joseviandClaude Opus 4.8 16fdc5f307 syncthing: usa el servicio de sistema syncthing@usuario
systemctl enable --global (servicio de usuario) depende del login gráfico
y a menudo no arranca; syncthing@$INSTALL_USER lo levanta al boot y escucha
en 127.0.0.1:8384. Sin el silenciado para que un fallo se vea.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 22:23:51 +02:00
joseviandClaude Opus 4.8 a3f668868c Instala GRUB en el chroot (archinstall 4.3 no lo hace)
archinstall 4.3 instala el paquete grub y detecta la ESP, pero no ejecuta
grub-install/grub-mkconfig con el esquema /boot ext4 separado + ESP, dejando
el sistema sin bootloader. Nuevo helper install_bootloader() en shared, que
ambos setup.sh llaman tras los paquetes pacman.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 21:32:45 +02:00
joseviandClaude Opus 4.8 e15727782d Adapta el instalador a archinstall 4.3 y arregla paru/helpwire
- disk_config: archinstall 4.3 cambió el schema (exige sector_size, sin
  unidad Percent). Nuevo shared/gen-disk-config.py genera el layout con los
  modelos de archinstall, dimensionado al disco real; ambos setup.sh lo
  invocan y se quita el disk_config 3.0 muerto de los JSON.
- paru: compilar de fuente, no paru-bin (su binario enlaza contra una
  libalpm.so concreta y rompe si la del sistema nuevo difiere).
- rustup default stable antes de compilar paru (si no, no hay cargo).
- helpwire: debtap nombra el paquete 'helpwire', no 'helpwire-operator';
  convertir en dir limpio e instalar el único .zst.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 21:29:11 +02:00