{ config, pkgs, ... }: let mcDataDir = "/srv/minecraft/data"; in { systemd.services.minecraft-discord-config = { description = "Inject Discord bot token into Discord4Fabric config"; wantedBy = [ "multi-user.target" ]; before = [ "docker-minecraft.service" ]; after = [ "agenix.service" ]; serviceConfig = { Type = "oneshot"; ExecStart = pkgs.writeShellScript "setup-discord4fabric" '' CONFIG_DIR="${mcDataDir}/config/discord4fabric" mkdir -p "$CONFIG_DIR" TOKEN=$(cat ${config.age.secrets.discord-bot-token.path}) cat > "$CONFIG_DIR/config.json" < %message%", "joinFormat": "%player% joined the server", "leaveFormat": "%player% left the server", "deathFormat": "%message%", "advancementFormat": "%player% has made the advancement **%advancement%**", "discordToMinecraftFormat": "[Discord] <%user%> %message%" } EOF ''; }; }; }