Org roam is a personal information management system, following the Zettelkasten method, and implemented using Org Mode .



Notes directory

Set the directory where the notes are stored by setting org-roam-directory

Excluding files

You might want to exclude some files in the notes directory from being included in the database. For me that includes the Syncthing trash folder.

To exclude the syncthing trash folder:

(setq org-roam-file-exclude-regexp ".stversions/")

Roam protocol

From Org-roam User Manual - Roam protocol

For Linux users, create a desktop application in ~/.local/share/applications/org-protocol.desktop:

[Desktop Entry]
Exec=emacsclient %u

Associate org-protocol:// links with the desktop application by running in your shell:

xdg-mime default org-protocol.desktop x-scheme-handler/org-protocol

Peek on hover

I think it would be very useful to be able to quickly see other notes without actually entering them. You can probably use this function:

(run-with-idle-timer 1 t (lambda () (message "idle")))

I have also written a preview function using posframe that is on my desktop. That could probably do with some sprucing up, e.g. adding a margin and setting colours.


This emacs package provides a ui for org-roam in a web browser. It presents your notes and their links on a graph, and allows you to navigate between emacs and this UI.