I am testing quelpa with my use-package configuration. My question is: Is quelpa meant to complement use-package, or rather to replace it?

I have the following code in my init file:

(require 'package)
 package-enable-at-startup nil
 package-user-dir (concat user-emacs-directory "elpa")
 '(("melpa" . "http://melpa.org/packages/")
   ("marmalade" . "http://marmalade-repo.org/packages/")
   ("org" . "http://orgmode.org/elpa/")
   ("gnu" . "http://elpa.gnu.org/packages/")
 '(("melpa" elnode)
   ("melpa" org-trello)
   ("melpa" org)
   ("marmalade" org)
   ("gnu" org)
   ("org" org))

(if (require 'quelpa nil t)
    (url-insert-file-contents "https://raw.github.com/quelpa/quelpa/master/bootstrap.el")
(setq quelpa-upgrade-p t)

(quelpa 'use-package)
(require 'use-package)

  • 1
    There's also a package called quse-package that merges the functionality of quelpa and use-package :) – Kaushal Modi Feb 20 '15 at 16:05

While quelpa and use-package have no direct relation with each other, there now is a package, quelpa-use-package, which adds a quelpa handler to use-package. This allows one to use use-package with a quelpa source package name or recipe, for example:

(use-package flycheck-pony
  :quelpa (flycheck-pony :fetcher github :repo "rmloveland/flycheck-pony"))

quelpa is just a tool to build and install packages, use-package is another tool for configuring packages in a declarative manner. They don't have anything to do with each other at all, therefore your question doesn't make much sense and can be answered with "No".

Source: I have commit access to quelpa and did contribute code to it.

  • 3
    Thanks for your answer. However, the fact that you can answer it with a "no", proves that my question does make sense. The documentation of quelpa is so meagre that I couldn't understand exactly its purpose. Hence my question. – NVaughan Feb 20 '15 at 11:50
  • I'm not sure what's there not to understand about "Build and install your Emacs Lisp packages on-the-fly and directly from source.". – wasamasa Feb 20 '15 at 12:19
  • 1
    That's plain enough, alright. But nowhere does it state whether and how it interacts with package or use-package. In fact, I noticed that quelpa both upgrades the melpa directory, and creates another of its own. Nowhere---at least to my knowledge---does the readme.md explain such a proliferation of lisp files, and other related issues. – NVaughan Feb 20 '15 at 12:55
  • Asides from the fact that how it does the building is an implementation detail, the relation to package.el and MELPA is cleared up in the overview section that follows the introduction. "quelpa uses recipes in MELPA's format to build your desired packages from source and installs them using the built-in Emacs package manager.". package.el is said built-in package manager, the next sentences explain use cases, one of which is a "local MELPA" which is the melpa directory you've seen on disk. None of this knowledge is required to use it or to put it differently, it's an implementation detail. – wasamasa Feb 20 '15 at 13:16

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.