49 lines
1.2 KiB
Nix
49 lines
1.2 KiB
Nix
|
{ config, lib, pkgs, ... }:
|
||
|
let
|
||
|
cfg = config.my.roundcube;
|
||
|
fpm = config.services.phpfpm.pools.roundcube;
|
||
|
roundcube = config.services.roundcube;
|
||
|
in
|
||
|
{
|
||
|
options.my.roundcube = {
|
||
|
enable = lib.mkEnableOption "roundcube webmail";
|
||
|
};
|
||
|
|
||
|
config = lib.mkIf cfg.enable {
|
||
|
services.roundcube = {
|
||
|
enable = true;
|
||
|
configureNginx = false;
|
||
|
package = pkgs.roundcube.withPlugins (p: with p; [
|
||
|
persistent_login
|
||
|
contextmenu
|
||
|
custom_from
|
||
|
thunderbird_labels
|
||
|
]);
|
||
|
plugins = [
|
||
|
"persistent_login"
|
||
|
"contextmenu"
|
||
|
"custom_from"
|
||
|
"thunderbird_labels"
|
||
|
];
|
||
|
dicts = with pkgs.aspellDicts; [ en ];
|
||
|
extraConfig = ''
|
||
|
$config['imap_host'] = "ssl://imap.migadu.com:993";
|
||
|
$config['smtp_host'] = "ssl://smtp.migadu.com:465";
|
||
|
$config['smtp_user'] = "%u";
|
||
|
$config['smtp_pass'] = "%p";
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
services.phpfpm.pools.roundcube.settings = lib.mapAttrs (name: lib.mkForce) {
|
||
|
"listen.owner" = "caddy";
|
||
|
"listen.group" = "caddy";
|
||
|
};
|
||
|
|
||
|
services.caddy.virtualHosts."mail.cy7.sh".extraConfig = ''
|
||
|
import common
|
||
|
root ${roundcube.package}
|
||
|
php_fastcgi unix/${fpm.socket}
|
||
|
'';
|
||
|
};
|
||
|
}
|