NVIDIA的DGX Spark出厂只装官方Ubuntu系统DGX OS,想用Nix管理CUDA依赖的开发者,以前只能自己手搓配置。GitHub用户graham33放出的开源项目NixOS-DGX-Spark把这件事标准化了:可以只在DGX OS上装Nix跑一批官方开发环境,也可以整机换成NixOS,用声明式配置管理这台迷你AI工作站,同时支持华硕同款硬件Ascent GX10。
这不是NVIDIA官方动作,是个人维护的MIT许可开源项目。真正决定要不要换的,不是能不能装,而是装完之后固件、内核、容器这几道坎能不能过。
固件不松手:装NixOS前得先在DGX OS里“开门”
项目文档写得很直白:出厂固件只有DGX OS能启动。想装NixOS,得先在DGX OS里用fwupd拉取NVIDIA发布到LVFS的固件更新,再去BIOS关掉Secure Boot,才能从USB引导安装。跳过这一步,USB镜像直接装不上。
USB镜像默认带NVIDIA专用内核,GPU和以太网都正常;换成标准NixOS 6.17内核,以太网会出问题。这两点合在一起说明一件事:现在的NixOS方案,硬件层面仍依赖NVIDIA提供的定制内核和固件通道,不是一套完全独立的通用发行版。
对工程师来说,这意味着换系统前最好留一份DGX OS完整可用。固件更新或BIOS设置一旦出错,恢复路径还得靠原厂系统本身,项目本身没提供额外的救援手段。
DGX OS 与 NixOS:两笔不同的账
跟官方DGX OS比,NixOS的强项和短板都很清楚。一张表能看完:
| 维度 | DGX OS | NixOS |
|---|---|---|
| 开机方式 | 出厂固件直接启动 | 需先更新固件、关闭Secure Boot |
| 硬件兼容 | 默认全兼容 | 依赖NVIDIA专用内核,标准内核以太网有问题 |
| 支持渠道 | NVIDIA官方支持 | 社区维护,个人MIT项目 |
| 环境管理 | 手动配置 | 声明式配置,flake级可复现 |
NixOS管的是配置,DGX OS管的是能不能开机。项目还提供nixos-anywhere远程装机功能,但文档里明确标注这个方式“尚未测试,风险自担”,暂时不建议用在生产机器上。
15个官方工作流,只有6个真正“纯Nix”
项目列了15个来自build.nvidia.com/spark的官方playbook,覆盖ComfyUI、PyTorch微调、vLLM推理,在NixOS和DGX OS上都做过测试。但“测试通过”不等于“纯Nix可复现”。
| 类型 | 数量 | 说明 |
|---|---|---|
| 全Nix | 6 | 所有依赖由Nix构建,运行时不再联网拉镜像 |
| 容器方案 | 8 | 环境由Nix搭好,模型/运行时镜像仍在运行时从网络拉取 |
| 混合型 | 1 | CLI工具本身用Nix打包,内部仍调用容器 |
8个容器方案的可复现程度,仍绑定外部镜像仓库能不能访问。真正做到完全离线、完全可复现构建的,目前只有那6个。
正在评估DGX Spark本地开发环境的工程师,可以先在DGX OS上装Nix,跑一遍这15个devshell,确认哪几个是全Nix、哪几个还依赖外部镜像。确认没问题,再决定要不要整机换NixOS。
小团队的生产负载,暂时留在DGX OS更稳妥。项目对多机部署、长期固件维护还没有足够验证,等社区和上游内核支持再往前走一步不迟。
