I would like to share my calendar to someone outside nextcloud (thus sharing publicly through a link), but I do not want to give access to the details of the event.
It can be set on a per-event basis: the visibility option when shared can be set to “When shared show only busy”. This applies to user and group shares as well as public shares.