this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

mac updates

+529 -321
+10 -295
doom-config/config.el
··· 3 3 ;; Place your private configuration here! Remember, you do not need to run 'doom 4 4 ;; sync' after modifying this file! 5 5 6 - 7 - ;; Some functionality uses this to identify you, e.g. GPG configuration, email 8 - ;; clients, file templates and snippets. 9 - (setq user-full-name "Kaushik Chakraborty" 10 - user-mail-address (if (string-equal system-type "darwin") "kaushik.chakraborty3@cognizant.com" "git@kaushikc.org")) 6 + (load! "configs/base.el") 7 + (load! "configs/ui.el") 8 + (load! "configs/theme.el") 9 + (load! "configs/font.el") 10 + (load! "configs/extra-packages.el") 11 + (load! "configs/org-config.el") 12 + (load! "configs/projects.el") 13 + (load! "configs/js.el") 14 + (load! "configs/haskell.el") 11 15 12 - ;; Doom exposes five (optional) variables for controlling fonts in Doom. Here 13 - ;; are the three important ones: 14 - ;; 15 - ;; + `doom-font' 16 - ;; + `doom-variable-pitch-font' 17 - ;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for 18 - ;; presentations or streaming. 19 - ;; 20 - ;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd 21 - ;; font string. You generally only need these two: 22 - (setq doom-font (font-spec :family "JetBrains Mono" :size 28)) 23 - 24 - ;; There are two ways to load a theme. Both assume the theme is installed and 25 - ;; available. You can either set `doom-theme' or manually load a theme with the 26 - ;; `load-theme' function. This is the default: 27 - (setq doom-theme 'doom-one) 28 - 29 - (setq-default indent-tabs-mode nil) 30 - (setq-default tab-width 2) 31 - (setq indent-line-function 'insert-tab) 32 - 33 - 34 - (add-to-list 'default-frame-alist '(inhibit-double-buffering . t)) 35 - (add-to-list 'default-frame-alist '(fullscreen . maximized)) 36 - 37 - 38 - (setq evil-split-window-below t 39 - evil-vsplit-window-right t) 40 - 41 - 42 - ;; If you use `org' and don't want your org files in the default location below, 43 - ;; change `org-directory'. It must be set before org loads! 44 - 45 - (defun org-todo-age-time (&optional pos) 46 - (let ((stamp (org-entry-get (or pos (point)) "CREATED" t))) 47 - (when stamp 48 - (time-subtract (current-time) 49 - (org-time-string-to-time 50 - (org-entry-get (or pos (point)) "CREATED" t)))))) 51 - (defun org-todo-age (&optional pos) 52 - (let ((days (time-to-number-of-days (org-todo-age-time pos)))) 53 - (cond 54 - ((< days 1) "today") 55 - ((< days 7) (format "%dd" days)) 56 - ((< days 30) (format "%.1fw" (/ days 7.0))) 57 - ((< days 358) (format "%.1fM" (/ days 30.0))) 58 - (t (format "%.1fY" (/ days 365.0)))))) 59 - 60 - (set-popup-rule! "^\\*Org Agenda" :ignore t) 61 - 62 - 63 - (after! org 64 - (setq org-directory (if (string-equal system-type "darwin") "~/developer/src/personal/notes" "~/Documents/notes") 65 - org-default-notes-file (concat (if (string-equal system-type "darwin") "~/developer/src/personal/notes" "~/Documents/notes") "/inbox.org") 66 - org-agenda-files (list 67 - (if (string-equal system-type "darwin") "~/developer/src/personal/notes" "~/Documents/notes")) 68 - org-todo-keywords '((sequence 69 - "TODO(t)" 70 - "RECUR(R)" 71 - "PROJECT(P)" 72 - "NOTE(n@)" 73 - "STARTED(s@/!)" 74 - "WAITING(w@)" 75 - "|" 76 - "DONE(d!)" 77 - "SOMEDAY(y!)" 78 - "CANCELLED(c@)" 79 - "DEFERRED(r@)" 80 - )) 81 - 82 - org-todo-keyword-faces (quote ( 83 - ("TODO" :foreground "#00BFFF" :weight bold) 84 - ("RECUR" :foreground "cornflowerblue" :weight bold) 85 - ("NOTE" :foreground "brown" :weight bold) 86 - ("STARTED" :foreground "#FF8247" :weight bold) 87 - ("WAITING" :foreground "#EE6363" :weight bold) 88 - ("DEFERRED" :foreground "#4876FF" :weight bold) 89 - ("SOMEDAY" :foreground "#EEDC82" :weight bold) 90 - ("PROJECT" :foreground "#088e8e" :weight bold) 91 - )) 92 - org-todo-repeat-to-state "TODO" 93 - org-pretty-entities t 94 - org-use-tag-inheritance nil 95 - ;; org-agenda-ndays 1 96 - ;; org-agenda-show-all-dates t 97 - org-agenda-start-on-weekday nil 98 - ;; org-agenda-tags-column -100 99 - 100 - org-archive-location "TODO-archive::" 101 - ;; org-archive-save-context-info (quote (time category itags)) 102 - ) 103 - ;; (add-hook 'org-capture-mode-hook #'org-align-all-tags) 104 - (setq org-roam-directory (concat org-directory "/zettels/") 105 - org-roam-link-title-format "%s") 106 - 107 - (setq org-capture-templates 108 - '( 109 - ("a" "Add Task" 110 - entry 111 - (file (lambda () (concat org-directory "/inbox.org"))) 112 - "* TODO %^{Add task}\n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U\n:END:" :prepend t) 113 - 114 - ("w" "Add Work Task" 115 - entry 116 - (file (lambda () (concat org-directory "/inbox.org"))) 117 - "* TODO %^{Add work task} :workday:\n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U\n:END:\nSCHEDULED: %t" :prepend t) 118 - 119 - ("m" "New Micro Blog" 120 - plain 121 - (file (lambda () 122 - (expand-file-name (concat (format-time-string "%Y%m%d%H%M%S") 123 - ".md") 124 - (if (string-equal system-type "darwin") "~/developer/src/personal/blog/public/micro-posts/" "~/src/blog/public/micro-posts")))) 125 - "---\npublished : %<%Y-%m-%d %H:%M:%S%z>\n---\n\n%c%?") 126 - 127 - ("n" "New Note" 128 - entry 129 - (file (lambda() (concat org-directory "/notes.org") )) 130 - "* NOTE %?\n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U\n:END:" :prepend t) 131 - 132 - ;;; 133 - ;;; FROM DOOM DEFAULT TEMPLATES 134 - ;;; 135 - 136 - ;; Will use {project-root}/{todo,notes,changelog}.org, unless a 137 - ;; {todo,notes,changelog}.org file is found in a parent directory. 138 - ;; Uses the basename from `+org-capture-todo-file', 139 - ;; `+org-capture-changelog-file' and `+org-capture-notes-file'. 140 - ("p" "Templates for projects") 141 - ("pt" "Project-local todo" entry ; {project-root}/todo.org 142 - (file+headline +org-capture-project-todo-file "Inbox") 143 - "* TODO %?\n%i\n%a" :prepend t) 144 - ("pn" "Project-local notes" entry ; {project-root}/notes.org 145 - (file+headline +org-capture-project-notes-file "Inbox") 146 - "* %U %?\n%i\n%a" :prepend t) 147 - ("pc" "Project-local changelog" entry ; {project-root}/changelog.org 148 - (file+headline +org-capture-project-changelog-file "Unreleased") 149 - "* %U %?\n%i\n%a" :prepend t)) 150 - ) 151 - 152 - (setq org-roam-capture-templates 153 - '( 154 - ("z" "New Zettel" 155 - plain 156 - (function org-roam--capture-get-point) 157 - "%?" 158 - :file-name "%<%Y%m%d%H%M%S>-${slug}" 159 - :head "#+TITLE: ${title}\n#+roam_tags: \n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\")\n:CREATED: %U\n:TITLE: ${title}\n:STYLE: zettel\n:END:\n\n** Tags:: \n" 160 - :unarrowed t) 161 - )) 162 - (setq org-roam-capture-ref-templates 163 - '(("r" "Ref" plain (function org-roam--capture-get-point) 164 - "%?" 165 - :file-name "${slug}" 166 - :head "#+ROAM_KEY: ${ref}\n#+TITLE: ${title}\n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\")\n:CREATED: %U\n:TITLE: ${title}\n:STYLE: zettel\n:END:\n\n** Tags:: [[file:captures.org][captures]]\n" 167 - :unnarrowed t))) 168 - 169 - (setq org-noter-notes-search-path (list (concat org-directory "/zettels/"))) 170 - 171 - (setq org-agenda-custom-commands 172 - (quote 173 - ( 174 - ("P" "All Projects" todo-tree "PROJECT" 175 - ((org-agenda-overriding-header "All Projects"))) 176 - ("A" "Priority #A tasks\"" agenda "" 177 - ((org-agenda-span 178 - (quote day)) 179 - (org-agenda-overriding-header "Today's priority #A tasks: ") 180 - (org-agenda-skip-function 181 - (quote 182 - (org-agenda-skip-entry-if 183 - (quote notregexp) 184 - "\\=.*\\[#A\\]"))))) 185 - ("b" "Priority #A and #B tasks" agenda "" 186 - ((org-agenda-span 187 - (quote day)) 188 - (org-agenda-overriding-header "Today's priority #A and #B tasks: ") 189 - (org-agenda-skip-function 190 - (quote 191 - (org-agenda-skip-entry-if 192 - (quote regexp) 193 - "\\=.*\\[#C\\]"))))) 194 - ("u" "Unscheduled tasks" tags "TODO<>\"\"&TODO<>{DONE\\|CANCELLED\\|DEFERRED\\|SOMEDAY\\|PROJECT\\|NOTE}" 195 - ((org-agenda-overriding-header "Unscheduled tasks: ") 196 - (org-agenda-skip-function 197 - (quote 198 - (org-agenda-skip-entry-if 199 - (quote scheduled) 200 - (quote deadline) 201 - (quote timestamp) 202 - ))) 203 - (org-agenda-sorting-strategy 204 - (quote 205 - (user-defined-up))) 206 - (org-agenda-prefix-format "%-11c%5(org-todo-age) "))) 207 - ("w" "Work Day Tasks" tags-todo "workday" 208 - ( 209 - (org-agenda-span (quote day)) 210 - (org-agenda-overriding-header "Today's Work Tasks") 211 - )) 212 - ("U" "Deferred tasks" tags "TODO=\"DEFERRED\"" 213 - ((org-agenda-overriding-header "Deferred tasks:") 214 - (org-agenda-sorting-strategy 215 - (quote 216 - (user-defined-up))) 217 - (org-agenda-prefix-format "%-11c%5(org-todo-age) "))) 218 - ("Y" "Someday tasks" tags "TODO=\"SOMEDAY\"" 219 - ((org-agenda-overriding-header "Someday tasks:") 220 - (org-agenda-sorting-strategy 221 - (quote 222 - (user-defined-up))) 223 - (org-agenda-prefix-format "%-11c%5(org-todo-age) "))) 224 - ("S" "Scheduled tasks" tags "TODO<>\"\"&TODO<>{DONE\\|CANCELLED\\|NOTE\\|PROJECT\\|DEFERRED}&STYLE<>\"habit\"" 225 - ((org-agenda-overriding-header "Scheduled tasks: ") 226 - (org-agenda-skip-function 227 - (quote 228 - (org-agenda-skip-entry-if 229 - (quote notscheduled)))) 230 - (org-agenda-sorting-strategy 231 - (quote 232 - (category-up))))) 233 - ))) 234 - ) 235 - 236 - (use-package! org-roam 237 - :commands (org-roam-insert org-roam-find-file org-roam-switch-to-buffer) 238 - :hook 239 - (after-init . org-roam-mode) 240 - :custom-face 241 - (org-roam-link ((t (:inherit org-link :foreground "#5afc03"))))) 242 - 243 - (defun my-org-protocol-focus-advice (orig &rest args) 244 - (x-focus-frame nil) 245 - (apply orig args)) 246 - 247 - (advice-add 'org-roam-protocol-open-ref :around 248 - #'my-org-protocol-focus-advice) 249 - (advice-add 'org-roam-protocol-open-file :around 250 - #'my-org-protocol-focus-advice) 251 - 252 - (after! deft 253 - (setq deft-directory org-directory 254 - deft-recursive t 255 - deft-org-mode-title-prefix t)) 256 - 257 - ;; This determines the style of line numbers in effect. If set to `nil', line 258 - ;; numbers are disabled. For relative line numbers, set this to `relative'. 259 - (setq display-line-numbers-type t) 260 - 261 - ;; projectile 262 - (setq projectile-project-search-path (if (string-equal system-type "darwin") 263 - '( 264 - "~/developer/src/personal/" 265 - "~/developer/src/work/") 266 - '( 267 - "~/src" 268 - "~/src/repo" 269 - "~/src/ops" 270 - "~/src/projects" 271 - "~/src/learn"))) 272 - 273 - (use-package! super-save 274 - :config 275 - (setq auto-save-default nil) 276 - (setq super-save-remote-files nil) 277 - (setq super-save-auto-save-when-idle t) 278 - 279 - (dolist (item '(evil-switch-to-windows-last-buffer 280 - counsel-projectile-switch-to-buffer 281 - magit 282 - magit-status 283 - treemacs 284 - ace-window 285 - persp-switch 286 - dired-jump 287 - dired-jump-other-window 288 - +default/search-project 289 - find-file 290 - ivy 291 - evil-insert-state-exit-hook 292 - switch-to-buffer 293 - focus-out-hook)) 294 - (add-to-list 'super-save-triggers item)) 295 - (super-save-mode +1) 296 - ) 297 - 298 - ;; Haskell 299 - (setq haskell-process-type 'cabal-new-repl 300 - lsp-haskell-process-path-hie "ghcide" 301 - lsp-haskell-process-args-hie '()) 16 + ;; keybindings 302 17 303 18 ;; Here are some additional functions/macros that could help you configure Doom: 304 19 ;;
+30
doom-config/configs/base.el
··· 1 + ;;; base.el --- configurations without which are most essential -*- lexical-binding: t; -*- 2 + ;; 3 + ;; Copyright (C) 2021 Kaushik Chakraborty 4 + ;; 5 + ;; Author: Kaushik Chakraborty <https://github.com/kaychaks> 6 + ;; Maintainer: Kaushik Chakraborty <kaushik.chakraborty3@cognizant.com> 7 + ;; Created: August 01, 2021 8 + ;; Modified: August 01, 2021 9 + ;; Version: 0.0.1 10 + ;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp 11 + ;; Homepage: https://github.com/139137/base 12 + ;; Package-Requires: ((emacs "24.3")) 13 + ;; 14 + ;; This file is not part of GNU Emacs. 15 + ;; 16 + ;;; Commentary: 17 + ;; 18 + ;; configurations without which are most essential 19 + ;; 20 + ;;; Code: 21 + 22 + (setq user-full-name "Kaushik Chakraborty" 23 + user-mail-address (if (string-equal system-type "darwin") "kaushik.chakraborty3@cognizant.com" "git@kaushikc.org")) 24 + 25 + (setq-default indent-tabs-mode nil) 26 + (setq-default tab-width 2) 27 + (setq indent-line-function 'insert-tab) 28 + 29 + 30 + ;;; base.el ends here
+47
doom-config/configs/extra-packages.el
··· 1 + ;;; extra-packages.el --- custom packages not part of doom -*- lexical-binding: t; -*- 2 + ;; 3 + ;; Copyright (C) 2021 Kaushik Chakraborty 4 + ;; 5 + ;; Author: Kaushik Chakraborty <https://github.com/kaychaks> 6 + ;; Maintainer: Kaushik Chakraborty <kaushik.chakraborty3@cognizant.com> 7 + ;; Created: August 01, 2021 8 + ;; Modified: August 01, 2021 9 + ;; Version: 0.0.1 10 + ;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp 11 + ;; Homepage: https://github.com/139137/tools 12 + ;; Package-Requires: ((emacs "24.3")) 13 + ;; 14 + ;; This file is not part of GNU Emacs. 15 + ;; 16 + ;;; Commentary: 17 + ;; 18 + ;; custom packages not part of doom 19 + ;; 20 + ;;; Code: 21 + 22 + 23 + (use-package! super-save 24 + :config 25 + (setq auto-save-default nil) 26 + (setq super-save-remote-files nil) 27 + (setq super-save-auto-save-when-idle t) 28 + (dolist (item '(evil-switch-to-windows-last-buffer 29 + counsel-projectile-switch-to-buffer 30 + magit 31 + magit-status 32 + treemacs 33 + ace-window 34 + persp-switch 35 + dired-jump 36 + dired-jump-other-window 37 + +default/search-project 38 + find-file 39 + ivy 40 + evil-insert-state-exit-hook 41 + switch-to-buffer 42 + focus-out-hook)) 43 + (add-to-list 'super-save-triggers item)) 44 + (super-save-mode +1) 45 + ) 46 + 47 + ;;; tools.el ends here
+33
doom-config/configs/font.el
··· 1 + ;;; font.el --- font configurations -*- lexical-binding: t; -*- 2 + ;; 3 + ;; Copyright (C) 2021 Kaushik Chakraborty 4 + ;; 5 + ;; Author: Kaushik Chakraborty <https://github.com/kaychaks> 6 + ;; Maintainer: Kaushik Chakraborty <kaushik.chakraborty3@cognizant.com> 7 + ;; Created: August 01, 2021 8 + ;; Modified: August 01, 2021 9 + ;; Version: 0.0.1 10 + ;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp 11 + ;; Homepage: https://github.com/139137/font 12 + ;; Package-Requires: ((emacs "24.3")) 13 + ;; 14 + ;; This file is not part of GNU Emacs. 15 + ;; 16 + ;;; Commentary: 17 + ;; 18 + ;; font configurations 19 + ;; 20 + ;;; Code: 21 + 22 + ;; + `doom-font' 23 + ;; + `doom-variable-pitch-font' 24 + ;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for 25 + ;; presentations or streaming. 26 + ;; 27 + ;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd 28 + ;; font string. You generally only need these two: 29 + (setq doom-font (font-spec :family "Iosevka SS04" :size 18 :weight 'regular) 30 + doom-variable-pitch-font (font-spec :family "Iosevka SS04" :size 18)) 31 + 32 + 33 + ;;; font.el ends here
+28
doom-config/configs/haskell.el
··· 1 + ;;; haskell.el --- haskell configuration -*- lexical-binding: t; -*- 2 + ;; 3 + ;; Copyright (C) 2021 Kaushik Chakraborty 4 + ;; 5 + ;; Author: Kaushik Chakraborty <https://github.com/kaychaks> 6 + ;; Maintainer: Kaushik Chakraborty <kaushik.chakraborty3@cognizant.com> 7 + ;; Created: August 01, 2021 8 + ;; Modified: August 01, 2021 9 + ;; Version: 0.0.1 10 + ;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp 11 + ;; Homepage: https://github.com/139137/haskell 12 + ;; Package-Requires: ((emacs "24.3")) 13 + ;; 14 + ;; This file is not part of GNU Emacs. 15 + ;; 16 + ;;; Commentary: 17 + ;; 18 + ;; haskell configuration 19 + ;; 20 + ;;; Code: 21 + 22 + 23 + ;; ;; Haskell 24 + ;; (setq haskell-process-type 'cabal-new-repl 25 + ;; lsp-haskell-process-path-hie "ghcide" 26 + ;; lsp-haskell-process-args-hie '()) 27 + 28 + ;;; haskell.el ends here
+40
doom-config/configs/js.el
··· 1 + ;;; js.el --- JS configuration -*- lexical-binding: t; -*- 2 + ;; 3 + ;; Copyright (C) 2021 Kaushik Chakraborty 4 + ;; 5 + ;; Author: Kaushik Chakraborty <https://github.com/kaychaks> 6 + ;; Maintainer: Kaushik Chakraborty <kaushik.chakraborty3@cognizant.com> 7 + ;; Created: August 01, 2021 8 + ;; Modified: August 01, 2021 9 + ;; Version: 0.0.1 10 + ;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp 11 + ;; Homepage: https://github.com/139137/js 12 + ;; Package-Requires: ((emacs "24.3")) 13 + ;; 14 + ;; This file is not part of GNU Emacs. 15 + ;; 16 + ;;; Commentary: 17 + ;; 18 + ;; JS configuration 19 + ;; 20 + ;;; Code: 21 + 22 + ;; local prettier setup from https://github.com/lassik/emacs-format-all-the-code/issues/25 23 + ;; (defun my/prettier-setup () 24 + ;; (let* ((root (locate-dominating-file 25 + ;; (or (buffer-file-name) default-directory) 26 + ;; "node_modules")) 27 + ;; (prettier (and root 28 + ;; (expand-file-name "node_modules/.bin/prettier" 29 + ;; root)))) 30 + ;; (if (not (and prettier (file-executable-p prettier))) 31 + ;; ;; hack to remove formatting for js files if prettier is not installed locally 32 + ;; ;; doom-emacs uses advice for format-all 33 + ;; (advice-remove #'format-all-buffer :override #'+format/buffer) 34 + ;; ))) 35 + 36 + ;; (add-hook 'rjsx-mode-hook #'my/prettier-setup) 37 + ;; (add-hook 'typescript-mode-hook #'my/prettier-setup) 38 + 39 + 40 + ;;; js.el ends here
+223
doom-config/configs/org-config.el
··· 1 + ;;; org-config.el --- org configuration -*- lexical-binding: t; -*- 2 + ;; 3 + ;; Copyright (C) 2021 Kaushik Chakraborty 4 + ;; 5 + ;; Author: Kaushik Chakraborty <https://github.com/kaychaks> 6 + ;; Maintainer: Kaushik Chakraborty <kaushik.chakraborty3@cognizant.com> 7 + ;; Created: August 01, 2021 8 + ;; Modified: August 01, 2021 9 + ;; Version: 0.0.1 10 + ;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp 11 + ;; Homepage: https://github.com/139137/org 12 + ;; Package-Requires: ((emacs "24.3")) 13 + ;; 14 + ;; This file is not part of GNU Emacs. 15 + ;; 16 + ;;; Commentary: 17 + ;; 18 + ;; org configuration 19 + ;; 20 + ;;; Code: 21 + 22 + 23 + ;; If you use `org' and don't want your org files in the default location below, 24 + ;; change `org-directory'. It must be set before org loads! 25 + 26 + (defun org-todo-age-time (&optional pos) 27 + (let ((stamp (org-entry-get (or pos (point)) "CREATED" t))) 28 + (when stamp 29 + (time-subtract (current-time) 30 + (org-time-string-to-time 31 + (org-entry-get (or pos (point)) "CREATED" t)))))) 32 + (defun org-todo-age (&optional pos) 33 + (let ((days (time-to-number-of-days (org-todo-age-time pos)))) 34 + (cond 35 + ((< days 1) "today") 36 + ((< days 7) (format "%dd" days)) 37 + ((< days 30) (format "%.1fw" (/ days 7.0))) 38 + ((< days 358) (format "%.1fM" (/ days 30.0))) 39 + (t (format "%.1fY" (/ days 365.0)))))) 40 + 41 + (set-popup-rule! "^\\*Org Agenda" :ignore t) 42 + 43 + 44 + (after! org 45 + (setq org-directory (if (string-equal system-type "darwin") "~/developer/src/personal/notes" "~/Documents/notes") 46 + org-default-notes-file (concat (if (string-equal system-type "darwin") "~/developer/src/personal/notes" "~/Documents/notes") "/inbox.org") 47 + org-agenda-files (list 48 + (if (string-equal system-type "darwin") "~/developer/src/personal/notes" "~/Documents/notes")) 49 + org-todo-keywords '((sequence 50 + "TODO(t)" 51 + "RECUR(R)" 52 + "PROJECT(P)" 53 + "NOTE(n@)" 54 + "STARTED(s@/!)" 55 + "WAITING(w@)" 56 + "|" 57 + "DONE(d!)" 58 + "SOMEDAY(y!)" 59 + "CANCELLED(c@)" 60 + "DEFERRED(r@)" 61 + )) 62 + 63 + org-todo-keyword-faces (quote ( 64 + ("TODO" :foreground "#00BFFF" :weight bold) 65 + ("RECUR" :foreground "cornflowerblue" :weight bold) 66 + ("NOTE" :foreground "brown" :weight bold) 67 + ("STARTED" :foreground "#FF8247" :weight bold) 68 + ("WAITING" :foreground "#EE6363" :weight bold) 69 + ("DEFERRED" :foreground "#4876FF" :weight bold) 70 + ("SOMEDAY" :foreground "#EEDC82" :weight bold) 71 + ("PROJECT" :foreground "#088e8e" :weight bold) 72 + )) 73 + org-todo-repeat-to-state "TODO" 74 + org-pretty-entities t 75 + org-use-tag-inheritance nil 76 + ;; org-agenda-ndays 1 77 + ;; org-agenda-show-all-dates t 78 + org-agenda-start-on-weekday nil 79 + ;; org-agenda-tags-column -100 80 + 81 + org-archive-location "TODO-archive::" 82 + ;; org-archive-save-context-info (quote (time category itags)) 83 + ) 84 + (add-hook 'org-capture-mode-hook #'org-align-all-tags) 85 + (setq org-roam-directory (concat org-directory "/zettels/") 86 + org-roam-link-title-format "%s") 87 + 88 + (add-to-list 'display-buffer-alist 89 + '("\\*org-roam\\*" 90 + (display-buffer-in-direction) 91 + (direction . right) 92 + (window-width . 0.33) 93 + (window-height . fit-window-to-buffer) 94 + )) 95 + 96 + (setq org-capture-templates 97 + '( 98 + ("a" "Add Task" 99 + entry 100 + (file (lambda () (concat org-directory "/inbox.org"))) 101 + "* TODO %^{Add task}\n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U\n:END:" :prepend t) 102 + 103 + ("w" "Add Work Task" 104 + entry 105 + (file (lambda () (concat org-directory "/inbox.org"))) 106 + "* TODO %^{Add work task} :workday:\n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U\n:END:\nSCHEDULED: %t" :prepend t) 107 + 108 + ("m" "New Micro Blog" 109 + plain 110 + (file (lambda () 111 + (expand-file-name (concat (format-time-string "%Y%m%d%H%M%S") 112 + ".md") 113 + (if (string-equal system-type "darwin") "~/developer/src/personal/blog/public/micro-posts/" "~/src/blog/public/micro-posts")))) 114 + "---\npublished : %<%Y-%m-%d %H:%M:%S%z>\n---\n\n%c%?") 115 + 116 + ("n" "New Note" 117 + entry 118 + (file (lambda() (concat org-directory "/notes.org") )) 119 + "* NOTE %?\n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U\n:END:" :prepend t) 120 + 121 + ;;; 122 + ;;; FROM DOOM DEFAULT TEMPLATES 123 + ;;; 124 + 125 + ;; Will use {project-root}/{todo,notes,changelog}.org, unless a 126 + ;; {todo,notes,changelog}.org file is found in a parent directory. 127 + ;; Uses the basename from `+org-capture-todo-file', 128 + ;; `+org-capture-changelog-file' and `+org-capture-notes-file'. 129 + ("p" "Templates for projects") 130 + ("pt" "Project-local todo" entry ; {project-root}/todo.org 131 + (file+headline +org-capture-project-todo-file "Inbox") 132 + "* TODO %?\n%i\n%a" :prepend t) 133 + ("pn" "Project-local notes" entry ; {project-root}/notes.org 134 + (file+headline +org-capture-project-notes-file "Inbox") 135 + "* %U %?\n%i\n%a" :prepend t) 136 + ("pc" "Project-local changelog" entry ; {project-root}/changelog.org 137 + (file+headline +org-capture-project-changelog-file "Unreleased") 138 + "* %U %?\n%i\n%a" :prepend t)) 139 + ) 140 + 141 + ;; (setq org-roam-capture-templates 142 + ;; '( 143 + ;; ("z" "New Zettel" 144 + ;; plain 145 + ;; (function org-roam--capture-get-point) 146 + ;; "%?" 147 + ;; :file-name "%<%Y%m%d%H%M%S>-${slug}" 148 + ;; :head "#+TITLE: ${title}\n#+roam_tags: \n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\")\n:CREATED: %U\n:TITLE: ${title}\n:STYLE: zettel\n:END:\n\n** Tags:: \n" 149 + ;; :unarrowed t) 150 + ;; )) 151 + ;; (setq org-roam-capture-ref-templates 152 + ;; '(("r" "Ref" plain (function org-roam--capture-get-point) 153 + ;; "%?" 154 + ;; :file-name "${slug}" 155 + ;; :head "#+ROAM_KEY: ${ref}\n#+TITLE: ${title}\n:PROPERTIES:\n:ID: %(shell-command-to-string \"uuidgen\")\n:CREATED: %U\n:TITLE: ${title}\n:STYLE: zettel\n:END:\n\n** Tags:: [[file:captures.org][captures]]\n" 156 + ;; :unnarrowed t))) 157 + 158 + (setq org-noter-notes-search-path (list (concat org-directory "/zettels/"))) 159 + 160 + (setq org-agenda-custom-commands 161 + (quote 162 + ( 163 + ("P" "All Projects" todo-tree "PROJECT" 164 + ((org-agenda-overriding-header "All Projects"))) 165 + ("A" "Priority #A tasks\"" agenda "" 166 + ((org-agenda-span 167 + (quote day)) 168 + (org-agenda-overriding-header "Today's priority #A tasks: ") 169 + (org-agenda-skip-function 170 + (quote 171 + (org-agenda-skip-entry-if 172 + (quote notregexp) 173 + "\\=.*\\[#A\\]"))))) 174 + ("b" "Priority #A and #B tasks" agenda "" 175 + ((org-agenda-span 176 + (quote day)) 177 + (org-agenda-overriding-header "Today's priority #A and #B tasks: ") 178 + (org-agenda-skip-function 179 + (quote 180 + (org-agenda-skip-entry-if 181 + (quote regexp) 182 + "\\=.*\\[#C\\]"))))) 183 + ("u" "Unscheduled tasks" tags "TODO<>\"\"&TODO<>{DONE\\|CANCELLED\\|DEFERRED\\|SOMEDAY\\|PROJECT\\|NOTE}" 184 + ((org-agenda-overriding-header "Unscheduled tasks: ") 185 + (org-agenda-skip-function 186 + (quote 187 + (org-agenda-skip-entry-if 188 + (quote scheduled) 189 + (quote deadline) 190 + (quote timestamp) 191 + ))) 192 + (org-agenda-sorting-strategy 193 + (quote 194 + (user-defined-up))) 195 + (org-agenda-prefix-format "%-11c%5(org-todo-age) "))) 196 + ("w" "Work Day Tasks" tags-todo "workday" 197 + ( 198 + (org-agenda-span (quote day)) 199 + (org-agenda-overriding-header "Today's Work Tasks") 200 + )) 201 + ("U" "Deferred tasks" tags "TODO=\"DEFERRED\"" 202 + ((org-agenda-overriding-header "Deferred tasks:") 203 + (org-agenda-sorting-strategy 204 + (quote 205 + (user-defined-up))) 206 + (org-agenda-prefix-format "%-11c%5(org-todo-age) "))) 207 + ("Y" "Someday tasks" tags "TODO=\"SOMEDAY\"" 208 + ((org-agenda-overriding-header "Someday tasks:") 209 + (org-agenda-sorting-strategy 210 + (quote 211 + (user-defined-up))) 212 + (org-agenda-prefix-format "%-11c%5(org-todo-age) "))) 213 + ("S" "Scheduled tasks" tags "TODO<>\"\"&TODO<>{DONE\\|CANCELLED\\|NOTE\\|PROJECT\\|DEFERRED}&STYLE<>\"habit\"" 214 + ((org-agenda-overriding-header "Scheduled tasks: ") 215 + (org-agenda-skip-function 216 + (quote 217 + (org-agenda-skip-entry-if 218 + (quote notscheduled)))) 219 + (org-agenda-sorting-strategy 220 + (quote 221 + (category-up))))))))) 222 + 223 + ;;; org-config.el ends here
+34
doom-config/configs/projects.el
··· 1 + ;;; projects.el --- project specific configuration -*- lexical-binding: t; -*- 2 + ;; 3 + ;; Copyright (C) 2021 Kaushik Chakraborty 4 + ;; 5 + ;; Author: Kaushik Chakraborty <https://github.com/kaychaks> 6 + ;; Maintainer: Kaushik Chakraborty <kaushik.chakraborty3@cognizant.com> 7 + ;; Created: August 01, 2021 8 + ;; Modified: August 01, 2021 9 + ;; Version: 0.0.1 10 + ;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp 11 + ;; Homepage: https://github.com/139137/projects 12 + ;; Package-Requires: ((emacs "24.3")) 13 + ;; 14 + ;; This file is not part of GNU Emacs. 15 + ;; 16 + ;;; Commentary: 17 + ;; 18 + ;; project specific configuration 19 + ;; 20 + ;;; Code: 21 + 22 + 23 + (setq projectile-project-search-path (if (string-equal system-type "darwin") 24 + '( 25 + "~/developer/src/personal/" 26 + "~/developer/src/work/") 27 + '( 28 + "~/src" 29 + "~/src/repo" 30 + "~/src/ops" 31 + "~/src/projects" 32 + "~/src/learn"))) 33 + 34 + ;;; projects.el ends here
+28
doom-config/configs/theme.el
··· 1 + ;;; theme.el --- theme configuration -*- lexical-binding: t; -*- 2 + ;; 3 + ;; Copyright (C) 2021 Kaushik Chakraborty 4 + ;; 5 + ;; Author: Kaushik Chakraborty <https://github.com/kaychaks> 6 + ;; Maintainer: Kaushik Chakraborty <kaushik.chakraborty3@cognizant.com> 7 + ;; Created: August 01, 2021 8 + ;; Modified: August 01, 2021 9 + ;; Version: 0.0.1 10 + ;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp 11 + ;; Homepage: https://github.com/139137/theme 12 + ;; Package-Requires: ((emacs "24.3")) 13 + ;; 14 + ;; This file is not part of GNU Emacs. 15 + ;; 16 + ;;; Commentary: 17 + ;; 18 + ;; theme configuration 19 + ;; 20 + ;;; Code: 21 + 22 + 23 + ;; There are two ways to load a theme. Both assume the theme is installed and 24 + ;; available. You can either set `doom-theme' or manually load a theme with the 25 + ;; `load-theme' function. This is the default: 26 + (setq doom-theme 'doom-xcode) 27 + 28 + ;;; theme.el ends here
+29
doom-config/configs/ui.el
··· 1 + ;;; ui.el --- basic UI niceties -*- lexical-binding: t; -*- 2 + ;; 3 + ;; Copyright (C) 2021 Kaushik Chakraborty 4 + ;; 5 + ;; Author: Kaushik Chakraborty <https://github.com/kaychaks> 6 + ;; Maintainer: Kaushik Chakraborty <kaushik.chakraborty3@cognizant.com> 7 + ;; Created: August 01, 2021 8 + ;; Modified: August 01, 2021 9 + ;; Version: 0.0.1 10 + ;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp 11 + ;; Homepage: https://github.com/139137/ui 12 + ;; Package-Requires: ((emacs "24.3")) 13 + ;; 14 + ;; This file is not part of GNU Emacs. 15 + ;; 16 + ;;; Commentary: 17 + ;; 18 + ;; basic UI niceties 19 + ;; 20 + ;;; Code: 21 + 22 + 23 + ;; this was to take care of the flickering issue in old emacs, not required in 28.0 24 + ;; (add-to-list 'default-frame-alist '(inhibit-double-buffering . t)) 25 + 26 + ;; start maximised 27 + (add-to-list 'default-frame-alist '(fullscreen . maximized)) 28 + 29 + ;;; ui.el ends here
+25 -25
doom-config/init.el
··· 29 29 ;;deft ; notational velocity for Emacs 30 30 doom ; what makes DOOM look the way it does 31 31 doom-dashboard ; a nifty splash screen for Emacs 32 - doom-quit ; DOOM quit-message prompts when you quit Emacs 33 - (emoji +unicode) ; 🙂 32 + ;; doom-quit ; DOOM quit-message prompts when you quit Emacs 33 + ;; (emoji +unicode) ; 🙂 34 34 ;;fill-column ; a `fill-column' indicator 35 35 hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW 36 36 ;;hydra 37 37 ;;indent-guides ; highlighted indent columns 38 - ;;ligatures ; ligatures and symbols to make your code pretty again 38 + ;; ligatures ; ligatures and symbols to make your code pretty again 39 39 ;;minimap ; show a map of the code on the side 40 - modeline ; snazzy, Atom-inspired modeline, plus API 40 + (modeline +light) ; snazzy, Atom-inspired modeline, plus API 41 41 nav-flash ; blink cursor line after big motions 42 42 ;;neotree ; a project drawer, like NERDTree for vim 43 43 ophints ; highlight the region an operation acts on 44 44 (popup +all +defaults) ; tame sudden yet inevitable temporary windows 45 - (pretty-code +iosevka) 46 45 ;;tabs ; a tab bar for Emacs 47 - treemacs ; a project drawer, like neotree but cooler 46 + (treemacs +lsp) ; a project drawer, like neotree but cooler 48 47 ;;unicode ; extended unicode support for various languages 49 - vc-gutter ; vcs diff in the fringe 48 + ;; vc-gutter ; vcs diff in the fringe 50 49 vi-tilde-fringe ; fringe tildes to mark beyond EOB 51 - window-select ; visually switch windows 50 + ;; window-select ; visually switch windows 52 51 workspaces ; tab emulation, persistence & separate workspaces 53 52 ;;zen ; distraction-free coding or writing 54 53 ··· 56 55 (evil +everywhere); come to the dark side, we have cookies 57 56 file-templates ; auto-snippets for empty files 58 57 fold ; (nigh) universal code folding 59 - (format +onsave) ; automated prettiness 58 + format ; automated prettiness 60 59 ;;god ; run Emacs commands without modifier keys 61 60 ;;lispy ; vim for lisp, for people who don't like vim 62 61 ;;multiple-cursors ; editing in many places at once ··· 70 69 dired ; making dired pretty [functional] 71 70 electric ; smarter, keyword-based electric-indent 72 71 ;;ibuffer ; interactive buffer management 73 - undo ; persistent, smarter undo for your inevitable mistakes 72 + (undo +tree) ; persistent, smarter undo for your inevitable mistakes 74 73 vc ; version-control and Emacs, sitting in a tree 75 74 76 75 :term ··· 111 110 tty ; improve the terminal Emacs experience 112 111 113 112 :lang 114 - (agda +local) ; types of types of types of types... 115 - cc ; C/C++/Obj-C madness 113 + ;; (agda +local) ; types of types of types of types... 114 + cc ; C/C++/Obj-C madness 116 115 ;;clojure ; java with a lisp 117 116 ;;common-lisp ; if you've seen one lisp, you've seen them all 118 117 ;;coq ; proofs-as-programs ··· 133 132 (haskell +lsp) ; a language that's lazier than I am 134 133 ;;hy ; readability of scheme w/ speed of python 135 134 ;;idris ; a language you can depend on 136 - json ; At least it ain't XML 135 + (json +lsp) ; At least it ain't XML 137 136 ;;(java +meghanada) ; the poster child for carpal tunnel syndrome 138 - javascript ; all(hope(abandon(ye(who(enter(here)))))) 137 + (javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) 139 138 ;;julia ; a better, faster MATLAB 140 139 ;;kotlin ; a better, slicker Java(Script) 141 140 ;;latex ; writing papers in Emacs has never been so fun 142 - ;;lean 141 + lean 143 142 ;;factor 144 143 ;;ledger ; an accounting system in Emacs 145 144 ;;lua ; one-based indices? one-based indices ··· 148 147 nix ; I hereby declare "nix geht mehr!" 149 148 ;;ocaml ; an objective camel 150 149 (org 151 - +dragdrop 152 - +habit 153 - +protocol 154 - +pandoc 155 - +present 156 - +noter 157 - +roam) ; organize your plain life in plain text 150 + +dragdrop 151 + +habit 152 + +protocol 153 + +pandoc 154 + +present 155 + +noter 156 + +roam2 157 + ) ; organize your plain life in plain text 158 158 ;;php ; perl's insecure younger brother 159 159 plantuml ; diagrams for confusing people more 160 160 ;;purescript ; javascript, but functional 161 - python ; beautiful is better than ugly 161 + ;; python ; beautiful is better than ugly 162 162 ;;qt ; the 'cutest' gui framework ever 163 163 ;;racket ; a DSL for DSLs 164 164 ;;raku ; the artist formerly known as perl6 165 - ;;rest ; Emacs as a REST client 165 + ;; rest ; Emacs as a REST client 166 166 ;;rst ; ReST in peace 167 167 ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} 168 168 ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() 169 169 ;;scala ; java, but good 170 170 ;;scheme ; a fully conniving family of lisps 171 - (sh +lsp) ; she sells {ba,z,fi}sh shells on the C xor 171 + sh ; she sells {ba,z,fi}sh shells on the C xor 172 172 ;;sml 173 173 ;;solidity ; do you need a blockchain? No. 174 174 ;;swift ; who asked for emoji variables?
+2 -1
doom-config/packages.el
··· 17 17 ;(unpin! pinned-package) 18 18 ;; Use it to unpin multiple packages 19 19 ;(unpin! pinned-package another-pinned-package) 20 - (unpin! org-roam) 20 + ;(unpin! org-roam) 21 + (unpin! lsp-mode) 21 22 22 23 23 24 ;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: