# emacs.d
**Repository Path**: task_running/emacs.d
## Basic Information
- **Project Name**: emacs.d
- **Description**: An Emacs configuration bundle with batteries included
- **Primary Language**: Emacs Lisp
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-01-26
- **Last Updated**: 2022-01-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[](https://travis-ci.org/purcell/emacs.d)
# A reasonable Emacs config
This is my emacs configuration tree, continually used and tweaked
since 2000, and it may be a good starting point for other Emacs
users, especially those who are web developers. These days it's
somewhat geared towards OS X, but it is known to also work on Linux
and Windows.
Emacs itself comes with support for many programming languages. This
config adds improved defaults and extended support for the following:
* Ruby / Ruby on Rails
* CSS / LESS / SASS / SCSS
* HAML / Markdown / Textile / ERB
* Clojure (with Cider and nRepl)
* Javascript / Coffeescript
* Python
* PHP
* Haskell
* Elm
* Erlang
* Common Lisp (with Slime)
In particular, there's a nice config for *autocompletion* with
[company](https://company-mode.github.io/), and
[flycheck](http://www.flycheck.org) is used to immediately highlight
syntax errors in Ruby, Python, Javascript, Haskell and a number of
other languages.
## Supported Emacs versions
The config should run on Emacs 24.3 or greater and is designed to
degrade smoothly - see the Travis build - but note that Emacs 24.5 and
above is required for an increasing number of key packages, so to get
full functionality you should use the latest Emacs version available
to you.
Some Windows users might need to follow
[these instructions](http://xn--9dbdkw.se/diary/how_to_enable_GnuTLS_for_Emacs_24_on_Windows/index.en.html)
to get TLS (ie. SSL) support included in their Emacs.
## Other requirements
To make the most of the programming language-specific support in this
config, further programs will likely be required, particularly those
that [flycheck](https://github.com/flycheck/flycheck) uses to provide
on-the-fly syntax checking.
## Installation
To install, clone this repo to `~/.emacs.d`, i.e. ensure that the
`init.el` contained in this repo ends up at `~/.emacs.d/init.el`:
```
git clone https://github.com/purcell/emacs.d.git ~/.emacs.d
```
Upon starting up Emacs for the first time, further third-party
packages will be automatically downloaded and installed. If you
encounter any errors at that stage, try restarting Emacs, and possibly
running `M-x package-refresh-contents` before doing so.
## Updates
Update the config with `git pull`. You'll probably also want/need to update
the third-party packages regularly too:
M-x package-list-packages, then U followed by x.
You should usually restart Emacs after pulling changes or updating
packages so that they can take effect. Emacs should usually restore
your working buffers when you restart due to this configuration's use
of the `desktop` and `session` packages.
## Changing themes and adding your own customization
To add your own customization, use M-x customize, M-x
customize-themes etc. and/or create a file
`~/.emacs.d/lisp/init-local.el` which looks like this:
```el
... your code here ...
(provide 'init-local)
```
If you need initialisation code which executes earlier in the startup process,
you can also create an `~/.emacs.d/lisp/init-preload-local.el` file.
If you plan to customize things more extensively, you should probably
just fork the repo and hack away at the config to make it your own!
Remember to regularly merge in changes from this repo, so that your
config remains compatible with the latest package and Emacs versions.
*Please note that I cannot provide support for customised versions of
this configuration.*
## Similar configs
You might also want to check out `emacs-starter-kit` and `prelude`.
## Support / issues
If you hit any problems, please first ensure that you are using the latest version
of this code, and that you have updated your packages to the most recent available
versions (see "Updates" above). If you still experience problems, go ahead and
[file an issue on the github project](https://github.com/purcell/emacs.d).
-Steve Purcell