Files
omarchy_setup/modules/hyprland-config.sh
Marco Gallegos 26eb8f5774 feat: Enhance Omarchy setup script with retry logic and logging improvements
- Updated the installation menu to include DaVinci Resolve in the "Install All" option.
- Added a new function `run_module_with_retry` to retry failed module executions.
- Integrated retry logic into the installation process for background tasks.
- Improved logging messages for better clarity during installation.
- Created a dedicated logs directory to store installation logs and updated the log file path.
- Added a .gitignore file to exclude the logs directory from version control.
2025-11-15 15:28:54 -06:00

56 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# ===============================================================
# hyprland-config.sh - Instala la configuración personalizada de Hyprland
# ===============================================================
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/common.sh"
# Cargar el gestor de iconos para usar sus funciones
source "${SCRIPT_DIR}/icon_manager.sh"
run_module_main() {
log_step "Instalación de Configuración de Hyprland"
# --- 1. Copiar archivos de configuración ---
# La configuración de Hyprland debe estar en una carpeta 'hypr_config' en la raíz del repo
local source_dir="${SCRIPT_DIR}/../hypr_config"
local dest_dir="$HOME/.config/hypr"
if [[ ! -d "$source_dir" ]]; then
log_error "No se encontró el directorio de configuración 'hypr_config' en la raíz del repositorio."
log_info "Asegúrate de que la carpeta con tu configuración se llame 'hypr_config'."
return 1
fi
# Crear copia de seguridad si ya existe una configuración
if [[ -d "$dest_dir" ]]; then
local backup_dir="${dest_dir}.bak_$(date +%F_%T)"
log_warning "Configuración de Hyprland existente encontrada."
log_info "Creando copia de seguridad en: ${backup_dir}"
if mv "$dest_dir" "$backup_dir"; then
log_success "Copia de seguridad creada."
else
log_error "No se pudo crear la copia de seguridad. Abortando."
return 1
fi
fi
log_info "Copiando la configuración de Hyprland a ${dest_dir}..."
# Usamos rsync para una copia eficiente
rsync -a --info=progress2 "$source_dir/" "$dest_dir/"
# --- 2. Establecer el tema de iconos por defecto ---
log_info "Estableciendo el tema de iconos por defecto (Tela Nord)..."
# Llamamos a la función específica de icon_manager.sh
set_default_icon_theme
log_success "Configuración de Hyprland instalada correctamente."
log_warning "Por favor, cierra sesión y vuelve a iniciarla para aplicar los cambios."
return 0
}
# Ejecutar si se llama directamente
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
run_module_main "$@"
fi