It's broad, yes, but systemd also probably thought of that thing you want to do.

systemd.services.backend = {
  wantedBy = [ "multi-user.target" ];
  after = [ "network.target" ];
  serviceConfig = {
	LoadCredential = [
	  "credentials.json:${config.age.secrets.backend.path}"
	];
	ExecStart = ''
	  ${pkg.backend}/bin/server \
		--creds ''${CREDENTIALS_DIRECTORY}/credentials.json
	'';
	Restart = "always";
	RestartSec = 5;
	DynamicUser = true;
  };
};

Of note: