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>
80 lines
3.8 KiB
Markdown
80 lines
3.8 KiB
Markdown
# 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](INSTALL.md).
|
|
|
|
## Uso (desde el USB live de Arch, como root)
|
|
|
|
```bash
|
|
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.
|