# Gli hook pacman scattano su kernel e moduli, non su /etc/mkinitcpio.conf.d: si rigenera qui.
# limine-mkinitcpio rigenera e aggiorna le voci di Limine. Non si chiama "mkinitcpio": limine-mkinitcpio-hook
# lo copre con un wrapper in /usr/local/bin che fa una domanda interattiva.

# Quando /boot/limine.conf è gestito da limine-entry-tool, la configurazione scritta da archinstall nel percorso
# di fallback (EFI/BOOT/limine.conf) e i kernel in /boot non vengono più aggiornati: dopo un aggiornamento del
# kernel il fallback avvierebbe un kernel senza i suoi moduli (report 08). Si mette da parte e si toglie.
_pulizia_archinstall() {
    grep -q 'limine-entry-tool' /boot/limine.conf 2>/dev/null || return 0
    if [ -f /boot/EFI/BOOT/limine.conf ]; then
        mv /boot/EFI/BOOT/limine.conf /boot/EFI/BOOT/limine.conf.archinstall
    fi
    # ponytail: rimuove tutti i vmlinuz-*/initramfs-*.img in /boot; con limine-mkinitcpio i kernel stanno in /boot/<machine-id>/
    rm -f /boot/vmlinuz-* /boot/initramfs-*.img
}
post_install() { limine-mkinitcpio; _pulizia_archinstall; }
post_upgrade() { limine-mkinitcpio; _pulizia_archinstall; }
post_remove() { if command -v limine-mkinitcpio >/dev/null; then limine-mkinitcpio; else /usr/bin/mkinitcpio -P; fi; }
