advanced package loading system with use-package as back end
Emacs Lisp
Pull request Compare This branch is 260 commits behind edvorg:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



req-package is a macro wrapper on top of use-package. It's goal is to simplify package dependencies management when using use-package for your .emacs.

  • load req-package:
(require 'req-package)
  • define required packages with dependencies using :require like this:
   (req-package dired
   (req-package dired-single
                :require dired
                :init (...))
   (req-package lua-mode
                :init (...))
   (req-package flymake)
   (req-package flymake-lua
                :require (flymake lua-mode)
                :init (...))
  • to start loading packages in right order:
Migrate from use-package

Just replace all (use-package ...) with (req-package [:require DEPS] ...) and add (req-package-finish) at the end of your configuration file.


All use-package parameters are supported, see use-package manual for additional info.

Also there are possible troubles with deferred loading provided by use-package. If you want to use it, try defer all packages in one dependency tree.