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": {
"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": {
"inputs": {
"systems": "systems"
@@ -37,11 +20,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1756125398,
"narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=",
"lastModified": 1772773019,
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5",
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
"type": "github"
},
"original": {
@@ -53,7 +36,6 @@
},
"root": {
"inputs": {
"comfyuigit": "comfyuigit",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}

192
flake.nix
View File

@@ -4,10 +4,6 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
comfyuigit = {
flake = false;
url = "github:comfyanonymous/ComfyUi/v0.3.64";
};
};
outputs = { flake-utils, nixpkgs, ... }:
@@ -38,61 +34,196 @@
av
sqlalchemy
soundfile
kornia
]
));
in rec {
packages.comfyui_frontend = pkgs.python3Packages.buildPythonPackage rec {
pname = "comfyui-frontend-package";
version = "1.27.10";
version = "1.39.19";
pyproject = true;
src = pkgs.fetchPypi {
pname = "comfyui_frontend_package";
inherit version;
sha256 = "sha256-8HrnNEO5rOuUez1MEzWUOJ512nraRTfH+BRJD5PwMfg=";
sha256 = "sha256-BLpdAQDwJlZlZ495lQOvRDs+LsV+W6/uj9wFzYhGLkU=";
};
buildInputs = [
python
python.pkgs.pip
];
build-system = [ python.pkgs.setuptools ];
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 {
pname = "comfyui-workflow-templates";
version = "0.1.94";
version = "0.9.11";
pyproject = true;
src = pkgs.fetchPypi {
pname = "comfyui_workflow_templates";
inherit version;
sha256 = "sha256-dt8IbxOzNIZi36eAjVjcoPIXwaVkLjI2VUixIoIWXBo=";
sha256 = "sha256-bnO21Hbd/QnxtOYXcuH3GJEBivrd/m1X3m7Oz1XycCc=";
};
buildInputs = [
python
python.pkgs.pip
build-system = [ python.pkgs.setuptools ];
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 {
pname = "comfyui-embedded-docs";
version = "0.2.6";
version = "0.4.3";
pyproject = true;
src = pkgs.fetchPypi {
pname = "comfyui_embedded_docs";
inherit version;
sha256 = "sha256-ild/PuIWvo3NbAjpZYxvJX/7np6B9A8NNt6bSZJJdWo=";
sha256 = "sha256-HMKr+T65Bv50bb8caScbH1ACFrCgqg1IoIQhjOtxu6w=";
};
buildInputs = [
python
python.pkgs.pip
build-system = [python.pkgs.setuptools ];
};
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 =
let python_extended = (python.withPackages (ps: [
ps.alembic
@@ -118,26 +249,33 @@
ps.av
ps.sqlalchemy
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_workflow
packages.comfyui_embedded_docs
packages.spandrel
packages.comfy_kitchen
packages.comfy_aimdo
]));
in pkgs.stdenv.mkDerivation {
pname = "ComfyUI";
version = "0.3.64";
pyproject = true;
version = "0.16.4";
src = pkgs.fetchFromGitHub {
owner = "comfyanonymous";
owner = "Comfy-Org";
repo = "ComfyUI";
tag = "v0.3.64";
sha256 = "sha256-vIw22ISbjUnfRB6+TFE7QKbVnEXu6BFAN8lmCGE74/M=";
tag = "v0.16.4";
sha256 = "sha256-wPPsXQytzpb7gSzE4dUT5JME/q03Z2g6pk9RidHNy8A=";
};
buildInputs = [
python_extended
python.pkgs.pip
packages.comfyui_frontend
];
installPhase = ''