1{
 2  lib,
 3  newScope,
 4  python3,
 5  llamaVersion ? "0.0.0",
 6}:
 7
 8let
 9  pythonPackages = python3.pkgs;
10in
11
12# We're using `makeScope` instead of just writing out an attrset
13# because it allows users to apply overlays later using `overrideScope'`.
14# Cf. https://noogle.dev/f/lib/makeScope
15
16lib.makeScope newScope (self: {
17  inherit llamaVersion;
18  gguf-py = self.callPackage ./package-gguf-py.nix {
19    inherit (pythonPackages)
20      numpy
21      tqdm
22      sentencepiece
23      pyyaml
24      pytestCheckHook
25      requests
26      buildPythonPackage
27      poetry-core
28      ;
29  };
30  python-scripts = self.callPackage ./python-scripts.nix { inherit (pythonPackages) buildPythonPackage poetry-core; };
31  llama-cpp = self.callPackage ./package.nix { };
32  docker = self.callPackage ./docker.nix { };
33  docker-min = self.callPackage ./docker.nix { interactive = false; };
34  sif = self.callPackage ./sif.nix { };
35})