From 1e9949e887282ebe22a2366fabe844b977df70ec Mon Sep 17 00:00:00 2001 From: Marco Gallegos Date: Fri, 9 Jan 2026 09:49:32 -0600 Subject: [PATCH] refactor: externalize dotfiles to mg_dotfiles and cleanup local configs --- .zshrc | 536 ------------------ .zshrc.local.example | 32 -- hypr_config/autostart.conf | 13 - hypr_config/bindings.conf | 113 ---- hypr_config/envs.conf | 8 - hypr_config/hypridle.conf | 22 - hypr_config/hyprland.conf | 37 -- hypr_config/hyprlock.conf | 39 -- hypr_config/hyprsunset.conf | 12 - hypr_config/input.conf | 24 - hypr_config/looknfeel.conf | 24 - hypr_config/monitors.conf | 20 - hypr_config/shaders/amber.glsl | 1 - hypr_config/shaders/arctic-blue.glsl | 1 - hypr_config/shaders/autumn-leaves.glsl | 1 - hypr_config/shaders/blood-orange.glsl | 1 - hypr_config/shaders/blue-light-reduce.glsl | 1 - hypr_config/shaders/brightness-boost.glsl | 1 - hypr_config/shaders/cel-shade.glsl | 1 - hypr_config/shaders/cherry-blossom.glsl | 1 - hypr_config/shaders/chromatic-shift.glsl | 1 - .../shaders/color-blind-deuteranopia.glsl | 1 - hypr_config/shaders/color-invert.glsl | 1 - hypr_config/shaders/color-pop.glsl | 1 - hypr_config/shaders/comic-book.glsl | 1 - hypr_config/shaders/cool-tone.glsl | 1 - hypr_config/shaders/crt-breakdown.glsl | 1 - hypr_config/shaders/crt-glitch.glsl | 1 - hypr_config/shaders/crunch-mode.glsl | 1 - hypr_config/shaders/cyberpunk-neon.glsl | 1 - hypr_config/shaders/cyberpunk.glsl | 1 - hypr_config/shaders/depth-of-field.glsl | 1 - hypr_config/shaders/desaturate.glsl | 1 - hypr_config/shaders/desert-sand.glsl | 1 - hypr_config/shaders/dream.glsl | 1 - hypr_config/shaders/duotone.glsl | 1 - hypr_config/shaders/film-grain.glsl | 1 - hypr_config/shaders/forest-green.glsl | 1 - hypr_config/shaders/frost.glsl | 1 - hypr_config/shaders/gameboy.glsl | 1 - hypr_config/shaders/genesis.glsl | 1 - hypr_config/shaders/glitch-wave.glsl | 1 - hypr_config/shaders/golden-hour.glsl | 1 - hypr_config/shaders/grayscale.glsl | 1 - hypr_config/shaders/high-contrast.glsl | 1 - hypr_config/shaders/holo-interface.glsl | 1 - hypr_config/shaders/hue-shift-180.glsl | 1 - hypr_config/shaders/hue-shift-90.glsl | 1 - hypr_config/shaders/infrared.glsl | 1 - hypr_config/shaders/liquid.glsl | 1 - hypr_config/shaders/low-light.glsl | 1 - hypr_config/shaders/midnight-purple.glsl | 1 - hypr_config/shaders/monochrome-amber.glsl | 1 - hypr_config/shaders/monochrome-blue.glsl | 1 - hypr_config/shaders/monochrome-cyan.glsl | 1 - hypr_config/shaders/monochrome-green.glsl | 1 - hypr_config/shaders/monochrome-lavender.glsl | 1 - hypr_config/shaders/monochrome-mint.glsl | 1 - hypr_config/shaders/monochrome-orange.glsl | 1 - hypr_config/shaders/monochrome-peach.glsl | 1 - hypr_config/shaders/monochrome-pink.glsl | 1 - hypr_config/shaders/monochrome-purple.glsl | 1 - hypr_config/shaders/monochrome-red.glsl | 1 - hypr_config/shaders/monochrome-teal.glsl | 1 - hypr_config/shaders/monochrome-yellow.glsl | 1 - hypr_config/shaders/negative.glsl | 1 - hypr_config/shaders/night-vision.glsl | 1 - hypr_config/shaders/noir.glsl | 1 - hypr_config/shaders/ocean.glsl | 1 - hypr_config/shaders/oil-paint.glsl | 1 - hypr_config/shaders/old-crt.glsl | 1 - hypr_config/shaders/posterize.glsl | 1 - hypr_config/shaders/power-crunch.glsl | 1 - hypr_config/shaders/protanopia.glsl | 1 - hypr_config/shaders/purple-haze.glsl | 1 - hypr_config/shaders/retro-glow.glsl | 1 - hypr_config/shaders/retro-vhs.glsl | 1 - hypr_config/shaders/saturate.glsl | 1 - hypr_config/shaders/scanlines.glsl | 1 - hypr_config/shaders/sepia.glsl | 1 - hypr_config/shaders/soft-contrast.glsl | 1 - hypr_config/shaders/solarize.glsl | 1 - hypr_config/shaders/sunset.glsl | 1 - hypr_config/shaders/system-meltdown.glsl | 1 - hypr_config/shaders/technicolor.glsl | 1 - hypr_config/shaders/thermal.glsl | 1 - hypr_config/shaders/tritanopia.glsl | 1 - hypr_config/shaders/tritone.glsl | 1 - hypr_config/shaders/underwater.glsl | 1 - hypr_config/shaders/vaporwave.glsl | 1 - hypr_config/shaders/vibe-00s.glsl | 1 - hypr_config/shaders/vibe-40s.glsl | 1 - hypr_config/shaders/vibe-50s.glsl | 1 - hypr_config/shaders/vibe-60s.glsl | 1 - hypr_config/shaders/vibe-70s.glsl | 1 - hypr_config/shaders/vibe-80s.glsl | 1 - hypr_config/shaders/vibe-90s.glsl | 1 - hypr_config/shaders/vintage-film.glsl | 1 - hypr_config/shaders/vintage.glsl | 1 - hypr_config/shaders/warm-tone.glsl | 1 - hypr_config/shaders/xray.glsl | 1 - install.md | 53 ++ modules/common.sh | 3 + modules/hyprland-config.sh | 24 +- modules/zsh-config.sh | 63 +- 105 files changed, 99 insertions(+), 1013 deletions(-) delete mode 100644 .zshrc delete mode 100644 .zshrc.local.example delete mode 100644 hypr_config/autostart.conf delete mode 100644 hypr_config/bindings.conf delete mode 100644 hypr_config/envs.conf delete mode 100644 hypr_config/hypridle.conf delete mode 100644 hypr_config/hyprland.conf delete mode 100644 hypr_config/hyprlock.conf delete mode 100644 hypr_config/hyprsunset.conf delete mode 100644 hypr_config/input.conf delete mode 100644 hypr_config/looknfeel.conf delete mode 100644 hypr_config/monitors.conf delete mode 120000 hypr_config/shaders/amber.glsl delete mode 120000 hypr_config/shaders/arctic-blue.glsl delete mode 120000 hypr_config/shaders/autumn-leaves.glsl delete mode 120000 hypr_config/shaders/blood-orange.glsl delete mode 120000 hypr_config/shaders/blue-light-reduce.glsl delete mode 120000 hypr_config/shaders/brightness-boost.glsl delete mode 120000 hypr_config/shaders/cel-shade.glsl delete mode 120000 hypr_config/shaders/cherry-blossom.glsl delete mode 120000 hypr_config/shaders/chromatic-shift.glsl delete mode 120000 hypr_config/shaders/color-blind-deuteranopia.glsl delete mode 120000 hypr_config/shaders/color-invert.glsl delete mode 120000 hypr_config/shaders/color-pop.glsl delete mode 120000 hypr_config/shaders/comic-book.glsl delete mode 120000 hypr_config/shaders/cool-tone.glsl delete mode 120000 hypr_config/shaders/crt-breakdown.glsl delete mode 120000 hypr_config/shaders/crt-glitch.glsl delete mode 120000 hypr_config/shaders/crunch-mode.glsl delete mode 120000 hypr_config/shaders/cyberpunk-neon.glsl delete mode 120000 hypr_config/shaders/cyberpunk.glsl delete mode 120000 hypr_config/shaders/depth-of-field.glsl delete mode 120000 hypr_config/shaders/desaturate.glsl delete mode 120000 hypr_config/shaders/desert-sand.glsl delete mode 120000 hypr_config/shaders/dream.glsl delete mode 120000 hypr_config/shaders/duotone.glsl delete mode 120000 hypr_config/shaders/film-grain.glsl delete mode 120000 hypr_config/shaders/forest-green.glsl delete mode 120000 hypr_config/shaders/frost.glsl delete mode 120000 hypr_config/shaders/gameboy.glsl delete mode 120000 hypr_config/shaders/genesis.glsl delete mode 120000 hypr_config/shaders/glitch-wave.glsl delete mode 120000 hypr_config/shaders/golden-hour.glsl delete mode 120000 hypr_config/shaders/grayscale.glsl delete mode 120000 hypr_config/shaders/high-contrast.glsl delete mode 120000 hypr_config/shaders/holo-interface.glsl delete mode 120000 hypr_config/shaders/hue-shift-180.glsl delete mode 120000 hypr_config/shaders/hue-shift-90.glsl delete mode 120000 hypr_config/shaders/infrared.glsl delete mode 120000 hypr_config/shaders/liquid.glsl delete mode 120000 hypr_config/shaders/low-light.glsl delete mode 120000 hypr_config/shaders/midnight-purple.glsl delete mode 120000 hypr_config/shaders/monochrome-amber.glsl delete mode 120000 hypr_config/shaders/monochrome-blue.glsl delete mode 120000 hypr_config/shaders/monochrome-cyan.glsl delete mode 120000 hypr_config/shaders/monochrome-green.glsl delete mode 120000 hypr_config/shaders/monochrome-lavender.glsl delete mode 120000 hypr_config/shaders/monochrome-mint.glsl delete mode 120000 hypr_config/shaders/monochrome-orange.glsl delete mode 120000 hypr_config/shaders/monochrome-peach.glsl delete mode 120000 hypr_config/shaders/monochrome-pink.glsl delete mode 120000 hypr_config/shaders/monochrome-purple.glsl delete mode 120000 hypr_config/shaders/monochrome-red.glsl delete mode 120000 hypr_config/shaders/monochrome-teal.glsl delete mode 120000 hypr_config/shaders/monochrome-yellow.glsl delete mode 120000 hypr_config/shaders/negative.glsl delete mode 120000 hypr_config/shaders/night-vision.glsl delete mode 120000 hypr_config/shaders/noir.glsl delete mode 120000 hypr_config/shaders/ocean.glsl delete mode 120000 hypr_config/shaders/oil-paint.glsl delete mode 120000 hypr_config/shaders/old-crt.glsl delete mode 120000 hypr_config/shaders/posterize.glsl delete mode 120000 hypr_config/shaders/power-crunch.glsl delete mode 120000 hypr_config/shaders/protanopia.glsl delete mode 120000 hypr_config/shaders/purple-haze.glsl delete mode 120000 hypr_config/shaders/retro-glow.glsl delete mode 120000 hypr_config/shaders/retro-vhs.glsl delete mode 120000 hypr_config/shaders/saturate.glsl delete mode 120000 hypr_config/shaders/scanlines.glsl delete mode 120000 hypr_config/shaders/sepia.glsl delete mode 120000 hypr_config/shaders/soft-contrast.glsl delete mode 120000 hypr_config/shaders/solarize.glsl delete mode 120000 hypr_config/shaders/sunset.glsl delete mode 120000 hypr_config/shaders/system-meltdown.glsl delete mode 120000 hypr_config/shaders/technicolor.glsl delete mode 120000 hypr_config/shaders/thermal.glsl delete mode 120000 hypr_config/shaders/tritanopia.glsl delete mode 120000 hypr_config/shaders/tritone.glsl delete mode 120000 hypr_config/shaders/underwater.glsl delete mode 120000 hypr_config/shaders/vaporwave.glsl delete mode 120000 hypr_config/shaders/vibe-00s.glsl delete mode 120000 hypr_config/shaders/vibe-40s.glsl delete mode 120000 hypr_config/shaders/vibe-50s.glsl delete mode 120000 hypr_config/shaders/vibe-60s.glsl delete mode 120000 hypr_config/shaders/vibe-70s.glsl delete mode 120000 hypr_config/shaders/vibe-80s.glsl delete mode 120000 hypr_config/shaders/vibe-90s.glsl delete mode 120000 hypr_config/shaders/vintage-film.glsl delete mode 120000 hypr_config/shaders/vintage.glsl delete mode 120000 hypr_config/shaders/warm-tone.glsl delete mode 120000 hypr_config/shaders/xray.glsl create mode 100644 install.md diff --git a/.zshrc b/.zshrc deleted file mode 100644 index 5774ca4..0000000 --- a/.zshrc +++ /dev/null @@ -1,536 +0,0 @@ -# ============================================================================= -# CONFIGURACIÓN ZSH - Marco Gallegos v3.0 -# ============================================================================= -# -# Este archivo configura el entorno de la terminal Zsh. Incluye la -# configuración del PATH, la carga de Oh My Zsh, la inicialización de -# Oh My Posh, y una colección de alias y funciones para mejorar la -# productividad. -# -# ============================================================================= - -# --- PATH -------------------------------------------------------------------- -# Define las rutas donde el sistema buscará los programas ejecutables. -# `typeset -U` se asegura de que no haya rutas duplicadas. -typeset -U PATH path -path=( - $HOME/.local/bin # Scripts y binarios instalados por el usuario. - $HOME/bin # Directorio personal de binarios. - $HOME/.npm-global/bin # Paquetes de Node.js instalados globalmente. - $HOME/AppImages # Aplicaciones en formato AppImage. - $HOME/go/bin # Binarios de Go. - $path # Rutas del sistema existentes. -) - -# --- Oh My Zsh --------------------------------------------------------------- -# Configuración y carga del framework Oh My Zsh. -export ZSH="$HOME/.oh-my-zsh" -# El tema se deja vacío porque Oh My Posh se encargará de gestionar el prompt. -ZSH_THEME="" - -# Lista de plugins de Oh My Zsh a cargar. -plugins=( - git sudo history colorize - docker docker-compose - npm node python pip golang - copypath copyfile -) - -# Desactiva la comprobación de seguridad de Oh My Zsh para directorios -# con permisos de escritura para otros usuarios, lo que puede ser molesto. -export ZSH_DISABLE_COMPFIX=true -# Configuración de la caché de autocompletado para mejorar el rendimiento. -zstyle ':completion::complete:*' use-cache on -zstyle ':completion::complete:*' cache-path "$HOME/.zcompcache" -# Hace que el autocompletado no distinga entre mayúsculas y minúsculas. -zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' -# Habilita colores en el menú de autocompletado. -zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" -zstyle ':completion:*' menu select - -# Carga Oh My Zsh. -[ -r "$ZSH/oh-my-zsh.sh" ] && source "$ZSH/oh-my-zsh.sh" - -# Carga los plugins de resaltado de sintaxis y autosugerencias. -# Intenta cargar la versión instalada con Oh My Zsh y, si no la encuentra, -# busca la versión instalada en el sistema. -[ -r "${ZSH_CUSTOM:-$ZSH/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" ] && \ - source "${ZSH_CUSTOM:-$ZSH/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" -if [ ! -r "${ZSH_CUSTOM:-$ZSH/custom}/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" ] && \ - [ -r "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" ]; then - source "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" -fi - -[ -r "${ZSH_CUSTOM:-$ZSH/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" ] && \ - source "${ZSH_CUSTOM:-$ZSH/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" -if [ ! -r "${ZSH_CUSTOM:-$ZSH/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" ] && \ - [ -r "/usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" ]; then - source "/usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" -fi - -# --- Oh My Posh -------------------------------------------------------------- -# Inicializa Oh My Posh para personalizar el prompt. -if command -v oh-my-posh >/dev/null 2>&1; then - # Carga el tema Catppuccin Frappe si existe. - if [ -f ~/.poshthemes/catppuccin_frappe.omp.json ]; then - eval "$(oh-my-posh init zsh --config ~/.poshthemes/catppuccin_frappe.omp.json)" - else - # Si no, carga el tema por defecto. - eval "$(oh-my-posh init zsh)" - fi -fi - -# --- Go ---------------------------------------------------------------------- -# Configura las variables de entorno para el lenguaje de programación Go. -export GOPATH="$HOME/go" -export GOBIN="$GOPATH/bin" - -# --- NVM (Node Version Manager) ---------------------------------------------- -# Carga NVM para gestionar múltiples versiones de Node.js. -export NVM_DIR="$HOME/.nvm" -[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" -[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" - -# --- Python ------------------------------------------------------------------ -# Alias para usar las versiones 3 de python y pip por defecto. -alias pip='pip3' -alias python='python3' - -# Función para gestionar entornos virtuales de Python. -venv() { - case "$1" in - create) python -m venv .venv && echo "✅ Entorno virtual creado en ./.venv" ;; - on|activate) - if [ -f ".venv/bin/activate" ]; then - . .venv/bin/activate - echo "🟢 Entorno virtual activado" - else - echo "❌ Entorno virtual no encontrado en ./.venv" - fi - ;; - off|deactivate) - if command -v deactivate &>/dev/null; then - deactivate 2>/dev/null - echo "🔴 Entorno virtual desactivado" - else - echo "🤷 No hay un entorno virtual activo para desactivar" - fi - ;; - *) echo "Uso: venv [create|on|off|activate|deactivate]" ;; - esac -} - -# --- Aliases ----------------------------------------------------------------- -# Colección de atajos para comandos comunes. - -# Generales -alias cls='clear' -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' -alias ..='cd ..' -alias ...='cd ../..' -alias ....='cd ../../..' - -# Información del sistema -alias ff='fastfetch' -alias nf='fastfetch' - -# Gestión de paquetes en Arch Linux -alias pacu='sudo pacman -Syu' -alias paci='sudo pacman -S' -alias pacr='sudo pacman -Rns' -alias pacs='pacman -Ss' -alias yayu='yay -Syu' # Requiere yay -alias yayi='yay -S' # Requiere yay - -# Git -alias gs='git status' -alias ga='git add' -alias gc='git commit' -alias gcm='git commit -m' -alias gp='git push' -alias gl='git pull' -alias gd='git diff' -alias gb='git branch' -alias gco='git checkout' -alias gcb='git checkout -b' -alias glog='git log --oneline --graph --decorate' -gac(){ git add . && git commit -m "$1"; } - -# Docker -# Detecta si se usa `docker compose` (nuevo) o `docker-compose` (antiguo). -docker compose version >/dev/null 2>&1 && alias dc='docker compose' || alias dc='docker-compose' -alias d='docker' -alias dps='docker ps -a' -alias di='docker images' -alias dex='docker exec -it' -alias dlog='docker logs -f' - -# NPM -alias nrs='npm run start' -alias nrd='npm run dev' -alias nrb='npm run build' -alias nrt='npm run test' -alias ni='npm install' -alias nid='npm install --save-dev' -alias nig='npm install -g' - -# Python -alias py='python' -alias pir='pip install -r requirements.txt' -alias pipi='pip install' -alias pipf='pip freeze > requirements.txt' - -# ZeroTier -alias zt='sudo zerotier-cli' -alias ztstatus='sudo zerotier-cli listnetworks' -alias ztinfo='sudo zerotier-cli info' - -# Utilidades -alias clima='curl wttr.in/Saltillo' - -# --- IA y ChatGPT ------------------------------------------------------------ -# Alias para un cliente de ChatGPT en la terminal (ej. 'chatgpt-cli'). -# Reemplaza 'chatgpt-cli' por el nombre del programa que uses. -# -# alias chat='chatgpt-cli' -# alias chat-q='chatgpt-cli -q' # Para una pregunta rápida sin guardar en el historial. -# alias chat-c='chatgpt-cli --continue' # Para continuar la conversación anterior. -# alias chat-code='chatgpt-cli --code' # Para preguntas de código. - -# --- Funciones --------------------------------------------------------------- -# Funciones personalizadas para tareas comunes. - -# Crea un directorio y se mueve a él. -mkcd(){ mkdir -p "$1" && cd "$1"; } - -# Extrae cualquier tipo de archivo comprimido. -extract(){ - [ ! -f "$1" ] && echo "No es un archivo" && return 1 - case "$1" in - *.tar.bz2) tar xjf "$1" ;; - *.tar.gz) tar xzf "$1" ;; - *.bz2) bunzip2 "$1" ;; - *.rar) unrar e "$1" ;; - *.gz) gunzip "$1" ;; - *.tar) tar xf "$1" ;; - *.tbz2) tar xjf "$1" ;; - *.tgz) tar xzf "$1" ;; - *.zip) unzip "$1" ;; - *.Z) uncompress "$1" ;; - *.7z) 7z x "$1" ;; - *) echo "No se puede extraer '$1': formato no reconocido." ;; - esac -} - -# Mata el proceso que esté usando un puerto específico. -killport(){ - [ $# -eq 0 ] && echo "Uso: killport " && return 1 - local pid=$(lsof -ti:"$1" 2>/dev/null) - [ -n "$pid" ] && kill -9 "$pid" && echo "✅ Proceso en puerto $1 eliminado (PID: $pid)" || echo "🤷 No se encontró ningún proceso en el puerto $1" -} - -# Inicia un servidor HTTP simple en el directorio actual. -serve(){ python -m http.server "${1:-8000}"; } - -# Muestra una lista de todos los alias y funciones personalizadas. -zsh_help() { - # --- Colores --- - local C_DEFAULT="\e[0m" - local C_BOLD="\e[1m" - local C_TITLE="\e[1;35m" # Bold Magenta - local C_SECTION="\e[1;34m" # Bold Blue - local C_CMD="\e[0;32m" # Green - local C_DESC="\e[0;37m" # White - local C_HL="\e[0;33m" # Yellow - - # --- Encabezado --- - echo -e "${C_TITLE}╔═════════════════════════════════════════════════════════╗" - echo -e "${C_TITLE}║ AYUDA DE LA CONFIGURACIÓN DE ZSH - Comandos ║" - echo -e "${C_TITLE}╚═════════════════════════════════════════════════════════╝${C_DEFAULT}" - - # --- Función para imprimir secciones --- - print_section() { - echo -e "\n${C_SECTION}--- $1 ---${C_DEFAULT}" - } - - # --- Función para imprimir comandos --- - print_command() { - printf " ${C_CMD}%-15s ${C_DESC}%s\n${C_DEFAULT}" "$1" "$2" - } - - # --- Alias Generales --- - print_section "Alias Generales" - print_command "cls" "Limpia la pantalla." - print_command "ll" "Lista archivos en formato largo." - print_command "la" "Lista todos los archivos (incluyendo ocultos)." - print_command "l" "Lista archivos en columnas." - print_command ".." "Sube un nivel en el árbol de directorios." - print_command "..." "Sube dos niveles." - print_command "...." "Sube tres niveles." - print_command "ff / nf" "Muestra información del sistema (fastfetch)." - - # --- Gestión de Paquetes (Arch) --- - print_section "Gestión de Paquetes (Arch Linux)" - print_command "pacu" "Actualiza el sistema (pacman)." - print_command "paci" "Instala un paquete (pacman)." - print_command "pacr" "Elimina un paquete (pacman)." - print_command "pacs" "Busca un paquete (pacman)." - print_command "yayu" "Actualiza el sistema (yay)." - print_command "yayi" "Instala un paquete (yay)." - - # --- Git --- - print_section "Git" - print_command "gs" "git status" - print_command "ga" "git add" - print_command "gc" "git commit" - print_command "gcm" "git commit -m '...'" - print_command "gac " "git add . && git commit -m ''" - print_command "gp" "git push" - print_command "gl" "git pull" - print_command "gd" "git diff" - print_command "gb" "git branch" - print_command "gco" "git checkout" - print_command "gcb" "git checkout -b" - print_command "glog" "Muestra un log de commits formateado." - - # --- Docker --- - print_section "Docker" - print_command "d" "docker" - print_command "dc" "docker compose" - print_command "dps" "Muestra todos los contenedores." - print_command "di" "Muestra todas las imágenes." - print_command "dex " "Ejecuta una terminal en un contenedor." - print_command "dlog " "Muestra los logs de un contenedor." - - # --- Python --- - print_section "Python" - print_command "py" "python3" - print_command "pip" "pip3" - print_command "pipi" "pip install ..." - print_command "pir" "pip install -r requirements.txt" - print_command "pipf" "pip freeze > requirements.txt" - print_command "venv create" "Crea un entorno virtual." - print_command "venv on" "Activa el entorno virtual." - print_command "venv off" "Desactiva el entorno virtual." - print_command "serve [port]" "Inicia un servidor HTTP (puerto 8000 por defecto)." - - # --- Funciones de Utilidad --- - print_section "Funciones de Utilidad" - print_command "mkcd " "Crea un directorio y entra en él." - print_command "extract " "Extrae cualquier archivo comprimido." - print_command "killport " "Mata el proceso que usa un puerto." - print_command "clima" "Muestra el clima de Saltillo." - print_command "zsh-help" "Muestra esta ayuda." - - # --- Descargas (yt-dlp) --- - print_section "Descargas (yt-dlp)" - print_command "ytm " "Descarga audio de YouTube como MP3." - print_command "ytv " "Descarga video de YouTube como MP4." - print_command "ytls" "Lista los últimos 5 archivos descargados." - - # --- Agente SSH --- - print_section "Agente SSH" - print_command "ssh-list" "Lista las llaves SSH cargadas." - print_command "ssh-clear" "Elimina todas las llaves del agente." - print_command "ssh-reload" "Recarga todas las llaves SSH." - print_command "ssh-github" "Prueba la conexión SSH con GitHub." - echo "" -} - -# Alias para acceder a la función de ayuda. -alias zsh-help='zsh_help' - -# --- yt-dlp (Descargador de vídeos) ------------------------------------------ -# Funciones mejoradas para descargar audio y video desde YouTube. -export YTDLP_DIR="$HOME/Videos/YouTube" -mkdir -p "$YTDLP_DIR"/{Music,Videos} 2>/dev/null - -# Descarga audio en formato MP3. -ytm() { - case "$1" in - -h|--help|'') - echo "🎵 ytm - Descarga audio (MP3 320kbps) a $YTDLP_DIR/Music/" - echo "Ejemplos:" - echo " ytm https://youtu.be/dQw4w9WgXcQ" - echo " ytm 'Never Gonna Give You Up'" - return 0 - ;; - esac - - if ! command -v yt-dlp &>/dev/null; then - echo "❌ yt-dlp no está instalado. Por favor, instálalo para usar esta función." - return 1 - fi - - local out="$YTDLP_DIR/Music/%(title).180s.%(ext)s" - local opts=( - --extract-audio --audio-format mp3 --audio-quality 320K - --embed-metadata --embed-thumbnail --convert-thumbnails jpg - --no-playlist --retries 10 --fragment-retries 10 - --user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36" - --extractor-args "youtube:player_client=android,web" - --progress --newline -o "$out" - ) - - if [[ "$1" == http* ]]; then - echo "📥 Descargando audio..." - yt-dlp "${opts[@]}" "$@" - else - echo "🔍 Buscando: $*" - yt-dlp "${opts[@]}" "ytsearch1:$*" - fi - - [ $? -eq 0 ] && echo "✅ Audio descargado en: $YTDLP_DIR/Music/" || echo "❌ Falló la descarga de audio." -} - -# Descarga vídeo en formato MP4. -ytv() { - case "$1" in - -h|--help|'') - echo "🎬 ytv [calidad] - Descarga video a $YTDLP_DIR/Videos/" - echo "Calidades disponibles: 1080, 720, 480 (por defecto: mejor disponible MP4)" - echo "Ejemplos:" - echo " ytv https://youtu.be/dQw4w9WgXcQ 1080" - echo " ytv 'Rick Astley - Never Gonna Give You Up' 720" - return 0 - ;; - esac - - if ! command -v yt-dlp &>/dev/null; then - echo "❌ yt-dlp no está instalado. Por favor, instálalo para usar esta función." - return 1 - fi - - local quality="${2:-best}" - local out="$YTDLP_DIR/Videos/%(title).180s.%(ext)s" - - local fmt - case "$quality" in - 1080) fmt='bv*[height<=1080][ext=mp4]+ba/b[height<=1080]' ;; - 720) fmt='bv*[height<=720][ext=mp4]+ba/b[height<=720]' ;; - 480) fmt='bv*[height<=480][ext=mp4]+ba/b[height<=480]' ;; - *) fmt='bv*[ext=mp4]+ba/b[ext=mp4]/b' ;; # Mejor calidad MP4 - esac - - local opts=( - -f "$fmt" --embed-metadata --embed-thumbnail - --embed-subs --sub-langs "es.*,en.*" --convert-thumbnails jpg - --no-playlist --retries 10 --fragment-retries 10 - --user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36" - --extractor-args "youtube:player_client=android,web" - --progress --newline -o "$out" - ) - - if [[ "$1" == http* ]]; then - echo "📥 Descargando video..." - yt-dlp "${opts[@]}" "$1" - else - echo "🔍 Buscando: $1" - yt-dlp "${opts[@]}" "ytsearch1:$1" - fi - - [ $? -eq 0 ] && echo "✅ Video descargado en: $YTDLP_DIR/Videos/" || echo "❌ Falló la descarga de video." -} - -# Lista los últimos archivos descargados. -ytls() { - echo "🎵 Últimos 5 audios descargados en Music:" - ls -1t "$YTDLP_DIR/Music" 2>/dev/null | head -5 | sed 's/^/ /' || echo " (vacío)" - echo "" - echo "🎬 Últimos 5 videos descargados en Videos:" - ls -1t "$YTDLP_DIR/Videos" 2>/dev/null | head -5 | sed 's/^/ /' || echo " (vacío)" -} - -# --- GNOME Keyring y Agente SSH ---------------------------------------------- -# Configuración para que GNOME Keyring gestione las claves SSH. -if [ -n "$DESKTOP_SESSION" ] && command -v gnome-keyring-daemon >/dev/null 2>&1; then - if ! pgrep -u "$USER" gnome-keyring-daemon > /dev/null 2>&1; then - eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh 2>/dev/null)" || true - fi - export SSH_AUTH_SOCK GPG_AGENT_INFO GNOME_KEYRING_CONTROL GNOME_KEYRING_PID -fi - -# Fallback a un agente SSH estándar si GNOME Keyring no está disponible. -if [ -z "$SSH_AUTH_SOCK" ]; then - export SSH_AGENT_DIR="$HOME/.ssh/agent" - mkdir -p "$SSH_AGENT_DIR" - SSH_ENV="$SSH_AGENT_DIR/env" - - start_agent() { - echo "🔑 Iniciando ssh-agent..." - ssh-agent > "$SSH_ENV" - chmod 600 "$SSH_ENV" - . "$SSH_ENV" > /dev/null - } - - if [ -f "$SSH_ENV" ]; then - . "$SSH_ENV" > /dev/null - ps -p $SSH_AGENT_PID > /dev/null 2>&1 || start_agent - else - start_agent - fi - - if [ -d "$HOME/.ssh" ]; then - for key in "$HOME/.ssh"/*; do - if [ -f "$key" ] && [[ ! "$key" =~ \.pub$ ]] && \ - [[ ! "$key" =~ known_hosts ]] && [[ ! "$key" =~ authorized_keys ]] && \ - [[ ! "$key" =~ config ]] && [[ ! "$key" =~ agent ]]; then - if ssh-keygen -l -f "$key" &>/dev/null; then - local key_fingerprint=$(ssh-keygen -lf "$key" 2>/dev/null | awk '{print $2}') - if ! ssh-add -l 2>/dev/null | grep -q "$key_fingerprint"; then - if ssh-add "$key" 2>/dev/null; then - echo "✅ Llave SSH agregada: $(basename $key)" - fi - fi - fi - fi - done - fi -fi - -# Alias para gestionar el agente SSH. -alias ssh-list='ssh-add -l' -alias ssh-clear='ssh-add -D' -alias ssh-reload=' - ssh-add -D 2>/dev/null - for key in ~/.ssh/*; do - if [ -f "$key" ] && [[ ! "$key" =~ \.pub$ ]] && ssh-keygen -l -f "$key" &>/dev/null; then - ssh-add "$key" 2>/dev/null && echo "✅ $(basename $key)" - fi - done -' -alias ssh-github='ssh -T git@github.com' - -# --- zoxide ------------------------------------------------------------------ -# Reemplazo inteligente de `cd` que recuerda los directorios que visitas. -if command -v zoxide >/dev/null 2>&1; then - eval "$(zoxide init zsh)" - alias zz='z -' # Ir al directorio anterior - alias zi='zi' # Modo interactivo -fi - -# --- Historial de Zsh -------------------------------------------------------- -# Configuración para un historial de comandos más útil y persistente. -HISTSIZE=100000 -SAVEHIST=100000 -HISTFILE=~/.zsh_history -setopt APPEND_HISTORY SHARE_HISTORY HIST_IGNORE_DUPS HIST_IGNORE_ALL_DUPS HIST_IGNORE_SPACE AUTO_CD EXTENDED_GLOB - -# Deshabilita el bloqueo de la terminal con CTRL+S. -stty -ixon 2>/dev/null - -# Habilita colores en `man` y `less`. -export LESS='-R' - -# --- Funciones y Configuraciones Locales ------------------------------------- -# Carga archivos de funciones personalizadas desde ~/.zsh_functions/ -[ -d "$HOME/.zsh_functions" ] || mkdir -p "$HOME/.zsh_functions" -for func_file in "$HOME/.zsh_functions"/*.zsh(N); do - source "$func_file" -done - -# Carga un archivo de configuración local (~/.zshrc.local) si existe. -# Ideal para añadir variables de entorno y configuraciones privadas. -[ -f ~/.zshrc.local ] && source ~/.zshrc.local diff --git a/.zshrc.local.example b/.zshrc.local.example deleted file mode 100644 index d29406d..0000000 --- a/.zshrc.local.example +++ /dev/null @@ -1,32 +0,0 @@ -# ============================================================================= -# .zshrc.local - CONFIGURACIONES LOCALES Y PRIVADAS -# ============================================================================= -# -# Este archivo es para tus configuraciones personales, como variables de -# entorno, claves de API y alias privados. -# -# Para usarlo: -# 1. Renombra este archivo a `.zshrc.local`. -# 2. Descomenta y añade tus claves y configuraciones. -# -# El archivo `.zshrc` principal cargará este fichero automáticamente si existe, -# manteniendo tus datos privados separados de la configuración principal. -# -# ============================================================================= - -# --- Claves de API para Modelos de IA --- -# Descomenta las líneas que necesites y añade tus claves. - -# export OPENAI_API_KEY="sk-..." -# export GOOGLE_API_KEY="..." -# export ANTHROPIC_API_KEY="..." - -# --- Otras Variables de Entorno --- -# Ejemplo de una variable para un token de GitHub. -# export GITHUB_TOKEN="ghp_..." - -# --- Alias Personales --- -# Puedes añadir aquí tus propios alias para no modificar el .zshrc principal. -# -# alias miservidor="ssh usuario@servidor.com" -# alias mi-proyecto="cd ~/Rutas/a/mi/proyecto" diff --git a/hypr_config/autostart.conf b/hypr_config/autostart.conf deleted file mode 100644 index ddda7aa..0000000 --- a/hypr_config/autostart.conf +++ /dev/null @@ -1,13 +0,0 @@ -# Extra autostart processes -# exec-once = uwsm-app -- my-service -# Aplicar mi tema de cursor a GTK -exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice' - -# Establecer el tema de iconos Tela Nord - -# ----------------------------------------------------- -# CONFIGURACIÓN DE TEMA DE ICONOS -# ----------------------------------------------------- -exec-once = /usr/lib/xdg-desktop-portal-gtk -exec-once = sleep 1 -exec-once = gsettings set org.gnome.desktop.interface icon-theme 'Tela-nord-dark' diff --git a/hypr_config/bindings.conf b/hypr_config/bindings.conf deleted file mode 100644 index 32e8a54..0000000 --- a/hypr_config/bindings.conf +++ /dev/null @@ -1,113 +0,0 @@ -################################################################################ -# HYPRLAND BINDINGS # -################################################################################ -# Cómo funcionan los bindings: -# -# bindd = MODIFICADORES, TECLA, Nombre, exec, comando -# -# • MODIFICADORES = SUPER | SHIFT | CTRL | ALT (puedes combinarlos) -# • TECLA = tecla física: RETURN, C, T, ESCAPE, etc. -# • Nombre = etiqueta descriptiva (solo texto) -# • exec = ejecuta un comando (lo más usado) -# -# Notas: -# - Cada binding debe tener TODOS los parámetros. -# - Si una línea queda incompleta, Hyprland marcará un error. -# - Si duplicas una combinación de teclas, Hyprland usa la última. -################################################################################ - - -# ------------------------------ -# Variables (solo comodidad) -# ------------------------------ -$terminal = uwsm-app -- xdg-terminal-exec -$browser = omarchy-launch-browser - - - -################################################################################ -# APPLICATION BINDS # -################################################################################ - -# Terminal con cwd actual (SUPER + ENTER) -bindd = SUPER, RETURN, Terminal, exec, $terminal --dir="$(omarchy-cmd-terminal-cwd)" - -# Explorador de archivos (SUPER + E) -bindd = SUPER, E, File Manager, exec, uwsm-app -- nautilus --new-window - -# Navegador normal (SUPER + SHIFT + B) -bindd = SUPER SHIFT, B, Browser, exec, $browser - -# Navegador privado (SUPER + SHIFT + ALT + B) -bindd = SUPER SHIFT ALT, B, Browser Private, exec, $browser --private - -# Spotify (SUPER + SHIFT + M) -bindd = SUPER SHIFT, M, Music, exec, omarchy-launch-or-focus spotify - -# Editor (omarchy) (SUPER + SHIFT + N) -bindd = SUPER SHIFT, N, Editor, exec, omarchy-launch-editor - -# Monitor del sistema tipo Windows (CTRL + SHIFT + ESCAPE) -bindd = CTRL SHIFT, ESCAPE, Activity Monitor, exec, $terminal -e btop - -# Lazydocker (SUPER + SHIFT + D) -bindd = SUPER SHIFT, D, Docker, exec, $terminal -e lazydocker - - - -################################################################################ -# WEB APP BINDINGS # -################################################################################ - -# ChatGPT (SUPER + SHIFT + A) -bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com" - -# Grok (SUPER + SHIFT + G) -bindd = SUPER SHIFT, G, Grok, exec, omarchy-launch-webapp "https://grok.com" - -# Google Calendar (SUPER + SHIFT + C) -bindd = SUPER SHIFT, C, Calendar, exec, omarchy-launch-webapp "https://calendar.google.com/" - -# Gmail (SUPER + SHIFT + E) -bindd = SUPER SHIFT, E, Email, exec, omarchy-launch-webapp "https://mail.google.com/" - -# YouTube (SUPER + SHIFT + Y) -bindd = SUPER SHIFT, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/" - -# WhatsApp Web (SUPER + SHIFT + W) -bindd = SUPER SHIFT, W, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/" - -# Google Photos (SUPER + SHIFT + P) -bindd = SUPER SHIFT, P, Google Photos, exec, omarchy-launch-or-focus-webapp "Google Photos" "https://photos.google.com/" - -# Jules (SUPER + SHIFT + J) -bindd = SUPER SHIFT, J, Jules, exec, omarchy-launch-webapp "https://jules.google.com/" - -# Outlook (SUPER + ALT + O) -bindd = SUPER ALT, O, Outlook, exec, omarchy-launch-webapp "https://outlook.com/" - - - -################################################################################ -# APPS NATIVAS # -################################################################################ - -# Telegram Desktop (SUPER + SHIFT + T) -bindd = SUPER SHIFT, T, Telegram, exec, omarchy-launch-or-focus "^TelegramDesktop$" "/usr/bin/Telegram" - -# VS Code (SUPER + SHIFT + V) -bindd = SUPER SHIFT, V, VSCode, exec, uwsm-app -- code - -# Antigravity (SUPER + ALT + V) -bindd = SUPER ALT, V, Antigravity, exec, /home/marco/.antigravity/antigravity --password-store="gnome-libsecret" - - - -################################################################################ -# OPTIONAL OVERRIDES # -################################################################################ -# Ejemplo: poner Omarchy Menu en SUPER + SPACE -# unbind = SUPER, SPACE -# bindd = SUPER, SPACE, Omarchy Menu, exec, omarchy-menu -################################################################################ - diff --git a/hypr_config/envs.conf b/hypr_config/envs.conf deleted file mode 100644 index 7f6d464..0000000 --- a/hypr_config/envs.conf +++ /dev/null @@ -1,8 +0,0 @@ -# Extra env variables -# env = MY_GLOBAL_ENV,setting -# Mi tema de cursor personalizado -env = HYPRCURSOR_THEME,Bibata-Modern-Ice -env = HYPRCURSOR_SIZE,24 -env = XCURSOR_THEME,Bibata-Modern-Ice -env = XCURSOR_SIZE,24 -env = OMARCHY_SCREENSHOT_DIR,$HOME/Pictures/Screenshots diff --git a/hypr_config/hypridle.conf b/hypr_config/hypridle.conf deleted file mode 100644 index f2245a7..0000000 --- a/hypr_config/hypridle.conf +++ /dev/null @@ -1,22 +0,0 @@ -general { - lock_cmd = omarchy-lock-screen # lock screen and 1password - before_sleep_cmd = loginctl lock-session # lock before suspend. - after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. - inhibit_sleep = 3 # wait until screen is locked -} - -listener { - timeout = 150 # 2.5min - on-timeout = pidof hyprlock || omarchy-launch-screensaver # start screensaver (if we haven't locked already) -} - -listener { - timeout = 300 # 5min - on-timeout = loginctl lock-session # lock screen when timeout has passed -} - -listener { - timeout = 330 # 5.5min - on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed - on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected -} diff --git a/hypr_config/hyprland.conf b/hypr_config/hyprland.conf deleted file mode 100644 index dbbed95..0000000 --- a/hypr_config/hyprland.conf +++ /dev/null @@ -1,37 +0,0 @@ -# Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/ - -# Use defaults Omarchy defaults (but don't edit these directly!) -source = ~/.local/share/omarchy/default/hypr/autostart.conf -source = ~/.local/share/omarchy/default/hypr/bindings/media.conf -source = ~/.local/share/omarchy/default/hypr/bindings/clipboard.conf -source = ~/.local/share/omarchy/default/hypr/bindings/tiling-v2.conf -source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf -source = ~/.local/share/omarchy/default/hypr/envs.conf -source = ~/.local/share/omarchy/default/hypr/looknfeel.conf -source = ~/.local/share/omarchy/default/hypr/input.conf -source = ~/.local/share/omarchy/default/hypr/windows.conf -source = ~/.config/omarchy/current/theme/hyprland.conf - -# Change your own setup in these files (and overwrite any settings from defaults!) -source = ~/.config/hypr/monitors.conf -source = ~/.config/hypr/input.conf -source = ~/.config/hypr/bindings.conf -source = ~/.config/hypr/envs.conf -source = ~/.config/hypr/looknfeel.conf -source = ~/.config/hypr/autostart.conf - -# Add any other personal Hyprland configuration below -# windowrule = workspace 5, class:qemu -env = LIBVA_DRIVER_NAME,iHD -env = MOZ_ENABLE_WAYLAND,1 - -#Ajustes de escalado para aplicaciones GTK/QT -env = GDK_SCALE,1 -env = QT_AUTO_SCREEN_SCALE_FACTOR,1 -env = QT_QPA_PLATFORM,wayland;xcb - - -# CORRECCIÓN PARA APPS GIGANTES (Spotify, VSCode, Discord) -xwayland { - force_zero_scaling = true -} \ No newline at end of file diff --git a/hypr_config/hyprlock.conf b/hypr_config/hyprlock.conf deleted file mode 100644 index 4778146..0000000 --- a/hypr_config/hyprlock.conf +++ /dev/null @@ -1,39 +0,0 @@ -source = ~/.config/omarchy/current/theme/hyprlock.conf - -background { - monitor = - color = $color - path = ~/.config/omarchy/current/background - blur_passes = 3 -} - -animations { - enabled = false -} - -input-field { - monitor = - size = 650, 100 - position = 0, 0 - halign = center - valign = center - - inner_color = $inner_color - outer_color = $outer_color - outline_thickness = 4 - - font_family = MesloLGLDZ Nerd Font - font_color = $font_color - - placeholder_text = Enter Password 󰈷 - check_color = $check_color - fail_text = $FAIL ($ATTEMPTS) - - rounding = 0 - shadow_passes = 0 - fade_on_empty = false -} - -auth { - fingerprint:enabled = true -} diff --git a/hypr_config/hyprsunset.conf b/hypr_config/hyprsunset.conf deleted file mode 100644 index f51ff74..0000000 --- a/hypr_config/hyprsunset.conf +++ /dev/null @@ -1,12 +0,0 @@ -# Makes hyprsunset do nothing to the screen by default -# Without this, the default applies some tint to the monitor -profile { - time = 07:00 - identity = true -} - -# Enable auto switch to nightlight: -# profile { -# time = 20:00 -# temperature = 4000 -# } diff --git a/hypr_config/input.conf b/hypr_config/input.conf deleted file mode 100644 index 0c8da72..0000000 --- a/hypr_config/input.conf +++ /dev/null @@ -1,24 +0,0 @@ -# ================================ -# 🧭 Hyprland input configuration -# ================================ -input { - kb_layout = es - kb_model = pc105 - kb_options = - repeat_rate = 40 - repeat_delay = 600 - numlock_by_default = true - - touchpad { - clickfinger_behavior = true - scroll_factor = 0.4 - # natural_scroll = true - } -} - -# Scroll sensitivity per app -windowrule = scrolltouchpad 1.5, class:(Alacritty|kitty) -windowrule = scrolltouchpad 0.2, class:com.mitchellh.ghostty - -# Three-finger gesture: switch workspace -gesture = 3, horizontal, workspace diff --git a/hypr_config/looknfeel.conf b/hypr_config/looknfeel.conf deleted file mode 100644 index 62e2634..0000000 --- a/hypr_config/looknfeel.conf +++ /dev/null @@ -1,24 +0,0 @@ -# Change the default Omarchy look'n'feel - -# https://wiki.hyprland.org/Configuring/Variables/#general -general { - # No gaps between windows or borders - # gaps_in = 0 - # gaps_out = 0 - # border_size = 0 - - # Use master layout instead of dwindle - # layout = master -} - -# https://wiki.hyprland.org/Configuring/Variables/#decoration -decoration { - # Use round window corners - # rounding = 8 -} - -# https://wiki.hypr.land/Configuring/Dwindle-Layout/ -dwindle { - # Avoid overly wide single-window layouts on wide screens - # single_window_aspect_ratio = 1 1 -} diff --git a/hypr_config/monitors.conf b/hypr_config/monitors.conf deleted file mode 100644 index 0244130..0000000 --- a/hypr_config/monitors.conf +++ /dev/null @@ -1,20 +0,0 @@ -# --------------------------------------------------------- -# CONFIGURACIÓN ESPECÍFICA: Laptop + Huawei Externo -# --------------------------------------------------------- - -# 1. Laptop (eDP-1) - Pantalla Surface/HiDPI -monitor = eDP-1, 3000x2000@60, 0x0, 2 - -# 2. Monitor Externo Huawei (DP-2) -# CAMBIO: Usamos 'preferred' para que detecte solo 1920x1080@75Hz -# Posición: 1500x0 (calculado: 3000/2 = 1500) -monitor = DP-2, preferred, 1500x0, 1 - -# 3. Fallback (Otros monitores) -monitor = , preferred, auto, 1 - -# --------------------------------------------------------- -# Limpieza de variables antiguas -# --------------------------------------------------------- -# Asegúrate de NO tener "env = GDK_SCALE,2" descomentado en otro lado -# para evitar problemas de tamaño en el monitor externo. diff --git a/hypr_config/shaders/amber.glsl b/hypr_config/shaders/amber.glsl deleted file mode 120000 index 8886826..0000000 --- a/hypr_config/shaders/amber.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/amber.glsl \ No newline at end of file diff --git a/hypr_config/shaders/arctic-blue.glsl b/hypr_config/shaders/arctic-blue.glsl deleted file mode 120000 index 624082d..0000000 --- a/hypr_config/shaders/arctic-blue.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/arctic-blue.glsl \ No newline at end of file diff --git a/hypr_config/shaders/autumn-leaves.glsl b/hypr_config/shaders/autumn-leaves.glsl deleted file mode 120000 index 8f310cb..0000000 --- a/hypr_config/shaders/autumn-leaves.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/autumn-leaves.glsl \ No newline at end of file diff --git a/hypr_config/shaders/blood-orange.glsl b/hypr_config/shaders/blood-orange.glsl deleted file mode 120000 index 446a027..0000000 --- a/hypr_config/shaders/blood-orange.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/blood-orange.glsl \ No newline at end of file diff --git a/hypr_config/shaders/blue-light-reduce.glsl b/hypr_config/shaders/blue-light-reduce.glsl deleted file mode 120000 index f65b27a..0000000 --- a/hypr_config/shaders/blue-light-reduce.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/blue-light-reduce.glsl \ No newline at end of file diff --git a/hypr_config/shaders/brightness-boost.glsl b/hypr_config/shaders/brightness-boost.glsl deleted file mode 120000 index 67bb508..0000000 --- a/hypr_config/shaders/brightness-boost.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/brightness-boost.glsl \ No newline at end of file diff --git a/hypr_config/shaders/cel-shade.glsl b/hypr_config/shaders/cel-shade.glsl deleted file mode 120000 index 7570501..0000000 --- a/hypr_config/shaders/cel-shade.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/cel-shade.glsl \ No newline at end of file diff --git a/hypr_config/shaders/cherry-blossom.glsl b/hypr_config/shaders/cherry-blossom.glsl deleted file mode 120000 index 8fa8177..0000000 --- a/hypr_config/shaders/cherry-blossom.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/cherry-blossom.glsl \ No newline at end of file diff --git a/hypr_config/shaders/chromatic-shift.glsl b/hypr_config/shaders/chromatic-shift.glsl deleted file mode 120000 index 3a6b302..0000000 --- a/hypr_config/shaders/chromatic-shift.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/chromatic-shift.glsl \ No newline at end of file diff --git a/hypr_config/shaders/color-blind-deuteranopia.glsl b/hypr_config/shaders/color-blind-deuteranopia.glsl deleted file mode 120000 index 30383ad..0000000 --- a/hypr_config/shaders/color-blind-deuteranopia.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/color-blind-deuteranopia.glsl \ No newline at end of file diff --git a/hypr_config/shaders/color-invert.glsl b/hypr_config/shaders/color-invert.glsl deleted file mode 120000 index 500f530..0000000 --- a/hypr_config/shaders/color-invert.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/color-invert.glsl \ No newline at end of file diff --git a/hypr_config/shaders/color-pop.glsl b/hypr_config/shaders/color-pop.glsl deleted file mode 120000 index 4f9b2cc..0000000 --- a/hypr_config/shaders/color-pop.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/color-pop.glsl \ No newline at end of file diff --git a/hypr_config/shaders/comic-book.glsl b/hypr_config/shaders/comic-book.glsl deleted file mode 120000 index 2f1550b..0000000 --- a/hypr_config/shaders/comic-book.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/comic-book.glsl \ No newline at end of file diff --git a/hypr_config/shaders/cool-tone.glsl b/hypr_config/shaders/cool-tone.glsl deleted file mode 120000 index 98c04e9..0000000 --- a/hypr_config/shaders/cool-tone.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/cool-tone.glsl \ No newline at end of file diff --git a/hypr_config/shaders/crt-breakdown.glsl b/hypr_config/shaders/crt-breakdown.glsl deleted file mode 120000 index cfba8cd..0000000 --- a/hypr_config/shaders/crt-breakdown.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/crt-breakdown.glsl \ No newline at end of file diff --git a/hypr_config/shaders/crt-glitch.glsl b/hypr_config/shaders/crt-glitch.glsl deleted file mode 120000 index bdae2ee..0000000 --- a/hypr_config/shaders/crt-glitch.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/crt-glitch.glsl \ No newline at end of file diff --git a/hypr_config/shaders/crunch-mode.glsl b/hypr_config/shaders/crunch-mode.glsl deleted file mode 120000 index 634aea5..0000000 --- a/hypr_config/shaders/crunch-mode.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/crunch-mode.glsl \ No newline at end of file diff --git a/hypr_config/shaders/cyberpunk-neon.glsl b/hypr_config/shaders/cyberpunk-neon.glsl deleted file mode 120000 index 9ab85b5..0000000 --- a/hypr_config/shaders/cyberpunk-neon.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/cyberpunk-neon.glsl \ No newline at end of file diff --git a/hypr_config/shaders/cyberpunk.glsl b/hypr_config/shaders/cyberpunk.glsl deleted file mode 120000 index 1da0104..0000000 --- a/hypr_config/shaders/cyberpunk.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/cyberpunk.glsl \ No newline at end of file diff --git a/hypr_config/shaders/depth-of-field.glsl b/hypr_config/shaders/depth-of-field.glsl deleted file mode 120000 index 6a9205c..0000000 --- a/hypr_config/shaders/depth-of-field.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/depth-of-field.glsl \ No newline at end of file diff --git a/hypr_config/shaders/desaturate.glsl b/hypr_config/shaders/desaturate.glsl deleted file mode 120000 index fa2098a..0000000 --- a/hypr_config/shaders/desaturate.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/desaturate.glsl \ No newline at end of file diff --git a/hypr_config/shaders/desert-sand.glsl b/hypr_config/shaders/desert-sand.glsl deleted file mode 120000 index 7ef8010..0000000 --- a/hypr_config/shaders/desert-sand.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/desert-sand.glsl \ No newline at end of file diff --git a/hypr_config/shaders/dream.glsl b/hypr_config/shaders/dream.glsl deleted file mode 120000 index 2c9b9e2..0000000 --- a/hypr_config/shaders/dream.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/dream.glsl \ No newline at end of file diff --git a/hypr_config/shaders/duotone.glsl b/hypr_config/shaders/duotone.glsl deleted file mode 120000 index 7a76376..0000000 --- a/hypr_config/shaders/duotone.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/duotone.glsl \ No newline at end of file diff --git a/hypr_config/shaders/film-grain.glsl b/hypr_config/shaders/film-grain.glsl deleted file mode 120000 index fe2000a..0000000 --- a/hypr_config/shaders/film-grain.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/film-grain.glsl \ No newline at end of file diff --git a/hypr_config/shaders/forest-green.glsl b/hypr_config/shaders/forest-green.glsl deleted file mode 120000 index 815814a..0000000 --- a/hypr_config/shaders/forest-green.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/forest-green.glsl \ No newline at end of file diff --git a/hypr_config/shaders/frost.glsl b/hypr_config/shaders/frost.glsl deleted file mode 120000 index b340242..0000000 --- a/hypr_config/shaders/frost.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/frost.glsl \ No newline at end of file diff --git a/hypr_config/shaders/gameboy.glsl b/hypr_config/shaders/gameboy.glsl deleted file mode 120000 index 20c525d..0000000 --- a/hypr_config/shaders/gameboy.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/gameboy.glsl \ No newline at end of file diff --git a/hypr_config/shaders/genesis.glsl b/hypr_config/shaders/genesis.glsl deleted file mode 120000 index 861f373..0000000 --- a/hypr_config/shaders/genesis.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/genesis.glsl \ No newline at end of file diff --git a/hypr_config/shaders/glitch-wave.glsl b/hypr_config/shaders/glitch-wave.glsl deleted file mode 120000 index 8447ab5..0000000 --- a/hypr_config/shaders/glitch-wave.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/glitch-wave.glsl \ No newline at end of file diff --git a/hypr_config/shaders/golden-hour.glsl b/hypr_config/shaders/golden-hour.glsl deleted file mode 120000 index adb2414..0000000 --- a/hypr_config/shaders/golden-hour.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/golden-hour.glsl \ No newline at end of file diff --git a/hypr_config/shaders/grayscale.glsl b/hypr_config/shaders/grayscale.glsl deleted file mode 120000 index a6edf88..0000000 --- a/hypr_config/shaders/grayscale.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/grayscale.glsl \ No newline at end of file diff --git a/hypr_config/shaders/high-contrast.glsl b/hypr_config/shaders/high-contrast.glsl deleted file mode 120000 index 4e89e88..0000000 --- a/hypr_config/shaders/high-contrast.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/high-contrast.glsl \ No newline at end of file diff --git a/hypr_config/shaders/holo-interface.glsl b/hypr_config/shaders/holo-interface.glsl deleted file mode 120000 index 33ead16..0000000 --- a/hypr_config/shaders/holo-interface.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/holo-interface.glsl \ No newline at end of file diff --git a/hypr_config/shaders/hue-shift-180.glsl b/hypr_config/shaders/hue-shift-180.glsl deleted file mode 120000 index e33c687..0000000 --- a/hypr_config/shaders/hue-shift-180.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/hue-shift-180.glsl \ No newline at end of file diff --git a/hypr_config/shaders/hue-shift-90.glsl b/hypr_config/shaders/hue-shift-90.glsl deleted file mode 120000 index 9defdc8..0000000 --- a/hypr_config/shaders/hue-shift-90.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/hue-shift-90.glsl \ No newline at end of file diff --git a/hypr_config/shaders/infrared.glsl b/hypr_config/shaders/infrared.glsl deleted file mode 120000 index db246f6..0000000 --- a/hypr_config/shaders/infrared.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/infrared.glsl \ No newline at end of file diff --git a/hypr_config/shaders/liquid.glsl b/hypr_config/shaders/liquid.glsl deleted file mode 120000 index 07882d7..0000000 --- a/hypr_config/shaders/liquid.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/liquid.glsl \ No newline at end of file diff --git a/hypr_config/shaders/low-light.glsl b/hypr_config/shaders/low-light.glsl deleted file mode 120000 index 56afa90..0000000 --- a/hypr_config/shaders/low-light.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/low-light.glsl \ No newline at end of file diff --git a/hypr_config/shaders/midnight-purple.glsl b/hypr_config/shaders/midnight-purple.glsl deleted file mode 120000 index fa8b44d..0000000 --- a/hypr_config/shaders/midnight-purple.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/midnight-purple.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-amber.glsl b/hypr_config/shaders/monochrome-amber.glsl deleted file mode 120000 index efd2737..0000000 --- a/hypr_config/shaders/monochrome-amber.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-amber.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-blue.glsl b/hypr_config/shaders/monochrome-blue.glsl deleted file mode 120000 index 65bcb58..0000000 --- a/hypr_config/shaders/monochrome-blue.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-blue.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-cyan.glsl b/hypr_config/shaders/monochrome-cyan.glsl deleted file mode 120000 index aa5c385..0000000 --- a/hypr_config/shaders/monochrome-cyan.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-cyan.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-green.glsl b/hypr_config/shaders/monochrome-green.glsl deleted file mode 120000 index 7223579..0000000 --- a/hypr_config/shaders/monochrome-green.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-green.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-lavender.glsl b/hypr_config/shaders/monochrome-lavender.glsl deleted file mode 120000 index d252e7b..0000000 --- a/hypr_config/shaders/monochrome-lavender.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-lavender.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-mint.glsl b/hypr_config/shaders/monochrome-mint.glsl deleted file mode 120000 index fbcc668..0000000 --- a/hypr_config/shaders/monochrome-mint.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-mint.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-orange.glsl b/hypr_config/shaders/monochrome-orange.glsl deleted file mode 120000 index 3ef5b3e..0000000 --- a/hypr_config/shaders/monochrome-orange.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-orange.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-peach.glsl b/hypr_config/shaders/monochrome-peach.glsl deleted file mode 120000 index a67ce80..0000000 --- a/hypr_config/shaders/monochrome-peach.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-peach.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-pink.glsl b/hypr_config/shaders/monochrome-pink.glsl deleted file mode 120000 index 25b80c3..0000000 --- a/hypr_config/shaders/monochrome-pink.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-pink.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-purple.glsl b/hypr_config/shaders/monochrome-purple.glsl deleted file mode 120000 index 77f867f..0000000 --- a/hypr_config/shaders/monochrome-purple.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-purple.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-red.glsl b/hypr_config/shaders/monochrome-red.glsl deleted file mode 120000 index ab8e496..0000000 --- a/hypr_config/shaders/monochrome-red.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-red.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-teal.glsl b/hypr_config/shaders/monochrome-teal.glsl deleted file mode 120000 index 39e043d..0000000 --- a/hypr_config/shaders/monochrome-teal.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-teal.glsl \ No newline at end of file diff --git a/hypr_config/shaders/monochrome-yellow.glsl b/hypr_config/shaders/monochrome-yellow.glsl deleted file mode 120000 index 4d8d7ff..0000000 --- a/hypr_config/shaders/monochrome-yellow.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/monochrome-yellow.glsl \ No newline at end of file diff --git a/hypr_config/shaders/negative.glsl b/hypr_config/shaders/negative.glsl deleted file mode 120000 index 80bb8c6..0000000 --- a/hypr_config/shaders/negative.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/negative.glsl \ No newline at end of file diff --git a/hypr_config/shaders/night-vision.glsl b/hypr_config/shaders/night-vision.glsl deleted file mode 120000 index 4a39a8a..0000000 --- a/hypr_config/shaders/night-vision.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/night-vision.glsl \ No newline at end of file diff --git a/hypr_config/shaders/noir.glsl b/hypr_config/shaders/noir.glsl deleted file mode 120000 index aca9094..0000000 --- a/hypr_config/shaders/noir.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/noir.glsl \ No newline at end of file diff --git a/hypr_config/shaders/ocean.glsl b/hypr_config/shaders/ocean.glsl deleted file mode 120000 index 508234c..0000000 --- a/hypr_config/shaders/ocean.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/ocean.glsl \ No newline at end of file diff --git a/hypr_config/shaders/oil-paint.glsl b/hypr_config/shaders/oil-paint.glsl deleted file mode 120000 index dc93220..0000000 --- a/hypr_config/shaders/oil-paint.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/oil-paint.glsl \ No newline at end of file diff --git a/hypr_config/shaders/old-crt.glsl b/hypr_config/shaders/old-crt.glsl deleted file mode 120000 index f8d6b46..0000000 --- a/hypr_config/shaders/old-crt.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/old-crt.glsl \ No newline at end of file diff --git a/hypr_config/shaders/posterize.glsl b/hypr_config/shaders/posterize.glsl deleted file mode 120000 index 18dc8d0..0000000 --- a/hypr_config/shaders/posterize.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/posterize.glsl \ No newline at end of file diff --git a/hypr_config/shaders/power-crunch.glsl b/hypr_config/shaders/power-crunch.glsl deleted file mode 120000 index 34fccc5..0000000 --- a/hypr_config/shaders/power-crunch.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/power-crunch.glsl \ No newline at end of file diff --git a/hypr_config/shaders/protanopia.glsl b/hypr_config/shaders/protanopia.glsl deleted file mode 120000 index 4961d66..0000000 --- a/hypr_config/shaders/protanopia.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/protanopia.glsl \ No newline at end of file diff --git a/hypr_config/shaders/purple-haze.glsl b/hypr_config/shaders/purple-haze.glsl deleted file mode 120000 index 948b70c..0000000 --- a/hypr_config/shaders/purple-haze.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/purple-haze.glsl \ No newline at end of file diff --git a/hypr_config/shaders/retro-glow.glsl b/hypr_config/shaders/retro-glow.glsl deleted file mode 120000 index 2d64dc7..0000000 --- a/hypr_config/shaders/retro-glow.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/retro-glow.glsl \ No newline at end of file diff --git a/hypr_config/shaders/retro-vhs.glsl b/hypr_config/shaders/retro-vhs.glsl deleted file mode 120000 index 6707bbf..0000000 --- a/hypr_config/shaders/retro-vhs.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/retro-vhs.glsl \ No newline at end of file diff --git a/hypr_config/shaders/saturate.glsl b/hypr_config/shaders/saturate.glsl deleted file mode 120000 index d1d8f67..0000000 --- a/hypr_config/shaders/saturate.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/saturate.glsl \ No newline at end of file diff --git a/hypr_config/shaders/scanlines.glsl b/hypr_config/shaders/scanlines.glsl deleted file mode 120000 index 9557bf2..0000000 --- a/hypr_config/shaders/scanlines.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/scanlines.glsl \ No newline at end of file diff --git a/hypr_config/shaders/sepia.glsl b/hypr_config/shaders/sepia.glsl deleted file mode 120000 index 4ff13b6..0000000 --- a/hypr_config/shaders/sepia.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/sepia.glsl \ No newline at end of file diff --git a/hypr_config/shaders/soft-contrast.glsl b/hypr_config/shaders/soft-contrast.glsl deleted file mode 120000 index 21262a2..0000000 --- a/hypr_config/shaders/soft-contrast.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/soft-contrast.glsl \ No newline at end of file diff --git a/hypr_config/shaders/solarize.glsl b/hypr_config/shaders/solarize.glsl deleted file mode 120000 index aeb706c..0000000 --- a/hypr_config/shaders/solarize.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/solarize.glsl \ No newline at end of file diff --git a/hypr_config/shaders/sunset.glsl b/hypr_config/shaders/sunset.glsl deleted file mode 120000 index 7215b13..0000000 --- a/hypr_config/shaders/sunset.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/sunset.glsl \ No newline at end of file diff --git a/hypr_config/shaders/system-meltdown.glsl b/hypr_config/shaders/system-meltdown.glsl deleted file mode 120000 index 1e576a8..0000000 --- a/hypr_config/shaders/system-meltdown.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/system-meltdown.glsl \ No newline at end of file diff --git a/hypr_config/shaders/technicolor.glsl b/hypr_config/shaders/technicolor.glsl deleted file mode 120000 index ed20d80..0000000 --- a/hypr_config/shaders/technicolor.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/technicolor.glsl \ No newline at end of file diff --git a/hypr_config/shaders/thermal.glsl b/hypr_config/shaders/thermal.glsl deleted file mode 120000 index 2d458b3..0000000 --- a/hypr_config/shaders/thermal.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/thermal.glsl \ No newline at end of file diff --git a/hypr_config/shaders/tritanopia.glsl b/hypr_config/shaders/tritanopia.glsl deleted file mode 120000 index 2f4d436..0000000 --- a/hypr_config/shaders/tritanopia.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/tritanopia.glsl \ No newline at end of file diff --git a/hypr_config/shaders/tritone.glsl b/hypr_config/shaders/tritone.glsl deleted file mode 120000 index a2af357..0000000 --- a/hypr_config/shaders/tritone.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/tritone.glsl \ No newline at end of file diff --git a/hypr_config/shaders/underwater.glsl b/hypr_config/shaders/underwater.glsl deleted file mode 120000 index f3442fa..0000000 --- a/hypr_config/shaders/underwater.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/underwater.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vaporwave.glsl b/hypr_config/shaders/vaporwave.glsl deleted file mode 120000 index f773b18..0000000 --- a/hypr_config/shaders/vaporwave.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vaporwave.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vibe-00s.glsl b/hypr_config/shaders/vibe-00s.glsl deleted file mode 120000 index 70be754..0000000 --- a/hypr_config/shaders/vibe-00s.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vibe-00s.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vibe-40s.glsl b/hypr_config/shaders/vibe-40s.glsl deleted file mode 120000 index 9c89065..0000000 --- a/hypr_config/shaders/vibe-40s.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vibe-40s.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vibe-50s.glsl b/hypr_config/shaders/vibe-50s.glsl deleted file mode 120000 index 6f91438..0000000 --- a/hypr_config/shaders/vibe-50s.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vibe-50s.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vibe-60s.glsl b/hypr_config/shaders/vibe-60s.glsl deleted file mode 120000 index 5fe18e7..0000000 --- a/hypr_config/shaders/vibe-60s.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vibe-60s.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vibe-70s.glsl b/hypr_config/shaders/vibe-70s.glsl deleted file mode 120000 index 8699100..0000000 --- a/hypr_config/shaders/vibe-70s.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vibe-70s.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vibe-80s.glsl b/hypr_config/shaders/vibe-80s.glsl deleted file mode 120000 index 70aeaa9..0000000 --- a/hypr_config/shaders/vibe-80s.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vibe-80s.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vibe-90s.glsl b/hypr_config/shaders/vibe-90s.glsl deleted file mode 120000 index cbd1186..0000000 --- a/hypr_config/shaders/vibe-90s.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vibe-90s.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vintage-film.glsl b/hypr_config/shaders/vintage-film.glsl deleted file mode 120000 index 818f1a9..0000000 --- a/hypr_config/shaders/vintage-film.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vintage-film.glsl \ No newline at end of file diff --git a/hypr_config/shaders/vintage.glsl b/hypr_config/shaders/vintage.glsl deleted file mode 120000 index 8bc9790..0000000 --- a/hypr_config/shaders/vintage.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/vintage.glsl \ No newline at end of file diff --git a/hypr_config/shaders/warm-tone.glsl b/hypr_config/shaders/warm-tone.glsl deleted file mode 120000 index 62a9975..0000000 --- a/hypr_config/shaders/warm-tone.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/warm-tone.glsl \ No newline at end of file diff --git a/hypr_config/shaders/xray.glsl b/hypr_config/shaders/xray.glsl deleted file mode 120000 index d2fb8b4..0000000 --- a/hypr_config/shaders/xray.glsl +++ /dev/null @@ -1 +0,0 @@ -/usr/share/aether/shaders/xray.glsl \ No newline at end of file diff --git a/install.md b/install.md new file mode 100644 index 0000000..a4be471 --- /dev/null +++ b/install.md @@ -0,0 +1,53 @@ +# 🌀 Guía de Instalación - Omarchy Setup + +Este script modular automatiza la configuración de Arch Linux, instalando aplicaciones esenciales, configurando el entorno gráfico (Hyprland), y optimizando el sistema para desarrollo y multimedia. + +## 🚀 Requisitos Previos + +1. **Sistema Operativo:** Arch Linux (instalación base). +2. **Usuario:** Un usuario con permisos de `sudo`. +3. **Conexión a Internet:** Necesaria para descargar paquetes. +4. **Git:** Para clonar el repositorio (si no lo tienes, instálalo con `sudo pacman -S git`). + +## 📥 Instalación + +Clona el repositorio y ejecuta el script principal: + +```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 con las siguientes opciones: + +1. **Instalar Aplicaciones:** Herramientas base, desarrollo (Node, Python), multimedia (VLC, OBS), y drivers Intel. +2. **Configurar Zsh:** Shell Zsh con Oh My Zsh, Oh My Posh y plugins. +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.). + * **R:** DaVinci Resolve (Intel) - *Requiere descargar el ZIP manualmente en ~/Downloads*. + * **H:** Configuración de Hyprland (copia archivos de configuración). + * **T:** Plantillas de documentos. + +* **A) Instalar Todo:** Ejecuta la mayoría de los módulos automáticamente (excluye DaVinci Resolve). + +## 📝 Notas Importantes + +* **Reiniciar Sesión:** Muchos cambios (Docker, grupos de usuario, variables de entorno) requieren cerrar sesión y volver a entrar. +* **Fuentes:** Para que la terminal se vea correctamente, asegúrate de instalar una **Nerd Font** (ej. `ttf-firacode-nerd`) y configurarla en tu terminal. +* **DaVinci Resolve:** Debes descargar el archivo `DaVinci_Resolve_Studio_*_Linux.zip` (o la versión gratuita) desde la web de Blackmagic y ponerlo en `~/Downloads` antes de ejecutar la opción **R**. + +## 📂 Estructura + +* `omarchy-setup.sh`: Script principal. +* `modules/`: Scripts individuales para cada tarea. +* `hypr_config/`: Archivos de configuración para Hyprland (se copian a `~/.config/hypr`). +* `themes/`: Temas personalizados (ej. para Oh My Posh). diff --git a/modules/common.sh b/modules/common.sh index e1a0a4b..5c2a444 100755 --- a/modules/common.sh +++ b/modules/common.sh @@ -13,6 +13,9 @@ CYAN='\033[0;36m' NC='\033[0m' # No Color BOLD='\033[1m' +# Directorio de dotfiles personales +DOTFILES_DIR="${HOME}/Work/code/mg_dotfiles" + # Funciones de logging _maybe_clear_spinner() { if declare -F spinner_clear_line >/dev/null; then diff --git a/modules/hyprland-config.sh b/modules/hyprland-config.sh index d90caa7..401ddca 100755 --- a/modules/hyprland-config.sh +++ b/modules/hyprland-config.sh @@ -12,19 +12,19 @@ source "${SCRIPT_DIR}/icon_manager.sh" run_module_main() { log_step "Instalación de Configuración de Hyprland" - # --- 1. Copiar archivos de configuración --- - # La configuración de Hyprland debe estar en una carpeta 'hypr_config' en la raíz del repo - local source_dir="${SCRIPT_DIR}/../hypr_config" + # --- 1. Determinar origen de configuración --- + # Usar mg_dotfiles + local source_dir="${DOTFILES_DIR}/omarchy/hypr" local dest_dir="$HOME/.config/hypr" if [[ ! -d "$source_dir" ]]; then - log_error "No se encontró el directorio de configuración 'hypr_config' en la raíz del repositorio." - log_info "Asegúrate de que la carpeta con tu configuración se llame 'hypr_config'." + log_error "No se encontró la configuración en '${source_dir}'." + log_info "Asegúrate de tener clonado el repositorio 'mg_dotfiles' en la ruta esperada." return 1 fi # Crear copia de seguridad si ya existe una configuración - if [[ -d "$dest_dir" ]]; then + if [[ -d "$dest_dir" ]] && [[ ! -L "$dest_dir" ]]; then local backup_dir="${dest_dir}.bak_$(date +%F_%T)" log_warning "Configuración de Hyprland existente encontrada." log_info "Creando copia de seguridad en: ${backup_dir}" @@ -36,9 +36,15 @@ run_module_main() { fi fi - log_info "Copiando la configuración de Hyprland a ${dest_dir}..." - # Usamos rsync para una copia eficiente - rsync -a --info=progress2 "$source_dir/" "$dest_dir/" + log_info "Configurando Hyprland desde ${source_dir}..." + if [[ "$source_dir" == "${DOTFILES_DIR}/omarchy/hypr" ]]; then + log_info "Creando enlace simbólico a tus dotfiles personales..." + ln -sfn "$source_dir" "$dest_dir" + else + log_info "Copiando configuración local (rsync)..." + mkdir -p "$dest_dir" + rsync -a --info=progress2 "$source_dir/" "$dest_dir/" + fi # --- 2. Establecer el tema de iconos por defecto --- log_info "Estableciendo el tema de iconos por defecto (Tela Nord)..." diff --git a/modules/zsh-config.sh b/modules/zsh-config.sh index 7dadc58..3d2550a 100755 --- a/modules/zsh-config.sh +++ b/modules/zsh-config.sh @@ -144,44 +144,37 @@ install_zsh() { ensure_omz_plugin "zsh-autosuggestions" "https://github.com/zsh-users/zsh-autosuggestions.git" ensure_omz_plugin "zsh-syntax-highlighting" "https://github.com/zsh-users/zsh-syntax-highlighting.git" - # --- 3. Descargar y configurar el .zshrc personalizado --- - log_info "Actualizando configuración .zshrc..." - local repo_zshrc_path="${SCRIPT_DIR_ROOT}/.zshrc" - local tmp_download="${target_home}/.zshrc.omarchy-tmp" - local source_file="" - - if zsh_download_with_timeout "${REPO_BASE}/.zshrc" "$tmp_download" && [[ -s "$tmp_download" ]]; then - source_file="$tmp_download" - log_success "Configuración .zshrc descargada desde el repositorio remoto." - else - rm -f "$tmp_download" - if [[ -f "$repo_zshrc_path" ]]; then - log_warning "No se pudo descargar .zshrc. Usando la copia local del repositorio." - source_file="$repo_zshrc_path" - else - log_error "No se pudo obtener la configuración .zshrc (sin red y sin copia local)." - return 1 - fi + # --- 3. Enlazar configuración .zshrc --- + log_info "Configurando .zshrc..." + local repo_zshrc_path="${DOTFILES_DIR}/zsh/.zshrc" + local repo_help_path="${DOTFILES_DIR}/zsh/.zshrc.help" + local repo_funcs_path="${DOTFILES_DIR}/zsh/.zsh_functions" + + if [[ ! -f "$repo_zshrc_path" ]]; then + log_error "No se encontró .zshrc en '${repo_zshrc_path}'." + return 1 fi - # Crear copia de seguridad antes de sobrescribir - backup_file "${target_home}/.zshrc" || { rm -f "$tmp_download"; return 1; } + # Crear copia de seguridad antes de proceder + backup_file "${target_home}/.zshrc" || return 1 - if [[ "$source_file" == "$tmp_download" ]]; then - if mv "$tmp_download" "${target_home}/.zshrc"; then - log_success "Archivo .zshrc actualizado." - else - rm -f "$tmp_download" - log_error "No se pudo mover el archivo .zshrc descargado." - return 1 - fi - else - if cp "$source_file" "${target_home}/.zshrc"; then - log_success "Archivo .zshrc actualizado desde la copia local." - else - log_error "No se pudo copiar la configuración .zshrc local." - return 1 - fi + log_success "Enlazando .zshrc desde mg_dotfiles..." + ln -sf "$repo_zshrc_path" "${target_home}/.zshrc" + + # Enlazar también el archivo de ayuda si existe + if [[ -f "$repo_help_path" ]]; then + ln -sf "$repo_help_path" "${target_home}/.zshrc.help" + fi + + # Enlazar funciones si el directorio existe + if [[ -d "$repo_funcs_path" ]]; then + mkdir -p "${target_home}/.zsh_functions" + for func_file in "$repo_funcs_path"/*.zsh; do + if [[ -f "$func_file" ]]; then + ln -sf "$func_file" "${target_home}/.zsh_functions/$(basename "$func_file")" + fi + done + log_success "Funciones de Zsh enlazadas." fi # --- 4. Descargar el tema de Oh My Posh ---