Skip to content

laerling/ebox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ebox

Manage all your Emacs distributions with ease.

Ebox is emacs-distribution on steroids. It is a single binary, independent of operating system and shell, and offers a complete Emacs sandbox. All your Emacs distributions live in ~/emacs and can be executed independently from one another. So you can e. g. use spacemacs alongside prelude, or Emacs live alongside a custom configuration, without them interfering with each other.

Building

Run make. Ebox is installed as $GOPATH/bin/ebox. To run the tests, run make test. This installs Ebox and then runs the tests.

Usage

Running just ebox lists all distributions in ~/emacs.

$ ebox
custom
spacemacs

Running Ebox with the name of an existing distribution spawns an instance of that distribution.

$ ebox spacemacs

In this example the environment variable HOME is set to ~/emacs/spacemacs inside that Emacs instance. Here, ~/emacs/spacemacs can either be a directory or a symlink to a directory elsewhere in the filesystem (or to a symlink again, and so on).

Ebox can also download distributions. For some well-known distributions you don't even have to specify a URL:

$ #This example clones https://github.com/bbatsov/prelude
$ ebox prelude
Cloning into '/home/laerling/emacs/prelude/.emacs.d'...
remote: Counting objects: 5783, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 5783 (delta 5), reused 7 (delta 3), pack-reused 5770
Receiving objects: 100% (5783/5783), 4.54 MiB | 874.00 KiB/s, done.
Resolving deltas: 100% (3435/3435), done.

If the distribution is hosted on github, you don't have to write the complete URL either:

$ #This example clones https://github.com/githubusername/distroname
$ ebox githubusername/distroname

For all other distributions, simply specify the URL:

$ #This example clones https://domain.tld/gitlabusername/distroname.git
$ ebox domain.tld/gitlabusername/distroname.git

About

Manage Emacs distributions

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published