Skip to content

Instalación

Índice

  1. Resumen
  2. Requisitos
  3. Variables del script
  4. Uso
  5. Pasos del instalador
  6. Comportamiento de backups
  7. Estructura del repositorio
  8. Post-instalación
  9. 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
  • git y base-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

bash install.sh
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:

  1. Instala git y base-devel via pacman.
  2. Clona https://aur.archlinux.org/yay.git en un directorio temporal.
  3. Compila e instala con makepkg -si --noconfirm.
  4. 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:

bash install.sh get-pkgbuild
Descarga el 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

git clone https://github.com/finixtavh/dotfiles-v2 ~/.dotfiles-v2

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:

[Login]
HandlePowerKey=ignore

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:

  1. Si el destino ya existe: lo mueve a destino.bak (sobrescribiendo cualquier .bak anterior con rm -rf).
  2. Si el destino es un symlink: lo elimina sin hacer backup.
  3. Crea el directorio padre si no existe.
  4. 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:

  1. Reiniciar el equipo (recomendado) o cerrar sesión.
  2. Iniciar Hyprland desde el display manager o TTY (Hyprland).
  3. La barra AGS debería arrancar automáticamente via exec-once en hyprland.lua.
  4. Si no arranca: ags run ~/.config/ags/app.ts -i ags-bar
  5. Añadir fondos a ~/.config/wallman/wallpapers/.
  6. Abrir el wallpicker: bash ~/.config/wallman/wallpicker.sh o SUPER+W.

Notas y recursos