aboutsummaryrefslogtreecommitdiff
path: root/apps/strongswan/options/setup.nix
blob: d60a2af77ef1f01b2f491e627d0d44713b4e93dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{ config, lib, ... }:

let

  inherit (lib) foldl genAttrs;
  inherit (import ./lib.nix lib) boolean boolOr default optional set enum';

  charondebug = genAttrs [
    "asn" "cfg" "chd" "dmn"
    "enc" "esp" "ike" "imc"
    "imv" "job" "knl" "lib"
    "mgr" "net" "pts" "tls"
    "tnc"
  ] (_: optional (enum' [ (-1) 0 1 2 3 4 ]));

in {
  options = foldl (a: b: a//b) {} [
    { cachecrls       = optional boolean; }
    { charondebug     = set charondebug; }
    { charonstart     = optional boolean; }
    { strictcrlpolicy = optional (boolOr [ "ifuri" ]); }
    { uniqueids       = optional (boolOr [ "never" "replace" "keep" ]); }
  ];
}