2023-11-09 03:55:14 +00:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
...
|
2023-11-17 07:17:12 +00:00
|
|
|
}: let
|
|
|
|
cfg = config.myFlake.nixos.boot;
|
|
|
|
in {
|
2023-11-09 03:55:14 +00:00
|
|
|
options = {
|
|
|
|
myFlake.nixos = {
|
|
|
|
boot = {
|
2023-11-17 07:17:12 +00:00
|
|
|
silentBoot = lib.mkEnableOption "Whether to enable silent boot.";
|
|
|
|
noLoaderMenu = lib.mkEnableOption "Whether to disable bootloader menu.";
|
2023-09-19 00:17:43 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-11-09 03:55:14 +00:00
|
|
|
|
2023-11-17 07:17:12 +00:00
|
|
|
config = {
|
|
|
|
### cfg.noLoaderMenu
|
|
|
|
boot.loader.timeout = lib.mkIf cfg.noLoaderMenu 0;
|
2023-11-09 03:55:14 +00:00
|
|
|
|
2023-11-17 07:17:12 +00:00
|
|
|
### cfg.silentBoot
|
|
|
|
boot.consoleLogLevel = lib.mkIf cfg.silentBoot 0;
|
|
|
|
boot.kernelParams =
|
|
|
|
lib.mkIf cfg.silentBoot
|
|
|
|
(["quiet"]
|
|
|
|
++ lib.optionals config.boot.initrd.systemd.enable [
|
|
|
|
"systemd.show_status=auto"
|
|
|
|
"rd.udev.log_level=3"
|
|
|
|
]);
|
2023-11-09 03:55:14 +00:00
|
|
|
|
2023-11-17 07:17:12 +00:00
|
|
|
### Misc
|
|
|
|
boot.loader = {
|
|
|
|
efi.canTouchEfiVariables = true;
|
|
|
|
systemd-boot = {
|
|
|
|
enable = lib.mkDefault true; # mkDefault for Lanzaboote
|
|
|
|
editor = false; # Disabled for security
|
|
|
|
### Utilities
|
|
|
|
#netbootxyz.enable = true;
|
|
|
|
#memtest86.enable = true;
|
|
|
|
};
|
2023-11-09 03:55:14 +00:00
|
|
|
};
|
|
|
|
};
|
2023-09-19 00:17:43 +00:00
|
|
|
}
|