| { | |
| lib, | |
| dockerTools, | |
| buildEnv, | |
| llama-cpp, | |
| interactive ? true, | |
| coreutils, | |
| }: | |
| # A tar that can be fed into `docker load`: | |
| # | |
| # $ nix build .#llamaPackages.docker | |
| # $ docker load < result | |
| # For details and variations cf. | |
| # - https://nixos.org/manual/nixpkgs/unstable/#ssec-pkgs-dockerTools-buildLayeredImage | |
| # - https://discourse.nixos.org/t/a-faster-dockertools-buildimage-prototype/16922 | |
| # - https://nixery.dev/ | |
| # Approximate (compressed) sizes, at the time of writing, are: | |
| # | |
| # .#llamaPackages.docker: 125M; | |
| # .#llamaPackagesCuda.docker: 537M; | |
| # .#legacyPackages.aarch64-linux.llamaPackagesXavier.docker: 415M. | |
| dockerTools.buildLayeredImage { | |
| name = llama-cpp.pname; | |
| tag = "latest"; | |
| contents = | |
| [ llama-cpp ] | |
| ++ lib.optionals interactive [ | |
| coreutils | |
| dockerTools.binSh | |
| dockerTools.caCertificates | |
| ]; | |
| } | |