Skip to content

IaSoC/NextBoot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NextBoot

A system tray bootloader selector. Set which boot entry to use on next reboot without leaving your desktop.

Why?

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.

Requirements

  • Python 3.10+
  • PyQt5

Usage

python main.py

Tray icon actions

Button Action
Left Cycle to the next boot entry & notify
Middle Confirm & reboot
Right Context menu (pick entry, edit config, quit)

Configuration

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 of pkexec or sudo, 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).

Releases

No releases published

Packages

 
 
 

Contributors

Languages