init.el 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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. eshell ; a consistent, cross-platform shell (WIP)
  42. imenu ; an imenu sidebar and searchable code index
  43. term ; terminals in Emacs
  44. vc ; version-control and Emacs, sitting in a tree
  45. :tools
  46. ansible
  47. docker
  48. editorconfig ; let someone else argue about tabs vs spaces
  49. eval ; run code, run (also, repls)
  50. ;;ein ; tame Jupyter notebooks with emacs
  51. flycheck ; tasing you for every semicolon you forget
  52. flyspell ; tasing you for misspelling mispelling
  53. gist ; interacting with github gists
  54. (lookup +docsets)
  55. lsp
  56. macos ; MacOS-specific commands
  57. make ; run make tasks from Emacs
  58. (magit +forge) ; a git porcelain for Emacs
  59. password-store ; password manager for nerds
  60. pdf ; pdf enhancements
  61. ;;prodigy ; FIXME managing external services & code builders
  62. ;;rgb ; creating color strings
  63. terraform ; infrastructure as code
  64. ;;tmux ; an API for interacting with tmux
  65. ;;upload ; map local to remote projects via ssh/ftp
  66. ;;wakatime
  67. :lang
  68. ;;assembly ; assembly for fun or debugging
  69. ;;(cc +irony +rtags); C/C++/Obj-C madness
  70. ;;clojure ; java with a lisp
  71. ;;common-lisp ; if you've seen one lisp, you've seen them all
  72. ;;coq ; proofs-as-programs
  73. ;;crystal ; ruby at the speed of c
  74. ;;csharp ; unity, .NET, and mono shenanigans
  75. data ; config/data formats
  76. ;;erlang ; an elegant language for a more civilized age
  77. elixir ; erlang done right
  78. elm ; care for a cup of TEA?
  79. emacs-lisp ; drown in parentheses
  80. ;;ess ; emacs speaks statistics
  81. (go +lsp) ; the hipster dialect
  82. ;;(haskell +intero) ; a language that's lazier than I am
  83. ;;hy ; readability of scheme w/ speed of python
  84. ;;idris ;
  85. ;;(java +meghanada) ; the poster child for carpal tunnel syndrome
  86. javascript ; all(hope(abandon(ye(who(enter(here))))))
  87. julia ; a better, faster MATLAB
  88. latex ; writing papers in Emacs has never been so fun
  89. ;;ledger ; an accounting system in Emacs
  90. ;;lua ; one-based indices? one-based indices
  91. markdown ; writing docs for people to ignore
  92. ;;nim ; python + lisp at the speed of c
  93. ;;nix ; I hereby declare "nix geht mehr!"
  94. ;;ocaml ; an objective camel
  95. (org +attach +babel +capture +export +present +habit +protocol)
  96. ;;perl ; write code no one else can comprehend
  97. ;;php ; perl's insecure younger brother
  98. ;;plantuml ; diagrams for confusing people more
  99. ;;purescript ; javascript, but functional
  100. (python +lsp) ; beautiful is better than ugly
  101. ;;qt ; the 'cutest' gui framework ever
  102. racket ; a DSL for DSLs
  103. rest ; Emacs as a REST client
  104. (ruby +lsp) ; 1.step do {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
  105. (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
  106. ;;scala ; java, but good
  107. (sh +fish) ; she sells (ba|z|fi)sh shells on the C xor
  108. ;;solidity ; do you need a blockchain? No.
  109. ;;swift ; who asked for emoji variables?
  110. web ; the tubes
  111. ;;vala ; GObjective-C
  112. ;; Applications are complex and opinionated modules that transform Emacs
  113. ;; toward a specific purpose. They may have additional dependencies and
  114. ;; should be loaded late.
  115. :app
  116. ;;(email +gmail) ; emacs as an email client
  117. irc ; how neckbeards socialize
  118. notmuch
  119. (rss +org) ; emacs as an RSS reader
  120. ;;twitter ; twitter client https://twitter.com/vnought
  121. ;(write ; emacs as a word processor (latex + org + markdown)
  122. ;; +wordnut ; wordnet (wn) search
  123. ;; +langtool) ; a proofreader (grammar/style check) for Emacs
  124. :collab
  125. ;;floobits ; peer programming for a price
  126. ;;impatient-mode ; show off code over HTTP
  127. :config
  128. ;; For literate config users. This will tangle+compile a config.org
  129. ;; literate config in your `doom-private-dir' whenever it changes.
  130. ;;literate
  131. ;; The default module sets reasonable defaults for Emacs. It also
  132. ;; provides a Spacemacs-inspired keybinding scheme and a smartparens
  133. ;; config. Use it as a reference for your own modules.
  134. (default +bindings +smartparens))
  135. (setq evil-want-C-i-jump nil)