让任意 Nix 包在浏览器标签页里跑起来:trynix 汇总 31 万历史版本
来源: fzakaria.com — 2026-09-04
概述
Farid Zakaria 把他多年 Nix 工作(nixpkgs-multiverse 索引全部历史版本、grail 教会版本范围、omniflake 一次性添加一万六千个 flake)攒成了一件杰作 trynix:一个纯静态页面的浏览器版 Nix 包运行器。它把 nixpkgs 史上 31 万多个包版本跑进一个在标签页里启动的 Linux 虚拟机——内存里的 Nix store + 编译到 WebAssembly 的 Linux 内核 + 页面里的终端模拟器。最妙的是没有后端服务器:只要缓存开启了 access-control-allow-origin:*,任何你自己构建的 store path 都能被人分享并在浏览器里秒启动。
核心要点
- 页面里跑一个真正的 x86_64 Linux 内核(WebAssembly 版 QEMU),可浏览并运行 31 万余个 nixpkgs 包版本
- 整个站点纯静态无服务器:store 是内存里的 Nix store,二进制来自任何开放 CORS 的缓存
- 支持自定义 store path 分享——哪怕这个包从未进过官方缓存,也能在别人的浏览器标签页里启动
- 靠预取引擎+VM 快照续跑而非每次冷启动,把「到 shell」的时间压到几秒内
金句
It is a Nix store in memory, a Linux kernel in WebAssembly, and a terminal emulator in the page.
👍 0
👎 0
返回 Lobsters 首页