flake: set options for both grub and systemd-boot

This commit is contained in:
Charlie Root 2025-04-07 14:01:35 +02:00
commit 9e94d074ff
4 changed files with 49 additions and 25 deletions

View file

@ -27,6 +27,7 @@
modules = { modules = {
desktops.hyprland.enable = true; desktops.hyprland.enable = true;
system = { system = {
boot.grub.enable = true;
impermanence.enable = false; impermanence.enable = false;
services = { services = {
nextcloud.enable = true; nextcloud.enable = true;
@ -63,7 +64,6 @@
locate.enable = true; locate.enable = true;
kanata.enable = true; kanata.enable = true;
media.mpd = { media.mpd = {
enable = true; enable = true;
}; };

View file

@ -44,6 +44,9 @@ in {
modules = { modules = {
system = { system = {
impermanence.enable = true; impermanence.enable = true;
boot = {
systemd-boot.enable = true;
};
services = { services = {
nextcloud.enable = true; nextcloud.enable = true;
}; };

View file

@ -25,10 +25,11 @@
mainUser.gitSigningKey = ""; mainUser.gitSigningKey = "";
}; };
modules = { modules = {
services = { services = {
locate.enable = true; locate.enable = true;
}; };
system = { system = {
boot.grub.enable = true;
services.forgejo.enable = true; services.forgejo.enable = true;
programs = { programs = {
editors = { editors = {

View file

@ -1,34 +1,54 @@
{ {
config,
lib, lib,
pkgs, pkgs,
... ...
}: let }: let
inherit (lib.modules) mkForce; inherit (lib.modules) mkForce;
inherit (lib.modules) mkIf;
inherit (lib.options) mkEnableOption;
cfg = config.modules.system.boot;
in { in {
boot = { options.modules.system.boot = {
initrd = { grub.enable = mkEnableOption "Grub, a bloated boot loader";
verbose = true; systemd-boot.enable = mkEnableOption "Poetteringboot";
systemd.enable = true; };
}; config = {
loader = { assertions = [
efi.canTouchEfiVariables = true; {
systemd-boot = { assertion = cfg.systemd-boot.enable || cfg.grub.enable;
enable = true; message = "No bootloader is enabled.";
editor = mkForce false; }
configurationLimit = 5; {
assertion = cfg.systemd-boot.enable -> !cfg.grub.enable && cfg.grub.enable -> !cfg.systemd-boot.enable;
message = "Please enable only ONE of systemd-boot or grub.";
}
];
boot = {
initrd = {
verbose = true;
systemd.enable = true;
}; };
grub = { loader = {
efi.canTouchEfiVariables = true;
systemd-boot = {
enable = cfg.systemd-boot.enable;
editor = mkForce false;
configurationLimit = 5;
};
grub = {
enable = cfg.grub.enable;
efiSupport = true;
device = "nodev";
configurationLimit = 5;
};
};
plymouth = {
enable = false; enable = false;
efiSupport = true; # font = "${pkgs.jetbrains-mono}/share/fonts/truetype/JetBrainsMono-Regular.ttf";
device = "nodev"; themePackages = [pkgs.plymouth-matrix-theme];
configurationLimit = 5; theme = "matrix";
}; };
}; };
plymouth = {
enable = false;
# font = "${pkgs.jetbrains-mono}/share/fonts/truetype/JetBrainsMono-Regular.ttf";
themePackages = [pkgs.plymouth-matrix-theme];
theme = "matrix";
};
}; };
} }