Setup compatible con Linux Hyprland, Windows y WSL | LazyVim Starter Template
- Atajos Principales
- Instalación Rápida
- Configuración por Plataforma
- IA · Compleción y Usage
- Sincronización Automática
- PowerToys Setup
- Estructura del Proyecto
- Recursos Adicionales
| Atajo | Acción | Descripción |
|---|---|---|
Shift + L |
Alt Tab → | Cambiar buffer siguiente |
Shift + H |
Alt Tab ← | Cambiar buffer anterior |
💡 Estos atajos emulan Alt+Tab de tu sistema, pero dentro de Neovim
git clone https://github.com/dizzi1222/dotfiles-wsl-dizzi/
cd dotfiles-wsl-dizzi| 🐧 Linux (Hyprland) | 🪟 Windows | 🔷 WSL (Arch/Debian) |
|---|---|---|
|
Enlaces Simbólicos (Optimizado) ln -sf ~/dotfiles-wsl-dizzi/nvim \
~/.config/nvim✅ Usa symlinks nativos |
Sincronización Manual # PowerShell
.\sync-nvim-pwshWindows.ps1# Git Bash
./setup.sh
|
Sincronización WSL ./sync-nvim.sh
|
| Script | Plataforma | Función |
|---|---|---|
setup.sh |
Windows (Git Bash) | Configura Neovim en C:\Users\Diego\AppData\Local\nvim |
sync-nvim.sh |
WSL (Linux) | Sincroniza Windows → WSL sin symlinks |
sync-nvim-pwshWindows.ps1 |
Windows (PowerShell) | Alternativa PowerShell para usuarios Windows |
┌─────────────────────────────────────────────────────────────┐
│ C:\Users\Diego\AppData\Local\nvim │
│ (Config principal Windows) │
└────────────────────┬────────────────────────────────────────┘
│
│ sync-nvim.sh
↓
┌─────────────────────────────────────────────────────────────┐
│ \\wsl.localhost\archlinux\root\.config\nvim\lua\plugins │
│ (Config sincronizada WSL) │
└─────────────────────────────────────────────────────────────┘
Linux Nativo:
# ✅ FUNCIONA - Optimizado y sin lag
ln -sf ~/.config/nvim ~/dotfilesWindows/WSL:
# ❌ NO HACER - Lag extremo al leer desde /mnt/c/
ln -s /mnt/c/Users/Diego/AppData/Local/nvim ~/.config/nvim
# ✅ HACER - Copiar archivos nativos
./sync-nvim.sh # Copia real, sin enlacesRazón técnica: WSL tiene overhead masivo al acceder a /mnt/c/ mediante symlinks. La sincronización manual copia archivos al sistema de archivos nativo de WSL, eliminando el lag.
Panorama de los motores de IA en esta config (Linux). Los ajustes finos viven
en lua/plugins/*.lua; acá está el mapa de quién alimenta cada cosa.
| Motor | Archivo | Backend | Modo |
|---|---|---|---|
| Copilot (NES) | lua/plugins/copilot.lua |
GitHub Copilot (copilot.lua + copilot-lsp) |
Inline en INSERT + líneas verdes predictivas en NORMAL (NES) |
| neocodeium | lua/plugins/neocodeium.lua |
Windsurf/Codeium (gratis, :NeoCodeium auth) |
Inline, Alt en vez de <Tab> |
| Supermaven | lua/plugins/supermaven.lua |
Supermaven (gratis) | Inline con <Tab> |
| neocursor | lua/plugins/neocursor.lua |
dizzi1222/neocursor.nvim + sidecar_antigravity.py |
Cursor Tab-Tab-Tab (ver nota abajo) |
neocursor (reciente): usa el backend de completions de Antigravity/Google (
/v1internal:streamGenerateContentcontab_flash_lite_previewy tu OAuth). El sidecar vive en el forkdizzi1222/neocursor.nvim: el ghost se extrae por match de prefix cercano al cursor + anchor de coherencia, y el "siguiente edit" se ubica con difflib en su posición real (jump Tab). Elcapture_anty_token.sh(token OAuth) es multi-OS (openssl del sistema, fallback Nix). La cuota del TAB es una pool separada e invisible — ver Usage.
Soporte de lenguajes del sidecar (lang_for_path en sidecar_antigravity.py):
el prompt del tab anuncia el lenguaje del archivo al modelo como cabecera
("This is a TypeScript file.") para orientarlo mejor que un rol genérico:
return {
".ts": "TypeScript", ".tsx": "TypeScript/React",
".js": "JavaScript", ".jsx": "JavaScript/React",
".py": "Python", ".rs": "Rust", ".go": "Go",
".java": "Java", ".c": "C", ".h": "C", ".cpp": "C++",
".hpp": "C++", ".cs": "C#", ".rb": "Ruby", ".php": "PHP",
".swift": "Swift", ".kt": "Kotlin", ".lua": "Lua",
".sh": "Shell", ".bash": "Shell", ".zsh": "Shell",
".css": "CSS", ".scss": "SCSS", ".html": "HTML",
".json": "JSON", ".md": "Markdown",
}Extensión desconocida → no se anuncia lenguaje (cabecera vacía).
| Motor | Fuente | Qué muestra |
|---|---|---|
antigravity_usage.py |
RPC retrieveUserQuotaSummary |
Cuota del agente de agy por grupo (Gemini / Claude+GPT) |
cursor_usage.py |
RPC de Cursor | Plan de Cursor |
agy /usage (TUI) |
anty_usage_float() |
agy /usage en float-terminal |
retrieveUserQuotaSummary / retrieveUserQuota) solo exponen modelos de
chat; el SSE del tab devuelve únicamente usageMetadata (tokens por request)
sin límite ni barra. Los % que ves en agy /usage son del agente, no del
tab — por eso el tab puede seguir respondiendo con la cuota del agente en 0%.
Para tener una experiencia similar a Linux en Windows, utiliza PowerToys con mi configuración personalizada.
# Clonar repositorio de PowerToys
git clone https://github.com/dizzi1222/GLAZE-WM-make-windows-pretty-main-dizzi
cd GLAZE-WM-make-windows-pretty-main-dizzi- Abre PowerToys
- Ve a General → Backup & Restore
- Selecciona Restaurar
- Carga el archivo:
settings_134107811922822208.ptb
📂 Ubicación de Config:
[Config de Powertoys] = General, Restaurar\settings_134107811922822208.ptb
dotfiles-wsl-dizzi/
├── nvim/ # Configuración Neovim
│ ├── lua/
│ │ ├── config/ # Configuraciones base
│ │ └── plugins/ # Plugins LazyVim
│ │ └── disabled.lua # ⚠️ IAs deshabilitadas
│ └── init.lua # Punto de entrada
│
├── setup.sh # Setup Windows (Git Bash)
├── sync-nvim.sh # Sincronización WSL
└── sync-nvim-pwshWindows.ps1 # Sincronización PowerShell
Este proyecto usa LazyVim como base.
Plugins de IA deshabilitados por defecto:
- Revisa:
nvim/lua/plugins/disabled.lua - Habilita los que necesites editando el archivo
- LazyVim Documentation - Guía de instalación completa
- LazyVim Starter - Template base
Si prefieres usar packer.nvim en lugar de LazyVim:
# Revisa el directorio de versiones alternativas
cd nvim-wsl/~ [basura]/README💡 Este proyecto mantiene compatibilidad con packer.nvim para usuarios que prefieran ese gestor de plugins.
| 🐧 Linux/Hyprland | 🪟 Windows/WSL |
|---|---|
|
nvim (Original) Para Linux nativo con Hyprland |
nvim-wsl (Universal) Para Windows y WSL |
# Setup rápido con symlinks
git clone https://github.com/dizzi1222/nvim
ln -sf ~/nvim ~/.config/nvim# PowerShell
git clone https://github.com/dizzi1222/nvim-wsl
cd nvim-wsl
.\sync-nvim-pwshWindows.ps1# Bash en WSL
git clone https://github.com/dizzi1222/dotfiles-wsl-dizzi
cd dotfiles-wsl-dizzi
./sync-nvim.sh# En Linux: usar symlinks
ln -sf ~/.config/nvim ~/dotfiles
# En Windows: sincronización manual
./setup.sh # Primera vez
./sync-nvim-pwshWindows.ps1 # Actualizaciones# Reinstalar plugins
:Lazy sync
:Lazy restore# ❌ Si usaste symlinks a /mnt/c/
rm ~/.config/nvim # Eliminar symlink
# ✅ Usar sincronización nativa
./sync-nvim.sh- Verifica que PowerToys esté actualizado
- Asegúrate de usar la ruta correcta del
.ptb - Reinicia PowerToys después de restaurar

