about summary refs log tree commit diff
path: root/nixos/modules/services/mail
diff options
context:
space:
mode:
authorJulien Moutinho <julm+nixpkgs@sourcephile.fr>2022-12-26 23:39:36 +0100
committerAlyssa Ross <hi@alyssa.is>2023-06-04 13:09:28 +0000
commitb6ed3b8f402893df91a8e21ce993520301c2f076 (patch)
tree4760a491b7010a3f011669dcbd8384a9312cb77b /nixos/modules/services/mail
parent50301d73e9250276693e19e96013bd25799331b9 (diff)
downloadnixlib-b6ed3b8f402893df91a8e21ce993520301c2f076.tar
nixlib-b6ed3b8f402893df91a8e21ce993520301c2f076.tar.gz
nixlib-b6ed3b8f402893df91a8e21ce993520301c2f076.tar.bz2
nixlib-b6ed3b8f402893df91a8e21ce993520301c2f076.tar.lz
nixlib-b6ed3b8f402893df91a8e21ce993520301c2f076.tar.xz
nixlib-b6ed3b8f402893df91a8e21ce993520301c2f076.tar.zst
nixlib-b6ed3b8f402893df91a8e21ce993520301c2f076.zip
nixos/public-inbox: explicit a few more freeform settings
Diffstat (limited to 'nixos/modules/services/mail')
-rw-r--r--nixos/modules/services/mail/public-inbox.nix17
1 files changed, 14 insertions, 3 deletions
diff --git a/nixos/modules/services/mail/public-inbox.nix b/nixos/modules/services/mail/public-inbox.nix
index 9cd6726e6cb2..099997fa9fe9 100644
--- a/nixos/modules/services/mail/public-inbox.nix
+++ b/nixos/modules/services/mail/public-inbox.nix
@@ -275,9 +275,8 @@ in
           default = {};
           description = lib.mdDoc "public inboxes";
           type = types.submodule {
-            # Keeping in line with the tradition of unnecessarily specific types, allow users to set
-            # freeform settings either globally under the `publicinbox` section, or for specific
-            # inboxes through additional nesting.
+            # Support both global options like `services.public-inbox.settings.publicinbox.imapserver`
+            # and inbox specific options like `services.public-inbox.settings.publicinbox.foo.address`.
             freeformType = with types; attrsOf (oneOf [ iniAtom (attrsOf iniAtom) ]);
 
             options.css = mkOption {
@@ -285,12 +284,24 @@ in
               default = [];
               description = lib.mdDoc "The local path name of a CSS file for the PSGI web interface.";
             };
+            options.imapserver = mkOption {
+              type = with types; listOf str;
+              default = [];
+              example = [ "imap.public-inbox.org" ];
+              description = lib.mdDoc "IMAP URLs to this public-inbox instance";
+            };
             options.nntpserver = mkOption {
               type = with types; listOf str;
               default = [];
               example = [ "nntp://news.public-inbox.org" "nntps://news.public-inbox.org" ];
               description = lib.mdDoc "NNTP URLs to this public-inbox instance";
             };
+            options.pop3server = mkOption {
+              type = with types; listOf str;
+              default = [];
+              example = [ "pop.public-inbox.org" ];
+              description = lib.mdDoc "POP3 URLs to this public-inbox instance";
+            };
             options.wwwlisting = mkOption {
               type = with types; enum [ "all" "404" "match=domain" ];
               default = "404";