invokeai: add wsl variants

This sets the LD_LIBRARY_PATH to /usr/lib/wsl/lib so that invokeai can use a Windows Host's GPU drivers
This commit is contained in:
matthewcroughan 2023-02-13 01:55:35 +00:00
parent d6072e2599
commit a91a1a6db1

View file

@ -10,7 +10,7 @@
builtins.head
];
mkInvokeAIVariant = aipython3: aipython3.buildPythonPackage rec {
mkInvokeAIVariant = { aipython3, wsl ? false }: aipython3.buildPythonPackage rec {
pname = "InvokeAI";
version = getVersion src;
src = inputs.invokeai-src;
@ -55,6 +55,7 @@
pythonRemoveDeps = [ "clip" "pyreadline3" "flaskwebgui" ];
pythonRelaxDeps = [ "protobuf" ];
postFixup = ''
${lib.optionalString wsl "makeWrapperArgs+=( --set LD_LIBRARY_PATH '/usr/lib/wsl/lib' )"}
chmod +x $out/bin/*
wrapPythonPrograms
'';
@ -68,8 +69,10 @@
in {
packages = {
invokeai-amd = mkInvokeAIVariant aipython3-amd;
invokeai-nvidia = mkInvokeAIVariant aipython3-nvidia;
invokeai-amd = mkInvokeAIVariant { aipython3 = aipython3-amd; };
invokeai-nvidia = mkInvokeAIVariant { aipython3 = aipython3-nvidia; };
invokeai-amd-wsl = mkInvokeAIVariant { aipython3 = aipython3-amd; wsl = true; };
invokeai-nvidia-wsl = mkInvokeAIVariant { aipython3 = aipython3-nvidia; wsl = true;};
};
};
}