Compare commits
10 Commits
1a77edb635
...
6951ffc0c3
Author | SHA1 | Date | |
---|---|---|---|
6951ffc0c3 | |||
ee3c5f2a1b | |||
2cab09f8fe | |||
a6c9081861 | |||
eb88540696 | |||
618e69fc3d | |||
0d8c0a6164 | |||
6b067d40d2 | |||
269e10e9d8 | |||
1c6307dba8 |
149
config.el
149
config.el
@ -21,7 +21,7 @@
|
||||
;;
|
||||
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
|
||||
;; font string. You generally only need these two:
|
||||
(setq doom-font (font-spec :family "Fira Mono" :size 14.0)
|
||||
(setq doom-font (font-spec :family "FiraCode Nerd Font" :size 14.0)
|
||||
doom-variable-pitch-font (font-spec :family "Liberation Serif" :size 16.0))
|
||||
|
||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||
@ -38,14 +38,6 @@
|
||||
;; (remove-hook 'doom-switch-buffer-hook #'+org--restart-mode-h
|
||||
;; 'local)))
|
||||
|
||||
;; If you use `org' and don't want your org files in the default location below,
|
||||
;; change `org-directory'. It must be set before org loads!
|
||||
(setq org-directory "~/Nextcloud/org/")
|
||||
|
||||
(after! org
|
||||
;; Store org links to info pages
|
||||
(add-to-list 'org-modules 'ol-info))
|
||||
|
||||
;; (defun max/org-gtd--incubate ()
|
||||
;; "Process GTD inbox item by incubating it.
|
||||
;; Allow the user apply user-defined tags from
|
||||
@ -222,10 +214,6 @@
|
||||
;; :category "next"))
|
||||
;; ))))))))
|
||||
|
||||
|
||||
(use-package! org-inline-pdf
|
||||
:hook (org-mode . org-inline-pdf-mode))
|
||||
|
||||
(use-package! indium
|
||||
:hook ((js-mode typescript-mode) . indium-interaction-mode)
|
||||
:init
|
||||
@ -301,85 +289,6 @@
|
||||
;; ;; (add-hook 'kill-emacs-hook 'org-caldav-sync-at-close)
|
||||
;; )
|
||||
|
||||
(use-package! org-roam-ui
|
||||
:after org-roam
|
||||
:config
|
||||
(setq org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start t))
|
||||
|
||||
(setq +org-roam-open-buffer-on-find-file nil)
|
||||
|
||||
(after! org-roam
|
||||
(setq org-roam-capture-templates
|
||||
'(("d" "default" plain
|
||||
"%?"
|
||||
:target
|
||||
(file+head
|
||||
"${slug}.org"
|
||||
"#+title: ${note-title}\n")
|
||||
:unnarrowed t)
|
||||
("n" "literature note" plain
|
||||
"%?"
|
||||
:target
|
||||
(file+head
|
||||
"%(concat
|
||||
(when citar-org-roam-subdir (concat citar-org-roam-subdir \"/\")) \"${citekey}.org\")"
|
||||
"#+title: ${title}\n")
|
||||
:unnarrowed t)))
|
||||
(setq org-roam-dailies-capture-templates
|
||||
'(("d" "default" entry
|
||||
"* %?"
|
||||
:target (file+head "%<%Y-%m-%d>.org"
|
||||
"#+title: %<%Y-%m-%d>\n"))))
|
||||
;; ("j" "journal" entry
|
||||
;; #'org-roam-capture--get-point
|
||||
;; "* %?"
|
||||
;; :file-name "daily/%<%Y-%m-%d>"
|
||||
;; :head "#+title: %<%Y-%m-%d>\n"
|
||||
;; :olp ("Journal"))))
|
||||
(map! :leader
|
||||
:desc "Capture today" "n n" #'org-roam-dailies-capture-today)
|
||||
(setq org-roam-directory (concat org-directory "roam/")
|
||||
org-roam-completion-everywhere nil))
|
||||
|
||||
(after! citar
|
||||
;; (setq citar-file-parser-functions
|
||||
;; '(citar-file--parser-default
|
||||
;; citar-file--parser-triplet))
|
||||
(setq citar-org-roam-capture-template-key "n")
|
||||
(setq! citar-library-paths '("~/Zotero" "~/Nextcloud/Calibre")
|
||||
citar-notes-paths `(,(expand-file-name "reference" org-roam-directory))
|
||||
citar-bibliography `(,(expand-file-name "library.bib" org-roam-directory)
|
||||
,(expand-file-name "books.bib" org-roam-directory))))
|
||||
|
||||
(after! citar-org-roam
|
||||
;; (citar-register-notes-source
|
||||
;; 'orb-citar-source (list :name "Org-Roam Notes"
|
||||
;; :category 'org-roam-node
|
||||
;; :items #'citar-org-roam--get-candidates
|
||||
;; :hasitems #'citar-org-roam-has-notes
|
||||
;; :open #'citar-org-roam-open-note
|
||||
;; :create #'orb-citar-edit-note
|
||||
;; :annotate #'citar-org-roam--annotate))
|
||||
;; (setq citar-notes-source 'orb-citar-source)
|
||||
(setq citar-org-roam-subdir "reference"))
|
||||
|
||||
(use-package! org-transclusion
|
||||
:after org
|
||||
:init
|
||||
(map!
|
||||
:map global-map "<f12>" #'org-transclusion-add
|
||||
:leader
|
||||
:prefix "n"
|
||||
:desc "Org Transclusion Mode" "t" #'org-transclusion-mode))
|
||||
|
||||
(after! org-noter
|
||||
;; (map! :map pdf-view-mode-map "i" nil)
|
||||
;; (map! :map pdf-view-mode-map :gn "i" #'org-noter-insert-note)
|
||||
(setq org-noter-always-create-frame t))
|
||||
|
||||
(after! biblio
|
||||
(map! :map biblio-selection-mode-map
|
||||
"C-j" #'biblio--selection-next
|
||||
@ -404,9 +313,6 @@
|
||||
'ivy-bibtex
|
||||
'(("x" max/ivy-bibtex-org-capture "Capture PDF to read"))))
|
||||
|
||||
(use-package! nov
|
||||
:mode ("\\.epub\\'" . nov-mode))
|
||||
|
||||
;; Taken from: https://github.com/hlissner/doom-emacs/pull/6077
|
||||
;; (use-package! org-roam-bibtex
|
||||
;; ;; :when (featurep! :lang org +roam2)
|
||||
@ -452,27 +358,6 @@
|
||||
|
||||
;; (setq ns-auto-hide-menu-bar t)
|
||||
|
||||
(defun max/org-clock-get-clock-string ()
|
||||
"Form a clock string that will be shown in polybar.
|
||||
Adapted from `org-clock-get-clock-string'."
|
||||
(require 'org-clock)
|
||||
(when (org-clocking-p)
|
||||
(let* ((currently-clocked-time
|
||||
(floor (org-time-convert-to-integer
|
||||
(time-since org-clock-start-time))
|
||||
60))
|
||||
(clocked-time (org-clock-get-clocked-time))
|
||||
(current-work-done-str (org-duration-from-minutes currently-clocked-time)))
|
||||
(if org-clock-effort
|
||||
(let* ((effort-in-minutes (org-duration-to-minutes org-clock-effort))
|
||||
(work-done-str (org-duration-from-minutes clocked-time))
|
||||
(effort-str (org-duration-from-minutes effort-in-minutes)))
|
||||
(format "%s (%s/%s) %s"
|
||||
current-work-done-str work-done-str effort-str org-clock-heading))
|
||||
(format "%s %s"
|
||||
current-work-done-str
|
||||
(org-duration-from-minutes clocked-time)
|
||||
org-clock-heading)))))
|
||||
|
||||
;; (defun my/toggle-org-agenda ()
|
||||
;; "Toggle my custom org agenda view"
|
||||
@ -481,7 +366,6 @@ Adapted from `org-clock-get-clock-string'."
|
||||
;; (org-agenda-quit)
|
||||
;; (org-agenda nil " ")))
|
||||
|
||||
|
||||
(after! auth-source
|
||||
(when IS-MAC
|
||||
(setq auth-sources '(macos-keychain-internet macos-keychain-generic))))
|
||||
@ -513,15 +397,10 @@ Adapted from `org-clock-get-clock-string'."
|
||||
|
||||
(setq +latex-viewers '(pdf-tools))
|
||||
|
||||
(setq org-roam-directory (concat org-directory "roam/"))
|
||||
|
||||
;; (setq! +biblio-pdf-library-dir "~/Nextcloud/Papers/"
|
||||
;; +biblio-default-bibliography-files '("~/Nextcloud/Papers/library.bib")
|
||||
;; +biblio-notes-path org-roam-directory)
|
||||
|
||||
(after! org-roam-bibtex
|
||||
(setq orb-insert-link-description 'citekey))
|
||||
|
||||
;; https://tecosaur.github.io/emacs-config/config.html#getting-notified
|
||||
;; http://cachestocaches.com/2017/3/complete-guide-email-emacs-using-mu-and-/
|
||||
;; (use-package! mu4e-alert
|
||||
@ -555,10 +434,6 @@ Adapted from `org-clock-get-clock-string'."
|
||||
(after! persp-mode
|
||||
(setq persp-emacsclient-init-frame-behaviour-override "main"))
|
||||
|
||||
(map! :after org
|
||||
:map org-mode-map
|
||||
:localleader
|
||||
"Y" #'ox-clip-image-to-clipboard)
|
||||
|
||||
(after! evil-snipe
|
||||
(setq evil-snipe-spillover-scope 'visible))
|
||||
@ -589,23 +464,11 @@ Adapted from `org-clock-get-clock-string'."
|
||||
(setq codeql-transient-binding "C-c q")
|
||||
(setq codeql-configure-eglot-lsp t))
|
||||
|
||||
;; (server-start)
|
||||
|
||||
;; (use-package! mac-pseudo-daemon
|
||||
;; :config
|
||||
;; (mac-pseudo-daemon-mode)
|
||||
;; )
|
||||
|
||||
|
||||
;; (load! nix-docbook-mode)
|
||||
|
||||
;;; (after! calfw-org
|
||||
;;; (autoload (function cfw:org-create-file-source) "cfw:org-create-file-source" nil t))
|
||||
|
||||
;;; (after! calfw-org
|
||||
;;; (autoload #'cfw:org-create-file-source "cfw:org-create-file-source"))
|
||||
|
||||
(defadvice! +default--dont-prompt-for-save-file-a (&rest _)
|
||||
:before #'server-edit
|
||||
(save-buffer))
|
||||
|
||||
;; load personal modules
|
||||
(load! "email")
|
||||
(load! "org")
|
||||
(load! "gtd")
|
||||
(load! "email")
|
||||
|
17
email.el
17
email.el
@ -48,6 +48,8 @@
|
||||
mu4e-drafts-folder "/mailbox/Drafts"
|
||||
mu4e-trash-folder "/mailbox/Trash"
|
||||
mu4e-refile-folder "/mailbox/Archive"
|
||||
;; TODO create context-aware variable
|
||||
mu4e-spam-folder "/mailbox/Junk"
|
||||
mu4e-compose-signature nil
|
||||
mu4e-maildir-shortcuts (list (list :maildir "/mailbox/Inbox"
|
||||
:key ?i)
|
||||
@ -92,6 +94,21 @@
|
||||
;; IMAP-deleted:
|
||||
(mu4e--server-move docid (mu4e--mark-check-target target) "+S-u-N"))))
|
||||
|
||||
(add-to-list 'mu4e-marks
|
||||
'(spam
|
||||
:char "S"
|
||||
:prompt "Spam"
|
||||
:shot-target (lambda (target) mu4e-spam-folder)
|
||||
:action (lambda (docid msg target)
|
||||
(mu4e--server-move docid mu4e-spam-folder "+S-u-N"))))
|
||||
|
||||
(defun my:mu4e-mark-for-spam()
|
||||
"Mark as read and move to spam."
|
||||
(interactive)
|
||||
(mu4e-headers-mark-and-next 'spam))
|
||||
|
||||
(map! :map mu4e-headers-mode-map :n "S" #'my:mu4e-mark-for-spam)
|
||||
|
||||
(add-to-list 'mu4e-view-mime-part-actions
|
||||
'(:name "calendar"
|
||||
:handler (lambda (file)
|
||||
|
47
gtd.el
47
gtd.el
@ -3,8 +3,12 @@
|
||||
(after! org
|
||||
(setq org-return-follows-link t
|
||||
org-complete-tags-always-offer-all-agenda-tags t
|
||||
org-agenda-files (mapcar 'file-truename
|
||||
(file-expand-wildcards (concat org-directory "gtd/*.org"))))
|
||||
org-agenda-files (mapcar (lambda (filename) (expand-file-name filename org-directory))
|
||||
'("gtd/inbox.org"
|
||||
"gtd/tasks.org"
|
||||
"gtd/journal.org"
|
||||
"gtd/calendar.org")))
|
||||
;; (file-expand-wildcards (concat org-directory "gtd/*.org"))))
|
||||
;; org-agenda-files (append (mapcar 'file-truename
|
||||
;; (file-expand-wildcards (concat org-directory "gtd/*.org")))
|
||||
;; (list (expand-file-name (funcall #'gtd-get-current-journal) org-directory))))
|
||||
@ -13,6 +17,9 @@
|
||||
,(concat "* %?\n"
|
||||
":PROPERTIES:\n:CREATED: %U\n:END:") :prepend t)
|
||||
;; ("j" "Journal" entry (file+datetree ,(funcall #'gtd-get-current-journal))
|
||||
("l" "Link" entry (file "gtd/inbox.org")
|
||||
,(concat "* Process %:annotation\n"
|
||||
":PROPERTIES:\n:CREATED: %U\n:END:") :prepend t)
|
||||
("j" "Journal" entry (file+datetree "gtd/journal.org")
|
||||
,(concat "* %?\n"
|
||||
":PROPERTIES:\n:CREATED: %U\n:END:"))
|
||||
@ -25,10 +32,23 @@
|
||||
org-refile-target-verify-function (lambda (&rest _) (null (org-get-todo-state)))
|
||||
;; org-refile-target-verify-function nil
|
||||
;; org-refile-targets '(("tasks.org" . (:maxlevel . 2))))
|
||||
org-refile-targets '(("tasks.org" . (:maxlevel . 2))
|
||||
("someday.org" . (:level . 0)))))
|
||||
org-refile-targets `(("tasks.org" . (:maxlevel . 2))
|
||||
(,(expand-file-name "gtd/someday.org" org-directory) . (:maxlevel . 1)))))
|
||||
|
||||
(defun gtd-capture-inbox ()
|
||||
;; Getting the following on capture:
|
||||
;;
|
||||
;; Greedy org-protocol handler. Killing client.
|
||||
;; No server buffers remain to edit
|
||||
;;
|
||||
;; See https://github.com/alphapapa/org-protocol-capture-html/issues/40
|
||||
;; (use-package! org-protocol-capture-html
|
||||
;; :after org-protocol
|
||||
;; :config
|
||||
;; (add-to-list 'org-capture-templates
|
||||
;; '("w" "Website" entry (file "")
|
||||
;; "* %a :website:\n\n%U %?\n\n%:initial"))
|
||||
|
||||
(defun gtd-capture-inbox ()
|
||||
(interactive)
|
||||
(org-capture nil "i"))
|
||||
|
||||
@ -115,7 +135,19 @@ See also `org-save-all-org-buffers'"
|
||||
t)))
|
||||
(message "Saving org-agenda-files buffers... done"))
|
||||
|
||||
;; TODO: use org-after-refile-insert-hook ??
|
||||
(defun gtd-update-statistics-cookies ()
|
||||
"Save `org-agenda-files' buffers without user confirmation.
|
||||
See also `org-save-all-org-buffers'"
|
||||
(interactive)
|
||||
(message "Updating cookies in org-agenda-files buffers...")
|
||||
(save-some-buffers t (lambda ()
|
||||
(when (member (buffer-file-name) org-agenda-files)
|
||||
t)))
|
||||
(message "Updating cookies in org-agenda-files buffers... done"))
|
||||
|
||||
(after! org
|
||||
;; (advice-add 'org-refile :after (lambda (&rest _) (org-update-statistics-cookies t)))
|
||||
(advice-add 'org-refile :after (lambda (&rest _) (gtd-save-org-buffers)))
|
||||
(advice-add 'org-todo :after (lambda (&rest _) (gtd-save-org-buffers)))
|
||||
(advice-add 'org-add-note :after (lambda (&rest _) (gtd-save-org-buffers)))
|
||||
@ -211,3 +243,8 @@ show up there.\n\n"))
|
||||
(setq org-pomodoro-length 25
|
||||
org-pomodoro-short-break-length 5
|
||||
org-pomodoro-long-break-length 20))
|
||||
|
||||
;;
|
||||
;;; Reference system
|
||||
|
||||
(load! "roam")
|
||||
|
4
init.el
4
init.el
@ -151,7 +151,7 @@
|
||||
nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
(org +noter +journal +roam2 +dragndrop +pomodoro) ; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
(python +lsp +pyright +poetry) ; beautiful is better than ugly
|
||||
@ -160,7 +160,7 @@
|
||||
;;raku ; the artist formerly known as perl6
|
||||
;;rest ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;; (scala +lsp) ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
|
52
org.el
Normal file
52
org.el
Normal file
@ -0,0 +1,52 @@
|
||||
;;; org.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; If you use `org' and don't want your org files in the default location below,
|
||||
;; change `org-directory'. It must be set before org loads!
|
||||
(setq org-directory "~/Nextcloud/org/")
|
||||
|
||||
(require 'org)
|
||||
|
||||
(defvar org-clock-heading-str-limit 20
|
||||
"Maximum length of `org-clock-heading' string. Will be truncated if too long.")
|
||||
(defun max/org-clock-get-clock-string ()
|
||||
"Form a clock string that will be shown in a status bar.
|
||||
Adapted from `org-clock-get-clock-string'."
|
||||
(require 'org-clock)
|
||||
(when (org-clocking-p)
|
||||
(let* ((currently-clocked-time
|
||||
(floor (org-time-convert-to-integer
|
||||
(time-since org-clock-start-time))
|
||||
60))
|
||||
(org-clock-heading-str (if (> (length org-clock-heading) org-clock-heading-str-limit)
|
||||
(concat (substring org-clock-heading 0 org-clock-string-limit) "...")
|
||||
org-clock-heading))
|
||||
(clocked-time (org-clock-get-clocked-time))
|
||||
(work-done-str (org-duration-from-minutes clocked-time))
|
||||
(current-work-done-str (org-duration-from-minutes currently-clocked-time)))
|
||||
(if org-clock-effort
|
||||
(let* ((effort-in-minutes (org-duration-to-minutes org-clock-effort))
|
||||
(effort-str (org-duration-from-minutes effort-in-minutes)))
|
||||
(format "%s (%s/%s) %s"
|
||||
org-clock-heading-str work-done-str effort-str current-work-done-str))
|
||||
(format "%s (%s) %s"
|
||||
org-clock-heading
|
||||
work-done-str
|
||||
current-work-done-str)))))
|
||||
|
||||
;; Fix org-babel shell block not inheriting envrc
|
||||
;; https://github.com/purcell/envrc/issues/28
|
||||
(advice-add 'org-babel-eval :around #'envrc-propagate-environment)
|
||||
|
||||
(after! org
|
||||
;; Store org links to info pages
|
||||
(add-to-list 'org-modules 'ol-info))
|
||||
|
||||
;; C-k is mapped to ~org-element-up~ by defualt
|
||||
(map! :after evil-org
|
||||
:map evil-org-mode-map
|
||||
:i "C-k" #'org-kill-line)
|
||||
|
||||
(map! :after org
|
||||
:map org-mode-map
|
||||
:localleader
|
||||
"Y" #'ox-clip-image-to-clipboard)
|
@ -76,6 +76,8 @@
|
||||
;; (package! counsel-tramp)
|
||||
;; (package! org-capture-pop-frame)
|
||||
(package! org-caldav)
|
||||
;; XXX https://github.com/alphapapa/org-protocol-capture-html/issues/40
|
||||
;; (package! org-protocol-capture-html)
|
||||
(package! ob-typescript)
|
||||
(package! indium)
|
||||
;; (package! mac-pseudo-daemon)
|
||||
@ -85,7 +87,7 @@
|
||||
(package! nov)
|
||||
;; (package! org-gtd)
|
||||
;; (package! weblorg)
|
||||
|
||||
(package! evil-escape :disable t)
|
||||
(package! emacs-codeql
|
||||
:recipe (:host github
|
||||
:repo "anticomputer/emacs-codeql"
|
||||
|
106
roam.el
Normal file
106
roam.el
Normal file
@ -0,0 +1,106 @@
|
||||
;;; roam.el -*- lexical-binding: t; -*-
|
||||
|
||||
(after! org-roam
|
||||
(setq org-roam-capture-templates
|
||||
'(("m" "main" plain
|
||||
"%?"
|
||||
:target
|
||||
(file+head
|
||||
"main/${slug}.org"
|
||||
"#+title: ${title}\n")
|
||||
:unnarrowed t)
|
||||
("c" "cheatsheet" plain
|
||||
"%?"
|
||||
:target
|
||||
(file+head
|
||||
"cheatsheet/${slug}.org"
|
||||
"#+title: ${title}\n")
|
||||
:unnarrowed t)
|
||||
("w" "worksheet" plain
|
||||
"%?"
|
||||
:target
|
||||
(file+head
|
||||
"worksheet/${slug}.org"
|
||||
"#+title: ${title}\n")
|
||||
:unnarrowed t)
|
||||
("p" "person" plain
|
||||
"%?"
|
||||
:target
|
||||
(file+head
|
||||
"person/${slug}.org"
|
||||
"#+title: ${title}\n")
|
||||
:unnarrowed t)
|
||||
("n" "literature note" plain
|
||||
"%?"
|
||||
:target
|
||||
(file+head
|
||||
"%(concat
|
||||
(when citar-org-roam-subdir (concat citar-org-roam-subdir \"/\")) \"${citekey}.org\")"
|
||||
"#+title: ${title}\n")
|
||||
:unnarrowed t)))
|
||||
(setq org-roam-dailies-capture-templates
|
||||
'(("d" "default" entry
|
||||
"* %?"
|
||||
:target (file+head "%<%Y-%m-%d>.org"
|
||||
"#+title: %<%Y-%m-%d>\n"))))
|
||||
(map! :leader
|
||||
:desc "Capture today" "n n" #'org-roam-dailies-capture-today)
|
||||
(setq org-roam-directory (concat org-directory "roam/")
|
||||
org-roam-completion-everywhere nil))
|
||||
|
||||
(after! org-download
|
||||
(setq org-download-screenshot-method "flameshot gui --raw > %s"))
|
||||
|
||||
(after! citar
|
||||
;; (setq citar-file-parser-functions
|
||||
;; '(citar-file--parser-default
|
||||
;; citar-file--parser-triplet))
|
||||
(setq citar-org-roam-capture-template-key "n")
|
||||
(setq! citar-library-paths '("~/Zotero" "~/Nextcloud/Calibre")
|
||||
citar-notes-paths `(,(expand-file-name "reference" org-roam-directory))
|
||||
citar-bibliography `(,(expand-file-name "library.bib" org-roam-directory)
|
||||
,(expand-file-name "books.bib" org-roam-directory))))
|
||||
|
||||
(after! citar-org-roam
|
||||
;; (citar-register-notes-source
|
||||
;; 'orb-citar-source (list :name "Org-Roam Notes"
|
||||
;; :category 'org-roam-node
|
||||
;; :items #'citar-org-roam--get-candidates
|
||||
;; :hasitems #'citar-org-roam-has-notes
|
||||
;; :open #'citar-org-roam-open-note
|
||||
;; :create #'orb-citar-edit-note
|
||||
;; :annotate #'citar-org-roam--annotate))
|
||||
;; (setq citar-notes-source 'orb-citar-source)
|
||||
(setq citar-org-roam-subdir "reference"))
|
||||
|
||||
;; insert drawings from my RM2
|
||||
(use-package! org-inline-pdf
|
||||
:hook (org-mode . org-inline-pdf-mode))
|
||||
|
||||
(use-package! org-roam-ui
|
||||
:after org-roam
|
||||
:config
|
||||
(setq org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start t))
|
||||
|
||||
(after! org-noter
|
||||
;; (map! :map pdf-view-mode-map "i" nil)
|
||||
;; (map! :map pdf-view-mode-map :gn "i" #'org-noter-insert-note)
|
||||
(setq org-noter-always-create-frame nil))
|
||||
|
||||
(use-package! nov
|
||||
:mode ("\\.epub\\'" . nov-mode))
|
||||
|
||||
(use-package! org-transclusion
|
||||
:after org
|
||||
:init
|
||||
(map!
|
||||
:map global-map "<f12>" #'org-transclusion-add
|
||||
:leader
|
||||
:prefix "n"
|
||||
:desc "Org Transclusion Mode" "t" #'org-transclusion-mode))
|
||||
|
||||
(after! org-roam-bibtex
|
||||
(setq orb-insert-link-description 'citekey))
|
Loading…
x
Reference in New Issue
Block a user