System/doom.d/init.el

104 lines
4.4 KiB
EmacsLisp
Raw Normal View History

2022-04-21 15:18:47 -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).
2022-05-09 21:16:01 -04:00
(doom! :completion
2022-08-18 03:01:39 -04:00
(company +childframe) ; the ultimate code completion backend
2022-05-09 21:16:01 -04:00
(ivy +fuzzy +precient +childframe +icons)
2022-04-21 15:18:47 -04:00
:ui
2022-05-09 21:16:01 -04:00
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
2022-08-18 03:01:39 -04:00
(emoji +unicode) ; 🙂
hl-todo ; highlight todo-words
2022-05-09 21:16:01 -04:00
indent-guides ; highlighted indent columns
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions
2022-04-21 15:18:47 -04:00
(popup +defaults) ; tame sudden yet inevitable temporary windows
2022-05-09 21:16:01 -04:00
tabs ; a tab bar for Emacs
(treemacs +lsp) ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages
window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
2022-05-09 21:16:01 -04:00
zen ; distraction-free coding or writing
2022-04-21 15:18:47 -04:00
:editor
2022-05-09 21:16:01 -04:00
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
2022-08-18 03:01:39 -04:00
multiple-cursors ; editing in many places at once
2022-05-09 21:16:01 -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-04-21 15:18:47 -04:00
:emacs
2022-05-09 21:16:01 -04:00
(dired +icons) ; making dired pretty [functional]
2022-04-21 15:18:47 -04:00
electric ; smarter, keyword-based electric-indent
2022-05-09 21:16:01 -04:00
(ibuffer +icons) ; interactive buffer management
2022-04-21 15:18:47 -04:00
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:term
2022-05-09 21:16:01 -04:00
vterm ; the best terminal emulation in Emacs
2022-04-21 15:18:47 -04:00
:checkers
2022-05-09 21:16:01 -04:00
(syntax +childframe) ; tasing you for every semicolon you forget
(spell +flyspell +hunspell +everywhere) ; tasing you for misspelling mispelling
2022-04-21 15:18:47 -04:00
:tools
(debugger +lsp) ; stepping through code, to help you add bugs
2022-04-21 15:18:47 -04:00
direnv
2022-05-09 21:16:01 -04:00
docker
editorconfig ; let someone else argue about tabs vs spaces
2022-04-21 15:18:47 -04:00
(eval +overlay) ; run code, run (also, repls)
lookup ; navigate your code and its documentation
2022-05-09 21:16:01 -04:00
lsp ; M-x vscode
(magit +forge) ; a git porcelain for Emacs
pdf ; pdf enhancements
rgb ; creating color strings
2022-04-21 15:18:47 -04:00
:os
(:if IS-MAC macos) ; improve compatibility with macOS
2022-08-09 13:13:14 -04:00
(tty +osc)
2022-04-21 15:18:47 -04:00
:lang
2022-05-09 21:16:01 -04:00
data ; config/data formats
emacs-lisp ; drown in parentheses
json ; At least it ain't XML
(latex +fold) ; writing papers in Emacs has never been so fun
markdown ; writing docs for people to ignore
nix ; I hereby declare "nix geht mehr!"
2022-07-01 20:22:12 -04:00
(org +pandoc +present +roam2 +pomodoro) ; organize your plain life in plain text
2022-05-09 21:16:01 -04:00
raku ; the artist formerly known as perl6
rest ; Emacs as a REST client
(rust +lsp)
(sh +fish) ; she sells {ba,z,fi}sh shells on the C xor
2022-05-15 21:52:46 -04:00
yaml ; JSON, but readable
(kotlin +lsp)
2022-05-16 00:54:46 -04:00
(java +lsp +meghanada)
2022-05-18 01:10:00 -04:00
(javascript +lsp)
2022-08-18 03:01:39 -04:00
2022-04-21 15:18:47 -04:00
:email
2022-07-02 22:36:59 -04:00
(mu4e +org)
2022-04-21 15:18:47 -04:00
:app
2022-05-09 21:16:01 -04:00
(rss +org) ; emacs as an RSS reader
2022-04-21 15:18:47 -04:00
:config
2022-05-09 21:16:01 -04:00
literate
2022-04-21 15:18:47 -04:00
(default +bindings +smartparens))
2022-05-09 21:16:01 -04:00
(add-hook! 'emacs-startup-hook #'doom-init-ui-h)