This commit is contained in:
mjallen18
2026-02-04 13:08:34 -06:00
parent aa7fc9c228
commit 87fb1c96e5
10 changed files with 387 additions and 16 deletions

View File

@@ -0,0 +1,86 @@
{
lib,
stdenv,
fetchFromGitHub,
python3Packages,
...
}:
python3Packages.buildPythonPackage rec {
pname = "comfyui";
version = "0.12.0";
pyproject = true;
disabled = python3Packages.pythonOlder "3.11";
src = fetchFromGitHub {
owner = "Comfy-Org";
repo = "ComfyUI";
tag = "v${version}";
hash = "sha256-fCTMxtFkAy4TfUgtj42EKmvw/hr/L9Y3OKfHXpnSkPw=";
};
# pythonRelaxDeps = [
# "aiomqtt"
# "pycryptodome"
# ];
build-system = with python3Packages; [
];
dependencies =
with python3Packages;
[
aiohttp
torch
torchaudio
torchvision
numpy
requests
torchsde
einops
transformers
tokenizers
sentencepiece
safetensors
aiohttp
yarl
pyyaml
pillow
scipy
tqdm
psutil
alembic
sqlalchemy
av
requests
#non essential dependencies:
kornia
# spandrel
pydantic
pydantic-settings
];
nativeCheckInputs = with python3Packages; [
];
setupPhase = null;
# comfyui-frontend-package==1.37.11
# comfyui-workflow-templates==0.8.31
# comfyui-embedded-docs==0.4.0
# comfy-kitchen
# comfy-aimdo
# pythonImportsCheck = [ "roborock" ];
meta = with lib; {
maintainers = [ ];
mainProgram = "comfyui";
};
}

View File

@@ -0,0 +1,58 @@
{
stdenv,
lib,
python3Packages,
fetchFromGitHub,
...
}:
stdenv.mkDerivation rec {
pname = "comfyui-desktop";
version = "0.8.0";
src = fetchFromGitHub {
owner = "Comfy-Org";
repo = "desktop";
tag = "v${version}";
hash = "sha256-hPqC6JsQp3pwx7JkrtTNjhxaKLp/4e2VBRT4wjrxvtE=";
};
dontUnpack = false;
dontBuild = true;
dontConfigure = true;
nativeBuildInputs = [ ];
installPhase = ''
mkdir -p $out
cp -r $src $out
'';
# ln -s ${comfyUiLauncher}/bin/comfy-ui $out/bin/comfy-ui
# ln -s $out/bin/comfy-ui $out/bin/comfyui
passthru = {
inherit
# comfyuiSrc
# pythonRuntime
# modelDownloaderDir
# frontendRoot
# dependencies
version
;
};
meta = with lib; {
description = "ComfyUI - A powerful and modular diffusion model GUI";
homepage = "https://github.com/comfyanonymous/ComfyUI";
# ComfyUI is GPL-3.0; bundled custom nodes have various licenses
license = with licenses; [
gpl3 # ComfyUI, Impact Pack, KJNodes
agpl3Only # bitsandbytes-NF4
mit # rgthree-comfy, Florence2, MMAudio
asl20 # GGUF, LTXVideo, x-flux, PuLID, WanVideoWrapper
];
platforms = platforms.linux ++ platforms.darwin;
maintainers = [ ];
mainProgram = "comfy-ui";
};
}

View File

@@ -0,0 +1,58 @@
{
stdenv,
lib,
python3Packages,
fetchFromGitHub,
...
}:
stdenv.mkDerivation rec {
pname = "comfyui-frontend";
version = "1.39.5";
src = fetchFromGitHub {
owner = "Comfy-Org";
repo = "ComfyUI_frontend";
tag = "v${version}";
hash = "sha256-zEAPCR0Q4eo3HVImqCWB2T3mBDv55573vcJI/TYf32o=";
};
dontUnpack = false;
dontBuild = true;
dontConfigure = true;
nativeBuildInputs = [ ];
installPhase = ''
mkdir -p $out
cp -r $src $out
'';
# ln -s ${comfyUiLauncher}/bin/comfy-ui $out/bin/comfy-ui
# ln -s $out/bin/comfy-ui $out/bin/comfyui
passthru = {
inherit
# comfyuiSrc
# pythonRuntime
# modelDownloaderDir
# frontendRoot
# dependencies
version
;
};
meta = with lib; {
description = "ComfyUI - A powerful and modular diffusion model GUI";
homepage = "https://github.com/comfyanonymous/ComfyUI";
# ComfyUI is GPL-3.0; bundled custom nodes have various licenses
license = with licenses; [
gpl3 # ComfyUI, Impact Pack, KJNodes
agpl3Only # bitsandbytes-NF4
mit # rgthree-comfy, Florence2, MMAudio
asl20 # GGUF, LTXVideo, x-flux, PuLID, WanVideoWrapper
];
platforms = platforms.linux ++ platforms.darwin;
maintainers = [ ];
mainProgram = "comfy-ui";
};
}

View File

@@ -0,0 +1,109 @@
{
stdenv,
lib,
python3Packages,
fetchFromGitHub,
pkgs,
namespace,
python3,
...
}:
let
dependencies =
with python3Packages;
[
aiohttp
torch
torchaudio
torchvision
numpy
requests
torchsde
einops
transformers
tokenizers
sentencepiece
safetensors
aiohttp
yarl
pyyaml
pillow
scipy
tqdm
psutil
alembic
sqlalchemy
av
requests
#non essential dependencies:
kornia
# spandrel
pydantic
pydantic-settings
]
++ (with pkgs.${namespace}; [
comfy-aimdo
]);
pythonEnv = python3.withPackages (
_ps: dependencies
);
in
stdenv.mkDerivation rec {
pname = "comfy-ui";
version = "0.12.0";
src = fetchFromGitHub {
owner = "Comfy-Org";
repo = "ComfyUI";
tag = "v${version}";
hash = "sha256-fCTMxtFkAy4TfUgtj42EKmvw/hr/L9Y3OKfHXpnSkPw=";
};
dontUnpack = false;
dontBuild = true;
dontConfigure = true;
nativeBuildInputs = [ ];
installPhase = ''
mkdir -p $out/{bin,app}
ln -sf ${pythonEnv}/bin/python $out/bin/python
cp -r $src/* $out/app
'';
# ln -s ${comfyUiLauncher}/bin/comfy-ui $out/bin/comfy-ui
# ln -s $out/bin/comfy-ui $out/bin/comfyui
# passthru = {
# inherit
# # comfyuiSrc
# # pythonRuntime
# # modelDownloaderDir
# # frontendRoot
# dependencies
# version
# ;
# };
meta = with lib; {
description = "ComfyUI - A powerful and modular diffusion model GUI";
homepage = "https://github.com/comfyanonymous/ComfyUI";
# ComfyUI is GPL-3.0; bundled custom nodes have various licenses
license = with licenses; [
gpl3 # ComfyUI, Impact Pack, KJNodes
agpl3Only # bitsandbytes-NF4
mit # rgthree-comfy, Florence2, MMAudio
asl20 # GGUF, LTXVideo, x-flux, PuLID, WanVideoWrapper
];
platforms = platforms.linux ++ platforms.darwin;
maintainers = [
{
name = "James Brink";
github = "utensils";
}
];
mainProgram = "comfy-ui";
};
}