Scripts bash/Python modulares para replicar y mantener el setup real del usuario sobre Arch Linux.
./install.shinstall.sh valida Arch/Python/TTY y abre install.py, un menú interactivo en curses, usable desde TTY.
El instalador está seccionado para no tener que recorrer todo cuando solo quieres hacer una tarea puntual:
- Install base
- Install desktop / bar
- Install software
- Import configs
- Export configs
- Exit
Las selecciones se guardan en:
~/.init-install.confInstala la base mínima y drivers:
- sistema base
- yay como helper AUR
- red
- audio PipeWire
- códecs
- microcódigo CPU
- drivers GPU detectados
- TRIM
- post-install mínimo (
mimeapps, comandoupdate, guíaCOMANDOS.md)
Permite elegir componentes de escritorio:
- Hyprland
- swaync
- Rofi
- Kitty
- GNOME Keyring
Hyprland queda como único compositor gestionado por este dot installer. Los wallpapers se gestionan con Hyprpaper usando ~/.config/wallpapers en orden aleatorio cada 15 minutos.
Lista programas de uso común y solo instala lo seleccionado. Incluye navegadores, Discord con dependencias de compartir pantalla en Wayland, dev tools, terminal tools, multimedia, fuentes, Docker, Neovim, Yazi, MongoDB Compass, Opencode, Claude Code, Codex, IntelliJ, SSH y Zsh con Oh My Zsh/plugins/aliases activados mediante bloque gestionado en ~/.zshrc.
Copia configs desde el repo hacia ~/.config.
Reglas:
- compara antes de copiar
- si es igual, omite
- si no existe destino, copia sin backup
- si existe destino y es diferente, pide confirmación
- antes de reemplazar algo diferente, crea backup en:
~/.config_backups/init-install/<timestamp>/<target>/- elimina el destino de configuración y copia la fuente completa desde el repo
- elimina archivos extra que existan solo en el destino local
- no muestra contenidos de archivos en la confirmación
Copia configs desde este sistema hacia el repo usando la misma lógica de comparación/confirmación.
Backups de configs del repo reemplazadas se guardan en:
.config_backups/exports/<timestamp>/<target>/Se ignoran carpetas ruidosas o peligrosas durante sync, como .git, node_modules, __pycache__ y .cache.
Aviso:
Export configsno inspecciona el contenido de archivos. Revisa la selección antes de exportar para no copiar datos privados al repo.
- Hyprland/Hyprpaper:
hyprland/configs/ - Kitty:
kitty/configs/ - Rofi:
rofi/configs/ - swaync:
swaync/configs/ - Neovim:
nvim/configs/ - Yazi:
yazi/configs/
Después de la instalación, estos comandos pueden quedar disponibles en ~/.local/bin/:
update— actualiza sistema, AUR, Homebrew y herramientas soportadasupdate_compass— actualiza MongoDB Compassintellij-update— actualiza IntelliJ IDEA a la última versión
python -m unittest discover -s tests
python -m py_compile install.py installer_lib/*.py
bash -n $(find . -name "*.sh" -not -path "./.git/*")- Las copias de configs son conservadoras y confirman antes de actualizar diferencias.
- MongoDB Compass se instala desde el binario oficial y usa GNOME Keyring/libsecret para guardar contraseñas.
- IntelliJ IDEA se instala desde la API oficial de JetBrains.
- Codex se instala vía Homebrew (
brew install codex).