113 lines
3.2 KiB
Nix
113 lines
3.2 KiB
Nix
{ config, inputs, lib, withSystem, ... }:
|
|
|
|
let
|
|
l = lib // config.flake.lib;
|
|
inherit (config.flake) overlays;
|
|
in
|
|
|
|
{
|
|
perSystem = { config, pkgs, system, ... }:
|
|
let
|
|
commonOverlays = [
|
|
#need pillow < 10.0.0 for scripts like x,y,z plot to work
|
|
#cant i do like only for this for invoke other version?
|
|
(
|
|
final: prev: {
|
|
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
|
(
|
|
python-final: python-prev: {
|
|
pillow = python-final.callPackage ../../packages/pillow { };
|
|
xformers = python-final.callPackage ../../packages/xformers { inherit stable-pkgs; };
|
|
}
|
|
)
|
|
];
|
|
}
|
|
)
|
|
overlays.python-fixPackages
|
|
(l.overlays.callManyPackages [
|
|
../../packages/analytics-python
|
|
../../packages/basicsr
|
|
../../packages/blendmodes
|
|
../../packages/blip
|
|
../../packages/codeformer
|
|
../../packages/deforum
|
|
../../packages/facexlib
|
|
../../packages/gfpgan
|
|
../../packages/gradio
|
|
../../packages/gradio-client
|
|
../../packages/k_diffusion
|
|
../../packages/lpips
|
|
../../packages/mediapipe
|
|
../../packages/openclip
|
|
../../packages/pillow
|
|
../../packages/pyfunctional
|
|
../../packages/pytorch-lightning
|
|
../../packages/realesrgan
|
|
../../packages/taming-transformers-rom1504
|
|
../../packages/tomesd
|
|
#../../packages/torch-fidelity
|
|
#../../packages/torch-grammar
|
|
../../packages/ultralytics
|
|
../../packages/zipunicode
|
|
])
|
|
(final: prev: lib.mapAttrs
|
|
(_: pkg: pkg.overrideAttrs (old: {
|
|
nativeBuildInputs = old.nativeBuildInputs ++ [ final.pythonRelaxDepsHook ];
|
|
pythonRemoveDeps = [ "opencv-python-headless" "opencv-python" "tb-nightly" "clip" ];
|
|
}
|
|
))
|
|
{
|
|
inherit (prev)
|
|
gfpgan
|
|
basicsr
|
|
facexlib
|
|
realesrgan
|
|
;
|
|
}
|
|
)
|
|
];
|
|
|
|
python3Variants = {
|
|
nvidia = l.overlays.applyOverlays pkgs.python3Packages (commonOverlays ++ [
|
|
overlays.python-torchCuda
|
|
]);
|
|
};
|
|
|
|
stable-pkgs = import inputs.nixpkgs-stable {
|
|
allowUnfree = true;
|
|
cudaSupport = true;
|
|
inherit system;
|
|
};
|
|
|
|
src = inputs.a1111-src;
|
|
mkAutomatic1111Variant = args: pkgs.callPackage ./package.nix ({
|
|
inherit src; sd-src = inputs.sd-src; sgm-src = inputs.sgm-src; inherit stable-pkgs pkgs;
|
|
} // args);
|
|
in
|
|
{
|
|
packages = {
|
|
a1111-nvidia = mkAutomatic1111Variant {
|
|
python3Packages = python3Variants.nvidia;
|
|
};
|
|
};
|
|
};
|
|
|
|
flake.nixosModules =
|
|
let
|
|
packageModule = pkgAttrName: { pkgs, ... }: {
|
|
services.a1111.package = withSystem pkgs.system (
|
|
{ config, ... }: lib.mkOptionDefault config.packages.${pkgAttrName}
|
|
);
|
|
};
|
|
in
|
|
{
|
|
a1111 = ./nixos;
|
|
a1111-nvidia = {
|
|
imports = [
|
|
config.flake.nixosModules.a1111
|
|
(packageModule "a1111-nvidia")
|
|
];
|
|
};
|
|
};
|
|
}
|