From 85bdfb8ba6f98c8f30ebe57a70081c380afdf336 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Fri, 24 Apr 2026 13:27:06 +0200 Subject: [PATCH] build-support/vm: refactor IFS tricks in fillDiskWithDebs --- pkgs/build-support/vm/default.nix | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 764ce8890209..53cfe9317e28 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -730,9 +730,8 @@ let memSize ; - # Flatten this into string explicitly to allow IFS tricks below to work, - # and support structuredAttrs - debsInterspersed = toString (lib.intersperse "|" debs); + debsFlat = lib.flatten debs; + debsGrouped = debs; preVM = createEmptyImage { inherit size fullName; }; @@ -751,11 +750,9 @@ let # (which have lots of circular dependencies) from barfing. echo "unpacking Debs..." - for deb in $debsInterspersed; do - if test "$deb" != "|"; then - echo "$deb..." - dpkg-deb --extract "$deb" /mnt - fi + for deb in "''${debsFlat[@]}"; do + echo "$deb..." + dpkg-deb --extract "$deb" /mnt done # Make the Nix store available in /mnt, because that's where the .debs live. @@ -778,10 +775,7 @@ let export DEBIAN_FRONTEND=noninteractive - oldIFS="$IFS" - IFS="|" - for component in $debsInterspersed; do - IFS="$oldIFS" + for component in "''${debsGrouped[@]}"; do echo echo ">>> INSTALLING COMPONENT: $component" debs=