Note taking

#oss #obsidian #syncthing #nvim

Problem statement

I am sending mail to myself. Whenever I need to:

  • remember something
  • write down an idea
  • save a link to look at later

There is right now 457 mails in my ‘myself’ mail label. I definitely need to try something different.

I would like a system

  • with my data is stored locally
  • open source
  • with an android application
  • format editable in any text editor

Soooo…no Evernote, Notion, Onenote, Google docs nor Apple notes.

Let’s keep bringing the cloud home, with open-source software, peer-to-peer sync and storage.

Obsidian

Let’s talk about Obsidian.

Here’s what they say about themselves:

obsidian ad

Installing on the computer

Installing obsidian is easy, either visit the download page or use your favorite package manager:

$ sudo pacman -S obsidian

Decide where Obsidian files will live

$ mkdir ~/Obsidian

But what about nvim ?

yeah yeah, vim shortcuts in obsidian UI, cool. What I want is Obsidian IN nvim.

Fortunately, there is a plugin for it: obsidian.nvim

The README doesn’t tell how to install using Plug, let’s try this:

call plug#begin("~/.vim/plugged")
 " ...
 " Dependencies
 Plug 'nvim-lua/plenary.nvim'
 " Obsidian
 Plug 'epwalsh/obsidian.nvim'
call plug#end()

This plugin make good use of telescope.nvim when available, so that’s cool.

Looks like it installed fine. Let’s add the required configuration setup in lua:

require("obsidian").setup(
  workspaces = {
    {
      name = "personal",
      path = "~/Obsidian",
    },
  },
)

Cute !

obsidian nvim

But what about taking notes on my smartphone ?

There is an application for Obsidian. There is several options to sync notes, including Google Drive and Dropbox. Since we don’t want that, we’ll use Syncthing.

Let’s add the configuration to /etc/syncthing/config/config.xml:

    <folder id="obsidian-5ydpp" label="Obsidian" path="~/Obsidian" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
        <filesystemType>basic</filesystemType>
        <device id="V3SE2TE-XKNJVCM-ZB4CEJ3-FEWEFEE-7V6LY47-FDEWTUM-GFEWFIZ-PDK24A3" introducedBy="">
            <encryptionPassword></encryptionPassword>
        </device>
        <minDiskFree unit="%">1</minDiskFree>
        ...
    </folder>

And…Here we go:

obsidian android

I can finally stop send mails to myself whenever I want to remember something. All notes, with all Obsidian power, synchronized and backed up using Syncthing, usable in Neovim. Feels good.