Commit Graph
26 Commits
Author SHA1 Message Date
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 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 b740ed5db5 pkgsync: actualiza inventario de paquetes 2026-08-18 11:09 2026-08-18 11:09:32 +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 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 2761070876 updates 2026-07-12 08:34:48 +02:00
joseviandClaude Opus 4.8 178768a5ad kde: capturar plasmoids del Store/GitHub (no viajaban)
capture-kde.sh no incluia ~/.local/share/plasma/plasmoids, asi que los
widgets de KDE Store/GitHub (no estan en AUR) nunca llegaban al repo de
dotfiles y el panel quedaba con huecos vacios. Anadido a la allowlist +
nota en setup.sh de que van por chezmoi, no por AUR.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 20:42:09 +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 1ee91d59c2 KDE: Discover; arregla build Rust en AUR y tolerancia a fallos
- KDE: discover + packagekit-qt6 (tienda; backend flatpak ya vía flatpak)
- as_user exporta RUSTUP_HOME/CARGO_HOME: paquetes Rust (karere) no intentan
  escribir /root/.rustup bajo el fakeroot de makepkg
- install_aur instala uno a uno: un PKGBUILD roto ya no tumba el lote ni chezmoi

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 19:42:45 +02:00
joseviandClaude Opus 4.8 f5f50db6e6 Bluetooth, Karere; KDE a vanilla + capture-kde.sh
- bluez/bluez-utils + bluetooth.service en GNOME y KDE
- AUR: añade karere (cliente WhatsApp), quita neochat (Matrix) de KDE
- KDE sin personalización: fuera temas Catppuccin/Klassy, SDDM y firstboot-theme
- shared/capture-kde.sh: vuelca config portable + paquetes del portátil para
  replicar la base (single-monitor; excluye kscreen hardware-specific)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 19:14:31 +02:00
joseviandClaude Opus 4.8 45dd2e34e2 Alinear el final de las particiones "resto-del-disco" a MiB
parted marca como misaligned las particiones cuyo final no cae en la rejilla
de 1 MiB. En la VM los discos miden GiB exactos y el final encaja; en hardware
real el tamano no es multiplo de MiB (p.ej. 250_059_350_016 B), asi que
terminar en total-1MiB dejaba la particion fuera de rejilla.

usable_end() redondea el final hacia abajo a MiB (se pierden <2 MiB). Aplica a
/ (btrfs) y a /home. Los starts ya estaban en rejilla. Cubre cualquier sector
size. Anade casos al --selftest.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 21:45:42 +02:00
joseviandClaude Opus 4.8 72a8f4a3b9 Autodetectar discos fijos por no-removible (RM=0)
La regla de "2 discos" contaba el USB instalador (sdb) como segundo disco
y asumia que el sistema era nvme0n1. Un portatil con SSD PCIe enumera como
sda, asi que ni el nombre fijo ni el conteo de discos servian.

Ahora gen-disk-config.py filtra por RM=0 (no removible): el USB y el ISO
quedan fuera. Sistema = 1er disco fijo (nvme primero), /home = 2o si existe.
Override manual con args. Anade --selftest.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 21:39:39 +02:00
joseviandClaude Opus 4.8 a535a126b5 disk-config: soportar instalación en un solo disco
Si /dev/sda no existe (portátil de 1 disco), se omite y /home queda
dentro del btrfs raíz. Con dos discos, comportamiento de siempre.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 21:49: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 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
josevi acfe399c86 first commit 2026-06-23 07:55:28 +02:00