Setting Up Org-Roam Directories and Syncing Multiple Machines (Linux, Android, & Windows)

Sorry it’s hard to read all your detail but I hope the following will respond to most of your issues.

For Windows,

  1. Download the latest release 29. It has sqlite built-in and works (I use it). No need for gcc or msys2
  2. To use it, download the package emacsql-sqlite-builtin in addition to emacsql. See this post

Do not sync the database file. They should be built for each machine.

I don’t think your Android mobile phone and tablet can use Emacs and org-roam (orgzly can edit org files but it does not have the backlinks from org-roam, but I suspect you know it and I believe it’s not an issue for you).

For settings in Emacs, there is no difference between Windows and Linux for org-roam. You can use sqlite-builtin: (setq org-roam-database-connector 'sqlite-builtin). Make sure to set the correct org-roam-directory for each machine.

Check the configuration example in README of the project repo on GitHub. You have a syntactic error in the way you use use-package. The second line immediately after use-package org-roam should not start with (org-roam-directory…. That seems to be what the error message is saying; it’s not just Windows, but Linux won’t work, either.