;;; init.el -*- lexical-binding: t; -*- ;; Copy this file to ~/.doom.d/init.el or ~/.config/doom/init.el ('doom ;; quickstart' will do this for you). The `doom!' block below controls what ;; modules are enabled and in what order they will be loaded. Remember to run ;; 'doom refresh' after modifying it. ;; ;; More information about these modules (and what flags they support) can be ;; found in modules/README.org. (doom! :input ;;chinese ;;japanese :completion company ; the ultimate code completion backend ;;helm ; the *other* search engine for love and life ;;ido ; the other *other* search engine... ( ivy +fuzzy) ; a search engine for love and life :ui ;;deft ; notational velocity for Emacs doom ; what makes DOOM look the way it does doom-dashboard ; a nifty splash screen for Emacs doom-quit ; DOOM quit-message prompts when you quit Emacs ;;fill-column ; a `fill-column' indicator hl-todo ; highlight TODO/FIXME/NOTE tags ;;indent-guides ; highlighted indent columns modeline ; snazzy, Atom-inspired modeline, plus API nav-flash ; blink the current line after jumping ;;neotree ; a project drawer, like NERDTree for vim ophints ; highlight the region an operation acts on (popup ; tame sudden yet inevitable temporary windows +all ; catch all popups that start with an asterix +defaults) ; default popup rules ;;pretty-code ; replace bits of code with pretty symbols ;;tabbar ; FIXME an (incomplete) tab bar for Emacs treemacs ; a project drawer, like neotree but cooler ;;unicode ; extended unicode support for various languages vc-gutter ; vcs diff in the fringe vi-tilde-fringe ; fringe tildes to mark beyond EOB window-select ; visually switch windows workspaces ; tab emulation, persistence & separate workspaces :editor (evil +everywhere); come to the dark side, we have cookies file-templates ; auto-snippets for empty files fold ; (nigh) universal code folding ;;(format +onsave) ; automated prettiness ;;lispy ; vim for lisp, for people who dont like vim multiple-cursors ; editing in many places at once ;;objed ; text object editing for the innocent ;;parinfer ; turn lisp into python, sort of rotate-text ; cycle region at point between text candidates snippets ; my elves. They type so I don't have to :emacs (dired ; making dired pretty [functional] +ranger ; bringing the goodness of ranger to dired +icons ; colorful icons for dired-mode ) electric ; smarter, keyword-based electric-indent vc ; version-control and Emacs, sitting in a tree :term ;;eshell ; a consistent, cross-platform shell (WIP) shell ; a terminal REPL for Emacs ;;term ; terminals in Emacs ;;vterm ; another terminals in Emacs :tools ;;ansible ;;debugger ; FIXME stepping through code, to help you add bugs ;;direnv ;;docker ;;editorconfig ; let someone else argue about tabs vs spaces ;;ein ; tame Jupyter notebooks with emacs eval ; run code, run (also, repls) flycheck ; tasing you for every semicolon you forget ;;flyspell ; tasing you for misspelling mispelling ;;gist ; interacting with github gists (lookup ; helps you navigate your code and documentation +docsets) ; ...or in Dash docsets locally ;;lsp ;;macos ; MacOS-specific commands magit ; a git porcelain for Emacs make ; run make tasks from Emacs ;;pass ; password manager for nerds pdf ; pdf enhancements ;;prodigy ; FIXME managing external services & code builders ;;rgb ; creating color strings ;;terraform ; infrastructure as code ;;tmux ; an API for interacting with tmux ;;upload ; map local to remote projects via ssh/ftp wakatime :lang ;;agda ; types of types of types of types... ;;assembly ; assembly for fun or debugging cc ; C/C++/Obj-C madness ;;clojure ; java with a lisp ;;common-lisp ; if you've seen one lisp, you've seen them all ;;coq ; proofs-as-programs ;;crystal ; ruby at the speed of c csharp ; unity, .NET, and mono shenanigans data ; config/data formats ;;erlang ; an elegant language for a more civilized age ;;elixir ; erlang done right ;;elm ; care for a cup of TEA? emacs-lisp ; drown in parentheses ;;ess ; emacs speaks statistics ;;fsharp ; ML stands for Microsoft's Language ;;go ; the hipster dialect ;;(haskell +intero) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; ;;(java +meghanada) ; the poster child for carpal tunnel syndrome javascript ; all(hope(abandon(ye(who(enter(here)))))) ;;julia ; a better, faster MATLAB ;;kotlin ; a better, slicker Java(Script) ;;latex ; writing papers in Emacs has never been so fun ;;ledger ; an accounting system in Emacs ;;lua ; one-based indices? one-based indices markdown ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c ;;nix ; I hereby declare "nix geht mehr!" ocaml ; an objective camel (org ; organize your plain life in plain text +dragndrop ; file drag & drop support +ipython ; ipython support for babel +pandoc ; pandoc integration into org's exporter +present) ; using Emacs for presentations ;;perl ; write code no one else can comprehend ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional python ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;rest ; Emacs as a REST client ;;ruby ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good sh ; she sells {ba,z,fi}sh shells on the C xor ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? ;;terra ; Earth and Moon in alignment for performance. web ; the tubes ;;vala ; GObjective-C :email ;;(mu4e +gmail) ; WIP ;;notmuch ; WIP ;;(wanderlust +gmail) ; WIP ;; Applications are complex and opinionated modules that transform Emacs ;; toward a specific purpose. They may have additional dependencies and ;; should be loaded late. :app ;;calendar ;;irc ; how neckbeards socialize (rss +org) ; emacs as an RSS reader ;;twitter ; twitter client https://twitter.com/vnought (write ; emacs as a word processor (latex + org + markdown) +wordnut ; wordnet (wn) search +langtool) ; a proofreader (grammar/style check) for Emacs :collab ;;floobits ; peer programming for a price ;;impatient-mode ; show off code over HTTP :config ;; For literate config users. This will tangle+compile a config.org ;; literate config in your `doom-private-dir' whenever it changes. literate ;; The default module sets reasonable defaults for Emacs. It also ;; provides a Spacemacs-inspired keybinding scheme and a smartparens ;; config. Use it as a reference for your own modules. (default +bindings +smartparens)) (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(ansi-color-names-vector ["#181E24" "#ff6c6b" "#98be65" "#ECBE7B" "#51afef" "#c678dd" "#46D9FF" "#bbc2cf"]) '(c-basic-offset 2) '(custom-safe-themes (quote ("f8c30fa07ba7e8fe884f22b428dae6724955fa61ad84a658c3b0164ae391fb52" "a16e816774b437acb78beb9916a60ea236cfcd05784227a7d829623f8468c5a2" "9c27124b3a653d43b3ffa088cd092c34f3f82296cf0d5d4f719c0c0817e1afa6" "e838d6375a73fda607820c65eb3ea1f9336be7bd9a5528c9161e10c4aa663b5b" "427fa665823299f8258d8e27c80a1481edbb8f5463a6fb2665261e9076626710" "4e132458143b6bab453e812f03208075189deca7ad5954a4abb27d5afce10a9a" "06e4b3fdcbadc29ff95a7146dee846cd027cfefca871b2e9142b54ad5de4832f" "8e04ea7bf8a736b0bfacd363f4810ffce774ff9ba24f356172ae2b83307aebb2" "614e5089876ea69b515c50b6d7fa0a37eb7ed50fda224623ec49e1c91a0af6a1" "8047ac280914cbe8dcdc489703c398f0941339cfca77dfc09f3641f1f040267c" "1a6d627434899f6d21e35b85fee62079db55ef04ecd9b70b82e5d475406d9c69" "43c808b039893c885bdeec885b4f7572141bd9392da7f0bd8d8346e02b2ec8da" "2f0cbe053485bccbbbb582acdba7c7c9585ad808ee8ab32f0d727c3d39b42275" "f5568ed375abea716d1bdfae0316d1d179f69972eaccd1f331b3e9863d7e174a" "b0fd04a1b4b614840073a82a53e88fe2abc3d731462d6fde4e541807825af342" "155a5de9192c2f6d53efcc9c554892a0d87d87f99ad8cc14b330f4f4be204445" "cdb3e7a8864cede434b168c9a060bf853eeb5b3f9f758310d2a2e23be41a24ae" "8c847a5675ece40017de93045a28ebd9ede7b843469c5dec78988717f943952a" "ef4edbfc3ec509612f3cf82476beddd2aeb3da7bdc3a35726337a0cc838a4ef4" "e3c87e869f94af65d358aa279945a3daf46f8185f1a5756ca1c90759024593dd" "34c99997eaa73d64b1aaa95caca9f0d64229871c200c5254526d0062f8074693" "cb477d192ee6456dc2eb5ca5a0b7bd16bdb26514be8f8512b937291317c7b166" "fd944f09d4d0c4d4a3c82bd7b3360f17e3ada8adf29f28199d09308ba01cc092" "8db4b03b9ae654d4a57804286eb3e332725c84d7cdab38463cb6b97d5762ad26" "a28d89cf398c60dade1b0a7e3dce9d4691c236c05a050b7e6ba808bfce2622e1" "80365dd15f97396bdc38490390c23337063c8965c4556b8f50937e63b5e9a65c" "f0dc4ddca147f3c7b1c7397141b888562a48d9888f1595d69572db73be99a024" "6d589ac0e52375d311afaa745205abb6ccb3b21f6ba037104d71111e7e76a3fc" "9954ed41d89d2dcf601c8e7499b6bb2778180bfcaeb7cdfc648078b8e05348c6" "75d3dde259ce79660bac8e9e237b55674b910b470f313cdf4b019230d01a982a" "10461a3c8ca61c52dfbbdedd974319b7f7fd720b091996481c8fb1dded6c6116" "797f9204474ae55a3f65d2fc5fb28caf117bb7e0e3eaac58729a9edb38bf7f14" "256bd513a9875cd855077162cdfee8d75b0ad7e18fe8b8cbc10412561fbef892" default))) '(elcord-use-major-mode-as-main-icon t) '(evil-ex-search-highlight-all t) '(evil-ex-search-persistent-highlight nil) '(fci-rule-color "#5B6268") '(flymake-proc-allowed-file-name-masks (quote (("\"\\\\.ino\\\\\"" flymake-proc-simple-make-init nil nil) ("\\.\\(?:c\\(?:pp\\|xx\\|\\+\\+\\)?\\|CC\\)\\'" flymake-proc-simple-make-init nil flymake-proc-real-file-name-considering-includes) ("\\.xml\\'" flymake-proc-xml-init nil nil) ("\\.html?\\'" flymake-proc-xml-init nil nil) ("\\.cs\\'" flymake-proc-simple-make-init nil nil) ("\\.php[345]?\\'" flymake-proc-php-init nil nil) ("\\.h\\'" flymake-proc-master-make-header-init flymake-proc-master-cleanup nil) ("\\.java\\'" flymake-proc-simple-make-java-init flymake-proc-simple-java-cleanup nil) ("[0-9]+\\.tex\\'" flymake-proc-master-tex-init flymake-proc-master-cleanup nil) ("\\.tex\\'" flymake-proc-simple-tex-init nil nil) ("\\.idl\\'" flymake-proc-simple-make-init nil nil)))) '(jdee-db-active-breakpoint-face-colors (cons "#1B2229" "#51afef")) '(jdee-db-requested-breakpoint-face-colors (cons "#1B2229" "#98be65")) '(jdee-db-spec-breakpoint-face-colors (cons "#1B2229" "#3f444a")) '(js-indent-level 2) '(objed-cursor-color "#ff6c6b") '(pug-tab-width 2) '(vc-annotate-background "#282c34") '(vc-annotate-color-map (list (cons 20 "#98be65") (cons 40 "#b4be6c") (cons 60 "#d0be73") (cons 80 "#ECBE7B") (cons 100 "#e6ab6a") (cons 120 "#e09859") (cons 140 "#da8548") (cons 160 "#d38079") (cons 180 "#cc7cab") (cons 200 "#c678dd") (cons 220 "#d974b7") (cons 240 "#ec7091") (cons 260 "#ff6c6b") (cons 280 "#cf6162") (cons 300 "#9f585a") (cons 320 "#6f4e52") (cons 340 "#5B6268") (cons 360 "#5B6268"))) '(vc-annotate-very-old-color nil) '(wakatime-cli-path "/usr/local/bin/wakatime") '(wakatime-python-bin nil)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. )