This is an .emacs.d directory that mostly uses emacs-starter-kit packages for an initial reasonable starting point with some tweaks on top of that. This repository is designed to use, but it does not require, homeshick.
Editor configurations can be a fairly personal thing. Changing setting globally can be at a surprising and disruptive.
It is recommended that you test out new changes in a system specific configuration and after vetting open a pull request if it seems like something useful to add to the global configuration.
You can build the very latest version of emacs from source with Homebrew as follows:
brew uninstall emacs
If you have a previous installation of emacs (from Homebrew) you may also need to blow away a cached version of the source:
rm /Library/Caches/Homebrew/emacs-*.tar.gz
Then...
brew install emacs --cocoa --HEAD
brew linkapps
git clone https://github.com/outpace/emacs.d ~/.homeshick/repos/emacs.d
homeshick link emacs.d
git clone https://github.com/outpace/emacs.d ~/emacs.d
ln -s ~/emacs.d/home/.emacs.d ~/.emacs.d
This project loads system specific emacs lisp files both at the
beginning and end of evaluation init.el
. This allows a user to
override or set up their own custom configuration independently of the
main configuration. The files that are loaded are based off the
system-name
nad user-login-name
. Look at the function
load-system-specific-configs
in the init.el
for details
A function install-package
is made available early while loading
init.el
. If you wanted to install the package align-cljlet
then in
one of the user override files you would specify (install-package 'algin-cljlet)
.
Has some additional functionality added for working in Clojure. Some
of them include improving paredit usage in the repl, adding
clj-refactor, using
company
for auto-completion, and some other smaller tweaks.
It also will load user/system specific configuration files if found. This allows you to add additional functionality depending on what machine you are working on.
Defaults to using Inconsolata as the font. If you don't have this installed you'll probably see whatever terrible default font is used.
Useful re-mappings to know about:
C-w
remapped tobackward-kill-word
C-x C-k
andC-c C-k
remapped tokill-region
C-x C-m
andC-c C-m
remapped tosmex
(same asM-x
in this setup)
Useful added functions:
scratch-buffer
- Opens up temporary bufferrevert-all-buffers
- Refreshes all open buffersrename-file-and-buffer
- Renames current buffer and file
The default color theme is zenburn. If you want to use something
else then the recommended way of doing so is to (setq user-specific-color-theme 'sanityinc-tomorrow-eighties)
'sanity-inc-tomorrow-eighties
is whatever color theme you want. This
should be done in your user/username.el
file.