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