BookinglyTech News
Software

Trynix permite ejecutar cualquier paquete Nix en el navegador sin instalar nada

Con trynix.dev puedes lanzar una máquina virtual basada en WebAssembly, cargar cualquier versión de un paquete Nix y usarlo en una terminal embebida. La herramienta aprovecha caches públicas como GitHub Pages y Cachix para obtener los store

2 min de lecturaLobsters0 vistas

Trynix.dev es una demo que convierte tu pestaña en una máquina virtual Linux que corre en WebAssembly. Cuando seleccionas un paquete, el sitio consulta un cache público –por ejemplo GitHub Pages– que expone los store‑paths de Nix con access-control-allow-origin: *. El navegador descarga el binario y lo monta en el Nix store en memoria, lo que permite ejecutar la herramienta sin instalar nada localmente.

El proyecto se basa en varios componentes clave: nixpkgs-multiverse para mapear cada versión de cada paquete a su store‑path, omniflake para consolidar miles de flakes en una sola entrada, y qemu-wasm para ejecutar el kernel x86_64 en el navegador. Cuando haces clic en un paquete, el cliente ya ha pre‑cargado el motor QEMU y una instantánea de la VM; solo falta descargar la cerradura del store‑path seleccionado, lo que reduce el tiempo de arranque a segundos.

Una de las características más interesantes es que no estás limitado a los cachés públicos de NixOS. Si compartes un store‑path generado por ti, cualquiera puede arrancar la misma VM en su navegador siempre que el caché sirva con los encabezados CORS apropiados. Esto abre posibilidades para compartir entornos reproducibles sin necesidad de configurar un propio caché.

El rendimiento, aunque mejorado con la pre‑carga y el uso de snapshots, todavía está restringido por la emulación. Ejecutar un binario por primera vez implica la traducción de x86_64 a WebAssembly, lo que introduce una latencia. No obstante, la herramienta permite cargar múltiples versiones de un mismo paquete simultáneamente; cada ejecutable mantiene sus dependencias absolutas, evitando conflictos.

Para probarlo basta con visitar https://trynix.dev, elegir un paquete como hello 3.6.2 o python 3.6.2, y observar cómo la VM arranca en la pestaña. Puedes explorar más de 310.000 versiones de paquetes de nixpkgs, y ejecutar cualquier comando en una consola serial.

Trynix demuestra que el navegador puede convertirse en un cliente Nix completo, lo que facilita la demostración de paquetes, la enseñanza y la experimentación sin instalar nada. La próxima iteración podría reducir aún más la latencia de la emulación y ampliar el soporte a paquetes con interfaces gráficas.