This commit is contained in:
commit
30ce0dafc2
195 changed files with 8902 additions and 0 deletions
6
services/roundcube/default.nix
Normal file
6
services/roundcube/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./options.nix
|
||||
./service.nix
|
||||
];
|
||||
}
|
||||
12
services/roundcube/options.nix
Normal file
12
services/roundcube/options.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ lib, ... }:
|
||||
with lib;
|
||||
{
|
||||
options.machine.roundcube = {
|
||||
enable = mkEnableOption "Roundcube";
|
||||
domain = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Domain name. If not set, will be disabled, and use the localhost.";
|
||||
};
|
||||
};
|
||||
}
|
||||
45
services/roundcube/service.nix
Normal file
45
services/roundcube/service.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (config.machine.roundcube)
|
||||
enable
|
||||
domain
|
||||
;
|
||||
in
|
||||
with lib; mkIf enable {
|
||||
services.roundcube = {
|
||||
inherit enable;
|
||||
dicts = with pkgs.aspellDicts; [
|
||||
ru
|
||||
en
|
||||
fr
|
||||
];
|
||||
hostName = domain;
|
||||
configureNginx = true;
|
||||
extraConfig = ''
|
||||
// IMAP
|
||||
$config['imap_host'] = 'ssl://${config.mailserver.fqdn}';
|
||||
$config['imap_conn_options'] = array(
|
||||
'ssl' => array(
|
||||
'verify_peer' => false,
|
||||
'verify_peer_name' => false,
|
||||
),
|
||||
);
|
||||
|
||||
// SMTP
|
||||
$config['smtp_host'] = 'ssl://${config.mailserver.fqdn}:465';
|
||||
$config['smtp_conn_options'] = array(
|
||||
'ssl' => array(
|
||||
'verify_peer' => false,
|
||||
'verify_peer_name' => false,
|
||||
),
|
||||
);
|
||||
$config['smtp_user'] = '%u';
|
||||
$config['smtp_pass'] = '%p';
|
||||
'';
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue