{
  "version":"0.1",
  "root_folder":"%filefolder%",
  "run_context":"root",
  "name":"Vystem build",
  "global_uuid":[
    "INITFS_UNIQUE_UUID",
    "SIGNSYST_UNIQUE_UUID",
    "DISK_GUID",
    "ESP_PARTITION_UNIQUE_GUID"
  ],
  "global_vars":{
    "__VYBUILD_COMPILER_HASH_DUMP_MACHINE":"gcc -dumpmachine",
    "__VYBUILD_COMPILER_HASH_DUMP_SPECS":"gcc -dumpspecs",
    "__VYBUILD_COMPILER_HASH_SYSROOT":"gcc -print-sysroot",
    "comment1":"HEY YOU, YES YOU ! if you modify the VYSTEM_KEYGEN_PASSWORD variable, it will automatically setup",
    "comment2":"the boot password with whatever is VYSTEM_KEYGEN_PASSWORD. Do NOT use it if you want to manually enter",
    "comment3":"your boot password into keygen. You have been warned.",
    "VYSTEM_KEYGEN_PASSWORD":"test",
    "INITFS_DIR":"initfs_dir",
    "EDK2_DIR":"edk2",
    "EDK2_BLASTPROOF_DIR":"edk2/Blastproof",
    "PYTHON_EXE":"python",
    "ASSEMBLER":"nasm",
    "C_COMPILER":"gcc",
    "CPP_COMPILER":"g++",
    "ASM_OUTPUT_FORMAT":"bin",
    "LINKER":"ld",
    "KEYCARD_BINARY_NAME":"keycard.bin",
    "SHELTER_COMPILATION_FLAGS":"-fno-stack-protector -O1 -Wall -Wextra -Werror -Wpedantic -Wshadow -Wconversion -Wsign-conversion -Wstrict-prototypes -Wmissing-prototypes -Wundef -fmax-errors=0 -Ilib/include/",
    "SHELTER_BINARY_NAME":"shelter.vyx",
    "BOOTANIM_BINARY_NAME":"bootanim",
    "FONTGEN_BINARY_NAME":"fontgen",
    "BOOTANIM_HEIGH":"1080",
    "BOOTANIM_WIDTH":"1920",
    "ESP_PARTITION_TYPE_GUID":"C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
    "INITFS_PARTITION_TYPE_GUID":"8362b434-d825-11f0-a68f-10ffe08423a6",
    "SIGNSYST_PARTITION_TYPE_GUID":"da0048b4-d826-11f0-b877-10ffe08423a6"
  },
  "actions":[
    {
      "action":"ensure_folder_existence",
      "args":{
        "path_variables":true,
        "path":"%rootcallerfolder%/$INITFS_DIR$"
      }
    },
    {
      "action":"run_submodule",
      "args":{
        "file_variables":false,
        "file":"shelter/shelter.json",
        "wait":true,
        "block_if_fail":true
      }
    },
    {
      "action":"run_submodule",
      "args":{
        "file_variables":false,
        "file":"Blastproof/bootloader.json",
        "wait":true,
        "block_if_fail":true
      }
    },
    {
      "action":"run_submodule",
      "args":{
        "file_variables":false,
        "file":"esp.json",
        "wait":true,
        "block_if_fail":true
      }
    },
    {
      "action":"run_submodule",
      "args":{
        "file_variables":false,
        "file":"disk.json",
        "wait":true,
        "block_if_fail":true
      }
    },
    {
      "action":"run_actions_if",
      "args":{
        "condition":{
          "condition_variables":false,
          "condition":"var_not_exists",
          "condition_args_variables":false,
          "condition_args":[
            "%1%"
          ]
        },
        "actions":[
          {
            "action":"run_command_str_wait",
            "args":{
              "command_variables":true,
              "command":"qemu-system-x86_64 -machine q35 -smp cores=4,threads=1,sockets=1 -drive if=pflash,format=raw,unit=0,readonly=on,file=edk2/Build/OvmfX64/RELEASE_GCC/FV/OVMF_CODE.fd -drive if=pflash,format=raw,file=edk2/Build/OvmfX64/RELEASE_GCC/FV/OVMF_VARS.fd -drive file=edk2/disk.bin,format=raw,if=virtio,index=0 -serial stdio -m 4096M -cpu host,+x2apic -accel kvm",
              "success_status":[
                0
              ],
              "ignore_success_status":false,
              "show_output":"live"
            }
          },
          {
            "action":"exit_current_module",
            "args":{
              "is_fail":false
            }
          }
        ]
      }
    },
    {
      "action":"run_actions_if",
      "args":{
        "condition":{
          "condition_variables":false,
          "condition":"var_equals",
          "condition_args_variables":false,
          "condition_args":[
            "%1%",
            "img"
          ]
        },
        "actions":[
          {
            "action":"run_command_str_wait",
            "args":{
              "command_variables":true,
              "command":"echo \"Disk image saved under edk2/disk.bin\"",
              "success_status":[
                0
              ],
              "ignore_success_status":false,
              "show_output":"live"
            }
          },
          {
            "action":"exit_current_module",
            "args":{
              "is_fail":false
            }
          }
        ]
      }
    }
  ]
}
