Configuring ORG-ROAM

Fri, Nov 22, 2024 3-minute read

Hi! it has been a while! Sorry about that, you was expeting me? This kind of things happens me a lot. Sometimes I get lost in the deepest pit of myself sourrounded with my own demons and expecting to see the light one day. I missed you also dear nobody. I’m back, maybe for a while.

Problem

I want a place to keep my learning updated, I found myself traveling between contexts and differents plaftforms: corporate laptop, personal laptop, personal laptop Windows OS, personal laptop Linux OS, other personal laptop (my wife or daughter or my home server - also linux …) and so on.

It will be nice to have a system to use as one reference for my knowledge and if I learn something new I could download, update and backup it/store easily.

Hypothesis

Is there any system? I tought in a combination of EMACS + GitHub + ORG-ROAM, in the sense of having always a way to capture new ideas or to store new knowledge quick and in a reliable way.

So the HLD of this idea will be:

  • An updated emacs with my config in every place (portable?)
    • With my config + org-roam
  • GH repo
  • Git

done? Let’s see.

Installation

Let’s configure org-roam on this environment (fedora), for installing I will guide you from the official installation guide:

Package Install

M-x package-install RET org-roam RET

First errors found: Failing public key, i found the following error:

This error seems to be because we are using old EMACS keyring.

Fixed downloading the key-ring-update tar file:

You get the .tar and use then:


M-x package-install-file RET /path_to_tar_file/gnu-elpa-keyring-update-XXX.tar

After that I tryed again and … it worked :D!! 🎆 …. but then org-roam installed but the nodes can’t be created…. after some investigation finally I cleared the elpa folder leaving only the emacsql client for org-roam. Seems that I was having problems and a lots of issues on different packages, so I endend clearing up every emacsql package and installing from elpa site ( here emacsql ). It worked! 🐣

Getting started and ensuring that is working

Now few things has to be done to ensure that is working fine, that are:

  1. Org-roam directory configuration

    You will need to add the following to your emacs config file

    (setq org-roam-directory (file-truename "~/org-roam"))
    (org-roam-db-autosync-mode)
    

    The last line was the hard one… that revealed that I needed to resolve the emacsql thing commented above. 😌

  2. Adding org-roam-ui

    For a better presentation and use I added also org-roam-ui package.

    M-x package-install RET org-roam-ui RET
    

    Warnings may appear on Compile-Log buffer. But if there are only warnings is just OK.

  3. Configuring templates and captures

    This is an extra step for the most of you the interactive version (mainly M-x org-caputure is just ok), but you may want to add more spice to your dish, for that purpose you will need to review the templates, there are as many functions and utils as you want to code, just follow Templating-System.

  4. Keep learning

    The org-roam is based in the org-mode ecosystem so the options and extensions on your workflow can be limitless, this is the beauty of emacs ecosystem btw.

  5. Enjoy!

    For me is amazing when finally is working :D for the most of you probably you’ll have no problems, but my story is always learning the hard way… hopefully now it’s working.