ComfyUI Nix

Reproducible image generation, even when Python has other plans.

Run ComfyUI through a pure Nix flake with curated custom nodes and practical GPU support for Apple Silicon, NVIDIA CUDA, AMD ROCm, and Intel XPU.

Language
Nix
License
MIT
Stars
144
Forks
36

What it fixes

ComfyUI is powerful. Its Python environment, binary wheels, custom nodes, and GPU matrix are a hostage negotiation. This flake makes the negotiation reproducible.

ComfyUI Nix keeps the creative workflow weird and the dependency graph boring.

  • Python environments that decay between launches
  • Custom nodes pulling incompatible dependencies
  • CUDA builds consuming hours and absurd amounts of memory
  • Different setup rituals for every GPU vendor

What it actually does

A useful product surface, not another README wearing a blazer.

01

Pure Nix environment

Pin ComfyUI, Python, dependencies, and curated nodes in one reproducible input graph.

02

Apple Silicon

Run on macOS with the platform's native acceleration path and normal data locations.

03

NVIDIA CUDA

Use pre-built PyTorch wheels from Pascal through Blackwell instead of compiling the universe.

04

AMD ROCm

Launch the ROCm variant with bundled runtime dependencies for supported hardware.

05

Intel XPU

Use current oneAPI and SYCL wheels for supported Arc and Core Ultra GPUs.

06

Curated custom nodes

Enable a maintained collection of popular nodes without dependency roulette.

Pick your poison

Run it the way that annoys you least.

Default
nix run github:utensils/comfyui-nix -- --open
NVIDIA CUDA
nix run github:utensils/comfyui-nix#cuda
AMD or Intel
nix run github:utensils/comfyui-nix#rocm
nix run github:utensils/comfyui-nix#xpu

Plays well with the tools already causing trouble

  • ComfyUI
  • Nix
  • FlakeHub
  • Cachix
  • CUDA
  • ROCm
  • Intel XPU
  • Apple Silicon

Under the hood

Simple enough to explain without a thirty-slide architecture deck.

  1. 01

    Pinned flake

    Nix locks the application, Python environment, nodes, and platform variants.

  2. 02

    Hardware target

    Select the default, CUDA, ROCm, or XPU output for the machine in front of you.

  3. 03

    Binary runtime

    Cached packages and upstream wheels avoid gratuitous source builds.

  4. 04

    ComfyUI workspace

    Models, outputs, and configuration stay in predictable persistent locations.

Generate images, not dependency conflicts

Pick the hardware output, run the flake, and let Nix remember what worked.

Latest release: v0.28.2