“Dos cosas que venía postergando: la gente en Windows preguntaba si peektea corría en WSL. Ahora sí. Y ‘compílalo desde el source’ era una pésima historia de instalación. Eso también está arreglado.”
El desarrollador Maneshwar —creador de git-lrc, un micro revisor de código con IA— acaba de lanzar dos mejoras importantes para peektea, su herramienta de visualización de archivos para terminal: soporte nativo para WSL y un instalador de una sola línea.
Soporte para WSL
WSL es Linux. peektea corre en Linux. Hasta ahí todo bien.
El problema estaba en la tecla o, que abre archivos. En una máquina Linux normal, presionar o sobre una imagen lanza feh o eog. Pero en WSL no hay apps GUI de Linux. La llamada fallaba en silencio.
peektea ahora detecta WSL al iniciar:
func IsWSL() bool {
if os.Getenv("WSL_DISTRO_NAME") != "" {
return true
}
data, err := os.ReadFile("/proc/version")
return err == nil && strings.Contains(strings.ToLower(string(data)), "microsoft")
}
Cuando detecta WSL, la apertura de archivos se enruta por wslview (de wslu) si está instalado, o cae en explorer.exe:
func WSLOpener() string {
if _, err := exec.LookPath("wslview"); err == nil {
return "wslview"
}
if _, err := exec.LookPath("explorer.exe"); err == nil {
return "explorer.exe"
}
if _, err := os.Stat("/mnt/c/Windows/explorer.exe"); err == nil {
return "/mnt/c/Windows/explorer.exe"
}
return ""
}
Hay un detalle adicional: los programas de Windows no entienden rutas Linux como /home/taco/file.png. Necesitan rutas UNC como \\wsl.localhost\Ubuntu\home\taco\file.png. WSL incluye wslpath justo para esto:
func WindowsPath(path string) string {
out, err := exec.Command("wslpath", "-w", path).Output()
if err != nil {
return path
}
return strings.TrimSpace(string(out))
}
Cuando el opener configurado termina en .exe, la ruta se convierte antes de ejecutar el comando. wslview maneja la conversión por sí mismo, así que solo lo necesita el explorer.exe crudo.
peektea init en WSL
peektea init en una máquina Linux normal te pide elegir editor de texto, administrador de archivos, visor de imágenes y visor de PDF entre lo instalado. En WSL típicamente no hay apps GUI de Linux. Pedirte que elijas entre cero opciones no es una gran experiencia.
Así que en WSL, init saltea esas categorías y configura el opener de Windows como fallback en lugar de xdg-open. Igual obtienes la configuración completa de editores de texto (vim, nvim, nano —funcionan perfecto en WSL), y el lado Windows maneja todo lo visual.
De paso, peektea init se volvió más inteligente en general. Si rechazas el prompt de “ya existe, ¿sobrescribir?”, ahora mantiene tu configuración y continúa con el chequeo de chafa. Podés re-ejecutar peektea init en cualquier momento solo para instalar extras sin destruir tu setup.
Y si chafa no está instalado, ya no solo imprime el comando de instalación — ofrece ejecutarlo:
── Image previews
chafa not found — renders images right in the terminal (the `p` preview).
Install it now? (sudo apt install -y chafa) [Y/n]:
Detecta tu gestor de paquetes (apt, dnf, pacman, zypper, apk, brew) y ejecuta el comando correcto. Enter vacío significa sí.
Instalación en una línea
El otro problema resuelto: el único método de instalación era clonar el repo y correr make install. Eso requiere Go, git, y saber dónde está ~/go/bin. Demasiada fricción para una herramienta que se supone que “simplemente funciona”.
peektea ahora publica binarios pre-compilados para Linux y macOS (x86-64 y arm64) en cada release.
One-liner:
curl -fsSL https://raw.githubusercontent.com/lovestaco/peektea/master/scripts/install.sh | sh
El script detecta tu SO y arquitectura, descarga el binario correcto del último release, y lo instala en ~/.local/bin o /usr/local/bin —el que ya esté en tu PATH.
Con Go:
go install github.com/lovestaco/peektea@latest
peektea version ahora funciona correctamente sin importar cómo lo instalaste. Cuando se instala vía go install, el binario lee su propia versión del módulo desde debug.ReadBuildInfo(). Cuando se compila con make install, la versión viene de git describe vía ldflags.
peektea version
# peektea v0.2.1 (linux/amd64)
Para desarrolladores en Windows con WSL, esta actualización elimina la fricción más común: archivos que no se abren y configuraciones rotas. peektea ahora se comporta como un ciudadano de primera clase en el ecosistema WSL, detectando el entorno automáticamente y delegando al lado correcto del sistema.