diff --git a/nixos/modules/services/video/frigate.nix b/nixos/modules/services/video/frigate.nix index d937eb60bdea..f8d8f64e55da 100644 --- a/nixos/modules/services/video/frigate.nix +++ b/nixos/modules/services/video/frigate.nix @@ -53,6 +53,7 @@ let cp ${configFileUnchecked} $out export CONFIG_FILE=$out export PYTHONPATH=${cfg.package.pythonPath} + ${cfg.preCheckConfig} ${cfg.package.python.interpreter} -m frigate --validate-config || error ''; configFile = if cfg.checkConfig then configFileChecked else configFileUnchecked; @@ -208,6 +209,16 @@ in ''; }; + preCheckConfig = mkOption { + type = types.lines; + default = ""; + description = '' + This script gets run before the config is checked. It can be used to, + e.g., set environment variables needed or transform the config + (available as `$out`) to make it checkable in the sandbox. + ''; + }; + settings = mkOption { type = submodule { freeformType = format.type;