Configure your GRUB bootloader without touching config files
π¦ Download β’ β¨ Features β’ π Documentation β’ π€ Contributing
- No changes detected since last tag.
- Initial release or no tags found.
- Merge pull request #8 from bingoweb/refactor-polite-auth-dialog-7708239785296805798
- GTK4 + LibAdwaita design with dark mode support
- Clean, intuitive navigation sidebar
- Responsive layout for all screen sizes
| Feature | Description |
|---|---|
| Menu Timeout | Set how long GRUB menu appears (0-30 seconds) |
| Visibility Style | Show Menu / Hidden (Shift key) / Countdown only |
| Remember Selection | Auto-select last booted OS |
| Feature | Description |
|---|---|
| Background Image | Set custom PNG/JPEG/TGA background |
| Screen Resolution | Configure GRUB display resolution |
| Live Preview | See your background before applying |
| Feature | Description |
|---|---|
| Default OS | Choose which OS boots automatically |
| Windows Detection | Manually add Windows if OS-Prober fails |
| OS Prober | Toggle automatic OS detection |
| Submenus | Group old kernels in submenu |
| Feature | Description |
|---|---|
| Quiet Boot | Hide technical boot messages |
| Splash Screen | Plymouth boot animation toggle |
| Recovery Mode | Show/hide recovery options |
| Kernel Parameters | Custom kernel command line |
- No root startup - App starts normally without password
- On-demand sudo - Password only when applying changes
- Session caching - No repeated prompts
- Universal dialog - Works on GNOME, KDE, XFCE, and tiling WMs
- π¬π§ English
- πΉπ· TΓΌrkΓ§e (Turkish)
- More languages coming soon!
- System - Follow system theme
- Light - Force light mode
- Dark - Force dark mode
The easiest way - dependencies are installed automatically!
# Download the package
wget https://github.com/bingoweb/grub-settings/releases/latest/download/grub-settings_0.1.4_all.deb
# Install with dependencies
sudo apt install ./grub-settings_0.1.4_all.deb
# Run from menu or terminal
grub-settingsflatpak install flathub io.github.taylan.grubsettingsFlathub submission is pending review.
# Clone
git clone https://github.com/bingoweb/grub-settings.git
cd grub-settings
# Run
python3 grub_settings.pyDependencies:
# Debian/Ubuntu
sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1
# Fedora
sudo dnf install python3-gobject gtk4 libadwaita
# Arch Linux
sudo pacman -S python-gobject gtk4 libadwaitaGRUB Settings modifies /etc/default/grub and runs update-grub to apply changes. It provides a safe, visual way to configure:
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=menu
GRUB_DEFAULT=0
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_BACKGROUND="/path/to/image.png"
GRUB_GFXMODE=1920x1080
| Distribution | Status | Notes |
|---|---|---|
| Ubuntu 22.04+ | β Tested | Full support |
| Debian 12+ | β Tested | Full support |
| Fedora 38+ | β Tested | Full support |
| Arch Linux | β Tested | Full support |
| Linux Mint | β Tested | Ubuntu-based |
| Pop!_OS | β Tested | Ubuntu-based |
| openSUSE | Should work |
β Why does the app need sudo?
GRUB configuration is stored in /etc/default/grub which requires root access. The app only asks for password when you click "Apply Changes".
β Will this break my system?
No. The app creates a backup before making changes. If something goes wrong, you can restore from /etc/default/grub.backup.
β Windows not detected?
- Enable "OS Prober" in System Settings
- If still not detected, use "Add Windows Manually" option
- Click "Apply Changes" and reboot
β How do I reset to defaults?
sudo cp /etc/default/grub.backup /etc/default/grub
sudo update-grubβ Can I add more languages?
Yes! Create a new JSON file in locales/ folder and add it to languages.json. See existing translations as reference.
grub-settings/
βββ grub_settings.py # Main application
βββ assets/ # Icons and images
βββ locales/ # Translation files
β βββ languages.json # Language registry
β βββ en.json # English
β βββ tr.json # Turkish
βββ flatpak/ # Flatpak packaging
βββ packaging/ # .deb packaging
βββ screenshots/ # App screenshots
# Build .deb package
dpkg-deb --build packaging/deb packaging/grub-settings_0.1.4_all.deb
# Test Flatpak
flatpak-builder --user --install build-dir flatpak/io.github.taylan.grubsettings.ymlThis repo ships with a Git hook that runs release_manager.py after each commit to bump the patch version and keep the README changelog up to date.
# Enable repo hooks
git config core.hooksPath .githooksTo skip the auto-release for a single commit, set an environment variable:
GRUB_SETTINGS_AUTO_RELEASE=0 git commit -m "docs: update readme"Contributions are welcome! Here's how you can help:
- π Report Bugs - Open an issue
- π Add Translations - Help translate to your language
- π» Submit PRs - Fix bugs or add features
- β Star the repo - Show your support!
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
Taylan Soylu
Made with β€οΈ for the Linux community
If you find this useful, please consider giving it a β



