#!/bin/bash

CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")

# Install luks utilities if needed.
# Also, set secure permissions for the initramfs if we're configuring
# full-disk-encryption. The initramfs is re-generated later in the
# installation process so we only set the permissions snippet without
# regenerating the initramfs right now:
if [ "$(mount | grep $CHROOT" " | cut -c -16)" = "/dev/mapper/luks" ]; then
    echo "UMASK=0077" > $CHROOT/etc/initramfs-tools/conf.d/initramfs-permissions
    chroot $CHROOT apt-get -y install cryptsetup-initramfs cryptsetup keyutils
fi

echo "Running bootloader-config..."

if [ -d /sys/firmware/efi/efivars ]; then
    echo " * Installing grub-efi (uefi)..."
    if [ "$(cat /sys/firmware/efi/fw_platform_size)" == "64" ]; then
        echo " * 64bit efi implementation detected - selecting grub-efi-amd64"
        DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt -y install grub-efi-amd64
    elif [ "$(cat /sys/firmware/efi/fw_platform_size)" == "32" ]; then
        echo " * 32bit efi implementation detected - selecting grub-efi-ia32"
        DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt -y install grub-efi-ia32
    else
        DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt-get -y install grub-efi
    fi
else
    echo " * install grub... (bios)"
    DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt-get -y install grub-pc
fi

# Re-enable os-prober:
sed -i "s/#GRUB_DISABLE_OS_PROBER=false/# OS_PROBER re-enabled by Debian Calamares installation:\nGRUB_DISABLE_OS_PROBER=false/g" $CHROOT/etc/default/grub
chroot $CHROOT /usr/sbin/update-grub
