# Insert omarchy-mac-encrypt after vendorfw/block and sd-encrypt immediately # before filesystems, each only if that hook is absent. 90-omarchy-mac.conf # already put asahi and omarchy-vendorfw before filesystems; this drop-in is # sourced after it. # # Both are systemd initrd units: the systemd hook replaces udev (mkinitcpio's # stock HOOKS line) and keymap/consolefont become sd-vconsole. A HOOKS line # carrying the busybox encrypt hook belongs to a Mac unlocked by cryptdevice=, # which sd-encrypt cannot parse: that line is left exactly as it is. _omarchy_mac_encrypt_hooks=() _omarchy_mac_encrypt_have_systemd=false _omarchy_mac_encrypt_have_vconsole=false _omarchy_mac_encrypt_have_encrypt=false for _omarchy_mac_encrypt_hook in "${HOOKS[@]}"; do case $_omarchy_mac_encrypt_hook in systemd) _omarchy_mac_encrypt_have_systemd=true ;; sd-vconsole) _omarchy_mac_encrypt_have_vconsole=true ;; encrypt) _omarchy_mac_encrypt_have_encrypt=true ;; esac done if [[ $_omarchy_mac_encrypt_have_encrypt == false ]]; then for _omarchy_mac_encrypt_hook in "${HOOKS[@]}"; do case $_omarchy_mac_encrypt_hook in udev) if [[ $_omarchy_mac_encrypt_have_systemd == false ]]; then _omarchy_mac_encrypt_hooks+=(systemd) _omarchy_mac_encrypt_have_systemd=true fi ;; keymap|consolefont) if [[ $_omarchy_mac_encrypt_have_vconsole == false ]]; then _omarchy_mac_encrypt_hooks+=(sd-vconsole) _omarchy_mac_encrypt_have_vconsole=true fi ;; *) _omarchy_mac_encrypt_hooks+=("$_omarchy_mac_encrypt_hook") ;; esac done if [[ $_omarchy_mac_encrypt_have_systemd == false ]]; then if [[ ${_omarchy_mac_encrypt_hooks[0]:-} == base ]]; then _omarchy_mac_encrypt_hooks=(base systemd "${_omarchy_mac_encrypt_hooks[@]:1}") else _omarchy_mac_encrypt_hooks=(systemd "${_omarchy_mac_encrypt_hooks[@]}") fi fi HOOKS=("${_omarchy_mac_encrypt_hooks[@]}") _omarchy_mac_encrypt_hooks=() _omarchy_mac_encrypt_have_ours=false _omarchy_mac_encrypt_have_sd=false _omarchy_mac_encrypt_added_ours=false _omarchy_mac_encrypt_added_sd=false for _omarchy_mac_encrypt_hook in "${HOOKS[@]}"; do if [[ $_omarchy_mac_encrypt_hook == omarchy-mac-encrypt ]]; then _omarchy_mac_encrypt_have_ours=true fi if [[ $_omarchy_mac_encrypt_hook == sd-encrypt ]]; then _omarchy_mac_encrypt_have_sd=true fi done for _omarchy_mac_encrypt_hook in "${HOOKS[@]}"; do if [[ $_omarchy_mac_encrypt_hook == sd-encrypt && $_omarchy_mac_encrypt_have_ours == false && $_omarchy_mac_encrypt_added_ours == false ]]; then _omarchy_mac_encrypt_hooks+=(omarchy-mac-encrypt) _omarchy_mac_encrypt_added_ours=true fi if [[ $_omarchy_mac_encrypt_hook == filesystems ]]; then if [[ $_omarchy_mac_encrypt_have_ours == false && $_omarchy_mac_encrypt_added_ours == false ]]; then _omarchy_mac_encrypt_hooks+=(omarchy-mac-encrypt) _omarchy_mac_encrypt_added_ours=true fi if [[ $_omarchy_mac_encrypt_have_sd == false && $_omarchy_mac_encrypt_added_sd == false ]]; then _omarchy_mac_encrypt_hooks+=(sd-encrypt) _omarchy_mac_encrypt_added_sd=true fi fi _omarchy_mac_encrypt_hooks+=("$_omarchy_mac_encrypt_hook") done if [[ $_omarchy_mac_encrypt_have_ours == false && $_omarchy_mac_encrypt_added_ours == false ]]; then _omarchy_mac_encrypt_hooks+=(omarchy-mac-encrypt) fi if [[ $_omarchy_mac_encrypt_have_sd == false && $_omarchy_mac_encrypt_added_sd == false ]]; then _omarchy_mac_encrypt_hooks+=(sd-encrypt) fi HOOKS=("${_omarchy_mac_encrypt_hooks[@]}") fi unset _omarchy_mac_encrypt_hooks _omarchy_mac_encrypt_hook \ _omarchy_mac_encrypt_have_ours _omarchy_mac_encrypt_have_sd \ _omarchy_mac_encrypt_added_ours _omarchy_mac_encrypt_added_sd \ _omarchy_mac_encrypt_have_systemd _omarchy_mac_encrypt_have_vconsole \ _omarchy_mac_encrypt_have_encrypt