nix: update switch from julm-nix
[sourcephile-nix.git] / hosts / mermet / openldap / posixAccount.nix
index b620327d850889cce18291540a3a7f66ead4860c..1096d7950d6c4e42fccd418d82d48a75b9fae35c 100644 (file)
@@ -8,48 +8,49 @@ in
 , cn ? ""
 , sn ? ""
 , userPassword ? null # Use slappasswd -o module-load=pw-pbkdf2 -h "{PBKDF2-SHA256}"
-, mailAlias ? []
+, mailAlias ? [ ]
 , homeDirectory ? ""
 , mailHomeDirectory ? null
 , mailStorageDirectory ? null
 , loginShell ? "/run/current-system/sw/bin/bash"
 , mailEnabled ? true
-, mailForwardingAddress ? []
+, mailForwardingAddress ? [ ]
 , mailGroupMember ? domainGroup
 , mailQuota ? null
 }:
- "\n" + lib.concatStringsSep "\n\n" [
- (unlines ([ ''
-  dn: uid=${uid},ou=accounts,ou=posix,${domainSuffix}
-  objectClass: person
-  objectClass: posixAccount
-  objectClass: shadowAccount
-  objectClass: PostfixBookMailAccount
-  objectClass: PostfixBookMailForward
-  cn: ${cn}
-  sn: ${sn}
-  mail: ${uid}@${domain}
-  mailEnabled: ${if mailEnabled then "TRUE" else "FALSE"}
-  mailGroupMember: ${mailGroupMember}''
+"\n" + lib.concatStringsSep "\n\n" [
+  (unlines ([
+    ''
+      dn: uid=${uid},ou=accounts,ou=posix,${domainSuffix}
+      objectClass: person
+      objectClass: posixAccount
+      objectClass: shadowAccount
+      objectClass: PostfixBookMailAccount
+      objectClass: PostfixBookMailForward
+      cn: ${cn}
+      sn: ${sn}
+      mail: ${uid}@${domain}
+      mailEnabled: ${if mailEnabled then "TRUE" else "FALSE"}
+      mailGroupMember: ${mailGroupMember}''
   ]
   ++ [ "uidNumber: ${toString uidNumber}" ]
   ++ [ "gidNumber: ${toString gidNumber}" ]
   ++ [ "homeDirectory: ${homeDirectory}" ]
-  ++ lib.optional (loginShell != null)  "loginShell: ${loginShell}"
+  ++ lib.optional (loginShell != null) "loginShell: ${loginShell}"
   ++ lib.optional (userPassword != null) "userPassword: ${userPassword}"
   ++ lib.optional (mailHomeDirectory != null) "mailHomeDirectory: ${mailHomeDirectory}"
   ++ lib.optional (mailStorageDirectory != null) "mailStorageDirectory: ${mailStorageDirectory}"
   ++ lib.optional (mailQuota != null) "mailQuota: ${mailQuota}"
   ++ map (forward: "mailForwardingAddress: ${forward}") mailForwardingAddress
   ++ map (alias: "mailAlias: ${alias}@${domain}") mailAlias
-  ++ lib.optional (mailAlias == []) "mailAlias:"
-  # mailAlias is required by PostfixBookMailForward
- ))
- ''
-  dn: cn=${uid},ou=groups,ou=posix,${domainSuffix}
-  objectClass: top
-  objectClass: posixGroup
-  gidNumber: ${toString gidNumber}
-  memberUid: ${uid}
- ''
+  ++ lib.optional (mailAlias == [ ]) "mailAlias:"
+    # mailAlias is required by PostfixBookMailForward
 ))
 ''
+    dn: cn=${uid},ou=groups,ou=posix,${domainSuffix}
+    objectClass: top
+    objectClass: posixGroup
+    gidNumber: ${toString gidNumber}
+    memberUid: ${uid}
 ''
 ]