This commit introduces several new features and improvements: - **Adds Development Tools to `apps.sh`:** The `apps.sh` module now installs essential development tools, including `python`, `pip`, `nodejs`, `npm`, `uv`, and `nvm`. - **Implements `.zshrc.local` for Private Variables:** - A `.zshrc.local.example` file has been added to serve as a template for users to securely store their private environment variables, such as API keys. - The main `.zshrc` file now sources `.zshrc.local` if it exists. - **Adds AI Aliases to `.zshrc`:** A new section has been added to `.zshrc` with example aliases for interacting with command-line AI tools. - **Improves `.zshrc` Documentation:** The `.zshrc` file has been thoroughly documented with comments in Spanish, explaining the purpose of each section. The title has also been updated and professionalized. - **Fixes a Regression:** This commit restores the `ytm`, `ytv`, `ytls`, and SSH agent functions in `.zshrc` that were accidentally removed in a previous step. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: Marco Gallegos <marco.gallegos@outlook.com>
🚀 Omarchy Setup Script
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.
- 🔐 Sesión Sudo Persistente: Reutiliza la contraseña durante toda la ejecución.
- 🔧 Fácil de Extender: Agrega nuevos módulos fácilmente.
⚡ Instalación rápida
git clone https://github.com/marcogll/omarchy_setup.git
cd omarchy_setup
./omarchy-setup.sh
📂 Estructura del Repositorio
omarchy_setup/
├── omarchy-setup.sh # Script principal con el menú interactivo.
├── modules/ # Directorio con todos los módulos de instalación.
│ ├── common.sh # Funciones compartidas por todos los módulos.
│ ├── apps.sh # Instalación de aplicaciones y herramientas.
│ ├── zsh-config.sh # Configuración de Zsh, Oh My Zsh y Oh My Posh.
│ └── ... # Otros módulos.
└── hypr_config/ # Configuración de Hyprland (copiada por el módulo).
📋 Módulos Disponibles
A continuación se describe cada uno de los módulos que puedes instalar.
1. Aplicaciones (apps.sh)
Este módulo instala un conjunto de aplicaciones y herramientas esenciales para un entorno de desarrollo y de escritorio completo.
-
Qué instala:
- Herramientas de sistema:
git,curl,htop,fastfetch,stow,gnome-keyring. - Editores de código: Visual Studio Code (
visual-studio-code-bin) y Cursor (cursor-bin) desde AUR. - Multimedia: VLC, Audacity, Inkscape y
yt-dlp. - Red: FileZilla, Telegram y
speedtest-cli. - Drivers de Intel: Soporte completo para gráficos Intel Iris Xe, incluyendo Mesa, Vulkan, VA-API para aceleración de video y OpenCL.
- Utilidades de AUR:
keyd(remapeo de teclado),logiops(configuración de ratones Logitech),teamviewer.
- Herramientas de sistema:
-
Cómo funciona:
- Instala paquetes desde los repositorios oficiales y AUR.
- Configura GNOME Keyring para actuar como agente de SSH, cargando automáticamente las claves que encuentre en
~/.ssh. - Habilita los servicios necesarios para
keyd,logiopsyteamviewer.
2. Zsh (zsh-config.sh)
Transforma la terminal con Zsh, Oh My Zsh y Oh My Posh, junto con una configuración personalizada que incluye aliases y funciones útiles.
-
Qué instala:
zshy plugins comozsh-syntax-highlightingyzsh-autosuggestions.- Oh My Zsh para la gestión de la configuración de Zsh.
- Oh My Posh como motor para el prompt, con el tema Catppuccin Frappe.
- Herramientas de terminal como
zoxidepara una navegación rápida.
-
Cómo funciona:
- Instala todas las dependencias y clona los repositorios necesarios.
- Reemplaza tu
~/.zshrccon una versión preconfigurada (creando una copia de seguridad). - Cambia tu shell por defecto a Zsh.
¡Importante! Después de instalar este módulo, necesitarás instalar una Nerd Font para que el prompt se vea bien. El script te recomendará instalar la fuente Meslo con el comando:
oh-my-posh font install meslo.
3. Docker (docker.sh)
Instala y configura Docker para la gestión de contenedores.
-
Qué instala:
dockerydocker-compose.- (Opcional) Portainer, una interfaz web para gestionar Docker.
-
Cómo funciona:
- Habilita el servicio de Docker.
- Añade tu usuario al grupo
docker, lo que te permite ejecutar comandos de Docker sinsudo(requiere reiniciar sesión). - Te pregunta si quieres instalar Portainer.
4. ZeroTier (zerotier.sh)
Instala el cliente de ZeroTier, una herramienta para crear redes virtuales seguras.
-
Qué instala:
- El paquete
zerotier-one.
- El paquete
-
Cómo funciona:
- Habilita el servicio de ZeroTier.
- Te ofrece unirte a una red de ZeroTier de forma interactiva después de la instalación.
5. Impresoras (printer.sh)
Instala y configura el sistema de impresión CUPS.
-
Qué instala:
cups,cups-pdfy filtros de impresión.- Drivers de impresión genéricos (
gutenprint,foomatic-db). - Drivers para impresoras Epson desde AUR.
avahipara la detección de impresoras en red.
-
Cómo funciona:
- Habilita los servicios de
cupsyavahi. - Añade tu usuario al grupo
lppara que puedas administrar impresoras (requiere reiniciar sesión).
- Habilita los servicios de
6. Tema de Cursor (mouse_cursor.sh)
Instala un tema de cursor personalizado y lo configura para Hyprland y aplicaciones GTK.
-
Qué instala:
- El tema de cursor Bibata-Modern-Ice.
-
Cómo funciona:
- Descarga el tema y lo instala en
~/.icons. - Modifica los ficheros de configuración de Hyprland (
envs.conf) y GTK (gsettings).
- Descarga el tema y lo instala en
7. Gestor de Iconos (icon_manager.sh)
Un menú interactivo para instalar y cambiar entre diferentes temas de iconos.
-
Qué instala (a elección):
- Tela (variante Nord).
- Papirus (estándar o con colores Catppuccin).
- Candy Icons.
-
Cómo funciona:
- Clona los repositorios de los temas de iconos desde GitHub.
- Modifica la configuración de Hyprland (
autostart.conf) para que el tema sea persistente.
8. Sincronizar Claves SSH (ssh-keyring.sh)
Añade tus claves SSH existentes al agente de GNOME Keyring para que no tengas que escribir tu passphrase repetidamente.
- Cómo funciona:
- Inicia el
gnome-keyring-daemon. - Busca claves privadas en
~/.sshy las añade al agente usandossh-add. - Evita añadir claves que ya estén cargadas.
- Inicia el
9. Soporte de Formatos (disk-format.sh)
Instala herramientas para poder leer, escribir y formatear particiones con los sistemas de archivos más comunes.
- Qué instala:
dosfstools(para FAT),exfatprogs(para exFAT) yntfs-3g(para NTFS).- Herramientas gráficas como GParted y GNOME Disks.
10. DaVinci Resolve (davinci-resolve.sh)
Un instalador especializado para DaVinci Resolve, enfocado en sistemas con GPUs de Intel.
Nota: Este módulo es complejo y requiere que hayas descargado previamente el fichero ZIP de DaVinci Resolve desde la web de Blackmagic y lo hayas colocado en tu carpeta de
~/Downloads.
- Cómo funciona:
- Instala todas las dependencias necesarias, incluyendo librerías de
ocl-icdyintel-compute-runtime. - Extrae el instalador, aplica parches a las librerías con
patchelfy lo copia todo a/opt/resolve. - Crea un script "wrapper" y un acceso directo en el menú de aplicaciones para lanzar el programa con la configuración correcta.
- Instala todas las dependencias necesarias, incluyendo librerías de
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:
# 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:
# Verificar que oh-my-posh está instalado
which oh-my-posh
Instala una configuración personalizada para el gestor de ventanas Hyprland.
# Listar fuentes para confirmar que Meslo está instalada
fc-list | grep -i "meslo"
El shell no cambió a Zsh
# Verificar shell actual
echo $SHELL
# Cambiar manualmente
chsh -s $(which zsh)
# Cerrar y abrir nueva terminal
🔧 Extender el Script
Añadir un nuevo módulo es sencillo:
- Crea tu script en la carpeta
modules/(ej.mi-modulo.sh). Asegúrate de que tenga una función principal. - Añádelo al menú en
omarchy-setup.sh, dentro del arrayMODULES. Sigue el formato:"tecla"="nombre-fichero;nombre-funcion;Descripción;tipo".tipopuede serbg(para tareas en segundo plano) ofg(para tareas interactivas).
📄 Licencia
Este proyecto está bajo la Licencia MIT.