diff --git a/flake.lock b/flake.lock index 7567fb2..1153f74 100644 --- a/flake.lock +++ b/flake.lock @@ -428,31 +428,6 @@ "type": "github" } }, - "python-flexseal": { - "inputs": { - "flake-utils": [ - "stable-diffusion-webui-nix", - "flake-utils" - ], - "nixpkgs": [ - "stable-diffusion-webui-nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1751898758, - "narHash": "sha256-8EmTPdfOymvvHhmHYWiyO3cwZ4gtLo5uBFm3CU5vySo=", - "owner": "Janrupf", - "repo": "python-flexseal", - "rev": "af318e1fd047abbefcc68d0292a4d902179c95fe", - "type": "github" - }, - "original": { - "owner": "Janrupf", - "repo": "python-flexseal", - "type": "github" - } - }, "root": { "inputs": { "dedupe_flake-compat": "dedupe_flake-compat", @@ -472,7 +447,6 @@ "nur": "nur", "nvf": "nvf", "sops-nix": "sops-nix", - "stable-diffusion-webui-nix": "stable-diffusion-webui-nix", "stylix": "stylix", "systems": "systems", "text": "text" @@ -498,30 +472,6 @@ "type": "github" } }, - "stable-diffusion-webui-nix": { - "inputs": { - "flake-utils": [ - "dedupe_flake-utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "python-flexseal": "python-flexseal" - }, - "locked": { - "lastModified": 1751899247, - "narHash": "sha256-bh6xwc24Rv0YE4grKXvj+kmXmydns+OrlWn4WLnJSY4=", - "owner": "janrupf", - "repo": "stable-diffusion-webui-nix", - "rev": "d5ba5dccd190b0ded17f9c4a23dc7665c6dc2eae", - "type": "github" - }, - "original": { - "owner": "janrupf", - "repo": "stable-diffusion-webui-nix", - "type": "github" - } - }, "stylix": { "inputs": { "base16": "base16", diff --git a/flake.nix b/flake.nix index 7736b6b..5462c59 100644 --- a/flake.nix +++ b/flake.nix @@ -15,17 +15,6 @@ systems.url = "github:nix-systems/default"; # nixos-unstable provides a binary cache for all packages. nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - # home-manager manages our user packages and dotfiles - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - # the nix user repository for mainly firefox extensions - nur = { - url = "github:nix-community/NUR"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-parts.follows = "flake-parts"; - }; # impermanence provides a nice abstraction over linking files from /persist impermanence.url = "github:nix-community/impermanence"; # flake-parts lets us define flake modules. @@ -76,13 +65,24 @@ }; }; - ### FLAKES ### + ### HOME-MANAGER ### + # home-manager manages our user packages and dotfiles + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # nix-index-database indexes the nixpkgs binaries for use with comma nix-index-database = { url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; + # the nix user repository for mainly firefox extensions + nur = { + url = "github:nix-community/NUR"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-parts.follows = "flake-parts"; + }; # nvf provides modules to wrap neovim nvf = { url = "github:notashelf/nvf"; @@ -94,12 +94,6 @@ mnw.follows = "dedupe_mnw"; }; }; - # provides comfy ui and sdwebui services - stable-diffusion-webui-nix = { - url = "github:janrupf/stable-diffusion-webui-nix"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "dedupe_flake-utils"; - }; ### DEDUPE ### diff --git a/nix/lib/services.nix b/nix/lib/services.nix index a836682..879551d 100644 --- a/nix/lib/services.nix +++ b/nix/lib/services.nix @@ -18,33 +18,14 @@ in mkHost = domain: if isRootDomain domain then domain else mkWildcardDomain (mkRootDomain domain); mkWebApp = { - config, name, defaultPort, persistDirs ? [ ], + serviceConfig ? { }, extraOptions ? { }, - extraConfig ? { }, }: let cfg = config.server.web-apps.${name}; - networkingConfig = - { - config, - cfg, - name, - }: - mkIf (cfg.domain != "") { - assertions = singleton { - assertion = config.server.web-servers.nginx.enable; - message = "You must enable a web server if you want to set server.web-apps.${name}.domain."; - }; - server.ddns.domains = singleton (mkRootDomain cfg.domain); - server.web-servers.nginx.proxies = singleton { - source = cfg.domain; - target = "http://${config.hostname}:${toString cfg.port}"; - }; - }; - in { options.server.web-apps.${name} = { @@ -60,10 +41,20 @@ in inherit persistDirs; networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = singleton cfg.port; }; } - (networkingConfig { inherit config cfg name; }) - extraConfig + (mkIf (cfg.domain != "") { + assertions = singleton { + assertion = config.server.web-servers.nginx.enable; + message = "You must enable a web server if you want to set server.web-apps.${name}.domain."; + }; + server.networking.ddns.domains = singleton (mkRootDomain cfg.domain); + server.web-servers.nginx.proxies = singleton { + source = cfg.domain; + target = "http://${config.hostname}:${toString cfg.port}"; + }; + }) + serviceConfig + cfg.extraCfg ]); }; - }; } diff --git a/nix/manifest.nix b/nix/manifest.nix index 069377e..ef39862 100644 --- a/nix/manifest.nix +++ b/nix/manifest.nix @@ -23,7 +23,6 @@ } ]; }; - 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 deleted file mode 100644 index 738e2e5..0000000 --- a/nix/modules/server/web-apps/comfy-ui.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - 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 ]; - }; -}