• Stars
    star
    5,014
  • Rank 7,941 (Top 0.2 %)
  • Language
    Emacs Lisp
  • Created over 12 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Prelude is an enhanced Emacs 25.1+ distribution that should make your experience with Emacs both more pleasant and more powerful.

License GPL 3 CI Patreon Discord

Emacs Prelude

Prelude is an Emacs distribution that aims to enhance the default Emacs experience. Prelude alters a lot of the default settings, bundles a plethora of additional packages and adds its own core library to the mix. The final product offers an easy to use Emacs configuration for Emacs newcomers and lots of additional power for Emacs power users.

Prelude is compatible ONLY with GNU Emacs 25.1+. In general you're advised to always run Prelude with the latest stable Emacs release.

You can support the development of Prelude via GitHub Sponsors, ko-fi, PayPal and Patreon.

Features

  • Improved UX, that's still in line with Emacs traditions
  • Sane defaults of baseline Emacs functionality
  • Automatic installation of many major programming modes on demand
  • A curated set of 3rd party packages to enhance the base functionality
  • Simple modular architecture
  • Easy customization

Check out our user manual for more information.

Fast Forward

Assuming you're using an Unix-like OS (*BSD, GNU/Linux, macOS, Solaris, etc), you already have a recent version of Emacs installed, as well as git & curl you can skip the whole manual and just type in your favorite shell the following command:

$ curl -L https://git.io/epre | sh

You can now power up your Emacs, sit back and enjoy Prelude.

There are two environment variables you can use to control the source repository and the installation directory. To change the installation directory:

$ export PRELUDE_INSTALL_DIR="$HOME/.emacs.d" && curl -L https://github.com/bbatsov/prelude/raw/master/utils/installer.sh | sh

To change the source repository:

$ export PRELUDE_URL="https://github.com/yourname/prelude.git" && curl -L https://github.com/bbatsov/prelude/raw/master/utils/installer.sh | sh

Note that the installer will back up any existing .emacs file or .emacs.d since it will unpack Prelude's code in .emacs.d. If you're doing a manual install make sure you don't have a .emacs file or back up your existing .emacs.d directory manually.

Important: Don't forget to adjust your prelude-modules.el file in your personal directory once the installation is done. By default most of the modules that ship with Prelude are not loaded.

Philosophy

Prelude's philosophy is quite simple:

  • simple
  • easy to understand and extend
  • stable
  • a foundation for you to build upon, as opposed to some end-user product

This means that it intentionally doesn't pack all the bells and whistles that it could. Prelude aims to enhance the classic Emacs experience without deviating a lot from it - e.g. it would never enable something like evil-mode (vim keybindings) by default and so on.

All the third-party packages that it bundles are carefully vetted and are known to be of good quality and to have reliable maintainers. That generally means that Prelude's unlikely to immediate adopt some shiny new package, that has established tried and true alternatives.

In practice this translates to the following:

  • Prelude is less opinionated than distros like Spacemacs and Doom Emacs (meaning it's closer to the standard Emacs experience)
  • Prelude installs relatively few additional packages by default
  • Most modules in Prelude are opt-in instead of opt-out (you'll notice the default config enables only a handful of modules)
  • Most modules (e.g. modules for programming languages) are pretty short and feature setup only for essential packages (in some cases that be just the major mode for the language in question)
  • You don't really need to track Prelude's upstream - you're encouraged to just fork it and use it as the basis for your own configuration.

Remember that the ultimate goal of every Emacs user is to create an Emacs setup that reflects their own experience, needs, goals and ideas. Just like Lisp, Emacs is nothing but a raw building material for the perfect editing experience.

More installation options are discussed here.

User Manual

While Emacs Prelude is pretty simple at its core, it does have some specifics that are worth learning - e.g. configuration options, load order of modules and personal settings and so on.

Check out our user manual for more information.

You can also find a lot of information about specific Prelude features and the rationale behind them on my Emacs blog Emacs Redux.

crux and super-save

A lot of utility commands that used to be part of Prelude were eventually extracted to the crux package, so they'd be easily available to more people. These days Prelude simply depends on that package.

The super-save package also used to be part of Prelude in the past.

Known issues

Check out the project's issue list a list of unresolved issues. By the way - feel free to fix any of them and send me a pull request. :-)

Support

Support is available via several channels:

Contributors

Here's a list of all the people who have contributed to the development of Emacs Prelude.

Bugs & Improvements

Bug reports and suggestions for improvements are always welcome. GitHub pull requests are even better! :-)

License

Copyright © 2011-2023 Bozhidar Batsov and contributors.

Distributed under the GNU General Public License, version 3

More Repositories

1

clojure-style-guide

A community coding style guide for the Clojure programming language
3,974
star
2

projectile

Project Interaction Library for Emacs
Emacs Lisp
3,851
star
3

emacs-lisp-style-guide

A community-driven Emacs Lisp style guide
1,053
star
4

zenburn-emacs

The Zenburn colour theme ported to Emacs
Emacs Lisp
951
star
5

crux

A Collection of Ridiculously Useful eXtensions for Emacs
Emacs Lisp
807
star
6

solarized-emacs

The Solarized colour theme, ported to Emacs.
Emacs Lisp
739
star
7

helm-projectile

Helm UI for Projectile
Emacs Lisp
322
star
8

super-save

Save Emacs buffers when they lose focus
Emacs Lisp
273
star
9

powerpack

Some useful extensions to the core Ruby classes
Ruby
270
star
10

emacs.d

My personal Emacs configuration
Emacs Lisp
204
star
11

persp-projectile

Projectile integration for perspective.el
Emacs Lisp
110
star
12

guru-mode

Learn to use Emacs the way it was meant to be used (the Emacs guru way)
Emacs Lisp
100
star
13

emacs-dev-kit

An advanced self-contained Emacs configuration suitable for many software developers (deprecated)
Emacs Lisp
95
star
14

beamer-torino-theme

Torino, a pretty theme for LaTex Beamer
Emacs Lisp
38
star
15

lein-annotations

Display comment annotations in your project
Clojure
12
star
16

emacsredux

Emacs Redux is a blog dedicated to the One True Editor
HTML
11
star
17

cv

My professional CV in LaTeX
TeX
10
star
18

cl-99-problems

Solutions to the 99 Lisp problems in Common Lisp
Common Lisp
10
star
19

activerecord-extra-validators

Some nice additional validators for ActiveRecord
Ruby
9
star
20

java-in-action-lectures

The lectures from the "Java in Action" programming course
9
star
21

advent-of-code2021

Advent of Code 2021, Clojure Edition
Clojure
8
star
22

legacy-octopress-blog

My personal blog
HTML
8
star
23

batsov.com

My personal blog
Ruby
7
star
24

metaredux

HTML
7
star
25

master-thesis

My Master university degree thesis
Emacs Lisp
5
star
26

zshrc

My personal zsh setup
5
star
27

docs.projectile.mx

Projectile's documentation site
Handlebars
4
star
28

hard-cider

A demo projecto to showcase CIDER
Clojure
3
star
29

presentations

Presentations I created for various occasions
2
star
30

blog

My personal blog
Ruby
2
star
31

emacsredux-legacy

Emacs Redux
HTML
1
star
32

praxis

Praxis makes perfect!
OCaml
1
star