diff --git a/.doom.d/config.el b/.doom.d/config.el index a8d536f..2e0cdc3 100644 --- a/.doom.d/config.el +++ b/.doom.d/config.el @@ -1,7 +1,57 @@ -;;; ~/.doom.d/config.el -*- lexical-binding: t; -*- +;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- -;; Place your private configuration here -(require 'dap-go) +;; Place your private configuration here! Remember, you do not need to run 'doom +;; sync' after modifying this file! + + +;; Some functionality uses this to identify you, e.g. GPG configuration, email +;; clients, file templates and snippets. +(setq user-full-name "John Doe" + user-mail-address "john@doe.com") + +;; Doom exposes five (optional) variables for controlling fonts in Doom. Here +;; are the three important ones: +;; +;; + `doom-font' +;; + `doom-variable-pitch-font' +;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for +;; presentations or streaming. +;; +;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd +;; font string. You generally only need these two: +;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light) +;; doom-variable-pitch-font (font-spec :family "sans" :size 13)) + +;; There are two ways to load a theme. Both assume the theme is installed and +;; available. You can either set `doom-theme' or manually load a theme with the +;; `load-theme' function. This is the default: +(setq doom-theme 'doom-one) + +;; If you use `org' and don't want your org files in the default location below, +;; change `org-directory'. It must be set before org loads! +(setq org-directory "~/org/") + +;; This determines the style of line numbers in effect. If set to `nil', line +;; numbers are disabled. For relative line numbers, set this to `relative'. +(setq display-line-numbers-type t) + + +;; Here are some additional functions/macros that could help you configure Doom: +;; +;; - `load!' for loading external *.el files relative to this one +;; - `use-package!' for configuring packages +;; - `after!' for running code after a package has loaded +;; - `add-load-path!' for adding directories to the `load-path', relative to +;; this file. Emacs searches the `load-path' when you load packages with +;; `require' or `use-package'. +;; - `map!' for binding new keys +;; +;; To get information about any of these functions/macros, move the cursor over +;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). +;; This will open documentation for it, including demos of how they are used. +;; +;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how +;; they are implemented. (setq doom-leader-key ",") (setq doom-leader-alt-key "M-,") diff --git a/.doom.d/init.el b/.doom.d/init.el index 1fac4c9..ac953c5 100644 --- a/.doom.d/init.el +++ b/.doom.d/init.el @@ -1,14 +1,25 @@ ;;; 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. +;; This file controls what Doom modules are enabled and what order they load +;; in. Remember to run 'doom sync' after modifying it! -(doom! :completion +;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's +;; documentation. There you'll find a "Module Index" link where you'll find +;; a comprehensive list of Doom's modules and what flags they support. + +;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or +;; 'C-c c k' for non-vim users) to view its documentation. This works on +;; flags as well (those symbols that start with a plus). +;; +;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its +;; directory (for easy access to its source code). + + +(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... @@ -20,151 +31,150 @@ 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 + hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW + ;;hydra ;;indent-guides ; highlighted indent columns + ;;minimap ; show a map of the code on the side modeline ; snazzy, Atom-inspired modeline, plus API - nav-flash ; blink the current line after jumping + nav-flash ; blink cursor line after big motions ;;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 + (popup +defaults) ; tame sudden yet inevitable temporary windows + ;;pretty-code ; ligatures or substitute text with pretty symbols + ;;tabs ; a 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 + ;;window-select ; visually switch windows workspaces ; tab emulation, persistence & separate workspaces + ;;zen ; distraction-free coding or writing :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 + ;;god ; run Emacs commands without modifier keys + ;;lispy ; vim for lisp, for people who don't 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 + ;;rotate-text ; cycle region at point between text candidates snippets ; my elves. They type so I don't have to + ;;word-wrap ; soft wrapping with language-aware indent :emacs - (dired ; making dired pretty [functional] - +ranger ; bringing the goodness of ranger to dired - +icons ; colorful icons for dired-mode - ) + dired ; making dired pretty [functional] electric ; smarter, keyword-based electric-indent - eshell ; a consistent, cross-platform shell (WIP) - imenu ; an imenu sidebar and searchable code index - term ; terminals in Emacs + ;;ibuffer ; interactive buffer management + undo ; persistent, smarter undo for your inevitable mistakes vc ; version-control and Emacs, sitting in a tree + :term + eshell ; the elisp shell that works everywhere ; XXX Changed + ;;shell ; simple shell REPL for Emacs + ;;term ; basic terminal emulator for Emacs + vterm ; the best terminal emulation in Emacs ; XXX Changed + + :checkers + syntax ; tasing you for every semicolon you forget + ;;spell ; tasing you for misspelling mispelling + ;;grammar ; tasing grammar mistake every you make + :tools ;;ansible - debugger ; FIXME stepping through code, to help you add bugs + debugger ; FIXME stepping through code, to help you add bugs ; XXX Changed ;;direnv - docker + docker ; XXX Changed ;;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 + (eval +overlay) ; run code, run (also, repls) + ;;gist ; interacting with github gists + lookup ; navigate your code and its documentation ;;lsp - macos ; MacOS-specific commands + macos ; MacOS-specific commands XXX Changed magit ; a git porcelain for Emacs - make ; run make tasks from Emacs - ;;password-store ; password manager for nerds + make ; run make tasks from Emacs ; XXX Changed + ;;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 + ;;taskrunner ; taskrunner for all your projects + terraform ; infrastructure as code ; XXX Changed + tmux ; an API for interacting with tmux ; XXX Changed ;;upload ; map local to remote projects via ssh/ftp - ;;wakatime - ;;vterm ; another terminals in Emacs :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 + ;;data ; config/data formats + ;;(dart +flutter) ; paint ui and not much else ;;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 - go ; the hipster dialect - ;;(haskell +intero) ; a language that's lazier than I am + ;;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 ; XXX Changed + ;;(haskell +dante) ; 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 +meghanada) ; the poster child for carpal tunnel syndrome - javascript ; all(hope(abandon(ye(who(enter(here)))))) + javascript ; all(hope(abandon(ye(who(enter(here)))))) ; XXX Changed ;;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 + ;;lean + ;;factor + ;;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 - +attach ; custom attachment system - +babel ; running code in org - +capture ; org-capture in and outside of Emacs - +export ; Exporting org to whatever you want - +habit ; Keep track of your habits - +present ; Emacs for presentations - +protocol) ; Support for org-protocol:// links - ;;perl ; write code no one else can comprehend + org ; organize your plain life in plain text ;;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 + ;;raku ; the artist formerly known as perl6 ;;rest ; Emacs as a REST client - ;;ruby ; 1.step do {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} + ;;rst ; ReST in peace + ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good - (sh +fish) ; she sells (ba|z|fi)sh shells on the C xor + ;;scheme ; a fully conniving family of lisps + sh ; she sells {ba,z,fi}sh shells on the C xor + ;;sml ;;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 + ;;yaml ; JSON, but readable + + :email + ;;(mu4e +gmail) + ;;notmuch + ;;(wanderlust +gmail) - ;; Applications are complex and opinionated modules that transform Emacs - ;; toward a specific purpose. They may have additional dependencies and - ;; should be loaded late. :app - ;;(email +gmail) ; emacs as an email client + ;;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))