#+TITLE:        Emacs Config
#+AUTHOR:       Levi Olson
#+STARTUP:      showall
#+OPTIONS:      ^:{} toc:nil num:nil tex:t

* Notes
My personal init.el focused on quick startup with (somewhat) minimal, but functional config.

Currently configured with these packages (list generated automatically):
#+begin_src emacs-lisp :results table :exports results
  (defun list-packages-and-versions ()
    "Returns a list of all installed packages and their versions"
    (mapcar
     (lambda (pkg)
       `(,pkg ,(package-desc-summary
                  (cadr (assq pkg package-alist)))))
     package-activated-list))

  (list-packages-and-versions)
#+end_src

#+RESULTS:
| ace-jump-mode       | a quick cursor location minor mode for emacs                           |
| ag                  | A front-end for ag ('the silver searcher'), the C ack replacement.     |
| amx                 | Alternative M-x with extra features.                                   |
| angular-mode        | Major mode for Angular.js                                              |
| angular-snippets    | Yasnippets for AngularJS                                               |
| beacon              | Highlight the cursor whenever the window scrolls                       |
| browse-at-remote    | Open github/gitlab/bitbucket/stash/gist/phab/sourcehut page from Emacs |
| cargo               | Emacs Minor Mode for Cargo, Rust's Package Manager.                    |
| company-restclient  | company-mode completion back-end for restclient-mode                   |
| company             | Modular text completion framework                                      |
| counsel             | Various completion functions using Ivy                                 |
| dashboard           | A startup screen extracted from Spacemacs                              |
| deft                | quickly browse, filter, and edit plain text notes                      |
| delight             | A dimmer switch for your lighter text                                  |
| diminish            | Diminished modes are minor modes with no modeline display              |
| dmenu               | simulate the dmenu command line program                                |
| elfeed              | an Emacs Atom/RSS feed reader                                          |
| emojify             | Display emojis in Emacs                                                |
| engine-mode         | Define and query search engines from within Emacs.                     |
| excorporate         | Exchange Web Services (EWS) integration                                |
| expand-region       | Increase selected region by semantic units.                            |
| exwm-edit           | Edit mode for EXWM                                                     |
| f                   | Modern API for working with files and directories                      |
| fic-mode            | Show FIXME/TODO/BUG(...) in special face only in comments and strings  |
| flycheck            | On-the-fly syntax checking                                             |
| fsm                 | state machine library                                                  |
| gitconfig-mode      | Major mode for editing .gitconfig files                                |
| gitignore-mode      | Major mode for editing .gitignore files                                |
| howdoyou            | A stackoverflow and its sisters' sites reader                          |
| ht                  | The missing hash table library for Emacs                               |
| htmlize             | Convert buffer text and decorations to HTML.                           |
| json-mode           | Major mode for editing JSON files.                                     |
| json-reformat       | Reformatting tool for JSON                                             |
| json-snatcher       | Grabs the path to JSON values in a JSON file                           |
| know-your-http-well | Look up the meaning of HTTP headers, methods, relations, status codes  |
| magit               | A Git porcelain inside Emacs.                                          |
| git-commit          | Edit Git commit messages                                               |
| markdown-mode       | Major mode for Markdown-formatted text                                 |
| multiple-cursors    | Multiple cursors for Emacs.                                            |
| nadvice             | Forward compatibility for Emacs-24.4's nadvice                         |
| ob-async            | Asynchronous org-babel src block execution                             |
| dash                | A modern list library for Emacs                                        |
| ob-restclient       | org-babel functions for restclient-mode                                |
| org-bullets         | Show bullets in org-mode as UTF-8 characters                           |
| org-plus-contrib    | Outline-based notes management and organizer                           |
| ox-reveal           | reveal.js Presentation Back-End for Org Export Engine                  |
| org                 | Outline-based notes management and organizer                           |
| ox-twbs             | Bootstrap compatible HTML Back-End for Org                             |
| page-break-lines    | Display ^L page breaks as tidy horizontal lines                        |
| projectile          | Manage and navigate projects in Emacs easily                           |
| pkg-info            | Information about packages                                             |
| epl                 | Emacs Package Library                                                  |
| promise             | Promises/A+                                                            |
| rainbow-delimiters  | Highlight brackets according to their depth                            |
| rainbow-mode        | Colorize color names in buffers                                        |
| request             | Compatible layer for URL request in Emacs                              |
| restclient          | An interactive HTTP client for Emacs                                   |
| rg                  | A search tool based on ripgrep.                                        |
| ripgrep             | Front-end for ripgrep, a command line search tool                      |
| rust-mode           | A major emacs mode for editing Rust source code                        |
| s                   | The long lost Emacs string manipulation library.                       |
| scss-mode           | Major mode for editing SCSS files                                      |
| soap-client         | Access SOAP web services                                               |
| sudo-edit           | Open files as another user                                             |
| swiper              | Isearch with an overview. Oh, man!                                     |
| ivy                 | Incremental Vertical completYon                                        |
| transient           | Transient commands                                                     |
| url-http-ntlm       | NTLM authentication for the url library                                |
| use-package         | A configuration macro for simplifying your .emacs                      |
| bind-key            | A simple way to manage personal keybindings                            |
| web-mode            | major mode for editing web templates                                   |
| wgrep               | Writable grep buffer and apply the changes to files                    |
| which-key           | Display available keybindings in popup                                 |
| with-editor         | Use the Emacsclient as $EDITOR                                         |
| async               | Asynchronous processing in Emacs                                       |
| yaml-mode           | Major mode for editing YAML files                                      |
| yasnippet           | Yet another snippet extension for Emacs                                |
| zerodark-theme      | A dark, medium contrast theme for Emacs                                |
| all-the-icons       | A library for inserting Developer icons                                |
| memoize             | Memoization functions                                                  |
