1{ config, lib, ...}: 2 3let 4 inherit (lib) concatStringsSep mkOption types optionalString; 5 6in { 7 8 mkCellServDB = cellName: db: '' 9 >${cellName} 10 '' + (concatStringsSep "\n" (map (dbm: optionalString (dbm.ip != "" && dbm.dnsname != "") "${dbm.ip} #${dbm.dnsname}") 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 = lib.mdDoc "IP Address of a database server"; 21 }; 22 dnsname = mkOption { 23 type = types.str; 24 default = ""; 25 example = "afs.example.org"; 26 description = lib.mdDoc "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}