aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/modules/services/databases/openldap.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/modules/services/databases/openldap.nix')
-rw-r--r--nixpkgs/nixos/modules/services/databases/openldap.nix32
1 files changed, 22 insertions, 10 deletions
diff --git a/nixpkgs/nixos/modules/services/databases/openldap.nix b/nixpkgs/nixos/modules/services/databases/openldap.nix
index 8c2851c37ac..7472538b887 100644
--- a/nixpkgs/nixos/modules/services/databases/openldap.nix
+++ b/nixpkgs/nixos/modules/services/databases/openldap.nix
@@ -5,14 +5,14 @@ with lib;
let
cfg = config.services.openldap;
- openldap = pkgs.openldap;
+ openldap = cfg.package;
dataFile = pkgs.writeText "ldap-contents.ldif" cfg.declarativeContents;
configFile = pkgs.writeText "slapd.conf" ((optionalString cfg.defaultSchemas ''
- include ${pkgs.openldap.out}/etc/schema/core.schema
- include ${pkgs.openldap.out}/etc/schema/cosine.schema
- include ${pkgs.openldap.out}/etc/schema/inetorgperson.schema
- include ${pkgs.openldap.out}/etc/schema/nis.schema
+ include ${openldap.out}/etc/schema/core.schema
+ include ${openldap.out}/etc/schema/cosine.schema
+ include ${openldap.out}/etc/schema/inetorgperson.schema
+ include ${openldap.out}/etc/schema/nis.schema
'') + ''
${cfg.extraConfig}
database ${cfg.database}
@@ -46,6 +46,18 @@ in
";
};
+ package = mkOption {
+ type = types.package;
+ default = pkgs.openldap;
+ description = ''
+ OpenLDAP package to use.
+
+ This can be used to, for example, set an OpenLDAP package
+ with custom overrides to enable modules or other
+ functionality.
+ '';
+ };
+
user = mkOption {
type = types.str;
default = "openldap";
@@ -152,10 +164,10 @@ in
";
example = literalExample ''
'''
- include ${pkgs.openldap.out}/etc/schema/core.schema
- include ${pkgs.openldap.out}/etc/schema/cosine.schema
- include ${pkgs.openldap.out}/etc/schema/inetorgperson.schema
- include ${pkgs.openldap.out}/etc/schema/nis.schema
+ include ${openldap.out}/etc/schema/core.schema
+ include ${openldap.out}/etc/schema/cosine.schema
+ include ${openldap.out}/etc/schema/inetorgperson.schema
+ include ${openldap.out}/etc/schema/nis.schema
database bdb
suffix dc=example,dc=org
@@ -232,7 +244,7 @@ in
};
meta = {
- maintainers = lib.maintainers.mic92;
+ maintainers = [ lib.maintainers.mic92 ];
};