# The platform's HOOKS baseline. mkinitcpio sources mkinitcpio.conf and then # every drop-in here in name order, so the baseline sorts first and the drop-ins # after it add their hooks to it instead of being overwritten by it. # # Apple Silicon boots a systemd initramfs, and its platform package adds the # firmware and encryption hooks. Every other machine keeps the busybox line. The # runtime's detector answers, or else the copy omarchy-settings ships for its # platform guard, so a settings package newer than the runtime still places a # Mac. Without either, the busybox line stays. A detector that cannot place the # machine stops the build rather than let it produce an image for the wrong # platform. _omarchy_platform="" _omarchy_detector=$(command -v omarchy-hw-platform) || _omarchy_detector=/usr/share/libalpm/scripts/omarchy-hw-platform if [[ -x $_omarchy_detector ]]; then _omarchy_platform=$("$_omarchy_detector") || return 1 fi # A Mac whose mkinitcpio.conf carries the asahi hook, or the busybox encrypt # hook that unlocks it through cryptdevice= (sd-encrypt cannot parse that), boots # the initramfs its platform set up without the Apple boot package, as a legacy # install does. Its line stays as it is. The asahi hook also marks such a root # off a Mac, as in a chroot or a VM. if [[ " ${HOOKS[*]:-} " == *" asahi "* ]] || [[ $_omarchy_platform == "apple-silicon" && " ${HOOKS[*]:-} " == *" encrypt "* ]]; then _omarchy_platform=platform-owned fi case $_omarchy_platform in platform-owned) ;; apple-silicon) HOOKS=(base systemd plymouth autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck) ;; *) HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs) ;; esac unset _omarchy_platform _omarchy_detector