1{ config, lib, ...}:
2
3let
4 inherit (lib) concatStringsSep mkOption types;
5
6in rec {
7
8 mkCellServDB = cellName: db: ''
9 >${cellName}
10 '' + (concatStringsSep "\n" (map (dbm: if (dbm.ip != "" && dbm.dnsname != "") then dbm.ip + " #" + dbm.dnsname else "")
11 db))
12 + "\n";
13
14 # CellServDB configuration type
15 cellServDBConfig = {
16 ip = mkOption {
17 type = types.str;
18 default = "";
19 example = "1.2.3.4";
20 description = "IP Address of a database server";
21 };
22 dnsname = mkOption {
23 type = types.str;
24 default = "";
25 example = "afs.example.org";
26 description = "DNS full-qualified domain name of a database server";
27 };
28 };
29
30 openafsMod = config.services.openafsClient.packages.module;
31 openafsBin = config.services.openafsClient.packages.programs;
32 openafsSrv = config.services.openafsServer.package;
33}