trynix: Jedes Nix-Paket live im Browser ausführen

Any Nix package, live in the browser

trynix: Jedes Nix-Paket live im Browser ausführen

trynix (trynix.dev) bootet eine Linux-VM in Ihrem Browser-Tab und stellt Ihnen eine Shell mit jedem Paket aus der gesamten nixpkgs-Historie bereit – über 310.000 Versionen. Möglich wird das durch die Kombination aus nixpkgs-multiverse (das Store-Pfade ohne Evaluierung liefert), einem Linux-Kernel in WebAssembly und einem Terminal-Emulator. Die Seite nutzt Caches mit offenem CORS-Header, wie cache.nixos.org oder GitHub Pages, und kann sogar selbst gebaute Store-Pfade ausführen. Techniken wie Snapshot-Resume und Prefetching sorgen für schnelle Startzeiten. Der Autor sieht Anwendungen in Code-Review, Agent-Artefakten, reproduzierbaren Bug-Reports und ausführbarer Dokumentation.

„Works on my machine“ ist jetzt eine URL zur Reproduktion.
  1. yjftsjthsd-h

    > wir können einen Linux-Kernel in WebAssembly ausführen.

    Einen Moment lang dachte ich, jemand hätte einen Port von Linux auf wasm gemacht, aber das ist eigentlich x86_64-Linux in einem wasm-qemu (mit JIT, zugegeben, was die Grenze wohl verschwimmen lässt). Das ist wahrscheinlich viel praktischer.

    ---

    Ich bin begeistert von der Idee, das für Code-Reviews / Bug-Reproduktion / Tutorials / Demos zu nutzen. Offensichtlich bietet Nix bereits die Reproduzierbarkeits-Seite, aber die Ausführung auf jedem Host-System ohne Einrichtung und mit robustem Sandboxing sollte den praktischen Nutzen wirklich verbessern. Natives Nix bietet dir weder "Probiere diese Software aus, indem du auf einen Link klickst, und es funktioniert ohne Installation", noch "Hier ist völlig unvertrauenswürdiger Code, den jemand von dir ausführen lassen möchte, und das ist in Ordnung, weil er in einem Browser-Tab läuft".

  2. easterncalculus

    Scheint sehr cool zu sein. Ich frage mich, was der nächste Schritt für die Leistung hier wäre. Python auszuprobieren, wie vorgeschlagen, ist bisher ziemlich langsam.

    ~ # time python3 hello.py

    Hello World!

    real 0m 5.48s

    user 0m 4.11s

    sys 0m 1.24s

  3. orangea

    > Beim ersten Ausführen einer Binärdatei wird diese von x86_64 nach WebAssembly übersetzt, und das dauert.

    Wenn die Binärdatei unter einem echten x64-Linux-Kernel läuft, der in qemu läuft, würde das nicht bedeuten, dass die Binärdatei nie nach wasm übersetzt wird?

Mehr von diesem Tag

2026-09-06