Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NVIDIA Isaac packages for Nix

This is the unofficial Nix flake for NVIDIA Isaac packages. Official support status can be tracked in #268.

Packages

See isaacsim/README.md and isaaclab/README.md for more info.

Other Isaac Sim versions are available on separate git branches named after the Isaac Sim version they package (e.g. the v5.1.0 branch packages Isaac Sim 5.1.0). The main branch always tracks the latest stable version.

Note that the isaacsim-selector has been removed in v6.0.0 and with it the default flake entry-point has also been changed to just isaacsim

Usage

Use in a flake-based project by adding this flake as an input:

{
  inputs.isaac-flake.url = "github:urban-prah/isaac-flake";
}

Then reference the packages:

{ inputs, pkgs, ... }:
{
  environment.systemPackages = [
    inputs.isaac-flake.packages.${pkgs.stdenv.hostPlatform.system}.isaacsim
  ];
}

You can also run Isaac Sim directly with:

nix run github:urban-prah/isaac-flake#isaacsim

Known issues & limitations

  • Dynamic extension downloads: Extensions downloaded at runtime into the user directory are not patched for Nix. Use nix-ld or patch them manually.

  • We haven't yet tested on platforms outside NixOS. It technically should work with NixGL.

  • NVIDIA driver version: NVIDIA driver 580.142 is required. Driver version 595.71.05 (introduced with NixOS 26.05) results in a crash. If you're on NixOS 26.05, pin your NVIDIA driver to 580.142. The vulkan ICD path was updated to work with the 26.05 driver layout, but the driver version itself must be pinned.

  • x86_64 only: Only x86_64-linux is supported for now.

  • Apps/scripts which try to pip install dependencies won't work (like jupyter-notebook.sh). Current workaround is to use virtual environments.

  • Overridden app paths: isaaclab.python.kit requires modifications to redirect certain paths to point outside the /nix/store (see README)

Contributing

Pull requests are welcome. If you use this flake or run into issues, consider improving the Nix package definitions and submitting a PR. Specifically:

  • Fix broken or incomplete package definitions (e.g. Isaac Lab)
  • Add missing flags or overrides
  • Improve patch files for upstream compatibility
  • Add support for additional platforms (aarch64, etc.)
  • Document workarounds and known issues

The goal of this project is to eventually get our packages into nixpkgs or serve as a starting point for official NVIDIA support.

Philosophy

We want to make as little changes to the source as possible. With tricks like

export PATH="${
  lib.makeBinPath [ (writeShellScriptBin "x-terminal-emulator" "${terminalCmd}") ]
}:$PATH"

we can adapt to the expectations of the original software. This makes the package easier to maintain and update. It also doesn't require deep understanding of the architecture and the original source. Some changes, however, are unavoidable. For those we encourage the use of patches or substitutions that can't fail silently.

The Nix ecosystem thrives on community contributions — even small fixes like correcting a dependency, updating a version, or improving documentation make a difference. Fork the repo, make your changes, and open a pull request.

LLMs and agents

We have tried to incorporate AI agents to help develop this flake and found the experience discouraging. The Nix build system is complicated and the documentation can sometimes be hard to find. Attribute paths, dependency declarations, or patch formats produce opaque errors that are hard to debug without understanding the surrounding context. Agents tend to make confident but incorrect changes that look plausible on review.

As a result we are reluctant to accept AI-generated contributions and prefer changes written and reviewed by people familiar with Nix and the NVIDIA Isaac ecosystem.

About

Community-driven Nix Flake for NVIDIA Isaac apps

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages