summary refs log tree commit diff
path: root/config/init-notes.el
diff options
context:
space:
mode:
Diffstat (limited to 'config/init-notes.el')
-rw-r--r--config/init-notes.el82
1 files changed, 53 insertions, 29 deletions
diff --git a/config/init-notes.el b/config/init-notes.el
index 55d3620..0d393c4 100644
--- a/config/init-notes.el
+++ b/config/init-notes.el
@@ -7,37 +7,25 @@
 
 ;;; Code:
 
-(use-package howm
+(use-package denote
   :ensure t
+  :hook (dired-mode . denote-dired-mode)
   :init
-  ;; Org-compatible filenames and syntax.
-  (setq howm-file-name-format "%Y/%m/%Y-%m-%d-%H%M%S.org")
-  (setq howm-view-title-header "*")
-
-  ;; Use ripgrep for fast searching.
-  (setq howm-view-use-grep t)
-  (setq howm-view-grep-command "rg")
-  (setq howm-view-grep-option "-nH --no-heading --color never")
-  (setq howm-view-grep-extended-option nil)
-  (setq howm-view-grep-fixed-option "-F")
-  (setq howm-view-grep-expr-option nil)
-  (setq howm-view-grep-file-stdin-option nil)
-
-  ;; Make the "comefrom links" case-insensitive.
-  (setq howm-keyword-case-fold-search t)
-
-  ;; Get rid of the old-fashioned separators.
-  (setq howm-view-summary-sep "\t")
-
-  ;; Where to store data.
-  (setq howm-directory "~/Documents/notes")
-  (setq howm-home-directory howm-directory)
-  :config
-  (custom-set-faces
-   '(howm-menu-list-face ((t (:foreground "#a9a9a9"))))
-   '(howm-reminder-normal-face ((t (:foreground "#ab82ff"))))
-   '(howm-reminder-today-face ((t (:background "#993333" :foreground "white"))))
-   '(howm-reminder-todo-face ((t (:foreground "#ffb90f"))))))
+  (use-package denote-org-extras
+    :ensure nil)
+  (use-package denote-journal-extras
+    :ensure nil)
+  :bind (("C-c n r" . denote-rename-file)
+	 ("C-c n t" . denote-journal-extras-new-or-existing-entry)
+	 ("C-c n n" . denote-subdirectory))
+  :custom
+  (denote-rename-buffer-mode 1)
+  (denote-journal-extras-directory (concat denote-directory "journal/" (format-time-string "%Y")))
+  (denote-file-type "org")
+  (denote-org-capture-specifiers "%i\n%?")
+  (denote-dired-directories (list denote-directory))
+  (denote-dired-directories-include-subdirectories t)
+  (denote-journal-extras-title-format 'day-date-month-year))
 
 (use-package org
   :hook
@@ -47,6 +35,8 @@
 
   :custom
   (org-directory "~/Documents/notes")
+  (org-default-notes-file (expand-file-name "tasks.org" org-directory))
+  (org-agenda-files '("tasks.org"))
   
   (org-startup-folded t)
   (org-startup-indented t)
@@ -56,6 +46,19 @@
   (org-enforce-todo-dependencies t)
   (org-enforce-todo-checkbox-dependencies t)
 
+  ;; quick access for todo states
+  (org-todo-keywords
+   '((sequence "TODO(t)" "NEXT(n)" "WAITING(w!)" "|" "DONE(d)")
+     (sequence "|" "CANCELLED(c)")))
+
+  (org-log-done 'time)
+  (org-log-into-drawer t)
+
+  ;; org-refile options
+  (org-refile-allow-creating-parent-nodes (quote confirm))
+  (org-refile-targets '(("tasks.org" :tag . "target")))
+  (org-refile-use-outline-path 'file)
+
   (org-hide-emphasis-markers t)
   (org-hide-leading-stars t)
   (org-pretty-entities t)
@@ -85,6 +88,27 @@
      ("q" . "quote")
      ("V" . "verbatim"))))
 
+(use-package org-capture
+  :ensure nil
+  :after org
+  :bind
+  ("C-c c" . org-capture)
+  :config
+  (setq org-capture-templates
+        `(("t" "Tasks" entry (file+olp "tasks.org" "Inbox")
+	   "* TODO %?\n%U" :prepend t :empty-lines 0)
+	  ("n" "note" plain (file denote-last-path) #'denote-org-capture
+           :no-save t :immediate-finish nil :kill-buffer t :jump-to-captured nil))))
+
+(use-package org-agenda
+  :ensure nil
+  :after org
+  :bind
+  ("C-c a" . org-agenda)
+  :custom
+  (org-agenda-hide-tags-regexp (regexp-opt '("target")))
+  (org-agenda-start-on-weekday 1))
+  
 (use-package org-auto-tangle
   :ensure t
   :hook (org-mode . org-auto-tangle-mode))