dovecot: add virtual mailboxes
This commit is contained in:
parent
43e8bc41ac
commit
c56cb5f1d0
@ -145,8 +145,6 @@
|
|||||||
this-year-time-format = "Mon Jan 02 15:04";
|
this-year-time-format = "Mon Jan 02 15:04";
|
||||||
timestamp-format = "2006-01-02 15:04";
|
timestamp-format = "2006-01-02 15:04";
|
||||||
|
|
||||||
mouse-enabled = true;
|
|
||||||
|
|
||||||
spinner = "[ ⡿ ],[ ⣟ ],[ ⣯ ],[ ⣷ ],[ ⣾ ],[ ⣽ ],[ ⣻ ],[ ⢿ ]";
|
spinner = "[ ⡿ ],[ ⣟ ],[ ⣯ ],[ ⣷ ],[ ⣾ ],[ ⣽ ],[ ⣻ ],[ ⢿ ]";
|
||||||
border-char-vertical = "┃";
|
border-char-vertical = "┃";
|
||||||
border-char-horizontal = "━";
|
border-char-horizontal = "━";
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
{ pkgs, config, lib, inputs, ... }:
|
{ pkgs, config, lib, inputs, ... }:
|
||||||
let
|
let module = toString inputs.simple-nixos-mailserver;
|
||||||
module = toString inputs.simple-nixos-mailserver;
|
|
||||||
in {
|
in {
|
||||||
imports = [ module ];
|
imports = [ module ];
|
||||||
secrets.mailserver = {
|
secrets.mailserver = {
|
||||||
@ -70,17 +69,73 @@ in {
|
|||||||
dnsBlacklistOverrides = ''
|
dnsBlacklistOverrides = ''
|
||||||
balsoft.ru OK
|
balsoft.ru OK
|
||||||
192.168.0.0/16 OK
|
192.168.0.0/16 OK
|
||||||
${lib.concatMapStringsSep "\n" (machine: "${machine}.lan OK") (builtins.attrNames inputs.self.nixosConfigurations)}
|
${lib.concatMapStringsSep "\n" (machine: "${machine}.lan OK")
|
||||||
|
(builtins.attrNames inputs.self.nixosConfigurations)}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
services.dovecot2 = {
|
||||||
|
mailPlugins.globally.enable = [ "virtual" ];
|
||||||
|
extraConfig = ''
|
||||||
|
namespace {
|
||||||
|
prefix = virtual.
|
||||||
|
separator = .
|
||||||
|
location = virtual:~/Maildir/virtual
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /var/vmail/Maildir 700 virtualMail virtualMail - -"
|
||||||
|
"d /var/vmail/Maildir/virtual 700 virtualMail virtualMail - -"
|
||||||
|
"d /var/vmail/Maildir/virtual/all 700 virtualMail virtualMail - -"
|
||||||
|
"d /var/vmail/Maildir/virtual/INBOX 700 virtualMail virtualMail - -"
|
||||||
|
"L+ /var/vmail/Maildir/virtual/all/dovecot-virtual - - - - ${
|
||||||
|
pkgs.writeText "virtual.all" ''
|
||||||
|
*
|
||||||
|
all
|
||||||
|
''
|
||||||
|
}"
|
||||||
|
"L+ /var/vmail/Maildir/virtual/INBOX/dovecot-virtual - - - - ${
|
||||||
|
pkgs.writeText "virtual.INBOX" ''
|
||||||
|
virtual.all
|
||||||
|
inthread refs x-mailbox INBOX
|
||||||
|
''
|
||||||
|
}"
|
||||||
|
];
|
||||||
mailserver = {
|
mailserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
fqdn = "balsoft.ru";
|
fqdn = "balsoft.ru";
|
||||||
domains = [ "balsoft.ru" ];
|
domains = [ "balsoft.ru" ];
|
||||||
|
mailboxes = {
|
||||||
|
Trash = {
|
||||||
|
auto = "no";
|
||||||
|
specialUse = "Trash";
|
||||||
|
};
|
||||||
|
Junk = {
|
||||||
|
auto = "subscribe";
|
||||||
|
specialUse = "Junk";
|
||||||
|
};
|
||||||
|
Drafts = {
|
||||||
|
auto = "subscribe";
|
||||||
|
specialUse = "Drafts";
|
||||||
|
};
|
||||||
|
Sent = {
|
||||||
|
auto = "subscribe";
|
||||||
|
specialUse = "Sent";
|
||||||
|
};
|
||||||
|
};
|
||||||
loginAccounts = {
|
loginAccounts = {
|
||||||
"balsoft@balsoft.ru" = {
|
"balsoft@balsoft.ru" = {
|
||||||
aliases =
|
aliases = [
|
||||||
[ "balsoft" "admin@balsoft.ru" "patches" "patches@balsoft.ru" "issues" "issues@balsoft.ru" "admin" "root@balsoft.ru" "root" ];
|
"balsoft"
|
||||||
|
"admin@balsoft.ru"
|
||||||
|
"patches"
|
||||||
|
"patches@balsoft.ru"
|
||||||
|
"issues"
|
||||||
|
"issues@balsoft.ru"
|
||||||
|
"admin"
|
||||||
|
"root@balsoft.ru"
|
||||||
|
"root"
|
||||||
|
];
|
||||||
hashedPasswordFile = config.secrets.mailserver.decrypted;
|
hashedPasswordFile = config.secrets.mailserver.decrypted;
|
||||||
sieveScript = ''
|
sieveScript = ''
|
||||||
if header :is "X-GitHub-Sender" "serokell-bot" {
|
if header :is "X-GitHub-Sender" "serokell-bot" {
|
||||||
|
Loading…
Reference in New Issue
Block a user