| @@ -1,84 +1,47 @@ |
| 1 | ;;; init.el -*- lexical-binding: t; -*- |
1 | ;;; init.el -*- lexical-binding: t; -*- |
| 2 | |
2 | |
| 3 | ;; This file controls what Doom modules are enabled and what order they load |
| |
| 4 | ;; in. Remember to run 'doom sync' after modifying it! |
| |
| 5 | |
| |
| 6 | ;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's |
| |
| 7 | ;; documentation. There you'll find a link to Doom's Module Index where all |
| |
| 8 | ;; of our modules are listed, including what flags they support. |
| |
| 9 | |
| |
| 10 | ;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or |
| |
| 11 | ;; 'C-c c k' for non-vim users) to view its documentation. This works on |
| |
| 12 | ;; flags as well (those symbols that start with a plus). |
| |
| 13 | ;; |
| |
| 14 | ;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its |
| |
| 15 | ;; directory (for easy access to its source code). |
| |
| 16 | |
| |
| 17 | (doom! :input |
3 | (doom! :input |
| 18 | ;;bidi ; (tfel ot) thgir etirw uoy gnipleh |
| |
| 19 | ;;chinese |
| |
| 20 | ;;japanese |
| |
| 21 | ;;layout ; auie,ctsrnm is the superior home row |
| |
| 22 | |
| |
| 23 | :completion |
4 | :completion |
| 24 | ;;company ; the ultimate code completion backend |
| |
| 25 | (corfu +orderless) ; complete with cap(f), cape and a flying feather! |
5 | (corfu +orderless) ; complete with cap(f), cape and a flying feather! |
| 26 | ;;helm ; the *other* search engine for love and life |
| |
| 27 | ;;ido ; the other *other* search engine... |
| |
| 28 | ;;ivy ; a search engine for love and life |
| |
| 29 | vertico ; the search engine of the future |
6 | vertico ; the search engine of the future |
| 30 | |
7 | |
| 31 | :ui |
8 | :ui |
| 32 | ;;deft ; notational velocity for Emacs |
| |
| 33 | doom ; what makes DOOM look the way it does |
9 | doom ; what makes DOOM look the way it does |
| 34 | doom-dashboard ; a nifty splash screen for Emacs |
10 | doom-dashboard ; a nifty splash screen for Emacs |
| 35 | doom-quit ; DOOM quit-message prompts when you quit Emacs |
11 | doom-quit ; DOOM quit-message prompts when you quit Emacs |
| 36 | (emoji +unicode) ; 🙂 |
| |
| 37 | hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW |
12 | hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW |
| 38 | ;;indent-guides ; highlighted indent columns |
13 | indent-guides ; highlighted indent columns |
| 39 | ;;ligatures ; ligatures and symbols to make your code pretty again |
14 | minimap ; show a map of the code on the side |
| 40 | ;;minimap ; show a map of the code on the side |
| |
| 41 | modeline ; snazzy, Atom-inspired modeline, plus API |
15 | modeline ; snazzy, Atom-inspired modeline, plus API |
| 42 | ;;nav-flash ; blink cursor line after big motions |
| |
| 43 | ;;neotree ; a project drawer, like NERDTree for vim |
| |
| 44 | ophints ; highlight the region an operation acts on |
16 | ophints ; highlight the region an operation acts on |
| 45 | (popup +defaults) ; tame sudden yet inevitable temporary windows |
17 | (popup +defaults) ; tame sudden yet inevitable temporary windows |
| 46 | ;;tabs ; a tab bar for Emacs |
18 | smooth-scroll ; So smooth you won't believe it's not butter |
| |
19 | tabs ; a tab bar for Emacs |
| 47 | treemacs ; a project drawer, like neotree but cooler |
20 | treemacs ; a project drawer, like neotree but cooler |
| 48 | ;;unicode ; extended unicode support for various languages |
21 | unicode ; extended unicode support for various languages |
| 49 | (vc-gutter +pretty) ; vcs diff in the fringe |
22 | (vc-gutter +pretty) ; vcs diff in the fringe |
| 50 | vi-tilde-fringe ; fringe tildes to mark beyond EOB |
23 | vi-tilde-fringe ; fringe tildes to mark beyond EOB |
| 51 | ;;window-select ; visually switch windows |
| |
| 52 | workspaces ; tab emulation, persistence & separate workspaces |
24 | workspaces ; tab emulation, persistence & separate workspaces |
| 53 | ;;zen ; distraction-free coding or writing |
25 | zen ; distraction-free coding or writing |
| 54 | |
26 | |
| 55 | :editor |
27 | :editor |
| 56 | (evil +everywhere); come to the dark side, we have cookies |
28 | (evil +everywhere); come to the dark side, we have cookies |
| 57 | file-templates ; auto-snippets for empty files |
29 | file-templates ; auto-snippets for empty files |
| 58 | fold ; (nigh) universal code folding |
30 | fold ; (nigh) universal code folding |
| 59 | ;;(format +onsave) ; automated prettiness |
31 | (format +onsave) ; automated prettiness |
| 60 | ;;god ; run Emacs commands without modifier keys |
| |
| 61 | ;;lispy ; vim for lisp, for people who don't like vim |
| |
| 62 | ;;multiple-cursors ; editing in many places at once |
| |
| 63 | ;;objed ; text object editing for the innocent |
| |
| 64 | ;;parinfer ; turn lisp into python, sort of |
| |
| 65 | ;;rotate-text ; cycle region at point between text candidates |
| |
| 66 | snippets ; my elves. They type so I don't have to |
32 | snippets ; my elves. They type so I don't have to |
| 67 | ;;word-wrap ; soft wrapping with language-aware indent |
33 | (whitespace +guess +trim) ; a butler for your whitespace |
| 68 | |
34 | |
| 69 | :emacs |
35 | :emacs |
| 70 | dired ; making dired pretty [functional] |
36 | dired ; making dired pretty [functional] |
| 71 | electric ; smarter, keyword-based electric-indent |
37 | electric ; smarter, keyword-based electric-indent |
| 72 | eww ; the internet is gross |
38 | eww ; the internet is gross |
| 73 | ;;ibuffer ; interactive buffer management |
39 | tramp ; remote files at your arthritic fingertips |
| 74 | undo ; persistent, smarter undo for your inevitable mistakes |
40 | undo ; persistent, smarter undo for your inevitable mistakes |
| 75 | vc ; version-control and Emacs, sitting in a tree |
41 | vc ; version-control and Emacs, sitting in a tree |
| 76 | |
42 | |
| 77 | :term |
43 | :term |
| 78 | ;;eshell ; the elisp shell that works everywhere |
44 | vterm ; the best terminal emulation in Emacs |
| 79 | ;;shell ; simple shell REPL for Emacs |
| |
| 80 | ;;term ; basic terminal emulator for Emacs |
| |
| 81 | ;;vterm ; the best terminal emulation in Emacs |
| |
| 82 | |
45 | |
| 83 | :checkers |
46 | :checkers |
| 84 | syntax ; tasing you for every semicolon you forget |
47 | syntax ; tasing you for every semicolon you forget |
| @@ -86,108 +49,37 @@ |
| 86 | grammar ; tasing grammar mistake every you make |
49 | grammar ; tasing grammar mistake every you make |
| 87 | |
50 | |
| 88 | :tools |
51 | :tools |
| 89 | ;;ansible |
52 | docker |
| 90 | ;;biblio ; Writes a PhD for you (citation needed) |
53 | editorconfig ; let someone else argue about tabs vs spaces |
| 91 | ;;collab ; buffers with friends |
54 | ein ; tame Jupyter notebooks with emacs |
| 92 | ;;debugger ; FIXME stepping through code, to help you add bugs |
| |
| 93 | ;;direnv |
| |
| 94 | ;;docker |
| |
| 95 | ;;editorconfig ; let someone else argue about tabs vs spaces |
| |
| 96 | ;;ein ; tame Jupyter notebooks with emacs |
| |
| 97 | (eval +overlay) ; run code, run (also, repls) |
55 | (eval +overlay) ; run code, run (also, repls) |
| 98 | lookup ; navigate your code and its documentation |
56 | lookup ; navigate your code and its documentation |
| 99 | ;;lsp ; M-x vscode |
57 | llm ; when I said you needed friends, I didn't mean... |
| |
58 | (lsp +eglot) ; M-x vscode |
| 100 | magit ; a git porcelain for Emacs |
59 | magit ; a git porcelain for Emacs |
| 101 | ;;make ; run make tasks from Emacs |
60 | tree-sitter ; syntax and parsing, sitting in a tree... |
| 102 | ;;pass ; password manager for nerds |
| |
| 103 | ;;pdf ; pdf enhancements |
| |
| 104 | ;;prodigy ; FIXME managing external services & code builders |
| |
| 105 | ;;terraform ; infrastructure as code |
| |
| 106 | ;;tmux ; an API for interacting with tmux |
| |
| 107 | ;;tree-sitter ; syntax and parsing, sitting in a tree... |
| |
| 108 | ;;upload ; map local to remote projects via ssh/ftp |
| |
| 109 | |
61 | |
| 110 | :os |
62 | :os |
| 111 | (:if (featurep :system 'macos) macos) ; improve compatibility with macOS |
63 | (:if (featurep :system 'macos) macos) ; improve compatibility with macOS |
| 112 | ;;tty ; improve the terminal Emacs experience |
64 | tty ; improve the terminal Emacs experience |
| 113 | |
65 | |
| 114 | :lang |
66 | :lang |
| 115 | ;;agda ; types of types of types of types... |
67 | data ; config/data formats |
| 116 | ;;beancount ; mind the GAAP |
| |
| 117 | ;;(cc +lsp) ; C > C++ == 1 |
| |
| 118 | ;;clojure ; java with a lisp |
| |
| 119 | ;;common-lisp ; if you've seen one lisp, you've seen them all |
| |
| 120 | ;;coq ; proofs-as-programs |
| |
| 121 | ;;crystal ; ruby at the speed of c |
| |
| 122 | ;;csharp ; unity, .NET, and mono shenanigans |
| |
| 123 | ;;data ; config/data formats |
| |
| 124 | ;;(dart +flutter) ; paint ui and not much else |
| |
| 125 | ;;dhall |
| |
| 126 | ;;elixir ; erlang done right |
| |
| 127 | ;;elm ; care for a cup of TEA? |
| |
| 128 | emacs-lisp ; drown in parentheses |
68 | emacs-lisp ; drown in parentheses |
| 129 | ;;erlang ; an elegant language for a more civilized age |
69 | json ; At least it ain't XML |
| 130 | ;;ess ; emacs speaks statistics |
| |
| 131 | ;;factor |
| |
| 132 | ;;faust ; dsp, but you get to keep your soul |
| |
| 133 | ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) |
| |
| 134 | ;;fsharp ; ML stands for Microsoft's Language |
| |
| 135 | ;;fstar ; (dependent) types and (monadic) effects and Z3 |
| |
| 136 | ;;gdscript ; the language you waited for |
| |
| 137 | ;;(go +lsp) ; the hipster dialect |
| |
| 138 | ;;(graphql +lsp) ; Give queries a REST |
| |
| 139 | ;;(haskell +lsp) ; a language that's lazier than I am |
| |
| 140 | ;;hy ; readability of scheme w/ speed of python |
| |
| 141 | ;;idris ; a language you can depend on |
| |
| 142 | ;;json ; At least it ain't XML |
| |
| 143 | ;;(java +lsp) ; the poster child for carpal tunnel syndrome |
| |
| 144 | javascript ; all(hope(abandon(ye(who(enter(here)))))) |
70 | javascript ; all(hope(abandon(ye(who(enter(here)))))) |
| 145 | ;;julia ; a better, faster MATLAB |
| |
| 146 | ;;kotlin ; a better, slicker Java(Script) |
| |
| 147 | ;;latex ; writing papers in Emacs has never been so fun |
| |
| 148 | ;;lean ; for folks with too much to prove |
| |
| 149 | ;;ledger ; be audit you can be |
| |
| 150 | ;;lua ; one-based indices? one-based indices |
| |
| 151 | markdown ; writing docs for people to ignore |
71 | markdown ; writing docs for people to ignore |
| 152 | ;;nim ; python + lisp at the speed of c |
| |
| 153 | ;;nix ; I hereby declare "nix geht mehr!" |
| |
| 154 | ;;ocaml ; an objective camel |
| |
| 155 | org ; organize your plain life in plain text |
72 | org ; organize your plain life in plain text |
| 156 | ;;php ; perl's insecure younger brother |
73 | (org +dragndrop ; drag & drop images/files into org |
| 157 | ;;plantuml ; diagrams for confusing people more |
74 | +hugo ; use this if you plan to use weblorg/hugo for your site |
| 158 | ;;graphviz ; diagrams for confusing yourself even more |
75 | +journal ; daily logging |
| 159 | ;;purescript ; javascript, but functional |
76 | +noter ; for annotating PDFs (great for research) |
| |
77 | +roam2) ; Zettelkasten note-taking |
| 160 | python ; beautiful is better than ugly |
78 | python ; beautiful is better than ugly |
| 161 | ;;qt ; the 'cutest' gui framework ever |
| |
| 162 | ;;racket ; a DSL for DSLs |
| |
| 163 | ;;raku ; the artist formerly known as perl6 |
| |
| 164 | ;;rest ; Emacs as a REST client |
| |
| 165 | ;;rst ; ReST in peace |
| |
| 166 | ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} |
| |
| 167 | ;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() |
| |
| 168 | ;;scala ; java, but good |
| |
| 169 | ;;(scheme +guile) ; a fully conniving family of lisps |
| |
| 170 | sh ; she sells {ba,z,fi}sh shells on the C xor |
79 | sh ; she sells {ba,z,fi}sh shells on the C xor |
| 171 | ;;sml |
| |
| 172 | ;;solidity ; do you need a blockchain? No. |
| |
| 173 | ;;swift ; who asked for emoji variables? |
| |
| 174 | ;;terra ; Earth and Moon in alignment for performance. |
| |
| 175 | ;;web ; the tubes |
| |
| 176 | ;;yaml ; JSON, but readable |
| |
| 177 | ;;zig ; C, but simpler |
| |
| 178 | |
| |
| 179 | :email |
| |
| 180 | (mu4e +org) |
| |
| 181 | ;;notmuch |
| |
| 182 | ;;(wanderlust +gmail) |
| |
| 183 | |
80 | |
| 184 | :app |
81 | :app |
| 185 | ;;calendar |
82 | calendar |
| 186 | ;;emms |
| |
| 187 | ;;everywhere ; *leave* Emacs!? You must be joking |
| |
| 188 | ;;irc ; how neckbeards socialize |
| |
| 189 | ;;(rss +org) ; emacs as an RSS reader |
| |
| 190 | |
83 | |
| 191 | :config |
84 | :config |
| 192 | ;;literate |
| |
| 193 | (default +bindings +smartparens)) |
85 | (default +bindings +smartparens)) |