A system tray bootloader selector. Set which boot entry to use on next reboot without leaving your desktop.
Switching between operating systems on Linux desktops usually means:
- chainloading through another bootloader
- opening temporary boot menus
- manually running efibootmgr / grub-reboot
This tool puts the last workflow into a tray icon.
It is primarily designed for UEFI systems using separate EFI entries, where direct BootNext switching is often more reliable than chainloading.
- Python 3.10+
- PyQt5
python main.py| Button | Action |
|---|---|
| Left | Cycle to the next boot entry & notify |
| Middle | Confirm & reboot |
| Right | Context menu (pick entry, edit config, quit) |
On first run a default config is created at ~/.config/NextBoot/config.json.
{
"boot_entries": [
{
"name": "Windows",
"set_command": "efibootmgr -n 0000",
"skip_cycle": false
},
{
"name": "uEFI Firmware (Immediately) (Example)",
"set_command": "systemctl reboot --firmware-setup",
"skip_cycle": true
},
{
"name": "Linux",
"set_command": "efibootmgr -n 0002",
"skip_cycle": false
}
],
"reboot_command": "systemctl reboot",
"editor_command": "xdg-open"
}boot_entries— list of entries shown in the tray menu.name— display label.set_command— shell command to set this entry as next boot. No requirements ofpkexecorsudo, helper will executue it as root.skip_cycle— if some command will execute immediately, this switch can exclude this section from being rolled and reboot your computer accidentally.
reboot_command— command executed on middle-click reboot.editor_command— program used to open the config file (right-click → Edit Config).