init.el 7.2 KB

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