Compare commits

...

6 Commits

Author SHA1 Message Date
6e3f42ee71 0.16.4 2026-03-08 19:55:29 -07:00
eb6191baf8 It works! 2026-02-24 20:45:16 -08:00
762895a2e0 Try to update to 0.14.2. 2026-02-19 09:57:37 -08:00
d9a945613c Fix the frontend package inclusion. 2025-10-23 21:25:43 -07:00
55d659e4e3 Add direct spandrel support. 2025-10-23 21:25:43 -07:00
2b4621e32a Update to Comfy 0.3.64 2025-10-23 21:25:43 -07:00
2 changed files with 168 additions and 48 deletions

24
flake.lock generated
View File

@@ -1,22 +1,5 @@
{ {
"nodes": { "nodes": {
"comfyuigit": {
"flake": false,
"locked": {
"lastModified": 1759899223,
"narHash": "sha256-p0u2rZZ3AHn8InGWzu5sTTnYuYSINnDFnzuPgjqSLGw=",
"owner": "comfyanonymous",
"repo": "ComfyUi",
"rev": "637221995f7424a561bd825de3e61ea117dfe1e3",
"type": "github"
},
"original": {
"owner": "comfyanonymous",
"ref": "v0.3.64",
"repo": "ComfyUi",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@@ -37,11 +20,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1756125398, "lastModified": 1772773019,
"narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=", "narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5", "rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -53,7 +36,6 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"comfyuigit": "comfyuigit",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
} }

192
flake.nix
View File

@@ -4,10 +4,6 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
comfyuigit = {
flake = false;
url = "github:comfyanonymous/ComfyUi/v0.3.64";
};
}; };
outputs = { flake-utils, nixpkgs, ... }: outputs = { flake-utils, nixpkgs, ... }:
@@ -38,61 +34,196 @@
av av
sqlalchemy sqlalchemy
soundfile soundfile
kornia
] ]
)); ));
in rec { in rec {
packages.comfyui_frontend = pkgs.python3Packages.buildPythonPackage rec { packages.comfyui_frontend = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfyui-frontend-package"; pname = "comfyui-frontend-package";
version = "1.27.10"; version = "1.39.19";
pyproject = true; pyproject = true;
src = pkgs.fetchPypi { src = pkgs.fetchPypi {
pname = "comfyui_frontend_package"; pname = "comfyui_frontend_package";
inherit version; inherit version;
sha256 = "sha256-8HrnNEO5rOuUez1MEzWUOJ512nraRTfH+BRJD5PwMfg="; sha256 = "sha256-BLpdAQDwJlZlZ495lQOvRDs+LsV+W6/uj9wFzYhGLkU=";
}; };
buildInputs = [ build-system = [ python.pkgs.setuptools ];
python
python.pkgs.pip patchPhase = ''
]; sed -i 's/or "0.1.0"/or "${version}"/' setup.py
'';
}; };
packages.comfyui_workflow_core = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfyui-workflow-templates-core";
version = "0.3.159";
pyproject = true;
src = pkgs.fetchPypi {
pname = "comfyui_workflow_templates_core";
inherit version;
sha256 = "sha256-GMsbXUsCaMMZL5voHCway1t5bf4oiTOUEOPoX0iemZY=";
};
build-system = [ python.pkgs.setuptools ];
};
packages.comfyui_workflow_media_api = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfyui-workflow-templates-media-api";
version = "0.3.59";
pyproject = true;
src = pkgs.fetchPypi {
pname = "comfyui_workflow_templates_media_api";
inherit version;
sha256 = "sha256-0CykAChG27GkZj5JRGqFhW7twVNyG//mPXVcVvxo3sw=";
};
build-system = [ python.pkgs.setuptools ];
};
packages.comfyui_workflow_media_video = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfyui-workflow-templates-media-video";
version = "0.3.57";
pyproject = true;
src = pkgs.fetchPypi {
pname = "comfyui_workflow_templates_media_video";
inherit version;
sha256 = "sha256-qs1tHUV8RelIHPkWtN1iCDlEl3tg47iSYlLQfeE6Vj4=";
};
build-system = [ python.pkgs.setuptools ];
};
packages.comfyui_workflow_media_image = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfyui-workflow-templates-media-image";
version = "0.3.98";
pyproject = true;
src = pkgs.fetchPypi {
pname = "comfyui_workflow_templates_media_image";
inherit version;
sha256 = "sha256-URjIPhOjMdrcpo4v9YHeTQ0KyCzbLgoOLMEO6ACeueQ=";
};
build-system = [ python.pkgs.setuptools ];
};
packages.comfyui_workflow_media_other = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfyui-workflow-templates-media-other";
version = "0.3.131";
pyproject = true;
src = pkgs.fetchPypi {
pname = "comfyui_workflow_templates_media_other";
inherit version;
sha256 = "sha256-cpFtJf4TiIAzat2XgMKQx7P2mlmdp+hcxnyIBVUHi4g=";
};
build-system = [ python.pkgs.setuptools ];
};
packages.comfyui_workflow = pkgs.python3Packages.buildPythonPackage rec { packages.comfyui_workflow = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfyui-workflow-templates"; pname = "comfyui-workflow-templates";
version = "0.1.94"; version = "0.9.11";
pyproject = true; pyproject = true;
src = pkgs.fetchPypi { src = pkgs.fetchPypi {
pname = "comfyui_workflow_templates"; pname = "comfyui_workflow_templates";
inherit version; inherit version;
sha256 = "sha256-dt8IbxOzNIZi36eAjVjcoPIXwaVkLjI2VUixIoIWXBo="; sha256 = "sha256-bnO21Hbd/QnxtOYXcuH3GJEBivrd/m1X3m7Oz1XycCc=";
}; };
buildInputs = [ build-system = [ python.pkgs.setuptools ];
python
python.pkgs.pip dependencies = [
packages.comfyui_workflow_core
packages.comfyui_workflow_media_api
packages.comfyui_workflow_media_video
packages.comfyui_workflow_media_image
packages.comfyui_workflow_media_other
]; ];
# Create an empty templates directory to satisfy ComfyUI's expectation
# The newer workflow templates package no longer ships templates in this location
postInstall = ''
mkdir -p $out/lib/python${python.pythonVersion}/site-packages/comfyui_workflow_templates/templates
cp -r ${packages.comfyui_workflow_media_video}/lib/python${python.pythonVersion}/site-packages/comfyui_workflow_templates_media_video/templates $out/lib/python${python.pythonVersion}/site-packages/comfyui_workflow_templates/templates/video
cp -r ${packages.comfyui_workflow_media_other}/lib/python${python.pythonVersion}/site-packages/comfyui_workflow_templates_media_other/templates $out/lib/python${python.pythonVersion}/site-packages/comfyui_workflow_templates/templates/other
cp -r ${packages.comfyui_workflow_media_image}/lib/python${python.pythonVersion}/site-packages/comfyui_workflow_templates_media_image/templates $out/lib/python${python.pythonVersion}/site-packages/comfyui_workflow_templates/templates/image
'';
}; };
packages.comfyui_embedded_docs = pkgs.python3Packages.buildPythonPackage rec { packages.comfyui_embedded_docs = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfyui-embedded-docs"; pname = "comfyui-embedded-docs";
version = "0.2.6"; version = "0.4.3";
pyproject = true; pyproject = true;
src = pkgs.fetchPypi { src = pkgs.fetchPypi {
pname = "comfyui_embedded_docs"; pname = "comfyui_embedded_docs";
inherit version; inherit version;
sha256 = "sha256-ild/PuIWvo3NbAjpZYxvJX/7np6B9A8NNt6bSZJJdWo="; sha256 = "sha256-HMKr+T65Bv50bb8caScbH1ACFrCgqg1IoIQhjOtxu6w=";
}; };
buildInputs = [ build-system = [python.pkgs.setuptools ];
python };
python.pkgs.pip
packages.spandrel = pkgs.python3Packages.buildPythonPackage rec {
pname = "spandrel";
version = "0.4.1";
pyproject = true;
src = pkgs.fetchPypi {
pname = "spandrel";
inherit version;
sha256 = "sha256-ZG2YFqlC5Z1WqrLckENTlS5X3uSyyz9Z9+pNwPsRofI=";
};
build-system = [
python.pkgs.setuptools
python.pkgs.torch
python.pkgs.torchvision
python.pkgs.safetensors
python.pkgs.numpy
python.pkgs.einops
python.pkgs.typing-extensions
]; ];
}; };
packages.comfy_kitchen = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfy-kitchen";
version = "0.2.7";
format = "wheel";
src = pkgs.fetchPypi {
pname = "comfy_kitchen";
inherit version;
format = "wheel";
dist = "py3";
python = "py3";
sha256 = "sha256-+PqlebadMx0vHqwJ6WqVWGwqa5WKVLwZ5/HBp3hS3TY=";
};
};
packages.comfy_aimdo = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfy-aimdo";
version = "0.2.9";
format = "wheel";
src = pkgs.fetchPypi {
pname = "comfy_aimdo";
inherit version;
format = "wheel";
dist = "py3";
python = "py3";
sha256 = "sha256-nJpzj8zxaRXewIh6yHd/Um526o04SD0Pzg/N327IIag=";
};
};
packages.comfyui = packages.comfyui =
let python_extended = (python.withPackages (ps: [ let python_extended = (python.withPackages (ps: [
ps.alembic ps.alembic
@@ -118,26 +249,33 @@
ps.av ps.av
ps.sqlalchemy ps.sqlalchemy
ps.soundfile ps.soundfile
ps.kornia
ps.requests
packages.comfyui_workflow_core
packages.comfyui_workflow_media_api
packages.comfyui_workflow_media_video
packages.comfyui_workflow_media_image
packages.comfyui_workflow_media_other
packages.comfyui_frontend packages.comfyui_frontend
packages.comfyui_workflow packages.comfyui_workflow
packages.comfyui_embedded_docs packages.comfyui_embedded_docs
packages.spandrel
packages.comfy_kitchen
packages.comfy_aimdo
])); ]));
in pkgs.stdenv.mkDerivation { in pkgs.stdenv.mkDerivation {
pname = "ComfyUI"; pname = "ComfyUI";
version = "0.3.64"; version = "0.16.4";
pyproject = true;
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "comfyanonymous"; owner = "Comfy-Org";
repo = "ComfyUI"; repo = "ComfyUI";
tag = "v0.3.64"; tag = "v0.16.4";
sha256 = "sha256-vIw22ISbjUnfRB6+TFE7QKbVnEXu6BFAN8lmCGE74/M="; sha256 = "sha256-wPPsXQytzpb7gSzE4dUT5JME/q03Z2g6pk9RidHNy8A=";
}; };
buildInputs = [ buildInputs = [
python_extended python_extended
python.pkgs.pip
packages.comfyui_frontend
]; ];
installPhase = '' installPhase = ''