gnu: Add emacs-ido-vertical-mode.
[jackhill/guix/guix.git] / gnu / packages / emacs.scm
index bae0184..cc3d2fc 100644 (file)
@@ -8991,3 +8991,1023 @@ within Emacs.")
       (description "Adds functionality to Emacs @code{ibuffer} for
 grouping buffers by their projectile root directory.")
       (license license:gpl3+))))
+
+(define-public emacs-helm-mode-manager
+  (package
+    (name "emacs-helm-mode-manager")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/istib/helm-mode-manager/"
+                           "archive/" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-helm" ,emacs-helm)))
+    (home-page "https://github.com/istib/helm-mode-manager/")
+    (synopsis "Switch and toggle Emacs major and minor modes using Helm")
+    (description "This package provides a Helm interface for toggling Emacs
+major or minor mode.
+
+@itemize
+@item @code{helm-switch-major-mode} list of all major modes
+@item @code{helm-enable-minor-mode} list of all inactive minor modes
+@item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
+@end itemize\n
+
+Hitting @code{RET} enables the mode, @code{C-z} shows the mode
+documentation.")
+    (license license:gpl3+)))
+
+(define-public emacs-hy-mode
+  (package
+    (name "emacs-hy-mode")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/hylang/hy-mode/archive/"
+                           "v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0sbga36zkyhzrzcczsyjzll7b9qsa215pnlw51m4li2irm23jh17"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)
+       ("emacs-s" ,emacs-s)))
+    (home-page "https://github.com/hylang/hy-mode")
+    (synopsis "Major mode for Hylang")
+    (description "This package provides a major mode for Hylang.")
+    (license license:gpl3+)))
+
+(define-public emacs-web-beautify
+  (package
+    (name "emacs-web-beautify")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/yasuyk/web-beautify/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1j57hwid74id4swkx2g0iljfawx0k9c7qjrwqc0mv657x9p78hcs"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/yasuyk/web-beautify")
+    (synopsis "Format HTML, CSS and JavaScript, JSON")
+    (description "This package provides an Emacs functions to format HTML,
+CSS, JavaScript, JSON.")
+    (license license:gpl3+)))
+
+(define-public emacs-helm-shell-history
+  (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
+    (package
+      (name "emacs-helm-shell-history")
+      (version (git-version "0.1" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/yuutayamada/helm-shell-history.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
+      (build-system emacs-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-before 'check 'patch-helm-shell-history-file
+             (lambda _
+               (let ((file "helm-shell-history.el"))
+                 (chmod file #o644)
+                 (emacs-substitute-sexps file
+                   ("(defvar helm-shell-history-file"
+                    `(expand-file-name "~/.bash_history"))))
+               #t)))))
+      (home-page "https://github.com/yuutayamada/helm-shell-history")
+      (synopsis "Find shell history with Emacs Helm")
+      (description "This package provides an Emacs Helm interface to search
+throw a shell history.")
+      (license license:gpl3+))))
+
+(define-public emacs-discover-my-major
+  (package
+    (name "emacs-discover-my-major")
+    (version "1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://github.com/steckerhalter/discover-my-major"
+                       "/archive/" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-makey" ,emacs-makey)))
+    (home-page "https://github.com/steckerhalter/discover-my-major")
+    (synopsis "Discover key bindings for the current Emacs major mode")
+    (description "This package provides allows to discover key bindings and
+their meaning for the current Emacs major-mode.")
+    (license license:gpl3+)))
+
+(define-public emacs-org-ref
+  (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
+        (revision "1"))
+    (package
+      (name "emacs-org-ref")
+      (version (string-append "1.1.1" "-" revision "."
+                              (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/jkitchin/org-ref.git")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-dash" ,emacs-dash)
+         ("emacs-helm" ,emacs-helm)
+         ("emacs-helm-bibtex" ,emacs-helm-bibtex)
+         ("emacs-ivy" ,emacs-ivy)
+         ("emacs-hydra" ,emacs-hydra)
+         ("emacs-key-chord" ,emacs-key-chord)
+         ("emacs-s" ,emacs-s)
+         ("emacs-f" ,emacs-f)
+         ("emacs-pdf-tools" ,emacs-pdf-tools)))
+      (home-page "https://github.com/jkitchin/org-ref")
+      (synopsis "Citations, cross-references and bibliographies in org-mode")
+      (description
+       "Lisp code to setup bibliography, cite, ref and label org-mode links.
+Also sets up reftex and helm for org-mode citations.  The links are
+clickable and do things that are useful.
+
+The default setup uses helm-bibtex.
+
+You should really read org-ref.org in this package for details.")
+      (license license:gpl3+))))
+
+(define-public emacs-add-hooks
+  (package
+    (name "emacs-add-hooks")
+    (version "3.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/nickmccurdy/add-hooks/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "03a28gb3298g7pc2qji9hi44p4d99ljp5mpi9cmg42ldv8fl6549"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/nickmccurdy/add-hooks/")
+    (synopsis "Emacs function for setting multiple hooks")
+    (description "This package provides a @code{add-hooks} function tidies up
+duplicate hook and function names further into a single declarative call.")
+    (license license:gpl3+)))
+
+(define-public emacs-fancy-narrow
+  (package
+    (name "emacs-fancy-narrow")
+    (version "0.9.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/Malabarba/fancy-narrow/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rf2rnzg82pdqch041yyx3f9ddixffkk9s2ydzg8hwy66sg3385n"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/Malabarba/fancy-narrow/releases")
+    (synopsis "Immitate narrow-to-region with more eye-candy")
+    (description "Unlike narrow-to-region, which completely hides text outside
+the narrowed region, this package simply deemphasizes the text, makes it
+readonly, and makes it unreachable.  This leads to a much more natural
+feeling, where the region stays static (instead of being brutally moved to a
+blank slate) and is clearly highlighted with respect to the rest of the
+buffer.")
+    (license license:gpl2+)))
+
+(define-public emacs-know-your-http-well
+  (package
+    (name "emacs-know-your-http-well")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/for-GET/know-your-http-well/archive/"
+             "v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1y3kwz88awcgwaivlswq0q4g2i02762r23lpwg61bfqy5lrjjqnj"))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'install-json-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (for-each (lambda (directory)
+                         (copy-recursively directory
+                                           (string-append
+                                            (assoc-ref outputs "out")
+                                            directory)))
+                       '("js" "json"))))
+         (add-after 'unpack 'chdir-elisp
+           ;; Elisp directory is not in root of the source.
+           (lambda _
+             (chdir "emacs"))))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/for-GET/know-your-http-well")
+    (synopsis "Meaning of HTTP headers codes")
+    (description "Meaning of HTTP headers codes.")
+    (license license:gpl3+)))
+
+(define-public emacs-navi-mode
+  (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
+    (package
+      (name "emacs-navi-mode")
+      (version (git-version "2.0" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/alphapapa/navi.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-outshine" ,emacs-outshine)
+         ("emacs-outorg" ,emacs-outorg)))
+      (home-page "https://github.com/alphapapa/navi")
+      (synopsis "Emacs major-mode for easy buffer-navigation")
+      (description
+       "This package provides an Emacs major-mode for easy buffer-navigation")
+      (license license:gpl3+))))
+
+(define-public emacs-download-region
+  (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
+        (revision "1"))
+    (package
+      (name "emacs-download-region")
+      (version (string-append "0.0.1" "-" revision "."
+                              (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/zk-phi/download-region.git")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/zk-phi/download-region")
+      (synopsis "In buffer download manager for Emacs")
+      (description "@code{download-region} provides in buffer
+downloading manager for Emacs.")
+      (license license:gpl3+))))
+
+(define-public emacs-csv-mode
+  (package
+    (name "emacs-csv-mode")
+    (version "1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
+                           version ".el"))
+       (sha256
+        (base32
+         "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
+    (build-system emacs-build-system)
+    (home-page "http://elpa.gnu.org/packages/csv-mode.html")
+    (synopsis "Major mode for editing comma or char separated values")
+    (description
+     "This package provides an Emacs CSV mode, a major mode for editing
+records in a generalized CSV (character-separated values) format.")
+    (license license:gpl3+)))
+
+(define-public emacs-helpful
+  (package
+    (name "emacs-helpful")
+    (version "0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/Wilfred/helpful/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "16dx566qzrjj0bf43lnw7h1qlvgs94brqplamw8kppp2ylr72qs9"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-elisp-refs" ,emacs-elisp-refs)))
+    (home-page "https://github.com/Wilfred/helpful")
+    (synopsis "More contextual information in Emacs help")
+    (description "@code{helpful} is an alternative to the built-in Emacs help
+that provides much more contextual information.
+
+@itemize
+@item Show the source code for interactively defined functions (unlike the
+built-in Help).
+@item Fall back to the raw sexp if no source is available.
+@item Show where a function is being called.
+@item Docstrings will Highlight the summary (the first sentence), include
+cross-references, hide superfluous puncuation.
+@item Show you the properties that have been applied to the current
+symbol.  This provides visibility of features like edebug or byte-code
+optimisation.
+@item Provide a separate @code{helpful-command} function to view interactive
+functions.
+@item Display any keybindings that apply to interactive functions.
+@item Trace, disassemble functions from inside Helpful.  This is discoverable
+and doesn't require memorisation of commands.
+@end itemize\n")
+    (license license:gpl3+)))
+
+(define-public emacs-logview
+  (package
+    (name "emacs-logview")
+    (version "0.9")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/doublep/logview/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1vd11ppm46ldqsiwhqgw91p34gbjh1y82r9mxcn9r2gj65nvhxcp"))))
+    (propagated-inputs
+     `(("emacs-datetime" ,emacs-datetime)))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/doublep/logview/")
+    (synopsis "Emacs mode for viewing log files")
+    (description "@code{logview} provides an Emacs mode to view log files.")
+    (license license:gpl3+)))
+
+(define-public emacs-suggest
+  (package
+    (name "emacs-suggest")
+    (version "0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/Wilfred/suggest.el/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1760fm3j19w8xxcawq6s859h86q1rdg69pg9yz48n76kwfk3vlgp"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-loop" ,emacs-loop)
+       ("emacs-dash" ,emacs-dash)
+       ("emacs-s" ,emacs-s)
+       ("emacs-f" ,emacs-f)))
+    (home-page "https://github.com/Wilfred/suggest.el")
+    (synopsis "Suggest Elisp functions that give the output requested")
+    (description "Suggest.el will find functions that give the output
+requested.  It's a great way of exploring list, string and arithmetic
+functions.")
+    (license license:gpl3+)))
+
+(define-public emacs-benchmark-init
+  (package
+    (name "emacs-benchmark-init")
+    (version "1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/dholm/benchmark-init-el/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0szyqr4nncwz4vd5gww1vz31kf9r2lx25p4d0d09pm35974x53kz"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/dholm/benchmark-init-el")
+    (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
+    (description "@code{benchmark-init} provides a way to keep track of where
+time is being spent during Emacs startup in order to optimize startup time.")
+    (license license:gpl3+)))
+
+(define-public emacs-emms-player-simple-mpv
+  (let ((commit "101d120ccdee1c2c213fd2f0423c858b21649c00")
+        (revision "1"))
+    (package
+      (name "emacs-emms-player-simple-mpv")
+      (version (string-append "0.4.0" "-" revision "."
+                              (string-take commit 7)))
+
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/momomo5717/emms-player-simple-mpv.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1i6rxkm0ra0jbkkwgkwxg3vk5xfl794h1gkgnlpscynz0v94b6ll"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-emms" ,emms)))
+      (home-page "https://github.com/momomo5717/emms-player-simple-mpv")
+      (synopsis "Extension of @file{emms-player-simple.el} for mpv JSON IPC")
+      (description "@code{emms-player-simple-mpv} provides macros and
+functions for defining emms simple players of mpv.")
+      (license license:gpl3+))))
+
+(define-public emacs-magit-org-todos-el
+  (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
+    (package
+      (name "emacs-magit-org-todos-el")
+      (version (git-version "0.1.1" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/danielma/magit-org-todos.el.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/danielma/magit-org-todos.el")
+      (synopsis "Get todo.org into Emacs Magit status")
+      (description "This package allows you to get @file{todo.org} into your
+magit status.
+
+If you have a @file{todo.org} file with @code{TODO} items in the root of your
+repository, @code{magit-org-todos} will create a section in your Magit status
+buffer with each of your todos.")
+      (license license:gpl3+))))
+
+(define-public emacs-f3
+  (package
+    (name "emacs-f3")
+    (version "0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/cosmicexplorer/f3/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06b8i1jvklm5k3k90n65f197l1miq1xlxqkqpbppw4h3rhl4y98h"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-helm" ,emacs-helm)))
+    (home-page "https://github.com/cosmicexplorer/f3")
+    (synopsis "Fantastic File Finder for Emacs")
+    (description
+     "The Fantastic File Finder for Emacs.  Find files fast, using helm.")
+    (license license:gpl3+)))
+
+(define-public emacs-dumb-jump
+  (package
+    (name "emacs-dumb-jump")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/jacktasia/dumb-jump/archive/"
+                           "v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07n0xjgpxjpf3vp9gxchkjpydyj0zm166930as0kwiwkhjlsirsf"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-f" ,emacs-f)
+       ("emacs-s" ,emacs-s)
+       ("emacs-dash" ,emacs-dash)
+       ("emacs-popup" ,emacs-popup)))
+    (home-page "https://github.com/jacktasia/dumb-jump")
+    (synopsis "Jump to definition for multiple languages without configuration")
+    (description "Dumb Jump is an Emacs \"jump to definition\" package with
+support for multiple programming languages that favors \"just working\" over
+speed or accuracy.  This means minimal -- and ideally zero -- configuration
+with absolutely no stored indexes (TAGS) or persistent background processes.
+Dumb Jump performs best with The Silver Searcher `ag` or ripgrep `rg`
+installed.  Dumb Jump requires at least GNU Emacs 24.3. ")
+    (license license:gpl3+)))
+
+(define-public emacs-lice-el
+  (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
+    (package
+      (name "emacs-lice-el")
+      (version (git-version "0.2" "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/buzztaiki/lice-el.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/buzztaiki/lice-el")
+      (synopsis "License and header template for Emacs")
+      (description "@code{lice.el} provides following features:
+
+@itemize
+@item License template management.
+@item File header insertion.
+@end itemize\n")
+      (license license:gpl3+))))
+
+(define-public emacs-academic-phrases
+  (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
+    (package
+      (name "emacs-academic-phrases")
+      (version (git-version "0.1" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/nashamri/academic-phrases.git")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-dash" ,emacs-dash)
+         ("emacs-s" ,emacs-s)
+         ("emacs-ht" ,emacs-ht)))
+      (home-page "https://github.com/nashamri/academic-phrases")
+      (synopsis "Bypass that mental block when writing your papers")
+      (description
+       "When writing your academic paper, you might get stuck trying to find
+the right phrase that captures your intention.  This package tries to
+alleviate that problem by presenting you with a list of phrases organized by
+the topic or by the paper section that you are writing.  This package has
+around 600 phrases so far.
+
+Using this package is easy, just call @code{academic-phrases} to get a list of
+phrases organized by topic, or call @code{academic-phrases-by-section} to
+browse the phrases by the paper section and fill-in the blanks if required.")
+      (license license:gpl3+))))
+
+(define-public emacs-auto-yasnippet
+  (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
+    (package
+      (name "emacs-auto-yasnippet")
+      (version (git-version "0.3.0" "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/abo-abo/auto-yasnippet.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
+      (build-system emacs-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-before 'install 'check
+             (lambda _
+               (invoke "emacs" "--batch"
+                       "-l" "auto-yasnippet.el"
+                       "-l" "auto-yasnippet-test.el"
+                       "-f" "ert-run-tests-batch-and-exit"))))))
+      (propagated-inputs
+       `(("emacs-yasnippet" ,emacs-yasnippet)))
+      (home-page "https://github.com/abo-abo/auto-yasnippet/")
+      (synopsis "Quickly create disposable yasnippets")
+      (description "This package provides a hybrid of keyboard macros and
+yasnippet.  You create the snippet on the go, usually to be used just in the
+one place.  It's fast, because you're not leaving the current buffer, and all
+you do is enter the code you'd enter anyway, just placing ~ where you'd like
+yasnippet fields and mirrors to be.")
+      (license license:gpl3+))))
+
+(define-public emacs-highlight-numbers
+  (package
+    (name "emacs-highlight-numbers")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/Fanael/highlight-numbers/archive/"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "030v5p11d4n0581ncv499l1fqrmfziy756q6378x2bv22ixghqqp"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-parent-mode" ,emacs-parent-mode)))
+    (home-page "https://github.com/Fanael/highlight-numbers")
+    (synopsis "Highlight numbers in source code")
+    (description "@code{highlight-numbers-mode} provides a minor mode for
+syntax highlighting of numeric literals in source code.
+
+It s customizable: it's easy to add or redefine what exactly consitutes a
+\"number\" in given major mode.  See @code{highlight-numbers-modelist}.")
+    (license license:gpl3+)))
+
+(define-public emacs-darkroom
+  (package
+    (name "emacs-darkroom")
+    (version "0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
+                                  version ".el"))
+              (sha256
+               (base32
+                "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
+    (build-system emacs-build-system)
+    (home-page "https://elpa.gnu.org/packages/darkroom.html")
+    (synopsis "Remove visual distractions and focus on writing")
+    (description "@code{darkroom-mode} makes visual distractions disappear.
+The mode-line is temporarily elided, text is enlarged and margins are adjusted
+so that it's centered on the window.
+
+@code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
+@code{darkroom-mode}, unless the current buffer lives in the sole window of
+the Emacs frame (i.e. all other windows are deleted).  Whenever the frame is
+split to display more windows and more buffers, the buffer exits
+@code{darkroom-mode}.  Whenever they are deleted, the buffer re-enters
+@code{darkroom-mode}.")
+    (license license:gpl3+)))
+
+(define-public emacs-rsw-elisp
+  (package
+    (name "emacs-rsw-elisp")
+    (version "1.0.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/rswgnu/rsw-elisp"
+                                  "/archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/rswgnu/rsw-elisp")
+    (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
+    (description "This package improves and replaces the GNU Emacs commands
+that interactively evaluate Emacs Lisp expressions.  The new commands replace
+standard key bindings and are all prefixed with rsw-elisp-.  They work the
+same way as the old commands when called non-interactively; only the
+interactive behavior should be different.")
+    (license license:gpl3+)))
+
+(define-public emacs-default-text-scale
+  (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
+        (revision "1"))
+    (package
+      (name "emacs-default-text-scale")
+      (version (string-append "0.1" "-" revision "."
+                              (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/purcell/default-text-scale")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/purcell/default-text-scale")
+      (synopsis "Adjust the font size in all Emacs frames")
+      (description "This package provides commands for increasing or
+decreasing the default font size in all GUI Emacs frames.")
+      (license license:gpl3+))))
+
+(define-public emacs-visual-regexp
+  (package
+    (name "emacs-visual-regexp")
+    (version "1.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/benma/visual-regexp.el/archive/"
+                           "v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1czmhvcivlcdyz7rfm0vd4a3xsgmy4qbvbl6yjxc217wrxqflr92"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/benma/visual-regexp.el/")
+    (synopsis "Regexp command with interactive visual feedback")
+    (description "This package provides an Emacs regexp command with
+interactive visual feedback.")
+    (license license:gpl3+)))
+
+(define-public emacs-faceup
+  (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
+        (revision "1"))
+    (package
+      (name "emacs-faceup")
+      (version (string-append "0.0.1" "-" revision "."
+                              (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Lindydancer/faceup.git")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/Lindydancer/faceup")
+      (synopsis "Markup language for faces and font-lock regression testing")
+      (description "Emacs is capable of highlighting buffers based on
+language-specific @code{font-lock} rules.  This package makes it possible to
+perform regression test for packages that provide font-lock rules.")
+      (license license:gpl3+))))
+
+(define-public emacs-racket-mode
+  (let ((commit "33877b1bb24faea68842e0396bd5718b84e47451")
+        (revision "1"))
+    (package
+      (name "emacs-racket-mode")
+      (version (string-append "0.0.1" "-" revision "."
+                              (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/greghendershott/racket-mode")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "0681mzwx08zwbh8qg3s26jw1jn4fw2ljp1akxqkhy08sxhafqvb1"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-faceup" ,emacs-faceup)
+         ("emacs-s" ,emacs-s)))
+      (home-page "https://github.com/greghendershott/racket-mode")
+      (synopsis "Major mode for Racket language")
+      (description "@code{racket-mode} provides:
+
+@itemize
+@item Focus on Racket (not various Schemes).
+@item Follow DrRacket concepts where applicable.
+@item Thorough font-lock and indent.
+@end itemize\n")
+      (license license:gpl3+))))
+
+(define-public emacs-grep-context
+  (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
+    (package
+      (name "emacs-grep-context")
+      (version (git-version "0.1" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/mkcms/grep-context.git")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-dash" ,emacs-dash)))
+      (home-page "https://github.com/nashamri/academic-phrases")
+      (synopsis "Increase context in compilation and grep buffers")
+      (description
+       "This package provides an Emacs package for more context in
+compilation/grep buffers.  Works with @code{wgrep}, @code{ack}, @code{ag},
+@code{ivy}.")
+      (license license:gpl3+))))
+
+(define-public emacs-helm-firefox
+  (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
+        (revision "1"))
+    (package
+      (name "emacs-helm-firefox")
+      (version (string-append "0.0.1" "-" revision "."
+                              (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/emacs-helm/helm-firefox.git")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/emacs-helm/helm-firefox")
+      (synopsis "Display firefox bookmarks with Emacs Helm interface")
+      (description "Display firefox bookmarks with Emacs Helm interface")
+      (license license:gpl3+))))
+
+(define-public emacs-interactive-align
+  (package
+    (name "emacs-interactive-align")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/mkcms/interactive-align/"
+                           "archive/" "v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/mkcms/interactive-align/")
+    (synopsis "Interactive align-regexp command in Emacs")
+    (description "Interactive align-regexp command in Emacs")
+    (license license:gpl3+)))
+
+(define-public emacs-shift-number
+  (package
+    (name "emacs-shift-number")
+    (version "0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/alezost/shift-number.el"
+                           "/archive/" "v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/alezost/shift-number.el")
+    (synopsis "Increase or decrease the number at point")
+    (description "@code{emacs-shift-number} provides commands
+@code{shift-number-up} to increase and @code{shift-number-down} to
+decrease the number at point.")
+    (license license:gpl3+)))
+
+(define-public emacs-highlight-defined
+  (package
+    (name "emacs-highlight-defined")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/Fanael/highlight-defined/archive/"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ryd66989b5byqdw8jmjrjf0c78iiz72wibld750skcnj5h5h506"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/Fanael/highlight-defined")
+    (synopsis "Syntax highlighting of known Elisp symbols")
+    (description "Minor mode providing syntax highlighting of known Emacs Lisp
+symbols.  Currently the code distinguishes Lisp functions, built-in functions,
+macros, faces and variables.  To enable call @code{highlight-defined-mode}. ")
+    (license license:gpl3+)))
+
+(define-public emacs-parinfer-mode
+  (package
+    (name "emacs-parinfer-mode")
+    (version "0.4.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/DogLooksGood/parinfer-mode/archive/"
+                           "v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06ba9qi59sm9ih9m38fbr8kj4qkvrm58n0c0ngfjz60gnr9x9pcv"))))
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)
+       ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
+       ("emacs-company" ,emacs-company)))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/DogLooksGood/parinfer-mode/")
+    (synopsis "Lisp structure editing mode")
+    (description "@code{parinfer-mode} is a proof-of-concept editor
+mode for Lisp programming languages.  It will infer some changes to
+keep Parens and Indentation inline with one another.")
+    (license license:gpl3+)))
+
+(define-public emacs-helm-eww
+  (let ((commit "5d6c2c66d4694415ef8a16a6d38a37aeae76c5ac"))
+    (package
+      (name "emacs-helm-eww")
+      (version (git-version "0.1" "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/emacs-helm/helm-eww.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "1x442ylrr7cx587s4rvfh187h3qbkr79qp95qr57a4igxkkw6183"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/emacs-helm/helm-eww/")
+      (synopsis "Helm interface to EWW")
+      (description "This package provides a Helm interface for EWW buffers,
+bookmarks and history.")
+      (license license:gpl3+))))
+
+(define-public emacs-stumpwm-mode
+  (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35")
+        (revision "1"))
+    (package
+      (name "emacs-stumpwm-mode")
+      (version (string-append "0.0.1-" revision "."
+                              (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/stumpwm/stumpwm-contrib.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq"))))
+      (build-system emacs-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'chdir-elisp
+             ;; Elisp directory is not in root of the source.
+             (lambda _
+               (chdir "util/swm-emacs"))))))
+      (home-page "https://github.com/stumpwm/stumpwm-contrib")
+      (synopsis "Emacs minor-mode for Stumpwm")
+      (description "Emacs minor-mode for Stumpwm")
+      (license license:gpl3+))))
+
+(define-public emacs-irfc
+  (package
+    (name "emacs-irfc")
+    (version "20130824.507")
+    (source
+     (origin
+       (method url-fetch)
+       (uri "https://www.emacswiki.org/emacs/download/irfc.el")
+       (file-name (string-append "irfc-" version ".el"))
+       (sha256
+        (base32
+         "197ybqwbj8qjh2p9pkf5mvqnrkpcgmv8c5s2gvl6msyrabk0mnca"))))
+    (build-system emacs-build-system)
+    (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
+    (synopsis "Interface for IETF RFC document")
+    (description
+     "This package provides an Emacs interface for IETF RFC document.")
+    (license license:gpl3+)))
+
+(define-public emacs-ido-vertical-mode
+  (package
+    (name "emacs-ido-vertical-mode")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/creichert/ido-vertical-mode.el/archive/"
+             "v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0dprdxq8wvqd45dinwj92k0kixr07c8xvspa6i613mjcpxgwjg53"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/creichert/ido-vertical-mode.el")
+    (synopsis "Makes ido-mode display vertically")
+    (description "Makes ido-mode display prospects vertically.")
+    (license license:gpl3+)))