NixOS and Home Manager config

feat: boot loader module

nel.pet 8acd72f9 ec8fa6cb

verified
Changed files
+37 -5
modules
nixos
systems
nel-desktop
+5
modules/nixos/system/boot/default.nix
···
···
+
{
+
imports = [
+
./loader.nix
+
];
+
}
+26
modules/nixos/system/boot/loader.nix
···
···
+
{ lib, config, ... }: let
+
cfg = config.cyclamen.system.boot.loader;
+
in {
+
options.cyclamen.system.boot.loader = lib.mkOption {
+
type = lib.types.enum [
+
"systemd-boot"
+
];
+
default = "systemd-boot";
+
description = "The bootloader to be used on this system.";
+
};
+
+
config = lib.mkMerge [
+
{
+
boot.loader.efi.canTouchEfiVariables = true;
+
}
+
+
(lib.mkIf (cfg == "systemd-boot") {
+
boot.loader.systemd-boot = {
+
enable = true;
+
+
# See option description
+
editor = false;
+
};
+
})
+
];
+
}
+1
modules/nixos/system/default.nix
···
{
imports = [
./lannas.nix
];
}
···
{
imports = [
+
./boot
./lannas.nix
];
}
+5 -5
systems/nel-desktop/configuration.nix
···
];
cyclamen = {
-
system = {
lannas.enable = "all";
};
};
-
-
# Bootloader.
-
boot.loader.systemd-boot.enable = true;
-
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nel-desktop";
networking.networkmanager.enable = true;
···
];
cyclamen = {
+
system = { # Tuber
+
boot = { # Roots
+
loader = "systemd-boot";
+
};
+
lannas.enable = "all";
};
};
networking.hostName = "nel-desktop";
networking.networkmanager.enable = true;