{ config, pkgs, lib, ... }: let vs = config.vault-secrets.secrets; cfg = config.services.mastodon; in { system.stateVersion = "21.05"; # Use DHCP with static leases networking.interfaces.eth0.useDHCP = true; # Better cache hits environment.noXlibs = lib.mkForce false; services.elasticsearch = { enable = true; cluster_name = "mastodon-es"; package = pkgs.elasticsearch7; }; vault-secrets.secrets.mastodon = { services = [ "mastodon-init-dirs" "mastodon" "mastodon-media-prune" ]; inherit (cfg) user group; }; # Append the init-dirs script to add AWS/Minio secrets systemd.services.mastodon-init-dirs.script = '' cat >> /var/lib/mastodon/.secrets_env <