mirror of
https://github.com/marcogll/omarchy_setup.git
synced 2026-01-13 13:25:16 +00:00
feat: migrate SSH keyring to gcr-ssh-agent and unify documentation
- Update ssh-keyring module to use gcr-ssh-agent.socket instead of gnome-keyring's SSH component - Configure SSH_AUTH_SOCK to $XDG_RUNTIME_DIR/gcr/ssh - Merge DOCUMENTACION.md content into Readme.md for unified documentation - Rename install.md to installed_software.md with updated SSH keyring section Note: gnome-keyring 46.0+ moved SSH functionality to gcr, requiring gcr-ssh-agent service
This commit is contained in:
135
DOCUMENTACION.md
135
DOCUMENTACION.md
@@ -1,135 +0,0 @@
|
||||
# DOCUMENTACION.md - Referencia Técnica de Módulos
|
||||
|
||||
Este documento proporciona una descripción técnica detallada de cada script y módulo que forma parte del proyecto Omarchy Setup.
|
||||
|
||||
## 1. Script Principal: `omarchy-setup.sh`
|
||||
|
||||
Este es el script orquestador y el punto de entrada para el usuario.
|
||||
|
||||
- **Función Principal:** Proporcionar una interfaz de menú interactiva que permite al usuario seleccionar qué módulos de configuración desea ejecutar.
|
||||
- **Características Clave:**
|
||||
- **Menú Dinámico:** Muestra una lista de todos los módulos disponibles, permitiendo al usuario elegir uno, varios ("Instalar Todo") o salir.
|
||||
- **Gestión de `sudo`:** Solicita la contraseña de `sudo` una vez y la mantiene activa en segundo plano para evitar que el usuario tenga que introducirla repetidamente.
|
||||
- **Ejecución Modular:** Llama a las funciones principales de los scripts ubicados en el directorio `modules/`.
|
||||
- **Feedback Visual:** Implementa un "spinner" (indicador de progreso) para las tareas que se ejecutan en segundo plano, mejorando la experiencia del usuario.
|
||||
- **Registro (`Logging`):** Guarda un registro detallado de toda la sesión de instalación en el directorio `logs/`, lo que facilita la depuración en caso de errores.
|
||||
- **Verificación del Sistema:** Comprueba que el script se está ejecutando en Arch Linux antes de proceder.
|
||||
|
||||
## 2. Módulos (`modules/`)
|
||||
|
||||
### 2.1. `common.sh`
|
||||
|
||||
Este script no es un módulo ejecutable desde el menú, sino una librería de funciones compartidas por todos los demás módulos.
|
||||
|
||||
- **Función Principal:** Centralizar el código común para evitar duplicaciones y mantener la consistencia.
|
||||
- **Funciones Proporcionadas:**
|
||||
- **Logs con Colores:** Funciones como `log_info`, `log_success`, `log_warning` y `log_error` para mostrar mensajes con un formato estandarizado.
|
||||
- **Gestión de Paquetes:**
|
||||
- `check_and_install_pkg`: Verifica si un paquete ya está instalado desde los repositorios oficiales y, si no, lo instala con `pacman`.
|
||||
- `ensure_aur_helper` y `aur_install_packages`: Detectan un helper de AUR (como `yay` o `paru`), lo instalan si es necesario, y lo utilizan para instalar paquetes desde el Arch User Repository.
|
||||
- **Copias de Seguridad:** La función `backup_file` renombra un archivo existente (ej. `.zshrc`) a `.zshrc.bak_FECHA` antes de sobrescribirlo, para prevenir la pérdida de configuraciones del usuario.
|
||||
- **Verificaciones:** `command_exists` comprueba si un comando está disponible en el sistema.
|
||||
|
||||
### 2.2. `apps.sh`
|
||||
|
||||
Es uno de los módulos más extensos y se encarga de la instalación de un conjunto base de aplicaciones y herramientas.
|
||||
|
||||
- **Función Principal:** Instalar software esencial de diversas categorías.
|
||||
- **Software Instalado:**
|
||||
- **Base del Sistema:** `git`, `curl`, `htop`, `btop`, `stow`, `gnome-keyring`, `openssh`, etc.
|
||||
- **Desarrollo:** `python`, `pip`, `nodejs`, `npm`, `arduino-cli`. También instala `nvm` (Node Version Manager) y `Homebrew` para una gestión de paquetes más flexible.
|
||||
- **Multimedia:** VLC (y sus codecs), Audacity, Inkscape, `yt-dlp` para descargar vídeos.
|
||||
- **Red:** FileZilla, Telegram, `speedtest-cli`.
|
||||
- **AUR:** Visual Studio Code, Cursor, Keyd, Fragments, Logiops, TeamViewer, Antigravity, OpenCode.
|
||||
- **Drivers para Intel Iris Xe:** Instala todos los paquetes necesarios para el correcto funcionamiento de los gráficos integrados de Intel, incluyendo `mesa`, `vulkan-intel`, y los drivers para la aceleración de vídeo por hardware (VA-API).
|
||||
- **Configuraciones Adicionales:**
|
||||
- Habilita y configura servicios del sistema como `gnome-keyring-daemon` (para gestión de contraseñas y claves SSH), `keyd` y `logiops` (para teclados y ratones avanzados), `teamviewer` y `tlp` (para la gestión avanzada de energía y optimización de la batería).
|
||||
|
||||
### 2.3. `zsh-config.sh`
|
||||
|
||||
Este módulo personaliza la experiencia del shell del usuario.
|
||||
|
||||
- **Función Principal:** Configurar Zsh como el shell principal con una apariencia y funcionalidad mejoradas.
|
||||
- **Acciones Realizadas:**
|
||||
- **Instalación:** Instala `zsh`, `zsh-completions` y otras utilidades.
|
||||
- **Oh My Zsh:** Instala el framework "Oh My Zsh" para la gestión de plugins.
|
||||
- **Plugins:** Añade plugins populares como `zsh-autosuggestions` (sugiere comandos mientras escribes) y `zsh-syntax-highlighting` (colorea la sintaxis de los comandos).
|
||||
- **Oh My Posh:** Instala esta herramienta para crear un prompt de terminal altamente personalizable y descarga un tema predefinido (Catppuccin Frappe).
|
||||
- **.zshrc:** Reemplaza el `~/.zshrc` del usuario por una versión pre-configurada que integra todas estas herramientas y añade alias y funciones útiles, incluyendo una función `zsh_help` que muestra una lista de todos los comandos personalizados.
|
||||
- **Shell por Defecto:** Cambia el shell de inicio de sesión del usuario a Zsh.
|
||||
|
||||
### 2.4. `docker.sh`
|
||||
|
||||
Configura un entorno de desarrollo basado en contenedores.
|
||||
|
||||
- **Función Principal:** Instalar y configurar Docker Engine y Docker Compose.
|
||||
- **Acciones Realizadas:**
|
||||
- **Instalación:** Instala los paquetes `docker` y `docker-compose`.
|
||||
- **Servicio:** Habilita e inicia el servicio (`daemon`) de Docker para que se ejecute automáticamente al iniciar el sistema.
|
||||
- **Permisos:** Agrega el usuario actual al grupo `docker`, permitiéndole ejecutar comandos de Docker sin necesidad de `sudo`.
|
||||
- **Portainer (Opcional):** Pregunta al usuario si desea instalar Portainer, una interfaz gráfica web para gestionar contenedores, imágenes y volúmenes de Docker.
|
||||
|
||||
### 2.5. `disk-format.sh`
|
||||
|
||||
Añade soporte para sistemas de archivos comunes.
|
||||
|
||||
- **Función Principal:** Instalar las herramientas necesarias para interactuar con particiones y discos formateados en sistemas de archivos no nativos de Linux.
|
||||
- **Soporte Añadido:**
|
||||
- `ntfs-3g`: Para leer y escribir en particiones NTFS (Windows).
|
||||
- `exfatprogs`: Para particiones exFAT, comunes en tarjetas SD y unidades USB.
|
||||
- `e2fsprogs`: Herramientas para el sistema de archivos nativo de Linux (ext4).
|
||||
|
||||
### 2.6. `hyprland-config.sh`
|
||||
|
||||
Configura un entorno de escritorio basado en el gestor de ventanas Hyprland.
|
||||
|
||||
- **Función Principal:** Instalar Hyprland y un conjunto de aplicaciones y configuraciones para tener un entorno de "tiling window manager" funcional y estético.
|
||||
- **Software Adicional:** Instala componentes como `waybar` (barra de estado), `wofi` (lanzador de aplicaciones), `swaylock` (bloqueo de pantalla), y `kitty` (emulador de terminal).
|
||||
- **Configuración:** Despliega una estructura de archivos de configuración predefinida para todos estos componentes.
|
||||
|
||||
### 2.7. `icon_manager.sh`
|
||||
|
||||
Permite personalizar la apariencia del sistema.
|
||||
|
||||
- **Función Principal:** Instalar y aplicar diferentes temas de iconos.
|
||||
- **Temas Disponibles:** Ofrece una selección de temas populares como Papirus y Tela, instalándolos desde los repositorios de Arch o AUR.
|
||||
- **Aplicación:** Utiliza `gsettings` para cambiar el tema de iconos activo en el entorno de escritorio.
|
||||
|
||||
### 2.8. `mouse_cursor.sh`
|
||||
|
||||
Mejora la apariencia del cursor del ratón.
|
||||
|
||||
- **Función Principal:** Instalar y configurar el tema de cursores Bibata.
|
||||
- **Acciones Realizadas:** Descarga e instala el tema, y luego lo establece como el predeterminado para las aplicaciones GTK y el servidor gráfico X11.
|
||||
|
||||
### 2.9. `printer.sh`
|
||||
|
||||
Configura el sistema para poder utilizar impresoras.
|
||||
|
||||
- **Función Principal:** Instalar el sistema de impresión CUPS y los drivers necesarios.
|
||||
- **Acciones Realizadas:**
|
||||
- **CUPS:** Instala el servidor de impresión CUPS y sus filtros.
|
||||
- **Drivers:** Instala drivers genéricos y específicos para impresoras Epson.
|
||||
- **Servicios:** Habilita los servicios de `cups` y `avahi` (para la detección de impresoras en red).
|
||||
- **Permisos:** Añade al usuario al grupo `lp` para permitirle administrar impresoras.
|
||||
|
||||
### 2.10. `ssh-keyring.sh`
|
||||
|
||||
Mejora la gestión de claves SSH.
|
||||
|
||||
- **Función Principal:** Sincronizar las claves SSH del usuario con el agente de GNOME Keyring.
|
||||
- **Funcionamiento:**
|
||||
1. Verifica que el agente de `gnome-keyring` esté en ejecución.
|
||||
2. Busca todas las claves SSH privadas en el directorio `~/.ssh/`.
|
||||
3. Utiliza `ssh-add` para añadir cada clave al agente. La primera vez que se use cada clave, GNOME Keyring pedirá la contraseña y la almacenará de forma segura. En usos posteriores, la desbloqueará automáticamente.
|
||||
- **Importancia:** Evita tener que escribir la contraseña de la clave SSH cada vez que se establece una conexión.
|
||||
|
||||
### 2.11. `zerotier.sh`
|
||||
|
||||
Instala una herramienta de VPN.
|
||||
|
||||
- **Función Principal:** Instalar y configurar el cliente de la VPN ZeroTier.
|
||||
- **Acciones Realizadas:**
|
||||
- **Instalación:** Instala el paquete `zerotier-one`.
|
||||
- **Servicio:** Habilita e inicia el servicio de ZeroTier.
|
||||
- **Unirse a Red (Opcional):** Pregunta al usuario si desea unirse a una red de ZeroTier y, en caso afirmativo, le pide el ID de la red.
|
||||
174
Readme.md
174
Readme.md
@@ -21,6 +21,7 @@ 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
|
||||
chmod +x omarchy-setup.sh
|
||||
./omarchy-setup.sh
|
||||
```
|
||||
|
||||
@@ -28,16 +29,16 @@ cd omarchy_setup
|
||||
|
||||
```
|
||||
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
|
||||
├── 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)
|
||||
└── installed_software.md # Lista detallada de componentes instalados
|
||||
```
|
||||
|
||||
## 🎮 Opciones del Menú
|
||||
@@ -47,21 +48,170 @@ omarchy_setup/
|
||||
| **1** | **Aplicaciones** | Repositorios Arch/AUR/Flatpak |
|
||||
| **2** | **Zsh Config** | Requiere `mg_dotfiles` |
|
||||
| **3** | **Docker** | Docker + Portainer (Web UI) |
|
||||
| **5** | **Impresoras** | CUPS + Drivers |
|
||||
| **6** | **Cursor** | Tema Bibata |
|
||||
| **7** | **Iconos** | Gestor de temas interactivos |
|
||||
| **S** | **Suspensión** | Activa opción en menú System |
|
||||
| **H** | **Hyprland** | Requiere `mg_dotfiles` |
|
||||
| **K** | **SSH Keyring** | Sincroniza llaves con GNOME |
|
||||
| **K** | **SSH Keyring** | Sincroniza llaves con gcr-ssh-agent |
|
||||
| **F** | **Formatos Disco** | FAT/exFAT/NTFS/ext4 |
|
||||
| **T** | **Plantillas** | Documentos en ~/Templates |
|
||||
| **A** | **Instalar Todo** | Ejecuta la mayoría de los módulos |
|
||||
|
||||
---
|
||||
|
||||
## 📚 Documentación Técnica de Módulos
|
||||
|
||||
### 1. Script Principal: `omarchy-setup.sh`
|
||||
|
||||
Este es el script orquestador y el punto de entrada para el usuario.
|
||||
|
||||
- **Función Principal:** Proporcionar una interfaz de menú interactiva que permite al usuario seleccionar qué módulos de configuración desea ejecutar.
|
||||
- **Características Clave:**
|
||||
- **Menú Dinámico:** Muestra una lista de todos los módulos disponibles, permitiendo al usuario elegir uno, varios ("Instalar Todo") o salir.
|
||||
- **Gestión de `sudo`:** Solicita la contraseña de `sudo` una vez y la mantiene activa en segundo plano para evitar que el usuario tenga que introducirla repetidamente.
|
||||
- **Ejecución Modular:** Llama a las funciones principales de los scripts ubicados en el directorio `modules/`.
|
||||
- **Feedback Visual:** Implementa un "spinner" (indicador de progreso) para las tareas que se ejecutan en segundo plano, mejorando la experiencia del usuario.
|
||||
- **Registro (`Logging`):** Guarda un registro detallado de toda la sesión de instalación en el directorio `logs/`, lo que facilita la depuración en caso de errores.
|
||||
- **Verificación del Sistema:** Comprueba que el script se está ejecutando en Arch Linux antes de proceder.
|
||||
|
||||
### 2. Módulos (`modules/`)
|
||||
|
||||
#### 2.1. `common.sh`
|
||||
|
||||
Este script no es un módulo ejecutable desde el menú, sino una librería de funciones compartidas por todos los demás módulos.
|
||||
|
||||
- **Función Principal:** Centralizar el código común para evitar duplicaciones y mantener la consistencia.
|
||||
- **Funciones Proporcionadas:**
|
||||
- **Logs con Colores:** Funciones como `log_info`, `log_success`, `log_warning` y `log_error` para mostrar mensajes con un formato estandarizado.
|
||||
- **Gestión de Paquetes:**
|
||||
- `check_and_install_pkg`: Verifica si un paquete ya está instalado desde los repositorios oficiales y, si no, lo instala con `pacman`.
|
||||
- `ensure_aur_helper` y `aur_install_packages`: Detectan un helper de AUR (como `yay` o `paru`), lo instalan si es necesario, y lo utilizan para instalar paquetes desde el Arch User Repository.
|
||||
- **Copias de Seguridad:** La función `backup_file` renombra un archivo existente (ej. `.zshrc`) a `.zshrc.bak_FECHA` antes de sobrescribirlo, para prevenir la pérdida de configuraciones del usuario.
|
||||
- **Verificaciones:** `command_exists` comprueba si un comando está disponible en el sistema.
|
||||
|
||||
#### 2.2. `apps.sh`
|
||||
|
||||
Es uno de los módulos más extensos y se encarga de la instalación de un conjunto base de aplicaciones y herramientas.
|
||||
|
||||
- **Función Principal:** Instalar software esencial de diversas categorías.
|
||||
- **Software Instalado:**
|
||||
- **Base del Sistema:** `git`, `curl`, `htop`, `btop`, `stow`, `gnome-keyring`, `openssh`, etc.
|
||||
- **Desarrollo:** `python`, `pip`, `nodejs`, `npm`, `arduino-cli`. También instala `nvm` (Node Version Manager) y `Homebrew` para una gestión de paquetes más flexible.
|
||||
- **Multimedia:** VLC (y sus codecs), Audacity, Inkscape, `yt-dlp` para descargar vídeos.
|
||||
- **Red:** FileZilla, Telegram, `speedtest-cli`.
|
||||
- **AUR:** Visual Studio Code, Cursor, Keyd, Fragments, Logiops, TeamViewer, Antigravity, OpenCode.
|
||||
- **Drivers para Intel Iris Xe:** Instala todos los paquetes necesarios para el correcto funcionamiento de los gráficos integrados de Intel, incluyendo `mesa`, `vulkan-intel`, y los drivers para la aceleración de vídeo por hardware (VA-API).
|
||||
- **Configuraciones Adicionales:**
|
||||
- Habilita y configura servicios del sistema como `gnome-keyring-daemon` (para gestión de contraseñas y claves SSH), `keyd` y `logiops` (para teclados y ratones avanzados), `teamviewer` y `tlp` (para la gestión avanzada de energía y optimización de la batería).
|
||||
|
||||
#### 2.3. `zsh-config.sh`
|
||||
|
||||
Este módulo personaliza la experiencia del shell del usuario.
|
||||
|
||||
- **Función Principal:** Configurar Zsh como el shell principal con una apariencia y funcionalidad mejoradas.
|
||||
- **Acciones Realizadas:**
|
||||
- **Instalación:** Instala `zsh`, `zsh-completions` y otras utilidades.
|
||||
- **Oh My Zsh:** Instala el framework "Oh My Zsh" para la gestión de plugins.
|
||||
- **Plugins:** Añade plugins populares como `zsh-autosuggestions` (sugiere comandos mientras escribes) y `zsh-syntax-highlighting` (colorea la sintaxis de los comandos).
|
||||
- **Oh My Posh:** Instala esta herramienta para crear un prompt de terminal altamente personalizable y descarga un tema predefinido (Catppuccin Frappe).
|
||||
- **.zshrc:** Reemplaza el `~/.zshrc` del usuario por una versión pre-configurada que integra todas estas herramientas y añade alias y funciones útiles, incluyendo una función `zsh_help` que muestra una lista de todos los comandos personalizados.
|
||||
- **Shell por Defecto:** Cambia el shell de inicio de sesión del usuario a Zsh.
|
||||
|
||||
#### 2.4. `docker.sh`
|
||||
|
||||
Configura un entorno de desarrollo basado en contenedores.
|
||||
|
||||
- **Función Principal:** Instalar y configurar Docker Engine y Docker Compose.
|
||||
- **Acciones Realizadas:**
|
||||
- **Instalación:** Instala los paquetes `docker` y `docker-compose`.
|
||||
- **Servicio:** Habilita e inicia el servicio (`daemon`) de Docker para que se ejecute automáticamente al iniciar el sistema.
|
||||
- **Permisos:** Agrega el usuario actual al grupo `docker`, permitiéndole ejecutar comandos de Docker sin necesidad de `sudo`.
|
||||
- **Portainer (Opcional):** Pregunta al usuario si desea instalar Portainer, una interfaz gráfica web para gestionar contenedores, imágenes y volúmenes de Docker.
|
||||
|
||||
#### 2.5. `disk-format.sh`
|
||||
|
||||
Añade soporte para sistemas de archivos comunes.
|
||||
|
||||
- **Función Principal:** Instalar las herramientas necesarias para interactuar con particiones y discos formateados en sistemas de archivos no nativos de Linux.
|
||||
- **Soporte Añadido:**
|
||||
- `ntfs-3g`: Para leer y escribir en particiones NTFS (Windows).
|
||||
- `exfatprogs`: Para particiones exFAT, comunes en tarjetas SD y unidades USB.
|
||||
- `e2fsprogs`: Herramientas para el sistema de archivos nativo de Linux (ext4).
|
||||
|
||||
#### 2.6. `hyprland-config.sh`
|
||||
|
||||
Configura un entorno de escritorio basado en el gestor de ventanas Hyprland.
|
||||
|
||||
- **Función Principal:** Instalar Hyprland y un conjunto de aplicaciones y configuraciones para tener un entorno de "tiling window manager" funcional y estético.
|
||||
- **Software Adicional:** Instala componentes como `waybar` (barra de estado), `wofi` (lanzador de aplicaciones), `swaylock` (bloqueo de pantalla), y `kitty` (emulador de terminal).
|
||||
- **Configuración:** Despliega una estructura de archivos de configuración predefinida para todos estos componentes.
|
||||
|
||||
#### 2.7. `icon_manager.sh`
|
||||
|
||||
Permite personalizar la apariencia del sistema.
|
||||
|
||||
- **Función Principal:** Instalar y aplicar diferentes temas de iconos.
|
||||
- **Temas Disponibles:** Ofrece una selección de temas populares como Papirus y Tela, instalándolos desde los repositorios de Arch o AUR.
|
||||
- **Aplicación:** Utiliza `gsettings` para cambiar el tema de iconos activo en el entorno de escritorio.
|
||||
|
||||
#### 2.8. `mouse_cursor.sh`
|
||||
|
||||
Mejora la apariencia del cursor del ratón.
|
||||
|
||||
- **Función Principal:** Instalar y configurar el tema de cursores Bibata.
|
||||
- **Acciones Realizadas:** Descarga e instala el tema, y luego lo establece como el predeterminado para las aplicaciones GTK y el servidor gráfico X11.
|
||||
|
||||
#### 2.9. `printer.sh`
|
||||
|
||||
Configura el sistema para poder utilizar impresoras.
|
||||
|
||||
- **Función Principal:** Instalar el sistema de impresión CUPS y los drivers necesarios.
|
||||
- **Acciones Realizadas:**
|
||||
- **CUPS:** Instala el servidor de impresión CUPS y sus filtros.
|
||||
- **Drivers:** Instala drivers genéricos y específicos para impresoras Epson.
|
||||
- **Servicios:** Habilita los servicios de `cups` y `avahi` (para la detección de impresoras en red).
|
||||
- **Permisos:** Añade al usuario al grupo `lp` para permitirle administrar impresoras.
|
||||
|
||||
#### 2.10. `ssh-keyring.sh`
|
||||
|
||||
Mejora la gestión de claves SSH.
|
||||
|
||||
- **Función Principal:** Sincronizar las claves SSH del usuario con el agente gcr-ssh-agent.
|
||||
- **Funcionamiento:**
|
||||
1. Habilita e inicia el servicio `gcr-ssh-agent.socket` (el componente SSH que ahora está en `gcr` en lugar de `gnome-keyring`).
|
||||
2. Configura la variable de entorno `SSH_AUTH_SOCK` para apuntar a `$XDG_RUNTIME_DIR/gcr/ssh`.
|
||||
3. Busca todas las claves SSH privadas en el directorio `~/.ssh/`.
|
||||
4. Utiliza `ssh-add` para añadir cada clave al agente. La primera vez que se use cada clave, gcr-ssh-agent pedirá la contraseña y la almacenará de forma segura. En usos posteriores, la desbloqueará automáticamente.
|
||||
- **Importancia:** Evita tener que escribir la contraseña de la clave SSH cada vez que se establece una conexión.
|
||||
- **Nota:** A partir de gnome-keyring 46.0+, la funcionalidad SSH fue movida a `gcr`, por lo que este módulo ahora usa `gcr-ssh-agent` en lugar del componente SSH de `gnome-keyring`.
|
||||
|
||||
#### 2.11. `zerotier.sh`
|
||||
|
||||
Instala una herramienta de VPN.
|
||||
|
||||
- **Función Principal:** Instalar y configurar el cliente de la VPN ZeroTier.
|
||||
- **Acciones Realizadas:**
|
||||
- **Instalación:** Instala el paquete `zerotier-one`.
|
||||
- **Servicio:** Habilita e inicia el servicio de ZeroTier.
|
||||
- **Unirse a Red (Opcional):** Pregunta al usuario si desea unirse a una red de ZeroTier y, en caso afirmativo, le pide el ID de la red.
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notas Importantes
|
||||
|
||||
- **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.
|
||||
- **Fuentes**: Es imprescindible usar una **Nerd Font** (ej: `CaskaydiaMono NF` o `ttf-firacode-nerd`) 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.
|
||||
- **Logs**: Cada ejecución genera un log en `logs/omarchy-setup-YYYY-MM-DD_HH-MM-SS.log`
|
||||
|
||||
## 🛠️ Desarrollo
|
||||
|
||||
Para añadir una funcionalidad:
|
||||
1. Crea un script en `modules/`.
|
||||
2. Regístralo en el array `MODULES` de `omarchy-setup.sh`.
|
||||
3. Actualiza la documentación técnica y `installed_software.md` con los nuevos componentes.
|
||||
|
||||
---
|
||||
|
||||
**Marco** - [GitHub](https://github.com/marcogll) | [mg_dotfiles](https://github.com/marcogll/mg_dotfiles)
|
||||
|
||||
62
install.md
62
install.md
@@ -1,62 +0,0 @@
|
||||
# 🌀 Guía de Instalación - Omarchy Setup
|
||||
|
||||
Este script modular automatiza la configuración de Arch Linux, vinculando tus **dotfiles personales** e instalando aplicaciones esenciales.
|
||||
|
||||
## 🚀 Requisitos Previos
|
||||
|
||||
1. **Sistema Operativo:** Arch Linux (instalación base).
|
||||
2. **Repositorio de Dotfiles:** Debes tener clonado tu repositorio personal en `~/Work/code/mg_dotfiles`.
|
||||
3. **Git:** Para clonar los repositorios (`sudo pacman -S git`).
|
||||
|
||||
## 📥 Instalación
|
||||
|
||||
El proceso recomendado consta de dos pasos: preparar tus dotfiles y ejecutar el setup.
|
||||
|
||||
### 1. Clonar Dotfiles (Obligatorio para Zsh/Hyprland)
|
||||
|
||||
El script buscará la configuración en esta ruta específica:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/Work/code
|
||||
git clone https://github.com/marcogll/mg_dotfiles.git ~/Work/code/mg_dotfiles
|
||||
```
|
||||
|
||||
### 2. Ejecutar Omarchy Setup
|
||||
|
||||
```bash
|
||||
git clone https://github.com/marcogll/omarchy_setup.git
|
||||
cd omarchy_setup
|
||||
chmod +x omarchy-setup.sh
|
||||
./omarchy-setup.sh
|
||||
```
|
||||
|
||||
## 🛠️ Uso del Script
|
||||
|
||||
Al ejecutar `./omarchy-setup.sh`, verás un menú interactivo:
|
||||
|
||||
1. **Instalar Aplicaciones:** Herramientas base, desarrollo (Node, Python), multimedia y drivers Intel.
|
||||
2. **Configurar Zsh:** Enlaza `.zshrc` desde `mg_dotfiles` e instala Oh My Zsh/Posh.
|
||||
3. **Docker:** Instala Docker, Docker Compose y Portainer.
|
||||
4. **ZeroTier:** Configura la VPN P2P ZeroTier.
|
||||
5. **Impresoras:** Configura CUPS y drivers (especialmente Epson).
|
||||
6. **Cursor:** Instala el tema de cursor Bibata Modern Ice.
|
||||
7. **Iconos:** Gestor de temas de iconos (Tela, Papirus, Candy).
|
||||
* **K:** Sincronizar claves SSH con GNOME Keyring.
|
||||
* **F:** Soporte para formatos de disco (NTFS, exFAT, etc.).
|
||||
* **H:** Configuración de Hyprland (enlaza desde `mg_dotfiles`).
|
||||
* **T:** Plantillas de documentos.
|
||||
|
||||
* **A) Instalar Todo:** Ejecuta la mayoría de los módulos automáticamente.
|
||||
|
||||
## 📝 Notas Importantes
|
||||
|
||||
* **Enlace Simbólico:** Las configuraciones de **Zsh** y **Hyprland** se crean como enlaces simbólicos a `mg_dotfiles`. Cualquier cambio que hagas en tus archivos originales se reflejará inmediatamente.
|
||||
* **Fuentes:** Asegúrate de instalar una **Nerd Font** (ej. `ttf-firacode-nerd`) para que los iconos se vean correctamente.
|
||||
* **Reiniciar:** Cierra sesión después de instalar para aplicar cambios de grupos (Docker) y variables de entorno.
|
||||
|
||||
## 📂 Estructura
|
||||
|
||||
* `omarchy-setup.sh`: Script principal.
|
||||
* `modules/`: Scripts individuales para cada tarea.
|
||||
* `doc_templates/`: Plantillas de documentos.
|
||||
* `themes/`: Temas de apoyo (ej. configuraciones por defecto de Oh My Posh).
|
||||
207
installed_software.md
Normal file
207
installed_software.md
Normal file
@@ -0,0 +1,207 @@
|
||||
# 📦 Lista de Software Instalado - Omarchy Setup
|
||||
|
||||
Este documento lista todos los componentes que se instalan al ejecutar el script `omarchy-setup.sh` en orden de ejecución. Sirve como referencia para el equipo para entender qué software se configura en un nuevo equipo y para mantener actualizada la lista de aplicaciones necesarias.
|
||||
|
||||
> **Nota**: Para ver la documentación técnica detallada de cada módulo, consulta el archivo `Readme.md`.
|
||||
|
||||
---
|
||||
|
||||
## 📦 Opción 1: Instalar Aplicaciones
|
||||
|
||||
### Paquetes instalados desde Pacman:
|
||||
- `base-devel`: Herramientas de desarrollo base
|
||||
- `git`: Control de versiones
|
||||
- `curl` y `wget`: Descarga de archivos
|
||||
- `vim`: Editor de texto
|
||||
- `neovim`: Editor de texto moderno
|
||||
- `tree`: Visualizador de directorios en árbol
|
||||
- `htop`: Monitor de procesos
|
||||
- `btop`: Monitor de procesos mejorado
|
||||
- `ripgrep` (rg): Buscador de archivos rápido
|
||||
- `fd`: Buscador de archivos alternativo
|
||||
- `bat`: Clon de cat con mejoras
|
||||
- `eza`: Alternativa moderna a ls
|
||||
- `fzf`: Buscador interactivo
|
||||
- `tmux`: Terminal multiplexor
|
||||
- `jq`: Procesador JSON
|
||||
- `unzip`: Descompresor ZIP
|
||||
- `p7zip`: Descompresor 7z
|
||||
- `zip`: Compresor ZIP
|
||||
- `xdg-utils`: Herramientas de integración con el escritorio
|
||||
- `bluez` y `bluez-utils`: Soporte Bluetooth
|
||||
- `pipewire` y `wireplumber`: Audio y video
|
||||
- `noto-fonts`: Fuente base
|
||||
- `noto-fonts-cjk`: Fuentes CJK (Chino, Japonés, Coreano)
|
||||
- `ttf-firacode-nerd`: Fuente con iconos Nerd
|
||||
- `intel-media-driver`: Drivers para GPU Intel
|
||||
|
||||
### Paquetes instalados desde AUR:
|
||||
- `google-chrome`: Navegador web
|
||||
- `visual-studio-code-bin`: Editor de código
|
||||
- `code-marketplace`: Extensión para VS Code marketplace
|
||||
- `v3dv-git`: Drivers para Raspberry Pi
|
||||
- `xdg-desktop-portal-hyprland`: Portal para Hyprland
|
||||
|
||||
### Paquetes instalados desde Flatpak:
|
||||
- VLC: Reproductor multimedia
|
||||
- LibreOffice: Suite ofimática
|
||||
|
||||
---
|
||||
|
||||
## 🐚 Opción 2: Configurar Zsh
|
||||
|
||||
### Pasos realizados:
|
||||
1. Instala `zsh` desde pacman
|
||||
2. Cambia el shell del usuario a Zsh
|
||||
3. Clona `oh-my-zsh` en `~/.oh-my-zsh`
|
||||
4. Instala `oh-my-posh` desde binario
|
||||
5. Descarga tema de Oh My Posh (CaskaydiaCove)
|
||||
6. Crea enlace simbólico de `~/.zshrc` desde `mg_dotfiles`
|
||||
7. Instala plugins de Zsh: `zsh-autosuggestions`, `zsh-syntax-highlighting`, `zsh-completions`
|
||||
|
||||
---
|
||||
|
||||
## 🐳 Opción 3: Docker
|
||||
|
||||
### Pasos realizados:
|
||||
1. Instala `docker` y `docker-compose`
|
||||
2. Instala Portainer como contenedor Docker
|
||||
3. Habilita e inicia el servicio Docker
|
||||
4. Configura permisos para el usuario actual
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Opción 4: ZeroTier
|
||||
|
||||
### Pasos realizados:
|
||||
1. Agrega la clave GPG de ZeroTier
|
||||
2. Agrega repositorio de ZeroTier
|
||||
3. Actualiza repositorios
|
||||
4. Instala `zerotier-one`
|
||||
5. Habilita e inicia el servicio ZeroTier
|
||||
|
||||
---
|
||||
|
||||
## 🖨️ Opción 5: Impresoras
|
||||
|
||||
### Pasos realizados:
|
||||
1. Instala `cups` (sistema de impresión)
|
||||
2. Instala `system-config-printer` (configuración gráfica)
|
||||
3. Instala `hplip` (drivers HP)
|
||||
4. Instala `epson-inkjet-printer-201207w` (drivers Epson)
|
||||
5. Habilita e inicia el servicio `org.cups.cupsd`
|
||||
6. Inicia el servicio `avahi-daemon` (para descubrimiento de impresoras en red)
|
||||
7. Añade el usuario al grupo `sys` y `lp`
|
||||
|
||||
---
|
||||
|
||||
## 🖱️ Opción 6: Cursor
|
||||
|
||||
### Pasos realizados:
|
||||
1. Descarga tema de cursor Bibata Modern Ice desde GitHub
|
||||
2. Descomprime en `/usr/share/icons`
|
||||
3. Ejecuta `update-alternatives` para configurar el cursor por defecto
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Opción 7: Iconos (Gestor Interactivo)
|
||||
|
||||
### Pasos realizados:
|
||||
1. Presenta menú para seleccionar tema de iconos:
|
||||
- Tela (Opciones: blue, brown, cyan, dark, grey, orange, pink, purple, red, teal, violet, yellow)
|
||||
- Papirus (Opciones: dark, light, red, violet, adwaita)
|
||||
- Candy (Opciones: dark, light, blue, orange, purple, teal, yellow)
|
||||
2. Descarga el tema seleccionado desde GitHub
|
||||
3. Instala el tema en `~/.local/share/icons`
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Opción 7D: Iconos por Defecto
|
||||
|
||||
### Pasos realizados:
|
||||
1. Descarga e instala tema Tela Nord por defecto
|
||||
2. No requiere interacción del usuario
|
||||
|
||||
---
|
||||
|
||||
## 🌙 Opción S: Activar Suspensión
|
||||
|
||||
### Pasos realizados:
|
||||
1. Verifica que el comando `omarchy-toggle-suspend` existe
|
||||
2. Ejecuta `omarchy-toggle-suspend` para crear el archivo de estado `~/.local/state/omarchy/toggles/suspend-on`
|
||||
3. Notifica que la opción "Suspend" ahora está disponible en el menú System (Super+Esc)
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Opción K: SSH Keyring
|
||||
|
||||
### Pasos realizados:
|
||||
1. Verifica que `ssh-add` está disponible (openssh)
|
||||
2. Habilita e inicia el servicio `gcr-ssh-agent.socket`
|
||||
3. Configura `SSH_AUTH_SOCK` en `$XDG_RUNTIME_DIR/gcr/ssh`
|
||||
4. Busca todas las claves SSH privadas en `~/.ssh/`
|
||||
5. Añade cada clave al agente usando `ssh-add`
|
||||
6. La primera vez, gcr-ssh-agent pide la passphrase y la guarda en el keyring
|
||||
7. En futuras conexiones, desbloquea automáticamente la clave
|
||||
|
||||
---
|
||||
|
||||
## 💾 Opción F: Formatos de Disco
|
||||
|
||||
### Pasos realizados:
|
||||
1. Instala `dosfstools`: Soporte para FAT32
|
||||
2. Instala `exfatprogs`: Soporte para exFAT
|
||||
3. Instala `ntfs-3g`: Soporte para NTFS
|
||||
4. Instala `e2fsprogs`: Soporte para ext4 (ya incluido en Arch base)
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Opción H: Hyprland
|
||||
|
||||
### Pasos realizados:
|
||||
1. Verifica que existe el directorio `mg_dotfiles/omarchy/hypr`
|
||||
2. Crea copia de seguridad si ya existe configuración en `~/.config/hypr`
|
||||
3. Crea enlace simbólico desde `mg_dotfiles/omarchy/hypr` a `~/.config/hypr`
|
||||
4. Instala tema de iconos Tela Nord por defecto
|
||||
5. Activa opción de suspensión en el menú System (ejecuta `omarchy-toggle-suspend`)
|
||||
|
||||
---
|
||||
|
||||
## 📄 Opción T: Plantillas de Documentos
|
||||
|
||||
### Pasos realizados:
|
||||
1. Crea directorio `~/Templates` si no existe
|
||||
2. Copia plantillas de documentos desde `doc_templates/`:
|
||||
- Plantillas de archivos bash
|
||||
- Plantillas de archivos markdown
|
||||
- Plantillas para otros formatos disponibles
|
||||
|
||||
---
|
||||
|
||||
## ✅ Opción A: Instalar Todo
|
||||
|
||||
### Ejecuta los siguientes módulos:
|
||||
1. Instalar Aplicaciones
|
||||
2. Configurar Zsh
|
||||
3. Docker
|
||||
4. ZeroTier
|
||||
5. Impresoras
|
||||
6. Cursor
|
||||
7D. Iconos por Defecto (Tela Nord)
|
||||
S. Suspensión
|
||||
K. SSH Keyring
|
||||
F. Formatos de Disco
|
||||
H. Hyprland
|
||||
T. Plantillas de Documentos
|
||||
|
||||
**Nota:** No ejecuta la opción 7 (Gestor Interactivo de Iconos) porque requiere selección manual.
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notas para el Equipo
|
||||
|
||||
- **Actualización de este documento**: Cuando se agreguen nuevos módulos o software a los scripts existentes, actualizar este archivo para mantener la lista sincronizada.
|
||||
- **Dotfiles**: Las configuraciones de Zsh y Hyprland se crean como enlaces simbólicos a `mg_dotfiles`. Cualquier cambio en los archivos originales se refleja inmediatamente.
|
||||
- **Fuentes**: Asegurarse de instalar una **Nerd Font** para que los iconos se vean correctamente.
|
||||
- **Reiniciar**: Cerrar sesión después de instalar para aplicar cambios de grupos (Docker) y variables de entorno.
|
||||
- **Logs**: Cada ejecución genera un log en `logs/omarchy-setup-YYYY-MM-DD_HH-MM-SS.log`
|
||||
1
mg_dotfiles
Submodule
1
mg_dotfiles
Submodule
Submodule mg_dotfiles added at 3b0a88b29e
@@ -51,6 +51,18 @@ run_module_main() {
|
||||
# Llamamos a la función específica de icon_manager.sh
|
||||
set_default_icon_theme
|
||||
|
||||
# --- 3. Activar opción de suspensión en el menú System ---
|
||||
log_info "Activando opción de suspensión en el menú System..."
|
||||
if command -v omarchy-toggle-suspend &>/dev/null; then
|
||||
if omarchy-toggle-suspend; then
|
||||
log_success "Opción de suspensión activada en el menú System."
|
||||
else
|
||||
log_warning "No se pudo activar la opción de suspensión, pero la configuración de Hyprland se instaló correctamente."
|
||||
fi
|
||||
else
|
||||
log_warning "Comando omarchy-toggle-suspend no encontrado. Omitiendo activación de suspensión."
|
||||
fi
|
||||
|
||||
log_success "Configuración de Hyprland instalada correctamente."
|
||||
log_warning "Por favor, cierra sesión y vuelve a iniciarla para aplicar los cambios."
|
||||
return 0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
# ===============================================================
|
||||
# ssh-keyring.sh - Sincronizar claves SSH con GNOME Keyring
|
||||
# ssh-keyring.sh - Sincronizar claves SSH con gcr-ssh-agent
|
||||
# ===============================================================
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
@@ -20,12 +20,7 @@ _derive_fingerprint() {
|
||||
}
|
||||
|
||||
sync_ssh_keyring() {
|
||||
log_step "Sincronizar claves SSH con GNOME Keyring"
|
||||
|
||||
if ! command_exists gnome-keyring-daemon; then
|
||||
log_error "gnome-keyring-daemon no está instalado. Ejecuta primero el módulo de aplicaciones."
|
||||
return 1
|
||||
fi
|
||||
log_step "Sincronizar claves SSH con gcr-ssh-agent"
|
||||
|
||||
if ! command_exists ssh-add; then
|
||||
log_error "ssh-add no está disponible (openssh). Instala el módulo de aplicaciones antes."
|
||||
@@ -34,32 +29,40 @@ sync_ssh_keyring() {
|
||||
|
||||
mkdir -p "${HOME}/.config/environment.d"
|
||||
cat <<'EOF' > "${HOME}/.config/environment.d/10-gnome-keyring.conf"
|
||||
SSH_AUTH_SOCK=/run/user/$UID/keyring/ssh
|
||||
SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gcr/ssh
|
||||
EOF
|
||||
|
||||
# No intentamos iniciar el daemon. Después de un reinicio de sesión, ya debería estar activo.
|
||||
log_info "Buscando el socket del agente de GNOME Keyring..."
|
||||
log_info "Verificando servicio gcr-ssh-agent.socket..."
|
||||
|
||||
# Obtenemos el UID del usuario dueño del directorio HOME. Este método es más fiable.
|
||||
local target_uid
|
||||
target_uid=$(stat -c '%u' "$HOME")
|
||||
|
||||
local keyring_socket="/run/user/${target_uid}/keyring/ssh"
|
||||
|
||||
# Obtenemos el UID del usuario dueño del directorio HOME. Este método es más fiable.
|
||||
local target_uid
|
||||
target_uid=$(stat -c '%u' "$HOME")
|
||||
|
||||
local keyring_socket="/run/user/${target_uid}/keyring/ssh"
|
||||
|
||||
if [[ ! -S "$keyring_socket" ]]; then
|
||||
log_error "No se encontró el socket de GNOME Keyring en la ruta esperada: ${keyring_socket}"
|
||||
log_warning "Esto usualmente significa que el servicio no se ha iniciado correctamente con tu sesión de escritorio."
|
||||
log_info "Asegúrate de haber cerrado y vuelto a abrir tu sesión después de instalar el módulo de aplicaciones."
|
||||
return 1
|
||||
if ! systemctl --user is-enabled gcr-ssh-agent.socket &>/dev/null; then
|
||||
log_info "Habilitando gcr-ssh-agent.socket..."
|
||||
systemctl --user enable gcr-ssh-agent.socket
|
||||
fi
|
||||
|
||||
log_success "Socket de GNOME Keyring encontrado en: ${keyring_socket}"
|
||||
if ! systemctl --user is-active gcr-ssh-agent.socket &>/dev/null; then
|
||||
log_info "Iniciando gcr-ssh-agent.socket..."
|
||||
systemctl --user start gcr-ssh-agent.socket
|
||||
fi
|
||||
|
||||
log_info "Buscando el socket del agente GCR SSH..."
|
||||
|
||||
local target_uid
|
||||
target_uid=$(stat -c '%u' "$HOME")
|
||||
|
||||
local keyring_socket="/run/user/${target_uid}/gcr/ssh"
|
||||
|
||||
if [[ ! -S "$keyring_socket" ]]; then
|
||||
log_error "No se encontró el socket de gcr-ssh-agent en la ruta esperada: ${keyring_socket}"
|
||||
log_warning "Intentando activar el socket solicitando el servicio..."
|
||||
if SSH_AUTH_SOCK="$keyring_socket" ssh-add -l &>/dev/null; then
|
||||
log_success "Socket de gcr-ssh-agent activado correctamente."
|
||||
else
|
||||
log_error "No se pudo activar el socket. Revisa la configuración de gcr-ssh-agent."
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
log_success "Socket de gcr-ssh-agent encontrado en: ${keyring_socket}"
|
||||
export SSH_AUTH_SOCK="$keyring_socket"
|
||||
|
||||
local ssh_dir="${HOME}/.ssh"
|
||||
@@ -120,7 +123,7 @@ EOF
|
||||
done
|
||||
|
||||
if [[ $added -gt 0 ]]; then
|
||||
log_success "Claves SSH sincronizadas con GNOME Keyring."
|
||||
log_success "Claves SSH sincronizadas con gcr-ssh-agent."
|
||||
else
|
||||
log_info "No se añadieron nuevas claves SSH."
|
||||
fi
|
||||
|
||||
42
modules/suspend.sh
Executable file
42
modules/suspend.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
# ===============================================================
|
||||
# suspend.sh - Activa la opción de suspensión en el menú System
|
||||
# ===============================================================
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "${SCRIPT_DIR}/common.sh"
|
||||
|
||||
run_module_main() {
|
||||
log_step "Activación de Opción de Suspensión"
|
||||
|
||||
# Verificar que el comando existe
|
||||
if ! command -v omarchy-toggle-suspend &>/dev/null; then
|
||||
log_error "El comando 'omarchy-toggle-suspend' no está disponible."
|
||||
log_info "Este comando es parte de Omarchy y debe estar instalado."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Verificar estado actual del archivo de toggle
|
||||
local suspend_file="$HOME/.local/state/omarchy/toggles/suspend-on"
|
||||
if [[ -f "$suspend_file" ]]; then
|
||||
log_info "La opción de suspensión ya está activa en el menú System."
|
||||
log_info "Para desactivarla, puedes ejecutar: omarchy-toggle-suspend"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Activar suspensión
|
||||
log_info "Activando opción de suspensión en el menú System..."
|
||||
if omarchy-toggle-suspend; then
|
||||
log_success "Opción de suspensión activada correctamente."
|
||||
log_info "Ahora puedes usar Super+Esc para acceder al menú System y seleccionar Suspend."
|
||||
return 0
|
||||
else
|
||||
log_error "Error al activar la opción de suspensión."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Ejecutar si se llama directamente
|
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||
run_module_main "$@"
|
||||
fi
|
||||
@@ -132,6 +132,7 @@ MODULES=(
|
||||
["6"]="mouse_cursor;install_mouse_cursor;🖱️ Instalar Tema de Cursor (Bibata);bg"
|
||||
["7"]="icon_manager;run_module_main;🎨 Gestionar Temas de Iconos (Papirus, Tela, etc.);fg"
|
||||
["7D"]="icon_manager;set_default_icon_theme;🎨 Instalar Tema de Iconos por Defecto;bg"
|
||||
["S"]="suspend;run_module_main;🌙 Activar Suspensión en Menú System;bg"
|
||||
["K"]="ssh-keyring;sync_ssh_keyring;🔐 Sincronizar claves SSH con GNOME Keyring;fg"
|
||||
["F"]="disk-format;run_module_main;💾 Habilitar Formatos FAT/exFAT/NTFS/ext4;bg"
|
||||
["H"]="hyprland-config;run_module_main;🎨 Instalar Configuración de Hyprland;bg"
|
||||
|
||||
Reference in New Issue
Block a user