mirror of
https://github.com/marcogll/omarchy_setup.git
synced 2026-01-13 13:25:16 +00:00
Add initial log for Omarchy setup script execution with Zsh configuration
- Created a log file capturing the setup process for the Omarchy script. - Included detailed steps for installing Zsh and related tools. - Documented errors encountered during package installations due to database lock. - Logged successful installations and configuration updates for Zsh and Oh My Zsh. - Captured user prompts and actions taken during the setup process.
This commit is contained in:
@@ -36,11 +36,44 @@ log_step() {
|
||||
echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}\n"
|
||||
}
|
||||
|
||||
# Función para crear una copia de seguridad de un archivo o directorio
|
||||
# Uso: backup_file "/ruta/al/archivo"
|
||||
backup_file() {
|
||||
local path_to_backup="$1"
|
||||
if [[ -e "$path_to_backup" ]]; then
|
||||
local backup_path="${path_to_backup}.bak_$(date +%F_%T)"
|
||||
log_warning "Se encontró un archivo existente en '${path_to_backup}'."
|
||||
log_info "Creando copia de seguridad en: ${backup_path}"
|
||||
if mv "$path_to_backup" "$backup_path"; then
|
||||
log_success "Copia de seguridad creada."
|
||||
else
|
||||
log_error "No se pudo crear la copia de seguridad. Abortando para evitar pérdida de datos."
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Función para verificar si un comando existe
|
||||
command_exists() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# Función para verificar e instalar un paquete con pacman
|
||||
# Uso: check_and_install_pkg "nombre-del-paquete"
|
||||
check_and_install_pkg() {
|
||||
local pkg_name="$1"
|
||||
# pacman -T es una forma de verificar sin instalar, pero no funciona bien con grupos.
|
||||
# pacman -Q es más fiable para paquetes individuales.
|
||||
if ! pacman -Q "$pkg_name" &>/dev/null; then
|
||||
log_info "Instalando ${pkg_name}..."
|
||||
sudo pacman -S --noconfirm --needed "$pkg_name" || log_warning "No se pudo instalar ${pkg_name}."
|
||||
else
|
||||
log_info "${pkg_name} ya está instalado."
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Función para instalar helper AUR si no existe
|
||||
ensure_aur_helper() {
|
||||
if command_exists yay; then
|
||||
@@ -75,4 +108,3 @@ cleanup_orphans() {
|
||||
sudo pacman -Rns $(pacman -Qtdq) --noconfirm 2>/dev/null || true
|
||||
log_success "Limpieza completada"
|
||||
}
|
||||
|
||||
|
||||
@@ -30,33 +30,38 @@ install_docker() {
|
||||
log_warning "Necesitarás cerrar sesión y volver a iniciar para usar Docker sin sudo"
|
||||
fi
|
||||
|
||||
# Instalar Portainer
|
||||
log_info "Configurando Portainer..."
|
||||
|
||||
# Verificar si Portainer ya está corriendo
|
||||
if sudo docker ps -a --format '{{.Names}}' | grep -q "^portainer$"; then
|
||||
log_info "Portainer ya existe. Reiniciando contenedor..."
|
||||
sudo docker stop portainer 2>/dev/null || true
|
||||
sudo docker rm portainer 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Crear volumen y contenedor de Portainer
|
||||
sudo docker volume create portainer_data 2>/dev/null || true
|
||||
|
||||
if sudo docker run -d -p 8000:8000 -p 9443:9443 \
|
||||
--name portainer \
|
||||
--restart=always \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v portainer_data:/data \
|
||||
portainer/portainer-ce:latest; then
|
||||
log_success "Portainer instalado y ejecutándose"
|
||||
log_info "Accede a Portainer en: https://localhost:9443"
|
||||
echo ""
|
||||
read -p "¿Deseas instalar Portainer (interfaz web para Docker)? [S/n]: " confirm_portainer
|
||||
if [[ ! "${confirm_portainer}" =~ ^[Nn]$ ]]; then
|
||||
log_info "Configurando Portainer..."
|
||||
|
||||
# Verificar si Portainer ya está corriendo
|
||||
if sudo docker ps -a --format '{{.Names}}' | grep -q "^portainer$"; then
|
||||
log_info "Portainer ya existe. Reiniciando contenedor..."
|
||||
sudo docker stop portainer 2>/dev/null || true
|
||||
sudo docker rm portainer 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Crear volumen y contenedor de Portainer
|
||||
sudo docker volume create portainer_data 2>/dev/null || true
|
||||
|
||||
if sudo docker run -d -p 8000:8000 -p 9443:9443 \
|
||||
--name portainer \
|
||||
--restart=always \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v portainer_data:/data \
|
||||
portainer/portainer-ce:latest; then
|
||||
log_success "Portainer instalado y ejecutándose"
|
||||
log_info "Accede a Portainer en: https://localhost:9443"
|
||||
else
|
||||
log_error "Error al instalar Portainer"
|
||||
# No retornamos error, Docker ya está instalado.
|
||||
fi
|
||||
else
|
||||
log_error "Error al instalar Portainer"
|
||||
return 1
|
||||
log_info "Se omitió la instalación de Portainer."
|
||||
fi
|
||||
|
||||
log_success "Docker y Portainer configurados correctamente"
|
||||
log_success "Configuración de Docker completada."
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -64,4 +69,3 @@ install_docker() {
|
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||
install_docker "$@"
|
||||
fi
|
||||
|
||||
|
||||
@@ -21,9 +21,29 @@ install_zerotier() {
|
||||
sudo systemctl enable zerotier-one.service
|
||||
sudo systemctl start zerotier-one.service
|
||||
|
||||
log_success "ZeroTier instalado y servicio iniciado"
|
||||
log_info "Para unirte a una red, ejecuta: sudo zerotier-cli join <NETWORK_ID>"
|
||||
log_info "Para ver tu ID de ZeroTier: sudo zerotier-cli info"
|
||||
log_success "ZeroTier instalado y servicio iniciado."
|
||||
log_info "Tu ID de ZeroTier es: $(sudo zerotier-cli info | awk '{print $3}')"
|
||||
echo ""
|
||||
|
||||
read -p "¿Deseas unirte a una red de ZeroTier ahora? [s/N]: " confirm
|
||||
if [[ "${confirm}" =~ ^[SsYy]$ ]]; then
|
||||
read -p "Introduce el ID de la red de ZeroTier: " network_id
|
||||
if [[ -n "$network_id" ]]; then
|
||||
log_info "Uniéndote a la red ${network_id}..."
|
||||
if sudo zerotier-cli join "$network_id"; then
|
||||
log_success "Solicitud enviada para unirse a la red ${network_id}."
|
||||
log_warning "Recuerda autorizar este dispositivo en el panel de control de ZeroTier."
|
||||
else
|
||||
log_error "No se pudo unir a la red ${network_id}."
|
||||
fi
|
||||
else
|
||||
log_warning "No se introdujo ningún ID de red. Operación cancelada."
|
||||
fi
|
||||
else
|
||||
log_info "Operación omitida."
|
||||
log_info "Para unirte a una red más tarde, ejecuta:"
|
||||
log_info "sudo zerotier-cli join <NETWORK_ID>"
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
@@ -32,4 +52,3 @@ install_zerotier() {
|
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||
install_zerotier "$@"
|
||||
fi
|
||||
|
||||
|
||||
@@ -48,7 +48,10 @@ install_zsh() {
|
||||
|
||||
# --- 3. Descargar y configurar el .zshrc personalizado ---
|
||||
log_info "Descargando configuración .zshrc desde el repositorio..."
|
||||
if curl -fsSL "${REPO_BASE}/.zshrc" -o "$HOME/.zshrc.omarchy-tmp"; then
|
||||
# Crear copia de seguridad antes de sobrescribir
|
||||
backup_file "$HOME/.zshrc" || return 1
|
||||
|
||||
if curl -fsSL "${REPO_BASE}/.zshrc" -o "$HOME/.zshrc.omarchy-tmp" && [[ -s "$HOME/.zshrc.omarchy-tmp" ]]; then
|
||||
mv "$HOME/.zshrc.omarchy-tmp" "$HOME/.zshrc"
|
||||
log_success "Archivo .zshrc actualizado."
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user