diff --git a/nixos/lib/make-iso9660-image.nix b/nixos/lib/make-iso9660-image.nix
index 0f3f2b5b523..be8ad9912db 100644
--- a/nixos/lib/make-iso9660-image.nix
+++ b/nixos/lib/make-iso9660-image.nix
@@ -34,7 +34,7 @@
, # The path (outside the ISO file system) of the isohybrid-mbr image.
isohybridMbrImage ? ""
-, # Whether to compress the resulting ISO image with bzip2.
+, # Whether to compress the resulting ISO image with zstd.
compressImage ? false
, # The volume ID.
@@ -48,7 +48,7 @@ assert usbBootable -> isohybridMbrImage != "";
stdenv.mkDerivation {
name = isoName;
builder = ./make-iso9660-image.sh;
- buildInputs = [ xorriso syslinux ];
+ buildInputs = [ xorriso syslinux zstd ];
inherit isoName bootable bootImage compressImage volumeID efiBootImage efiBootable isohybridMbrImage usbBootable;
diff --git a/nixos/lib/make-iso9660-image.sh b/nixos/lib/make-iso9660-image.sh
index d4633d2c8d1..eb9edcd7026 100644
--- a/nixos/lib/make-iso9660-image.sh
+++ b/nixos/lib/make-iso9660-image.sh
@@ -129,9 +129,14 @@ fi
if test -n "$compressImage"; then
echo "Compressing image..."
- bzip2 $out/iso/$isoName
+ zstd -T$NIX_BUILD_CORES $out/iso/$isoName
fi
mkdir -p $out/nix-support
echo $system > $out/nix-support/system
-echo "file iso $out/iso/$isoName" >> $out/nix-support/hydra-build-products
+
+if test -n "$compressImage"; then
+ echo "file iso $out/iso/$isoName.zst" >> $out/nix-support/hydra-build-products
+else
+ echo "file iso $out/iso/$isoName" >> $out/nix-support/hydra-build-products
+fi
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index cce7cc235ec..1cd2252ecf2 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -413,7 +413,7 @@ in
default = false;
description = ''
Whether the ISO image should be compressed using
- bzip2.
+ zstd.
'';
};