{ config, pkgs, ... }: { services.mastodon = { enable = true; package = pkgs.agatha-mastodon; localDomain = "technogothic.net"; configureNginx = false; smtp.fromAddress = "noreply@technogothic.net"; smtp.createLocally = false; database.passwordFile = "/var/lib/mastodon/secrets/db-password"; streamingProcesses = 4; elasticsearch = { host = "127.0.0.1"; inherit (config.services.elasticsearch) port; }; extraConfig = { WEB_DOMAIN = "fv.technogothic.net"; GITHUB_REPOSITORY = "AgathaSorceress/mastodon"; AUTHORIZED_FETCH = "true"; MAX_TOOT_CHARS = "6666"; MAX_POLL_OPTIONS = "128"; MAX_POLL_OPTION_CHARS = "512"; EXTRA_DATA_HOSTS = "https://ftp.technogothic.net"; MASTODON_VERSION_METADATA = "AGATHA+AGATHA"; }; }; users.groups.mastodon.members = [ config.services.nginx.user ]; services.elasticsearch = { enable = true; cluster_name = "mastodon-es"; package = pkgs.elasticsearch7; }; }