mirror of
https://github.com/marcogll/omarchy_setup.git
synced 2026-01-13 13:25:16 +00:00
This commit introduces two main improvements to the user experience:
1. **Refactors the Icon Manager for Non-Interactive Installation:**
- The `icon_manager.sh` module can now be run in a non-interactive mode.
- The "Install All" process has been updated to use this non-interactive mode, which installs the default icon theme without pausing the script or requiring user input.
2. **Improves the GNOME Keyring Workflow:**
- The script no longer errors out if the GNOME Keyring agent is not immediately available after installation.
- Instead, a clear summary message is now displayed at the end of the "Install All" process, instructing the user to log out and back in, and then run the SSH key synchronization module separately. This provides a much smoother and more intuitive user experience.
756 lines
22 KiB
Markdown
756 lines
22 KiB
Markdown
# 🚀 Omarchy Setup Script v3.0.0
|
||
|
||
Script de instalación y configuración **modular** para **Arch Linux / Omarchy** con menú interactivo.
|
||
|
||
## 🎯 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
|
||
|
||
## ⚡ Instalación rápida
|
||
|
||
```bash
|
||
# Clonar el repositorio
|
||
git clone https://github.com/marcogll/omarchy_setup.git
|
||
cd omarchy_setup
|
||
|
||
# Ejecutar el script maestro
|
||
./omarchy-setup.sh
|
||
```
|
||
|
||
## 📦 Estructura Modular
|
||
|
||
```
|
||
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
|
||
```
|
||
|
||
## 🎮 Uso del Menú Interactivo
|
||
|
||
Al ejecutar `./omarchy-setup.sh`, verás un menú con las siguientes opciones:
|
||
|
||
```
|
||
╔════════════════════════════════════════════════════════════╗
|
||
║ 🌀 Omarchy Setup Script — Configuración Modular ║
|
||
╚════════════════════════════════════════════════════════════╝
|
||
|
||
Selecciona las opciones que deseas instalar:
|
||
|
||
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
|
||
```
|
||
|
||
> ℹ️ **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
|
||
|
||
### 1. 📦 Aplicaciones (`apps.sh`)
|
||
- Editores como VS Code y Cursor (desde AUR)
|
||
- Configura GNOME Keyring como agente de contraseñas y SSH, iniciando el daemon y exportando `SSH_AUTH_SOCK`
|
||
- Detecta claves privadas en `~/.ssh` y las registra automáticamente con `ssh-add`
|
||
- Instala y habilita servicios complementarios (keyd, logiops, TeamViewer, etc.)
|
||
|
||
### 2. 🐚 Zsh (`zsh-config.sh`)
|
||
- Instala Oh My Zsh y Oh My Posh (Catppuccin Frappe) con autocompletado
|
||
- Clona/actualiza plugins externos como `zsh-autosuggestions` y `zsh-syntax-highlighting` (con fallback al sistema)
|
||
- Modifica `.bashrc` para lanzar Zsh automáticamente
|
||
|
||
### 3. 🐳 Docker (`docker.sh`)
|
||
- Instalación de Docker y Docker Compose
|
||
- Configuración de servicios
|
||
- Instalación de Portainer
|
||
- Agregar usuario al grupo docker
|
||
|
||
### 4. 🌐 ZeroTier (`zerotier.sh`)
|
||
- Instalación de ZeroTier One
|
||
- Configuración de servicio
|
||
- Instrucciones para unirse a redes
|
||
|
||
### 5. 🖨️ Impresoras (`printer.sh`)
|
||
- Instalación de CUPS
|
||
- Drivers comunes de impresora
|
||
|
||
### 6. 🖱️ Tema de Cursor (`mouse_cursor.sh`)
|
||
- Instala el tema de cursor `Bibata-Modern-Ice`.
|
||
- Configura el cursor para Hyprland y aplicaciones GTK.
|
||
|
||
### 7. 🎨 Gestor de Iconos (`icon_manager.sh`)
|
||
- Menú interactivo para instalar y cambiar entre temas de iconos como Papirus, Tela y Candy.
|
||
|
||
### K. 🔐 Sincronizar Claves SSH (`ssh-keyring.sh`)
|
||
- Inicia/activa GNOME Keyring para componentes `ssh` y `secrets`
|
||
- Exporta `SSH_AUTH_SOCK` y registra claves desde `~/.ssh` usando `ssh-add`
|
||
- Evita duplicados mediante fingerprints y muestra un resumen al finalizar
|
||
|
||
### F. 💾 Soporte de Formatos (`disk-format.sh`)
|
||
- Instala utilidades para FAT32, exFAT, NTFS y ext4
|
||
- Añade herramientas gráficas (GParted, GNOME Disks) para formateo manual
|
||
|
||
### R. 🎬 DaVinci Resolve (`davinci-resolve.sh`)
|
||
- Configuración de librerías y wrapper
|
||
|
||
## 🔧 Ejecutar Módulos Individualmente
|
||
|
||
Cada módulo puede ejecutarse de forma independiente:
|
||
|
||
```bash
|
||
# Instalar solo aplicaciones
|
||
./modules/apps.sh
|
||
|
||
# Configurar solo Zsh
|
||
./modules/zsh-config.sh
|
||
|
||
# Sincronizar claves SSH con GNOME Keyring
|
||
./modules/ssh-keyring.sh
|
||
|
||
# Instalar Docker
|
||
./modules/docker.sh
|
||
```
|
||
|
||
## 🌐 Instalación desde URL
|
||
|
||
**Nota**: El script requiere que los módulos estén presentes localmente. Se recomienda clonar el repositorio completo.
|
||
|
||
```bash
|
||
# Clonar el repositorio
|
||
git clone https://github.com/marcogll/omarchy_setup.git
|
||
cd omarchy_setup
|
||
./omarchy-setup.sh
|
||
```
|
||
|
||
---
|
||
|
||
## ✨ Características de los Módulos
|
||
|
||
### 📦 Aplicaciones
|
||
- **Herramientas base**: git, curl, wget, base-devel, stow
|
||
- **Editores**:
|
||
- VS Code (desde AUR: visual-studio-code-bin)
|
||
- Cursor (desde AUR: cursor-bin)
|
||
- **Multimedia**:
|
||
- VLC con todos los plugins (vlc-plugins-all)
|
||
- Audacity (editor de audio)
|
||
- Inkscape (editor gráfico vectorial)
|
||
- ffmpeg, gstreamer con plugins
|
||
- yt-dlp (descarga de videos)
|
||
- **Red y transferencia**:
|
||
- FileZilla (cliente FTP)
|
||
- Telegram Desktop
|
||
- scrcpy (control Android desde PC)
|
||
- **Utilidades**: neofetch, htop, fastfetch, btop, vim, nano, tmux
|
||
- **Seguridad y sincronización**:
|
||
- GNOME Keyring + libsecret + Seahorse
|
||
- Configuración automática del agente SSH y carga de claves en `~/.ssh`
|
||
- openssh, rsync
|
||
- Recomendado cerrar sesión tras la instalación para que las variables de entorno del keyring se apliquen a nuevas terminales
|
||
- **Flatpak**: Sistema de paquetes universal
|
||
- **Drivers Intel Iris Xe**:
|
||
- Mesa y Vulkan (gráficos 3D)
|
||
- Intel Media Driver (aceleración de video VA-API)
|
||
- OpenCL (Intel Compute Runtime desde AUR)
|
||
- Codecs y herramientas de hardware acceleration
|
||
- **Desde AUR**:
|
||
- keyd (remapeo de teclado)
|
||
- fragments (cliente BitTorrent)
|
||
- logiops (driver Logitech)
|
||
- ltunify (Logitech Unifying Receiver)
|
||
- TeamViewer (acceso remoto, con daemon habilitado)
|
||
- intel-compute-runtime (OpenCL para Intel)
|
||
|
||
### 🐚 Zsh
|
||
- Oh My Zsh + Oh My Posh (tema Catppuccin Frappe)
|
||
- Plugins externos gestionados automáticamente (`zsh-autosuggestions`, `zsh-syntax-highlighting`)
|
||
- Genera el archivo de autocompletado `_oh-my-posh` en `~/.local/share/zsh/site-functions`
|
||
- Modifica `.bashrc` para lanzar Zsh automáticamente
|
||
|
||
### 🔐 GNOME Keyring SSH
|
||
- Arranca el daemon de GNOME Keyring con componentes de `ssh` y `secrets`
|
||
- Garantiza que `SSH_AUTH_SOCK` apunte al socket del keyring (persistido en `~/.config/environment.d`)
|
||
- Busca claves privadas en `~/.ssh` (excluyendo `.pub` y certificados) y las registra con `ssh-add`
|
||
- Evita añadir claves duplicadas y muestra cómo verificar con `ssh-add -l`
|
||
|
||
### 🐳 Docker
|
||
- Portainer (interfaz web de gestión)
|
||
- Usuario agregado al grupo docker
|
||
- Servicios habilitados y configurados
|
||
|
||
### 🌐 ZeroTier
|
||
- ZeroTier One VPN
|
||
- Servicio configurado y habilitado
|
||
- Instrucciones para unirse a redes
|
||
|
||
### 🖨️ Impresoras
|
||
- CUPS (Common Unix Printing System)
|
||
- Drivers comunes de impresora
|
||
- Interfaz web en http://localhost:631
|
||
- Soporte para impresoras de red
|
||
|
||
### 🎬 DaVinci Resolve
|
||
- Instalación para Intel GPU
|
||
- Configuración de OpenCL
|
||
- Ajuste de librerías del sistema
|
||
- Wrapper para ejecución
|
||
|
||
---
|
||
|
||
## 📦 Paquetes instalados
|
||
|
||
<details>
|
||
<summary>Ver lista completa (click para expandir)</summary>
|
||
|
||
### Sistema Base
|
||
- **zsh**, **zsh-completions**
|
||
- **oh-my-posh-bin** (desde AUR)
|
||
- **git**, **curl**, **wget**
|
||
- **yay** (AUR helper, compilado desde AUR)
|
||
|
||
### Desarrollo
|
||
- **python**, **python-pip**, **python-virtualenv**
|
||
- **nodejs**, **npm**
|
||
- **go** (Golang)
|
||
- **docker**, **docker-compose**
|
||
- **base-devel** (herramientas de compilación)
|
||
|
||
### Utilidades de Terminal
|
||
- **eza** (ls mejorado)
|
||
- **bat** (cat mejorado)
|
||
- **zoxide** (cd inteligente)
|
||
- **fastfetch** (info del sistema)
|
||
- **htop**, **btop** (monitores del sistema)
|
||
- **tree** (visualización de directorios)
|
||
|
||
### Multimedia y Control
|
||
- **yt-dlp**, **ffmpeg**
|
||
- **playerctl**, **brightnessctl**, **pamixer**
|
||
- **audacity**, **inkscape**
|
||
|
||
### Red y Seguridad
|
||
- **zerotier-one** (desde AUR)
|
||
- **gnome-keyring**, **libsecret**, **seahorse**
|
||
- **lsof**, **net-tools**
|
||
- **teamviewer**
|
||
|
||
### Utilidades del Sistema
|
||
- **nano**, **unzip**, **tar**
|
||
- **p7zip**, **unrar**
|
||
|
||
### Instalaciones Adicionales
|
||
- **speedtest-cli** (vía pip)
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
## 🎯 Durante la instalación
|
||
|
||
El script ejecuta los siguientes pasos:
|
||
|
||
1. **Verificación de requerimientos** (root, Arch Linux, conexión a Internet)
|
||
2. **Instalación de paquetes base** desde repositorios oficiales
|
||
3. **Instalación de yay** desde AUR (si no está instalado)
|
||
4. **Configuración de Docker** (servicio y permisos de usuario)
|
||
5. **Instalación de Oh My Zsh y plugins**
|
||
6. **Configuración de .zshrc y tema Catppuccin** desde GitHub
|
||
7. **Configuración de TeamViewer** (servicio)
|
||
8. **Instalación de ZeroTier One** desde AUR (opcional)
|
||
9. **Configuración de GNOME Keyring** (opcional)
|
||
10. **Configuración de claves SSH** (opcional)
|
||
|
||
### Preguntas interactivas:
|
||
|
||
- **ZeroTier Network ID**: Si deseas unirte a una red ZeroTier (opcional)
|
||
- **GNOME Keyring**: Si deseas configurar el almacén de contraseñas
|
||
- **Claves SSH**: Si deseas añadir claves SSH existentes al agente
|
||
|
||
---
|
||
|
||
## 🔑 GNOME Keyring
|
||
|
||
El keyring guarda contraseñas de forma segura:
|
||
- **Git** (credential helper)
|
||
- **SSH keys** (almacenadas de forma segura)
|
||
- **Aplicaciones GNOME**
|
||
|
||
### Configuración automática:
|
||
|
||
El script configura automáticamente:
|
||
- PAM para auto-desbloqueo del keyring
|
||
- Inicio automático de gnome-keyring-daemon
|
||
- Integración con SSH agent
|
||
|
||
### Comandos útiles:
|
||
|
||
```bash
|
||
# Abrir gestor de contraseñas
|
||
seahorse
|
||
|
||
# Ver estado del keyring
|
||
gnome-keyring-daemon --version
|
||
|
||
# Comandos de ZeroTier (aliases en .zshrc)
|
||
zt # Alias de sudo zerotier-cli
|
||
ztstatus # Ver redes conectadas (listnetworks)
|
||
ztinfo # Info del nodo (info)
|
||
```
|
||
|
||
---
|
||
|
||
## ⚙️ Configuración incluida
|
||
|
||
### Aliases de Arch Linux
|
||
```bash
|
||
pacu # Actualizar sistema
|
||
paci <pkg> # Instalar paquete
|
||
pacr <pkg> # Remover paquete
|
||
pacs <query> # Buscar paquete
|
||
yayu # Actualizar AUR
|
||
yayi <pkg> # Instalar desde AUR
|
||
```
|
||
|
||
### Git shortcuts
|
||
```bash
|
||
gs # git status
|
||
ga # git add
|
||
gc # git commit
|
||
gcm "msg" # git commit -m
|
||
gp # git push
|
||
gl # git pull
|
||
gco <branch> # git checkout
|
||
gcb <branch> # git checkout -b
|
||
glog # git log gráfico
|
||
gac "msg" # add + commit
|
||
```
|
||
|
||
### Docker
|
||
```bash
|
||
dc # docker compose
|
||
d # docker
|
||
dps # docker ps -a
|
||
di # docker images
|
||
dex <name> sh # docker exec -it
|
||
dlog <name> # docker logs -f
|
||
```
|
||
|
||
### Python
|
||
```bash
|
||
py # python
|
||
venv create # Crear .venv
|
||
venv on # Activar
|
||
venv off # Desactivar
|
||
pir # pip install -r requirements.txt
|
||
pipf # pip freeze > requirements.txt
|
||
```
|
||
|
||
### yt-dlp
|
||
```bash
|
||
ytm <URL> # Descargar audio MP3 320kbps
|
||
ytm "lofi beats" # Buscar y descargar
|
||
ytv <URL> # Descargar video MP4 (calidad por defecto)
|
||
ytv <URL> 1080 # Descargar video en 1080p
|
||
ytv <URL> 720 # Descargar video en 720p
|
||
ytls # Listar últimos descargas
|
||
```
|
||
|
||
Descargas en: `~/Videos/YouTube/{Music,Videos}/`
|
||
|
||
### NPM
|
||
```bash
|
||
nrs # npm run start
|
||
nrd # npm run dev
|
||
nrb # npm run build
|
||
nrt # npm run test
|
||
ni # npm install
|
||
nid # npm install --save-dev
|
||
nig # npm install -g
|
||
```
|
||
|
||
### Utilidades
|
||
```bash
|
||
mkcd <dir> # mkdir + cd
|
||
extract <file> # Extraer cualquier archivo
|
||
killport <port> # Matar proceso en puerto
|
||
serve [port] # Servidor HTTP (default 8000)
|
||
clima # Ver clima Saltillo
|
||
```
|
||
|
||
---
|
||
|
||
## 🌐 ZeroTier Network ID
|
||
|
||
Tu Network ID tiene formato: `a0cbf4b62a1234567` (16 caracteres hex)
|
||
|
||
### Dónde encontrarlo:
|
||
1. Ve a https://my.zerotier.com
|
||
2. Selecciona tu red
|
||
3. Copia el Network ID
|
||
|
||
### Después de la instalación:
|
||
1. Ve a tu panel de ZeroTier
|
||
2. Busca el nuevo dispositivo
|
||
3. **Autorízalo** marcando el checkbox
|
||
|
||
### Comandos útiles:
|
||
```bash
|
||
# Ver redes
|
||
ztstatus
|
||
|
||
# Unirse a red
|
||
sudo zerotier-cli join <network-id>
|
||
|
||
# Salir de red
|
||
sudo zerotier-cli leave <network-id>
|
||
|
||
# Info del nodo
|
||
ztinfo
|
||
```
|
||
|
||
---
|
||
|
||
## 📂 Estructura creada
|
||
|
||
```
|
||
$HOME/
|
||
├── .zshrc # Configuración de Zsh (descargado desde GitHub)
|
||
├── .zshrc.local # Config local (opcional, no creado automáticamente)
|
||
├── .oh-my-zsh/ # Oh My Zsh
|
||
│ └── custom/plugins/ # Plugins adicionales
|
||
│ ├── zsh-autosuggestions/
|
||
│ └── zsh-syntax-highlighting/
|
||
├── .poshthemes/ # Temas Oh My Posh
|
||
│ └── catppuccin_frappe.omp.json # Tema Catppuccin Frappe
|
||
├── .zsh_functions/ # Funciones personalizadas (directorio creado)
|
||
├── Videos/YouTube/ # Descargas de yt-dlp
|
||
│ ├── Music/ # Audios MP3
|
||
│ └── Videos/ # Videos MP4
|
||
├── .ssh/ # Claves SSH (si existen)
|
||
└── omarchy-setup.log # Log de instalación
|
||
```
|
||
|
||
---
|
||
|
||
## 🔄 Después de la instalación
|
||
|
||
### 1. Reiniciar sesión o terminal (IMPORTANTE)
|
||
|
||
**⚠️ REINICIO REQUERIDO** si se instalaron servicios como TeamViewer o ZeroTier.
|
||
|
||
```bash
|
||
# Cerrar y volver a abrir la terminal para usar Zsh
|
||
# O cerrar sesión y volver a entrar para aplicar:
|
||
# - Cambio de shell a Zsh
|
||
# - Grupos (docker)
|
||
# - Permisos del sistema
|
||
```
|
||
|
||
### 2. Verificar instalación
|
||
|
||
```bash
|
||
# Ver versión de Zsh
|
||
zsh --version
|
||
|
||
# Ver tema Oh My Posh
|
||
oh-my-posh version
|
||
|
||
# Verificar Docker
|
||
docker ps
|
||
|
||
# Ver ZeroTier (si se configuró)
|
||
ztstatus
|
||
|
||
# Ver TeamViewer (si se instaló)
|
||
teamviewer info
|
||
|
||
# Actualizar sistema
|
||
pacu
|
||
```
|
||
|
||
### 3. Configuraciones opcionales
|
||
|
||
```bash
|
||
# Crear archivo de configuración local
|
||
nano ~/.zshrc.local
|
||
|
||
# Ejemplo de contenido:
|
||
export OPENAI_API_KEY="sk-..."
|
||
export GITHUB_TOKEN="ghp_..."
|
||
alias miproyecto="cd ~/Projects/mi-app && code ."
|
||
```
|
||
|
||
---
|
||
|
||
## 🛠️ Solución de problemas
|
||
|
||
### Docker no funciona sin sudo
|
||
|
||
```bash
|
||
# Verificar que estás en el grupo docker
|
||
groups # Debe incluir 'docker'
|
||
|
||
# Si no aparece, reinicia sesión o ejecuta:
|
||
newgrp docker
|
||
|
||
# Verificar acceso
|
||
docker ps
|
||
```
|
||
|
||
### Git sigue pidiendo contraseña
|
||
|
||
```bash
|
||
# Verificar credential helper
|
||
git config --global credential.helper
|
||
|
||
# Debe ser: libsecret
|
||
|
||
# Si no, configurar:
|
||
git config --global credential.helper libsecret
|
||
|
||
# Abrir Seahorse y verificar keyring
|
||
seahorse
|
||
|
||
# Verificar que el keyring está corriendo
|
||
pgrep -u "$USER" gnome-keyring-daemon
|
||
```
|
||
|
||
### ZeroTier no conecta
|
||
|
||
```bash
|
||
# Verificar servicio
|
||
sudo systemctl status zerotier-one
|
||
|
||
# Ver logs
|
||
sudo journalctl -u zerotier-one -f
|
||
|
||
# Reiniciar servicio
|
||
sudo systemctl restart zerotier-one
|
||
|
||
# Verificar que autorizaste el nodo en https://my.zerotier.com
|
||
ztinfo
|
||
ztstatus
|
||
```
|
||
|
||
### Oh My Posh no se muestra correctamente
|
||
|
||
Para que el tema de Oh My Posh se visualice correctamente, es **esencial** tener instalada una "Nerd Font". Estas fuentes incluyen los íconos y símbolos especiales que usa el prompt.
|
||
|
||
El script **no** instala fuentes automáticamente, pero puedes hacerlo fácilmente con el siguiente comando:
|
||
|
||
```bash
|
||
# Instalar la fuente recomendada (Meslo LGM Nerd Font)
|
||
oh-my-posh font install meslo
|
||
```
|
||
|
||
Después de instalar la fuente, **debes configurar tu emulador de terminal** para que la use. Este paso es crucial y varía según la terminal que utilices (por ejemplo, en GNOME Terminal, Konsole, Alacritty, etc., deberás ir a sus preferencias y seleccionar "MesloLGM Nerd Font").
|
||
|
||
**Verificaciones adicionales:**
|
||
|
||
```bash
|
||
# Verificar que oh-my-posh está instalado
|
||
which oh-my-posh
|
||
|
||
# Verificar que el tema existe
|
||
ls ~/.poshthemes/catppuccin_frappe.omp.json
|
||
|
||
# Listar fuentes para confirmar que Meslo está instalada
|
||
fc-list | grep -i "meslo"
|
||
```
|
||
|
||
### El shell no cambió a Zsh
|
||
|
||
```bash
|
||
# Verificar shell actual
|
||
echo $SHELL
|
||
|
||
# Cambiar manualmente
|
||
chsh -s $(which zsh)
|
||
|
||
# Cerrar y abrir nueva terminal
|
||
```
|
||
|
||
---
|
||
|
||
## 📚 Recursos
|
||
|
||
- **Arch Wiki**: https://wiki.archlinux.org/
|
||
- **Oh My Zsh**: https://ohmyz.sh/
|
||
- **Oh My Posh**: https://ohmyposh.dev/
|
||
- **Catppuccin Theme**: https://github.com/catppuccin/catppuccin
|
||
- **ZeroTier**: https://www.zerotier.com/
|
||
- **yt-dlp**: https://github.com/yt-dlp/yt-dlp
|
||
- **Nerd Fonts**: https://www.nerdfonts.com/ (requerido para iconos del prompt)
|
||
- **yay AUR Helper**: https://github.com/Jguer/yay
|
||
|
||
---
|
||
|
||
## 🆘 Soporte
|
||
|
||
Si encuentras problemas:
|
||
|
||
1. Revisa los mensajes de error durante la instalación
|
||
2. Verifica que cerraste sesión después de instalar (para aplicar grupos)
|
||
3. Comprueba que los grupos se aplicaron: `groups`
|
||
4. Verifica que los módulos están presentes: `ls modules/`
|
||
5. Ejecuta módulos individualmente para aislar problemas
|
||
6. Abre un issue en: https://github.com/marcogll/scripts_mg/issues
|
||
|
||
### Verificar Instalación de Módulos
|
||
|
||
```bash
|
||
# Verificar que todos los módulos existen
|
||
ls -la modules/
|
||
|
||
# Ejecutar un módulo individual para debug
|
||
bash -x modules/apps.sh
|
||
```
|
||
|
||
---
|
||
|
||
## 🔧 Agregar Nuevos Módulos
|
||
|
||
Para agregar un nuevo módulo:
|
||
|
||
1. Crea un archivo en `modules/nombre-modulo.sh`:
|
||
|
||
```bash
|
||
#!/usr/bin/env bash
|
||
# ===============================================================
|
||
# nombre-modulo.sh - Descripción del módulo
|
||
# ===============================================================
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
source "${SCRIPT_DIR}/common.sh"
|
||
|
||
install_nombre_modulo() {
|
||
log_step "Instalación de Nombre Módulo"
|
||
|
||
# Tu código aquí
|
||
log_info "Instalando paquetes..."
|
||
sudo pacman -S --noconfirm --needed paquete1 paquete2 || {
|
||
log_error "Error al instalar paquetes"
|
||
return 1
|
||
}
|
||
|
||
log_success "Módulo instalado correctamente"
|
||
return 0
|
||
}
|
||
|
||
# Ejecutar si se llama directamente
|
||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||
install_nombre_modulo "$@"
|
||
fi
|
||
```
|
||
|
||
2. Agrega el módulo al menú en `omarchy-setup.sh`:
|
||
|
||
Dentro del script `omarchy-setup.sh`, localiza el array asociativo `MODULES` y añade una nueva línea.
|
||
|
||
```bash
|
||
# --- Definición de Módulos ---
|
||
# Clave: Opción del menú
|
||
# Valor: "Nombre del Fichero;Función Principal;Descripción;Tipo (bg/fg)"
|
||
declare -A MODULES
|
||
MODULES=(
|
||
["1"]="apps;run_module_main;📦 Instalar Aplicaciones;bg"
|
||
# ... otros módulos ...
|
||
["N"]="nombre-modulo;install_nombre_modulo;🚀 Mi Nuevo Módulo;fg"
|
||
)
|
||
```
|
||
|
||
- **Clave (`"N"`):** La tecla que el usuario presionará en el menú.
|
||
- **Valor:** Una cadena de texto con 4 partes separadas por punto y coma (`;`):
|
||
1. `nombre-modulo`: El nombre del fichero `.sh` sin la extensión.
|
||
2. `install_nombre_modulo`: La función dentro de ese fichero que se debe ejecutar.
|
||
3. `🚀 Mi Nuevo Módulo`: La descripción que aparecerá en el menú.
|
||
4. `fg` o `bg`: `fg` (foreground) para scripts interactivos, `bg` (background) para tareas que pueden usar un spinner.
|
||
|
||
3. Si quieres incluirlo en la opción "Instalar Todo", añade la clave del menú (en este caso, `"N"`) al array `INSTALL_ALL_CHOICES`.
|
||
|
||
---
|
||
|
||
## 📝 Changelog
|
||
|
||
### v3.0.0 (2025-01-XX)
|
||
- ✨ **Nueva estructura modular**: Scripts independientes para cada componente
|
||
- 🎨 **Menú interactivo**: Selecciona qué instalar según tus necesidades
|
||
- 🎨 **Interfaz mejorada**: Colores y mensajes claros durante la instalación
|
||
- 📦 **Módulos disponibles**:
|
||
- Aplicaciones (apps.sh)
|
||
- Zsh (zsh-config.sh)
|
||
- Docker y Portainer (docker.sh)
|
||
- ZeroTier (zerotier.sh)
|
||
- Impresoras CUPS (printer.sh)
|
||
- Tema de Cursor (mouse_cursor.sh)
|
||
- DaVinci Resolve (davinci-resolve.sh)
|
||
- Gestor de Iconos (icon_manager.sh)
|
||
|
||
### v2.8.1 (2025-11-02)
|
||
- Versión unificada con estética Catppuccin
|
||
- Instalación mejorada de paquetes con manejo de errores robusto
|
||
- **oh-my-posh** instalado desde AUR automáticamente
|
||
- Configuración `.zshrc` descargada desde GitHub
|
||
|
||
---
|
||
|
||
## 📄 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!**
|