{ pkgs ? (import { }), lib ? pkgs.lib, }: let base-cmd = vm: '' ${pkgs.qemu}/bin/qemu-system-x86_64 -m 4G \ -kernel ${vm.kernel}/bzImage \ -initrd ${vm.ramdisk}/initrd \ -append "init=${vm.toplevel}/init loglevel=4 console=ttyS0" \ -display none -serial mon:stdio ''; border-vm = (import (pkgs.path + "/nixos/lib/eval-config.nix") { system = "x86_64-linux"; modules = [ ./border.nix ./vm-base.nix ]; }).config.system.build; client-vm = (import (pkgs.path + "/nixos/lib/eval-config.nix") { system = "x86_64-linux"; modules = [ ./client.nix ./vm-base.nix ]; }).config.system.build; border-launch = pkgs.writeShellScript "lauch-border" '' ${base-cmd border-vm} ''; client-launch = pkgs.writeShellScript "lauch-client" '' ${base-cmd client-vm} ''; in { }