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
2026-07-21 18:46:27 +02:00

arch-setup

Instalación automatizada de Arch Linux para mis dos máquinas (hardware idéntico), en un único comando desde el USB live, sin reiniciar entre la base y la config. Dos variantes de escritorio: GNOME y KDE Plasma.

arch-setup/
├── gnome/   archinstall-config.json + setup.sh   (GNOME, gdm)
├── kde/     archinstall-config.json + setup.sh   (KDE Plasma, sddm)
├── shared/  packages-common.sh                   (paquetes comunes a ambos)
└── README.md

Procedimiento paso a paso completo en INSTALL.md.

Uso (desde el USB live de Arch, como root)

pacman -Sy --noconfirm git
git clone https://gitea.josevi.ovh/josevi/arch-setup
cd arch-setup
./gnome/setup.sh      # o  ./kde/setup.sh

El script te pide: usuario a crear, token de Gitea (para el repo arch-configs privado), nombre y email de git. Después, sin más intervención:

  1. archinstall --silent con el JSON de la variante → instala base + escritorio en /mnt.
  2. Se copia a sí mismo a /mnt y entra en arch-chroot.
  3. Dentro del chroot: crea el usuario, instala paquetes (pacman + AUR vía paru), aplica el aspecto y ejecuta chezmoi init --apply apuntando a gitea.josevi.ovh/josevi/arch-configs.
  4. Quitas el USB y reboot. El tema se aplica en el primer login gráfico.

Decisiones

  • AUR-first: lo que está en repos oficiales va por pacman; el resto por paru (se bootstrapea solo). Sin Flatpak salvo que lo añadas.
  • Contenedores: Podman + podman-docker (capa de compat), no Docker.
  • Navegador: Zen Browser. También ungoogled-chromium.
  • Aspecto: JetBrains Mono Nerd en ambos escritorios; el resto diverge por DE. GNOME: Catppuccin Mocha + iconos Papirus-Dark + Dash-to-Dock y extensiones (AppIndicator, Blur my Shell, Caffeine, Clipboard Indicator, Vitals). KDE: tema global Layan + iconos Tela + cursores Layan-white (paquetes AUR, ver kde/setup.sh) + splash Animated-Abstract-Cube; look capturado del portátil con shared/capture-kde.sh y aplicado vía chezmoi.
  • Dotfiles: chezmoi apuntando a un repo separado (arch-configs).

⚠️ Antes de lanzar

  • Se borran los discos FIJOS detectados ("wipe": true). Los discos se autodetectan filtrando por NO removible (RM=0 en lsblk), así el USB instalador (sdb, removible) queda fuera y da igual que el SSD sea nvme0n1 o un SSD PCIe que enumera como sda. Esquema:

    • Disco de sistema (1º; nvme si existe) → ESP 512M (/boot/efi) + /boot ext4 1G + / btrfs (resto)
    • 2º disco fijo (si hay) → ext4 todo el disco en /home (ojo: destruye el disco de datos). Si solo hay 1 disco, /home vive dentro del / btrfs.
    • swap = zram ("swap": true), sin partición de swap
    • bootloader GRUB (coherente con ESP en /boot/efi + /boot separado)

    Verifica con lsblk qué discos quedan como fijos. Para forzar nombres a mano: gen-disk-config.py BASE.json /dev/SISTEMA [/dev/HOME].

  • Esquema de particiones de archinstall cambia entre versiones, y el particionado manual multi-disco es lo más sensible. Si archinstall se queja del disk_config, abre archinstall interactivo, define los discos a mano, usa Save configuration y pega ese bloque disk_config en el JSON.

  • Zona horaria/teclado fijados a Europe/Madrid / us-acentos. Ajusta si hace falta.

Apps que se instalan

Comunes (shared/packages-common.sh): zsh+starship+CLI moderno, git+base-devel, Podman, nodejs/python/rustup, Bitwarden, DBeaver, Obsidian, GIMP, Syncthing, Remmina+FreeRDP, Apostrophe, guvcview, KVIrc, Zen Browser, VSCode, DavMail, Betterbird, OnlyOffice, Spotify, ungoogled-chromium, Karere, HelpWire (vía .deb→debtap). GNOME añade gnome-calculator/tweaks; KDE añade kcalc/ark/spectacle/kdeconnect/kinfocenter.

S
Description
No description provided
Readme
153 KiB
Languages
Shell 87.4%
Python 12.6%