From 8db9ceb372f2ce799beebf573b609909f573aa7c Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Wed, 9 Jul 2025 03:27:05 +0800 Subject: [PATCH] feat(nix): add comfy-ui module and enable it for server --- nix/manifest.nix | 1 + nix/modules/server/web-apps/comfy-ui.nix | 34 ++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 nix/modules/server/web-apps/comfy-ui.nix diff --git a/nix/manifest.nix b/nix/manifest.nix index ef39862..069377e 100644 --- a/nix/manifest.nix +++ b/nix/manifest.nix @@ -23,6 +23,7 @@ } ]; }; + extraCfg.server.web-apps.comfy-ui.enable = true; }; apollo = { graphical = false; diff --git a/nix/modules/server/web-apps/comfy-ui.nix b/nix/modules/server/web-apps/comfy-ui.nix new file mode 100644 index 0000000..738e2e5 --- /dev/null +++ b/nix/modules/server/web-apps/comfy-ui.nix @@ -0,0 +1,34 @@ +{ + lib, + config, + inputs, + ... +}: +let + inherit (lib.lists) singleton; + inherit (config.flake.lib.services) mkWebApp; +in +{ + flake.modules.nixos.default = + { config, ... }: + let + upstreamCfg = config.services.comfyUi; + in + mkWebApp { + inherit config; + name = "comfy-ui"; + defaultPort = 8188; + persistDirs = singleton { + directory = upstreamCfg.dataDir; + inherit (upstreamCfg) user group; + mode = "777"; + }; + extraConfig.services.comfyUi = { + enable = true; + listenHost = "0.0.0.0"; + }; + } + // { + imports = [ inputs.stable-diffusion-webui-nix.nixosModules.default ]; + }; +}