← На главную

Nix и NixOS добрались до NVIDIA DGX Spark и Asus Ascent GX10

02.08.2026 17:05 · hackernews

Репозиторий graham33/nixos-dgx-spark приносит Nix и NixOS на NVIDIA DGX Spark и Asus Ascent GX10. В нём есть USB-образы, NixOS-модуль с настройками для этих систем и девшеллы для плейбуков NVIDIA.

Если не хочется менять систему, можно поставить Nix поверх DGX OS (Ubuntu) официальным инсталлятором или через Determinate Nix Installer. Потом нужно включить nix-command и flakes в /etc/nix/nix.conf и добавить кэш graham33 Cachix. Для CUDA-приложений на не-NixOS системах нужен nix-gl-host, чтобы найти GPU-драйверы. В плейбуках это обычно уже настроено: контейнеры не требуют, а Nix-native команды оборачиваются через nixglhost. Для остальных девшеллов можно запускать вручную: nixglhost deviceQuery.

Для полного погружения — установка NixOS. Только DGX OS умеет грузиться с заводской прошивки, поэтому перед установкой нужно обновить её. Дальше собираем USB-образ через nix build .#usb-image и записываем dd. В GRUB два варианта: NixOS с фирменным NVIDIA-ядром для DGX Spark (полная поддержка GPU и рабочий Ethernet) и стандартный NixOS 6.17 (с Ethernet проблемы). Secure Boot отключаем.

Модуль hardware.dgx-spark включает поддержку железа и по умолчанию использует NVIDIA-ядро. Его конфигурация генерируется из Debian-аннотаций NVIDIA и сравнения с дефолтами NixOS — в итоге файл содержит только отличия, что сокращает объём примерно на 82%. Перегенерировать можно командой nix run .#generate-kernel-config. Модуль также поднимает веб-интерфейс DGX Dashboard на http://localhost:11000 для телеметрии GPU и мониторинга. Для быстрого старта есть шаблон nix flake init -t github:graham33/nixos-dgx-spark#dgx-spark, который создаёт flake.nix, configuration.nix и hardware-configuration.nix с заглушками UUID — их нужно заменить реальными из nixos-generate-config. Поддерживается и экспериментальная удалённая установка через nixos-anywhere: команда размечает NVMe и ставит NixOS по SSH.

В репозитории есть девшеллы для плейбуков с build.nvidia.com/spark: ComfyUI, Connect Two Sparks, FLUX.1 Dreambooth, Multi-Agent Chatbot, NCCL, NVFP4, OpenShell, PyTorch Fine-tuning, Speculative Decoding, TRT-LLM, vLLM и другие. Они бывают трёх типов: полностью на Nix, в контейнерах через podman и гибридные. Для aarch64-linux рекомендуется кэш Flox с готовыми CUDA-пакетами — cudatoolkit, nccl, cuDNN, PyTorch. Для модуля DGX Spark кэш подключается автоматически, для обычного Nix нужно прописать substituter и ключ в nix.conf. Весь код под лицензией MIT.

Читать оригинал →