1# toobusy23This is an unfinished experiment for implementing a [notmuch]-like command-line tool for [iCalendars][rfc 5545].45## Status67This is presently an unfinished proof-of-concept prototype. Ideally, I would8like to rewrite this in a statically typed language like Haskell or Rust.9However, I would first have to write [Xapian] bindings for such a language and10presently I am not motivated enough to do so. Further, properly implementing11this in Guile requires improving the [guile-ics] library. For instance, this12library is presently lacking proper support for recurring events. Essentially,13making progress on this project requires working on either an14[RFC 5545][rfc 5545] or [Xapian] library and neither seems particularly "fun"15right now.1617## Development Setup1819Requires a working [Guix] installation:2021 $ guix time-machine -C channels.scm -- shell22 [env] $ guile -L src -s ./bin/toobusy-index samples/*.ics23 [env] $ guile -L src -s ./bin/toobusy-list -s 01-01-1000 -e 01-01-300024 [env] $ guile -L src -s ./bin/toobusy-search party2526## Installation2728Presently, this is supposed to be installed via [Guix]:2930 $ guix time-machine -C channels.scm -- package -f package.scm3132[guile-ics]: https://github.com/artyom-poptsov/guile-ics33[Guix]: https://guix.gnu.org34[notmuch]: https://notmuchmail.org/35[rfc 5545]: https://datatracker.ietf.org/doc/html/rfc554536[Xapian]: http://www.xapian.org/