{ config, inputs, lib, withSystem, ... }: { perSystem = { config, pkgs, ... }: let src = inputs.invokeai-src; in { packages = { invokeai-nvidia = pkgs.python311Packages.callPackage ./package.nix {inherit pkgs src;}; }; }; flake.nixosModules = let packageModule = pkgAttrName: {pkgs, ...}: { services.invokeai.package = withSystem pkgs.system ( {config, ...}: lib.mkOptionDefault config.packages.${pkgAttrName} ); }; in { invokeai = ./nixos; invokeai-nvidia = { imports = [ config.flake.nixosModules.invokeai (packageModule "invokeai-nvidia") ]; }; }; }