init.el 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. ;;; init.el -*- lexical-binding: t; -*-
  2. ;; Copy me to ~/.doom.d/init.el or ~/.config/doom/init.el, then edit me!
  3. (doom! :feature
  4. ;;debugger ; FIXME stepping through code, to help you add bugs
  5. eval ; run code, run (also, repls)
  6. (evil +everywhere); come to the dark side, we have cookies
  7. file-templates ; auto-snippets for empty files
  8. (lookup ; helps you navigate your code and documentation
  9. +docsets) ; ...or in Dash docsets locally
  10. snippets ; my elves. They type so I don't have to
  11. workspaces ; tab emulation, persistence & separate workspaces
  12. :completion
  13. company ; the ultimate code completion backend
  14. ;;(helm +fuzzy)
  15. ;;ido ; the other *other* search engine...
  16. (ivy +fuzzy) ; a search engine for love and life
  17. :ui
  18. ;;deft ; notational velocity for Emacs
  19. doom ; what makes DOOM look the way it does
  20. doom-dashboard ; a nifty splash screen for Emacs
  21. ;;doom-quit ; DOOM quit-message prompts when you quit Emacs
  22. evil-goggles ; display visual hints when editing in evil
  23. fci ; a `fill-column' indicator
  24. hl-todo ; highlight TODO/FIXME/NOTE tags
  25. modeline ; snazzy, Atom-inspired modeline, plus API
  26. nav-flash ; blink the current line after jumping
  27. ;;neotree ; a project drawer, like NERDTree for vim
  28. treemacs ; a project drawer, like neotree but cooler
  29. (popup ; tame sudden yet inevitable temporary windows
  30. +all ; catch all popups that start with an asterix
  31. +defaults) ; default popup rules
  32. ;;pretty-code ; replace bits of code with pretty symbols
  33. ;;tabbar ; FIXME an (incomplete) tab bar for Emacs
  34. ;;unicode ; extended unicode support for various languages
  35. vc-gutter ; vcs diff in the fringe
  36. vi-tilde-fringe ; fringe tildes to mark beyond EOB
  37. window-select ; visually switch windows
  38. :editor
  39. fold
  40. (format +onsave) ; automated prettiness
  41. ;;lispy ; vim for lisp, for people who dont like vim
  42. multiple-cursors ; editing in many places at once
  43. ;;parinfer ; turn lisp into python, sort of
  44. rotate-text ; cycle region at point between text candidates
  45. :emacs
  46. (dired ; making dired pretty [functional]
  47. ;;+ranger ; bringing the goodness of ranger to dired
  48. +icons ; colorful icons for dired-mode
  49. )
  50. electric ; smarter, keyword-based electric-indent
  51. eshell ; a consistent, cross-platform shell (WIP)
  52. imenu ; an imenu sidebar and searchable code index
  53. term ; terminals in Emacs
  54. vc ; version-control and Emacs, sitting in a tree
  55. :tools
  56. ansible
  57. docker
  58. editorconfig ; let someone else argue about tabs vs spaces
  59. ;;ein ; tame Jupyter notebooks with emacs
  60. flycheck ; tasing you for every semicolon you forget
  61. flyspell ; tasing you for misspelling mispelling
  62. gist ; interacting with github gists
  63. lsp
  64. macos ; MacOS-specific commands
  65. make ; run make tasks from Emacs
  66. (magit +forge) ; a git porcelain for Emacs
  67. password-store ; password manager for nerds
  68. pdf ; pdf enhancements
  69. ;;prodigy ; FIXME managing external services & code builders
  70. ;;rgb ; creating color strings
  71. terraform ; infrastructure as code
  72. ;;tmux ; an API for interacting with tmux
  73. ;;upload ; map local to remote projects via ssh/ftp
  74. ;;wakatime
  75. :lang
  76. ;;assembly ; assembly for fun or debugging
  77. ;;(cc +irony +rtags); C/C++/Obj-C madness
  78. ;;clojure ; java with a lisp
  79. ;;common-lisp ; if you've seen one lisp, you've seen them all
  80. ;;coq ; proofs-as-programs
  81. ;;crystal ; ruby at the speed of c
  82. ;;csharp ; unity, .NET, and mono shenanigans
  83. data ; config/data formats
  84. ;;erlang ; an elegant language for a more civilized age
  85. elixir ; erlang done right
  86. ;;elm ; care for a cup of TEA?
  87. emacs-lisp ; drown in parentheses
  88. ;;ess ; emacs speaks statistics
  89. go ; the hipster dialect
  90. ;;(haskell +intero) ; a language that's lazier than I am
  91. ;;hy ; readability of scheme w/ speed of python
  92. ;;idris ;
  93. ;;(java +meghanada) ; the poster child for carpal tunnel syndrome
  94. (javascript +lsp) ; all(hope(abandon(ye(who(enter(here))))))
  95. ;;julia ; a better, faster MATLAB
  96. ;;latex ; writing papers in Emacs has never been so fun
  97. ;;ledger ; an accounting system in Emacs
  98. ;;lua ; one-based indices? one-based indices
  99. markdown ; writing docs for people to ignore
  100. ;;nim ; python + lisp at the speed of c
  101. ;;nix ; I hereby declare "nix geht mehr!"
  102. ;;ocaml ; an objective camel
  103. (org ; organize your plain life in plain text
  104. +attach ; custom attachment system
  105. +babel ; running code in org
  106. +capture ; org-capture in and outside of Emacs
  107. +export ; Exporting org to whatever you want
  108. +hugo
  109. +journal
  110. +present) ; Emacs for presentations
  111. ;;perl ; write code no one else can comprehend
  112. ;;php ; perl's insecure younger brother
  113. ;;plantuml ; diagrams for confusing people more
  114. ;;purescript ; javascript, but functional
  115. (python +lsp) ; beautiful is better than ugly
  116. ;;qt ; the 'cutest' gui framework ever
  117. ;;racket ; a DSL for DSLs
  118. rest ; Emacs as a REST client
  119. (ruby +lsp) ; 1.step do {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
  120. ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
  121. ;;scala ; java, but good
  122. (sh +fish) ; she sells (ba|z|fi)sh shells on the C xor
  123. ;;solidity ; do you need a blockchain? No.
  124. ;;swift ; who asked for emoji variables?
  125. web ; the tubes
  126. ;;vala ; GObjective-C
  127. ;; Applications are complex and opinionated modules that transform Emacs
  128. ;; toward a specific purpose. They may have additional dependencies and
  129. ;; should be loaded late.
  130. :app
  131. notmuch
  132. ;;(email +gmail) ; emacs as an email client
  133. irc ; how neckbeards socialize
  134. (rss +org) ; emacs as an RSS reader
  135. ;;twitter ; twitter client https://twitter.com/vnought
  136. ;(write ; emacs as a word processor (latex + org + markdown)
  137. ;; +wordnut ; wordnet (wn) search
  138. ;; +langtool) ; a proofreader (grammar/style check) for Emacs
  139. :collab
  140. ;;floobits ; peer programming for a price
  141. impatient-mode ; show off code over HTTP
  142. :config
  143. ;; For literate config users. This will tangle+compile a config.org
  144. ;; literate config in your `doom-private-dir' whenever it changes.
  145. ;;literate
  146. ;; The default module sets reasonable defaults for Emacs. It also
  147. ;; provides a Spacemacs-inspired keybinding scheme and a smartparens
  148. ;; config. Use it as a reference for your own modules.
  149. (default +bindings +smartparens))