From a5215068347747a633c46d2b178a1fc360ea129b Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 1 Aug 2023 15:51:33 +0200 Subject: [PATCH 1/3] hedgedoc: use `lib.mkPackageOptionMD` --- nixos/modules/services/web-apps/hedgedoc.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/nixos/modules/services/web-apps/hedgedoc.nix b/nixos/modules/services/web-apps/hedgedoc.nix index e2014a9b7e35..d13f03ab43eb 100644 --- a/nixos/modules/services/web-apps/hedgedoc.nix +++ b/nixos/modules/services/web-apps/hedgedoc.nix @@ -32,6 +32,7 @@ in ]; options.services.hedgedoc = { + package = mkPackageOptionMD pkgs "hedgedoc" { }; enable = mkEnableOption (lib.mdDoc "the HedgeDoc Markdown Editor"); groups = mkOption { @@ -1018,16 +1019,6 @@ in `HedgeDoc` is running. ''; }; - - package = mkOption { - type = types.package; - default = pkgs.hedgedoc; - defaultText = literalExpression "pkgs.hedgedoc"; - description = lib.mdDoc '' - Package that provides HedgeDoc. - ''; - }; - }; config = mkIf cfg.enable { @@ -1060,7 +1051,7 @@ in serviceConfig = { WorkingDirectory = cfg.workDir; StateDirectory = [ cfg.workDir cfg.settings.uploadsPath ]; - ExecStart = "${cfg.package}/bin/hedgedoc"; + ExecStart = "${lib.getExe cfg.package}"; EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ]; Environment = [ "CMD_CONFIG_FILE=${cfg.workDir}/config.json" From b7062f43e21fb362d739bc295ef50ca60c15bd33 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 1 Aug 2023 15:52:11 +0200 Subject: [PATCH 2/3] hedgedoc: add `enableStatsApi` configuration option --- nixos/modules/services/web-apps/hedgedoc.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nixos/modules/services/web-apps/hedgedoc.nix b/nixos/modules/services/web-apps/hedgedoc.nix index d13f03ab43eb..92a5089e950c 100644 --- a/nixos/modules/services/web-apps/hedgedoc.nix +++ b/nixos/modules/services/web-apps/hedgedoc.nix @@ -108,6 +108,13 @@ in {option}`protocolUseSSL`. ''; }; + enableStatsApi = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc '' + Enables or disables the /status and /metrics endpoint. + ''; + }; hsts = { enable = mkOption { type = types.bool; From fa8883c580bab92ed17648cc872dc994bba3f99a Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 1 Aug 2023 15:56:45 +0200 Subject: [PATCH 3/3] hedgedoc: remove top level `with lib;` --- nixos/modules/services/web-apps/hedgedoc.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/web-apps/hedgedoc.nix b/nixos/modules/services/web-apps/hedgedoc.nix index 92a5089e950c..bfa5fd5aff25 100644 --- a/nixos/modules/services/web-apps/hedgedoc.nix +++ b/nixos/modules/services/web-apps/hedgedoc.nix @@ -1,8 +1,8 @@ { config, lib, pkgs, ... }: -with lib; - let + inherit (lib) literalExpression mdDoc mkEnableOption mkIf mkOption mkPackageOptionMD mkRenamedOptionModule types versionAtLeast; + cfg = config.services.hedgedoc; # 21.03 will not be an official release - it was instead 21.05. This