46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
{
|
|
pkgs,
|
|
prev,
|
|
lib,
|
|
packagesFromTree,
|
|
}:
|
|
let
|
|
pythonPackagesDir = ./pythonPackages;
|
|
|
|
treeExts =
|
|
if builtins.pathExists pythonPackagesDir then
|
|
[
|
|
(
|
|
python-final: python-prev:
|
|
removeAttrs (packagesFromTree pythonPackagesDir python-final.callPackage) [
|
|
"python-packages"
|
|
]
|
|
)
|
|
]
|
|
else
|
|
[ ];
|
|
|
|
fileExts =
|
|
if builtins.pathExists (pythonPackagesDir + "/prefab-builder.nix") then
|
|
[
|
|
(
|
|
python-final: python-prev:
|
|
prev.lib.customisation.callPackagesWith (
|
|
python-prev
|
|
// {
|
|
lib = prev.lib;
|
|
pkgs = prev; # чтобы prefab-builder мог звать pkgs.callPackage
|
|
pyPkgs = python-prev; # явная подача python package set
|
|
fetchFromGitHub = prev.fetchFromGitHub;
|
|
# fetchPypi обычно уже есть в python-prev; если нет — добавь:
|
|
fetchPypi = prev.fetchPypi;
|
|
}
|
|
) (pythonPackagesDir + "/prefab-builder.nix") { }
|
|
)
|
|
]
|
|
else
|
|
[ ];
|
|
in
|
|
{
|
|
pythonPackagesExtensions = (prev.pythonPackagesExtensions or [ ]) ++ treeExts ++ fileExts;
|
|
}
|