git ls-files lo tenía como 100644; ./kde/setup.sh (tal como indica el
README) fallaba con "permission denied" en un clon fresco. Detectado
durante una prueba end-to-end en VM.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
snap-pac crea un snapshot pre+post por cada transacción de pacman/paru en
cuanto existe /etc/snapper/configs/root, y dentro de arch-chroot no hay
systemd para que el timer de cleanup aplique NUMBER_LIMIT. Con snapper
configurado antes de las ~30 instalaciones AUR, se acumulan decenas de
snapshots sin poda posible durante toda la instalación (visto en real:
llenó el disco de una VM de prueba). Configurarlo al final evita
snapshotear la propia instalación inicial.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
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.
- 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.
- 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>
- 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>
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>
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>
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>
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>
tee de pacman/paru/chezmoi a un log dentro del sistema nuevo (persiste al
reinicio) para revisar fallos AUR después del primer arranque.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 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>
- 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>
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>
- 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>
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>
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>
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>
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>
- 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>