Self-host your own digital island
1# nixos-mailserver: a simple mail server 2# Copyright (C) 2016-2018 Robin Raymond 3# 4# This program is free software: you can redistribute it and/or modify 5# it under the terms of the GNU General Public License as published by 6# the Free Software Foundation, either version 3 of the License, or 7# (at your option) any later version. 8# 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License 15# along with this program. If not, see <http://www.gnu.org/licenses/> 16 17{ config, pkgs, lib, ... }: 18 19let 20 cfg = config.mailserver; 21in 22{ 23 config = with cfg; lib.mkIf (enable && openFirewall) { 24 25 networking.firewall = { 26 allowedTCPPorts = [ 25 ] 27 ++ lib.optional enableSubmission 587 28 ++ lib.optional enableSubmissionSsl 465 29 ++ lib.optional enableImap 143 30 ++ lib.optional enableImapSsl 993 31 ++ lib.optional enablePop3 110 32 ++ lib.optional enablePop3Ssl 995 33 ++ lib.optional enableManageSieve 4190 34 ++ lib.optional (certificateScheme == 3) 80; 35 }; 36 }; 37}