# How to install org-roam-server on doom emacs

**URL:** <https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090>\
**Category:** Troubleshooting\
**Created:** [December 24, 2020, 10:55am UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090 "2020-12-24T10:55:13Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![roi.holtzman](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@roi.holtzman](https://org-roam.discourse.group/u/roi.holtzman)\
**Post date:** [December 24, 2020, 10:55am UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/1 "2020-12-24T10:55:13Z")

</div>

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

```auto
(package! org-roam-server)

```

And I added the configuration to `config.el`:

```auto
(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:

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

```

How can I solve this?

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [December 24, 2020, 11:01am UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/2 "2020-12-24T11:01:13Z")

</div>

Did you run doom sync in the terminal?

---

<div class="post-metadata">

**Author:** ![roi.holtzman](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@roi.holtzman](https://org-roam.discourse.group/u/roi.holtzman)\
**Post date:** [December 24, 2020, 11:03am UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/3 "2020-12-24T11:03:46Z")

</div>

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:

```auto
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()

```

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [December 24, 2020, 11:11am UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/4 "2020-12-24T11:11:23Z")

</div>

> [@roi.holtzman](#):
>
> ` Reading at buffer position 8826`

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

---

<div class="post-metadata">

**Author:** ![roi.holtzman](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@roi.holtzman](https://org-roam.discourse.group/u/roi.holtzman)\
**Post date:** [December 24, 2020, 11:15am UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/5 "2020-12-24T11:15:21Z")

</div>

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:

```auto
Not Found

The requested URL was not found on this server.

```

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [December 24, 2020, 3:28pm UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/6 "2020-12-24T15:28:19Z")

</div>

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](https://org-roam.discourse.group/t/zero-to-emacs-and-org-roam-a-step-by-step-guide-on-windows-10/400) 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.

---

<div class="post-metadata">

**Author:** ![roi.holtzman](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@roi.holtzman](https://org-roam.discourse.group/u/roi.holtzman)\
**Post date:** [December 24, 2020, 5:37pm UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/7 "2020-12-24T17:37:22Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![roi.holtzman](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@roi.holtzman](https://org-roam.discourse.group/u/roi.holtzman)\
**Post date:** [December 30, 2020, 3:44pm UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/8 "2020-12-30T15:44:50Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [December 30, 2020, 6:08pm UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/9 "2020-12-30T18:08:59Z")

</div>

I have a feeling that you hit the same problem as [this](https://orgroam.slack.com/archives/CV160S8EL/p1603109983203100)?

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.”

---

<div class="post-metadata">

**Author:** ![roi.holtzman](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@roi.holtzman](https://org-roam.discourse.group/u/roi.holtzman)\
**Post date:** [December 30, 2020, 6:37pm UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/10 "2020-12-30T18:37:10Z")

</div>

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.

 ![Screen Shot 2020-12-30 at 20.34.20](https://global.discourse-cdn.com/free1/uploads/orgroam/original/1X/8ae588cf3c1811039a307ca6755bf4bc63086b07.png)

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [December 30, 2020, 6:40pm UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/11 "2020-12-30T18:40:09Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [December 30, 2020, 7:16pm UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/12 "2020-12-30T19:16:58Z")

</div>

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/](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.

---

<div class="post-metadata">

**Author:** ![roi.holtzman](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@roi.holtzman](https://org-roam.discourse.group/u/roi.holtzman)\
**Post date:** [December 30, 2020, 7:38pm UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/13 "2020-12-30T19:38:30Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [December 30, 2020, 8:09pm UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/14 "2020-12-30T20:09:28Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![roi.holtzman](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@roi.holtzman](https://org-roam.discourse.group/u/roi.holtzman)\
**Post date:** [December 31, 2020, 6:21am UTC](https://org-roam.discourse.group/t/how-to-install-org-roam-server-on-doom-emacs/1090/15 "2020-12-31T06:21:43Z")

</div>

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.
