开发者生态
morning
显示 HN:NixOS-DGX-Spark – DGX Spark 上的 Nix 和 NixOS
摘要
Nix and NixOS on the DGX Spark Try DGX Spark playbooks using Nix on DGX OS, or install NixOS on your DGX Spark for the full Nix experience. The repository provides USB images and a NixOS module with s...
the
DGX
NixOS
Nix
and
nix
Spark
playbooks
install
for
2026-08-03
1 阅读
约4分钟阅读
graham33
字号:
DGX Spark 上的 Nix 和 NixOS 在 DGX OS 上使用 Nix 尝试 DGX Spark playbook,或者在 DGX Spark 上安装 NixOS 以获得完整的 Nix 体验。该存储库提供 USB 映像和 NixOS 模块以及 DGX Spark 系统的设置。这适用于 NVIDIA DGX Spark 本身以及 Asus Ascent GX10。请参阅 Planet Nix 的 5 分钟闪电演讲,了解简介:https://youtu.be/AvK_gi_snJE?si=MPKv3iiuS9B5elIE 在 DGX 操作系统 (Ubuntu) 上使用 Nix 您可以在 NVIDIA DGX 操作系统 (Ubuntu) 上使用此存储库中的开发 shell 和 playbook,而无需安装 NixOS。使用官方安装程序安装 Nix:sh <(curl -L https://nixos.org/nix/install) --daemon 或者,您可以使用确定的 Nix 安装程序:curl --proto '=https ' --tlsv1.2 -sSf -L https://install.definate.systems/nix | sh -s -- install 通过添加到 /etc/nix/nix.conf 来启用 flakes 和 nix-command :experimental-features = nix-command flakes 启用 graham33 Cachix 缓存 - 请参阅下面的缓存。在非 NixOS 上运行(例如 DGX OS) 在非 NixOS 系统上,Nix 构建的 CUDA 应用程序需要 nix-gl-host 来查找主机 GPU 驱动程序。 Playbook devshell 会自动处理这个问题——基于容器的 Playbook 不需要它,而 Nix 本机 Playbook 使用 nixglhost 包装其命令,因此不需要手动干预。对于其他 devshell(例如 cuda ), nixglhost 可用并且可用于手动为命令添加前缀: nixdevelop 。 # cuda nixglhost deviceQuery 警告 只有 DGX 操作系统可以从工厂固件启动。安装 NixOS 之前需要更新固件。构建 USB 映像:nix build 。 # usb-image sudo dd if= $( echo result/iso/ * .iso ) of=/dev/your_usb_disk_device bs=1M status=progresssync 该映像包含两个内核选项,可从 GRUB 启动菜单中选择: NixOS(默认) - NVIDIA 的 DGX Spark 专用内核,具有完整的 GPU 支持和工作以太网 NixOS(标准内核) - 标准 NixOS 6.17 内核(以太网有问题) 禁用DGX Spark BIOS 中的安全启动并从 USB 驱动器启动。然后,您可以按照 NixOS 手册中的安装说明进行操作:https://nixos.org/manual/nixos/stable/#sec-installation-manual 使用 DGX Spark 模块 此模块提供可配置的 DGX Spark 硬件支持以及内核选择选项。模块配置选项硬件。 dgx-spark = { 启用 = true ; # 启用 DGX Spark 硬件支持 useNvidiaKernel = true ; # 使用 NVIDIA 内核(默认值:true) } ;硬件 。 dgx-spark 。启用=真; # 默认使用 NVIDIA 内核 NVIDIA 内核是针对 NVIDIA DGX Spark 系统优化的自定义构建。内核配置是根据 NVIDIA 的 Debian 注释生成的,并与 NixOS 默认值进行比较,以生成最小的、可维护的配置。该模块还启用了位于 http://localhost:11000 的 DGX Dashboard Web 界面,提供 GPU 遥测和系统监控。使用标准 NixOS 内核(存在一些网络问题)硬件。 dgx-spark = { 启用 = true ;使用NvidiaKernel = false; # 使用标准 NixOS 6.17 内核 } ;内核配置管理 内核配置是根据 NVIDIA 的 Debian 注释生成的,并存储在 kernel-configs/nvidia-dgx-spark-.nix 中。这种简洁的配置仅包含与 NixOS 默认值不同的选项,将冗长程度减少了约 82%。要重新生成内核配置: nix run 。 #generate-kernel-config 此:从 GitHub 获取 NVIDIA 内核源代码 构建 NixOS 基准内核配置 将 NVIDIA 注释与 NixOS 默认值进行比较 生成仅包含差异的简洁配置文件 在以下情况下需要重新生成: NVIDIA 内核版本更改(更新 kernel-configs/nvidia-kernel-source.nix ) NixOS 通用配置更改(nixpkgs 更新) 您还可以使用本地内核源进行开发: nix run 。 #generate-kernel-config -- --kernel-source /path/to/NV-Kernels 在其他项目中导入 其他项目可以导入此 flake 并使用 DGX Spark 模块: { input . dgx-spark 。 url = "github:graham33/nixos-dgx-spark" ;输出 = { nixpkgs , dgx-spark , ... } : { nixosConfigurations . mySystem = nixpkgs 。库。 nixosSystem { 模块 = [ dgx-spark . nixos 模块。 dgx-spark { # 启用 DGX Spark 支持硬件。 dgx-spark 。启用=真; # 可选择使用标准内核:useNvidiaKernel = false; } # 你的其他模块]; }; }; } 快速启动 NixOS 模板 对于专为 DGX Spark 系统设计的完整 NixOS 配置模板,您可以使用该模板: # 为您的 NixOS 配置创建一个新目录 mkdir my-dgx-spark-config cd my-dgx-spark-config # 使用 DGX Spark 模板进行初始化 nix flake init -t github:graham33/nixos-dgx-spark#dgx-spark 这将创建一个完整的 NixOS 配置其中: flake.nix - 导入 DGX Spark 模块的 Flake 配置 configuration.nix - 针对 DGX Spark 优化的主系统配置 hardware-configuration.nix - 硬件配置模板 初始化模板后,您需要: 生
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱