Subject: [bug#42525] [PATCH 1/2] gnu: Add emacs-pretty-hydra.

From: Joseph LaFreniere <[email-masked]>
Date: Fri, 24 Jul 2020 21:04:06 -0500

Patch file is attached.  Note that `guix lint` reports "the source 
file name should contain the package name";  I'm not sure how to 
resolve that.

--
Joseph LaFreniere
>From 512be2f3fd8cfcaa6014bcfa63f635c66135a05f Mon Sep 17 00:00:00 2001
From: Joseph LaFreniere <[email-masked]>
Date: Sat, 18 Jul 2020 12:49:15 -0500
Subject: [PATCH 1/2] gnu: Add emacs-pretty-hydra.

* gnu/packages/emacs-xyz.scm (emacs-pretty-hydra): New variable.
---
 gnu/packages/emacs-xyz.scm | 56 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 55afda50df..147c6b476b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -649,6 +649,34 @@ process, passing on the arguments as command line arguments.")
        "Magit-annex adds a few git-annex operations to the Magit interface.")
       (license license:gpl3+))))
 
+(define-public emacs-pretty-hydra
+  (package
+    (name "emacs-pretty-hydra")
+    (version "0.2.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jerrypnz/major-mode-hydra.el")
+             (commit version)))
+       (sha256
+        (base32
+         "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)
+       ("emacs-hydra" ,emacs-hydra)
+       ("emacs-s" ,emacs-s)))
+    (arguments
+     `(#:install '("^pretty-hydra\\.el$")))
+    (home-page "https://github.com/jerrypnz/major-mode-hydra.el")
+    (synopsis "Major mode keybindings managed by Hydra")
+    (description
+     "This package offers an hydra-based method of managing major
+mode-specific key bindings.  It is intended for use as a library only; see
+package @code{emacs-major-mode-hydra} for a user-friendly interface.")
+    (license license:gpl3+)))
+
 (define-public emacs-minions
   (package
     (name "emacs-minions")
@@ -6148,6 +6176,34 @@ them easier to distinguish from other, less important buffers.")
 for Ivy and Company that make use of the library.")
     (license license:expat)))
 
+(define-public emacs-pretty-hydra
+  (package
+    (name "emacs-pretty-hydra")
+    (version "0.2.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jerrypnz/major-mode-hydra.el.git")
+             (commit version)))
+       (sha256
+        (base32
+         "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)
+       ("emacs-hydra" ,emacs-hydra)
+       ("emacs-s" ,emacs-s)))
+    (arguments
+     `(#:exclude (cons "^major-mode-hydra\\.el" %default-exclude)))
+    (home-page "https://github.com/jerrypnz/major-mode-hydra.el")
+    (synopsis "Major mode keybindings managed by Hydra")
+    (description
+     "This package offers an hydra-based method of managing major
+mode-specific key bindings.  It is intended for use as a library only; see
+package @code{emacs-major-mode-hydra} for a user-friendly interface.")
+    (license license:gpl3+)))
+
 (define-public emacs-selectrum
   (package
     (name "emacs-selectrum")
-- 
2.27.0