How to install org-roam-server on doom emacs

I am trying to migrate from Spacemacs to doom emacs.
I have installed org-roam-server by adding to my packages.el this line

(package! org-roam-server)

And I added the configuration to config.el:

(use-package! org-roam-server
  :config
  (setq org-roam-server-host "127.0.0.1"
        org-roam-server-port 8080
        org-roam-server-authenticate nil
        org-roam-server-export-inline-images t
        org-roam-server-serve-files nil
        org-roam-server-served-file-extensions '("pdf" "mp4" "ogv")
        org-roam-server-network-poll t
        org-roam-server-network-arrows nil
        org-roam-server-network-label-truncate t
        org-roam-server-network-label-truncate-length 60
        org-roam-server-network-label-wrap-length 20)))

The error I get when initiating emacs is:

Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "org-roam-server")

How can I solve this?

Did you run doom sync in the terminal?

Thank you!!
I just realized I need to sync.
Now it works, but I still get a warning.
The debug give me the following error:

Debugger entered--Lisp error: (invalid-read-syntax ")")
  read(#<buffer  *load*-377009>)
  eval-buffer(#<buffer  *load*-377009> nil "/Users/roiho/.doom.d/config.el" nil t)  ; Reading at buffer position 8826
  load-with-code-conversion("/Users/roiho/.doom.d/config.el" "/Users/roiho/.doom.d/config.el" t t)
  load("/Users/roiho/.doom.d/config" t nomessage)
  (let (file-name-handler-alist) (load (expand-file-name "config" doom-private-dir) t 'nomessage))
  (condition-case e (let (file-name-handler-alist) (load (expand-file-name "config" doom-private-dir) t 'nomessage)) ((debug doom-error) (signal (car e) (cdr e))) ((debug error) (doom--handle-load-error e (expand-file-name "config" doom-private-dir) doom-private-dir)))
  (if no-config-p nil (maphash (doom-module-loader doom-module-config-file) doom-modules) (run-hook-wrapped 'doom-init-modules-hook #'doom-try-run-hook) (condition-case e (let (file-name-handler-alist) (load (expand-file-name "config" doom-private-dir) t 'nomessage)) ((debug doom-error) (signal (car e) (cdr e))) ((debug error) (doom--handle-load-error e (expand-file-name "config" doom-private-dir) doom-private-dir))) (load custom-file 'noerror (not doom-debug-mode)))
  (progn (if doom-debug-p (progn (let ((inhibit-message (active-minibuffer-window))) (message #("DOOM Initializing user config" 0 5 (face font-lock-comment-face)))))) (maphash (doom-module-loader doom-module-init-file) doom-modules) (run-hook-wrapped 'doom-before-init-modules-hook #'doom-try-run-hook) (if no-config-p nil (maphash (doom-module-loader doom-module-config-file) doom-modules) (run-hook-wrapped 'doom-init-modules-hook #'doom-try-run-hook) (condition-case e (let (file-name-handler-alist) (load (expand-file-name "config" doom-private-dir) t 'nomessage)) ((debug doom-error) (signal (car e) (cdr e))) ((debug error) (doom--handle-load-error e (expand-file-name "config" doom-private-dir) doom-private-dir))) (load custom-file 'noerror (not doom-debug-mode))))
  (if init-p (progn (if doom-debug-p (progn (let ((inhibit-message (active-minibuffer-window))) (message #("DOOM Initializing user config" 0 5 (face font-lock-comment-face)))))) (maphash (doom-module-loader doom-module-init-file) doom-modules) (run-hook-wrapped 'doom-before-init-modules-hook #'doom-try-run-hook) (if no-config-p nil (maphash (doom-module-loader doom-module-config-file) doom-modules) (run-hook-wrapped 'doom-init-modules-hook #'doom-try-run-hook) (condition-case e (let (file-name-handler-alist) (load (expand-file-name "config" doom-private-dir) t 'nomessage)) ((debug doom-error) (signal (car e) (cdr e))) ((debug error) (doom--handle-load-error e (expand-file-name "config" doom-private-dir) doom-private-dir))) (load custom-file 'noerror (not doom-debug-mode)))) nil)
  (let* ((init-p (and t (condition-case e (let (file-name-handler-alist) (load (expand-file-name doom-module-init-file doom-private-dir) t 'nomessage)) ((debug doom-error) (signal (car e) (cdr e))) ((debug error) (doom--handle-load-error e (expand-file-name doom-module-init-file doom-private-dir) doom-private-dir)))))) (if init-p (progn (if doom-debug-p (progn (let ((inhibit-message ...)) (message #("DOOM Initializing user config" 0 5 ...))))) (maphash (doom-module-loader doom-module-init-file) doom-modules) (run-hook-wrapped 'doom-before-init-modules-hook #'doom-try-run-hook) (if no-config-p nil (maphash (doom-module-loader doom-module-config-file) doom-modules) (run-hook-wrapped 'doom-init-modules-hook #'doom-try-run-hook) (condition-case e (let (file-name-handler-alist) (load (expand-file-name "config" doom-private-dir) t 'nomessage)) ((debug doom-error) (signal (car e) (cdr e))) ((debug error) (doom--handle-load-error e (expand-file-name "config" doom-private-dir) doom-private-dir))) (load custom-file 'noerror (not doom-debug-mode)))) nil))
  (progn (setq doom-init-modules-p t) (if no-config-p nil (if doom-debug-p (progn (let ((inhibit-message (active-minibuffer-window))) (message #("DOOM Initializing core modules" 0 5 (face font-lock-comment-face)))))) (doom-initialize-core-modules)) (let* ((init-p (and t (condition-case e (let (file-name-handler-alist) (load ... t ...)) ((debug doom-error) (signal ... ...)) ((debug error) (doom--handle-load-error e ... doom-private-dir)))))) (if init-p (progn (if doom-debug-p (progn (let (...) (message ...)))) (maphash (doom-module-loader doom-module-init-file) doom-modules) (run-hook-wrapped 'doom-before-init-modules-hook #'doom-try-run-hook) (if no-config-p nil (maphash (doom-module-loader doom-module-config-file) doom-modules) (run-hook-wrapped 'doom-init-modules-hook #'doom-try-run-hook) (condition-case e (let (file-name-handler-alist) (load ... t ...)) ((debug doom-error) (signal ... ...)) ((debug error) (doom--handle-load-error e ... doom-private-dir))) (load custom-file 'noerror (not doom-debug-mode)))) nil)))
  (if (or force-p (not doom-init-modules-p)) (progn (setq doom-init-modules-p t) (if no-config-p nil (if doom-debug-p (progn (let ((inhibit-message ...)) (message #("DOOM Initializing core modules" 0 5 ...))))) (doom-initialize-core-modules)) (let* ((init-p (and t (condition-case e (let ... ...) (... ...) (... ...))))) (if init-p (progn (if doom-debug-p (progn (let ... ...))) (maphash (doom-module-loader doom-module-init-file) doom-modules) (run-hook-wrapped 'doom-before-init-modules-hook #'doom-try-run-hook) (if no-config-p nil (maphash (doom-module-loader doom-module-config-file) doom-modules) (run-hook-wrapped 'doom-init-modules-hook #'doom-try-run-hook) (condition-case e (let ... ...) (... ...) (... ...)) (load custom-file 'noerror (not doom-debug-mode)))) nil))))
  doom-initialize-modules(nil)
  (progn (setq doom-init-p t) (if doom-debug-p (progn (let ((inhibit-message (active-minibuffer-window))) (message #("DOOM Initializing Doom" 0 5 (face font-lock-comment-face)))))) (progn (set-default 'exec-path doom--initial-exec-path) (set-default 'load-path doom--initial-load-path) (set-default 'process-environment doom--initial-process-environment)) (condition-case e (load (string-remove-suffix ".el" doom-autoloads-file) nil 'nomessage) (file-missing (if (locate-file doom-autoloads-file load-path) (signal 'doom-autoload-error e) (signal 'doom-error (list "Doom is in an incomplete state" "run 'doom sync' on the command line to repair it"))))) (if (or (display-graphic-p) (daemonp)) (doom-load-envvars-file doom-env-file 'noerror)) (require 'core-modules) (autoload 'doom-initialize-packages "core-packages") (eval-after-load 'package #'(lambda nil (require 'core-packages))) (eval-after-load 'straight #'(lambda nil (doom-initialize-packages))) (add-hook 'doom-first-buffer-hook #'gcmh-mode) (add-hook 'after-change-major-mode-hook #'doom-run-local-var-hooks-h) (add-hook 'emacs-startup-hook #'doom-load-packages-incrementally-h) (add-hook 'window-setup-hook #'doom-display-benchmark-h) (doom-run-hook-on 'doom-first-buffer-hook '(after-find-file doom-switch-buffer-hook)) (doom-run-hook-on 'doom-first-file-hook '(after-find-file dired-initial-position-hook)) (doom-run-hook-on 'doom-first-input-hook '(pre-command-hook)) (if doom-debug-p (doom-debug-mode 1)) (doom-initialize-modules force-p))
  (if (or force-p (not doom-init-p)) (progn (setq doom-init-p t) (if doom-debug-p (progn (let ((inhibit-message (active-minibuffer-window))) (message #("DOOM Initializing Doom" 0 5 (face font-lock-comment-face)))))) (progn (set-default 'exec-path doom--initial-exec-path) (set-default 'load-path doom--initial-load-path) (set-default 'process-environment doom--initial-process-environment)) (condition-case e (load (string-remove-suffix ".el" doom-autoloads-file) nil 'nomessage) (file-missing (if (locate-file doom-autoloads-file load-path) (signal 'doom-autoload-error e) (signal 'doom-error (list "Doom is in an incomplete state" "run 'doom sync' on the command line to repair it"))))) (if (or (display-graphic-p) (daemonp)) (doom-load-envvars-file doom-env-file 'noerror)) (require 'core-modules) (autoload 'doom-initialize-packages "core-packages") (eval-after-load 'package #'(lambda nil (require 'core-packages))) (eval-after-load 'straight #'(lambda nil (doom-initialize-packages))) (add-hook 'doom-first-buffer-hook #'gcmh-mode) (add-hook 'after-change-major-mode-hook #'doom-run-local-var-hooks-h) (add-hook 'emacs-startup-hook #'doom-load-packages-incrementally-h) (add-hook 'window-setup-hook #'doom-display-benchmark-h) (doom-run-hook-on 'doom-first-buffer-hook '(after-find-file doom-switch-buffer-hook)) (doom-run-hook-on 'doom-first-file-hook '(after-find-file dired-initial-position-hook)) (doom-run-hook-on 'doom-first-input-hook '(pre-command-hook)) (if doom-debug-p (doom-debug-mode 1)) (doom-initialize-modules force-p)))
  doom-initialize()
  eval-buffer(#<buffer  *load*> nil "/Users/roiho/.emacs.d/init.el" nil t)  ; Reading at buffer position 3710
  load-with-code-conversion("/Users/roiho/.emacs.d/init.el" "/Users/roiho/.emacs.d/init.el" t t)
  load("/Users/roiho/.emacs.d/init" noerror nomessage)
  startup--load-user-init-file(#f(compiled-function () #<bytecode 0x1fe9d087f709>) #f(compiled-function () #<bytecode 0x1fe9d087f721>) t)
  command-line()
  normal-top-level()

I think you have an extra “)” in your config at this position. (M-g c) should be Goto-char and enter that number

1 Like

Thanks, solved as well.

But now I see that the although the graph is building correctly, it does not show the content of the files… It says:

Not Found

The requested URL was not found on this server.

Did you get it working with Spacemacs, or is it your first time? Follow the manual to set up prerequisites. In addition, I have a chapter on my Zero to Org-roam guide. It’s for Windows but it may give you some frame to think within. If you are on macOS, I have also helped someone on this forum; search for it if you are interested.

In Spacemacs it was working well.
I got a bit confused with the installation for Doom, since it seems from what I read online that it should be much easier…
I will look into your guide, thanks!

I still could not find a solution for the problem. It seems that the problem is only in the org-roam-server, since the files in emacs are shown properly…
The problem is that in the web browser the content of the file is not shown.

I have a feeling that you hit the same problem as this?

I don’t understand your issue from your description. it is difficult to visualise “ The problem is that in the web browser the content of the file is not shown.”

You’re right. It is the same problem.
I did not see any solution to this problem in the slack channel, but only a work-around which uses org-roam-server-light.

Just for the sake of completion, here is what I see when I try to see the text of a note in the browser.

What’s the URL in the address bar? And URL in the link in the source?

If you are on Windows (are you?) then you might need to change environment variable in Windows like described here: https://earvingad.github.io/posts/doom_emacs_windows/

Like I said in the Slack thread, i cannot reproduce the problem in my vanilla Emacs, so I would have to conclude this is Doom specific. You might have better luck in its chat channel.

Actually, I just find the solution here: https://github.com/org-roam/org-roam-server/issues/115
Now everything works fine!
Thanks!

Oh, good to know. Glad it works.
So… You had this error “Wrong type argument: listp, sp-text-mode-emoticon-p”, and somehow with it, the URL didn’t work. But when you fixed this error, everything works. Correct?

Yes. And since I have org-roam-server-mode running on startup of emacs, I didn’t see the error.
I had to disable it and re-enable it to see the error.

1 Like