{ config, lib, pkgs, ... }: with lib; let cfg = config.local.boot; in { options.local.boot = { loader = mkOption { type = types.enum ["none" "grub" "systemd-boot"]; }; kernel = mkOption { type = types.raw; }; }; config = mkIf (cfg.loader != "none") { boot = { kernelPackages = cfg.kernel; loader = if cfg.loader == "grub" then { grub = { enable = true; device = "nodev"; efiSupport = true; }; } else { systemd-boot = { enable = true; editor = true; }; }; }; }; }