I’ve tried a few options, but I’ve stuck with khal for years now.
It works smoothly [1], supports multiple calendars, syncs with vdirsyncer (details in its documentation), and provides both CLI and TUI interfaces that make events easy to see, edit, and manage.
The CLI interface is especially handy for integrating khal with other apps like neomutt and taskwarrior for example. For instance, I have a keybinding that lets me export calendar invites from neomutt directly into khal. There’s also a list of tools (including one for khal) listed in the neomutt documentation if you’re curious.
I use it to manage both my personal and professional calendars, syncing them bidirectionally with vdirsyncer. The only drawback I’ve encountered is that some commands can be a bit cumbersome—but I solved this by writing my own script to make khal’s commands more intuitive for my workflow. That flexibility could be seen as another strength of khal ;)
[1] That’s my experience, but others here have reported it can be slow in some cases.
Didn’t hear of pimsync before. Thanks for sharing.
I don’t think I’m ready to switch yet based on its current limitations, but I’ll definitely keep an eye on it.