nixos/frigate: Add preCheckConfig

Without this, many use cases will fail due to missing env vars for
secrets. This is inspired by e.g. `networking.nftables.preCheckRuleset`.
This commit is contained in:
Andrew Marshall
2025-08-13 21:59:54 -04:00
parent 005433b926
commit b153fe260e
+11
View File
@@ -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;
@@ -204,6 +205,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;