pimutils is a collection of software for personal information management. The core piece is vdirsyncer, which synchronizes calendars and contacts between the local filesystem and CalDav and CardDAV servers. Calendars may then be interacted with via khal, and contacts via khard. There’s not much to say about these three programs, other than they all just work. Having offline access to my calendars and contacts is critical, as is the ability to synchronize that data across machines.
Khard integrates easily with mutt to provide autocomplete when composing emails. I find its interface for creating, editing and reading contacts to be intuitive. It can also output a calendar of birthdays, which can then be imported into khal.
Khal’s interface for adding new calendar events is much simpler and quicker than all the mousing required by GUI calendar programs.
$ khal new 2019-11-16 21:30 5h Alessandro Cortini at Public Works :: 161 Erie St
$ khal import invite.ics
Vdirsyncer has maintenance problems that may call its future into question, but the whole point of modular tools that operate on open data formats is that they are replaceable.
I have a simple and often used script which calls
khal calendar and
task list (the latter command being taskwarrior), answering the question: what am I supposed to be doing right now?