{ bootler, stdenv, nasm, qemu, ... }: stdenv.mkDerivation { pname = "twasm"; version = "0.1.0"; src = ./.; buildPhase = '' ${nasm}/bin/nasm asm/main.asm -o out.bin ''; installPhase = '' dd if=/dev/zero of=disk bs=512 count=2880 dd if=${bootler}/bin/boot.bin of=disk conv=notrunc dd if=out.bin of=disk bs=512 seek=1 conv=notrunc mkdir -p $out/bin cat<$out/bin/twasm #!/usr/bin/env bash mkdir -p ./.bootle cp $(echo $out)/bin/disk ./.bootle/disk chmod a+w ./.bootle/disk ${qemu}/bin/qemu-system-x86_64 \ -nographic \ -drive file=./.bootle/disk,format=raw,index=0,media=disk rm ./.bootle -r EOF chmod +x $out/bin/twasm cp out.bin $out/bin cp disk $out/bin ''; }