Have fun:
https://github.com/NixOS/nixpkgs/pull/60788
Sample configuration:
{
services.mastodon = {
enable = true;
localDomain = "social.pbb.lc";
smtpServer = "mail.pbb.lc";
smtpFromAddress = "notifications@pbb.lc";
vapidPublicKey = "BJHy26DZSzPBB1zQTdX_bEKCvXeRL9uIjKOuFvQun_VPYUIwEJLIDe2t5cqU_wTOBBfAAZLQZoklO0t_7Dl4VcY=";
dbUser = "mastodon";
smtpLogin = "mastodon@pbb.lc";
secretKeyBaseFile = "/etc/nixos/secrets/mastodon/secretKeyBase";
otpSecretFile = "/etc/nixos/secrets/mastodon/otpSecret";
vapidPrivateKeyFile = "/etc/nixos/secrets/mastodon/vapidPrivateKey";
dbPassFile = "/etc/nixos/secrets/mastodon/dbPass";
smtpPasswordFile = "/etc/nixos/secrets/mastodon/smtpPassword";
};
services.nginx.virtualHosts."social.pbb.lc" = {
enableACME = true;
forceSSL = true;
};
}