nixpkgs-extension/pkgs/by-category/default.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;
}