diff --git a/modules/common/smtp.nix b/modules/common/smtp.nix new file mode 100644 index 0000000..51a3a4d --- /dev/null +++ b/modules/common/smtp.nix @@ -0,0 +1,26 @@ +{ config, pkgs, lib, ... }: { + programs.msmtp = { + enable = true; + + accounts.default = { + host = "smtp.protonmail.ch"; + port = 587; + auth = true; + tls = true; + tls_starttls = true; + user = "contact@porzh.me"; + passwordeval = "cat /run/secrets/proton_pass"; + from = "contact@porzh.me"; + }; + }; + + environment.systemPackages = [ pkgs.msmtp ]; + +# On place le lien symbolique dans /etc/alternatives, qui est modifiable + systemd.tmpfiles.rules = [ + "L+ /etc/alternatives/sendmail - - - - ${pkgs.msmtp}/bin/msmtp" + "L+ /usr/sbin/sendmail - - - - ${pkgs.msmtp}/bin/msmtp" + ]; + + environment.pathsToLink = [ "/etc/alternatives" "/usr/sbin" ]; + } diff --git a/modules/services/outline.nix b/modules/services/outline.nix new file mode 100644 index 0000000..be601f0 --- /dev/null +++ b/modules/services/outline.nix @@ -0,0 +1,28 @@ +{ config, pkgs, lib, ... }: { + services = { + outline = { + enable = true; + port = 3002 ; + publicUrl = "http://notes.porzh.me"; + forceHttps = true; + smtp = { + host = "smtp.protonmail.ch"; + username = "contact@porzh.me"; + passwordFile = "/run/secrets/proton_pass"; + fromEmail = "contact@porzh.me"; + replyEmail = "contact@porzh.me"; + port = 587 ; + secure = false; + }; + storage.storageType = "local"; + }; + caddy = { + enable = true; + virtualHosts."notes.porzh.me" = { + extraConfig = '' + reverse_proxy localhost:3002 + ''; + }; + }; + }; +} diff --git a/profiles/server-selfhosted.nix b/profiles/server-selfhosted.nix index c5cca16..f2a1dff 100644 --- a/profiles/server-selfhosted.nix +++ b/profiles/server-selfhosted.nix @@ -2,9 +2,11 @@ imports = [ ../modules/roles/server.nix ../modules/common/base.nix + ../modules/common/smtp.nix ../modules/common/qemu.nix ../modules/services/printing.nix ../modules/services/goaccess.nix + ../modules/services/outline.nix ../modules/sites/porzh.me.nix ../modules/sites/levr.porzh.me.nix ]; diff --git a/profiles/workstation-bspwm.nix b/profiles/workstation-bspwm.nix index 9c9534e..6a1fa38 100644 --- a/profiles/workstation-bspwm.nix +++ b/profiles/workstation-bspwm.nix @@ -15,6 +15,7 @@ ../modules/common/lockscreen.nix ../modules/common/energy.nix ../modules/common/qemu.nix + ../modules/common/smtp.nix ]; services.openssh = {