My GNU Emacs configuration
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lisp
.gitignore
LICENSE
README.md
init.el

README.md

.emacs.d

This is the Emacs configuration I use everyday.

It requires an Emacs version built from development sources, and it is finely honed to work with:

There is a reasonable setup for other programming languages and utilities, just have a look inside the lisp directory if you want to know more.

This configuration relies on external tools to complement Emacs capabilities. I use Ansible Playbooks to set up my systems, but your mileage may vary.

First steps

This is how I build and install Emacs on Ubuntu 18.04. If you are using a different OS, you need to understand how to install the required dependencies. Otherwise just run:

$ sudo apt-get build-dep emacs25

Once ready:

  • clone Emacs trunk:
$ git clone git://git.savannah.gnu.org/emacs.git
  • build Emacs trunk:
$ cd emacs
$ ./autogen.sh
$ ./configure --host=x86_64-debian-linux-gnu --with-modules
$ make
$ sudo make install
$ make clean
  • clone this repo to your home directory:
$ cd
$ git clone git@github.com:manuel-uberti/.emacs.d.git
  • run Emacs

On the first run, use-package will fetch, install, and configure the packages I use.

Updates

This configuration tracks the latest Emacs developments, so I highly recommend you update and build your sources frequently.

You can use Magit; magit-status is bound to C-c v v.

I would also recommend you regularly upgrade every package installed. You can do it with Paradox, which is bound to C-c a p.

If sources do not build correctly, or you find errors while using the latest commit, you can still revert to a working commit with git reset --hard <commit> and re-build.

With the help of tools such as Magit, Paradox and your preferred shell, maintenance is simple.