Installing Obsidian on FreeBSD

Post at — Jan 03, 2023

How to install the note taking app Obsidian on FreeBSD

Obsidian on FreeBSD

TL;DR Obsidian on FreeBSD Installer

I use the application Obsidian to write notes on everything from a daily journal to details on my various systems and projects at work and home. It’s my go to information store for everything life throws at me.

Obsidian is a great tool for this kind of knowledge database for several reasons. First, it stores all your data as text files in Markdown format. Any old sync-ing technology capable of syncing text files will work with syncing your Obsidian database. Personally I use syncthing to keep all of my notes sync’d with my various workstations.

Second, Obsidian allows you to create links within your notes to other notes and external sources of information. This allows you to build a notes database using the Zettelkasten method. I’m not a strict adherent to the method, but linked notes are very useful as your database embiggens.

Since most of my systems at home run FreeBSD (earlier post on why), I was relegated to running Obsidian on my one Linux laptop (that I generally use for gaming) or through a VM. Not ideal. Thus I began a project to attempt to get Obsidian running on FreeBSD via the Linuxulator.

The main problem with using FreeBSD’s Linuxulator is that Obsidian uses the Linux inotify file event notification system in its core functionality. Unfortunately, FreeBSD doesn’t support inotify within Linuxuator.

FreeBSD has its a different system for file event notifications called kqueue that isn’t API compatible with inotify (no reason it should be). Luckily, a library called libinotify-kqueue has been developed that front-ends kqueue system calls with an inotify API.

The results of my Obsidian on FreeBSD project is in the repo freebsd-obsidian which successfully installs and runs Obsidian on FreeBSD!

NOTE freebsd-obsidian is a fork of linux-browser-installer that’s used to install binary browsers like Chrome and Brave. Obsidian on FreeBSD is compatible with the linux-browser-installer and does not interfere with any of the browsers it installs. Chrome and Obsidian can be run at the same time. In fact, I do this quite frequently.