doom.d/init.el

115 lines
4.5 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 02:34:17 -05:00
(company +childframe) ; the ultimate code completion backend
2023-01-18 02:21:59 -05:00
(vertico +childframe +icons)
2022-10-01 00:21:40 -04:00
: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
2023-04-07 12:15:43 -04:00
indent-guides ; highlighted indent columns
2022-10-31 12:08:17 -04:00
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
2023-04-11 20:35:51 -04:00
(:if (not IS-WINDOWS) vterm)
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
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
2023-04-07 19:36:41 -04:00
(lsp +peek) ; M-x vscode
2023-04-11 16:08:13 -04:00
magit
2022-10-31 12:08:17 -04:00
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
2023-03-09 05:35:00 -05:00
;;; Programming languages
;; Systems/low level languages
2023-03-09 05:31:33 -05:00
(rust +lsp +tree-sitter)
2023-03-09 05:35:00 -05:00
;; JVM
(java +lsp)
(kotlin +lsp)
;; Web
2023-03-09 05:50:43 -05:00
(javascript +lsp +tree-sitter)
(web +lsp +tree-sitter)
2023-03-09 05:35:00 -05:00
;; Other High Level
(haskell +lsp +tree-sitter)
emacs-lisp
(scheme +chez)
(sh +fish)
2023-03-09 05:35:00 -05:00
;; Configuration/Data
(nix +tree-sitter)
data
2023-03-09 05:31:33 -05:00
(yaml +tree-sittter)
2023-03-09 05:35:00 -05:00
(json +tree-sitter)
2023-03-10 00:13:26 -05:00
dhall
2023-03-09 05:35:00 -05:00
;; Markup
(latex +fold)
(markdown +tree-sitter)
(org +pandoc +present +roam2 +pomodoro)
2022-11-05 15:25:46 -04:00
plantuml
2023-05-21 03:59:13 -04:00
(python +cython +lsp +pyenv +pyright +tree-sitter)
2022-10-01 00:21:40 -04:00
:email
2023-04-11 20:35:51 -04:00
(:if IS-LINUX (mu4e +org))
2022-10-01 00:21:40 -04:00
: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))