PATH_HIBERNATE_OVERRIDE=/etc/systemd/system/systemd-hibernate.service.d/\
60-poweroff-on-failure.conf
PATH_HOOK_EFI=/etc/initramfs/post-update.d/update-efi
+PATH_LOGIND_OVERRIDE=/etc/systemd/logind.conf.d/\
+60-poweroff-on-lid-close.conf
PATH_SYSCTL_PRINTK=/etc/sysctl.d/60-printk-console.conf
PATH_TLP_THRESH_CONF=/etc/tlp.conf.d/60-thresholds.conf
PATH_UDEV_RULES=/etc/udev/rules.d
printf '[Unit]\nOnFailure=poweroff.target\n' >| "${PATH_HIBERNATE_OVERRIDE}"
systemctl daemon-reload
+msg 'Forcing a full poweroff on lid close, in every dock/power state …'
+mkdir -p "$(dirname "${PATH_LOGIND_OVERRIDE}")"
+{
+ printf '[Login]\n'
+ printf '%s=poweroff\n' \
+ HandleLidSwitch HandleLidSwitchExternalPower HandleLidSwitchDocked
+} >| "${PATH_LOGIND_OVERRIDE}"
+# logind only re-reads its config at process start, not via daemon-reload
+systemctl restart systemd-logind
+
msg 'Making backlight devices available to user-run backlight script …'
cp "${PATH_TO_COPY}/${FNAME_UDEV_RULES_BACKLIGHT}" "${PATH_UDEV_RULES}/"
udevadm control --reload-rules