🚀 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
- 🎨 Interfaz Mejorada: Colores y mensajes claros durante la instalación
- 🔧 Fácil de Extender: Agrega nuevos módulos fácilmente
⚡ Instalación rápida
# Clonar el repositorio
git clone https://github.com/marcogll/scripts_mg.git
cd scripts_mg/omarchy_zsh_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)
│ └── 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, Cursor, VLC, herramientas)
2) 🐚 Configurar Zsh (shell, plugins, configuración personalizada)
3) 🐳 Instalar Docker y Portainer
4) 🌐 Instalar ZeroTier
5) 🖨️ Configurar Impresoras (CUPS)
6) 🎬 Instalar DaVinci Resolve (Intel Edition)
7) 🔄 Actualizar Sistema
8) 🧹 Limpiar Paquetes Huérfanos
9) ✅ Instalar Todo (opciones 1-5)
0) 🚪 Salir
📋 Módulos Disponibles
1. 📦 Aplicaciones (apps.sh)
- Herramientas base (git, curl, wget, etc.)
- VS Code
- Cursor (desde AUR)
- VLC y plugins multimedia
- Herramientas de desarrollo
- Configuración de VLC como reproductor predeterminado
2. 🐚 Zsh (zsh-config.sh)
- Instalación de Zsh y plugins
- Descarga de configuración
.zshrcdesde GitHub - Configuración como shell predeterminada
- Plugins: syntax-highlighting, autosuggestions
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
- Configuración de servicios
- Interfaz web en http://localhost:631
6. 🎬 DaVinci Resolve (davinci-resolve.sh)
- Instalación de DaVinci Resolve para Intel GPU
- Configuración de OpenCL
- Requiere ZIP de instalación en
~/Downloads - Configuración de librerías y wrapper
🔧 Ejecutar Módulos Individualmente
Cada módulo puede ejecutarse de forma independiente:
# Instalar solo aplicaciones
./modules/apps.sh
# Configurar solo Zsh
./modules/zsh-config.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.
# Clonar repositorio
git clone https://github.com/marcogll/scripts_mg.git
cd scripts_mg/omarchy_zsh_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
- 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
- Shell Zsh con plugins (syntax-highlighting, autosuggestions)
- Configuración personalizada desde GitHub
- Configuración como shell predeterminada
🐳 Docker
- Docker y Docker Compose
- 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
Ver lista completa (click para expandir)
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)
🎯 Durante la instalación
El script ejecuta los siguientes pasos:
- Verificación de requerimientos (root, Arch Linux, conexión a Internet)
- Instalación de paquetes base desde repositorios oficiales
- Instalación de yay desde AUR (si no está instalado)
- Configuración de Docker (servicio y permisos de usuario)
- Instalación de Oh My Zsh y plugins
- Configuración de .zshrc y tema Catppuccin desde GitHub
- Configuración de TeamViewer (servicio)
- Instalación de ZeroTier One desde AUR (opcional)
- Configuración de GNOME Keyring (opcional)
- 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:
# 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
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
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
dc # docker compose
d # docker
dps # docker ps -a
di # docker images
dex <name> sh # docker exec -it
dlog <name> # docker logs -f
Python
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
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
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
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:
- Ve a https://my.zerotier.com
- Selecciona tu red
- Copia el Network ID
Después de la instalación:
- Ve a tu panel de ZeroTier
- Busca el nuevo dispositivo
- Autorízalo marcando el checkbox
Comandos útiles:
# 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.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.
# 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
# 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
# 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
# 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
# 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
# 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
# Verificar instalación
which oh-my-posh
oh-my-posh version
# Verificar que el tema existe
ls ~/.poshthemes/catppuccin.omp.json
# Verificar que tienes una Nerd Font instalada
# (El script NO instala fuentes automáticamente)
fc-list | grep -i nerd
# Si no tienes Nerd Font, instala una:
# - Nerd Fonts: https://www.nerdfonts.com/
El shell no cambió a Zsh
# 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:
- Revisa los mensajes de error durante la instalación
- Verifica que cerraste sesión después de instalar (para aplicar grupos)
- Comprueba que los grupos se aplicaron:
groups - Verifica que los módulos están presentes:
ls modules/ - Ejecuta módulos individualmente para aislar problemas
- Abre un issue en: https://github.com/marcogll/scripts_mg/issues
Verificar Instalación de Módulos
# 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:
- Crea un archivo en
modules/nombre-modulo.sh:
#!/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
- Agrega el módulo al menú en
omarchy-setup.sh:
# En la función show_menu(), agrega:
echo -e " ${GREEN}X)${NC} 📦 Descripción del módulo"
# En el case statement, agrega:
X)
run_module "nombre-modulo"
echo ""
read -p "Presiona Enter para continuar..."
;;
# En la función run_module(), agrega:
"nombre-modulo")
install_nombre_modulo
;;
- Si quieres incluirlo en "Instalar Todo", agrégalo al array
modulesen la funcióninstall_all().
📝 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)
- DaVinci Resolve (davinci-resolve.sh)
- 🔧 Fácil de extender: Agrega nuevos módulos fácilmente
- 🧹 Limpieza: Eliminado archivo duplicado davinci_resolve_intel.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
.zshrcdescargada desde GitHub
📄 Licencia
MIT License - Libre de usar y modificar
👤 Autor
Marco
- GitHub: @marcogll
- Repo: scripts_mg
# Instalar en una línea
bash <(curl -fsSL https://raw.githubusercontent.com/marcogll/scripts_mg/main/omarchy_zsh_setup/omarchy-setup.sh)
📝 Notas importantes
- Módulos locales requeridos: El script requiere que los módulos estén presentes localmente. Clona el repositorio completo.
- Permisos sudo: El script requiere permisos de sudo para instalar paquetes y configurar servicios.
- Reinicio recomendado: Después de instalar servicios (Docker, ZeroTier, CUPS), se recomienda reiniciar o al menos cerrar sesión para aplicar cambios de grupos.
- Shell por defecto: El módulo de Zsh verificará y cambiará el shell predeterminado si es necesario.
- DaVinci Resolve: Requiere el ZIP de instalación en
~/Downloadsantes de ejecutar el módulo.
🚀 Próximos Pasos
- Ejecuta
./omarchy-setup.shpara ver el menú interactivo - Selecciona los módulos que deseas instalar
- Revisa los mensajes durante la instalación
- Reinicia o cierra sesión después de instalar servicios
- Disfruta de tu configuración personalizada
🚀 ¡Disfruta tu nuevo setup modular de Omarchy!