* gnu/packages/emacs.scm (emacs-general): New variable. --- gnu/packages/emacs.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 07619e302..8ef2b94ee 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -12963,3 +12963,34 @@ other frame parameters.") (description "Emacs major mode for editing Arduino sketches.") (home-page "https://github.com/bookest/arduino-mode") (license license:gpl3+)))) + +(define-public emacs-general + (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5")) + (package + (name "emacs-general") + (version (git-version "0" "0" commit)) + (home-page "https://github.com/noctuid/general.el") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit commit))) + (sha256 + (base32 + "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (synopsis "More convenient key definitions in emacs") + (description "@code{general.el} provides a more convenient method for +binding keys in emacs (for both evil and non-evil users). Like +@code{use-package}, which provides a convenient, unified interface for +managing packages, @code{general.el} is intended to provide a convenient, +unified interface for key definitions. While this package does implement some +completely new functionality (such as the ability to make vim-style +keybindings under non-prefix keys with an optional timeout), its primary +purpose is to build on existing functionality to make key definition more +clear and concise. @code{general-define-key} is user-extensible and supports +defining multiple keys in multiple keymaps at once, implicitly wrapping key +strings with (@code{kbd ...}), using named prefix key sequences (like the +leader key in vim), and much more.") + (license license:gpl3+)))) -- 2.20.1