diff options
author | Nicolas Pierron <nicolas.b.pierron@gmail.com> | 2011-07-27 20:55:28 +0000 |
---|---|---|
committer | Nicolas Pierron <nicolas.b.pierron@gmail.com> | 2011-07-27 20:55:28 +0000 |
commit | e231543033135479f1ae881c70f760845c928be0 (patch) | |
tree | 7b7fc4046cc8f4a44e66b4019e1e5acf6407dd2c /modules/services/mail | |
parent | abb2779840884d582f929ade49da9f6eb7a2880d (diff) | |
download | nixlib-e231543033135479f1ae881c70f760845c928be0.tar nixlib-e231543033135479f1ae881c70f760845c928be0.tar.gz nixlib-e231543033135479f1ae881c70f760845c928be0.tar.bz2 nixlib-e231543033135479f1ae881c70f760845c928be0.tar.lz nixlib-e231543033135479f1ae881c70f760845c928be0.tar.xz nixlib-e231543033135479f1ae881c70f760845c928be0.tar.zst nixlib-e231543033135479f1ae881c70f760845c928be0.zip |
Add new services: freepops, fuppes and ups.
svn path=/nixos/trunk/; revision=27977
Diffstat (limited to 'modules/services/mail')
-rw-r--r-- | modules/services/mail/freepops.nix | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/modules/services/mail/freepops.nix b/modules/services/mail/freepops.nix new file mode 100644 index 000000000000..9f8b93d3e33e --- /dev/null +++ b/modules/services/mail/freepops.nix @@ -0,0 +1,87 @@ +{config, pkgs, ...}: + +with pkgs.lib; + +let + cfg = config.services.mail.freepopsd; +in + +{ + options = { + services.mail.freepopsd = { + enable = mkOption { + default = false; + type = with types; bool; + description = '' + Enables Freepops, a POP3 webmail wrapper. + ''; + }; + + port = mkOption { + default = 2000; + type = with types; uniq int; + description = '' + Port on which the pop server will listen. + ''; + }; + + threads = mkOption { + default = 5; + type = with types; uniq int; + description = '' + Max simultaneous connections. + ''; + }; + + bind = mkOption { + default = "0.0.0.0"; + type = with types; uniq string; + description = '' + Bind over an IPv4 address instead of any. + ''; + }; + + logFile = mkOption { + default = "/var/log/freepopsd"; + example = "syslog"; + type = with types; uniq string; + description = '' + Filename of the log file or syslog to rely on the logging daemon. + ''; + }; + + suid = { + user = mkOption { + default = "nobody"; + type = with types; uniq string; + description = '' + User name under which freepopsd will be after binding the port. + ''; + }; + + group = mkOption { + default = "nogroup"; + type = with types; uniq string; + description = '' + Group under which freepopsd will be after binding the port. + ''; + }; + }; + + }; + }; + + config = mkIf cfg.enable { + jobs.freepopsd = { + description = "Freepopsd (webmail over POP3)"; + startOn = "ip-up"; + exec = ''${pkgs.freepops}/bin/freepopsd \ + -p ${toString cfg.port} \ + -t ${toString cfg.threads} \ + -b ${cfg.bind} \ + -vv -l ${cfg.logFile} \ + -s ${cfg.suid.user}.${cfg.suid.group} + ''; + }; + }; +} \ No newline at end of file |