Skip to content

BrandonShega/.doom.d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My DOOM Emacs private configuration:

Getting Started

If you have not installed DOOM Emacs but would like to:

git clone https://github.com/BrandonShega/.doom.d.git ~/.doom.d
git clone https://github.com/hlissner/doom-emacs.git ~/.emacs.d
~/.emacs.d/bin/doom install

General Settings

Personal

(setq user-full-name "Brandon Shega"
      user-mail-address "[email protected]"
      epa-file-encrypt-to user-mail-address)

Fonts

The font I use is JetBrains’ Mono which can be downloaded here

(setq doom-font (font-spec :family "JetBrains Mono" :size 12))

Theme

(setq doom-theme 'doom-gruvbox
      doom-themes-treemacs-theme "doom-colors")

Key Bindings

(map! :leader "`" #'evil-switch-to-windows-last-buffer)

(map! :leader
    (:prefix-map ("c" . "code")
    :desc "LSP perform action" "a" #'lsp-execute-code-action))

(map!
    ;; Easier window movement
    :n "C-h" #'evil-window-left
    :n "C-j" #'evil-window-down
    :n "C-k" #'evil-window-up
    :n "C-l" #'evil-window-right

    (:map vterm-mode-map
    ;; Easier window movement
    :i "C-h" #'evil-window-left
    :i "C-j" #'evil-window-down
    :i "C-k" #'evil-window-up
    :i "C-l" #'evil-window-right)

    (:map evil-treemacs-state-map
    "C-h" #'evil-window-left
    "C-l" #'evil-window-right))

(map! :map +doom-dashboard-mode-map [remap projectile-find-file] #'counsel-find-file)

General Settings

(setq epa-file-encrypt-to user-mail-address
      company-idle-delay 0.2
      evil-split-window-below t
      evil-vsplit-window-right t
      display-line-numbers-type 'relative)

(when IS-MAC
  (setq ns-use-thin-smoothing t
        mac-command-modifier 'meta
        mac-option-modifier 'super))

Popup Rules

(after! org (set-popup-rule! "^\\*Org.*Export\\*" :side 'right :size 0.5 :modeline t))
(after! org (set-popup-rule! "^Capture.*\\.org$" :side 'right :size .40 :select t :vslot 2 :ttl 3))
(after! org (set-popup-rule! "*org agenda*" :side 'right :size .40 :select t :vslot 2 :ttl 3))

Org Mode Settings

Agenda

(setq org-agenda-use-time-grid nil
      org-agenda-skip-scheduled-if-done t
      org-agenda-skip-deadline-if-done t
      org-habit-show-habits t)

Load all *.org files to agenda

(load-library "find-lisp")
(after! org
  (setq org-agenda-files (find-lisp-find-files "~/Dropbox/Organization" "\.org$")))

Capture Templates

(after! org
  (setq org-capture-templates
        '(("g" "GTD")
          ("r" "References")
          ("d" "Diary")
          ("n" "Notes")
          ("t" "TODO"))))

Getting Things Done (GTD)

Recurring Tasks

(after! org (add-to-list 'org-capture-templates
                         '("gr" "Recurring Task" entry (file "~/Dropbox/Organization/gtd/recurring.org")
"* TODO %^{description}
:PROPERTIES:
:CREATED: %U
:END:
:RESOURCES:
:END:

+ NOTES:
  %?")))

Project

(after! org (add-to-list 'org-capture-templates
                         '("gp" "Project" entry (file+headline "~/Dropbox/Organization/gtd/tasks.org" "Projects")
"* TODO %^{description}
:PROPERTIES:
:SUBJECT: %^{subject}
:GOAL: %^{goal}
:END:
:RESOURCES:
:END:

+ REQUIREMENTS:
  %^{requirements}

+ NOTES:
  %?

\** TODO %^{task1}")))

New Capture

(after! org (add-to-list 'org-capture-templates
             '("gt" "Capture Task" entry (file "~/Dropbox/Organization/gtd/inbox.org")
"** TODO %?
:PROPERTIES:
:CREATED:    %U
:END:
:RESOURCES:
:END:

+ NEXT STEPS:
  - [ ] %^{next steps}

+ NOTES:")))

References

Yank Example

(after! org (add-to-list 'org-capture-templates
             '("re" "Yank New Example" entry (file+headline "~/Dropbox/Organization/notes/examples.org" "INBOX")
"* %^{example}
:PROPERTIES:
:SOURCE:  %^{source|Command|Script|Code|Usage}
:SUBJECT: %^{subject}
:END:

\#+BEGIN_SRC
%x
\#+END_SRC
%?")))

New Entry

(after! org (add-to-list 'org-capture-templates
             '("rn" "Yank new Example" entry (file+headline "~/Dropbox/Organization/notes/references.org" "INBOX")
"* %^{example}
:PROPERTIES:
:CATEGORY: %^{category}
:SUBJECT:  %^{subject}
:END:
:RESOURCES:
:END:

%?")))

Diary

Daily Log

(after! org (add-to-list 'org-capture-templates
             '("dn" "New Diary Entry" entry (file+olp+datetree "~/Dropbox/Organization/diary.org" "Daily Logs")
"* %^{thought for the day}
:PROPERTIES:
:CATEGORY: %^{category}
:SUBJECT:  %^{subject}
:MOOD:     %^{mood}
:END:
:RESOURCES:
:END:

\*What was one good thing you learned today?*:
- %^{whatilearnedtoday}

\*List one thing you could have done better*:
- %^{onethingdobetter}

\*Describe in your own words how your day was*:
- %?")))

Directories

(setq org-directory "~/Dropbox/Organization"
      org-image-actual-width nil
      +org-export-directory "~/Dropbox/Organization/.export/"
      org-archive-location "~/Dropbox/Organization/gtd/archive.org::datetree/"
      org-default-notes-file "~/Dropbox/Organization/gtd/inbox.org"
      projectile-project-search-path '("~/"))

Export

(setq org-html-head-include-scripts t
      org-export-with-toc t
      org-export-with-author t
      org-export-headline-levels 5
      org-export-with-drawers t
      org-export-with-email t
      org-export-with-footnotes t
      org-export-with-latex t
      org-export-with-section-numbers nil
      org-export-with-properties t
      org-export-with-smart-quotes t)

;(after! org (add-to-list 'org-export-backends 'pandoc))
(after! org (setq org-export-backends '("pdf" "ascii" "html" "latex" "odt")))

Keywords

(after! org (setq org-todo-keywords
      '((sequence "TODO(t)" "WAITING(w!)" "STARTED(s!)" "NEXT(n!)" "DELEGATED(e!)" "|" "INVALID(I!)" "DONE(d!)"))))

Refiling

(setq org-refile-targets '((org-agenda-files . (:maxlevel . 6)))
      org-hide-emphasis-markers nil
      org-outline-path-complete-in-steps nil
      org-refile-allow-creating-parent-nodes 'confirm)

GitHub Settings

Forge

(after! forge
  (push '("git.moen.com" "git.moen.com/api/v3"
          "git.moen.com" forge-github-repository)
        forge-alist))
(setq ghub-use-workaround-for-emacs-bug 'force)

GRIP

(require 'auth-source)
(let ((credential (auth-source-user-and-password "api.github.com")))
  (setq grip-github-user (car credential)
        grip-github-password (cadr credential)))

LSP Settings

Angular LSP

(setq lsp-clients-angular-language-server-command
      '("node"
        "/usr/lib/node_modules/@angular/language-server"
        "--ngProbeLocations"
        "/usr/lib/node_modules"
        "--tsProbeLocations"
        "/usr/lib/node_modules"
        "--stdio"))

Extra Plugins

ox-gfm

(use-package! ox-gfm
  :after org
  :init
  (require 'ox-gfm nil t))

PlantUML

(use-package! ob-plantuml
  :ensure nil
  :commands
  (org-babel-execute: plantum)
  :config
  (setq org-plantuml-jar-path (expand-file-name "~/Dropbox/opt/plantuml.jar")))

Workarounds

(fset 'battery-update #'ignore)

About

Doom Emacs private config

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published