Bundling vconsole.conf makes Plymouth apply the user's layout at the LUKS prompt, but for layouts whose letter keys aren't Latin (Hebrew, Greek, Cyrillic, Arabic, ...) that makes the necessarily-Latin passphrase untypeable and locks the user out of their machine. mkinitcpio sources its conf.d drop-ins as shell, so omarchy_hooks.conf now checks XKBLAYOUT at every rebuild and only bundles the file for Latin layouts; non-Latin layouts keep the US fallback the passphrase was set under. A migration strips the unconditional line and rebuilds the UKI on affected installs. Closes #6229. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
13 lines
730 B
Plaintext
13 lines
730 B
Plaintext
HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs)
|
|
|
|
# Bundle vconsole.conf so Plymouth uses the configured keyboard layout at the
|
|
# LUKS prompt, but only when that layout types Latin letters. Passphrases are
|
|
# Latin characters, so bundling a Hebrew/Greek/Cyrillic/Arabic layout would
|
|
# make the correct passphrase untypeable and lock the user out.
|
|
if [[ -f /etc/vconsole.conf ]]; then
|
|
case $(. /etc/vconsole.conf && echo "${XKBLAYOUT%%,*}") in
|
|
af | am | ara | bd | bg | by | et | ge | gr | il | in | iq | ir | kg | kh | kz | la | lk | mk | mm | mn | mv | np | rs | ru | sy | th | tj | ua) ;;
|
|
*) FILES+=(/etc/vconsole.conf) ;;
|
|
esac
|
|
fi
|