mirror of
https://github.com/vinceliuice/grub2-themes.git
synced 2024-11-16 20:35:38 +01:00
Modern Design theme for Grub2
assets | ||
backgrounds | ||
common | ||
config | ||
banner.png | ||
flake.nix | ||
install.sh | ||
LICENSE | ||
preview.png | ||
README.md |
Installation:
Usage: sudo ./install.sh [OPTIONS...]
-t, --theme theme variant(s) [tela|vimix|stylish|whitesur] (default is tela)
-i, --icon icon variant(s) [color|white|whitesur] (default is color)
-s, --screen screen display variant(s) [1080p|2k|4k|ultrawide|ultrawide2k] (default is 1080p)
-c, --custom-resolution set custom resolution (e.g., 1600x900) (disabled in default)
-r, --remove remove theme [tela|vimix|stylish|whitesur] (must add theme name option, default is tela)
-b, --boot install theme into '/boot/grub' or '/boot/grub2'
-g, --generate do not install but generate theme into chosen directory (must add your directory)
-h, --help show this help
If no options are used, a user interface dialog
will show up instead
Examples:
- Install Tela theme on 2k display device:
sudo ./install.sh -t tela -s 2k
- Install Tela theme with custom resolution:
sudo ./install.sh -t tela -c 1600x900
- Install Tela theme into /boot/grub/themes:
sudo ./install.sh -b -t tela
- Uninstall Tela theme:
sudo ./install.sh -r -t tela
Installation with NixOS:
To use this theme with NixOS you will have to enable flakes. Before you do this, please inform yourself if you really want to, because flakes are still an unstable feature.
First you will have to add grub2 to your flake.nix
file as a new input.
# flake.nix
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# Add grub2 themes to your inputs ...
grub2-themes = {
url = "github:vinceliuice/grub2-themes";
};
};
outputs = inputs@{ nixpkgs, grub2-themes, ... }: {
nixosConfigurations = {
my_host = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
# ... and then to your modules
modules = [
./configuration.nix
grub2-themes.nixosModules.default
];
};
};
};
}
After that, you can configure the theme as shown below. In this example it is inside the configuration.nix
file but it can be any file you choose.
# configuration.nix
{ inputs, config, pkgs, lib, ... }:
{
boot.loader.grub = { ... };
boot.loader.grub2-theme = {
enable = true;
theme = "stylish";
footer = true;
customResolution = "1600x900"; # Optional: Set a custom resolution
};
}
Issues / tweaks:
Correcting display resolution:
- On the grub screen, press
c
to enter the command line - Enter
vbeinfo
orvideoinfo
to check available resolutions - Open
/etc/default/grub
, and editGRUB_GFXMODE=[height]x[width]x32
to match your resolution - Finally, run
grub-mkconfig -o /boot/grub/grub.cfg
to update your grub config
Setting a custom background:
- Make sure you have
imagemagick
installed, or at least something that providesconvert
- Find the resolution of your display, and make sure your background matches the resolution
- 1920x1080 >> 1080p
- 2560x1080 >> ultrawide
- 2560x1440 >> 2k
- 3440x1440 >> ultrawide2k
- 3840x2160 >> 4k
- Place your custom background inside the root of the project, and name it
background.jpg
- Run the installer like normal, but with -s
[YOUR_RESOLUTION]
and -t[THEME]
and -i[ICON]
- Make sure to replace
[YOUR_RESOLUTION]
with your resolution and[THEME]
with the theme
- Make sure to replace
- Alternatively, use the
-c
option to set a custom resolution
Contributing:
- If you made changes to icons, or added a new one:
- Delete the existing icon, if there is one
- Run
cd assets; ./render-all.sh
- Create a pull request from your branch or fork
- If any issues occur, report then to the issue page