mirror of
https://github.com/nickolaj-jepsen/nixos.git
synced 2026-01-22 00:01:58 +01:00
27 lines
827 B
Bash
27 lines
827 B
Bash
#!/usr/bin/env bash
|
|
|
|
# Find windows entry id using bootctl
|
|
WINDOWS_ID=$(bootctl list --json=short | jq -r '.[] | select(.title != null) | select(.title | ascii_downcase | contains("windows")) | .id' | head -n 1)
|
|
|
|
if [ -z "$WINDOWS_ID" ]; then
|
|
# Fallback to checking the ID itself
|
|
WINDOWS_ID=$(bootctl list --json=short | jq -r '.[] | select(.id | ascii_downcase | contains("windows")) | .id' | head -n 1)
|
|
fi
|
|
|
|
if [ -z "$WINDOWS_ID" ]; then
|
|
echo "Error: No Windows boot entry found in systemd-boot."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Setting next boot to: $WINDOWS_ID"
|
|
|
|
# Check if we have root, if not, try to use sudo
|
|
if [ "$EUID" -ne 0 ]; then
|
|
sudo bootctl set-oneshot "$WINDOWS_ID"
|
|
echo "Rebooting..."
|
|
sudo systemctl reboot
|
|
else
|
|
bootctl set-oneshot "$WINDOWS_ID"
|
|
echo "Rebooting..."
|
|
systemctl reboot
|
|
fi
|