About this project
grubForge is a terminal user interface (TUI) application designed to manage and customize the GRUB bootloader on Linux systems. It aims to address the complexities and risks associated with manually editing GRUB configuration files, providing a safer, clearer, and more approachable alternative.
The application is built around four core principles:
* **Safety**: Ensures a backup is created before every change, requires confirmation for actions, and validates input.
* **Clarity**: Explains every GRUB setting in plain language and distinguishes between required and optional settings.
* **Aesthetics**: Presents a modern, well-designed TUI rather than a basic configuration screen.
* **Approachability**: Designed to be keyboard-driven, fast, and usable for users without deep bootloader expertise.
Key features include:
* **Dashboard**: Provides an overview of the current GRUB setup and indicates when the boot menu is out of date.
* **Config Editor**: Allows editing GRUB settings with real-time validation and explanations.
* **Theme Browser**: Enables browsing, previewing, and applying installed GRUB themes.
* **Boot Entries**: Facilitates reordering, renaming, and creating boot entries, including detecting other operating systems. Users can save custom orders and restore the original.
* **Backup & Restore**: Automatically creates timestamped backups before each change, retaining the 10 most recent, which can be restored from within the app.
* **Boot Menu Rebuild**: Offers a one-keystroke option to rebuild the boot menu after any modifications.
* **Consistent Keybindings**: Provides universal action keys (Edit, Save, Apply, Refresh, Regenerate) that work across all screens, alongside screen-specific keys.
* **User-level Operation**: Runs as a normal user, utilizing Polkit for privileged operations, ensuring the application itself never handles root passwords.
The safety philosophy of grubForge prioritizes preventing bootloader breakage. Every change undergoes validation, confirmation, automatic backup, and Polkit-authorized permission. A small, fixed-vocabulary helper script handles root-level tasks, re-checking all inputs and ensuring atomic writes to critical configuration files. The application explicitly warns users about potential issues, such as kernel updates not appearing in the boot menu when a custom boot order is active, as GRUB's automatic entry generators are switched off in this mode.
Installation instructions are provided for Arch Linux (via AUR or source), Debian/Ubuntu, and other distributions, detailing necessary dependencies like Python 3.10+, `python-textual`, `python-rich`, and `polkit`. Usage emphasizes running `grubforge` as a normal user, with `sudo grubforge` available for console-only environments or for users who prefer it.
The project's roadmap includes migrating to the `forgekit` shared foundation for improved UI consistency and further enhancements like addressing duplicate boot entries, improving readability on plain text consoles, and providing warnings when boot entries are frozen. The changelog highlights recent updates, including the shift to Polkit-based permission handling and improved boot menu reading for systems with restricted `grub.cfg` permissions.
grubForge is a collaborative effort between a human and an AI, with a transparent approach to its development process. It is released under the GNU General Public License v3.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.