dotfiles

feels like ${HOME}
Log | Files | Refs | README

commit 9fbf6055d91b8f2a1ff0636f38c1a9f86dea1adc
parent cb491a4623714b77c1bf0f14efc612954f9d712a
Author: Yohanes Bandung Bondowoso <hi@ybbond.dev>
Date:   Wed, 21 Oct 2020 13:18:15 +0700

modify doom

Diffstat:
D.doom.d/+org.el | 177-------------------------------------------------------------------------------
D.doom.d/+plugins.el | 68--------------------------------------------------------------------
M.doom.d/config.el | 275+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------
D.doom.d/custom.el | 12------------
M.doom.d/init.el | 23+++++++++++------------
M.doom.d/packages.el | 7++-----

6 files changed, 241 insertions(+), 321 deletions(-)

diff --git a/.doom.d/+org.el b/.doom.d/+org.el
@@ -1,177 +0,0 @@
-;;; ~/.doom.d/+org.el -*- lexical-binding: t; -*-
-
-;; source https://github.com/theianjones/dotfiles/blob/master/.doom.d/+org.el
-
-(use-package! org-roam
-  :hook
-  (after-init . org-roam-mode))
-  (setq org_notes "~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/")
-
-(after! org-roam
-  (add-hook 'after-init-hook 'org-roam-mode)
-  :config
-  (setq org-roam-directory org_notes)
-  (setq org-roam-db-location "~/org/org-roam.db")
-  (setq org-roam-link-title-format "[[%s]]")
-  (setq org-roam-graph-viewer "/usr/bin/open")
-  (setq org-roam-capture-ref-templates
-        '(("r" "ref" plain (function org-roam-capture--get-point)
-           "%?"
-           :file-name "${slug}"
-           :head "#+title: ${title}
-#+author: ${author}
-#+roam_key: ${ref}
-#+roam_tags: web_references
-- saved :: ${savedDate}
-- source :: ${ref}
-
-* Highlights\n"
-           :immediate-finish t
-           :unnarrowed t
-           :config
-           (add-hook! 'after-init-hook 'org-roam-db-build-cache)))))
-
-  (setq org-roam-dailies-capture-templates
-    '(("d" "daily" plain (function org-roam-capture--get-point)
-      "%?"
-      :file-name "%<%Y-%m-%d>"
-      :immediate-finish t
-      :head "#+title: %<%A>, %<%d> %<%B> %<%Y>
-#+roam_tags: journals\n
-\n
-* %<%A>, %<%d> %<%B> %<%Y>"
-      :unnarrowed t)))
-
-  (setq org-roam-capture-templates
-        '(("d" "default" plain (function org-roam-capture--get-point)
-           "%?"
-           :file-name "%<%Y%m%d%H%M%S>-${slug}"
-           :head "#+title: ${title}\n"
-           :immediate-finish t
-           :unnarrowed t)
-          ("k" "kumparan" plain (function org-roam-capture--get-point)
-           "%?"
-           :file-name "%<%Y%m%d%H%M%S>-${slug}"
-           :head "#+title: ${title}
-#+roam_tags: kumparan
-- backlinks :: [[file:20200630143644-kumparan.org][kumparan]]"
-           :immediate-finish t
-           :unnarrowed t)
-          ("c" "companies" plain (function org-roam-capture--get-point)
-           "%?"
-           :file-name "%<%Y%m%d%H%M%S>-${slug}"
-           :head "#+title: ${title}
-#+roam_tags: companies\n"
-           :immediate-finish t
-           :unnarrowed t)
-          ("m" "medias" plain (function org-roam-capture--get-point)
-           "%?"
-           :file-name "%<%Y%m%d%H%M%S>-${slug}"
-           :head "#+title: ${title}
-#+roam_tags: medias\n"
-           :immediate-finish t
-           :unnarrowed t)
-          ("p" "products" plain (function org-roam-capture--get-point)
-           "%?"
-           :file-name "%<%Y%m%d%H%M%S>-${slug}"
-           :head "#+title: ${title}
-#+roam_tags: products\n"
-           :immediate-finish t
-           :unnarrowed t)
-          ("i" "people" plain (function org-roam-capture--get-point)
-           "%?"
-           :file-name "%<%Y%m%d%H%M%S>-${slug}"
-           :head "#+title: ${title}
-#+roam_tags: people\n"
-           :immediate-finish t
-           :unnarrowed t)))
-
-(use-package! deft
-  :after org
-  :config
-  (setq deft-recursive t)
-  (setq deft-use-filter-string-for-filename t)
-  (setq deft-default-extension "org")
-  (setq deft-incremental-search t)
-  (setq deft-directory org_notes)
-  (add-hook 'after-init-hook 'org-roam-db-build-cache)
-  :bind
-  ("s-d" . deft))
-
-(use-package! org-journal
-  :bind
-  ("C-c n j" . org-journal-new-entry)
-  ("C-c b" . org-journal-previous-entry)
-  ("C-c f" . org-journal-next-entry)
-  :config
-  (setq org-journal-dir org_notes
-        org-journal-date-prefix "#+title: "
-        org-journal-file-format "%Y-%m-%d.org"
-        org-journal-date-format "%A, %d %B %Y\n#+roam_tags: journals\n"))
-
-(after! org
-  :init
-  (require 'find-lisp)
-  (setq org-agenda-files (find-lisp-find-files org_notes "tasks\.org$"))
-  (setq org-agenda-start-with-log-mode '(state))
-  (setq org-agenda-start-day "-9d")
-  (map! :map org-mode-map
-        :n "M-j" #'org-metadown
-        :n "M-k" #'orge-metaup)
-  :config
-  (setq org-directory org_notes
-        org-ellipsis " ▼ "
-        org-id-link-to-org-use-id nil
-        org-pretty-entities t
-        org-log-done 'note
-        org-log-into-drawer t
-        org-log-refile t
-        org-src-fontify-natively t
-        org-hide-emphasis-markers t)
-  (setq org-todo-keywords
-        '((sequence "TODO(t!)" "INPROGRESS(p!)" "INTEST(i!)" "FEEDBACK(f!)" "HOLD(h!)" "|" "MERGED(m!)" "DONE(d@/!)" "CANCELLED(c!)")
-          (sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)")))
-  (setq org-todo-keyword-faces
-        '(("TODO" :foreground "ffff00" :weight normal :underline t)
-          ("INPROGRESS" :foreground "#e39ff6" :weight normal :underline t)
-          ("INTEST" :foreground "#0098dd" :weight normal :underline t)
-          ("FEEDBACK" :foreground "#0098ee" :weight normal :underline t)
-          ("HOLD" :foreground "#9f7efe" :weight normal :underline t)
-          ("MERGED" :foreground "#50a14f" :weight normal :underline t)
-          ("DONE" :foreground "#50a14f" :weight bold :underline t)
-          ("CANCELLED" :foreground "#ff6480" :weight normal :underline t)
-          ("[-]" :foreground "#e39ff6" :weight bold)
-          ("[?]" :foreground "#9f7efe" :weight bold))))
-
-(use-package! org-roam-server
-  :config
-  (setq org-roam-server-host "127.0.0.1"
-        org-roam-server-port 3001
-        org-roam-server-export-inline-images t
-        org-roam-server-authenticate nil
-        org-roam-server-network-poll t
-        org-roam-server-network-arrows nil
-        org-roam-server-network-label-truncate t
-        org-roam-server-network-label-truncate-length 60
-        org-roam-server-network-label-wrap-length 20))
-
-;; (add-hook 'org-roam-server-mode (lambda () (browse-url-chrome "http://localhost:3001")))
-
-;; Refile a heading to another buffer
-;; Allows you to refile into different files - specifically to
-;; create new 'parent' headings
-(setq org-refile-use-outline-path 'file)
-;; makes org-refile outline working with helm/ivy
-(setq org-outline-path-complete-in-steps nil)
-(setq org-refile-allow-creating-parent-nodes 'confirm)
-(defun +org/opened-buffer-files ()
-;;   "Return the list of files currently opened in emacs"
-  (delq nil
-        (mapcar (lambda (x)
-                  (if (and (buffer-file-name x)
-                           (string-match "\\.org$"
-                                         (buffer-file-name x)))
-                      (buffer-file-name x)))
-                (buffer-list))))
-
-(setq org-refile-targets '((+org/opened-buffer-files :maxlevel . 9)))
diff --git a/.doom.d/+plugins.el b/.doom.d/+plugins.el
@@ -1,68 +0,0 @@
-;;; ~/.doom.d/+ui.el -*- lexical-binding: t; -*-
-
-;; source https://github.com/theianjones/dotfiles/blob/master/.doom.d/+ui.el
-
-
-;; General Configurations
-(use-package! general
-  :config
-  (general-evil-setup))
-
-;; Evil Configurations
-(use-package! evil
-  :init
-  (general-setq evil-disable-insert-state-bindings t)
-  :general
-  ([remap evil-emacs-state] 'evil-normal-state)
-  (general-imap "C-f" 'delete-forward-char))
-;; replaced by evil-better-visual-line
-;; (setq evil-want-minibuffer t)
-
-;; Better visual line
-;; (use-package! evil-better-visual-line
-;;   :config
-;;   (evil-better-visual-line-on))
-
-;; Snipe
-(after! evil-snipe
-  (setq evil-snipe-smart-case t)
-  (setq evil-snipe-scope 'whole-buffer)
-  (setq evil-snipe-auto-scroll t)
-  (setq evil-snipe-repeat-keys t)
-  (setq evil-snipe-repeat-scope 'whole-buffer))
-
-;; Ivy
-(map! :after ivy
-  :map ivy-minibuffer-map
-  "S-SPC" nil
-  "C-SPC" 'ivy-restrict-to-matches)
-
-;; Dired
-(after! dired
-  ;; (setq dired-listing-switches "-aBhl --group-directories-first"
-  (setq dired-listing-switches "-aBhl"
-        dired-dwim-target t
-        dired-recursive-copies (quote always)
-        dired-recursive-deletes (quote top)))
-
-;; Better Copy-Paste and Clipboard Handling
-;; Disable Emacs' integration of killring with clipboard
-(setq select-enable-clipboard nil)
-;; Remove hook for clipboard configurations from Emacs to command mode
-(remove-hook 'tty-setup-hook 'doom-init-clipboard-in-tty-emacs-h)
-;; Enable ⌘+c and ⌘+v for clipboard handling
-(defun rc-clipboard-yank ()
-  "Copies the active region to the system clipboard."
-  (interactive)
-  (when (region-active-p)
-    (gui-set-selection 'CLIPBOARD
-      (buffer-substring (region-beginning) (region-end)))))
-(defun rc-clipboard-paste ()
-  "Pastes text from the system clipboard."
-  (interactive)
-  (let ((text (gui-get-selection 'CLIPBOARD)))
-    (when text (insert-for-yank text))))
-(map! :v "s-c" #'rc-clipboard-yank
-      :nvi "s-v" #'rc-clipboard-paste)
-(define-key! :keymaps '(evil-ex-completion-map) "s-v" #'rc-clipboard-paste)
-(define-key! :keymaps +default-minibuffer-maps "s-v" #'rc-clipboard-paste)
diff --git a/.doom.d/config.el b/.doom.d/config.el
@@ -1,18 +1,11 @@
 ;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
 
-;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
-;; are the three important ones:
-;;
-;; + `doom-font'
-;; + `doom-variable-pitch-font'
-;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for
-;;   presentations or streaming.
-;;
-;; 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 "monospace" :size 12 :weight 'semi-light)
-;;       doom-variable-pitch-font (font-spec :family "sans" :size 13))
+;; Place your private configuration here! Remember, you do not need to run 'doom
+;; sync' after modifying this file!
 
+
+;; Some functionality uses this to identify you, e.g. GPG configuration, email
+;; clients, file templates and snippets.
 (setq user-full-name "Yohanes Bandung Bondowoso"
       user-mail-address "hi@ybbond.dev")
 
@@ -26,49 +19,237 @@
 ;;
 ;; 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 "IBM Plex Mono" :size 14))
-
-;; (use-package mixed-pitch
-;;   :hook
-;;   ;; If you want it in all text modes:
-;;   (text-mode . mixed-pitch-mode))
-
-;; There are two ways to load a theme. Both assume the theme is installed and
-;; available. You can either set `doom-theme' or manually load a theme with the
-;; `load-theme' function. This is the default:
-;; light theme: white
+;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light)
+;;       doom-variable-pitch-font (font-spec :family "sans" :size 13))
 
 (setq doom-theme 'doom-gruvbox)
-(setq doom-incremental-load-immediately nil)
 
 (setq display-line-numbers-type 'relative)
-
 (setq whitespace-action '(auto-cleanup))
-
 (setq savehist-mode -1)
 
-;; Here are some additional functions/macros that could help you configure Doom:
-;;
-;; - `load!' for loading external *.el files relative to this one
-;; - `use-package!' for configuring packages
-;; - `after!' for running code after a package has loaded
-;; - `add-load-path!' for adding directories to the `load-path', relative to
-;;   this file. Emacs searches the `load-path' when you load packages with
-;;   `require' or `use-package'.
-;; - `map!' for binding new keys
-;;
-;; To get information about any of these functions/macros, move the cursor over
-;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
-;; This will open documentation for it, including demos of how they are used.
-;;
-;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
-;; they are implemented.
+(setq company-idle-delay nil)
+
+(setq org_dir "~/Dropbox/org/")
+(setq org-adapt-indentation nil)
 
-;; (define-key! evil-normal-state-map (kbd "M-S-l") 'enlarge-window-horizontally)
-;; (define-key! evil-normal-state-map (kbd "M-S-h") 'shrink-window-horizontally)
-(global-set-key (kbd "s-l") 'org-roam-find-file)
 (global-set-key (kbd "s-b") 'ivy-switch-buffer)
 (global-set-key (kbd "s-K") 'kill-buffer)
+(global-set-key (kbd "s-l") 'org-roam-find-file)
+
+;; Better Copy-Paste and Clipboard Handling
+;; Disable Emacs' integration of killring with clipboard
+(setq select-enable-clipboard nil)
+;; Remove hook for clipboard configurations from Emacs to command mode
+(remove-hook 'tty-setup-hook 'doom-init-clipboard-in-tty-emacs-h)
+;; Enable ⌘+c and ⌘+v for clipboard handling
+(defun rc-clipboard-yank ()
+  "Copies the active region to the system clipboard."
+  (interactive)
+  (when (region-active-p)
+    (gui-set-selection 'CLIPBOARD
+      (buffer-substring (region-beginning) (region-end)))))
+(defun rc-clipboard-paste ()
+  "Pastes text from the system clipboard."
+  (interactive)
+  (let ((text (gui-get-selection 'CLIPBOARD)))
+    (when text (insert-for-yank text))))
+(map! :v "s-c" #'rc-clipboard-yank
+      :nvi "s-v" #'rc-clipboard-paste)
+(define-key! :keymaps '(evil-ex-completion-map) "s-v" #'rc-clipboard-paste)
+(define-key! :keymaps +default-minibuffer-maps "s-v" #'rc-clipboard-paste)
+
+;; General Configurations
+;; (use-package! general
+;;   :config
+;;   (general-evil-setup))
+
+;; Evil
+(use-package! evil
+  :init
+  (setq evil-move-cursor-back nil)
+  ;; (setq evil-respect-visual-line-mode t)
+  (setq evil-kill-on-visual-paste nil)
+  (setq evil-disable-insert-state-bindings t))
+  ;; :general
+  ;; ([remap evil-emacs-state] 'evil-normal-state)
+  ;; (general-nmap "j" 'evil-next-visual-line)
+  ;; (general-nmap "k" 'evil-previous-visual-line)
+  ;; (general-nmap "gj" 'evil-next-line)
+  ;; (general-nmap "gk" 'evil-previous-line)
+  ;; (general-imap "C-f" 'delete-forward-char))
+(map! :after evil
+      :map evil-normal-state-map
+      "C-z" 'evil-normal-state
+      "j" 'evil-next-visual-line
+      "k" 'evil-previous-visual-line
+      "gj" 'evil-next-line
+      "gk" 'evil-previous-line
+      :map evil-insert-state-map
+      "C-f" 'delete-forward-char
+      "C-z" 'evil-normal-state)
+
+;; Snipe
+(after! evil-snipe
+  (setq evil-snipe-smart-case t)
+  (setq evil-snipe-scope 'whole-buffer)
+  (setq evil-snipe-auto-scroll t)
+  (setq evil-snipe-repeat-keys t)
+  (setq evil-snipe-repeat-scope 'whole-buffer))
+
+;; Ivy
+(map! :after ivy
+  :map ivy-minibuffer-map
+  "S-SPC" nil
+  "C-SPC" 'ivy-restrict-to-matches)
+
+;; Dired
+(after! dired
+  ;; (setq dired-listing-switches "-aBhl --group-directories-first"
+  (setq dired-listing-switches "-aBhl"
+        dired-dwim-target t
+        dired-recursive-copies (quote always)
+        dired-recursive-deletes (quote top)))
+
+;; Deft
+(use-package! deft
+  :after org
+  :config
+  (setq deft-recursive t)
+  ;; (setq deft-use-filter-string-for-filename t)
+  (setq deft-default-extension "org")
+  (setq deft-incremental-search t)
+  (setq deft-directory org_dir)
+  (add-hook 'after-init-hook 'org-roam-db-build-cache)
+  :bind
+  ("s-d" . deft))
+
+;; Org-roam
+(use-package! org-roam
+  :hook
+  (after-init . org-roam-mode))
+(after! org-roam
+  (add-hook 'after-init-hook 'org-roam-mode)
+  :config
+  (setq org-roam-directory org_dir)
+  (setq org-roam-db-location "~/org/org-roam.db")
+  (setq org-roam-link-title-format "[[%s]]")
+  (set-company-backend! 'org-mode '(company-capf))
+
+  (setq org-roam-dailies-capture-templates
+    '(("d" "daily" plain (function org-roam-capture--get-point)
+      "%?"
+      :file-name "%<%Y-%m-%d>"
+      :immediate-finish t
+      :head "#+title: %<%A>, %<%d> %<%B> %<%Y>
+#+roam_tags: journals\n
+\n
+* %<%A>, %<%d> %<%B> %<%Y>"
+      :unnarrowed t)))
+
+  (setq org-roam-capture-templates
+        '(("d" "default" plain (function org-roam-capture--get-point)
+           "%?"
+           :file-name "%<%Y%m%d%H%M%S>-${slug}"
+           :head "#+title: ${title}\n"
+           :immediate-finish t
+           :unnarrowed t)
+          ("k" "kumparan" plain (function org-roam-capture--get-point)
+           "%?"
+           :file-name "%<%Y%m%d%H%M%S>-${slug}"
+           :head "#+title: ${title}
+#+roam_tags: kumparan
+- backlinks :: [[file:20200630143644-kumparan.org][kumparan]]"
+           :immediate-finish t
+           :unnarrowed t)
+          ("c" "companies" plain (function org-roam-capture--get-point)
+           "%?"
+           :file-name "%<%Y%m%d%H%M%S>-${slug}"
+           :head "#+title: ${title}
+#+roam_tags: companies\n"
+           :immediate-finish t
+           :unnarrowed t)
+          ("m" "medias" plain (function org-roam-capture--get-point)
+           "%?"
+           :file-name "%<%Y%m%d%H%M%S>-${slug}"
+           :head "#+title: ${title}
+#+roam_tags: medias\n"
+           :immediate-finish t
+           :unnarrowed t)
+          ("p" "products" plain (function org-roam-capture--get-point)
+           "%?"
+           :file-name "%<%Y%m%d%H%M%S>-${slug}"
+           :head "#+title: ${title}
+#+roam_tags: products\n"
+           :immediate-finish t
+           :unnarrowed t)
+          ("i" "people" plain (function org-roam-capture--get-point)
+           "%?"
+           :file-name "%<%Y%m%d%H%M%S>-${slug}"
+           :head "#+title: ${title}
+#+roam_tags: people\n"
+           :immediate-finish t
+           :unnarrowed t))))
+
+;; Org-journal
+(use-package! org-journal
+  :bind
+  ("C-c j" . org-journal-new-entry)
+  ("C-c b" . org-journal-previous-entry)
+  ("C-c f" . org-journal-next-entry)
+  :config
+  (setq org-journal-dir org_dir
+        org-journal-date-prefix "#+title: "
+        org-journal-file-format "%Y-%m-%d.org"
+        org-journal-date-format "%A, %d %B %Y\n"))
 
-(load! "+plugins")
-(load! "+org")
+;; Org-mode
+(after! org
+  :init
+  (require 'find-lisp)
+  (setq org-agenda-files (find-lisp-find-files org_dir "tasks\.org$"))
+  (setq org-agenda-start-with-log-mode '(state))
+  (setq org-agenda-start-day "-9d")
+  (map! :map org-mode-map
+        :n "gj" #'evil-next-line
+        :n "gk" #'evil-previous-line
+        :n "M-j" #'org-metadown
+        :n "M-k" #'org-metaup
+        :n "C-s-r" #'org-roam-insert
+        :i "C-s-r" #'org-roam-insert
+        :n "s-r" #'org-roam-buffer-toggle-display
+        :i "s-r" #'org-roam-buffer-toggle-display)
+  :config
+  (setq org-directory org_dir
+        org-ellipsis " ▼ "
+        org-id-link-to-org-use-id nil
+        org-pretty-entities t
+        org-log-done 'note
+        org-log-into-drawer t
+        org-log-refile t
+        org-src-fontify-natively t
+        org-hide-emphasis-markers t)
+  (setq org-todo-keywords
+        '((sequence "TODO(t!)" "INPROGRESS(p!)" "INTEST(i!)" "FEEDBACK(f!)" "HOLD(h!)" "|" "MERGED(m!)" "DONE(d@/!)" "CANCELLED(c!)")
+          (sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)")))
+  (setq org-todo-keyword-faces
+        '(("TODO" :foreground "ffff00" :weight normal :underline t)
+          ("INPROGRESS" :foreground "#e39ff6" :weight normal :underline t)
+          ("INTEST" :foreground "#0098dd" :weight normal :underline t)
+          ("FEEDBACK" :foreground "#0098ee" :weight normal :underline t)
+          ("HOLD" :foreground "#9f7efe" :weight normal :underline t)
+          ("MERGED" :foreground "#50a14f" :weight normal :underline t)
+          ("DONE" :foreground "#50a14f" :weight bold :underline t)
+          ("CANCELLED" :foreground "#ff6480" :weight normal :underline t)
+          ("[-]" :foreground "#e39ff6" :weight bold)
+          ("[?]" :foreground "#9f7efe" :weight bold)))
+  (setq org-roam-dailies-capture-templates
+    '(("d" "daily" plain (function org-roam-capture--get-point)
+      "%?"
+      :file-name "%<%Y-%m-%d>"
+      :immediate-finish t
+      :head "#+title: %<%A>, %<%d> %<%B> %<%Y>
+#+roam_tags: journals\n
+\n
+* %<%A>, %<%d> %<%B> %<%Y>"
+      :unnarrowed t))))
diff --git a/.doom.d/custom.el b/.doom.d/custom.el
@@ -1,12 +0,0 @@
-(custom-set-variables
- ;; custom-set-variables was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- '(package-selected-packages (quote (org-roam-server evil-better-visual-line))))
-(custom-set-faces
- ;; custom-set-faces was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- )
diff --git a/.doom.d/init.el b/.doom.d/init.el
@@ -17,12 +17,13 @@
 (doom! :input
        ;;chinese
        ;;japanese
+       ;;layout            ; auie,ctsrnm is the superior home row
 
        :completion
        (company +childframe)           ; the ultimate code completion backend
        ;;helm              ; the *other* search engine for love and life
        ;;ido               ; the other *other* search engine...
-       (ivy +fuzzy)               ; a search engine for love and life
+       ivy               ; a search engine for love and life
 
        :ui
        deft              ; notational velocity for Emacs
@@ -33,14 +34,14 @@
        hl-todo           ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
        ;;hydra
        ;;indent-guides     ; highlighted indent columns
+       ;;ligatures         ; ligatures and symbols to make your code pretty again
        ;;minimap           ; show a map of the code on the side
        modeline          ; snazzy, Atom-inspired modeline, plus API
        ;;nav-flash         ; blink cursor line after big motions
        ;;neotree           ; a project drawer, like NERDTree for vim
        ophints           ; highlight the region an operation acts on
        (popup +defaults)   ; tame sudden yet inevitable temporary windows
-       ;;pretty-code       ; ligatures or substitute text with pretty symbols
-       ;;tabs              ; an tab bar for Emacs
+       ;;tabs              ; a tab bar for Emacs
        ;;treemacs          ; a project drawer, like neotree but cooler
        ;;unicode           ; extended unicode support for various languages
        vc-gutter         ; vcs diff in the fringe
@@ -92,7 +93,6 @@
        ;;gist              ; interacting with github gists
        lookup              ; navigate your code and its documentation
        ;;lsp
-       macos             ; MacOS-specific commands
        magit             ; a git porcelain for Emacs
        ;;make              ; run make tasks from Emacs
        ;;pass              ; password manager for nerds
@@ -104,6 +104,10 @@
        ;;tmux              ; an API for interacting with tmux
        ;;upload            ; map local to remote projects via ssh/ftp
 
+       :os
+       (:if IS-MAC macos)  ; improve compatibility with macOS
+       ;;tty               ; improve the terminal Emacs experience
+
        :lang
        ;;agda              ; types of types of types of types...
        ;;cc                ; C/C++/Obj-C madness
@@ -120,7 +124,7 @@
        ;;erlang            ; an elegant language for a more civilized age
        ;;ess               ; emacs speaks statistics
        ;;faust             ; dsp, but you get to keep your soul
-       ;;fsharp           ; ML stands for Microsoft's Language
+       ;;fsharp            ; ML stands for Microsoft's Language
        ;;fstar             ; (dependent) types and (monadic) effects and Z3
        ;;gdscript          ; the language you waited for
        ;;(go +lsp)         ; the hipster dialect
@@ -141,7 +145,7 @@
        ;;nim               ; python + lisp at the speed of c
        ;;nix               ; I hereby declare "nix geht mehr!"
        ;;ocaml             ; an objective camel
-       (org +journal +roam)               ; organize your plain life in plain text
+       (org +journal)               ; organize your plain life in plain text
        ;;php               ; perl's insecure younger brother
        ;;plantuml          ; diagrams for confusing people more
        ;;purescript        ; javascript, but functional
@@ -155,7 +159,7 @@
        ;;rust              ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
        ;;scala             ; java, but good
        ;;scheme            ; a fully conniving family of lisps
-       ;; sh               ; she sells {ba,z,fi}sh shells on the C xor
+       sh                ; she sells {ba,z,fi}sh shells on the C xor
        ;;sml
        ;;solidity          ; do you need a blockchain? No.
        ;;swift             ; who asked for emoji variables?
@@ -177,8 +181,3 @@
        :config
        ;;literate
        (default +bindings +smartparens))
-
-  (setq evil-move-cursor-back nil)
-  (setq evil-esc-delay 1)
-  (setq evil-respect-visual-line-mode t)
-  (setq evil-kill-on-visual-paste nil)
diff --git a/.doom.d/packages.el b/.doom.d/packages.el
@@ -49,8 +49,5 @@
 ;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
 ;(unpin! t)
 
-(package! evil-better-visual-line)
-(package! general)
-(package! org-journal)
-(package! org-roam-server
-  :recipe (:host github :repo "org-roam/org-roam-server"))
+(package! org-roam
+  :recipe (:host github :repo "org-roam/org-roam"))