req-package
provides dependency management for use-package. This allows to write simple and modular configs. Migration from use-package is simple and syntax is almost same.
Load req-package:
(require 'req-package) (req-package use-package-el-get ;; prepare el-get support for use-package (optional) :force t ;; load package immediately, no dependency resolution :config (add-to-list 'el-get-recipe-path "~/.emacs.d/el-get/el-get/recipes") (el-get 'sync) (use-package-el-get-setup))
Define required packages with dependencies using :require
. Use :force t
if you want to avoid dependency management and load right now. Use :el-get t
or :el-get package-name
if you want to install from el-get (Requires use-package-el-get
package setup like described above).
;; init-dired.el (req-package dired) ;; this form is optional as it doesn't have any configuration (req-package dired-single :require dired ;; depends on dired :config (...)) (req-package dired-isearch :require dired ;; depends on dired :config (...)) ;; init-lua.el (req-package lua-mode :config (...)) (req-package flymake-lua :require flymake lua-mode :config (...)) ;; init-flymake.el (req-package flymake :config (...)) (req-package flymake-cursor :require flymake :config (...)) (req-package flymake-custom :require flymake :load-path "/path/to/file/directory" :config (...))
Solve dependencies, install and load packages in right order:
;; order doesn't matter here (require 'init-dired) (require 'init-lua) (require 'init-flymake) (req-package-finish)
You can use req-package--log-open-log
to see, what is happening with your configuration. You can choose log level in req-package
group by req-package-log-level
custom. These log levels are supported: fatal
, error
, warn
, info
, debug
, trace
.
Just replace all (use-package ...)
with (req-package [:require DEPS] ...)
and add (req-package-finish)
at the end of your configuration file. There is a :force
keyword which simulates plain old use-package behavior.
More complex req-package usage example can be found at https://github.com/edvorg/emacs-configs.
Use load-dir
package to load all *.el
files in a dir (e.g ~/.emacs.d/init.d
)
Please, pull-request your changes to develop
branch. Master is used for automatic release package builds by travis-ci.
req-package-finish
you are able reload package just by reload req-package
formreq-package--log-open-log
for messages:loader
keyword now accepts loaders as keywords or as functions. e.g. :el-get
, :elpa
, :built-in
, :path
and my-loader-fn
req-package-force
replaced with :force
keyword:loader
keyword supportreq-package-providers
el-get
supportmax-specpdl-size
, max-lisp-eval-depth
issues completely solved.:require
keyword parsing.pkg1 -> [pkg2 -> ...] pkg1
.pkg1
.:ensure
in your code now.:ensure
if package is available in your repos.:ensure
‘d automatically too.(req-package pkg1 :require pkg2)
and all you need will be installed.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4