Commit b153fe26 authored by Andrew Marshall's avatar Andrew Marshall
Browse files

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`.
parent 005433b9
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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;