diff --git a/mail-server/common.nix b/mail-server/common.nix
new file mode 100644
index 0000000..f32d898
--- /dev/null
+++ b/mail-server/common.nix
@@ -0,0 +1,36 @@
+#  nixos-mailserver: a simple mail server
+#  Copyright (C) 2016-2017  Robin Raymond
+#
+#  This program is free software: you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation, either version 3 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program. If not, see <http://www.gnu.org/licenses/>
+
+{ config }:
+
+let
+  cfg = config.mailserver;
+in
+{
+  # cert :: PATH
+  certificatePath = if cfg.certificateScheme == 1
+             then cfg.certificateFile
+             else if cfg.certificateScheme == 2
+                  then "${cfg.certificateDirectory}/cert-${cfg.domain}.pem"
+                  else "";
+
+  # key :: PATH
+  keyPath = if cfg.certificateScheme == 1
+        then cfg.keyFile
+        else if cfg.certificateScheme == 2
+             then "${cfg.certificateDirectory}/key-${cfg.domain}.pem"
+             else "";
+}