mirror of
https://github.com/org-roam/org-roam
synced 2025-08-15 13:23:32 -05:00
126 lines
4.1 KiB
Markdown
126 lines
4.1 KiB
Markdown
## Basic Install and Configuration
|
|
|
|
Org-roam is now available on MELPA, so you can install it via the following
|
|
command:
|
|
|
|
```
|
|
M-x package-install RET org-roam RET
|
|
```
|
|
|
|
Alternatively, you may use package managers such as [straight][straight] or
|
|
[quelpa][quelpa] to install the package.
|
|
|
|
The recommended method of configuration is to use [use-package][use-package].
|
|
|
|
```emacs-lisp
|
|
(use-package org-roam
|
|
:hook
|
|
(after-init . org-roam-mode)
|
|
:custom
|
|
(org-roam-directory "/path/to/org-files/")
|
|
:bind (:map org-roam-mode-map
|
|
(("C-c n l" . org-roam)
|
|
("C-c n f" . org-roam-find-file)
|
|
("C-c n b" . org-roam-switch-to-buffer)
|
|
("C-c n g" . org-roam-show-graph))
|
|
:map org-mode-map
|
|
(("C-c n i" . org-roam-insert))))
|
|
```
|
|
|
|
Or without `use-package`:
|
|
|
|
```emacs-lisp
|
|
(require 'org-roam)
|
|
(define-key org-roam-mode-map (kbd "C-c n l") #'org-roam)
|
|
(define-key org-roam-mode-map (kbd "C-c n f") #'org-roam-find-file)
|
|
(define-key org-roam-mode-map (kbd "C-c n b") #'org-roam-switch-to-buffer)
|
|
(define-key org-roam-mode-map (kbd "C-c n g") #'org-roam-show-graph)
|
|
(define-key org-mode-map (kbd "C-c n i") #'org-roam-insert)
|
|
(org-roam-mode +1)
|
|
```
|
|
|
|
The [Configuration](configuration.md) page details some of the common
|
|
configuration options available.
|
|
|
|
## Spacemacs
|
|
|
|
If you are using Spacemacs, install org-roam by creating a simple layer that
|
|
wraps Org-roam. Paste the following into a new file
|
|
`~/.emacs.d/private/org-roam/packages.el`.
|
|
|
|
```emacs-lisp
|
|
(defconst org-roam-packages
|
|
'((org-roam :location
|
|
(recipe :fetcher github :repo "jethrokuan/org-roam"))))
|
|
|
|
(defun org-roam/init-org-roam ()
|
|
(use-package org-roam
|
|
:hook
|
|
(after-init . org-roam-mode)
|
|
:custom
|
|
(org-roam-directory "/path/to/org-files/")
|
|
:init
|
|
(progn
|
|
(spacemacs/declare-prefix "ar" "org-roam")
|
|
(spacemacs/set-leader-keys
|
|
"arl" 'org-roam
|
|
"art" 'org-roam-today
|
|
"arf" 'org-roam-find-file
|
|
"arg" 'org-roam-show-graph)
|
|
|
|
(spacemacs/declare-prefix-for-mode 'org-mode "mr" "org-roam")
|
|
(spacemacs/set-leader-keys-for-major-mode 'org-mode
|
|
"rl" 'org-roam
|
|
"rt" 'org-roam-today
|
|
"rb" 'org-roam-switch-to-buffer
|
|
"rf" 'org-roam-find-file
|
|
"ri" 'org-roam-insert
|
|
"rg" 'org-roam-show-graph))))
|
|
```
|
|
|
|
Next, append `org-roam` to the `dotspacemacs-configuration-layers`
|
|
list in your `.spacemacs` configuration file. Reload (`SPC f e R`) or
|
|
restart Emacs to load `org-roam`. It's functions are available under
|
|
the prefix `SPC a r` and `, r` when visiting an org-mode buffer.
|
|
|
|
If you also have the ranger layer installed, the prefix 'ar' conflict
|
|
with that of the ranger layer. You might want to change it to 'aor'
|
|
(also change the 'ar' to 'aor' in the other key-binding declarations)
|
|
|
|
## Doom Emacs
|
|
|
|
If you are using [Doom Emacs][doom], configure packages as explained in the
|
|
[getting started][doom-getting-started] guide.
|
|
|
|
Declare Org-roam as a package in your `~/.doom.d/packages.el`:
|
|
|
|
```elisp
|
|
;; ~/.doom.d/packages.el
|
|
|
|
(package! org-roam
|
|
:recipe (:host github :repo "jethrokuan/org-roam"))
|
|
```
|
|
|
|
Subsequently, in your `~/.doom.d/config.el` file, configure Org-roam:
|
|
|
|
```elisp
|
|
;; ~/.doom.d/config.el
|
|
(use-package! org-roam
|
|
:commands (org-roam-insert org-roam-find-file org-roam)
|
|
:init
|
|
(setq org-roam-directory "/path/to/org-files/")
|
|
(map! :leader
|
|
:prefix "n"
|
|
:desc "Org-Roam-Insert" "i" #'org-roam-insert
|
|
:desc "Org-Roam-Find" "/" #'org-roam-find-file
|
|
:desc "Org-Roam-Buffer" "r" #'org-roam)
|
|
:config
|
|
(org-roam-mode +1))
|
|
```
|
|
|
|
[use-package]: https://github.com/jwiegley/use-package
|
|
[straight]: https://github.com/raxod502/straight.el
|
|
[quelpa]: https://github.com/quelpa/quelpa
|
|
[doom]: https://github.com/hlissner/doom-emacs
|
|
[doom-getting-started]: https://github.com/hlissner/doom-emacs/blob/develop/docs/getting_started.org#configuring-packages
|