Compare commits

...

49 commits
v3.2 ... master

Author SHA1 Message Date
github-actions
ebbd174198 🤖 Update files 2024-12-21 18:35:14 +00:00
Adrian Środoń
934262351e
Merge pull request #141 from JacksonBarker/master
Add framework13 Theme
2024-12-21 19:34:54 +01:00
Adrian Środoń
76fd545df0
Merge pull request #140 from ahmedmoselhi/master
flake.lock: Update
2024-12-21 19:34:32 +01:00
github-actions
628af42ebc 🤖 Update files 2024-11-23 21:38:42 +00:00
Jackson Barker
f2456d81ba
framework13 Theme 2024-11-23 16:37:48 -05:00
github-actions[bot]
f361f499dc flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a?narHash=sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ%3D' (2024-03-11)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b?narHash=sha256-l0KFg5HjrsfsO/JpG%2Br7fRrqm12kzFHyUHqHCVpMMbI%3D' (2024-11-13)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/cfd6b5fc90b15709b780a5a1619695a88505a176?narHash=sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM%3D' (2024-04-12)
  → 'github:nixos/nixpkgs/5e4fbfb6b3de1aa2872b76d49fafc942626e2add?narHash=sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg%3D' (2024-11-15)
2024-11-20 10:34:46 +02:00
Adrian Środoń
66385f0b07
Merge pull request #138 from kpy3/master
Fix build errors for nix flake
2024-09-01 15:02:05 +02:00
Sergey Yelin
05797fabbc
Update module.nix 2024-09-01 15:49:24 +03:00
Sergey Yelin
f81569de32
Update module.nix 2024-09-01 15:46:49 +03:00
Sergey Yelin
6baf612e9f
Update module.nix 2024-09-01 15:44:11 +03:00
Sergey Yelin
b666205a77
Fix path to splash image 2024-09-01 15:41:36 +03:00
github-actions
e8a56d7e37 🤖 Update files 2024-05-18 11:00:58 +00:00
Adrian Środoń
08c7b2dbf8
Merge pull request #133 from jaherron/jaherron-patch-1
Adding HP Omen theme
2024-05-18 13:00:39 +02:00
LittleBit
d74001ce02
Fixing themes.json (again) 2024-05-04 17:09:45 -05:00
LittleBit
2d55929430
Fix formatting of themes.json 2024-05-04 17:08:28 -05:00
LittleBit
22e0b8b77a
Update themes.json 2024-05-04 14:48:06 -05:00
github-actions
2455e4a85f 🤖 Update files 2024-05-04 19:25:16 +00:00
LittleBit
e8b33fbceb
Add HP Omen Background 2024-05-04 14:24:22 -05:00
github-actions
03685a905a 🤖 Update files 2024-04-17 17:19:02 +00:00
Adrian Środoń
56b8ea853d
Merge pull request #132 from zakuciael/master
feat: add nix flake
2024-04-17 19:18:41 +02:00
Krzysztof Saczuk
768d066516
chore(nix): move build files to build/ directory 2024-04-16 16:18:57 +02:00
Krzysztof Saczuk
6b9733172a
docs(nix): fix standalone setup example 2024-04-15 07:54:34 +02:00
Krzysztof Saczuk
cd79d7012d
docs(nix): re-word prerequisites section 2024-04-15 03:57:21 +02:00
Krzysztof Saczuk
d2ff7f7653
docs(nix): add file names using code titles 2024-04-15 03:54:23 +02:00
Krzysztof Saczuk
f57459404f
ci(nix): restrict pull request to nix files and src 2024-04-15 03:33:30 +02:00
Krzysztof Saczuk
ef292b903f
ci(nix): run checks if src changes 2024-04-15 03:32:06 +02:00
Krzysztof Saczuk
10c1191130
ci(nix): restrict checks to only run on nix files 2024-04-15 03:30:59 +02:00
Krzysztof Saczuk
08324f165e
docs: add install steps for nix flake 2024-04-15 03:21:19 +02:00
Krzysztof Saczuk
0159131956
ci: add workflow for checking nix packages 2024-04-15 00:36:14 +02:00
Krzysztof Saczuk
14ae5129f6
feat: add nix flake 2024-04-15 00:31:56 +02:00
Adrian Środoń
c96f868e75
fix: themes.json format 2024-03-03 14:40:22 +01:00
Adrian Środoń
f11153ec9e
feat: update themes.json 2024-03-03 14:34:31 +01:00
github-actions
5b77b7d1af 🤖 Update files 2024-03-03 13:33:32 +00:00
Adison Cavani
bed615d9eb
fix: update CentOS logo
Resolves #129
2024-03-03 14:33:10 +01:00
Adrian Środoń
9983742f1e
fix: add preview for Fujitsu theme 2024-02-24 18:55:40 +01:00
Adrian Środoń
fbaec0add5
fix: themes.json 2024-01-13 21:02:03 +01:00
Adrian Środoń
62ff6040c5
Merge pull request #123 from 00frank/master
fix: manual installation process updated
2023-11-10 00:08:59 +01:00
Frank
0322756151 fix: manual installation process updated 2023-11-08 15:14:29 -03:00
github-actions
215577b85a 🤖 Update files 2023-11-05 13:09:32 +00:00
Adrian Środoń
dcf496458b
Merge pull request #121 from DorianCoding/master
Adding FUJITSU as vendor
2023-11-05 14:08:59 +01:00
DorianCoding
54da7c467a
Delete assets/icons/fujitsu.png 2023-11-04 21:18:37 +01:00
DorianCoding
b320e1a644
Update themes.json 2023-11-04 21:17:48 +01:00
DorianCoding
557ec0dce4
Add files via upload 2023-11-01 20:03:53 +01:00
DorianCoding
b1e6771c0a
Add files via upload 2023-11-01 20:03:18 +01:00
DorianCoding
70846604e1
Update themes.json 2023-11-01 20:01:49 +01:00
Adrian Środoń
7af5af1407
fix: themes.json 2023-10-14 11:38:02 +02:00
Adrian Środoń
c9d32005fe
Merge pull request #118 from Jackson5551/master
Added Supermicro vendor theme
2023-10-14 11:37:33 +02:00
Jackson Bingham
0fbb011503
Update themes.json 2023-10-13 06:28:11 -06:00
Jackson
6d8e132c5b Added Supermicro vendor theme 2023-10-12 21:06:15 -06:00
90 changed files with 319 additions and 7 deletions

57
.github/workflows/nix.yml vendored Normal file
View file

@ -0,0 +1,57 @@
name: Check nix packages
on:
pull_request:
paths:
- "./*.nix"
- ".github/workflows/nix.yml"
- "assets/**"
- "customize/**"
push:
branches: [master]
paths:
- "./*.nix"
- ".github/workflows/nix.yml"
- "assets/**"
- "customize/**"
jobs:
flake:
name: Check flake
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check Nix flake inputs
uses: DeterminateSystems/flake-checker-action@v5
with:
send-statistics: false
fail-mode: true
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v9
- name: Check repository
run: nix flake check
matrix:
name: Generate build matrix
runs-on: ubuntu-latest
outputs:
themes: ${{ steps.generate-matrix.outputs.themes }}
steps:
- uses: actions/checkout@v4
- name: Generate matrix
id: generate-matrix
run: |
THEMES=$(ls assets/backgrounds/ | sed 's/\.png$//g' | jq --raw-input | jq --slurp -c)
echo "themes=$THEMES" >> $GITHUB_OUTPUT
build:
name: Check nix build for theme ${{ matrix.theme }}
runs-on: ubuntu-latest
needs:
- matrix
strategy:
matrix:
theme: ${{ fromJSON(needs.matrix.outputs.themes) }}
steps:
- uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v9
- name: Build package
run: nix build .#${{ matrix.theme }}-grub-theme

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
.envrc
.direnv
.vscode
result

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
assets/splash_image.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

28
build/default.nix Normal file
View file

@ -0,0 +1,28 @@
{ stdenvNoCC, lib, theme }:
let
themes = builtins.map (theme: (builtins.head (lib.strings.splitString "." theme))) (builtins.attrNames (builtins.readDir ./../assets/backgrounds));
in
assert builtins.any (x: x == theme) themes;
stdenvNoCC.mkDerivation {
name = "distro-grub-themes";
src = ./../.;
installPhase = ''
mkdir -p $out
cp ./assets/backgrounds/${theme}.png $out/background.png
cp ./assets/splash_image.jpg $out/splash_image.jpg
cp -r ./assets/icons $out
cp -r ./assets/fonts/. $out
cp -r ./assets/menu/. $out
cp -r ./assets/theme.txt $out
'';
meta = with lib; {
homepage = "https://github.com/AdisonCavani/distro-grub-themes";
description = "A pack of GRUB2 themes for each Linux distribution";
license = licenses.gpl3;
maintainers = with maintainers; [ zakuciael ];
platforms = platforms.linux;
};
}

28
build/module.nix Normal file
View file

@ -0,0 +1,28 @@
{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.distro-grub-themes;
themes = builtins.map (theme: (builtins.head (lib.strings.splitString "." theme))) (builtins.attrNames (builtins.readDir ./../assets/backgrounds));
in
{
options.distro-grub-themes = {
enable = mkEnableOption "Enable Distro Grub Theme";
theme = mkOption {
type = types.enum themes;
default = "nixos";
example = "arch-linux";
description = ''
Selected theme name.
IMPORTANT! Theme name must be the same as in assert/backgrounds directory without the extension
'';
};
};
config = mkIf (cfg.enable)
{
boot.loader.grub = {
theme = pkgs.callPackage ./default.nix { theme = cfg.theme; };
splashImage = ./../assets/splash_image.jpg;
};
};
}

View file

@ -84,6 +84,84 @@ sudo eopkg install grub-customizer
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.
</Callout>
## 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 = "<theme_name>";
};
}
```
### 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}.<theme_name>-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.
@ -108,15 +186,15 @@ sudo mkdir BOOT_GRUB_LOCATION/themes
#### Edit or use a pre-made theme
```shell
cd distro-grub-themes/customize
cd distro-grub-themes/themes
```
#### Copy theme
The theme must be unpacked inside a folder before you can copy it.
The theme must be unpacked inside a folder before you can install it.
```
sudo cp -r <theme_name>/ BOOT_GRUB_LOCATION/themes
sudo tar -C BOOT_GRUB_LOCATION/themes/<theme_name> -xf <theme_name>.tar
```
#### Edit GRUB config

61
flake.lock generated Normal file
View file

@ -0,0 +1,61 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1731676054,
"narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

40
flake.nix Normal file
View file

@ -0,0 +1,40 @@
{
description = "A pack of GRUB2 themes for each Linux distribution";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{ self, nixpkgs, flake-utils }:
let
systems = [ "aarch64-linux" "i686-linux" "x86_64-linux" ];
in
flake-utils.lib.eachSystem systems (
system:
let
pkgs = import nixpkgs { inherit system; };
themeNames = builtins.attrNames (builtins.readDir ./assets/backgrounds);
themePackages = builtins.listToAttrs (builtins.map
(theme:
let name = (builtins.head (pkgs.lib.strings.splitString "." theme)); in {
name = name + "-grub-theme";
value = pkgs.callPackage ./build/default.nix { theme = name; };
})
themeNames);
in
{
packages = {
default = pkgs.callPackage ./build/default.nix { theme = "nixos"; };
} // themePackages;
devShells.default = pkgs.mkShell {
nativeBuildInputs = with pkgs; [ nixd nixpkgs-fmt act jq ];
};
nixosModules.default = ./build/module.nix;
}
);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 69 KiB

BIN
preview/framework13.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

BIN
preview/fujitsu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
preview/supermicro.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View file

@ -12,9 +12,6 @@
{
"name": "Bedrock Linux"
},
{
"name": "CentOS"
},
{
"name": "Debian"
},
@ -136,6 +133,10 @@
{
"name": "Vanilla OS",
"versionAdded": "v3.2"
},
{
"name": "CentOS",
"versionAdded": "v3.3"
}
],
"vendors": [
@ -160,6 +161,9 @@
{
"name": "Framework"
},
{
"name": "Framework 13"
},
{
"name": "Gigabyte"
},
@ -220,6 +224,18 @@
{
"name": "Medion",
"versionAdded": "v3.2"
},
{
"name": "Supermicro",
"versionAdded": "v3.3"
},
{
"name": "Fujitsu",
"versionAdded": "v3.3"
},
{
"name": "HP Omen",
"versionAdded": "v3.3"
}
]
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
themes/framework13.tar Normal file

Binary file not shown.

Binary file not shown.

BIN
themes/fujitsu.tar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
themes/hp-omen.tar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
themes/supermicro.tar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.