{ 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; nixpkgs.config.permittedInsecurePackages = [ "openssl-1.1.1t" ]; # Better cache hits environment.noXlibs = lib.mkForce false; networking.hosts = { "192.168.0.122" = [ "xirion.net" "o.xirion.net" ]; }; 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 <