;;; init.el -*- lexical-binding: t; -*- ;; This file controls what Doom modules are enabled and what order they load in. ;; Press 'K' on a module to view its documentation, and 'gd' to browse its directory. (doom! :completion (company ; the ultimate code completion backend +childframe) ; ... when your children are better than you (vertico +icons) ; the search engine of the future :ui doom-dashboard ; a nifty splash screen for Emacs doom-quit ; DOOM quit-message prompts when you quit Emacs (ligatures ; ligatures and symbols to make your code pnoretty again +extra) ; for those who dislike letters minimap ; show a map of the code on the side 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 vc-gutter ; vcs diff in the fringe workspaces ; tab emulation, persistence & separate workspaces zen ; distraction-free coding or writing :editor (evil +everywhere) ; come to the dark side, we have cookies format ; automated prettiness :emacs (dired +icons) ; making dired pretty [functional] electric ; smarter, keyword-based electric-indent (ibuffer +icons) ; interactive buffer management undo ; persistent, smarter undo for your inevitable mistakes vc ; version-control and Emacs, sitting in a tree :term vterm ; the best terminal emulation in Emacs :checkers syntax ; tasing you for every semicolon you forget (:if (executable-find "aspell") spell) ; tasing you for misspelling mispelling (:if (executable-find "languagetool") grammar) ; tasing grammar mistake every you make :tools biblio ; Writes a PhD for you (citation needed) (debugger +lsp) ; FIXME stepping through code, to help you add bugs (eval +overlay) ; run code, run (also, repls) (lookup ; helps you navigate your code and documentation +dictionary ; dictionary/thesaurus is nice +docsets) ; ...or in Dash docsets locally lsp ; Language Server Protocol (magit ; a git porcelain for Emacs +forge) ; interface with git forges pdf ; pdf enhancements rgb ; creating color strings tree-sitter ; Syntax and Parsing sitting in a tree :os (:if IS-MAC macos) ; improve compatibility with macOS :lang ;;agda ; types of types of types of types... ;;beancount ; mind the GAAP (cc +lsp +tree-sitter) ; C/C++/Obj-C madness (clojure +lsp) ; 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 ;;(dart +flutter) ; paint ui and not much else ;;dhall ; JSON with FP sprinkles ;;elixir ; erlang done right ;;elm ; care for a cup of TEA? emacs-lisp ; drown in parentheses ;;erlang ; an elegant language for a more civilized age ;;ess ; emacs speaks statistics ;;faust ; dsp, but you get to keep your soul ;;fsharp ; ML stands for Microsoft's Language ;;fstar ; (dependent) types and (monadic) effects and Z3 ;;gdscript ; the language you waited for ;;(go +lsp) ; the hipster dialect ;;(haskell +lsp) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; ;;json ; At least it ain't XML ;;(java +lsp) ; the poster child for carpal tunnel syndrome ;;(javascript +lsp) ; all(hope(abandon(ye(who(enter(here)))))) ;;(julia +lsp) ; Python, R, and MATLAB in a blender ;;(kotlin +lsp) ; a better, slicker Java(Script) (latex ; writing papers in Emacs has never been so fun ;;+fold ; fold the clutter away nicities +latexmk ; modern latex plz ;;+cdlatex ; quick maths symbols +lsp) ;;lean ; proof that mathematicians need help ;;factor ; for when scripts are stacked against you ;;ledger ; an accounting system in Emacs (lua +lsp +fennel) ; one-based indices? one-based indices (markdown +grip) ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c (nix +tree-sitter) ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel (org ; organize your plain life in plain text ;;+pretty ; yessss my pretties! (nice unicode symbols) ;;+dragndrop ; drag & drop files/images into org buffers ;;+hugo ; use Emacs for hugo blogging +noter ; enhanced PDF notetaking +jupyter ; ipython/jupyter support for babel +pandoc ; export-with-pandoc support +gnuplot ; who doesn't like pretty pictures +pomodoro ; be fruitful with the tomato technique +present ; using org-mode for presentations +roam2) ; wander around notes ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional (python ; beautiful is better than ugly +lsp +pyright +tree-sitter +conda) ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 ;;(rust ;; +lsp ;; +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap() ;;scala ; java, but good ;;scheme ; a fully conniving family of lisps ;;(sh +lsp +fish +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor ;;sml ; no, the /other/ ML ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? ;;terra ; Earth and Moon in alignment for performance. ;;(web +lsp) ; the tubes ;;yaml ; JSON, but readable ;;zig ; C, but simpler :email ;; (:if (executable-find "mu") (mu4e +org +gmail)) :app ;;calendar ; A dated approach to timetabling ;;emms ; Multimedia in Emacs is music to my ears ;;everywhere ; *leave* Emacs!? You must be joking. ;; (rss +org) ; emacs as an RSS reader :config literate (default +bindings +smartparens))