Instalación¶
Índice¶
- Resumen
- Requisitos
- Variables del script
- Uso
- Pasos del instalador
- Comportamiento de backups
- Estructura del repositorio
- Post-instalación
- Notas y recursos
Resumen¶
install.sh es el script de instalación automática de los dotfiles. Detecta qué paquetes faltan, instala dependencias del sistema, clona el repositorio y copia los archivos de configuración al lugar correcto. Antes de sobreescribir cualquier archivo existente, crea una copia de seguridad con extensión .bak.
Diseñado exclusivamente para Arch Linux. Requiere conexión a internet.
Requisitos¶
- Arch Linux instalado y con usuario normal (no root)
- Conexión a internet
gitybase-devel(el script los instala si faltan)
Variables del script¶
| Variable | Valor | Descripción |
|---|---|---|
REPO_URL |
https://github.com/finixtavh/dotfiles-v2 |
URL del repositorio a clonar |
DOTFILES |
~/.dotfiles-v2 |
Directorio local donde se clona el repo |
CFG |
~/.config |
Directorio de configuración del usuario |
Uso¶
| Argumento | Acción |
|---|---|
| (ninguno) | Instalación completa |
get-pkgbuild |
Descarga los PKGBUILD de los paquetes AUR a pkgbuild-aur.txt para revisión, sin instalar nada |
No ejecutar como root
El script detecta si se ejecuta como root y termina con error. Ejecútalo con tu usuario normal; usará sudo internamente cuando sea necesario.
El instalador muestra un aviso y pide confirmación con Enter antes de proceder. Puedes cancelar con Ctrl+C.
Pasos del instalador¶
Paso 1 — yay (AUR helper)¶
Comprueba si yay está instalado. Si no:
- Instala
gitybase-develvia pacman. - Clona
https://aur.archlinux.org/yay.giten un directorio temporal. - Compila e instala con
makepkg -si --noconfirm. - Elimina el directorio temporal.
Paso 2 — Paquetes del sistema (pacman)¶
Instala los paquetes necesarios solo si no están ya instalados (usa pacman -Qi para verificar).
Paquetes pacman:
| Categoría | Paquetes |
|---|---|
| Base | base-devel, git, curl, wget |
| Compositor | hyprland, xdg-desktop-portal-hyprland |
| Audio | pipewire, pipewire-alsa, pipewire-pulse, wireplumber, gst-plugin-pipewire |
| Media | playerctl, brightnessctl |
| Pantalla | grim, slurp, wl-clipboard |
| Aplicaciones | kitty, dolphin, firefox, kate |
| Notificaciones | libnotify (solo la librería cliente — AGS es el daemon, ver nota abajo) |
| Audio visual | cava, mpv |
| GTK/GJS | gjs, gtk3, gtk-layer-shell, gobject-introspection, dart-sass |
| Tema Qt/dark | qt6ct, kvantum |
| Fondos de pantalla | awww (antes AUR swww, ahora oficial) |
| Node | nodejs, npm |
| Fuentes | ttf-font-awesome, noto-fonts, noto-fonts-emoji, noto-fonts-cjk |
| Sistema | xdg-user-dirs, polkit-kde-agent |
| Utilidades | gnome-system-monitor, gnome-control-center, pavucontrol, blueman, cliphist |
AGS es el daemon de notificaciones — dunst NO se instala
install.sh ya no instala dunst. AGS reclama org.freedesktop.Notifications directamente vía AstalNotifd (ver AGS Bar → app.ts). Si dunst.service existe en el sistema (instalado por otra vía/dependencia), el script lo detiene y lo enmascara automáticamente al final del Paso 2 para que no vuelva a reclamar el bus name vía D-Bus activation. Ver Obsoleto.
Paquetes AUR (via yay):
| Paquete | Descripción |
|---|---|
aylurs-gtk-shell-git |
AGS v3 (Astal) — la barra |
hyprlock |
Pantalla de bloqueo |
hyprpicker |
Selector de color |
rofi-lbonn-wayland-git |
Lanzador de aplicaciones (Wayland) |
mpvpaper |
Fondos de video |
nerd-fonts-noto-sans-mono |
Fuente con íconos |
Nombre correcto de AGS
El paquete AGS v3 en AUR se llama aylurs-gtk-shell-git, no ags. El paquete ags en AUR es "Adventure Game Studio" (motor de videojuegos), una aplicación completamente diferente — un install.sh anterior tenía este bug y habría instalado el paquete equivocado en una instalación nueva.
Revisar PKGBUILDs antes de instalar — get-pkgbuild
Los paquetes AUR compilan desde código fuente mantenido por terceros. install_aur() avisa antes de instalar y sugiere:
PKGBUILD de cada paquete en AUR_PACKAGES y los guarda en pkgbuild-aur.txt (gitignored) para revisión manual antes de confiar en ellos.
Paso 3 — Clonar dotfiles¶
Si el repositorio ya existe en ~/.dotfiles-v2, hace git pull --ff-only en vez de clonar.
Paso 4 — Instalar configuraciones¶
Copia los directorios del repo a ~/.config/:
Directorios obligatorios (avisa si no están en el repo):
- ags/ → ~/.config/ags/
- hypr/ → ~/.config/hypr/
- rofi/ → ~/.config/rofi/
- wallman/ → ~/.config/wallman/
Directorios opcionales (solo se copian si existen en el repo):
- kitty/ → ~/.config/kitty/
- gtk-3.0/ → ~/.config/gtk-3.0/
- gtk-4.0/ → ~/.config/gtk-4.0/
- Kvantum/ → ~/.config/Kvantum/
- qt6ct/ → ~/.config/qt6ct/
Después de copiar:
- Aplica chmod +x a todos los .sh en hypr/scripts/.
- Crea ~/.config/wallman/wallpapers/ si no existe.
Paso 5 — npm install (AGS)¶
Si existe ~/.config/ags/package.json, ejecuta npm install dentro del directorio para instalar las dependencias del proyecto AGS.
Paso 6 — systemd-logind¶
Crea /etc/systemd/logind.conf.d/10-power-key.conf con:
Esto evita que el botón físico de encendido apague el equipo directamente, dejando que AGS PowerMenu tome el control. Reinicia systemd-logind para aplicar.
Si el archivo ya existe, omite este paso.
Paso 7 — Servicios de usuario¶
Habilita e inicia los servicios de audio PipeWire para el usuario actual:
systemctl --user enable --now pipewire
systemctl --user enable --now pipewire-pulse
systemctl --user enable --now wireplumber
Comportamiento de backups¶
La función bak_cp maneja cada directorio de configuración:
- Si el destino ya existe: lo mueve a
destino.bak(sobrescribiendo cualquier.bakanterior conrm -rf). - Si el destino es un symlink: lo elimina sin hacer backup.
- Crea el directorio padre si no existe.
- Copia el origen al destino con
cp -r.
~/.config/ags/ → se mueve a ~/.config/ags.bak
~/.config/ags.bak → se elimina (si existía de antes)
~/.dotfiles-v2/ags/ → se copia a ~/.config/ags/
Recuperar configuración anterior
Si algo sale mal, tus configuraciones originales están en ~/.config/<nombre>.bak.
Estructura del repositorio¶
El script espera esta estructura en el repositorio:
dotfiles-v2/
├── install.sh
├── ags/ ← ~/.config/ags/
├── hypr/ ← ~/.config/hypr/
│ ├── hyprland.lua
│ ├── keybinds.lua
│ ├── animations.lua
│ ├── rules.lua
│ └── scripts/
├── rofi/ ← ~/.config/rofi/
├── wallman/ ← ~/.config/wallman/
│ ├── wallpicker.sh
│ └── restore.sh
│ # wallpapers/ NO incluido (.gitignore)
└── (opcional: kitty/, gtk-3.0/, gtk-4.0/, Kvantum/, qt6ct/)
Post-instalación¶
Después de que el script termine:
- Reiniciar el equipo (recomendado) o cerrar sesión.
- Iniciar Hyprland desde el display manager o TTY (
Hyprland). - La barra AGS debería arrancar automáticamente via
exec-onceenhyprland.lua. - Si no arranca:
ags run ~/.config/ags/app.ts -i ags-bar - Añadir fondos a
~/.config/wallman/wallpapers/. - Abrir el wallpicker:
bash ~/.config/wallman/wallpicker.sho SUPER+W.
Notas y recursos¶
- Arch Wiki — Instalación
- yay — AUR Helper
- AGS v3 / Aylurs-GTK-Shell
- Hyprland — primeros pasos
- Historial de paquetes/comportamiento reemplazados: ver Obsoleto