#!/usr/bin/env bash . "std.sh" info "Bootloader setup" pacinstall jq pacinstall efibootmgr disk_part=$(lsblk -o NAME,PARTN --noheadings --json | jq -r '.blockdevices | map(select(.children != null)) | map(. as $disk | .children | .[] | "\($disk.name) \(.partn)") | .[]' | fzf --prompt="boot device> ") disk=$(echo $disk_part | cut -d" " -f1) part=$(echo $disk_part | cut -d" " -f2) root_part=$(lsblk -o KNAME,NAME --json | jq -r '.blockdevices | map(select(.children != null)) | .[].children.[].kname | "/dev/\(.)"' | fzf --prompt="root device> ") uuid=$(sudo blkid "${root_part}" -o json | jq -r .uuid) sudo sh -c "sed "s/@UUID@/${uuid}/" ./system/limine.conf > /boot/EFI/limine/limine.conf" sudo mkdir -p /boot/EFI/limine/ sudo cp /usr/share/limine/BOOTX64.EFI /boot/EFI/limine/BOOTX64.EFI efibootmgr --create "${disk}" --part "${part}" --label "Archl" --loader '\EFI\limine\BOOTX64.EFI' --unicode sudo cp ./system/99-limine.hook /etc/pacman.d/hooks/99-limine.hook info "Bootloader setup done"