Skip to content
◀ Exit Level 30 ★★☆☆☆ Time 4 min

Stage 30 — TERMINAL

Terminal en WSL2 con zsh, tmux y herdr: la serie

Published: at 16:00

Durante años mi terminal fue la de casi todo el mundo que programa en Windows: WSL2, Ubuntu, zsh con Oh My Zsh y tmux encima. Funcionaba. Luego empecé a tener tres o cuatro agentes de código corriendo a la vez —Claude Code en un proyecto, Antigravity en otro, un tercero revisando un PR— y tmux empezó a quedarse corto en una cosa concreta: no sabe qué está pasando dentro de sus panes. Un agente esperando que le apruebes un comando y un agente que terminó hace diez minutos se ven exactamente igual.

Ahí entró herdr, un multiplexor de terminal pensado para agentes. No lo cambio por tmux en todos lados, y esta serie explica por qué.

Table of contents

Open Table of contents

Qué es esta serie

Es la configuración que uso a diario, explicada pieza por pieza, con sus defectos. No es una lista de “los 20 plugins de zsh que necesitas”. Cada decisión viene con el problema que resuelve, y cuando algo no vale la pena lo digo.

El stack completo:

CapaHerramientaPara qué
SistemaWSL2 + UbuntuLinux de verdad sin dejar Windows
EmuladorWindows TerminalDibuja la ventana, las fuentes y los colores
Shellzsh + Oh My Zsh + starshipEl prompt, el historial, los alias, las funciones
Multiplexortmux o herdrPanes, pestañas y sesiones que sobreviven al cierre
AgentesClaude Code, Antigravity CLI…Lo que corre dentro de los panes

La pregunta “¿zsh o herdr?” no tiene sentido: son capas distintas. zsh es la shell que corre dentro de cada pane; tmux y herdr son los que reparten la pantalla en panes. La pregunta real es tmux o herdr, y la respuesta corta es: los dos, cada uno donde gana.

Lo que la serie asume de ti

Que sabes moverte en una terminal Linux (cd, ls, editar un archivo) y que tienes Windows 10/11 con WSL2 o un Linux nativo. Todo lo que no es específico de WSL funciona igual en Ubuntu, Debian o Fedora.

Si vas a usar herdr con agentes, conviene haber usado alguno en serio. La serie de Claude Code para frontend engineers es buen punto de partida.

Qué recorre la serie

Siete artículos después de este, en el orden en que se instala una máquina nueva.

WSL2 listo para desarrollar — wsl.conf, .wslconfig, systemd, cuánta RAM darle, por qué el código vive en ~ y nunca en /mnt/c, y cómo dejar Windows Terminal con una Nerd Font.

Un .zshrc modular que se entiende — Oh My Zsh sin tema, starship como prompt, .zshenv contra .zshrc, un directorio conf.d/ con un archivo por responsabilidad, nvm cargado bajo demanda y alias de proyectos que se generan solos.

ssh-agent en WSL2 con varios panes — el bug que te pide la passphrase en cada git push cuando usas un multiplexor, por qué pasa, y cómo arreglarlo con un socket fijo de systemd.

tmux en WSL2: la configuración que vale la pena — prefijo, splits que heredan el directorio, copiar al portapapeles de Windows, resurrect y continuum. Y lo que tmux sigue haciendo mejor que nadie.

herdr: instalar y configurar — el modelo servidor/cliente, config.toml, atajos, popups, la barra lateral y cómo arrancarlo automáticamente desde .zshrc sin romper VS Code.

herdr con agentes y git worktrees — estados de agente, integraciones, notificaciones, la CLI que devuelve JSON y un comando swarm que abre un agente por rama en worktrees aislados.

herdr vs tmux: ventajas, desventajas y cuándo usar cada uno — la comparación honesta, con números de memoria medidos, el riesgo de apostar por una herramienta pre-1.0 y cómo hacer que convivan en la misma máquina.

La forma corta, si tienes prisa

Si solo vas a leer tres: WSL2 → .zshrc modular → herdr vs tmux. Con eso tienes la base bien puesta y sabes qué multiplexor te conviene. Si la respuesta es herdr, sigue con los dos artículos de herdr.

Todo está en un repo de dotfiles

Nada de esto se configura a mano en cada máquina. Vive en un repositorio ~/dotfiles con dos scripts:

./bootstrap.sh   # instala programas: apt, oh-my-zsh, starship, tpm, nvm, herdr…
./install.sh     # crea los symlinks: ~/.zshrc → ~/dotfiles/zsh/zshrc, etc.

Los dos son idempotentes: puedes correrlos diez veces y el resultado es el mismo. Una máquina nueva queda lista en un cuarto de hora. Lo menciono porque es la diferencia entre una configuración que mantienes y una que se pudre: si cambias algo en ~/.zshrc directamente, se pierde en la próxima máquina.

Empieza aquí

El primer artículo deja WSL2 bien configurado. Es la parte más aburrida y la que más problemas raros evita después.


Parte de la serie Terminal en WSL2: zsh, tmux y herdr. Si quieres un entorno así montado para tu equipo —dotfiles compartidos, bootstrap reproducible y agentes trabajando en paralelo— cuéntame el caso o mira en qué trabajo.

Serie

Terminal en WSL2: zsh, tmux y herdr

Parte 01 de 08

  1. Terminal en WSL2 con zsh, tmux y herdr: la serie (estás aquí)
  2. WSL2 para desarrollar: wsl.conf y .wslconfig
  3. Un .zshrc modular: Oh My Zsh, starship y conf.d
  4. ssh-agent en WSL2 con tmux o herdr sin passphrase
  5. tmux en WSL2: configuración y portapapeles
  6. herdr: instalar y configurar en Linux y WSL2
  7. herdr con agentes de código y git worktrees
  8. herdr vs tmux: ventajas, desventajas y cuál usar
Continue ▶ WSL2 para desarrollar: wsl.conf y .wslconfig

Power-ups

Level complete

¿Te sirvió? Compártelo y sigue con el siguiente nivel.