basic org-roam and org-caldav implementation for testing
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
Œ
|
||||||
@@ -12,10 +12,14 @@
|
|||||||
|
|
||||||
* Table of Contents :toc:
|
* Table of Contents :toc:
|
||||||
- [[#config-file-headers][Config File Headers]]
|
- [[#config-file-headers][Config File Headers]]
|
||||||
|
- [[#initel][init.el]]
|
||||||
|
- [[#packagesel][packages.el]]
|
||||||
|
- [[#configel][config.el]]
|
||||||
- [[#doom-modules][Doom Modules]]
|
- [[#doom-modules][Doom Modules]]
|
||||||
- [[#general-configuration][General Configuration]]
|
- [[#general-configuration][General Configuration]]
|
||||||
- [[#user-information][User Information]]
|
- [[#user-information][User Information]]
|
||||||
- [[#visual-settings][Visual Settings]]
|
- [[#visual-settings][Visual Settings]]
|
||||||
|
- [[#authentication][Authentication]]
|
||||||
- [[#multilanguage-spellcheck][Multilanguage Spellcheck]]
|
- [[#multilanguage-spellcheck][Multilanguage Spellcheck]]
|
||||||
- [[#latex][LaTeX]]
|
- [[#latex][LaTeX]]
|
||||||
- [[#set-pdf-viewer][Set PDF Viewer]]
|
- [[#set-pdf-viewer][Set PDF Viewer]]
|
||||||
@@ -23,10 +27,13 @@
|
|||||||
- [[#org-mode][Org Mode]]
|
- [[#org-mode][Org Mode]]
|
||||||
- [[#default-location][Default Location]]
|
- [[#default-location][Default Location]]
|
||||||
- [[#enable-header-numbering][Enable Header Numbering]]
|
- [[#enable-header-numbering][Enable Header Numbering]]
|
||||||
|
- [[#setup][Setup]]
|
||||||
|
- [[#caldav-sync][CalDAV Sync]]
|
||||||
|
- [[#org-roam][Org Roam]]
|
||||||
|
|
||||||
* Config File Headers
|
* Config File Headers
|
||||||
We start by simply defining the standard headers used by the three files. These headers come from the initial files generated by =doom install=, and contain either some Emacs-LISP relevant indicators like =lexical-binding=, or instructions about the contents of the file.
|
We start by simply defining the standard headers used by the three files. These headers come from the initial files generated by =doom install=, and contain either some Emacs-LISP relevant indicators like =lexical-binding=, or instructions about the contents of the file.
|
||||||
|
** init.el
|
||||||
#+html: <details><summary>init.el</summary>
|
#+html: <details><summary>init.el</summary>
|
||||||
#+begin_src emacs-lisp :tangle init.el
|
#+begin_src emacs-lisp :tangle init.el
|
||||||
;;; init.el -*- lexical-binding: t; -*-
|
;;; init.el -*- lexical-binding: t; -*-
|
||||||
@@ -52,6 +59,7 @@ We start by simply defining the standard headers used by the three files. These
|
|||||||
#+end_src
|
#+end_src
|
||||||
#+html: </details>
|
#+html: </details>
|
||||||
|
|
||||||
|
** packages.el
|
||||||
#+html: <details><summary>packages.el</summary>
|
#+html: <details><summary>packages.el</summary>
|
||||||
#+begin_src emacs-lisp :tangle packages.el
|
#+begin_src emacs-lisp :tangle packages.el
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
@@ -110,6 +118,7 @@ We start by simply defining the standard headers used by the three files. These
|
|||||||
#+end_src
|
#+end_src
|
||||||
#+html: </details>
|
#+html: </details>
|
||||||
|
|
||||||
|
** config.el
|
||||||
#+html: <details><summary>config.el</summary>
|
#+html: <details><summary>config.el</summary>
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
||||||
@@ -314,7 +323,7 @@ We start by simply defining the standard headers used by the three files. These
|
|||||||
;;nim ; python + lisp at the speed of c
|
;;nim ; python + lisp at the speed of c
|
||||||
;;nix ; I hereby declare "nix geht mehr!"
|
;;nix ; I hereby declare "nix geht mehr!"
|
||||||
;;ocaml ; an objective camel
|
;;ocaml ; an objective camel
|
||||||
org ; organize your plain life in plain text
|
(org +roam2) ; 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
|
;;plantuml ; diagrams for confusing people more
|
||||||
;;purescript ; javascript, but functional
|
;;purescript ; javascript, but functional
|
||||||
@@ -343,7 +352,7 @@ We start by simply defining the standard headers used by the three files. These
|
|||||||
;;(wanderlust +gmail)
|
;;(wanderlust +gmail)
|
||||||
|
|
||||||
:app
|
:app
|
||||||
;;calendar
|
calendar
|
||||||
;;emms
|
;;emms
|
||||||
;;everywhere ; *leave* Emacs!? You must be joking
|
;;everywhere ; *leave* Emacs!? You must be joking
|
||||||
;;irc ; how neckbeards socialize
|
;;irc ; how neckbeards socialize
|
||||||
@@ -355,8 +364,6 @@ We start by simply defining the standard headers used by the three files. These
|
|||||||
(default +bindings +smartparens))
|
(default +bindings +smartparens))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+RESULTS:
|
|
||||||
|
|
||||||
* General Configuration
|
* General Configuration
|
||||||
** User Information
|
** User Information
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
@@ -389,6 +396,12 @@ Until I get used to the [[https://github.com/Greduan/emacs-theme-gruvbox][evil-s
|
|||||||
(setq display-line-numbers-type 'relative)
|
(setq display-line-numbers-type 'relative)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Authentication
|
||||||
|
Authentication information will be stored in a encrypted file that is part of my dotfiles
|
||||||
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
|
(setq auth-sources
|
||||||
|
'((:source "~/.config/doom/.authinfo.gpg")))
|
||||||
|
#+end_src
|
||||||
* Multilanguage Spellcheck
|
* Multilanguage Spellcheck
|
||||||
Enables use of multiple dictionaries. In my case German and English
|
Enables use of multiple dictionaries. In my case German and English
|
||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
@@ -427,3 +440,52 @@ This function could also become useful if we ever want to extend the compile com
|
|||||||
#+begin_src emacs-lisp :tangle config.el
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
(setq org-startup-numerated t)
|
(setq org-startup-numerated t)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** ToDo Setup
|
||||||
|
*** Progress States
|
||||||
|
To get a more nuanced overview of my current TODOs I add more progress states.
|
||||||
|
| | TODO | BLOCKED | IN_PROGRESS | REVIEW | TESTING | | DONE | DELEGATED | CANCELED |
|
||||||
|
|------------+------+---------+-------------+--------+---------+---+------+-----------+----------|
|
||||||
|
| Access Key | t | b | i | r | t | | d | | c |
|
||||||
|
| Log Type | time | note | time | note | note | | time | note | note |
|
||||||
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
|
(setq org-todo-keywords
|
||||||
|
'((sequence "TODO(t!)" "IN_PROGRESS(i!)" "BLOCKED(b@)" "REVIEW(r@)" "TESTING(t@)" "|" "DONE(d!)" "DELEGATED(!)" "CANCELED(c@)")))
|
||||||
|
#+end_src
|
||||||
|
** CalDAV Sync
|
||||||
|
[[https://github.com/dengste/org-caldav][org-caldav]] provides a tool for syncing with a CalDAV server (in my case Nextcloud).
|
||||||
|
A lot of the config is also taken from [[https://www.reddit.com/r/orgmode/comments/8rl8ep/comment/e0sb5j0/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button][this]] reddit post.
|
||||||
|
*** org-caldav installation
|
||||||
|
#+begin_src emacs-lisp :tangle packages.el
|
||||||
|
(package! org-caldav)
|
||||||
|
#+end_src
|
||||||
|
*** configure calendars
|
||||||
|
add the calendars to the org-caldav config
|
||||||
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
|
(after! org-caldav
|
||||||
|
(setq org-caldav-url "https://cloud.ploedige.com/remote.php/dav/calendars/paul-loedige")
|
||||||
|
(setq org-caldav-calendars
|
||||||
|
'((:calendar-id "org-test" :files ("~/org/calendars/org_test.org")
|
||||||
|
:inbox "~/org/calendars/org_test.org"))))
|
||||||
|
#+end_src
|
||||||
|
and add them to the org agenda as well
|
||||||
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
|
(after! org
|
||||||
|
(setq org-agenda-files '("~/org/calendars")))
|
||||||
|
#+end_src
|
||||||
|
*** enable TODOs
|
||||||
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
|
(after! org-caldav
|
||||||
|
(setq org-icalendar-include-todo 'all
|
||||||
|
org-caldav-sync-todo t))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Org Roam
|
||||||
|
*** set base directory
|
||||||
|
Both the org files themselves and the database should be located in the same directory to enable syncing via Nextcloud
|
||||||
|
#+begin_src emacs-lisp :tangle config.el
|
||||||
|
(after! org
|
||||||
|
(setq org-roam-directory (file-truename "~/org/org-roam"))
|
||||||
|
(setq org-roam-db-location "~/org/org-roam/org-roam.db")
|
||||||
|
(org-roam-db-autosync-mode))
|
||||||
|
#+end_src
|
||||||
|
|||||||
Reference in New Issue
Block a user