https://github.com/Lxtharia/minegrub-theme/raw/main/assets/preview_minegrub.png
Installation
Note: grub vs grub2
- Check if you have a
/boot/grub2folder instead of a/boot/grubfolder in which case you would just have to adjust the file paths mentioned here and in theassets/minegrub-update.servicefile- Also if you’re not sure, run
grub-mkconfig -Vto check if you have grub version 2 (you should have)
- Clone this repository
git clone https://github.com/Lxtharia/minegrub-theme.git
- Copy the folder to your boot partition: (for info:
-ruv= recursive, update, verbose)
sudo cp -ruv ./minegrub-theme/* /boot/grub/themes/minegrub-theme/
- Change/add this line in your
/etc/default/grub:
GRUB_THEME=/boot/grub/themes/minegrub-theme/theme.txt
- Update your live grub config by running
sudo grub-mkconfig -o /boot/grub/grub.cfg
- You’re good to go!
Random splash texts and accurate “x Packages Installed” text!
The update_theme.py script chooses a random line from resources/splashes.txt and generates and replaces the logo.png which holds the splash text, as well as updates the amount of packages currently installed
- Make sure
neofetchis installed - Make sure Python 3 (or an equivalent) and the Pillow python package are installed
- Install Pillow either with the python-pillow package from the AUR or with
sudo -H pip3 install pillow - It’s important to use
sudo -H, because it needs to be available for the root user
- Install Pillow either with the python-pillow package from the AUR or with
- To add new splash texts simply edit
./resources/splashes.txtand add them to the end of the file (if you add it at the beginning or in the middle, some splashes may never get used because the image cashing uses the line of the file the splash is on) - If you want to remove splashes you should reset the cache by deleting
/boot/grub/themes/minegrub-theme/cache
Update splash and “Packages Installed”…
…without systemd
- Just run
python /boot/grub/themes/minegrub-theme/update_theme.py(from anywhere) after boot using whatever method works for you
…with systemd
- Edit
./assets/minegrub-update.serviceto use/boot/grub2/on line 5 if applicable - Copy
./assets/minegrub-update.serviceto/etc/systemd/system - Enable the service:
systemctl enable minegrub-update.service - If it’s not updating after rebooting (it won’t update on the first reboot because it updates after you boot into your system), check systemctl status minegrub-update.service for any errors (for example if pillow isn’t installed in the correct scope)
Adjusting for a different amount of boot options:
- When you have more/less than 4 boot options, you might want to adjust the height of the bottom bar (that says “Options” and “Console”)
- The formula and some precalculated values (for 2,3,4,5… boot options) are in the
theme.txt, so you should be able to easily change it to the correct value.
Notes:
- the
GRUB_TIMEOUT_STYLEin the defaults/grub file should be set tomenu, so it immediately shows the menu (else you would need to press ESC and you dont want that) - I’m no Linux expert, that’s why I explain it so thoroughly, for other newbies :>
- i use arch btw
- i hope u like it, cause i sure do lmao