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)

  • 2
    There's also a package called quse-package that merges the functionality of quelpa and use-package :) Commented Feb 20, 2015 at 16:05

2 Answers 2


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.

  • 5
    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
    Commented Feb 20, 2015 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
    Commented Feb 20, 2015 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
    Commented Feb 20, 2015 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
    Commented Feb 20, 2015 at 13:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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