Para que um serviço seja reiniciado 3 vezes em intervalos de 90 segundos, inclua as seguintes linhas no seu arquivo de serviço systemd:
Restart=always
RestartSec=90
StartLimitInterval=400
StartLimitBurst=3
Isso funcionou para mim para um serviço que executa um script usando 'Type = idle'. Observe que 'StartLimitInterval' deve ser maior que 'RestartSec * StartLimitBurst', caso contrário, o serviço será reiniciado indefinidamente.
Demorei algum tempo com muitas tentativas e erros para descobrir como o systemd usa essas opções, o que sugere que o systemd não é tão bem documentado quanto se espera. Essas opções fornecem o tempo de ciclo de repetição e o máximo de tentativas que eu estava procurando.