diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix index a20a08fc90db..8e0e82d64cc7 100644 --- a/nixos/tests/docker-tools.nix +++ b/nixos/tests/docker-tools.nix @@ -237,14 +237,14 @@ import ./make-test-python.nix ({ pkgs, ... }: { with subtest("Ensure cross compiled image can be loaded and has correct arch."): docker.succeed( - "docker load --input='${pkgs.dockerTools.examples.cross-aarch64}'", + "docker load --input='${pkgs.dockerTools.examples.cross}'", ) assert ( docker.succeed( - "docker inspect ${pkgs.dockerTools.examples.cross-aarch64.imageName} " + "docker inspect ${pkgs.dockerTools.examples.cross.imageName} " + "| ${pkgs.jq}/bin/jq -r .[].Architecture" ).strip() - == "arm64v8" + == "${if pkgs.system == "aarch64-linux" then "amd64" else "arm64v8"}" ) ''; }) diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index cd91c721241b..3f30f1a2adb4 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -408,10 +408,15 @@ rec { }; # basic example, with cross compilation - cross-aarch64 = pkgsCross.aarch64-multiplatform.dockerTools.buildImage { + cross = let + # Cross compile for x86_64 if on aarch64 + crossPkgs = + if pkgs.system == "aarch64-linux" then pkgsCross.gnu64 + else pkgsCross.aarch64-multiplatform; + in crossPkgs.dockerTools.buildImage { name = "hello-cross"; tag = "latest"; - contents = pkgsCross.aarch64-multiplatform.hello; + contents = crossPkgs.hello; }; }