{ config, lib, ... }:
let
    definedInPersonalDotNix = lib.mkDefault (throw "Configuration option missing from personal.nix");
in
{
    services.burp.server = {
        enable = true;
        dataDirectory = "/data/burp";
        sslKeyPassword = definedInPersonalDotNix;
        workingDirRecoveryMethod = "resume";
        maxResumeAttempts = 3;
        keep = [ 14 4 6 2 ];
        clients = {
            ${config.networking.hostName} = {
                password = definedInPersonalDotNix;
            };
            Pullach = {
                password = definedInPersonalDotNix;
            };
            Disco = {
                password = definedInPersonalDotNix;
            };
            Berthold = {
                password = definedInPersonalDotNix;
            };
            Ernesto = {
                password = definedInPersonalDotNix;
            };
        };
        superClients = [
            config.networking.hostName
        ];
        timerArgs = [
            "20h"
            "Mon,Tue,Wed,Thu,Fri,Sat,Sun,00,01,02,03,04,05,06,07,08,17,18,19,20,21,22,23"
        ];
    };
}
