gnu: Add emacs-gnugo.
[jackhill/guix/guix.git] / gnu / packages / emacs-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
3 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
6 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
7 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
9 ;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
10 ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11 ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
12 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
13 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
14 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
15 ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
16 ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
17 ;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
19 ;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
20 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
21 ;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
22 ;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
23 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
24 ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
25 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
26 ;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
27 ;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
28 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
29 ;;; Copyright © 2017, 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
30 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
32 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
33 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
34 ;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
35 ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
36 ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org>
37 ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
38 ;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
39 ;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us>
40 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41 ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42 ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43 ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
44 ;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
45 ;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
46 ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
47 ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
48 ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
49 ;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz>
50 ;;; Copyright © 2019 Amar Singh <nly@disroot.org>
51 ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
52 ;;;
53 ;;; This file is part of GNU Guix.
54 ;;;
55 ;;; GNU Guix is free software; you can redistribute it and/or modify it
56 ;;; under the terms of the GNU General Public License as published by
57 ;;; the Free Software Foundation; either version 3 of the License, or (at
58 ;;; your option) any later version.
59 ;;;
60 ;;; GNU Guix is distributed in the hope that it will be useful, but
61 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
62 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
63 ;;; GNU General Public License for more details.
64 ;;;
65 ;;; You should have received a copy of the GNU General Public License
66 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
67
68 (define-module (gnu packages emacs-xyz)
69 #:use-module ((guix licenses) #:prefix license:)
70 #:use-module (guix packages)
71 #:use-module (guix cvs-download)
72 #:use-module (guix download)
73 #:use-module (guix git-download)
74 #:use-module (guix build-system gnu)
75 #:use-module (guix build-system cmake)
76 #:use-module (guix build-system emacs)
77 #:use-module (guix build-system glib-or-gtk)
78 #:use-module (guix build-system perl)
79 #:use-module (guix build-system trivial)
80 #:use-module (gnu packages)
81 #:use-module (gnu packages admin)
82 #:use-module (gnu packages audio)
83 #:use-module (gnu packages bash)
84 #:use-module (gnu packages cmake)
85 #:use-module (gnu packages code)
86 #:use-module (gnu packages databases)
87 #:use-module (gnu packages emacs)
88 #:use-module (gnu packages guile)
89 #:use-module (gnu packages gtk)
90 #:use-module (gnu packages gnome)
91 #:use-module (gnu packages ncurses)
92 #:use-module (gnu packages python)
93 #:use-module (gnu packages python-xyz)
94 #:use-module (gnu packages tex)
95 #:use-module (gnu packages texinfo)
96 #:use-module (gnu packages tcl)
97 #:use-module (gnu packages tls)
98 #:use-module (gnu packages pkg-config)
99 #:use-module (gnu packages xorg)
100 #:use-module (gnu packages lesstif)
101 #:use-module (gnu packages llvm)
102 #:use-module (gnu packages image)
103 #:use-module (gnu packages linux)
104 #:use-module (gnu packages libevent)
105 #:use-module (gnu packages music)
106 #:use-module (gnu packages version-control)
107 #:use-module (gnu packages imagemagick)
108 #:use-module (gnu packages w3m)
109 #:use-module (gnu packages wget)
110 #:use-module (gnu packages autotools)
111 #:use-module (gnu packages base)
112 #:use-module (gnu packages compression)
113 #:use-module (gnu packages xml)
114 #:use-module (gnu packages glib)
115 #:use-module (gnu packages acl)
116 #:use-module (gnu packages mail)
117 #:use-module (gnu packages package-management)
118 #:use-module (gnu packages perl)
119 #:use-module (gnu packages pdf)
120 #:use-module (gnu packages scheme)
121 #:use-module (gnu packages speech)
122 #:use-module (gnu packages xiph)
123 #:use-module (gnu packages mp3)
124 #:use-module (gnu packages gettext)
125 #:use-module (gnu packages fribidi)
126 #:use-module (gnu packages gd)
127 #:use-module (gnu packages fontutils)
128 #:use-module (gnu packages password-utils)
129 #:use-module (gnu packages pulseaudio)
130 #:use-module (gnu packages sphinx)
131 #:use-module (gnu packages xdisorg)
132 #:use-module (gnu packages shells)
133 #:use-module (gnu packages sqlite)
134 #:use-module (gnu packages gnupg)
135 #:use-module (gnu packages video)
136 #:use-module (gnu packages haskell)
137 #:use-module (gnu packages wordnet)
138 #:use-module (guix utils)
139 #:use-module (srfi srfi-1)
140 #:use-module (ice-9 match))
141
142 ;;;
143 ;;; Emacs hacking.
144 ;;;
145
146 (define-public emacs-geiser
147 (package
148 (name "emacs-geiser")
149 (version "0.10")
150 (source (origin
151 (method url-fetch)
152 (uri (string-append "mirror://savannah/geiser/" version
153 "/geiser-" version ".tar.gz"))
154 (sha256
155 (base32
156 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
157 (build-system gnu-build-system)
158 (arguments
159 '(#:phases
160 (modify-phases %standard-phases
161 (add-after 'install 'post-install
162 (lambda* (#:key outputs #:allow-other-keys)
163 (symlink "geiser-install.el"
164 (string-append (assoc-ref outputs "out")
165 "/share/emacs/site-lisp/"
166 "geiser-autoloads.el"))
167 #t)))))
168 (inputs `(("guile" ,guile-2.2)))
169 (native-inputs `(("emacs" ,emacs-minimal)))
170 (home-page "https://nongnu.org/geiser/")
171 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
172 (description
173 "Geiser is a collection of Emacs major and minor modes that conspire with
174 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
175 continuously running Scheme interpreter takes the center of the stage in
176 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
177 implementation, Emacs and, ultimately, the schemer, giving them access to live
178 metadata.")
179 (license license:bsd-3)))
180
181 (define-public geiser
182 (deprecated-package "geiser" emacs-geiser))
183
184 (define-public emacs-paredit
185 (package
186 (name "emacs-paredit")
187 (version "24")
188 (source (origin
189 (method url-fetch)
190 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
191 version ".el"))
192 (sha256
193 (base32
194 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
195 (build-system emacs-build-system)
196 (home-page "http://mumble.net/~campbell/emacs/paredit/")
197 (synopsis "Emacs minor mode for editing parentheses")
198 (description
199 "ParEdit (paredit.el) is a minor mode for performing structured editing
200 of S-expression data. The typical example of this would be Lisp or Scheme
201 source code.
202
203 ParEdit helps **keep parentheses balanced** and adds many keys for moving
204 S-expressions and moving around in S-expressions. Its behavior can be jarring
205 for those who may want transient periods of unbalanced parentheses, such as
206 when typing parentheses directly or commenting out code line by line.")
207 (license license:gpl3+)))
208
209 (define-public paredit
210 (deprecated-package "paredit" emacs-paredit))
211
212 (define-public git-modes
213 (package
214 (name "emacs-git-modes")
215 (version "1.2.8")
216 (source (origin
217 (method git-fetch)
218 (uri (git-reference
219 (url "https://github.com/magit/git-modes")
220 (commit version)))
221 (file-name (git-file-name name version))
222 (sha256
223 (base32
224 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
225 (build-system emacs-build-system)
226 (home-page "https://github.com/magit/git-modes")
227 (synopsis "Emacs major modes for Git configuration files")
228 (description
229 "This package provides Emacs major modes for editing various Git
230 configuration files, such as .gitattributes, .gitignore, and .git/config.")
231 (license license:gpl3+)))
232
233 (define-public git-modes/old-name
234 (deprecated-package "git-modes" git-modes))
235
236 (define-public emacs-with-editor
237 (package
238 (name "emacs-with-editor")
239 (version "2.8.3")
240 (source (origin
241 (method git-fetch)
242 (uri (git-reference
243 (url "https://github.com/magit/with-editor.git")
244 (commit (string-append "v" version))))
245 (file-name (git-file-name name version))
246 (sha256
247 (base32
248 "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"))))
249 (build-system emacs-build-system)
250 (propagated-inputs
251 `(("emacs-dash" ,emacs-dash)))
252 (home-page "https://github.com/magit/with-editor")
253 (synopsis "Emacs library for using Emacsclient as EDITOR")
254 (description
255 "This package provides an Emacs library to use the Emacsclient as
256 @code{$EDITOR} of child processes, making sure they know how to call home.
257 For remote processes a substitute is provided, which communicates with Emacs
258 on stdout instead of using a socket as the Emacsclient does.")
259 (license license:gpl3+)))
260
261 (define-public emacs-magit
262 ;; Version 2.90.1 has trouble loading the transient library,
263 ;; so we use a more recent commit that fixes it.
264 (let ((commit "b4aec016b5577afa8d889f258b499814d1bb1d94"))
265 (package
266 (name "emacs-magit")
267 (version (git-version "2.90.1" "1" commit))
268 (source (origin
269 (method git-fetch)
270 (uri (git-reference
271 (url "https://github.com/magit/magit")
272 (commit commit)))
273 (file-name (git-file-name name version))
274 (sha256
275 (base32
276 "0zl7v6z0y50pcgqsf2r8c1k3r5nwjad9ba7r6sgrnf4rc62br7jv"))))
277 (build-system gnu-build-system)
278 (native-inputs `(("texinfo" ,texinfo)
279 ("emacs" ,emacs-minimal)))
280 (inputs
281 `(("git" ,git)
282 ("perl" ,perl)))
283 (propagated-inputs
284 `(("dash" ,emacs-dash)
285 ("with-editor" ,emacs-with-editor)
286 ("transient" ,emacs-transient)))
287 (arguments
288 `(#:modules ((guix build gnu-build-system)
289 (guix build utils)
290 (guix build emacs-utils))
291 #:imported-modules (,@%gnu-build-system-modules
292 (guix build emacs-utils))
293 #:test-target "test"
294 #:tests? #f ; tests are not included in the release
295
296 #:make-flags
297 (list (string-append "PREFIX=" %output)
298 ;; Don't put .el files in a sub-directory.
299 (string-append "lispdir=" %output "/share/emacs/site-lisp")
300 (string-append "DASH_DIR="
301 (assoc-ref %build-inputs "dash")
302 "/share/emacs/site-lisp/guix.d/dash-"
303 ,(package-version emacs-dash))
304 (string-append "WITH_EDITOR_DIR="
305 (assoc-ref %build-inputs "with-editor")
306 "/share/emacs/site-lisp/guix.d/with-editor-"
307 ,(package-version emacs-with-editor))
308 (string-append "TRANSIENT_DIR="
309 (assoc-ref %build-inputs "transient")
310 "/share/emacs/site-lisp/guix.d/transient-"
311 ,(package-version emacs-transient)))
312
313 #:phases
314 (modify-phases %standard-phases
315 (delete 'configure)
316 (add-before
317 'build 'patch-exec-paths
318 (lambda* (#:key inputs #:allow-other-keys)
319 (let ((perl (assoc-ref inputs "perl")))
320 (make-file-writable "lisp/magit-sequence.el")
321 (emacs-substitute-variables "lisp/magit-sequence.el"
322 ("magit-perl-executable" (string-append perl "/bin/perl")))
323 #t))))))
324 (home-page "https://magit.vc/")
325 (synopsis "Emacs interface for the Git version control system")
326 (description
327 "With Magit, you can inspect and modify your Git repositories with Emacs.
328 You can review and commit the changes you have made to the tracked files, for
329 example, and you can browse the history of past changes. There is support for
330 cherry picking, reverting, merging, rebasing, and other common Git
331 operations.")
332 (license license:gpl3+))))
333
334 (define-public magit
335 (deprecated-package "magit" emacs-magit))
336
337 (define-public emacs-magit-svn
338 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
339 (package
340 (name "emacs-magit-svn")
341 (version (git-version "2.2.1" "1" commit))
342 (source (origin
343 (method git-fetch)
344 (uri (git-reference
345 (url "https://github.com/magit/magit-svn")
346 (commit commit)))
347 (file-name (git-file-name name version))
348 (sha256
349 (base32
350 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
351 (build-system trivial-build-system)
352 (native-inputs `(("emacs" ,emacs-minimal)))
353 (propagated-inputs `(("dash" ,emacs-dash)
354 ("with-editor" ,emacs-with-editor)
355 ("magit" ,emacs-magit)
356 ("transient" ,emacs-transient)))
357 (arguments
358 `(#:modules ((guix build utils)
359 (guix build emacs-utils))
360
361 #:builder
362 (begin
363 (use-modules (guix build utils)
364 (guix build emacs-utils))
365
366 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
367 "/bin/emacs"))
368 (magit (string-append (assoc-ref %build-inputs "magit")
369 "/share/emacs/site-lisp"))
370 (transient (string-append (assoc-ref %build-inputs "transient")
371 "/share/emacs/site-lisp/guix.d/transient-"
372 ,(package-version emacs-transient)))
373 (dash (string-append (assoc-ref %build-inputs "dash")
374 "/share/emacs/site-lisp/guix.d/dash-"
375 ,(package-version emacs-dash)))
376 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
377 "/share/emacs/site-lisp/guix.d/with-editor-"
378 ,(package-version emacs-with-editor)))
379 (source (assoc-ref %build-inputs "source"))
380 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
381
382 (install-file (string-append source "/magit-svn.el")
383 lisp-dir)
384
385 (with-directory-excursion lisp-dir
386 (parameterize ((%emacs emacs))
387 (emacs-generate-autoloads ,name lisp-dir)
388 (setenv "EMACSLOADPATH"
389 (string-append ":" magit ":" transient
390 ":" dash ":" with-editor))
391 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
392 #t))))
393 (home-page "https://github.com/magit/magit-svn")
394 (synopsis "Git-SVN extension to Magit")
395 (description
396 "This package is an extension to Magit, the Git Emacs mode, providing
397 support for Git-SVN.")
398 (license license:gpl3+))))
399
400 (define-public magit-svn
401 (deprecated-package "magit-svn" emacs-magit-svn))
402
403 (define-public emacs-magit-popup
404 (package
405 (name "emacs-magit-popup")
406 (version "2.12.5")
407 (source (origin
408 (method git-fetch)
409 (uri (git-reference
410 (url "https://github.com/magit/magit-popup.git")
411 (commit (string-append "v" version))))
412 (file-name (git-file-name name version))
413 (sha256
414 (base32
415 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
416 (build-system emacs-build-system)
417 (arguments
418 `(#:phases
419 (modify-phases %standard-phases
420 (add-before 'install 'make-info
421 (lambda _
422 (invoke "make" "info"))))))
423 (native-inputs
424 `(("texinfo" ,texinfo)))
425 (propagated-inputs
426 `(("emacs-dash" ,emacs-dash)))
427 (home-page "https://github.com/magit/magit-popup")
428 (synopsis "Define prefix-infix-suffix command combos")
429 (description
430 "This library implements a generic interface for toggling switches and
431 setting options and then invoking an Emacs command which does something with
432 these arguments. The prototypical use is for the command to call an external
433 process, passing on the arguments as command line arguments.")
434 (license license:gpl3+)))
435
436 (define-public emacs-treepy
437 (package
438 (name "emacs-treepy")
439 (version "0.1.1")
440 (source (origin
441 (method git-fetch)
442 (uri (git-reference
443 (url "https://github.com/volrath/treepy.el.git")
444 (commit version)))
445 (file-name (git-file-name name version))
446 (sha256
447 (base32
448 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
449 (build-system emacs-build-system)
450 (home-page
451 "https://github.com/volrath/treepy.el")
452 (synopsis "Tree traversal tools")
453 (description
454 "Generic tools for recursive and iterative tree traversal based on
455 clojure.walk and clojure.zip respectively.")
456 (license license:gpl3+)))
457
458 (define-public emacs-graphql
459 (package
460 (name "emacs-graphql")
461 (version "0.1.1")
462 (source (origin
463 (modules '((guix build utils)))
464 ;; Remove examples file with references to external packages as
465 ;; they do not exist at compilation time.
466 (snippet
467 '(begin (delete-file "examples.el")
468 #t))
469 (method git-fetch)
470 (uri (git-reference
471 (url "https://github.com/vermiculus/graphql.el.git")
472 (commit version)))
473 (file-name (git-file-name name version))
474 (sha256
475 (base32
476 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
477 (build-system emacs-build-system)
478 (home-page
479 "https://github.com/vermiculus/graphql.el")
480 (synopsis "GraphQL utilities")
481 (description
482 "GraphQL.el provides a generally-applicable domain-specific language for
483 creating and executing GraphQL queries against your favorite web services.
484 GraphQL is a data query language and runtime designed and used to request and
485 deliver data to mobile and web apps.")
486 (license license:gpl3+)))
487
488 (define-public emacs-ghub
489 (package
490 (name "emacs-ghub")
491 (version "3.2.0")
492 (source (origin
493 (method git-fetch)
494 (uri (git-reference
495 (url "https://github.com/magit/ghub")
496 (commit (string-append "v" version))))
497 (file-name (git-file-name name version))
498 (sha256
499 (base32
500 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
501 (build-system emacs-build-system)
502 (arguments
503 `(#:phases
504 (modify-phases %standard-phases
505 (add-before 'install 'make-info
506 (lambda _
507 (invoke "make" "info"))))))
508 (native-inputs
509 `(("texinfo" ,texinfo)))
510 (propagated-inputs
511 `(("dash" ,emacs-dash)
512 ("graphql" ,emacs-graphql)
513 ("treepy" ,emacs-treepy)))
514 (home-page "https://github.com/magit/ghub")
515 (synopsis "Emacs client libraries for the APIs of various Git forges")
516 (description
517 "Ghub provides basic support for using the APIs of various Git forges from
518 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
519 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
520 handful of functions that are not resource-specific.")
521 (license license:gpl3+)))
522
523 (define-public emacs-scribble-mode
524 (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
525 (version "0.0")
526 (revision 0))
527 (package
528 (name "emacs-scribble-mode")
529 (version (if (zero? revision)
530 version
531 (string-append version "-"
532 (number->string revision)
533 "." (string-take commit 7))))
534 (source (origin
535 (method git-fetch)
536 (uri (git-reference
537 (url "https://github.com/emacs-pe/scribble-mode.git")
538 (commit commit)))
539 (sha256
540 (base32
541 "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
542 (build-system emacs-build-system)
543 (home-page "https://github.com/emacs-pe/scribble-mode")
544 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
545 (description
546 "This package provides basic syntax highlighting and editing support
547 for editing Racket's Scribble documentation syntax in Emacs.")
548 (license license:gpl3+))))
549
550 (define-public emacs-shroud
551 (package
552 (name "emacs-shroud")
553 (version "1.15.1")
554 (source
555 (origin
556 (method git-fetch)
557 (uri (git-reference
558 (url "https://github.com/o-nly/emacs-shroud.git")
559 (commit version)))
560 (file-name (git-file-name name version))
561 (sha256
562 (base32 "0wvm4lxqcc1p8v7rpqal3bnqgnpk1gs7v18i83f6cvi5d88jkgdg"))))
563 (build-system emacs-build-system)
564 (propagated-inputs
565 `(("emacs-bui" ,emacs-bui)
566 ("emacs-dash" ,emacs-dash)
567 ("emacs-f" ,emacs-f)
568 ("emacs-s" ,emacs-s)
569 ("gnupg" ,gnupg)
570 ("shroud" ,shroud)))
571 (home-page "https://github.com/o-nly/emacs-shroud")
572 (synopsis "Emacs interface to the Shroud password manager")
573 (description
574 "This package provides an Emacs interface to the Shroud password manager,
575 using the Buffers User Interface library. You can view, copy, and edit secrets
576 from within Emacs.")
577 (license license:gpl3+)))
578
579 (define-public emacs-unpackaged-el
580 (let ((commit "f4df7f8dfea715e893b2223adda32545803f5cce")
581 (revision "1"))
582 (package
583 (name "emacs-unpackaged-el")
584 (version (git-version "0" revision commit))
585 (source
586 (origin
587 (method git-fetch)
588 (uri (git-reference
589 (url "https://github.com/alphapapa/unpackaged.el")
590 (commit commit)))
591 (file-name (git-file-name name version))
592 (sha256
593 (base32
594 "1yf3zrgqfhnr0az8gn1kqqwnhfi3nc0vbjkcagwcqwk3sp1jda86"))
595 (patches
596 (search-patches "emacs-unpackaged-req.patch"))))
597 (build-system emacs-build-system)
598 (propagated-inputs
599 `(("emacs-dash" ,emacs-dash)
600 ("emacs-org" ,emacs-org)
601 ("emacs-s" ,emacs-s)
602 ("emacs-hydra" ,emacs-hydra)
603 ("emacs-use-package" ,emacs-use-package)))
604 (home-page "https://github.com/alphapapa/unpackaged.el")
605 (synopsis "Useful snippets of Emacs Lisp code")
606 (description "This package provides Emacs Lisp utilities for a variety
607 of tasks, including version control, task management, and regex-based
608 replacement.")
609 (license license:gpl3+))))
610
611 (define-public emacs-haskell-mode
612 (package
613 (name "emacs-haskell-mode")
614 (version "16.1")
615 (source (origin
616 (method git-fetch)
617 (uri (git-reference
618 (url "https://github.com/haskell/haskell-mode")
619 (commit (string-append "v" version))))
620 (file-name (git-file-name name version))
621 (sha256
622 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
623 (patches
624 (search-patches ; backport test failure fixes
625 "haskell-mode-unused-variables.patch"
626 "haskell-mode-make-check.patch"))))
627 (inputs
628 `(("emacs-el-search" ,emacs-el-search) ; for tests
629 ("emacs-stream" ,emacs-stream))) ; for tests
630 (propagated-inputs
631 `(("emacs-dash" ,emacs-dash)))
632 (native-inputs
633 `(("emacs" ,emacs-minimal)
634 ("texinfo" ,texinfo)))
635 (build-system gnu-build-system)
636 (arguments
637 `(#:make-flags (list (string-append "EMACS="
638 (assoc-ref %build-inputs "emacs")
639 "/bin/emacs"))
640 #:modules ((ice-9 match)
641 (srfi srfi-26)
642 ,@%gnu-build-system-modules)
643 #:phases
644 (modify-phases %standard-phases
645 (delete 'configure)
646 (add-before
647 'build 'pre-build
648 (lambda* (#:key inputs #:allow-other-keys)
649 (define (el-dir store-dir)
650 (match (find-files store-dir "\\.el$")
651 ((f1 f2 ...) (dirname f1))
652 (_ "")))
653
654 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
655 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
656
657 (setenv "SHELL" "sh")
658 (setenv "EMACSLOADPATH"
659 (string-concatenate
660 (map (match-lambda
661 (((? emacs-prefix? name) . dir)
662 (string-append (el-dir dir) ":"))
663 (_ ""))
664 inputs)))
665 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
666 ;; embed filename to fix test failure
667 (let ((file "tests/haskell-cabal-tests.el"))
668 (substitute* file
669 (("\\(buffer-file-name\\)")
670 (format #f "(or (buffer-file-name) ~s)" file))))
671 #t)))
672 (replace
673 'install
674 (lambda* (#:key outputs #:allow-other-keys)
675 (let* ((out (assoc-ref outputs "out"))
676 (el-dir (string-append out "/share/emacs/site-lisp"))
677 (doc (string-append
678 out "/share/doc/haskell-mode-" ,version))
679 (info (string-append out "/share/info")))
680 (define (copy-to-dir dir files)
681 (for-each (lambda (f)
682 (install-file f dir))
683 files))
684
685 (with-directory-excursion "doc"
686 (invoke "makeinfo" "haskell-mode.texi")
687 (install-file "haskell-mode.info" info))
688 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
689 (copy-to-dir el-dir (find-files "." "\\.elc?"))
690 ;; These are part of other packages.
691 (with-directory-excursion el-dir
692 (for-each delete-file '("dash.el" "ert.el")))
693 #t))))))
694 (home-page "https://github.com/haskell/haskell-mode")
695 (synopsis "Haskell mode for Emacs")
696 (description
697 "This is an Emacs mode for editing, debugging and developing Haskell
698 programs.")
699 (license license:gpl3+)))
700
701 (define-public haskell-mode
702 (deprecated-package "haskell-mode" emacs-haskell-mode))
703
704 (define-public emacs-dante
705 (let ((commit "149dded24ca9cdff09a3d859e4b62638db4aadda")
706 (revision "1"))
707 (package
708 (name "emacs-dante")
709 (version (git-version "1.5" revision commit))
710 (source (origin
711 (method git-fetch)
712 (uri (git-reference
713 (url "https://github.com/jyp/dante")
714 (commit commit)))
715 (sha256
716 (base32
717 "0i7kj3d6pfys6si9va5f36qzifyac9mahdl0qh40rya9m0syrkla"))
718 (file-name (git-file-name name version))))
719 (build-system emacs-build-system)
720 (propagated-inputs
721 `(("emacs-dash" ,emacs-dash)
722 ("emacs-f" ,emacs-f)
723 ("emacs-flycheck" ,emacs-flycheck)
724 ("emacs-haskell-mode" ,emacs-haskell-mode)
725 ("emacs-s" ,emacs-s)
726 ("emacs-company" ,emacs-company)
727 ("emacs-lcr" ,emacs-lcr)))
728 (home-page "https://github.com/jyp/dante")
729 (synopsis "Minor mode for interactive Haskell")
730 (description
731 "This package provides a minor mode for Haskell development that
732 supports type hints, definition-jumping, completion, and more.")
733 (license license:gpl3+))))
734
735 (define-public emacs-flycheck
736 (package
737 (name "emacs-flycheck")
738 (version "31")
739 (source (origin
740 (method url-fetch)
741 (uri (string-append
742 "https://github.com/flycheck/flycheck/releases/download/"
743 version "/flycheck-" version ".tar"))
744 (sha256
745 (base32
746 "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))
747 (modules '((guix build utils)))
748 (snippet `(begin
749 ;; Change 'flycheck-version' so that it does not
750 ;; attempt to get its version from pkg-info.el.
751 (substitute* "flycheck.el"
752 (("\\(pkg-info-version-info 'flycheck\\)")
753 (string-append "\"" ,version "\"")))
754 #t))))
755 (build-system emacs-build-system)
756 (propagated-inputs
757 `(("emacs-dash" ,emacs-dash)))
758 (home-page "https://www.flycheck.org")
759 (synopsis "On-the-fly syntax checking")
760 (description
761 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
762 replacement for the older Flymake extension which is part of GNU Emacs, with
763 many improvements and additional features.
764
765 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
766 checking for over 30 programming and markup languages with more than 70
767 different tools. It highlights errors and warnings inline in the buffer, and
768 provides an optional IDE-like error list.")
769 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
770
771 (define-public emacs-a
772 (package
773 (name "emacs-a")
774 (version "0.1.1")
775 (source (origin
776 (method git-fetch)
777 (uri (git-reference
778 (url "https://github.com/plexus/a.el.git")
779 (commit (string-append "v" version))))
780 (file-name (git-file-name name version))
781 (sha256
782 (base32
783 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
784 (build-system emacs-build-system)
785 (home-page "https://github.com/plexus/a.el/")
786 (synopsis
787 "Emacs library for dealing with association lists and hash tables")
788 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
789 with associative structures in a uniform and functional way. These functions
790 can take association lists, hash tables, and in some cases vectors (where the
791 index is considered the key).")
792 (license license:gpl3+)))
793
794 (define-public emacs-ace-jump-mode
795 (package
796 (name "emacs-ace-jump-mode")
797 (version "2.0")
798 (home-page "https://github.com/winterTTr/ace-jump-mode")
799 (source (origin
800 (method git-fetch)
801 (uri (git-reference
802 (url home-page)
803 (commit (string-append "v" version))))
804 (sha256
805 (base32
806 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
807 (file-name (git-file-name name version))))
808 (build-system emacs-build-system)
809 (synopsis "Cursor location minor mode for fast navigation")
810 (description "Ace-jump-mode is a fast/direct cursor location minor
811 mode. It creates an N-Branch search tree internally and marks all
812 the possible position with predefined keys in within the whole Emacs
813 view. This allows you to move to the character, word, or line almost
814 directly.")
815 (license license:gpl3+)))
816
817 (define-public emacs-anaphora
818 (package
819 (name "emacs-anaphora")
820 (version "1.0.4")
821 (source
822 (origin
823 (method git-fetch)
824 (uri (git-reference
825 (url "https://github.com/rolandwalker/anaphora.git")
826 (commit (string-append "v" version))))
827 (file-name (git-file-name name version))
828 (sha256
829 (base32
830 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
831 (build-system emacs-build-system)
832 (home-page "https://github.com/rolandwalker/anaphora/")
833 (synopsis "Anaphoric expressions for Emacs Lisp")
834 (description "@code{emacs-anaphora} implements anaphoric expressions for
835 Emacs Lisp.
836
837 Anaphoric expressions implicitly create one or more temporary variables which
838 can be referred to during the expression. This technique can improve clarity
839 in certain cases. It also enables recursion for anonymous functions.")
840 (license license:public-domain)))
841
842 (define-public emacs-xr
843 (package
844 (name "emacs-xr")
845 (version "1.12")
846 (source
847 (origin
848 (method url-fetch)
849 (uri (string-append
850 "https://elpa.gnu.org/packages/xr-" version ".tar"))
851 (sha256
852 (base32
853 "1vv87h0h8ldc1mbsn45w5z1m6jq8j2js4xz23a9ixdby06g60y3g"))))
854 (build-system emacs-build-system)
855 (home-page "http://elpa.gnu.org/packages/xr.html")
856 (synopsis "Convert string regexp to rx notation")
857 (description
858 "This is an inverse companion to the @code{rx} package for translating
859 regexps in string form to the @code{rx} notation. Its chief uses are:
860
861 @itemize
862 @item Migrating existing code to @code{rx} form, for better readability and
863 maintainability
864 @item Understanding complex regexp strings and finding errors in them
865 @end itemize
866
867 In addition to Emacs regexps, this package can also parse and troubleshoot
868 skip set strings, which are arguments to @code{skip-chars-forward} and
869 @code{skip-chars-backward}.")
870 (license license:gpl3+)))
871
872 (define-public emacs-reformatter
873 (package
874 (name "emacs-reformatter")
875 (version "0.4")
876 (source
877 (origin
878 (method git-fetch)
879 (uri (git-reference
880 (url "https://github.com/purcell/reformatter.el.git")
881 (commit version)))
882 (file-name (git-file-name name version))
883 (sha256
884 (base32
885 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
886 (build-system emacs-build-system)
887 (home-page "https://github.com/purcell/reformatter.el")
888 (synopsis "Define commands which run reformatters on the current buffer")
889 (description
890 "This library lets elisp authors easily define an idiomatic command to
891 reformat the current buffer using a command-line program, together with an
892 optional minor mode which can apply this command automatically on save.")
893 (license license:gpl3+)))
894
895 (define-public emacs-relint
896 (package
897 (name "emacs-relint")
898 (version "1.8")
899 (source
900 (origin
901 (method url-fetch)
902 (uri (string-append
903 "https://elpa.gnu.org/packages/relint-" version ".el"))
904 (sha256
905 (base32
906 "1bl6m2h7131acbmr0kqfnjjpv2syiv2mxfnm61g874ynnvkmmkm3"))))
907 (build-system emacs-build-system)
908 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
909 (home-page "https://github.com/mattiase/relint")
910 (synopsis "Elisp regexp mistake finder")
911 (description
912 "Relint (regular expression lint) scans Elisp files for mistakes in
913 regexps, including deprecated syntax and bad practice. It also checks the
914 regexp-like arguments to @code{skip-chars-forward} and
915 @code{skip-chars-backward}.")
916 (license license:gpl3+)))
917
918 \f
919 ;;;
920 ;;; Web browsing.
921 ;;;
922
923 (define-public emacs-w3m
924 ;; Emacs-w3m follows a "rolling release" model.
925 (package
926 (name "emacs-w3m")
927 (version "2018-11-11")
928 (source (origin
929 (method cvs-fetch)
930 (uri (cvs-reference
931 (root-directory
932 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
933 (module "emacs-w3m")
934 (revision version)))
935 (file-name (string-append name "-" version "-checkout"))
936 (sha256
937 (base32
938 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
939 (build-system gnu-build-system)
940 (native-inputs `(("autoconf" ,autoconf)
941 ("texinfo" ,texinfo)
942 ("emacs" ,emacs-minimal)))
943 (inputs `(("w3m" ,w3m)
944 ("imagemagick" ,imagemagick)))
945 (arguments
946 `(#:modules ((guix build gnu-build-system)
947 (guix build utils)
948 (guix build emacs-utils))
949 #:imported-modules (,@%gnu-build-system-modules
950 (guix build emacs-utils))
951 #:configure-flags
952 (let ((out (assoc-ref %outputs "out")))
953 (list (string-append "--with-lispdir="
954 out "/share/emacs/site-lisp")
955 (string-append "--with-icondir="
956 out "/share/images/emacs-w3m")
957 ;; Leave .el files uncompressed, otherwise GC can't
958 ;; identify run-time dependencies. See
959 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
960 "--without-compress-install"))
961 #:tests? #f ; no check target
962 #:phases
963 (modify-phases %standard-phases
964 (add-after 'unpack 'autoconf
965 (lambda _
966 (invoke "autoconf")))
967 (add-before 'configure 'support-emacs!
968 (lambda _
969 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
970 ;; unsupported.
971 (substitute* "configure"
972 (("EMACS_FLAVOR=unsupported")
973 "EMACS_FLAVOR=emacs"))
974 #t))
975 (add-before 'build 'patch-exec-paths
976 (lambda* (#:key inputs outputs #:allow-other-keys)
977 (let ((out (assoc-ref outputs "out"))
978 (w3m (assoc-ref inputs "w3m"))
979 (imagemagick (assoc-ref inputs "imagemagick"))
980 (coreutils (assoc-ref inputs "coreutils")))
981 (make-file-writable "w3m.el")
982 (emacs-substitute-variables "w3m.el"
983 ("w3m-command" (string-append w3m "/bin/w3m"))
984 ("w3m-touch-command"
985 (string-append coreutils "/bin/touch"))
986 ("w3m-icon-directory"
987 (string-append out "/share/images/emacs-w3m")))
988 (make-file-writable "w3m-image.el")
989 (emacs-substitute-variables "w3m-image.el"
990 ("w3m-imagick-convert-program"
991 (string-append imagemagick "/bin/convert"))
992 ("w3m-imagick-identify-program"
993 (string-append imagemagick "/bin/identify")))
994 #t)))
995 (replace 'install
996 (lambda* (#:key outputs #:allow-other-keys)
997 (invoke "make" "install" "install-icons")
998 (with-directory-excursion
999 (string-append (assoc-ref outputs "out")
1000 "/share/emacs/site-lisp")
1001 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1002 (symlink "w3m-load.el" "w3m-autoloads.el")
1003 #t))))))
1004 (home-page "http://emacs-w3m.namazu.org/")
1005 (synopsis "Simple Web browser for Emacs based on w3m")
1006 (description
1007 "Emacs-w3m is an emacs interface for the w3m web browser.")
1008 (license license:gpl2+)))
1009
1010 (define-public emacs-wget
1011 (package
1012 (name "emacs-wget")
1013 (version "0.5.0")
1014 (source (origin
1015 (method url-fetch)
1016 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1017 version ".orig.tar.gz"))
1018 (sha256
1019 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1020 (build-system gnu-build-system)
1021 (inputs `(("wget" ,wget)))
1022 (native-inputs `(("emacs" ,emacs-minimal)))
1023 (arguments
1024 `(#:modules ((guix build gnu-build-system)
1025 (guix build utils)
1026 (guix build emacs-utils))
1027 #:imported-modules (,@%gnu-build-system-modules
1028 (guix build emacs-utils))
1029 #:tests? #f ; no check target
1030 #:phases
1031 (modify-phases %standard-phases
1032 (replace 'configure
1033 (lambda* (#:key outputs #:allow-other-keys)
1034 (substitute* "Makefile"
1035 (("/usr/local") (assoc-ref outputs "out"))
1036 (("/site-lisp/emacs-wget") "/site-lisp"))
1037 #t))
1038 (add-before 'build 'patch-exec-paths
1039 (lambda* (#:key inputs outputs #:allow-other-keys)
1040 (let ((wget (assoc-ref inputs "wget")))
1041 (emacs-substitute-variables "wget.el"
1042 ("wget-command" (string-append wget "/bin/wget"))))
1043 #t))
1044 (add-after 'install 'post-install
1045 (lambda* (#:key outputs #:allow-other-keys)
1046 (emacs-generate-autoloads
1047 "wget" (string-append (assoc-ref outputs "out")
1048 "/share/emacs/site-lisp/"))
1049 #t)))))
1050 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
1051 (synopsis "Simple file downloader for Emacs based on wget")
1052 (description
1053 "Emacs-wget is an emacs interface for the wget file downloader.")
1054 (license license:gpl2+)))
1055
1056 \f
1057 ;;;
1058 ;;; Multimedia.
1059 ;;;
1060
1061 (define-public emacs-emms
1062 (package
1063 (name "emacs-emms")
1064 (version "5.2")
1065 (source (origin
1066 (method url-fetch)
1067 (uri (string-append "mirror://gnu/emms/emms-"
1068 version ".tar.gz"))
1069 (sha256
1070 (base32
1071 "0cvpfdkagkpi8g02w8f7wzrpdk2ihas0mn5m9fr882xjdfshl21z"))
1072 (modules '((guix build utils)))
1073 (snippet
1074 '(begin
1075 (substitute* "Makefile"
1076 (("/usr/bin/install-info")
1077 ;; No need to use 'install-info' since it would create a
1078 ;; useless 'dir' file.
1079 "true")
1080 (("^INFODIR=.*")
1081 ;; Install Info files to $out/share/info, not $out/info.
1082 "INFODIR := $(PREFIX)/share/info\n")
1083 (("/site-lisp/emms")
1084 ;; Install directly in share/emacs/site-lisp, not in a
1085 ;; sub-directory.
1086 "/site-lisp")
1087 (("^all: (.*)\n" _ rest)
1088 ;; Build 'emms-print-metadata'.
1089 (string-append "all: " rest " emms-print-metadata\n")))
1090 #t))))
1091 (build-system gnu-build-system)
1092 (arguments
1093 `(#:modules ((guix build gnu-build-system)
1094 (guix build utils)
1095 (guix build emacs-utils)
1096 (ice-9 ftw))
1097 #:imported-modules (,@%gnu-build-system-modules
1098 (guix build emacs-utils))
1099
1100 #:phases
1101 (modify-phases %standard-phases
1102 (replace 'configure
1103 (lambda* (#:key inputs outputs #:allow-other-keys)
1104 (let ((out (assoc-ref outputs "out"))
1105 (flac (assoc-ref inputs "flac"))
1106 (vorbis (assoc-ref inputs "vorbis-tools"))
1107 (alsa (assoc-ref inputs "alsa-utils"))
1108 (mpg321 (assoc-ref inputs "mpg321"))
1109 (mp3info (assoc-ref inputs "mp3info"))
1110 (mutagen (assoc-ref inputs "mutagen"))
1111 (opus (assoc-ref inputs "opus-tools")))
1112 ;; Specify the installation directory.
1113 (substitute* "Makefile"
1114 (("PREFIX=.*$")
1115 (string-append "PREFIX := " out "\n")))
1116
1117 (setenv "SHELL" (which "sh"))
1118 (setenv "CC" "gcc")
1119
1120 ;; Specify the absolute file names of the various
1121 ;; programs so that everything works out-of-the-box.
1122 (with-directory-excursion "lisp"
1123 (emacs-substitute-variables
1124 "emms-player-mpg321-remote.el"
1125 ("emms-player-mpg321-remote-command"
1126 (string-append mpg321 "/bin/mpg321")))
1127 (substitute* "emms-player-simple.el"
1128 (("\"ogg123\"")
1129 (string-append "\"" vorbis "/bin/ogg123\"")))
1130 (substitute* "emms-player-simple.el"
1131 (("\"mpg321\"")
1132 (string-append "\"" mpg321 "/bin/mpg321\"")))
1133 (emacs-substitute-variables "emms-info-ogginfo.el"
1134 ("emms-info-ogginfo-program-name"
1135 (string-append vorbis "/bin/ogginfo")))
1136 (emacs-substitute-variables "emms-info-opusinfo.el"
1137 ("emms-info-opusinfo-program-name"
1138 (string-append opus "/bin/opusinfo")))
1139 (emacs-substitute-variables "emms-info-libtag.el"
1140 ("emms-info-libtag-program-name"
1141 (string-append out "/bin/emms-print-metadata")))
1142 (emacs-substitute-variables "emms-info-mp3info.el"
1143 ("emms-info-mp3info-program-name"
1144 (string-append mp3info "/bin/mp3info")))
1145 (emacs-substitute-variables "emms-info-metaflac.el"
1146 ("emms-info-metaflac-program-name"
1147 (string-append flac "/bin/metaflac")))
1148 (emacs-substitute-variables "emms-source-file.el"
1149 ("emms-source-file-gnu-find" (which "find")))
1150 (substitute* "emms-volume-amixer.el"
1151 (("\"amixer\"")
1152 (string-append "\"" alsa "/bin/amixer\"")))
1153 (substitute* "emms-tag-editor.el"
1154 (("\"mid3v2\"")
1155 (string-append "\"" mutagen "/bin/mid3v2\"")))
1156 #t))))
1157 (add-before 'install 'pre-install
1158 (lambda* (#:key outputs #:allow-other-keys)
1159 ;; The 'install' rule expects the target directories to exist.
1160 (let* ((out (assoc-ref outputs "out"))
1161 (bin (string-append out "/bin"))
1162 (man1 (string-append out "/share/man/man1")))
1163 (mkdir-p bin)
1164 (mkdir-p man1)
1165
1166 ;; Ensure that files are not rejected by gzip
1167 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1168 (ftw "." (lambda (file stat flag)
1169 (unless (<= early-1980 (stat:mtime stat))
1170 (utime file early-1980 early-1980))
1171 #t)))
1172 #t)))
1173 (add-after 'install 'post-install
1174 (lambda* (#:key outputs #:allow-other-keys)
1175 (let ((out (assoc-ref outputs "out")))
1176 (symlink "emms-auto.el"
1177 (string-append out "/share/emacs/site-lisp/"
1178 "emms-autoloads.el")))
1179 #t)))
1180 #:tests? #f))
1181 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1182 ("texinfo" ,texinfo)))
1183 (inputs `(("alsa-utils" ,alsa-utils)
1184 ("flac" ,flac) ;for metaflac
1185 ("vorbis-tools" ,vorbis-tools)
1186 ("mpg321" ,mpg321)
1187 ("taglib" ,taglib)
1188 ("mp3info" ,mp3info)
1189 ("mutagen" ,python-mutagen)
1190 ("opus-tools" ,opus-tools)))
1191 (properties '((upstream-name . "emms")))
1192 (synopsis "Emacs Multimedia System")
1193 (description
1194 "EMMS is the Emacs Multimedia System. It is a small front-end which
1195 can control one of the supported external players. Thus, it supports
1196 whatever formats are supported by your music player. It also
1197 supports tagging and playlist management, all behind a clean and
1198 light user interface.")
1199 (home-page "https://www.gnu.org/software/emms/")
1200 (license license:gpl3+)))
1201
1202 (define-public emacs-emms-player-mpv
1203 ;; A new mpv backend is included in Emms from 5.0.
1204 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1205
1206 (define-public emacs-emms-mode-line-cycle
1207 (package
1208 (name "emacs-emms-mode-line-cycle")
1209 (version "0.2.5")
1210 (source
1211 (origin
1212 (method git-fetch)
1213 (uri (git-reference
1214 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1215 (commit version)))
1216 (file-name (git-file-name name version))
1217 (sha256
1218 (base32
1219 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1220 (build-system emacs-build-system)
1221 (propagated-inputs
1222 `(("emms" ,emacs-emms)))
1223 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1224 (synopsis "Display the EMMS mode line as a ticker")
1225 (description
1226 "This is a minor mode for updating the EMMS mode-line string cyclically
1227 within a specified width. It is useful for displaying long track titles.")
1228 (license license:gpl3+)))
1229
1230 \f
1231 ;;;
1232 ;;; Miscellaneous.
1233 ;;;
1234
1235 (define-public emacs-ace-link
1236 (package
1237 (name "emacs-ace-link")
1238 (version "0.5.0")
1239 (source
1240 (origin
1241 (method git-fetch)
1242 (uri (git-reference
1243 (url "https://github.com/abo-abo/ace-link.git")
1244 (commit version)))
1245 (file-name (git-file-name name version))
1246 (sha256
1247 (base32
1248 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1249 (build-system emacs-build-system)
1250 (propagated-inputs
1251 `(("emacs-avy" ,emacs-avy)))
1252 (home-page "https://github.com/abo-abo/ace-link")
1253 (synopsis "Quickly follow links in Emacs")
1254 (description
1255 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1256 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1257 @code{goto-address-mode} buffer, you can tab through the links to select the
1258 one you want. This is an O(N) operation, where the N is the amount of links.
1259 This package turns this into an O(1) operation. It does so by assigning a
1260 letter to each link using avy.")
1261 (license license:gpl3+)))
1262
1263 (define-public emacs-bbdb
1264 (package
1265 (name "emacs-bbdb")
1266 (version "3.1.2")
1267 (source (origin
1268 (method url-fetch)
1269 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1270 version ".tar.gz"))
1271 (sha256
1272 (base32
1273 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1274 (modules '((guix build utils)))
1275 (snippet
1276 ;; We don't want to build and install the PDF.
1277 '(begin
1278 (substitute* "doc/Makefile.in"
1279 (("^doc_DATA = .*$")
1280 "doc_DATA =\n"))
1281 #t))))
1282 (build-system gnu-build-system)
1283 (arguments
1284 '(#:phases
1285 (modify-phases %standard-phases
1286 (add-after 'install 'post-install
1287 (lambda* (#:key outputs #:allow-other-keys)
1288 ;; Add an autoloads file with the right name for guix.el.
1289 (let* ((out (assoc-ref outputs "out"))
1290 (site (string-append out "/share/emacs/site-lisp")))
1291 (with-directory-excursion site
1292 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1293 #t)))))
1294 (native-inputs `(("emacs" ,emacs-minimal)))
1295 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1296 (synopsis "Contact management utility for Emacs")
1297 (description
1298 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1299 an address book for email and snail mail addresses, phone numbers and the
1300 like. It can be linked with various Emacs mail clients (Message and Mail
1301 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1302 (license license:gpl3+)))
1303
1304 (define-public bbdb
1305 (deprecated-package "bbdb" emacs-bbdb))
1306
1307 (define-public emacs-aggressive-indent
1308 (package
1309 (name "emacs-aggressive-indent")
1310 (version "1.8.3")
1311 (source (origin
1312 (method url-fetch)
1313 (uri (string-append "https://elpa.gnu.org/packages/"
1314 "aggressive-indent-" version ".el"))
1315 (sha256
1316 (base32
1317 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1318 (build-system emacs-build-system)
1319 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1320 (synopsis "Minor mode to aggressively keep your code always indented")
1321 (description
1322 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1323 always indented. It reindents after every change, making it more reliable
1324 than @code{electric-indent-mode}.")
1325 (license license:gpl2+)))
1326
1327 (define-public emacs-link-hint
1328 ;; Last release was in 2015.
1329 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1330 (revision "1"))
1331 (package
1332 (name "emacs-link-hint")
1333 (version (git-version "0.1" revision commit))
1334 (source
1335 (origin
1336 (method git-fetch)
1337 (uri (git-reference
1338 (url "https://github.com/noctuid/link-hint.el")
1339 (commit commit)))
1340 (file-name (git-file-name name version))
1341 (sha256
1342 (base32
1343 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1344 (build-system emacs-build-system)
1345 (propagated-inputs
1346 `(("emacs-avy" ,emacs-avy)))
1347 (home-page "https://github.com/noctuid/link-hint.el")
1348 (synopsis "Vimperator-style link-hinting in Emacs")
1349 (description "This package provides commands for visiting and acting on
1350 links.")
1351 (license license:gpl3+))))
1352
1353 (define-public emacs-ag
1354 (package
1355 (name "emacs-ag")
1356 (version "0.47")
1357 (source (origin
1358 (method git-fetch)
1359 (uri (git-reference
1360 (url "https://github.com/Wilfred/ag.el.git")
1361 (commit version)))
1362 (file-name (git-file-name name version))
1363 (sha256
1364 (base32
1365 "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
1366 (build-system emacs-build-system)
1367 (arguments
1368 `(#:phases
1369 (modify-phases %standard-phases
1370 (add-before 'install 'make-info
1371 (lambda _
1372 (with-directory-excursion "docs"
1373 (invoke "make" "info"))))
1374 (add-after 'install 'install-info
1375 (lambda* (#:key outputs #:allow-other-keys)
1376 (let* ((out (assoc-ref outputs "out"))
1377 (info (string-append out "/share/info")))
1378 (install-file "docs/_build/texinfo/agel.info" info)
1379 #t))))))
1380 (native-inputs
1381 `(("python-sphinx" ,python-sphinx)
1382 ("texinfo" ,texinfo)))
1383 (propagated-inputs
1384 `(("dash" ,emacs-dash)
1385 ("s" ,emacs-s)
1386 ;; We need to use 'ag' as the executable on remote systems.
1387 ("the-silver-searcher" ,the-silver-searcher)))
1388 (home-page "https://github.com/Wilfred/ag.el")
1389 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1390 (description "This package provides the ability to use the silver
1391 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1392 include version control system awareness, use of Perl compatible regular
1393 expressions, editing the search results directly and searching file names
1394 rather than the contents of files.")
1395 (license license:gpl3+)))
1396
1397 (define-public emacs-async
1398 (package
1399 (name "emacs-async")
1400 (home-page "https://github.com/jwiegley/emacs-async")
1401 (version "1.9.3")
1402 (source (origin
1403 (method git-fetch)
1404 (uri (git-reference
1405 (url home-page)
1406 (commit (string-append "v" version))))
1407 (file-name (git-file-name name version))
1408 (sha256
1409 (base32
1410 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1411 (build-system emacs-build-system)
1412 (synopsis "Asynchronous processing in Emacs")
1413 (description
1414 "This package provides the ability to call asynchronous functions and
1415 processes. For example, it can be used to run dired commands (for copying,
1416 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1417 as a library for other Emacs packages.")
1418 (license license:gpl3+)))
1419
1420 (define-public emacs-auctex
1421 (package
1422 (name "emacs-auctex")
1423 (version "12.1.2")
1424 (source
1425 (origin
1426 (method url-fetch)
1427 (uri (string-append
1428 "https://elpa.gnu.org/packages/auctex-"
1429 version
1430 ".tar"))
1431 (sha256
1432 (base32
1433 "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n"))))
1434 (build-system emacs-build-system)
1435 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1436 ;; ('emacs-minimal' does not provide dbus).
1437 (arguments
1438 `(#:emacs ,emacs
1439 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1440 #:exclude '("^tests/" "^latex/README")))
1441 (native-inputs
1442 `(("perl" ,perl)))
1443 (home-page "https://www.gnu.org/software/auctex/")
1444 (synopsis "Integrated environment for TeX")
1445 (description
1446 "AUCTeX is a comprehensive customizable integrated environment for
1447 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1448 or XEmacs.")
1449 (license license:gpl3+)))
1450
1451 (define-public emacs-autothemer
1452 (package
1453 (name "emacs-autothemer")
1454 (version "0.2.2")
1455 (source
1456 (origin
1457 (method git-fetch)
1458 (uri (git-reference
1459 (url "https://github.com/sebastiansturm/autothemer.git")
1460 (commit version)))
1461 (file-name (git-file-name name version))
1462 (sha256
1463 (base32
1464 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1465 (build-system emacs-build-system)
1466 (propagated-inputs
1467 `(("emacs-dash" ,emacs-dash)))
1468 (home-page "https://github.com/sebastiansturm/autothemer")
1469 (synopsis "Conveniently create Emacs themes")
1470 (description
1471 "Autothemer provides a thin layer on top of @code{deftheme} and
1472 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1473 a set of simplified face specifications and a user-supplied color palette")
1474 (license license:gpl3+)))
1475
1476 (define-public emacs-howm
1477 (package
1478 (name "emacs-howm")
1479 (version "1.4.4")
1480 (source
1481 (origin
1482 (method url-fetch)
1483 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1484 version ".tar.gz"))
1485 (sha256
1486 (base32
1487 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1488 (build-system gnu-build-system)
1489 (native-inputs
1490 `(("emacs" ,emacs-minimal)))
1491 (arguments
1492 `(#:configure-flags
1493 (list (string-append "--with-howmdir=" %output
1494 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1495 #:modules ((guix build gnu-build-system)
1496 ((guix build emacs-build-system) #:prefix emacs:)
1497 (guix build utils))
1498 #:imported-modules (,@%gnu-build-system-modules
1499 (guix build emacs-build-system)
1500 (guix build emacs-utils))
1501 #:phases
1502 (modify-phases %standard-phases
1503 (add-after 'install 'make-autoloads
1504 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1505 (home-page "http://howm.osdn.jp/")
1506 (synopsis "Note-taking tool for Emacs")
1507 (description "Howm is a note-taking tool for Emacs. Like
1508 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1509 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1510 (license license:gpl1+)))
1511
1512 (define-public emacs-calfw
1513 (package
1514 (name "emacs-calfw")
1515 (version "1.6")
1516 (source
1517 (origin
1518 (method git-fetch)
1519 (uri (git-reference
1520 (url "https://github.com/kiwanami/emacs-calfw.git")
1521 (commit (string-append "v" version))))
1522 (file-name (git-file-name name version))
1523 (sha256
1524 (base32
1525 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1526 (build-system emacs-build-system)
1527 (propagated-inputs
1528 `(("emacs-howm" ,emacs-howm)))
1529 (home-page "https://github.com/kiwanami/emacs-calfw/")
1530 (synopsis "Calendar framework for Emacs")
1531 (description
1532 "This package displays a calendar view with various schedule data in the
1533 Emacs buffer.")
1534 (license license:gpl3+)))
1535
1536 (define-public emacs-direnv
1537 (package
1538 (name "emacs-direnv")
1539 (version "1.5.0")
1540 (source
1541 (origin
1542 (method git-fetch)
1543 (uri (git-reference
1544 (url "https://github.com/wbolster/emacs-direnv.git")
1545 (commit version)))
1546 (file-name (git-file-name name version))
1547 (sha256
1548 (base32
1549 "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la"))))
1550 (build-system emacs-build-system)
1551 (propagated-inputs
1552 `(("dash" ,emacs-dash)
1553 ("with-editor" ,emacs-with-editor)))
1554 (home-page "https://github.com/wbolster/emacs-direnv")
1555 (synopsis "Direnv integration for Emacs")
1556 (description
1557 "This package provides support for invoking direnv to get the environment
1558 for the current file and updating the environment within Emacs to match.
1559
1560 Direnv can be invoked manually, and a global minor mode is included that will
1561 update the environment when the active buffer changes.
1562
1563 Using emacs-direnv means that programs started from Emacs will use the
1564 environment set through Direnv.")
1565 (license license:gpl3+)))
1566
1567 (define-public emacs-ggtags
1568 (package
1569 (name "emacs-ggtags")
1570 (version "0.8.13")
1571 (source
1572 (origin
1573 (method url-fetch)
1574 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1575 version ".el"))
1576 (sha256
1577 (base32
1578 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1579 (build-system emacs-build-system)
1580 (inputs
1581 `(("global" ,global)))
1582 (arguments
1583 `(#:phases
1584 (modify-phases %standard-phases
1585 (add-after 'unpack 'configure
1586 (lambda* (#:key inputs #:allow-other-keys)
1587 (chmod "ggtags.el" #o644)
1588 (emacs-substitute-variables "ggtags.el"
1589 ("ggtags-executable-directory"
1590 (string-append (assoc-ref inputs "global") "/bin")))
1591 #t)))))
1592 (home-page "https://github.com/leoliu/ggtags")
1593 (synopsis "Frontend to the GNU Global source code tagging system")
1594 (description "@code{ggtags} provides a frontend to the GNU Global source
1595 code tagging system.
1596
1597 Features:
1598
1599 @itemize
1600 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1601 @item Automatically update Global's tag files when needed with tuning for
1602 large source trees.
1603 @item Intuitive navigation among multiple matches with mode-line display of
1604 current match, total matches and exit status.
1605 @item Read tag with completion.
1606 @item Show definition at point.
1607 @item Jump to #include files.
1608 @item Support search history and saving a search to register/bookmark.
1609 @item Query replace.
1610 @item Manage Global's environment variables on a per-project basis.
1611 @item Highlight (definition) tag at point.
1612 @item Abbreviated display of file names.
1613 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1614 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1615 @code{pygments} backend.
1616 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1617 @code{cscope} etc.
1618 @item Support projects on remote hosts (e.g. via @code{tramp}).
1619 @item Support eldoc.
1620 @item Search @code{GTAGSLIBPATH} for references and symbols.
1621 @end itemize\n")
1622 (license license:gpl3+)))
1623
1624 (define-public emacs-go-mode
1625 (package
1626 (name "emacs-go-mode")
1627 (version "1.5.0")
1628 (source (origin
1629 (method git-fetch)
1630 (uri (git-reference
1631 (url "https://github.com/dominikh/go-mode.el.git")
1632 (commit (string-append "v" version))))
1633 (file-name (git-file-name name version))
1634 (sha256
1635 (base32
1636 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1637 (build-system emacs-build-system)
1638 (arguments
1639 `(#:phases
1640 (modify-phases %standard-phases
1641 (add-after 'unpack 'make-writable
1642 (lambda _
1643 (for-each make-file-writable (find-files "." "\\.el$"))
1644 #t)))))
1645 (home-page "https://github.com/dominikh/go-mode.el")
1646 (synopsis "Go mode for Emacs")
1647 (description
1648 "This package provides go-mode, an Emacs mode for working with software
1649 written in the Go programming language.")
1650 (license license:bsd-3)))
1651
1652 (define-public emacs-google-maps
1653 (package
1654 (name "emacs-google-maps")
1655 (version "1.0.0")
1656 (source (origin
1657 (method git-fetch)
1658 (uri (git-reference
1659 (url "https://github.com/jd/google-maps.el.git")
1660 (commit version)))
1661 (file-name (git-file-name name version))
1662 (sha256
1663 (base32
1664 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1665 (build-system emacs-build-system)
1666 (home-page "https://github.com/jd/google-maps.el")
1667 (synopsis "Access Google Maps from Emacs")
1668 (description "The @code{google-maps} package allows to display Google
1669 Maps directly inside Emacs.")
1670 (license license:gpl3+)))
1671
1672 (define-public emacs-graphviz-dot-mode
1673 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1674 (revision "1"))
1675 (package
1676 (name "emacs-graphviz-dot-mode")
1677 (version (string-append "0.3.11-" revision "."
1678 (string-take commit 7)))
1679 (source (origin
1680 (method git-fetch)
1681 (uri (git-reference
1682 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1683 (commit commit)))
1684 (file-name (git-file-name name version))
1685 (sha256
1686 (base32
1687 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1688 (build-system emacs-build-system)
1689 (arguments
1690 `(#:phases
1691 (modify-phases %standard-phases
1692 (add-before 'install 'make-info
1693 (lambda* (#:key inputs #:allow-other-keys)
1694 (with-directory-excursion "texinfo"
1695 (substitute* "Makefile"
1696 (("\\/usr\\/bin\\/gzip")
1697 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1698 (invoke "make"
1699 "clean"
1700 "info"
1701 (string-append "TEXINFODIR="
1702 (assoc-ref inputs "texinfo")
1703 "/bin")))))
1704 (add-after 'install 'install-info
1705 (lambda* (#:key outputs #:allow-other-keys)
1706 (let* ((out (assoc-ref outputs "out"))
1707 (info (string-append out "/share/info")))
1708 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1709 #t))))))
1710 (native-inputs
1711 `(("texinfo" ,texinfo)
1712 ("gzip" ,gzip)))
1713 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1714 (synopsis "Major mode for editing Graphviz Dot files")
1715 (description
1716 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1717 files using the dot syntax, and use Graphviz to convert these files to
1718 diagrams.")
1719 (license license:gpl2+))))
1720
1721 (define-public emacs-mmm-mode
1722 (package
1723 (name "emacs-mmm-mode")
1724 (version "0.5.7")
1725 (source
1726 (origin
1727 (method git-fetch)
1728 (uri (git-reference
1729 (url "https://github.com/purcell/mmm-mode.git")
1730 (commit version)))
1731 (file-name (git-file-name name version))
1732 (sha256
1733 (base32
1734 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1735 (build-system gnu-build-system)
1736 (native-inputs
1737 `(("autoconf" ,autoconf)
1738 ("automake" ,automake)
1739 ("emacs" ,emacs-minimal)
1740 ("texinfo" ,texinfo)))
1741 (home-page "https://github.com/purcell/mmm-mode")
1742 (synopsis "Allow multiple major modes in an Emacs buffer")
1743 (description
1744 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1745 single buffer.")
1746 (license license:gpl3+)))
1747
1748 (define-public emacs-tablist
1749 (package
1750 (name "emacs-tablist")
1751 (version "0.70")
1752 (source (origin
1753 (method git-fetch)
1754 (uri (git-reference
1755 (url "https://github.com/politza/tablist.git")
1756 (commit (string-append "v" version))))
1757 (file-name (git-file-name name version))
1758 (sha256
1759 (base32
1760 "0gy9hxm7bca0l1hfy2pzn86avpifrz3bs8xzpicj4kxw5wi4ygns"))))
1761 (build-system emacs-build-system)
1762 (home-page "https://github.com/politza/tablist")
1763 (synopsis "Extension for @code{tabulated-list-mode}")
1764 (description "Tablist is the Emacs package that provides several
1765 additional features to @code{tabulated-list-mode}: it adds marks,
1766 filters, new key bindings and faces. It can be enabled by
1767 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1768 (license license:gpl3+)))
1769
1770 (define-public emacs-pdf-tools
1771 (package
1772 (name "emacs-pdf-tools")
1773 (version "0.90")
1774 (home-page "https://github.com/politza/pdf-tools")
1775 (source (origin
1776 (method git-fetch)
1777 (uri (git-reference (url home-page)
1778 (commit (string-append "v" version))))
1779 (file-name (git-file-name name version))
1780 (sha256
1781 (base32
1782 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
1783 (build-system gnu-build-system)
1784 (arguments
1785 `(#:tests? #f ; there are no tests
1786 #:modules ((guix build gnu-build-system)
1787 ((guix build emacs-build-system) #:prefix emacs:)
1788 (guix build utils)
1789 (guix build emacs-utils))
1790 #:imported-modules (,@%gnu-build-system-modules
1791 (guix build emacs-build-system)
1792 (guix build emacs-utils))
1793 #:phases
1794 (modify-phases %standard-phases
1795 ;; Build server side using 'gnu-build-system'.
1796 (add-after 'unpack 'enter-server-dir
1797 (lambda _ (chdir "server") #t))
1798 (add-after 'enter-server-dir 'autogen
1799 (lambda _
1800 (invoke "bash" "autogen.sh")))
1801
1802 ;; Build emacs side using 'emacs-build-system'.
1803 (add-after 'compress-documentation 'enter-lisp-dir
1804 (lambda _ (chdir "../lisp") #t))
1805 (add-after 'enter-lisp-dir 'emacs-patch-variables
1806 (lambda* (#:key outputs #:allow-other-keys)
1807 (for-each make-file-writable (find-files "."))
1808
1809 ;; Set path to epdfinfo program.
1810 (emacs-substitute-variables "pdf-info.el"
1811 ("pdf-info-epdfinfo-program"
1812 (string-append (assoc-ref outputs "out")
1813 "/bin/epdfinfo")))
1814 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1815 ;; upgrading" that pdf-tools tries to perform.
1816 (emacs-substitute-variables "pdf-tools.el"
1817 ("pdf-tools-handle-upgrades" '()))))
1818 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1819 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1820 (add-after 'emacs-set-emacs-load-path 'emacs-install
1821 (assoc-ref emacs:%standard-phases 'install))
1822 (add-after 'emacs-install 'emacs-build
1823 (assoc-ref emacs:%standard-phases 'build))
1824 (add-after 'emacs-install 'emacs-make-autoloads
1825 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1826 (native-inputs `(("autoconf" ,autoconf)
1827 ("automake" ,automake)
1828 ("pkg-config" ,pkg-config)
1829 ("emacs" ,emacs-minimal)))
1830 (inputs `(("poppler" ,poppler)
1831 ("cairo" ,cairo)
1832 ("glib" ,glib)
1833 ("libpng" ,libpng)
1834 ("zlib" ,zlib)))
1835 (propagated-inputs `(("tablist" ,emacs-tablist)))
1836 (synopsis "Emacs support library for PDF files")
1837 (description
1838 "PDF Tools is, among other things, a replacement of DocView for PDF
1839 files. The key difference is that pages are not pre-rendered by
1840 e.g. ghostscript and stored in the file-system, but rather created on-demand
1841 and stored in memory.")
1842 (license license:gpl3+)))
1843
1844 (define-public emacs-dash
1845 (package
1846 (name "emacs-dash")
1847 (version "2.16.0")
1848 (source (origin
1849 (method git-fetch)
1850 (uri (git-reference
1851 (url "https://github.com/magnars/dash.el.git")
1852 (commit version)))
1853 (file-name (git-file-name name version))
1854 (sha256
1855 (base32
1856 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
1857 (build-system emacs-build-system)
1858 (arguments
1859 `(#:tests? #t
1860 #:test-command '("./run-tests.sh")))
1861 (home-page "https://github.com/magnars/dash.el")
1862 (synopsis "Modern list library for Emacs")
1863 (description "This package provides a modern list API library for Emacs.")
1864 (license license:gpl3+)))
1865
1866 (define-public emacs-bui
1867 (package
1868 (name "emacs-bui")
1869 (version "1.2.1")
1870 (source (origin
1871 (method git-fetch)
1872 (uri (git-reference
1873 (url "https://notabug.org/alezost/emacs-bui.git")
1874 (commit (string-append "v" version))))
1875 (file-name (git-file-name name version))
1876 (sha256
1877 (base32
1878 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1879 (build-system emacs-build-system)
1880 (propagated-inputs
1881 `(("dash" ,emacs-dash)))
1882 (home-page "https://notabug.org/alezost/emacs-bui")
1883 (synopsis "Buffer interface library for Emacs")
1884 (description
1885 "BUI (Buffer User Interface) is a library for making @code{list} and
1886 @code{info} interfaces to display an arbitrary data of the same
1887 type, for example: packages, buffers, files, etc.")
1888 (license license:gpl3+)))
1889
1890 (define-public emacs-guix
1891 (package
1892 (name "emacs-guix")
1893 (version "0.5.1.1")
1894 (source (origin
1895 (method url-fetch)
1896 (uri (string-append "https://emacs-guix.gitlab.io/website/"
1897 "releases/emacs-guix-" version ".tar.gz"))
1898 (sha256
1899 (base32
1900 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
1901 (build-system gnu-build-system)
1902 (arguments
1903 `(#:configure-flags
1904 (let ((guix (assoc-ref %build-inputs "guix"))
1905 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
1906 (geiser (assoc-ref %build-inputs "geiser"))
1907 (dash (assoc-ref %build-inputs "dash"))
1908 (bui (assoc-ref %build-inputs "bui"))
1909 (magit-popup (assoc-ref %build-inputs "magit-popup"))
1910 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
1911 (site-lisp "/share/emacs/site-lisp")
1912 (site-scm "/share/guile/site")
1913 (site-go "/lib/guile")
1914 (guile-dir (lambda (dir)
1915 (car (find-files dir
1916 (lambda (file stat)
1917 (string-prefix?
1918 "2." (basename file)))
1919 #:directories? #t)))))
1920 (list (string-append "--with-guix-site-dir="
1921 (guile-dir (string-append guix site-scm)))
1922 (string-append "--with-guix-site-ccache-dir="
1923 (guile-dir (string-append guix site-go))
1924 "/site-ccache")
1925 (string-append "--with-guile-gcrypt-site-dir="
1926 (guile-dir (string-append gcrypt site-scm)))
1927 (string-append "--with-guile-gcrypt-site-ccache-dir="
1928 (guile-dir (string-append gcrypt site-go))
1929 "/site-ccache")
1930 (string-append "--with-geiser-lispdir=" geiser site-lisp)
1931 (string-append "--with-dash-lispdir="
1932 dash site-lisp "/guix.d/dash-"
1933 ,(package-version emacs-dash))
1934 (string-append "--with-bui-lispdir="
1935 bui site-lisp "/guix.d/bui-"
1936 ,(package-version emacs-bui))
1937 (string-append "--with-editindirect-lispdir="
1938 edit-indirect site-lisp "/guix.d/edit-indirect-"
1939 ,(package-version emacs-edit-indirect))
1940 (string-append "--with-popup-lispdir="
1941 magit-popup site-lisp "/guix.d/magit-popup-"
1942 ,(package-version emacs-magit-popup))))))
1943 (native-inputs
1944 `(("pkg-config" ,pkg-config)
1945 ("emacs" ,emacs-minimal)))
1946 (inputs
1947 `(("guile" ,guile-2.2)
1948 ("guix" ,guix)))
1949 (propagated-inputs
1950 `(("geiser" ,emacs-geiser)
1951 ("guile-gcrypt" ,guile-gcrypt)
1952 ("dash" ,emacs-dash)
1953 ("bui" ,emacs-bui)
1954 ("edit-indirect" ,emacs-edit-indirect)
1955 ("magit-popup" ,emacs-magit-popup)))
1956 (home-page "https://emacs-guix.gitlab.io/website/")
1957 (synopsis "Emacs interface for GNU Guix")
1958 (description
1959 "Emacs-Guix provides a visual interface, tools and features for the GNU
1960 Guix package manager. Particularly, it allows you to do various package
1961 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
1962 @code{M-x guix-help} command.")
1963 (license license:gpl3+)))
1964
1965 (define-public emacs-build-farm
1966 (package
1967 (name "emacs-build-farm")
1968 (version "0.2.2")
1969 (source (origin
1970 (method git-fetch)
1971 (uri (git-reference
1972 (url "https://notabug.org/alezost/emacs-build-farm.git")
1973 (commit (string-append "v" version))))
1974 (file-name (git-file-name name version))
1975 (sha256
1976 (base32
1977 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
1978 (build-system emacs-build-system)
1979 (propagated-inputs
1980 `(("bui" ,emacs-bui)
1981 ("magit-popup" ,emacs-magit-popup)))
1982 (home-page "https://notabug.org/alezost/emacs-build-farm")
1983 (synopsis "Emacs interface for Hydra and Cuirass build farms")
1984 (description
1985 "This Emacs package provides an interface for Hydra and
1986 Cuirass (build farms used by Nix and Guix). It allows you to look at
1987 various data related to the build farm projects, jobsets, builds and
1988 evaluations. The entry point is @code{M-x build-farm} command.")
1989 (license license:gpl3+)))
1990
1991 (define-public emacs-d-mode
1992 (package
1993 (name "emacs-d-mode")
1994 (version "2.0.9")
1995 (source
1996 (origin
1997 (method git-fetch)
1998 (uri (git-reference
1999 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2000 (commit version)))
2001 (file-name (git-file-name name version))
2002 (sha256
2003 (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"))))
2004 (build-system emacs-build-system)
2005 (propagated-inputs
2006 `(("emacs-undercover" ,emacs-undercover)))
2007 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2008 (synopsis "Emacs major mode for editing D code")
2009 (description "This package provides an Emacs major mode for highlighting
2010 code written in the D programming language. This mode is currently known to
2011 work with Emacs 24 and 25.")
2012 (license license:gpl2+)))
2013
2014 (define-public emacs-keyfreq
2015 (package
2016 (name "emacs-keyfreq")
2017 (version "20160516.716")
2018 (source
2019 (origin
2020 (method url-fetch)
2021 (uri (string-append "http://melpa.org/packages/keyfreq-"
2022 version ".el"))
2023 (sha256
2024 (base32
2025 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2026 (build-system emacs-build-system)
2027 (home-page "https://github.com/dacap/keyfreq")
2028 (synopsis "Track Emacs command frequencies")
2029 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2030 a command.")
2031 (license license:gpl3+)))
2032
2033 (define-public emacs-olivetti
2034 (package
2035 (name "emacs-olivetti")
2036 (version "1.5.7")
2037 (source (origin
2038 (method url-fetch)
2039 (uri (string-append
2040 "https://stable.melpa.org/packages/olivetti-"
2041 version ".el"))
2042 (sha256
2043 (base32
2044 "1yj2ylg46q0pw1xzlv2b0fv9x8p56x25284s9v2smwjr4vf0nwcj"))))
2045 (build-system emacs-build-system)
2046 (home-page "https://github.com/rnkn/olivetti")
2047 (synopsis "Emacs minor mode for a nice writing environment")
2048 (description "This package provides an Emacs minor mode that puts writing
2049 in the center.")
2050 (license license:gpl3+)))
2051
2052 (define-public emacs-undo-tree
2053 (package
2054 (name "emacs-undo-tree")
2055 (version "0.6.6")
2056 (source (origin
2057 (method git-fetch)
2058 (uri (git-reference
2059 (url "http://dr-qubit.org/git/undo-tree.git")
2060 (commit (string-append "release/" version))))
2061 (file-name (git-file-name name version))
2062 (sha256
2063 (base32
2064 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
2065 (build-system emacs-build-system)
2066 (home-page "http://www.dr-qubit.org/emacs.php")
2067 (synopsis "Treat undo history as a tree")
2068 (description "Tree-like interface to Emacs undo system, providing
2069 graphical tree presentation of all previous states of buffer that
2070 allows easily move between them.")
2071 (license license:gpl3+)))
2072
2073 (define-public emacs-s
2074 (package
2075 (name "emacs-s")
2076 (version "1.12.0")
2077 (source
2078 (origin
2079 (method git-fetch)
2080 (uri (git-reference
2081 (url "https://github.com/magnars/s.el.git")
2082 (commit version)))
2083 (file-name (git-file-name name version))
2084 (sha256
2085 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2086 (build-system emacs-build-system)
2087 (arguments
2088 `(#:tests? #t
2089 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2090 #:test-command '("./run-tests.sh")))
2091 (home-page "https://github.com/magnars/s.el")
2092 (synopsis "Emacs string manipulation library")
2093 (description "This package provides an Emacs library for manipulating
2094 strings.")
2095 (license license:gpl3+)))
2096
2097 (define-public emacs-symon
2098 (package
2099 (name "emacs-symon")
2100 (version "20160630")
2101 (source
2102 (origin
2103 (method git-fetch)
2104 (uri (git-reference
2105 (url "https://github.com/zk-phi/symon.git")
2106 (commit version)))
2107 (file-name (git-file-name name version))
2108 (sha256
2109 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2110 (build-system emacs-build-system)
2111 (home-page "https://github.com/zk-phi/symon")
2112 (synopsis "Tiny graphical system monitor")
2113 (description
2114 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2115 (license license:gpl2+)))
2116
2117 (define-public emacs-sx
2118 (let ((version "20180212")
2119 (revision "1")
2120 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2121 (package
2122 (name "emacs-sx")
2123 (version (git-version version revision commit))
2124 (source
2125 (origin
2126 (method git-fetch)
2127 (uri (git-reference
2128 (url "https://github.com/vermiculus/sx.el")
2129 (commit commit)))
2130 (file-name (git-file-name name version))
2131 (sha256
2132 (base32
2133 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2134 (build-system emacs-build-system)
2135 (propagated-inputs
2136 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2137 (home-page "https://github.com/vermiculus/sx.el")
2138 (synopsis "Emacs StackExchange client")
2139 (description
2140 "Emacs StackExchange client. Ask and answer questions on
2141 Stack Overflow, Super User, and other StackExchange sites.")
2142 (license license:gpl3+))))
2143
2144 (define-public emacs-f
2145 (package
2146 (name "emacs-f")
2147 (version "0.20.0")
2148 (source (origin
2149 (method git-fetch)
2150 (uri (git-reference
2151 (url "https://github.com/rejeep/f.el.git")
2152 (commit (string-append "v" version))))
2153 (file-name (git-file-name name version))
2154 (sha256
2155 (base32
2156 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2157 (build-system emacs-build-system)
2158 (propagated-inputs
2159 `(("emacs-s" ,emacs-s)
2160 ("emacs-dash" ,emacs-dash)))
2161 (home-page "https://github.com/rejeep/f.el")
2162 (synopsis "Emacs API for working with files and directories")
2163 (description "This package provides an Emacs library for working with
2164 files and directories.")
2165 (license license:gpl3+)))
2166
2167 (define-public emacs-git-gutter
2168 (package
2169 (name "emacs-git-gutter")
2170 (version "0.90")
2171 (source
2172 (origin
2173 (method git-fetch)
2174 (uri (git-reference
2175 (url "https://github.com/syohex/emacs-git-gutter.git")
2176 (commit version)))
2177 (file-name (git-file-name name version))
2178 (sha256
2179 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2180 (build-system emacs-build-system)
2181 (home-page "https://github.com/syohex/emacs-git-gutter")
2182 (synopsis "See and manage hunks of text in a version control system")
2183 (description
2184 "This package is an Emacs minor mode for displaying and interacting with
2185 hunks of text managed in a version control system. Added modified and deleted
2186 areas can be indicated with symbols on the edge of the buffer, and commands
2187 can be used to move between and perform actions on these hunks.
2188
2189 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2190 display and behaviour is easily customisable.")
2191 (license license:gpl3+)))
2192
2193 (define-public emacs-git-timemachine
2194 (package
2195 (name "emacs-git-timemachine")
2196 (version "4.5")
2197 (source
2198 (origin
2199 (method url-fetch)
2200 (uri (string-append "https://gitlab.com/pidu/git-timemachine"
2201 "/-/archive/" version
2202 "/git-timemachine-" version ".tar.gz"))
2203 (file-name (string-append name "-" version ".tar.gz"))
2204 (sha256
2205 (base32
2206 "0ii40qcincasg7s1yrvqcxkqcqzb4sfs7gcxscn6m4x4ans165zy"))))
2207 (build-system emacs-build-system)
2208 (home-page "https://gitlab.com/pidu/git-timemachine")
2209 (synopsis "Step through historic versions of Git-controlled files")
2210 (description "This package enables you to step through historic versions
2211 of files under Git version control from within Emacs.")
2212 (license license:gpl3+)))
2213
2214 (define-public emacs-minitest
2215 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2216 (revision "1"))
2217 (package
2218 (name "emacs-minitest")
2219 (version (git-version "0.8.0" revision commit))
2220 (source (origin
2221 (method git-fetch)
2222 (uri (git-reference
2223 (url "https://github.com/arthurnn/minitest-emacs")
2224 (commit commit)))
2225 (file-name (git-file-name name commit))
2226 (sha256
2227 (base32
2228 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2229 (build-system emacs-build-system)
2230 (arguments
2231 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2232 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2233 (propagated-inputs
2234 `(("emacs-dash" ,emacs-dash)
2235 ("emacs-f" ,emacs-f)))
2236 (home-page "https://github.com/arthurnn/minitest-emacs")
2237 (synopsis "Emacs minitest mode")
2238 (description
2239 "The minitest mode provides commands to run the tests for the current
2240 file or line, as well as rerunning the previous tests, or all the tests for a
2241 project.
2242
2243 This package also includes relevant snippets for yasnippet.")
2244 (license license:expat))))
2245
2246 (define-public emacs-el-mock
2247 (package
2248 (name "emacs-el-mock")
2249 (version "1.25.1")
2250 (source
2251 (origin
2252 (method git-fetch)
2253 (uri (git-reference
2254 (url "https://github.com/rejeep/el-mock.el.git")
2255 (commit (string-append "v" version))))
2256 (file-name (git-file-name name version))
2257 (sha256
2258 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2259 (build-system emacs-build-system)
2260 (home-page "https://github.com/rejeep/el-mock.el")
2261 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2262 (description
2263 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2264 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2265 Expectations, but it can be used in other contexts.")
2266 (license license:gpl3+)))
2267
2268 (define-public emacs-espuds
2269 (package
2270 (name "emacs-espuds")
2271 (version "0.3.3")
2272 (source
2273 (origin
2274 (method git-fetch)
2275 (uri (git-reference
2276 (url "https://github.com/ecukes/espuds.git")
2277 (commit (string-append "v" version))))
2278 (file-name (git-file-name name version))
2279 (sha256
2280 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2281 (build-system emacs-build-system)
2282 (propagated-inputs
2283 `(("emacs-s" ,emacs-s)
2284 ("emacs-dash" ,emacs-dash)
2285 ("emacs-f" ,emacs-f)))
2286 (home-page "https://github.com/ecukes/espuds")
2287 (synopsis "Common step definitions for Ecukes")
2288 (description "Espuds is a collection of the most commonly used step
2289 definitions for testing with the Ecukes framework.")
2290 (license license:gpl3+)))
2291
2292 (define-public emacs-spark
2293 (let ((version "20160503") ; no proper tag, use date of commit
2294 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2295 (revision "1"))
2296 (package
2297 (name "emacs-spark")
2298 (version (git-version version revision commit))
2299 (source
2300 (origin
2301 (method git-fetch)
2302 (uri (git-reference
2303 (url "https://github.com/alvinfrancis/spark.git")
2304 (commit commit)))
2305 (file-name (git-file-name name version))
2306 (sha256
2307 (base32
2308 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2309 (build-system emacs-build-system)
2310 (home-page "https://github.com/alvinfrancis/spark")
2311 (synopsis "Sparkline generation library for Emacs Lisp")
2312 (description "@code{emacs-spark} is a sparkline generation library for
2313 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2314 port of @code{cl-spark} to Emacs Lisp.")
2315 (license license:expat))))
2316
2317 (define-public emacs-es-mode
2318 (package
2319 (name "emacs-es-mode")
2320 (version "4.3.0")
2321 (source
2322 (origin
2323 (method git-fetch)
2324 (uri (git-reference
2325 (url "https://github.com/dakrone/es-mode.git")
2326 (commit version)))
2327 (file-name (git-file-name name version))
2328 (sha256
2329 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2330 (build-system emacs-build-system)
2331 (propagated-inputs
2332 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2333 ;; to be rendered incorrectly
2334 `(("emacs-dash" ,emacs-dash)
2335 ("emacs-org" ,emacs-org)
2336 ("emacs-spark" ,emacs-spark)))
2337 (home-page "https://github.com/dakrone/es-mode")
2338 (synopsis "Major mode for editing Elasticsearch queries")
2339 (description "@code{es-mode} includes highlighting, completion and
2340 indentation support for Elasticsearch queries. Also supported are
2341 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2342 be processed through @code{jq}, or in the case of aggregations, can be
2343 rendered in to a table. In addition, there is an @code{es-command-center}
2344 mode, which displays information about Elasticsearch clusters.")
2345 (license license:gpl3+)))
2346
2347 (define-public emacs-expand-region
2348 (package
2349 (name "emacs-expand-region")
2350 (version "0.11.0")
2351 (source
2352 (origin
2353 (method git-fetch)
2354 (uri (git-reference
2355 (url "https://github.com/magnars/expand-region.el.git")
2356 (commit version)))
2357 (file-name (git-file-name name version))
2358 (sha256
2359 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2360 (build-system emacs-build-system)
2361 (home-page "https://github.com/magnars/expand-region.el")
2362 (synopsis "Increase selected region by semantic units")
2363 (description
2364 "Expand region increases the selected region by semantic units. Just
2365 keep pressing the key until it selects what you want. There's also
2366 @code{er/contract-region} if you expand too far.")
2367 (license license:gpl3+)))
2368
2369 (define-public emacs-fill-column-indicator
2370 (package
2371 (name "emacs-fill-column-indicator")
2372 (version "1.89")
2373 (source
2374 (origin
2375 (method git-fetch)
2376 (uri (git-reference
2377 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2378 (commit (string-append "v" version))))
2379 (file-name (git-file-name name version))
2380 (sha256
2381 (base32 "010kf8jsly74y7m6mmkn1h6y205kz23zphs50zgy2nag2p88rz9y"))))
2382 (build-system emacs-build-system)
2383 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2384 (synopsis "Graphically indicate the fill column")
2385 (description
2386 "Fill-column-indicator graphically indicates the location of the fill
2387 column by drawing a thin line down the length of the editing window.")
2388 (license license:gpl3+)))
2389
2390 (define-public emacs-grep-a-lot
2391 (package
2392 (name "emacs-grep-a-lot")
2393 (version "1.0.7")
2394 (source
2395 (origin
2396 (method git-fetch)
2397 (uri (git-reference
2398 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2399 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2400 (file-name (git-file-name name version))
2401 (sha256
2402 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2403 (build-system emacs-build-system)
2404 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2405 (synopsis "Enables multiple grep buffers in Emacs")
2406 (description
2407 "This Emacs package allows managing multiple grep buffers.")
2408 (license license:gpl3+)))
2409
2410 (define-public emacs-inf-ruby
2411 (package
2412 (name "emacs-inf-ruby")
2413 (version "2.5.1")
2414 (source
2415 (origin
2416 (method git-fetch)
2417 (uri (git-reference
2418 (url "https://github.com/nonsequitur/inf-ruby.git")
2419 (commit version)))
2420 (file-name (git-file-name name version))
2421 (sha256
2422 (base32 "1r452h6cyypqlc59q8dx5smkwhck4qjcg1pf9qdw539cpva5q77z"))))
2423 (build-system emacs-build-system)
2424 (home-page "https://github.com/nonsequitur/inf-ruby")
2425 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2426 (description
2427 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2428 for easy interaction with a ruby subprocess. Features include support for
2429 detecting specific uses of Ruby, e.g. when using rails, and using a
2430 appropriate console.")
2431 (license license:gpl3+)))
2432
2433 (define-public emacs-znc
2434 (package
2435 (name "emacs-znc")
2436 (version "0.0.2")
2437 (source
2438 (origin
2439 (method url-fetch)
2440 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2441 version ".el"))
2442 (sha256
2443 (base32
2444 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2445 (build-system emacs-build-system)
2446 (home-page "https://github.com/sshirokov/ZNC.el")
2447 (synopsis "Make ERC and ZNC get along better")
2448 (description
2449 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2450 IRC bouncer with ERC.")
2451 (license license:expat)))
2452
2453 (define-public emacs-shut-up
2454 (package
2455 (name "emacs-shut-up")
2456 (version "0.3.2")
2457 (source
2458 (origin
2459 (method git-fetch)
2460 (uri (git-reference
2461 (url "https://github.com/cask/shut-up.git")
2462 (commit (string-append "v" version))))
2463 (file-name (git-file-name name version))
2464 (sha256
2465 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
2466 (build-system emacs-build-system)
2467 (home-page "https://github.com/cask/shut-up")
2468 (synopsis "Silence Emacs")
2469 (description "This package silences most output of Emacs when running an
2470 Emacs shell script.")
2471 (license license:expat)))
2472
2473 (define-public emacs-undercover
2474 (package
2475 (name "emacs-undercover")
2476 (version "0.6.0")
2477 (source
2478 (origin
2479 (method git-fetch)
2480 (uri (git-reference
2481 (url "https://github.com/sviridov/undercover.el.git")
2482 (commit (string-append "v" version))))
2483 (file-name (git-file-name name version))
2484 (sha256
2485 (base32 "06qcvbp5rd0kh3ibrxj5p6r578lwsrgd7yj5c6slwmkdmna2fj33"))))
2486 (build-system emacs-build-system)
2487 (propagated-inputs
2488 `(("emacs-dash" ,emacs-dash)
2489 ("emacs-shut-up" ,emacs-shut-up)))
2490 (home-page "https://github.com/sviridov/undercover.el")
2491 (synopsis "Test coverage library for Emacs Lisp")
2492 (description
2493 "Undercover is a test coverage library for software written in Emacs
2494 Lisp.")
2495 (license license:expat)))
2496
2497 (define-public emacs-paren-face
2498 (package
2499 (name "emacs-paren-face")
2500 (version "1.0.0")
2501 (source
2502 (origin
2503 (method git-fetch)
2504 (uri (git-reference
2505 (url "https://github.com/tarsius/paren-face.git")
2506 (commit version)))
2507 (file-name (git-file-name name version))
2508 (sha256
2509 (base32 "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"))))
2510 (build-system emacs-build-system)
2511 (home-page "https://github.com/tarsius/paren-face")
2512 (synopsis "Face for parentheses in lisp modes")
2513 (description
2514 "This library defines a face named @code{parenthesis} used just for
2515 parentheses. The intended purpose of this face is to make parentheses less
2516 visible in Lisp code by dimming them. Lispers probably don't need to be
2517 constantly made aware of the existence of the parentheses. Dimming them might
2518 be even more useful for people new to lisp who have not yet learned to
2519 subconsciously blend out the parentheses.")
2520 (license license:gpl3+)))
2521
2522 (define-public emacs-page-break-lines
2523 (package
2524 (name "emacs-page-break-lines")
2525 (version "0.11")
2526 (source
2527 (origin
2528 (method git-fetch)
2529 (uri (git-reference
2530 (url "https://github.com/purcell/page-break-lines.git")
2531 (commit version)))
2532 (file-name (git-file-name name version))
2533 (sha256
2534 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
2535 (build-system emacs-build-system)
2536 (home-page "https://github.com/purcell/page-break-lines")
2537 (synopsis "Display page breaks as tidy horizontal lines")
2538 (description
2539 "This library provides a global mode which displays form feed characters
2540 as horizontal rules.")
2541 (license license:gpl3+)))
2542
2543 (define-public emacs-simple-httpd
2544 (package
2545 (name "emacs-simple-httpd")
2546 (version "1.4.6")
2547 (source
2548 (origin
2549 (method git-fetch)
2550 (uri (git-reference
2551 (url "https://github.com/skeeto/emacs-web-server.git")
2552 (commit version)))
2553 (file-name (git-file-name name version))
2554 (sha256
2555 (base32 "1qmkc0w28l53zzf5yd2grrk1sq222g5qnsm35ph25s1cfvc1qb2g"))))
2556 (build-system emacs-build-system)
2557 (home-page "https://github.com/skeeto/emacs-http-server")
2558 (synopsis "HTTP server in pure Emacs Lisp")
2559 (description
2560 "This package provides a simple HTTP server written in Emacs Lisp to
2561 serve files and directory listings.")
2562 (license license:unlicense)))
2563
2564 (define-public emacs-skewer-mode
2565 (package
2566 (name "emacs-skewer-mode")
2567 (version "1.6.2")
2568 (source
2569 (origin
2570 (method git-fetch)
2571 (uri (git-reference
2572 (url "https://github.com/skeeto/skewer-mode.git")
2573 (commit version)))
2574 (file-name (git-file-name name version))
2575 (sha256
2576 (base32 "05jndz0c26q60s416vqgvr66axdmxb7qsr2g70fvl5iqavnayhpv"))))
2577 (build-system emacs-build-system)
2578 (propagated-inputs
2579 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2580 ("emacs-js2-mode" ,emacs-js2-mode)))
2581 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2582 (home-page "https://github.com/skeeto/skewer-mode")
2583 (synopsis "Live web development in Emacs")
2584 (description
2585 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2586 a web browser. Expressions are sent on-the-fly from an editing buffer to be
2587 evaluated in the browser, just like Emacs does with an inferior Lisp process
2588 in Lisp modes.")
2589 (license license:unlicense)))
2590
2591 (define-public emacs-litable
2592 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2593 (package
2594 (name "emacs-litable")
2595 (version (git-version "0.1" "0" commit))
2596 (source (origin
2597 (method git-fetch)
2598 (uri (git-reference
2599 (url "https://github.com/Fuco1/litable.git")
2600 (commit commit)))
2601 (file-name (git-file-name name version))
2602 (sha256
2603 (base32
2604 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2605 (build-system emacs-build-system)
2606 (propagated-inputs
2607 `(("emacs-dash" ,emacs-dash)))
2608 (home-page "https://github.com/Fuco1/litable/")
2609 (synopsis "Dynamic evaluation replacement with Emacs")
2610 (description "This packages provides dynamic evaluation in Emacs.")
2611 (license license:gpl3+))))
2612
2613 (define-public emacs-string-inflection
2614 (package
2615 (name "emacs-string-inflection")
2616 (version "1.0.6")
2617 (source (origin
2618 (method git-fetch)
2619 (uri (git-reference
2620 (url "https://github.com/akicho8/string-inflection")
2621 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2622 (file-name (git-file-name name version))
2623 (sha256
2624 (base32
2625 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2626 (build-system emacs-build-system)
2627 (native-inputs
2628 `(("ert-runner" ,emacs-ert-runner)))
2629 (arguments
2630 `(#:tests? #t
2631 #:test-command '("ert-runner")))
2632 (home-page "https://github.com/akicho8/string-inflection")
2633 (synopsis "Convert symbol names between different naming conventions")
2634 (description
2635 "This Emacs package provides convenient methods for manipulating the
2636 naming style of a symbol. It supports different naming conventions such as:
2637
2638 @enumerate
2639 @item camel case
2640 @item Pascal case
2641 @item all upper case
2642 @item lower case separated by underscore
2643 @item etc...
2644 @end enumerate\n")
2645 (license license:gpl2+)))
2646
2647 (define-public emacs-stripe-buffer
2648 (package
2649 (name "emacs-stripe-buffer")
2650 (version "0.2.5")
2651 (source
2652 (origin
2653 (method git-fetch)
2654 (uri (git-reference
2655 (url "https://github.com/sabof/stripe-buffer.git")
2656 (commit version)))
2657 (file-name (git-file-name name version))
2658 (sha256
2659 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
2660 (build-system emacs-build-system)
2661 (home-page "https://github.com/sabof/stripe-buffer/")
2662 (synopsis "Add stripes to list buffers")
2663 (description
2664 "This Emacs package adds faces to add stripes to list buffers and org
2665 tables.")
2666 (license license:gpl2+)))
2667
2668 (define-public emacs-rich-minority
2669 (package
2670 (name "emacs-rich-minority")
2671 (version "1.0.1")
2672 (source
2673 (origin
2674 (method git-fetch)
2675 (uri (git-reference
2676 (url "https://github.com/Malabarba/rich-minority.git")
2677 (commit version)))
2678 (file-name (git-file-name name version))
2679 (sha256
2680 (base32 "11hwf9y5ax207w6rwrsmi3pmn7pn7ap6iys0z8hni2f5zzxjrmx3"))))
2681 (build-system emacs-build-system)
2682 (home-page "https://github.com/Malabarba/rich-minority")
2683 (synopsis "Clean-up and beautify the list of minor modes")
2684 (description
2685 "This Emacs package hides and/or highlights minor modes in the
2686 mode-line.")
2687 (license license:gpl2+)))
2688
2689 (define-public emacs-robe
2690 (package
2691 (name "emacs-robe")
2692 (version "0.8.1")
2693 (source
2694 (origin
2695 (method git-fetch)
2696 (uri (git-reference
2697 (url "https://github.com/dgutov/robe.git")
2698 (commit version)))
2699 (file-name (git-file-name name version))
2700 (sha256
2701 (base32 "0ll7ivxqnglfb0i70ly6qq2yfw9cyi3vq3lmj4s6h6c1c7rm3gcq"))))
2702 (build-system emacs-build-system)
2703 (arguments
2704 '(#:include (cons "^lib\\/" %default-include)))
2705 (propagated-inputs
2706 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2707 (home-page "https://github.com/dgutov/robe")
2708 (synopsis "Ruby code assistance tool for Emacs")
2709 (description
2710 "Robe can provide information on loaded classes and modules in Ruby code,
2711 as well as where methods are defined. This allows the user to jump to method
2712 definitions, modules and classes, display method documentation and provide
2713 method and constant name completion.")
2714 (license license:gpl3+)))
2715
2716 (define-public emacs-robot-mode
2717 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
2718 (revision "1"))
2719 (package
2720 (name "emacs-robot-mode")
2721 (version (git-version "0.0.0" revision commit))
2722 (source (origin
2723 (method git-fetch)
2724 (uri (git-reference
2725 ;; A better maintained fork of robot-mode.
2726 (url "https://github.com/jvalkeejarvi/robot-mode.git")
2727 (commit commit)))
2728 (file-name (git-file-name name version))
2729 (sha256
2730 (base32
2731 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
2732 (build-system emacs-build-system)
2733 (propagated-inputs `(("emacs-s" ,emacs-s)))
2734 (home-page "https://github.com/jvalkeejarvi/robot-mode")
2735 (synopsis "Emacs mode for Robot Framework")
2736 (description "This major mode facilitates editing Robot Framework source
2737 files with features such as syntax highlighting, comments, finding keywords,
2738 completing keywords and smart indentation.")
2739 (license license:gpl3+))))
2740
2741 (define-public emacs-rspec
2742 (package
2743 (name "emacs-rspec")
2744 (version "1.11")
2745 (source
2746 (origin
2747 (method git-fetch)
2748 (uri (git-reference
2749 (url "https://github.com/pezra/rspec-mode.git")
2750 (commit (string-append "v" version))))
2751 (file-name (git-file-name name version))
2752 (sha256
2753 (base32 "0hrn5n7aaymwimk511kjij44vqaxbmhly1gwmlmsrnbvvma7f2mp"))))
2754 (build-system emacs-build-system)
2755 (home-page "https://github.com/pezra/rspec-mode")
2756 (synopsis "Provides a rspec mode for working with RSpec")
2757 (description
2758 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2759 verify the spec associated with the current buffer, or entire project, as well
2760 as moving between the spec files, and corresponding code files.
2761
2762 Also included are keybindings for spec files and Dired buffers, as well as
2763 snippets for yasnippet.")
2764 (license license:gpl3+)))
2765
2766 (define-public emacs-smart-mode-line
2767 (package
2768 (name "emacs-smart-mode-line")
2769 (version "2.12.0")
2770 (source
2771 (origin
2772 (method git-fetch)
2773 (uri (git-reference
2774 (url "https://github.com/Malabarba/smart-mode-line.git")
2775 (commit version)))
2776 (file-name (git-file-name name version))
2777 (sha256
2778 (base32 "1gs4ay9hdg8gmia4ir74qawk80pqwv99hp4yhy108kpfry5mrq6z"))))
2779 (build-system emacs-build-system)
2780 (propagated-inputs
2781 `(("emacs-rich-minority" ,emacs-rich-minority)))
2782 (home-page "https://github.com/Malabarba/smart-mode-line")
2783 (synopsis "Color-coded smart mode-line")
2784 (description
2785 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2786 read from small to large monitors by using colors, a prefix feature, and smart
2787 truncation.")
2788 (license license:gpl2+)))
2789
2790 (define-public emacs-sr-speedbar
2791 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2792 (revision "0"))
2793 (package
2794 (name "emacs-sr-speedbar")
2795 (version (git-version "20161025" revision commit))
2796 (source
2797 (origin
2798 (method git-fetch)
2799 (uri (git-reference
2800 (url "https://github.com/emacsorphanage/sr-speedbar.git")
2801 (commit commit)))
2802 (file-name (git-file-name name version))
2803 (sha256
2804 (base32
2805 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
2806 (build-system emacs-build-system)
2807 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
2808 (synopsis "Same frame Emacs @code{speedbar}")
2809 (description
2810 "This Emacs package allows you to show @code{M-x speedbar} in the
2811 same frame (in an extra window). You can customize the initial width of
2812 the speedbar window.")
2813 (license license:gpl3+))))
2814
2815 (define-public emacs-shell-switcher
2816 (package
2817 (name "emacs-shell-switcher")
2818 (version "1.0.1")
2819 (source
2820 (origin
2821 (method git-fetch)
2822 (uri (git-reference
2823 (url "https://github.com/DamienCassou/shell-switcher.git")
2824 (commit (string-append "v" version))))
2825 (file-name (git-file-name name version))
2826 (sha256
2827 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
2828 (build-system emacs-build-system)
2829 (home-page "https://github.com/DamienCassou/shell-switcher")
2830 (synopsis "Provide fast switching between shell buffers")
2831 (description
2832 "This package provides commands to quickly switch between shell buffers.")
2833 (license license:gpl3+)))
2834
2835 (define-public emacs-names
2836 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
2837 (version "20151201.0")
2838 (revision "8"))
2839 (package
2840 (name "emacs-names")
2841 (version (git-version version revision commit))
2842 (source
2843 (origin
2844 (method git-fetch)
2845 (uri (git-reference
2846 (url "https://github.com/Malabarba/names")
2847 (commit commit)))
2848 (file-name (git-file-name name version))
2849 (sha256
2850 (base32
2851 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
2852 (build-system emacs-build-system)
2853 (home-page "https://github.com/Malabarba/names/")
2854 (synopsis "Namespace implementation for Emacs Lisp")
2855 (description
2856 "This package provides a macro that writes your namespaces for you.")
2857 (license license:gpl3+))))
2858
2859 (define-public emacs-evil-textobj-syntax
2860 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
2861 (version "0")
2862 (revision "1"))
2863 (package
2864 (name "emacs-evil-textobj-syntax")
2865 (version (git-version version revision commit))
2866 (source
2867 (origin
2868 (method git-fetch)
2869 (uri (git-reference
2870 (url "https://github.com/laishulu/evil-textobj-syntax/")
2871 (commit commit)))
2872 (file-name (git-file-name name version))
2873 (sha256
2874 (base32
2875 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
2876 (build-system emacs-build-system)
2877 (propagated-inputs `(("emacs-evil" ,emacs-evil)
2878 ("emacs-names" ,emacs-names)))
2879 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
2880 (synopsis "Text objects based on syntax highlighting")
2881 (description
2882 "This package provides text objects for @code{evil-mode} with
2883 boundaries defined by syntax highlighting.")
2884 (license license:gpl3+))))
2885
2886 (define-public emacs-flycheck-flow
2887 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
2888 (version "1.1")
2889 (revision "1"))
2890 (package
2891 (name "emacs-flycheck-flow")
2892 (version (git-version version revision commit))
2893 (source
2894 (origin
2895 (method git-fetch)
2896 (uri (git-reference
2897 (url "https://github.com/lbolla/emacs-flycheck-flow")
2898 (commit commit)))
2899 (file-name (git-file-name name version))
2900 (sha256
2901 (base32
2902 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
2903 (build-system emacs-build-system)
2904 (propagated-inputs
2905 `(("emacs-flycheck" ,emacs-flycheck)))
2906 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
2907 (synopsis "Flow support for @code{flycheck-mode}")
2908 (description
2909 "This package allows @code{flycheck-mode} to provide syntax-checking
2910 for Flow files.")
2911 (license license:gpl3+))))
2912
2913 (define-public emacs-elisp-demos
2914 (let ((commit "4c1fbc392668662890b685ab297e950259227e06")
2915 (version "0.1")
2916 (revision "1"))
2917 (package
2918 (name "emacs-elisp-demos")
2919 (version (git-version version revision commit))
2920 (source
2921 (origin
2922 (method git-fetch)
2923 (uri (git-reference
2924 (url "https://github.com/xuchunyang/elisp-demos")
2925 (commit commit)))
2926 (file-name (git-file-name name version))
2927 (sha256
2928 (base32
2929 "01cbkmjgmzxdf02w9xgbf4bhnx1mh53vvpkri13yxfksym5zizp4"))))
2930 (build-system emacs-build-system)
2931 (arguments '(#:include '("\\.el$" "\\.org$")))
2932 (home-page "https://github.com/xuchunyang/elisp-demos/")
2933 (synopsis "Enhance @code{*Help*} buffers with additional examples")
2934 (description
2935 "This package injects example uses of Elisp functions into their
2936 respective @code{*Help*} buffers.")
2937 (license license:gpl3+))))
2938
2939 (define-public emacs-docker-compose-mode
2940 (package
2941 (name "emacs-docker-compose-mode")
2942 (version "1.1.0")
2943 (source
2944 (origin
2945 (method git-fetch)
2946 (uri (git-reference
2947 (url "https://github.com/meqif/docker-compose-mode")
2948 (commit version)))
2949 (file-name (git-file-name name version))
2950 (sha256
2951 (base32
2952 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
2953 (build-system emacs-build-system)
2954 (propagated-inputs
2955 `(("emacs-dash" ,emacs-dash)
2956 ("emacs-f" ,emacs-f)))
2957 (home-page "https://github.com/meqif/docker-compose-mode/")
2958 (synopsis "Major mode for editing @file{docker-compose} files")
2959 (description
2960 "This is a major mode for @file{docker-compose} files that provides
2961 completion of relevant keywords.")
2962 (license license:expat)))
2963
2964 (define-public emacs-sudo-edit
2965 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
2966 (version "0.1.0")
2967 (revision "6"))
2968 (package
2969 (name "emacs-sudo-edit")
2970 (version (git-version version revision commit))
2971 (source
2972 (origin
2973 (method git-fetch)
2974 (uri (git-reference
2975 (url "https://github.com/nflath/sudo-edit")
2976 (commit commit)))
2977 (file-name (git-file-name name version))
2978 (sha256
2979 (base32
2980 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
2981 (build-system emacs-build-system)
2982 (home-page "https://github.com/nflath/sudo-edit/")
2983 (synopsis "Open files as another user")
2984 (description
2985 "This package allows editing files as another user, including the root
2986 user.")
2987 (license license:gpl3+))))
2988
2989 (define-public emacs-miniedit
2990 (package
2991 (name "emacs-miniedit")
2992 (version "2.0")
2993 (source
2994 (origin
2995 (method git-fetch)
2996 (uri (git-reference
2997 (url "https://github.com/emacsmirror/miniedit")
2998 (commit version)))
2999 (file-name (git-file-name name version))
3000 (sha256
3001 (base32
3002 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3003 (build-system emacs-build-system)
3004 (home-page "https://github.com/emacsmirror/miniedit/")
3005 (synopsis "Enhanced editing for minibuffer fields")
3006 (description
3007 "This package provides a function that can be called from the
3008 minibuffer to enable editing the minibuffer input in another buffer with
3009 @code{text-mode} enabled.")
3010 (license license:gpl2+)))
3011
3012 (define-public emacs-ob-ipython
3013 (package
3014 (name "emacs-ob-ipython")
3015 (version "20150704.8807064693")
3016 (source (origin
3017 (method git-fetch)
3018 (uri (git-reference
3019 (commit "880706469338ab59b5bb7dbe8460016f89755364")
3020 (url "https://github.com/gregsexton/ob-ipython.git")))
3021 (file-name (git-file-name name version))
3022 (sha256
3023 (base32
3024 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
3025 (build-system emacs-build-system)
3026 (propagated-inputs
3027 `(("emacs-f" ,emacs-f)))
3028 (home-page "http://www.gregsexton.org")
3029 (synopsis "Org-Babel functions for IPython evaluation")
3030 (description "This package adds support to Org-Babel for evaluating Python
3031 source code using IPython.")
3032 (license license:gpl3+)))
3033
3034 (define-public emacs-debbugs
3035 (package
3036 (name "emacs-debbugs")
3037 (version "0.18")
3038 (source (origin
3039 (method url-fetch)
3040 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3041 version ".tar"))
3042 (sha256
3043 (base32
3044 "00kich80zdg7v3v613f9prqddkpwpm1nf9sj10f0n6wh15rzwv07"))))
3045 (build-system emacs-build-system)
3046 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3047 (propagated-inputs
3048 `(("emacs-async" ,emacs-async)))
3049 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3050 (synopsis "Access the Debbugs bug tracker in Emacs")
3051 (description
3052 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3053 Tracker} from within Emacs.
3054
3055 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3056 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3057 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3058 @code{M-x debbugs-org} and related commands.
3059
3060 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3061 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3062 (license license:gpl3+)))
3063
3064 (define-public emacs-ert-expectations
3065 (package
3066 (name "emacs-ert-expectations")
3067 (version "0.2")
3068 (source
3069 (origin
3070 (method url-fetch)
3071 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3072 (sha256
3073 (base32
3074 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3075 (build-system emacs-build-system)
3076 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3077 (synopsis "Simple unit test framework for Emacs Lisp")
3078 (description "@code{emacs-ert-expectations} is a simple unit test
3079 framework for Emacs Lisp to be used with @code{ert}.")
3080 (license license:gpl3+)))
3081
3082 (define-public emacs-deferred
3083 (package
3084 (name "emacs-deferred")
3085 (version "0.5.1")
3086 (home-page "https://github.com/kiwanami/emacs-deferred")
3087 (source (origin
3088 (method git-fetch)
3089 (uri (git-reference
3090 (url home-page)
3091 (commit (string-append "v" version))))
3092 (file-name (git-file-name name version))
3093 (sha256
3094 (base32
3095 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3096 (build-system emacs-build-system)
3097 (arguments
3098 `(#:phases
3099 (modify-phases %standard-phases
3100 (add-after 'unpack 'set-shell
3101 ;; Setting the SHELL environment variable is required for the tests
3102 ;; to find sh.
3103 (lambda _
3104 (setenv "SHELL" (which "sh"))
3105 #t))
3106 (add-before 'check 'fix-makefile
3107 (lambda _
3108 (substitute* "Makefile"
3109 (("\\$\\(CASK\\) exec ") ""))
3110 #t)))
3111 #:tests? #t
3112 #:test-command '("make" "test")))
3113 (native-inputs
3114 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3115 ("emacs-undercover" ,emacs-undercover)
3116 ("ert-runner" ,emacs-ert-runner)))
3117 (synopsis "Simple asynchronous functions for Emacs Lisp")
3118 (description
3119 "The @code{deferred.el} library provides support for asynchronous tasks.
3120 The API is almost the same as that of
3121 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3122 for asynchronous tasks.")
3123 (license license:gpl3+)))
3124
3125 (define-public emacs-butler
3126 (package
3127 (name "emacs-butler")
3128 (version "0.2.4")
3129 (home-page "https://github.com/AshtonKem/Butler")
3130 (source (origin
3131 (method git-fetch)
3132 (uri (git-reference
3133 (url home-page)
3134 (commit version)))
3135 (file-name (git-file-name name version))
3136 (sha256
3137 (base32
3138 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3139 (build-system emacs-build-system)
3140 (propagated-inputs
3141 `(("emacs-deferred" ,emacs-deferred)))
3142 (synopsis "Emacs client for Jenkins")
3143 (description
3144 "Butler provides an interface to connect to Jenkins continuous
3145 integration servers. Users can specify a list of server in the
3146 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3147 view the build status of those servers' build jobs, and possibly to trigger
3148 build jobs.")
3149 (license license:gpl3+)))
3150
3151 (define-public emacs-company
3152 (package
3153 (name "emacs-company")
3154 (version "0.9.10")
3155 (source
3156 (origin
3157 (method git-fetch)
3158 (uri (git-reference
3159 (url "https://github.com/company-mode/company-mode.git")
3160 (commit version)))
3161 (file-name (git-file-name name version))
3162 (sha256
3163 (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
3164 (build-system emacs-build-system)
3165 (arguments
3166 `(#:phases
3167 (modify-phases %standard-phases
3168 (add-before 'check 'fix-bin-dir
3169 (lambda _
3170 ;; The company-files-candidates-normal-root test looks
3171 ;; for the /bin directory, but the build environment has
3172 ;; no /bin directory. Modify the test to look for the
3173 ;; /tmp directory.
3174 (substitute* "test/files-tests.el"
3175 (("/bin/") "/tmp/"))
3176 #t)))
3177 #:tests? #t
3178 #:test-command '("make" "test-batch")))
3179 (home-page "http://company-mode.github.io/")
3180 (synopsis "Modular text completion framework")
3181 (description
3182 "Company is a modular completion mechanism. Modules for retrieving
3183 completion candidates are called back-ends, modules for displaying them are
3184 front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3185 These are distributed in separate files and can be used individually.")
3186 (license license:gpl3+)))
3187
3188 (define-public emacs-irony-mode
3189 (package
3190 (name "emacs-irony-mode")
3191 (version "1.2.0")
3192 (home-page "https://github.com/Sarcasm/irony-mode")
3193 (source (origin
3194 (method git-fetch)
3195 (uri (git-reference
3196 (url (string-append home-page ".git"))
3197 (commit (string-append "v" version))))
3198 (file-name (git-file-name name version))
3199 (sha256
3200 (base32
3201 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
3202 (build-system emacs-build-system)
3203 (inputs `(("server" ,emacs-irony-mode-server)))
3204 (arguments `(#:phases
3205 (modify-phases %standard-phases
3206 (add-after 'unpack 'configure
3207 (lambda* (#:key inputs #:allow-other-keys)
3208 (chmod "irony.el" #o644)
3209 (emacs-substitute-variables "irony.el"
3210 ("irony-server-install-prefix"
3211 (assoc-ref inputs "server")))
3212 #t)))))
3213 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3214 (description "Irony-mode provides Clang-assisted syntax checking and
3215 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3216 provide syntax checking and autocompletion on compiler level which is very
3217 resistant against false positives. It also integrates well with other
3218 packages like @code{eldoc-mode} and especially @code{company-mode} as
3219 described on the homepage.")
3220 (license license:gpl3+)))
3221
3222 (define-public emacs-irony-mode-server
3223 (package (inherit emacs-irony-mode)
3224 (name "emacs-irony-mode-server")
3225 (inputs
3226 `(("clang" ,clang)))
3227 (arguments
3228 `(#:phases
3229 (modify-phases %standard-phases
3230 (replace 'configure
3231 (lambda* (#:key outputs #:allow-other-keys)
3232 (let ((out (assoc-ref outputs "out")))
3233 (invoke "cmake"
3234 "server"
3235 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3236 (build-system cmake-build-system)
3237 (synopsis "Server for the Emacs @dfn{irony mode}")))
3238
3239 (define-public emacs-company-irony
3240 (package
3241 (name "emacs-company-irony")
3242 (version "1.1.0")
3243 (source (origin
3244 (method git-fetch)
3245 (uri (git-reference
3246 (url "https://github.com/Sarcasm/company-irony.git")
3247 (commit (string-append "v" version))))
3248 (sha256 (base32
3249 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3250 (file-name (git-file-name name version))))
3251 (build-system emacs-build-system)
3252 (inputs
3253 `(("emacs-irony-mode" ,emacs-irony-mode)
3254 ("emacs-company" ,emacs-company)))
3255 (synopsis "C++ completion backend for Company using irony-mode")
3256 (description "This backend for company-mode allows for C++ code completion
3257 with irony-mode using clang-tooling.")
3258 (home-page "https://github.com/Sarcasm/company-irony")
3259 (license license:gpl3+)))
3260
3261 (define-public emacs-flycheck-irony
3262 (package
3263 (name "emacs-flycheck-irony")
3264 (version "0.1.0")
3265 (source (origin
3266 (method git-fetch)
3267 (uri (git-reference
3268 (url "https://github.com/Sarcasm/flycheck-irony.git")
3269 (commit (string-append "v" version))))
3270 (file-name (git-file-name name version))
3271 (sha256
3272 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3273 (build-system emacs-build-system)
3274 (inputs
3275 `(("irony-mode" ,emacs-irony-mode)
3276 ("flycheck-mode" ,emacs-flycheck)
3277 ("emacs-company" ,emacs-company)))
3278 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3279 (description "This package provides a frontend for Flycheck that lets
3280 irony-mode do the syntax checking.")
3281 (home-page "https://github.com/Sarcasm/flycheck-irony")
3282 (license license:gpl3+)))
3283
3284 (define-public emacs-irony-eldoc
3285 (package
3286 (name "emacs-irony-eldoc")
3287 (version (package-version emacs-irony-mode))
3288 (source
3289 (origin
3290 (method git-fetch)
3291 (uri (git-reference
3292 (url "https://github.com/ikirill/irony-eldoc.git")
3293 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3294 (file-name (git-file-name name version))
3295 (sha256
3296 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3297 (build-system emacs-build-system)
3298 (inputs
3299 `(("irony-mode" ,emacs-irony-mode)))
3300 (synopsis "Eldoc integration for irony-mode")
3301 (description "Irony-eldoc is an eldoc extension that shows documentation
3302 for the current function or variable in the minibuffer.")
3303 (home-page "https://github.com/ikirill/irony-eldoc")
3304 (license license:gpl3+)))
3305
3306 (define-public emacs-company-quickhelp
3307 (package
3308 (name "emacs-company-quickhelp")
3309 (version "2.3.0")
3310 (source
3311 (origin
3312 (method git-fetch)
3313 (uri (git-reference
3314 (url "https://github.com/expez/company-quickhelp.git")
3315 (commit version)))
3316 (file-name (git-file-name name version))
3317 (sha256
3318 (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr"))))
3319 (build-system emacs-build-system)
3320 (propagated-inputs
3321 `(("emacs-pos-tip" ,emacs-pos-tip)
3322 ("emacs-company" ,emacs-company)))
3323 (home-page "https://github.com/expez/company-quickhelp")
3324 (synopsis "Popup documentation for completion candidates")
3325 (description "@code{company-quickhelp} shows documentation for the
3326 completion candidate when using the Company text completion framework.")
3327 (license license:gpl3+)))
3328
3329 (define-public emacs-multiple-cursors
3330 (package
3331 (name "emacs-multiple-cursors")
3332 (version "1.4.0")
3333 (source
3334 (origin
3335 (method git-fetch)
3336 (uri (git-reference
3337 (url "https://github.com/magnars/multiple-cursors.el.git")
3338 (commit version)))
3339 (file-name (git-file-name name version))
3340 (sha256
3341 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
3342 (build-system emacs-build-system)
3343 (home-page "https://github.com/magnars/multiple-cursors.el")
3344 (synopsis "Multiple cursors for Emacs")
3345 (description
3346 "This package adds support to Emacs for editing text with multiple
3347 simultaneous cursors.")
3348 (license license:gpl3+)))
3349
3350 (define-public emacs-typo
3351 (package
3352 (name "emacs-typo")
3353 (version "1.1")
3354 (home-page "https://github.com/jorgenschaefer/typoel")
3355 (source (origin
3356 (method git-fetch)
3357 (uri (git-reference
3358 (url home-page)
3359 (commit (string-append "v" version))))
3360 (file-name (git-file-name name version))
3361 (sha256
3362 (base32
3363 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
3364 (build-system emacs-build-system)
3365 (synopsis "Minor mode for typographic editing")
3366 (description
3367 "This package provides two Emacs modes, @code{typo-mode} and
3368 @code{typo-global-mode}. These modes automatically insert Unicode characters
3369 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
3370 automatically inserts a Unicode opening or closing quotation mark, depending
3371 on context.")
3372 (license license:gpl3+)))
3373
3374 (define-public emacs-company-lsp
3375 (package
3376 (name "emacs-company-lsp")
3377 (version "2.1.0")
3378 (source (origin
3379 (method git-fetch)
3380 (uri (git-reference
3381 (url "https://github.com/tigersoldier/company-lsp.git")
3382 (commit version)))
3383 (file-name (git-file-name name version))
3384 (sha256
3385 (base32
3386 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
3387 (build-system emacs-build-system)
3388 (propagated-inputs
3389 `(("emacs-dash" ,emacs-dash)
3390 ("emacs-lsp-mode" ,emacs-lsp-mode)
3391 ("emacs-company" ,emacs-company)
3392 ("emacs-s" ,emacs-s)
3393 ("emacs-dash" ,emacs-dash)))
3394 (home-page "https://github.com/tigersoldier/company-lsp")
3395 (synopsis "Completion for @code{lsp-mode}")
3396 (description
3397 "This package provides completion features that are not possible with
3398 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
3399 characters and asynchronous fetching of completion candidates.")
3400 (license license:gpl3+)))
3401
3402 (define-public emacs-scheme-complete
3403 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
3404 (package
3405 (name "emacs-scheme-complete")
3406 (version (string-append "20151223." (string-take commit 8)))
3407 (source
3408 (origin
3409 (method git-fetch)
3410 (uri (git-reference
3411 (url "https://github.com/ashinn/scheme-complete.git")
3412 (commit commit)))
3413 (file-name (git-file-name name version))
3414 (sha256
3415 (base32
3416 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
3417 (patches
3418 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
3419 (build-system emacs-build-system)
3420 (home-page "https://github.com/ashinn/scheme-complete")
3421 (synopsis "Smart tab completion for Scheme in Emacs")
3422 (description
3423 "This file provides a single function, @code{scheme-smart-complete},
3424 which you can use for intelligent, context-sensitive completion for any Scheme
3425 implementation in Emacs. To use it just load this file and bind that function
3426 to a key in your preferred mode.")
3427 (license license:public-domain))))
3428
3429 (define-public emacs-scel
3430 (let ((version "20170629")
3431 (revision "1")
3432 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
3433 (package
3434 (name "emacs-scel")
3435 (version (git-version version revision commit))
3436 (source
3437 (origin
3438 (method git-fetch)
3439 (uri (git-reference
3440 (url "https://github.com/supercollider/scel.git")
3441 (commit commit)))
3442 (file-name (git-file-name name version))
3443 (sha256
3444 (base32
3445 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
3446 (build-system emacs-build-system)
3447 (arguments
3448 `(#:modules ((guix build emacs-build-system)
3449 ((guix build cmake-build-system) #:prefix cmake:)
3450 (guix build utils))
3451 #:imported-modules (,@%emacs-build-system-modules
3452 (guix build cmake-build-system))
3453 #:phases
3454 (modify-phases %standard-phases
3455 (add-after 'unpack 'configure
3456 (lambda* (#:key outputs #:allow-other-keys)
3457 (substitute* "el/CMakeLists.txt"
3458 (("share/emacs/site-lisp/SuperCollider")
3459 (string-append
3460 "share/emacs/site-lisp/guix.d/scel-" ,version)))
3461 ((assoc-ref cmake:%standard-phases 'configure)
3462 #:outputs outputs
3463 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
3464 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
3465 (lambda _
3466 (setenv "EMACSLOADPATH"
3467 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
3468 #t))
3469 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
3470 (inputs
3471 `(("supercollider" ,supercollider)))
3472 (native-inputs
3473 `(("cmake" ,cmake)))
3474 (home-page "https://github.com/supercollider/scel")
3475 (synopsis "SuperCollider Emacs interface")
3476 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
3477 SuperCollider is a platform for audio synthesis and algorithmic composition.")
3478 (license license:gpl2+))))
3479
3480 (define-public emacs-company-auctex
3481 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
3482 (revision "1"))
3483 (package
3484 (name "emacs-company-auctex")
3485 (version (git-version "0" revision commit))
3486 (source (origin
3487 (method git-fetch)
3488 (uri (git-reference
3489 (url "https://github.com/alexeyr/company-auctex")
3490 (commit commit)))
3491 (file-name (git-file-name name version))
3492 (sha256
3493 (base32
3494 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
3495 (build-system emacs-build-system)
3496 (propagated-inputs
3497 `(("emacs-yasnippet" ,emacs-yasnippet)
3498 ("emacs-auctex" ,emacs-auctex)
3499 ("emacs-company" ,emacs-company)))
3500 (home-page "https://github.com/alexeyr/company-auctex/")
3501 (synopsis "Completion for @code{AUCTeX}")
3502 (description
3503 "This package provides a group of backends permitting auto-completion
3504 for @code{AUCTeX}.")
3505 (license license:gpl3+))))
3506
3507 (define-public emacs-mit-scheme-doc
3508 (package
3509 (name "emacs-mit-scheme-doc")
3510 (version "20140203")
3511 (source
3512 (origin
3513 (modules '((guix build utils)))
3514 (snippet
3515 ;; keep only file of interest
3516 '(begin
3517 (for-each delete-file '("dot-emacs.el" "Makefile"))
3518 (install-file "6.945-config/mit-scheme-doc.el" ".")
3519 (delete-file-recursively "6.945-config")
3520 #t))
3521 (file-name (string-append name "-" version ".tar.bz2"))
3522 (method url-fetch)
3523 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
3524 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
3525 (sha256
3526 (base32
3527 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
3528 (build-system emacs-build-system)
3529 (inputs `(("mit-scheme" ,mit-scheme)))
3530 (arguments
3531 `(#:phases
3532 (modify-phases %standard-phases
3533 (add-after 'unpack 'configure-doc
3534 (lambda* (#:key inputs #:allow-other-keys)
3535 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
3536 (doc-dir (string-append mit-scheme-dir "/share/doc/"
3537 "mit-scheme-"
3538 ,(package-version mit-scheme))))
3539 (substitute* "mit-scheme-doc.el"
3540 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
3541 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
3542 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
3543 (synopsis "MIT-Scheme documentation lookup for Emacs")
3544 (description
3545 "This package provides a set of Emacs functions to search definitions of
3546 identifiers in the MIT-Scheme documentation.")
3547 (license license:gpl2+)))
3548
3549 (define-public emacs-constants
3550 (package
3551 (name "emacs-constants")
3552 (version "2.6")
3553 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
3554 (source
3555 (origin
3556 (method git-fetch)
3557 (uri (git-reference
3558 (url "https://github.com/fedeinthemix/emacs-constants.git")
3559 (commit (string-append "v" version))))
3560 (file-name (git-file-name name version))
3561 (sha256
3562 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
3563 (build-system emacs-build-system)
3564 (synopsis "Enter definition of constants into an Emacs buffer")
3565 (description
3566 "This package provides functions for inserting the definition of natural
3567 constants and units into an Emacs buffer.")
3568 (license license:gpl2+)))
3569
3570 (define-public emacs-tagedit
3571 (package
3572 (name "emacs-tagedit")
3573 (version "1.4.0")
3574 (source
3575 (origin
3576 (method git-fetch)
3577 (uri (git-reference
3578 (url "https://github.com/magnars/tagedit.git")
3579 (commit version)))
3580 (file-name (git-file-name name version))
3581 (sha256
3582 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
3583 (build-system emacs-build-system)
3584 (propagated-inputs
3585 `(("emacs-s" ,emacs-s)
3586 ("emacs-dash" ,emacs-dash)))
3587 (home-page "https://github.com/magnars/tagedit")
3588 (synopsis "Some paredit-like features for html-mode")
3589 (description
3590 "This package provides a collection of paredit-like functions for editing
3591 in @code{html-mode}.")
3592 (license license:gpl3+)))
3593
3594 (define-public emacs-slime
3595 (package
3596 (name "emacs-slime")
3597 (version "2.23")
3598 (source
3599 (origin
3600 (method git-fetch)
3601 (uri (git-reference
3602 (url "https://github.com/slime/slime.git")
3603 (commit (string-append "v" version))))
3604 (file-name (git-file-name name version))
3605 (sha256
3606 (base32 "0i637n0ragpbj39hqx65nx5k99xf0464c4w6w1qpzykm6z42grky"))))
3607 (build-system emacs-build-system)
3608 (native-inputs
3609 `(("texinfo" ,texinfo)))
3610 (arguments
3611 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3612 #:exclude '("^slime-tests.el" "^contrib/test/"
3613 "^contrib/Makefile$" "^contrib/README.md$")
3614 #:phases
3615 (modify-phases %standard-phases
3616 (add-after 'unpack 'make-git-checkout-writable
3617 (lambda _
3618 (for-each make-file-writable (find-files "."))
3619 #t))
3620 (add-before 'install 'configure
3621 (lambda* _
3622 (emacs-substitute-variables "slime.el"
3623 ("inferior-lisp-program" "sbcl"))
3624 #t))
3625 (add-before 'install 'install-doc
3626 (lambda* (#:key outputs #:allow-other-keys)
3627 (let* ((out (assoc-ref outputs "out"))
3628 (info-dir (string-append out "/share/info"))
3629 (doc-dir (string-append out "/share/doc/"
3630 ,name "-" ,version))
3631 (doc-files '("doc/slime-refcard.pdf"
3632 "README.md" "NEWS" "PROBLEMS"
3633 "CONTRIBUTING.md")))
3634 (with-directory-excursion "doc"
3635 (substitute* "Makefile"
3636 (("infodir=/usr/local/info")
3637 (string-append "infodir=" info-dir)))
3638 (invoke "make" "html/index.html")
3639 (invoke "make" "slime.info")
3640 (install-file "slime.info" info-dir)
3641 (copy-recursively "html" (string-append doc-dir "/html")))
3642 (for-each (lambda (f)
3643 (install-file f doc-dir)
3644 (delete-file f))
3645 doc-files)
3646 (delete-file-recursively "doc")
3647 #t))))))
3648 (home-page "https://github.com/slime/slime")
3649 (synopsis "Superior Lisp Interaction Mode for Emacs")
3650 (description
3651 "SLIME extends Emacs with support for interactive programming in
3652 Common Lisp. The features are centered around @command{slime-mode},
3653 an Emacs minor mode that complements the standard @command{lisp-mode}.
3654 While lisp-mode supports editing Lisp source files, @command{slime-mode}
3655 adds support for interacting with a running Common Lisp process
3656 for compilation, debugging, documentation lookup, and so on.")
3657 (license (list license:gpl2+ license:public-domain))))
3658
3659 (define-public emacs-popup
3660 (package
3661 (name "emacs-popup")
3662 (version "0.5.3")
3663 (source
3664 (origin
3665 (method git-fetch)
3666 (uri (git-reference
3667 (url "https://github.com/auto-complete/popup-el.git")
3668 (commit (string-append "v" version))))
3669 (file-name (git-file-name name version))
3670 (sha256
3671 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
3672 (build-system emacs-build-system)
3673 (home-page "https://github.com/auto-complete/popup-el")
3674 (synopsis "Visual Popup User Interface for Emacs")
3675 (description
3676 "Popup.el is a visual popup user interface library for Emacs.
3677 This provides a basic API and common UI widgets such as popup tooltips
3678 and popup menus.")
3679 (license license:gpl3+)))
3680
3681 (define-public emacs-python-environment
3682 (package
3683 (name "emacs-python-environment")
3684 (version "0.0.2")
3685 (source
3686 (origin
3687 (method git-fetch)
3688 (uri (git-reference
3689 (url "https://github.com/tkf/emacs-python-environment/")
3690 (commit version)))
3691 (file-name (git-file-name name version))
3692 (sha256
3693 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
3694 (build-system emacs-build-system)
3695 (propagated-inputs
3696 `(("emacs-deferred" ,emacs-deferred)))
3697 (home-page "https://github.com/tkf/emacs-python-environment")
3698 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
3699 (description
3700 "This package permits automated installation of tools written in Python.")
3701 (license license:gpl3+)))
3702
3703 (define-public emacs-jedi
3704 (package
3705 (name "emacs-jedi")
3706 (version "0.2.7")
3707 (source (origin
3708 (method git-fetch)
3709 (uri (git-reference
3710 (url "https://github.com/tkf/emacs-jedi/")
3711 (commit (string-append "v" version))))
3712 (file-name (git-file-name name version))
3713 (sha256
3714 (base32
3715 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
3716 (build-system emacs-build-system)
3717 (native-inputs
3718 `(("emacs-mocker" ,emacs-mocker)))
3719 (propagated-inputs
3720 `(("emacs-auto-complete" ,emacs-auto-complete)
3721 ("emacs-python-environment" ,emacs-python-environment)
3722 ("emacs-epc" ,emacs-epc)))
3723 (home-page "https://github.com/tkf/emacs-jedi")
3724 (synopsis "Provides Python completion in Emacs")
3725 (description
3726 "This package provides completion in Python buffers and also helps find
3727 the locations of docstrings, arguments, and functions.")
3728 (license license:gpl3+)))
3729
3730 (define-public emacs-company-jedi
3731 (package
3732 (name "emacs-company-jedi")
3733 (version "0.04")
3734 (source (origin
3735 (method git-fetch)
3736 (uri (git-reference
3737 (url "https://github.com/syohex/emacs-company-jedi")
3738 (commit version)))
3739 (file-name (git-file-name name version))
3740 (sha256
3741 (base32
3742 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
3743 (build-system emacs-build-system)
3744 (propagated-inputs
3745 `(("emacs-jedi" ,emacs-jedi)
3746 ("emacs-company" ,emacs-company)))
3747 (home-page "https://github.com/syohex/emacs-company-jedi")
3748 (synopsis "Provides Python completion in @code{company-mode}")
3749 (description
3750 "This package provides a Company backend for Python.")
3751 (license license:gpl3+)))
3752
3753 (define-public emacs-puppet-mode
3754 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
3755 (revision "1"))
3756 (package
3757 (name "emacs-puppet-mode")
3758 ;; The last release, 0.3 was several years ago, and there have been many
3759 ;; commits since
3760 (version (git-version "0.3" revision commit))
3761 (source
3762 (origin
3763 (method url-fetch)
3764 (uri (string-append
3765 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
3766 commit "/puppet-mode.el"))
3767 (sha256
3768 (base32
3769 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
3770 (build-system emacs-build-system)
3771 (home-page "https://github.com/voxpupuli/puppet-mode")
3772 (synopsis "Emacs major mode for the Puppet configuration language")
3773 (description
3774 "This package provides support for the Puppet configuration language,
3775 including syntax highlighting, indentation of expressions and statements,
3776 linting of manifests and integration with Puppet Debugger.")
3777 ;; Also incorporates work covered by the Apache License, Version 2.0
3778 (license license:gpl3+))))
3779
3780 (define-public emacs-god-mode
3781 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
3782 (revision "1"))
3783 (package
3784 (name "emacs-god-mode")
3785 (version (string-append "20151005.925."
3786 revision "-" (string-take commit 9)))
3787 (source
3788 (origin
3789 (method git-fetch)
3790 (uri (git-reference
3791 (url "https://github.com/chrisdone/god-mode.git")
3792 (commit commit)))
3793 (file-name (git-file-name name version))
3794 (sha256
3795 (base32
3796 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
3797 (build-system emacs-build-system)
3798 (home-page "https://github.com/chrisdone/god-mode")
3799 (synopsis "Minor mode for entering commands without modifier keys")
3800 (description
3801 "This package provides a global minor mode for entering Emacs commands
3802 without modifier keys. It's similar to Vim's separation of commands and
3803 insertion mode. When enabled all keys are implicitly prefixed with
3804 @samp{C-} (among other helpful shortcuts).")
3805 (license license:gpl3+))))
3806
3807 (define-public emacs-jinja2-mode
3808 (package
3809 (name "emacs-jinja2-mode")
3810 (version "0.2")
3811 (source
3812 (origin
3813 (method git-fetch)
3814 (uri (git-reference
3815 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
3816 (commit (string-append "v" version))))
3817 (file-name (git-file-name name version))
3818 (sha256
3819 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
3820 (build-system emacs-build-system)
3821 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
3822 (synopsis "Major mode for jinja2")
3823 (description
3824 "Emacs major mode for jinja2 with: syntax highlighting,
3825 sgml/html integration, and indentation (working with sgml).")
3826 (license license:gpl3+)))
3827
3828 (define-public emacs-company-cabal
3829 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
3830 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
3831 (revision "1"))
3832 (package
3833 (name "emacs-company-cabal")
3834 (version (git-version "0.3.0" revision commit))
3835 (source (origin
3836 (method git-fetch)
3837 (uri (git-reference
3838 (url "https://github.com/iquiw/company-cabal/")
3839 (commit commit)))
3840 (file-name (git-file-name name version))
3841 (sha256
3842 (base32
3843 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
3844 (build-system emacs-build-system)
3845 (propagated-inputs
3846 `(("emacs-company" ,emacs-company)))
3847 (home-page "https://github.com/iquiw/company-cabal/")
3848 (synopsis "Company completion for Haskell Cabal files")
3849 (description
3850 "This package allows for completion of field names, section names,
3851 field values, and more within @code{haskell-cabal-mode}.")
3852 (license license:gpl3+))))
3853
3854 (define-public emacs-rfcview
3855 (package
3856 (name "emacs-rfcview")
3857 (version "0.13")
3858 (home-page "http://www.loveshack.ukfsn.org/emacs")
3859 (source (origin
3860 (method url-fetch)
3861 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
3862 (sha256
3863 (base32
3864 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
3865 (build-system emacs-build-system)
3866 (synopsis "Prettify Request for Comments (RFC) documents")
3867 (description "The Internet Engineering Task Force (IETF) and the Internet
3868 Society (ISOC) publish various Internet-related protocols and specifications
3869 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
3870 documents. RFCs and STDs are published in a simple text form. This package
3871 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
3872 read these documents in Emacs. It prettifies the text and adds
3873 hyperlinks/menus for easier navigation. It also provides functions for
3874 browsing the index of RFC documents and fetching them from remote servers or
3875 local directories.")
3876 (license license:gpl3+)))
3877
3878 (define-public emacs-ffap-rfc-space
3879 (package
3880 (name "emacs-ffap-rfc-space")
3881 (version "12")
3882 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
3883 (source (origin
3884 (method url-fetch)
3885 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
3886 (sha256
3887 (base32
3888 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
3889 (build-system emacs-build-system)
3890 (synopsis "Make ffap recognize an RFC with a space before its number")
3891 (description "The Internet Engineering Task Force (IETF) and the
3892 Internet Society (ISOC) publish various Internet-related protocols and
3893 specifications as \"Request for Comments\" (RFC) documents. The
3894 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
3895 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
3896 and load the appropriate RFC from a remote server. However, it fails
3897 to recognize a name like \"RFC 1234\". This package enhances ffap so
3898 that it correctly finds RFCs even when a space appears before the
3899 number.")
3900 (license license:gpl3+)))
3901
3902 (define-public emacs-org-bullets
3903 (package
3904 (name "emacs-org-bullets")
3905 (version "0.2.4")
3906 (source
3907 (origin
3908 (method git-fetch)
3909 (uri (git-reference
3910 (url "https://github.com/sabof/org-bullets.git")
3911 (commit version)))
3912 (file-name (git-file-name name version))
3913 (sha256
3914 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
3915 (build-system emacs-build-system)
3916 (home-page "https://github.com/sabof/org-bullets")
3917 (synopsis "Show bullets in org-mode as UTF-8 characters")
3918 (description
3919 "This package provides an Emacs minor mode causing bullets in
3920 @code{org-mode} to be rendered as UTF-8 characters.")
3921 (license license:gpl3+)))
3922
3923 (define-public emacs-org-pomodoro
3924 (package
3925 (name "emacs-org-pomodoro")
3926 (version "2.1.0")
3927 (source
3928 (origin
3929 (method git-fetch)
3930 (uri (git-reference
3931 (url "https://github.com/lolownia/org-pomodoro.git")
3932 (commit version)))
3933 (file-name (git-file-name name version))
3934 (sha256
3935 (base32 "0r5shgikm34d66i2hblyknbblpg92lb2zc9x4bcb28xkh7m9d0xv"))))
3936 (build-system emacs-build-system)
3937 (propagated-inputs
3938 `(("emacs-alert" ,emacs-alert)))
3939 (home-page "https://github.com/lolownia/org-pomodoro")
3940 (synopsis "Pomodoro technique for org-mode")
3941 (description "@code{emacs-org-pomodoro} adds very basic support for
3942 Pomodoro technique in Emacs org-mode.
3943
3944 Run @code{M-x org-pomodoro} for the task at point or select one of the
3945 last tasks that you clocked time for. Each clocked-in pomodoro starts
3946 a timer of 25 minutes and after each pomodoro a break timer of 5
3947 minutes is started automatically. Every 4 breaks a long break is
3948 started with 20 minutes. All values are customizable.")
3949 (license license:gpl3+)))
3950
3951 (define-public emacs-org-trello
3952 (package
3953 (name "emacs-org-trello")
3954 (version "0.8.0")
3955 (source
3956 (origin
3957 (method git-fetch)
3958 (uri (git-reference
3959 (url "https://github.com/org-trello/org-trello.git")
3960 (commit version)))
3961 (file-name (git-file-name name version))
3962 (sha256
3963 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
3964 (build-system emacs-build-system)
3965 (propagated-inputs
3966 `(("emacs-dash" ,emacs-dash)
3967 ("emacs-deferred" ,emacs-deferred)
3968 ("emacs-f" ,emacs-f)
3969 ("emacs-helm" ,emacs-helm)
3970 ("emacs-request" ,emacs-request)
3971 ("emacs-s" ,emacs-s)))
3972 (home-page "https://org-trello.github.io")
3973 (synopsis "Emacs minor mode for interacting with Trello")
3974 (description "This package provides an Emacs minor mode to extend
3975 @code{org-mode} with Trello abilities. Trello is an online project
3976 organizer.")
3977 (license license:gpl3+)))
3978
3979 (define-public emacs-company-flow
3980 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
3981 (revision "1"))
3982 (package
3983 (name "emacs-company-flow")
3984 (version (git-version "0.1.0" revision commit))
3985 (source (origin
3986 (method git-fetch)
3987 (uri (git-reference
3988 (url "https://github.com/aaronjensen/company-flow/")
3989 (commit commit)))
3990 (file-name (git-file-name name version))
3991 (sha256
3992 (base32
3993 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
3994 (build-system emacs-build-system)
3995 (propagated-inputs
3996 `(("emacs-company" ,emacs-company)
3997 ("emacs-dash" ,emacs-dash)))
3998 (home-page "https://github.com/aaronjensen/company-flow/")
3999 (synopsis "Flow backend for @code{company-mode}")
4000 (description
4001 "This package provides completion for JavaScript files utilizing Flow.")
4002 (license license:gpl3+))))
4003
4004 (define-public emacs-atom-one-dark-theme
4005 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4006 (revision "0"))
4007 (package
4008 (name "emacs-atom-one-dark-theme")
4009 (version (git-version "0.4.0" revision commit))
4010 (source (origin
4011 (method git-fetch)
4012 (uri (git-reference
4013 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4014 (commit commit)))
4015 (sha256
4016 (base32
4017 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4018 (file-name (git-file-name name version))))
4019 (build-system emacs-build-system)
4020 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4021 (synopsis "Atom One Dark color theme for Emacs")
4022 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4023 (license license:gpl3+))))
4024
4025 (define-public emacs-zenburn-theme
4026 (package
4027 (name "emacs-zenburn-theme")
4028 (version "2.6")
4029 (source
4030 (origin
4031 (method git-fetch)
4032 (uri (git-reference
4033 (url "https://github.com/bbatsov/zenburn-emacs.git")
4034 (commit (string-append "v" version))))
4035 (file-name (git-file-name name version))
4036 (sha256
4037 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4038 (build-system emacs-build-system)
4039 (home-page "https://github.com/bbatsov/zenburn-emacs")
4040 (synopsis "Low contrast color theme for Emacs")
4041 (description
4042 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4043 It is built on top of the custom theme support in Emacs 24 or later.")
4044 (license license:gpl3+)))
4045
4046 (define-public emacs-solarized-theme
4047 (package
4048 (name "emacs-solarized-theme")
4049 (version "1.2.2")
4050 (source (origin
4051 (method url-fetch)
4052 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
4053 "archive/v" version ".tar.gz"))
4054 (file-name (string-append name "-" version ".tar.gz"))
4055 (sha256
4056 (base32
4057 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
4058 (build-system emacs-build-system)
4059 (propagated-inputs
4060 `(("emacs-dash" ,emacs-dash)))
4061 (home-page "https://github.com/bbatsov/solarized-emacs")
4062 (synopsis "Port of the Solarized theme for Emacs")
4063 (description
4064 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4065 package provides a light and a dark variant.")
4066 (license license:gpl3+)))
4067
4068 (define-public emacs-ahungry-theme
4069 (package
4070 (name "emacs-ahungry-theme")
4071 (version "1.10.0")
4072 (source
4073 (origin (method url-fetch)
4074 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4075 version ".tar"))
4076 (sha256
4077 (base32
4078 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4079 (build-system emacs-build-system)
4080 (home-page "https://github.com/ahungry/color-theme-ahungry")
4081 (synopsis "Ahungry color theme for Emacs")
4082 (description "Ahungry theme for Emacs provides bright and bold colors.
4083 If you load it from a terminal, you will be able to make use of the
4084 transparent background. If you load it from a GUI, it will default to a
4085 dark background.")
4086 (license license:gpl3+)))
4087
4088 (define-public emacs-gruvbox-theme
4089 (package
4090 (name "emacs-gruvbox-theme")
4091 (version "1.28.0")
4092 (source (origin
4093 (method git-fetch)
4094 (uri (git-reference
4095 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4096 (commit version)))
4097 (file-name (git-file-name name version))
4098 (sha256
4099 (base32
4100 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4101 (build-system emacs-build-system)
4102 (propagated-inputs
4103 `(("emacs-autothemer" ,emacs-autothemer)))
4104 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4105 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4106 (description
4107 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4108
4109 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4110 mode switching in the way of solarized. The main focus when developing gruvbox
4111 is to keep colors easily distinguishable, contrast enough and still pleasant
4112 for the eyes.")
4113 (license license:expat))) ; MIT license
4114
4115 (define-public emacs-2048-game
4116 (package
4117 (name "emacs-2048-game")
4118 (version "20151026.1233")
4119 (source
4120 (origin
4121 (method url-fetch)
4122 (uri (string-append "https://melpa.org/packages/2048-game-"
4123 version ".el"))
4124 (sha256
4125 (base32
4126 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4127 (build-system emacs-build-system)
4128 (home-page "https://bitbucket.org/zck/2048.el")
4129 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4130 (description
4131 "This program is an implementation of 2048 for Emacs.
4132 The goal of this game is to create a tile with value 2048. The size of the
4133 board and goal value can be customized.")
4134 (license license:gpl3+)))
4135
4136 (define-public emacs-base16-theme
4137 (package
4138 (name "emacs-base16-theme")
4139 (version "2.1")
4140 (source
4141 (origin
4142 (method url-fetch)
4143 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
4144 version ".tar"))
4145 (sha256
4146 (base32
4147 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
4148 (build-system emacs-build-system)
4149 (home-page "https://github.com/belak/base16-emacs")
4150 (synopsis "Base16 color themes for Emacs")
4151 (description
4152 "Base16 provides carefully chosen syntax highlighting and a default set
4153 of sixteen colors suitable for a wide range of applications. Base16 is not a
4154 single theme but a set of guidelines with numerous implementations.")
4155 (license license:expat)))
4156
4157 (define-public emacs-solaire-mode
4158 (package
4159 (name "emacs-solaire-mode")
4160 (version "1.0.9")
4161 (source
4162 (origin
4163 (method git-fetch)
4164 (uri (git-reference
4165 (url "https://github.com/hlissner/emacs-solaire-mode.git")
4166 (commit (string-append "v" version))))
4167 (file-name (git-file-name name version))
4168 (sha256
4169 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
4170 (build-system emacs-build-system)
4171 (home-page "https://github.com/hlissner/emacs-solaire-mode")
4172 (synopsis "Change background of file-visiting buffers in Emacs")
4173 (description
4174 "@code{solaire-mode} is inspired by editors which visually distinguish
4175 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
4176 background of file-visiting buffers (and certain aspects of the UI) to make
4177 them easier to distinguish from other, less important buffers.")
4178 (license license:expat)))
4179
4180 (define-public emacs-prescient
4181 (package
4182 (name "emacs-prescient")
4183 (version "3.1")
4184 (source (origin
4185 (method git-fetch)
4186 (uri (git-reference
4187 (url "https://github.com/raxod502/prescient.el/")
4188 (commit (string-append "v" version))))
4189 (file-name (git-file-name name version))
4190 (sha256
4191 (base32
4192 "1cdjvlwlvxxazz7hlxgvdp0pznvj1gzqa2r6k4im0cpdrnnng6j6"))))
4193 (build-system emacs-build-system)
4194 (propagated-inputs
4195 `(("emacs-company" ,emacs-company)
4196 ("emacs-ivy" ,emacs-ivy)))
4197 (home-page "https://github.com/raxod502/prescient.el/")
4198 (synopsis "Library that sorts and filters lists of candidates")
4199 (description
4200 "This package provides a library for sorting and filtering, as well as
4201 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
4202 library.")
4203 (license license:gpl3+)))
4204
4205 (define-public emacs-smartparens
4206 (package
4207 (name "emacs-smartparens")
4208 (version "1.11.0")
4209 (source
4210 (origin
4211 (method git-fetch)
4212 (uri (git-reference
4213 (url "https://github.com/Fuco1/smartparens.git")
4214 (commit version)))
4215 (file-name (git-file-name name version))
4216 (sha256
4217 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
4218 (build-system emacs-build-system)
4219 (propagated-inputs
4220 `(("emacs-dash" ,emacs-dash)
4221 ("emacs-markdown-mode" ,emacs-markdown-mode)))
4222 (home-page "https://github.com/Fuco1/smartparens")
4223 (synopsis "Paredit-like insertion, wrapping and navigation with user
4224 defined pairs")
4225 (description
4226 "Smartparens is a minor mode for Emacs that deals with parens pairs
4227 and tries to be smart about it. It started as a unification effort to
4228 combine functionality of several existing packages in a single,
4229 compatible and extensible way to deal with parentheses, delimiters, tags
4230 and the like. Some of these packages include autopair, textmate,
4231 wrap-region, electric-pair-mode, paredit and others. With the basic
4232 features found in other packages it also brings many improvements as
4233 well as completely new features.")
4234 (license license:gpl3+)))
4235
4236 (define-public emacs-highlight-symbol
4237 ;; We prefer a more recent commit that provides an option to squelch
4238 ;; echo-area alerts that can drown out useful information like eldoc
4239 ;; messages.
4240 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
4241 (version "1.3")
4242 (revision "1"))
4243 (package
4244 (name "emacs-highlight-symbol")
4245 (version (git-version version revision commit))
4246 (source
4247 (origin
4248 (method git-fetch)
4249 (uri (git-reference
4250 (url "https://github.com/nschum/highlight-symbol.el.git")
4251 (commit commit)))
4252 (file-name (git-file-name name version))
4253 (sha256
4254 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
4255 (build-system emacs-build-system)
4256 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
4257 (synopsis "Automatic and manual symbol highlighting for Emacs")
4258 (description
4259 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
4260 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
4261 the symbol at point highlighted.
4262
4263 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
4264 @code{highlight-symbol-next-in-defun} and
4265 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
4266 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
4267 bindings @code{M-p} and @code{M-p} for navigation. When
4268 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
4269 regardless of @code{highlight-symbol-idle-delay}.
4270
4271 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
4272 (license license:gpl2+))))
4273
4274 (define-public emacs-hl-todo
4275 (package
4276 (name "emacs-hl-todo")
4277 (version "3.0.0")
4278 (source (origin
4279 (method git-fetch)
4280 (uri (git-reference
4281 (url "https://github.com/tarsius/hl-todo")
4282 (commit (string-append "v" version))))
4283 (file-name (git-file-name name version))
4284 (sha256
4285 (base32
4286 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
4287 (build-system emacs-build-system)
4288 (home-page "https://github.com/tarsius/hl-todo")
4289 (synopsis "Emacs mode to highlight TODO and similar keywords")
4290 (description
4291 "This package provides an Emacs mode to highlight TODO and similar
4292 keywords in comments and strings. This package also provides commands for
4293 moving to the next or previous keyword and to invoke @code{occur} with a
4294 regexp that matches all known keywords.")
4295 (license license:gpl3+)))
4296
4297 (define-public emacs-perspective
4298 (package
4299 (name "emacs-perspective")
4300 (version "2.2")
4301 (source
4302 (origin
4303 (method git-fetch)
4304 (uri (git-reference
4305 (url "https://github.com/nex3/perspective-el.git")
4306 (commit version)))
4307 (file-name (git-file-name name version))
4308 (sha256
4309 (base32
4310 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
4311 (build-system emacs-build-system)
4312 (home-page "https://github.com/nex3/perspective-el")
4313 (synopsis "Switch between named \"perspectives\"")
4314 (description
4315 "This package provides tagged workspaces in Emacs, similar to workspaces in
4316 windows managers such as Awesome and XMonad. @code{perspective.el} provides
4317 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
4318 perspective is composed of a window configuration and a set of buffers.
4319 Switching to a perspective activates its window configuration, and when in a
4320 perspective only its buffers are available by default.")
4321 ;; This package is released under the same license as Emacs (GPLv3+) or
4322 ;; the Expat license.
4323 (license license:gpl3+)))
4324
4325 (define-public emacs-test-simple
4326 (package
4327 (name "emacs-test-simple")
4328 (version "1.3.0")
4329 (source
4330 (origin
4331 (method url-fetch)
4332 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
4333 version ".el"))
4334 (sha256
4335 (base32
4336 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
4337 (build-system emacs-build-system)
4338 (home-page "https://github.com/rocky/emacs-test-simple")
4339 (synopsis "Simple unit test framework for Emacs Lisp")
4340 (description
4341 "Test Simple is a simple unit test framework for Emacs Lisp. It
4342 alleviates the need for context macros, enclosing specifications or required
4343 test tags. It supports both interactive and non-interactive use.")
4344 (license license:gpl3+)))
4345
4346 (define-public emacs-load-relative
4347 (package
4348 (name "emacs-load-relative")
4349 (version "1.3")
4350 (source
4351 (origin
4352 (method url-fetch)
4353 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
4354 version ".el"))
4355 (sha256
4356 (base32
4357 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
4358 (build-system emacs-build-system)
4359 (home-page "http://github.com/rocky/emacs-load-relative")
4360 (synopsis "Emacs Lisp relative file loading related functions")
4361 (description
4362 "Provides functions which facilitate writing multi-file Emacs packages
4363 and running from the source tree without having to \"install\" code or fiddle
4364 with @{load-path}.
4365
4366 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
4367 another (presumably currently running) Emacs Lisp file.")
4368 (license license:gpl3+)))
4369
4370 (define-public emacs-loc-changes
4371 (package
4372 (name "emacs-loc-changes")
4373 (version "1.2")
4374 (source
4375 (origin
4376 (method url-fetch)
4377 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
4378 version ".el"))
4379 (sha256
4380 (base32
4381 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
4382 (build-system emacs-build-system)
4383 (home-page "https://github.com/rocky/emacs-loc-changes")
4384 (synopsis "Keeps track of positions even after buffer changes")
4385 (description
4386 "This Emacs package provides a mean to track important buffer positions
4387 after buffer changes.")
4388 (license license:gpl3+)))
4389
4390 (define-public emacs-realgud
4391 (package
4392 (name "emacs-realgud")
4393 (version "1.5.0")
4394 (source
4395 (origin
4396 (method git-fetch)
4397 (uri (git-reference
4398 (url "https://github.com/realgud/realgud/")
4399 (commit version)))
4400 (sha256
4401 (base32
4402 "0xnick9016wxrgi8v0lycvxhyz8l2k4nfvdpjc5yq476vwrjfzbz"))
4403 (file-name (git-file-name name version))))
4404 (build-system emacs-build-system)
4405 (arguments
4406 `(#:tests? #t
4407 #:phases
4408 (modify-phases %standard-phases
4409 (add-after 'set-emacs-load-path 'fix-autogen-script
4410 (lambda _
4411 (substitute* "autogen.sh"
4412 (("./configure") "sh configure"))))
4413 (add-after 'fix-autogen-script 'autogen
4414 (lambda _
4415 (setenv "CONFIG_SHELL" "sh")
4416 (invoke "sh" "autogen.sh")))
4417 (add-after 'fix-autogen-script 'set-home
4418 (lambda _
4419 (setenv "HOME" (getenv "TMPDIR"))))
4420 (add-before 'patch-el-files 'remove-realgud-pkg.el
4421 (lambda _
4422 ;; FIXME: `patch-el-files' crashes on this file with error:
4423 ;; unable to locate "bashdb".
4424 (delete-file "./test/test-regexp-bashdb.el"))))
4425 #:include (cons* ".*\\.el$" %default-include)))
4426 (native-inputs
4427 `(("autoconf" ,autoconf)
4428 ("automake" ,automake)
4429 ("emacs-test-simple" ,emacs-test-simple)))
4430 (propagated-inputs
4431 `(("emacs-load-relative" ,emacs-load-relative)
4432 ("emacs-loc-changes" ,emacs-loc-changes)))
4433 (home-page "https://github.com/realgud/realgud/")
4434 (synopsis
4435 "Modular front-end for interacting with external debuggers")
4436 (description
4437 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
4438 with external debuggers. It integrates various debuggers such as gdb, pdb,
4439 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
4440 sources. Unlike GUD, it also supports running multiple debug sessions in
4441 parallel.")
4442 (license license:gpl3+)))
4443
4444 (define-public emacs-request
4445 (package
4446 (name "emacs-request")
4447 (version "0.3.0")
4448 (source (origin
4449 (method git-fetch)
4450 (uri (git-reference
4451 (url "https://github.com/tkf/emacs-request.git")
4452 (commit (string-append "v" version))))
4453 (file-name (git-file-name name version))
4454 (sha256
4455 (base32
4456 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
4457 (build-system emacs-build-system)
4458 (propagated-inputs
4459 `(("emacs-deferred" ,emacs-deferred)))
4460 (home-page "https://github.com/tkf/emacs-request")
4461 (synopsis "Package for speaking HTTP in Emacs Lisp")
4462 (description "This package provides a HTTP request library with multiple
4463 backends. It supports url.el which is shipped with Emacs and the curl command
4464 line program.")
4465 (license license:gpl3+)))
4466
4467 (define-public emacs-rudel
4468 (package
4469 (name "emacs-rudel")
4470 (version "0.3.1")
4471 (source
4472 (origin
4473 (method url-fetch)
4474 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
4475 version ".tar"))
4476 (sha256
4477 (base32
4478 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
4479 (build-system emacs-build-system)
4480 (home-page "http://rudel.sourceforge.net/")
4481 (synopsis "Collaborative editing framework")
4482 (description
4483 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
4484 is to share buffers with other users in order to edit the contents of those
4485 buffers collaboratively. Rudel supports multiple backends to enable
4486 communication with other collaborative editors using different protocols,
4487 though currently Obby (for use with the Gobby editor) is the only
4488 fully-functional one.")
4489 (license license:gpl3+)))
4490
4491 (define-public emacs-hydra
4492 (package
4493 (name "emacs-hydra")
4494 (version "0.14.0")
4495 (source
4496 (origin
4497 (method git-fetch)
4498 (uri (git-reference
4499 (url "https://github.com/abo-abo/hydra")
4500 (commit version)))
4501 (file-name (git-file-name name version))
4502 (sha256
4503 (base32
4504 "0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"))))
4505 (build-system emacs-build-system)
4506 (home-page "https://github.com/abo-abo/hydra")
4507 (synopsis "Make Emacs bindings that stick around")
4508 (description
4509 "This package can be used to tie related commands into a family of short
4510 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
4511 the prefixed binding), all the heads can be called in succession with only a
4512 short extension. Any binding that isn't the Hydra's head vanquishes the
4513 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
4514 serve its original purpose, calling the command assigned to it. This makes
4515 the Hydra very seamless; it's like a minor mode that disables itself
4516 automatically.")
4517 (license license:gpl3+)))
4518
4519 (define-public emacs-ivy
4520 (package
4521 (name "emacs-ivy")
4522 (version "0.11.0")
4523 (source
4524 (origin
4525 (method git-fetch)
4526 (uri (git-reference
4527 (url "https://github.com/abo-abo/swiper.git")
4528 (commit version)))
4529 (file-name (git-file-name name version))
4530 (sha256
4531 (base32
4532 "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
4533 (build-system emacs-build-system)
4534 (arguments
4535 `(#:phases
4536 (modify-phases %standard-phases
4537 (add-after 'install 'install-doc
4538 (lambda* (#:key outputs #:allow-other-keys)
4539 (let* ((out (assoc-ref outputs "out"))
4540 (info (string-append out "/share/info")))
4541 (with-directory-excursion "doc"
4542 (invoke "makeinfo" "ivy.texi")
4543 (install-file "ivy.info" info)
4544 #t)))))))
4545 (propagated-inputs
4546 `(("emacs-hydra" ,emacs-hydra)))
4547 (native-inputs
4548 `(("texinfo" ,texinfo)))
4549 (home-page "http://oremacs.com/swiper/")
4550 (synopsis "Incremental vertical completion for Emacs")
4551 (description
4552 "This package provides @code{ivy-read} as an alternative to
4553 @code{completing-read} and similar functions. No attempt is made to determine
4554 the best candidate. Instead, the user can navigate candidates with
4555 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
4556 splitting the input text by spaces and re-building it into a regular
4557 expression.")
4558 (license license:gpl3+)))
4559
4560 (define-public emacs-ivy-pass
4561 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
4562 (revision "1"))
4563 (package
4564 (name "emacs-ivy-pass")
4565 (version (git-version "0.1" revision commit))
4566 (source
4567 (origin
4568 (method git-fetch)
4569 (uri (git-reference
4570 (url "https://github.com/ecraven/ivy-pass.git")
4571 (commit commit)))
4572 (file-name (git-file-name name version))
4573 (sha256
4574 (base32
4575 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
4576 (build-system emacs-build-system)
4577 (propagated-inputs
4578 `(("emacs-ivy" ,emacs-ivy)
4579 ("emacs-password-store" ,emacs-password-store)
4580 ("password-store" ,password-store)))
4581 (home-page "https://github.com/ecraven/ivy-pass")
4582 (synopsis "Ivy interface for password store (pass)")
4583 (description "This package provides an Ivy interface for working with
4584 the password store @code{pass}.")
4585 (license license:gpl3))))
4586
4587 (define-public emacs-ivy-yasnippet
4588 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
4589 (revision "2"))
4590 (package
4591 (name "emacs-ivy-yasnippet")
4592 (version (git-version "0.1" revision commit))
4593 (source
4594 (origin
4595 (method git-fetch)
4596 (uri (git-reference
4597 (url "https://github.com/mkcms/ivy-yasnippet.git")
4598 (commit commit)))
4599 (file-name (git-file-name name version))
4600 (sha256
4601 (base32
4602 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
4603 (build-system emacs-build-system)
4604 (propagated-inputs
4605 `(("emacs-ivy" ,emacs-ivy)
4606 ("emacs-yasnippet" ,emacs-yasnippet)
4607 ("emacs-dash" ,emacs-dash)))
4608 (home-page "https://github.com/mkcms/ivy-yasnippet")
4609 (synopsis "Preview @code{yasnippets} with @code{ivy}")
4610 (description "This package allows you to select @code{yasnippet}
4611 snippets using @code{ivy} completion. When current selection changes in the
4612 minibuffer, the snippet contents are temporarily expanded in the buffer. To
4613 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
4614 @code{yas-minor-mode} first).")
4615 (license license:gpl3+))))
4616
4617 (define-public emacs-ivy-rich
4618 ;; The latest release version has a small mistake that has since been fixed,
4619 ;; so we use a more recent commit.
4620 (let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08")
4621 (version "0.1.4")
4622 (revision "1"))
4623 (package
4624 (name "emacs-ivy-rich")
4625 (version (git-version version revision commit))
4626 (source
4627 (origin
4628 (method git-fetch)
4629 (uri (git-reference
4630 (url "https://github.com/Yevgnen/ivy-rich.git")
4631 (commit commit)))
4632 (file-name (git-file-name name version))
4633 (sha256
4634 (base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219"))))
4635 (build-system emacs-build-system)
4636 (propagated-inputs
4637 `(("emacs-ivy" ,emacs-ivy)))
4638 (home-page "https://github.com/Yevgnen/ivy-rich")
4639 (synopsis "More friendly interface for @code{ivy}")
4640 (description
4641 "This package extends @code{ivy} by showing more information in the
4642 minibuffer for each candidate. It adds columns showing buffer modes, file
4643 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
4644 show icons as well.")
4645 (license license:gpl3+))))
4646
4647 (define-public emacs-avy
4648 (package
4649 (name "emacs-avy")
4650 (version "0.5.0")
4651 (source
4652 (origin
4653 (method git-fetch)
4654 (uri (git-reference
4655 (url "https://github.com/abo-abo/avy.git")
4656 (commit version)))
4657 (file-name (git-file-name name version))
4658 (sha256
4659 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
4660 (build-system emacs-build-system)
4661 (home-page "https://github.com/abo-abo/avy")
4662 (synopsis "Tree-based completion for Emacs")
4663 (description
4664 "This package provides a generic completion method based on building a
4665 balanced decision tree with each candidate being a leaf. To traverse the tree
4666 from the root to a desired leaf, typically a sequence of @code{read-key} can
4667 be used.
4668
4669 In order for @code{read-key} to make sense, the tree needs to be visualized
4670 appropriately, with a character at each branch node. So this completion
4671 method works only for things that you can see on your screen, all at once,
4672 such as the positions of characters, words, line beginnings, links, or
4673 windows.")
4674 (license license:gpl3+)))
4675
4676 (define-public emacs-ace-window
4677 (package
4678 (name "emacs-ace-window")
4679 (version "0.9.0")
4680 (source
4681 (origin
4682 (method git-fetch)
4683 (uri (git-reference
4684 (url "https://github.com/abo-abo/ace-window.git")
4685 (commit version)))
4686 (file-name (git-file-name name version))
4687 (sha256
4688 (base32 "07mcdzjmgrqdvjs94f2n5bkrf5vrq2fwzz256wbm3wzqxqkfy1q6"))))
4689 (build-system emacs-build-system)
4690 (propagated-inputs
4691 `(("emacs-avy" ,emacs-avy)))
4692 (home-page "https://github.com/abo-abo/ace-window")
4693 (synopsis "Quickly switch windows in Emacs")
4694 (description
4695 "@code{ace-window} is meant to replace @code{other-window}.
4696 In fact, when there are only two windows present, @code{other-window} is
4697 called. If there are more, each window will have its first character
4698 highlighted. Pressing that character will switch to that window.")
4699 (license license:gpl3+)))
4700
4701 (define-public emacs-iedit
4702 (package
4703 (name "emacs-iedit")
4704 (version "0.9.9.9")
4705 (source
4706 (origin
4707 (method git-fetch)
4708 (uri (git-reference
4709 (url "https://github.com/victorhge/iedit.git")
4710 (commit (string-append "v" version))))
4711 (file-name (git-file-name name version))
4712 (sha256
4713 (base32 "1pwkrm98vlpzsy5iwwfksdaz3zzyi7bvdf5fglhsn4ssf47p787g"))))
4714 (build-system emacs-build-system)
4715 (home-page "http://www.emacswiki.org/emacs/Iedit")
4716 (synopsis "Edit multiple regions in the same way simultaneously")
4717 (description
4718 "This package is an Emacs minor mode and allows you to edit one
4719 occurrence of some text in a buffer (possibly narrowed) or region, and
4720 simultaneously have other occurrences edited in the same way.
4721
4722 You can also use Iedit mode as a quick way to temporarily show only the buffer
4723 lines that match the current text being edited. This gives you the effect of
4724 a temporary @code{keep-lines} or @code{occur}.")
4725 (license license:gpl3+)))
4726
4727 (define-public emacs-zoutline
4728 (let ((commit "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699")
4729 (revision "0"))
4730 (package
4731 (name "emacs-zoutline")
4732 (version (git-version "0.1" revision commit))
4733 (home-page "https://github.com/abo-abo/zoutline")
4734 (source (origin
4735 (method git-fetch)
4736 (uri (git-reference (url home-page) (commit commit)))
4737 (sha256
4738 (base32
4739 "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8"))
4740 (file-name (git-file-name name version))))
4741 (build-system emacs-build-system)
4742 (synopsis "Simple outline library")
4743 (description
4744 "This library provides helpers for outlines. Outlines allow users to
4745 navigate code in a tree-like fashion.")
4746 (license license:gpl3+))))
4747
4748 (define-public emacs-lispy
4749 (package
4750 (name "emacs-lispy")
4751 (version "0.27.0")
4752 (home-page "https://github.com/abo-abo/lispy")
4753 (source (origin
4754 (method git-fetch)
4755 (uri (git-reference
4756 (url "https://github.com/abo-abo/lispy")
4757 (commit version)))
4758 (sha256
4759 (base32
4760 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
4761 (file-name (git-file-name name version))))
4762 (build-system emacs-build-system)
4763 (propagated-inputs
4764 `(("emacs-ace-window" ,emacs-ace-window)
4765 ("emacs-iedit" ,emacs-iedit)
4766 ("emacs-ivy" ,emacs-ivy)
4767 ("emacs-hydra" ,emacs-hydra)
4768 ("emacs-zoutline" ,emacs-zoutline)))
4769 (synopsis "Modal S-expression editing")
4770 (description
4771 "Due to the structure of Lisp syntax it's very rare for the programmer
4772 to want to insert characters right before \"(\" or right after \")\". Thus
4773 unprefixed printable characters can be used to call commands when the point is
4774 at one of these special locations. Lispy provides unprefixed keybindings for
4775 S-expression editing when point is at the beginning or end of an
4776 S-expression.")
4777 (license license:gpl3+)))
4778
4779 (define-public emacs-lispyville
4780 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
4781 (revision "1"))
4782 (package
4783 (name "emacs-lispyville")
4784 (version (git-version "0.1" revision commit))
4785 (home-page "https://github.com/noctuid/lispyville")
4786 (source (origin
4787 (method git-fetch)
4788 (uri (git-reference (url home-page) (commit commit)))
4789 (sha256
4790 (base32
4791 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
4792 (file-name (git-file-name name version))))
4793 (propagated-inputs
4794 `(("emacs-evil" ,emacs-evil)
4795 ("emacs-lispy" ,emacs-lispy)))
4796 (build-system emacs-build-system)
4797 (synopsis "Minor mode for integrating Evil with lispy")
4798 (description
4799 "LispyVille's main purpose is to provide a Lisp editing environment
4800 suited towards Evil users. It can serve as a minimal layer on top of lispy
4801 for better integration with Evil, but it does not require the use of lispy’s
4802 keybinding style. The provided commands allow for editing Lisp in normal
4803 state and will work even without lispy being enabled.")
4804 (license license:gpl3+))))
4805
4806 (define-public emacs-clojure-mode
4807 (package
4808 (name "emacs-clojure-mode")
4809 (version "5.6.1")
4810 (source
4811 (origin
4812 (method git-fetch)
4813 (uri (git-reference
4814 (url "https://github.com/clojure-emacs/clojure-mode.git")
4815 (commit version)))
4816 (file-name (git-file-name name version))
4817 (sha256
4818 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
4819 (build-system emacs-build-system)
4820 (native-inputs
4821 `(("emacs-dash" ,emacs-dash)
4822 ("emacs-s" ,emacs-s)
4823 ("ert-runner" ,emacs-ert-runner)))
4824 (arguments
4825 `(#:tests? #t
4826 #:test-command '("ert-runner")))
4827 (home-page "https://github.com/clojure-emacs/clojure-mode")
4828 (synopsis "Major mode for Clojure code")
4829 (description
4830 "This Emacs package provides font-lock, indentation, navigation and basic
4831 refactoring for the @uref{http://clojure.org, Clojure programming language}.
4832 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
4833 (license license:gpl3+)))
4834
4835 (define-public emacs-epl
4836 (package
4837 (name "emacs-epl")
4838 (version "0.8")
4839 (source
4840 (origin
4841 (method git-fetch)
4842 (uri (git-reference
4843 (url "https://github.com/cask/epl.git")
4844 (commit version)))
4845 (file-name (git-file-name name version))
4846 (sha256
4847 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
4848 (build-system emacs-build-system)
4849 (home-page "https://github.com/cask/epl")
4850 (synopsis "Emacs Package Library")
4851 (description
4852 "A package management library for Emacs, based on @code{package.el}.
4853
4854 The purpose of this library is to wrap all the quirks and hassle of
4855 @code{package.el} into a sane API.")
4856 (license license:gpl3+)))
4857
4858 (define-public emacs-counsel-projectile
4859 (package
4860 (name "emacs-counsel-projectile")
4861 (version "0.3.0")
4862 (source (origin
4863 (method git-fetch)
4864 (uri (git-reference
4865 (url "https://github.com/ericdanan/counsel-projectile")
4866 (commit version)))
4867 (file-name (git-file-name name version))
4868 (sha256
4869 (base32
4870 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
4871 (build-system emacs-build-system)
4872 (propagated-inputs
4873 `(("emacs-ivy" ,emacs-ivy)
4874 ("emacs-projectile" ,emacs-projectile)))
4875 (home-page "https://github.com/ericdanan/counsel-projectile")
4876 (synopsis "Enhance Projectile with Ivy")
4877 (description
4878 "This package uses Ivy to provide additional actions for Projectile
4879 commands and replacements for existing functions.")
4880 (license license:gpl3+)))
4881
4882 (define-public emacs-queue
4883 (package
4884 (name "emacs-queue")
4885 (version "0.2")
4886 (source (origin
4887 (method url-fetch)
4888 (uri (string-append "https://elpa.gnu.org/packages/queue-"
4889 version ".el"))
4890 (sha256
4891 (base32
4892 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
4893 (build-system emacs-build-system)
4894 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
4895 (synopsis "Queue data structure for Emacs")
4896 (description
4897 "This Emacs library provides queue data structure. These queues can be
4898 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
4899 stack, i.e. elements can be added to the front or back of the queue, and can
4900 be removed from the front. This type of data structure is sometimes called an
4901 \"output-restricted deque\".")
4902 (license license:gpl3+)))
4903
4904 (define-public emacs-pkg-info
4905 (package
4906 (name "emacs-pkg-info")
4907 (version "0.6")
4908 (source
4909 (origin
4910 (method git-fetch)
4911 (uri (git-reference
4912 (url "https://github.com/lunaryorn/pkg-info.el.git")
4913 (commit version)))
4914 (file-name (git-file-name name version))
4915 (sha256
4916 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
4917 (build-system emacs-build-system)
4918 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
4919 (home-page "https://github.com/lunaryorn/pkg-info.el")
4920 (synopsis "Information about Emacs packages")
4921 (description
4922 "This library extracts information from the installed Emacs packages.")
4923 (license license:gpl3+)))
4924
4925 (define-public emacs-spinner
4926 (package
4927 (name "emacs-spinner")
4928 (version "1.7.3")
4929 (source (origin
4930 (method url-fetch)
4931 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
4932 version ".el"))
4933 (sha256
4934 (base32
4935 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
4936 (build-system emacs-build-system)
4937 (home-page "https://github.com/Malabarba/spinner.el")
4938 (synopsis "Emacs mode-line spinner for operations in progress")
4939 (description
4940 "This Emacs package adds spinners and progress-bars to the mode-line for
4941 ongoing operations.")
4942 (license license:gpl3+)))
4943
4944 (define-public emacs-sparql-mode
4945 (package
4946 (name "emacs-sparql-mode")
4947 (version "2.0.1")
4948 (source
4949 (origin
4950 (method git-fetch)
4951 (uri (git-reference
4952 (url "https://github.com/ljos/sparql-mode.git")
4953 (commit (string-append "v" version))))
4954 (file-name (git-file-name name version))
4955 (sha256
4956 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
4957 (build-system emacs-build-system)
4958 (home-page "https://github.com/ljos/sparql-mode")
4959 (synopsis "SPARQL mode for Emacs")
4960 (description "This package provides a major mode for Emacs that provides
4961 syntax highlighting for SPARQL. It also provides a way to execute queries
4962 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
4963 possible to query other endpoints like DBPedia.")
4964 (license license:gpl3+)))
4965
4966 (define-public emacs-better-defaults
4967 (package
4968 (name "emacs-better-defaults")
4969 (version "0.1.3")
4970 (source
4971 (origin
4972 (method url-fetch)
4973 (uri (string-append "https://github.com/technomancy/better-defaults"
4974 "/archive/" version ".tar.gz"))
4975 (file-name (string-append name "-" version ".tar.gz"))
4976 (sha256
4977 (base32
4978 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
4979 (build-system emacs-build-system)
4980 (home-page "https://github.com/technomancy/better-defaults")
4981 (synopsis "Better defaults for Emacs")
4982 (description
4983 "Better defaults attempts to address the most obvious deficiencies of the
4984 Emacs default configuration in uncontroversial ways that nearly everyone can
4985 agree upon.")
4986 (license license:gpl3+)))
4987
4988 (define-public emacs-undohist-el
4989 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
4990 (revision "1"))
4991 (package
4992 (name "emacs-undohist-el")
4993 (version (git-version "0" revision commit))
4994 (source
4995 (origin
4996 (method git-fetch)
4997 (uri (git-reference
4998 (url "https://github.com/m2ym/undohist-el")
4999 (commit commit)))
5000 (file-name (git-file-name name version))
5001 (sha256
5002 (base32
5003 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
5004 (patches
5005 (search-patches "emacs-undohist-ignored.patch"))))
5006 (build-system emacs-build-system)
5007 (home-page "https://github.com/m2ym/undohist-el")
5008 (synopsis "Save undo history between sessions")
5009 (description "This package allows persistent use of undo history for
5010 individual file buffers.")
5011 (license license:gpl3+))))
5012
5013 (define-public emacs-eprime
5014 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
5015 (package
5016 (name "emacs-eprime")
5017 (version (string-append "20140513-" (string-take commit 7)))
5018 (source (origin
5019 (method url-fetch)
5020 (uri (string-append "https://raw.githubusercontent.com"
5021 "/AndrewHynes/eprime-mode/"
5022 commit "/eprime-mode.el"))
5023 (file-name (string-append "eprime-" version ".el"))
5024 (sha256
5025 (base32
5026 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
5027 (build-system emacs-build-system)
5028 (home-page "https://github.com/AndrewHynes/eprime-mode")
5029 (synopsis "E-prime checking mode for Emacs")
5030 (description "This package provides an E-prime checking mode for Emacs
5031 that highlights non-conforming text. The subset of the English language called
5032 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
5033 (license license:gpl3+))))
5034
5035 (define-public emacs-julia-mode
5036 ;; XXX: Upstream version remained stuck at 0.3. See
5037 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
5038 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
5039 (revision "1"))
5040 (package
5041 (name "emacs-julia-mode")
5042 (version (string-append "0.3-" revision "." (string-take commit 8)))
5043 (source
5044 (origin
5045 (method git-fetch)
5046 (uri (git-reference
5047 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
5048 (commit commit)))
5049 (file-name (git-file-name name version))
5050 (sha256
5051 (base32
5052 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
5053 (build-system emacs-build-system)
5054 (arguments
5055 `(#:tests? #t
5056 #:test-command '("emacs" "--batch"
5057 "-l" "julia-mode-tests.el"
5058 "-f" "ert-run-tests-batch-and-exit")))
5059 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
5060 (synopsis "Major mode for Julia")
5061 (description "This Emacs package provides a mode for the Julia
5062 programming language.")
5063 (license license:expat))))
5064
5065 (define-public emacs-smex
5066 (package
5067 (name "emacs-smex")
5068 (version "3.0")
5069 (source (origin
5070 (method url-fetch)
5071 (uri (string-append "https://raw.githubusercontent.com"
5072 "/nonsequitur/smex/" version "/smex.el"))
5073 (file-name (string-append "smex-" version ".el"))
5074 (sha256
5075 (base32
5076 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
5077 (build-system emacs-build-system)
5078 (home-page "https://github.com/nonsequitur/smex/")
5079 (synopsis "M-x interface with Ido-style fuzzy matching")
5080 (description
5081 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
5082 convenient interface to your recently and most frequently used commands. And
5083 to all the other commands, too.")
5084 (license license:gpl3+)))
5085
5086 (define-public emacs-js2-mode
5087 (package
5088 (name "emacs-js2-mode")
5089 (version "20190219")
5090 (source
5091 (origin
5092 (method git-fetch)
5093 (uri (git-reference
5094 (url "https://github.com/mooz/js2-mode.git")
5095 (commit version)))
5096 (file-name (git-file-name name version))
5097 (sha256
5098 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
5099 (build-system emacs-build-system)
5100 (home-page "https://github.com/mooz/js2-mode/")
5101 (synopsis "Improved JavaScript editing mode for Emacs")
5102 (description
5103 "Js2-mode provides a JavaScript major mode for Emacs that is more
5104 advanced than the built-in javascript-mode. Features include accurate syntax
5105 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
5106 errors and strict-mode warnings, smart line-wrapping within comments and
5107 strings, and code folding.")
5108 (license license:gpl3+)))
5109
5110 (define-public emacs-nodejs-repl
5111 (package
5112 (name "emacs-nodejs-repl")
5113 (version "0.2.1")
5114 (source (origin
5115 (method git-fetch)
5116 (uri (git-reference
5117 (url "https://github.com/abicky/nodejs-repl.el")
5118 (commit version)))
5119 (file-name (git-file-name name version))
5120 (sha256
5121 (base32
5122 "05ccv87rnw7fss3lib8m9sywjrj6n92fnd7mmhmjh27g2klqc83z"))))
5123 (build-system emacs-build-system)
5124 (home-page "https://github.com/abicky/nodejs-repl.el")
5125 (synopsis "Node.js REPL inside Emacs")
5126 (description
5127 "This program is derived from comint-mode and provides the following
5128 features:
5129
5130 @itemize
5131 @item TAB completion same as Node.js REPL
5132 @item file name completion in string
5133 @item incremental history search
5134 @end itemize")
5135 (license license:gpl3+)))
5136
5137 (define-public emacs-typescript-mode
5138 (package
5139 (name "emacs-typescript-mode")
5140 (version "0.3")
5141 (source (origin
5142 (method git-fetch)
5143 (uri (git-reference
5144 (url "https://github.com/ananthakumaran/typescript.el")
5145 (commit (string-append "v" version))))
5146 (file-name (git-file-name name version))
5147 (sha256
5148 (base32
5149 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
5150 (build-system emacs-build-system)
5151 (home-page "https://github.com/ananthakumaran/typescript.el")
5152 (synopsis "Emacs major mode for editing Typescript code")
5153 (description
5154 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
5155 This is much more robust and works with @code{cc-mode}'s comment
5156 filling (mostly). The modifications to the original @code{javascript.el} mode
5157 mainly consisted in replacing \"javascript\" with \"typescript\"
5158
5159 The main features of this Typescript mode are syntactic highlighting (enabled
5160 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
5161 indentation and filling of comments and C preprocessor fontification.")
5162 (license license:gpl3+)))
5163
5164 (define-public emacs-tide
5165 (package
5166 (name "emacs-tide")
5167 (version "3.2.3")
5168 (source (origin
5169 (method git-fetch)
5170 (uri (git-reference
5171 (url "https://github.com/ananthakumaran/tide")
5172 (commit (string-append "v" version))))
5173 (file-name (git-file-name name version))
5174 (sha256
5175 (base32
5176 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
5177 (build-system emacs-build-system)
5178 (propagated-inputs
5179 `(("emacs-dash" ,emacs-dash)
5180 ("emacs-s" ,emacs-s)
5181 ("emacs-flycheck" ,emacs-flycheck)
5182 ("emacs-typescript-mode" ,emacs-typescript-mode)))
5183 (home-page "https://github.com/ananthakumaran/tide")
5184 (synopsis "Typescript IDE for Emacs")
5185 (description
5186 "Tide is an Interactive Development Environment (IDE) for Emacs which
5187 provides the following features:
5188
5189 @itemize
5190 @item ElDoc
5191 @item Auto complete
5192 @item Flycheck
5193 @item Jump to definition, Jump to type definition
5194 @item Find occurrences
5195 @item Rename symbol
5196 @item Imenu
5197 @item Compile On Save
5198 @item Highlight Identifiers
5199 @item Code Fixes
5200 @item Code Refactor
5201 @item Organize Imports
5202 @end itemize")
5203 (license license:gpl3+)))
5204
5205 (define-public emacs-markdown-mode
5206 (package
5207 (name "emacs-markdown-mode")
5208 (version "2.3")
5209 (source (origin
5210 (method url-fetch)
5211 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
5212 "/markdown-mode/v" version
5213 "/markdown-mode.el"))
5214 (file-name (string-append "markdown-mode-" version ".el"))
5215 (sha256
5216 (base32
5217 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
5218 (build-system emacs-build-system)
5219 (home-page "http://jblevins.org/projects/markdown-mode/")
5220 (synopsis "Emacs Major mode for Markdown files")
5221 (description
5222 "Markdown-mode is a major mode for editing Markdown-formatted text files
5223 in Emacs.")
5224 (license license:gpl3+)))
5225
5226 (define-public emacs-edit-indirect
5227 (package
5228 (name "emacs-edit-indirect")
5229 (version "0.1.5")
5230 (source
5231 (origin
5232 (method git-fetch)
5233 (uri (git-reference
5234 (url "https://github.com/Fanael/edit-indirect")
5235 (commit version)))
5236 (file-name (git-file-name name version))
5237 (sha256
5238 (base32
5239 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
5240 (build-system emacs-build-system)
5241 (home-page "https://github.com/Fanael/edit-indirect")
5242 (synopsis "Edit regions in separate buffers")
5243 (description "This package allows you to edit regions in separate buffers,
5244 like @code{org-edit-src-code} but for arbitrary regions.")
5245 (license license:gpl3+)))
5246
5247 (define-public emacs-projectile
5248 (package
5249 (name "emacs-projectile")
5250 (version "2.0.0")
5251 (source (origin
5252 (method url-fetch)
5253 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
5254 "/projectile/v" version "/projectile.el"))
5255 (file-name (string-append "projectile-" version ".el"))
5256 (sha256
5257 (base32
5258 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
5259 (build-system emacs-build-system)
5260 (propagated-inputs
5261 `(("emacs-dash" ,emacs-dash)
5262 ("emacs-pkg-info" ,emacs-pkg-info)))
5263 (home-page "https://github.com/bbatsov/projectile")
5264 (synopsis "Manage and navigate projects in Emacs easily")
5265 (description
5266 "This library provides easy project management and navigation. The
5267 concept of a project is pretty basic - just a folder containing special file.
5268 Currently git, mercurial and bazaar repos are considered projects by default.
5269 If you want to mark a folder manually as a project just create an empty
5270 .projectile file in it.")
5271 (license license:gpl3+)))
5272
5273 (define-public emacs-elfeed
5274 (package
5275 (name "emacs-elfeed")
5276 (version "3.1.0")
5277 (source
5278 (origin
5279 (method git-fetch)
5280 (uri (git-reference
5281 (url "https://github.com/skeeto/elfeed.git")
5282 (commit version)))
5283 (file-name (git-file-name name version))
5284 (sha256
5285 (base32 "1bzpl6lc7kq9bph4bfz1fn19207blrnhjr2g7yinhn0nnnjmxi8i"))))
5286 (build-system emacs-build-system)
5287 (arguments
5288 `(#:tests? #t
5289 #:test-command '("make" "test")))
5290 (home-page "https://github.com/skeeto/elfeed")
5291 (synopsis "Atom/RSS feed reader for Emacs")
5292 (description
5293 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
5294 and RSS, with a user interface inspired by notmuch.")
5295 (license license:gpl3+)))
5296
5297 (define-public emacs-elfeed-org
5298 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
5299 (package
5300 (name "emacs-elfeed-org")
5301 (version (git-version "0.1" "1" commit))
5302 (source
5303 (origin
5304 (method git-fetch)
5305 (uri (git-reference
5306 (url "https://github.com/remyhonig/elfeed-org.git")
5307 (commit commit)))
5308 (file-name (git-file-name name version))
5309 (sha256
5310 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
5311 (build-system emacs-build-system)
5312 (propagated-inputs
5313 `(("emacs-elfeed" ,emacs-elfeed)
5314 ("emacs-org" ,emacs-org)
5315 ("emacs-dash" ,emacs-dash)
5316 ("emacs-s" ,emacs-s)))
5317 (native-inputs
5318 `(("ert-runner" ,emacs-ert-runner)
5319 ("emacs-xtest" ,emacs-xtest)))
5320 (arguments
5321 `(#:tests? #t
5322 #:test-command '("ert-runner" "-L" "org-mode/lisp")
5323 #:phases
5324 (modify-phases %standard-phases
5325 (add-before 'check 'chmod
5326 (lambda _
5327 (chmod "test/fixture-mark-feed-ignore.org" #o644)
5328 #t)))))
5329 (home-page "https://github.com/remyhonig/elfeed-org")
5330 (synopsis "Configure Elfeed with an Org-mode file")
5331 (description
5332 "@code{elfeed-org} lets you manage your Elfeed subscriptions
5333 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
5334 the regular flat list, where there is no hierarchy and tag names are
5335 duplicated a lot. Org-mode makes the book keeping of tags and feeds
5336 much easier.")
5337 (license license:gpl3+))))
5338
5339 (define-public emacs-el-x
5340 (package
5341 (name "emacs-el-x")
5342 (version "0.3.1")
5343 (source (origin
5344 (method git-fetch)
5345 (uri (git-reference
5346 (url "https://github.com/sigma/el-x.git")
5347 (commit (string-append "v" version))))
5348 (file-name (git-file-name name version))
5349 (sha256
5350 (base32
5351 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
5352 (build-system emacs-build-system)
5353 (arguments
5354 `(#:phases
5355 (modify-phases %standard-phases
5356 ;; Move the source files to the top level, which is included in
5357 ;; the EMACSLOADPATH.
5358 (add-after 'unpack 'move-source-files
5359 (lambda _
5360 (let ((el-files (find-files "./lisp" ".*\\.el$")))
5361 (for-each (lambda (f)
5362 (rename-file f (basename f)))
5363 el-files))
5364 #t)))))
5365 (home-page "https://github.com/sigma/el-x")
5366 (synopsis "Emacs Lisp extensions")
5367 (description "command@{emacs-el-x} defines the @code{dflet} macro to
5368 provide the historic behavior of @code{flet}, as well as
5369 @code{declare-function} stub for older Emacs.")
5370 (license license:gpl2+)))
5371
5372 (define-public emacs-mocker
5373 (package
5374 (name "emacs-mocker")
5375 (version "0.3.1")
5376 (source (origin
5377 (method git-fetch)
5378 (uri (git-reference
5379 (url "https://github.com/sigma/mocker.el.git")
5380 (commit (string-append "v" version))))
5381 (file-name (git-file-name name version))
5382 (sha256
5383 (base32
5384 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
5385 (build-system emacs-build-system)
5386 (arguments
5387 `(#:tests? #t
5388 #:test-command '("ert-runner")))
5389 (native-inputs
5390 `(("ert-runner" ,emacs-ert-runner)))
5391 (propagated-inputs
5392 `(("emacs-el-x" ,emacs-el-x)))
5393 (home-page "https://github.com/sigma/mocker.el")
5394 (synopsis "Mocking framework for Emacs Lisp")
5395 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
5396 It uses regular Lisp rather than a domain specific language (DSL), which
5397 maximizes flexibility (at the expense of conciseness).")
5398 (license license:gpl2+)))
5399
5400 (define-public emacs-find-file-in-project
5401 (package
5402 (name "emacs-find-file-in-project")
5403 (version "5.4.7")
5404 (source (origin
5405 (method git-fetch)
5406 (uri (git-reference
5407 (url "https://github.com/technomancy/find-file-in-project.git")
5408 (commit version)))
5409 (file-name (git-file-name name version))
5410 (sha256
5411 (base32
5412 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
5413 (build-system emacs-build-system)
5414 (arguments
5415 `(#:phases
5416 (modify-phases %standard-phases
5417 (add-before 'check 'set-shell
5418 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
5419 ;; work.
5420 (lambda _
5421 (setenv "SHELL" (which "sh"))
5422 #t)))
5423 #:tests? #t
5424 #:test-command '("./tests/test.sh")))
5425 (home-page "https://github.com/technomancy/find-file-in-project")
5426 (synopsis "File/directory finder for Emacs")
5427 (description "@code{find-file-in-project} allows to find files or
5428 directories quickly in the current project. The project root is detected
5429 automatically when Git, Subversion or Mercurial are used. It also provides
5430 functions to assist in reviewing changes on files.")
5431 (license license:gpl3+)))
5432
5433 (define-public emacs-pyvenv
5434 (package
5435 (name "emacs-pyvenv")
5436 (version "1.20")
5437 (source (origin
5438 (method git-fetch)
5439 (uri (git-reference
5440 (url "https://github.com/jorgenschaefer/pyvenv.git")
5441 (commit (string-append "v" version))))
5442 (file-name (git-file-name name version))
5443 (sha256
5444 (base32
5445 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
5446 (build-system emacs-build-system)
5447 (arguments
5448 `(#:phases
5449 (modify-phases %standard-phases
5450 ;; This phase incorrectly attempts to substitute "activate" and fails
5451 ;; doing so.
5452 (delete 'patch-el-files))
5453 #:tests? #t
5454 #:test-command '("ert-runner")))
5455 (native-inputs
5456 `(("ert-runner" ,emacs-ert-runner)
5457 ("emacs-mocker" ,emacs-mocker)))
5458 (home-page "https://github.com/jorgenschaefer/pyvenv")
5459 (synopsis "Python virtual environment interface for Emacs")
5460 (description "pyvenv.el is a minor mode to support using Python virtual
5461 environments (virtualenv) inside Emacs.")
5462 (license license:gpl3+)))
5463
5464 (define-public emacs-highlight-indentation
5465 (package
5466 (name "emacs-highlight-indentation")
5467 (version "0.7.0")
5468 (source (origin
5469 (method git-fetch)
5470 (uri (git-reference
5471 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
5472 (commit (string-append "v" version))))
5473 (file-name (git-file-name name version))
5474 (sha256
5475 (base32
5476 "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"))))
5477 (build-system emacs-build-system)
5478 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
5479 (synopsis "Highlighting indentation for Emacs")
5480 (description "Provides two minor modes to highlight indentation guides in Emacs:
5481 @enumerate
5482 @item @code{highlight-indentation-mode}, which displays guidelines
5483 indentation (space indentation only).
5484 @item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only).
5485 @end enumerate")
5486 (license license:gpl2+)))
5487
5488 (define-public emacs-elpy
5489 (package
5490 (name "emacs-elpy")
5491 (version "1.28.0")
5492 (source (origin
5493 (method git-fetch)
5494 (uri (git-reference
5495 (url "https://github.com/jorgenschaefer/elpy.git")
5496 (commit version)))
5497 (file-name (git-file-name name version))
5498 (sha256
5499 (base32
5500 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
5501 (build-system emacs-build-system)
5502 (arguments
5503 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
5504 #:phases
5505 ;; TODO: Make `elpy-config' display Guix commands :)
5506 (modify-phases %standard-phases
5507 ;; One elpy test depends on being run inside a Python virtual
5508 ;; environment to pass. We have nothing to gain from doing so here,
5509 ;; so we just trick Elpy into thinking we are (see:
5510 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
5511 (add-before 'check 'fake-virtualenv
5512 (lambda _
5513 (setenv "VIRTUAL_ENV" "/tmp")
5514 #t))
5515 (add-before 'check 'build-doc
5516 (lambda _
5517 (with-directory-excursion "docs"
5518 (invoke "make" "info" "man"))
5519 ;; Move .info file at the root so that it can installed by the
5520 ;; 'move-doc phase.
5521 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
5522 #t))
5523 (add-after 'build-doc 'install-manpage
5524 (lambda* (#:key outputs #:allow-other-keys)
5525 (let* ((out (assoc-ref outputs "out"))
5526 (man1 (string-append out "/share/man/man1")))
5527 (mkdir-p man1)
5528 (copy-file "docs/_build/man/elpy.1"
5529 (string-append man1 "/elpy.1")))
5530 #t)))
5531 #:tests? #t
5532 #:test-command '("ert-runner")))
5533 (propagated-inputs
5534 `(("emacs-company" ,emacs-company)
5535 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
5536 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
5537 ("emacs-yasnippet" ,emacs-yasnippet)
5538 ("pyvenv" ,emacs-pyvenv)
5539 ("s" ,emacs-s)))
5540 (native-inputs
5541 `(("ert-runner" ,emacs-ert-runner)
5542 ("emacs-f" ,emacs-f)
5543 ("python" ,python-wrapper)
5544 ("python-autopep8" ,python-autopep8)
5545 ("python-black" ,python-black)
5546 ("python-flake8" ,python-flake8)
5547 ("python-jedi" ,python-jedi)
5548 ("python-yapf" ,python-yapf)
5549 ;; For documentation.
5550 ("python-sphinx" ,python-sphinx)
5551 ("texinfo" ,texinfo)))
5552 (home-page "https://github.com/jorgenschaefer/elpy")
5553 (synopsis "Python development environment for Emacs")
5554 (description "Elpy brings powerful Python editing to Emacs. It combines
5555 and configures a number of other packages written in Emacs Lisp as well as
5556 Python, together offering features such as navigation, documentation,
5557 completion, interactive development and more.")
5558 (license license:gpl3+)))
5559
5560 (define-public emacs-rainbow-delimiters
5561 (package
5562 (name "emacs-rainbow-delimiters")
5563 (version "2.1.3")
5564 (source (origin
5565 (method url-fetch)
5566 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5567 "/rainbow-delimiters/" version
5568 "/rainbow-delimiters.el"))
5569 (file-name (string-append "rainbow-delimiters-" version ".el"))
5570 (sha256
5571 (base32
5572 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
5573 (build-system emacs-build-system)
5574 (home-page "https://github.com/Fanael/rainbow-delimiters")
5575 (synopsis "Highlight brackets according to their depth")
5576 (description
5577 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
5578 highlights parentheses, brackets, and braces according to their depth. Each
5579 successive level is highlighted in a different color, making it easy to spot
5580 matching delimiters, orient yourself in the code, and tell which statements
5581 are at a given level.")
5582 (license license:gpl3+)))
5583
5584 (define-public emacs-rainbow-identifiers
5585 (package
5586 (name "emacs-rainbow-identifiers")
5587 (version "0.2.2")
5588 (source (origin
5589 (method url-fetch)
5590 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5591 "/rainbow-identifiers/" version
5592 "/rainbow-identifiers.el"))
5593 (file-name (string-append "rainbow-identifiers-" version ".el"))
5594 (sha256
5595 (base32
5596 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
5597 (build-system emacs-build-system)
5598 (home-page "https://github.com/Fanael/rainbow-identifiers")
5599 (synopsis "Highlight identifiers in source code")
5600 (description
5601 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
5602 identifiers based on their names. Each identifier gets a color based on a hash
5603 of its name.")
5604 (license license:bsd-2)))
5605
5606 (define-public emacs-rainbow-mode
5607 (package
5608 (name "emacs-rainbow-mode")
5609 (version "1.0.1")
5610 (source (origin
5611 (method url-fetch)
5612 (uri (string-append
5613 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
5614 (sha256
5615 (base32
5616 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
5617 (build-system emacs-build-system)
5618 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
5619 (synopsis "Colorize color names in buffers")
5620 (description
5621 "This minor mode sets background color to strings that match color
5622 names, e.g. #0000ff is displayed in white with a blue background.")
5623 (license license:gpl3+)))
5624
5625 (define-public emacs-visual-fill-column
5626 (package
5627 (name "emacs-visual-fill-column")
5628 (version "1.11")
5629 (source (origin
5630 (method url-fetch)
5631 (uri (string-append "https://codeload.github.com/joostkremers/"
5632 "visual-fill-column/tar.gz/" version))
5633 (file-name (string-append name "-" version ".tar.gz"))
5634 (sha256
5635 (base32
5636 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
5637 (build-system emacs-build-system)
5638 (home-page "https://github.com/joostkremers/visual-fill-column")
5639 (synopsis "Fill-column for visual-line-mode")
5640 (description
5641 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
5642 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
5643 wrapping lines at the window edge, which is the standard behaviour of
5644 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
5645 @code{fill-column} is too large for the window, the text is wrapped at the
5646 window edge.")
5647 (license license:gpl3+)))
5648
5649 (define-public emacs-writeroom
5650 (package
5651 (name "emacs-writeroom")
5652 (version "3.7")
5653 (source
5654 (origin
5655 (method git-fetch)
5656 (uri (git-reference
5657 (url "https://github.com/joostkremers/writeroom-mode.git")
5658 (commit version)))
5659 (file-name (git-file-name name version))
5660 (sha256
5661 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
5662 (build-system emacs-build-system)
5663 (propagated-inputs
5664 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
5665 (home-page "https://github.com/joostkremers/writeroom-mode")
5666 (synopsis "Distraction-free writing for Emacs")
5667 (description
5668 "This package defines a minor mode for distraction-free writing. Some of
5669 the default effects include entering fullscreen, deleting other windows of the
5670 current frame, disabling the mode line, and adding margins to the buffer that
5671 restrict the text width to 80 characters.")
5672 (license license:bsd-3)))
5673
5674 (define-public emacs-ido-completing-read+
5675 (package
5676 (name "emacs-ido-completing-read+")
5677 (version "3.12")
5678 (source (origin
5679 (method url-fetch)
5680 (uri (string-append "https://raw.githubusercontent.com"
5681 "/DarwinAwardWinner/ido-ubiquitous/v"
5682 version "/ido-completing-read+.el"))
5683 (file-name (string-append "ido-completing-read+-" version ".el"))
5684 (sha256
5685 (base32
5686 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
5687 (build-system emacs-build-system)
5688 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5689 (synopsis "Replacement for completing-read using ido")
5690 (description
5691 "The ido-completing-read+ function is a wrapper for ido-completing-read.
5692 Importantly, it detects edge cases that ordinary ido cannot handle and either
5693 adjusts them so ido can handle them, or else simply falls back to the standard
5694 Emacs completion function instead.")
5695 (license license:gpl3+)))
5696
5697 (define-public emacs-ido-ubiquitous
5698 (package
5699 (name "emacs-ido-ubiquitous")
5700 (version "3.12")
5701 (source (origin
5702 (method url-fetch)
5703 (uri (string-append "https://raw.githubusercontent.com"
5704 "/DarwinAwardWinner/ido-ubiquitous/v"
5705 version "/ido-ubiquitous.el"))
5706 (file-name (string-append "ido-ubiquitous-" version ".el"))
5707 (sha256
5708 (base32
5709 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
5710 (build-system emacs-build-system)
5711 (propagated-inputs
5712 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
5713 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5714 (synopsis "Use ido (nearly) everywhere")
5715 (description
5716 "Ido-ubiquitous enables ido-style completion for almost every function
5717 that uses the standard completion function completing-read.")
5718 (license license:gpl3+)))
5719
5720 (define-public emacs-yaml-mode
5721 (package
5722 (name "emacs-yaml-mode")
5723 (version "0.0.13")
5724 (source (origin
5725 (method url-fetch)
5726 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
5727 "/yaml-mode/v" version "/yaml-mode.el"))
5728 (file-name (string-append "yaml-mode-" version ".el"))
5729 (sha256
5730 (base32
5731 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
5732 (build-system emacs-build-system)
5733 (home-page "https://github.com/yoshiki/yaml-mode")
5734 (synopsis "Major mode for editing YAML files")
5735 (description
5736 "Yaml-mode is an Emacs major mode for editing files in the YAML data
5737 serialization format. It was initially developed by Yoshiki Kurihara and many
5738 features were added by Marshall Vandegrift. As YAML and Python share the fact
5739 that indentation determines structure, this mode provides indentation and
5740 indentation command behavior very similar to that of python-mode.")
5741 (license license:gpl3+)))
5742
5743 (define-public emacs-web-mode
5744 (package
5745 (name "emacs-web-mode")
5746 (version "16")
5747 (source (origin
5748 (method url-fetch)
5749 (uri (string-append "https://raw.githubusercontent.com/fxbois"
5750 "/web-mode/v" version "/web-mode.el"))
5751 (file-name (string-append "web-mode-" version ".el"))
5752 (sha256
5753 (base32
5754 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
5755 (build-system emacs-build-system)
5756 (synopsis "Major mode for editing web templates")
5757 (description "Web-mode is an Emacs major mode for editing web templates
5758 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
5759 client/server side engines). Web-mode is compatible with many template
5760 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
5761 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
5762 Dust.js, React/JSX, Angularjs, ejs, etc.")
5763 (home-page "http://web-mode.org/")
5764 (license license:gpl3+)))
5765
5766 (define-public emacs-wgrep
5767 (package
5768 (name "emacs-wgrep")
5769 (version "2.3.0")
5770 (source (origin
5771 (method git-fetch)
5772 (uri (git-reference
5773 (url "https://github.com/mhayashi1120/Emacs-wgrep")
5774 (commit version)))
5775 (file-name (git-file-name name version))
5776 (sha256
5777 (base32
5778 "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"))))
5779 (build-system emacs-build-system)
5780 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
5781 (synopsis "Edit a grep buffer and apply those changes to the files")
5782 (description
5783 "Emacs wgrep allows you to edit a grep buffer and apply those changes
5784 to the file buffer. Several backends are supported beside the classic grep:
5785 ack, ag, helm and pt.")
5786 (license license:gpl3+)))
5787
5788 (define-public emacs-helm
5789 (package
5790 (name "emacs-helm")
5791 (version "3.2")
5792 (source
5793 (origin
5794 (method git-fetch)
5795 (uri (git-reference
5796 (url "https://github.com/emacs-helm/helm.git")
5797 (commit (string-append "v" version))))
5798 (file-name (git-file-name name version))
5799 (sha256
5800 (base32 "12yyprpgh2by2pd41i4z9gz55fxg0f90x03bfrsf791xwbhf6931"))))
5801 (build-system emacs-build-system)
5802 (propagated-inputs
5803 `(("emacs-async" ,emacs-async)
5804 ("emacs-popup" ,emacs-popup)))
5805 (home-page "https://emacs-helm.github.io/helm/")
5806 (synopsis "Incremental completion and selection narrowing
5807 framework for Emacs")
5808 (description "Helm is incremental completion and selection narrowing
5809 framework for Emacs. It will help steer you in the right direction when
5810 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
5811 of @code{anything.el} originally written by Tamas Patrovic and can be
5812 considered to be its successor. Helm sets out to clean up the legacy code in
5813 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
5814 not tied in the trap of backward compatibility.")
5815 (license license:gpl3+)))
5816
5817 (define-public emacs-helm-swoop
5818 (package
5819 (name "emacs-helm-swoop")
5820 (version "1.7.4")
5821 (source
5822 (origin
5823 (method git-fetch)
5824 (uri (git-reference
5825 (url "https://github.com/ShingoFukuyama/helm-swoop.git")
5826 (commit version)))
5827 (file-name (git-file-name name version))
5828 (sha256
5829 (base32 "0b23j1bkpg4pm310hqdhgnl4mxsj05gpl08b6kb2ja4fzrg6adsk"))))
5830 (build-system emacs-build-system)
5831 (propagated-inputs
5832 `(("emacs-helm" ,emacs-helm)))
5833 (home-page "https://github.com/ShingoFukuyama/helm-swoop")
5834 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
5835 (description
5836 "This package builds on the Helm interface to provide several commands
5837 for search-based navigation of buffers.")
5838 (license license:gpl2+)))
5839
5840 (define-public emacs-helm-projectile
5841 (package
5842 (name "emacs-helm-projectile")
5843 (version "0.14.0")
5844 (source
5845 (origin
5846 (method git-fetch)
5847 (uri (git-reference
5848 (url "https://github.com/bbatsov/helm-projectile.git")
5849 (commit (string-append "v" version))))
5850 (file-name (git-file-name name version))
5851 (sha256
5852 (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
5853 (build-system emacs-build-system)
5854 (propagated-inputs
5855 `(("emacs-dash" ,emacs-dash)
5856 ("emacs-helm" ,emacs-helm)
5857 ("emacs-projectile" ,emacs-projectile)))
5858 (home-page "https://github.com/bbatsov/helm-projectile")
5859 (synopsis "Helm integration for Projectile")
5860 (description
5861 "This Emacs library provides a Helm interface for Projectile.")
5862 (license license:gpl3+)))
5863
5864 (define-public emacs-helm-make
5865 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
5866 (revision "1"))
5867 (package
5868 (name "emacs-helm-make")
5869 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
5870 (source
5871 (origin
5872 (method git-fetch)
5873 (uri (git-reference
5874 (url "https://github.com/abo-abo/helm-make.git")
5875 (commit commit)))
5876 (file-name (git-file-name name version))
5877 (sha256
5878 (base32
5879 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
5880 (build-system emacs-build-system)
5881 (propagated-inputs
5882 `(("emacs-helm" ,emacs-helm)
5883 ("emacs-projectile" ,emacs-projectile)))
5884 (home-page "https://github.com/abo-abo/helm-make")
5885 (synopsis "Select a Makefile target with helm")
5886 (description "@code{helm-make} or @code{helm-make-projectile} will give
5887 you a @code{helm} selection of directory Makefile's targets. Selecting a
5888 target will call @code{compile} on it.")
5889 (license license:gpl3+))))
5890
5891 (define-public emacs-cider
5892 (package
5893 (name "emacs-cider")
5894 (version "0.21.0")
5895 (source
5896 (origin
5897 (method git-fetch)
5898 (uri (git-reference
5899 (url "https://github.com/clojure-emacs/cider.git")
5900 (commit (string-append "v" version))))
5901 (file-name (git-file-name name version))
5902 (sha256
5903 (base32
5904 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
5905 (build-system emacs-build-system)
5906 (arguments
5907 '(#:exclude ; Don't exclude 'cider-test.el'.
5908 '("^\\.dir-locals\\.el$" "^test/")))
5909 (propagated-inputs
5910 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5911 ("emacs-sesman" ,emacs-sesman)
5912 ("emacs-spinner" ,emacs-spinner)
5913 ("emacs-pkg-info" ,emacs-pkg-info)
5914 ("emacs-queue" ,emacs-queue)))
5915 (home-page "https://cider.readthedocs.io/")
5916 (synopsis "Clojure development environment for Emacs")
5917 (description
5918 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
5919 provide an interactive development experience similar to the one you'd get
5920 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
5921 Geiser) and Smalltalk.
5922
5923 CIDER is the successor to the now deprecated combination of using SLIME +
5924 swank-clojure for Clojure development.
5925
5926 There are plenty of differences between CIDER and SLIME, but the core ideas
5927 are pretty much the same (and SLIME served as the principle inspiration for
5928 CIDER).")
5929 (license license:gpl3+)))
5930
5931 ;; There hasn't been a tag or release since 2015, so we take the latest
5932 ;; commit.
5933 (define-public emacs-sly
5934 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
5935 (revision "1"))
5936 (package
5937 (name "emacs-sly")
5938 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
5939 (source
5940 (origin
5941 (method git-fetch)
5942 (uri (git-reference
5943 (url "https://github.com/joaotavora/sly.git")
5944 (commit commit)))
5945 (file-name (git-file-name name version))
5946 (sha256
5947 (base32
5948 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
5949 (build-system emacs-build-system)
5950 (arguments
5951 `(#:include (cons "^lib\\/" %default-include)
5952 #:phases
5953 ;; The package provides autoloads.
5954 (modify-phases %standard-phases
5955 (delete 'make-autoloads))))
5956 (home-page "https://github.com/joaotavora/sly")
5957 (synopsis "Sylvester the Cat's Common Lisp IDE")
5958 (description
5959 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
5960 contains the following improvements over it:
5961
5962 @enumerate
5963 @item Completely redesigned REPL based on Emacs's own full-featured
5964 @code{comint.el}
5965 @item Live code annotations via a new @code{sly-stickers} contrib
5966 @item Consistent interactive button interface. Everything can be copied to
5967 the REPL.
5968 @item Multiple inspectors with independent history
5969 @item Regexp-capable @code{M-x sly-apropos}
5970 @item Contribs are first class SLY citizens and enabled by default
5971 @item Use ASDF to loads contribs on demand.
5972 @end enumerate
5973
5974 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
5975 xref, etc...) are still available, but with better integration.")
5976 (license license:gpl3+))))
5977
5978 (define-public emacs-lua-mode
5979 (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
5980 (revision "1"))
5981 (package
5982 (name "emacs-lua-mode")
5983 (version (string-append "20151025." revision "-" (string-take commit 9)))
5984 (home-page "https://github.com/immerrr/lua-mode/")
5985 (source (origin
5986 (method git-fetch)
5987 (uri (git-reference
5988 (url home-page)
5989 (commit commit)))
5990 (file-name (string-append name "-" version ".checkout"))
5991 (sha256
5992 (base32
5993 "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9"))))
5994 (build-system emacs-build-system)
5995 (synopsis "Major mode for lua")
5996 (description
5997 "This Emacs package provides a mode for @uref{https://www.lua.org/,
5998 Lua programming language}.")
5999 (license license:gpl2+))))
6000
6001 (define-public emacs-ebuild-mode
6002 (package
6003 (name "emacs-ebuild-mode")
6004 (version "1.37")
6005 (source (origin
6006 (method url-fetch)
6007 (uri (string-append
6008 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
6009 "-" version ".tar.xz"))
6010 (file-name (string-append name "-" version ".tar.xz"))
6011 (sha256
6012 (base32
6013 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
6014 (build-system emacs-build-system)
6015 (home-page "https://devmanual.gentoo.org")
6016 (synopsis "Major modes for Gentoo package files")
6017 (description
6018 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
6019 news items, openrc and runscripts.")
6020 (license license:gpl2+)))
6021
6022 (define-public emacs-evil
6023 (package
6024 (name "emacs-evil")
6025 (version "1.2.14")
6026 (source
6027 (origin
6028 (method git-fetch)
6029 (uri (git-reference
6030 (url "https://github.com/emacs-evil/evil")
6031 (commit version)))
6032 (file-name (git-file-name name version))
6033 (sha256
6034 (base32
6035 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
6036 (build-system emacs-build-system)
6037 (propagated-inputs
6038 `(("emacs-undo-tree" ,emacs-undo-tree)
6039 ("emacs-goto-chg" ,emacs-goto-chg)))
6040 (home-page "https://github.com/emacs-evil/evil")
6041 (synopsis "Extensible Vi layer for Emacs")
6042 (description
6043 "Evil is an extensible vi layer for Emacs. It emulates the
6044 main features of Vim, and provides facilities for writing custom
6045 extensions.")
6046 (license license:gpl3+)))
6047
6048 (define-public emacs-evil-collection
6049 (let ((commit "0748c695dfa89b79eb316da5060360de8c0f04da")
6050 (revision "9"))
6051 (package
6052 (name "emacs-evil-collection")
6053 (version (git-version "0.0.1" revision commit))
6054 (source (origin
6055 (method git-fetch)
6056 (uri (git-reference
6057 (url "https://github.com/emacs-evil/evil-collection")
6058 (commit commit)))
6059 (file-name (git-file-name name version))
6060 (sha256
6061 (base32
6062 "17w8nh3q7ffc7776f3qzixk0c0g6vys3xybgw16ky1f416585kvb"))))
6063 (build-system emacs-build-system)
6064 (propagated-inputs
6065 `(("emacs-evil" ,emacs-evil)))
6066 (home-page "https://github.com/emacs-evil/evil-collection")
6067 (synopsis "Collection of Evil bindings for many major and minor modes")
6068 (description "This is a collection of Evil bindings for the parts of
6069 Emacs that Evil does not cover properly by default, such as @code{help-mode},
6070 @code{M-x calendar}, Eshell and more.")
6071 (license license:gpl3+))))
6072
6073 (define-public emacs-goto-chg
6074 (package
6075 (name "emacs-goto-chg")
6076 (version "1.6")
6077 (source
6078 (origin
6079 (method url-fetch)
6080 ;; There is no versioned source.
6081 (uri "https://www.emacswiki.org/emacs/download/goto-chg.el")
6082 (file-name (string-append "goto-chg-" version ".el"))
6083 (sha256
6084 (base32
6085 "078d6p4br5vips7b9x4v6cy0wxf6m5ij9gpqd4g33bryn22gnpij"))))
6086 (build-system emacs-build-system)
6087 ;; There is no other home page.
6088 (home-page "https://www.emacswiki.org/emacs/goto-chg.el")
6089 (synopsis "Go to the last change in the Emacs buffer")
6090 (description
6091 "This package provides @code{M-x goto-last-change} command that goes to
6092 the point of the most recent edit in the current Emacs buffer. When repeated,
6093 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
6094 used for reverse direction.")
6095 (license license:gpl2+)))
6096
6097 (define-public emacs-janpath-evil-numbers
6098 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
6099 (version "0.5")
6100 (revision "1"))
6101 (package
6102 (name "emacs-janpath-evil-numbers")
6103 (version (git-version version revision commit))
6104 (source
6105 (origin
6106 (method git-fetch)
6107 (uri (git-reference
6108 (url "https://github.com/janpath/evil-numbers")
6109 (commit commit)))
6110 (file-name (git-file-name name version))
6111 (sha256
6112 (base32
6113 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
6114 (build-system emacs-build-system)
6115 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6116 (home-page "https://github.com/janpath/evil-numbers")
6117 (synopsis "Increment and decrement numeric literals")
6118 (description
6119 "This package provides functionality to search for a number up to the
6120 end of a line and increment or decrement it.")
6121 (license license:gpl3+))))
6122
6123 (define-public emacs-evil-exchange
6124 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
6125 (version "0.41")
6126 (revision "1"))
6127 (package
6128 (name "emacs-evil-exchange")
6129 (version (git-version version revision commit))
6130 (source
6131 (origin
6132 (method git-fetch)
6133 (uri (git-reference
6134 (url "https://github.com/Dewdrops/evil-exchange")
6135 (commit commit)))
6136 (file-name (git-file-name name version))
6137 (sha256
6138 (base32
6139 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
6140 (build-system emacs-build-system)
6141 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6142 (home-page "https://github.com/Dewdrops/evil-exchange")
6143 (synopsis "Exchange text easily within Evil")
6144 (description
6145 "This package, a port of @code{vim-exchange}, provides an Evil operator
6146 for exchanging text.")
6147 (license license:gpl3+))))
6148
6149 (define-public emacs-evil-replace-with-register
6150 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
6151 (version "0.1")
6152 (revision "1"))
6153 (package
6154 (name "emacs-evil-replace-with-register")
6155 (version (git-version version revision commit))
6156 (source
6157 (origin
6158 (method git-fetch)
6159 (uri (git-reference
6160 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6161 (commit commit)))
6162 (file-name (git-file-name name version))
6163 (sha256
6164 (base32
6165 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
6166 (build-system emacs-build-system)
6167 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6168 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6169 (synopsis "Quickly replace text with the contents of a register")
6170 (description
6171 "This package provides an Evil operator for replacing text with the
6172 contents of a register.")
6173 (license license:gpl3+))))
6174
6175 (define-public emacs-evil-indent-plus
6176 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
6177 (version "1.0.0")
6178 (revision "1"))
6179 (package
6180 (name "emacs-evil-indent-plus")
6181 (version (git-version version revision commit))
6182 (source
6183 (origin
6184 (method git-fetch)
6185 (uri (git-reference
6186 (url "https://github.com/TheBB/evil-indent-plus")
6187 (commit commit)))
6188 (file-name (git-file-name name version))
6189 (sha256
6190 (base32
6191 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
6192 (build-system emacs-build-system)
6193 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6194 (home-page "https://github.com/TheBB/evil-indent-plus")
6195 (synopsis "Text objects based on indentation")
6196 (description
6197 "This package adds new text objects for @code{evil-mode} based on
6198 blocks having the same or higher indentation, including or excluding
6199 surrounding lines.")
6200 (license license:gpl2+))))
6201
6202 (define-public emacs-evil-text-object-python
6203 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
6204 (version "1.0.1")
6205 (revision "1"))
6206 (package
6207 (name "emacs-evil-text-object-python")
6208 (version (git-version version revision commit))
6209 (source
6210 (origin
6211 (method git-fetch)
6212 (uri (git-reference
6213 (url "https://github.com/wbolster/evil-text-object-python")
6214 (commit commit)))
6215 (file-name (git-file-name name version))
6216 (sha256
6217 (base32
6218 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
6219 (build-system emacs-build-system)
6220 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6221 (home-page "https://github.com/wbolster/evil-text-object-python")
6222 (synopsis "Text objects for Python")
6223 (description
6224 "This package provides @code{evil-mode} text objects for Python.")
6225 (license license:gpl3+))))
6226
6227 (define-public emacs-evil-lion
6228 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
6229 (version "0.0.2")
6230 (revision "1"))
6231 (package
6232 (name "emacs-evil-lion")
6233 (version (git-version version revision commit))
6234 (source
6235 (origin
6236 (method git-fetch)
6237 (uri (git-reference
6238 (url "https://github.com/edkolev/evil-lion")
6239 (commit commit)))
6240 (file-name (git-file-name name version))
6241 (sha256
6242 (base32
6243 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
6244 (build-system emacs-build-system)
6245 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6246 (home-page "https://github.com/edkolev/evil-lion")
6247 (synopsis "Align operator for @code{evil-mode}")
6248 (description
6249 "This package, a port of @code{vim-lion}, provides an operator for
6250 aligning text objects based on separators.")
6251 (license license:gpl3+))))
6252
6253 (define-public emacs-evil-expat
6254 (let ((commit "4c344ea19b789002d759a202ffbf594730d2c59a")
6255 (version "0.0.1")
6256 (revision "1"))
6257 (package
6258 (name "emacs-evil-expat")
6259 (version (git-version version revision commit))
6260 (source
6261 (origin
6262 (method git-fetch)
6263 (uri (git-reference
6264 (url "https://github.com/edkolev/evil-expat")
6265 (commit commit)))
6266 (file-name (git-file-name name version))
6267 (sha256
6268 (base32
6269 "16v7fnldxag6l1lsnrnhdjkga9qi78lbdfbb82k6pmv04991mbkr"))))
6270 (build-system emacs-build-system)
6271 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6272 (home-page "https://github.com/edkolev/evil-expat")
6273 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
6274 (description
6275 "This package provides additional commands for the @code{ex} command
6276 line, including functions for version control with Git and for copying and
6277 pasting into and from @code{tmux} paste buffers.")
6278 (license license:gpl3+))))
6279
6280 (define-public emacs-evil-nerd-commenter
6281 (package
6282 (name "emacs-evil-nerd-commenter")
6283 (version "3.3.7")
6284 (source
6285 (origin
6286 (method git-fetch)
6287 (uri (git-reference
6288 (url "https://github.com/redguardtoo/evil-nerd-commenter")
6289 (commit version)))
6290 (file-name (git-file-name name version))
6291 (sha256
6292 (base32
6293 "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7"))))
6294 (build-system emacs-build-system)
6295 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6296 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
6297 (synopsis "Comment and uncomment lines efficiently")
6298 (description
6299 "This package provides text objects and operators for comments within
6300 @code{evil-mode}.")
6301 (license license:gpl3+)))
6302
6303 (define-public emacs-evil-visual-replace
6304 (package
6305 (name "emacs-evil-visual-replace")
6306 (version "0.0.5")
6307 (source
6308 (origin
6309 (method git-fetch)
6310 (uri (git-reference
6311 (url "https://github.com/troyp/evil-visual-replace")
6312 (commit version)))
6313 (file-name (git-file-name name version))
6314 (sha256
6315 (base32
6316 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
6317 (build-system emacs-build-system)
6318 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6319 (home-page "https://github.com/troyp/evil-visual-replace")
6320 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
6321 (description
6322 "This package provides versions of @code{query-replace} and
6323 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
6324 (license license:gpl2+)))
6325
6326 (define-public emacs-evil-visualstar
6327 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
6328 (version "0.0.2")
6329 (revision "1"))
6330 (package
6331 (name "emacs-evil-visualstar")
6332 (version (git-version version revision commit))
6333 (source
6334 (origin
6335 (method git-fetch)
6336 (uri (git-reference
6337 (url "https://github.com/bling/evil-visualstar")
6338 (commit commit)))
6339 (file-name (git-file-name name version))
6340 (sha256
6341 (base32
6342 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
6343 (build-system emacs-build-system)
6344 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6345 (home-page "https://github.com/bling/evil-visualstar")
6346 (synopsis "Instantly search using the visual selection")
6347 (description
6348 "This package provides @code{evil-mode} functions for using selected text
6349 to search.")
6350 (license license:gpl3+))))
6351
6352 (define-public emacs-monroe
6353 (package
6354 (name "emacs-monroe")
6355 (version "0.3.1")
6356 (source
6357 (origin
6358 (method git-fetch)
6359 (uri (git-reference
6360 (url "https://github.com/sanel/monroe.git")
6361 (commit version)))
6362 (file-name (git-file-name name version))
6363 (sha256
6364 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
6365 (build-system emacs-build-system)
6366 (home-page "https://github.com/sanel/monroe")
6367 (synopsis "Clojure nREPL client for Emacs")
6368 (description
6369 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
6370 distribution, primarily targeting Clojure users")
6371 (license license:gpl3+)))
6372
6373 (define-public emacs-orgalist
6374 (package
6375 (name "emacs-orgalist")
6376 (version "1.9")
6377 (source
6378 (origin
6379 (method url-fetch)
6380 (uri (string-append "https://elpa.gnu.org/packages/"
6381 "orgalist-" version ".el"))
6382 (sha256
6383 (base32
6384 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
6385 (build-system emacs-build-system)
6386 (home-page "http://elpa.gnu.org/packages/orgalist.html")
6387 (synopsis "Manage Org-like lists in non-Org buffers")
6388 (description "Write Org mode's plain lists in non-Org buffers. More
6389 specifically, Orgalist supports the syntax of Org mode for numbered,
6390 unnumbered, description items, checkboxes, and counter cookies.
6391
6392 The library also implements radio lists, i.e., lists written in Org
6393 syntax later translated into the host format, e.g., LaTeX or HTML.")
6394 (license license:gpl3+)))
6395
6396 (define-public emacs-writegood-mode
6397 (package
6398 (name "emacs-writegood-mode")
6399 (version "2.0.2")
6400 (home-page "https://github.com/bnbeckwith/writegood-mode")
6401 (source (origin
6402 (method git-fetch)
6403 (uri (git-reference
6404 (url home-page)
6405 (commit (string-append "v" version))))
6406 (sha256
6407 (base32
6408 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
6409 (file-name (string-append name "-checkout"))))
6410 (build-system emacs-build-system)
6411 (synopsis "Polish up poor writing on the fly")
6412 (description
6413 "This minor mode tries to find and highlight problems with your writing
6414 in English as you type. It primarily detects \"weasel words\" and abuse of
6415 passive voice.")
6416 (license license:gpl3+)))
6417
6418 (define-public emacs-neotree
6419 (package
6420 (name "emacs-neotree")
6421 (version "0.5.2")
6422 (home-page "https://github.com/jaypei/emacs-neotree")
6423 (source (origin
6424 (method url-fetch)
6425 (uri (string-append
6426 "https://github.com/jaypei/" name
6427 "/archive/" version ".tar.gz"))
6428 (sha256
6429 (base32
6430 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
6431 (file-name (string-append name "-" version ".tar.gz"))))
6432 (build-system emacs-build-system)
6433 (synopsis "Folder tree view for Emacs")
6434 (description "This Emacs package provides a folder tree view.")
6435 (license license:gpl3+)))
6436
6437 (define-public emacs-org
6438 (package
6439 (name "emacs-org")
6440 ;; emacs-org-contrib inherits from this package. Please update its sha256
6441 ;; checksum as well.
6442 (version "9.2.3")
6443 (source (origin
6444 (method url-fetch)
6445 (uri (string-append "http://elpa.gnu.org/packages/org-"
6446 version ".tar"))
6447 (sha256
6448 (base32
6449 "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw"))))
6450 (build-system emacs-build-system)
6451 (home-page "https://orgmode.org/")
6452 (synopsis "Outline-based notes management and organizer")
6453 (description "Org is an Emacs mode for keeping notes, maintaining TODO
6454 lists, and project planning with a fast and effective lightweight markup
6455 language. It also is an authoring system with unique support for literate
6456 programming and reproducible research.")
6457 (license license:gpl3+)))
6458
6459 (define-public emacs-org-contrib
6460 (package
6461 (inherit emacs-org)
6462 (name "emacs-org-contrib")
6463 (version "20190402")
6464 (source (origin
6465 (method url-fetch)
6466 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
6467 version ".tar"))
6468 (sha256
6469 (base32
6470 "0hbrhhq6sa0gz4ylzr54raxandqs4y953894b0hlr553b8sfl1wk"))))
6471 (arguments
6472 `(#:modules ((guix build emacs-build-system)
6473 (guix build utils)
6474 (guix build emacs-utils)
6475 (ice-9 ftw)
6476 (srfi srfi-1))
6477 #:phases
6478 (modify-phases %standard-phases
6479 (add-after 'install 'delete-org-files
6480 (lambda* (#:key inputs outputs #:allow-other-keys)
6481 (let* ((out (assoc-ref outputs "out"))
6482 (org (assoc-ref inputs "org"))
6483 (contrib-files
6484 (map basename (find-files out)))
6485 (org+contrib-files
6486 (map basename (find-files org)))
6487 (duplicates (lset-intersection
6488 string=? contrib-files org+contrib-files)))
6489 (with-directory-excursion
6490 (string-append
6491 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
6492 (for-each delete-file duplicates))
6493 #t))))))
6494 (propagated-inputs
6495 `(("arduino-mode" ,emacs-arduino-mode)
6496 ("cider" ,emacs-cider)
6497 ("org" ,emacs-org)
6498 ("scel" ,emacs-scel)))
6499 (synopsis "Contributed packages to Org mode")
6500 (description "Org is an Emacs mode for keeping notes, maintaining TODO
6501 lists, and project planning with a fast and effective plain-text system.
6502
6503 This package is equivalent to org-plus-contrib, but only includes additional
6504 files that you would find in @file{contrib/} from the git repository.")))
6505
6506 (define-public emacs-flx
6507 (package
6508 (name "emacs-flx")
6509 (version "0.6.1")
6510 (source
6511 (origin
6512 (method url-fetch)
6513 (uri (string-append "https://github.com/lewang/"
6514 "flx/archive/v" version ".tar.gz"))
6515 (sha256
6516 (base32
6517 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
6518 (file-name (string-append name "-" version ".tar.gz"))))
6519 (build-system emacs-build-system)
6520 (home-page "https://github.com/lewang/flx")
6521 (synopsis "Fuzzy matching for Emacs")
6522 (description
6523 "Flx provides fuzzy matching for emacs a la sublime text.
6524 The sorting algorithm is a balance between word beginnings (abbreviation)
6525 and contiguous matches (substring). The longer the substring match,
6526 the higher it scores. This maps well to how we think about matching.
6527 Flx has support for ido (interactively do things) through flx-ido.")
6528 (license license:gpl3+)))
6529
6530 (define-public emacs-cyberpunk-theme
6531 (package
6532 (name "emacs-cyberpunk-theme")
6533 (version "1.19")
6534 (source
6535 (origin
6536 (method url-fetch)
6537 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
6538 "archive/" version ".tar.gz"))
6539 (sha256
6540 (base32
6541 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
6542 (file-name (string-append name "-" version ".tar.gz"))))
6543 (build-system emacs-build-system)
6544 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
6545 (synopsis "Cyberpunk theme for emacs built-in color theme support")
6546 (description
6547 "Cyberpunk color theme for the emacs 24+ built-in color theme support
6548 known loosely as deftheme. Many mode-specific customizations are included.")
6549 (license license:gpl3+)))
6550
6551 (define-public emacs-danneskjold-theme
6552 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
6553 (revision "1"))
6554 (package
6555 (name "emacs-danneskjold-theme")
6556 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
6557 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
6558 (source
6559 (origin
6560 (method git-fetch)
6561 (uri (git-reference
6562 (url home-page)
6563 (commit commit)))
6564 (file-name (git-file-name name version))
6565 (sha256
6566 (base32
6567 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
6568 (build-system emacs-build-system)
6569 (arguments
6570 `(#:phases
6571 (modify-phases %standard-phases
6572 (add-after 'unpack 'delete-screenshots
6573 (lambda _
6574 (delete-file-recursively "screenshots") #t)))))
6575 (synopsis "High-contrast Emacs theme")
6576 (description
6577 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
6578 (license license:gpl3+))))
6579
6580 (define-public emacs-dream-theme
6581 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
6582 (revision "1"))
6583 (package
6584 (name "emacs-dream-theme")
6585 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
6586 (source
6587 (origin
6588 (method git-fetch)
6589 (uri (git-reference
6590 (url "https://github.com/djcb/dream-theme")
6591 (commit commit)))
6592 (file-name (git-file-name name version))
6593 (sha256
6594 (base32
6595 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
6596 (build-system emacs-build-system)
6597 (home-page "https://github.com/djcb/dream-theme")
6598 (synopsis "High-contrast Emacs theme")
6599 (description
6600 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
6601 by zenburn, sinburn and similar themes, but slowly diverging from them.")
6602 (license license:gpl3+))))
6603
6604 (define-public emacs-auto-complete
6605 (package
6606 (name "emacs-auto-complete")
6607 (version "1.5.1")
6608 (source
6609 (origin
6610 (method url-fetch)
6611 (uri (string-append "https://github.com/auto-complete/"
6612 "auto-complete/archive/v" version ".tar.gz"))
6613 (sha256
6614 (base32
6615 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
6616 (file-name (string-append name "-" version ".tar.gz"))))
6617 (build-system emacs-build-system)
6618 (propagated-inputs
6619 `(("emacs-popup" ,emacs-popup)))
6620 (home-page "https://github.com/auto-complete/auto-complete")
6621 (synopsis "Intelligent auto-completion extension for Emacs")
6622 (description
6623 "Auto-Complete is an intelligent auto-completion extension for Emacs.
6624 It extends the standard Emacs completion interface and provides an environment
6625 that allows users to concentrate more on their own work. Its features are:
6626 a visual interface, reduce overhead of completion by using statistic method,
6627 extensibility.")
6628 (license license:gpl3+)))
6629
6630 (define-public emacs-nginx-mode
6631 (package
6632 (name "emacs-nginx-mode")
6633 (version "1.1.9")
6634 (source
6635 (origin
6636 (method git-fetch)
6637 (uri (git-reference
6638 (url "https://github.com/ajc/nginx-mode.git")
6639 (commit (string-append "v" version))))
6640 (file-name (git-file-name name version))
6641 (sha256
6642 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
6643 (build-system emacs-build-system)
6644 (home-page "https://github.com/ajc/nginx-mode")
6645 (synopsis "Emacs major mode for editing nginx config files")
6646 (description "This package provides an Emacs major mode for
6647 editing nginx config files.")
6648 (license license:gpl2+)))
6649
6650 (define-public emacs-stream
6651 (package
6652 (name "emacs-stream")
6653 (version "2.2.0")
6654 (home-page "https://github.com/NicolasPetton/stream")
6655 (source
6656 (origin
6657 (method url-fetch)
6658 (file-name (string-append name "-" version ".tar.gz"))
6659 (uri (string-append home-page "/archive/"version ".tar.gz"))
6660 (sha256
6661 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
6662 (build-system emacs-build-system)
6663 (synopsis "Implementation of streams for Emacs")
6664 (description "This library provides an implementation of streams for Emacs.
6665 Streams are implemented as delayed evaluation of cons cells.")
6666 (license license:gpl3+)))
6667
6668 (define-public emacs-el-search
6669 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
6670 (revision "1"))
6671 (package
6672 (name "emacs-el-search")
6673 ;; No ufficial release.
6674 (version (string-append "0.0-" revision "." (string-take commit 7)))
6675 (home-page "https://github.com/emacsmirror/el-search")
6676 (source
6677 (origin
6678 (method git-fetch)
6679 (file-name (string-append name "-" version ".tar.gz"))
6680 (uri (git-reference
6681 (commit commit)
6682 (url (string-append home-page ".git"))))
6683 (sha256
6684 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
6685 (build-system emacs-build-system)
6686 (inputs `(("emacs-stream" ,emacs-stream)))
6687 (synopsis "Expression based interactive search for emacs-lisp-mode")
6688 (description "This package provides expression based interactive search
6689 procedures for emacs-lisp-mode.")
6690 (license license:gpl3+))))
6691
6692 (define-public emacs-ht
6693 (package
6694 (name "emacs-ht")
6695 (version "2.2")
6696 (source
6697 (origin
6698 (method git-fetch)
6699 (uri (git-reference
6700 (url "https://github.com/Wilfred/ht.el.git")
6701 (commit version)))
6702 (file-name (git-file-name name version))
6703 (sha256
6704 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
6705 (build-system emacs-build-system)
6706 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
6707 (home-page "https://github.com/Wilfred/ht.el")
6708 (synopsis "Hash table library for Emacs")
6709 (description
6710 "This package simplifies the use of hash tables in elisp. It also
6711 provides functions to convert hash tables from and to alists and plists.")
6712 (license license:gpl3+)))
6713
6714 (define-public emacs-log4e
6715 (package
6716 (name "emacs-log4e")
6717 (version "0.3.0")
6718 (source
6719 (origin
6720 (method git-fetch)
6721 (uri (git-reference
6722 (url "https://github.com/aki2o/log4e.git")
6723 (commit (string-append "v" version))))
6724 (file-name (git-file-name name version))
6725 (sha256
6726 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
6727 (build-system emacs-build-system)
6728 (arguments
6729 `(#:phases
6730 (modify-phases %standard-phases
6731 (add-after 'unpack 'remove-tests
6732 ;; Guile builder complains about null characters in some
6733 ;; strings of test files. Remove "test" directory (it is not
6734 ;; needed anyway).
6735 (lambda _
6736 (delete-file-recursively "test"))))))
6737 (home-page "https://github.com/aki2o/log4e")
6738 (synopsis "Logging framework for elisp")
6739 (description
6740 "This package provides a logging framework for elisp. It allows
6741 you to deal with multiple log levels.")
6742 (license license:gpl3+)))
6743
6744 (define-public emacs-gntp
6745 (package
6746 (name "emacs-gntp")
6747 (version "0.1")
6748 (source
6749 (origin
6750 (method git-fetch)
6751 (uri (git-reference
6752 (url "https://github.com/tekai/gntp.el.git")
6753 (commit (string-append "v" version))))
6754 (file-name (git-file-name name version))
6755 (sha256
6756 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
6757 (build-system emacs-build-system)
6758 (home-page "https://github.com/tekai/gntp.el")
6759 (synopsis "Growl Notification Protocol for Emacs")
6760 (description
6761 "This package implements the Growl Notification Protocol GNTP
6762 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
6763 It is incomplete as it only lets you send but not receive
6764 notifications.")
6765 (license license:bsd-3)))
6766
6767 (define-public emacs-alert
6768 (package
6769 (name "emacs-alert")
6770 (version "1.3")
6771 (source
6772 (origin
6773 (method git-fetch)
6774 (uri (git-reference
6775 (url "https://github.com/jwiegley/alert.git")
6776 (commit (string-append "v" version))))
6777 (file-name (git-file-name name version))
6778 (sha256
6779 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
6780 (build-system emacs-build-system)
6781 (propagated-inputs
6782 `(("emacs-gntp" ,emacs-gntp)
6783 ("emacs-log4e" ,emacs-log4e)))
6784 (home-page "https://github.com/jwiegley/alert")
6785 (synopsis "Growl-style notification system for Emacs")
6786 (description
6787 "Alert is a Growl-workalike for Emacs which uses a common notification
6788 interface and multiple, selectable \"styles\", whose use is fully
6789 customizable by the user.")
6790 (license license:gpl2+)))
6791
6792 (define-public emacs-zones
6793 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
6794 (revision "2"))
6795 (package
6796 (name "emacs-zones")
6797 (version (git-version "0" revision commit))
6798 (source
6799 (origin
6800 (method git-fetch)
6801 (uri (git-reference
6802 (url "https://github.com/emacsmirror/zones.git")
6803 (commit commit)))
6804 (file-name (git-file-name name version))
6805 (sha256
6806 (base32
6807 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
6808 (patches
6809 (search-patches
6810 "emacs-zones-called-interactively.patch"))))
6811 (build-system emacs-build-system)
6812 (home-page "https://www.emacswiki.org/emacs/Zones")
6813 (synopsis "Define and act on multiple zones of buffer text")
6814 (description "Library @file{zones.el} lets you easily define and
6815 subsequently act on multiple zones of buffer text. You can think of this as
6816 enlarging the notion of region. In effect, it can remove the requirement of
6817 target text being a contiguous sequence of characters. A set of buffer zones
6818 is, in effect, a (typically) noncontiguous set of text.")
6819 (license license:gpl3+))))
6820
6821 (define-public emacs-mu4e-alert
6822 (package
6823 (name "emacs-mu4e-alert")
6824 (version "1.0")
6825 (source
6826 (origin
6827 (method git-fetch)
6828 (uri (git-reference
6829 (url "https://github.com/iqbalansari/mu4e-alert.git")
6830 (commit (string-append "v" version))))
6831 (file-name (git-file-name name version))
6832 (sha256
6833 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
6834 (build-system emacs-build-system)
6835 (propagated-inputs
6836 `(("emacs-alert" ,emacs-alert)
6837 ("emacs-s" ,emacs-s)
6838 ("emacs-ht" ,emacs-ht)
6839 ("mu" ,mu)))
6840 (home-page "https://github.com/iqbalansari/mu4e-alert")
6841 (synopsis "Desktop notification for mu4e")
6842 (description
6843 "This package provides desktop notifications for mu4e.
6844 Additionally it can display the number of unread emails in the
6845 mode-line.")
6846 (license license:gpl3+)))
6847
6848 (define-public emacs-pretty-mode
6849 (package
6850 (name "emacs-pretty-mode")
6851 (version "2.0.3")
6852 (source
6853 (origin
6854 (method url-fetch)
6855 (uri (string-append "https://github.com/akatov/pretty-mode/"
6856 "archive/" version ".tar.gz"))
6857 (file-name (string-append name "-" version ".tar.gz"))
6858 (sha256
6859 (base32
6860 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
6861 (build-system emacs-build-system)
6862 (home-page "https://github.com/akatov/pretty-mode")
6863 (synopsis "Redisplay parts of the buffer as Unicode symbols")
6864 (description
6865 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
6866 (license license:gpl3+)))
6867
6868 (define-public emacs-yasnippet
6869 (package
6870 (name "emacs-yasnippet")
6871 (version "0.13.0")
6872 (source (origin
6873 (method url-fetch)
6874 (uri (string-append "https://github.com/joaotavora/yasnippet/"
6875 "archive/" version ".tar.gz"))
6876 (file-name (string-append name "-" version ".tar.gz"))
6877 (sha256
6878 (base32
6879 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
6880 (modules '((guix build utils)))
6881 (snippet
6882 '(begin
6883 ;; YASnippet expects a "snippets" subdirectory in the same
6884 ;; directory as yasnippet.el, but we don't install it
6885 ;; because it's a git submodule pointing to an external
6886 ;; repository. Adjust `yas-snippet-dirs' to prevent
6887 ;; warnings about a missing directory.
6888 (substitute* "yasnippet.el"
6889 (("^ +'yas-installed-snippets-dir\\)\\)\n")
6890 "))\n"))
6891 #t))))
6892 (build-system emacs-build-system)
6893 (home-page "https://github.com/joaotavora/yasnippet")
6894 (synopsis "Yet another snippet extension for Emacs")
6895 (description
6896 "YASnippet is a template system for Emacs. It allows you to type an
6897 abbreviation and automatically expand it into function templates.")
6898 (license license:gpl3+)))
6899
6900 (define-public emacs-yasnippet-snippets
6901 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
6902 (revision "1"))
6903 (package
6904 (name "emacs-yasnippet-snippets")
6905 (version (string-append "1-" revision "." (string-take commit 8)))
6906 (source
6907 (origin
6908 (method git-fetch)
6909 (uri (git-reference
6910 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
6911 (commit commit)))
6912 (file-name (git-file-name name version))
6913 (sha256
6914 (base32
6915 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
6916 (build-system trivial-build-system)
6917 (arguments
6918 `(#:modules ((ice-9 ftw)
6919 (ice-9 regex)
6920 (guix build utils))
6921 #:builder
6922 (begin
6923 (use-modules (ice-9 ftw)
6924 (ice-9 regex)
6925 (guix build utils))
6926 (with-directory-excursion (assoc-ref %build-inputs "source")
6927 (for-each (lambda (dir)
6928 (copy-recursively
6929 dir
6930 (string-append %output
6931 "/share/emacs/yasnippet-snippets/"
6932 dir)))
6933 (scandir "." (lambda (fname)
6934 (and (string-match "-mode$" fname)
6935 (directory-exists? fname))))))
6936 #t)))
6937 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
6938 (synopsis "Collection of YASnippet snippets for many languages")
6939 (description
6940 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
6941 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
6942 To make YASnippet aware of these snippets, add the above directory to
6943 @code{yas-snippet-dirs}.")
6944 (license license:expat))))
6945
6946 (define-public emacs-helm-c-yasnippet
6947 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
6948 (revision "1"))
6949 (package
6950 (name "emacs-helm-c-yasnippet")
6951 (version (string-append "0.6.7" "-" revision "."
6952 (string-take commit 7)))
6953 (source (origin
6954 (method git-fetch)
6955 (uri (git-reference
6956 (url "https://github.com/emacs-jp/helm-c-yasnippet")
6957 (commit commit)))
6958 (file-name (git-file-name name version))
6959 (sha256
6960 (base32
6961 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
6962 (build-system emacs-build-system)
6963 (propagated-inputs
6964 `(("emacs-helm" ,emacs-helm)
6965 ("emacs-yasnippet" ,emacs-yasnippet)))
6966 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
6967 (synopsis "Helm integration for Yasnippet")
6968 (description "This Emacs library provides Helm interface for
6969 Yasnippet.")
6970 (license license:gpl2+))))
6971
6972 (define-public emacs-helm-system-packages
6973 ;; There won't be a new release after 1.10.1 until
6974 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
6975 ;; and latest commits fix import issues with Guix.
6976 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
6977 (package
6978 (name "emacs-helm-system-packages")
6979 (version (git-version "1.10.1" "1" commit))
6980 (source (origin
6981 (method git-fetch)
6982 (uri (git-reference
6983 (url "https://github.com/emacs-helm/helm-system-packages")
6984 (commit commit)))
6985 (file-name (git-file-name name version))
6986 (sha256
6987 (base32
6988 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
6989 (build-system emacs-build-system)
6990 (inputs
6991 `(("recutils" ,recutils)))
6992 (propagated-inputs
6993 `(("emacs-helm" ,emacs-helm)))
6994 (arguments
6995 `(#:phases
6996 (modify-phases %standard-phases
6997 (add-after 'unpack 'configure
6998 (lambda* (#:key inputs outputs #:allow-other-keys)
6999 (let ((recutils (assoc-ref inputs "recutils")))
7000 ;; Specify the absolute file names of the various
7001 ;; programs so that everything works out-of-the-box.
7002 (substitute* "helm-system-packages-guix.el"
7003 (("recsel") (string-append recutils "/bin/recsel")))))))))
7004 (home-page "https://github.com/emacs-helm/helm-system-packages")
7005 (synopsis "Helm System Packages is an interface to your package manager")
7006 (description "List all available packages in Helm (with installed
7007 packages displayed in their own respective face). Fuzzy-search, mark and
7008 execute the desired action over any selections of packages: Install,
7009 uninstall, display packages details (in Org Mode) or insert details at point,
7010 find files owned by packages... And much more, including performing all the
7011 above over the network.")
7012 (license license:gpl3+))))
7013
7014 (define-public emacs-memoize
7015 (package
7016 (name "emacs-memoize")
7017 (version "1.1")
7018 (source
7019 (origin
7020 (method git-fetch)
7021 (uri (git-reference
7022 (url "https://github.com/skeeto/emacs-memoize.git")
7023 (commit version)))
7024 (file-name (git-file-name name version))
7025 (sha256
7026 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
7027 (build-system emacs-build-system)
7028 (arguments
7029 `(#:tests? #t
7030 #:test-command '("emacs" "--batch"
7031 "-l" "memoize-test.el"
7032 "-f" "ert-run-tests-batch-and-exit")))
7033 (home-page "https://github.com/skeeto/emacs-memoize")
7034 (synopsis "Emacs lisp memoization library")
7035 (description "@code{emacs-memoize} is an Emacs library for
7036 memoizing functions.")
7037 (license license:unlicense)))
7038
7039 (define-public emacs-linum-relative
7040 (package
7041 (name "emacs-linum-relative")
7042 (version "0.5")
7043 (source
7044 (origin
7045 (method git-fetch)
7046 (uri (git-reference
7047 (url "https://github.com/coldnew/linum-relative.git")
7048 (commit version)))
7049 (file-name (git-file-name name version))
7050 (sha256
7051 (base32 "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s"))))
7052 (build-system emacs-build-system)
7053 (home-page "https://github.com/coldnew/linum-relative")
7054 (synopsis "Relative line numbering for Emacs")
7055 (description "@code{emacs-linum-relative} displays the relative line
7056 number on the left margin in Emacs.")
7057 (license license:gpl2+)))
7058
7059 (define-public emacs-idle-highlight
7060 (package
7061 (name "emacs-idle-highlight")
7062 (version "1.1.3")
7063 (source
7064 (origin
7065 (method git-fetch)
7066 (uri (git-reference
7067 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
7068 (commit version)))
7069 (file-name (git-file-name name version))
7070 (sha256
7071 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
7072 (build-system emacs-build-system)
7073 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
7074 (synopsis "Highlights all occurrences of the word the point is on")
7075 (description
7076 "This Emacs package provides @code{idle-highlight-mode} that sets
7077 an idle timer to highlight all occurrences in the buffer of the word under
7078 the point.")
7079 (license license:gpl3+)))
7080
7081 (define-public emacs-ox-twbs
7082 (package
7083 (name "emacs-ox-twbs")
7084 (version "1.1.1")
7085 (source
7086 (origin
7087 (method git-fetch)
7088 (uri (git-reference
7089 (url "https://github.com/marsmining/ox-twbs.git")
7090 (commit (string-append "v" version))))
7091 (file-name (git-file-name name version))
7092 (sha256
7093 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
7094 (build-system emacs-build-system)
7095 (home-page "https://github.com/marsmining/ox-twbs")
7096 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
7097 (description
7098 "This Emacs package outputs your org-mode docs with a simple, clean and
7099 modern look. It implements a new HTML back-end for exporting org-mode docs as
7100 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
7101 jQuery and Bootstrap resources included via osscdn.")
7102 (license license:gpl3+)))
7103
7104 (define-public emacs-highlight-sexp
7105 (package
7106 (name "emacs-highlight-sexp")
7107 (version "1.0")
7108 (source
7109 (origin
7110 (method git-fetch)
7111 (uri (git-reference
7112 (url "https://github.com/daimrod/highlight-sexp.git")
7113 (commit (string-append "v" version))))
7114 (file-name (git-file-name name version))
7115 (sha256
7116 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
7117 (build-system emacs-build-system)
7118 (home-page "https://github.com/daimrod/highlight-sexp")
7119 (synopsis "Minor mode that highlights the s-exp at the current position")
7120 (description
7121 "This Emacs package highlights the s-exp at the current position.")
7122 (license license:gpl3+)))
7123
7124 (define-public emacs-highlight-stages
7125 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
7126 (revision "1"))
7127 (package
7128 (name "emacs-highlight-stages")
7129 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
7130 (source
7131 (origin
7132 (method git-fetch)
7133 (uri (git-reference
7134 (url "https://github.com/zk-phi/highlight-stages.git")
7135 (commit commit)))
7136 (file-name (git-file-name name version))
7137 (sha256
7138 (base32
7139 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
7140 (patches
7141 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
7142 (build-system emacs-build-system)
7143 (home-page "https://github.com/wigust/highlight-stages")
7144 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
7145 (description "@code{highlight-stages} provides an Emacs minor mode that
7146 highlights quasi-quoted expressions.")
7147 (license license:gpl3+))))
7148
7149 (define-public emacspeak
7150 (package
7151 (name "emacspeak")
7152 (version "50.0")
7153 (source
7154 (origin
7155 (method url-fetch)
7156 (uri (string-append
7157 "https://github.com/tvraman/emacspeak/releases/download/"
7158 version "/emacspeak-" version ".tar.bz2"))
7159 (sha256
7160 (base32
7161 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
7162 (build-system gnu-build-system)
7163 (arguments
7164 '(#:make-flags (list (string-append "prefix="
7165 (assoc-ref %outputs "out")))
7166 #:phases
7167 (modify-phases %standard-phases
7168 (replace 'configure
7169 (lambda _
7170 (setenv "SHELL" (which "sh"))
7171 ;; Configure Emacspeak according to etc/install.org.
7172 (invoke "make" "config")))
7173 (add-after 'build 'build-espeak
7174 (lambda _
7175 (invoke "make" "espeak")))
7176 (replace 'install
7177 (lambda* (#:key inputs outputs #:allow-other-keys)
7178 (let* ((out (assoc-ref outputs "out"))
7179 (bin (string-append out "/bin"))
7180 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
7181 (info (string-append out "/share/info"))
7182 (emacs (string-append (assoc-ref inputs "emacs")
7183 "/bin/emacs")))
7184 ;; According to etc/install.org, the Emacspeak directory should
7185 ;; be copied to its installation destination.
7186 (for-each
7187 (lambda (file)
7188 (copy-recursively file (string-append lisp "/" file)))
7189 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
7190 "stumpwm" "xsl"))
7191 ;; Make sure emacspeak is loaded from the correct directory.
7192 (substitute* "etc/emacspeak.sh"
7193 (("/lisp/emacspeak-setup.el")
7194 (string-append lisp "/lisp/emacspeak-setup.el")))
7195 ;; Install the convenient startup script.
7196 (mkdir-p bin)
7197 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
7198 #t))
7199 (add-after 'install 'wrap-program
7200 (lambda* (#:key inputs outputs #:allow-other-keys)
7201 (let* ((out (assoc-ref outputs "out"))
7202 (emacspeak (string-append out "/bin/emacspeak"))
7203 (espeak (string-append (assoc-ref inputs "espeak")
7204 "/bin/espeak")))
7205 ;; The environment variable DTK_PROGRAM tells emacspeak what
7206 ;; program to use for speech.
7207 (wrap-program emacspeak
7208 `("DTK_PROGRAM" ":" prefix (,espeak)))
7209 #t))))
7210 #:tests? #f)) ; no check target
7211 (inputs
7212 `(("emacs" ,emacs)
7213 ("espeak" ,espeak)
7214 ("perl" ,perl)
7215 ("tcl" ,tcl)
7216 ("tclx" ,tclx)))
7217 (home-page "http://emacspeak.sourceforge.net")
7218 (synopsis "Audio desktop interface for Emacs")
7219 (description
7220 "Emacspeak is a speech interface that allows visually impaired users to
7221 interact independently and efficiently with the computer. Audio formatting
7222 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
7223 allows Emacspeak to produce rich aural presentations of electronic information.
7224 By seamlessly blending all aspects of the Internet such as Web-surfing and
7225 messaging, Emacspeak speech-enables local and remote information via a
7226 consistent and well-integrated user interface.")
7227 (license license:gpl2+)))
7228
7229 (define-public emacs-adaptive-wrap
7230 (package
7231 (name "emacs-adaptive-wrap")
7232 (version "0.5.1")
7233 (source (origin
7234 (method url-fetch)
7235 (uri (string-append
7236 "http://elpa.gnu.org/packages/adaptive-wrap-"
7237 version ".el"))
7238 (sha256
7239 (base32
7240 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
7241 (build-system emacs-build-system)
7242 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
7243 (synopsis "Smart line-wrapping with wrap-prefix")
7244 (description
7245 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
7246 minor mode which sets the wrap-prefix property on the fly so that
7247 single-long-line paragraphs get word-wrapped in a way similar to what
7248 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
7249 actually changing the buffer's text.")
7250 (license license:gpl3+)))
7251
7252 (define-public emacs-diff-hl
7253 (package
7254 (name "emacs-diff-hl")
7255 (version "1.8.6")
7256 (source
7257 (origin
7258 (method git-fetch)
7259 (uri (git-reference
7260 (url "https://github.com/dgutov/diff-hl")
7261 (commit version)))
7262 (sha256
7263 (base32
7264 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
7265 (build-system emacs-build-system)
7266 (home-page "https://github.com/dgutov/diff-hl")
7267 (synopsis
7268 "Highlight uncommitted changes using VC")
7269 (description
7270 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
7271 window (using the fringe, by default), allows you to jump between
7272 the hunks and revert them selectively.")
7273 (license license:gpl3+)))
7274
7275 (define-public emacs-diminish
7276 (package
7277 (name "emacs-diminish")
7278 (version "0.45")
7279 (source
7280 (origin
7281 (method git-fetch)
7282 (uri (git-reference
7283 (url "https://github.com/myrjola/diminish.el.git")
7284 (commit (string-append "v" version))))
7285 (file-name (git-file-name name version))
7286 (sha256
7287 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
7288 (build-system emacs-build-system)
7289 (home-page "https://github.com/myrjola/diminish.el")
7290 (synopsis "Diminish minor modes with no modeline display")
7291 (description "@code{emacs-diminish} implements hiding or
7292 abbreviation of the mode line displays (lighters) of minor modes.")
7293 (license license:gpl2+)))
7294
7295 (define-public emacs-use-package
7296 (package
7297 (name "emacs-use-package")
7298 (version "2.4")
7299 (source (origin
7300 (method git-fetch)
7301 (uri (git-reference
7302 (url "https://github.com/jwiegley/use-package")
7303 (commit version)))
7304 (file-name (git-file-name name version))
7305 (sha256
7306 (base32
7307 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
7308 (build-system emacs-build-system)
7309 (propagated-inputs
7310 `(("emacs-diminish" ,emacs-diminish)))
7311 (arguments
7312 `(#:tests? #t
7313 #:test-command '("emacs" "--batch"
7314 "-l" "use-package-tests.el"
7315 "-f" "ert-run-tests-batch-and-exit")))
7316 (home-page "https://github.com/jwiegley/use-package")
7317 (synopsis "Declaration for simplifying your .emacs")
7318 (description "The use-package macro allows you to isolate package
7319 configuration in your @file{.emacs} file in a way that is both
7320 performance-oriented and tidy.")
7321 (license license:gpl2+)))
7322
7323 (define-public emacs-strace-mode
7324 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
7325 (revision "1"))
7326 (package
7327 (name "emacs-strace-mode")
7328 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
7329 (source (origin
7330 (method git-fetch)
7331 (uri (git-reference
7332 (url "https://github.com/pkmoore/strace-mode")
7333 (commit commit)))
7334 (file-name (git-file-name name version))
7335 (sha256
7336 (base32
7337 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
7338 (build-system emacs-build-system)
7339 (home-page "https://github.com/pkmoore/strace-mode")
7340 (synopsis "Emacs major mode to highlight strace outputs")
7341 (description "@code{emacs-strace-mode} provides an Emacs major mode
7342 highlighting strace outputs.")
7343 (license license:gpl3+))))
7344
7345 (define-public emacs-default-encrypt
7346 (package
7347 (name "emacs-default-encrypt")
7348 (version "4.4")
7349 (source
7350 (origin
7351 (method url-fetch)
7352 (uri (string-append
7353 "https://informationelle-selbstbestimmung-im-internet.de"
7354 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
7355 (file-name (string-append "jl-encrypt-" version ".el"))
7356 (sha256
7357 (base32
7358 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
7359 (build-system emacs-build-system)
7360 (home-page
7361 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
7362 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
7363 (description
7364 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
7365 automatically encrypts messages that you send (e.g., email) when public keys
7366 for all recipients are available, and it protects you from accidentally
7367 sending un-encrypted messages. It can also be configured to automatically
7368 sign messages that you send. For details and instructions on how to use
7369 DefaultEncrypt, please refer to the home page or read the comments in the
7370 source file, @file{jl-encrypt.el}.")
7371 (license license:gpl3+)))
7372
7373 (define-public emacs-extend-smime
7374 (package
7375 (name "emacs-extend-smime")
7376 (version "3.3")
7377 (source
7378 (origin
7379 (method url-fetch)
7380 (uri (string-append
7381 "https://informationelle-selbstbestimmung-im-internet.de"
7382 "/emacs/jl-smime" version "/jl-smime.el"))
7383 (file-name (string-append "jl-smime-" version ".el"))
7384 (sha256
7385 (base32
7386 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
7387 (build-system emacs-build-system)
7388 (home-page
7389 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
7390 (synopsis "Improved S/MIME support for Gnus in Emacs")
7391 (propagated-inputs
7392 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
7393 (description
7394 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
7395 ;; should not be translated. The name "emacs-default-encrypt" refers to
7396 ;; the Guix package that provides DefaultEncrypt.
7397 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
7398 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
7399 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
7400 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
7401 certificates via LDAP and imports them into @code{gpgsm}. When certificates
7402 for all recipients are available, DefaultEncrypt automatically encrypts the
7403 message. For details and instructions on how to use ExtendSMIME, please refer
7404 to the home page or read the comments in the source file,
7405 @file{jl-smime.el}.")
7406 (license license:gpl3+)))
7407
7408 (define-public emacs-htmlize
7409 (package
7410 (name "emacs-htmlize")
7411 (version "1.53")
7412 (source
7413 (origin
7414 (method git-fetch)
7415 (uri (git-reference
7416 (url "https://github.com/hniksic/emacs-htmlize.git")
7417 (commit (string-append "release/" version))))
7418 (file-name (git-file-name name version))
7419 (sha256
7420 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
7421 (build-system emacs-build-system)
7422 (home-page "https://github.com/hniksic/emacs-htmlize")
7423 (synopsis "Convert buffer text and decorations to HTML")
7424 (description "@code{emacs-htmlize} converts the buffer text and
7425 the associated decorations to HTML. Output to CSS, inline CSS and
7426 fonts is supported.")
7427 (license license:gpl2+)))
7428
7429 (define-public emacs-xmlgen
7430 (package
7431 (name "emacs-xmlgen")
7432 (version "0.5")
7433 (source
7434 (origin
7435 (method git-fetch)
7436 (uri (git-reference
7437 (url "https://github.com/philjackson/xmlgen.git")
7438 (commit version)))
7439 (file-name (git-file-name name version))
7440 (sha256
7441 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
7442 (build-system emacs-build-system)
7443 (arguments
7444 `(#:tests? #t
7445 #:test-command '("emacs" "--batch"
7446 "-l" "xmlgen-test.el"
7447 "-f" "ert-run-tests-batch-and-exit")))
7448 (home-page "https://github.com/philjackson/xmlgen")
7449 (synopsis "S-expression to XML domain specific language (DSL) in
7450 Emacs Lisp")
7451 (description "@code{emacs-xmlgen} provides S-expression to XML
7452 conversion for Emacs Lisp.")
7453 (license license:gpl2+)))
7454
7455 (define-public emacs-cdlatex
7456 (package
7457 (name "emacs-cdlatex")
7458 (version "4.7")
7459 (source
7460 (origin
7461 (method git-fetch)
7462 (uri (git-reference
7463 (url "https://github.com/cdominik/cdlatex.git")
7464 (commit version)))
7465 (file-name (git-file-name name version))
7466 (sha256
7467 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
7468 (build-system emacs-build-system)
7469 (propagated-inputs
7470 `(("emacs-auctex" ,emacs-auctex)))
7471 (home-page "https://github.com/cdominik/cdlatex")
7472 (synopsis "Fast Emacs input methods for LaTeX environments and
7473 math")
7474 (description "CDLaTeX is an Emacs minor mode supporting fast
7475 insertion of environment templates and math in LaTeX. Similar
7476 commands are also offered as part of the AUCTeX package, but it is not
7477 the same - CDLaTeX focuses on speediness for inserting LaTeX
7478 constructs.")
7479 (license license:gpl3+)))
7480
7481 (define-public emacs-cnfonts
7482 (package
7483 (name "emacs-cnfonts")
7484 (version "0.9.1")
7485 (source
7486 (origin
7487 (method git-fetch)
7488 (uri (git-reference
7489 (url "https://github.com/tumashu/cnfonts.git")
7490 (commit (string-append "v" version))))
7491 (file-name (git-file-name name version))
7492 (sha256
7493 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
7494 (build-system emacs-build-system)
7495 (home-page "https://github.com/tumashu/cnfonts")
7496 (synopsis "Emacs Chinese fonts setup tool")
7497 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
7498 configuration of Chinese fonts.")
7499 (license license:gpl2+)))
7500
7501 (define-public emacs-php-mode
7502 (package
7503 (name "emacs-php-mode")
7504 (version "20171225.342")
7505 (source (origin
7506 (method url-fetch)
7507 (uri (string-append
7508 "https://melpa.org/packages/php-mode-"
7509 version ".tar"))
7510 (sha256
7511 (base32
7512 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
7513 (build-system emacs-build-system)
7514 (home-page "https://github.com/ejmr/php-mode")
7515 (synopsis "Major mode for editing PHP code")
7516 (description "@code{php-mode} is a major mode for editing PHP source
7517 code. It's an extension of C mode; thus it inherits all C mode's navigation
7518 functionality. But it colors according to the PHP grammar and indents
7519 according to the PEAR coding guidelines. It also includes a couple handy
7520 IDE-type features such as documentation search and a source and class
7521 browser.")
7522 (license license:gpl3+)))
7523
7524 (define-public emacs-pos-tip
7525 (package
7526 (name "emacs-pos-tip")
7527 (version "0.4.6")
7528 (source
7529 (origin
7530 (method git-fetch)
7531 (uri (git-reference
7532 (url "https://github.com/pitkali/pos-tip.git")
7533 (commit version)))
7534 (file-name (git-file-name name version))
7535 (sha256
7536 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
7537 (build-system emacs-build-system)
7538 ;; The following functions and variables needed by emacs-pos-tip are
7539 ;; not included in emacs-minimal:
7540 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
7541 (arguments `(#:emacs ,emacs))
7542 (home-page "https://github.com/pitkali/pos-tip")
7543 (synopsis "Show tooltip at point")
7544 (description "The standard library tooltip.el provides a function for
7545 displaying a tooltip at the mouse position. However, locating a tooltip at an
7546 arbitrary buffer position in a window is not easy. Pos-tip provides such a
7547 function to be used by other frontend programs.")
7548 (license license:gpl2+)))
7549
7550 (define-public emacs-pyim-basedict
7551 (package
7552 (name "emacs-pyim-basedict")
7553 (version "0.3.1")
7554 (source
7555 (origin
7556 (method git-fetch)
7557 (uri (git-reference
7558 (url "https://github.com/tumashu/pyim-basedict.git")
7559 (commit (string-append "v" version))))
7560 (file-name (git-file-name name version))
7561 (sha256
7562 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
7563 (build-system emacs-build-system)
7564 (home-page "https://github.com/tumashu/pyim-basedict")
7565 (synopsis "Input method dictionary of pyim")
7566 (description "Pyim-basedict is the default pinyin input method dictionary,
7567 containing words from the rime project.")
7568 (license license:gpl2+)))
7569
7570 (define-public emacs-pyim
7571 (package
7572 (name "emacs-pyim")
7573 (version "1.8")
7574 (source
7575 (origin
7576 (method git-fetch)
7577 (uri (git-reference
7578 (url "https://github.com/tumashu/pyim")
7579 (commit (string-append "v" version))))
7580 (file-name (git-file-name name version))
7581 (sha256
7582 (base32
7583 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
7584 (build-system emacs-build-system)
7585 (propagated-inputs
7586 `(("emacs-async" ,emacs-async)
7587 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
7588 ("emacs-popup" ,emacs-popup)
7589 ("emacs-posframe" ,emacs-posframe)))
7590 (home-page "https://github.com/tumashu/pyim")
7591 (synopsis "Chinese input method")
7592 (description "Chinese input method which supports quanpin, shuangpin, wubi
7593 and cangjie.")
7594 (license license:gpl2+)))
7595
7596 (define-public emacs-posframe
7597 (package
7598 (name "emacs-posframe")
7599 (version "0.5.0")
7600 (source
7601 (origin
7602 (method git-fetch)
7603 (uri (git-reference
7604 (url "https://github.com/tumashu/posframe")
7605 (commit (string-append "v" version))))
7606 (file-name (git-file-name name version))
7607 (sha256
7608 (base32
7609 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
7610 (build-system emacs-build-system)
7611 ;; emacs-minimal does not include the function font-info
7612 (arguments `(#:emacs ,emacs))
7613 (home-page "https://github.com/tumashu/posframe")
7614 (synopsis "Pop a posframe (a child frame) at point")
7615 (description "@code{emacs-posframe} can pop a posframe at point. A
7616 posframe is a child frame displayed within its root window's buffer.
7617 @code{emacs-posframe} is fast and works well with CJK languages.")
7618 (license license:gpl3+)))
7619
7620 (define-public emacs-el2org
7621 (package
7622 (name "emacs-el2org")
7623 (version "0.6.0")
7624 (source
7625 (origin
7626 (method git-fetch)
7627 (uri (git-reference
7628 (url "https://github.com/tumashu/el2org.git")
7629 (commit (string-append "v" version))))
7630 (file-name (git-file-name name version))
7631 (sha256
7632 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
7633 (build-system emacs-build-system)
7634 (home-page "https://github.com/tumashu/el2org")
7635 (synopsis "Convert Emacs-lisp file to org file")
7636 (description "El2org is a simple tool, which can convert Emacs-lisp file
7637 to org file, you can use this tool to write orgify commentary.")
7638 (license license:gpl2+)))
7639
7640 (define-public emacs-mustache
7641 (package
7642 (name "emacs-mustache")
7643 (version "0.23")
7644 (source
7645 (origin
7646 (method git-fetch)
7647 (uri (git-reference
7648 (url "https://github.com/Wilfred/mustache.el.git")
7649 (commit version)))
7650 (file-name (git-file-name name version))
7651 (sha256
7652 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
7653 (build-system emacs-build-system)
7654 (propagated-inputs
7655 `(("emacs-dash" ,emacs-dash)
7656 ("emacs-ht" ,emacs-ht)
7657 ("emacs-s" ,emacs-s)))
7658 (home-page "https://github.com/Wilfred/mustache.el")
7659 (synopsis "Mustache templating library for Emacs")
7660 (description "Mustache templating library for Emacs, mustache is
7661 a simple web template system, which is described as a logic-less system
7662 because it lacks any explicit control flow statements, both looping and
7663 conditional evaluation can be achieved using section tags processing lists
7664 and lambdas.")
7665 (license license:gpl3+)))
7666
7667 (define-public emacs-org2web
7668 (package
7669 (name "emacs-org2web")
7670 (version "0.9.1")
7671 (source
7672 (origin
7673 (method git-fetch)
7674 (uri (git-reference
7675 (url "https://github.com/tumashu/org2web.git")
7676 (commit (string-append "v" version))))
7677 (file-name (git-file-name name version))
7678 (sha256
7679 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
7680 (build-system emacs-build-system)
7681 (propagated-inputs
7682 `(("emacs-dash" ,emacs-dash)
7683 ("emacs-el2org" ,emacs-el2org)
7684 ("emacs-ht" ,emacs-ht)
7685 ("emacs-mustache" ,emacs-mustache)
7686 ("emacs-simple-httpd" ,emacs-simple-httpd)))
7687 (home-page "https://github.com/tumashu/org2web")
7688 (synopsis "Static site generator based on org-mode ")
7689 (description "Org2web is a static site generator based on org-mode,
7690 which code derived from Kelvin H's org-page.")
7691 (license license:gpl2+)))
7692
7693 (define-public emacs-xelb
7694 (package
7695 (name "emacs-xelb")
7696 (version "0.17")
7697 (source (origin
7698 (method url-fetch)
7699 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
7700 version ".tar"))
7701 (sha256
7702 (base32
7703 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
7704 (build-system emacs-build-system)
7705 ;; The following functions and variables needed by emacs-xelb are
7706 ;; not included in emacs-minimal:
7707 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
7708 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
7709 ;; x-display-pixel-width, x-display-pixel-height
7710 (arguments
7711 `(#:emacs ,emacs
7712 #:phases
7713 (modify-phases %standard-phases
7714 (add-after 'unpack 'regenerate-el-files
7715 (lambda* (#:key inputs #:allow-other-keys)
7716 (invoke "make"
7717 (string-append "PROTO_PATH="
7718 (assoc-ref inputs "xcb-proto")
7719 "/share/xcb")
7720 (string-append "EMACS_BIN="
7721 (assoc-ref inputs "emacs")
7722 "/bin/emacs -Q")))))))
7723 (native-inputs `(("xcb-proto" ,xcb-proto)))
7724 (home-page "https://github.com/ch11ng/xelb")
7725 (synopsis "X protocol Emacs Lisp binding")
7726 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
7727 X11 protocol based on the XML description files from the XCB project. It
7728 features an object-oriented API and permits a certain degree of concurrency.
7729 It should enable you to implement low-level X11 applications.")
7730 (license license:gpl3+)))
7731
7732 (define-public emacs-exwm
7733 (package
7734 (name "emacs-exwm")
7735 (version "0.22")
7736 (synopsis "Emacs X window manager")
7737 (source (origin
7738 (method url-fetch)
7739 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
7740 version ".tar"))
7741 (sha256
7742 (base32
7743 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
7744 (build-system emacs-build-system)
7745 (propagated-inputs
7746 `(("emacs-xelb" ,emacs-xelb)))
7747 (inputs
7748 `(("xhost" ,xhost)
7749 ("dbus" ,dbus)))
7750 ;; The following functions and variables needed by emacs-exwm are
7751 ;; not included in emacs-minimal:
7752 ;; scroll-bar-mode, fringe-mode
7753 ;; x-display-pixel-width, x-display-pixel-height
7754 (arguments
7755 `(#:emacs ,emacs
7756 #:phases
7757 (modify-phases %standard-phases
7758 (add-after 'build 'install-xsession
7759 (lambda* (#:key inputs outputs #:allow-other-keys)
7760 (let* ((out (assoc-ref outputs "out"))
7761 (xsessions (string-append out "/share/xsessions"))
7762 (bin (string-append out "/bin"))
7763 (exwm-executable (string-append bin "/exwm")))
7764 ;; Add a .desktop file to xsessions
7765 (mkdir-p xsessions)
7766 (mkdir-p bin)
7767 (with-output-to-file
7768 (string-append xsessions "/exwm.desktop")
7769 (lambda _
7770 (format #t "[Desktop Entry]~@
7771 Name=~a~@
7772 Comment=~a~@
7773 Exec=~a~@
7774 TryExec=~:*~a~@
7775 Type=Application~%" ,name ,synopsis exwm-executable)))
7776 ;; Add a shell wrapper to bin
7777 (with-output-to-file exwm-executable
7778 (lambda _
7779 (format #t "#!~a ~@
7780 ~a +SI:localuser:$USER ~@
7781 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7782 (string-append (assoc-ref inputs "bash") "/bin/sh")
7783 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7784 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
7785 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
7786 '(cond
7787 ((file-exists-p "~/.exwm")
7788 (load-file "~/.exwm"))
7789 ((not (featurep 'exwm))
7790 (require 'exwm)
7791 (require 'exwm-config)
7792 (exwm-config-default)
7793 (message (concat "exwm configuration not found. "
7794 "Falling back to default configuration...")))))))
7795 (chmod exwm-executable #o555)
7796 #t))))))
7797 (home-page "https://github.com/ch11ng/exwm")
7798 (description "EXWM is a full-featured tiling X window manager for Emacs
7799 built on top of XELB.")
7800 (license license:gpl3+)))
7801
7802 (define-public emacs-switch-window
7803 (package
7804 (name "emacs-switch-window")
7805 (version "1.6.2")
7806 (source
7807 (origin
7808 (method git-fetch)
7809 (uri (git-reference
7810 (url "https://github.com/dimitri/switch-window")
7811 (commit (string-append "v" version))))
7812 (file-name (git-file-name name version))
7813 (sha256
7814 (base32
7815 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
7816 (build-system emacs-build-system)
7817 (home-page "https://github.com/dimitri/switch-window")
7818 (synopsis "Emacs window switch tool")
7819 (description "Switch-window is an emacs window switch tool, which
7820 offer a visual way to choose a window to switch to, delete, split or
7821 other operations.")
7822 (license license:wtfpl2)))
7823
7824 (define-public emacs-exwm-x
7825 (package
7826 (name "emacs-exwm-x")
7827 (version "1.9.0")
7828 (synopsis "Derivative window manager based on EXWM")
7829 (source
7830 (origin
7831 (method git-fetch)
7832 (uri (git-reference
7833 (url "https://github.com/tumashu/exwm-x")
7834 (commit (string-append "v" version))))
7835 (file-name (git-file-name name version))
7836 (sha256
7837 (base32
7838 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
7839 (build-system emacs-build-system)
7840 (propagated-inputs
7841 `(("emacs-exwm" ,emacs-exwm)
7842 ("emacs-switch-window" ,emacs-switch-window)
7843 ("emacs-ivy" ,emacs-ivy)
7844 ("emacs-use-package" ,emacs-use-package)))
7845 (inputs
7846 `(("xhost" ,xhost)
7847 ("dbus" ,dbus)))
7848 ;; Need emacs instead of emacs-minimal,
7849 ;; for emacs's bin path will be inserted into bin/exwm-x file.
7850 (arguments
7851 `(#:emacs ,emacs
7852 #:phases
7853 (modify-phases %standard-phases
7854 (add-after 'build 'install-xsession
7855 (lambda* (#:key inputs outputs #:allow-other-keys)
7856 (let* ((out (assoc-ref outputs "out"))
7857 (xsessions (string-append out "/share/xsessions"))
7858 (bin (string-append out "/bin"))
7859 (exwm-executable (string-append bin "/exwm-x")))
7860 ;; Add a .desktop file to xsessions
7861 (mkdir-p xsessions)
7862 (mkdir-p bin)
7863 (with-output-to-file
7864 (string-append xsessions "/exwm-x.desktop")
7865 (lambda _
7866 (format #t "[Desktop Entry]~@
7867 Name=~a~@
7868 Comment=~a~@
7869 Exec=~a~@
7870 TryExec=~@*~a~@
7871 Type=Application~%" ,name ,synopsis exwm-executable)))
7872 ;; Add a shell wrapper to bin
7873 (with-output-to-file exwm-executable
7874 (lambda _
7875 (format #t "#!~a ~@
7876 ~a +SI:localuser:$USER ~@
7877 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7878 (string-append (assoc-ref inputs "bash") "/bin/sh")
7879 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7880 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
7881 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
7882 '(require 'exwmx-loader))))
7883 (chmod exwm-executable #o555)
7884 #t))))))
7885 (home-page "https://github.com/tumashu/exwm-x")
7886 (description "EXWM-X is a derivative window manager based on EXWM, with focus
7887 on mouse-control.")
7888 (license license:gpl3+)))
7889
7890 (define-public emacs-gnugo
7891 (package
7892 (name "emacs-gnugo")
7893 (version "3.1.0")
7894 (source
7895 (origin
7896 (method url-fetch)
7897 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
7898 version ".tar"))
7899 (sha256
7900 (base32
7901 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
7902 (build-system emacs-build-system)
7903 (arguments
7904 `(#:phases (modify-phases %standard-phases
7905 (add-after 'unpack 'configure-default-gnugo-xpms-variable
7906 (lambda _
7907 (substitute* "gnugo.el"
7908 (("defvar gnugo-xpms nil")
7909 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
7910 #t)))))
7911 (propagated-inputs
7912 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
7913 ("emacs-xpm" ,emacs-xpm)))
7914 (home-page "https://elpa.gnu.org/packages/gnugo.html")
7915 (synopsis "Emacs major mode for playing GNU Go")
7916 (description "This package provides an Emacs based interface for GNU Go.
7917 It has a graphical mode where the board and stones are drawn using XPM images
7918 and supports the use of a mouse.")
7919 (license license:gpl3+)))
7920
7921 (define-public emacs-gnuplot
7922 (package
7923 (name "emacs-gnuplot")
7924 (version "0.7.0")
7925 (source
7926 (origin
7927 (method git-fetch)
7928 (uri (git-reference
7929 (url "https://github.com/bruceravel/gnuplot-mode.git")
7930 (commit version)))
7931 (file-name (git-file-name name version))
7932 (sha256
7933 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
7934 (build-system gnu-build-system)
7935 (native-inputs `(("emacs" ,emacs-minimal)))
7936 (arguments
7937 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
7938 "/gnuplot-" version)))
7939 `(#:modules ((guix build gnu-build-system)
7940 (guix build utils)
7941 (guix build emacs-utils))
7942 #:imported-modules (,@%gnu-build-system-modules
7943 (guix build emacs-utils))
7944 #:configure-flags
7945 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
7946 "/bin/emacs")
7947 (string-append "--with-lispdir=" %output ,elisp-dir))
7948 #:phases
7949 (modify-phases %standard-phases
7950 (add-after 'install 'generate-autoloads
7951 (lambda* (#:key outputs #:allow-other-keys)
7952 (emacs-generate-autoloads
7953 "gnuplot"
7954 (string-append (assoc-ref outputs "out") ,elisp-dir))
7955 #t))))))
7956 (home-page "https://github.com/bruceravel/gnuplot-mode")
7957 (synopsis "Emacs major mode for interacting with gnuplot")
7958 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
7959 with gnuplot.")
7960 (license license:gpl2+)))
7961
7962 (define-public emacs-transpose-frame
7963 (package
7964 (name "emacs-transpose-frame")
7965 (version "0.1.0")
7966 (source
7967 (origin
7968 (method url-fetch)
7969 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
7970 (file-name (string-append "transpose-frame-" version ".el"))
7971 (sha256
7972 (base32
7973 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
7974 (build-system emacs-build-system)
7975 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
7976 (synopsis "Transpose window arrangement in current frame")
7977 (description "@code{emacs-transpose-frame} provides some interactive
7978 functions which allows users to transpose windows arrangement in currently
7979 selected frame.")
7980 (license license:bsd-2)))
7981
7982 (define-public emacs-key-chord
7983 (package
7984 (name "emacs-key-chord")
7985 (version "0.6")
7986 (source
7987 (origin
7988 (method url-fetch)
7989 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
7990 (file-name (string-append "key-chord-" version ".el"))
7991 (sha256
7992 (base32
7993 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
7994 (build-system emacs-build-system)
7995 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
7996 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
7997 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
7998 mode for binding key chords to commands. A key chord is defined as two keys
7999 pressed simultaneously or a single key quickly pressed twice.")
8000 (license license:gpl2+)))
8001
8002 (define-public emacs-evil-surround
8003 (package
8004 (name "emacs-evil-surround")
8005 (version "1.0.4")
8006 (source
8007 (origin
8008 (method git-fetch)
8009 (uri (git-reference
8010 (url "https://github.com/emacs-evil/evil-surround")
8011 (commit version)))
8012 (file-name (git-file-name name version))
8013 (sha256
8014 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
8015 (build-system emacs-build-system)
8016 (propagated-inputs
8017 `(("emacs-evil" ,emacs-evil)))
8018 (home-page "https://github.com/emacs-evil/evil-surround")
8019 (synopsis "Easily modify surrounding parentheses and quotes")
8020 (description "@code{emacs-evil-surround} allows easy deletion, change and
8021 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
8022 (license license:gpl3+)))
8023
8024 (define-public emacs-evil-commentary
8025 (package
8026 (name "emacs-evil-commentary")
8027 (version "2.1.1")
8028 (source
8029 (origin
8030 (method git-fetch)
8031 (uri (git-reference
8032 (url "https://github.com/linktohack/evil-commentary.git")
8033 (commit (string-append "v" version))))
8034 (file-name (git-file-name name version))
8035 (sha256
8036 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
8037 (build-system emacs-build-system)
8038 (propagated-inputs
8039 `(("emacs-evil" ,emacs-evil)))
8040 (home-page "https://github.com/linktohack/evil-commentary")
8041 (synopsis "Comment out code in evil mode")
8042 (description "@code{emacs-evil-commentary} adds keybindings to easily
8043 comment out lines of code in evil mode. It provides @code{gcc} to comment out
8044 lines, and @code{gc} to comment out the target of a motion.")
8045 (license license:gpl3+)))
8046
8047 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
8048 ;; therefore cannot be run
8049 (define-public emacs-ansi
8050 (package
8051 (name "emacs-ansi")
8052 (version "0.4.1")
8053 (source
8054 (origin
8055 (method git-fetch)
8056 (uri (git-reference
8057 (url "https://github.com/rejeep/ansi.el.git")
8058 (commit (string-append "v" version))))
8059 (file-name (git-file-name name version))
8060 (sha256
8061 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
8062 (build-system emacs-build-system)
8063 (propagated-inputs
8064 `(("emacs-dash" ,emacs-dash)
8065 ("emacs-s" ,emacs-s)))
8066 (home-page "https://github.com/rejeep/ansi.el")
8067 (synopsis "Convert strings to ANSI")
8068 (description "@code{emacs-ansi} defines functions that turns simple
8069 strings to ANSI strings. Turning a string into an ANSI string can be to add
8070 color to a text, add color in the background of a text or adding a style, such
8071 as bold, underscore or italic.")
8072 (license license:gpl3+)))
8073
8074 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
8075 ;; therefore cannot be run
8076 (define-public emacs-commander
8077 (package
8078 (name "emacs-commander")
8079 (version "0.7.0")
8080 (source
8081 (origin
8082 (method git-fetch)
8083 (uri (git-reference
8084 (url "https://github.com/rejeep/commander.el.git")
8085 (commit (string-append "v" version))))
8086 (file-name (git-file-name name version))
8087 (sha256
8088 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
8089 (build-system emacs-build-system)
8090 (propagated-inputs
8091 `(("emacs-dash" ,emacs-dash)
8092 ("emacs-f" ,emacs-f)
8093 ("emacs-s" ,emacs-s)))
8094 (home-page "https://github.com/rejeep/commander.el")
8095 (synopsis "Emacs command line parser")
8096 (description "@code{emacs-commander} provides command line parsing for
8097 Emacs.")
8098 (license license:gpl3+)))
8099
8100 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
8101 ;; cannot be run
8102 (define-public emacs-ert-runner
8103 (let ((version "0.7.0")
8104 (revision "1")
8105 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
8106 (package
8107 (name "emacs-ert-runner")
8108 (version (git-version "0.7.0" revision commit))
8109 (source
8110 (origin
8111 (method git-fetch)
8112 (uri (git-reference
8113 (url "https://github.com/rejeep/ert-runner.el.git")
8114 (commit commit)))
8115 (file-name (git-file-name name version))
8116 (sha256
8117 (base32
8118 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
8119 (build-system emacs-build-system)
8120 (inputs
8121 `(("emacs-ansi" ,emacs-ansi)
8122 ("emacs-commander" ,emacs-commander)
8123 ("emacs-dash" ,emacs-dash)
8124 ("emacs-f" ,emacs-f)
8125 ("emacs-s" ,emacs-s)
8126 ("emacs-shut-up" ,emacs-shut-up)))
8127 (arguments
8128 `(#:phases
8129 (modify-phases %standard-phases
8130 (add-after 'install 'install-executable
8131 (lambda* (#:key inputs outputs #:allow-other-keys)
8132 (let ((out (assoc-ref outputs "out"))
8133 (source-directory (string-append
8134 (getenv "TMPDIR") "/source")))
8135 (substitute* "bin/ert-runner"
8136 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
8137 (string-append "ERT_RUNNER=\"" out
8138 "/share/emacs/site-lisp/guix.d/ert-runner-"
8139 ,version)))
8140 (install-file "bin/ert-runner" (string-append out "/bin"))
8141 (wrap-program (string-append out "/bin/ert-runner")
8142 (list "EMACSLOADPATH" ":" 'prefix
8143 ;; Do not capture the transient source directory in
8144 ;; the wrapper.
8145 (delete source-directory
8146 (string-split (getenv "EMACSLOADPATH") #\:))))
8147 #t))))
8148 #:include (cons* "^reporters/.*\\.el$" %default-include)))
8149 (home-page "https://github.com/rejeep/ert-runner.el")
8150 (synopsis "Opinionated Ert testing workflow")
8151 (description "@code{ert-runner} is a tool for Emacs projects tested
8152 using ERT. It assumes a certain test structure setup and can therefore make
8153 running tests easier.")
8154 (license license:gpl3+))))
8155
8156 (define-public ert-runner
8157 (deprecated-package "ert-runner" emacs-ert-runner))
8158
8159 (define-public emacs-xtest
8160 (package
8161 (name "emacs-xtest")
8162 (version "1.1.0")
8163 (source (origin
8164 (method git-fetch)
8165 (uri (git-reference
8166 (url "https://github.com/promethial/xtest.git")
8167 (commit (string-append "v" version))))
8168 (file-name (git-file-name name version))
8169 (sha256
8170 (base32
8171 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
8172 (arguments
8173 `(#:exclude '()))
8174 (build-system emacs-build-system)
8175 (home-page "https://github.com/promethial/xtest/")
8176 (synopsis "Simple testing with Emacs")
8177 (description "This package provides a simple testing library for Emacs.")
8178 (license license:gpl3+)))
8179
8180 (define-public emacs-disable-mouse
8181 (package
8182 (name "emacs-disable-mouse")
8183 (version "0.2")
8184 (source
8185 (origin
8186 (method git-fetch)
8187 (uri (git-reference
8188 (url "https://github.com/purcell/disable-mouse.git")
8189 (commit version)))
8190 (file-name (git-file-name name version))
8191 (sha256
8192 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
8193 (build-system emacs-build-system)
8194 (home-page "https://github.com/purcell/disable-mouse")
8195 (synopsis "Disable mouse commands globally")
8196 (description
8197 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
8198 pair of minor modes which suppress all mouse events by intercepting them and
8199 running a customisable handler command (@code{ignore} by default). ")
8200 (license license:gpl3+)))
8201
8202 (define-public emacs-json-reformat
8203 (package
8204 (name "emacs-json-reformat")
8205 (version "0.0.6")
8206 (source
8207 (origin
8208 (method git-fetch)
8209 (uri (git-reference
8210 (url "https://github.com/gongo/json-reformat.git")
8211 (commit version)))
8212 (file-name (git-file-name name version))
8213 (sha256
8214 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
8215 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
8216 (build-system emacs-build-system)
8217 (propagated-inputs
8218 `(("emacs-undercover" ,emacs-undercover)))
8219 (native-inputs
8220 `(("emacs-dash" ,emacs-dash)
8221 ("emacs-shut-up" ,emacs-shut-up)
8222 ("ert-runner" ,emacs-ert-runner)))
8223 (arguments
8224 `(#:tests? #t
8225 #:test-command '("ert-runner")
8226 #:phases
8227 (modify-phases %standard-phases
8228 (add-before 'check 'make-tests-writable
8229 (lambda _
8230 (for-each make-file-writable (find-files "test"))
8231 #t))
8232 (add-before 'check 'delete-json-objects-order-test
8233 (lambda _
8234 (emacs-batch-edit-file "test/json-reformat-test.el"
8235 `(progn (progn (goto-char (point-min))
8236 (re-search-forward
8237 "ert-deftest json-reformat-test:json-reformat-region")
8238 (beginning-of-line)
8239 (kill-sexp))
8240 (basic-save-buffer)))
8241 #t)))))
8242 (home-page "https://github.com/gongo/json-reformat")
8243 (synopsis "Reformatting tool for JSON")
8244 (description "@code{json-reformat} provides a reformatting tool for
8245 @url{http://json.org/, JSON}.")
8246 (license license:gpl3+)))
8247
8248 (define-public emacs-json-snatcher
8249 (package
8250 (name "emacs-json-snatcher")
8251 (version "1.0.0")
8252 (source
8253 (origin
8254 (method git-fetch)
8255 (uri (git-reference
8256 (url "https://github.com/Sterlingg/json-snatcher.git")
8257 (commit version)))
8258 (file-name (git-file-name name version))
8259 (sha256
8260 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
8261 (build-system emacs-build-system)
8262 (home-page "https://github.com/sterlingg/json-snatcher")
8263 (synopsis "Grabs the path to JSON values in a JSON file")
8264 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
8265 a @url{http://json.org/, JSON} file.")
8266 (license license:gpl3+)))
8267
8268 (define-public emacs-json-mode
8269 (package
8270 (name "emacs-json-mode")
8271 (version "1.7.0")
8272 (source
8273 (origin
8274 (method git-fetch)
8275 (uri (git-reference
8276 (url "https://github.com/joshwnj/json-mode.git")
8277 (commit (string-append "v" version))))
8278 (file-name (git-file-name name version))
8279 (sha256
8280 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
8281 (build-system emacs-build-system)
8282 (propagated-inputs
8283 `(("emacs-json-reformat" ,emacs-json-reformat)
8284 ("emacs-json-snatcher" ,emacs-json-snatcher)))
8285 (home-page "https://github.com/joshwnj/json-mode")
8286 (synopsis "Major mode for editing JSON files")
8287 (description "@code{json-mode} extends the builtin js-mode syntax
8288 highlighting.")
8289 (license license:gpl3+)))
8290
8291 (define-public emacs-restclient
8292 (let ((commit "07a3888bb36d0e29608142ebe743b4362b800f40")
8293 (revision "1")) ;Guix package revision,
8294 ;upstream doesn't have official releases
8295 (package
8296 (name "emacs-restclient")
8297 (version (string-append revision "."
8298 (string-take commit 7)))
8299 (source (origin
8300 (method git-fetch)
8301 (uri (git-reference
8302 (url "https://github.com/pashky/restclient.el.git")
8303 (commit commit)))
8304 (sha256
8305 (base32
8306 "00lmjhb5im1kgrp54yipf1h9pshxzgjlg71yf2rq5n973gvb0w0q"))
8307 (file-name (git-file-name name version))))
8308 (build-system emacs-build-system)
8309 (propagated-inputs
8310 `(("emacs-helm" ,emacs-helm)))
8311 (home-page "https://github.com/pashky/restclient.el")
8312 (synopsis "Explore and test HTTP REST webservices")
8313 (description
8314 "This tool allows for testing and exploration of HTTP REST Web services
8315 from within Emacs. Restclient runs queries from a plan-text query sheet,
8316 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
8317 (license license:public-domain))))
8318
8319 (define-public emacs-whitespace-cleanup-mode
8320 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
8321 (revision "1"))
8322 (package
8323 (name "emacs-whitespace-cleanup-mode")
8324 (version (git-version "0.10" revision commit))
8325 (source (origin
8326 (method git-fetch)
8327 (uri (git-reference
8328 (url "https://github.com/purcell/whitespace-cleanup-mode")
8329 (commit commit)))
8330 (sha256
8331 (base32
8332 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
8333 (file-name (git-file-name name version))))
8334 (build-system emacs-build-system)
8335 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
8336 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
8337 (description
8338 "This package provides a minor mode that calls
8339 @code{whitespace-cleanup} before saving the current buffer only if the
8340 whitespace in the buffer was initially clean.")
8341 (license license:gpl3+))))
8342
8343 (define-public emacs-eimp
8344 (let ((version "1.4.0")
8345 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
8346 (revision "1"))
8347 (package
8348 (name "emacs-eimp")
8349 (version (git-version version revision commit))
8350 (source
8351 (origin
8352 (method git-fetch)
8353 (uri (git-reference
8354 (url "https://github.com/nicferrier/eimp.git")
8355 (commit commit)))
8356 (file-name (git-file-name name version))
8357 (sha256
8358 (base32
8359 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
8360 (build-system emacs-build-system)
8361 (arguments
8362 `(#:phases
8363 (modify-phases %standard-phases
8364 (add-after 'unpack 'configure
8365 (lambda* (#:key inputs #:allow-other-keys)
8366 (let ((imagemagick (assoc-ref inputs "imagemagick")))
8367 ;; eimp.el is read-only in git.
8368 (chmod "eimp.el" #o644)
8369 (emacs-substitute-variables "eimp.el"
8370 ("eimp-mogrify-program"
8371 (string-append imagemagick "/bin/mogrify"))))
8372 #t)))))
8373 (inputs
8374 `(("imagemagick" ,imagemagick)))
8375 (home-page "https://github.com/nicferrier/eimp")
8376 (synopsis "Interactive image manipulation utility for Emacs")
8377 (description "@code{emacs-eimp} allows interactive image manipulation
8378 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
8379 the actual transformations.")
8380 (license license:gpl2+))))
8381
8382 (define-public emacs-dired-hacks
8383 (let ((commit "2c1234592aee91dcd9401bcd67213e6a4a464fd9")
8384 (revision "1"))
8385 (package
8386 (name "emacs-dired-hacks")
8387 (version (string-append "0.0.1-" revision "."
8388 (string-take commit 7)))
8389 (source (origin
8390 (method git-fetch)
8391 (uri (git-reference
8392 (url "https://github.com/Fuco1/dired-hacks.git")
8393 (commit commit)))
8394 (file-name (git-file-name name version))
8395 (sha256
8396 (base32
8397 "1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3"))))
8398 (build-system emacs-build-system)
8399 (propagated-inputs
8400 `(("emacs-dash" ,emacs-dash)
8401 ("emacs-eimp" ,emacs-eimp)
8402 ("emacs-f" ,emacs-f)
8403 ("emacs-s" ,emacs-s)))
8404 (home-page "https://github.com/Fuco1/dired-hacks")
8405 (synopsis
8406 "Collection of useful dired additions")
8407 (description
8408 "Collection of Emacs dired mode additions:
8409 @itemize
8410 @item dired-avfs
8411 @item dired-columns
8412 @item dired-filter
8413 @item dired-hacks-utils
8414 @item dired-images
8415 @item dired-list
8416 @item dired-narrow
8417 @item dired-open
8418 @item dired-rainbow
8419 @item dired-ranger
8420 @item dired-subtree
8421 @item dired-tagsistant
8422 @end itemize\n")
8423 (license license:gpl3+))))
8424
8425 (define-public emacs-dired-sidebar
8426 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
8427 (revision "0"))
8428 (package
8429 (name "emacs-dired-sidebar")
8430 (home-page "https://github.com/jojojames/dired-sidebar")
8431 (version (git-version "0.0.1" revision commit))
8432 (source (origin
8433 (method git-fetch)
8434 (uri (git-reference (url home-page) (commit commit)))
8435 (file-name (git-file-name name version))
8436 (sha256
8437 (base32
8438 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
8439 (build-system emacs-build-system)
8440 (propagated-inputs
8441 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
8442 (synopsis "Sidebar for Emacs using Dired")
8443 (description
8444 "This package provides a sidebar for Emacs similar to @code{NeoTree}
8445 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
8446 (license license:gpl3+))))
8447
8448 (define-public emacs-which-key
8449 (package
8450 (name "emacs-which-key")
8451 (version "3.3.1")
8452 (source
8453 (origin
8454 (method git-fetch)
8455 (uri (git-reference
8456 (url "https://github.com/justbur/emacs-which-key.git")
8457 (commit (string-append "v" version))))
8458 (file-name (git-file-name name version))
8459 (sha256
8460 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
8461 (build-system emacs-build-system)
8462 (arguments
8463 `(#:tests? #t
8464 #:test-command '("emacs" "--batch"
8465 "-l" "which-key-tests.el"
8466 "-f" "ert-run-tests-batch-and-exit")))
8467 (home-page "https://github.com/justbur/emacs-which-key")
8468 (synopsis "Display available key bindings in popup")
8469 (description
8470 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
8471 bindings following your currently entered incomplete command (a prefix) in a
8472 popup. For example, after enabling the minor mode if you enter C-x and wait
8473 for the default of 1 second, the minibuffer will expand with all of the
8474 available key bindings that follow C-x (or as many as space allows given your
8475 settings).")
8476 (license license:gpl3+)))
8477
8478 (define-public emacs-ws-butler
8479 (package
8480 (name "emacs-ws-butler")
8481 (version "0.6")
8482 (source (origin
8483 (method git-fetch)
8484 (uri (git-reference
8485 (url "https://github.com/lewang/ws-butler.git")
8486 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
8487 (file-name (git-file-name name version))
8488 (sha256
8489 (base32
8490 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
8491 (build-system emacs-build-system)
8492 (native-inputs
8493 `(("ert-runner" ,emacs-ert-runner)))
8494 (arguments
8495 `(#:tests? #t
8496 #:test-command '("ert-runner" "tests")))
8497 (home-page "https://github.com/lewang/ws-butler")
8498 (synopsis "Trim spaces from end of lines")
8499 (description
8500 "This Emacs package automatically and unobtrusively trims whitespace
8501 characters from end of lines.")
8502 (license license:gpl3+)))
8503
8504 (define-public emacs-org-edit-latex
8505 (package
8506 (name "emacs-org-edit-latex")
8507 (version "0.8.0")
8508 (source
8509 (origin
8510 (method git-fetch)
8511 (uri (git-reference
8512 (url "https://github.com/et2010/org-edit-latex.git")
8513 (commit (string-append "v" version))))
8514 (file-name (git-file-name name version))
8515 (sha256
8516 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
8517 (build-system emacs-build-system)
8518 (propagated-inputs
8519 `(("emacs-auctex" ,emacs-auctex)
8520 ;; The version of org in Emacs 25.2 is not sufficient, because the
8521 ;; `org-latex-make-preamble' function is required.
8522 ("emacs-org" ,emacs-org)))
8523 (home-page "https://github.com/et2010/org-edit-latex")
8524 (synopsis "Edit a latex fragment just like editing a src block")
8525 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
8526 It lets you edit a latex fragment in a dedicated buffer just like editing a
8527 src block.")
8528 (license license:gpl3+)))
8529
8530 (define-public emacs-emamux
8531 (package
8532 (name "emacs-emamux")
8533 (version "0.14")
8534 (source
8535 (origin
8536 (method git-fetch)
8537 (uri (git-reference
8538 (url "https://github.com/syohex/emacs-emamux.git")
8539 (commit version)))
8540 (file-name (git-file-name name version))
8541 (sha256
8542 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
8543 (build-system emacs-build-system)
8544 (home-page "https://github.com/syohex/emacs-emamux")
8545 (synopsis "Manipulate Tmux from Emacs")
8546 (description
8547 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
8548 multiplexer.")
8549 (license license:gpl3+)))
8550
8551 (define-public emacs-rpm-spec-mode
8552 (package
8553 (name "emacs-rpm-spec-mode")
8554 (version "0.16")
8555 (source
8556 (origin
8557 (method url-fetch)
8558 ;; URI has the Fedora release number instead of the version
8559 ;; number. This will have to updated manually every new release.
8560 (uri (string-append
8561 "https://src.fedoraproject.org/cgit/rpms"
8562 "/emacs-rpm-spec-mode.git/snapshot"
8563 "/emacs-rpm-spec-mode-f26.tar.gz"))
8564 (sha256
8565 (base32
8566 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
8567 (build-system emacs-build-system)
8568 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
8569 (synopsis "Emacs major mode for editing RPM spec files")
8570 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
8571 editing RPM spec files.")
8572 (license license:gpl2+)))
8573
8574 (define-public emacs-lcr
8575 (package
8576 (name "emacs-lcr")
8577 (version "1.1")
8578 (source
8579 (origin
8580 (method git-fetch)
8581 (uri (git-reference
8582 (url "https://github.com/jyp/lcr")
8583 (commit version)))
8584 (file-name (git-file-name name version))
8585 (sha256
8586 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
8587 (build-system emacs-build-system)
8588 (propagated-inputs
8589 `(("emacs-dash" ,emacs-dash)))
8590 (home-page "https://github.com/jyp/lcr")
8591 (synopsis "Lightweight coroutines in Emacs Lisp")
8592 (description "This package provides macros that can translate code into
8593 equivalent continuation-passing code, as well as miscellaneous utility
8594 functions written in continuation-passing style.")
8595 (license license:gpl3+)))
8596
8597 (define-public emacs-attrap
8598 (let ((commit "3b092bb8f6755a97e6ecb7623b9d2dde58beba4a")
8599 (revision "1"))
8600 (package
8601 (name "emacs-attrap")
8602 (version (git-version "1.0" revision commit))
8603 (source (origin
8604 (method git-fetch)
8605 (uri (git-reference
8606 (url "https://github.com/jyp/attrap")
8607 (commit commit)))
8608 (sha256
8609 (base32
8610 "05d32980saji8ja1pcv65l0s3dq7w0n5hpikbf246hciy1x067pp"))
8611 (file-name (git-file-name name version))))
8612 (build-system emacs-build-system)
8613 (propagated-inputs
8614 `(("emacs-dash" ,emacs-dash)
8615 ("emacs-f" ,emacs-f)
8616 ("emacs-flycheck" ,emacs-flycheck)
8617 ("emacs-s" ,emacs-s)))
8618 (home-page "https://github.com/jyp/attrap")
8619 (synopsis "Fix coding error at point")
8620 (description "This package provides a command to fix the Flycheck error
8621 at point.")
8622 (license license:gpl3+))))
8623
8624 (define-public emacs-git-messenger
8625 (package
8626 (name "emacs-git-messenger")
8627 (version "0.18")
8628 (source
8629 (origin
8630 (method git-fetch)
8631 (uri (git-reference
8632 (url "https://github.com/syohex/emacs-git-messenger.git")
8633 (commit version)))
8634 (file-name (git-file-name name version))
8635 (sha256
8636 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
8637 (build-system emacs-build-system)
8638 (propagated-inputs
8639 `(("emacs-popup" ,emacs-popup)))
8640 (arguments
8641 `(#:tests? #t
8642 #:test-command '("emacs" "--batch" "-l" "test/test.el"
8643 "-f" "ert-run-tests-batch-and-exit")))
8644 (home-page "https://github.com/syohex/emacs-git-messenger")
8645 (synopsis "Popup commit message at current line")
8646 (description "@code{emacs-git-messenger} provides
8647 @code{git-messenger:popup-message}, a function that when called, will popup
8648 the last git commit message for the current line. This uses git-blame
8649 internally.")
8650 (license license:gpl3+)))
8651
8652 (define-public emacs-gitpatch
8653 (package
8654 (name "emacs-gitpatch")
8655 (version "0.5.0")
8656 (source
8657 (origin
8658 (method git-fetch)
8659 (uri (git-reference
8660 (url "https://github.com/tumashu/gitpatch.git")
8661 (commit (string-append "v" version))))
8662 (file-name (git-file-name name version))
8663 (sha256
8664 (base32 "1jj12pjwza6cq8a3kr8nqnmm3vxs0wam8h983irry4xr4ifywsn4"))))
8665 (build-system emacs-build-system)
8666 (home-page "https://github.com/tumashu/gitpatch")
8667 (synopsis "Mail git patch from Emacs")
8668 (description "@code{emacs-gitpatch} lets users easily send git patches,
8669 created by @code{git format-patch}, from @code{magit}, @code{dired} and
8670 @code{ibuffer} buffers.")
8671 (license license:gpl3+)))
8672
8673 (define-public emacs-erc-hl-nicks
8674 (package
8675 (name "emacs-erc-hl-nicks")
8676 (version "1.3.3")
8677 (source
8678 (origin
8679 (method git-fetch)
8680 (uri (git-reference
8681 (url "https://github.com/leathekd/erc-hl-nicks")
8682 (commit version)))
8683 (file-name (git-file-name name version))
8684 (sha256
8685 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
8686 (build-system emacs-build-system)
8687 (synopsis "Nickname highlighting for Emacs ERC")
8688 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
8689 client for Emacs. The main features are:
8690 @itemize
8691 @item Auto-colorizes nicknames without having to specify colors
8692 @item Ignores certain characters that IRC clients add to nicknames to avoid
8693 duplicates (nickname, nickname’, nickname\", etc.)
8694 @item Attempts to produce colors with a sufficient amount of contrast between
8695 the nick color and the background color
8696 @end itemize\n")
8697 (home-page "https://github.com/leathekd/erc-hl-nicks")
8698 (license license:gpl3+)))
8699
8700 (define-public emacs-engine-mode
8701 (package
8702 (name "emacs-engine-mode")
8703 (version "2.0.0")
8704 (source
8705 (origin
8706 (method git-fetch)
8707 (uri (git-reference
8708 (url "https://github.com/hrs/engine-mode.git")
8709 (commit (string-append "v" version))))
8710 (file-name (git-file-name name version))
8711 (sha256
8712 (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"))))
8713 (build-system emacs-build-system)
8714 (synopsis "Minor mode for defining and querying search engines")
8715 (description "@code{engine-mode} is a global minor mode for Emacs. It
8716 enables you to easily define search engines, bind them to keybindings, and
8717 query them from the comfort of your editor.")
8718 (home-page "https://github.com/hrs/engine-mode")
8719 (license license:gpl3+)))
8720
8721 (define-public emacs-prop-menu
8722 (package
8723 (name "emacs-prop-menu")
8724 (version "0.1.2")
8725 (source
8726 (origin
8727 (method url-fetch)
8728 (uri (string-append
8729 "http://stable.melpa.org/packages/prop-menu-"
8730 version ".el"))
8731 (sha256
8732 (base32
8733 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
8734 (build-system emacs-build-system)
8735 (home-page
8736 "https://github.com/david-christiansen/prop-menu-el")
8737 (synopsis
8738 "Create and display a context menu based on text and overlay properties")
8739 (description
8740 "This is a library for computing context menus based on text
8741 properties and overlays. The intended use is to have tools that
8742 annotate source code and others that use these annotations, without
8743 requiring a direct coupling between them, but maintaining
8744 discoverability.
8745
8746 Major modes that wish to use this library should first define an
8747 appropriate value for @code{prop-menu-item-functions}. Then, they should
8748 bind @code{prop-menu-by-completing-read} to an appropriate
8749 key. Optionally, a mouse pop-up can be added by binding
8750 @code{prop-menu-show-menu} to a mouse event.")
8751 (license license:gpl3+)))
8752
8753 (define-public emacs-idris-mode
8754 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
8755 (revision "0"))
8756 (package
8757 (name "emacs-idris-mode")
8758 (version (git-version "0.9.19" revision commit))
8759 (source
8760 (origin
8761 (method git-fetch)
8762 (uri (git-reference
8763 (url "https://github.com/idris-hackers/idris-mode.git")
8764 (commit commit)))
8765 (file-name (git-file-name name commit))
8766 (sha256
8767 (base32
8768 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
8769 (build-system emacs-build-system)
8770 (propagated-inputs
8771 `(("emacs-prop-menu" ,emacs-prop-menu)))
8772 (home-page
8773 "https://github.com/idris-hackers/idris-mode")
8774 (synopsis "Major mode for editing Idris code")
8775 (description
8776 "This is an Emacs mode for editing Idris code. It requires the latest
8777 version of Idris, and some features may rely on the latest Git version of
8778 Idris.")
8779 (license license:gpl3+))))
8780
8781 (define-public emacs-browse-at-remote
8782 (package
8783 (name "emacs-browse-at-remote")
8784 (version "0.10.0")
8785 (source
8786 (origin
8787 (method git-fetch)
8788 (uri (git-reference
8789 (url "https://github.com/rmuslimov/browse-at-remote.git")
8790 (commit version)))
8791 (file-name (git-file-name name version))
8792 (sha256
8793 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
8794 (build-system emacs-build-system)
8795 (propagated-inputs
8796 `(("emacs-f" ,emacs-f)
8797 ("emacs-s" ,emacs-s)))
8798 (native-inputs
8799 `(("ert-runner" ,emacs-ert-runner)))
8800 (arguments
8801 `(#:tests? #t
8802 #:test-command '("ert-runner")))
8803 (home-page "https://github.com/rmuslimov/browse-at-remote")
8804 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
8805 (description
8806 "This Emacs package allows you to open a target page on
8807 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
8808 It supports dired buffers and opens them in tree mode at destination.")
8809 (license license:gpl3+)))
8810
8811 (define-public emacs-tiny
8812 (package
8813 (name "emacs-tiny")
8814 (version "0.2.1")
8815 (source
8816 (origin
8817 (method url-fetch)
8818 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
8819 (sha256
8820 (base32
8821 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
8822 (build-system emacs-build-system)
8823 (home-page "https://github.com/abo-abo/tiny")
8824 (synopsis "Quickly generate linear ranges in Emacs")
8825 (description
8826 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
8827 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
8828 proficiency is an advantage, since you can transform your numeric range with
8829 an elisp expression.")
8830 (license license:gpl3+)))
8831
8832 (define-public emacs-emojify
8833 (package
8834 (name "emacs-emojify")
8835 (version "1.2")
8836 (source
8837 (origin
8838 (method git-fetch)
8839 (uri (git-reference
8840 (url "https://github.com/iqbalansari/emacs-emojify")
8841 (commit (string-append "v" version))))
8842 (file-name (git-file-name name version))
8843 (sha256
8844 (base32
8845 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
8846 (build-system emacs-build-system)
8847 (arguments
8848 `(#:include (cons "^data/" %default-include)))
8849 (propagated-inputs
8850 `(("emacs-ht" ,emacs-ht)))
8851 (home-page "https://github.com/iqbalansari/emacs-emojify")
8852 (synopsis "Display emojis in Emacs")
8853 (description "This package displays emojis in Emacs similar to how Github,
8854 Slack, and other websites do. It can display plain ASCII like @code{:)} as
8855 well as Github-style emojis like @code{:smile:}. It provides a minor mode
8856 @code{emojify-mode} to enable the display of emojis in a buffer.")
8857 (license license:gpl3+)))
8858
8859 (define-public emacs-make-it-so
8860 (let ((commit "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be")
8861 (version "0.1.0")
8862 (revision "1"))
8863 (package
8864 (name "emacs-make-it-so")
8865 (version (git-version version revision commit))
8866 (source
8867 (origin
8868 (method git-fetch)
8869 (uri (git-reference
8870 (url "https://github.com/abo-abo/make-it-so")
8871 (commit commit)))
8872 (sha256
8873 (base32
8874 "0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z"))))
8875 (build-system emacs-build-system)
8876 (arguments
8877 `(#:include (cons "^recipes/" %default-include)))
8878 (propagated-inputs
8879 `(("emacs-ivy" ,emacs-ivy)))
8880 (home-page "https://github.com/abo-abo/make-it-so")
8881 (synopsis "Transform files with Makefile recipes")
8882 (description "This package provides an interface for selecting from
8883 different conversion recipes, often including tools like @code{ffmpeg} or
8884 @code{convert}. The conversion command need only be written once, and
8885 subsequent invocations can be readily customized. Several recipes are
8886 included by default, and more can be readily added.")
8887 (license license:gpl3+))))
8888
8889 (define-public emacs-websocket
8890 (package
8891 (name "emacs-websocket")
8892 (version "1.10")
8893 (source
8894 (origin
8895 (method git-fetch)
8896 (uri (git-reference
8897 (url "https://github.com/ahyatt/emacs-websocket.git")
8898 (commit version)))
8899 (file-name (git-file-name name version))
8900 (sha256
8901 (base32
8902 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
8903 (build-system emacs-build-system)
8904 (home-page "http://elpa.gnu.org/packages/websocket.html")
8905 (synopsis "Emacs WebSocket client and server")
8906 (description "This is an Elisp library for WebSocket clients to talk to
8907 WebSocket servers, and for WebSocket servers to accept connections from
8908 WebSocket clients. This library is designed to be used by other library
8909 writers, to write applications that use WebSockets, and is not useful by
8910 itself.")
8911 (license license:gpl3+)))
8912
8913 (define-public emacs-oauth2
8914 (package
8915 (name "emacs-oauth2")
8916 (version "0.11")
8917 (source
8918 (origin
8919 (method url-fetch)
8920 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
8921 version ".el"))
8922 (sha256
8923 (base32
8924 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
8925 (build-system emacs-build-system)
8926 (home-page "http://elpa.gnu.org/packages/oauth2.html")
8927 (synopsis "OAuth 2.0 authorization protocol implementation")
8928 (description
8929 "This package provides an Elisp implementation of the OAuth 2.0 draft.
8930 The main entry point is @code{oauth2-auth-and-store} which will return a token
8931 structure. This token structure can be then used with
8932 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
8933 retrieve any data that need OAuth authentication to be accessed. If the token
8934 needs to be refreshed, the code handles it automatically and stores the new
8935 value of the access token.")
8936 (license license:gpl3+)))
8937
8938 (define-public emacs-circe
8939 (package
8940 (name "emacs-circe")
8941 (version "2.10")
8942 (source
8943 (origin
8944 (method git-fetch)
8945 (uri (git-reference
8946 (url "https://github.com/jorgenschaefer/circe.git")
8947 (commit (string-append "v" version))))
8948 (file-name (git-file-name name version))
8949 (sha256
8950 (base32
8951 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
8952 (build-system emacs-build-system)
8953 (arguments
8954 `(#:tests? #t
8955 #:test-command '("buttercup" "-L" ".")
8956 #:phases
8957 (modify-phases %standard-phases
8958 ;; The HOME environment variable should be set to an existing
8959 ;; directory for the tests to succeed.
8960 (add-before 'check 'set-home
8961 (lambda _
8962 (setenv "HOME" "/tmp")
8963 #t)))))
8964 (native-inputs
8965 `(("emacs-buttercup" ,emacs-buttercup)))
8966 ;; In order to securely connect to an IRC server using TLS, Circe requires
8967 ;; the GnuTLS binary.
8968 (propagated-inputs
8969 `(("gnutls" ,gnutls)))
8970 (home-page "https://github.com/jorgenschaefer/circe")
8971 (synopsis "Client for IRC in Emacs")
8972 (description "Circe is a Client for IRC in Emacs. It integrates well with
8973 the rest of the editor, using standard Emacs key bindings and indicating
8974 activity in channels in the status bar so it stays out of your way unless you
8975 want to use it.")
8976 (license license:gpl3+)))
8977
8978 (define-public emacs-tracking
8979 (package
8980 (inherit emacs-circe)
8981 (name "emacs-tracking")
8982 (arguments
8983 ;; "tracking.el" is a library extracted from Circe package. It requires
8984 ;; "shorten.el".
8985 `(#:include '("^shorten.el$" "^tracking.el$")
8986 ,@(package-arguments emacs-circe)))
8987 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
8988 (synopsis "Buffer tracking library")
8989 (description "@code{tracking.el} provides a way for different modes to
8990 notify the user that a buffer needs attention. The user then can cycle
8991 through them using @key{C-c C-SPC}.")
8992 (license license:gpl3+)))
8993
8994 (define-public emacs-slack
8995 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
8996 (revision "6"))
8997 (package
8998 (name "emacs-slack")
8999 (version (git-version "0.0.2" revision commit))
9000 (source (origin
9001 (method git-fetch)
9002 (uri (git-reference
9003 (url "https://github.com/yuya373/emacs-slack.git")
9004 (commit commit)))
9005 (file-name (git-file-name name commit))
9006 (sha256
9007 (base32
9008 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
9009 (build-system emacs-build-system)
9010 (arguments
9011 `(#:phases
9012 (modify-phases %standard-phases
9013 ;; HOME needs to exist for source compilation.
9014 (add-before 'build 'set-HOME
9015 (lambda _ (setenv "HOME" "/tmp") #t)))))
9016 (propagated-inputs
9017 `(("emacs-alert" ,emacs-alert)
9018 ("emacs-emojify" ,emacs-emojify)
9019 ("emacs-helm" ,emacs-helm)
9020 ("emacs-request" ,emacs-request)
9021 ("emacs-websocket" ,emacs-websocket)
9022 ("emacs-oauth2" ,emacs-oauth2)
9023 ("emacs-circe" ,emacs-circe)))
9024 (home-page "https://github.com/yuya373/emacs-slack")
9025 (synopsis "Slack client for Emacs")
9026 (description "This package provides an Emacs client for the Slack
9027 messaging service.")
9028 (license license:gpl3+))))
9029
9030 (define-public emacs-bash-completion
9031 (package
9032 (name "emacs-bash-completion")
9033 (version "2.1.0")
9034 (source
9035 (origin
9036 (method git-fetch)
9037 (uri (git-reference
9038 (url "https://github.com/szermatt/emacs-bash-completion.git")
9039 (commit version)))
9040 (file-name (git-file-name name version))
9041 (sha256
9042 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
9043 (inputs `(("bash" ,bash)))
9044 (build-system emacs-build-system)
9045 (arguments
9046 `(#:phases
9047 (modify-phases %standard-phases
9048 (add-after 'unpack 'make-git-checkout-writable
9049 (λ _
9050 (for-each make-file-writable (find-files "."))
9051 #t))
9052 (add-before 'install 'configure
9053 (lambda* (#:key inputs #:allow-other-keys)
9054 (let ((bash (assoc-ref inputs "bash")))
9055 (emacs-substitute-variables "bash-completion.el"
9056 ("bash-completion-prog" (string-append bash "/bin/bash"))))
9057 #t)))))
9058 (home-page "https://github.com/szermatt/emacs-bash-completion")
9059 (synopsis "Bash completion for the shell buffer")
9060 (description
9061 "@code{bash-completion} defines dynamic completion hooks for shell-mode
9062 and shell-command prompts that are based on Bash completion.")
9063 (license license:gpl2+)))
9064
9065 (define-public emacs-easy-kill
9066 (package
9067 (name "emacs-easy-kill")
9068 (version "0.9.3")
9069 (source (origin
9070 (method url-fetch)
9071 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
9072 version ".tar"))
9073 (sha256
9074 (base32
9075 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
9076 (build-system emacs-build-system)
9077 (home-page "https://github.com/leoliu/easy-kill")
9078 (synopsis "Kill and mark things easily in Emacs")
9079 (description
9080 "This package provides commands @code{easy-kill} and @code{easy-mark} to
9081 let users kill or mark things easily.")
9082 (license license:gpl3+)))
9083
9084 (define-public emacs-csv-mode
9085 (package
9086 (name "emacs-csv-mode")
9087 (version "1.7")
9088 (source
9089 (origin
9090 (method url-fetch)
9091 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
9092 version ".el"))
9093 (sha256
9094 (base32
9095 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
9096 (build-system emacs-build-system)
9097 (home-page
9098 "http://elpa.gnu.org/packages/csv-mode.html")
9099 (synopsis
9100 "Major mode for editing comma/char separated values")
9101 (description
9102 "This Emacs package implements CSV mode, a major mode for editing records
9103 in a generalized CSV (character-separated values) format.")
9104 (license license:gpl3+)))
9105
9106 (define-public emacs-transmission
9107 (package
9108 (name "emacs-transmission")
9109 (version "0.12.1")
9110 (source
9111 (origin
9112 (method git-fetch)
9113 (uri (git-reference
9114 (url "https://github.com/holomorph/transmission.git")
9115 (commit version)))
9116 (file-name (git-file-name name version))
9117 (sha256
9118 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
9119 (build-system emacs-build-system)
9120 (home-page "https://github.com/holomorph/transmission")
9121 (synopsis "Emacs interface to a Transmission session")
9122 (description "This package provides an Emacs interface to interact with a
9123 running session of the Transmission Bittorrent client.
9124
9125 Features:
9126
9127 @itemize
9128 @item List, add, start/stop, verify, remove torrents.
9129 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
9130 @item Navigate to the corresponding file list, torrent info, peer info
9131 contexts.
9132 @item Toggle downloading and set priorities for individual files.
9133 @end itemize\n")
9134 (license license:gpl3+)))
9135
9136 (define-public emacs-polymode
9137 (package
9138 (name "emacs-polymode")
9139 (version "0.1.5")
9140 (source (origin
9141 (method git-fetch)
9142 (uri (git-reference
9143 (url "https://github.com/vspinu/polymode.git")
9144 (commit (string-append "v" version))))
9145 (file-name (git-file-name name version))
9146 (sha256
9147 (base32
9148 "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"))))
9149 (build-system emacs-build-system)
9150 (arguments
9151 `(#:include (cons* "^modes/.*\\.el$" %default-include)
9152 #:phases
9153 (modify-phases %standard-phases
9154 (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
9155 (lambda _
9156 (setenv "EMACSLOADPATH"
9157 (string-append (getenv "EMACSLOADPATH")
9158 ":" (getcwd) "/modes" ":")))))))
9159 (home-page "https://github.com/vspinu/polymode")
9160 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
9161 (description "Polymode is an Emacs package that offers generic support
9162 for multiple major modes inside a single Emacs buffer. It is lightweight,
9163 object oriented and highly extensible. Creating a new polymode typically
9164 takes only a few lines of code. Polymode also provides extensible facilities
9165 for external literate programming tools for exporting, weaving and tangling.")
9166 (license license:gpl3+)))
9167
9168 (define-public emacs-polymode-ansible
9169 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
9170 (package
9171 (name "emacs-polymode-ansible")
9172 ;; No upstream version release yet.
9173 (version (git-version "0.1" "1" commit))
9174 (source
9175 (origin
9176 (method git-fetch)
9177 (uri (git-reference
9178 (url "https://gitlab.com/mavit/poly-ansible")
9179 (commit commit)))
9180 (file-name (git-file-name name version))
9181 (sha256
9182 (base32
9183 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
9184 (build-system emacs-build-system)
9185 (propagated-inputs
9186 `(("emacs-ansible-doc" ,emacs-ansible-doc)
9187 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
9188 ("emacs-polymode" ,emacs-polymode)
9189 ("emacs-yaml-mode" ,emacs-yaml-mode)))
9190 (properties '((upstream-name . "poly-ansible")))
9191 (home-page "https://gitlab.com/mavit/poly-ansible/")
9192 (synopsis "Polymode for Ansible - Jinja2 in YAML")
9193 (description
9194 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
9195 (license license:gpl3+))))
9196
9197 (define-public eless
9198 (package
9199 (name "eless")
9200 (version "0.3")
9201 (source
9202 (origin
9203 (method git-fetch)
9204 (uri (git-reference
9205 (url "https://github.com/kaushalmodi/eless.git")
9206 (commit (string-append "v" version))))
9207 (file-name (git-file-name name version))
9208 (sha256
9209 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
9210 (build-system trivial-build-system)
9211 (inputs
9212 `(("bash" ,bash)))
9213 (arguments
9214 `(#:modules ((guix build utils))
9215 #:builder
9216 (begin
9217 (use-modules (guix build utils))
9218 (copy-recursively (assoc-ref %build-inputs "source") "source")
9219 (chdir "source")
9220 (substitute* "eless" (("/usr/bin/env bash")
9221 (string-append (assoc-ref %build-inputs "bash")
9222 "/bin/bash")))
9223 (install-file "eless" (string-append %output "/bin"))
9224 (install-file "doc/eless.info" (string-append %output "/share/info"))
9225 #t)))
9226 (home-page "https://github.com/kaushalmodi/eless")
9227 (synopsis "Use Emacs as a paginator")
9228 (description "@code{eless} provides a combination of Bash script
9229 and a minimal Emacs view-mode.
9230
9231 Feautures:
9232
9233 @itemize
9234 @item Independent of a user’s Emacs config.
9235 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
9236 @item Not require an Emacs server to be already running.
9237 @item Syntax highlighting.
9238 @item Org-mode file rendering.
9239 @item @code{man} page viewer.
9240 @item Info viewer.
9241 @item Dired, wdired, (batch edit symbolic links).
9242 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
9243 @item Filter log files lines matching a regexp.
9244 @item Auto-revert log files similar to @code{tail -f}.
9245 @item Quickly change frame and font sizes.
9246 @end itemize\n")
9247 (license license:expat)))
9248
9249 (define-public emacs-evil-matchit
9250 (package
9251 (name "emacs-evil-matchit")
9252 (version "2.3.0")
9253 (source
9254 (origin
9255 (method git-fetch)
9256 (uri (git-reference
9257 (url "https://github.com/redguardtoo/evil-matchit.git")
9258 (commit version)))
9259 (file-name (git-file-name name version))
9260 (sha256
9261 (base32 "0y6q42hml7jgf060d83m7hf270h01858g5kxw12na9n4r4jjpdg1"))))
9262 (build-system emacs-build-system)
9263 (propagated-inputs
9264 `(("emacs-evil" ,emacs-evil)))
9265 (home-page "https://github.com/redguardtoo/evil-matchit")
9266 (synopsis "Vim matchit ported into Emacs")
9267 (description
9268 "@code{evil-matchit} is a minor mode for jumping between matching tags in
9269 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
9270 (license license:gpl3+)))
9271
9272 (define-public emacs-evil-smartparens
9273 (package
9274 (name "emacs-evil-smartparens")
9275 (version "0.4.0")
9276 (source
9277 (origin
9278 (method git-fetch)
9279 (uri (git-reference
9280 (url "https://github.com/expez/evil-smartparens.git")
9281 (commit version)))
9282 (file-name (git-file-name name version))
9283 (sha256
9284 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
9285 (build-system emacs-build-system)
9286 (propagated-inputs
9287 `(("emacs-evil" ,emacs-evil)
9288 ("emacs-smartparens" ,emacs-smartparens)))
9289 (home-page "https://github.com/expez/evil-smartparens")
9290 (synopsis "Emacs Evil integration for Smartparens")
9291 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
9292 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
9293 emulates Vim features and provides Vim-like key bindings.")
9294 (license license:gpl3+)))
9295
9296 (define-public emacs-evil-quickscope
9297 (package
9298 (name "emacs-evil-quickscope")
9299 (version "0.1.4")
9300 (source
9301 (origin
9302 (method git-fetch)
9303 (uri (git-reference
9304 (url "https://github.com/blorbx/evil-quickscope.git")
9305 (commit (string-append "v" version))))
9306 (file-name (git-file-name name version))
9307 (sha256
9308 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
9309 (build-system emacs-build-system)
9310 (propagated-inputs
9311 `(("emacs-evil" ,emacs-evil)))
9312 (arguments
9313 `(#:tests? #t
9314 #:test-command '("emacs" "--batch"
9315 "-l" "evil-quickscope-tests.el"
9316 "-f" "ert-run-tests-batch-and-exit")))
9317 (home-page "https://github.com/blorbx/evil-quickscope")
9318 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
9319 (description "@code{emacs-evil-quickscope} highlights targets for Evil
9320 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
9321 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
9322 features and provides Vim-like key bindings.")
9323 (license license:gpl3+)))
9324
9325 (define-public emacs-bongo
9326 (package
9327 (name "emacs-bongo")
9328 (version "1.0")
9329 (source
9330 (origin
9331 (method git-fetch)
9332 (uri (git-reference
9333 (url "https://github.com/dbrock/bongo.git")
9334 (commit version)))
9335 (file-name (git-file-name name version))
9336 (sha256
9337 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
9338 (build-system emacs-build-system)
9339 (home-page "https://github.com/dbrock/bongo")
9340 (synopsis "Media player for Emacs")
9341 (description
9342 "This package provides a flexible media player for Emacs. @code{Bongo}
9343 supports multiple backends such as @code{vlc}, @code{mpg123},
9344 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
9345 @code{afplay}.")
9346 (license license:gpl2+)))
9347
9348 (define-public emacs-groovy-modes
9349 (package
9350 (name "emacs-groovy-modes")
9351 (version "2.0")
9352 (source (origin
9353 (method url-fetch)
9354 (uri (string-append
9355 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
9356 "/archive/" version ".tar.gz"))
9357 (file-name (string-append name "-" version ".tar.gz"))
9358 (sha256
9359 (base32
9360 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
9361 (build-system emacs-build-system)
9362 (propagated-inputs
9363 `(("emacs-s" ,emacs-s)))
9364 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
9365 (synopsis "Groovy related modes for Emacs")
9366 (description
9367 "This package provides @code{groovy-mode} for syntax highlighting in
9368 Groovy source files, REPL integration with run-groovy and Grails project
9369 navigation with the grails mode.")
9370 (license license:gpl3+)))
9371
9372 (define-public groovy-emacs-modes
9373 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
9374
9375 (define-public emacs-org-tree-slide
9376 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
9377 (revision "0"))
9378 (package
9379 (name "emacs-org-tree-slide")
9380 (version (git-version "0.1" revision commit))
9381 (home-page "https://github.com/takaxp/org-tree-slide")
9382 (source (origin
9383 (method git-fetch)
9384 (uri (git-reference (url home-page) (commit commit)))
9385 (sha256
9386 (base32
9387 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
9388 (file-name (git-file-name name version))))
9389 (build-system emacs-build-system)
9390 (synopsis "Presentation tool for org-mode")
9391 (description
9392 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
9393 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
9394 @kbd{C-<} to jump to the next and previous slide.")
9395 (license license:gpl3+))))
9396
9397 (define-public emacs-scratch-el
9398 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
9399 (revision "1"))
9400 (package
9401 (name "emacs-scratch-el")
9402 (version (git-version "1.2" revision commit))
9403 (source (origin
9404 (method git-fetch)
9405 (uri (git-reference
9406 (url "https://github.com/ieure/scratch-el.git")
9407 (commit commit)))
9408 (file-name (git-file-name name version))
9409 (sha256
9410 (base32
9411 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
9412 (build-system emacs-build-system)
9413 (native-inputs
9414 `(("texinfo" ,texinfo)))
9415 (arguments
9416 '(#:phases
9417 (modify-phases %standard-phases
9418 (add-after 'install 'install-doc
9419 (lambda* (#:key outputs #:allow-other-keys)
9420 (unless (invoke "makeinfo" "scratch.texi")
9421 (error "makeinfo failed"))
9422 (install-file "scratch.info"
9423 (string-append (assoc-ref outputs "out")
9424 "/share/info"))
9425 #t)))))
9426 (home-page "https://github.com/ieure/scratch-el/")
9427 (synopsis "Create scratch buffers with the same mode as current buffer")
9428 (description "Scratch is an extension to Emacs that enables one to create
9429 scratch buffers that are in the same mode as the current buffer. This is
9430 notably useful when working on code in some language; you may grab code into a
9431 scratch buffer, and, by virtue of this extension, do so using the Emacs
9432 formatting rules for that language.")
9433 (license license:bsd-2))))
9434
9435 (define-public emacs-kv
9436 (package
9437 (name "emacs-kv")
9438 (version "0.0.19")
9439 (source
9440 (origin
9441 (method git-fetch)
9442 (uri (git-reference
9443 (url "https://github.com/nicferrier/emacs-kv.git")
9444 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
9445 (file-name (git-file-name name version))
9446 (sha256
9447 (base32
9448 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
9449 (build-system emacs-build-system)
9450 (arguments
9451 `(#:tests? #t
9452 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
9453 "-f" "ert-run-tests-batch-and-exit")))
9454 (home-page "https://github.com/nicferrier/emacs-kv")
9455 (synopsis "Key/Value data structures library for Emacs Lisp")
9456 (description "@code{emacs-kv} is a collection of tools for dealing with
9457 key/value data structures such as plists, alists and hash-tables in Emacs
9458 Lisp.")
9459 (license license:gpl3+)))
9460
9461 (define-public emacs-esxml
9462 (package
9463 (name "emacs-esxml")
9464 (version "0.3.4")
9465 (source (origin
9466 (method git-fetch)
9467 (uri (git-reference
9468 (url "https://github.com/tali713/esxml.git")
9469 (commit version)))
9470 (file-name (git-file-name name version))
9471 (sha256
9472 (base32
9473 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
9474 (build-system emacs-build-system)
9475 (arguments
9476 `(#:phases
9477 (modify-phases %standard-phases
9478 (add-after 'unpack 'fix-sources
9479 (lambda _
9480 ;; See: https://github.com/tali713/esxml/pull/28.
9481 (substitute* "css-lite.el"
9482 ((";;; main interface")
9483 (string-append ";;; main interface\n"
9484 "(require 'cl-lib)"))
9485 (("mapcan")
9486 "cl-mapcan")
9487 (("',\\(cl-mapcan #'process-css-rule rules\\)")
9488 "(cl-mapcan #'process-css-rule ',rules)"))
9489 (substitute* "esxml-form.el"
9490 ((",esxml-form-field-defn")
9491 "#'esxml-form-field-defn"))
9492 ;; See: https://github.com/tali713/esxml/issues/25
9493 (delete-file "esxpath.el")
9494 #t)))))
9495 (propagated-inputs
9496 `(("emacs-kv" ,emacs-kv)))
9497 (home-page "https://github.com/tali713/esxml/")
9498 (synopsis "SXML for EmacsLisp")
9499 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
9500 Simply, this is the easiest way to write HTML or XML in Lisp. This library
9501 uses the native form of XML representation as used by many libraries already
9502 included within Emacs. See @code{esxml-to-xml} for a concise description of
9503 the format.")
9504 (license license:gpl3+)))
9505
9506 (define-public emacs-nov-el
9507 (package
9508 (name "emacs-nov-el")
9509 (version "0.2.6")
9510 (source (origin
9511 (method git-fetch)
9512 (uri (git-reference
9513 (url "https://github.com/wasamasa/nov.el.git")
9514 (commit version)))
9515 (file-name (git-file-name name version))
9516 (sha256
9517 (base32
9518 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
9519 (build-system emacs-build-system)
9520 (arguments
9521 `(#:phases
9522 (modify-phases %standard-phases
9523 (add-after 'unpack 'embed-path-to-unzip
9524 (lambda _
9525 (substitute* "nov.el"
9526 (("\\(executable-find \"unzip\"\\)")
9527 (string-append "\"" (which "unzip") "\"")))
9528 #t)))))
9529 (propagated-inputs
9530 `(("emacs-dash" ,emacs-dash)
9531 ("emacs-esxml" ,emacs-esxml)))
9532 (inputs
9533 `(("unzip" ,unzip)))
9534 (home-page "https://github.com/wasamasa/nov.el/")
9535 (synopsis "Major mode for reading EPUBs in Emacs")
9536 (description "@code{nov.el} provides a major mode for reading EPUB
9537 documents.
9538
9539 Features:
9540
9541 @itemize
9542 @item Basic navigation (jump to TOC, previous/next chapter)
9543 @item Remembering and restoring the last read position
9544 @item Jump to next chapter when scrolling beyond end
9545 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
9546 @item Hyperlinks to internal and external targets
9547 @item Supports textual and image documents
9548 @item View source of document files
9549 @item Metadata display
9550 @item Image rescaling
9551 @end itemize
9552 ")
9553 (license license:gpl3+)))
9554
9555 (define-public epipe
9556 (package
9557 (name "epipe")
9558 (version "0.1.0")
9559 (source
9560 (origin
9561 (method git-fetch)
9562 (uri (git-reference
9563 (url "https://github.com/cute-jumper/epipe.git")
9564 (commit version)))
9565 (file-name (git-file-name name version))
9566 (sha256
9567 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
9568 (build-system trivial-build-system)
9569 (inputs
9570 `(("bash" ,bash)
9571 ("perl" ,perl)))
9572 (arguments
9573 `(#:modules
9574 ((guix build utils))
9575 #:builder
9576 (begin
9577 (use-modules (guix build utils))
9578 ;; Extract source.
9579 (copy-recursively (assoc-ref %build-inputs "source") "source")
9580 (chdir "source")
9581 ;; Patch shebangs.
9582 (substitute* "epipe"
9583 (("/usr/bin/env bash")
9584 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
9585 (patch-shebang "epipe.pl"
9586 (list (string-append (assoc-ref %build-inputs "perl")
9587 "/bin")))
9588 ;; Install.
9589 (for-each (lambda (file)
9590 (install-file file (string-append %output "/bin")))
9591 '("epipe" "epipe.pl"))
9592 #t)))
9593 (home-page "https://github.com/cute-jumper/epipe")
9594 (synopsis "Pipe to the @code{emacsclient}")
9595 (description "@code{epipe} provides an utility to use your editor in
9596 the pipeline, featuring the support for running @code{emacsclient}.")
9597 (license license:gpl3+)))
9598
9599 (define-public emacs-hcl-mode
9600 (package
9601 (name "emacs-hcl-mode")
9602 (version "0.03")
9603 (source
9604 (origin
9605 (method git-fetch)
9606 (uri (git-reference
9607 (url "https://github.com/syohex/emacs-hcl-mode.git")
9608 (commit version)))
9609 (file-name (git-file-name name version))
9610 (sha256
9611 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
9612 (build-system emacs-build-system)
9613 (home-page "https://github.com/syohex/emacs-hcl-mode")
9614 (synopsis "Major mode for the Hashicorp Configuration Language")
9615 (description
9616 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
9617 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
9618 highlighting and indentation support.")
9619 (license license:gpl3+)))
9620
9621 (define-public emacs-terraform-mode
9622 (package
9623 (name "emacs-terraform-mode")
9624 (version "0.06")
9625 (source
9626 (origin
9627 (method git-fetch)
9628 (uri (git-reference
9629 (url "https://github.com/syohex/emacs-terraform-mode.git")
9630 (commit version)))
9631 (file-name (git-file-name name version))
9632 (sha256
9633 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
9634 (build-system emacs-build-system)
9635 (propagated-inputs
9636 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
9637 (home-page "https://github.com/syohex/emacs-terraform-mode")
9638 (synopsis "Major mode for Terraform")
9639 (description
9640 "@code{emacs-terraform-mode} provides a major mode for working with
9641 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
9642 functionality is inherited from @code{hcl-mode}.")
9643 (license license:gpl3+)))
9644
9645 (define-public emacs-exec-path-from-shell
9646 (package
9647 (name "emacs-exec-path-from-shell")
9648 (version "1.12")
9649 (source
9650 (origin
9651 (method git-fetch)
9652 (uri (git-reference
9653 (url "https://github.com/purcell/exec-path-from-shell")
9654 (commit version)))
9655 (sha256
9656 (base32
9657 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
9658 (build-system emacs-build-system)
9659 (home-page "https://github.com/purcell/exec-path-from-shell")
9660 (synopsis "Get environment variables such as @var{PATH} from the shell")
9661 (description
9662 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
9663 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
9664 the like work as expected on systems on which Emacs is not guaranteed to
9665 inherit a login shell's environment variables. It also allows other
9666 environment variables to be retrieved from the shell, so that Emacs will see
9667 the same values you get in a terminal.")
9668 (license license:gpl3+)))
9669
9670 (define-public emacs-deft
9671 (package
9672 (name "emacs-deft")
9673 (version "0.8")
9674 (source
9675 (origin
9676 (method url-fetch)
9677 (uri (string-append "https://stable.melpa.org/packages/deft-"
9678 version ".el"))
9679 (sha256
9680 (base32
9681 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
9682 (build-system emacs-build-system)
9683 (home-page "https://jblevins.org/projects/deft/")
9684 (synopsis "Quickly browse, filter, and edit plain text notes")
9685 (description
9686 "Deft is an Emacs mode for quickly browsing, filtering, and editing
9687 directories of plain text notes, inspired by Notational Velocity.")
9688 (license license:bsd-3)))
9689
9690 (define-public emacs-anzu
9691 (package
9692 (name "emacs-anzu")
9693 (version "0.62")
9694 (source
9695 (origin
9696 (method git-fetch)
9697 (uri (git-reference
9698 (url "https://github.com/syohex/emacs-anzu.git")
9699 (commit version)))
9700 (file-name (git-file-name name version))
9701 (sha256
9702 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
9703 (build-system emacs-build-system)
9704 (home-page "https://github.com/syohex/emacs-anzu")
9705 (synopsis "Show number of matches in mode-line while searching")
9706 (description
9707 "Anzu provides a minor mode which displays \"current match/total
9708 matches\" in the mode line in various search modes. This is an Emacs port of
9709 Anzu.zim.")
9710 (license license:gpl3+)))
9711
9712 (define-public emacs-ascii-art-to-unicode
9713 (package
9714 (name "emacs-ascii-art-to-unicode")
9715 (version "1.12")
9716 (source
9717 (origin
9718 (method url-fetch)
9719 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
9720 version ".el"))
9721 (sha256
9722 (base32
9723 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
9724 (build-system emacs-build-system)
9725 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
9726 (synopsis "ASCII to Unicode art converter for Emacs")
9727 (description "This Emacs package provides the commands @command{aa2u} and
9728 @command{aa2u-rectangle}. Both of these commands can be used to convert
9729 simple ASCII art line drawings to Unicode; the former works on the active
9730 region of the buffer, while the latter works on rectangular selections.")
9731 (license license:gpl3+)))
9732
9733 (define-public emacs-emmet-mode
9734 (package
9735 (name "emacs-emmet-mode")
9736 (version "1.0.8")
9737 (source (origin
9738 (method git-fetch)
9739 (uri (git-reference
9740 (url "https://github.com/smihica/emmet-mode.git")
9741 (commit version)))
9742 (file-name (git-file-name name version))
9743 (sha256
9744 (base32
9745 "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
9746 (build-system emacs-build-system)
9747 (home-page "https://github.com/smihica/emmet-mode")
9748 (synopsis "Unofficial Emmet's support for Emacs")
9749 (description
9750 "Unfold CSS-selector-like expressions to markup. It is intended to be
9751 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
9752 (license license:gpl3+)))
9753
9754 (define-public emacs-ergoemacs-mode
9755 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
9756 (revision "1"))
9757 (package
9758 (name "emacs-ergoemacs-mode")
9759 (version (git-version "5.16.10.12" revision commit))
9760 (source
9761 (origin
9762 (method git-fetch)
9763 (uri (git-reference
9764 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
9765 (commit commit)))
9766 (sha256
9767 (base32
9768 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
9769 (build-system emacs-build-system)
9770 (propagated-inputs
9771 `(("emacs-undo-tree" ,emacs-undo-tree)))
9772 (home-page "https://ergoemacs.github.io/")
9773 (synopsis "Emacs mode based on common modern interface and ergonomics")
9774 (description
9775 "This package provides an efficient Emacs keybinding set based on
9776 statistics of command frequency, and supports common shortcuts for open,
9777 close, copy, cut, paste, undo, redo.")
9778 (license license:gpl3+))))
9779
9780 (define-public emacs-password-store
9781 (package
9782 (name "emacs-password-store")
9783 (version "1.7.3")
9784 (source (origin
9785 (method url-fetch)
9786 (uri
9787 (string-append "https://git.zx2c4.com/password-store/snapshot/"
9788 "password-store-" version ".tar.xz"))
9789 (sha256
9790 (base32
9791 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
9792 (build-system emacs-build-system)
9793 (arguments
9794 `(#:phases
9795 (modify-phases %standard-phases
9796 (add-after 'unpack 'extract-el-file
9797 (lambda _
9798 (copy-file "contrib/emacs/password-store.el" "password-store.el")
9799 (delete-file-recursively "contrib")
9800 (delete-file-recursively "man")
9801 (delete-file-recursively "src")
9802 (delete-file-recursively "tests"))))))
9803 (propagated-inputs
9804 `(("emacs-f" ,emacs-f)
9805 ("emacs-s" ,emacs-s)
9806 ("emacs-with-editor" ,emacs-with-editor)
9807 ("password-store" ,password-store)))
9808 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
9809 (synopsis "Password store (pass) support for Emacs")
9810 (description
9811 "This package provides functions for working with pass (\"the
9812 standard Unix password manager\").")
9813 (license license:gpl2+)))
9814
9815 (define-public emacs-pass
9816 (package
9817 (name "emacs-pass")
9818 (version "1.8")
9819 (source
9820 (origin
9821 (method git-fetch)
9822 (uri (git-reference
9823 (url "https://github.com/NicolasPetton/pass.git")
9824 (commit version)))
9825 (file-name (git-file-name name version))
9826 (sha256
9827 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
9828 (build-system emacs-build-system)
9829 (propagated-inputs
9830 `(("emacs-password-store" ,emacs-password-store)
9831 ("emacs-f" ,emacs-f)))
9832 (home-page "https://github.com/NicolasPetton/pass")
9833 (synopsis "Major mode for @file{password-store.el}")
9834 (description "This is a major mode for managing password-store (pass)
9835 keychains. The keychain entries are displayed in a directory-like structure
9836 and can be consulted and modified.")
9837 (license license:gpl3+)))
9838
9839 (define-public emacs-evil-anzu
9840 (package
9841 (name "emacs-evil-anzu")
9842 (version "0.03")
9843 (source
9844 (origin
9845 (method git-fetch)
9846 (uri (git-reference
9847 (url "https://github.com/syohex/emacs-evil-anzu")
9848 (commit version)))
9849 (file-name (git-file-name name version))
9850 (sha256
9851 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
9852 (build-system emacs-build-system)
9853 (propagated-inputs
9854 `(("emacs-evil" ,emacs-evil)
9855 ("emacs-anzu" ,emacs-anzu)))
9856 (home-page "https://github.com/syohex/emacs-evil-anzu")
9857 (synopsis "Anzu for evil-mode")
9858 (description "@code{anzu} provides a minor mode that displays the current
9859 match and total match information in the mode-line in various search modes.")
9860 (license license:gpl3+)))
9861
9862 (define-public emacs-pg
9863 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
9864 (package
9865 (name "emacs-pg")
9866 (version (git-version "0.1" "1" commit))
9867 (source (origin
9868 (method git-fetch)
9869 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
9870 (commit commit)))
9871 (file-name (git-file-name name version))
9872 (sha256
9873 (base32
9874 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
9875 (build-system emacs-build-system)
9876 (home-page "https://github.com/cbbrowne/pg.el")
9877 (synopsis "Emacs Lisp interface for PostgreSQL")
9878 (description
9879 "This package provides an Emacs Lisp interface for PostgreSQL.")
9880 (license license:gpl3+))))
9881
9882 (define-public emacs-cl-generic
9883 (package
9884 (name "emacs-cl-generic")
9885 (version "0.3")
9886 (source
9887 (origin
9888 (method url-fetch)
9889 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
9890 version ".el"))
9891 (sha256
9892 (base32
9893 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
9894 (build-system emacs-build-system)
9895 (home-page "https://elpa.gnu.org/packages/seq.html")
9896 (synopsis
9897 "Forward @code{cl-generic} compatibility for Emacs before version 25")
9898 (description "This package provides a subset of the features of the
9899 @code{cl-generic} package introduced in Emacs-25, for use on previous
9900 @code{emacsen}.")
9901 (license license:gpl3+)))
9902
9903 (define-public emacs-finalize
9904 (package
9905 (name "emacs-finalize")
9906 (version "2.0.0")
9907 (source
9908 (origin
9909 (method git-fetch)
9910 (uri (git-reference
9911 (url "https://github.com/skeeto/elisp-finalize.git")
9912 (commit version)))
9913 (file-name (git-file-name name version))
9914 (sha256
9915 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
9916 (build-system emacs-build-system)
9917 (propagated-inputs
9918 `(("emacs-cl-generic" ,emacs-cl-generic)))
9919 (home-page "https://github.com/skeeto/elisp-finalize")
9920 (synopsis "Finalizers for Emacs Lisp")
9921 (description
9922 "This package will allows to immediately run a callback (a finalizer)
9923 after its registered lisp object has been garbage collected. This allows for
9924 extra resources, such as buffers and processes, to be cleaned up after the
9925 object has been freed.")
9926 (license license:unlicense)))
9927
9928 (define-public emacs-emacsql
9929 (package
9930 (name "emacs-emacsql")
9931 (version "3.0.0")
9932 (source (origin
9933 (method git-fetch)
9934 (uri (git-reference
9935 (url "https://github.com/skeeto/emacsql.git")
9936 (commit (string-append version))))
9937 (file-name (git-file-name name version))
9938 (sha256
9939 (base32
9940 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
9941 (build-system emacs-build-system)
9942 (arguments
9943 `(#:modules ((guix build emacs-build-system)
9944 (guix build utils)
9945 (guix build emacs-utils)
9946 (srfi srfi-26))
9947 #:phases
9948 (modify-phases %standard-phases
9949 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
9950 (add-before 'install 'patch-elisp-shell-shebangs
9951 (lambda _
9952 (substitute* (find-files "." "\\.el")
9953 (("/bin/sh") (which "sh")))
9954 #t))
9955 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
9956 (lambda _
9957 (setenv "SHELL" "sh")))
9958 (add-after 'setenv-shell 'build-emacsql-sqlite
9959 (lambda _
9960 (invoke "make" "binary" "CC=gcc")))
9961 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
9962 ;; This build phase installs emacs-emacsql binary.
9963 (lambda* (#:key outputs #:allow-other-keys)
9964 (install-file "sqlite/emacsql-sqlite"
9965 (string-append (assoc-ref outputs "out")
9966 "/bin"))
9967 #t))
9968 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
9969 ;; This build phase removes interactive prompts
9970 ;; and makes sure Emacs look for binaries in the right places.
9971 (lambda* (#:key outputs #:allow-other-keys)
9972 (let ((file "emacsql-sqlite.el"))
9973 (chmod file #o644)
9974 (emacs-substitute-sexps file
9975 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
9976 ("(executable-find" (which "gcc"))
9977 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
9978 ;; in the right place.
9979 ("(defvar emacsql-sqlite-executable"
9980 (string-append (assoc-ref outputs "out")
9981 "/bin/emacsql-sqlite"))))))
9982 (replace 'install
9983 (lambda* (#:key outputs #:allow-other-keys)
9984 (let* ((out (assoc-ref outputs "out")))
9985 (install-file "sqlite/emacsql-sqlite"
9986 (string-append out "/bin"))
9987 (for-each (cut install-file <>
9988 (string-append out "/share/emacs/site-lisp/guix.d/"
9989 "emacsql" "-" ,version))
9990 (find-files "." "\\.elc*$")))
9991 #t)))))
9992 (inputs
9993 `(("emacs-minimal" ,emacs-minimal)
9994 ("mariadb" ,mariadb)
9995 ("postgresql" ,postgresql)))
9996 (propagated-inputs
9997 `(("emacs-finalize" ,emacs-finalize)
9998 ("emacs-pg" ,emacs-pg)))
9999 (home-page "https://github.com/skeeto/emacsql")
10000 (synopsis "Emacs high-level SQL database front-end")
10001 (description "Any readable Lisp value can be stored as a value in EmacSQL,
10002 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
10003 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
10004 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
10005 (license license:gpl3+)))
10006
10007 (define-public emacs-closql
10008 (package
10009 (name "emacs-closql")
10010 (version "1.0.0")
10011 (source
10012 (origin
10013 (method git-fetch)
10014 (uri (git-reference
10015 (url "https://github.com/emacscollective/closql.git")
10016 (commit (string-append "v" version))))
10017 (file-name (git-file-name name version))
10018 (sha256
10019 (base32
10020 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
10021 (build-system emacs-build-system)
10022 (propagated-inputs
10023 `(("emacs-emacsql" ,emacs-emacsql)))
10024 (home-page "https://github.com/emacscollective/closql")
10025 (synopsis "Store EIEIO objects using EmacSQL")
10026 (description
10027 "This package allows to store uniform EIEIO objects in an EmacSQL
10028 database. SQLite is used as backend. This library imposes some restrictions
10029 on what kind of objects can be stored; it isn't intended to store arbitrary
10030 objects. All objects have to share a common superclass and subclasses cannot
10031 add any additional instance slots.")
10032 (license license:gpl3)))
10033
10034 (define-public emacs-epkg
10035 ;; The release version is to old for the current database scheme.
10036 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
10037 (package
10038 (name "emacs-epkg")
10039 (version (git-version "3.0.0" "1" commit))
10040 (source
10041 (origin
10042 (method git-fetch)
10043 (uri (git-reference
10044 (url "https://github.com/emacscollective/epkg.git")
10045 (commit commit)))
10046 (file-name (git-file-name name version))
10047 (sha256
10048 (base32
10049 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
10050 (build-system emacs-build-system)
10051 (propagated-inputs
10052 `(("emacs-closql" ,emacs-closql)
10053 ("emacs-dash" ,emacs-dash)))
10054 (home-page "https://emacsmirror.net")
10055 (synopsis "Browse the Emacsmirror package database")
10056 (description "This package provides access to a local copy of the
10057 Emacsmirror package database. It provides low-level functions for querying
10058 the database and a @file{package.el} user interface for browsing the database.
10059 Epkg itself is not a package manager.
10060
10061 Getting a local copy:
10062
10063 @example
10064 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
10065 cd ~/.emacs.d/epkgs
10066 git submodule init
10067 git config --global url.https://github.com/.insteadOf git@@github.com:
10068 git submodule update
10069 @end example
10070
10071 Some submodule may be missing. In this case Git will prompt for a GitHub user
10072 name and password. To skip it press a @key{Return} key.
10073
10074 You could get a Epkg package list by invoking @code{epkg-list-packages} in
10075 Emacs.")
10076 (license license:gpl3+))))
10077
10078 (define-public emacs-elisp-slime-nav
10079 (package
10080 (name "emacs-elisp-slime-nav")
10081 (version "0.9")
10082 (source
10083 (origin
10084 (method git-fetch)
10085 (uri (git-reference
10086 (url "https://github.com/purcell/elisp-slime-nav.git")
10087 (commit version)))
10088 (file-name (git-file-name name version))
10089 (sha256
10090 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
10091 (build-system emacs-build-system)
10092 (home-page "https://github.com/purcell/elisp-slime-nav")
10093 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
10094 (description
10095 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
10096 in @code{emacs-lisp-mode}, together with an elisp equivalent of
10097 @code{slime-describe-symbol}.")
10098 (license license:gpl3+)))
10099
10100 (define-public emacs-dedicated
10101 (package
10102 (name "emacs-dedicated")
10103 (version "1.0.0")
10104 (source
10105 (origin
10106 (method git-fetch)
10107 (uri (git-reference
10108 (url "https://github.com/emacsorphanage/dedicated.git")
10109 (commit version)))
10110 (file-name (git-file-name name version))
10111 (sha256
10112 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
10113 (build-system emacs-build-system)
10114 (home-page "https://github.com/emacsorphanage/dedicated")
10115 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
10116 (description
10117 "This simple Emacs minor mode allows you to toggle a window's
10118 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
10119 files into that window. This can be quite handy since many commands will use
10120 another window to show results (compilation mode, starting info, and so on).
10121 A dedicated window won't be used for such a purpose. For details, please read
10122 the source file.")
10123 (license license:gpl2+)))
10124
10125 (define-public emacs-nnreddit
10126 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
10127 (revision "1"))
10128 (package
10129 (name "emacs-nnreddit")
10130 (version (string-append "0.0.1-" revision "."
10131 (string-take commit 7)))
10132 (source (origin
10133 (method git-fetch)
10134 (uri (git-reference
10135 (url "https://github.com/paul-issartel/nnreddit.git")
10136 (commit commit)))
10137 (file-name (git-file-name name version))
10138 (sha256
10139 (base32
10140 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
10141 (build-system emacs-build-system)
10142 (home-page "https://github.com/paul-issartel/nnreddit")
10143 (synopsis "Reddit backend for the Gnus newsreader")
10144 (description "@url{https://www.reddit.com} backend for the Gnus
10145 newsreader.")
10146 (license license:gpl3+))))
10147
10148 (define-public emacs-makey
10149 (package
10150 (name "emacs-makey")
10151 (version "0.3")
10152 (source
10153 (origin
10154 (method git-fetch)
10155 (uri (git-reference
10156 (url "https://github.com/mickeynp/makey.git")
10157 (commit version)))
10158 (file-name (git-file-name name version))
10159 (sha256
10160 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
10161 (build-system emacs-build-system)
10162 (home-page "https://github.com/mickeynp/makey")
10163 (synopsis "Emacs interactive command-line mode")
10164 (description
10165 "This package provides an Emacs interactive command-line mode.")
10166 (license license:gpl3+)))
10167
10168 (define-public emacs-outorg
10169 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
10170 (package
10171 (name "emacs-outorg")
10172 (version (git-version "2.0" "1" commit))
10173 (source
10174 (origin
10175 (method git-fetch)
10176 (uri (git-reference
10177 (url "https://github.com/alphapapa/outorg")
10178 (commit commit)))
10179 (file-name (git-file-name name version))
10180 (sha256
10181 (base32
10182 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
10183 (build-system emacs-build-system)
10184 (home-page "https://github.com/alphapapa/outorg")
10185 (synopsis "Org-style comment editing")
10186 (description "Outorg is for editing comment-sections of source-code
10187 files in temporary Org-mode buffers. It turns conventional
10188 literate-programming upside-down in that the default mode is the
10189 programming-mode, and special action has to be taken to switch to the
10190 text-mode (i.e. Org-mode).")
10191 (license license:gpl3+))))
10192
10193 (define-public emacs-outshine
10194 (package
10195 (name "emacs-outshine")
10196 (version "3.0.1")
10197 (source (origin
10198 (method git-fetch)
10199 (uri (git-reference
10200 (url "https://github.com/alphapapa/outshine.git")
10201 (commit (string-append "v" version))))
10202 (file-name (git-file-name name version))
10203 (sha256
10204 (base32
10205 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
10206 (build-system emacs-build-system)
10207 (propagated-inputs
10208 `(("emacs-outorg" ,emacs-outorg)))
10209 (home-page "https://github.com/alphapapa/outshine")
10210 (synopsis "Emacs outline with outshine")
10211 (description "Outshine attempts to bring the look and feel of
10212 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
10213 of @code{outline-minor-mode} (@code{org-mode} itself derives from
10214 outline-mode), so there is no such thing like an outshine mode, only
10215 @code{outline-minor-mode} with outshine extensions loaded.")
10216 (license license:gpl3+)))
10217
10218 (define-public emacs-frecency
10219 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
10220 (version "0.1-pre")
10221 (revision "1"))
10222 (package
10223 (name "emacs-frecency")
10224 (version (git-version version revision commit))
10225 (source (origin
10226 (method git-fetch)
10227 (uri (git-reference
10228 (url "https://github.com/alphapapa/frecency.el")
10229 (commit commit)))
10230 (sha256
10231 (base32
10232 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
10233 (file-name (git-file-name name version))))
10234 (build-system emacs-build-system)
10235 (propagated-inputs
10236 `(("emacs-a" ,emacs-a)
10237 ("emacs-dash" ,emacs-dash)))
10238 (home-page "https://github.com/alphapapa/frecency.el")
10239 (synopsis "Sort items by frequency and recency of access")
10240 (description "This package provides a way of sorting items via
10241 a heuristic based on frequency and recency.")
10242 (license license:gpl3+))))
10243
10244 (define-public emacs-org-recent-headings
10245 (package
10246 (name "emacs-org-recent-headings")
10247 (version "0.1")
10248 (source (origin
10249 (method git-fetch)
10250 (uri (git-reference
10251 (url "https://github.com/alphapapa/org-recent-headings.git")
10252 (commit version)))
10253 (file-name (git-file-name name version))
10254 (sha256
10255 (base32
10256 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
10257 (build-system emacs-build-system)
10258 (propagated-inputs
10259 `(("emacs-org" ,emacs-org)
10260 ("emacs-dash" ,emacs-dash)
10261 ("emacs-frecency" ,emacs-frecency)))
10262 (home-page "https://github.com/alphapapa/org-recent-headings")
10263 (synopsis "Navigate to recently used Org headings and lists")
10264 (description "This package maintains a list of recently used Org headings,
10265 as well as functions for navigating between these headings.")
10266 (license license:gpl3+)))
10267
10268 (define-public emacs-org-super-agenda
10269 (package
10270 (name "emacs-org-super-agenda")
10271 (version "1.1")
10272 (source (origin
10273 (method git-fetch)
10274 (uri (git-reference
10275 (url "https://github.com/alphapapa/org-super-agenda")
10276 (commit version)))
10277 (file-name (git-file-name name version))
10278 (sha256
10279 (base32
10280 "0vzf91lsxnhwf52kvm8ycpf0wb9c8l91689vyhwgv4wz8q6cvjwp"))))
10281 (build-system emacs-build-system)
10282 (propagated-inputs
10283 `(("emacs-org" ,emacs-org)
10284 ("emacs-dash" ,emacs-dash)
10285 ("emacs-ht" ,emacs-ht)
10286 ("emacs-s" ,emacs-s)))
10287 (home-page "https://github.com/alphapapa/org-super-agenda")
10288 (synopsis "Supercharged Org agenda")
10289 (description "This package allows items in the Org agenda to be grouped
10290 into sections while preserving the structure imposed by any timestamps.")
10291 (license license:gpl3+)))
10292
10293 (define-public emacs-org-make-toc
10294 (package
10295 (name "emacs-org-make-toc")
10296 (version "0.3")
10297 (source (origin
10298 (method git-fetch)
10299 (uri (git-reference
10300 (url "https://github.com/alphapapa/org-make-toc")
10301 (commit version)))
10302 (file-name (git-file-name name version))
10303 (sha256
10304 (base32
10305 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
10306 (build-system emacs-build-system)
10307 (propagated-inputs
10308 `(("emacs-org" ,emacs-org)
10309 ("emacs-dash" ,emacs-dash)
10310 ("emacs-s" ,emacs-s)))
10311 (home-page "https://github.com/alphapapa/org-make-toc")
10312 (synopsis "Maintain a table of contents for an Org file")
10313 (description "This package facilitates the creation and maintenance of
10314 tables of contents.")
10315 (license license:gpl3+)))
10316
10317 (define-public emacs-org-ql
10318 (let ((commit "0aec8ec60395197b2ef2b885c216cf84286efed9")
10319 (version "0.1-pre")
10320 (revision "1"))
10321 (package
10322 (name "emacs-org-ql")
10323 (version (git-version version revision commit))
10324 (source (origin
10325 (method git-fetch)
10326 (uri (git-reference
10327 (url "https://github.com/alphapapa/org-ql")
10328 (commit commit)))
10329 (sha256
10330 (base32
10331 "0bj85hxhym7rvkaddcxybxdm7g7w439wij9f2w5ljz1hmvp55991"))
10332 (file-name (git-file-name name version))))
10333 (build-system emacs-build-system)
10334 (propagated-inputs
10335 `(("emacs-s" ,emacs-s)
10336 ("emacs-dash" ,emacs-dash)))
10337 (home-page "https://github.com/alphapapa/org-ql")
10338 (synopsis "Query language for Org buffers")
10339 (description "This package provides a Lispy query language for Org
10340 files, allowing for actions to be performed based on search criteria.")
10341 (license license:gpl3+))))
10342
10343 (define-public emacs-parsebib
10344 (package
10345 (name "emacs-parsebib")
10346 (version "2.3.1")
10347 (source
10348 (origin
10349 (method git-fetch)
10350 (uri (git-reference
10351 (url "https://github.com/joostkremers/parsebib.git")
10352 (commit version)))
10353 (file-name (git-file-name name version))
10354 (sha256
10355 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
10356 (build-system emacs-build-system)
10357 (home-page "https://github.com/joostkremers/parsebib")
10358 (synopsis "Library for parsing bib files")
10359 (description
10360 "This package provides an Emacs library for parsing bib files.")
10361 (license license:gpl3+)))
10362
10363 (define-public emacs-biblio
10364 (package
10365 (name "emacs-biblio")
10366 (version "0.2")
10367 (source
10368 (origin
10369 (method git-fetch)
10370 (uri (git-reference
10371 (url "https://github.com/cpitclaudel/biblio.el.git")
10372 (commit version)))
10373 (file-name (git-file-name name version))
10374 (sha256
10375 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
10376 (build-system emacs-build-system)
10377 (propagated-inputs
10378 `(("emacs-seq" ,emacs-seq)
10379 ("emacs-dash" ,emacs-dash)
10380 ("emacs-let-alist" ,emacs-let-alist)))
10381 (home-page "https://github.com/cpitclaudel/biblio.el")
10382 (synopsis "Browse and import bibliographic references")
10383 (description "This package provides an extensible Emacs package for
10384 browsing and fetching references.
10385
10386 @file{biblio.el} makes it easy to browse and gather bibliographic references
10387 and publications from various sources, by keywords or by DOI. References are
10388 automatically fetched from well-curated sources, and formatted as BibTeX.")
10389 (license license:gpl3+)))
10390
10391 (define-public emacs-helm-bibtex
10392 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
10393 (revision "1"))
10394 (package
10395 (name "emacs-helm-bibtex")
10396 (version (string-append "2.0.0" "-" revision "."
10397 (string-take commit 7)))
10398 (source
10399 (origin
10400 (method git-fetch)
10401 (uri (git-reference
10402 (url "https://github.com/tmalsburg/helm-bibtex.git")
10403 (commit commit)))
10404 (file-name (git-file-name name version))
10405 (sha256
10406 (base32
10407 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
10408 (build-system emacs-build-system)
10409 (propagated-inputs
10410 `(("emacs-helm" ,emacs-helm)
10411 ("emacs-parsebib" ,emacs-parsebib)
10412 ("emacs-s" ,emacs-s)
10413 ("emacs-dash" ,emacs-dash)
10414 ("emacs-f" ,emacs-f)
10415 ("emacs-biblio" ,emacs-biblio)
10416 ("emacs-ivy" ,emacs-ivy)))
10417 (home-page "https://github.com/tmalsburg/helm-bibtex")
10418 (synopsis "Bibliography manager based on Helm")
10419 (description "This package provides bibliography manager for Emacs,
10420 based on Helm and the bibtex-completion backend.
10421
10422 Key features:
10423
10424 @itemize
10425 @item Quick access to your bibliography from within Emacs
10426 @item Powerful search capabilities
10427 @item Provides instant search results as you type
10428 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
10429 @item Open the PDFs, URLs, or DOIs associated with an entry
10430 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
10431 BibTeX entries, or plain text references at point, attach PDFs to emails
10432 @item Support for note taking
10433 @item Quick access to online bibliographic databases such as Pubmed,
10434 arXiv, Google Scholar, Library of Congress, etc.
10435 @item Imports BibTeX entries from CrossRef and other sources.
10436 @end itemize\n")
10437 (license license:gpl3+))))
10438
10439 (define-public emacs-ewmctrl
10440 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
10441 (package
10442 (name "emacs-ewmctrl")
10443 (version (git-version "0.0.1" "1" commit))
10444 (source
10445 (origin
10446 (method git-fetch)
10447 (uri (git-reference
10448 (url "https://github.com/flexibeast/ewmctrl.git")
10449 (commit commit)))
10450 (file-name (git-file-name name version))
10451 (sha256
10452 (base32
10453 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
10454 (build-system emacs-build-system)
10455 (arguments
10456 '(#:phases
10457 (modify-phases %standard-phases
10458 (add-after 'unpack 'patch-ewmctrl
10459 ;; This build phase makes sure ‘ewmctrl’ looks
10460 ;; for ‘wmctrl’ in the right place.
10461 (lambda _
10462 (let ((file "ewmctrl.el"))
10463 (chmod file #o644)
10464 (emacs-substitute-sexps file
10465 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
10466 (inputs
10467 `(("wmctrl" ,wmctrl)))
10468 (home-page "https://github.com/flexibeast/ewmctrl")
10469 (synopsis "Emacs interface to @code{wmctrl}")
10470 (description "@code{ewmctrl} provides an Emacs interface to
10471 @code{wmctrl} command-line window-management program.")
10472 (license license:gpl3+))))
10473
10474 (define-public emacs-erc-image
10475 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
10476 (revision "1"))
10477 (package
10478 (name "emacs-erc-image")
10479 (version (git-version "0" revision commit))
10480 (source
10481 (origin
10482 (method git-fetch)
10483 (uri (git-reference
10484 (url "https://github.com/kidd/erc-image.el")
10485 (commit commit)))
10486 (file-name (git-file-name name version))
10487 (sha256
10488 (base32
10489 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
10490 (build-system emacs-build-system)
10491 (home-page "https://github.com/kidd/erc-image.el")
10492 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
10493 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
10494 and @code{erc-send-modify-hook} to download and show images.")
10495 (license license:gpl3+))))
10496
10497 (define-public emacs-helm-gtags
10498 (package
10499 (name "emacs-helm-gtags")
10500 (version "1.5.6")
10501 (source
10502 (origin
10503 (method git-fetch)
10504 (uri (git-reference
10505 (url "https://github.com/syohex/emacs-helm-gtags.git")
10506 (commit version)))
10507 (file-name (git-file-name name version))
10508 (sha256
10509 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
10510 (build-system emacs-build-system)
10511 (propagated-inputs
10512 `(("emacs-helm" ,emacs-helm)))
10513 (home-page "https://github.com/syohex/emacs-helm-gtags")
10514 (synopsis "Emacs Helm interface to GNU Global")
10515 (description
10516 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
10517 (license license:gpl3+)))
10518
10519 (define-public emacs-list-utils
10520 (package
10521 (name "emacs-list-utils")
10522 (version "0.4.4")
10523 (source
10524 (origin
10525 (method git-fetch)
10526 (uri (git-reference
10527 (url "https://github.com/rolandwalker/list-utils.git")
10528 (commit (string-append "v" version))))
10529 (file-name (git-file-name name version))
10530 (sha256
10531 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
10532 (build-system emacs-build-system)
10533 (home-page "https://github.com/rolandwalker/list-utils")
10534 (synopsis "List-manipulation utility functions")
10535 (description "This package provides a list manipulation library for Emacs.")
10536 (license license:gpl3+)))
10537
10538 (define-public emacs-move-text
10539 (package
10540 (name "emacs-move-text")
10541 (version "2.0.8")
10542 (source
10543 (origin
10544 (method git-fetch)
10545 (uri (git-reference
10546 (url "https://github.com/emacsfodder/move-text.git")
10547 (commit version)))
10548 (file-name (git-file-name name version))
10549 (sha256
10550 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
10551 (build-system emacs-build-system)
10552 (home-page "https://github.com/emacsfodder/move-text")
10553 (synopsis "Move current line or region with M-up or M-down")
10554 (description "This package provide functions to move the current line
10555 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
10556 region instead.")
10557 (license license:gpl3+)))
10558
10559 (define-public emacs-validate
10560 (package
10561 (name "emacs-validate")
10562 (version "1.0.5")
10563 (source (origin
10564 (method url-fetch)
10565 (uri (string-append "https://github.com/Malabarba/validate.el"
10566 "/archive/" version ".tar.gz"))
10567 (file-name (string-append name "-" version ".tar.gz"))
10568 (sha256
10569 (base32
10570 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
10571 (build-system emacs-build-system)
10572 (home-page "https://github.com/Malabarba/validate.el")
10573 (synopsis "Emacs library for scheme validation")
10574 (description "This Emacs library provides two functions that perform
10575 schema validation.")
10576 (license license:gpl3+)))
10577
10578 (define-public emacs-rainbow-blocks
10579 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
10580 (package
10581 (name "emacs-rainbow-blocks")
10582 (version (git-version "1.0.0" "1" commit))
10583 (source (origin
10584 (method git-fetch)
10585 (uri (git-reference
10586 (url "https://github.com/istib/rainbow-blocks.git")
10587 (commit commit)))
10588 (file-name (git-file-name name version))
10589 (sha256
10590 (base32
10591 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
10592 (build-system emacs-build-system)
10593 (home-page "https://github.com/istib/rainbow-blocks")
10594 (synopsis "Highlight sexp blocks")
10595 (description "Rainbow-blocks is an Emacs mode that highlights blocks
10596 made of parentheses, brackets, and braces according to their depth. Each
10597 successive level is highlighted in a different color. This makes it easy to
10598 orient yourself in the code, and tell which statements are at a given level.")
10599 (license license:gpl3+))))
10600
10601 (define-public emacs-hierarchy
10602 (package
10603 (name "emacs-hierarchy")
10604 (version "0.7.0")
10605 (source
10606 (origin
10607 (method git-fetch)
10608 (uri (git-reference
10609 (url "https://github.com/DamienCassou/hierarchy.git")
10610 (commit (string-append "v" version))))
10611 (file-name (git-file-name name version))
10612 (sha256
10613 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
10614 (build-system emacs-build-system)
10615 (home-page "https://github.com/DamienCassou/hierarchy")
10616 (synopsis "Library to create and display hierarchy structures")
10617 (description "This package provides an Emacs library to create, query,
10618 navigate and display hierarchy structures.")
10619 (license license:gpl3+)))
10620
10621 (define-public emacs-tree-mode
10622 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
10623 (revision "1"))
10624 (package
10625 (name "emacs-tree-mode")
10626 (version (string-append "0.0.1" "-" revision "."
10627 (string-take commit 7)))
10628 (source
10629 (origin
10630 (method git-fetch)
10631 (uri (git-reference
10632 (url "https://github.com/emacsorphanage/tree-mode.git")
10633 (commit commit)))
10634 (file-name (git-file-name name version))
10635 (sha256
10636 (base32
10637 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
10638 (build-system emacs-build-system)
10639 (home-page "https://github.com/emacsorphanage/tree-mode")
10640 (synopsis "Emacs mode to manage tree widgets")
10641 (description
10642 "This package provides an Emacs library to manage tree widgets.")
10643 (license license:gpl3+))))
10644
10645 (define-public emacs-md4rd
10646 (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
10647 (revision "1"))
10648 (package
10649 (name "emacs-md4rd")
10650 (version (string-append "0.0.2" "-" revision "."
10651 (string-take commit 7)))
10652 (source (origin
10653 (method git-fetch)
10654 (uri (git-reference
10655 (url "https://github.com/ahungry/md4rd.git")
10656 (commit commit)))
10657 (file-name (git-file-name name version))
10658 (sha256
10659 (base32
10660 "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
10661 (propagated-inputs
10662 `(("emacs-hierarchy" ,emacs-hierarchy)
10663 ("emacs-request" ,emacs-request)
10664 ("emacs-dash" ,emacs-dash)
10665 ("emacs-s" ,emacs-s)
10666 ("emacs-tree-mode" ,emacs-tree-mode)))
10667 (build-system emacs-build-system)
10668 (home-page "https://github.com/ahungry/md4rd")
10669 (synopsis "Emacs Mode for Reddit")
10670 (description
10671 "This package allows to read Reddit from within Emacs interactively.")
10672 (license license:gpl3+))))
10673
10674 (define-public emacs-pulseaudio-control
10675 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
10676 (revision "3"))
10677 (package
10678 (name "emacs-pulseaudio-control")
10679 (version (git-version "0.0.1" revision commit))
10680 (source
10681 (origin
10682 (method git-fetch)
10683 (uri (git-reference
10684 (url "https://github.com/flexibeast/pulseaudio-control.git")
10685 (commit commit)))
10686 (file-name (git-file-name name version))
10687 (sha256
10688 (base32
10689 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
10690 (build-system emacs-build-system)
10691 (arguments
10692 '(#:phases (modify-phases %standard-phases
10693 (add-after 'unpack 'patch-file-name
10694 (lambda* (#:key inputs #:allow-other-keys)
10695 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
10696 (chmod "pulseaudio-control.el" #o600)
10697 (emacs-substitute-variables "pulseaudio-control.el"
10698 ("pulseaudio-control-pactl-path"
10699 (string-append pulseaudio "/bin/pactl")))
10700 #t))))))
10701 (inputs `(("pulseaudio" ,pulseaudio)))
10702 (home-page "https://github.com/flexibeast/pulseaudio-control")
10703 (synopsis "Control @code{pulseaudio} from Emacs")
10704 (description
10705 "This package allows to control @code{pulseaudio} from Emacs.")
10706 (license license:gpl3+))))
10707
10708 (define-public emacs-datetime
10709 (package
10710 (name "emacs-datetime")
10711 (version "0.3")
10712 (source
10713 (origin
10714 (method git-fetch)
10715 (uri (git-reference
10716 (url "https://github.com/doublep/datetime.git")
10717 (commit version)))
10718 (file-name (git-file-name name version))
10719 (sha256
10720 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
10721 (build-system emacs-build-system)
10722 (home-page "https://github.com/doublep/datetime/")
10723 (synopsis "Library to work with dates in Emacs")
10724 (description "Parsing, formatting, matching and recoding
10725 timestamps and date-time format strings library for Emacs.")
10726 (license license:gpl3+)))
10727
10728 (define-public emacs-org-mind-map
10729 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
10730 (revision "1"))
10731 (package
10732 (name "emacs-org-mind-map")
10733 (version (string-append "0.0.1" "-" revision "."
10734 (string-take commit 7)))
10735 (source
10736 (origin
10737 (method git-fetch)
10738 (uri (git-reference
10739 (url "https://github.com/theodorewiles/org-mind-map.git")
10740 (commit commit)))
10741 (file-name (git-file-name name version))
10742 (sha256
10743 (base32
10744 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
10745 (propagated-inputs
10746 `(("emacs-dash" ,emacs-dash)))
10747 (build-system emacs-build-system)
10748 (home-page "https://github.com/theodorewiles/org-mind-map")
10749 (synopsis "Create Graphviz directed graphs from Org files")
10750 (description
10751 "This package creates Graphviz directed graphs from Org files.")
10752 (license license:gpl3+))))
10753
10754 (define-public emacs-npm-mode
10755 (package
10756 (name "emacs-npm-mode")
10757 (version "0.6.0")
10758 (source
10759 (origin
10760 (method git-fetch)
10761 (uri (git-reference
10762 (url "https://github.com/mojochao/npm-mode.git")
10763 (commit version)))
10764 (file-name (git-file-name name version))
10765 (sha256
10766 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
10767 (build-system emacs-build-system)
10768 (home-page "https://github.com/mojochao/npm-mode")
10769 (synopsis "Minor mode for working with @code{npm} projects")
10770 (description
10771 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
10772 (license license:gpl3+)))
10773
10774 (define-public emacs-seq
10775 (package
10776 (name "emacs-seq")
10777 (version "2.20")
10778 (source
10779 (origin
10780 (method url-fetch)
10781 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
10782 (sha256
10783 (base32
10784 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
10785 (build-system emacs-build-system)
10786 (home-page "http://elpa.gnu.org/packages/seq.html")
10787 (synopsis "Sequence manipulation functions")
10788 (description "Sequence-manipulation functions that complement basic
10789 functions provided by @file{subr.el}.")
10790 (license license:gpl3+)))
10791
10792 (define-public emacs-itail
10793 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
10794 (revision "1"))
10795 (package
10796 (name "emacs-itail")
10797 (version (string-append "0.0.1" "-" revision "."
10798 (string-take commit 7)))
10799 (source
10800 (origin
10801 (method git-fetch)
10802 (uri (git-reference
10803 (url "https://github.com/re5et/itail.git")
10804 (commit commit)))
10805 (file-name (git-file-name name version))
10806 (sha256
10807 (base32
10808 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
10809 (build-system emacs-build-system)
10810 (home-page "https://github.com/re5et/itail")
10811 (synopsis "Interactive @code{tail} Emacs mode")
10812 (description "@code{itail} provides interactive @code{tail} mode
10813 that allows you to filter the tail with unix pipes and highlight the
10814 contents of the tailed file. Works locally or on remote files using
10815 tramp.")
10816 (license license:gpl3+))))
10817
10818 (define-public emacs-loop
10819 (package
10820 (name "emacs-loop")
10821 (version "1.3")
10822 (source
10823 (origin
10824 (method git-fetch)
10825 (uri (git-reference
10826 (url "https://github.com/Wilfred/loop.el.git")
10827 (commit version)))
10828 (file-name (git-file-name name version))
10829 (sha256
10830 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
10831 (build-system emacs-build-system)
10832 (home-page "https://github.com/Wilfred/loop.el")
10833 (synopsis "Imperative loop structures for Emacs")
10834 (description "Loop structures familiar to users of other languages. This
10835 library adds a selection of popular loop structures as well as break and
10836 continue.")
10837 (license license:gpl3+)))
10838
10839 (define-public emacs-elisp-refs
10840 (package
10841 (name "emacs-elisp-refs")
10842 (version "1.3")
10843 (source
10844 (origin
10845 (method git-fetch)
10846 (uri (git-reference
10847 (url "https://github.com/Wilfred/elisp-refs.git")
10848 (commit version)))
10849 (file-name (git-file-name name version))
10850 (sha256
10851 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
10852 (build-system emacs-build-system)
10853 (propagated-inputs
10854 `(("emacs-dash" ,emacs-dash)
10855 ("emacs-f" ,emacs-f)
10856 ("emacs-list-utils" ,emacs-list-utils)
10857 ("emacs-loop" ,emacs-loop)
10858 ("emacs-s" ,emacs-s)
10859 ("emacs-shut-up" ,emacs-shut-up)))
10860 (home-page "https://github.com/Wilfred/elisp-refs")
10861 (synopsis "Find callers of elisp functions or macros")
10862 (description "Find references to functions, macros or variables. Unlike a
10863 dumb text search, @code{elisp-refs} actually parses the code, so it's never
10864 confused by comments or @code{foo-bar} matching @code{foo}.")
10865 (license license:gpl3+)))
10866
10867 (define-public emacs-crux
10868 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
10869 (revision "1"))
10870 (package
10871 (name "emacs-crux")
10872 (version (string-append "0.3.0" "-" revision "."
10873 (string-take commit 7)))
10874 (source
10875 (origin
10876 (method git-fetch)
10877 (uri (git-reference
10878 (url "https://github.com/bbatsov/crux.git")
10879 (commit commit)))
10880 (file-name (git-file-name name version))
10881 (sha256
10882 (base32
10883 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
10884 (build-system emacs-build-system)
10885 (home-page "https://github.com/bbatsov/crux")
10886 (synopsis "Collection of useful functions for Emacs")
10887 (description
10888 "@code{crux} provides a collection of useful functions for Emacs.")
10889 (license license:gpl3+))))
10890
10891 (define-public emacs-edit-server
10892 (package
10893 (name "emacs-edit-server")
10894 (version "1.13")
10895 (source
10896 (origin
10897 (method git-fetch)
10898 (uri (git-reference
10899 (url "https://github.com/stsquad/emacs_chrome.git")
10900 (commit (string-append "v" version))))
10901 (file-name (git-file-name name version))
10902 (sha256
10903 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
10904 (build-system emacs-build-system)
10905 (arguments
10906 `(#:phases
10907 (modify-phases %standard-phases
10908 (add-after 'unpack 'chdir-elisp
10909 ;; Elisp directory is not in root of the source.
10910 (lambda _
10911 (chdir "servers"))))))
10912 (home-page "https://github.com/stsquad/emacs_chrome")
10913 (synopsis "Server that responds to edit requests from Chromium")
10914 (description
10915 "This package provides an edit server to respond to requests from Emacs.")
10916 (license license:gpl3+)))
10917
10918 (define-public emacs-m-buffer-el
10919 (package
10920 (name "emacs-m-buffer-el")
10921 (version "0.15")
10922 (source
10923 (origin
10924 (method url-fetch)
10925 (uri (string-append "https://github.com/phillord/m-buffer-el"
10926 "/archive/" "v" version ".tar.gz"))
10927 (file-name (string-append name "-" version ".tar.gz"))
10928 (sha256
10929 (base32
10930 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
10931 (arguments
10932 `(#:phases
10933 (modify-phases %standard-phases
10934 (add-before 'install 'check
10935 (lambda* (#:key inputs #:allow-other-keys)
10936 (invoke "emacs" "--batch" "-L" "."
10937 "-l" "test/m-buffer-test.el"
10938 "-l" "test/m-buffer-at-test.el"
10939 "-f" "ert-run-tests-batch-and-exit"))))))
10940 (build-system emacs-build-system)
10941 (home-page "https://github.com/phillord/m-buffer-el")
10942 (synopsis "List oriented buffer operations for Emacs")
10943 (description "@code{m-buffer} provides a set of list-orientated functions
10944 for operating over the contents of Emacs buffers.")
10945 (license license:gpl3+)))
10946
10947 (define-public emacs-let-alist
10948 (package
10949 (name "emacs-let-alist")
10950 (version "1.0.5")
10951 (source
10952 (origin
10953 (method url-fetch)
10954 (uri (string-append
10955 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
10956 (sha256
10957 (base32
10958 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
10959 (build-system emacs-build-system)
10960 (home-page "https://elpa.gnu.org/packages/let-alist.html")
10961 (synopsis "Easily let-bind values of an assoc-list by their names")
10962 (description "This package offers a single macro, @code{let-alist}. This
10963 macro takes a first argument (whose value must be an alist) and a body.")
10964 (license license:gpl3+)))
10965
10966 (define-public emacs-esup
10967 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
10968 (revision "1"))
10969 (package
10970 (name "emacs-esup")
10971 (version (string-append "0.6" "-" revision "."
10972 (string-take commit 7)))
10973 (source
10974 (origin
10975 (method git-fetch)
10976 (uri (git-reference
10977 (url "https://github.com/jschaf/esup.git")
10978 (commit commit)))
10979 (file-name (git-file-name name version))
10980 (sha256
10981 (base32
10982 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
10983 ;; TODO: Add tests
10984 (build-system emacs-build-system)
10985 (home-page "https://github.com/jschaf/esup")
10986 (synopsis "Emacs start up profiler")
10987 (description "Benchmark Emacs Startup time without ever leaving
10988 your Emacs.")
10989 (license license:gpl2+))))
10990
10991 (define-public emacs-restart-emacs
10992 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
10993 (revision "1"))
10994 (package
10995 (name "emacs-restart-emacs")
10996 (version (git-version "0.1.1" revision commit))
10997 (source
10998 (origin
10999 (method git-fetch)
11000 (uri (git-reference
11001 (url "https://github.com/iqbalansari/restart-emacs.git")
11002 (commit commit)))
11003 (file-name (git-file-name name version))
11004 (sha256
11005 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
11006 (build-system emacs-build-system)
11007 (home-page "https://github.com/iqbalansari/restart-emacs")
11008 (synopsis "Restart Emacs from within Emacs")
11009 (description "This package provides a simple command to restart Emacs from
11010 within Emacs.")
11011 (license license:gpl3+))))
11012
11013 (define-public emacs-sourcemap
11014 (package
11015 (name "emacs-sourcemap")
11016 (version "0.03")
11017 (source
11018 (origin
11019 (method git-fetch)
11020 (uri (git-reference
11021 (url "https://github.com/syohex/emacs-sourcemap.git")
11022 (commit version)))
11023 (file-name (git-file-name name version))
11024 (sha256
11025 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
11026 (build-system emacs-build-system)
11027 (home-page "https://github.com/syohex/emacs-sourcemap")
11028 (synopsis "Sourcemap parser")
11029 (description "Sourcemap parser")
11030 (license license:gpl3+)))
11031
11032 (define-public emacs-macrostep
11033 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
11034 (package
11035 (name "emacs-macrostep")
11036 (version (git-version "0.9" "1" commit))
11037 (source (origin
11038 (method git-fetch)
11039 (uri (git-reference
11040 (url "https://github.com/joddie/macrostep.git")
11041 (commit commit)))
11042 (file-name (git-file-name name version))
11043 (sha256
11044 (base32
11045 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
11046 (build-system emacs-build-system)
11047 (arguments
11048 '(#:phases
11049 (modify-phases %standard-phases
11050 (add-before 'check 'remove-test
11051 ;; Fails because of requirement ‘/bin/sh’.
11052 (lambda _
11053 (let ((file "macrostep-test.el"))
11054 (chmod file #o644)
11055 (emacs-batch-edit-file file
11056 `(progn (progn (goto-char (point-min))
11057 (re-search-forward
11058 "(ert-deftest macrostep-expand-c-macros")
11059 (beginning-of-line)
11060 (kill-sexp))
11061 (basic-save-buffer))))))
11062 (add-before 'install 'check
11063 (lambda _
11064 (invoke "emacs" "--batch" "-L" "."
11065 "-l" "macrostep-test.el"
11066 "-f" "ert-run-tests-batch-and-exit"))))))
11067 (home-page "https://github.com/joddie/macrostep")
11068 (synopsis "Interactive macro-expander for Emacs")
11069 (description "@code{macrostep} is an Emacs minor mode for interactively
11070 stepping through the expansion of macros in Emacs Lisp source code. It lets
11071 you see exactly what happens at each step of the expansion process by
11072 pretty-printing the expanded forms inline in the source buffer, which is
11073 temporarily read-only while macro expansions are visible. You can expand and
11074 collapse macro forms one step at a time, and evaluate or instrument the
11075 expansions for debugging with Edebug as normal (but see “Bugs and known
11076 limitations”, below). Single-stepping through the expansion is particularly
11077 useful for debugging macros that expand into another macro form. These can be
11078 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
11079 until the top-level form is no longer a macro call.")
11080 (license license:gpl3+))))
11081
11082 (define-public emacs-parent-mode
11083 (package
11084 (name "emacs-parent-mode")
11085 (version "2.3")
11086 (source
11087 (origin
11088 (method git-fetch)
11089 (uri (git-reference
11090 (url "https://github.com/Fanael/parent-mode.git")
11091 (commit version)))
11092 (file-name (git-file-name name version))
11093 (sha256
11094 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
11095 (build-system emacs-build-system)
11096 (home-page "https://github.com/Fanael/parent-mode")
11097 (synopsis "Get major mode's parent modes")
11098 (description "Get major mode's parent modes")
11099 (license license:gpl3+)))
11100
11101 (define-public emacs-lacarte
11102 (package
11103 (name "emacs-lacarte")
11104 (version "0.1")
11105 (source (origin
11106 (method url-fetch)
11107 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
11108 (sha256
11109 (base32
11110 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
11111 (build-system emacs-build-system)
11112 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
11113 (synopsis "Execute menu items as commands, with completion")
11114 (description "Execute menu items as commands, with completion.")
11115 (license license:gpl3)))
11116
11117 (define-public emacs-isearch-prop
11118 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
11119 (revision "1"))
11120 (package
11121 (name "emacs-isearch-prop")
11122 (version (git-version "0" revision commit))
11123 (source
11124 (origin
11125 (method git-fetch)
11126 (uri (git-reference
11127 (url "https://github.com/emacsmirror/isearch-prop.git")
11128 (commit commit)))
11129 (file-name (git-file-name name version))
11130 (sha256
11131 (base32
11132 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
11133 (build-system emacs-build-system)
11134 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
11135 (synopsis "Extensions to @code{isearch.el}")
11136 (description "The Emacs library @code{isearch-prop.el} lets you search within
11137 contexts. You can limit incremental search to a set of zones of
11138 buffer text, search contexts that in effect constitute a multi-region.
11139 These zones can be defined in various ways, including some ways
11140 provided specially by this library.")
11141 (license license:gpl3+))))
11142
11143 (define-public emacs-company-lua
11144 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
11145 (package
11146 (name "emacs-company-lua")
11147 (version (git-version "0.1" "1" commit))
11148 (source
11149 (origin
11150 (method git-fetch)
11151 (uri (git-reference
11152 (url "https://github.com/ptrv/company-lua.git")
11153 (commit commit)))
11154 (file-name (git-file-name name version))
11155 (sha256
11156 (base32
11157 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
11158 (build-system emacs-build-system)
11159 (propagated-inputs
11160 `(("emacs-company" ,emacs-company)
11161 ("emacs-s" ,emacs-s)
11162 ("emacs-f" ,emacs-f)
11163 ("emacs-lua-mode" ,emacs-lua-mode)))
11164 (home-page "https://github.com/ptrv/company-lua")
11165 (synopsis "Company backend for Lua")
11166 (description
11167 "This package provides Company backend for Lua programming language.")
11168 (license license:gpl3+))))
11169
11170 (define-public emacs-beginend
11171 (package
11172 (name "emacs-beginend")
11173 (version "2.0.0")
11174 (source
11175 (origin
11176 (method git-fetch)
11177 (uri (git-reference
11178 (url "https://github.com/DamienCassou/beginend.git")
11179 (commit (string-append "v" version))))
11180 (file-name (git-file-name name version))
11181 (sha256
11182 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
11183 ;; TODO: Run tests.
11184 (build-system emacs-build-system)
11185 (inputs
11186 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
11187 (home-page "https://github.com/DamienCassou/beginend")
11188 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
11189 (description "@code{beginend} redefines @code{M-<} and @code{M->}
11190 keybindings for Emacs modes so that point moves to meaningful
11191 locations. Redefined keys are still accessible by pressing the same
11192 key again.")
11193 (license license:gpl3+)))
11194
11195 (define-public emacs-mbsync
11196 (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3")
11197 (revision "1"))
11198 (package
11199 (name "emacs-mbsync")
11200 (version (string-append "0.0.1" "-" revision "."
11201 (string-take commit 7)))
11202 (source
11203 (origin
11204 (method git-fetch)
11205 (uri (git-reference
11206 (url "https://github.com/dimitri/mbsync-el.git")
11207 (commit commit)))
11208 (file-name (git-file-name name version))
11209 (sha256
11210 (base32
11211 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6"))))
11212 (build-system emacs-build-system)
11213 (home-page "https://github.com/dimitri/mbsync-el")
11214 (synopsis "Interface to mbsync for Emacs")
11215 (description "This package allows to call the @code{mbsync} from
11216 within Emacs.")
11217 (license license:gpl3+))))
11218
11219 (define-public emacs-ibuffer-projectile
11220 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
11221 (revision "1"))
11222 (package
11223 (name "emacs-ibuffer-projectile")
11224 (version (string-append "0.2" "-" revision "."
11225 (string-take commit 7)))
11226 (source
11227 (origin
11228 (method git-fetch)
11229 (uri (git-reference
11230 (url "https://github.com/purcell/ibuffer-projectile.git")
11231 (commit commit)))
11232 (file-name (git-file-name name version))
11233 (sha256
11234 (base32
11235 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
11236 (build-system emacs-build-system)
11237 (propagated-inputs
11238 `(("emacs-projectile" ,emacs-projectile)))
11239 (home-page "https://github.com/purcell/ibuffer-projectile")
11240 (synopsis "Group ibuffer's list by projectile root")
11241 (description "Adds functionality to Emacs @code{ibuffer} for
11242 grouping buffers by their projectile root directory.")
11243 (license license:gpl3+))))
11244
11245 (define-public emacs-helm-mode-manager
11246 (package
11247 (name "emacs-helm-mode-manager")
11248 (version "1.0.0")
11249 (source
11250 (origin
11251 (method url-fetch)
11252 (uri (string-append "https://github.com/istib/helm-mode-manager/"
11253 "archive/" version ".tar.gz"))
11254 (file-name (string-append name "-" version ".tar.gz"))
11255 (sha256
11256 (base32
11257 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
11258 (build-system emacs-build-system)
11259 (propagated-inputs
11260 `(("emacs-helm" ,emacs-helm)))
11261 (home-page "https://github.com/istib/helm-mode-manager/")
11262 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
11263 (description "This package provides a Helm interface for toggling Emacs
11264 major or minor mode.
11265
11266 @itemize
11267 @item @code{helm-switch-major-mode} list of all major modes
11268 @item @code{helm-enable-minor-mode} list of all inactive minor modes
11269 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
11270 @end itemize\n
11271
11272 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
11273 documentation.")
11274 (license license:gpl3+)))
11275
11276 (define-public emacs-hy-mode
11277 (package
11278 (name "emacs-hy-mode")
11279 (version "1.0.3")
11280 (source
11281 (origin
11282 (method git-fetch)
11283 (uri (git-reference
11284 (url "https://github.com/hylang/hy-mode.git")
11285 (commit (string-append "v" version))))
11286 (file-name (git-file-name name version))
11287 (sha256
11288 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
11289 (build-system emacs-build-system)
11290 (propagated-inputs
11291 `(("emacs-dash" ,emacs-dash)
11292 ("emacs-s" ,emacs-s)))
11293 (home-page "https://github.com/hylang/hy-mode")
11294 (synopsis "Major mode for Hylang")
11295 (description "This package provides a major mode for Hylang.")
11296 (license license:gpl3+)))
11297
11298 (define-public emacs-web-beautify
11299 (package
11300 (name "emacs-web-beautify")
11301 (version "0.3.2")
11302 (source
11303 (origin
11304 (method git-fetch)
11305 (uri (git-reference
11306 (url "https://github.com/yasuyk/web-beautify.git")
11307 (commit version)))
11308 (file-name (git-file-name name version))
11309 (sha256
11310 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
11311 (build-system emacs-build-system)
11312 (home-page "https://github.com/yasuyk/web-beautify")
11313 (synopsis "Format HTML, CSS and JavaScript, JSON")
11314 (description "This package provides an Emacs functions to format HTML,
11315 CSS, JavaScript, JSON.")
11316 (license license:gpl3+)))
11317
11318 (define-public emacs-helm-shell-history
11319 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
11320 (package
11321 (name "emacs-helm-shell-history")
11322 (version (git-version "0.1" "1" commit))
11323 (source
11324 (origin
11325 (method git-fetch)
11326 (uri (git-reference
11327 (url "https://github.com/yuutayamada/helm-shell-history.git")
11328 (commit commit)))
11329 (file-name (git-file-name name version))
11330 (sha256
11331 (base32
11332 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
11333 (build-system emacs-build-system)
11334 (arguments
11335 '(#:phases
11336 (modify-phases %standard-phases
11337 (add-before 'check 'patch-helm-shell-history-file
11338 (lambda _
11339 (let ((file "helm-shell-history.el"))
11340 (chmod file #o644)
11341 (emacs-substitute-sexps file
11342 ("(defvar helm-shell-history-file"
11343 `(expand-file-name "~/.bash_history"))))
11344 #t)))))
11345 (propagated-inputs
11346 `(("emacs-helm" ,emacs-helm)))
11347 (home-page "https://github.com/yuutayamada/helm-shell-history")
11348 (synopsis "Find shell history with Emacs Helm")
11349 (description "This package provides an Emacs Helm interface to search
11350 throw a shell history.")
11351 (license license:gpl3+))))
11352
11353 (define-public emacs-discover-my-major
11354 (package
11355 (name "emacs-discover-my-major")
11356 (version "1.0")
11357 (source
11358 (origin
11359 (method url-fetch)
11360 (uri
11361 (string-append "https://github.com/steckerhalter/discover-my-major"
11362 "/archive/" version ".tar.gz"))
11363 (file-name (string-append name "-" version ".tar.gz"))
11364 (sha256
11365 (base32
11366 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
11367 (build-system emacs-build-system)
11368 (propagated-inputs
11369 `(("emacs-makey" ,emacs-makey)))
11370 (home-page "https://github.com/steckerhalter/discover-my-major")
11371 (synopsis "Discover key bindings for the current Emacs major mode")
11372 (description "This package provides allows to discover key bindings and
11373 their meaning for the current Emacs major-mode.")
11374 (license license:gpl3+)))
11375
11376 (define-public emacs-org-ref
11377 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
11378 (revision "1"))
11379 (package
11380 (name "emacs-org-ref")
11381 (version (string-append "1.1.1" "-" revision "."
11382 (string-take commit 7)))
11383 (source
11384 (origin
11385 (method git-fetch)
11386 (uri (git-reference
11387 (url "https://github.com/jkitchin/org-ref.git")
11388 (commit commit)))
11389 (file-name (git-file-name name version))
11390 (sha256
11391 (base32
11392 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
11393 (build-system emacs-build-system)
11394 (propagated-inputs
11395 `(("emacs-dash" ,emacs-dash)
11396 ("emacs-helm" ,emacs-helm)
11397 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
11398 ("emacs-ivy" ,emacs-ivy)
11399 ("emacs-hydra" ,emacs-hydra)
11400 ("emacs-key-chord" ,emacs-key-chord)
11401 ("emacs-s" ,emacs-s)
11402 ("emacs-f" ,emacs-f)
11403 ("emacs-pdf-tools" ,emacs-pdf-tools)))
11404 (home-page "https://github.com/jkitchin/org-ref")
11405 (synopsis "Citations, cross-references and bibliographies in org-mode")
11406 (description
11407 "Lisp code to setup bibliography, cite, ref and label org-mode links.
11408 Also sets up reftex and helm for org-mode citations. The links are
11409 clickable and do things that are useful.
11410
11411 The default setup uses helm-bibtex.
11412
11413 You should really read org-ref.org in this package for details.")
11414 (license license:gpl3+))))
11415
11416 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
11417 (define-public emacs-org-reveal
11418 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
11419 (package
11420 (name "emacs-org-reveal")
11421 (version (git-version "0.1" "3" commit))
11422 (source (origin
11423 (method git-fetch)
11424 (uri (git-reference
11425 (url "https://github.com/yjwen/org-reveal.git")
11426 (commit commit)))
11427 (file-name (git-file-name name version))
11428 (sha256
11429 (base32
11430 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
11431 (build-system emacs-build-system)
11432 (home-page "https://github.com/yjwen/org-reveal")
11433 (synopsis "Org and Reveal.js powered HTML presentation tool")
11434 (description "Org-Reveal is a command@{org-mode} extension that allows
11435 to create beautiful presentations (slides) with 3D effects from simple but
11436 powerful Org contents.")
11437 (license license:gpl3+))))
11438
11439 (define-public emacs-org-re-reveal
11440 (package
11441 (name "emacs-org-re-reveal")
11442 (version "1.0.3")
11443 (source (origin
11444 (method git-fetch)
11445 (uri (git-reference
11446 (url "https://gitlab.com/oer/org-re-reveal.git")
11447 (commit "50cc6574c77f12d423f6cd096d8f76feb3673abc")))
11448 (file-name (git-file-name name version))
11449 (sha256
11450 (base32
11451 "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8"))))
11452 (build-system emacs-build-system)
11453 (propagated-inputs
11454 `(("emacs-htmlize" ,emacs-htmlize)
11455 ("emacs-org" ,emacs-org)))
11456 (home-page "https://gitlab.com/oer/org-re-reveal")
11457 (synopsis "Build HTML presentations with reveal.js from Org source files")
11458 (description "This project started as fork of org-reveal. It provides an
11459 export back-end for HTML presentations with reveal.js from Org mode source
11460 files.")
11461 (license license:gpl3+)))
11462
11463 (define-public emacs-add-hooks
11464 (package
11465 (name "emacs-add-hooks")
11466 (version "3.1.1")
11467 (source
11468 (origin
11469 (method git-fetch)
11470 (uri (git-reference
11471 (url "https://github.com/nickmccurdy/add-hooks.git")
11472 (commit version)))
11473 (file-name (git-file-name name version))
11474 (sha256
11475 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
11476 (build-system emacs-build-system)
11477 (home-page "https://github.com/nickmccurdy/add-hooks/")
11478 (synopsis "Emacs function for setting multiple hooks")
11479 (description "This package provides a @code{add-hooks} function tidies up
11480 duplicate hook and function names further into a single declarative call.")
11481 (license license:gpl3+)))
11482
11483 (define-public emacs-fancy-narrow
11484 (package
11485 (name "emacs-fancy-narrow")
11486 (version "0.9.5")
11487 (source
11488 (origin
11489 (method git-fetch)
11490 (uri (git-reference
11491 (url "https://github.com/Malabarba/fancy-narrow.git")
11492 (commit version)))
11493 (file-name (git-file-name name version))
11494 (sha256
11495 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
11496 (build-system emacs-build-system)
11497 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
11498 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
11499 (description
11500 "Unlike @code{narrow-to-region}, which completely hides text outside
11501 the narrowed region, this package simply de-emphasizes the text, makes it
11502 read-only, and makes it unreachable. This leads to a much more natural
11503 feeling where the region stays static (instead of being brutally moved to a
11504 blank slate) and is clearly highlighted with respect to the rest of the
11505 buffer.")
11506 (license license:gpl2+)))
11507
11508 (define-public emacs-know-your-http-well
11509 (package
11510 (name "emacs-know-your-http-well")
11511 (version "0.5.0")
11512 (source
11513 (origin
11514 (method git-fetch)
11515 (uri (git-reference
11516 (url "https://github.com/for-GET/know-your-http-well.git")
11517 (commit (string-append "v" version))))
11518 (file-name (git-file-name name version))
11519 (sha256
11520 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
11521 (arguments
11522 `(#:phases
11523 (modify-phases %standard-phases
11524 (add-after 'unpack 'install-json-files
11525 (lambda* (#:key outputs #:allow-other-keys)
11526 (for-each (lambda (directory)
11527 (copy-recursively directory
11528 (string-append
11529 (assoc-ref outputs "out")
11530 directory)))
11531 '("js" "json"))))
11532 (add-after 'unpack 'chdir-elisp
11533 ;; Elisp directory is not in root of the source.
11534 (lambda _
11535 (chdir "emacs"))))))
11536 (build-system emacs-build-system)
11537 (home-page "https://github.com/for-GET/know-your-http-well")
11538 (synopsis "Meaning of HTTP headers codes")
11539 (description "Meaning of HTTP headers codes.")
11540 (license license:gpl3+)))
11541
11542 (define-public emacs-navi-mode
11543 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
11544 (package
11545 (name "emacs-navi-mode")
11546 (version (git-version "2.0" "1" commit))
11547 (source
11548 (origin
11549 (method git-fetch)
11550 (uri (git-reference
11551 (url "https://github.com/alphapapa/navi.git")
11552 (commit commit)))
11553 (file-name (git-file-name name version))
11554 (sha256
11555 (base32
11556 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
11557 (build-system emacs-build-system)
11558 (propagated-inputs
11559 `(("emacs-outshine" ,emacs-outshine)
11560 ("emacs-outorg" ,emacs-outorg)))
11561 (home-page "https://github.com/alphapapa/navi")
11562 (synopsis "Emacs major-mode for easy buffer-navigation")
11563 (description
11564 "This package provides an Emacs major-mode for easy buffer-navigation")
11565 (license license:gpl3+))))
11566
11567 (define-public emacs-download-region
11568 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
11569 (revision "1"))
11570 (package
11571 (name "emacs-download-region")
11572 (version (string-append "0.0.1" "-" revision "."
11573 (string-take commit 7)))
11574 (source
11575 (origin
11576 (method git-fetch)
11577 (uri (git-reference
11578 (url "https://github.com/zk-phi/download-region.git")
11579 (commit commit)))
11580 (file-name (git-file-name name version))
11581 (sha256
11582 (base32
11583 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
11584 (build-system emacs-build-system)
11585 (home-page "https://github.com/zk-phi/download-region")
11586 (synopsis "In buffer download manager for Emacs")
11587 (description "@code{download-region} provides in buffer
11588 downloading manager for Emacs.")
11589 (license license:gpl3+))))
11590
11591 (define-public emacs-helpful
11592 (package
11593 (name "emacs-helpful")
11594 (version "0.16")
11595 (source
11596 (origin
11597 (method git-fetch)
11598 (uri (git-reference
11599 (url "https://github.com/Wilfred/helpful.git")
11600 (commit version)))
11601 (file-name (git-file-name name version))
11602 (sha256
11603 (base32 "1pzlx3galyryd3hd84hnd7r5s6yl9sdrfhy1s6dgz40glw41wmpr"))))
11604 (build-system emacs-build-system)
11605 (propagated-inputs
11606 `(("emacs-elisp-refs" ,emacs-elisp-refs)
11607 ("emacs-dash" ,emacs-dash)
11608 ("emacs-s" ,emacs-s)
11609 ("emacs-f" ,emacs-f)
11610 ("emacs-shut-up" ,emacs-shut-up)))
11611 (home-page "https://github.com/Wilfred/helpful")
11612 (synopsis "More contextual information in Emacs help")
11613 (description "@code{helpful} is an alternative to the built-in Emacs help
11614 that provides much more contextual information.
11615
11616 @itemize
11617 @item Show the source code for interactively defined functions (unlike the
11618 built-in Help).
11619 @item Fall back to the raw sexp if no source is available.
11620 @item Show where a function is being called.
11621 @item Docstrings will Highlight the summary (the first sentence), include
11622 cross-references, hide superfluous puncuation.
11623 @item Show you the properties that have been applied to the current
11624 symbol. This provides visibility of features like edebug or byte-code
11625 optimisation.
11626 @item Provide a separate @code{helpful-command} function to view interactive
11627 functions.
11628 @item Display any keybindings that apply to interactive functions.
11629 @item Trace, disassemble functions from inside Helpful. This is discoverable
11630 and doesn't require memorisation of commands.
11631 @end itemize\n")
11632 (license license:gpl3+)))
11633
11634 (define-public emacs-logview
11635 (package
11636 (name "emacs-logview")
11637 (version "0.9")
11638 (source
11639 (origin
11640 (method git-fetch)
11641 (uri (git-reference
11642 (url "https://github.com/doublep/logview.git")
11643 (commit version)))
11644 (file-name (git-file-name name version))
11645 (sha256
11646 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
11647 (propagated-inputs
11648 `(("emacs-datetime" ,emacs-datetime)))
11649 (build-system emacs-build-system)
11650 (home-page "https://github.com/doublep/logview/")
11651 (synopsis "Emacs mode for viewing log files")
11652 (description "@code{logview} provides an Emacs mode to view log files.")
11653 (license license:gpl3+)))
11654
11655 (define-public emacs-suggest
11656 (package
11657 (name "emacs-suggest")
11658 (version "0.7")
11659 (home-page "https://github.com/Wilfred/suggest.el")
11660 (source
11661 (origin
11662 (method git-fetch)
11663 (uri (git-reference
11664 (url home-page)
11665 (commit version)))
11666 (file-name (git-file-name name version))
11667 (sha256
11668 (base32
11669 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
11670 (build-system emacs-build-system)
11671 (propagated-inputs
11672 `(("emacs-loop" ,emacs-loop)
11673 ("emacs-dash" ,emacs-dash)
11674 ("emacs-s" ,emacs-s)
11675 ("emacs-f" ,emacs-f)
11676 ("emacs-spinner" ,emacs-spinner)
11677 ("emacs-shut-up" ,emacs-shut-up)))
11678 (synopsis "Suggest Elisp functions that give the output requested")
11679 (description "Suggest.el will find functions that give the output
11680 requested. It's a great way of exploring list, string and arithmetic
11681 functions.")
11682 (license license:gpl3+)))
11683
11684 (define-public emacs-benchmark-init
11685 (package
11686 (name "emacs-benchmark-init")
11687 (version "1.0")
11688 (source
11689 (origin
11690 (method git-fetch)
11691 (uri (git-reference
11692 (url "https://github.com/dholm/benchmark-init-el.git")
11693 (commit version)))
11694 (file-name (git-file-name name version))
11695 (sha256
11696 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
11697 (build-system emacs-build-system)
11698 (home-page "https://github.com/dholm/benchmark-init-el")
11699 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
11700 (description "@code{benchmark-init} provides a way to keep track of where
11701 time is being spent during Emacs startup in order to optimize startup time.")
11702 (license license:gpl3+)))
11703
11704 (define-public emacs-emms-player-simple-mpv
11705 ;; A new mpv backend is included in Emms from 5.0.
11706 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
11707
11708 (define-public emacs-magit-gerrit
11709 (let ((version "0.3")
11710 (revision "1")
11711 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
11712 (package
11713 (name "emacs-magit-gerrit")
11714 (version (git-version version revision commit))
11715 (source (origin
11716 (method git-fetch)
11717 (uri (git-reference
11718 (url "https://github.com/terranpro/magit-gerrit.git")
11719 (commit commit)))
11720 (file-name (git-file-name name version))
11721 (sha256
11722 (base32
11723 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
11724 (build-system emacs-build-system)
11725 (propagated-inputs
11726 `(("emacs-magit" ,emacs-magit)))
11727 (home-page "https://github.com/terranpro/magit-gerrit")
11728 (synopsis "Magit extension for Gerrit")
11729 (description "This Magit extension provides integration with Gerrit,
11730 which makes it possible to conduct Gerrit code reviews directly from within
11731 Emacs.")
11732 (license license:gpl3+))))
11733
11734 (define-public emacs-magit-org-todos-el
11735 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
11736 (package
11737 (name "emacs-magit-org-todos-el")
11738 (version (git-version "0.1.1" "1" commit))
11739 (source
11740 (origin
11741 (method git-fetch)
11742 (uri (git-reference
11743 (url "https://github.com/danielma/magit-org-todos.el.git")
11744 (commit commit)))
11745 (file-name (git-file-name name version))
11746 (sha256
11747 (base32
11748 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
11749 (propagated-inputs
11750 `(("magit" ,emacs-magit)))
11751 (build-system emacs-build-system)
11752 (home-page "https://github.com/danielma/magit-org-todos.el")
11753 (synopsis "Get todo.org into Emacs Magit status")
11754 (description "This package allows you to get @file{todo.org} into your
11755 magit status.
11756
11757 If you have a @file{todo.org} file with @code{TODO} items in the root of your
11758 repository, @code{magit-org-todos} will create a section in your Magit status
11759 buffer with each of your todos.")
11760 (license license:gpl3+))))
11761
11762 (define-public emacs-f3
11763 (package
11764 (name "emacs-f3")
11765 (version "0.1")
11766 (source
11767 (origin
11768 (method git-fetch)
11769 (uri (git-reference
11770 (url "https://github.com/cosmicexplorer/f3.git")
11771 (commit version)))
11772 (file-name (git-file-name name version))
11773 (sha256
11774 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
11775 (build-system emacs-build-system)
11776 (propagated-inputs
11777 `(("emacs-helm" ,emacs-helm)))
11778 (home-page "https://github.com/cosmicexplorer/f3")
11779 (synopsis "Fantastic File Finder for Emacs")
11780 (description
11781 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
11782 (license license:gpl3+)))
11783
11784 (define-public emacs-lice-el
11785 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
11786 (package
11787 (name "emacs-lice-el")
11788 (version (git-version "0.2" "1" commit))
11789 (source (origin
11790 (method git-fetch)
11791 (uri (git-reference
11792 (url "https://github.com/buzztaiki/lice-el.git")
11793 (commit commit)))
11794 (file-name (git-file-name name version))
11795 (sha256
11796 (base32
11797 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
11798 (build-system emacs-build-system)
11799 (home-page "https://github.com/buzztaiki/lice-el")
11800 (synopsis "License and header template for Emacs")
11801 (description "@code{lice.el} provides following features:
11802
11803 @itemize
11804 @item License template management.
11805 @item File header insertion.
11806 @end itemize\n")
11807 (license license:gpl3+))))
11808
11809 (define-public emacs-academic-phrases
11810 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
11811 (package
11812 (name "emacs-academic-phrases")
11813 (version (git-version "0.1" "1" commit))
11814 (source
11815 (origin
11816 (method git-fetch)
11817 (uri (git-reference
11818 (url "https://github.com/nashamri/academic-phrases.git")
11819 (commit commit)))
11820 (file-name (git-file-name name version))
11821 (sha256
11822 (base32
11823 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
11824 (build-system emacs-build-system)
11825 (propagated-inputs
11826 `(("emacs-dash" ,emacs-dash)
11827 ("emacs-s" ,emacs-s)
11828 ("emacs-ht" ,emacs-ht)))
11829 (home-page "https://github.com/nashamri/academic-phrases")
11830 (synopsis "Bypass that mental block when writing your papers")
11831 (description
11832 "When writing your academic paper, you might get stuck trying to find
11833 the right phrase that captures your intention. This package tries to
11834 alleviate that problem by presenting you with a list of phrases organized by
11835 the topic or by the paper section that you are writing. This package has
11836 around 600 phrases so far.
11837
11838 Using this package is easy, just call @code{academic-phrases} to get a list of
11839 phrases organized by topic, or call @code{academic-phrases-by-section} to
11840 browse the phrases by the paper section and fill-in the blanks if required.")
11841 (license license:gpl3+))))
11842
11843 (define-public emacs-auto-yasnippet
11844 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
11845 (package
11846 (name "emacs-auto-yasnippet")
11847 (version (git-version "0.3.0" "1" commit))
11848 (source (origin
11849 (method git-fetch)
11850 (uri (git-reference
11851 (url "https://github.com/abo-abo/auto-yasnippet.git")
11852 (commit commit)))
11853 (file-name (git-file-name name version))
11854 (sha256
11855 (base32
11856 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
11857 (build-system emacs-build-system)
11858 (arguments
11859 '(#:phases
11860 (modify-phases %standard-phases
11861 (add-before 'install 'check
11862 (lambda _
11863 (invoke "emacs" "--batch"
11864 "-l" "auto-yasnippet.el"
11865 "-l" "auto-yasnippet-test.el"
11866 "-f" "ert-run-tests-batch-and-exit"))))))
11867 (propagated-inputs
11868 `(("emacs-yasnippet" ,emacs-yasnippet)))
11869 (home-page "https://github.com/abo-abo/auto-yasnippet/")
11870 (synopsis "Quickly create disposable yasnippets")
11871 (description "This package provides a hybrid of keyboard macros and
11872 yasnippet. You create the snippet on the go, usually to be used just in the
11873 one place. It's fast, because you're not leaving the current buffer, and all
11874 you do is enter the code you'd enter anyway, just placing ~ where you'd like
11875 yasnippet fields and mirrors to be.")
11876 (license license:gpl3+))))
11877
11878 (define-public emacs-highlight-numbers
11879 (package
11880 (name "emacs-highlight-numbers")
11881 (version "0.2.3")
11882 (source
11883 (origin
11884 (method git-fetch)
11885 (uri (git-reference
11886 (url "https://github.com/Fanael/highlight-numbers.git")
11887 (commit version)))
11888 (file-name (git-file-name name version))
11889 (sha256
11890 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
11891 (build-system emacs-build-system)
11892 (propagated-inputs
11893 `(("emacs-parent-mode" ,emacs-parent-mode)))
11894 (home-page "https://github.com/Fanael/highlight-numbers")
11895 (synopsis "Highlight numbers in source code")
11896 (description "@code{highlight-numbers-mode} provides a minor mode for
11897 syntax highlighting of numeric literals in source code.
11898
11899 It s customizable: it's easy to add or redefine what exactly consitutes a
11900 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
11901 (license license:gpl3+)))
11902
11903 (define-public emacs-darkroom
11904 (package
11905 (name "emacs-darkroom")
11906 (version "0.1")
11907 (source (origin
11908 (method url-fetch)
11909 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
11910 version ".el"))
11911 (sha256
11912 (base32
11913 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
11914 (build-system emacs-build-system)
11915 (home-page "https://elpa.gnu.org/packages/darkroom.html")
11916 (synopsis "Remove visual distractions and focus on writing")
11917 (description "@code{darkroom-mode} makes visual distractions disappear.
11918 The mode-line is temporarily elided, text is enlarged and margins are adjusted
11919 so that it's centered on the window.
11920
11921 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
11922 @code{darkroom-mode}, unless the current buffer lives in the sole window of
11923 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
11924 split to display more windows and more buffers, the buffer exits
11925 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
11926 @code{darkroom-mode}.")
11927 (license license:gpl3+)))
11928
11929 (define-public emacs-rsw-elisp
11930 (package
11931 (name "emacs-rsw-elisp")
11932 (version "1.0.5")
11933 (source (origin
11934 (method url-fetch)
11935 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
11936 "/archive/" version ".tar.gz"))
11937 (file-name (string-append name "-" version ".tar.gz"))
11938 (sha256
11939 (base32
11940 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
11941 (build-system emacs-build-system)
11942 (home-page "https://github.com/rswgnu/rsw-elisp")
11943 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
11944 (description "This package improves and replaces the GNU Emacs commands
11945 that interactively evaluate Emacs Lisp expressions. The new commands replace
11946 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
11947 the same way as the old commands when called non-interactively; only the
11948 interactive behavior should be different.")
11949 (license license:gpl3+)))
11950
11951 (define-public emacs-default-text-scale
11952 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
11953 (revision "1"))
11954 (package
11955 (name "emacs-default-text-scale")
11956 (version (string-append "0.1" "-" revision "."
11957 (string-take commit 7)))
11958 (source (origin
11959 (method git-fetch)
11960 (uri (git-reference
11961 (url "https://github.com/purcell/default-text-scale")
11962 (commit commit)))
11963 (file-name (git-file-name name version))
11964 (sha256
11965 (base32
11966 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
11967 (build-system emacs-build-system)
11968 (home-page "https://github.com/purcell/default-text-scale")
11969 (synopsis "Adjust the font size in all Emacs frames")
11970 (description "This package provides commands for increasing or
11971 decreasing the default font size in all GUI Emacs frames.")
11972 (license license:gpl3+))))
11973
11974 (define-public emacs-mixed-pitch
11975 (package
11976 (name "emacs-mixed-pitch")
11977 (version "1.0.1")
11978 (source
11979 (origin
11980 (method git-fetch)
11981 (uri (git-reference
11982 (url "https://gitlab.com/jabranham/mixed-pitch.git")
11983 (commit version)))
11984 (file-name (git-file-name name version))
11985 (sha256
11986 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
11987 (build-system emacs-build-system)
11988 (home-page "https://gitlab.com/jabranham/mixed-pitch")
11989 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
11990 (description
11991 "@code{mixed-pitch-mode} is a minor mode that enables mixing
11992 variable-pitch and fixed-pitch fonts in the same buffer. The list
11993 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
11994 fixed-pitch,everything else becomes variable-pitch.")
11995 (license license:gpl3+)))
11996
11997 (define-public emacs-visual-regexp
11998 (package
11999 (name "emacs-visual-regexp")
12000 (version "1.1.1")
12001 (source
12002 (origin
12003 (method git-fetch)
12004 (uri (git-reference
12005 (url "https://github.com/benma/visual-regexp.el.git")
12006 (commit (string-append "v" version))))
12007 (file-name (git-file-name name version))
12008 (sha256
12009 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
12010 (build-system emacs-build-system)
12011 (home-page "https://github.com/benma/visual-regexp.el/")
12012 (synopsis "Regexp command with interactive visual feedback")
12013 (description "This package provides an Emacs regexp command with
12014 interactive visual feedback.")
12015 (license license:gpl3+)))
12016
12017 (define-public emacs-faceup
12018 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
12019 (revision "1"))
12020 (package
12021 (name "emacs-faceup")
12022 (version (string-append "0.0.1" "-" revision "."
12023 (string-take commit 7)))
12024 (source
12025 (origin
12026 (method git-fetch)
12027 (uri (git-reference
12028 (url "https://github.com/Lindydancer/faceup.git")
12029 (commit commit)))
12030 (file-name (git-file-name name version))
12031 (sha256
12032 (base32
12033 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
12034 (build-system emacs-build-system)
12035 (home-page "https://github.com/Lindydancer/faceup")
12036 (synopsis "Markup language for faces and font-lock regression testing")
12037 (description "Emacs is capable of highlighting buffers based on
12038 language-specific @code{font-lock} rules. This package makes it possible to
12039 perform regression test for packages that provide font-lock rules.")
12040 (license license:gpl3+))))
12041
12042 (define-public emacs-racket-mode
12043 (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
12044 (revision "2"))
12045 (package
12046 (name "emacs-racket-mode")
12047 (version (string-append "0.0.2" "-" revision "."
12048 (string-take commit 7)))
12049 (source
12050 (origin
12051 (method git-fetch)
12052 (uri (git-reference
12053 (url "https://github.com/greghendershott/racket-mode")
12054 (commit commit)))
12055 (file-name (git-file-name name version))
12056 (sha256
12057 (base32
12058 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
12059 (build-system emacs-build-system)
12060 (arguments
12061 `(#:include '("\\.el$" "\\.rkt$")))
12062 (propagated-inputs
12063 `(("emacs-faceup" ,emacs-faceup)
12064 ("emacs-s" ,emacs-s)))
12065 (home-page "https://github.com/greghendershott/racket-mode")
12066 (synopsis "Major mode for Racket language")
12067 (description "@code{racket-mode} provides:
12068
12069 @itemize
12070 @item Focus on Racket (not various Schemes).
12071 @item Follow DrRacket concepts where applicable.
12072 @item Thorough font-lock and indent.
12073 @end itemize\n")
12074 (license license:gpl3+))))
12075
12076 (define-public emacs-grep-context
12077 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
12078 (package
12079 (name "emacs-grep-context")
12080 (version (git-version "0.1" "1" commit))
12081 (source
12082 (origin
12083 (method git-fetch)
12084 (uri (git-reference
12085 (url "https://github.com/mkcms/grep-context.git")
12086 (commit commit)))
12087 (file-name (git-file-name name version))
12088 (sha256
12089 (base32
12090 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
12091 (build-system emacs-build-system)
12092 (propagated-inputs
12093 `(("emacs-dash" ,emacs-dash)))
12094 (home-page "https://github.com/nashamri/academic-phrases")
12095 (synopsis "Increase context in compilation and grep buffers")
12096 (description
12097 "This package provides an Emacs package for more context in
12098 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
12099 @code{ivy}.")
12100 (license license:gpl3+))))
12101
12102 (define-public emacs-helm-firefox
12103 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
12104 (revision "1"))
12105 (package
12106 (name "emacs-helm-firefox")
12107 (version (string-append "0.0.1" "-" revision "."
12108 (string-take commit 7)))
12109 (source
12110 (origin
12111 (method git-fetch)
12112 (uri (git-reference
12113 (url "https://github.com/emacs-helm/helm-firefox.git")
12114 (commit commit)))
12115 (file-name (git-file-name name version))
12116 (sha256
12117 (base32
12118 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
12119 (propagated-inputs
12120 `(("emacs-helm" ,emacs-helm)))
12121 (build-system emacs-build-system)
12122 (home-page "https://github.com/emacs-helm/helm-firefox")
12123 (synopsis "Display firefox bookmarks with Emacs Helm interface")
12124 (description "Display firefox bookmarks with Emacs Helm interface")
12125 (license license:gpl3+))))
12126
12127 (define-public emacs-interactive-align
12128 (package
12129 (name "emacs-interactive-align")
12130 (version "0.1.0")
12131 (source
12132 (origin
12133 (method url-fetch)
12134 (uri (string-append "https://github.com/mkcms/interactive-align/"
12135 "archive/" "v" version ".tar.gz"))
12136 (file-name (string-append name "-" version ".tar.gz"))
12137 (sha256
12138 (base32
12139 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
12140 (build-system emacs-build-system)
12141 (home-page "https://github.com/mkcms/interactive-align/")
12142 (synopsis "Interactive align-regexp command in Emacs")
12143 (description "Interactive align-regexp command in Emacs")
12144 (license license:gpl3+)))
12145
12146 (define-public emacs-shift-number
12147 (package
12148 (name "emacs-shift-number")
12149 (version "0.1")
12150 (source
12151 (origin
12152 (method url-fetch)
12153 (uri (string-append "https://github.com/alezost/shift-number.el"
12154 "/archive/" "v" version ".tar.gz"))
12155 (file-name (string-append name "-" version ".tar.gz"))
12156 (sha256
12157 (base32
12158 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
12159 (build-system emacs-build-system)
12160 (home-page "https://github.com/alezost/shift-number.el")
12161 (synopsis "Increase or decrease the number at point")
12162 (description "@code{emacs-shift-number} provides commands
12163 @code{shift-number-up} to increase and @code{shift-number-down} to
12164 decrease the number at point.")
12165 (license license:gpl3+)))
12166
12167 (define-public emacs-highlight-defined
12168 (package
12169 (name "emacs-highlight-defined")
12170 (version "0.1.5")
12171 (source
12172 (origin
12173 (method git-fetch)
12174 (uri (git-reference
12175 (url "https://github.com/Fanael/highlight-defined.git")
12176 (commit version)))
12177 (file-name (git-file-name name version))
12178 (sha256
12179 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
12180 (build-system emacs-build-system)
12181 (home-page "https://github.com/Fanael/highlight-defined")
12182 (synopsis "Syntax highlighting of known Elisp symbols")
12183 (description "Minor mode providing syntax highlighting of known Emacs Lisp
12184 symbols. Currently the code distinguishes Lisp functions, built-in functions,
12185 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
12186 (license license:gpl3+)))
12187
12188 (define-public emacs-parinfer-mode
12189 (package
12190 (name "emacs-parinfer-mode")
12191 (version "0.4.10")
12192 (source
12193 (origin
12194 (method git-fetch)
12195 (uri (git-reference
12196 (url "https://github.com/DogLooksGood/parinfer-mode.git")
12197 (commit (string-append "v" version))))
12198 (file-name (git-file-name name version))
12199 (sha256
12200 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
12201 (propagated-inputs
12202 `(("emacs-dash" ,emacs-dash)
12203 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
12204 ("emacs-company" ,emacs-company)))
12205 (build-system emacs-build-system)
12206 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
12207 (synopsis "Lisp structure editing mode")
12208 (description "@code{parinfer-mode} is a proof-of-concept editor
12209 mode for Lisp programming languages. It will infer some changes to
12210 keep Parens and Indentation inline with one another.")
12211 (license license:gpl3+)))
12212
12213 (define-public emacs-helm-eww
12214 (package
12215 (name "emacs-helm-eww")
12216 (version "1.2")
12217 (source (origin
12218 (method git-fetch)
12219 (uri (git-reference
12220 (url "https://github.com/emacs-helm/helm-eww.git")
12221 (commit version)))
12222 (file-name (git-file-name name version))
12223 (sha256
12224 (base32
12225 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
12226 (propagated-inputs
12227 `(("emacs-helm" ,emacs-helm)))
12228 (build-system emacs-build-system)
12229 (home-page "https://github.com/emacs-helm/helm-eww/")
12230 (synopsis "Helm interface to EWW")
12231 (description "This package provides a Helm interface for EWW buffers,
12232 bookmarks and history.")
12233 (license license:gpl3+)))
12234
12235 (define-public emacs-stumpwm-mode
12236 (let ((commit "8fbe071d2c6c040794060a354eb377218dc10b35")
12237 (revision "1"))
12238 (package
12239 (name "emacs-stumpwm-mode")
12240 (version (string-append "0.0.1-" revision "."
12241 (string-take commit 7)))
12242 (source (origin
12243 (method git-fetch)
12244 (uri (git-reference
12245 (url "https://github.com/stumpwm/stumpwm-contrib.git")
12246 (commit commit)))
12247 (file-name (git-file-name name version))
12248 (sha256
12249 (base32
12250 "1dfwsvz1c8w6j4jp0kzaz78ml3f5dp0a5pvf090kwpbpg176r7iq"))))
12251 (build-system emacs-build-system)
12252 (arguments
12253 `(#:phases
12254 (modify-phases %standard-phases
12255 (add-after 'unpack 'chdir-elisp
12256 ;; Elisp directory is not in root of the source.
12257 (lambda _
12258 (chdir "util/swm-emacs"))))))
12259 (home-page "https://github.com/stumpwm/stumpwm-contrib")
12260 (synopsis "Emacs minor-mode for Stumpwm")
12261 (description "Emacs minor-mode for Stumpwm")
12262 (license license:gpl3+))))
12263
12264 (define-public emacs-irfc
12265 (package
12266 (name "emacs-irfc")
12267 (version "20130824.507-1")
12268 (source
12269 (origin
12270 (method url-fetch)
12271 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
12272 (file-name (string-append "irfc-" version ".el"))
12273 (sha256
12274 (base32
12275 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
12276 (build-system emacs-build-system)
12277 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
12278 (synopsis "Interface for IETF RFC document")
12279 (description
12280 "This package provides an Emacs interface for IETF RFC document.")
12281 (license license:gpl3+)))
12282
12283 (define-public emacs-ido-vertical-mode
12284 (package
12285 (name "emacs-ido-vertical-mode")
12286 (version "0.1.6")
12287 (source
12288 (origin
12289 (method git-fetch)
12290 (uri (git-reference
12291 (url "https://github.com/creichert/ido-vertical-mode.el.git")
12292 (commit (string-append "v" version))))
12293 (file-name (git-file-name name version))
12294 (sha256
12295 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
12296 (build-system emacs-build-system)
12297 (home-page "https://github.com/creichert/ido-vertical-mode.el")
12298 (synopsis "Makes ido-mode display vertically")
12299 (description "Makes ido-mode display prospects vertically.")
12300 (license license:gpl3+)))
12301
12302 (define-public emacs-wordgen
12303 (package
12304 (name "emacs-wordgen")
12305 (version "0.1.4")
12306 (source
12307 (origin
12308 (method git-fetch)
12309 (uri (git-reference
12310 (url "https://github.com/Fanael/wordgen.el.git")
12311 (commit version)))
12312 (file-name (git-file-name name version))
12313 (sha256
12314 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
12315 (build-system emacs-build-system)
12316 (home-page "https://github.com/Fanael/wordgen.el")
12317 (synopsis "Random word generator")
12318 (description "This package provides functions to generate random words
12319 using user-provided rules.")
12320 (license license:gpl3+)))
12321
12322 (define-public emacs-on-screen
12323 (package
12324 (name "emacs-on-screen")
12325 (version "1.3.2")
12326 (source
12327 (origin
12328 (method url-fetch)
12329 (uri (string-append
12330 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
12331 (file-name (string-append name "-" version ".el"))
12332 (sha256
12333 (base32
12334 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
12335 (build-system emacs-build-system)
12336 (home-page
12337 "https://github.com/michael-heerdegen/on-screen.el")
12338 (synopsis "Guide your eyes while scrolling")
12339 (description
12340 "Scrolling can be distracting because your eyes may lose
12341 orientation. This library implements a minor mode that highlights
12342 the previously visible buffer part after each scroll.")
12343 (license license:gpl3+)))
12344
12345 (define-public emacs-highlight-escape-sequences
12346 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
12347 (revision "1"))
12348 (package
12349 (name "emacs-highlight-escape-sequences")
12350 (version (string-append "0.0.1" "-" revision "."
12351 (string-take commit 7)))
12352 (source
12353 (origin
12354 (method git-fetch)
12355 (uri (git-reference
12356 (url "https://github.com/dgutov/highlight-escape-sequences.git")
12357 (commit commit)))
12358 (file-name (git-file-name name version))
12359 (sha256
12360 (base32
12361 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
12362 (build-system emacs-build-system)
12363 (home-page "https://github.com/dgutov/highlight-escape-sequences")
12364 (synopsis "Highlight escape sequences in Emacs")
12365 (description "@code{highlight-escape-sequences} provides an
12366 Emacs minor mode to escape sequences in code.")
12367 (license license:gpl3+))))
12368
12369 (define-public emacs-dashboard
12370 (package
12371 (name "emacs-dashboard")
12372 (version "1.5.0")
12373 (source
12374 (origin
12375 (method git-fetch)
12376 (uri (git-reference
12377 (url "https://github.com/rakanalh/emacs-dashboard.git")
12378 (commit version)))
12379 (file-name (git-file-name name version))
12380 (sha256
12381 (base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
12382 (build-system emacs-build-system)
12383 (propagated-inputs
12384 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
12385 (arguments
12386 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
12387 #:phases
12388 (modify-phases %standard-phases
12389 (add-after 'unpack 'patch-dashboard-widgets
12390 ;; This phase fixes compilation error.
12391 (lambda _
12392 (chmod "dashboard-widgets.el" #o666)
12393 (emacs-substitute-variables "dashboard-widgets.el"
12394 ("dashboard-init-info"
12395 '(format "Loaded in %s" (emacs-init-time))))
12396 #t)))))
12397 (home-page "https://github.com/rakanalh/emacs-dashboard")
12398 (synopsis "Startup screen extracted from Spacemacs")
12399 (description "This package provides an extensible Emacs dashboard, with
12400 sections for bookmarks, projectil projects, org-agenda and more. ")
12401 (license license:gpl3+)))
12402
12403 (define-public emacs-slime-company
12404 (package
12405 (name "emacs-slime-company")
12406 (version "1.1")
12407 (source
12408 (origin
12409 (method git-fetch)
12410 (uri (git-reference
12411 (url "https://github.com/anwyn/slime-company.git")
12412 (commit (string-append "v" version))))
12413 (file-name (git-file-name name version))
12414 (sha256
12415 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
12416 (build-system emacs-build-system)
12417 (propagated-inputs
12418 `(("emacs-slime" ,emacs-slime)
12419 ("emacs-company" ,emacs-company)))
12420 (home-page "https://company-mode.github.io")
12421 (synopsis "SLIME completion backend for @code{company-mode}")
12422 (description
12423 "This is a backend implementation for the completion package
12424 @code{company-mode} which supports the normal and the fuzzy completion
12425 modes of SLIME.")
12426 (license license:gpl3+)))
12427
12428 (define-public emacs-sml-mode
12429 (package
12430 (name "emacs-sml-mode")
12431 (version "6.9")
12432 (source
12433 (origin
12434 (method url-fetch)
12435 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
12436 version ".el"))
12437 (sha256
12438 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
12439 (build-system emacs-build-system)
12440 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
12441 (synopsis "Major mode for editing (Standard) ML")
12442 (description "SML-MODE is a major Emacs mode for editing Standard ML.
12443 It provides syntax highlighting and automatic indentation and
12444 comes with sml-proc which allows interaction with an inferior SML
12445 interactive loop.")
12446 (license license:gpl3+)))
12447
12448 (define-public emacs-eros
12449 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
12450 (revision "1"))
12451 (package
12452 (name "emacs-eros")
12453 (version (string-append "0.0.1" "-" revision "."
12454 (string-take commit 7)))
12455 (source
12456 (origin
12457 (method git-fetch)
12458 (uri (git-reference
12459 (url "https://github.com/xiongtx/eros.git")
12460 (commit commit)))
12461 (file-name (git-file-name name version))
12462 (sha256
12463 (base32
12464 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
12465 (build-system emacs-build-system)
12466 (home-page "https://github.com/xiongtx/eros")
12467 (synopsis "Evaluation result overlays")
12468 (description "@code{eros} provides evaluation result overlays.")
12469 (license license:gpl3+))))
12470
12471 (define-public emacs-stickyfunc-enhance
12472 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
12473 (revision "1"))
12474 (package
12475 (name "emacs-stickyfunc-enhance")
12476 (version "0.1")
12477 (source
12478 (origin
12479 (method git-fetch)
12480 (uri (git-reference
12481 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
12482 (commit commit)))
12483 (file-name (git-file-name name version))
12484 (sha256
12485 (base32
12486 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
12487 (build-system emacs-build-system)
12488 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
12489 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
12490 (description
12491 "@code{semantic-stickyfunc-mode} shows the function point is currently
12492 in at the first line of the current buffer. This is useful when you have a
12493 very long function that spreads more than a screen, and you don't have to
12494 scroll up to read the function name and then scroll down to original position.")
12495 (license license:gpl3+))))
12496
12497 (define-public emacs-git-auto-commit-mode
12498 (package
12499 (name "emacs-git-auto-commit-mode")
12500 (version "4.4.0")
12501 (source
12502 (origin
12503 (method git-fetch)
12504 (uri (git-reference
12505 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
12506 (commit version)))
12507 (file-name (git-file-name name version))
12508 (sha256
12509 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
12510 (build-system emacs-build-system)
12511 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
12512 (synopsis "Emacs Minor mode to automatically commit and push")
12513 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
12514 tries to commit changes to a file after every save.
12515
12516 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
12517 the current upstream.")
12518 (license license:gpl3+)))
12519
12520 (define-public emacs-company-restclient
12521 (package
12522 (name "emacs-company-restclient")
12523 (version "0.1.0")
12524 (source
12525 (origin
12526 (method git-fetch)
12527 (uri (git-reference
12528 (url "https://github.com/iquiw/company-restclient.git")
12529 (commit (string-append "v" version))))
12530 (file-name (git-file-name name version))
12531 (sha256
12532 (base32 "0i1fh5lvqwlgn3g3fzh0xacxyljx6gkryipn133vfkv4jbns51n4"))))
12533 (build-system emacs-build-system)
12534 (propagated-inputs
12535 `(("emacs-company" ,emacs-company)
12536 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
12537 ("emacs-restclient" ,emacs-restclient)))
12538 (home-page "https://github.com/iquiw/company-restclient")
12539 (synopsis "Company-mode completion back-end for restclient-mode")
12540 (description "@code{company-mode} back-end for
12541 @code{restclient-mode}.
12542
12543 It provides auto-completion for HTTP methods and headers in
12544 @code{restclient-mode}. Completion source is given by
12545 @code{know-your-http-well}.")
12546 (license license:gpl3+)))
12547
12548 (define-public emacs-noflet
12549 (let ((version "20170629")
12550 (revision "1")
12551 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
12552 (package
12553 (name "emacs-noflet")
12554 (version (git-version version revision commit))
12555 (source
12556 (origin
12557 (method git-fetch)
12558 (uri (git-reference
12559 (url "https://github.com/nicferrier/emacs-noflet")
12560 (commit commit)))
12561 (file-name (git-file-name name version))
12562 (sha256
12563 (base32
12564 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
12565 (build-system emacs-build-system)
12566 (arguments
12567 `(#:phases
12568 (modify-phases %standard-phases
12569 (add-after 'unpack 'require-dash
12570 ;; noflet.el uses -map from dash, but (require 'dash) is
12571 ;; missing. So, add it.
12572 (lambda _
12573 (substitute* "noflet.el"
12574 ((";;; Code:") ";;; Code:\n(require 'dash)"))
12575 #t)))))
12576 (propagated-inputs
12577 `(("emacs-dash" ,emacs-dash)))
12578 (home-page "https://github.com/nicferrier/emacs-noflet")
12579 (synopsis "Locally override functions")
12580 (description "@code{emacs-noflet} lets you locally override functions,
12581 in the manner of @command{flet}, but with access to the original function
12582 through the symbol: @command{this-fn}.")
12583 (license license:gpl3+))))
12584
12585 (define-public emacs-dumb-jump
12586 (package
12587 (name "emacs-dumb-jump")
12588 (version "0.5.2")
12589 (source
12590 (origin
12591 (method git-fetch)
12592 (uri (git-reference
12593 (url "https://github.com/jacktasia/dumb-jump.git")
12594 (commit (string-append "v" version))))
12595 (file-name (git-file-name name version))
12596 (sha256
12597 (base32 "00ph85vp8sa3k99qrdxfz4l8zx121q9xf47vvspzg26bk9l4nwin"))))
12598 (build-system emacs-build-system)
12599 (arguments
12600 `(#:tests? #f ; FIXME: Tests freeze when run.
12601 #:test-command '("ert-runner")
12602 #:phases
12603 (modify-phases %standard-phases
12604 (add-after 'unpack 'set-shell
12605 (lambda _
12606 ;; Setting the SHELL environment variable is required for the
12607 ;; tests to find sh.
12608 (setenv "SHELL" (which "sh"))
12609 #t)))))
12610 (native-inputs
12611 `(("emacs-el-mock" ,emacs-el-mock)
12612 ("emacs-noflet" ,emacs-noflet)
12613 ("emacs-undercover" ,emacs-undercover)
12614 ("ert-runner" ,emacs-ert-runner)))
12615 (propagated-inputs
12616 `(("emacs-f" ,emacs-f)
12617 ("emacs-popup" ,emacs-popup)))
12618 (home-page "https://github.com/jacktasia/dumb-jump")
12619 (synopsis "Jump to definition for multiple languages without configuration")
12620 (description "Dumb Jump is an Emacs \"jump to definition\" package with
12621 support for multiple programming languages that favors \"just working\" over
12622 speed or accuracy. This means minimal --- and ideally zero --- configuration
12623 with absolutely no stored indexes (tags) or persistent background processes.
12624 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
12625 @command{rg} installed.")
12626 (license license:gpl3+)))
12627
12628 (define-public emacs-dts-mode
12629 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
12630 (revision "1"))
12631 (package
12632 (name "emacs-dts-mode")
12633 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
12634 (source
12635 (origin
12636 (method git-fetch)
12637 (uri (git-reference
12638 (url "https://github.com/bgamari/dts-mode.git")
12639 (commit commit)))
12640 (file-name (git-file-name name version))
12641 (sha256
12642 (base32
12643 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
12644 (build-system emacs-build-system)
12645 (home-page "https://github.com/bgamari/dts-mode.git")
12646 (synopsis "Emacs minor mode for editing device tree files")
12647 (description
12648 "This package provides an Emacs minor mode for highlighting
12649 device tree files.")
12650 (license license:gpl3+))))
12651
12652 (define-public emacs-daemons
12653 (package
12654 (name "emacs-daemons")
12655 (version "2.0.0")
12656 (source
12657 (origin
12658 (method git-fetch)
12659 (uri (git-reference
12660 (url "https://github.com/cbowdon/daemons.el")
12661 (commit version)))
12662 (file-name (git-file-name name version))
12663 (sha256
12664 (base32
12665 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
12666 (build-system emacs-build-system)
12667 (home-page "https://github.com/cbowdon/daemons.el")
12668 (synopsis "Emacs UI for managing init system services")
12669 (description
12670 "This is an Emacs mode to give you a UI for managing init system
12671 daemons (services) for those getting tired of typing out @code{sudo service
12672 my_thing reload} all the time. It offers a consistent UI over different init
12673 systems.")
12674 (license license:gpl3+)))
12675
12676 (define-public emacs-isearch+
12677 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
12678 (revision "1"))
12679 (package
12680 (name "emacs-isearch+")
12681 (version (git-version "0" revision commit))
12682 (source
12683 (origin
12684 (method git-fetch)
12685 (uri (git-reference
12686 (url "https://github.com/emacsmirror/isearch-plus.git")
12687 (commit commit)))
12688 (file-name (git-file-name name version))
12689 (sha256
12690 (base32
12691 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
12692 (build-system emacs-build-system)
12693 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
12694 (synopsis "Extensions to @code{isearch.el}")
12695 (description "This package extends @code{isearch} with advice, dynamic
12696 filters, highlighting of regexp group levels, and more.")
12697 (license license:gpl2+))))
12698
12699 (define-public emacs-eshell-bookmark
12700 (package
12701 (name "emacs-eshell-bookmark")
12702 (version "2.0.0")
12703 (source
12704 (origin
12705 (method git-fetch)
12706 (uri (git-reference
12707 (url "https://github.com/Fuco1/eshell-bookmark")
12708 (commit version)))
12709 (file-name (git-file-name name version))
12710 (sha256
12711 (base32
12712 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
12713 (build-system emacs-build-system)
12714 (home-page "https://github.com/Fuco1/eshell-bookmark")
12715 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
12716 (description
12717 "This package allows for bookmarking @code{eshell} buffers. Upon
12718 visiting the bookmark, a new @code{eshell} session will be opened in the
12719 appropriate directory if no @code{eshell} session is active.")
12720 (license license:gpl3+)))
12721
12722 (define-public emacs-eshell-z
12723 (package
12724 (name "emacs-eshell-z")
12725 (version "0.3.2")
12726 (source
12727 (origin
12728 (method git-fetch)
12729 (uri (git-reference
12730 (url "https://github.com/xuchunyang/eshell-z")
12731 (commit (string-append "v" version))))
12732 (file-name (git-file-name name version))
12733 (sha256
12734 (base32
12735 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
12736 (build-system emacs-build-system)
12737 (home-page "https://github.com/xuchunyang/eshell-z")
12738 (synopsis "Quick navigation to frequently visited directories")
12739 (description
12740 "This package is a port of @code{z}, and keeps track of visited directories
12741 and commands invoked within them in order to enable navigation via input of
12742 matching regexps.")
12743 (license license:gpl3+)))
12744
12745 (define-public emacs-esh-autosuggest
12746 (package
12747 (name "emacs-esh-autosuggest")
12748 (version "2.0.0")
12749 (source
12750 (origin
12751 (method git-fetch)
12752 (uri (git-reference
12753 (url "https://github.com/dieggsy/esh-autosuggest")
12754 (commit version)))
12755 (file-name (git-file-name name version))
12756 (sha256
12757 (base32
12758 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
12759 (build-system emacs-build-system)
12760 (propagated-inputs `(("emacs-company" ,emacs-company)))
12761 (home-page "https://github.com/dieggsy/esh-autosuggest")
12762 (synopsis "Fish-like autosuggestions in Eshell")
12763 (description
12764 "This package assumes you use something other than company for eshell
12765 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
12766 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
12767 for history autosuggestions.
12768
12769 Unless you're using @code{use-package}'s hook keyword, you can enable the
12770 autosuggestions with:
12771 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
12772 (license license:gpl3+)))
12773
12774 (define-public emacs-desktop-environment
12775 (package
12776 (name "emacs-desktop-environment")
12777 (version "0.2.2")
12778 (source
12779 (origin
12780 (method git-fetch)
12781 (uri (git-reference
12782 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
12783 (commit (string-append "v" version))))
12784 (file-name (git-file-name name version))
12785 (sha256
12786 (base32
12787 "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
12788 (build-system emacs-build-system)
12789 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
12790 (synopsis "Control your GNU/Linux desktop environment from Emacs")
12791 (description
12792 "This package helps you control your GNU/Linux desktop from Emacs.
12793 With @code{desktop-environment}, you can control the brightness and volume as
12794 well as take screenshots and lock your screen. The package depends on the
12795 availability of shell commands to do the hard work for us. These commands can
12796 be changed by customizing the appropriate variables.")
12797 (license license:gpl3+)))
12798
12799 (define-public emacs-org-caldav
12800 (package
12801 (name "emacs-org-caldav")
12802 (version "20180403")
12803 (source
12804 (origin
12805 (method url-fetch)
12806 (uri (string-append
12807 "https://github.com/dengste/org-caldav/raw/"
12808 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
12809 "/org-caldav.el"))
12810 (sha256
12811 (base32
12812 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
12813 (build-system emacs-build-system)
12814 (propagated-inputs `(("emacs-org" ,emacs-org)))
12815 (home-page "https://github.com/dengste/org-caldav")
12816 (synopsis
12817 "Sync Org files with external calendars via the CalDAV protocol")
12818 (description
12819 "Synchronize between events in Org-mode files and a CalDAV calendar.
12820 This code is still alpha.")
12821 (license license:gpl3+)))
12822
12823 (define-public emacs-zotxt
12824 (package
12825 (name "emacs-zotxt")
12826 (version "20180518")
12827 (source
12828 (origin
12829 (method git-fetch)
12830 (uri (git-reference
12831 (url "https://github.com/egh/zotxt-emacs.git")
12832 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
12833 (file-name (git-file-name name version))
12834 (sha256
12835 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
12836 (build-system emacs-build-system)
12837 (propagated-inputs
12838 `(("emacs-deferred" ,emacs-deferred)
12839 ("emacs-request" ,emacs-request)))
12840 (home-page "https://github.com/egh/zotxt-emacs")
12841 (synopsis "Integrate Emacs with Zotero")
12842 (description "This package provides two integration features between Emacs
12843 and the Zotero research assistant: Insertion of links to Zotero items into an
12844 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
12845 (license license:gpl3+)))
12846
12847 (define-public emacs-evil-ediff
12848 ;; Evil-Ediff is included in Evil Collection from 20180617.
12849 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
12850
12851 (define-public emacs-evil-magit
12852 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
12853 (package
12854 (name "emacs-evil-magit")
12855 (version (git-version "0.4.2" "2" commit))
12856 (source
12857 (origin
12858 (method git-fetch)
12859 (uri (git-reference
12860 (url "https://github.com/emacs-evil/evil-magit")
12861 (commit commit)))
12862 (file-name (git-file-name name version))
12863 (sha256
12864 (base32
12865 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
12866 (build-system emacs-build-system)
12867 (propagated-inputs
12868 `(("emacs-evil" ,emacs-evil)
12869 ("magit" ,emacs-magit)))
12870 (home-page
12871 "https://github.com/emacs-evil/evil-magit")
12872 (synopsis "Evil-based key bindings for Magit")
12873 (description
12874 "This Emacs library configures Magit and Evil to play well with each other.
12875 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
12876 See the README at @url{https://github.com/justbur/evil-magit} for a table
12877 describing the key binding changes.")
12878 (license license:gpl3+))))
12879
12880 (define-public emacs-evil-mu4e
12881 ;; Evil-mu4e is included in Evil Collection from 20180617.
12882 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
12883
12884 (define-public emacs-evil-multiedit
12885 (package
12886 (name "emacs-evil-multiedit")
12887 (version "1.3.9")
12888 (source
12889 (origin
12890 (method git-fetch)
12891 (uri (git-reference
12892 (url "https://github.com/hlissner/evil-multiedit")
12893 (commit (string-append "v" version))))
12894 (file-name (git-file-name name version))
12895 (sha256
12896 (base32
12897 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
12898 (build-system emacs-build-system)
12899 (propagated-inputs
12900 `(("emacs-evil" ,emacs-evil)
12901 ("emacs-iedit" ,emacs-iedit)))
12902 (home-page
12903 "https://github.com/hlissner/evil-multiedit")
12904 (synopsis "Multiple cursors for Evil mode")
12905 (description
12906 "This plugin was an answer to the lack of proper multiple cursor support
12907 in Emacs+Evil. It allows you to select and edit matches interactively,
12908 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
12909 defaults.")
12910 (license license:gpl3+)))
12911
12912 (define-public emacs-evil-org
12913 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
12914 (package
12915 (name "emacs-evil-org")
12916 (version (git-version "0.1.1" "1" commit))
12917 (source
12918 (origin
12919 (method git-fetch)
12920 (uri (git-reference
12921 (url "https://github.com/Somelauw/evil-org-mode")
12922 (commit commit)))
12923 (file-name (git-file-name name version))
12924 (sha256
12925 (base32
12926 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
12927 (build-system emacs-build-system)
12928 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
12929 (home-page
12930 "https://github.com/Somelauw/evil-org-mode")
12931 (synopsis "Evil keybindings for Org mode")
12932 (description
12933 "This package adds supplemental Evil mode key-bindings to Emacs
12934 Org-mode. It features:
12935 @itemize
12936 @item normal, visual and insert mode bindings;
12937 @item key bindings organised in key themes;
12938 @item operators like > and < to work on headings;
12939 @item text objects;
12940 @item table support;
12941 @item calendar (date selection) support;
12942 @item agenda support.
12943 @end itemize\n")
12944 (license license:gpl3+))))
12945
12946 (define-public emacs-debpaste
12947 (package
12948 (name "emacs-debpaste")
12949 (version "0.1.5")
12950 (home-page "https://github.com/alezost/debpaste.el")
12951 (source
12952 (origin
12953 (method git-fetch)
12954 (uri (git-reference (url home-page)
12955 (commit (string-append "v" version))))
12956 (file-name (string-append name "-" version ".tar.gz"))
12957 (sha256
12958 (base32
12959 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
12960 (build-system emacs-build-system)
12961 (propagated-inputs
12962 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
12963 (synopsis "Manipulate pastes from the Debian Pastezone")
12964 (description "Debpaste is an Emacs interface for the Debian Pastezone,
12965 allowing you to receive, post, and delete pastes. It communicates with the
12966 server using XML-RPC.")
12967 (license license:gpl3+)))
12968
12969 (define-public emacs-xml-rpc
12970 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
12971 (revision "1"))
12972 (package
12973 (name "emacs-xml-rpc")
12974 (version (git-version "1.6.12" revision commit))
12975 (source
12976 (origin
12977 (method git-fetch)
12978 (uri (git-reference
12979 (url "https://github.com/hexmode/xml-rpc-el")
12980 (commit commit)))
12981 (file-name (git-file-name name version))
12982 (sha256
12983 (base32
12984 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
12985 (build-system emacs-build-system)
12986 (home-page "https://github.com/hexmode/xml-rpc-el")
12987 (synopsis "XML-RPC client for Emacs")
12988 (description "This package provides an XML-RPC client for Emacs capable
12989 of both synchronous and asynchronous method calls using the @code{url}
12990 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
12991 datatypes as Lisp values, automatically converting to and from the XML
12992 datastructures as needed, both for method parameters and return values, making
12993 using XML-RPC methods fairly transparent to the Lisp code.")
12994 (license license:gpl3+))))
12995
12996 (define-public emacs-xpm
12997 (package
12998 (name "emacs-xpm")
12999 (version "1.0.4")
13000 (source
13001 (origin
13002 (method url-fetch)
13003 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
13004 version ".tar"))
13005 (sha256
13006 (base32
13007 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
13008 (build-system emacs-build-system)
13009 (home-page "https://elpa.gnu.org/packages/xpm.html")
13010 (synopsis "XPM image editing mode for Emacs")
13011 (description "This Emacs package makes editing XPM images easy (and maybe
13012 fun). Editing is done directly on the (textual) image format, for maximal
13013 cohesion with the Emacs Way.")
13014 (license license:gpl3+)))
13015
13016 (define-public emacs-fish-completion
13017 (package
13018 (name "emacs-fish-completion")
13019 (version "1.1")
13020 (source
13021 (origin
13022 (method url-fetch)
13023 (uri (string-append
13024 "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
13025 "archive.tar.gz?ref="
13026 version))
13027 (sha256
13028 (base32
13029 "0bpvifv6c2a65nks6kvarw0hhm37fnyy74wikwf9qq1i20va0fpv"))))
13030 (build-system emacs-build-system)
13031 (inputs `(("fish" ,fish)))
13032 (arguments
13033 `(#:phases
13034 (modify-phases %standard-phases
13035 (add-after 'unpack 'configure
13036 (lambda* (#:key inputs outputs #:allow-other-keys)
13037 (let ((fish (assoc-ref inputs "fish")))
13038 ;; Specify the absolute file names of the various
13039 ;; programs so that everything works out-of-the-box.
13040 (emacs-substitute-variables
13041 "fish-completion.el"
13042 ("fish-completion-command"
13043 (string-append fish "/bin/fish")))))))))
13044 (home-page
13045 "https://gitlab.com/Ambrevar/emacs-fish-completion")
13046 (synopsis "Fish completion for Emacs pcomplete")
13047 (description
13048 "This package provides completion for the Fish shell to pcomplete (used
13049 by shell and Eshell). You can set it up globally with:
13050
13051 @example
13052 (when (and (executable-find \"fish\")
13053 (require 'fish-completion nil t))
13054 (global-fish-completion-mode))
13055 @end example
13056
13057 Alternatively, you can call the @code{fish-completion-mode} manually or in
13058 shell/Eshell mode hook.
13059
13060 The package @code{emacs-bash-completion} is an optional dependency: if available,
13061 @code{fish-completion-complete} can be configured to fall back on bash to further
13062 try completing. See @code{fish-completion-fallback-on-bash-p}.")
13063 (license license:gpl3+)))
13064
13065 (define-public emacs-gif-screencast
13066 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
13067 (package
13068 (name "emacs-gif-screencast")
13069 (version (git-version "20180616" "1" commit))
13070 (source
13071 (origin
13072 (method url-fetch)
13073 (uri (string-append
13074 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
13075 "repository/archive.tar.gz?ref="
13076 commit))
13077 (sha256
13078 (base32
13079 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
13080 (build-system emacs-build-system)
13081 (inputs
13082 `(("scrot" ,scrot)
13083 ("imagemagick" ,imagemagick)
13084 ("gifsicle" ,gifsicle)))
13085 (arguments
13086 `(#:phases
13087 (modify-phases %standard-phases
13088 (add-after 'unpack 'configure
13089 (lambda* (#:key inputs outputs #:allow-other-keys)
13090 (let ((scrot (assoc-ref inputs "scrot"))
13091 (imagemagick (assoc-ref inputs "imagemagick"))
13092 (gifsicle (assoc-ref inputs "gifsicle")))
13093 ;; Specify the absolute file names of the various
13094 ;; programs so that everything works out-of-the-box.
13095 (emacs-substitute-variables
13096 "gif-screencast.el"
13097 ("gif-screencast-program"
13098 (string-append scrot "/bin/scrot"))
13099 ("gif-screencast-convert-program"
13100 (string-append imagemagick "/bin/convert"))
13101 ("gif-screencast-cropping-program"
13102 (string-append imagemagick "/bin/mogrify"))
13103 ("gif-screencast-optimize-program"
13104 (string-append imagemagick "/bin/gifsicle")))))))))
13105 (home-page
13106 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
13107 (synopsis "One-frame-per-action GIF recording")
13108 (description
13109 "Call @code{gif-screencast} to start a recording.
13110 A screenshot is taken for every user action. Call
13111 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
13112 the GIF result.")
13113 (license license:gpl3+))))
13114
13115 (define-public emacs-google-translate
13116 (package
13117 (name "emacs-google-translate")
13118 (version "0.11.17")
13119 (source
13120 (origin
13121 (method git-fetch)
13122 (uri (git-reference
13123 (url "https://github.com/atykhonov/google-translate/")
13124 (commit (string-append "v" version))))
13125 (file-name (git-file-name name version))
13126 (sha256
13127 (base32
13128 "05ljjw7kbnszygw3w085kv57swfiiqxri2b5xvsf5dw3pc3g7j3c"))))
13129 (build-system emacs-build-system)
13130 (home-page "https://github.com/atykhonov/google-translate")
13131 (synopsis "Emacs interface to Google Translate")
13132 (description
13133 "This package provides an Emacs interface to the Google Translate
13134 on-line service.")
13135 (license license:gpl3+)))
13136
13137 (define-public emacs-helm-company
13138 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
13139 (package
13140 (name "emacs-helm-company")
13141 (version (git-version "0.2.3" "1" commit))
13142 (source
13143 (origin
13144 (method git-fetch)
13145 (uri (git-reference
13146 (url "https://github.com/Sodel-the-Vociferous/helm-company")
13147 (commit commit)))
13148 (file-name (git-file-name name version))
13149 (sha256
13150 (base32
13151 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
13152 (build-system emacs-build-system)
13153 (propagated-inputs
13154 `(("emacs-helm" ,emacs-helm)
13155 ("emacs-company" ,emacs-company)))
13156 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
13157 (synopsis "Helm interface for company-mode")
13158 (description
13159 "This is a Helm interface to company-mode, a text completion
13160 framework.")
13161 (license license:gpl3+))))
13162
13163 (define-public emacs-helm-descbinds
13164 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
13165 (package
13166 (name "emacs-helm-descbinds")
13167 (version (git-version "1.13" "1" commit))
13168 (source
13169 (origin
13170 (method git-fetch)
13171 (uri (git-reference
13172 (url "https://github.com/emacs-helm/helm-descbinds")
13173 (commit commit)))
13174 (file-name (git-file-name name version))
13175 (sha256
13176 (base32
13177 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
13178 (build-system emacs-build-system)
13179 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
13180 (home-page "https://github.com/emacs-helm/helm-descbinds")
13181 (synopsis "Convenient @code{describe-bindings} with Helm")
13182 (description
13183 "This package is a replacement of @code{describe-bindings} for Helm.
13184 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
13185 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
13186 @code{helm-descbinds}. The bindings are presented in a similar way as
13187 @code{describe-bindings} does, but you can use completion to find the command
13188 you searched for and execute it, or view its documentation.")
13189 (license license:gpl3+))))
13190
13191 (define-public emacs-helm-emms
13192 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
13193 (package
13194 (name "emacs-helm-emms")
13195 (version (git-version "1.3" "2" commit))
13196 (source
13197 (origin
13198 (method git-fetch)
13199 (uri (git-reference
13200 (url "https://github.com/emacs-helm/helm-emms")
13201 (commit commit)))
13202 (file-name (git-file-name name version))
13203 (sha256
13204 (base32
13205 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
13206 (build-system emacs-build-system)
13207 (propagated-inputs
13208 `(("emacs-helm" ,emacs-helm)
13209 ("emacs-emms" ,emacs-emms)))
13210 (home-page
13211 "https://github.com/emacs-helm/helm-emms")
13212 (synopsis "Emms for Helm")
13213 (description "Helm interface for Emms to browse all tracks and all folders
13214 from @code{emms-source-file-default-directory}.")
13215 (license license:gpl3+))))
13216
13217 (define-public emacs-helm-exwm
13218 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
13219 (package
13220 (name "emacs-helm-exwm")
13221 (version (git-version "20180703" "2" commit))
13222 (source
13223 (origin
13224 (method git-fetch)
13225 (uri (git-reference
13226 (url "https://github.com/emacs-helm/helm-exwm.git")
13227 (commit commit)))
13228 (sha256
13229 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
13230 (build-system emacs-build-system)
13231 (propagated-inputs
13232 `(("emacs-helm" ,emacs-helm)
13233 ("emacs-exwm" ,emacs-exwm)))
13234 (home-page
13235 "https://github.com/emacs-helm/helm-exwm")
13236 (synopsis "Helm for EXWM buffers")
13237 (description
13238 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
13239 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
13240 switch between the various windows of one or several specific applications.
13241 See @code{helm-exwm-switch-browser} for an example.")
13242 (license license:gpl3+))))
13243
13244 (define-public emacs-helm-flycheck
13245 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
13246 (package
13247 (name "emacs-helm-flycheck")
13248 (version (git-version "0.4" "1" commit))
13249 (source
13250 (origin
13251 (method git-fetch)
13252 (uri (git-reference
13253 (url "https://github.com/yasuyk/helm-flycheck")
13254 (commit commit)))
13255 (file-name (git-file-name name version))
13256 (sha256
13257 (base32
13258 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
13259 (build-system emacs-build-system)
13260 (propagated-inputs
13261 `(("emacs-dash" ,emacs-dash)
13262 ("emacs-flycheck" ,emacs-flycheck)
13263 ("emacs-helm" ,emacs-helm)))
13264 (home-page "https://github.com/yasuyk/helm-flycheck")
13265 (synopsis "Show Flycheck errors with Helm")
13266 (description
13267 "This integrates Flycheck with Helm.")
13268 (license license:gpl3+))))
13269
13270 (define-public emacs-helm-ls-git
13271 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
13272 (package
13273 (name "emacs-helm-ls-git")
13274 (version (git-version "1.9.1" "1" commit))
13275 (source
13276 (origin
13277 (method git-fetch)
13278 (uri (git-reference
13279 (url "https://github.com/emacs-helm/helm-ls-git")
13280 (commit commit)))
13281 (file-name (git-file-name name version))
13282 (sha256
13283 (base32
13284 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
13285 (build-system emacs-build-system)
13286 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
13287 (home-page "https://github.com/emacs-helm/helm-ls-git")
13288 (synopsis "Helm interface for listing the files in a Git repository")
13289 (description
13290 "This package provides a Helm interface for Git files.
13291 @itemize
13292 @item Display the open buffers in project.
13293 @item Display a status source showing state of project (modified files etc.).
13294 @item Display a list of all files in project under git control.
13295 @item Quickly look at diffs of modified files.
13296 @item Allow switching to @code{git status} with your preferred frontend
13297 (vc-dir, Magit,etc.).
13298 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
13299 can use ack-grep instead of grep).
13300 @item Integrate usage of gid from id-utils.
13301 @item Full integration with @code{helm-find-files}, allow you to browse
13302 projects unrelated to current-buffer.
13303 @item In addition, all actions of type files and buffers are provided.
13304 @end itemize\n")
13305 (license license:gpl3+))))
13306
13307 (define-public emacs-helm-mu
13308 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
13309 (package
13310 (name "emacs-helm-mu")
13311 (version (git-version "20180513" "1" commit))
13312 (source
13313 (origin
13314 (method git-fetch)
13315 (uri (git-reference
13316 (url "https://github.com/emacs-helm/helm-mu.git")
13317 (commit commit)))
13318 (sha256
13319 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
13320 (build-system emacs-build-system)
13321 (propagated-inputs
13322 `(("emacs-helm" ,emacs-helm)
13323 ("mu" ,mu)))
13324 (home-page
13325 "https://github.com/emacs-helm/helm-mu")
13326 (synopsis
13327 "Helm sources for searching emails and contacts")
13328 (description
13329 "Helm sources for searching emails and contacts using @code{mu} and
13330 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
13331 Emacs build on top of mu. Mu is highly efficient making it possible to get
13332 instant results even for huge maildirs. It also provides search operators,
13333 e.g: @code{from:Peter to:Anne flag:attach search term}.")
13334 (license license:gpl3+))))
13335
13336 (define-public emacs-helm-pass
13337 (package
13338 (name "emacs-helm-pass")
13339 (version "0.3")
13340 (source
13341 (origin
13342 (method git-fetch)
13343 (uri (git-reference
13344 (url "https://github.com/emacs-helm/helm-pass")
13345 (commit version)))
13346 (file-name (git-file-name name version))
13347 (sha256
13348 (base32
13349 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
13350 (build-system emacs-build-system)
13351 (propagated-inputs
13352 `(("emacs-helm" ,emacs-helm)
13353 ("emacs-password-store" ,emacs-password-store)))
13354 (home-page "https://github.com/emacs-helm/helm-pass")
13355 (synopsis "Helm interface to pass, the standard Unix password manager")
13356 (description
13357 "Users of @code{helm-pass} may also be interested in functionality
13358 provided by other Emacs packages dealing with pass:
13359 @itemize
13360 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
13361 @item @code{emacs-pass}, a major mode for @code{pass}.
13362 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
13363 @code{pass}, included in Emacs 26+).
13364 @end itemize\n")
13365 (license license:gpl3+)))
13366
13367 (define-public emacs-image+
13368 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
13369 (package
13370 (name "emacs-image+")
13371 (version (git-version "0.6.2" "1" commit))
13372 (source
13373 (origin
13374 (method git-fetch)
13375 (uri (git-reference
13376 (url "https://github.com/mhayashi1120/Emacs-imagex")
13377 (commit commit)))
13378 (file-name (git-file-name name version))
13379 (sha256
13380 (base32
13381 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
13382 (build-system emacs-build-system)
13383 (inputs `(("imagemagick" ,imagemagick)))
13384 (arguments
13385 `(#:phases
13386 (modify-phases %standard-phases
13387 (add-after 'unpack 'configure
13388 (lambda* (#:key inputs outputs #:allow-other-keys)
13389 (let ((imagemagick (assoc-ref inputs "imagemagick")))
13390 ;; Specify the absolute file names of the various
13391 ;; programs so that everything works out-of-the-box.
13392 (chmod "image+.el" #o666)
13393 (emacs-substitute-variables
13394 "image+.el"
13395 ("imagex-convert-command"
13396 (string-append imagemagick "/bin/convert"))
13397 ("imagex-identify-command"
13398 (string-append imagemagick "/bin/identify")))))))))
13399 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
13400 (synopsis "Image manipulation extensions for Emacs")
13401 (description
13402 "Image+ provides keybindings allowing you to zoom in or zoom out of an
13403 image, rotate it, save modified images, and more.")
13404 (license license:gpl3+))))
13405
13406 (define-public emacs-package-lint
13407 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
13408 (package
13409 (name "emacs-package-lint")
13410 (version (git-version "0.5" "1" commit))
13411 (source
13412 (origin
13413 (method git-fetch)
13414 (uri (git-reference
13415 (url "https://github.com/purcell/package-lint")
13416 (commit commit)))
13417 (file-name (git-file-name name version))
13418 (sha256
13419 (base32
13420 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
13421 (build-system emacs-build-system)
13422 (home-page "https://github.com/purcell/package-lint")
13423 (synopsis "Linting library for elisp package authors")
13424 (description
13425 "This provides a list of issues with the Emacs package metadata of a file,
13426 e.g. the package dependencies it requires. See function
13427 @code{package-lint-buffer}. Checks will currently be enabled only if a
13428 \"Package-Requires:\" or \"Package-Version:\" header is present in the
13429 file.")
13430 (license license:gpl3+))))
13431
13432 (define-public emacs-picpocket
13433 (let ((version "40")
13434 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
13435 (package
13436 (name "emacs-picpocket")
13437 (version version)
13438 (source
13439 (origin
13440 (method git-fetch)
13441 (uri (git-reference
13442 (url "https://github.com/johanclaesson/picpocket")
13443 (commit commit)))
13444 (file-name (git-file-name name version))
13445 (sha256
13446 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
13447 (build-system emacs-build-system)
13448 (arguments ; needed for running tests
13449 `(#:tests? #t
13450 #:emacs ,emacs
13451 #:test-command '("emacs" "--batch"
13452 "-l" "picpocket-test.el"
13453 "-f" "ert-run-tests-batch-and-exit")))
13454 (home-page "https://github.com/johanclaesson/picpocket")
13455 (synopsis "Image viewer for Emacs")
13456 (description
13457 "Picpocket is an image viewer for GNU Emacs. It has commands for:
13458
13459 @itemize
13460 @item File operations on the picture files (delete, move, copy, hardlink).
13461 @item Scale and rotate the picture.
13462 @item Associate pictures with tags which are saved to disk.
13463 @item Filter pictures according to tags.
13464 @item Customizing keystrokes for quick tagging and file operations.
13465 @item Undo and browse history of undoable commands.
13466 @end itemize")
13467 (license license:gpl3+))))
13468
13469 (define-public emacs-wgrep-helm
13470 ;; `emacs-wgrep-helm' was mistakenly added.
13471 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
13472
13473 (define-public emacs-mu4e-conversation
13474 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
13475 (package
13476 (name "emacs-mu4e-conversation")
13477 (version (git-version "20181126" "4" commit))
13478 (source
13479 (origin
13480 (method url-fetch)
13481 (uri (string-append
13482 "https://gitlab.com/Ambrevar/mu4e-conversation/"
13483 "repository/archive.tar.gz?ref="
13484 commit))
13485 (file-name (git-file-name name version))
13486 (sha256
13487 (base32
13488 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
13489 (build-system emacs-build-system)
13490 (propagated-inputs
13491 `(("mu" ,mu)))
13492 (home-page
13493 "https://gitlab.com/Ambrevar/mu4e-conversation")
13494 (synopsis
13495 "Show a complete thread in a single buffer")
13496 (description
13497 "This package offers an alternate view to mu4e's e-mail display. It
13498 shows all e-mails of a thread in a single view, where each correspondent has
13499 their own face. Threads can be displayed linearly (in which case e-mails are
13500 displayed in chronological order) or as an Org document where the node tree
13501 maps the thread tree.")
13502 (license license:gpl3+))))
13503
13504 (define-public emacs-pinentry
13505 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
13506 (revision "1"))
13507 (package
13508 (name "emacs-pinentry")
13509 (version (git-version "0.1" revision commit))
13510 (source
13511 (origin
13512 (method url-fetch)
13513 (uri (string-append
13514 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
13515 "/packages/pinentry/pinentry.el?id=" commit))
13516 (file-name (string-append "pinentry.el"))
13517 (sha256
13518 (base32
13519 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
13520 (build-system emacs-build-system)
13521 (propagated-inputs
13522 `(("gnupg" ,gnupg)))
13523 (home-page "https://elpa.gnu.org/packages/pinentry.html")
13524 (synopsis "GnuPG Pinentry server implementation")
13525 (description
13526 "This package allows GnuPG passphrase to be prompted through the
13527 minibuffer instead of graphical dialog.
13528
13529 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
13530 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
13531 server with @code{M-x pinentry-start}.")
13532 (license license:gpl3+))))
13533
13534 (define-public emacs-org-brain
13535 (package
13536 (name "emacs-org-brain")
13537 (version "0.5")
13538 (source
13539 (origin
13540 (method git-fetch)
13541 (uri (git-reference
13542 (url "https://github.com/Kungsgeten/org-brain.git")
13543 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
13544 (file-name (git-file-name name version))
13545 (sha256
13546 (base32
13547 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
13548 (build-system emacs-build-system)
13549 (home-page "https://github.com/Kungsgeten/org-brain")
13550 (synopsis "Org-mode wiki and concept-mapping for Emacs")
13551 (description "@code{emacs-org-brain} implements a variant of concept
13552 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
13553 org-mode entries, where each entry is a file or a headline, and you can get a
13554 visual overview of the relationships between the entries: parents, children,
13555 siblings and friends. This visual overview can also be used to browse your
13556 entries. You can think of entries as nodes in a mind map, or pages in a
13557 wiki.")
13558 (license license:expat)))
13559
13560 (define-public emacs-recent-addresses
13561 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
13562 (revision "1"))
13563 (package
13564 (name "emacs-recent-addresses")
13565 (home-page "http://nschum.de/src/emacs/recent-addresses/")
13566 (version (git-version "0.1" revision commit))
13567 (source (origin
13568 (method git-fetch)
13569 (uri (git-reference
13570 ;; Note: Use a branch that works with Helm. Submitted
13571 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
13572 (url "https://github.com/civodul/recent-addresses.el")
13573 (commit commit)))
13574 (sha256
13575 (base32
13576 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
13577 (file-name (git-file-name name version))))
13578 (build-system emacs-build-system)
13579 (synopsis "Record recently-used email addressed and auto-complete them")
13580 (description
13581 "@code{recent-addresses} is an Emacs package that allows you to quickly
13582 look up previously used email addresses. It can be used alongside the Gnus
13583 email client.")
13584 (license license:gpl2+))))
13585
13586 (define-public emacs-fold-dwim
13587 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
13588 (revision "0"))
13589 (package
13590 (name "emacs-fold-dwim")
13591 (version (git-version "1.2" revision commit))
13592 (home-page "https://github.com/emacsattic/fold-dwim")
13593 (source (origin
13594 (method git-fetch)
13595 (uri (git-reference (url home-page) (commit commit)))
13596 (sha256
13597 (base32
13598 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
13599 (file-name (git-file-name name version))))
13600 (build-system emacs-build-system)
13601 (synopsis "Unified user interface for Emacs folding modes")
13602 (description
13603 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
13604 can do different things depending on the context. In this package, it means
13605 that, if the cursor is in a currently hidden folded construction, we want to
13606 show it; if it's not, we want to hide whatever fold the cursor is in.")
13607 (license license:gpl2+))))
13608
13609 (define-public emacs-markup-faces
13610 (package
13611 (name "emacs-markup-faces")
13612 (version "1.0.0")
13613 (source
13614 (origin
13615 (method url-fetch)
13616 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
13617 version ".el"))
13618 (sha256
13619 (base32
13620 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
13621 (build-system emacs-build-system)
13622 (home-page "https://github.com/sensorflo/markup-faces")
13623 (synopsis "Collection of Emacs faces for markup language modes")
13624 (description "emacs-markup-faces is like font-lock-faces, but tailored for
13625 markup languages instead programming languages. The sub group markup-faces-text
13626 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
13627 common look and feel, or let's say theme, across different markup language modes
13628 and 'text viewing modes' respectively.")
13629 (license license:gpl3+)))
13630
13631 (define-public emacs-adoc-mode
13632 (package
13633 (name "emacs-adoc-mode")
13634 (version "0.6.6")
13635 (source
13636 (origin
13637 (method url-fetch)
13638 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
13639 version ".el"))
13640 (sha256
13641 (base32
13642 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
13643 (build-system emacs-build-system)
13644 (propagated-inputs
13645 `(("emacs-markup-faces" ,emacs-markup-faces)))
13646 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
13647 (synopsis "AsciiDoc mode for Emacs")
13648 (description "This package provides an Emacs major mode for editing AsciiDoc
13649 files. It focuses on highlighting the document to improve readability.")
13650 (license license:gpl2+)))
13651
13652 (define-public emacs-rust-mode
13653 (let ((commit
13654 ;; Last release is old (2016), use more recent commit to get bug
13655 ;; fixes.
13656 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
13657 (revision "0"))
13658 (package
13659 (name "emacs-rust-mode")
13660 (version (git-version "0.3.0" revision commit))
13661 (source (origin
13662 (method git-fetch)
13663 (uri
13664 (git-reference
13665 (url "https://github.com/rust-lang/rust-mode")
13666 (commit commit)))
13667 (file-name (git-file-name name version))
13668 (sha256
13669 (base32
13670 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
13671 (build-system emacs-build-system)
13672 (arguments
13673 `(#:phases
13674 (modify-phases %standard-phases
13675 (replace 'check
13676 (lambda _
13677 (invoke "sh" "run_rust_emacs_tests.sh"))))))
13678 (home-page "https://github.com/rust-lang/rust-mode")
13679 (synopsis "Major Emacs mode for editing Rust source code")
13680 (description "This package provides a major Emacs mode for editing Rust
13681 source code.")
13682 (license (list license:expat
13683 license:asl2.0)))))
13684
13685 (define-public emacs-ztree
13686 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
13687 (package
13688 (name "emacs-ztree")
13689 (version (git-version "1.0.5" "1" commit))
13690 (source
13691 (origin
13692 (method git-fetch)
13693 (uri (git-reference
13694 (url "https://github.com/fourier/ztree")
13695 (commit commit)))
13696 (file-name (git-file-name name version))
13697 (sha256
13698 (base32
13699 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
13700 (build-system emacs-build-system)
13701 (home-page "https://github.com/fourier/ztree")
13702 (synopsis "Directory tree comparison mode for Emacs")
13703 (description "Ztree is a project dedicated to implementation of several
13704 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
13705 @command{ztree-diff} and @command{ztree-dir} (the basis of
13706 @command{ztree-diff}).")
13707 (license license:gpl3))))
13708
13709 (define-public emacs-helm-org-contacts
13710 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
13711 (package
13712 (name "emacs-helm-org-contacts")
13713 (version (git-version "20180707" "1" commit))
13714 (source
13715 (origin
13716 (method git-fetch)
13717 (uri (git-reference
13718 (url "https://github.com/tmalsburg/helm-org-contacts")
13719 (commit commit)))
13720 (file-name (git-file-name name version))
13721 (sha256
13722 (base32
13723 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
13724 (build-system emacs-build-system)
13725 (propagated-inputs
13726 `(("emacs-dash" ,emacs-dash)
13727 ("emacs-helm" ,emacs-helm)
13728 ("emacs-s" ,emacs-s)))
13729 (home-page "https://github.com/tmalsburg/helm-org-contacts")
13730 (synopsis "Helm source for org-contacts")
13731 (description "This Helm source can be used to search contacts stored in
13732 org-contacts format. There are actions for inserting postal addresses, email
13733 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
13734 was called.")
13735 (license license:gpl3))))
13736
13737 (define-public emacs-dired-du
13738 (package
13739 (name "emacs-dired-du")
13740 (version "0.5.1")
13741 (source
13742 (origin
13743 (method url-fetch)
13744 (uri (string-append
13745 "https://elpa.gnu.org/packages/dired-du-"
13746 version ".tar"))
13747 (sha256
13748 (base32
13749 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
13750 (build-system emacs-build-system)
13751 (home-page "http://elpa.gnu.org/packages/dired-du.html")
13752 (synopsis "Dired with recursive directory sizes")
13753 (description
13754 "Display the recursive size of directories in Dired.
13755 This file defines a minor mode @command{dired-du-mode} to show the recursive
13756 size of directories in Dired buffers. If @command{du} program is available,
13757 then the directory sizes are obtained with it. Otherwise, the directory sizes
13758 are obtained with Lisp. The former is faster and provide a more precise
13759 value. For directories where the user doesn't have read permission, the
13760 recursive size is not obtained. Once this mode is enabled, every new Dired
13761 buffer displays recursive dir sizes.")
13762 (license license:gpl3+)))
13763
13764 (define-public emacs-dired-rsync
13765 (package
13766 (name "emacs-dired-rsync")
13767 (version "0.4")
13768 (source (origin
13769 (method git-fetch)
13770 (uri (git-reference
13771 (url "https://github.com/stsquad/dired-rsync.git")
13772 (commit version)))
13773 (file-name (git-file-name name version))
13774 (sha256
13775 (base32
13776 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
13777 (build-system emacs-build-system)
13778 (propagated-inputs
13779 `(("emacs-s" ,emacs-s)
13780 ("emacs-dash" ,emacs-dash)))
13781 (home-page "https://github.com/stsquad/dired-rsync/")
13782 (synopsis "Support for rsync from Emacs dired buffers")
13783 (description "This package adds a single command @code{dired-rsync} which
13784 allows the user to copy marked files in a dired buffer via @code{rsync}. This
13785 is useful, especially for large files, because the copy happens in the
13786 background and doesn’t lock up Emacs. It is also more efficient than using
13787 tramps own encoding methods for moving data between systems.")
13788 (license license:gpl3+)))
13789
13790 (define-public emacs-pcre2el
13791 ;; Last release is very old so we get the latest commit.
13792 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
13793 (package
13794 (name "emacs-pcre2el")
13795 (version (git-version "1.8" "1" commit))
13796 (source
13797 (origin
13798 (method git-fetch)
13799 (uri (git-reference
13800 (url "https://github.com/joddie/pcre2el")
13801 (commit commit)))
13802 (file-name (git-file-name name version))
13803 (sha256
13804 (base32
13805 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
13806 (build-system emacs-build-system)
13807 (home-page "https://github.com/joddie/pcre2el")
13808 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
13809 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
13810 Tools) is a utility for working with regular expressions in Emacs, based on a
13811 recursive-descent parser for regexp syntax. In addition to converting (a
13812 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
13813
13814 @itemize
13815 @item convert Emacs syntax to PCRE
13816 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
13817 @item untangle complex regexps by showing the parse tree in @code{rx} form and
13818 highlighting the corresponding chunks of code
13819 @item show the complete list of strings (productions) matching a regexp,
13820 provided the list is finite
13821 @item provide live font-locking of regexp syntax (so far only for Elisp
13822 buffers – other modes on the TODO list).
13823 @end itemize\n")
13824 (license license:gpl3))))
13825
13826 (define-public emacs-magit-todos
13827 (package
13828 (name "emacs-magit-todos")
13829 (version "1.2")
13830 (source
13831 (origin
13832 (method git-fetch)
13833 (uri (git-reference
13834 (url "https://github.com/alphapapa/magit-todos")
13835 (commit version)))
13836 (file-name (git-file-name name version))
13837 (sha256
13838 (base32
13839 "17a18gszbypz82bj36xbfyykc4s9rz83vwmpxvlf65svhd51c0nh"))))
13840 (build-system emacs-build-system)
13841 (propagated-inputs
13842 `(("emacs-async" ,emacs-async)
13843 ("emacs-dash" ,emacs-dash)
13844 ("emacs-f" ,emacs-f)
13845 ("emacs-hl-todo" ,emacs-hl-todo)
13846 ("magit" ,emacs-magit)
13847 ("emacs-pcre2el" ,emacs-pcre2el)
13848 ("emacs-s" ,emacs-s)))
13849 (home-page "https://github.com/alphapapa/magit-todos")
13850 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
13851 (description "This package displays keyword entries from source code
13852 comments and Org files in the Magit status buffer. Activating an item jumps
13853 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
13854 few (like NOTE).")
13855 (license license:gpl3)))
13856
13857 (define-public emacs-git-annex
13858 ;; Unreleased version has a fontification fix.
13859 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
13860 (revision "1"))
13861 (package
13862 (name "emacs-git-annex")
13863 (version (string-append "1.1-" revision "." (string-take commit 8)))
13864 (source
13865 (origin
13866 (method git-fetch)
13867 (uri (git-reference
13868 (url "https://github.com/jwiegley/git-annex-el")
13869 (commit commit)))
13870 (file-name (git-file-name name version))
13871 (sha256
13872 (base32
13873 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
13874 (build-system emacs-build-system)
13875 (home-page "https://github.com/jwiegley/git-annex-el")
13876 (synopsis "Emacs integration for git-annex")
13877 (description "Enhances Dired and buffers visiting annex files with
13878 git-annex functionality. In Dired, the names of annex files are shortened by
13879 hiding the symbolic links and fontified based on whether content is present.
13880 Commands for performing some common operations (e.g., unlocking and adding
13881 files) are provided.")
13882 (license license:gpl2+))))
13883
13884 (define-public emacs-hackernews
13885 (let ((commit "916c3da8da45c757f5ec2faeed57fa370513d4ac"))
13886 (package
13887 (name "emacs-hackernews")
13888 (version (git-version "0.5.0" "1" commit))
13889 (source
13890 (origin
13891 (method git-fetch)
13892 (uri (git-reference
13893 (url "https://github.com/clarete/hackernews.el")
13894 (commit commit)))
13895 (file-name (git-file-name name version))
13896 (sha256
13897 (base32
13898 "09bxaaczana1cfvxyk9aagjvdszkj0j1yldl5r4xa60b59lxihsg"))))
13899 (build-system emacs-build-system)
13900 (home-page "https://github.com/clarete/hackernews.el")
13901 (synopsis "Hacker News client for Emacs")
13902 (description "The @command{hackernews} package is able to fetch stories
13903 from six different Hacker News feeds, namely top, new, best, ask, show and job
13904 stories. The default feed is top stories, which corresponds to the Hacker
13905 News homepage.")
13906 (license license:gpl3))))
13907
13908 (define-public emacs-youtube-dl
13909 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
13910 (package
13911 (name "emacs-youtube-dl")
13912 (version (git-version "1.0" "1" commit))
13913 (source
13914 (origin
13915 (method git-fetch)
13916 (uri (git-reference
13917 (url "https://github.com/skeeto/youtube-dl-emacs/")
13918 (commit commit)))
13919 (file-name (git-file-name name version))
13920 (sha256
13921 (base32
13922 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
13923 (build-system emacs-build-system)
13924 (inputs
13925 `(("youtube-dl" ,youtube-dl)))
13926 (arguments
13927 `(#:phases
13928 (modify-phases %standard-phases
13929 (add-after 'unpack 'configure
13930 (lambda* (#:key inputs #:allow-other-keys)
13931 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
13932 ;; .el is read-only in git.
13933 (chmod "youtube-dl.el" #o644)
13934 ;; Specify the absolute file names of the various
13935 ;; programs so that everything works out-of-the-box.
13936 (emacs-substitute-variables
13937 "youtube-dl.el"
13938 ("youtube-dl-program"
13939 (string-append youtube-dl "/bin/youtube-dl")))))))))
13940 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
13941 (synopsis "Emacs youtube-dl download manager")
13942 (description "This package manages a video download queue for
13943 @command{youtube-dl}, which serves as the back end. It manages a single
13944 @command{youtube-dl} subprocess, downloading one video at a time. New videos
13945 can be queued at any time.")
13946 (license license:unlicense))))
13947
13948 (define-public emacs-org-web-tools
13949 (package
13950 (name "emacs-org-web-tools")
13951 (version "1.0")
13952 (source
13953 (origin
13954 (method git-fetch)
13955 (uri (git-reference
13956 (url "https://github.com/alphapapa/org-web-tools")
13957 (commit version)))
13958 (file-name (git-file-name name version))
13959 (sha256
13960 (base32
13961 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
13962 (build-system emacs-build-system)
13963 (propagated-inputs
13964 `(("emacs-dash" ,emacs-dash)
13965 ("emacs-esxml" ,emacs-esxml)
13966 ("emacs-s" ,emacs-s)))
13967 (inputs
13968 `(("pandoc" ,ghc-pandoc)))
13969 (arguments
13970 `(#:phases
13971 (modify-phases %standard-phases
13972 (add-after 'unpack 'patch-exec-paths
13973 (lambda* (#:key inputs #:allow-other-keys)
13974 (let ((pandoc (assoc-ref inputs "pandoc")))
13975 (substitute* "org-web-tools.el"
13976 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
13977 #t))))))
13978 (home-page "https://github.com/alphapapa/org-web-tools")
13979 (synopsis "Display/Process web page as Org-mode content")
13980 (description "This package contains library functions and commands useful
13981 for retrieving web page content and processing it into Org-mode content.
13982
13983 For example, you can copy a URL to the clipboard or kill-ring, then run a
13984 command that downloads the page, isolates the “readable” content with
13985 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
13986 displays it in an Org-mode buffer. Another command does all of that but
13987 inserts it as an Org entry instead of displaying it in a new buffer.")
13988 (license license:gpl3+)))
13989
13990 (define-public emacs-blimp
13991 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
13992 (package
13993 (name "emacs-blimp")
13994 (version (git-version "0.0.0" "1" commit))
13995 (source
13996 (origin
13997 (method git-fetch)
13998 (uri (git-reference
13999 (url "https://github.com/walseb/blimp")
14000 (commit commit)))
14001 (file-name (git-file-name name version))
14002 (sha256
14003 (base32
14004 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
14005 (build-system emacs-build-system)
14006 (propagated-inputs
14007 `(("emacs-eimp" ,emacs-eimp)))
14008 (home-page "https://github.com/walseb/blimp")
14009 (synopsis "Emacs wrapper around all Imagemagick commands")
14010 (description "Blimp (Bustling Image Manipulation Package) is a complete
14011 wrapper around all Imagemagick commands with descriptions, autocompletion (for
14012 some commands) and hints displayed in prompt using @command{eimp.el} to
14013 execute its commands and resize images.")
14014 (license license:gpl3+))))
14015
14016 (define-public emacs-synosaurus
14017 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
14018 (package
14019 (name "emacs-synosaurus")
14020 (version (git-version "0.1.0" "1" commit))
14021 (source
14022 (origin
14023 (method git-fetch)
14024 (uri (git-reference
14025 (url "https://github.com/hpdeifel/synosaurus")
14026 (commit commit)))
14027 (file-name (git-file-name name version))
14028 (sha256
14029 (base32
14030 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
14031 (build-system emacs-build-system)
14032 (propagated-inputs
14033 `(("wordnet" ,wordnet)))
14034 (arguments
14035 `(#:phases
14036 (modify-phases %standard-phases
14037 (add-after 'unpack 'configure
14038 (lambda* (#:key inputs outputs #:allow-other-keys)
14039 (let ((wn (assoc-ref inputs "wordnet")))
14040 ;; .el is read-only in git.
14041 (chmod "synosaurus-wordnet.el" #o644)
14042 ;; Specify the absolute file names of the various
14043 ;; programs so that everything works out-of-the-box.
14044 (emacs-substitute-variables
14045 "synosaurus-wordnet.el"
14046 ("wordnet-command"
14047 (string-append wn "/bin/wn")))))))))
14048 (home-page "https://github.com/hpdeifel/synosaurus")
14049 (synopsis "Extensible thesaurus mode for Emacs")
14050 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
14051 backends, including the @command{wordnet} offline backend.")
14052 (license license:gpl3+))))
14053
14054 (define-public emacs-editorconfig
14055 (package
14056 (name "emacs-editorconfig")
14057 (version "0.8.0")
14058 (source
14059 (origin
14060 (method git-fetch)
14061 (uri (git-reference
14062 (url "https://github.com/editorconfig/editorconfig-emacs")
14063 (commit (string-append "v" version))))
14064 (file-name (git-file-name name version))
14065 (sha256
14066 (base32
14067 "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
14068 (build-system emacs-build-system)
14069 (home-page "https://github.com/editorconfig/editorconfig-emacs")
14070 (synopsis "Define and maintain consistent coding styles between different
14071 editors and IDEs")
14072 (description "The EditorConfig project consists of a file format for
14073 defining coding styles and a collection of text editor plugins that enable
14074 editors to read the file format and adhere to defined styles. EditorConfig
14075 files are easily readable and they work nicely with version control systems.")
14076 (license license:gpl3+)))
14077
14078 (define-public emacs-all-the-icons
14079 (package
14080 (name "emacs-all-the-icons")
14081 (version "3.2.0")
14082 (source
14083 (origin
14084 (method git-fetch)
14085 (uri (git-reference
14086 (url "https://github.com/domtronn/all-the-icons.el.git")
14087 (commit version)))
14088 (file-name (git-file-name name version))
14089 (sha256
14090 (base32
14091 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
14092 (build-system emacs-build-system)
14093 (arguments
14094 `(#:include '("\\.el$" "^data/" "^fonts/")
14095 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
14096 ;; all-the-icons--root-code". Ignoring tests.
14097 #:exclude '("^test/")
14098 #:tests? #f))
14099 (propagated-inputs
14100 `(("f" ,emacs-f)
14101 ("memoize" ,emacs-memoize)))
14102 (home-page "https://github.com/domtronn/all-the-icons.el")
14103 (synopsis "Collect icon fonts and propertize them within Emacs")
14104 (description "All-the-icons is a utility package to collect various icon
14105 fonts and propertize them within Emacs. Icon fonts allow you to propertize
14106 and format icons the same way you would normal text. This enables things such
14107 as better scaling of and anti aliasing of the icons.")
14108 ;; Package is released under Expat license. Elisp files are licensed
14109 ;; under GPL3+. Fonts come with various licenses: Expat for
14110 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
14111 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
14112 ;; "ocitcons.ttf" and "weathericons.ttf".
14113 (license
14114 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
14115
14116 (define-public emacs-powerline
14117 (package
14118 (name "emacs-powerline")
14119 (version "2.4")
14120 (source
14121 (origin
14122 (method git-fetch)
14123 (uri (git-reference
14124 (url "https://github.com/milkypostman/powerline.git")
14125 (commit version)))
14126 (file-name (git-file-name name version))
14127 (sha256
14128 (base32
14129 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
14130 (build-system emacs-build-system)
14131 (home-page "https://github.com/milkypostman/powerline/")
14132 (synopsis "Mode-line plugin for Emacs")
14133 (description "Powerline is a utility plugin which allows you to create
14134 a better-looking, more functional Emacs mode-line. A collection of predefined
14135 themes comes with the package.")
14136 (license license:gpl3+)))
14137
14138 (define-public emacs-spaceline
14139 (package
14140 (name "emacs-spaceline")
14141 (version "2.0.1")
14142 (source
14143 (origin
14144 (method git-fetch)
14145 (uri (git-reference
14146 (url "https://github.com/TheBB/spaceline.git")
14147 (commit (string-append "v" version))))
14148 (file-name (git-file-name name version))
14149 (sha256
14150 (base32
14151 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
14152 (build-system emacs-build-system)
14153 (propagated-inputs
14154 `(("dash" ,emacs-dash)
14155 ("powerline" ,emacs-powerline)
14156 ("s" ,emacs-s)))
14157 (home-page "https://github.com/TheBB/spaceline")
14158 (synopsis "Powerline theme from Spacemacs")
14159 (description "Spaceline provides Spacemacs' mode-line theme.
14160 This package provides features for three kinds of users.
14161
14162 @itemize
14163 @item You just want to use the Spacemacs mode-line theme and forget about it.
14164 @item You want to use something similar to the Spacemacs mode-line theme, but
14165 with a handful of easy tweaks.
14166 @item You want an easy-to-use library for building your own mode-line from
14167 scratch, and you think the Spacemacs theme looks good.
14168 @end itemize")
14169 (license license:gpl3+)))
14170
14171 (define-public emacs-column-marker
14172 (package
14173 (name "emacs-column-marker")
14174 (version "9")
14175 (source
14176 (origin
14177 (method url-fetch)
14178 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
14179 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
14180 (build-system emacs-build-system)
14181 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
14182 (synopsis "Emacs mode for highlighting columns")
14183 (description
14184 "With @code{column-marker.el} you can highlight any number of text columns.
14185 Three such highlight column markers are provided by default. This is
14186 especially useful for languages like COBOL or Fortran where certain columns
14187 have special meaning. It is also handy for aligning text across long vertical
14188 distances. Multi-column characters, such as @kbd{TAB} are treated
14189 correctly.")
14190 (license license:gpl2+)))
14191
14192 (define-public emacs-slime-repl-ansi-color
14193 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
14194 (package
14195 (name "emacs-slime-repl-ansi-color")
14196 (version (git-version "0.0.0" "1" commit))
14197 (source (origin
14198 (method git-fetch)
14199 (uri (git-reference
14200 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
14201 (commit commit)))
14202 (file-name (git-file-name name version))
14203 (sha256
14204 (base32
14205 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
14206 (build-system emacs-build-system)
14207 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
14208 (synopsis "Color ANSI codes in the REPL of SLIME")
14209 (description "Color ANSI codes in the REPL of SLIME")
14210 (license license:gpl2+))))
14211
14212 (define-public emacs-helm-slime
14213 (package
14214 (name "emacs-helm-slime")
14215 (version "0.3.0")
14216 (source (origin
14217 (method git-fetch)
14218 (uri (git-reference
14219 (url "https://github.com/emacs-helm/helm-slime")
14220 (commit version)))
14221 (file-name (git-file-name name version))
14222 (sha256
14223 (base32
14224 "1qhb9446rpj17pm0hi3miy5gs5k3ld43bq29kzy0y26bf7ivfcjv"))))
14225 (build-system emacs-build-system)
14226 (propagated-inputs
14227 `(("emacs-helm" ,emacs-helm)
14228 ("emacs-slime" ,emacs-slime)))
14229 (home-page "https://github.com/emacs-helm/helm-slime")
14230 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
14231 (description "Helm-SLIME defines a few new commands:
14232
14233 @itemize
14234 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
14235 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
14236 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
14237 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
14238 @end itemize\n")
14239 (license license:gpl3+)))
14240
14241 (define-public emacs-gtk-look
14242 (package
14243 (name "emacs-gtk-look")
14244 (version "29")
14245 (source (origin
14246 (method url-fetch)
14247 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
14248 (sha256
14249 (base32
14250 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
14251 (build-system emacs-build-system)
14252 (arguments
14253 `(#:phases
14254 (modify-phases %standard-phases
14255 (add-after 'unpack 'configure
14256 (lambda _
14257 ;; File is read-only.
14258 (chmod "gtk-look.el" #o644)
14259 (emacs-substitute-variables "gtk-look.el"
14260 ("gtk-lookup-devhelp-indices"
14261 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
14262 #t)))))
14263 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
14264 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
14265 (description "@command{gtk-look} finds and displays HTML documentation for
14266 GTK, GNOME and Glib functions and variables in Emacs, similar to what
14267 info-lookup-symbol does for info files (C-h S). The documentation is expected
14268 to be devhelp indexes with HTML files. The location of the indexes can be
14269 customized. In addition to C code development @command{gtk-look} is good for
14270
14271 @itemize
14272 @item @command{perl-gtk2}, recognising class funcs like
14273 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
14274 @item @command{guile-gnome}, recognising methods like @command{set-text} and
14275 classes like @command{<gtk-window>}.
14276 @end itemize\n")
14277 (license license:gpl3+)))
14278
14279 (define-public emacs-ov
14280 (package
14281 (name "emacs-ov")
14282 (version "1.0.6")
14283 (source (origin
14284 (method git-fetch)
14285 (uri (git-reference
14286 (url "https://github.com/ShingoFukuyama/ov.el.git")
14287 (commit version)))
14288 (file-name (git-file-name name version))
14289 (sha256
14290 (base32
14291 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
14292 (build-system emacs-build-system)
14293 (home-page "https://github.com/ShingoFukuyama/ov.el")
14294 (synopsis "Overlay library for Emacs Lisp")
14295 (description "@code{ov.el} provides a simple way to manipulate overlays in
14296 Emacs.")
14297 (license license:gpl3+)))
14298
14299 (define-public emacs-matrix-client
14300 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
14301 (package
14302 (name "emacs-matrix-client")
14303 (version (git-version "0.0.0" "4" commit))
14304 (source (origin
14305 (method git-fetch)
14306 (uri (git-reference
14307 (url "https://github.com/jgkamat/matrix-client-el.git")
14308 (commit commit)))
14309 (file-name (git-file-name name version))
14310 (sha256
14311 (base32
14312 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
14313 (build-system emacs-build-system)
14314 (arguments
14315 `(#:phases
14316 (modify-phases %standard-phases
14317 (add-after 'unpack 'add-missing-require
14318 ;; Fix a filter error at runtime due to a missing require.
14319 ;; Reported upstream:
14320 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
14321 (lambda _
14322 (substitute* "matrix-client-room.el"
14323 (("\\(require 'dash-functional\\)" all)
14324 (string-append all "\n" "(require 'anaphora)")))
14325 #t)))))
14326 (propagated-inputs
14327 `(("a" ,emacs-a)
14328 ("anaphora" ,emacs-anaphora)
14329 ("dash" ,emacs-dash)
14330 ("esxml" ,emacs-esxml)
14331 ("f" ,emacs-f)
14332 ("frame-purpose" ,emacs-frame-purpose)
14333 ("ht" ,emacs-ht)
14334 ("ov" ,emacs-ov)
14335 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
14336 ("request" ,emacs-request)
14337 ("s" ,emacs-s)
14338 ("tracking" ,emacs-tracking)))
14339 (home-page "https://github.com/jgkamat/matrix-client-el")
14340 (synopsis "Matrix client for Emacs")
14341 (description "@code{matrix-client} is a simple chat UI to Matrix.org
14342 rooms. It also provides an API which allows Emacs to seamlessly create
14343 RPC channels with users and other software.")
14344 (license license:gpl3+))))
14345
14346 (define-public emacs-sesman
14347 (package
14348 (name "emacs-sesman")
14349 (version "0.3.3")
14350 (source
14351 (origin
14352 (method git-fetch)
14353 (uri (git-reference
14354 (url "https://github.com/vspinu/sesman.git")
14355 (commit (string-append "v" version))))
14356 (file-name (git-file-name name version))
14357 (sha256
14358 (base32
14359 "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
14360 (build-system emacs-build-system)
14361 (arguments
14362 `(#:tests? #t
14363 #:test-command '("make" "test")))
14364 (home-page "https://github.com/vspinu/sesman")
14365 (synopsis "Session manager for Emacs based IDEs")
14366 (description "Sesman provides facilities for session management and
14367 interactive session association with the current contexts (project, directory,
14368 buffers). While sesman can be used to manage arbitrary sessions, it primary
14369 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
14370 (license license:gpl3+)))
14371
14372 (define-public emacs-buttercup
14373 (package
14374 (name "emacs-buttercup")
14375 (version "1.16")
14376 (source
14377 (origin
14378 (method git-fetch)
14379 (uri (git-reference
14380 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
14381 (commit (string-append "v" version))))
14382 (file-name (git-file-name name version))
14383 (sha256
14384 (base32
14385 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
14386 (build-system emacs-build-system)
14387 (arguments
14388 `(#:tests? #t
14389 #:test-command '("make" "test")
14390 #:phases
14391 (modify-phases %standard-phases
14392 (add-after 'install 'install-bin
14393 (lambda* (#:key outputs #:allow-other-keys)
14394 (install-file "bin/buttercup"
14395 (string-append (assoc-ref outputs "out") "/bin"))
14396 #t)))))
14397 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
14398 (synopsis "Behavior driven emacs lisp testing framework")
14399 (description "Buttercup is a behavior-driven development framework for
14400 testing Emacs Lisp code. It allows to group related tests so they can share
14401 common set-up and tear-down code, and allows the programmer to \"spy\" on
14402 functions to ensure they are called with the right arguments during testing.")
14403 (license license:gpl3+)))
14404
14405 (define-public emacs-wordnut
14406 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
14407 (revision "0"))
14408 (package
14409 (name "emacs-wordnut")
14410 (version (git-version "0.1" revision commit))
14411 (home-page "https://github.com/gromnitsky/wordnut")
14412 (source (origin
14413 (method git-fetch)
14414 (uri (git-reference (url home-page) (commit commit)))
14415 (sha256
14416 (base32
14417 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
14418 (patches
14419 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
14420 (file-name (git-file-name name version))))
14421 (build-system emacs-build-system)
14422 (propagated-inputs
14423 `(("wordnet" ,wordnet)
14424 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
14425 (synopsis "Major mode for WordNet")
14426 (description "This Emacs package provides an interface for
14427 @code{wordnet}. Features include completion, if the query is not found
14428 too ambiguous and navigation in the result buffer.")
14429 (license license:gpl3+))))
14430
14431 (define-public emacs-frame-purpose
14432 (package
14433 (name "emacs-frame-purpose")
14434 (version "1.0")
14435 (source (origin
14436 (method git-fetch)
14437 (uri (git-reference
14438 (url "https://github.com/alphapapa/frame-purpose.el.git")
14439 (commit version)))
14440 (sha256
14441 (base32
14442 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
14443 (file-name (git-file-name name version))))
14444 (build-system emacs-build-system)
14445 (inputs
14446 `(("dash" ,emacs-dash)))
14447 (synopsis "Purpose-specific frames for Emacs")
14448 (description "@code{frame-purpose} makes it easy to open purpose-specific
14449 frames that only show certain buffers, e.g. by buffers’ major mode, their
14450 filename or directory, etc, with custom frame/X-window titles, icons, and
14451 other frame parameters.")
14452 (home-page "https://github.com/alphapapa/frame-purpose.el")
14453 (license license:gpl3+)))
14454
14455 (define-public emacs-arduino-mode
14456 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
14457 (package
14458 (name "emacs-arduino-mode")
14459 (version (git-version "0" "0" commit))
14460 (source (origin
14461 (method git-fetch)
14462 (uri (git-reference
14463 (url "https://github.com/bookest/arduino-mode.git")
14464 (commit commit)))
14465 (sha256
14466 (base32
14467 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
14468 (file-name (git-file-name name version))))
14469 (build-system emacs-build-system)
14470 (synopsis "Emacs major mode for editing Arduino sketches")
14471 (description "Emacs major mode for editing Arduino sketches.")
14472 (home-page "https://github.com/bookest/arduino-mode")
14473 (license license:gpl3+))))
14474
14475 (define-public emacs-general
14476 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
14477 (package
14478 (name "emacs-general")
14479 (version (git-version "0" "0" commit))
14480 (home-page "https://github.com/noctuid/general.el")
14481 (source (origin
14482 (method git-fetch)
14483 (uri (git-reference
14484 (url (string-append home-page ".git"))
14485 (commit commit)))
14486 (sha256
14487 (base32
14488 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
14489 (file-name (git-file-name name version))))
14490 (build-system emacs-build-system)
14491 (synopsis "More convenient key definitions in emacs")
14492 (description "@code{general.el} provides a more convenient method for
14493 binding keys in emacs (for both evil and non-evil users). Like
14494 @code{use-package}, which provides a convenient, unified interface for
14495 managing packages, @code{general.el} is intended to provide a convenient,
14496 unified interface for key definitions. While this package does implement some
14497 completely new functionality (such as the ability to make vim-style
14498 keybindings under non-prefix keys with an optional timeout), its primary
14499 purpose is to build on existing functionality to make key definition more
14500 clear and concise. @code{general-define-key} is user-extensible and supports
14501 defining multiple keys in multiple keymaps at once, implicitly wrapping key
14502 strings with (@code{kbd ...}), using named prefix key sequences (like the
14503 leader key in vim), and much more.")
14504 (license license:gpl3+))))
14505
14506 (define-public emacs-tldr
14507 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
14508 (package
14509 (name "emacs-tldr")
14510 (version (git-version "0" "0" commit))
14511 (home-page "https://github.com/kuanyui/tldr.el")
14512 (source (origin
14513 (method git-fetch)
14514 (uri (git-reference
14515 (url (string-append home-page ".git"))
14516 (commit commit)))
14517 (sha256
14518 (base32
14519 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
14520 (file-name (git-file-name name version))))
14521 (build-system emacs-build-system)
14522 (synopsis "Simplified and community-driven man pages for Emacs")
14523 (description "@code{emacs-tldr} allows the user to access tldr pages
14524 from within emacs. The @code{tldr} pages are a community effort to simplify
14525 the man pages with practical examples.")
14526 (license license:wtfpl2))))
14527
14528 (define-public emacs-window-layout
14529 (package
14530 (name "emacs-window-layout")
14531 (version "1.4")
14532 (home-page "https://github.com/kiwanami/emacs-window-layout")
14533 (source (origin
14534 (method git-fetch)
14535 (uri (git-reference
14536 (url home-page)
14537 (commit (string-append "v" version))))
14538 (sha256
14539 (base32
14540 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
14541 (file-name (git-file-name name version))))
14542 (build-system emacs-build-system)
14543 (synopsis "Simple window layout management framework for emacs")
14544 (description "A window-layout management library that can split a frame
14545 or a window into some windows according to a layout recipe.")
14546 (license license:gpl3+)))
14547
14548 (define-public emacs-e2wm
14549 (package
14550 (name "emacs-e2wm")
14551 (version "1.4")
14552 (home-page "https://github.com/kiwanami/emacs-window-manager")
14553 (source (origin
14554 (method git-fetch)
14555 (uri (git-reference
14556 (url home-page)
14557 (commit (string-append "v" version))))
14558 (sha256
14559 (base32
14560 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
14561 (file-name (git-file-name name version))))
14562 (build-system emacs-build-system)
14563 (propagated-inputs
14564 `(("emacs-window-layout" ,emacs-window-layout)))
14565 (synopsis "Equilibrium Emacs Window Manager")
14566 (description "E2WM is a window manager for Emacs. It enables to
14567 customize the place of pop-up window, how the windows are split, how the
14568 buffers are located in the windows, keybinds to manipulate windows and
14569 buffers, etc. It also has plug-ins to help your Emacs life.")
14570 (license license:gpl3+)))
14571
14572 (define-public emacs-ctable
14573 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
14574 (package
14575 (name "emacs-ctable")
14576 (version (git-version "0.1.2" "1" commit))
14577 (home-page "https://github.com/kiwanami/emacs-ctable")
14578 (source (origin
14579 (method git-fetch)
14580 (uri (git-reference
14581 (url home-page)
14582 (commit commit)))
14583 (sha256
14584 (base32
14585 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
14586 (file-name (git-file-name name version))))
14587 (build-system emacs-build-system)
14588 (synopsis "Table component for Emacs Lisp")
14589 (description "This program is a table component for Emacs Lisp. Other
14590 programs can use this table component for the application UI.")
14591 (license license:gpl3+))))
14592
14593 (define-public emacs-epc
14594 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
14595 (package
14596 (name "emacs-epc")
14597 (version (git-version "0.1.1" "1" commit))
14598 (home-page "https://github.com/kiwanami/emacs-epc")
14599 (source (origin
14600 (method git-fetch)
14601 (uri (git-reference
14602 (url home-page)
14603 (commit commit)))
14604 (sha256
14605 (base32
14606 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
14607 (file-name (git-file-name name version))))
14608 (build-system emacs-build-system)
14609 (propagated-inputs
14610 `(("emacs-deferred" ,emacs-deferred)
14611 ("emacs-ctable" ,emacs-ctable)))
14612 (synopsis "RPC stack for Emacs Lisp")
14613 (description "This program is an asynchronous RPC stack for Emacs.
14614 Using this RPC stack, Emacs can communicate with the peer process
14615 smoothly. Because the protocol employs S-expression encoding and consists of
14616 asynchronous communications, the RPC response is fairly good.")
14617 (license license:gpl3+))))
14618
14619 (define-public emacs-edbi
14620 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
14621 (package
14622 (name "emacs-edbi")
14623 (version (git-version "0.1.3" "1" commit))
14624 (home-page "https://github.com/kiwanami/emacs-edbi")
14625 (source (origin
14626 (method git-fetch)
14627 (uri (git-reference
14628 (url home-page)
14629 (commit commit)))
14630 (sha256
14631 (base32
14632 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
14633 (file-name (git-file-name name version))))
14634 (build-system emacs-build-system)
14635 (inputs
14636 `(("perl" ,perl)
14637 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
14638 ("perl-dbi" ,perl-dbi)
14639 ;; TODO: Adding support for perl-dbd-mysql and others would
14640 ;; dramatically increase the closure size. Make several packages?
14641 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
14642 (propagated-inputs
14643 `(("emacs-e2wm" ,emacs-e2wm)
14644 ("emacs-epc" ,emacs-epc)))
14645 (arguments
14646 `(#:include '("\\.el$" "\\.pl$")
14647 #:phases
14648 (modify-phases %standard-phases
14649 (add-after 'install 'patch-path
14650 (lambda* (#:key inputs outputs #:allow-other-keys)
14651 (let ((perl (assoc-ref inputs "perl"))
14652 (dir (string-append (assoc-ref outputs "out")
14653 "/share/emacs/site-lisp/guix.d/edbi-"
14654 ,version)))
14655 (substitute* (string-append dir "/edbi.el")
14656 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
14657 (chmod (string-append dir "/edbi-bridge.pl") #o555)
14658 (wrap-program (string-append dir "/edbi-bridge.pl")
14659 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
14660 #t))))))
14661 (synopsis "Database Interface for Emacs Lisp")
14662 (description "This program connects the database server through Perl's
14663 DBI, and provides DB-accessing API and the simple management UI.")
14664 (license license:gpl3+))))
14665
14666 (define-public emacs-edbi-sqlite
14667 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
14668 (package
14669 (name "emacs-edbi-sqlite")
14670 (version (git-version "0.1.1" "1" commit))
14671 (home-page "https://github.com/proofit404/edbi-sqlite")
14672 (source (origin
14673 (method git-fetch)
14674 (uri (git-reference
14675 (url home-page)
14676 (commit commit)))
14677 (sha256
14678 (base32
14679 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
14680 (file-name (git-file-name name version))))
14681 (build-system emacs-build-system)
14682 (propagated-inputs
14683 `(("emacs-edbi" ,emacs-edbi)))
14684 (synopsis "Open SQLite files in Emacs")
14685 (description "This package is a convenience wrapper for @command{edbi}
14686 to open SQLite databases.")
14687 (license license:gpl3+))))
14688
14689 (define-public emacs-nix-mode
14690 (package
14691 (name "emacs-nix-mode")
14692 (version "1.4.1")
14693 (source
14694 (origin
14695 (method git-fetch)
14696 (uri (git-reference
14697 (url "https://github.com/NixOS/nix-mode.git")
14698 (commit (string-append "v" version))))
14699 (file-name (git-file-name name version))
14700 (sha256
14701 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
14702 (build-system emacs-build-system)
14703 (inputs
14704 `(("emacs-company" ,emacs-company)
14705 ("emacs-json-mode" ,emacs-json-mode)
14706 ("emacs-mmm-mode" ,emacs-mmm-mode)))
14707 (home-page "https://github.com/NixOS/nix-mode")
14708 (synopsis "Emacs major mode for editing Nix expressions")
14709 (description "@code{nixos-mode} provides an Emacs major mode for editing
14710 Nix expressions. It supports syntax highlighting, indenting and refilling of
14711 comments.")
14712 (license license:lgpl2.1+)))
14713
14714 (define-public emacs-simple-mpc
14715 ;; There have been no releases.
14716 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
14717 (revision "1"))
14718 (package
14719 (name "emacs-simple-mpc")
14720 (version (git-version "0" revision commit))
14721 (source
14722 (origin
14723 (method git-fetch)
14724 (uri (git-reference
14725 (url "https://github.com/jorenvo/simple-mpc.git")
14726 (commit commit)))
14727 (file-name (git-file-name name version))
14728 (sha256
14729 (base32
14730 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
14731 (build-system emacs-build-system)
14732 (propagated-inputs `(("emacs-s" ,emacs-s)))
14733 (home-page "https://github.com/jorenvo/simple-mpc")
14734 (synopsis "Simple Emacs frontend to mpc")
14735 (description "This package provides an Emacs major mode which acts as a
14736 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
14737 (license license:gpl3+))))
14738
14739 (define-public emacs-mkmcc-gnuplot-mode
14740 (package
14741 (name "emacs-mkmcc-gnuplot-mode")
14742 (version "1.2.0")
14743 (source
14744 (origin
14745 (method git-fetch)
14746 (uri (git-reference
14747 (url "https://github.com/mkmcc/gnuplot-mode")
14748 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
14749 (file-name (git-file-name name version))
14750 (sha256
14751 (base32
14752 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
14753 (build-system emacs-build-system)
14754 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
14755 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
14756 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
14757 mode for editing gnuplot scripts. It provides syntax highlighting,
14758 indentation and a command to plot the file.")
14759 (license license:gpl3+)))
14760
14761 (define-public emacs-dtrt-indent
14762 (package
14763 (name "emacs-dtrt-indent")
14764 (version "0.8")
14765 (source (origin
14766 (method git-fetch)
14767 (uri (git-reference
14768 (url "https://github.com/jscheid/dtrt-indent")
14769 (commit version)))
14770 (file-name (git-file-name name version))
14771 (sha256
14772 (base32
14773 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
14774 (build-system emacs-build-system)
14775 (home-page "https://github.com/jscheid/dtrt-indent")
14776 (synopsis "Minor mode that guesses the indentation offset")
14777 (description "This package provides a minor mode that guesses the
14778 indentation offset originally used for creating source code files and
14779 transparently adjusts the corresponding settings in Emacs, making it more
14780 convenient to edit foreign files.")
14781 (license license:gpl2+)))
14782
14783 (define-public emacs-repo
14784 (package
14785 (name "emacs-repo")
14786 (version "0.1.3")
14787 (source (origin
14788 (method git-fetch)
14789 (uri (git-reference
14790 (url "https://github.com/canatella/repo-el")
14791 (commit version)))
14792 (file-name (git-file-name name version))
14793 (sha256
14794 (base32
14795 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
14796 (build-system emacs-build-system)
14797 (native-inputs
14798 `(("emacs-el-mock" ,emacs-el-mock)
14799 ("ert-runner" ,emacs-ert-runner)))
14800 (propagated-inputs
14801 `(("emacs-f" ,emacs-f)
14802 ("magit" ,emacs-magit)))
14803 (home-page "https://github.com/canatella/repo-el")
14804 (synopsis "Emacs interface for the Google Repo tool")
14805 (description "This package provides integration of the Google Repo tool
14806 with emacs. It displays the output of the @code{repo status} command in a
14807 buffer and launches Magit from the status buffer for the project at point.")
14808 (license license:gpl3+)))
14809
14810 (define-public emacs-alect-themes
14811 (package
14812 (name "emacs-alect-themes")
14813 (version "0.9")
14814 (source (origin
14815 (method git-fetch)
14816 (uri (git-reference
14817 (url "https://github.com/alezost/alect-themes")
14818 (commit (string-append "v" version))))
14819 (file-name (git-file-name name version))
14820 (sha256
14821 (base32
14822 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
14823 (build-system emacs-build-system)
14824 (home-page "https://github.com/alezost/alect-themes")
14825 (synopsis "Low contrast, light, dark and black color theme for Emacs")
14826 (description "@code{emacs-alect-themes} provides configurable light, dark
14827 and black color themes for Emacs. The themes are intended to be used with
14828 GUI.")
14829 (license license:gpl3+)))
14830
14831 (define-public emacs-google-c-style
14832 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
14833 (revision "0"))
14834 (package
14835 (name "emacs-google-c-style")
14836 (version (git-version "0.1" revision commit))
14837 (source (origin
14838 (method git-fetch)
14839 (uri (git-reference
14840 (url "https://github.com/google/styleguide")
14841 (commit commit)))
14842 (file-name (git-file-name name version))
14843 (sha256
14844 (base32
14845 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
14846 (build-system emacs-build-system)
14847 (home-page "https://github.com/google/styleguide")
14848 (synopsis "Emacs settings file for Google C/C++ style")
14849 (description "@code{emacs-google-c-style} provides an Emacs settings
14850 file for Google C and C++ style.")
14851 (license license:gpl1+))))
14852
14853 (define-public emacs-redshank
14854 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
14855 (revision "1"))
14856 (package
14857 (name "emacs-redshank")
14858 (version (git-version "0.1" revision commit))
14859 (source (origin
14860 (method git-fetch)
14861 (uri (git-reference
14862 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
14863 (commit commit)))
14864 (file-name (git-file-name name version))
14865 (sha256
14866 (base32
14867 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
14868 (build-system emacs-build-system)
14869 (propagated-inputs
14870 `(("emacs-paredit" ,emacs-paredit)))
14871 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
14872 (synopsis "Common Lisp Editing Extensions (for Emacs)")
14873 (description "Redshank is a collection of code-wrangling Emacs macros
14874 mostly geared towards Common Lisp, but some are useful for other Lisp
14875 dialects, too. Redshank's code transformations aim to be expression-based (as
14876 opposed to character-based).")
14877 (license license:gpl1+))))
14878
14879 (define-public emacs-disk-usage
14880 (package
14881 (name "emacs-disk-usage")
14882 (version "1.3.3")
14883 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
14884 (source
14885 (origin
14886 (method url-fetch)
14887 (uri (string-append
14888 "https://elpa.gnu.org/packages/disk-usage-"
14889 version
14890 ".el"))
14891 (sha256
14892 (base32
14893 "0h1jwznd41gi0vg830ilfgm01q05zknikzahwasm9cizwm2wyizj"))))
14894 (build-system emacs-build-system)
14895 (synopsis "Sort and browse disk usage listings with Emacs")
14896 (description "Disk Usage is a file system analyzer: it offers a tabulated
14897 view of file listings sorted by size. Directory sizes are computed
14898 recursively. The results are cached for speed.")
14899 (license license:gpl3+)))
14900
14901 (define-public emacs-orgit
14902 (package
14903 (name "emacs-orgit")
14904 (version "1.5.3")
14905 (home-page "https://github.com/magit/orgit")
14906 (source (origin
14907 (method git-fetch)
14908 (uri (git-reference
14909 (url home-page)
14910 (commit (string-append "v" version))))
14911 (file-name (git-file-name name version))
14912 (sha256
14913 (base32
14914 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
14915 (build-system emacs-build-system)
14916 (propagated-inputs
14917 `(("emacs-dash" ,emacs-dash)
14918 ("emacs-magit" ,emacs-magit)))
14919 (synopsis "Support for Org links to Magit buffers")
14920 (description "This package defines several Org link types, which can be
14921 used to link to certain Magit buffers. Use the command
14922 @command{org-store-link} while such a buffer is current to store a link.
14923 Later you can insert it into an Org buffer using the command
14924 @code{org-insert-link}.")
14925 (license license:gpl3+)))
14926
14927 (define-public emacs-amx
14928 (package
14929 (name "emacs-amx")
14930 (version "3.2")
14931 (source (origin
14932 (method git-fetch)
14933 (uri (git-reference
14934 (url "https://github.com/DarwinAwardWinner/amx")
14935 (commit (string-append "v" version))))
14936 (file-name (git-file-name name version))
14937 (sha256
14938 (base32
14939 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
14940 (build-system emacs-build-system)
14941 (propagated-inputs `(("emacs-s" ,emacs-s)))
14942 (home-page "https://github.com/DarwinAwardWinner/amx")
14943 (synopsis "Alternative interface for M-x")
14944 (description "Amx is an alternative interface for M-x in Emacs. It
14945 provides several enhancements over the ordinary
14946 @code{execute-extended-command}, such as prioritizing your most-used commands
14947 in the completion list and showing keyboard shortcuts, and it supports several
14948 completion systems for selecting commands, such as ido and ivy.")
14949 (license license:gpl3+)))
14950
14951 (define-public emacs-lorem-ipsum
14952 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
14953 (package
14954 (name "emacs-lorem-ipsum")
14955 (version (git-version "0.2" "1" commit))
14956 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
14957 (source (origin
14958 (method git-fetch)
14959 (uri (git-reference
14960 (url home-page)
14961 (commit commit)))
14962 (file-name (git-file-name name version))
14963 (sha256
14964 (base32
14965 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
14966 (build-system emacs-build-system)
14967 (synopsis "Insert dummy pseudo Latin text in Emacs")
14968 (description "This package provides convenience functions to insert
14969 dummy Latin text into a buffer. This can be useful if you need to produce
14970 paragraphs or pages of text for testing purposes.")
14971 (license license:gpl3+))))
14972
14973 (define-public emacs-lisp-extra-font-lock
14974 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
14975 (package
14976 (name "emacs-lisp-extra-font-lock")
14977 (version (git-version "0.0.6" "1" commit))
14978 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
14979 (source (origin
14980 (method git-fetch)
14981 (uri (git-reference
14982 (url home-page)
14983 (commit commit)))
14984 (file-name (git-file-name name version))
14985 (sha256
14986 (base32
14987 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
14988 (build-system emacs-build-system)
14989 (synopsis "Highlight bound variables and quoted expressions in Emacs")
14990 (description "This package highlight the location where local variables
14991 is created (bound, for example, by let) as well as quoted and backquoted
14992 constant expressions.")
14993 (license license:gpl3+))))
14994
14995 (define-public emacs-docker-tramp
14996 (package
14997 (name "emacs-docker-tramp")
14998 (version "0.1")
14999 (source
15000 (origin
15001 (method git-fetch)
15002 (uri (git-reference
15003 (url "https://github.com/emacs-pe/docker-tramp.el")
15004 (commit (string-append "v" version))))
15005 (file-name (git-file-name name version))
15006 (sha256
15007 (base32
15008 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
15009 (build-system emacs-build-system)
15010 (home-page "https://github.com/emacs-pe/docker-tramp.el")
15011 (synopsis "TRAMP integration for docker containers")
15012 (description
15013 "This package provides a TRAMP method for Docker containers.")
15014 (license license:gpl3+)))
15015
15016 (define-public emacs-docker
15017 (package
15018 (name "emacs-docker")
15019 (version "1.2.0")
15020 (source (origin
15021 (method git-fetch)
15022 (uri (git-reference
15023 (url "https://github.com/Silex/docker.el")
15024 (commit version)))
15025 (file-name (git-file-name name version))
15026 (sha256
15027 (base32
15028 "15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
15029 (inputs
15030 `(("emacs-undercover" ,emacs-undercover)))
15031 (propagated-inputs
15032 `(("emacs-dash" ,emacs-dash)
15033 ("emacs-docker-tramp" ,emacs-docker-tramp)
15034 ("emacs-magit-popup" ,emacs-magit-popup)
15035 ("emacs-s" ,emacs-s)
15036 ("emacs-tablist" ,emacs-tablist)
15037 ("emacs-json-mode" ,emacs-json-mode)))
15038 (arguments
15039 `(#:phases
15040 (modify-phases %standard-phases
15041 (delete 'check)))) ;no tests
15042 (build-system emacs-build-system)
15043 (home-page "https://github.com/Silex/docker.el")
15044 (synopsis "Manage docker from Emacs")
15045 (description "This package provides an Emacs interface for Docker.")
15046 (license license:gpl3+)))
15047
15048 (define-public emacs-dockerfile-mode
15049 ;; Latest upstream release is too old.
15050 (let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
15051 (package
15052 (name "emacs-dockerfile-mode")
15053 (version (git-version "1.2" "1" commit))
15054 (source
15055 (origin
15056 (method git-fetch)
15057 (uri (git-reference
15058 (url "https://github.com/spotify/dockerfile-mode.git")
15059 (commit commit)))
15060 (file-name (git-file-name name version))
15061 (sha256
15062 (base32
15063 "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
15064 (build-system emacs-build-system)
15065 (propagated-inputs
15066 `(("emacs-s" ,emacs-s)))
15067 (home-page "https://github.com/spotify/dockerfile-mode")
15068 (synopsis "Major mode for editing Dockerfile")
15069 (description
15070 "This package provides a major mode @code{dockerfile-mode} for use with
15071 the standard @code{Dockerfile} file format.")
15072 (license license:asl2.0))))
15073
15074 (define-public emacs-lsp-mode
15075 (package
15076 (name "emacs-lsp-mode")
15077 (version "6.0")
15078 (source (origin
15079 (method git-fetch)
15080 (uri (git-reference
15081 (url "https://github.com/emacs-lsp/lsp-mode.git")
15082 (commit version)))
15083 (file-name (git-file-name name version))
15084 (sha256
15085 (base32
15086 "1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"))))
15087 (build-system emacs-build-system)
15088 (propagated-inputs
15089 `(("emacs-dash" ,emacs-dash)
15090 ("emacs-f" ,emacs-f)
15091 ("emacs-ht" ,emacs-ht)
15092 ("emacs-spinner" ,emacs-spinner)))
15093 (home-page "https://github.com/emacs-lsp/lsp-mode")
15094 (synopsis "Emacs client and library for the Language Server Protocol")
15095 (description "@code{LSP-mode} is a client and library implementation for
15096 the Language Server Protocol. This mode aims to provide an IDE-like
15097 experience by providing optional integration with other popular Emacs packages
15098 like @code{company}, @code{flycheck}, and @code{projectile}.")
15099 (license license:gpl3+)))
15100
15101 (define-public emacs-lsp-ui
15102 (package
15103 (name "emacs-lsp-ui")
15104 (version "6.0")
15105 (source (origin
15106 (method git-fetch)
15107 (uri (git-reference
15108 (url "https://github.com/emacs-lsp/lsp-ui.git")
15109 (commit version)))
15110 (file-name (git-file-name name version))
15111 (sha256
15112 (base32
15113 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
15114 (build-system emacs-build-system)
15115 (propagated-inputs
15116 `(("emacs-dash" ,emacs-dash)
15117 ("emacs-lsp-mode" ,emacs-lsp-mode)
15118 ("emacs-markdown-mode" ,emacs-markdown-mode)
15119 ("emacs-flycheck" ,emacs-flycheck)))
15120 (home-page "https://github.com/emacs-lsp/lsp-ui")
15121 (synopsis "User interface extensions for @code{lsp-mode}")
15122 (description
15123 "@code{LSP-ui} contains several enhancements and integrations for
15124 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
15125 and code peeking.")
15126 (license license:gpl3+)))
15127
15128 (define-public emacs-helm-notmuch
15129 (package
15130 (name "emacs-helm-notmuch")
15131 (version "1.2")
15132 (home-page "https://github.com/emacs-helm/helm-notmuch/")
15133 (source (origin
15134 (method git-fetch)
15135 (uri (git-reference
15136 (url home-page)
15137 (commit version)))
15138 (file-name (git-file-name name version))
15139 (sha256
15140 (base32
15141 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
15142 (build-system emacs-build-system)
15143 (propagated-inputs
15144 `(("emacs-helm" ,emacs-helm)
15145 ("notmuch" ,notmuch)))
15146 (synopsis "Search emails with Emacs Notmuch and Helm")
15147 (description
15148 "This package can be used to search emails in Emacs, searching result
15149 displays as you type thanks to Helm, though @command{notmuch-search} does the
15150 real search.")
15151 (license license:gpl3+)))
15152
15153 (define-public emacs-elmacro
15154 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
15155 (package
15156 (name "emacs-elmacro")
15157 (version (git-version "1.1.0" "1" commit))
15158 (home-page "https://github.com/Silex/elmacro")
15159 (source (origin
15160 (method git-fetch)
15161 (uri (git-reference
15162 (url home-page)
15163 (commit commit)))
15164 (file-name (git-file-name name version))
15165 (sha256
15166 (base32
15167 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
15168 (build-system emacs-build-system)
15169 (propagated-inputs
15170 `(("emacs-s" ,emacs-s)
15171 ("emacs-dash" ,emacs-dash)))
15172 (synopsis "Convert keyboard macros to Emacs Lisp")
15173 (description
15174 "This package displays keyboard macros or latest interactive commands
15175 as Emacs Lisp.")
15176 (license license:gpl3+))))
15177
15178 (define-public emacs-transient
15179 ;; 0.1.0 depends on lv.el but not later versions.
15180 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
15181 (package
15182 (name "emacs-transient")
15183 (version (git-version "0.1.0" "1" commit))
15184 (source (origin
15185 (method git-fetch)
15186 (uri (git-reference
15187 (url "https://github.com/magit/transient")
15188 (commit commit)))
15189 (file-name (git-file-name name version))
15190 (sha256
15191 (base32
15192 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
15193 (build-system gnu-build-system)
15194 (native-inputs `(("texinfo" ,texinfo)
15195 ("emacs" ,emacs-minimal)))
15196 (propagated-inputs
15197 `(("dash" ,emacs-dash)))
15198 (arguments
15199 `(#:modules ((guix build gnu-build-system)
15200 (guix build utils)
15201 (srfi srfi-26)
15202 (guix build emacs-utils))
15203 #:imported-modules (,@%gnu-build-system-modules
15204 (guix build emacs-utils))
15205 #:tests? #f ; tests are not included in the release
15206 #:make-flags (list "lisp" "info"
15207 (string-append "LOAD_PATH=-L . -L "
15208 (assoc-ref %build-inputs "dash")
15209 "/share/emacs/site-lisp/guix.d/dash-"
15210 ,(package-version emacs-dash)))
15211 #:phases
15212 (modify-phases %standard-phases
15213 (delete 'configure)
15214 (replace 'install
15215 (lambda* (#:key inputs outputs #:allow-other-keys)
15216 (let* ((out (assoc-ref outputs "out"))
15217 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
15218 "transient" "-" ,version))
15219 (info (string-append out "/share/info")))
15220 (for-each (cut install-file <> lisp)
15221 (find-files "." "\\.elc*$"))
15222 (install-file "docs/transient.info" (string-append info)))
15223 #t)))))
15224 (home-page "https://magit.vc/manual/transient")
15225 (synopsis "Transient commands in Emacs")
15226 (description
15227 "Taking inspiration from prefix keys and prefix arguments in Emacs,
15228 Transient implements a similar abstraction involving a prefix command, infix
15229 arguments and suffix commands. We could call this abstraction a \"transient
15230 command\", but because it always involves at least two commands (a prefix and
15231 a suffix) we prefer to call it just a \"transient\".")
15232 (license license:gpl3+))))
15233
15234 (define-public emacs-undo-propose-el
15235 (let ((commit "5f1fa99a04369a959aad01b476fe4f34229f28cd")
15236 (version "1.0.0")
15237 (revision "1"))
15238 (package
15239 (name "emacs-undo-propose-el")
15240 (version (git-version version revision commit))
15241 (source
15242 (origin
15243 (method git-fetch)
15244 (uri (git-reference
15245 (url "https://github.com/jackkamm/undo-propose-el")
15246 (commit commit)))
15247 (file-name (git-file-name name version))
15248 (sha256
15249 (base32
15250 "1p9h1fqmva07mcs46rqrg9vqn537b615as84s9b7xh76k1r8h1c0"))))
15251 (build-system emacs-build-system)
15252 (home-page "https://github.com/jackkamm/undo-propose-el")
15253 (synopsis "Simple and safe navigation of @code{undo} history")
15254 (description "This package permits navigation of @code{undo} history in a
15255 temporary buffer, which is read-only save for @code{undo} commands, and
15256 subsequent committal of a chain of @code{undo} commands as a single edit in
15257 the @code{undo} history.")
15258 (license license:gpl3+))))
15259
15260 (define-public emacs-elisp-docstring-mode
15261 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
15262 (version "0.0.1")
15263 (revision "1"))
15264 (package
15265 (name "emacs-elisp-docstring-mode")
15266 (version (git-version version revision commit))
15267 (source
15268 (origin
15269 (method git-fetch)
15270 (uri (git-reference
15271 (url "https://github.com/Fuco1/elisp-docstring-mode")
15272 (commit commit)))
15273 (file-name (git-file-name name version))
15274 (sha256
15275 (base32
15276 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
15277 (build-system emacs-build-system)
15278 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
15279 (synopsis "Major mode for editing Emacs Lisp docstrings")
15280 (description "This package provides font lock and automatic escaping and
15281 unescaping of quotes.")
15282 (license license:gpl3+))))
15283
15284 (define-public emacs-vimrc-mode
15285 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
15286 (version "0.3.1")
15287 (revision "1"))
15288 (package
15289 (name "emacs-vimrc-mode")
15290 (version (git-version version revision commit))
15291 (source
15292 (origin
15293 (method git-fetch)
15294 (uri (git-reference
15295 (url "https://github.com/mcandre/vimrc-mode")
15296 (commit commit)))
15297 (file-name (git-file-name name version))
15298 (sha256
15299 (base32
15300 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
15301 (build-system emacs-build-system)
15302 (home-page "https://github.com/mcandre/vimrc-mode")
15303 (synopsis "Major mode for Vimscript")
15304 (description "This package provides font lock and @code{beginning-} and
15305 @code{end-of-defun} functions for Vimscript files.")
15306 (license license:gpl3+))))
15307
15308 (define-public emacs-flycheck-haskell
15309 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
15310 (version "0.8")
15311 (revision "79"))
15312 (package
15313 (name "emacs-flycheck-haskell")
15314 (version (git-version version revision commit))
15315 (source
15316 (origin
15317 (method git-fetch)
15318 (uri (git-reference
15319 (url "https://github.com/flycheck/flycheck-haskell")
15320 (commit commit)))
15321 (file-name (git-file-name name version))
15322 (sha256
15323 (base32
15324 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
15325 (build-system emacs-build-system)
15326 (propagated-inputs
15327 `(("emacs-dash" ,emacs-dash)
15328 ("emacs-seq" ,emacs-seq)
15329 ("emacs-flycheck" ,emacs-flycheck)
15330 ("emacs-haskell-mode" ,emacs-haskell-mode)
15331 ("emacs-let-alist" ,emacs-let-alist)))
15332 (home-page "https://github.com/flycheck/flycheck-haskell")
15333 (synopsis "Flycheck for Haskell")
15334 (description "This package configures syntax-checking for Haskell
15335 buffers.")
15336 (license license:gpl3+))))
15337
15338 (define-public emacs-js2-refactor-el
15339 (let ((commit "79124b3274c43ad1f9ec6205fa362576552db02f")
15340 (version "0.9.0")
15341 (revision "27"))
15342 (package
15343 (name "emacs-js2-refactor-el")
15344 (version (git-version version revision commit))
15345 (source
15346 (origin
15347 (method git-fetch)
15348 (uri (git-reference
15349 (url "https://github.com/magnars/js2-refactor.el")
15350 (commit commit)))
15351 (file-name (git-file-name name version))
15352 (sha256
15353 (base32
15354 "1wswhlpbd3airrhyncb9vblqigwnqg9n96z0iis8jnz37q2whica"))))
15355 (build-system emacs-build-system)
15356 (propagated-inputs
15357 `(("emacs-dash" ,emacs-dash)
15358 ("emacs-s" ,emacs-s)
15359 ("emacs-js2-mode" ,emacs-js2-mode)
15360 ("emacs-yasnippet" ,emacs-yasnippet)
15361 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
15362 (native-inputs
15363 `(("emacs-buttercup" ,emacs-buttercup)
15364 ("emacs-espuds" ,emacs-espuds)))
15365 (home-page "https://github.com/magnars/js2-refactor.el")
15366 (synopsis "JavaScript refactoring in Emacs")
15367 (description "This package provides various refactoring functions for
15368 JavaScript.")
15369 (license license:gpl3+))))
15370
15371 (define-public emacs-prettier
15372 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
15373 (version "0.1.0")
15374 (revision "1"))
15375 (package
15376 (name "emacs-prettier")
15377 (version (git-version version revision commit))
15378 (source
15379 (origin
15380 (method git-fetch)
15381 (uri (git-reference
15382 (url "https://github.com/prettier/prettier-emacs")
15383 (commit commit)))
15384 (file-name (git-file-name name version))
15385 (sha256
15386 (base32
15387 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
15388 (build-system emacs-build-system)
15389 (home-page "https://github.com/prettier/prettier-emacs")
15390 (synopsis "Automatic formatting of JavaScript code")
15391 (description "This package integrates Prettier with Emacs, and
15392 provides a minor mode that autoformats the buffer upon saving.")
15393 (license license:expat))))
15394
15395 (define-public emacs-fish-mode
15396 (package
15397 (name "emacs-fish-mode")
15398 (version "0.1.4")
15399 (source
15400 (origin
15401 (method git-fetch)
15402 (uri (git-reference
15403 (url "https://github.com/wwwjfy/emacs-fish")
15404 (commit version)))
15405 (file-name (git-file-name name version))
15406 (sha256
15407 (base32
15408 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
15409 (build-system emacs-build-system)
15410 (home-page "https://github.com/wwwjfy/emacs-fish")
15411 (synopsis "Major mode for Fish shell scripts")
15412 (description "This package provides syntax highlighting and indentation
15413 functions for Fish shell scripts.")
15414 (license license:gpl3+)))
15415
15416 (define-public emacs-eshell-up
15417 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
15418 (version "0.0.3")
15419 (revision "12"))
15420 (package
15421 (name "emacs-eshell-up")
15422 (version (git-version version revision commit))
15423 (source
15424 (origin
15425 (method git-fetch)
15426 (uri (git-reference
15427 (url "https://github.com/peterwvj/eshell-up")
15428 (commit commit)))
15429 (file-name (git-file-name name version))
15430 (sha256
15431 (base32
15432 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
15433 (build-system emacs-build-system)
15434 (home-page "https://github.com/peterwvj/eshell-up")
15435 (synopsis "Quickly go to a parent directory in @code{Eshell}")
15436 (description "This package provides quick navigation to a specific
15437 parent directory using @code{Eshell}.")
15438 (license license:gpl3+))))
15439
15440 (define-public emacs-tco-el
15441 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
15442 (version "0.3")
15443 (revision "1"))
15444 (package
15445 (name "emacs-tco-el")
15446 (version (git-version version revision commit))
15447 (source
15448 (origin
15449 (method git-fetch)
15450 (uri (git-reference
15451 (url "https://github.com/Wilfred/tco.el")
15452 (commit commit)))
15453 (file-name (git-file-name name version))
15454 (sha256
15455 (base32
15456 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
15457 (build-system emacs-build-system)
15458 (propagated-inputs
15459 `(("emacs-dash" ,emacs-dash)))
15460 (home-page "https://github.com/Wilfred/tco.el")
15461 (synopsis "Tail-call optimization for Emacs Lisp")
15462 (description "This package provides tail-call optimization for Emacs
15463 Lisp functions that call themselves in tail position.")
15464 (license license:gpl3+))))
15465
15466 (define-public emacs-equake
15467 (let ((commit "ed15fd55cd4f2276161a6f712ed0b83cd10a8cdc")
15468 (version "0.85")
15469 (revision "1"))
15470 (package
15471 (name "emacs-equake")
15472 (version (git-version version revision commit))
15473 (source
15474 (origin
15475 (method git-fetch)
15476 (uri (git-reference
15477 (url "https://gitlab.com/emacsomancer/equake/")
15478 (commit commit)))
15479 (file-name (git-file-name name version))
15480 (sha256
15481 (base32
15482 "04kj88rlnn22gwmmv2gly2ibi6jka6l2cd4979pi6lhlvqqgjdnj"))))
15483 (build-system emacs-build-system)
15484 (propagated-inputs
15485 `(("emacs-dash" ,emacs-dash)
15486 ("emacs-tco-el" ,emacs-tco-el)))
15487 (home-page "https://gitlab.com/emacsomancer/equake/")
15488 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
15489 (description "This package provides a Quake-style drop-down console
15490 compatible with Emacs' shell modes.")
15491 (license license:gpl3+))))
15492
15493 (define-public emacs-vdiff
15494 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
15495 (version "0.2.3")
15496 (revision "1"))
15497 (package
15498 (name "emacs-vdiff")
15499 (version (git-version version revision commit))
15500 (source
15501 (origin
15502 (method git-fetch)
15503 (uri (git-reference
15504 (url "https://github.com/justbur/emacs-vdiff/")
15505 (commit commit)))
15506 (file-name (git-file-name name version))
15507 (sha256
15508 (base32
15509 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
15510 (build-system emacs-build-system)
15511 (propagated-inputs
15512 `(("emacs-hydra" ,emacs-hydra)))
15513 (home-page "https://github.com/justbur/emacs-vdiff/")
15514 (synopsis "Frontend for diffing based on vimdiff")
15515 (description "This package permits comparisons of two or three buffers
15516 based on diff output.")
15517 (license license:gpl3+))))
15518
15519 (define-public emacs-vdiff-magit
15520 ;; Need to use a more recent commit than the latest release version because
15521 ;; of Magit and Transient
15522 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
15523 (version "0.3.2")
15524 (revision "8"))
15525 (package
15526 (name "emacs-vdiff-magit")
15527 (version (git-version version revision commit))
15528 (source
15529 (origin
15530 (method git-fetch)
15531 (uri (git-reference
15532 (url "https://github.com/justbur/emacs-vdiff-magit/")
15533 (commit commit)))
15534 (file-name (git-file-name name version))
15535 (sha256
15536 (base32
15537 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
15538 (build-system emacs-build-system)
15539 (propagated-inputs
15540 `(("emacs-vdiff" ,emacs-vdiff)
15541 ("emacs-magit" ,emacs-magit)
15542 ("emacs-transient" ,emacs-transient)))
15543 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
15544 (synopsis "Frontend for diffing based on vimdiff")
15545 (description "This package permits comparisons of two or three buffers
15546 based on diff output.")
15547 (license license:gpl3+))))
15548
15549 (define-public emacs-all-the-icons-dired
15550 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
15551 (version "1.0")
15552 (revision "1"))
15553 (package
15554 (name "emacs-all-the-icons-dired")
15555 (version (git-version version revision commit))
15556 (source
15557 (origin
15558 (method git-fetch)
15559 (uri (git-reference
15560 (url "https://github.com/jtbm37/all-the-icons-dired/")
15561 (commit commit)))
15562 (file-name (git-file-name name version))
15563 (sha256
15564 (base32
15565 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
15566 (build-system emacs-build-system)
15567 (propagated-inputs
15568 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
15569 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
15570 (synopsis "Show icons for each file in @code{dired-mode}")
15571 (description "This package allows icons from @file{all-the-icons.el} to
15572 be used in @code{dired-mode}.")
15573 (license license:gpl3+))))
15574
15575 (define-public emacs-exwm-edit
15576 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
15577 (version "0.0.1")
15578 (revision "1"))
15579 (package
15580 (name "emacs-exwm-edit")
15581 (version (git-version version revision commit))
15582 (source
15583 (origin
15584 (method git-fetch)
15585 (uri (git-reference
15586 (url "https://github.com/agzam/exwm-edit/")
15587 (commit commit)))
15588 (file-name (git-file-name name version))
15589 (sha256
15590 (base32
15591 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
15592 (build-system emacs-build-system)
15593 (propagated-inputs
15594 `(("emacs-exwm" ,emacs-exwm)))
15595 (home-page "https://github.com/agzam/exwm-edit/")
15596 (synopsis "Open temp buffers for editing text from EXWM buffers")
15597 (description "This package facilitates editing text from EXWM buffers by
15598 generating a temp buffer in which any useful Emacs utilities and modes can be
15599 invoked.")
15600 (license license:gpl3+))))
15601
15602 (define-public emacs-ert-async
15603 (package
15604 (name "emacs-ert-async")
15605 (version "0.1.2")
15606 (source
15607 (origin
15608 (method git-fetch)
15609 (uri (git-reference
15610 (url "https://github.com/rejeep/ert-async.el")
15611 (commit (string-append "v" version))))
15612 (file-name (git-file-name name version))
15613 (sha256
15614 (base32
15615 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
15616 (build-system emacs-build-system)
15617 (home-page "https://github.com/rejeep/ert-async.el")
15618 (synopsis "Async support for ERT")
15619 (description "This package allows ERT to work with asynchronous tests.")
15620 (license license:gpl3+)))
15621
15622 (define-public emacs-prodigy-el
15623 (let ((commit "701dccaa56de9e6a330c05bde33bce4f3b3d6a97")
15624 (version "0.7.0")
15625 (revision "28"))
15626 (package
15627 (name "emacs-prodigy-el")
15628 (version (git-version version revision commit))
15629 (source
15630 (origin
15631 (method git-fetch)
15632 (uri (git-reference
15633 (url "https://github.com/rejeep/prodigy.el")
15634 (commit commit)))
15635 (file-name (git-file-name name version))
15636 (sha256
15637 (base32
15638 "1vyvxawlayp2nra0q83146q2nzv8qwn5a4nj0sx1jc90a0a83vgj"))))
15639 (build-system emacs-build-system)
15640 (propagated-inputs
15641 `(("emacs-dash" ,emacs-dash)
15642 ("emacs-s" ,emacs-s)
15643 ("emacs-f" ,emacs-f)))
15644 (native-inputs
15645 `(("emacs-el-mock" ,emacs-el-mock)
15646 ("emacs-ert-async" ,emacs-ert-async)))
15647 (home-page "https://github.com/rejeep/prodigy.el")
15648 (synopsis "Manage external services from within Emacs")
15649 (description "This package provides a GUI for defining and monitoring services.")
15650 (license license:gpl3+))))
15651
15652 (define-public emacs-web-server
15653 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
15654 (version "0.1.1")
15655 (revision "1"))
15656 (package
15657 (name "emacs-web-server")
15658 (version (git-version version revision commit))
15659 (source
15660 (origin
15661 (method git-fetch)
15662 (uri (git-reference
15663 (url "https://github.com/eschulte/emacs-web-server/")
15664 (commit commit)))
15665 (file-name (git-file-name name version))
15666 (sha256
15667 (base32
15668 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
15669 (build-system emacs-build-system)
15670 (home-page "https://github.com/eschulte/emacs-web-server/")
15671 (synopsis "Web server with handlers in Emacs Lisp")
15672 (description "This package supports HTTP GET and POST requests with
15673 url-encoded parameters, as well as web sockets.")
15674 (license license:gpl3+))))
15675
15676 (define-public emacs-markdown-preview-mode
15677 (package
15678 (name "emacs-markdown-preview-mode")
15679 (version "0.9.2")
15680 (source
15681 (origin
15682 (method git-fetch)
15683 (uri (git-reference
15684 (url "https://github.com/ancane/markdown-preview-mode")
15685 (commit (string-append "v" version))))
15686 (file-name (git-file-name name version))
15687 (sha256
15688 (base32
15689 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
15690 (build-system emacs-build-system)
15691 (propagated-inputs
15692 `(("emacs-markdown-mode" ,emacs-markdown-mode)
15693 ("emacs-websocket" ,emacs-websocket)
15694 ("emacs-web-server" ,emacs-web-server)))
15695 (arguments '(#:include '("\\.el$" "\\.html$")))
15696 (home-page "https://github.com/ancane/markdown-preview-mode")
15697 (synopsis "Live web development in Emacs")
15698 (description "This package provides a minor mode for preview of Markdown
15699 files, and sends rendered Markdown to a web browser.")
15700 (license license:gpl3+)))
15701
15702 (define-public emacs-dotenv-mode
15703 (package
15704 (name "emacs-dotenv-mode")
15705 (version "0.2.4")
15706 (source
15707 (origin
15708 (method git-fetch)
15709 (uri (git-reference
15710 (url "https://github.com/preetpalS/emacs-dotenv-mode")
15711 (commit (string-append "v" version))))
15712 (file-name (git-file-name name version))
15713 (sha256
15714 (base32
15715 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
15716 (build-system emacs-build-system)
15717 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
15718 (synopsis "Major mode for @file{.env} files")
15719 (description "This package provides syntax highlighting for @file{.env}
15720 files.")
15721 (license license:gpl3+)))
15722
15723 (define-public emacs-add-node-modules-path
15724 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
15725 (version "1.2.0")
15726 (revision "10"))
15727 (package
15728 (name "emacs-add-node-modules-path")
15729 (version (git-version version revision commit))
15730 (source
15731 (origin
15732 (method git-fetch)
15733 (uri (git-reference
15734 (url "https://github.com/codesuki/add-node-modules-path")
15735 (commit commit)))
15736 (file-name (git-file-name name version))
15737 (sha256
15738 (base32
15739 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
15740 (build-system emacs-build-system)
15741 (home-page "https://github.com/codesuki/add-node-modules-path")
15742 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
15743 (description "This package searches the parent directories of the
15744 current file for the project's @file{node_modules/.bin/} directory, allowing
15745 Emacs to find project-specific installations of packages.")
15746 (license license:expat))))
15747
15748 (define-public emacs-flow-minor-mode
15749 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
15750 (version "0.3")
15751 (revision "4"))
15752 (package
15753 (name "emacs-flow-minor-mode")
15754 (version (git-version version revision commit))
15755 (source
15756 (origin
15757 (method git-fetch)
15758 (uri (git-reference
15759 (url "https://github.com/an-sh/flow-minor-mode")
15760 (commit commit)))
15761 (file-name (git-file-name name version))
15762 (sha256
15763 (base32
15764 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
15765 (build-system emacs-build-system)
15766 (home-page "https://github.com/an-sh/flow-minor-mode")
15767 (synopsis "Minor mode for JavaScript Flow files")
15768 (description "This package integrates Flow with Emacs, allowing for
15769 definition-jumping and type-checking on demand.")
15770 (license license:bsd-3))))
15771
15772 (define-public emacs-rjsx-mode
15773 (let ((commit "03dd8d1683501e81b58674d64c3032b7b718402c")
15774 (version "0.4.0")
15775 (revision "35"))
15776 (package
15777 (name "emacs-rjsx-mode")
15778 (version (git-version version revision commit))
15779 (source
15780 (origin
15781 (method git-fetch)
15782 (uri (git-reference
15783 (url "https://github.com/felipeochoa/rjsx-mode")
15784 (commit commit)))
15785 (file-name (git-file-name name version))
15786 (sha256
15787 (base32
15788 "1kc44g9f38klpjklmz9n50a28nqv7prz6ck6ghdr6bnj1s98pb8a"))))
15789 (build-system emacs-build-system)
15790 (propagated-inputs
15791 `(("emacs-js2-mode" ,emacs-js2-mode)))
15792 (home-page "https://github.com/felipeochoa/rjsx-mode")
15793 (synopsis "Major mode for JSX files")
15794 (description "This package extends the parser of @code{js2-mode} to
15795 support JSX syntax.")
15796 (license license:expat))))
15797
15798 (define-public emacs-origami-el
15799 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
15800 (version "1.0")
15801 (revision "1"))
15802 (package
15803 (name "emacs-origami-el")
15804 (version (git-version version revision commit))
15805 (source
15806 (origin
15807 (method git-fetch)
15808 (uri (git-reference
15809 (url "https://github.com/gregsexton/origami.el")
15810 (commit commit)))
15811 (file-name (git-file-name name version))
15812 (sha256
15813 (base32
15814 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
15815 (build-system emacs-build-system)
15816 (propagated-inputs
15817 `(("emacs-dash" ,emacs-dash)
15818 ("emacs-s" ,emacs-s)))
15819 (home-page "https://github.com/gregsexton/origami.el")
15820 (synopsis "Flexible text-folding")
15821 (description "This package provides a minor mode for collapsing and
15822 expanding regions of text without modifying the actual contents.")
15823 (license license:expat))))
15824
15825 (define-public emacs-peep-dired
15826 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
15827 (version "0")
15828 (revision "1"))
15829 (package
15830 (name "emacs-peep-dired")
15831 (version (git-version version revision commit))
15832 (source
15833 (origin
15834 (method git-fetch)
15835 (uri (git-reference
15836 (url "https://github.com/asok/peep-dired")
15837 (commit commit)))
15838 (file-name (git-file-name name version))
15839 (sha256
15840 (base32
15841 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
15842 (build-system emacs-build-system)
15843 (home-page "https://github.com/asok/peep-dired")
15844 (synopsis "Preview files in another window")
15845 (description "This package provides a minor mode that allows files to be
15846 previewed by scrolling up and down within a @code{dired} buffer.")
15847 (license license:gpl3+))))
15848
15849 (define-public emacs-counsel-etags
15850 (package
15851 (name "emacs-counsel-etags")
15852 (version "1.8.4")
15853 (source
15854 (origin
15855 (method git-fetch)
15856 (uri (git-reference
15857 (url "https://github.com/redguardtoo/counsel-etags")
15858 (commit version)))
15859 (file-name (git-file-name name version))
15860 (sha256
15861 (base32
15862 "14my9jvxl26a5yn381h5pi5481y9d9gyk7wnxxd0s4sjc964c5h5"))))
15863 (build-system emacs-build-system)
15864 (propagated-inputs
15865 `(("emacs-ivy" ,emacs-ivy)))
15866 (home-page "https://github.com/redguardtoo/counsel-etags")
15867 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
15868 (description "This package uses @code{ivy-mode} to facilitate navigating
15869 and searching through @code{Ctags} files.")
15870 (license license:gpl3+)))
15871
15872 (define-public emacs-org-download
15873 (let ((commit "ac72bf8fce3e855da60687027b6b8601cf1de480")
15874 (version "0.1.0")
15875 (revision "1"))
15876 (package
15877 (name "emacs-org-download")
15878 (version (git-version version revision commit))
15879 (source (origin
15880 (method git-fetch)
15881 (uri (git-reference
15882 (url "https://github.com/abo-abo/org-download")
15883 (commit commit)))
15884 (sha256
15885 (base32
15886 "0ax5wd44765wnwabkam1g2r62gq8crx2qq733s2mg1z72cfvwxqb"))
15887 (file-name (git-file-name name version))))
15888 (build-system emacs-build-system)
15889 (propagated-inputs
15890 `(("emacs-org" ,emacs-org)
15891 ("emacs-async" ,emacs-async)))
15892 (home-page "https://github.com/abo-abo/org-download")
15893 (synopsis "Facilitate moving images")
15894 (description "This package provides utilities for managing image files
15895 copied into @code{org-mode} buffers.")
15896 (license license:gpl3+))))
15897
15898 (define-public emacs-helm-dash
15899 (let ((commit "192b862185df661439a06de644791171e899348a")
15900 (version "1.3.0")
15901 (revision "18"))
15902 (package
15903 (name "emacs-helm-dash")
15904 (version (git-version version revision commit))
15905 (source
15906 (origin
15907 (method git-fetch)
15908 (uri (git-reference
15909 (url "https://github.com/areina/helm-dash")
15910 (commit commit)))
15911 (file-name (git-file-name name version))
15912 (sha256
15913 (base32
15914 "06am5vnr4hsxkvh2b8q8kb80y5x1h3qyv7gwggswwhfa7w2vba3w"))))
15915 (build-system emacs-build-system)
15916 (propagated-inputs
15917 `(("emacs-helm" ,emacs-helm)))
15918 (home-page "https://github.com/areina/helm-dash")
15919 (synopsis "Offline documentation browser for APIs using Dash docsets")
15920 (description "This package uses Helm to install and navigate through
15921 Dash docsets.")
15922 (license license:gpl3+))))
15923
15924 (define-public emacs-counsel-dash
15925 (let ((commit "07fa74a94ff4da5b6c8c4810f5e143e701b480d2")
15926 (version "0.1.3")
15927 (revision "3"))
15928 (package
15929 (name "emacs-counsel-dash")
15930 (version (git-version version revision commit))
15931 (source
15932 (origin
15933 (method git-fetch)
15934 (uri (git-reference
15935 (url "https://github.com/nathankot/counsel-dash")
15936 (commit commit)))
15937 (file-name (git-file-name name version))
15938 (sha256
15939 (base32
15940 "17h2m9zsadq270mkq12kmdzmpbfjiwjbg8n1rg2apqnm1ndgcwf8"))))
15941 (build-system emacs-build-system)
15942 (propagated-inputs
15943 `(("emacs-helm-dash" ,emacs-helm-dash)
15944 ("emacs-dash" ,emacs-dash)
15945 ("emacs-ivy" ,emacs-ivy)))
15946 (home-page "https://github.com/nathankot/counsel-dash")
15947 (synopsis "Offline documentation browser for APIs using Dash docsets")
15948 (description "This package uses @code{ivy-mode} to install and navigate
15949 through Dash docsets.")
15950 (license license:expat))))
15951
15952 (define-public emacs-el-patch
15953 (package
15954 (name "emacs-el-patch")
15955 (version "2.2.3")
15956 (source
15957 (origin
15958 (method git-fetch)
15959 (uri (git-reference
15960 (url "https://github.com/raxod502/el-patch")
15961 (commit version)))
15962 (file-name (git-file-name name version))
15963 (sha256
15964 (base32
15965 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
15966 (build-system emacs-build-system)
15967 (home-page "https://github.com/raxod502/el-patch")
15968 (synopsis "Future-proof your Emacs customizations")
15969 (description "This package allows for an alternate definition of an Elisp
15970 function to be specified and for any differences from the original definition
15971 to be examined using Ediff.")
15972 (license license:expat)))
15973
15974 (define-public emacs-info-plus
15975 (let ((commit "b837d710f7d58db586116cf6f75e75a9a074bc4b")
15976 (version "5101")
15977 (revision "55"))
15978 (package
15979 (name "emacs-info-plus")
15980 (version (git-version version revision commit))
15981 (source
15982 (origin
15983 (method git-fetch)
15984 (uri (git-reference
15985 (url "https://github.com/emacsmirror/info-plus")
15986 (commit commit)))
15987 (file-name (git-file-name name version))
15988 (sha256
15989 (base32
15990 "1knyjkdm4rcs3qrc51jllw46ph7ycq5zxnvl70ydchzfwava43h6"))))
15991 (build-system emacs-build-system)
15992 (home-page "https://github.com/emacsmirror/info-plus")
15993 (synopsis "Extensions to @file{info.el}")
15994 (description "This package extends Emacs' @file{info.el} by allowing
15995 outline-enabled table of contents, additional metadata association for Info
15996 nodes, and more.")
15997 (license license:gpl2+))))
15998
15999 (define-public emacs-eval-sexp-fu-el
16000 (package
16001 (name "emacs-eval-sexp-fu-el")
16002 (version "0.5.0")
16003 (source
16004 (origin
16005 (method git-fetch)
16006 (uri (git-reference
16007 (url "https://github.com/hchbaw/eval-sexp-fu.el")
16008 (commit (string-append "v" version))))
16009 (file-name (git-file-name name version))
16010 (sha256
16011 (base32
16012 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
16013 (build-system emacs-build-system)
16014 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
16015 (synopsis "Enhancements for evaluating s-expressions")
16016 (description "This package provides provides variants of
16017 @code{eval-last-sexp} that work on the containing list or s-expression, as
16018 well as an option for visually flashing evaluated s-expressions.")
16019 (license license:gpl3+)))
16020
16021 (define-public emacs-counsel-tramp
16022 (package
16023 (name "emacs-counsel-tramp")
16024 (version "0.6.3")
16025 (source
16026 (origin
16027 (method git-fetch)
16028 (uri (git-reference
16029 (url "https://github.com/masasam/emacs-counsel-tramp")
16030 (commit version)))
16031 (file-name (git-file-name name version))
16032 (sha256
16033 (base32
16034 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
16035 (build-system emacs-build-system)
16036 (propagated-inputs
16037 `(("emacs-ivy" ,emacs-ivy)))
16038 (home-page "https://github.com/masasam/emacs-counsel-tramp")
16039 (synopsis "Ivy interface for TRAMP")
16040 (description "This package allows @code{ivy-mode} to display and filter
16041 SSH servers.")
16042 (license license:gpl3+)))
16043
16044 (define-public emacs-eacl
16045 (package
16046 (name "emacs-eacl")
16047 (version "2.0.1")
16048 (source
16049 (origin
16050 (method git-fetch)
16051 (uri (git-reference
16052 (url "https://github.com/redguardtoo/eacl")
16053 (commit version)))
16054 (file-name (git-file-name name version))
16055 (sha256
16056 (base32
16057 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
16058 (build-system emacs-build-system)
16059 (propagated-inputs
16060 `(("emacs-ivy" ,emacs-ivy)))
16061 (home-page "https://github.com/redguardtoo/eacl")
16062 (synopsis "Auto-complete lines by using @code{grep} on a project")
16063 (description "This package provides auto-completion cammands for single
16064 and multiple lines of code in a project.")
16065 (license license:gpl3+)))
16066
16067 (define-public emacs-semantic-refactor
16068 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
16069 ;; commits since then.
16070 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
16071 (package
16072 (name "emacs-semantic-refactor")
16073 (version (git-version "0.5" "1" commit))
16074 (source
16075 (origin
16076 (method git-fetch)
16077 (uri (git-reference
16078 (url "https://github.com/tuhdo/semantic-refactor")
16079 (commit commit)))
16080 (file-name (git-file-name name version))
16081 (sha256
16082 (base32
16083 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
16084 (build-system emacs-build-system)
16085 (home-page "https://github.com/tuhdo/semantic-refactor")
16086 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
16087 (description "This package provides a refactoring tool based on the
16088 Emacs Semantic parser framework. For C and C++ it supports operations such as:
16089
16090 @enumerate
16091 @item Generating class implementations
16092 @item Generating function prototypes
16093 @item Converting functions to function pointers
16094 @item Moving semantic units
16095 @item etc...
16096 @end enumerate
16097
16098 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
16099 as:
16100
16101 @enumerate
16102 @item Formatting the whole buffer
16103 @item Converting sexpressions to one or multiple lines
16104 @item etc...
16105 @end enumerate\n")
16106 (license license:gpl3+))))
16107
16108 (define-public emacs-nhexl-mode
16109 (package
16110 (name "emacs-nhexl-mode")
16111 (version "1.2")
16112 (source
16113 (origin
16114 (method url-fetch)
16115 (uri (string-append
16116 "https://elpa.gnu.org/packages/nhexl-mode-"
16117 version ".el"))
16118 (sha256
16119 (base32
16120 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
16121 (build-system emacs-build-system)
16122 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
16123 (synopsis "Minor mode to edit files via hex-dump format")
16124 (description
16125 "This package implements NHexl mode, a minor mode for editing files
16126 in hex dump format. The mode command is called @command{nhexl-mode}.
16127
16128 This minor mode implements similar functionality to @command{hexl-mode},
16129 but using a different implementation technique, which makes it
16130 usable as a \"plain\" minor mode. It works on any buffer, and does
16131 not mess with the undo log or with the major mode.
16132
16133 It also comes with:
16134
16135 @itemize
16136 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
16137 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
16138 (which only work for hex-digits) will only modify the nibble under point.
16139 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
16140 moving text. In this minor mode, not only self-inserting keys overwrite
16141 existing text, but commands like `yank' and @command{kill-region} as well.
16142 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
16143 C-f} to advance by #xa4 characters.
16144 @end itemize\n")
16145 (license license:gpl3+)))
16146
16147 (define-public emacs-helm-wikipedia
16148 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
16149 (package
16150 (name "emacs-helm-wikipedia")
16151 (version (git-version "0.0.0" "1" commit))
16152 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
16153 (source
16154 (origin
16155 (method git-fetch)
16156 (uri (git-reference
16157 (url home-page)
16158 (commit commit)))
16159 (file-name (git-file-name name version))
16160 (sha256
16161 (base32
16162 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
16163 (build-system emacs-build-system)
16164 (inputs
16165 `(("helm" ,emacs-helm)))
16166 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
16167 (description
16168 "This package provides an Emacs Helm interface for search suggestions
16169 and article extracts for Wikipedia.")
16170 (license license:gpl3+))))
16171
16172 (define-public emacs-webfeeder
16173 (package
16174 (name "emacs-webfeeder")
16175 (version "1.0.0")
16176 (source
16177 (origin
16178 (method url-fetch)
16179 (uri (string-append
16180 "https://elpa.gnu.org/packages/webfeeder-"
16181 version
16182 ".tar"))
16183 (sha256
16184 (base32
16185 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
16186 (build-system emacs-build-system)
16187 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
16188 (synopsis "Build RSS and Atom webfeeds from HTML files")
16189 (description
16190 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
16191 files. The various elements of the HTML input are parsed with customizable
16192 functions (e.g. @code{webfeeder-title-function}).")
16193 (license license:gpl3+)))
16194
16195 (define-public emacs-evil-numbers
16196 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
16197 (package
16198 (name "emacs-evil-numbers")
16199 (version (git-version "0.4" "1" commit))
16200 (source (origin
16201 (method git-fetch)
16202 (uri (git-reference
16203 (url "https://github.com/dieggsy/evil-numbers")
16204 (commit commit)))
16205 (file-name (git-file-name name version))
16206 (sha256
16207 (base32
16208 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
16209 (build-system emacs-build-system)
16210 (home-page "https://github.com/dieggsy/evil-numbers")
16211 (synopsis "Increment and decrement numbers in Emacs")
16212 (description "This package increments and decrements binary, octal,
16213 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
16214 number up to EOL and then increments or decrements and keeps zero padding up
16215 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
16216 numbers within that region will be incremented/decremented (unlike in Vim).
16217
16218 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
16219 (license license:gpl3+))))
16220
16221 (define-public emacs-rotate-text
16222 (package
16223 (name "emacs-rotate-text")
16224 (version "0.1")
16225 (source (origin
16226 (method git-fetch)
16227 (uri (git-reference
16228 (url "https://github.com/nschum/rotate-text.el.git")
16229 (commit version)))
16230 (file-name (git-file-name name version))
16231 (sha256
16232 (base32
16233 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
16234 (build-system emacs-build-system)
16235 (home-page "http://nschum.de/src/emacs/rotate-text/")
16236 (synopsis "Cycle through words, symbols and patterns in Emacs")
16237 (description "@code{rotate-text} allows you rotate to commonly
16238 interchanged text with a single keystroke. For example, you can toggle
16239 between \"frame-width\" and \"frame-height\", between \"public\",
16240 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
16241 \"variableN\".")
16242 (license license:gpl2+)))
16243
16244 (define-public emacs-ediprolog
16245 (package
16246 (name "emacs-ediprolog")
16247 (version "1.2")
16248 (source
16249 (origin
16250 (method url-fetch)
16251 (uri (string-append
16252 "https://elpa.gnu.org/packages/ediprolog-"
16253 version
16254 ".el"))
16255 (sha256
16256 (base32
16257 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
16258 (build-system emacs-build-system)
16259 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
16260 (synopsis "Emacs Does Interactive Prolog")
16261 (description "This package provides a major mode that let the user
16262 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
16263 programs and evaluate embedded queries. This mode is focused on the command
16264 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
16265 context, carry out the appropriate action.")
16266 (license license:gpl3+)))
16267
16268 (define-public emacs-evil-cleverparens
16269 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
16270 (revision "1"))
16271 (package
16272 (name "emacs-evil-cleverparens")
16273 (version (git-version "2017-07-17" revision commit))
16274 (source (origin
16275 (method git-fetch)
16276 (uri (git-reference
16277 (url "https://github.com/luxbock/evil-cleverparens.git")
16278 (commit commit)))
16279 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
16280 (file-name (git-file-name name version))))
16281 (build-system emacs-build-system)
16282 (propagated-inputs
16283 `(("emacs-evil" ,emacs-evil)
16284 ("emacs-paredit" ,emacs-paredit)
16285 ("emacs-smartparens" ,emacs-smartparens)))
16286 (home-page "https://github.com/luxbock/evil-cleverparens")
16287 (synopsis "Emacs modal editing optimized for editing Lisp")
16288 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
16289 modal editing with screwing up the structure of Lisp code. Alternatives for
16290 verb commands which would are normally destructive (such as deletion) are
16291 provided. Those alternative commands are and bound by default to their
16292 corresponding Evil keys.")
16293 (license license:expat))))
16294
16295 (define-public emacs-xterm-color
16296 (let ((commit "a452ab38a7cfae97078062ff8885b5d74fd1e5a6")
16297 (version "1.8")
16298 (revision "1"))
16299 (package
16300 (name "emacs-xterm-color")
16301 (version (git-version version revision commit))
16302 (source (origin
16303 (method git-fetch)
16304 (uri (git-reference
16305 (url "https://github.com/atomontage/xterm-color.git")
16306 (commit commit)))
16307 (sha256
16308 (base32
16309 "02kpajb993yshhjhsizpfcbrcndyzkf4dqfipifhxxng50dhp95i"))
16310 (file-name (git-file-name name version))))
16311 (build-system emacs-build-system)
16312 (home-page "https://github.com/atomontage/xterm-color")
16313 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
16314 (description "@code{xterm-color.el} is an ANSI control sequence to
16315 text-property translator.")
16316 (license license:bsd-2))))
16317
16318 (define-public emacs-org-noter
16319 (package
16320 (name "emacs-org-noter")
16321 (version "1.3.0")
16322 (source
16323 (origin
16324 (method url-fetch)
16325 (uri (string-append
16326 "https://stable.melpa.org/packages/org-noter-"
16327 version
16328 ".el"))
16329 (sha256
16330 (base32
16331 "1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
16332 (build-system emacs-build-system)
16333 (propagated-inputs `(("emacs-org" ,emacs-org)))
16334 (home-page "https://github.com/weirdNox/org-noter")
16335 (synopsis "Synchronized, Org-mode, document annotator")
16336 (description
16337 "This package lets you create notes that are kept in sync when you
16338 scroll through the document, but that are external to it---the notes
16339 themselves live in an Org-mode file. As such, this leverages the power of
16340 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
16341 acting like notes that are made @emph{in} the document.")
16342 (license license:gpl3+)))