{ 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 ]; }