# 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, as # does one without the runtime's detector. A detector that cannot place the # machine stops the build rather than let it produce an image for the wrong # platform. _omarchy_platform="" if _omarchy_detector=$(command -v omarchy-hw-platform); 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