vinceliuice / grub2-themes

Modern Design theme for Grub2
GNU General Public License v3.0
3.29k stars 236 forks source link

banner

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)
  -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:

sudo ./install.sh -t tela -s 2k
sudo ./install.sh -b -t tela
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;
  };
}

Issues / tweaks:

Correcting display resolution:

Setting a custom background:

Contributing:

Preview:

preview

Documents

Grub2 theme reference

Grub2 theme tutorial