flake: set options for both grub and systemd-boot
This commit is contained in:
parent
8a9d31be7d
commit
9e94d074ff
4 changed files with 49 additions and 25 deletions
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue