#!/usr/bin/bash
#
# fix boot order: first PXE, then Debian
#
set -eu

cur="$(efibootmgr | grep -Ei 'BootOrder:' | \
                    sed -E 's/^BootOrder: ([[:xdigit:]]{4}),.+$/\1/')"
pxeip4="$(efibootmgr | grep -Ei "IP.{0,5}4" | \
                    sed -E 's/^Boot([[:xdigit:]]{4}).+$/\1/' | paste -sd, -)"
debian="$(efibootmgr | grep -Ei "debian" | \
                    sed -E 's/^Boot([[:xdigit:]]{4}).+$/\1/' | paste -sd, -)"

if [[ "$cur" != "$pxeip4" ]] && [[ -n "$pxeip4" ]] && [[ -n "$debian" ]] ; then
    efibootmgr -o $pxeip4,$debian
else
    echo "Nothing to do."
fi
