mirror of
https://github.com/denismhz/flake.git
synced 2025-11-09 16:16:23 +01:00
44 lines
1 KiB
Nix
44 lines
1 KiB
Nix
{ config, inputs, lib, withSystem, ... }:
|
|
|
|
{
|
|
perSystem = { config, pkgs, ... }: let
|
|
inherit (config.dependencySets) aipython3-amd aipython3-nvidia;
|
|
|
|
src = inputs.invokeai-src;
|
|
|
|
mkInvokeAIVariant = args: pkgs.callPackage ./package.nix ({ inherit src; } // args);
|
|
in {
|
|
packages = {
|
|
invokeai-amd = mkInvokeAIVariant {
|
|
aipython3 = aipython3-amd;
|
|
};
|
|
invokeai-nvidia = mkInvokeAIVariant {
|
|
aipython3 = aipython3-nvidia;
|
|
};
|
|
};
|
|
};
|
|
|
|
flake.nixosModules = let
|
|
packageModule = pkgAttrName: { pkgs, ... }: {
|
|
services.invokeai.package = withSystem pkgs.system (
|
|
{ config, ... }: lib.mkOptionDefault config.packages.${pkgAttrName}
|
|
);
|
|
};
|
|
in {
|
|
invokeai = ./nixos;
|
|
invokeai-amd = {
|
|
imports = [
|
|
config.flake.nixosModules.invokeai
|
|
./nixos/amd.nix
|
|
(packageModule "invokeai-amd")
|
|
];
|
|
};
|
|
invokeai-nvidia = {
|
|
imports = [
|
|
config.flake.nixosModules.invokeai
|
|
(packageModule "invokeai-nvidia")
|
|
];
|
|
};
|
|
};
|
|
}
|