doom.d/init.el

106 lines
4.4 KiB
EmacsLisp
Raw Normal View History

2022-10-01 00:21:40 -04:00
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :completion
2023-01-18 01:59:57 -05:00
(company +childframe +tng) ; the ultimate code completion backend
2022-10-01 00:21:40 -04:00
(ivy +fuzzy +precient +childframe +icons)
:ui
2022-10-31 12:08:17 -04:00
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
(emoji +unicode) ; 🙂
hl-todo ; highlight todo-words
indent-guides ; highlighted indent columns
nav-flash ; blink cursor line after big motions
(popup +defaults) ; tame sudden yet inevitable temporary windows
(treemacs +lsp) ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages
(vc-gutter +diff-hl +pretty)
2022-10-31 12:08:17 -04:00
window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
zen ; distraction-free coding or writing
2022-11-14 17:58:08 -05:00
modeline
2022-10-01 00:21:40 -04:00
:editor
2022-11-12 00:14:34 -05:00
(evil +everywhere)
2023-01-05 15:11:46 -05:00
multiple-cursors
2022-10-31 12:08:17 -04:00
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
lispy
2022-10-31 12:08:17 -04:00
rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
2022-10-01 00:21:40 -04:00
:emacs
2022-10-31 12:08:17 -04:00
(dired +icons) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
(ibuffer +icons) ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
2022-10-01 00:21:40 -04:00
:term
2022-10-31 12:08:17 -04:00
vterm ; the best terminal emulation in Emacs
2022-10-01 00:21:40 -04:00
:checkers
2022-10-31 12:08:17 -04:00
(syntax +childframe) ; tasing you for every semicolon you forget
(spell +aspell +everywhere) ; tasing you for misspelling mispelling
2022-10-01 00:21:40 -04:00
:tools
2022-10-31 12:08:17 -04:00
(debugger +lsp) ; stepping through code, to help you add bugs
2022-10-01 00:21:40 -04:00
direnv
docker
2022-10-31 12:08:17 -04:00
editorconfig ; let someone else argue about tabs vs spaces
(eval +overlay) ; run code, run (also, repls)
lookup ; navigate your code and its documentation
lsp ; M-x vscode
(magit +forge) ; a git porcelain for Emacs
pdf ; pdf enhancements
rgb ; creating color strings
tree-sitter
2022-10-01 00:21:40 -04:00
:os
2022-10-31 12:08:17 -04:00
(:if IS-MAC macos) ; improve compatibility with macOS
2022-10-01 00:21:40 -04:00
(tty +osc)
:lang
data
emacs-lisp
json
(latex +fold)
markdown
nix
(org +pandoc +present +roam2 +pomodoro)
2022-10-31 12:08:17 -04:00
rest ; Emacs as a REST client
2022-10-01 00:21:40 -04:00
(rust +lsp)
(sh +fish)
yaml
(scheme +chez)
2022-10-31 12:08:17 -04:00
(haskell +lsp)
2022-11-05 15:25:46 -04:00
plantuml
2022-11-29 05:00:40 -05:00
(kotlin +lsp)
(java +lsp)
2022-10-01 00:21:40 -04:00
:email
(mu4e +org)
:app
2022-10-31 12:08:17 -04:00
(rss +org) ; emacs as an RSS reader
2022-10-01 00:21:40 -04:00
:config
literate
(default +bindings +smartparens))