init.el 8.0 KB

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