From 5c1f8cbc70cd5e6867ef6a2a06d27a40daa07010 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 10 Oct 2013 13:28:20 +0200 Subject: Move all of NixOS to nixos/ in preparation of the repository merge --- nixos/modules/services/databases/openldap.nix | 58 +++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 nixos/modules/services/databases/openldap.nix (limited to 'nixos/modules/services/databases/openldap.nix') diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix new file mode 100644 index 00000000000..a4dd30be1fb --- /dev/null +++ b/nixos/modules/services/databases/openldap.nix @@ -0,0 +1,58 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.openldap; + openldap = pkgs.openldap; + + configFile = pkgs.writeText "slapd.conf" cfg.extraConfig; + +in + +{ + + ###### interface + + options = { + + services.openldap = { + + enable = mkOption { + default = false; + description = " + Whether to enable the ldap server. + "; + }; + + extraConfig = mkOption { + default = ""; + description = " + sldapd.conf configuration + "; + }; + }; + + }; + + + ###### implementation + + config = mkIf config.services.openldap.enable { + + environment.systemPackages = [ openldap ]; + + systemd.services.openldap = { + description = "LDAP server"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + preStart = '' + mkdir -p /var/run/slapd + ''; + serviceConfig.ExecStart = "${openldap}/libexec/slapd -d 0 -f ${configFile}"; + }; + + }; + +} -- cgit 1.4.1