My personal Emacs configuration
Based heavily on (e.g. forked directly from) Sebastian Wiesner's awesome Emacs setup: https://github.com/lunaryorn/.emacs.d
Makes extensive use of use-package.
Also, I prefer using Cask to install packages rather than rely on use-package to download and byte-compile the packages. When dealing with a large number of packages it can be frustrating to have one byte-compilation snafu that aborts the initial (often lengthy) first-time setup process–– forcing you to restart the process all over again.
Setup — How do you use it?
You need Emacs 25 snapshot builds, straight from Git
master. Stable releases of GNU Emacs won’t work, I build GNU Emacs weekly.
$ git clone https://github.com/aculich/.emacs.d.git ~/.emacs.d $ brew install trash coreutils tern $ brew install aspell --with-lang-en $ brew tap caskroom/fonts $ brew cask install font-xits font-source-code-pro font-source-serif-pro font-consolas-for-powerline font-inconsolata font-monoid $ cd ~/.emacs.d && cask install
plus all the standard tools for all the various programming languages (
pylint and stuff). Read the comments in
init.el for more information.
Layout — Where do you find things?
It’s a single big
init.el, containing only
use-package declarations for all the built-in and 3rd party packages I use. These declarations have all the configuration and setup for the specific packages.
lisp/ which has many of lunaryorn’s personal extensions and libraries with custom functions, etc. These libraries are loaded like normal packages with
init.el. Much of the code is useful and I would like to generalize it in the future, but for now it contain’s the lunaryorn namespace prefix.
Highlights — What you should probably copy from this!
- Very good OS X support, even with stock GNU Emacs, including a font setup that supports Math, Symbols and Coloured Emojis (yay
- A well-designed key bindings scheme, inspired by Spacemacs, supported by Which Key Mode and Hydra
- Rules for buffer displays in
- A very powerful and comprehensive LaTeX setup with AUCTeX
- Nice configurations for Scala (with Ensime), Emacs Lisp and a couple of other languages
- Built-in web server you can launch with
httpd-startand stop it with
httpd-stop. It will serve files from the directory at
httpd-rootand log messages in s-expression form to the
skewer-css-mode) and HTML (
Have fun, and copy freely! Please feel free to mess around, and take whatever you like! Credits mandatory (respect the license), feedback appreciated!
If you’ve got any questions about this configuration or have a cool extension to share please open an issue. If the issue is related to an upstream source I will check in upstream with skeeto or lunaryorn.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.