Interactive GRUB theme manager for Linux - Browse, install, and manage GRUB boot themes
Project description
PROJECT GRUB - GRUB Theme Manager
Developer: roshhellwett
Copyright: Zenith Open Source Projects
The ultimate tool to customize your Linux boot loader.
๐ Overview
ProjectGRUB is an interactive CLI tool that helps you browse, install, and manage GRUB boot themes on Linux. Instead of manually copying files and editing configurations, just run the menu and pick your theme.
โจ Features
- ๐จ Browse Themes - View all available GRUB themes with details
- ๐ Quick Install - Install a theme in 3 clicks
- โ๏ธ Advanced Install - Choose resolution (1080p, 2K, 4K) and options
- ๐ Theme Validation - Verify themes before installing
- ๐ง System Diagnostics - Check GRUB health and compatibility
- ๐ฆ Auto-Discovery - New themes appear automatically in the menu
- ๐ก๏ธ Safe Operations - Backup before changes, rollback on failure
- ๐พ Pre-flight Checks - Validates system readiness before any operation
๐ Quick Start
Step 1: Install Python
If you don't have Python, download it here: https://www.python.org/downloads/
Step 2: Install ProjectGRUB
pip install projectgrub
Step 3: Run the Interactive Menu
python -m projectgrub start
That's it! The tool will guide you through everything.
๐ Installation Options
Option 1: Install via pip (Recommended)
pip install projectgrub
projectgrub
Option 2: Run from local clone
git clone https://github.com/zenithopensourceprojects/projectgrub.git
cd projectgrub
pip install -e .
projectgrub
Option 3: Run without installing
git clone https://github.com/zenithopensourceprojects/projectgrub.git
cd projectgrub
pip install -e .
python -m projectgrub start
๐ฏ Menu Options
| Option | Description |
|---|---|
| 1. Browse Themes | View all available GRUB themes with previews |
| 2. Quick Install | Install a theme with recommended settings |
| 3. Advanced Install | Choose resolution (1080p/2K/4K) and custom options |
| 4. Preview Theme | View detailed theme information |
| 5. Uninstall Theme | Remove current GRUB theme |
| 6. System Diagnostics | Check GRUB health and compatibility |
| 7. Theme Validation | Validate a theme before install |
| 8. Contribute Guide | Learn how to add new themes |
| 9. Refresh Themes | Reload themes from disk |
| 10. Help | Documentation and tips |
| 0. Exit | Exit the application |
๐ก๏ธ Safety Features
Pre-flight Checks
Before any operation, ProjectGRUB validates:
- โ Running on Linux
- โ Root privileges available
- โ GRUB installed
- โ GRUB directory accessible
- โ Write permissions available
- โ Sufficient disk space
Rollback on Failure
If installation fails:
- GRUB config is restored from backup
- Partially copied files are removed
- User receives clear error message with suggestions
๐จ Available Themes
The tool automatically discovers themes from the themes/ folder. Current themes include:
| Theme | Author | Description |
|---|---|---|
| Vimix | Vimix | Clean, modern flat-design |
| Xenlism | Xenlism | Minimal and elegant |
| Tela | Tela | Minimalist aesthetics |
| Dark Matter | VandalByte | Dark and sleek |
| DedSec | VandalByte | Cyberpunk hacker style |
๐ค Contributing Themes
Want to add your own theme? Easy!
Step 1: Create Theme Folder
themes/your-theme-name/
Step 2: Add Resolution Subfolders
themes/your-theme-name/
โโโ 1080p/
โ โโโ theme.txt
โ โโโ background.png
โ โโโ ... assets
โโโ 2k/
โ โโโ ...
โโโ 4k/
โโโ ...
Step 3: Create theme.txt
title-text: ""
desktop-image: "background.png"
desktop-color: "#000000"
terminal-font: "Terminus Regular 14"
terminal-box: "terminal_box_*.png"
+ boot_menu {
left = 30%
top = 30%
width = 45%
height = 60%
item_font = "Unifont Regular 16"
item_color = "#cccccc"
selected_item_color = "#ffffff"
selected_item_pixmap_style = "select_*.png"
}
Step 4: Add metadata.json (optional)
{
"name": "Your Theme Name",
"author": "Your Name",
"description": "A beautiful GRUB theme",
"version": "1.0.0",
"license": "MIT"
}
Step 5: Submit
- Fork the repository
- Add your theme to the
themes/folder - Create a pull request
Your theme will automatically appear in the menu!
๐ง CLI Commands
# Interactive menu
python -m projectgrub start
# List all themes
python -m projectgrub list
# Show theme info
python -m projectgrub info themename
# Run system checks
python -m projectgrub check
๐ Requirements
- Linux operating system
- Python 3.10 or higher
- GRUB bootloader installed
- Root/sudo privileges
- At least 50MB free space in /boot
Supported Distributions
- Ubuntu / Debian
- Arch / Manjaro
- Fedora / RHEL
- openSUSE
- And other Linux distributions with GRUB
๐ Troubleshooting
"Root privileges required"
Run with sudo:
sudo python -m projectgrub start
"GRUB not found"
Make sure GRUB is installed and /boot is mounted.
"Theme not working after install"
- Reboot your system
- Check /etc/default/grub for GRUB_THEME line
- Run
sudo grub-mkconfigmanually
๐ License
MIT License - See LICENSE file for details.
๐ Credits
- GRUB Theme: Vimix
- Dark Matter & DedSec: VandalByte
- Xenlism: Xenlism
- Tela: Tela
ยฉ 2026 Zenith Open Source Projects. All Rights Reserved.
Zenith is an Open Source Project Idea by @roshhellwett
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file projectgrub-1.0.0.tar.gz.
File metadata
- Download URL: projectgrub-1.0.0.tar.gz
- Upload date:
- Size: 28.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e3d18e2440ffe1adb3d2923347d2e28ac599eb1c0ed053143ac755008212e33
|
|
| MD5 |
974238de37d379f76e53115a9a9a627a
|
|
| BLAKE2b-256 |
0529abe5b7ee1305453545b2bcaf14048f08dfd1e9ab360868c92e92685a6a0b
|
File details
Details for the file projectgrub-1.0.0-py3-none-any.whl.
File metadata
- Download URL: projectgrub-1.0.0-py3-none-any.whl
- Upload date:
- Size: 27.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1129120540cdfb4adce37e0f660099eb0ff3492e6edaa7fae13a8b8a7d0993b
|
|
| MD5 |
ebc3b6d2419b0ada2ceb9007d2fba95c
|
|
| BLAKE2b-256 |
c3ce47a0609c278114acf3a875522422dc83cc0f3d48aadb4b173ccccc8954f7
|