## Installation via GRUB Customizer In order to clone the repository from GitHub, you have to install Git, via the `git` package. Alternatively, you can download a zip archive by clicking on **Code** then **Download ZIP** #### Clone the repository You can clone the repository or go to the [release page](https://github.com/AdisonCavani/distro-grub-themes/releases) and download a single theme. ```shell git clone https://github.com/AdisonCavani/distro-grub-themes.git ``` ### Install GRUB Customizer ``grub-customizer`` is not available on Ubuntu 21.10 and above. See [#56](https://github.com/AdisonCavani/distro-grub-themes/issues/56). You should [install it manually](#manual-installation), instead. apt ```shell sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer ``` pacman ```shell sudo pacman -S grub-customizer ``` Grub Customizer DOES NOT WORK on recent Fedora releases without extensive modification. [Manually installing](#manual-installation) a GRUB theme is much more secure and hassle free. Use this at your own risk. dnf ```shell sudo dnf install grub-customizer ``` eopkg ```shell sudo eopkg install grub-customizer ``` ### Install a pre-made theme with GRUB Customizer - Open GRUB Customizer - Click on the **Appearance settings** tab - Select _Custom resolution_ and select or type in your resolution, e.g 1920x1080 - Press the _Add theme_ button, then navigate to the directory where you cloned the repository; in my case `/home/adison/distro-grub-themes` - Select your theme located in the `/themes` directory - Save the changes ### Install a custom-made theme with GRUB Customizer - Extract and edit your theme located in the `/themes` folder - With your file manager, inside the modified theme's directory, select all files and create an archive with .tar or .tar.xz format - Open GRUB Customizer - Click on the **Appearance settings** tab - Enable _Custom resolution_ and select or type in your resolution, e.g 1920x1080 - Press the _Add theme_ button, then navigate to the directory where you cloned the repository; in my case `/home/adison/distro-grub-themes` - Change the _Archive files_ setting to **All files** - Select your archive - Save the changes KDE Neon's default theme is set in a separate file that overrides any theme changes you make. Run the following to disable the default GRUB theme: ```shell sudo rm /etc/default/grub.d/99_breeze-grub.cfg sudo update-grub ``` To revert back to the orignal KDE Neon theme, open GRUB Customizer, and in the Appearance settings tab, change the theme dropdown back to breeze. ## Installation via Nix Flakes ### Prerequisites - Nix 2.4 or later - Experimental features `nix-command` and `flakes` enabled. - You can achive that by setting the following options and rebuilding your system. ```nix:configuration.nix nix = { package = pkgs.nixFlakes; extraOptions = '' experimental-features = nix-command flakes ''; }; ``` ### NixOS module To use this theme as a NixOS module, a bare-minimum configuration would be as follows: ```nix:flake.nix { inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; distro-grub-themes.url = "github:AdisonCavani/distro-grub-themes"; }; outputs = { self, nixpkgs, ... }@inputs: { nixosConfigurations."default" = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ ./configuration.nix inputs.distro-grub-themes.nixosModules.${system}.default ]; }; }; } ``` ```nix:configuration.nix { config, pkgs, lib, ... }: { distro-grub-themes = { enable = true; theme = ""; }; } ``` ### Standalone setup To use this theme in a standalone setup, a bare-minimum configuration would be as follows: ```nix:flake.nix { inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; distro-grub-themes.url = "github:AdisonCavani/distro-grub-themes"; }; outputs = { self, nixpkgs, ... }@inputs: { nixosConfigurations."default" = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; specialArgs = { # Pass system and inputs to the configuration.nix file inherit system inputs; }; modules = [ ./configuration.nix ]; }; }; } ``` ```nix:configuration.nix { config, pkgs, lib, inputs, system, ... }: { boot.loader.grub = rec { theme = inputs.distro-grub-themes.packages.${system}.-grub-theme; splashImage = "${theme}/splash_image.jpg"; }; } ``` ## Manual Installation In order to clone the repository from GitHub, you have to install Git, via the `git` package. Alternatively, you can download a zip archive by clicking on **Code** then **Download ZIP**. #### Clone the repository You can clone the repository, or go to the [release page](https://github.com/AdisonCavani/distro-grub-themes/releases) and download a single theme. ```shell git clone https://github.com/AdisonCavani/distro-grub-themes.git ``` #### Create themes directory To create themes directory, replace `BOOT_GRUB_LOCATION` with the directory where GRUB is located. Usually it's `/boot/grub` or `/boot/grub2` but some distributions have a different one, so you'll have to figure it out. ```shell sudo mkdir BOOT_GRUB_LOCATION/themes ``` #### Edit or use a pre-made theme ```shell cd distro-grub-themes/themes ``` #### Copy theme The theme must be unpacked inside a folder before you can install it. ``` sudo tar -C BOOT_GRUB_LOCATION/themes/ -xf .tar ``` #### Edit GRUB config You can use your favourite text editor for this. Here, we use nano. ```shell sudo nano /etc/default/grub ``` Uncomment this line and set your display resolution: ``` GRUB_GFXMODE=1920x1080 ``` Make sure ``GRUB_TERMINAL_OUTPUT="console"`` is commented out! At the end of the file, add the path of your theme: ``` GRUB_THEME="BOOT_GRUB_LOCATION/themes//theme.txt" ``` Ctrl+O to save, Ctrl+X to exit. #### Update Grub config You'll need to tell GRUB to update its configuration in order to include the new theme. ##### Ubuntu and Debian-based systems: ```shell sudo update-grub ``` ##### Fedora, Arch & others: If you have a UEFI system, run: ``` sudo grub-mkconfig -o BOOT_GRUB_LOCATION/grub.cfg ``` or ``` sudo grub2-mkconfig -o BOOT_GRUB_LOCATION/grub.cfg ``` These commands have only been tested on Arch & Fedora, and may not work on your distribution. Consult your distro's documentation and/or forum for the GRUB config file directory and its update commands. KDE Neon's default theme is set in a separate file that overrides any theme changes you make. Run the following to disable the default GRUB theme: ```shell sudo rm /etc/default/grub.d/99_breeze-grub.cfg sudo update-grub ``` To revert back to the orignal KDE Neon theme, set the `GRUB_THEME` value in `/etc/default/grub` to `/boot/grub/themes/breeze/theme.txt`. ## Install theme in Ventoy Extract `Ventoy.tar` to `/ventoy/theme` Locate `ventoy.json` file in `/plugin/ventoy/` directory and change: ``` "file": "/ventoy/theme/blur/theme.txt", ``` to ``` "file": "/ventoy/theme/Ventoy/theme.txt", ``` For more information, head over to the [Ventoy website](https://www.ventoy.net/en/plugin_theme.html).