Manage, install and upgrade Borg drones. (PRE-ALPHA - NOT USABLE)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
README.org
borg-queen.el
screenshot.png

README.org

Borg Queen: Manage and upgrade Borg drones

This is pre-alpha software. DO NOT USE.

./screenshot.png

Borg Queen is a package management frontend for Borg, providing a visual interface to manage and upgrade your drones, along with a few utility functions.

Borg is a minimal Emacs package manager which stores packages as Git submodules. Unlike the standard package.el, Borg makes it trivial to contribute back changes to packages, since everything is already a git repository. No more need to clone repositories and update load-path to start working on a package: everything’s already there. Also, Borg makes your configuration perfectly reproducible, since Git submodules always point to a specific commit.

On top of Borg, Borg-Queen provides:

  • A unified package management UI for both clones and drones (simple clones or submodules).
  • Manually managed upgrades. Borg Queen leaves you in full control of what, when and how you upgrade. You may pull everything to the more recent commit, or just pull two new commits for a specific drone, or maybe pull a drone to the latest commit while downgrading another to an older tag.
  • Stable or unstable mode. Borg Queen allows to auto-upgrade only to new tags or to each new commit.
  • PGP signatures. Borg Queen allows to define (globally or for each drone) a set of valid PGP keys and verify signatures before building an updated drone. It has an extra paranoia mode where it won’t upgrade a drone unless it has a list of valid keys for it, and of course the signature can be verified.

Using Borg Queen

Try borg-queen by running:

M-x borg-clone RET borg-queen RET
M-x borg-queen

You’ll be shown Borg Queen’s UI.

Using PGP signatures

Git allows for commits of tags to be digitally signed using GnuPG. By default, Borg Queen verifies such signatures when one is present, and dispays the signed ID in the main screen, and verification details on a popup.

It is better to tell Borg Queen which PGP keys are actually valid for signing packages:

  • To configure a list of valid PGP keys for a given package, set the submodules.DRONE.signingkey entry in .gitmodules. This entry can be repeated if needed.
  • To configure

Standard bindings

These bindings are active in the Borg Queen interface, which is invoked with M-x borg-queen RET.

BindingAction
uMark for auto upgrade
UMark for auto upgrade or downgrade (see note below)
cMark for upgrade to most recent commit
CPrompt for commit or tag, then mark for upgrade
tMark for upgrade to latest tag
TPrompt for tag, then mark for upgrade
AMark clone for assimilation
RMark for removal
xExecute marks
aAssimilate new package as a submodule
bClone new package
fFork a package.
!Commit changes to .emacs.d.
gRefresh