From 16fb62f03bbc94f5f98eacf1604386f63df4a805 Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Wed, 9 Jul 2025 03:30:41 +0800 Subject: [PATCH] feat(nix): enable sd-webui-forge and comfy-ui for server --- nix/manifest.nix | 5 ++- .../server/web-apps/sd-webui-forge.nix | 34 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 nix/modules/server/web-apps/sd-webui-forge.nix diff --git a/nix/manifest.nix b/nix/manifest.nix index 069377e..d207af5 100644 --- a/nix/manifest.nix +++ b/nix/manifest.nix @@ -23,7 +23,10 @@ } ]; }; - extraCfg.server.web-apps.comfy-ui.enable = true; + extraCfg.server.web-apps = { + comfy-ui.enable = true; + sd-webui-forge.enable = true; + }; }; apollo = { graphical = false; diff --git a/nix/modules/server/web-apps/sd-webui-forge.nix b/nix/modules/server/web-apps/sd-webui-forge.nix new file mode 100644 index 0000000..cf88d86 --- /dev/null +++ b/nix/modules/server/web-apps/sd-webui-forge.nix @@ -0,0 +1,34 @@ +{ + lib, + inputs, + config, + ... +}: +let + inherit (lib.lists) singleton; + inherit (config.flake.lib.services) mkWebApp; +in +{ + flake.modules.nixos.default = + { config, ... }: + let + upstreamCfg = config.services.sd-webui-forge; + in + mkWebApp { + inherit config; + name = "sd-webui-forge"; + defaultPort = 7860; + persistDirs = singleton { + directory = upstreamCfg.dataDir; + inherit (upstreamCfg) user group; + }; + extraConfig.services.sd-webui-forge = { + enable = true; + listen = true; + extraArgs = "--cuda-malloc"; + }; + } + // { + imports = [ inputs.stable-diffusion-webui-nix.nixosModules.default ]; + }; +}