{ config, lib, ... }: let cfg = config.my.bootloader; in { options.my.bootloader = { type = lib.mkOption { type = with lib.types; nullOr (enum [ "systemdBoot" ]); default = null; }; }; config = { boot.loader = lib.mkIf (cfg.type != null) { systemd-boot = lib.mkIf (cfg.type == "systemdBoot") { enable = true; editor = false; }; efi.canTouchEfiVariables = true; timeout = lib.mkDefault 0; }; }; }