1
0

jetson-support.nix 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. { inputs, ... }:
  2. {
  3. perSystem =
  4. {
  5. config,
  6. system,
  7. lib,
  8. pkgsCuda,
  9. ...
  10. }:
  11. {
  12. legacyPackages =
  13. let
  14. caps.llamaPackagesXavier = "7.2";
  15. caps.llamaPackagesOrin = "8.7";
  16. caps.llamaPackagesTX2 = "6.2";
  17. caps.llamaPackagesNano = "5.3";
  18. pkgsFor =
  19. cap:
  20. import inputs.nixpkgs {
  21. inherit system;
  22. config = {
  23. cudaSupport = true;
  24. cudaCapabilities = [ cap ];
  25. cudaEnableForwardCompat = false;
  26. inherit (pkgsCuda.config) allowUnfreePredicate;
  27. };
  28. };
  29. in
  30. builtins.mapAttrs (name: cap: (pkgsFor cap).callPackage ./scope.nix { }) caps;
  31. packages = lib.optionalAttrs (system == "aarch64-linux") {
  32. jetson-xavier = config.legacyPackages.llamaPackagesXavier.llama-cpp;
  33. jetson-orin = config.legacyPackages.llamaPackagesOrin.llama-cpp;
  34. jetson-nano = config.legacyPackages.llamaPackagesNano.llama-cpp;
  35. };
  36. };
  37. }