2025-04-06 21:43:36 +02:00
|
|
|
{
|
2025-04-07 14:01:35 +02:00
|
|
|
config,
|
2025-04-06 21:43:36 +02:00
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: let
|
|
|
|
inherit (lib.modules) mkForce;
|
2025-04-07 14:01:35 +02:00
|
|
|
inherit (lib.options) mkEnableOption;
|
2025-04-09 15:31:18 +02:00
|
|
|
|
2025-04-07 14:01:35 +02:00
|
|
|
cfg = config.modules.system.boot;
|
2025-04-06 21:43:36 +02:00
|
|
|
in {
|
2025-04-07 14:01:35 +02:00
|
|
|
options.modules.system.boot = {
|
|
|
|
grub.enable = mkEnableOption "Grub, a bloated boot loader";
|
|
|
|
systemd-boot.enable = mkEnableOption "Poetteringboot";
|
|
|
|
};
|
|
|
|
config = {
|
|
|
|
assertions = [
|
|
|
|
{
|
|
|
|
assertion = cfg.systemd-boot.enable || cfg.grub.enable;
|
|
|
|
message = "No bootloader is enabled.";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
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 = {
|
2025-04-09 15:31:18 +02:00
|
|
|
tmp.useTmpfs = true;
|
2025-04-07 14:01:35 +02:00
|
|
|
initrd = {
|
|
|
|
verbose = true;
|
|
|
|
systemd.enable = true;
|
2025-04-06 21:22:56 +02:00
|
|
|
};
|
2025-04-07 14:01:35 +02:00
|
|
|
loader = {
|
|
|
|
efi.canTouchEfiVariables = true;
|
2025-04-09 15:31:18 +02:00
|
|
|
# I love spamming space
|
|
|
|
timeout = 0;
|
2025-04-07 14:01:35 +02:00
|
|
|
systemd-boot = {
|
|
|
|
enable = cfg.systemd-boot.enable;
|
|
|
|
editor = mkForce false;
|
|
|
|
configurationLimit = 5;
|
|
|
|
};
|
|
|
|
grub = {
|
|
|
|
enable = cfg.grub.enable;
|
|
|
|
efiSupport = true;
|
|
|
|
device = "nodev";
|
|
|
|
configurationLimit = 5;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
plymouth = {
|
2025-04-06 21:22:56 +02:00
|
|
|
enable = false;
|
2025-04-07 14:01:35 +02:00
|
|
|
# font = "${pkgs.jetbrains-mono}/share/fonts/truetype/JetBrainsMono-Regular.ttf";
|
|
|
|
themePackages = [pkgs.plymouth-matrix-theme];
|
|
|
|
theme = "matrix";
|
2025-04-06 21:22:56 +02:00
|
|
|
};
|
|
|
|
};
|
2024-08-16 13:32:13 +02:00
|
|
|
};
|
|
|
|
}
|