To get started clone the repository of the
emacs.g collective. A
"collective" is a starter-kit and/or configuration seed that relies on
Borg as the package manager. Most users end up using
as a bootstrapping seed and do not merge upstream changes after that.
This collective already assimilates a few drones in addition to
diff-hl, as well as their dependencies. These drones are not required
borg but their use is highly recommended.
emacs.g repository to either
~/.emacs.d, or for testing
purposes to any other location. This repository contains a
lib/borg/borg.mk and defines an additional target whose
purpose is to make that file and
lib/borg/borg.sh available. Run
bootstrap-borg to clone the
borg repository. That does not completely
borg repository but it makes the latest version of the
mentioned files available. Now that these files are available you can
make bootstrap to get and configure all submodules (including the
borg submodule) and to build all drones.
git clone email@example.com:emacscollective/emacs.g.git ~/.emacs.d cd ~/.emacs.d make bootstrap-borg make bootstrap
If you cloned to somewhere other than
~/.emacs.d, then you can use
that configuration using
emacs -Q --load /path/to/emacs.g/init.el.
For drones whose upstream repositories are located on Github or Gitlab
emacs.g collective uses the
ssh protocol by default, which is a
problem if you don’t have accounts there and have not properly setup
your keys. See Using https URLs.
When running the
bootstrap target you might get errors about certain
commits not being available, but fear not! In Missing commits and repositories we discuss these complications.
During package compilation you may notice the submodules relating to
those packages become dirty due to the compilation outputs not being
ignored in those submodules. For this reason it is useful to ignore
these outputs globally, for example in your
*.elc *-autoloads.el dir
You may discover more things that you’ll want to ignore this way as