From ac78200ad1aa1361d56ebc3febfed21058737874 Mon Sep 17 00:00:00 2001 From: Marco Gallegos Date: Fri, 9 Jan 2026 09:51:45 -0600 Subject: [PATCH] docs: update Readme with new architecture and mg_dotfiles dependency --- Readme.md | 238 +++++++++++------------------------------------------- 1 file changed, 46 insertions(+), 192 deletions(-) diff --git a/Readme.md b/Readme.md index 1f69a57..2c0296b 100644 --- a/Readme.md +++ b/Readme.md @@ -1,215 +1,69 @@ -# 🚀 Omarchy Setup Script v3.0.0 +# 🌀 Omarchy Setup Script v3.5.0 -Script de instalación y configuración **modular** para **Arch Linux / Omarchy** con menú interactivo. +Script de configuración **modular** y **personalizado** para **Arch Linux / Omarchy**. Esta herramienta automatiza la instalación de aplicaciones y la vinculación de mis dotfiles personales. ## 🎯 Características Principales -- **✅ Estructura Modular**: Scripts independientes para cada componente -- **🎨 Menú Interactivo**: Selecciona qué instalar según tus necesidades -- **🌀 Progreso Limpio**: Las tareas en background muestran el estado sin invadir los prompts interactivos -- **🔐 Sesión Sudo Persistente**: Reutiliza la contraseña durante toda la ejecución para evitar interrupciones -- **🔧 Fácil de Extender**: Agrega nuevos módulos fácilmente +- **📦 Arquitectura Modular**: Scripts independientes para cada componente del sistema. +- **🔗 Integración con Dotfiles**: Vincula automáticamente configuraciones de Zsh y Hyprland desde el repositorio [mg_dotfiles](https://github.com/marcogll/mg_dotfiles). +- **🎨 Menú Interactivo**: Selecciona exactamente qué componentes deseas configurar. +- **🔐 Seguridad y Persistencia**: Gestión de sudo optimizada y sincronización con GNOME Keyring. +- **🎬 Soporte DaVinci Resolve**: Instalador especializado para GPUs Intel Iris Xe. -## ⚡ Instalación rápida +## 🚀 Instalación Rápida + +Para un setup completo, se recomienda tener clonado el repositorio de dotfiles en `~/Work/code/mg_dotfiles` antes de empezar. ```bash -# Clonar el repositorio +# 1. Clonar dotfiles (Opcional pero recomendado para Zsh/Hyprland) +mkdir -p ~/Work/code +git clone https://github.com/marcogll/mg_dotfiles.git ~/Work/code/mg_dotfiles + +# 2. Clonar y ejecutar el setup git clone https://github.com/marcogll/omarchy_setup.git cd omarchy_setup - -# Ejecutar el script maestro ./omarchy-setup.sh ``` -## 📦 Estructura Modular +## 📦 Estructura del Proyecto ``` -omarchy_zsh_setup/ -├── omarchy-setup.sh # Script maestro con menú interactivo -├── modules/ -│ ├── common.sh # Funciones comunes (colores, logging, etc.) -│ ├── apps.sh # Instalación de aplicaciones -│ ├── zsh-config.sh # Configuración de Zsh -│ ├── docker.sh # Docker y Portainer -│ ├── zerotier.sh # ZeroTier VPN -│ ├── printer.sh # Configuración de impresoras (CUPS) -│ ├── mouse_cursor.sh # Tema de cursor Bibata -│ ├── icon_manager.sh # Gestor de temas de iconos -│ ├── ssh-keyring.sh # Sincronización de claves SSH con GNOME Keyring -│ ├── davinci-resolve.sh # DaVinci Resolve (Intel Edition) -└── Readme.md +omarchy_setup/ +├── omarchy-setup.sh # Script principal (Menú) +├── modules/ # Scripts de instalación lógica +│ ├── common.sh # Funciones compartidas y RUTAS (DOTFILES_DIR) +│ ├── apps.sh # Apps base, Dev, Multimedia y Drivers Intel +│ ├── zsh-config.sh # Enlaza .zshrc y funciones desde mg_dotfiles +│ ├── hyprland-config.sh # Enlaza configs de Hyprland desde mg_dotfiles +│ └── ... # Docker, ZeroTier, Impresoras, etc. +├── doc_templates/ # Plantillas para ~/Templates +├── themes/ # Temas de apoyo (Oh My Posh) +└── install.md # Guía detallada de componentes ``` -## 🎮 Uso del Menú Interactivo +## 🎮 Opciones del Menú -Al ejecutar `./omarchy-setup.sh`, verás un menú con las siguientes opciones: +| Opción | Descripción | Dependencia | +| :--- | :--- | :--- | +| **1** | **Aplicaciones** | Repositorios Arch/AUR/Flatpak | +| **2** | **Zsh Config** | Requiere `mg_dotfiles` | +| **3** | **Docker** | Docker + Portainer (Web UI) | +| **H** | **Hyprland** | Requiere `mg_dotfiles` | +| **R** | **DaVinci** | Requiere ZIP en `~/Downloads` | +| **K** | **SSH Keyring** | Sincroniza llaves con GNOME | +| **A** | **Instalar Todo** | Ejecuta la mayoría de los módulos | -``` -╔════════════════════════════════════════════════════════════╗ -║ 🌀 Omarchy Setup Script — Configuración Modular ║ -╚════════════════════════════════════════════════════════════╝ +## 📝 Notas Importantes -Selecciona las opciones que deseas instalar: +- **Dotfiles**: Este script ahora es **opinionated**. Si no encuentra `mg_dotfiles` en la ruta configurada en `common.sh`, los módulos de Zsh e Hyprland fallarán. +- **Fuentes**: Es imprescindible usar una **Nerd Font** (ej: `CaskaydiaMono NF`) para que los iconos de la terminal y Hyprland se visualicen correctamente. +- **Reinicio**: Tras la instalación de Docker o el cambio de Shell, es necesario **cerrar sesión** para aplicar los cambios de grupos y entorno. - 1) 📦 Instalar Aplicaciones (VS Code, VLC, drivers, etc.) - 2) 🐚 Configurar Zsh (shell, plugins, config) - 3) 🐳 Instalar Docker y Portainer - 4) 🌐 Instalar ZeroTier VPN - 5) 🖨️ Configurar Impresoras (CUPS) - 6) 🖱️ Instalar Tema de Cursor (Bibata) - 7) 🎨 Gestionar Temas de Iconos (Papirus, Tela, etc.) - K) 🔐 Sincronizar claves SSH con GNOME Keyring - F) 💾 Habilitar Formatos FAT/exFAT/NTFS/ext4 - H) 🎨 Instalar Configuración de Hyprland - R) 🎬 Instalar DaVinci Resolve (Intel Edition) - A) ✅ Instalar Todo (opciones 1, 2, K, 3, 4, 5, 6, 7, F, H) - 0) 🚪 Salir -``` +## 🛠️ Desarrollo -> ℹ️ **Nota:** La opción `A) Instalar Todo` ejecuta los módulos 1, 2, K, 3, 4, 5, 6, 7, F y H. DaVinci Resolve (`R`) no se incluye aquí; instálalo manualmente cuando ya tengas el ZIP en `~/Downloads/`. - -> 🌀 **Progreso limpio:** Los módulos en background informan su avance sin animaciones invasivas; toda la salida detallada se imprime limpia y se escribe en `./logs/`. - -## 📋 Módulos Disponibles - -A continuación se detalla lo que hace cada módulo. Para una descripción técnica completa, consulta la [**DOCUMENTACION.md**](./DOCUMENTACION.md). - -- **`1) 📦 Instalar Aplicaciones`**: Instala un conjunto completo de software esencial, incluyendo herramientas de desarrollo (`python`, `nodejs`, `nvm`, `brew`), aplicaciones multimedia (`VLC`, `Audacity`), drivers optimizados para gráficos Intel Iris Xe y herramientas de gestión de energía como `tlp`. También configura servicios clave del sistema. - -- **`2) 🐚 Configurar Zsh`**: Transforma tu terminal. Instala `Zsh`, el gestor de plugins `Oh My Zsh`, y el prompt visual `Oh My Posh` con el tema Catppuccin. Añade autocompletado, resaltado de sintaxis, una útil función de ayuda (`zsh_help`), y lo establece como tu shell por defecto. - -- **`3) 🐳 Instalar Docker y Portainer`**: Prepara tu sistema para el desarrollo con contenedores. Instala `Docker` y `Docker Compose`, configura los servicios necesarios y, opcionalmente, despliega `Portainer`, una interfaz web para gestionar tus contenedores fácilmente. - -- **`4) 🌐 Instalar ZeroTier VPN`**: Instala el cliente de la VPN `ZeroTier`, una forma sencilla de crear redes virtuales seguras. El módulo te guiará para unirte a una red si lo deseas. - -- **`5) 🖨️ Configurar Impresoras (CUPS)`**: Instala el sistema de impresión de Linux (`CUPS`) y añade drivers para impresoras, con soporte especial para modelos Epson. - -- **`6) 🖱️ Instalar Tema de Cursor (Bibata)`**: Mejora la apariencia de tu escritorio instalando el popular tema de cursores Bibata, dándole un aspecto moderno y pulido. - -- **`7) 🎨 Gestionar Temas de Iconos`**: Te permite instalar y cambiar entre diferentes temas de iconos para personalizar la apariencia de tus aplicaciones y carpetas (incluye Papirus, Tela, etc.). - -- **`K) 🔐 Sincronizar claves SSH con GNOME Keyring`**: Guarda de forma segura las contraseñas de tus claves SSH. Después de introducir la contraseña una vez, el sistema la recordará por ti, facilitando las conexiones a servidores remotos. - -- **`F) 💾 Habilitar Formatos de Disco`**: Añade soporte para que tu sistema pueda leer y escribir en discos duros y memorias USB formateadas con sistemas de archivos de otros sistemas operativos como `NTFS` (Windows) o `exFAT`. - -- **`H) 🎨 Instalar Configuración de Hyprland`**: Instala y configura el gestor de ventanas `Hyprland` y todas las herramientas necesarias para un entorno de escritorio *tiling* completo y funcional (`waybar`, `wofi`, `kitty`, etc.). - -- **`R) 🎬 Instalar DaVinci Resolve`**: Automatiza la compleja instalación del editor de vídeo profesional DaVinci Resolve. **Nota:** Requiere que descargues el instalador `.zip` oficial manualmente en tu carpeta de `~/Downloads`. +Para añadir una funcionalidad: +1. Crea un script en `modules/`. +2. Regístralo en el array `MODULES` de `omarchy-setup.sh`. --- -## 📚 Documentación Técnica - -Para una descripción detallada de la implementación de cada módulo, las funciones que utiliza y las configuraciones específicas que aplica, por favor consulta el archivo [**DOCUMENTACION.md**](./DOCUMENTACION.md). - -Este documento es ideal para desarrolladores que deseen extender la funcionalidad del script o para usuarios avanzados que quieran entender a fondo su funcionamiento. ---- - -## 🔧 Ejecutar Módulos Individualmente - -Cada módulo puede ejecutarse de forma independiente si lo necesitas: - -```bash -./modules/apps.sh -./modules/docker.sh -# etc. -``` - ---- - -## 🔄 Después de la instalación - -### 1. Reiniciar sesión o terminal (IMPORTANTE) - -Para que todos los cambios surtan efecto (nuevo shell, permisos de `docker`, variables de entorno), es fundamental que **cierres sesión y vuelvas a iniciarla** o reinicies el sistema. - -### 2. Verificar la instalación - -Una vez que hayas vuelto a iniciar sesión, abre una terminal y comprueba que todo funciona como esperas: -```bash -# Verifica que tu shell es Zsh y el prompt se ve bien -echo $SHELL - -# Comprueba que Docker funciona sin sudo -docker ps - -# Lista tus claves SSH gestionadas por el agente -ssh-add -l -``` - ---- - -## 🛠️ Solución de problemas - -### El prompt de Zsh se ve con caracteres extraños (▯, ?, etc.) - -Esto ocurre porque no tienes instalada una **Nerd Font**, que contiene los iconos que usa el prompt. - -1. **Instala una Nerd Font.** El propio `oh-my-posh` puede hacerlo por ti: - ```bash - oh-my-posh font install meslo - ``` -2. **Configura tu terminal.** Abre las preferencias de tu emulador de terminal (GNOME Terminal, Konsole, Kitty, etc.) y cambia la fuente del perfil a la que acabas de instalar (ej. `MesloLGM Nerd Font`). - -### Docker no funciona sin `sudo` - -Asegúrate de haber **cerrado sesión y vuelto a iniciarla** después de ejecutar el módulo de Docker. Si el problema persiste, verifica que tu usuario pertenece al grupo `docker` con el comando `groups`. - ---- -## 🔧 Agregar Nuevos Módulos - -La estructura modular facilita la adición de nueva funcionalidad. - -1. Crea un nuevo script en la carpeta `modules/`. Sigue la plantilla de los módulos existentes. -2. Añade una entrada para tu nuevo módulo en el array `MODULES` dentro de `omarchy-setup.sh`. -3. ¡Listo! Tu módulo aparecerá en el menú principal. - -Para más detalles, consulta la [guía para contribuidores](./.docs/AGENTS.md). - ---- - -## 📝 Changelog - -### v3.0.0 -- ✨ **Reestructuración completa a un sistema modular.** -- interactive menu para seleccionar componentes. -- 📜 **Añadida documentación técnica** (`DOCUMENTACION.md`) y guía para contribuidores (`AGENTS.md`). -- 🎨 **Interfaz de usuario mejorada** con logs claros y un indicador de progreso. -- 🔧 **Módulos actualizados** y separados por funcionalidad. - ---- - -## 📄 Licencia - -MIT License - Libre de usar y modificar - ---- - -## 👤 Autor - -**Marco** -- GitHub: [@marcogll](https://github.com/marcogll) -- Repo: [scripts_mg](https://github.com/marcogll/scripts_mg) - ---- - - -```bash -# Instalar en una línea -bash <(curl -fsSL https://raw.githubusercontent.com/marcogll/scripts_mg/main/omarchy_zsh_setup/omarchy-setup.sh) -``` - -## 📝 Notas importantes - -- **Shell por defecto**: El módulo de Zsh modifica `.bashrc` para que las terminales nuevas usen Zsh. - -## 🚀 Próximos Pasos - -1. Ejecuta `./omarchy-setup.sh` para ver el menú interactivo -2. Selecciona los módulos que deseas instalar -3. Revisa los mensajes durante la instalación -4. Reinicia o cierra sesión después de instalar servicios -5. Disfruta de tu configuración personalizada - ---- - -🚀 **¡Disfruta tu nuevo setup modular de Omarchy!** +**Marco** - [GitHub](https://github.com/marcogll) | [mg_dotfiles](https://github.com/marcogll/mg_dotfiles)