# Load partition table and file system modules
insmod part_gpt
insmod part_msdos
insmod fat
insmod iso9660

# Use graphics-mode output
insmod all_video
insmod font
if loadfont "${prefix}/fonts/unicode.pf2" ; then
    insmod gfxterm
    set gfxmode="auto"
    terminal_input console
    terminal_output gfxterm
fi

# Enable serial console
if serial --unit=0 --speed=115200; then
    terminal_input --append serial
    terminal_output --append serial
fi

# Set default menu entry
default=archlinux
timeout=15
timeout_style=menu

# GRUB init tune for accessibility
play 600 988 1 1319 4

# Menu entries

menuentry "Arch Linux install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
    set gfxpayload=keep
    search --no-floppy --set=root --label %ARCHISO_LABEL%
    linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
    initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
}

menuentry "Arch Linux install medium with speakup screen reader (x86_64, UEFI)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
    set gfxpayload=keep
    search --no-floppy --set=root --label %ARCHISO_LABEL%
    linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on
    initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img
}

if [ "${grub_platform}" == "efi" ]; then
    if [ "${grub_cpu}" == "x86_64" ]; then
        menuentry "UEFI Shell" {
            insmod chain
            search --no-floppy --set=root --label %ARCHISO_LABEL%
            chainloader /shellx64.efi
        }
    elif [ "${grub_cpu}" == "i386" ]; then
        menuentry "UEFI Shell" {
            insmod chain
            search --no-floppy --set=root --label %ARCHISO_LABEL%
            chainloader /shellia32.efi
        }
    fi

    menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
        fwsetup
    }
fi

menuentry "System shutdown" --class shutdown --class poweroff {
    echo "System shutting down..."
    halt
}

menuentry "System restart" --class reboot --class restart {
    echo "System rebooting..."
    reboot
}
