diff --git a/hosts/tower/configuration.nix b/hosts/tower/configuration.nix index 7dfad78..daf0937 100644 --- a/hosts/tower/configuration.nix +++ b/hosts/tower/configuration.nix @@ -29,8 +29,14 @@ locate.enable = true; }; system = { - boot.grub.enable = true; - services.forgejo.enable = true; + boot = { + grub.enable = true; + timeout = 30; + }; + services = { + forgejo.enable = true; + grafana.enable = true; + }; programs = { editors = { helix.enable = true; diff --git a/modules/services/forgejo/module.nix b/modules/services/forgejo/module.nix index 079441c..95d06c2 100644 --- a/modules/services/forgejo/module.nix +++ b/modules/services/forgejo/module.nix @@ -6,6 +6,7 @@ }: let inherit (pkgs) fetchurl; inherit (lib.modules) mkIf; + inherit (lib.options) mkEnableOption; inherit (config.services.forgejo) customDir user group; cfg = config.modules.system.services.forgejo; @@ -16,7 +17,7 @@ acmeRoot = "/var/lib/acme/challenges-forgejo"; dataDir = "/srv/data/forgejo"; in { - options.modules.system.services.forgejo.enable = lib.mkEnableOption "forgejo"; + options.modules.system.services.forgejo.enable = mkEnableOption "forgejo"; config = mkIf cfg.enable { modules.system.services = { diff --git a/modules/system/boot/module.nix b/modules/system/boot/module.nix index 275fa5d..bc3eeb1 100644 --- a/modules/system/boot/module.nix +++ b/modules/system/boot/module.nix @@ -5,13 +5,21 @@ ... }: let inherit (lib.modules) mkForce; - inherit (lib.options) mkEnableOption; + inherit (lib.options) mkOption mkEnableOption; + inherit (lib.types) int; cfg = config.modules.system.boot; in { options.modules.system.boot = { grub.enable = mkEnableOption "Grub, a bloated boot loader"; systemd-boot.enable = mkEnableOption "Poetteringboot"; + timeout = mkOption { + description = '' + Set the boot loader's timeout. This is 0 by default, but preferably longer on remote servers to make switching to previous generations easier. + ''; + type = int; + default = 0; + }; }; config = { assertions = [ @@ -33,7 +41,7 @@ in { loader = { efi.canTouchEfiVariables = true; # I love spamming space - timeout = 0; + timeout = cfg.timeout; systemd-boot = { enable = cfg.systemd-boot.enable; editor = mkForce false;