stable-diffusion-webui/pythonSets.nix
TakodaS 149824a515 WIP: nixified webui
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
2025-03-10 17:51:53 +00:00

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
]
))
)