obosdi-pkg/config/boot/systemd/menu

61 lines
1.3 KiB
Bash

#!/bin/bash
. ./lib
options=()
options+=("Config" "/boot/loader/loader.conf")
options+=("Entries" "/boot/loader/entries")
options+=("" "")
options+=("Update" "bootctl update")
options+=("" "")
if [ ! -f /etc/pacman.d/hooks/systemd-boot.hook ]; then
options+=("Create pacman hook" "/etc/pacman.d/hooks/systemd-boot.hook")
else
options+=("Delete pacman hook" "/etc/pacman.d/hooks/systemd-boot.hook")
fi
defaultitem="Config"
sel=$(whiptail --backtitle "$apptitle" --title "Systemd Config Menu :" --menu "" --default-item "$defaultitem" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
sed -i "/^defaultitem=/c\defaultitem=\"$sel\"" $0
case $sel in
'Config')
defaultitem="Config"
editfile /boot/loader/loader.conf
;;
'Entries')
defaultitem="Entries"
menu config/boot/systemd/entries
;;
'Update')
defaultitem="Update"
clear
bootctl update
pressanykey
;;
'Create pacman hook')
defaultitem="Update"
mkdir -p /etc/pacman.d/hooks
cat <<EOF > /etc/pacman.d/hooks/systemd-boot.hook
[Trigger]
Type = Package
Operation = Upgrade
Target = systemd
[Action]
Description = Updating systemd-boot
When = PostTransaction
Exec = /usr/bin/bootctl update
EOF
;;
'Delete pacman hook')
defaultitem="Update"
rm /etc/pacman.d/hooks/systemd-boot.hook
;;
esac
exit 0