SaaS & Software·Aug 2, 2026

Show HN: NixOS-DGX-Spark – 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 settings for DGX Spark systems. This works on the NVIDIA DGX Spark itself and also on the Asus Ascent GX10. See my 5 minute lightning talk from Planet Nix for an intro:

Hacker News5 min readSingle source
Show HN: NixOS-DGX-Spark – Nix and NixOS on the DGX Spark
Image · Hacker News
The gist
5-point summary · 1 min

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 settings for DGX Spark systems. This works on the NVIDIA DGX Spark itself and also on the Asus Ascent GX10. See my 5 minute lightning talk from Planet Nix for an intro:

  • Try DGX Spark playbooks using Nix on DGX OS, or install NixOS on your DGX Spark for the full Nix experience.
  • This works on the NVIDIA DGX Spark itself and also on the Asus Ascent GX10.
  • See my 5 minute lightning talk from Planet Nix for an intro: https://youtu.be/AvK_gi_snJE?si=MPKv3iiuS9B5elIE Using Nix on DGX OS (Ubuntu) You can use the dev shells and playbooks in this repo on NVIDIA DGX OS (Ubuntu) without installing NixOS.
  • This terse configuration only contains options that differ from NixOS defaults, reducing verbosity by ~82%.
  • You may want to customise nixos-anywhere/configuration.nix (e.g. to add SSH keys or change the hostname) — clone the repo and point --flake at your local checkout instead.
82%
In this article

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 settings for DGX Spark systems. This works on the NVIDIA DGX Spark itself and also on the Asus Ascent GX10. See my 5 minute lightning talk from Planet Nix for an intro: https://youtu.be/AvK_gi_snJE?si=MPKv3iiuS9B5elIE Using Nix on DGX OS (Ubuntu) You can use the dev shells and playbooks in this repo on NVIDIA DGX OS (Ubuntu) without installing NixOS. Setup Install Nix using the official installer: sh.nix. This terse configuration only contains options that differ from NixOS defaults, reducing verbosity by ~82%. To regenerate the kernel configuration: nix run.#generate-kernel-config This: Fetches the NVIDIA kernel source from GitHub Builds the NixOS baseline kernel config Compares NVIDIA's annotations with NixOS defaults Generates a terse config file with only the differences Regeneration is needed when: NVIDIA kernel version changes (update kernel-configs/nvidia-kernel-source.nix) NixOS common-config changes (nixpkgs update) You can also use a local kernel source for development: nix run.#generate-kernel-config -- --kernel-source /path/to/NV-Kernels Importing in other projects Other projects can import this flake and use the DGX Spark module: { inputs.dgx-spark.url = "github:graham33/nixos-dgx-spark"; outputs = { nixpkgs, dgx-spark,... }: { nixosConfigurations.mySystem = nixpkgs.lib.nixosSystem { modules = [ dgx-spark.nixosModules.dgx-spark { # Enable DGX Spark support hardware.dgx-spark.enable = true; # Optionally use standard kernel: useNvidiaKernel = false; } # your other modules ]; }; }; } Quick start NixOS template For a complete NixOS configuration template specifically designed for DGX Spark systems, you can use the template: # Create a new directory for your NixOS configuration mkdir my-dgx-spark-config cd my-dgx-spark-config # Initialise with the DGX Spark template nix flake init -t github:graham33/nixos-dgx-spark#dgx-spark This creates a complete NixOS configuration with: flake.nix - Flake configuration that imports the DGX Spark module configuration.nix - Main system configuration optimised for DGX Spark hardware-configuration.nix - Hardware configuration template Customising the template After initialising the template, you need to: Generate hardware configuration and update template: # Generate hardware config to a temporary location to get the real UUIDs sudo nixos-generate-config --root /mnt --dir /tmp/nixos-config # Copy the real hardware UUIDs and settings from the generated file # Replace the placeholder UUIDs in hardware-configuration.nix with actual # values from /tmp/nixos-config/hardware-configuration.nix Edit configuration.nix to customise: Change hostname from dgx-spark to your preferred name Update username from nixos to your preferred username Add your SSH public keys for remote access Set your timezone and locale preferences Add any additional packages you need Deploy the configuration to /etc/nixos: # Copy your configuration to /etc/nixos sudo cp -r. /etc/nixos/ # Apply the configuration sudo nixos-rebuild switch --flake /etc/nixos#dgx-spark Firmware updates As noted in #32, only DGX OS can boot from the factory firmware. If NixOS can't boot from the factory firmware, you need to update firmware from DGX OS first. The module enables fwupd for firmware updates. NVIDIA publishes DGX Spark firmware to the Linux Vendor Firmware Service (LVFS). To check for available updates: fwupdmgr get-updates To install available updates: fwupdmgr update Playbooks This repository includes devshells for NVIDIA DGX Spark playbooks from https://build.nvidia.com/spark: Playbook Description Type Tested on NixOS Tested on DGX OS ComfyUI Run ComfyUI with Stable Diffusion 1.5 for AI image generation 🟢 Full Nix² ✅ ✅ Connect Two Sparks Connect two DGX Spark systems via QSFP 🟢 Full Nix² ✅ ☑️¹ DGX Dashboard Set up DGX Dashboard for system monitoring 🟢 Full Nix² ✅ ☑️¹ FLUX.1 Dreambooth FLUX.1 Dreambooth LoRA fine-tuning 🟠 Container³ ✅ ✅ Multi-Agent Chatbot Build and deploy a multi-agent chatbot 🟠 Container³ ✅ ✅ Multi-modal Inference Run multi-modal inference with vision-language models 🟠 Container³ ✅ ✅ NCCL for Two Sparks Multi-node GPU communication with NCCL 🟢 Full Nix² ✅ ☑️¹ NVFP4 FP4 model quantisation with TensorRT Model Optimizer 🟠 Container³ ✅ OpenShell Secure long-running AI agents with OpenShell sandbox 🔵 Nix + Container⁴ ✅ PyTorch Fine-tuning Container Fine-tune models with PyTorch on DGX Spark 🟠 Container³ ✅ PyTorch Fine-tuning Nix Fine-tune models with PyTorch (Nix native, no containers) 🟢 Full Nix² ✅ ✅ Speculative Decoding Speculative decoding for faster inference 🟠 Container³ ✅ TRT-LLM TensorRT-LLM for optimised inference 🟠 Container³ ✅ ✅ vLLM Container Run vLLM inference server with Qwen2.5-Math-1.5B-Instruct model 🟠 Container³ ✅ ✅ vLLM Nix Run vLLM inference server natively (Nix native, no containers) 🟢 Full Nix² ✅ ✅ ¹ Pre-installed on DGX OS ² Full Nix: Fully reproducible — all dependencies installed via Nix ³ Container: Nix provides podman, but containers are pulled/built at runtime ⁴ Nix + Container: CLI tools packaged via Nix, but containers are managed by the tool at runtime Caching Flox CUDA binary cache (recommended) Flox distributes pre-built CUDA packages for aarch64-linux with NVIDIA's permission. This includes cudatoolkit, nccl, cuDNN, PyTorch, and other CUDA dependencies — dramatically reducing build times. If you use the DGX Spark NixOS module, the Flox cache is configured automatically as a substituter. For standalone Nix (e.g. on DGX OS), add to /etc/nix/nix.conf: extra-substituters = https://cache.flox.dev extra-trusted-public-keys = flox-cache-public-1:7F4OyH7ZCnFhcze3fJdfyXYLQw/aV7GEed86nQ7IsOs= graham33 Cachix cache For packages built by this repo (e.g. dgx-dashboard, openshell): cachix use graham33 Install cachix first if needed: https://docs.cachix.org/installation See https://nixos.wiki/wiki/CUDA for general CUDA caching details. nixos-anywhere (Experimental) WarningThis has not been tested yet. Use at your own risk. You can install NixOS on a DGX Spark remotely using nixos-anywhere. This is useful for headless setups where you have SSH access to the target machine. nix run github:nix-community/nixos-anywhere -- --flake github:graham33/nixos-dgx-spark#dgx-spark root@ This partitions the NVMe disk and installs NixOS with the DGX Spark module enabled. You may want to customise nixos-anywhere/configuration.nix (e.g. to add SSH keys or change the hostname) — clone the repo and point --flake at your local checkout instead. To test the disk configuration in a VM without installing: nix run github:nix-community/nixos-anywhere -- --flake.#dgx-spark --vm-test See the nixos-anywhere documentation for full details and requirements. License MIT License - see LICENSE for details.

Integrity note  ·  Xela does not rewrite or paraphrase article content. The excerpt above is the source publication's own words, sanitized for display. For the full piece — including any quotes, charts, or images — read it at Hacker News. Xela's rewritten version is off for this story, so there's no editorial angle attached — you're getting the source's reporting unfiltered. When the rewrite is on, we add a What this means block underneath with the operator/trader takeaway.

What people are saying

Discussion

Hot takes

0/280

Loading takes…

Comments

Discussion · 0

Sign in to comment, like, and save articles.

Sign in

Loading comments…

Newsletter

Track saas & software every morning.

Daily digest tuned to this beat. The 5 stories most worth your time. Unsubscribe anytime.