summaryrefslogtreecommitdiff
path: root/llama.cpp/.devops/nix/docker.nix
diff options
context:
space:
mode:
Diffstat (limited to 'llama.cpp/.devops/nix/docker.nix')
-rw-r--r--llama.cpp/.devops/nix/docker.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/llama.cpp/.devops/nix/docker.nix b/llama.cpp/.devops/nix/docker.nix
new file mode 100644
index 0000000..d607b45
--- /dev/null
+++ b/llama.cpp/.devops/nix/docker.nix
@@ -0,0 +1,37 @@
+{
+ 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
+ ];
+}