From c234acacec42e4a73c9b239e0a133df6c0a55c78 Mon Sep 17 00:00:00 2001 From: Danilo Reyes Date: Fri, 19 Sep 2025 11:15:26 -0600 Subject: [PATCH] gitea email support --- modules/servers/gitea.nix | 19 ++++++++++++------- modules/servers/nextcloud.nix | 21 +++------------------ modules/services/msmtp.nix | 25 +++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 25 deletions(-) create mode 100644 modules/services/msmtp.nix diff --git a/modules/servers/gitea.nix b/modules/servers/gitea.nix index 742d380..8c304be 100644 --- a/modules/servers/gitea.nix +++ b/modules/servers/gitea.nix @@ -1,4 +1,9 @@ -{ lib, config, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.my.servers.gitea; setup = import ./setup.nix { inherit lib config; }; @@ -8,16 +13,16 @@ in config.services = { gitea = lib.mkIf cfg.enable { enable = true; - appName = "Danilo Git"; domain = cfg.host; rootUrl = cfg.url; settings = { session.COOKIE_SECURE = true; - server = { - HTTP_PORT = cfg.port; - START_SSH_SERVER = true; - SSH_PORT = 2222; - SSH_LISTEN_PORT = 2222; + server.HTTP_PORT = cfg.port; + mailer = { + ENABLED = true; + MAILER_TYPE = "sendmail"; + FROM = config.my.smtpemail; + SENDMAIL_PATH = "${pkgs.msmtp}/bin/msmtp"; }; }; database = { diff --git a/modules/servers/nextcloud.nix b/modules/servers/nextcloud.nix index 0c189f0..15e858b 100644 --- a/modules/servers/nextcloud.nix +++ b/modules/servers/nextcloud.nix @@ -40,12 +40,9 @@ in go-vod.enable = lib.mkEnableOption "enable"; }; config = lib.mkIf (cfg.enable && config.my.servers.postgres.enable) { - sops.secrets = { - smtp-password = { }; - nextcloud-adminpass = { - owner = config.users.users.nextcloud.name; - inherit (config.users.users.nextcloud) group; - }; + sops.secrets.nextcloud-adminpass = { + owner = config.users.users.nextcloud.name; + inherit (config.users.users.nextcloud) group; }; nixpkgs.config.permittedInsecurePackages = [ "nodejs-14.21.3" @@ -64,18 +61,6 @@ in ; }; }; - programs.msmtp = { - enable = true; - accounts.default = { - auth = true; - host = "smtp.gmail.com"; - port = 587; - tls = true; - from = config.my.smtpemail; - user = config.my.smtpemail; - passwordeval = "cat ${config.sops.secrets.smtp-password.path}"; - }; - }; services = { nextcloud = { enable = true; diff --git a/modules/services/msmtp.nix b/modules/services/msmtp.nix new file mode 100644 index 0000000..92583ef --- /dev/null +++ b/modules/services/msmtp.nix @@ -0,0 +1,25 @@ +{ + config, + lib, + ... +}: +let + cfg = config.my.servers; +in +{ + config = lib.mkIf cfg.nextcloud.enable or cfg.gitea.enable { + sops.secrets.smtp-password = { }; + programs.msmtp = { + enable = true; + accounts.default = { + auth = true; + host = "smtp.gmail.com"; + port = 587; + tls = true; + from = config.my.smtpemail; + user = config.my.smtpemail; + passwordeval = "cat ${config.sops.secrets.smtp-password.path}"; + }; + }; + }; +}