Skip to content

floatingman/.emacs.d-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My personal Emacs configuration

Based heavily on (e.g. forked directly from) Sebastian Wiesner's awesome Emacs setup: https://github.com/lunaryorn/.emacs.d

With many awesome additions (such as the most-excellent skewer-mode) taken from Christopher Wellons's configs: https://github.com/skeeto/.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 (sbt, hlint, stack, pandoc, 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.

There’s also lisp/ which has many of lunaryorn’s personal extensions and libraries with custom functions, etc. These libraries are loaded like normal packages with use-package in 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 display-buffer-alist
  • 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-start and stop it with httpd-stop. It will serve files from the directory at httpd-root and log messages in s-expression form to the *httpd* buffer.
  • Skewer provides a JavaScript REPL (skewer-repl) and live expression evaluation in JavaScript buffers of an external web browser attached to the built-in web server running in Emacs. It can also do live "evaluation" of CSS (skewer-css-mode) and HTML (skewer-html-mode).

Final words

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.

License

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Emacs Lisp 98.7%
  • CSS 1.2%
  • Shell 0.1%