summary refs log tree commit diff
path: root/pkgs/common.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/common.nix')
-rw-r--r--pkgs/common.nix62
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/common.nix b/pkgs/common.nix
new file mode 100644
index 0000000..5110335
--- /dev/null
+++ b/pkgs/common.nix
@@ -0,0 +1,62 @@
+{ dockerTools, system, ... }:
+
+let
+  systemToArch = {
+    "x86_64-linux" = { short = "x86"; arch = "amd64"; };
+    "aarch64-linux" = { short = "arm"; arch = "arm64"; };
+  };
+
+  mkImage = { name, tag, digest, ... }@inputs:
+  let
+    arch = systemToArch.${system};
+  
+    image = dockerTools.pullImage {
+      imageName = name;
+      imageDigest = digest;
+      finalImageName = name;
+      finalImageTag = tag;
+      os = "linux";
+      inherit (inputs.${arch.short}) sha256;
+      inherit (arch) arch;
+    };
+  in
+  {
+    image = "${name}:${tag}";
+    imageFile = image;
+    base = image;
+  };
+
+in
+{
+  alpine = mkImage {
+    name = "alpine";
+    tag = "3.20.3";
+    digest = "sha256:1e42bbe2508154c9126d48c2b8a75420c3544343bf86fd041fb7527e017a4b4a";
+    x86.sha256 = "02fr1isg8s2h7j8n5rda7avswnh7vpfhrix3rmvqsjp8cx3qbkz3";
+    arm.sha256 = "06c0q5kk60i89y1d83a28wk282ymp806xjcsmlca4cwwqp590j0q";
+  };
+  
+  postgres13 = mkImage {
+    name = "postgres";
+    tag = "13-alpine";
+    digest = "sha256:857aa00fc7e8541e3e5818b7bb8596182cb5c1b3ad964e4184e90682d5ca0d57";
+    x86.sha256 = "1yc0576kdfsz55ybjaykki2mhr6w9yrby7wslx8pfmn7xkykzq9w";
+    arm.sha256 = "0kjxk2sd03445mgf54x1ir9w2zmjn41zgmyns2h3k3cd7qazhkrx";
+  };
+
+  postgres14 = mkImage {
+    name = "postgres";
+    tag = "14-alpine";
+    digest = "sha256:3f5fc44eeb8e8b42448e218f05299105761a2c33b54a89d9fd06c87cd5f7b043";
+    x86.sha256 = "1zpiv9d6mj9d3n2xhgz0wn8q7a4gzjrk0hp8vpm706wwh72q8nir";
+    arm.sha256 = "1gh6f4frfilr5mp6smp1k00aijd9vh1kv711a64044yl9kqr2nci";
+  };
+
+  postgres15 = mkImage {
+    name = "postgres";
+    tag = "15-alpine";
+    digest = "sha256:8b963ea3038c3b32182ee7f592ccde21242fa7c5fd9d1b72aa333c27f1bfc809";
+    x86.sha256 = "0cfmp4v1a4b2m21ljsc3f3kn23rl9nki6z37ks9jclzxh9hy629n";
+    arm.sha256 = "0wydmscp4znjdflycvjqwjfry9crizhav0wc2hnajbyvk4ql32h8";
+  };
+}