And maybe shebang interpreter also need override %CURRENT-SYSTEM?[1] Even though when the Shebang interpreter cannot execute, the file will be interpreted and executed by the current shell. > > diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm > index 7d9d07ebb7..a2743453e7 100644 > --- a/gnu/system/vm.scm > +++ b/gnu/system/vm.scm > @@ -287,8 +287,11 @@ (define* (system-qemu-image/shared-store-script os > #~(format #f "/tmp/guix-image-~a" (basename #$base-image))) > > (define qemu-exec > - #~(list #+(file-append qemu "/bin/" > - (qemu-command (or target system))) > + #~(list #+(with-parameters ((%current-system %system) > + (%current-target-system #f)) > + ;; Override %CURRENT-SYSTEM to always use a native emulator. > + (file-append qemu "/bin/" > + (qemu-command (or target system)))) > ;; Tells qemu to use the terminal it was started in for IO. > #$@(if graphic? '() #~("-nographic")) > #$@(if full-boot? > > > Thanks, > Ludo’. [1] https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/vm.scm?h=9e9ec741d0dc5ce58f8d21d31800ff2cafce128f#n328