I am using Emacs Org Mode to manage a todo list. Is it possible to use Emacs to manage my calendar?

I will need it to integrate with my Nextcloud calendar. And it would be great if it can integrate with my todo list in Org Mode.

If this is already answered in a way a newbie like me can understand, please just point me to it. I looked up a few sources/ answers but could not make anything of them.

  • I run my small business using Emacs to manage my tasks and events and it was one of the main reasons for initially switching to Emacs. Without getting into synchronizing with the cloud (since there are several options), you may wish to check-out calfw for a pretty calendar view that fills the entire buffer. Although not many people seem to request it, I am rather fond of the 12-month custom view that I created using the built-in calendar library -- it is either here on stackexchange, or over at stackoverflow. You can color code events/tasks that appear on the 3/12 month rotating calendar.
    – lawlist
    Commented Oct 27, 2017 at 14:45
  • @lawlist Again, a newbie question.How do I check out calfw? I looked up M-x list-packages But it does not show any calfw :(
    – deshmukh
    Commented Oct 27, 2017 at 15:59
  • It may be helpful to do some Googling for how to identify and adjust your load-path, and where to manually save optional libraries, and using the proper require statement in your .emacs or init.el file, and checking to see that the library being added has the correct filename and a proper provide statement at the bottom. There is surely a an Emacs wiki page about the load-path, and you'll find several examples of how to add optional libraries. A ton of goodies are not available through list-packages. There are some additional sources that can be added to the package database.
    – lawlist
    Commented Oct 27, 2017 at 23:00

1 Answer 1


I use org-mode together with https://github.com/dengste/org-caldav to sync with google calendar. The readme of org-caldav states that Nextcloud is regularly tested, so it sounds like it would work.

Below are the commands I use (from bash) to install my packages from scratch, including the newest org-mode and org-caldav. Warning! The rm command deletes all org-* packages that you may have installed locally (i.e. not system-wide). It is necessary if you wish to upgrade org-mode itself, but perhaps not if you just want to install org-caldav.

rm -rf ~/.emacs.d/elpa/org-* # your installation path _may_ vary.
emacs -Q -batch -eval "(progn (require 'package) (add-to-list 'package-archives '(\"org\" . \"http://orgmode.org/elpa/\"))  (package-initialize) (package-refresh-contents) (package-install 'org-plus-contrib))"
emacs -batch --eval "(progn (require 'package) (package-initialize) (message (format \"Org version is: %s.\" (org-version))))"
emacs -Q -batch -eval "(progn (require 'package) (add-to-list 'package-archives '(\"melpa\" . \"https://melpa.org/packages/\"))  (package-initialize) (package-refresh-contents) (package-install 'paradox))"
emacs -Q -batch -eval "(progn (require 'package) (add-to-list 'package-archives '(\"melpa\" . \"https://melpa.org/packages/\"))  (package-initialize) (package-refresh-contents) (package-install 'use-package))"

Skip the last command if you do not want to use use-package. After the above, run paradox-list-packages and install org-caldav.

  • Thanks. It seems very interesting. However, how do I install it? Where? I did M-x list-packages and it did not show me org-caldav.
    – deshmukh
    Commented Oct 27, 2017 at 15:18
  • I think I installed it using paradox. Commented Oct 27, 2017 at 18:39
  • I updated my answer to include the bash commands I use to install org-mode and paradox. Commented Oct 27, 2017 at 18:45
  • 3
    Please be very careful about giving a newbie an rm command, as well as inexperienced computer users who will read this thread in the future after a Google search. Otherwise, you may see future comments from people in a state of panic asking you why X, Y and Z are no longer on the computer ... :)
    – lawlist
    Commented Oct 27, 2017 at 23:05
  • @NiclasBörlin Thanks. I did it differently. Added the following lines to my ~/.emacs. (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") ("marmalade" . "https://marmalade-repo.org/packages/") ("melpa" . "https://melpa.org/packages/"))) And M-x list-packages to install org-caldav The next ballte is to actually use the package. :)
    – deshmukh
    Commented Oct 28, 2017 at 5:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.