mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2025-04-07 05:19:01 +08:00
currently packaging as a nixosModule so should be easy to integrate with nixos generators in the future. Also looking at making a docker image without systemd
62 lines
1.4 KiB
Nix
62 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
self,
|
|
nixpkgs,
|
|
pyproject-nix,
|
|
pyproject-build-systems,
|
|
uv2nix,
|
|
uv2nix-hammer-overrides,
|
|
...
|
|
}:
|
|
# Python sets grouped per system
|
|
lib.flake.forAllSystems (
|
|
system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config.allowUnfree = true;
|
|
};
|
|
workspace = uv2nix.lib.workspace.loadWorkspace { workspaceRoot = "${self}"; };
|
|
|
|
overlay = workspace.mkPyprojectOverlay {
|
|
sourcePreference = "wheel";
|
|
};
|
|
|
|
editableOverlay = workspace.mkEditablePyprojectOverlay {
|
|
root = "$REPO_ROOT";
|
|
};
|
|
|
|
# Base Python package set from pyproject.nix
|
|
baseSet = pkgs.callPackage pyproject-nix.build.packages {
|
|
python = pkgs.python310;
|
|
};
|
|
|
|
# An overlay of build fixups & test additions
|
|
pyprojectOverrides = final: prev: {
|
|
sgm = prev.sgm.overrideAttrs (old: {
|
|
nativeBuildInputs =
|
|
(old.nativeBuildInputs or [ ])
|
|
++ final.resolveBuildSystem {
|
|
hatchling = [ ];
|
|
};
|
|
});
|
|
cv-3 = prev.cv-3.overrideAttrs (old: {
|
|
nativeBuildInputs =
|
|
(old.nativeBuildInputs or [ ])
|
|
++ final.resolveBuildSystem {
|
|
setuptools = [ ];
|
|
};
|
|
});
|
|
};
|
|
|
|
in
|
|
(baseSet.overrideScope (
|
|
lib.composeManyExtensions [
|
|
pyproject-build-systems.overlays.default
|
|
overlay
|
|
(uv2nix-hammer-overrides.overrides pkgs)
|
|
pyprojectOverrides
|
|
]
|
|
))
|
|
)
|