diff --git a/flake.nix b/flake.nix index f3869b8..8f34271 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,7 @@ deploy-rs.url = "github:serokell/deploy-rs"; simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.11"; nocodb.url = "github:nocodb/nocodb"; + nixified-ai.url = "github:matthewcroughan/nixified-ai"; }; outputs = { nixpkgs, @@ -25,6 +26,7 @@ deploy-rs, simple-nixos-mailserver, nocodb, + nixified-ai, self, ... }: let @@ -56,6 +58,7 @@ simple-nixos-mailserver.nixosModule home-manager.nixosModules.home-manager nocodb.nixosModules.nocodb + nixified-ai.nixosModules.comfyui { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; diff --git a/modules/base.nix b/modules/base.nix index 624ca17..9e3ae67 100644 --- a/modules/base.nix +++ b/modules/base.nix @@ -19,10 +19,12 @@ with lib; auto-optimise-store = true; substituters = [ "https://nix-community.cachix.org" + "https://ai.cachix.org" "https://cache.nixos.org/" ]; trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc=" ]; }; }; diff --git a/modules/comfyui.nix b/modules/comfyui.nix new file mode 100644 index 0000000..cfc26b8 --- /dev/null +++ b/modules/comfyui.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, unstable, ... }: + +let + dn = "comfyui.tfcconnection.org"; + port = 4567; +in with lib; +{ + services = { + comfyui = { + enable = true; + host = "0.0.0.0"; + port; + models = builtins.attrValues pkgs.nixified-ai.models; + acceleration = "cuda"; + customNodes = with comfyui.pkgs; [ + comfyui-gguf + comfyui-impact-pack + + ]; + }; + nginx.virtualHosts.${dn} = { + forceSSL = true; + enableACME = true; + locations."/" = { + proxyPass = "http://localhost:${toString port}"; + proxyWebsockets = true; + }; + }; + }; +} diff --git a/system/shen/configuration.nix b/system/shen/configuration.nix index 6e7bf66..d821b41 100644 --- a/system/shen/configuration.nix +++ b/system/shen/configuration.nix @@ -5,20 +5,6 @@ { config, lib, pkgs, unstable, ... }: let - my-comfyui = unstable.comfyuiPackages.comfyui.override { - extensions = [ - unstable.comfyuiPackages.extensions.acly-inpaint - unstable.comfyuiPackages.extensions.acly-tooling - unstable.comfyuiPackages.extensions.cubiq-ipadapter-plus - unstable.comfyuiPackages.extensions.fannovel16-controlnet-aux - unstable.comfyuiPackages.extensions.city96-gguf - ]; - - commandLineArgs = [ - "--preview-method" - "auto" - ]; - }; in { imports = @@ -34,6 +20,7 @@ in ../../modules/mail.nix ../../modules/vaultwarden.nix ../../modules/nocodb.nix + ../../modules/comfyui.nix # ../../pkgs/server.nix # ../../pkgs/nextcloud.nix ];