diff --git a/emacs/.config/doom/.authinfo.gpg b/emacs/.config/doom/.authinfo.gpg
new file mode 100644
index 0000000..f02d496
--- /dev/null
+++ b/emacs/.config/doom/.authinfo.gpg
@@ -0,0 +1 @@
+Œ
ì¸p^Žúß#ÿÒŠ0[™ôD<¥¤> `&žzòúœ’²ÄîmôÅ”`Å.B¤$k=~¿,lŽó¦Ë&ó<n°ü¥È½à«Å¨ŒŽ‡A0¬?²Šêë—“d °·•�xû< ]„sqÃý Lí�²6[A?R=8»€w)ìµÖ°æ†e÷Œh1™q²ÅWïií¾J¾‰
\ No newline at end of file
diff --git a/emacs/.config/doom/config.org b/emacs/.config/doom/config.org
index 45e198e..d54dfaf 100644
--- a/emacs/.config/doom/config.org
+++ b/emacs/.config/doom/config.org
@@ -12,10 +12,14 @@
 
 * Table of Contents :toc:
 - [[#config-file-headers][Config File Headers]]
+  - [[#initel][init.el]]
+  - [[#packagesel][packages.el]]
+  - [[#configel][config.el]]
 - [[#doom-modules][Doom Modules]]
 - [[#general-configuration][General Configuration]]
   - [[#user-information][User Information]]
   - [[#visual-settings][Visual Settings]]
+  - [[#authentication][Authentication]]
 - [[#multilanguage-spellcheck][Multilanguage Spellcheck]]
 - [[#latex][LaTeX]]
   - [[#set-pdf-viewer][Set PDF Viewer]]
@@ -23,10 +27,13 @@
 - [[#org-mode][Org Mode]]
   - [[#default-location][Default Location]]
   - [[#enable-header-numbering][Enable Header Numbering]]
+  - [[#setup][Setup]]
+  - [[#caldav-sync][CalDAV Sync]]
+  - [[#org-roam][Org Roam]]
 
 * 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.
-
+** init.el
 #+html: <details><summary>init.el</summary>
 #+begin_src emacs-lisp :tangle init.el
 ;;; 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
 #+html: </details>
 
+** packages.el
 #+html: <details><summary>packages.el</summary>
 #+begin_src emacs-lisp :tangle packages.el
 ;; -*- no-byte-compile: t; -*-
@@ -110,6 +118,7 @@ We start by simply defining the standard headers used by the three files. These
 #+end_src
 #+html: </details>
 
+** config.el
 #+html: <details><summary>config.el</summary>
 #+begin_src emacs-lisp :tangle config.el
 ;;; $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
        ;;nix               ; I hereby declare "nix geht mehr!"
        ;;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
        ;;plantuml          ; diagrams for confusing people more
        ;;purescript        ; javascript, but functional
@@ -343,7 +352,7 @@ We start by simply defining the standard headers used by the three files. These
        ;;(wanderlust +gmail)
 
        :app
-       ;;calendar
+       calendar
        ;;emms
        ;;everywhere        ; *leave* Emacs!? You must be joking
        ;;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))
 #+end_src
 
-#+RESULTS:
-
 * General Configuration
 ** User Information
 #+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)
 #+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
 Enables use of multiple dictionaries. In my case German and English
 #+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
 (setq org-startup-numerated t)
 #+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
