A Grub Theme in the style of Minecraft!
A Grub Theme in the style of Minecraft!
Note: grub vs grub2
- If you have a
/boot/grub2
folder instead of a/boot/grub
folder , you need to adjust the file paths mentioned here and in theminegrub-update.service
file- Also if you're not sure, run
grub-mkconfig -V
to check if you have grub version 2 (you should have)
git clone https://github.com/Lxtharia/minegrub-theme.git
./choose-background.sh # or just copy a custom image to minegrub/background.png
If you want to use the update script, copy an arbitrary number of images you would like to use to minegrub/backgrounds/
. You can find some options in background_options/
but you can also use your own images.
If you do not want to use the update script or if you always want to use the same background, you can use ./choose-background.sh
or just copy a custom image to minegrub/background.png
Copy the folder to your boot partition: (for info: -ruv
= recursive, update, verbose)
cd ./minegrub-theme
sudo cp -ruv ./minegrub /boot/grub/themes/
/etc/default/grub
:GRUB_THEME=/boot/grub/themes/minegrub/theme.txt
sudo grub-mkconfig -o /boot/grub/grub.cfg
# flake.nix
{
inputs.minegrub-theme.url = "github:Lxtharia/minegrub-theme";
# ...
outputs = {nixpkgs, ...} @ inputs: {
nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
modules = [
./configuration.nix
inputs.minegrub.nixosModules.default
];
};
}
}
# configuration.nix
{ pkgs, ... }: {
boot.loader.grub = {
minegrub-theme = {
enable = true;
splash = "100% Flakes!";
boot-options-count = 4;
};
# ...
};
}
theme.txt
, so you should be able to easily change it to the correct value.The update_theme.py
script chooses a random line from assets/splashes.txt
and generates and replaces the logo.png
which holds the splash text, as well as updates the amount of packages currently installed. It also randomly chooses a file from backgrounds/
(ignoring hidden files beginning with a dot) as the background image.
neofetch
is installedsudo -H pip3 install pillow
sudo -H
, because it needs to be available for the root user./minegrub/assets/splashes.txt
and add them to the file../minegrub/backgrounds/
. Hidden files (i.e. filenames beginning with a dot) will be ignored. You can also add your own images.python update_theme.py [BACKGROUND_FILE [SPLASH]]
, e.g. python update_theme.py 'backgrounds/1.15 - [Buzzy Bees].png' 'Splashing!'
python update_theme.py '' 'Splashing!'
for a random background and the splash Splashing!
.python /boot/grub/themes/minegrub/update_theme.py
(from anywhere) after boot using whatever method works for you./minegrub-SysVinit.sh
under /etc/init.d
as minecraft-grub
then run update-rc.d minecraft-grub defaults
as root privileges:sudo cp -v "./minegrub-SysVinit.sh" "/etc/init.d/minecraft-grub"
sudo chmod u+x "/etc/init.d/minecraft-grub" # Just to be sure the permissions are set correctly.
sudo update-rc.d minecraft-grub defaults
./minegrub-update.service
to use /boot/grub2/
on line 5 if applicable./minegrub-update.service
to /etc/systemd/system
systemctl enable minegrub-update.service
systemctl status minegrub-update.service
for any errors (for example if pillow isn't installed in the correct scope)GRUB_TIMEOUT_STYLE
in the defaults/grub file should be set to menu
, so it immediately shows the menu (else you would need to press ESC and you dont want that)Font downloaded from https://www.fontspace.com/minecraft-font-f28180 and used for non commercial use.