gnu: emacs-evil-collection: Update to 0.0.3-11.bf2400a.
[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, 2019 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 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
53 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
54 ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
55 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
56 ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
57 ;;;
58 ;;; This file is part of GNU Guix.
59 ;;;
60 ;;; GNU Guix is free software; you can redistribute it and/or modify it
61 ;;; under the terms of the GNU General Public License as published by
62 ;;; the Free Software Foundation; either version 3 of the License, or (at
63 ;;; your option) any later version.
64 ;;;
65 ;;; GNU Guix is distributed in the hope that it will be useful, but
66 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
67 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
68 ;;; GNU General Public License for more details.
69 ;;;
70 ;;; You should have received a copy of the GNU General Public License
71 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
72
73 (define-module (gnu packages emacs-xyz)
74 #:use-module ((guix licenses) #:prefix license:)
75 #:use-module (guix packages)
76 #:use-module (guix cvs-download)
77 #:use-module (guix download)
78 #:use-module (guix git-download)
79 #:use-module (guix build-system gnu)
80 #:use-module (guix build-system cmake)
81 #:use-module (guix build-system emacs)
82 #:use-module (guix build-system glib-or-gtk)
83 #:use-module (guix build-system perl)
84 #:use-module (guix build-system trivial)
85 #:use-module (gnu packages)
86 #:use-module (gnu packages admin)
87 #:use-module (gnu packages audio)
88 #:use-module (gnu packages bash)
89 #:use-module (gnu packages cmake)
90 #:use-module (gnu packages code)
91 #:use-module (gnu packages databases)
92 #:use-module (gnu packages dictionaries)
93 #:use-module (gnu packages emacs)
94 #:use-module (gnu packages guile)
95 #:use-module (gnu packages gtk)
96 #:use-module (gnu packages gnome)
97 #:use-module (gnu packages ncurses)
98 #:use-module (gnu packages python)
99 #:use-module (gnu packages python-xyz)
100 #:use-module (gnu packages tex)
101 #:use-module (gnu packages texinfo)
102 #:use-module (gnu packages tcl)
103 #:use-module (gnu packages tls)
104 #:use-module (gnu packages pkg-config)
105 #:use-module (gnu packages xorg)
106 #:use-module (gnu packages lesstif)
107 #:use-module (gnu packages llvm)
108 #:use-module (gnu packages image)
109 #:use-module (gnu packages linux)
110 #:use-module (gnu packages libevent)
111 #:use-module (gnu packages music)
112 #:use-module (gnu packages version-control)
113 #:use-module (gnu packages imagemagick)
114 #:use-module (gnu packages w3m)
115 #:use-module (gnu packages wget)
116 #:use-module (gnu packages autotools)
117 #:use-module (gnu packages base)
118 #:use-module (gnu packages compression)
119 #:use-module (gnu packages xml)
120 #:use-module (gnu packages glib)
121 #:use-module (gnu packages acl)
122 #:use-module (gnu packages mail)
123 #:use-module (gnu packages package-management)
124 #:use-module (gnu packages perl)
125 #:use-module (gnu packages pdf)
126 #:use-module (gnu packages scheme)
127 #:use-module (gnu packages speech)
128 #:use-module (gnu packages xiph)
129 #:use-module (gnu packages mp3)
130 #:use-module (gnu packages gettext)
131 #:use-module (gnu packages fribidi)
132 #:use-module (gnu packages gd)
133 #:use-module (gnu packages fontutils)
134 #:use-module (gnu packages password-utils)
135 #:use-module (gnu packages pulseaudio)
136 #:use-module (gnu packages sphinx)
137 #:use-module (gnu packages xdisorg)
138 #:use-module (gnu packages shells)
139 #:use-module (gnu packages sqlite)
140 #:use-module (gnu packages gnupg)
141 #:use-module (gnu packages video)
142 #:use-module (gnu packages haskell-xyz)
143 #:use-module (gnu packages wordnet)
144 #:use-module (guix utils)
145 #:use-module (srfi srfi-1)
146 #:use-module (ice-9 match))
147
148 ;;;
149 ;;; Emacs hacking.
150 ;;;
151
152 (define-public emacs-geiser
153 (package
154 (name "emacs-geiser")
155 (version "0.10")
156 (source (origin
157 (method url-fetch)
158 (uri (string-append "mirror://savannah/geiser/" version
159 "/geiser-" version ".tar.gz"))
160 (sha256
161 (base32
162 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
163 (build-system gnu-build-system)
164 (arguments
165 '(#:phases
166 (modify-phases %standard-phases
167 (add-after 'install 'post-install
168 (lambda* (#:key outputs #:allow-other-keys)
169 (symlink "geiser-install.el"
170 (string-append (assoc-ref outputs "out")
171 "/share/emacs/site-lisp/"
172 "geiser-autoloads.el"))
173 #t)))))
174 (inputs `(("guile" ,guile-2.2)))
175 (native-inputs `(("emacs" ,emacs-minimal)))
176 (home-page "https://nongnu.org/geiser/")
177 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
178 (description
179 "Geiser is a collection of Emacs major and minor modes that conspire with
180 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
181 continuously running Scheme interpreter takes the center of the stage in
182 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
183 implementation, Emacs and, ultimately, the schemer, giving them access to live
184 metadata.")
185 (license license:bsd-3)))
186
187 (define-public geiser
188 (deprecated-package "geiser" emacs-geiser))
189
190 (define-public emacs-paredit
191 (package
192 (name "emacs-paredit")
193 (version "24")
194 (source (origin
195 (method url-fetch)
196 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
197 version ".el"))
198 (sha256
199 (base32
200 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
201 (build-system emacs-build-system)
202 (home-page "http://mumble.net/~campbell/emacs/paredit/")
203 (synopsis "Emacs minor mode for editing parentheses")
204 (description
205 "ParEdit (paredit.el) is a minor mode for performing structured editing
206 of S-expression data. The typical example of this would be Lisp or Scheme
207 source code.
208
209 ParEdit helps **keep parentheses balanced** and adds many keys for moving
210 S-expressions and moving around in S-expressions. Its behavior can be jarring
211 for those who may want transient periods of unbalanced parentheses, such as
212 when typing parentheses directly or commenting out code line by line.")
213 (license license:gpl3+)))
214
215 (define-public paredit
216 (deprecated-package "paredit" emacs-paredit))
217
218 (define-public git-modes
219 (package
220 (name "emacs-git-modes")
221 (version "1.2.8")
222 (source (origin
223 (method git-fetch)
224 (uri (git-reference
225 (url "https://github.com/magit/git-modes")
226 (commit version)))
227 (file-name (git-file-name name version))
228 (sha256
229 (base32
230 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
231 (build-system emacs-build-system)
232 (home-page "https://github.com/magit/git-modes")
233 (synopsis "Emacs major modes for Git configuration files")
234 (description
235 "This package provides Emacs major modes for editing various Git
236 configuration files, such as .gitattributes, .gitignore, and .git/config.")
237 (license license:gpl3+)))
238
239 (define-public git-modes/old-name
240 (deprecated-package "git-modes" git-modes))
241
242 (define-public emacs-with-editor
243 (package
244 (name "emacs-with-editor")
245 (version "2.8.3")
246 (source (origin
247 (method git-fetch)
248 (uri (git-reference
249 (url "https://github.com/magit/with-editor.git")
250 (commit (string-append "v" version))))
251 (file-name (git-file-name name version))
252 (sha256
253 (base32
254 "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"))))
255 (build-system emacs-build-system)
256 (propagated-inputs
257 `(("emacs-dash" ,emacs-dash)))
258 (home-page "https://github.com/magit/with-editor")
259 (synopsis "Emacs library for using Emacsclient as EDITOR")
260 (description
261 "This package provides an Emacs library to use the Emacsclient as
262 @code{$EDITOR} of child processes, making sure they know how to call home.
263 For remote processes a substitute is provided, which communicates with Emacs
264 on stdout instead of using a socket as the Emacsclient does.")
265 (license license:gpl3+)))
266
267 (define-public emacs-magit
268 ;; Version 2.90.1 has trouble loading the transient library,
269 ;; so we use a more recent commit that fixes it.
270 (let ((commit "b4aec016b5577afa8d889f258b499814d1bb1d94"))
271 (package
272 (name "emacs-magit")
273 (version (git-version "2.90.1" "1" commit))
274 (source (origin
275 (method git-fetch)
276 (uri (git-reference
277 (url "https://github.com/magit/magit")
278 (commit commit)))
279 (file-name (git-file-name name version))
280 (sha256
281 (base32
282 "0zl7v6z0y50pcgqsf2r8c1k3r5nwjad9ba7r6sgrnf4rc62br7jv"))))
283 (build-system gnu-build-system)
284 (native-inputs `(("texinfo" ,texinfo)
285 ("emacs" ,emacs-minimal)))
286 (inputs
287 `(("git" ,git)
288 ("perl" ,perl)))
289 (propagated-inputs
290 `(("dash" ,emacs-dash)
291 ("with-editor" ,emacs-with-editor)
292 ("transient" ,emacs-transient)))
293 (arguments
294 `(#:modules ((guix build gnu-build-system)
295 (guix build utils)
296 (guix build emacs-utils))
297 #:imported-modules (,@%gnu-build-system-modules
298 (guix build emacs-utils))
299 #:test-target "test"
300 #:tests? #f ; tests are not included in the release
301
302 #:make-flags
303 (list (string-append "PREFIX=" %output)
304 ;; Don't put .el files in a sub-directory.
305 (string-append "lispdir=" %output "/share/emacs/site-lisp")
306 (string-append "DASH_DIR="
307 (assoc-ref %build-inputs "dash")
308 "/share/emacs/site-lisp/guix.d/dash-"
309 ,(package-version emacs-dash))
310 (string-append "WITH_EDITOR_DIR="
311 (assoc-ref %build-inputs "with-editor")
312 "/share/emacs/site-lisp/guix.d/with-editor-"
313 ,(package-version emacs-with-editor))
314 (string-append "TRANSIENT_DIR="
315 (assoc-ref %build-inputs "transient")
316 "/share/emacs/site-lisp/guix.d/transient-"
317 ,(package-version emacs-transient)))
318
319 #:phases
320 (modify-phases %standard-phases
321 (delete 'configure)
322 (add-before
323 'build 'patch-exec-paths
324 (lambda* (#:key inputs #:allow-other-keys)
325 (let ((perl (assoc-ref inputs "perl")))
326 (make-file-writable "lisp/magit-sequence.el")
327 (emacs-substitute-variables "lisp/magit-sequence.el"
328 ("magit-perl-executable" (string-append perl "/bin/perl")))
329 #t))))))
330 (home-page "https://magit.vc/")
331 (synopsis "Emacs interface for the Git version control system")
332 (description
333 "With Magit, you can inspect and modify your Git repositories with Emacs.
334 You can review and commit the changes you have made to the tracked files, for
335 example, and you can browse the history of past changes. There is support for
336 cherry picking, reverting, merging, rebasing, and other common Git
337 operations.")
338 (license license:gpl3+))))
339
340 (define-public magit
341 (deprecated-package "magit" emacs-magit))
342
343 (define-public emacs-magit-svn
344 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
345 (package
346 (name "emacs-magit-svn")
347 (version (git-version "2.2.1" "1" commit))
348 (source (origin
349 (method git-fetch)
350 (uri (git-reference
351 (url "https://github.com/magit/magit-svn")
352 (commit commit)))
353 (file-name (git-file-name name version))
354 (sha256
355 (base32
356 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
357 (build-system trivial-build-system)
358 (native-inputs `(("emacs" ,emacs-minimal)))
359 (propagated-inputs `(("dash" ,emacs-dash)
360 ("with-editor" ,emacs-with-editor)
361 ("magit" ,emacs-magit)
362 ("transient" ,emacs-transient)))
363 (arguments
364 `(#:modules ((guix build utils)
365 (guix build emacs-utils))
366
367 #:builder
368 (begin
369 (use-modules (guix build utils)
370 (guix build emacs-utils))
371
372 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
373 "/bin/emacs"))
374 (magit (string-append (assoc-ref %build-inputs "magit")
375 "/share/emacs/site-lisp"))
376 (transient (string-append (assoc-ref %build-inputs "transient")
377 "/share/emacs/site-lisp/guix.d/transient-"
378 ,(package-version emacs-transient)))
379 (dash (string-append (assoc-ref %build-inputs "dash")
380 "/share/emacs/site-lisp/guix.d/dash-"
381 ,(package-version emacs-dash)))
382 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
383 "/share/emacs/site-lisp/guix.d/with-editor-"
384 ,(package-version emacs-with-editor)))
385 (source (assoc-ref %build-inputs "source"))
386 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
387
388 (install-file (string-append source "/magit-svn.el")
389 lisp-dir)
390
391 (with-directory-excursion lisp-dir
392 (parameterize ((%emacs emacs))
393 (emacs-generate-autoloads ,name lisp-dir)
394 (setenv "EMACSLOADPATH"
395 (string-append ":" magit ":" transient
396 ":" dash ":" with-editor))
397 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
398 #t))))
399 (home-page "https://github.com/magit/magit-svn")
400 (synopsis "Git-SVN extension to Magit")
401 (description
402 "This package is an extension to Magit, the Git Emacs mode, providing
403 support for Git-SVN.")
404 (license license:gpl3+))))
405
406 (define-public magit-svn
407 (deprecated-package "magit-svn" emacs-magit-svn))
408
409 (define-public emacs-magit-popup
410 (package
411 (name "emacs-magit-popup")
412 (version "2.12.5")
413 (source (origin
414 (method git-fetch)
415 (uri (git-reference
416 (url "https://github.com/magit/magit-popup.git")
417 (commit (string-append "v" version))))
418 (file-name (git-file-name name version))
419 (sha256
420 (base32
421 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
422 (build-system emacs-build-system)
423 (arguments
424 `(#:phases
425 (modify-phases %standard-phases
426 (add-before 'install 'make-info
427 (lambda _
428 (invoke "make" "info"))))))
429 (native-inputs
430 `(("texinfo" ,texinfo)))
431 (propagated-inputs
432 `(("emacs-dash" ,emacs-dash)))
433 (home-page "https://github.com/magit/magit-popup")
434 (synopsis "Define prefix-infix-suffix command combos")
435 (description
436 "This library implements a generic interface for toggling switches and
437 setting options and then invoking an Emacs command which does something with
438 these arguments. The prototypical use is for the command to call an external
439 process, passing on the arguments as command line arguments.")
440 (license license:gpl3+)))
441
442 (define-public emacs-minions
443 (package
444 (name "emacs-minions")
445 (version "0.3.1")
446 (source (origin
447 (method git-fetch)
448 (uri (git-reference
449 (url "https://github.com/tarsius/minions.git")
450 (commit (string-append "v" version))))
451 (file-name (git-file-name name version))
452 (sha256
453 (base32
454 "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s"))))
455 (build-system emacs-build-system)
456 (propagated-inputs
457 `(("emacs-dash" ,emacs-dash)))
458 (home-page "https://github.com/tarsius/minions")
459 (synopsis "Minor-mode menu for the mode line")
460 (description
461 "This package implements a menu that lists enabled minor-modes, as well
462 as commonly but not currently enabled minor-modes. It can be used to toggle
463 local and global minor-modes, to access mode-specific menus, and to get help
464 about modes.
465
466 This menu is intended as a replacement for the incomplete yet wide list of
467 enabled minor-modes that is displayed in the mode line by default. To use the
468 menu like this, enable Minions mode.
469
470 Alternatively the menu can be bound globally, for example:
471 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
472 (license license:gpl3+)))
473
474 (define-public emacs-treepy
475 (package
476 (name "emacs-treepy")
477 (version "0.1.1")
478 (source (origin
479 (method git-fetch)
480 (uri (git-reference
481 (url "https://github.com/volrath/treepy.el.git")
482 (commit version)))
483 (file-name (git-file-name name version))
484 (sha256
485 (base32
486 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
487 (build-system emacs-build-system)
488 (home-page
489 "https://github.com/volrath/treepy.el")
490 (synopsis "Tree traversal tools")
491 (description
492 "Generic tools for recursive and iterative tree traversal based on
493 clojure.walk and clojure.zip respectively.")
494 (license license:gpl3+)))
495
496 (define-public emacs-graphql
497 (package
498 (name "emacs-graphql")
499 (version "0.1.1")
500 (source (origin
501 (modules '((guix build utils)))
502 ;; Remove examples file with references to external packages as
503 ;; they do not exist at compilation time.
504 (snippet
505 '(begin (delete-file "examples.el")
506 #t))
507 (method git-fetch)
508 (uri (git-reference
509 (url "https://github.com/vermiculus/graphql.el.git")
510 (commit version)))
511 (file-name (git-file-name name version))
512 (sha256
513 (base32
514 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
515 (build-system emacs-build-system)
516 (home-page
517 "https://github.com/vermiculus/graphql.el")
518 (synopsis "GraphQL utilities")
519 (description
520 "GraphQL.el provides a generally-applicable domain-specific language for
521 creating and executing GraphQL queries against your favorite web services.
522 GraphQL is a data query language and runtime designed and used to request and
523 deliver data to mobile and web apps.")
524 (license license:gpl3+)))
525
526 (define-public emacs-ghub
527 (package
528 (name "emacs-ghub")
529 (version "3.2.0")
530 (source (origin
531 (method git-fetch)
532 (uri (git-reference
533 (url "https://github.com/magit/ghub")
534 (commit (string-append "v" version))))
535 (file-name (git-file-name name version))
536 (sha256
537 (base32
538 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
539 (build-system emacs-build-system)
540 (arguments
541 `(#:phases
542 (modify-phases %standard-phases
543 (add-before 'install 'make-info
544 (lambda _
545 (invoke "make" "info"))))))
546 (native-inputs
547 `(("texinfo" ,texinfo)))
548 (propagated-inputs
549 `(("dash" ,emacs-dash)
550 ("graphql" ,emacs-graphql)
551 ("treepy" ,emacs-treepy)))
552 (home-page "https://github.com/magit/ghub")
553 (synopsis "Emacs client libraries for the APIs of various Git forges")
554 (description
555 "Ghub provides basic support for using the APIs of various Git forges from
556 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
557 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
558 handful of functions that are not resource-specific.")
559 (license license:gpl3+)))
560
561 (define-public emacs-scribble-mode
562 (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
563 (revision "2"))
564 (package
565 (name "emacs-scribble-mode")
566 (version (git-version "0.1" revision commit))
567 (source (origin
568 (method git-fetch)
569 (uri (git-reference
570 (url "https://github.com/emacs-pe/scribble-mode.git")
571 (commit commit)))
572 (sha256
573 (base32
574 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"))))
575 (build-system emacs-build-system)
576 (home-page "https://github.com/emacs-pe/scribble-mode")
577 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
578 (description
579 "This package provides basic syntax highlighting and editing support
580 for editing Racket's Scribble documentation syntax in Emacs.")
581 (license license:gpl3+))))
582
583 (define-public emacs-shroud
584 (package
585 (name "emacs-shroud")
586 (version "1.83.4")
587 (source
588 (origin
589 (method git-fetch)
590 (uri (git-reference
591 (url "https://github.com/o-nly/emacs-shroud.git")
592 (commit version)))
593 (file-name (git-file-name name version))
594 (sha256
595 (base32 "1yvdjx0kp4y8w5yz2cbqq9n6xl5splvmsyyx8ld1xv0q1c9872nf"))))
596 (build-system emacs-build-system)
597 (propagated-inputs
598 `(("emacs-bui" ,emacs-bui)
599 ("emacs-dash" ,emacs-dash)
600 ("emacs-f" ,emacs-f)
601 ("emacs-s" ,emacs-s)
602 ("gnupg" ,gnupg)
603 ("shroud" ,shroud)))
604 (home-page "https://github.com/o-nly/emacs-shroud")
605 (synopsis "Emacs interface to the Shroud password manager")
606 (description
607 "This package provides an Emacs interface to the Shroud password manager,
608 using the Buffers User Interface library. You can view, copy, and edit secrets
609 from within Emacs.")
610 (license license:gpl3+)))
611
612 (define-public emacs-unpackaged-el
613 (let ((commit "c0d58cf81e531b2b6fa1bd5dd612dc1b93d4d186")
614 (revision "2"))
615 (package
616 (name "emacs-unpackaged-el")
617 (version (git-version "0" revision commit))
618 (source
619 (origin
620 (method git-fetch)
621 (uri (git-reference
622 (url "https://github.com/alphapapa/unpackaged.el")
623 (commit commit)))
624 (file-name (git-file-name name version))
625 (sha256
626 (base32
627 "0y3sgvd51l4pb3acps92bazfk49da6nim1f1hyxzy1ravg4kbw83"))))
628 (build-system emacs-build-system)
629 (propagated-inputs
630 `(("emacs-dash" ,emacs-dash)
631 ("emacs-org" ,emacs-org)
632 ("emacs-s" ,emacs-s)
633 ("emacs-hydra" ,emacs-hydra)
634 ("emacs-use-package" ,emacs-use-package)))
635 (arguments
636 `(#:phases
637 (modify-phases %standard-phases
638 (add-after 'unpack 'require-hydra
639 (lambda _
640 (substitute* "unpackaged.el"
641 ((";;; Code:") ";;; Code:\n(require 'hydra)"))
642 #t)))))
643 (home-page "https://github.com/alphapapa/unpackaged.el")
644 (synopsis "Useful snippets of Emacs Lisp code")
645 (description "This package provides Emacs Lisp utilities for a variety
646 of tasks, including version control, task management, and regex-based
647 replacement.")
648 (license license:gpl3+))))
649
650 (define-public emacs-haskell-mode
651 (package
652 (name "emacs-haskell-mode")
653 (version "16.1")
654 (source (origin
655 (method git-fetch)
656 (uri (git-reference
657 (url "https://github.com/haskell/haskell-mode")
658 (commit (string-append "v" version))))
659 (file-name (git-file-name name version))
660 (sha256
661 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
662 (patches
663 (search-patches ; backport test failure fixes
664 "haskell-mode-unused-variables.patch"
665 "haskell-mode-make-check.patch"))))
666 (inputs
667 `(("emacs-el-search" ,emacs-el-search) ; for tests
668 ("emacs-stream" ,emacs-stream))) ; for tests
669 (propagated-inputs
670 `(("emacs-dash" ,emacs-dash)))
671 (native-inputs
672 `(("emacs" ,emacs-minimal)
673 ("texinfo" ,texinfo)))
674 (build-system gnu-build-system)
675 (arguments
676 `(#:make-flags (list (string-append "EMACS="
677 (assoc-ref %build-inputs "emacs")
678 "/bin/emacs"))
679 #:modules ((ice-9 match)
680 (srfi srfi-26)
681 ,@%gnu-build-system-modules)
682 #:phases
683 (modify-phases %standard-phases
684 (delete 'configure)
685 (add-before
686 'build 'pre-build
687 (lambda* (#:key inputs #:allow-other-keys)
688 (define (el-dir store-dir)
689 (match (find-files store-dir "\\.el$")
690 ((f1 f2 ...) (dirname f1))
691 (_ "")))
692
693 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
694 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
695
696 (setenv "SHELL" "sh")
697 (setenv "EMACSLOADPATH"
698 (string-concatenate
699 (map (match-lambda
700 (((? emacs-prefix? name) . dir)
701 (string-append (el-dir dir) ":"))
702 (_ ""))
703 inputs)))
704 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
705 ;; embed filename to fix test failure
706 (let ((file "tests/haskell-cabal-tests.el"))
707 (substitute* file
708 (("\\(buffer-file-name\\)")
709 (format #f "(or (buffer-file-name) ~s)" file))))
710 #t)))
711 (replace
712 'install
713 (lambda* (#:key outputs #:allow-other-keys)
714 (let* ((out (assoc-ref outputs "out"))
715 (el-dir (string-append out "/share/emacs/site-lisp"))
716 (doc (string-append
717 out "/share/doc/haskell-mode-" ,version))
718 (info (string-append out "/share/info")))
719 (define (copy-to-dir dir files)
720 (for-each (lambda (f)
721 (install-file f dir))
722 files))
723
724 (with-directory-excursion "doc"
725 (invoke "makeinfo" "haskell-mode.texi")
726 (install-file "haskell-mode.info" info))
727 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
728 (copy-to-dir el-dir (find-files "." "\\.elc?"))
729 ;; These are part of other packages.
730 (with-directory-excursion el-dir
731 (for-each delete-file '("dash.el" "ert.el")))
732 #t))))))
733 (home-page "https://github.com/haskell/haskell-mode")
734 (synopsis "Haskell mode for Emacs")
735 (description
736 "This is an Emacs mode for editing, debugging and developing Haskell
737 programs.")
738 (license license:gpl3+)))
739
740 (define-public haskell-mode
741 (deprecated-package "haskell-mode" emacs-haskell-mode))
742
743 (define-public emacs-dante
744 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
745 (revision "3"))
746 (package
747 (name "emacs-dante")
748 (version (git-version "1.5" revision commit))
749 (source (origin
750 (method git-fetch)
751 (uri (git-reference
752 (url "https://github.com/jyp/dante")
753 (commit commit)))
754 (sha256
755 (base32
756 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
757 (file-name (git-file-name name version))))
758 (build-system emacs-build-system)
759 (propagated-inputs
760 `(("emacs-dash" ,emacs-dash)
761 ("emacs-f" ,emacs-f)
762 ("emacs-flycheck" ,emacs-flycheck)
763 ("emacs-haskell-mode" ,emacs-haskell-mode)
764 ("emacs-s" ,emacs-s)
765 ("emacs-company" ,emacs-company)
766 ("emacs-lcr" ,emacs-lcr)))
767 (home-page "https://github.com/jyp/dante")
768 (synopsis "Minor mode for interactive Haskell")
769 (description
770 "This package provides a minor mode for Haskell development that
771 supports type hints, definition-jumping, completion, and more.")
772 (license license:gpl3+))))
773
774 (define-public emacs-flycheck
775 ;; last release version was more than 300 commits ago
776 (let ((commit "0006a59259ebd02c9199ddc87f0e3ce22793a2ea")
777 (revision "1"))
778 (package
779 (name "emacs-flycheck")
780 (version (git-version "31" revision commit))
781 (source (origin
782 (method git-fetch)
783 (uri (git-reference
784 (url "https://github.com/flycheck/flycheck/")
785 (commit commit)))
786 (sha256
787 (base32
788 "09q3h6ldpg528cfbmsbb1x2vf5hmzgm3fshqn6kdy144jxcdjlf1"))
789 (file-name (git-file-name name version))))
790 (build-system emacs-build-system)
791 (propagated-inputs
792 `(("emacs-dash" ,emacs-dash)))
793 (native-inputs
794 `(("emacs-shut-up" ,emacs-shut-up)))
795 (arguments
796 `(#:phases
797 (modify-phases %standard-phases
798 (add-after 'unpack 'change-flycheck-version
799 (lambda _
800 (substitute* "flycheck.el"
801 (("\\(pkg-info-version-info 'flycheck\\)")
802 (string-append "\"" ,version "\"")))
803 #t)))
804 ;; TODO: many failing tests
805 #:tests? #f
806 #:test-command '("emacs" "-Q" "--batch" "-L" "."
807 "--load" "test/flycheck-test"
808 "--load" "test/run.el"
809 "-f" "flycheck-run-tests-main")))
810 (home-page "https://www.flycheck.org")
811 (synopsis "On-the-fly syntax checking")
812 (description
813 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
814 replacement for the older Flymake extension which is part of GNU Emacs, with
815 many improvements and additional features.
816
817 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
818 checking for over 30 programming and markup languages with more than 70
819 different tools. It highlights errors and warnings inline in the buffer, and
820 provides an optional IDE-like error list.")
821 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
822
823 (define-public emacs-a
824 (package
825 (name "emacs-a")
826 (version "0.1.1")
827 (source (origin
828 (method git-fetch)
829 (uri (git-reference
830 (url "https://github.com/plexus/a.el.git")
831 (commit (string-append "v" version))))
832 (file-name (git-file-name name version))
833 (sha256
834 (base32
835 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
836 (build-system emacs-build-system)
837 (home-page "https://github.com/plexus/a.el/")
838 (synopsis
839 "Emacs library for dealing with association lists and hash tables")
840 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
841 with associative structures in a uniform and functional way. These functions
842 can take association lists, hash tables, and in some cases vectors (where the
843 index is considered the key).")
844 (license license:gpl3+)))
845
846 (define-public emacs-ace-jump-mode
847 (package
848 (name "emacs-ace-jump-mode")
849 (version "2.0")
850 (home-page "https://github.com/winterTTr/ace-jump-mode")
851 (source (origin
852 (method git-fetch)
853 (uri (git-reference
854 (url home-page)
855 (commit (string-append "v" version))))
856 (sha256
857 (base32
858 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
859 (file-name (git-file-name name version))))
860 (build-system emacs-build-system)
861 (synopsis "Cursor location minor mode for fast navigation")
862 (description "Ace-jump-mode is a fast/direct cursor location minor
863 mode. It creates an N-Branch search tree internally and marks all
864 the possible position with predefined keys in within the whole Emacs
865 view. This allows you to move to the character, word, or line almost
866 directly.")
867 (license license:gpl3+)))
868
869 (define-public emacs-anaphora
870 (package
871 (name "emacs-anaphora")
872 (version "1.0.4")
873 (source
874 (origin
875 (method git-fetch)
876 (uri (git-reference
877 (url "https://github.com/rolandwalker/anaphora.git")
878 (commit (string-append "v" version))))
879 (file-name (git-file-name name version))
880 (sha256
881 (base32
882 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
883 (build-system emacs-build-system)
884 (home-page "https://github.com/rolandwalker/anaphora/")
885 (synopsis "Anaphoric expressions for Emacs Lisp")
886 (description "@code{emacs-anaphora} implements anaphoric expressions for
887 Emacs Lisp.
888
889 Anaphoric expressions implicitly create one or more temporary variables which
890 can be referred to during the expression. This technique can improve clarity
891 in certain cases. It also enables recursion for anonymous functions.")
892 (license license:public-domain)))
893
894 (define-public emacs-xr
895 (package
896 (name "emacs-xr")
897 (version "1.13")
898 (source
899 (origin
900 (method url-fetch)
901 (uri (string-append
902 "https://elpa.gnu.org/packages/xr-" version ".tar"))
903 (sha256
904 (base32
905 "1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r"))))
906 (build-system emacs-build-system)
907 (home-page "http://elpa.gnu.org/packages/xr.html")
908 (synopsis "Convert string regexp to rx notation")
909 (description
910 "This is an inverse companion to the @code{rx} package for translating
911 regexps in string form to the @code{rx} notation. Its chief uses are:
912
913 @itemize
914 @item Migrating existing code to @code{rx} form, for better readability and
915 maintainability
916 @item Understanding complex regexp strings and finding errors in them
917 @end itemize
918
919 In addition to Emacs regexps, this package can also parse and troubleshoot
920 skip set strings, which are arguments to @code{skip-chars-forward} and
921 @code{skip-chars-backward}.")
922 (license license:gpl3+)))
923
924 (define-public emacs-ample-regexps
925 (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
926 (revision "1"))
927 (package
928 (name "emacs-ample-regexps")
929 (version (git-version "0.1" revision commit))
930 (source
931 (origin
932 (method git-fetch)
933 (uri (git-reference
934 (url "https://github.com/immerrr/ample-regexps.el")
935 (commit commit)))
936 (file-name (git-file-name name version))
937 (sha256
938 (base32
939 "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
940 (build-system emacs-build-system)
941 (native-inputs
942 `(("ert-runner" ,emacs-ert-runner)))
943 (arguments
944 `(#:tests? #t
945 #:test-command '("ert-runner" "-l" "ample-regexps")))
946 (home-page "https://github.com/immerrr/ample-regexps.el")
947 (synopsis "Compose and reuse Emacs regexps")
948 (description
949 "This package allows common parts of regexps to be easily picked out
950 and reused.")
951 (license license:gpl3+))))
952
953 (define-public emacs-reformatter
954 (package
955 (name "emacs-reformatter")
956 (version "0.4")
957 (source
958 (origin
959 (method git-fetch)
960 (uri (git-reference
961 (url "https://github.com/purcell/reformatter.el.git")
962 (commit version)))
963 (file-name (git-file-name name version))
964 (sha256
965 (base32
966 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
967 (build-system emacs-build-system)
968 (home-page "https://github.com/purcell/reformatter.el")
969 (synopsis "Define commands which run reformatters on the current buffer")
970 (description
971 "This library lets elisp authors easily define an idiomatic command to
972 reformat the current buffer using a command-line program, together with an
973 optional minor mode which can apply this command automatically on save.")
974 (license license:gpl3+)))
975
976 (define-public emacs-relint
977 (package
978 (name "emacs-relint")
979 (version "1.11")
980 (source
981 (origin
982 (method url-fetch)
983 (uri (string-append
984 "https://elpa.gnu.org/packages/relint-" version ".tar"))
985 (sha256
986 (base32 "0c7d35kp5k11fnyjrq9cg8i2r005gs57pmb3rvpf8ilwv0scn1m7"))))
987 (build-system emacs-build-system)
988 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
989 (home-page "https://github.com/mattiase/relint")
990 (synopsis "Elisp regexp mistake finder")
991 (description
992 "Relint (regular expression lint) scans Elisp files for mistakes in
993 regexps, including deprecated syntax and bad practice. It also checks the
994 regexp-like arguments to @code{skip-chars-forward} and
995 @code{skip-chars-backward}.")
996 (license license:gpl3+)))
997
998 (define-public emacs-bug-hunter
999 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1000 (revision "1"))
1001 (package
1002 (name "emacs-bug-hunter")
1003 (version (git-version "1.3.1" revision commit))
1004 (source
1005 (origin
1006 (method git-fetch)
1007 (uri (git-reference
1008 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
1009 (commit commit)))
1010 (file-name (git-file-name name commit))
1011 (sha256
1012 (base32
1013 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1014 (build-system emacs-build-system)
1015 (propagated-inputs
1016 `(("emacs-seq" ,emacs-seq)))
1017 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1018 (synopsis "Hunt down errors by bisecting elisp files")
1019 (description
1020 "The Bug Hunter is an Emacs library that finds the source of an error
1021 or unexpected behavior inside an elisp configuration file (typically
1022 @file{init.el} or @file{.emacs}).")
1023 (license license:gpl3+))))
1024
1025 \f
1026 ;;;
1027 ;;; Web browsing.
1028 ;;;
1029
1030 (define-public emacs-w3m
1031 ;; Emacs-w3m follows a "rolling release" model.
1032 (package
1033 (name "emacs-w3m")
1034 (version "2018-11-11")
1035 (source (origin
1036 (method cvs-fetch)
1037 (uri (cvs-reference
1038 (root-directory
1039 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1040 (module "emacs-w3m")
1041 (revision version)))
1042 (file-name (string-append name "-" version "-checkout"))
1043 (sha256
1044 (base32
1045 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1046 (build-system gnu-build-system)
1047 (native-inputs `(("autoconf" ,autoconf)
1048 ("texinfo" ,texinfo)
1049 ("emacs" ,emacs-minimal)))
1050 (inputs `(("w3m" ,w3m)
1051 ("imagemagick" ,imagemagick)))
1052 (arguments
1053 `(#:modules ((guix build gnu-build-system)
1054 (guix build utils)
1055 (guix build emacs-utils))
1056 #:imported-modules (,@%gnu-build-system-modules
1057 (guix build emacs-utils))
1058 #:configure-flags
1059 (let ((out (assoc-ref %outputs "out")))
1060 (list (string-append "--with-lispdir="
1061 out "/share/emacs/site-lisp")
1062 (string-append "--with-icondir="
1063 out "/share/images/emacs-w3m")
1064 ;; Leave .el files uncompressed, otherwise GC can't
1065 ;; identify run-time dependencies. See
1066 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1067 "--without-compress-install"))
1068 #:tests? #f ; no check target
1069 #:phases
1070 (modify-phases %standard-phases
1071 (add-after 'unpack 'autoconf
1072 (lambda _
1073 (invoke "autoconf")))
1074 (add-before 'configure 'support-emacs!
1075 (lambda _
1076 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1077 ;; unsupported.
1078 (substitute* "configure"
1079 (("EMACS_FLAVOR=unsupported")
1080 "EMACS_FLAVOR=emacs"))
1081 #t))
1082 (add-before 'build 'patch-exec-paths
1083 (lambda* (#:key inputs outputs #:allow-other-keys)
1084 (let ((out (assoc-ref outputs "out"))
1085 (w3m (assoc-ref inputs "w3m"))
1086 (imagemagick (assoc-ref inputs "imagemagick"))
1087 (coreutils (assoc-ref inputs "coreutils")))
1088 (make-file-writable "w3m.el")
1089 (emacs-substitute-variables "w3m.el"
1090 ("w3m-command" (string-append w3m "/bin/w3m"))
1091 ("w3m-touch-command"
1092 (string-append coreutils "/bin/touch"))
1093 ("w3m-icon-directory"
1094 (string-append out "/share/images/emacs-w3m")))
1095 (make-file-writable "w3m-image.el")
1096 (emacs-substitute-variables "w3m-image.el"
1097 ("w3m-imagick-convert-program"
1098 (string-append imagemagick "/bin/convert"))
1099 ("w3m-imagick-identify-program"
1100 (string-append imagemagick "/bin/identify")))
1101 #t)))
1102 (replace 'install
1103 (lambda* (#:key outputs #:allow-other-keys)
1104 (invoke "make" "install" "install-icons")
1105 (with-directory-excursion
1106 (string-append (assoc-ref outputs "out")
1107 "/share/emacs/site-lisp")
1108 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1109 (symlink "w3m-load.el" "w3m-autoloads.el")
1110 #t))))))
1111 (home-page "http://emacs-w3m.namazu.org/")
1112 (synopsis "Simple Web browser for Emacs based on w3m")
1113 (description
1114 "Emacs-w3m is an emacs interface for the w3m web browser.")
1115 (license license:gpl2+)))
1116
1117 (define-public emacs-wget
1118 (package
1119 (name "emacs-wget")
1120 (version "0.5.0")
1121 (source (origin
1122 (method url-fetch)
1123 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1124 version ".orig.tar.gz"))
1125 (sha256
1126 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1127 (build-system gnu-build-system)
1128 (inputs `(("wget" ,wget)))
1129 (native-inputs `(("emacs" ,emacs-minimal)))
1130 (arguments
1131 `(#:modules ((guix build gnu-build-system)
1132 (guix build utils)
1133 (guix build emacs-utils))
1134 #:imported-modules (,@%gnu-build-system-modules
1135 (guix build emacs-utils))
1136 #:tests? #f ; no check target
1137 #:phases
1138 (modify-phases %standard-phases
1139 (replace 'configure
1140 (lambda* (#:key outputs #:allow-other-keys)
1141 (substitute* "Makefile"
1142 (("/usr/local") (assoc-ref outputs "out"))
1143 (("/site-lisp/emacs-wget") "/site-lisp"))
1144 #t))
1145 (add-before 'build 'patch-exec-paths
1146 (lambda* (#:key inputs outputs #:allow-other-keys)
1147 (let ((wget (assoc-ref inputs "wget")))
1148 (emacs-substitute-variables "wget.el"
1149 ("wget-command" (string-append wget "/bin/wget"))))
1150 #t))
1151 (add-after 'install 'post-install
1152 (lambda* (#:key outputs #:allow-other-keys)
1153 (emacs-generate-autoloads
1154 "wget" (string-append (assoc-ref outputs "out")
1155 "/share/emacs/site-lisp/"))
1156 #t)))))
1157 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
1158 (synopsis "Simple file downloader for Emacs based on wget")
1159 (description
1160 "Emacs-wget is an emacs interface for the wget file downloader.")
1161 (license license:gpl2+)))
1162
1163 \f
1164 ;;;
1165 ;;; Multimedia.
1166 ;;;
1167
1168 (define-public emacs-emms
1169 (package
1170 (name "emacs-emms")
1171 (version "5.2")
1172 (source (origin
1173 (method url-fetch)
1174 (uri (string-append "mirror://gnu/emms/emms-"
1175 version ".tar.gz"))
1176 (sha256
1177 (base32
1178 "0cvpfdkagkpi8g02w8f7wzrpdk2ihas0mn5m9fr882xjdfshl21z"))
1179 (modules '((guix build utils)))
1180 (snippet
1181 '(begin
1182 (substitute* "Makefile"
1183 (("/usr/bin/install-info")
1184 ;; No need to use 'install-info' since it would create a
1185 ;; useless 'dir' file.
1186 "true")
1187 (("^INFODIR=.*")
1188 ;; Install Info files to $out/share/info, not $out/info.
1189 "INFODIR := $(PREFIX)/share/info\n")
1190 (("/site-lisp/emms")
1191 ;; Install directly in share/emacs/site-lisp, not in a
1192 ;; sub-directory.
1193 "/site-lisp")
1194 (("^all: (.*)\n" _ rest)
1195 ;; Build 'emms-print-metadata'.
1196 (string-append "all: " rest " emms-print-metadata\n")))
1197 #t))))
1198 (build-system gnu-build-system)
1199 (arguments
1200 `(#:modules ((guix build gnu-build-system)
1201 (guix build utils)
1202 (guix build emacs-utils)
1203 (ice-9 ftw))
1204 #:imported-modules (,@%gnu-build-system-modules
1205 (guix build emacs-utils))
1206
1207 #:phases
1208 (modify-phases %standard-phases
1209 (replace 'configure
1210 (lambda* (#:key inputs outputs #:allow-other-keys)
1211 (let ((out (assoc-ref outputs "out"))
1212 (flac (assoc-ref inputs "flac"))
1213 (vorbis (assoc-ref inputs "vorbis-tools"))
1214 (alsa (assoc-ref inputs "alsa-utils"))
1215 (mpg321 (assoc-ref inputs "mpg321"))
1216 (mp3info (assoc-ref inputs "mp3info"))
1217 (mutagen (assoc-ref inputs "mutagen"))
1218 (opus (assoc-ref inputs "opus-tools")))
1219 ;; Specify the installation directory.
1220 (substitute* "Makefile"
1221 (("PREFIX=.*$")
1222 (string-append "PREFIX := " out "\n")))
1223
1224 (setenv "SHELL" (which "sh"))
1225 (setenv "CC" "gcc")
1226
1227 ;; Specify the absolute file names of the various
1228 ;; programs so that everything works out-of-the-box.
1229 (with-directory-excursion "lisp"
1230 (emacs-substitute-variables
1231 "emms-player-mpg321-remote.el"
1232 ("emms-player-mpg321-remote-command"
1233 (string-append mpg321 "/bin/mpg321")))
1234 (substitute* "emms-player-simple.el"
1235 (("\"ogg123\"")
1236 (string-append "\"" vorbis "/bin/ogg123\"")))
1237 (substitute* "emms-player-simple.el"
1238 (("\"mpg321\"")
1239 (string-append "\"" mpg321 "/bin/mpg321\"")))
1240 (emacs-substitute-variables "emms-info-ogginfo.el"
1241 ("emms-info-ogginfo-program-name"
1242 (string-append vorbis "/bin/ogginfo")))
1243 (emacs-substitute-variables "emms-info-opusinfo.el"
1244 ("emms-info-opusinfo-program-name"
1245 (string-append opus "/bin/opusinfo")))
1246 (emacs-substitute-variables "emms-info-libtag.el"
1247 ("emms-info-libtag-program-name"
1248 (string-append out "/bin/emms-print-metadata")))
1249 (emacs-substitute-variables "emms-info-mp3info.el"
1250 ("emms-info-mp3info-program-name"
1251 (string-append mp3info "/bin/mp3info")))
1252 (emacs-substitute-variables "emms-info-metaflac.el"
1253 ("emms-info-metaflac-program-name"
1254 (string-append flac "/bin/metaflac")))
1255 (emacs-substitute-variables "emms-source-file.el"
1256 ("emms-source-file-gnu-find" (which "find")))
1257 (substitute* "emms-volume-amixer.el"
1258 (("\"amixer\"")
1259 (string-append "\"" alsa "/bin/amixer\"")))
1260 (substitute* "emms-tag-editor.el"
1261 (("\"mid3v2\"")
1262 (string-append "\"" mutagen "/bin/mid3v2\"")))
1263 #t))))
1264 (add-before 'install 'pre-install
1265 (lambda* (#:key outputs #:allow-other-keys)
1266 ;; The 'install' rule expects the target directories to exist.
1267 (let* ((out (assoc-ref outputs "out"))
1268 (bin (string-append out "/bin"))
1269 (man1 (string-append out "/share/man/man1")))
1270 (mkdir-p bin)
1271 (mkdir-p man1)
1272
1273 ;; Ensure that files are not rejected by gzip
1274 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1275 (ftw "." (lambda (file stat flag)
1276 (unless (<= early-1980 (stat:mtime stat))
1277 (utime file early-1980 early-1980))
1278 #t)))
1279 #t)))
1280 (add-after 'install 'post-install
1281 (lambda* (#:key outputs #:allow-other-keys)
1282 (let ((out (assoc-ref outputs "out")))
1283 (symlink "emms-auto.el"
1284 (string-append out "/share/emacs/site-lisp/"
1285 "emms-autoloads.el")))
1286 #t)))
1287 #:tests? #f))
1288 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1289 ("texinfo" ,texinfo)))
1290 (inputs `(("alsa-utils" ,alsa-utils)
1291 ("flac" ,flac) ;for metaflac
1292 ("vorbis-tools" ,vorbis-tools)
1293 ("mpg321" ,mpg321)
1294 ("taglib" ,taglib)
1295 ("mp3info" ,mp3info)
1296 ("mutagen" ,python-mutagen)
1297 ("opus-tools" ,opus-tools)))
1298 (properties '((upstream-name . "emms")))
1299 (synopsis "Emacs Multimedia System")
1300 (description
1301 "EMMS is the Emacs Multimedia System. It is a small front-end which
1302 can control one of the supported external players. Thus, it supports
1303 whatever formats are supported by your music player. It also
1304 supports tagging and playlist management, all behind a clean and
1305 light user interface.")
1306 (home-page "https://www.gnu.org/software/emms/")
1307 (license license:gpl3+)))
1308
1309 (define-public emacs-emms-player-mpv
1310 ;; A new mpv backend is included in Emms from 5.0.
1311 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1312
1313 (define-public emacs-emms-mode-line-cycle
1314 (package
1315 (name "emacs-emms-mode-line-cycle")
1316 (version "0.2.5")
1317 (source
1318 (origin
1319 (method git-fetch)
1320 (uri (git-reference
1321 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1322 (commit version)))
1323 (file-name (git-file-name name version))
1324 (sha256
1325 (base32
1326 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1327 (build-system emacs-build-system)
1328 (propagated-inputs
1329 `(("emms" ,emacs-emms)))
1330 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1331 (synopsis "Display the EMMS mode line as a ticker")
1332 (description
1333 "This is a minor mode for updating the EMMS mode-line string cyclically
1334 within a specified width. It is useful for displaying long track titles.")
1335 (license license:gpl3+)))
1336
1337 \f
1338 ;;;
1339 ;;; Miscellaneous.
1340 ;;;
1341
1342 (define-public emacs-ace-link
1343 (package
1344 (name "emacs-ace-link")
1345 (version "0.5.0")
1346 (source
1347 (origin
1348 (method git-fetch)
1349 (uri (git-reference
1350 (url "https://github.com/abo-abo/ace-link.git")
1351 (commit version)))
1352 (file-name (git-file-name name version))
1353 (sha256
1354 (base32
1355 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1356 (build-system emacs-build-system)
1357 (propagated-inputs
1358 `(("emacs-avy" ,emacs-avy)))
1359 (home-page "https://github.com/abo-abo/ace-link")
1360 (synopsis "Quickly follow links in Emacs")
1361 (description
1362 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1363 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1364 @code{goto-address-mode} buffer, you can tab through the links to select the
1365 one you want. This is an O(N) operation, where the N is the amount of links.
1366 This package turns this into an O(1) operation. It does so by assigning a
1367 letter to each link using avy.")
1368 (license license:gpl3+)))
1369
1370 (define-public emacs-bbdb
1371 (package
1372 (name "emacs-bbdb")
1373 (version "3.1.2")
1374 (source (origin
1375 (method url-fetch)
1376 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1377 version ".tar.gz"))
1378 (sha256
1379 (base32
1380 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1381 (modules '((guix build utils)))
1382 (snippet
1383 ;; We don't want to build and install the PDF.
1384 '(begin
1385 (substitute* "doc/Makefile.in"
1386 (("^doc_DATA = .*$")
1387 "doc_DATA =\n"))
1388 #t))))
1389 (build-system gnu-build-system)
1390 (arguments
1391 '(#:phases
1392 (modify-phases %standard-phases
1393 (add-after 'install 'post-install
1394 (lambda* (#:key outputs #:allow-other-keys)
1395 ;; Add an autoloads file with the right name for guix.el.
1396 (let* ((out (assoc-ref outputs "out"))
1397 (site (string-append out "/share/emacs/site-lisp")))
1398 (with-directory-excursion site
1399 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1400 #t)))))
1401 (native-inputs `(("emacs" ,emacs-minimal)))
1402 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1403 (synopsis "Contact management utility for Emacs")
1404 (description
1405 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1406 an address book for email and snail mail addresses, phone numbers and the
1407 like. It can be linked with various Emacs mail clients (Message and Mail
1408 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1409 (license license:gpl3+)))
1410
1411 (define-public bbdb
1412 (deprecated-package "bbdb" emacs-bbdb))
1413
1414 (define-public emacs-aggressive-indent
1415 (package
1416 (name "emacs-aggressive-indent")
1417 (version "1.8.3")
1418 (source (origin
1419 (method url-fetch)
1420 (uri (string-append "https://elpa.gnu.org/packages/"
1421 "aggressive-indent-" version ".el"))
1422 (sha256
1423 (base32
1424 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1425 (build-system emacs-build-system)
1426 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1427 (synopsis "Minor mode to aggressively keep your code always indented")
1428 (description
1429 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1430 always indented. It reindents after every change, making it more reliable
1431 than @code{electric-indent-mode}.")
1432 (license license:gpl2+)))
1433
1434 (define-public emacs-link-hint
1435 ;; Last release was in 2015.
1436 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1437 (revision "1"))
1438 (package
1439 (name "emacs-link-hint")
1440 (version (git-version "0.1" revision commit))
1441 (source
1442 (origin
1443 (method git-fetch)
1444 (uri (git-reference
1445 (url "https://github.com/noctuid/link-hint.el")
1446 (commit commit)))
1447 (file-name (git-file-name name version))
1448 (sha256
1449 (base32
1450 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1451 (build-system emacs-build-system)
1452 (propagated-inputs
1453 `(("emacs-avy" ,emacs-avy)))
1454 (home-page "https://github.com/noctuid/link-hint.el")
1455 (synopsis "Vimperator-style link-hinting in Emacs")
1456 (description "This package provides commands for visiting and acting on
1457 links.")
1458 (license license:gpl3+))))
1459
1460 (define-public emacs-ag
1461 (package
1462 (name "emacs-ag")
1463 (version "0.47")
1464 (source (origin
1465 (method git-fetch)
1466 (uri (git-reference
1467 (url "https://github.com/Wilfred/ag.el.git")
1468 (commit version)))
1469 (file-name (git-file-name name version))
1470 (sha256
1471 (base32
1472 "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
1473 (build-system emacs-build-system)
1474 (arguments
1475 `(#:phases
1476 (modify-phases %standard-phases
1477 (add-before 'install 'make-info
1478 (lambda _
1479 (with-directory-excursion "docs"
1480 (invoke "make" "info"))))
1481 (add-after 'install 'install-info
1482 (lambda* (#:key outputs #:allow-other-keys)
1483 (let* ((out (assoc-ref outputs "out"))
1484 (info (string-append out "/share/info")))
1485 (install-file "docs/_build/texinfo/agel.info" info)
1486 #t))))))
1487 (native-inputs
1488 `(("python-sphinx" ,python-sphinx)
1489 ("texinfo" ,texinfo)))
1490 (propagated-inputs
1491 `(("dash" ,emacs-dash)
1492 ("s" ,emacs-s)
1493 ;; We need to use 'ag' as the executable on remote systems.
1494 ("the-silver-searcher" ,the-silver-searcher)))
1495 (home-page "https://github.com/Wilfred/ag.el")
1496 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1497 (description "This package provides the ability to use the silver
1498 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1499 include version control system awareness, use of Perl compatible regular
1500 expressions, editing the search results directly and searching file names
1501 rather than the contents of files.")
1502 (license license:gpl3+)))
1503
1504 (define-public emacs-async
1505 (package
1506 (name "emacs-async")
1507 (home-page "https://github.com/jwiegley/emacs-async")
1508 (version "1.9.3")
1509 (source (origin
1510 (method git-fetch)
1511 (uri (git-reference
1512 (url home-page)
1513 (commit (string-append "v" version))))
1514 (file-name (git-file-name name version))
1515 (sha256
1516 (base32
1517 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1518 (build-system emacs-build-system)
1519 (synopsis "Asynchronous processing in Emacs")
1520 (description
1521 "This package provides the ability to call asynchronous functions and
1522 processes. For example, it can be used to run dired commands (for copying,
1523 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1524 as a library for other Emacs packages.")
1525 (license license:gpl3+)))
1526
1527 (define-public emacs-auctex
1528 (package
1529 (name "emacs-auctex")
1530 (version "12.1.2")
1531 (source
1532 (origin
1533 (method url-fetch)
1534 (uri (string-append
1535 "https://elpa.gnu.org/packages/auctex-"
1536 version
1537 ".tar"))
1538 (sha256
1539 (base32
1540 "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n"))))
1541 (build-system emacs-build-system)
1542 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1543 ;; ('emacs-minimal' does not provide dbus).
1544 (arguments
1545 `(#:emacs ,emacs
1546 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1547 #:exclude '("^tests/" "^latex/README")))
1548 (native-inputs
1549 `(("perl" ,perl)))
1550 (home-page "https://www.gnu.org/software/auctex/")
1551 (synopsis "Integrated environment for TeX")
1552 (description
1553 "AUCTeX is a comprehensive customizable integrated environment for
1554 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1555 or XEmacs.")
1556 (license license:gpl3+)))
1557
1558 (define-public emacs-autothemer
1559 (package
1560 (name "emacs-autothemer")
1561 (version "0.2.2")
1562 (source
1563 (origin
1564 (method git-fetch)
1565 (uri (git-reference
1566 (url "https://github.com/sebastiansturm/autothemer.git")
1567 (commit version)))
1568 (file-name (git-file-name name version))
1569 (sha256
1570 (base32
1571 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1572 (build-system emacs-build-system)
1573 (propagated-inputs
1574 `(("emacs-dash" ,emacs-dash)))
1575 (home-page "https://github.com/sebastiansturm/autothemer")
1576 (synopsis "Conveniently create Emacs themes")
1577 (description
1578 "Autothemer provides a thin layer on top of @code{deftheme} and
1579 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1580 a set of simplified face specifications and a user-supplied color palette")
1581 (license license:gpl3+)))
1582
1583 (define-public emacs-howm
1584 (package
1585 (name "emacs-howm")
1586 (version "1.4.4")
1587 (source
1588 (origin
1589 (method url-fetch)
1590 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1591 version ".tar.gz"))
1592 (sha256
1593 (base32
1594 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1595 (build-system gnu-build-system)
1596 (native-inputs
1597 `(("emacs" ,emacs-minimal)))
1598 (arguments
1599 `(#:configure-flags
1600 (list (string-append "--with-howmdir=" %output
1601 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1602 #:modules ((guix build gnu-build-system)
1603 ((guix build emacs-build-system) #:prefix emacs:)
1604 (guix build utils))
1605 #:imported-modules (,@%gnu-build-system-modules
1606 (guix build emacs-build-system)
1607 (guix build emacs-utils))
1608 #:phases
1609 (modify-phases %standard-phases
1610 (add-after 'install 'make-autoloads
1611 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1612 (home-page "http://howm.osdn.jp/")
1613 (synopsis "Note-taking tool for Emacs")
1614 (description "Howm is a note-taking tool for Emacs. Like
1615 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1616 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1617 (license license:gpl1+)))
1618
1619 (define-public emacs-calfw
1620 (package
1621 (name "emacs-calfw")
1622 (version "1.6")
1623 (source
1624 (origin
1625 (method git-fetch)
1626 (uri (git-reference
1627 (url "https://github.com/kiwanami/emacs-calfw.git")
1628 (commit (string-append "v" version))))
1629 (file-name (git-file-name name version))
1630 (sha256
1631 (base32
1632 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1633 (build-system emacs-build-system)
1634 (propagated-inputs
1635 `(("emacs-howm" ,emacs-howm)))
1636 (home-page "https://github.com/kiwanami/emacs-calfw/")
1637 (synopsis "Calendar framework for Emacs")
1638 (description
1639 "This package displays a calendar view with various schedule data in the
1640 Emacs buffer.")
1641 (license license:gpl3+)))
1642
1643 (define-public emacs-direnv
1644 (package
1645 (name "emacs-direnv")
1646 (version "1.5.0")
1647 (source
1648 (origin
1649 (method git-fetch)
1650 (uri (git-reference
1651 (url "https://github.com/wbolster/emacs-direnv.git")
1652 (commit version)))
1653 (file-name (git-file-name name version))
1654 (sha256
1655 (base32
1656 "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la"))))
1657 (build-system emacs-build-system)
1658 (propagated-inputs
1659 `(("dash" ,emacs-dash)
1660 ("with-editor" ,emacs-with-editor)))
1661 (home-page "https://github.com/wbolster/emacs-direnv")
1662 (synopsis "Direnv integration for Emacs")
1663 (description
1664 "This package provides support for invoking direnv to get the environment
1665 for the current file and updating the environment within Emacs to match.
1666
1667 Direnv can be invoked manually, and a global minor mode is included that will
1668 update the environment when the active buffer changes.
1669
1670 Using emacs-direnv means that programs started from Emacs will use the
1671 environment set through Direnv.")
1672 (license license:gpl3+)))
1673
1674 (define-public emacs-ggtags
1675 (package
1676 (name "emacs-ggtags")
1677 (version "0.8.13")
1678 (source
1679 (origin
1680 (method url-fetch)
1681 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1682 version ".el"))
1683 (sha256
1684 (base32
1685 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1686 (build-system emacs-build-system)
1687 (inputs
1688 `(("global" ,global)))
1689 (arguments
1690 `(#:phases
1691 (modify-phases %standard-phases
1692 (add-after 'unpack 'configure
1693 (lambda* (#:key inputs #:allow-other-keys)
1694 (chmod "ggtags.el" #o644)
1695 (emacs-substitute-variables "ggtags.el"
1696 ("ggtags-executable-directory"
1697 (string-append (assoc-ref inputs "global") "/bin")))
1698 #t)))))
1699 (home-page "https://github.com/leoliu/ggtags")
1700 (synopsis "Frontend to the GNU Global source code tagging system")
1701 (description "@code{ggtags} provides a frontend to the GNU Global source
1702 code tagging system.
1703
1704 Features:
1705
1706 @itemize
1707 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1708 @item Automatically update Global's tag files when needed with tuning for
1709 large source trees.
1710 @item Intuitive navigation among multiple matches with mode-line display of
1711 current match, total matches and exit status.
1712 @item Read tag with completion.
1713 @item Show definition at point.
1714 @item Jump to #include files.
1715 @item Support search history and saving a search to register/bookmark.
1716 @item Query replace.
1717 @item Manage Global's environment variables on a per-project basis.
1718 @item Highlight (definition) tag at point.
1719 @item Abbreviated display of file names.
1720 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1721 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1722 @code{pygments} backend.
1723 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1724 @code{cscope} etc.
1725 @item Support projects on remote hosts (e.g. via @code{tramp}).
1726 @item Support eldoc.
1727 @item Search @code{GTAGSLIBPATH} for references and symbols.
1728 @end itemize\n")
1729 (license license:gpl3+)))
1730
1731 (define-public emacs-go-mode
1732 (package
1733 (name "emacs-go-mode")
1734 (version "1.5.0")
1735 (source (origin
1736 (method git-fetch)
1737 (uri (git-reference
1738 (url "https://github.com/dominikh/go-mode.el.git")
1739 (commit (string-append "v" version))))
1740 (file-name (git-file-name name version))
1741 (sha256
1742 (base32
1743 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1744 (build-system emacs-build-system)
1745 (arguments
1746 `(#:phases
1747 (modify-phases %standard-phases
1748 (add-after 'unpack 'make-writable
1749 (lambda _
1750 (for-each make-file-writable (find-files "." "\\.el$"))
1751 #t)))))
1752 (home-page "https://github.com/dominikh/go-mode.el")
1753 (synopsis "Go mode for Emacs")
1754 (description
1755 "This package provides go-mode, an Emacs mode for working with software
1756 written in the Go programming language.")
1757 (license license:bsd-3)))
1758
1759 (define-public emacs-google-maps
1760 (package
1761 (name "emacs-google-maps")
1762 (version "1.0.0")
1763 (source (origin
1764 (method git-fetch)
1765 (uri (git-reference
1766 (url "https://github.com/jd/google-maps.el.git")
1767 (commit version)))
1768 (file-name (git-file-name name version))
1769 (sha256
1770 (base32
1771 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1772 (build-system emacs-build-system)
1773 (home-page "https://github.com/jd/google-maps.el")
1774 (synopsis "Access Google Maps from Emacs")
1775 (description "The @code{google-maps} package allows to display Google
1776 Maps directly inside Emacs.")
1777 (license license:gpl3+)))
1778
1779 (define-public emacs-graphviz-dot-mode
1780 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1781 (revision "1"))
1782 (package
1783 (name "emacs-graphviz-dot-mode")
1784 (version (string-append "0.3.11-" revision "."
1785 (string-take commit 7)))
1786 (source (origin
1787 (method git-fetch)
1788 (uri (git-reference
1789 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1790 (commit commit)))
1791 (file-name (git-file-name name version))
1792 (sha256
1793 (base32
1794 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1795 (build-system emacs-build-system)
1796 (arguments
1797 `(#:phases
1798 (modify-phases %standard-phases
1799 (add-before 'install 'make-info
1800 (lambda* (#:key inputs #:allow-other-keys)
1801 (with-directory-excursion "texinfo"
1802 (substitute* "Makefile"
1803 (("\\/usr\\/bin\\/gzip")
1804 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1805 (invoke "make"
1806 "clean"
1807 "info"
1808 (string-append "TEXINFODIR="
1809 (assoc-ref inputs "texinfo")
1810 "/bin")))))
1811 (add-after 'install 'install-info
1812 (lambda* (#:key outputs #:allow-other-keys)
1813 (let* ((out (assoc-ref outputs "out"))
1814 (info (string-append out "/share/info")))
1815 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1816 #t))))))
1817 (native-inputs
1818 `(("texinfo" ,texinfo)
1819 ("gzip" ,gzip)))
1820 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1821 (synopsis "Major mode for editing Graphviz Dot files")
1822 (description
1823 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1824 files using the dot syntax, and use Graphviz to convert these files to
1825 diagrams.")
1826 (license license:gpl2+))))
1827
1828 (define-public emacs-mmm-mode
1829 (package
1830 (name "emacs-mmm-mode")
1831 (version "0.5.7")
1832 (source
1833 (origin
1834 (method git-fetch)
1835 (uri (git-reference
1836 (url "https://github.com/purcell/mmm-mode.git")
1837 (commit version)))
1838 (file-name (git-file-name name version))
1839 (sha256
1840 (base32
1841 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1842 (build-system gnu-build-system)
1843 (native-inputs
1844 `(("autoconf" ,autoconf)
1845 ("automake" ,automake)
1846 ("emacs" ,emacs-minimal)
1847 ("texinfo" ,texinfo)))
1848 (home-page "https://github.com/purcell/mmm-mode")
1849 (synopsis "Allow multiple major modes in an Emacs buffer")
1850 (description
1851 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1852 single buffer.")
1853 (license license:gpl3+)))
1854
1855 (define-public emacs-tablist
1856 (package
1857 (name "emacs-tablist")
1858 (version "1.0")
1859 (source (origin
1860 (method git-fetch)
1861 (uri (git-reference
1862 (url "https://github.com/politza/tablist.git")
1863 (commit (string-append "v" version))))
1864 (file-name (git-file-name name version))
1865 (sha256
1866 (base32
1867 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
1868 (build-system emacs-build-system)
1869 (home-page "https://github.com/politza/tablist")
1870 (synopsis "Extension for @code{tabulated-list-mode}")
1871 (description "Tablist is the Emacs package that provides several
1872 additional features to @code{tabulated-list-mode}: it adds marks,
1873 filters, new key bindings and faces. It can be enabled by
1874 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1875 (license license:gpl3+)))
1876
1877 (define-public emacs-pdf-tools
1878 (package
1879 (name "emacs-pdf-tools")
1880 (version "0.90")
1881 (home-page "https://github.com/politza/pdf-tools")
1882 (source (origin
1883 (method git-fetch)
1884 (uri (git-reference (url home-page)
1885 (commit (string-append "v" version))))
1886 (file-name (git-file-name name version))
1887 (sha256
1888 (base32
1889 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
1890 (build-system gnu-build-system)
1891 (arguments
1892 `(#:tests? #f ; there are no tests
1893 #:modules ((guix build gnu-build-system)
1894 ((guix build emacs-build-system) #:prefix emacs:)
1895 (guix build utils)
1896 (guix build emacs-utils))
1897 #:imported-modules (,@%gnu-build-system-modules
1898 (guix build emacs-build-system)
1899 (guix build emacs-utils))
1900 #:phases
1901 (modify-phases %standard-phases
1902 ;; Build server side using 'gnu-build-system'.
1903 (add-after 'unpack 'enter-server-dir
1904 (lambda _ (chdir "server") #t))
1905 (add-after 'enter-server-dir 'autogen
1906 (lambda _
1907 (invoke "bash" "autogen.sh")))
1908
1909 ;; Build emacs side using 'emacs-build-system'.
1910 (add-after 'compress-documentation 'enter-lisp-dir
1911 (lambda _ (chdir "../lisp") #t))
1912 (add-after 'enter-lisp-dir 'emacs-patch-variables
1913 (lambda* (#:key outputs #:allow-other-keys)
1914 (for-each make-file-writable (find-files "."))
1915
1916 ;; Set path to epdfinfo program.
1917 (emacs-substitute-variables "pdf-info.el"
1918 ("pdf-info-epdfinfo-program"
1919 (string-append (assoc-ref outputs "out")
1920 "/bin/epdfinfo")))
1921 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1922 ;; upgrading" that pdf-tools tries to perform.
1923 (emacs-substitute-variables "pdf-tools.el"
1924 ("pdf-tools-handle-upgrades" '()))))
1925 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1926 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1927 (add-after 'emacs-set-emacs-load-path 'emacs-install
1928 (assoc-ref emacs:%standard-phases 'install))
1929 (add-after 'emacs-install 'emacs-build
1930 (assoc-ref emacs:%standard-phases 'build))
1931 (add-after 'emacs-install 'emacs-make-autoloads
1932 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1933 (native-inputs `(("autoconf" ,autoconf)
1934 ("automake" ,automake)
1935 ("pkg-config" ,pkg-config)
1936 ("emacs" ,emacs-minimal)))
1937 (inputs `(("poppler" ,poppler)
1938 ("cairo" ,cairo)
1939 ("glib" ,glib)
1940 ("libpng" ,libpng)
1941 ("zlib" ,zlib)))
1942 (propagated-inputs `(("tablist" ,emacs-tablist)))
1943 (synopsis "Emacs support library for PDF files")
1944 (description
1945 "PDF Tools is, among other things, a replacement of DocView for PDF
1946 files. The key difference is that pages are not pre-rendered by
1947 e.g. ghostscript and stored in the file-system, but rather created on-demand
1948 and stored in memory.")
1949 (license license:gpl3+)))
1950
1951 (define-public emacs-dash
1952 (package
1953 (name "emacs-dash")
1954 (version "2.16.0")
1955 (source (origin
1956 (method git-fetch)
1957 (uri (git-reference
1958 (url "https://github.com/magnars/dash.el.git")
1959 (commit version)))
1960 (file-name (git-file-name name version))
1961 (sha256
1962 (base32
1963 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
1964 (build-system emacs-build-system)
1965 (arguments
1966 `(#:tests? #t
1967 #:test-command '("./run-tests.sh")))
1968 (home-page "https://github.com/magnars/dash.el")
1969 (synopsis "Modern list library for Emacs")
1970 (description "This package provides a modern list API library for Emacs.")
1971 (license license:gpl3+)))
1972
1973 (define-public emacs-bui
1974 (package
1975 (name "emacs-bui")
1976 (version "1.2.1")
1977 (source (origin
1978 (method git-fetch)
1979 (uri (git-reference
1980 (url "https://notabug.org/alezost/emacs-bui.git")
1981 (commit (string-append "v" version))))
1982 (file-name (git-file-name name version))
1983 (sha256
1984 (base32
1985 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1986 (build-system emacs-build-system)
1987 (propagated-inputs
1988 `(("dash" ,emacs-dash)))
1989 (home-page "https://notabug.org/alezost/emacs-bui")
1990 (synopsis "Buffer interface library for Emacs")
1991 (description
1992 "BUI (Buffer User Interface) is a library for making @code{list} and
1993 @code{info} interfaces to display an arbitrary data of the same
1994 type, for example: packages, buffers, files, etc.")
1995 (license license:gpl3+)))
1996
1997 (define-public emacs-guix
1998 (package
1999 (name "emacs-guix")
2000 (version "0.5.1.1")
2001 (source (origin
2002 (method url-fetch)
2003 (uri (string-append "https://emacs-guix.gitlab.io/website/"
2004 "releases/emacs-guix-" version ".tar.gz"))
2005 (sha256
2006 (base32
2007 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
2008 (build-system gnu-build-system)
2009 (arguments
2010 `(#:configure-flags
2011 (let ((guix (assoc-ref %build-inputs "guix"))
2012 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
2013 (geiser (assoc-ref %build-inputs "geiser"))
2014 (dash (assoc-ref %build-inputs "dash"))
2015 (bui (assoc-ref %build-inputs "bui"))
2016 (magit-popup (assoc-ref %build-inputs "magit-popup"))
2017 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
2018 (site-lisp "/share/emacs/site-lisp")
2019 (site-scm "/share/guile/site")
2020 (site-go "/lib/guile")
2021 (guile-dir (lambda (dir)
2022 (car (find-files dir
2023 (lambda (file stat)
2024 (string-prefix?
2025 "2." (basename file)))
2026 #:directories? #t)))))
2027 (list (string-append "--with-guix-site-dir="
2028 (guile-dir (string-append guix site-scm)))
2029 (string-append "--with-guix-site-ccache-dir="
2030 (guile-dir (string-append guix site-go))
2031 "/site-ccache")
2032 (string-append "--with-guile-gcrypt-site-dir="
2033 (guile-dir (string-append gcrypt site-scm)))
2034 (string-append "--with-guile-gcrypt-site-ccache-dir="
2035 (guile-dir (string-append gcrypt site-go))
2036 "/site-ccache")
2037 (string-append "--with-geiser-lispdir=" geiser site-lisp)
2038 (string-append "--with-dash-lispdir="
2039 dash site-lisp "/guix.d/dash-"
2040 ,(package-version emacs-dash))
2041 (string-append "--with-bui-lispdir="
2042 bui site-lisp "/guix.d/bui-"
2043 ,(package-version emacs-bui))
2044 (string-append "--with-editindirect-lispdir="
2045 edit-indirect site-lisp "/guix.d/edit-indirect-"
2046 ,(package-version emacs-edit-indirect))
2047 (string-append "--with-popup-lispdir="
2048 magit-popup site-lisp "/guix.d/magit-popup-"
2049 ,(package-version emacs-magit-popup))))))
2050 (native-inputs
2051 `(("pkg-config" ,pkg-config)
2052 ("emacs" ,emacs-minimal)))
2053 (inputs
2054 `(("guile" ,guile-2.2)
2055 ("guix" ,guix)))
2056 (propagated-inputs
2057 `(("geiser" ,emacs-geiser)
2058 ("guile-gcrypt" ,guile-gcrypt)
2059 ("dash" ,emacs-dash)
2060 ("bui" ,emacs-bui)
2061 ("edit-indirect" ,emacs-edit-indirect)
2062 ("magit-popup" ,emacs-magit-popup)))
2063 (home-page "https://emacs-guix.gitlab.io/website/")
2064 (synopsis "Emacs interface for GNU Guix")
2065 (description
2066 "Emacs-Guix provides a visual interface, tools and features for the GNU
2067 Guix package manager. Particularly, it allows you to do various package
2068 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2069 @code{M-x guix-help} command.")
2070 (license license:gpl3+)))
2071
2072 (define-public emacs-build-farm
2073 (package
2074 (name "emacs-build-farm")
2075 (version "0.2.2")
2076 (source (origin
2077 (method git-fetch)
2078 (uri (git-reference
2079 (url "https://notabug.org/alezost/emacs-build-farm.git")
2080 (commit (string-append "v" version))))
2081 (file-name (git-file-name name version))
2082 (sha256
2083 (base32
2084 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2085 (build-system emacs-build-system)
2086 (propagated-inputs
2087 `(("bui" ,emacs-bui)
2088 ("magit-popup" ,emacs-magit-popup)))
2089 (home-page "https://notabug.org/alezost/emacs-build-farm")
2090 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2091 (description
2092 "This Emacs package provides an interface for Hydra and
2093 Cuirass (build farms used by Nix and Guix). It allows you to look at
2094 various data related to the build farm projects, jobsets, builds and
2095 evaluations. The entry point is @code{M-x build-farm} command.")
2096 (license license:gpl3+)))
2097
2098 (define-public emacs-d-mode
2099 (package
2100 (name "emacs-d-mode")
2101 (version "2.0.9")
2102 (source
2103 (origin
2104 (method git-fetch)
2105 (uri (git-reference
2106 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2107 (commit version)))
2108 (file-name (git-file-name name version))
2109 (sha256
2110 (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"))))
2111 (build-system emacs-build-system)
2112 (propagated-inputs
2113 `(("emacs-undercover" ,emacs-undercover)))
2114 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2115 (synopsis "Emacs major mode for editing D code")
2116 (description "This package provides an Emacs major mode for highlighting
2117 code written in the D programming language. This mode is currently known to
2118 work with Emacs 24 and 25.")
2119 (license license:gpl2+)))
2120
2121 (define-public emacs-extempore-mode
2122 ;; Use the latest commit at time of packaging. There are no releases or tags.
2123 (let ((commit "848ad0084f27b92d1cf98dabffbad29f959a642d")
2124 (revision "1"))
2125 (package
2126 (name "emacs-extempore-mode")
2127 (version (git-version "0.0.0" revision commit))
2128 (source
2129 (origin
2130 (method git-fetch)
2131 (uri (git-reference
2132 (url "https://github.com/extemporelang/extempore-emacs-mode.git")
2133 (commit commit)))
2134 (file-name (git-file-name name version))
2135 (sha256
2136 (base32 "00wr025php7nl33x541s9rjm99hj0jbdcmnw9ljx5hqpm04aqm7c"))))
2137 (build-system emacs-build-system)
2138 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
2139 (synopsis "Emacs major mode for Extempore source files")
2140 (description
2141 "This package provides a major mode for editing Extempore code. It can
2142 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
2143 running Extempore process, and more.")
2144 (license license:bsd-2))))
2145
2146 (define-public emacs-keyfreq
2147 (package
2148 (name "emacs-keyfreq")
2149 (version "20160516.716")
2150 (source
2151 (origin
2152 (method url-fetch)
2153 (uri (string-append "http://melpa.org/packages/keyfreq-"
2154 version ".el"))
2155 (sha256
2156 (base32
2157 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2158 (build-system emacs-build-system)
2159 (home-page "https://github.com/dacap/keyfreq")
2160 (synopsis "Track Emacs command frequencies")
2161 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2162 a command.")
2163 (license license:gpl3+)))
2164
2165 (define-public emacs-olivetti
2166 (package
2167 (name "emacs-olivetti")
2168 (version "1.8.0")
2169 (source (origin
2170 (method git-fetch)
2171 (uri (git-reference
2172 (url "https://github.com/rnkn/olivetti.git")
2173 (commit (string-append "v" version))))
2174 (file-name (git-file-name name version))
2175 (sha256
2176 (base32
2177 "0ba30swqxxbpa8866chymywnahby1hk670zzkz44q49328i2wksj"))))
2178 (build-system emacs-build-system)
2179 (home-page "https://github.com/rnkn/olivetti")
2180 (synopsis "Emacs minor mode for a nice writing environment")
2181 (description "This package provides an Emacs minor mode that puts writing
2182 in the center.")
2183 (license license:gpl3+)))
2184
2185 (define-public emacs-undo-tree
2186 (package
2187 (name "emacs-undo-tree")
2188 (version "0.6.6")
2189 (source (origin
2190 (method git-fetch)
2191 (uri (git-reference
2192 (url "http://dr-qubit.org/git/undo-tree.git")
2193 (commit (string-append "release/" version))))
2194 (file-name (git-file-name name version))
2195 (sha256
2196 (base32
2197 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
2198 (build-system emacs-build-system)
2199 (home-page "http://www.dr-qubit.org/emacs.php")
2200 (synopsis "Treat undo history as a tree")
2201 (description "Tree-like interface to Emacs undo system, providing
2202 graphical tree presentation of all previous states of buffer that
2203 allows easily move between them.")
2204 (license license:gpl3+)))
2205
2206 (define-public emacs-s
2207 (package
2208 (name "emacs-s")
2209 (version "1.12.0")
2210 (source
2211 (origin
2212 (method git-fetch)
2213 (uri (git-reference
2214 (url "https://github.com/magnars/s.el.git")
2215 (commit version)))
2216 (file-name (git-file-name name version))
2217 (sha256
2218 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2219 (build-system emacs-build-system)
2220 (arguments
2221 `(#:tests? #t
2222 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2223 #:test-command '("./run-tests.sh")))
2224 (home-page "https://github.com/magnars/s.el")
2225 (synopsis "Emacs string manipulation library")
2226 (description "This package provides an Emacs library for manipulating
2227 strings.")
2228 (license license:gpl3+)))
2229
2230 (define-public emacs-symon
2231 (package
2232 (name "emacs-symon")
2233 (version "20160630")
2234 (source
2235 (origin
2236 (method git-fetch)
2237 (uri (git-reference
2238 (url "https://github.com/zk-phi/symon.git")
2239 (commit version)))
2240 (file-name (git-file-name name version))
2241 (sha256
2242 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2243 (build-system emacs-build-system)
2244 (home-page "https://github.com/zk-phi/symon")
2245 (synopsis "Tiny graphical system monitor")
2246 (description
2247 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2248 (license license:gpl2+)))
2249
2250 (define-public emacs-sx
2251 (let ((version "20180212")
2252 (revision "1")
2253 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2254 (package
2255 (name "emacs-sx")
2256 (version (git-version version revision commit))
2257 (source
2258 (origin
2259 (method git-fetch)
2260 (uri (git-reference
2261 (url "https://github.com/vermiculus/sx.el")
2262 (commit commit)))
2263 (file-name (git-file-name name version))
2264 (sha256
2265 (base32
2266 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2267 (build-system emacs-build-system)
2268 (propagated-inputs
2269 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2270 (home-page "https://github.com/vermiculus/sx.el")
2271 (synopsis "Emacs StackExchange client")
2272 (description
2273 "Emacs StackExchange client. Ask and answer questions on
2274 Stack Overflow, Super User, and other StackExchange sites.")
2275 (license license:gpl3+))))
2276
2277 (define-public emacs-f
2278 (package
2279 (name "emacs-f")
2280 (version "0.20.0")
2281 (source (origin
2282 (method git-fetch)
2283 (uri (git-reference
2284 (url "https://github.com/rejeep/f.el.git")
2285 (commit (string-append "v" version))))
2286 (file-name (git-file-name name version))
2287 (sha256
2288 (base32
2289 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2290 (build-system emacs-build-system)
2291 (propagated-inputs
2292 `(("emacs-s" ,emacs-s)
2293 ("emacs-dash" ,emacs-dash)))
2294 (home-page "https://github.com/rejeep/f.el")
2295 (synopsis "Emacs API for working with files and directories")
2296 (description "This package provides an Emacs library for working with
2297 files and directories.")
2298 (license license:gpl3+)))
2299
2300 (define-public emacs-git-gutter
2301 (package
2302 (name "emacs-git-gutter")
2303 (version "0.90")
2304 (source
2305 (origin
2306 (method git-fetch)
2307 (uri (git-reference
2308 (url "https://github.com/syohex/emacs-git-gutter.git")
2309 (commit version)))
2310 (file-name (git-file-name name version))
2311 (sha256
2312 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2313 (build-system emacs-build-system)
2314 (home-page "https://github.com/syohex/emacs-git-gutter")
2315 (synopsis "See and manage hunks of text in a version control system")
2316 (description
2317 "This package is an Emacs minor mode for displaying and interacting with
2318 hunks of text managed in a version control system. Added modified and deleted
2319 areas can be indicated with symbols on the edge of the buffer, and commands
2320 can be used to move between and perform actions on these hunks.
2321
2322 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2323 display and behaviour is easily customisable.")
2324 (license license:gpl3+)))
2325
2326 (define-public emacs-git-timemachine
2327 (package
2328 (name "emacs-git-timemachine")
2329 (version "4.11")
2330 (source
2331 (origin
2332 (method git-fetch)
2333 (uri (git-reference
2334 (url "https://gitlab.com/pidu/git-timemachine.git")
2335 (commit version)))
2336 (file-name (git-file-name name version))
2337 (sha256
2338 (base32
2339 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
2340 (build-system emacs-build-system)
2341 (propagated-inputs
2342 `(("emacs-transient" ,emacs-transient)))
2343 (home-page "https://gitlab.com/pidu/git-timemachine")
2344 (synopsis "Step through historic versions of Git-controlled files")
2345 (description "This package enables you to step through historic versions
2346 of files under Git version control from within Emacs.")
2347 (license license:gpl3+)))
2348
2349 (define-public emacs-minitest
2350 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2351 (revision "1"))
2352 (package
2353 (name "emacs-minitest")
2354 (version (git-version "0.8.0" revision commit))
2355 (source (origin
2356 (method git-fetch)
2357 (uri (git-reference
2358 (url "https://github.com/arthurnn/minitest-emacs")
2359 (commit commit)))
2360 (file-name (git-file-name name commit))
2361 (sha256
2362 (base32
2363 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2364 (build-system emacs-build-system)
2365 (arguments
2366 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2367 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2368 (propagated-inputs
2369 `(("emacs-dash" ,emacs-dash)
2370 ("emacs-f" ,emacs-f)))
2371 (home-page "https://github.com/arthurnn/minitest-emacs")
2372 (synopsis "Emacs minitest mode")
2373 (description
2374 "The minitest mode provides commands to run the tests for the current
2375 file or line, as well as rerunning the previous tests, or all the tests for a
2376 project.
2377
2378 This package also includes relevant snippets for yasnippet.")
2379 (license license:expat))))
2380
2381 (define-public emacs-el-mock
2382 (package
2383 (name "emacs-el-mock")
2384 (version "1.25.1")
2385 (source
2386 (origin
2387 (method git-fetch)
2388 (uri (git-reference
2389 (url "https://github.com/rejeep/el-mock.el.git")
2390 (commit (string-append "v" version))))
2391 (file-name (git-file-name name version))
2392 (sha256
2393 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2394 (build-system emacs-build-system)
2395 (home-page "https://github.com/rejeep/el-mock.el")
2396 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2397 (description
2398 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2399 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2400 Expectations, but it can be used in other contexts.")
2401 (license license:gpl3+)))
2402
2403 (define-public emacs-espuds
2404 (package
2405 (name "emacs-espuds")
2406 (version "0.3.3")
2407 (source
2408 (origin
2409 (method git-fetch)
2410 (uri (git-reference
2411 (url "https://github.com/ecukes/espuds.git")
2412 (commit (string-append "v" version))))
2413 (file-name (git-file-name name version))
2414 (sha256
2415 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2416 (build-system emacs-build-system)
2417 (propagated-inputs
2418 `(("emacs-s" ,emacs-s)
2419 ("emacs-dash" ,emacs-dash)
2420 ("emacs-f" ,emacs-f)))
2421 (home-page "https://github.com/ecukes/espuds")
2422 (synopsis "Common step definitions for Ecukes")
2423 (description "Espuds is a collection of the most commonly used step
2424 definitions for testing with the Ecukes framework.")
2425 (license license:gpl3+)))
2426
2427 (define-public emacs-spark
2428 (let ((version "20160503") ; no proper tag, use date of commit
2429 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2430 (revision "1"))
2431 (package
2432 (name "emacs-spark")
2433 (version (git-version version revision commit))
2434 (source
2435 (origin
2436 (method git-fetch)
2437 (uri (git-reference
2438 (url "https://github.com/alvinfrancis/spark.git")
2439 (commit commit)))
2440 (file-name (git-file-name name version))
2441 (sha256
2442 (base32
2443 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2444 (build-system emacs-build-system)
2445 (home-page "https://github.com/alvinfrancis/spark")
2446 (synopsis "Sparkline generation library for Emacs Lisp")
2447 (description "@code{emacs-spark} is a sparkline generation library for
2448 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2449 port of @code{cl-spark} to Emacs Lisp.")
2450 (license license:expat))))
2451
2452 (define-public emacs-es-mode
2453 (package
2454 (name "emacs-es-mode")
2455 (version "4.3.0")
2456 (source
2457 (origin
2458 (method git-fetch)
2459 (uri (git-reference
2460 (url "https://github.com/dakrone/es-mode.git")
2461 (commit version)))
2462 (file-name (git-file-name name version))
2463 (sha256
2464 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2465 (build-system emacs-build-system)
2466 (propagated-inputs
2467 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2468 ;; to be rendered incorrectly
2469 `(("emacs-dash" ,emacs-dash)
2470 ("emacs-org" ,emacs-org)
2471 ("emacs-spark" ,emacs-spark)))
2472 (home-page "https://github.com/dakrone/es-mode")
2473 (synopsis "Major mode for editing Elasticsearch queries")
2474 (description "@code{es-mode} includes highlighting, completion and
2475 indentation support for Elasticsearch queries. Also supported are
2476 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2477 be processed through @code{jq}, or in the case of aggregations, can be
2478 rendered in to a table. In addition, there is an @code{es-command-center}
2479 mode, which displays information about Elasticsearch clusters.")
2480 (license license:gpl3+)))
2481
2482 (define-public emacs-expand-region
2483 (package
2484 (name "emacs-expand-region")
2485 (version "0.11.0")
2486 (source
2487 (origin
2488 (method git-fetch)
2489 (uri (git-reference
2490 (url "https://github.com/magnars/expand-region.el.git")
2491 (commit version)))
2492 (file-name (git-file-name name version))
2493 (sha256
2494 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2495 (build-system emacs-build-system)
2496 (home-page "https://github.com/magnars/expand-region.el")
2497 (synopsis "Increase selected region by semantic units")
2498 (description
2499 "Expand region increases the selected region by semantic units. Just
2500 keep pressing the key until it selects what you want. There's also
2501 @code{er/contract-region} if you expand too far.")
2502 (license license:gpl3+)))
2503
2504 (define-public emacs-fill-column-indicator
2505 (package
2506 (name "emacs-fill-column-indicator")
2507 (version "1.89")
2508 (source
2509 (origin
2510 (method git-fetch)
2511 (uri (git-reference
2512 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2513 (commit (string-append "v" version))))
2514 (file-name (git-file-name name version))
2515 (sha256
2516 (base32 "010kf8jsly74y7m6mmkn1h6y205kz23zphs50zgy2nag2p88rz9y"))))
2517 (build-system emacs-build-system)
2518 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2519 (synopsis "Graphically indicate the fill column")
2520 (description
2521 "Fill-column-indicator graphically indicates the location of the fill
2522 column by drawing a thin line down the length of the editing window.")
2523 (license license:gpl3+)))
2524
2525 (define-public emacs-grep-a-lot
2526 (package
2527 (name "emacs-grep-a-lot")
2528 (version "1.0.7")
2529 (source
2530 (origin
2531 (method git-fetch)
2532 (uri (git-reference
2533 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2534 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2535 (file-name (git-file-name name version))
2536 (sha256
2537 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2538 (build-system emacs-build-system)
2539 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2540 (synopsis "Enables multiple grep buffers in Emacs")
2541 (description
2542 "This Emacs package allows managing multiple grep buffers.")
2543 (license license:gpl3+)))
2544
2545 (define-public emacs-inf-ruby
2546 (package
2547 (name "emacs-inf-ruby")
2548 (version "2.5.2")
2549 (source
2550 (origin
2551 (method git-fetch)
2552 (uri (git-reference
2553 (url "https://github.com/nonsequitur/inf-ruby.git")
2554 (commit version)))
2555 (file-name (git-file-name name version))
2556 (sha256
2557 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
2558 (build-system emacs-build-system)
2559 (home-page "https://github.com/nonsequitur/inf-ruby")
2560 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2561 (description
2562 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2563 for easy interaction with a ruby subprocess. Features include support for
2564 detecting specific uses of Ruby, e.g. when using rails, and using a
2565 appropriate console.")
2566 (license license:gpl3+)))
2567
2568 (define-public emacs-znc
2569 (package
2570 (name "emacs-znc")
2571 (version "0.0.2")
2572 (source
2573 (origin
2574 (method url-fetch)
2575 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2576 version ".el"))
2577 (sha256
2578 (base32
2579 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2580 (build-system emacs-build-system)
2581 (home-page "https://github.com/sshirokov/ZNC.el")
2582 (synopsis "Make ERC and ZNC get along better")
2583 (description
2584 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2585 IRC bouncer with ERC.")
2586 (license license:expat)))
2587
2588 (define-public emacs-shut-up
2589 (package
2590 (name "emacs-shut-up")
2591 (version "0.3.2")
2592 (source
2593 (origin
2594 (method git-fetch)
2595 (uri (git-reference
2596 (url "https://github.com/cask/shut-up.git")
2597 (commit (string-append "v" version))))
2598 (file-name (git-file-name name version))
2599 (sha256
2600 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
2601 (build-system emacs-build-system)
2602 (home-page "https://github.com/cask/shut-up")
2603 (synopsis "Silence Emacs")
2604 (description "This package silences most output of Emacs when running an
2605 Emacs shell script.")
2606 (license license:expat)))
2607
2608 (define-public emacs-undercover
2609 (package
2610 (name "emacs-undercover")
2611 (version "0.6.0")
2612 (source
2613 (origin
2614 (method git-fetch)
2615 (uri (git-reference
2616 (url "https://github.com/sviridov/undercover.el.git")
2617 (commit (string-append "v" version))))
2618 (file-name (git-file-name name version))
2619 (sha256
2620 (base32 "06qcvbp5rd0kh3ibrxj5p6r578lwsrgd7yj5c6slwmkdmna2fj33"))))
2621 (build-system emacs-build-system)
2622 (propagated-inputs
2623 `(("emacs-dash" ,emacs-dash)
2624 ("emacs-shut-up" ,emacs-shut-up)))
2625 (home-page "https://github.com/sviridov/undercover.el")
2626 (synopsis "Test coverage library for Emacs Lisp")
2627 (description
2628 "Undercover is a test coverage library for software written in Emacs
2629 Lisp.")
2630 (license license:expat)))
2631
2632 (define-public emacs-paren-face
2633 (package
2634 (name "emacs-paren-face")
2635 (version "1.0.0")
2636 (source
2637 (origin
2638 (method git-fetch)
2639 (uri (git-reference
2640 (url "https://github.com/tarsius/paren-face.git")
2641 (commit version)))
2642 (file-name (git-file-name name version))
2643 (sha256
2644 (base32 "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"))))
2645 (build-system emacs-build-system)
2646 (home-page "https://github.com/tarsius/paren-face")
2647 (synopsis "Face for parentheses in lisp modes")
2648 (description
2649 "This library defines a face named @code{parenthesis} used just for
2650 parentheses. The intended purpose of this face is to make parentheses less
2651 visible in Lisp code by dimming them. Lispers probably don't need to be
2652 constantly made aware of the existence of the parentheses. Dimming them might
2653 be even more useful for people new to lisp who have not yet learned to
2654 subconsciously blend out the parentheses.")
2655 (license license:gpl3+)))
2656
2657 (define-public emacs-page-break-lines
2658 (package
2659 (name "emacs-page-break-lines")
2660 (version "0.11")
2661 (source
2662 (origin
2663 (method git-fetch)
2664 (uri (git-reference
2665 (url "https://github.com/purcell/page-break-lines.git")
2666 (commit version)))
2667 (file-name (git-file-name name version))
2668 (sha256
2669 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
2670 (build-system emacs-build-system)
2671 (home-page "https://github.com/purcell/page-break-lines")
2672 (synopsis "Display page breaks as tidy horizontal lines")
2673 (description
2674 "This library provides a global mode which displays form feed characters
2675 as horizontal rules.")
2676 (license license:gpl3+)))
2677
2678 (define-public emacs-simple-httpd
2679 (package
2680 (name "emacs-simple-httpd")
2681 (version "1.5.1")
2682 (source
2683 (origin
2684 (method git-fetch)
2685 (uri (git-reference
2686 (url "https://github.com/skeeto/emacs-web-server.git")
2687 (commit version)))
2688 (file-name (git-file-name name version))
2689 (sha256
2690 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
2691 (build-system emacs-build-system)
2692 (home-page "https://github.com/skeeto/emacs-web-server")
2693 (synopsis "HTTP server in pure Emacs Lisp")
2694 (description
2695 "This package provides a simple HTTP server written in Emacs Lisp to
2696 serve files and directory listings.")
2697 (license license:unlicense)))
2698
2699 (define-public emacs-skewer-mode
2700 (package
2701 (name "emacs-skewer-mode")
2702 (version "1.8.0")
2703 (source
2704 (origin
2705 (method git-fetch)
2706 (uri (git-reference
2707 (url "https://github.com/skeeto/skewer-mode.git")
2708 (commit version)))
2709 (file-name (git-file-name name version))
2710 (sha256
2711 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
2712 (build-system emacs-build-system)
2713 (propagated-inputs
2714 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2715 ("emacs-js2-mode" ,emacs-js2-mode)))
2716 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2717 (home-page "https://github.com/skeeto/skewer-mode")
2718 (synopsis "Live web development in Emacs")
2719 (description
2720 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2721 a web browser. Expressions are sent on-the-fly from an editing buffer to be
2722 evaluated in the browser, just like Emacs does with an inferior Lisp process
2723 in Lisp modes.")
2724 (license license:unlicense)))
2725
2726 (define-public emacs-litable
2727 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2728 (package
2729 (name "emacs-litable")
2730 (version (git-version "0.1" "0" commit))
2731 (source (origin
2732 (method git-fetch)
2733 (uri (git-reference
2734 (url "https://github.com/Fuco1/litable.git")
2735 (commit commit)))
2736 (file-name (git-file-name name version))
2737 (sha256
2738 (base32
2739 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2740 (build-system emacs-build-system)
2741 (propagated-inputs
2742 `(("emacs-dash" ,emacs-dash)))
2743 (home-page "https://github.com/Fuco1/litable/")
2744 (synopsis "Dynamic evaluation replacement with Emacs")
2745 (description "This package provides dynamic evaluation in Emacs.")
2746 (license license:gpl3+))))
2747
2748 (define-public emacs-string-inflection
2749 (package
2750 (name "emacs-string-inflection")
2751 (version "1.0.6")
2752 (source (origin
2753 (method git-fetch)
2754 (uri (git-reference
2755 (url "https://github.com/akicho8/string-inflection")
2756 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2757 (file-name (git-file-name name version))
2758 (sha256
2759 (base32
2760 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2761 (build-system emacs-build-system)
2762 (native-inputs
2763 `(("ert-runner" ,emacs-ert-runner)))
2764 (arguments
2765 `(#:tests? #t
2766 #:test-command '("ert-runner")))
2767 (home-page "https://github.com/akicho8/string-inflection")
2768 (synopsis "Convert symbol names between different naming conventions")
2769 (description
2770 "This Emacs package provides convenient methods for manipulating the
2771 naming style of a symbol. It supports different naming conventions such as:
2772
2773 @enumerate
2774 @item camel case
2775 @item Pascal case
2776 @item all upper case
2777 @item lower case separated by underscore
2778 @item etc...
2779 @end enumerate\n")
2780 (license license:gpl2+)))
2781
2782 (define-public emacs-stripe-buffer
2783 (package
2784 (name "emacs-stripe-buffer")
2785 (version "0.2.5")
2786 (source
2787 (origin
2788 (method git-fetch)
2789 (uri (git-reference
2790 (url "https://github.com/sabof/stripe-buffer.git")
2791 (commit version)))
2792 (file-name (git-file-name name version))
2793 (sha256
2794 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
2795 (build-system emacs-build-system)
2796 (home-page "https://github.com/sabof/stripe-buffer/")
2797 (synopsis "Add stripes to list buffers")
2798 (description
2799 "This Emacs package adds faces to add stripes to list buffers and org
2800 tables.")
2801 (license license:gpl2+)))
2802
2803 (define-public emacs-org-rich-yank
2804 (package
2805 (name "emacs-org-rich-yank")
2806 (version "0.2.1")
2807 (source
2808 (origin
2809 (method git-fetch)
2810 (uri (git-reference
2811 (url "https://github.com/unhammer/org-rich-yank.git")
2812 (commit (string-append "v" version))))
2813 (file-name (git-file-name name version))
2814 (sha256
2815 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
2816 (build-system emacs-build-system)
2817 (home-page "https://github.com/unhammer/org-rich-yank")
2818 (synopsis "Automatically surround source code pasted into Org with
2819 @code{#+BEGIN_SRC} blocks")
2820 (description
2821 "This package provides a utility function for Org buffers that makes a
2822 @code{_SRC} block with the appropriate language annotation for code that has
2823 been copied from an Emacs major mode.")
2824 (license license:gpl2+)))
2825
2826 (define-public emacs-ob-restclient
2827 (let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
2828 (package
2829 (name "emacs-ob-restclient")
2830 (version (git-version "0.02" "1" commit))
2831 (source
2832 (origin
2833 (method git-fetch)
2834 (uri (git-reference
2835 (url "https://github.com/alf/ob-restclient.el.git")
2836 (commit commit)))
2837 (file-name (git-file-name name version))
2838 (sha256
2839 (base32 "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"))))
2840 (propagated-inputs
2841 `(("emacs-restclient" ,emacs-restclient)))
2842 (build-system emacs-build-system)
2843 (home-page "https://github.com/alf/ob-restclient.el")
2844 (synopsis "Org-babel functionality for @code{restclient-mode}")
2845 (description
2846 "This package integrates @code{restclient-mode} with Org.")
2847 (license license:gpl3+))))
2848
2849 (define-public emacs-org-now
2850 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
2851 (package
2852 (name "emacs-org-now")
2853 (version (git-version "0.1-pre" "1" commit))
2854 (source
2855 (origin
2856 (method git-fetch)
2857 (uri (git-reference
2858 (url "https://github.com/alphapapa/org-now.git")
2859 (commit commit)))
2860 (file-name (git-file-name name version))
2861 (sha256
2862 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
2863 (propagated-inputs
2864 `(("emacs-dash" ,emacs-dash)))
2865 (build-system emacs-build-system)
2866 (home-page "https://github.com/alphapapa/org-now")
2867 (synopsis "Show current Org tasks in a sidebar")
2868 (description
2869 "This package provides commands to show Org headings in a sidebar
2870 window while working on them. After defining one heading as the \"now\"
2871 heading, other headings can be refiled to it with one command, and back to
2872 their original location with another.")
2873 (license license:gpl3+))))
2874
2875 (define-public emacs-rich-minority
2876 (package
2877 (name "emacs-rich-minority")
2878 (version "1.0.1")
2879 (source
2880 (origin
2881 (method git-fetch)
2882 (uri (git-reference
2883 (url "https://github.com/Malabarba/rich-minority.git")
2884 (commit version)))
2885 (file-name (git-file-name name version))
2886 (sha256
2887 (base32 "11hwf9y5ax207w6rwrsmi3pmn7pn7ap6iys0z8hni2f5zzxjrmx3"))))
2888 (build-system emacs-build-system)
2889 (home-page "https://github.com/Malabarba/rich-minority")
2890 (synopsis "Clean-up and beautify the list of minor modes")
2891 (description
2892 "This Emacs package hides and/or highlights minor modes in the
2893 mode-line.")
2894 (license license:gpl2+)))
2895
2896 (define-public emacs-robe
2897 (package
2898 (name "emacs-robe")
2899 (version "0.8.2")
2900 (source
2901 (origin
2902 (method git-fetch)
2903 (uri (git-reference
2904 (url "https://github.com/dgutov/robe.git")
2905 (commit version)))
2906 (file-name (git-file-name name version))
2907 (sha256
2908 (base32 "0qw18wi54yg971n4wnjqkd8lqj5lbs9ra8bvmngif2bzhqlfdsbn"))))
2909 (build-system emacs-build-system)
2910 (arguments
2911 '(#:include (cons "^lib\\/" %default-include)))
2912 (propagated-inputs
2913 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2914 (home-page "https://github.com/dgutov/robe")
2915 (synopsis "Ruby code assistance tool for Emacs")
2916 (description
2917 "Robe can provide information on loaded classes and modules in Ruby code,
2918 as well as where methods are defined. This allows the user to jump to method
2919 definitions, modules and classes, display method documentation and provide
2920 method and constant name completion.")
2921 (license license:gpl3+)))
2922
2923 (define-public emacs-robot-mode
2924 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
2925 (revision "1"))
2926 (package
2927 (name "emacs-robot-mode")
2928 (version (git-version "0.0.0" revision commit))
2929 (source (origin
2930 (method git-fetch)
2931 (uri (git-reference
2932 ;; A better maintained fork of robot-mode.
2933 (url "https://github.com/jvalkeejarvi/robot-mode.git")
2934 (commit commit)))
2935 (file-name (git-file-name name version))
2936 (sha256
2937 (base32
2938 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
2939 (build-system emacs-build-system)
2940 (propagated-inputs `(("emacs-s" ,emacs-s)))
2941 (home-page "https://github.com/jvalkeejarvi/robot-mode")
2942 (synopsis "Emacs mode for Robot Framework")
2943 (description "This major mode facilitates editing Robot Framework source
2944 files with features such as syntax highlighting, comments, finding keywords,
2945 completing keywords and smart indentation.")
2946 (license license:gpl3+))))
2947
2948 (define-public emacs-rspec
2949 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
2950 (revision "1"))
2951 (package
2952 (name "emacs-rspec")
2953 (version (git-version "1.11" revision commit))
2954 (source
2955 (origin
2956 (method git-fetch)
2957 (uri (git-reference
2958 (url "https://github.com/pezra/rspec-mode.git")
2959 (commit commit)))
2960 (file-name (git-file-name name version))
2961 (sha256
2962 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
2963 (build-system emacs-build-system)
2964 (arguments
2965 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
2966 #:tests? #t
2967 #:test-command '("make" "test")))
2968 (home-page "https://github.com/pezra/rspec-mode")
2969 (synopsis "Provides a rspec mode for working with RSpec")
2970 (description
2971 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2972 verify the spec associated with the current buffer, or entire project, as well
2973 as moving between the spec files, and corresponding code files.
2974
2975 Also included are keybindings for spec files and Dired buffers, as well as
2976 snippets for yasnippet.")
2977 (license license:gpl3+))))
2978
2979 (define-public emacs-smart-mode-line
2980 (package
2981 (name "emacs-smart-mode-line")
2982 (version "2.13")
2983 (source
2984 (origin
2985 (method git-fetch)
2986 (uri (git-reference
2987 (url "https://github.com/Malabarba/smart-mode-line.git")
2988 (commit version)))
2989 (file-name (git-file-name name version))
2990 (sha256
2991 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
2992 (build-system emacs-build-system)
2993 (propagated-inputs
2994 `(("emacs-rich-minority" ,emacs-rich-minority)))
2995 (home-page "https://github.com/Malabarba/smart-mode-line")
2996 (synopsis "Color-coded smart mode-line")
2997 (description
2998 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2999 read from small to large monitors by using colors, a prefix feature, and smart
3000 truncation.")
3001 (license license:gpl2+)))
3002
3003 (define-public emacs-sr-speedbar
3004 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
3005 (revision "0"))
3006 (package
3007 (name "emacs-sr-speedbar")
3008 (version (git-version "20161025" revision commit))
3009 (source
3010 (origin
3011 (method git-fetch)
3012 (uri (git-reference
3013 (url "https://github.com/emacsorphanage/sr-speedbar.git")
3014 (commit commit)))
3015 (file-name (git-file-name name version))
3016 (sha256
3017 (base32
3018 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
3019 (build-system emacs-build-system)
3020 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
3021 (synopsis "Same frame Emacs @code{speedbar}")
3022 (description
3023 "This Emacs package allows you to show @code{M-x speedbar} in the
3024 same frame (in an extra window). You can customize the initial width of
3025 the speedbar window.")
3026 (license license:gpl3+))))
3027
3028 (define-public emacs-shell-switcher
3029 (package
3030 (name "emacs-shell-switcher")
3031 (version "1.0.1")
3032 (source
3033 (origin
3034 (method git-fetch)
3035 (uri (git-reference
3036 (url "https://github.com/DamienCassou/shell-switcher.git")
3037 (commit (string-append "v" version))))
3038 (file-name (git-file-name name version))
3039 (sha256
3040 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
3041 (build-system emacs-build-system)
3042 (home-page "https://github.com/DamienCassou/shell-switcher")
3043 (synopsis "Provide fast switching between shell buffers")
3044 (description
3045 "This package provides commands to quickly switch between shell buffers.")
3046 (license license:gpl3+)))
3047
3048 (define-public emacs-names
3049 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
3050 (version "20151201.0")
3051 (revision "8"))
3052 (package
3053 (name "emacs-names")
3054 (version (git-version version revision commit))
3055 (source
3056 (origin
3057 (method git-fetch)
3058 (uri (git-reference
3059 (url "https://github.com/Malabarba/names")
3060 (commit commit)))
3061 (file-name (git-file-name name version))
3062 (sha256
3063 (base32
3064 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
3065 (build-system emacs-build-system)
3066 (home-page "https://github.com/Malabarba/names/")
3067 (synopsis "Namespace implementation for Emacs Lisp")
3068 (description
3069 "This package provides a macro that writes your namespaces for you.")
3070 (license license:gpl3+))))
3071
3072 (define-public emacs-evil-textobj-syntax
3073 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
3074 (version "0")
3075 (revision "1"))
3076 (package
3077 (name "emacs-evil-textobj-syntax")
3078 (version (git-version version revision commit))
3079 (source
3080 (origin
3081 (method git-fetch)
3082 (uri (git-reference
3083 (url "https://github.com/laishulu/evil-textobj-syntax/")
3084 (commit commit)))
3085 (file-name (git-file-name name version))
3086 (sha256
3087 (base32
3088 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
3089 (build-system emacs-build-system)
3090 (propagated-inputs `(("emacs-evil" ,emacs-evil)
3091 ("emacs-names" ,emacs-names)))
3092 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
3093 (synopsis "Text objects based on syntax highlighting")
3094 (description
3095 "This package provides text objects for @code{evil-mode} with
3096 boundaries defined by syntax highlighting.")
3097 (license license:gpl3+))))
3098
3099 (define-public emacs-flycheck-flow
3100 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
3101 (version "1.1")
3102 (revision "1"))
3103 (package
3104 (name "emacs-flycheck-flow")
3105 (version (git-version version revision commit))
3106 (source
3107 (origin
3108 (method git-fetch)
3109 (uri (git-reference
3110 (url "https://github.com/lbolla/emacs-flycheck-flow")
3111 (commit commit)))
3112 (file-name (git-file-name name version))
3113 (sha256
3114 (base32
3115 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
3116 (build-system emacs-build-system)
3117 (propagated-inputs
3118 `(("emacs-flycheck" ,emacs-flycheck)))
3119 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
3120 (synopsis "Flow support for @code{flycheck-mode}")
3121 (description
3122 "This package allows @code{flycheck-mode} to provide syntax-checking
3123 for Flow files.")
3124 (license license:gpl3+))))
3125
3126 (define-public emacs-flycheck-grammalecte
3127 (package
3128 (name "emacs-flycheck-grammalecte")
3129 (version "0.9")
3130 (source (origin
3131 (method url-fetch)
3132 (uri (string-append "https://git.deparis.io/"
3133 "flycheck-grammalecte/snapshot/"
3134 "flycheck-grammalecte-" version ".tar.xz"))
3135 (sha256
3136 (base32
3137 "0wjm9xyra870pci4bcrbnc9x66x18mi7iz08rkxa4clxv28xzryb"))))
3138 (build-system emacs-build-system)
3139 (arguments
3140 `(#:include '("\\.(el|py)$")
3141 #:phases
3142 (modify-phases %standard-phases
3143 (add-after 'unpack 'fix-python
3144 ;; Hardcode python3 executable in the Emacs library.
3145 (lambda* (#:key inputs #:allow-other-keys)
3146 (let ((python3 (string-append (assoc-ref inputs "python")
3147 "/bin/python3")))
3148 (substitute* "flycheck-grammalecte.el"
3149 (("python3") python3))
3150 #t)))
3151 (add-after 'install 'link-to-grammalecte
3152 ;; The package expects grammalecte to be in a sub-directory.
3153 ;; Symlink it there from the store.
3154 (lambda* (#:key inputs outputs #:allow-other-keys)
3155 (let ((grammalecte (assoc-ref inputs "grammalecte"))
3156 (out (assoc-ref outputs "out"))
3157 (version ,(version-major+minor (package-version python))))
3158 (with-directory-excursion
3159 (string-append out
3160 "/share/emacs/site-lisp/guix.d/"
3161 "flycheck-grammalecte-" ,version)
3162 (symlink (string-append grammalecte "/lib/"
3163 "python" version "/site-packages/"
3164 "grammalecte")
3165 "grammalecte"))
3166 #t))))))
3167 (inputs
3168 `(("grammalecte" ,grammalecte)
3169 ("python" ,python)))
3170 (propagated-inputs
3171 `(("emacs-flycheck" ,emacs-flycheck)))
3172 (home-page "https://git.deparis.io/flycheck-grammalecte/")
3173 (synopsis "Integrate Grammalecte with Flycheck")
3174 (description "Integrate the French grammar and typography checker
3175 Grammalecte with Flycheck to automatically look for mistakes in your writings.
3176 It also provides an easy way to find synonyms and antonyms for a given
3177 word (to avoid repetitions for example).")
3178 (license license:gpl3+)))
3179
3180 (define-public emacs-elisp-demos
3181 (package
3182 (name "emacs-elisp-demos")
3183 (version "2019.08.16")
3184 (source
3185 (origin
3186 (method git-fetch)
3187 (uri (git-reference
3188 (url "https://github.com/xuchunyang/elisp-demos")
3189 (commit version)))
3190 (file-name (git-file-name name version))
3191 (sha256
3192 (base32
3193 "0lybadq66bl4snkwph9i1y0qxln29wyfjn222ii3nfwany28cj66"))))
3194 (build-system emacs-build-system)
3195 (arguments
3196 `(#:include '("\\.el$" "\\.org$")
3197 #:tests? #t
3198 #:test-command '("make" "test")))
3199 (home-page "https://github.com/xuchunyang/elisp-demos/")
3200 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3201 (description
3202 "This package injects example uses of Elisp functions into their
3203 respective @code{*Help*} buffers.")
3204 (license license:gpl3+)))
3205
3206 (define-public emacs-docker-compose-mode
3207 (package
3208 (name "emacs-docker-compose-mode")
3209 (version "1.1.0")
3210 (source
3211 (origin
3212 (method git-fetch)
3213 (uri (git-reference
3214 (url "https://github.com/meqif/docker-compose-mode")
3215 (commit version)))
3216 (file-name (git-file-name name version))
3217 (sha256
3218 (base32
3219 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3220 (build-system emacs-build-system)
3221 (propagated-inputs
3222 `(("emacs-dash" ,emacs-dash)
3223 ("emacs-f" ,emacs-f)))
3224 (home-page "https://github.com/meqif/docker-compose-mode/")
3225 (synopsis "Major mode for editing @file{docker-compose} files")
3226 (description
3227 "This is a major mode for @file{docker-compose} files that provides
3228 completion of relevant keywords.")
3229 (license license:expat)))
3230
3231 (define-public emacs-sudo-edit
3232 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3233 (revision "6"))
3234 (package
3235 (name "emacs-sudo-edit")
3236 (version (git-version "0.1.0" revision commit))
3237 (source
3238 (origin
3239 (method git-fetch)
3240 (uri (git-reference
3241 (url "https://github.com/nflath/sudo-edit")
3242 (commit commit)))
3243 (file-name (git-file-name name version))
3244 (sha256
3245 (base32
3246 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3247 (build-system emacs-build-system)
3248 (native-inputs
3249 `(("emacs-undercover" ,emacs-undercover)))
3250 (arguments
3251 `(#:phases
3252 (modify-phases %standard-phases
3253 (add-before 'check 'fix-makefile
3254 (lambda _
3255 (substitute* "Makefile"
3256 (("\\$\\(CASK\\) exec ") ""))
3257 #t)))
3258 #:tests? #t
3259 #:test-command '("make" "test")))
3260 (home-page "https://github.com/nflath/sudo-edit/")
3261 (synopsis "Open files as another user")
3262 (description
3263 "This package allows editing files as another user, including the root
3264 user.")
3265 (license license:gpl3+))))
3266
3267 (define-public emacs-miniedit
3268 (package
3269 (name "emacs-miniedit")
3270 (version "2.0")
3271 (source
3272 (origin
3273 (method git-fetch)
3274 (uri (git-reference
3275 (url "https://github.com/emacsmirror/miniedit")
3276 (commit version)))
3277 (file-name (git-file-name name version))
3278 (sha256
3279 (base32
3280 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3281 (build-system emacs-build-system)
3282 (home-page "https://github.com/emacsmirror/miniedit/")
3283 (synopsis "Enhanced editing for minibuffer fields")
3284 (description
3285 "This package provides a function that can be called from the
3286 minibuffer to enable editing the minibuffer input in another buffer with
3287 @code{text-mode} enabled.")
3288 (license license:gpl2+)))
3289
3290 (define-public emacs-ob-ipython
3291 (package
3292 (name "emacs-ob-ipython")
3293 (version "20150704.8807064693")
3294 (source (origin
3295 (method git-fetch)
3296 (uri (git-reference
3297 (commit "880706469338ab59b5bb7dbe8460016f89755364")
3298 (url "https://github.com/gregsexton/ob-ipython.git")))
3299 (file-name (git-file-name name version))
3300 (sha256
3301 (base32
3302 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
3303 (build-system emacs-build-system)
3304 (propagated-inputs
3305 `(("emacs-f" ,emacs-f)))
3306 (home-page "http://www.gregsexton.org")
3307 (synopsis "Org-Babel functions for IPython evaluation")
3308 (description "This package adds support to Org-Babel for evaluating Python
3309 source code using IPython.")
3310 (license license:gpl3+)))
3311
3312 (define-public emacs-debbugs
3313 (package
3314 (name "emacs-debbugs")
3315 (version "0.19")
3316 (source (origin
3317 (method url-fetch)
3318 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3319 version ".tar"))
3320 (sha256
3321 (base32
3322 "0cpby8f088cqb5mpd756a2mb706x763k15cg2xdmmsxl415k3yw4"))))
3323 (build-system emacs-build-system)
3324 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3325 (propagated-inputs
3326 `(("emacs-async" ,emacs-async)))
3327 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3328 (synopsis "Access the Debbugs bug tracker in Emacs")
3329 (description
3330 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3331 Tracker} from within Emacs.
3332
3333 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3334 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3335 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3336 @code{M-x debbugs-org} and related commands.
3337
3338 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3339 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3340 (license license:gpl3+)))
3341
3342 (define-public emacs-ert-expectations
3343 (package
3344 (name "emacs-ert-expectations")
3345 (version "0.2")
3346 (source
3347 (origin
3348 (method url-fetch)
3349 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3350 (sha256
3351 (base32
3352 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3353 (build-system emacs-build-system)
3354 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3355 (synopsis "Simple unit test framework for Emacs Lisp")
3356 (description "@code{emacs-ert-expectations} is a simple unit test
3357 framework for Emacs Lisp to be used with @code{ert}.")
3358 (license license:gpl3+)))
3359
3360 (define-public emacs-deferred
3361 (package
3362 (name "emacs-deferred")
3363 (version "0.5.1")
3364 (home-page "https://github.com/kiwanami/emacs-deferred")
3365 (source (origin
3366 (method git-fetch)
3367 (uri (git-reference
3368 (url home-page)
3369 (commit (string-append "v" version))))
3370 (file-name (git-file-name name version))
3371 (sha256
3372 (base32
3373 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3374 (build-system emacs-build-system)
3375 (arguments
3376 `(#:phases
3377 (modify-phases %standard-phases
3378 (add-after 'unpack 'set-shell
3379 ;; Setting the SHELL environment variable is required for the tests
3380 ;; to find sh.
3381 (lambda _
3382 (setenv "SHELL" (which "sh"))
3383 #t))
3384 (add-before 'check 'fix-makefile
3385 (lambda _
3386 (substitute* "Makefile"
3387 (("\\$\\(CASK\\) exec ") ""))
3388 #t)))
3389 #:tests? #t
3390 #:test-command '("make" "test")))
3391 (native-inputs
3392 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3393 ("emacs-undercover" ,emacs-undercover)
3394 ("ert-runner" ,emacs-ert-runner)))
3395 (synopsis "Simple asynchronous functions for Emacs Lisp")
3396 (description
3397 "The @code{deferred.el} library provides support for asynchronous tasks.
3398 The API is almost the same as that of
3399 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3400 for asynchronous tasks.")
3401 (license license:gpl3+)))
3402
3403 (define-public emacs-butler
3404 (package
3405 (name "emacs-butler")
3406 (version "0.2.4")
3407 (home-page "https://github.com/AshtonKem/Butler")
3408 (source (origin
3409 (method git-fetch)
3410 (uri (git-reference
3411 (url home-page)
3412 (commit version)))
3413 (file-name (git-file-name name version))
3414 (sha256
3415 (base32
3416 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3417 (build-system emacs-build-system)
3418 (propagated-inputs
3419 `(("emacs-deferred" ,emacs-deferred)))
3420 (synopsis "Emacs client for Jenkins")
3421 (description
3422 "Butler provides an interface to connect to Jenkins continuous
3423 integration servers. Users can specify a list of server in the
3424 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3425 view the build status of those servers' build jobs, and possibly to trigger
3426 build jobs.")
3427 (license license:gpl3+)))
3428
3429 (define-public emacs-company
3430 (package
3431 (name "emacs-company")
3432 (version "0.9.10")
3433 (source
3434 (origin
3435 (method git-fetch)
3436 (uri (git-reference
3437 (url "https://github.com/company-mode/company-mode.git")
3438 (commit version)))
3439 (file-name (git-file-name name version))
3440 (sha256
3441 (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
3442 (build-system emacs-build-system)
3443 (arguments
3444 `(#:phases
3445 (modify-phases %standard-phases
3446 (add-before 'check 'fix-bin-dir
3447 (lambda _
3448 ;; The company-files-candidates-normal-root test looks
3449 ;; for the /bin directory, but the build environment has
3450 ;; no /bin directory. Modify the test to look for the
3451 ;; /tmp directory.
3452 (substitute* "test/files-tests.el"
3453 (("/bin/") "/tmp/"))
3454 #t)))
3455 #:tests? #t
3456 #:test-command '("make" "test-batch")))
3457 (home-page "http://company-mode.github.io/")
3458 (synopsis "Modular text completion framework")
3459 (description
3460 "Company is a modular completion mechanism. Modules for retrieving
3461 completion candidates are called back-ends, modules for displaying them are
3462 front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3463 These are distributed in separate files and can be used individually.")
3464 (license license:gpl3+)))
3465
3466 (define-public emacs-irony-mode
3467 (package
3468 (name "emacs-irony-mode")
3469 (version "1.2.0")
3470 (home-page "https://github.com/Sarcasm/irony-mode")
3471 (source (origin
3472 (method git-fetch)
3473 (uri (git-reference
3474 (url (string-append home-page ".git"))
3475 (commit (string-append "v" version))))
3476 (file-name (git-file-name name version))
3477 (sha256
3478 (base32
3479 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
3480 (build-system emacs-build-system)
3481 (inputs `(("server" ,emacs-irony-mode-server)))
3482 (arguments `(#:phases
3483 (modify-phases %standard-phases
3484 (add-after 'unpack 'configure
3485 (lambda* (#:key inputs #:allow-other-keys)
3486 (chmod "irony.el" #o644)
3487 (emacs-substitute-variables "irony.el"
3488 ("irony-server-install-prefix"
3489 (assoc-ref inputs "server")))
3490 #t)))))
3491 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3492 (description "Irony-mode provides Clang-assisted syntax checking and
3493 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3494 provide syntax checking and autocompletion on compiler level which is very
3495 resistant against false positives. It also integrates well with other
3496 packages like @code{eldoc-mode} and especially @code{company-mode} as
3497 described on the homepage.")
3498 (license license:gpl3+)))
3499
3500 (define-public emacs-irony-mode-server
3501 (package (inherit emacs-irony-mode)
3502 (name "emacs-irony-mode-server")
3503 (inputs
3504 `(("clang" ,clang)))
3505 (arguments
3506 `(#:phases
3507 (modify-phases %standard-phases
3508 (replace 'configure
3509 (lambda* (#:key outputs #:allow-other-keys)
3510 (let ((out (assoc-ref outputs "out")))
3511 (invoke "cmake"
3512 "server"
3513 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3514 (build-system cmake-build-system)
3515 (synopsis "Server for the Emacs @dfn{irony mode}")))
3516
3517 (define-public emacs-company-irony
3518 (package
3519 (name "emacs-company-irony")
3520 (version "1.1.0")
3521 (source (origin
3522 (method git-fetch)
3523 (uri (git-reference
3524 (url "https://github.com/Sarcasm/company-irony.git")
3525 (commit (string-append "v" version))))
3526 (sha256 (base32
3527 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3528 (file-name (git-file-name name version))))
3529 (build-system emacs-build-system)
3530 (inputs
3531 `(("emacs-irony-mode" ,emacs-irony-mode)
3532 ("emacs-company" ,emacs-company)))
3533 (synopsis "C++ completion backend for Company using irony-mode")
3534 (description "This backend for company-mode allows for C++ code completion
3535 with irony-mode using clang-tooling.")
3536 (home-page "https://github.com/Sarcasm/company-irony")
3537 (license license:gpl3+)))
3538
3539 (define-public emacs-flycheck-irony
3540 (package
3541 (name "emacs-flycheck-irony")
3542 (version "0.1.0")
3543 (source (origin
3544 (method git-fetch)
3545 (uri (git-reference
3546 (url "https://github.com/Sarcasm/flycheck-irony.git")
3547 (commit (string-append "v" version))))
3548 (file-name (git-file-name name version))
3549 (sha256
3550 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3551 (build-system emacs-build-system)
3552 (inputs
3553 `(("irony-mode" ,emacs-irony-mode)
3554 ("flycheck-mode" ,emacs-flycheck)
3555 ("emacs-company" ,emacs-company)))
3556 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3557 (description "This package provides a frontend for Flycheck that lets
3558 irony-mode do the syntax checking.")
3559 (home-page "https://github.com/Sarcasm/flycheck-irony")
3560 (license license:gpl3+)))
3561
3562 (define-public emacs-irony-eldoc
3563 (package
3564 (name "emacs-irony-eldoc")
3565 (version (package-version emacs-irony-mode))
3566 (source
3567 (origin
3568 (method git-fetch)
3569 (uri (git-reference
3570 (url "https://github.com/ikirill/irony-eldoc.git")
3571 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3572 (file-name (git-file-name name version))
3573 (sha256
3574 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3575 (build-system emacs-build-system)
3576 (inputs
3577 `(("irony-mode" ,emacs-irony-mode)))
3578 (synopsis "Eldoc integration for irony-mode")
3579 (description "Irony-eldoc is an eldoc extension that shows documentation
3580 for the current function or variable in the minibuffer.")
3581 (home-page "https://github.com/ikirill/irony-eldoc")
3582 (license license:gpl3+)))
3583
3584 (define-public emacs-company-quickhelp
3585 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
3586 ;; so we use the latest 2.2.0 commit instead
3587 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
3588 (revision "1"))
3589 (package
3590 (name "emacs-company-quickhelp")
3591 (version (git-version "2.2.0" revision commit))
3592 (source
3593 (origin
3594 (method git-fetch)
3595 (uri (git-reference
3596 (url "https://github.com/expez/company-quickhelp.git")
3597 (commit commit)))
3598 (file-name (git-file-name name version))
3599 (sha256
3600 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
3601 (build-system emacs-build-system)
3602 (propagated-inputs
3603 `(("emacs-pos-tip" ,emacs-pos-tip)
3604 ("emacs-company" ,emacs-company)))
3605 (home-page "https://github.com/expez/company-quickhelp")
3606 (synopsis "Popup documentation for completion candidates")
3607 (description "@code{company-quickhelp} shows documentation for the
3608 completion candidate when using the Company text completion framework.")
3609 (license license:gpl3+))))
3610
3611 (define-public emacs-math-symbol-lists
3612 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
3613 (revision "1"))
3614 (package
3615 (name "emacs-math-symbol-lists")
3616 (version (git-version "1.2.1" revision commit))
3617 (source
3618 (origin
3619 (method git-fetch)
3620 (uri (git-reference
3621 (url "https://github.com/vspinu/math-symbol-lists.git")
3622 (commit commit)))
3623 (file-name (git-file-name name version))
3624 (sha256
3625 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
3626 (build-system emacs-build-system)
3627 (home-page "https://github.com/vspinu/math-symbol-lists")
3628 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
3629 (description "This is a storage package used by completion engines like
3630 @code{company-math}.")
3631 (license license:gpl3+))))
3632
3633 (define-public emacs-company-math
3634 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
3635 (revision "1"))
3636 (package
3637 (name "emacs-company-math")
3638 (version (git-version "1.3" revision commit))
3639 (source
3640 (origin
3641 (method git-fetch)
3642 (uri (git-reference
3643 (url "https://github.com/vspinu/company-math.git")
3644 (commit commit)))
3645 (file-name (git-file-name name version))
3646 (sha256
3647 (base32
3648 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
3649 (build-system emacs-build-system)
3650 (propagated-inputs
3651 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
3652 ("emacs-company" ,emacs-company)))
3653 (home-page "https://github.com/vspinu/company-math")
3654 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
3655 (description "This package provides a backend for use with
3656 @code{company-mode} allowing for completion of common math symbols.")
3657 (license license:gpl3+))))
3658
3659 (define-public emacs-compdef
3660 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
3661 (revision "2"))
3662 (package
3663 (name "emacs-compdef")
3664 (version (git-version "0.2" revision commit))
3665 (source
3666 (origin
3667 (method git-fetch)
3668 (uri (git-reference
3669 (url "https://gitlab.com/jjzmajic/compdef.git")
3670 (commit commit)))
3671 (file-name (git-file-name name version))
3672 (sha256
3673 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
3674 (build-system emacs-build-system)
3675 (home-page "https://gitlab.com/jjzmajic/compdef")
3676 (synopsis "Set local completion backends")
3677 (description "This package provides a function to cleanly set local
3678 completion backends according to mode, and integrates with
3679 @code{use-package}.")
3680 (license license:gpl3+))))
3681
3682 (define-public emacs-handle
3683 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
3684 (revision "2"))
3685 (package
3686 (name "emacs-handle")
3687 (version (git-version "0.1" revision commit))
3688 (source
3689 (origin
3690 (method git-fetch)
3691 (uri (git-reference
3692 (url "https://gitlab.com/jjzmajic/handle.git")
3693 (commit commit)))
3694 (file-name (git-file-name name version))
3695 (sha256
3696 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
3697 (build-system emacs-build-system)
3698 (propagated-inputs
3699 `(("emacs-parent-mode" ,emacs-parent-mode)))
3700 (home-page "https://gitlab.com/jjzmajic/handle")
3701 (synopsis "Handle generic functions across related major modes")
3702 (description "This package provides generic functions that specialize on
3703 major modes and intended purpose rather than on arguments. Different
3704 callables for tasks like expression evaluation, definition-jumping, and more
3705 can now be grouped accordingly and tried in sequence until one of them
3706 succeeds.")
3707 (license license:gpl3+))))
3708
3709 (define-public emacs-nswbuff
3710 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
3711 (revision "1"))
3712 (package
3713 (name "emacs-nswbuff")
3714 (version (git-version "1.0" revision commit))
3715 (source
3716 (origin
3717 (method git-fetch)
3718 (uri (git-reference
3719 (url "https://github.com/joostkremers/nswbuff.git")
3720 (commit commit)))
3721 (file-name (git-file-name name version))
3722 (sha256
3723 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
3724 (build-system emacs-build-system)
3725 (home-page "https://github.com/joostkremers/nswbuff")
3726 (synopsis "Quickly switch between buffers")
3727 (description "This package allows for navigating between buffers within
3728 a customizable list.")
3729 (license license:gpl3+))))
3730
3731 (define-public emacs-phi-search
3732 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
3733 (revision "1"))
3734 (package
3735 (name "emacs-phi-search")
3736 (version (git-version "20160630" revision commit))
3737 (source
3738 (origin
3739 (method git-fetch)
3740 (uri (git-reference
3741 (url "https://github.com/zk-phi/phi-search.git")
3742 (commit commit)))
3743 (file-name (git-file-name name version))
3744 (sha256
3745 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
3746 (build-system emacs-build-system)
3747 (home-page "https://github.com/zk-phi/phi-search")
3748 (synopsis "Interactive search compatible with @code{multiple-cursors}")
3749 (description "This package can be used with @code{multiple-cursors} to
3750 provide an incremental search that moves all fake cursors in sync.")
3751 (license license:gpl2+))))
3752
3753 (define-public emacs-phi-search-mc
3754 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
3755 (revision "1"))
3756 (package
3757 (name "emacs-phi-search-mc")
3758 (version (git-version "2.2.1" revision commit))
3759 (source
3760 (origin
3761 (method git-fetch)
3762 (uri (git-reference
3763 (url "https://github.com/knu/phi-search-mc.el.git")
3764 (commit commit)))
3765 (file-name (git-file-name name version))
3766 (sha256
3767 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
3768 (build-system emacs-build-system)
3769 (propagated-inputs
3770 `(("emacs-phi-search" ,emacs-phi-search)
3771 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3772 (home-page "https://github.com/knu/phi-search-mc.el")
3773 (synopsis "Extend @code{phi-search} with additional
3774 @code{multiple-cursors} functionality")
3775 (description "This package provides further integration between
3776 @code{multiple-cursors} and @code{phi-search}, a package that allows for
3777 interactive searches to move multiple fake cursors.")
3778 (license license:bsd-2))))
3779
3780 (define-public emacs-multiple-cursors
3781 (package
3782 (name "emacs-multiple-cursors")
3783 (version "1.4.0")
3784 (source
3785 (origin
3786 (method git-fetch)
3787 (uri (git-reference
3788 (url "https://github.com/magnars/multiple-cursors.el.git")
3789 (commit version)))
3790 (file-name (git-file-name name version))
3791 (sha256
3792 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
3793 (build-system emacs-build-system)
3794 (home-page "https://github.com/magnars/multiple-cursors.el")
3795 (synopsis "Multiple cursors for Emacs")
3796 (description
3797 "This package adds support to Emacs for editing text with multiple
3798 simultaneous cursors.")
3799 (license license:gpl3+)))
3800
3801 (define-public emacs-mc-extras
3802 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
3803 (revision "1"))
3804 (package
3805 (name "emacs-mc-extras")
3806 (version (git-version "1.2.4" revision commit))
3807 (source
3808 (origin
3809 (method git-fetch)
3810 (uri (git-reference
3811 (url "https://github.com/knu/mc-extras.el.git")
3812 (commit commit)))
3813 (file-name (git-file-name name version))
3814 (sha256
3815 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
3816 (build-system emacs-build-system)
3817 (propagated-inputs
3818 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3819 (home-page "https://github.com/knu/mc-extras.el")
3820 (synopsis "Extra functions for manipulating multiple cursors")
3821 (description
3822 "This package provides additional functions for
3823 @code{multiple-cursors}, including functions for marking s-expressions,
3824 comparing characters, removing cursors, and more.")
3825 (license license:bsd-2))))
3826
3827 (define-public emacs-typo
3828 (package
3829 (name "emacs-typo")
3830 (version "1.1")
3831 (home-page "https://github.com/jorgenschaefer/typoel")
3832 (source (origin
3833 (method git-fetch)
3834 (uri (git-reference
3835 (url home-page)
3836 (commit (string-append "v" version))))
3837 (file-name (git-file-name name version))
3838 (sha256
3839 (base32
3840 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
3841 (build-system emacs-build-system)
3842 (synopsis "Minor mode for typographic editing")
3843 (description
3844 "This package provides two Emacs modes, @code{typo-mode} and
3845 @code{typo-global-mode}. These modes automatically insert Unicode characters
3846 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
3847 automatically inserts a Unicode opening or closing quotation mark, depending
3848 on context.")
3849 (license license:gpl3+)))
3850
3851 (define-public emacs-company-lsp
3852 (package
3853 (name "emacs-company-lsp")
3854 (version "2.1.0")
3855 (source (origin
3856 (method git-fetch)
3857 (uri (git-reference
3858 (url "https://github.com/tigersoldier/company-lsp.git")
3859 (commit version)))
3860 (file-name (git-file-name name version))
3861 (sha256
3862 (base32
3863 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
3864 (build-system emacs-build-system)
3865 (propagated-inputs
3866 `(("emacs-dash" ,emacs-dash)
3867 ("emacs-lsp-mode" ,emacs-lsp-mode)
3868 ("emacs-company" ,emacs-company)
3869 ("emacs-s" ,emacs-s)
3870 ("emacs-dash" ,emacs-dash)))
3871 (native-inputs
3872 `(("emacs-buttercup" ,emacs-buttercup)))
3873 (arguments
3874 `(#:tests? #t
3875 #:test-command '("buttercup" "-L" ".")))
3876 (home-page "https://github.com/tigersoldier/company-lsp")
3877 (synopsis "Completion for @code{lsp-mode}")
3878 (description
3879 "This package provides completion features that are not possible with
3880 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
3881 characters and asynchronous fetching of completion candidates.")
3882 (license license:gpl3+)))
3883
3884 (define-public emacs-scheme-complete
3885 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
3886 (package
3887 (name "emacs-scheme-complete")
3888 (version (string-append "20151223." (string-take commit 8)))
3889 (source
3890 (origin
3891 (method git-fetch)
3892 (uri (git-reference
3893 (url "https://github.com/ashinn/scheme-complete.git")
3894 (commit commit)))
3895 (file-name (git-file-name name version))
3896 (sha256
3897 (base32
3898 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
3899 (patches
3900 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
3901 (build-system emacs-build-system)
3902 (home-page "https://github.com/ashinn/scheme-complete")
3903 (synopsis "Smart tab completion for Scheme in Emacs")
3904 (description
3905 "This file provides a single function, @code{scheme-smart-complete},
3906 which you can use for intelligent, context-sensitive completion for any Scheme
3907 implementation in Emacs. To use it just load this file and bind that function
3908 to a key in your preferred mode.")
3909 (license license:public-domain))))
3910
3911 (define-public emacs-scel
3912 (let ((version "20170629")
3913 (revision "1")
3914 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
3915 (package
3916 (name "emacs-scel")
3917 (version (git-version version revision commit))
3918 (source
3919 (origin
3920 (method git-fetch)
3921 (uri (git-reference
3922 (url "https://github.com/supercollider/scel.git")
3923 (commit commit)))
3924 (file-name (git-file-name name version))
3925 (sha256
3926 (base32
3927 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
3928 (build-system emacs-build-system)
3929 (arguments
3930 `(#:modules ((guix build emacs-build-system)
3931 ((guix build cmake-build-system) #:prefix cmake:)
3932 (guix build utils))
3933 #:imported-modules (,@%emacs-build-system-modules
3934 (guix build cmake-build-system))
3935 #:phases
3936 (modify-phases %standard-phases
3937 (add-after 'unpack 'configure
3938 (lambda* (#:key outputs #:allow-other-keys)
3939 (substitute* "el/CMakeLists.txt"
3940 (("share/emacs/site-lisp/SuperCollider")
3941 (string-append
3942 "share/emacs/site-lisp/guix.d/scel-" ,version)))
3943 ((assoc-ref cmake:%standard-phases 'configure)
3944 #:outputs outputs
3945 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
3946 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
3947 (lambda _
3948 (setenv "EMACSLOADPATH"
3949 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
3950 #t))
3951 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
3952 (inputs
3953 `(("supercollider" ,supercollider)))
3954 (native-inputs
3955 `(("cmake" ,cmake-minimal)))
3956 (home-page "https://github.com/supercollider/scel")
3957 (synopsis "SuperCollider Emacs interface")
3958 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
3959 SuperCollider is a platform for audio synthesis and algorithmic composition.")
3960 (license license:gpl2+))))
3961
3962 (define-public emacs-company-auctex
3963 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
3964 (revision "1"))
3965 (package
3966 (name "emacs-company-auctex")
3967 (version (git-version "0" revision commit))
3968 (source (origin
3969 (method git-fetch)
3970 (uri (git-reference
3971 (url "https://github.com/alexeyr/company-auctex")
3972 (commit commit)))
3973 (file-name (git-file-name name version))
3974 (sha256
3975 (base32
3976 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
3977 (build-system emacs-build-system)
3978 (propagated-inputs
3979 `(("emacs-yasnippet" ,emacs-yasnippet)
3980 ("emacs-auctex" ,emacs-auctex)
3981 ("emacs-company" ,emacs-company)))
3982 (home-page "https://github.com/alexeyr/company-auctex/")
3983 (synopsis "Completion for @code{AUCTeX}")
3984 (description
3985 "This package provides a group of backends permitting auto-completion
3986 for @code{AUCTeX}.")
3987 (license license:gpl3+))))
3988
3989 (define-public emacs-mit-scheme-doc
3990 (package
3991 (name "emacs-mit-scheme-doc")
3992 (version "20140203")
3993 (source
3994 (origin
3995 (modules '((guix build utils)))
3996 (snippet
3997 ;; keep only file of interest
3998 '(begin
3999 (for-each delete-file '("dot-emacs.el" "Makefile"))
4000 (install-file "6.945-config/mit-scheme-doc.el" ".")
4001 (delete-file-recursively "6.945-config")
4002 #t))
4003 (file-name (string-append name "-" version ".tar.bz2"))
4004 (method url-fetch)
4005 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
4006 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
4007 (sha256
4008 (base32
4009 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
4010 (build-system emacs-build-system)
4011 (inputs `(("mit-scheme" ,mit-scheme)))
4012 (arguments
4013 `(#:phases
4014 (modify-phases %standard-phases
4015 (add-after 'unpack 'configure-doc
4016 (lambda* (#:key inputs #:allow-other-keys)
4017 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
4018 (doc-dir (string-append mit-scheme-dir "/share/doc/"
4019 "mit-scheme-"
4020 ,(package-version mit-scheme))))
4021 (substitute* "mit-scheme-doc.el"
4022 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
4023 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
4024 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
4025 (synopsis "MIT-Scheme documentation lookup for Emacs")
4026 (description
4027 "This package provides a set of Emacs functions to search definitions of
4028 identifiers in the MIT-Scheme documentation.")
4029 (license license:gpl2+)))
4030
4031 (define-public emacs-constants
4032 (package
4033 (name "emacs-constants")
4034 (version "2.6")
4035 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
4036 (source
4037 (origin
4038 (method git-fetch)
4039 (uri (git-reference
4040 (url "https://github.com/fedeinthemix/emacs-constants.git")
4041 (commit (string-append "v" version))))
4042 (file-name (git-file-name name version))
4043 (sha256
4044 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
4045 (build-system emacs-build-system)
4046 (synopsis "Enter definition of constants into an Emacs buffer")
4047 (description
4048 "This package provides functions for inserting the definition of natural
4049 constants and units into an Emacs buffer.")
4050 (license license:gpl2+)))
4051
4052 (define-public emacs-tagedit
4053 (package
4054 (name "emacs-tagedit")
4055 (version "1.4.0")
4056 (source
4057 (origin
4058 (method git-fetch)
4059 (uri (git-reference
4060 (url "https://github.com/magnars/tagedit.git")
4061 (commit version)))
4062 (file-name (git-file-name name version))
4063 (sha256
4064 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
4065 (build-system emacs-build-system)
4066 (propagated-inputs
4067 `(("emacs-s" ,emacs-s)
4068 ("emacs-dash" ,emacs-dash)))
4069 (home-page "https://github.com/magnars/tagedit")
4070 (synopsis "Some paredit-like features for html-mode")
4071 (description
4072 "This package provides a collection of paredit-like functions for editing
4073 in @code{html-mode}.")
4074 (license license:gpl3+)))
4075
4076 (define-public emacs-slime
4077 (package
4078 (name "emacs-slime")
4079 (version "2.24")
4080 (source
4081 (origin
4082 (method git-fetch)
4083 (uri (git-reference
4084 (url "https://github.com/slime/slime.git")
4085 (commit (string-append "v" version))))
4086 (file-name (git-file-name name version))
4087 (sha256
4088 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
4089 (build-system emacs-build-system)
4090 (native-inputs
4091 `(("texinfo" ,texinfo)))
4092 (arguments
4093 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
4094 #:exclude '("^slime-tests.el" "^contrib/test/"
4095 "^contrib/Makefile$" "^contrib/README.md$")
4096 #:phases
4097 (modify-phases %standard-phases
4098 (add-after 'unpack 'make-git-checkout-writable
4099 (lambda _
4100 (for-each make-file-writable (find-files "."))
4101 #t))
4102 (add-before 'install 'configure
4103 (lambda* _
4104 (emacs-substitute-variables "slime.el"
4105 ("inferior-lisp-program" "sbcl"))
4106 #t))
4107 (add-before 'install 'install-doc
4108 (lambda* (#:key outputs #:allow-other-keys)
4109 (let* ((out (assoc-ref outputs "out"))
4110 (info-dir (string-append out "/share/info"))
4111 (doc-dir (string-append out "/share/doc/"
4112 ,name "-" ,version))
4113 (doc-files '("doc/slime-refcard.pdf"
4114 "README.md" "NEWS" "PROBLEMS"
4115 "CONTRIBUTING.md")))
4116 (with-directory-excursion "doc"
4117 (substitute* "Makefile"
4118 (("infodir=/usr/local/info")
4119 (string-append "infodir=" info-dir)))
4120 (invoke "make" "html/index.html")
4121 (invoke "make" "slime.info")
4122 (install-file "slime.info" info-dir)
4123 (copy-recursively "html" (string-append doc-dir "/html")))
4124 (for-each (lambda (f)
4125 (install-file f doc-dir)
4126 (delete-file f))
4127 doc-files)
4128 (delete-file-recursively "doc")
4129 #t))))))
4130 (home-page "https://github.com/slime/slime")
4131 (synopsis "Superior Lisp Interaction Mode for Emacs")
4132 (description
4133 "SLIME extends Emacs with support for interactive programming in
4134 Common Lisp. The features are centered around @command{slime-mode},
4135 an Emacs minor mode that complements the standard @command{lisp-mode}.
4136 While lisp-mode supports editing Lisp source files, @command{slime-mode}
4137 adds support for interacting with a running Common Lisp process
4138 for compilation, debugging, documentation lookup, and so on.")
4139 (license (list license:gpl2+ license:public-domain))))
4140
4141 (define-public emacs-popup
4142 (package
4143 (name "emacs-popup")
4144 (version "0.5.3")
4145 (source
4146 (origin
4147 (method git-fetch)
4148 (uri (git-reference
4149 (url "https://github.com/auto-complete/popup-el.git")
4150 (commit (string-append "v" version))))
4151 (file-name (git-file-name name version))
4152 (sha256
4153 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
4154 (build-system emacs-build-system)
4155 (home-page "https://github.com/auto-complete/popup-el")
4156 (synopsis "Visual Popup User Interface for Emacs")
4157 (description
4158 "Popup.el is a visual popup user interface library for Emacs.
4159 This provides a basic API and common UI widgets such as popup tooltips
4160 and popup menus.")
4161 (license license:gpl3+)))
4162
4163 (define-public emacs-python-environment
4164 (package
4165 (name "emacs-python-environment")
4166 (version "0.0.2")
4167 (source
4168 (origin
4169 (method git-fetch)
4170 (uri (git-reference
4171 (url "https://github.com/tkf/emacs-python-environment/")
4172 (commit version)))
4173 (file-name (git-file-name name version))
4174 (sha256
4175 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
4176 (build-system emacs-build-system)
4177 (propagated-inputs
4178 `(("emacs-deferred" ,emacs-deferred)))
4179 (home-page "https://github.com/tkf/emacs-python-environment")
4180 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
4181 (description
4182 "This package permits automated installation of tools written in Python.")
4183 (license license:gpl3+)))
4184
4185 (define-public emacs-jedi
4186 (package
4187 (name "emacs-jedi")
4188 (version "0.2.7")
4189 (source (origin
4190 (method git-fetch)
4191 (uri (git-reference
4192 (url "https://github.com/tkf/emacs-jedi/")
4193 (commit (string-append "v" version))))
4194 (file-name (git-file-name name version))
4195 (sha256
4196 (base32
4197 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
4198 (build-system emacs-build-system)
4199 (native-inputs
4200 `(("emacs-mocker" ,emacs-mocker)))
4201 (propagated-inputs
4202 `(("emacs-auto-complete" ,emacs-auto-complete)
4203 ("emacs-python-environment" ,emacs-python-environment)
4204 ("emacs-epc" ,emacs-epc)))
4205 (home-page "https://github.com/tkf/emacs-jedi")
4206 (synopsis "Provides Python completion in Emacs")
4207 (description
4208 "This package provides completion in Python buffers and also helps find
4209 the locations of docstrings, arguments, and functions.")
4210 (license license:gpl3+)))
4211
4212 (define-public emacs-company-jedi
4213 (package
4214 (name "emacs-company-jedi")
4215 (version "0.04")
4216 (source (origin
4217 (method git-fetch)
4218 (uri (git-reference
4219 (url "https://github.com/syohex/emacs-company-jedi")
4220 (commit version)))
4221 (file-name (git-file-name name version))
4222 (sha256
4223 (base32
4224 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
4225 (build-system emacs-build-system)
4226 (propagated-inputs
4227 `(("emacs-jedi" ,emacs-jedi)
4228 ("emacs-company" ,emacs-company)))
4229 (home-page "https://github.com/syohex/emacs-company-jedi")
4230 (synopsis "Provides Python completion in @code{company-mode}")
4231 (description
4232 "This package provides a Company backend for Python.")
4233 (license license:gpl3+)))
4234
4235 (define-public emacs-puppet-mode
4236 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
4237 (revision "1"))
4238 (package
4239 (name "emacs-puppet-mode")
4240 ;; The last release, 0.3 was several years ago, and there have been many
4241 ;; commits since
4242 (version (git-version "0.3" revision commit))
4243 (source
4244 (origin
4245 (method url-fetch)
4246 (uri (string-append
4247 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
4248 commit "/puppet-mode.el"))
4249 (sha256
4250 (base32
4251 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
4252 (build-system emacs-build-system)
4253 (home-page "https://github.com/voxpupuli/puppet-mode")
4254 (synopsis "Emacs major mode for the Puppet configuration language")
4255 (description
4256 "This package provides support for the Puppet configuration language,
4257 including syntax highlighting, indentation of expressions and statements,
4258 linting of manifests and integration with Puppet Debugger.")
4259 ;; Also incorporates work covered by the Apache License, Version 2.0
4260 (license license:gpl3+))))
4261
4262 (define-public emacs-god-mode
4263 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
4264 (revision "1"))
4265 (package
4266 (name "emacs-god-mode")
4267 (version (string-append "20151005.925."
4268 revision "-" (string-take commit 9)))
4269 (source
4270 (origin
4271 (method git-fetch)
4272 (uri (git-reference
4273 (url "https://github.com/chrisdone/god-mode.git")
4274 (commit commit)))
4275 (file-name (git-file-name name version))
4276 (sha256
4277 (base32
4278 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
4279 (build-system emacs-build-system)
4280 (home-page "https://github.com/chrisdone/god-mode")
4281 (synopsis "Minor mode for entering commands without modifier keys")
4282 (description
4283 "This package provides a global minor mode for entering Emacs commands
4284 without modifier keys. It's similar to Vim's separation of commands and
4285 insertion mode. When enabled all keys are implicitly prefixed with
4286 @samp{C-} (among other helpful shortcuts).")
4287 (license license:gpl3+))))
4288
4289 (define-public emacs-jinja2-mode
4290 (package
4291 (name "emacs-jinja2-mode")
4292 (version "0.2")
4293 (source
4294 (origin
4295 (method git-fetch)
4296 (uri (git-reference
4297 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
4298 (commit (string-append "v" version))))
4299 (file-name (git-file-name name version))
4300 (sha256
4301 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
4302 (build-system emacs-build-system)
4303 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
4304 (synopsis "Major mode for jinja2")
4305 (description
4306 "Emacs major mode for jinja2 with: syntax highlighting,
4307 sgml/html integration, and indentation (working with sgml).")
4308 (license license:gpl3+)))
4309
4310 (define-public emacs-company-cabal
4311 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
4312 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
4313 (revision "1"))
4314 (package
4315 (name "emacs-company-cabal")
4316 (version (git-version "0.3.0" revision commit))
4317 (source (origin
4318 (method git-fetch)
4319 (uri (git-reference
4320 (url "https://github.com/iquiw/company-cabal/")
4321 (commit commit)))
4322 (file-name (git-file-name name version))
4323 (sha256
4324 (base32
4325 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
4326 (build-system emacs-build-system)
4327 (propagated-inputs
4328 `(("emacs-company" ,emacs-company)))
4329 (arguments
4330 `(#:include (cons "^tools\\/" %default-include)))
4331 (home-page "https://github.com/iquiw/company-cabal/")
4332 (synopsis "Company completion for Haskell Cabal files")
4333 (description
4334 "This package allows for completion of field names, section names,
4335 field values, and more within @code{haskell-cabal-mode}.")
4336 (license license:gpl3+))))
4337
4338 (define-public emacs-rfcview
4339 (package
4340 (name "emacs-rfcview")
4341 (version "0.13")
4342 (home-page "http://www.loveshack.ukfsn.org/emacs")
4343 (source (origin
4344 (method url-fetch)
4345 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
4346 (sha256
4347 (base32
4348 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
4349 (build-system emacs-build-system)
4350 (synopsis "Prettify Request for Comments (RFC) documents")
4351 (description "The Internet Engineering Task Force (IETF) and the Internet
4352 Society (ISOC) publish various Internet-related protocols and specifications
4353 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
4354 documents. RFCs and STDs are published in a simple text form. This package
4355 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
4356 read these documents in Emacs. It prettifies the text and adds
4357 hyperlinks/menus for easier navigation. It also provides functions for
4358 browsing the index of RFC documents and fetching them from remote servers or
4359 local directories.")
4360 (license license:gpl3+)))
4361
4362 (define-public emacs-ffap-rfc-space
4363 (package
4364 (name "emacs-ffap-rfc-space")
4365 (version "12")
4366 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
4367 (source (origin
4368 (method url-fetch)
4369 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
4370 (sha256
4371 (base32
4372 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
4373 (build-system emacs-build-system)
4374 (synopsis "Make ffap recognize an RFC with a space before its number")
4375 (description "The Internet Engineering Task Force (IETF) and the
4376 Internet Society (ISOC) publish various Internet-related protocols and
4377 specifications as \"Request for Comments\" (RFC) documents. The
4378 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
4379 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
4380 and load the appropriate RFC from a remote server. However, it fails
4381 to recognize a name like \"RFC 1234\". This package enhances ffap so
4382 that it correctly finds RFCs even when a space appears before the
4383 number.")
4384 (license license:gpl3+)))
4385
4386 (define-public emacs-org-bullets
4387 (package
4388 (name "emacs-org-bullets")
4389 (version "0.2.4")
4390 (source
4391 (origin
4392 (method git-fetch)
4393 (uri (git-reference
4394 (url "https://github.com/sabof/org-bullets.git")
4395 (commit version)))
4396 (file-name (git-file-name name version))
4397 (sha256
4398 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
4399 (build-system emacs-build-system)
4400 (home-page "https://github.com/sabof/org-bullets")
4401 (synopsis "Show bullets in org-mode as UTF-8 characters")
4402 (description
4403 "This package provides an Emacs minor mode causing bullets in
4404 @code{org-mode} to be rendered as UTF-8 characters.")
4405 (license license:gpl3+)))
4406
4407 (define-public emacs-org-pomodoro
4408 ;; Last release version was from 2016.
4409 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
4410 (revision "1"))
4411 (package
4412 (name "emacs-org-pomodoro")
4413 (version (git-version "2.1.0" revision commit))
4414 (source
4415 (origin
4416 (method git-fetch)
4417 (uri (git-reference
4418 (url "https://github.com/marcinkoziej/org-pomodoro.git")
4419 (commit commit)))
4420 (file-name (git-file-name name version))
4421 (sha256
4422 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
4423 (build-system emacs-build-system)
4424 (propagated-inputs
4425 `(("emacs-alert" ,emacs-alert)))
4426 (arguments
4427 `(#:include (cons "^resources\\/" %default-include)
4428 #:tests? #t
4429 #:test-command '("emacs" "--batch"
4430 "-l" "org-pomodoro-tests.el"
4431 "-f" "ert-run-tests-batch-and-exit")
4432 #:phases
4433 (modify-phases %standard-phases
4434 (add-before 'check 'make-tests-writable
4435 (lambda _
4436 (make-file-writable "org-pomodoro-tests.el")
4437 #t))
4438 (add-before 'check 'add-require
4439 (lambda _
4440 (emacs-batch-edit-file "org-pomodoro-tests.el"
4441 `(progn (progn (goto-char (point-min))
4442 (re-search-forward
4443 "ert-deftest")
4444 (beginning-of-line)
4445 (forward-line -1)
4446 (insert "(require 'org-pomodoro)"))
4447 (basic-save-buffer)))
4448 #t)))))
4449 (home-page "https://github.com/marcinkoziej/org-pomodoro")
4450 (synopsis "Pomodoro technique for org-mode")
4451 (description "@code{emacs-org-pomodoro} adds very basic support for
4452 Pomodoro technique in Emacs org-mode.
4453
4454 Run @code{M-x org-pomodoro} for the task at point or select one of the
4455 last tasks that you clocked time for. Each clocked-in pomodoro starts
4456 a timer of 25 minutes and after each pomodoro a break timer of 5
4457 minutes is started automatically. Every 4 breaks a long break is
4458 started with 20 minutes. All values are customizable.")
4459 (license license:gpl3+))))
4460
4461 (define-public emacs-org-sidebar
4462 (package
4463 (name "emacs-org-sidebar")
4464 (version "0.2")
4465 (source
4466 (origin
4467 (method git-fetch)
4468 (uri (git-reference
4469 (url "https://github.com/alphapapa/org-sidebar.git")
4470 (commit version)))
4471 (file-name (git-file-name name version))
4472 (sha256
4473 (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03"))))
4474 (build-system emacs-build-system)
4475 (propagated-inputs
4476 `(("emacs-dash" ,emacs-dash)
4477 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
4478 ("emacs-org" ,emacs-org)
4479 ("emacs-org-ql" ,emacs-org-ql)
4480 ("emacs-s" ,emacs-s)))
4481 (home-page "https://github.com/alphapapa/org-sidebar")
4482 (synopsis "Helpful sidebar for Org buffers")
4483 (description "This package provides a sidebar for Org buffers. At the
4484 top is a chronological list of scheduled and deadlined tasks in the current
4485 buffer (similar to the Org agenda ,but without all its features), and below
4486 that is a list of all other non-done to-do items. If the buffer is narrowed,
4487 the sidebar only shows items in the narrowed portion; this allows seeing an
4488 overview of tasks in a subtree.")
4489 (license license:gpl3+)))
4490
4491 (define-public emacs-org-trello
4492 (package
4493 (name "emacs-org-trello")
4494 (version "0.8.0")
4495 (source
4496 (origin
4497 (method git-fetch)
4498 (uri (git-reference
4499 (url "https://github.com/org-trello/org-trello.git")
4500 (commit version)))
4501 (file-name (git-file-name name version))
4502 (sha256
4503 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
4504 (build-system emacs-build-system)
4505 (propagated-inputs
4506 `(("emacs-dash" ,emacs-dash)
4507 ("emacs-deferred" ,emacs-deferred)
4508 ("emacs-f" ,emacs-f)
4509 ("emacs-helm" ,emacs-helm)
4510 ("emacs-request" ,emacs-request)
4511 ("emacs-s" ,emacs-s)))
4512 (home-page "https://org-trello.github.io")
4513 (synopsis "Emacs minor mode for interacting with Trello")
4514 (description "This package provides an Emacs minor mode to extend
4515 @code{org-mode} with Trello abilities. Trello is an online project
4516 organizer.")
4517 (license license:gpl3+)))
4518
4519 (define-public emacs-org-tanglesync
4520 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
4521 (revision "2"))
4522 (package
4523 (name "emacs-org-tanglesync")
4524 (version (git-version "0.6" revision commit))
4525 (source
4526 (origin
4527 (method git-fetch)
4528 (uri (git-reference
4529 (url "https://github.com/mtekman/org-tanglesync.el.git")
4530 (commit commit)))
4531 (file-name (git-file-name name version))
4532 (sha256
4533 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
4534 (build-system emacs-build-system)
4535 (propagated-inputs
4536 `(("emacs-org" ,emacs-org)))
4537 (home-page "https://github.com/mtekman/org-tanglesync.el")
4538 (synopsis "Sync Org source blocks with tangled external files")
4539 (description "This package automatically pulls changes from source code
4540 to their corresponding tangled blocks.")
4541 (license license:gpl3+))))
4542
4543 (define-public emacs-company-flow
4544 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4545 (revision "1"))
4546 (package
4547 (name "emacs-company-flow")
4548 (version (git-version "0.1.0" revision commit))
4549 (source (origin
4550 (method git-fetch)
4551 (uri (git-reference
4552 (url "https://github.com/aaronjensen/company-flow/")
4553 (commit commit)))
4554 (file-name (git-file-name name version))
4555 (sha256
4556 (base32
4557 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4558 (build-system emacs-build-system)
4559 (propagated-inputs
4560 `(("emacs-company" ,emacs-company)
4561 ("emacs-dash" ,emacs-dash)))
4562 (home-page "https://github.com/aaronjensen/company-flow/")
4563 (synopsis "Flow backend for @code{company-mode}")
4564 (description
4565 "This package provides completion for JavaScript files utilizing Flow.")
4566 (license license:gpl3+))))
4567
4568 (define-public emacs-atom-one-dark-theme
4569 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4570 (revision "0"))
4571 (package
4572 (name "emacs-atom-one-dark-theme")
4573 (version (git-version "0.4.0" revision commit))
4574 (source (origin
4575 (method git-fetch)
4576 (uri (git-reference
4577 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4578 (commit commit)))
4579 (sha256
4580 (base32
4581 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4582 (file-name (git-file-name name version))))
4583 (build-system emacs-build-system)
4584 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4585 (synopsis "Atom One Dark color theme for Emacs")
4586 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4587 (license license:gpl3+))))
4588
4589 (define-public emacs-zenburn-theme
4590 (package
4591 (name "emacs-zenburn-theme")
4592 (version "2.6")
4593 (source
4594 (origin
4595 (method git-fetch)
4596 (uri (git-reference
4597 (url "https://github.com/bbatsov/zenburn-emacs.git")
4598 (commit (string-append "v" version))))
4599 (file-name (git-file-name name version))
4600 (sha256
4601 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4602 (build-system emacs-build-system)
4603 (home-page "https://github.com/bbatsov/zenburn-emacs")
4604 (synopsis "Low contrast color theme for Emacs")
4605 (description
4606 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4607 It is built on top of the custom theme support in Emacs 24 or later.")
4608 (license license:gpl3+)))
4609
4610 (define-public emacs-moe-theme-el
4611 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4612 (version "1.0")
4613 (revision "1"))
4614 (package
4615 (name "emacs-moe-theme-el")
4616 (version (git-version version revision commit))
4617 (source
4618 (origin
4619 (method git-fetch)
4620 (uri (git-reference
4621 (url "https://github.com/kuanyui/moe-theme.el")
4622 (commit commit)))
4623 (file-name (git-file-name name version))
4624 (sha256
4625 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4626 (build-system emacs-build-system)
4627 (home-page "https://github.com/kuanyui/moe-theme.el")
4628 (synopsis "Anime-inspired color themes")
4629 (description
4630 "This package provides vibrant color schemes with light and dark
4631 variants.")
4632 (license license:gpl3+))))
4633
4634 (define-public emacs-solarized-theme
4635 (package
4636 (name "emacs-solarized-theme")
4637 (version "1.2.2")
4638 (source (origin
4639 (method url-fetch)
4640 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
4641 "archive/v" version ".tar.gz"))
4642 (file-name (string-append name "-" version ".tar.gz"))
4643 (sha256
4644 (base32
4645 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
4646 (build-system emacs-build-system)
4647 (propagated-inputs
4648 `(("emacs-dash" ,emacs-dash)))
4649 (home-page "https://github.com/bbatsov/solarized-emacs")
4650 (synopsis "Port of the Solarized theme for Emacs")
4651 (description
4652 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4653 package provides a light and a dark variant.")
4654 (license license:gpl3+)))
4655
4656 (define-public emacs-poet-theme
4657 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
4658 (revision "0"))
4659 (package
4660 (name "emacs-poet-theme")
4661 (version (git-version "0" revision commit))
4662 (source
4663 (origin
4664 (method git-fetch)
4665 (uri (git-reference
4666 (url "https://github.com/kunalb/poet.git")
4667 (commit commit)))
4668 (sha256
4669 (base32
4670 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
4671 (build-system emacs-build-system)
4672 (home-page "https://github.com/kunalb/poet/")
4673 (synopsis "Emacs theme for prose")
4674 (description
4675 "Emacs has very good support for multiple fonts in a single file. Poet
4676 uses this support to make it much more convenient to write prose within Emacs,
4677 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
4678 Code blocks, tables, etc are formatted in monospace text with the appropriate
4679 backgrounds.")
4680 (license license:expat))))
4681
4682 (define-public emacs-ahungry-theme
4683 (package
4684 (name "emacs-ahungry-theme")
4685 (version "1.10.0")
4686 (source
4687 (origin (method url-fetch)
4688 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4689 version ".tar"))
4690 (sha256
4691 (base32
4692 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4693 (build-system emacs-build-system)
4694 (home-page "https://github.com/ahungry/color-theme-ahungry")
4695 (synopsis "Ahungry color theme for Emacs")
4696 (description "Ahungry theme for Emacs provides bright and bold colors.
4697 If you load it from a terminal, you will be able to make use of the
4698 transparent background. If you load it from a GUI, it will default to a
4699 dark background.")
4700 (license license:gpl3+)))
4701
4702 (define-public emacs-gruvbox-theme
4703 (package
4704 (name "emacs-gruvbox-theme")
4705 (version "1.28.0")
4706 (source (origin
4707 (method git-fetch)
4708 (uri (git-reference
4709 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4710 (commit version)))
4711 (file-name (git-file-name name version))
4712 (sha256
4713 (base32
4714 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4715 (build-system emacs-build-system)
4716 (propagated-inputs
4717 `(("emacs-autothemer" ,emacs-autothemer)))
4718 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4719 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4720 (description
4721 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4722
4723 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4724 mode switching in the way of solarized. The main focus when developing gruvbox
4725 is to keep colors easily distinguishable, contrast enough and still pleasant
4726 for the eyes.")
4727 (license license:expat))) ; MIT license
4728
4729 (define-public emacs-2048-game
4730 (package
4731 (name "emacs-2048-game")
4732 (version "20151026.1233")
4733 (source
4734 (origin
4735 (method url-fetch)
4736 (uri (string-append "https://melpa.org/packages/2048-game-"
4737 version ".el"))
4738 (sha256
4739 (base32
4740 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4741 (build-system emacs-build-system)
4742 (home-page "https://bitbucket.org/zck/2048.el")
4743 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4744 (description
4745 "This program is an implementation of 2048 for Emacs.
4746 The goal of this game is to create a tile with value 2048. The size of the
4747 board and goal value can be customized.")
4748 (license license:gpl3+)))
4749
4750 (define-public emacs-base16-theme
4751 (package
4752 (name "emacs-base16-theme")
4753 (version "2.2")
4754 (source
4755 (origin
4756 (method git-fetch)
4757 (uri (git-reference
4758 (url "https://github.com/belak/base16-emacs.git")
4759 (commit version)))
4760 (file-name (git-file-name name version))
4761 (sha256
4762 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
4763 (build-system emacs-build-system)
4764 (home-page "https://github.com/belak/base16-emacs")
4765 (synopsis "Base16 color themes for Emacs")
4766 (description
4767 "Base16 provides carefully chosen syntax highlighting and a default set
4768 of sixteen colors suitable for a wide range of applications. Base16 is not a
4769 single theme but a set of guidelines with numerous implementations.")
4770 (license license:expat)))
4771
4772 (define-public emacs-solaire-mode
4773 (package
4774 (name "emacs-solaire-mode")
4775 (version "1.0.9")
4776 (source
4777 (origin
4778 (method git-fetch)
4779 (uri (git-reference
4780 (url "https://github.com/hlissner/emacs-solaire-mode.git")
4781 (commit (string-append "v" version))))
4782 (file-name (git-file-name name version))
4783 (sha256
4784 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
4785 (build-system emacs-build-system)
4786 (home-page "https://github.com/hlissner/emacs-solaire-mode")
4787 (synopsis "Change background of file-visiting buffers in Emacs")
4788 (description
4789 "@code{solaire-mode} is inspired by editors which visually distinguish
4790 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
4791 background of file-visiting buffers (and certain aspects of the UI) to make
4792 them easier to distinguish from other, less important buffers.")
4793 (license license:expat)))
4794
4795 (define-public emacs-prescient
4796 (package
4797 (name "emacs-prescient")
4798 (version "3.3")
4799 (source (origin
4800 (method git-fetch)
4801 (uri (git-reference
4802 (url "https://github.com/raxod502/prescient.el/")
4803 (commit (string-append "v" version))))
4804 (file-name (git-file-name name version))
4805 (sha256
4806 (base32
4807 "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91"))))
4808 (build-system emacs-build-system)
4809 (propagated-inputs
4810 `(("emacs-company" ,emacs-company)
4811 ("emacs-ivy" ,emacs-ivy)))
4812 (home-page "https://github.com/raxod502/prescient.el/")
4813 (synopsis "Library that sorts and filters lists of candidates")
4814 (description
4815 "This package provides a library for sorting and filtering, as well as
4816 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
4817 library.")
4818 (license license:gpl3+)))
4819
4820 (define-public emacs-smartparens
4821 (package
4822 (name "emacs-smartparens")
4823 (version "1.11.0")
4824 (source
4825 (origin
4826 (method git-fetch)
4827 (uri (git-reference
4828 (url "https://github.com/Fuco1/smartparens.git")
4829 (commit version)))
4830 (file-name (git-file-name name version))
4831 (sha256
4832 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
4833 (build-system emacs-build-system)
4834 (propagated-inputs
4835 `(("emacs-dash" ,emacs-dash)
4836 ("emacs-markdown-mode" ,emacs-markdown-mode)))
4837 (home-page "https://github.com/Fuco1/smartparens")
4838 (synopsis "Paredit-like insertion, wrapping and navigation with user
4839 defined pairs")
4840 (description
4841 "Smartparens is a minor mode for Emacs that deals with parens pairs
4842 and tries to be smart about it. It started as a unification effort to
4843 combine functionality of several existing packages in a single,
4844 compatible and extensible way to deal with parentheses, delimiters, tags
4845 and the like. Some of these packages include autopair, textmate,
4846 wrap-region, electric-pair-mode, paredit and others. With the basic
4847 features found in other packages it also brings many improvements as
4848 well as completely new features.")
4849 (license license:gpl3+)))
4850
4851 (define-public emacs-highlight-symbol
4852 ;; We prefer a more recent commit that provides an option to squelch
4853 ;; echo-area alerts that can drown out useful information like eldoc
4854 ;; messages.
4855 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
4856 (version "1.3")
4857 (revision "1"))
4858 (package
4859 (name "emacs-highlight-symbol")
4860 (version (git-version version revision commit))
4861 (source
4862 (origin
4863 (method git-fetch)
4864 (uri (git-reference
4865 (url "https://github.com/nschum/highlight-symbol.el.git")
4866 (commit commit)))
4867 (file-name (git-file-name name version))
4868 (sha256
4869 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
4870 (build-system emacs-build-system)
4871 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
4872 (synopsis "Automatic and manual symbol highlighting for Emacs")
4873 (description
4874 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
4875 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
4876 the symbol at point highlighted.
4877
4878 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
4879 @code{highlight-symbol-next-in-defun} and
4880 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
4881 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
4882 bindings @code{M-p} and @code{M-p} for navigation. When
4883 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
4884 regardless of @code{highlight-symbol-idle-delay}.
4885
4886 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
4887 (license license:gpl2+))))
4888
4889 (define-public emacs-symbol-overlay
4890 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
4891 (revision "1"))
4892 (package
4893 (name "emacs-symbol-overlay")
4894 (version (git-version "4.1" revision commit))
4895 (source
4896 (origin
4897 (method git-fetch)
4898 (uri (git-reference
4899 (url "https://github.com/wolray/symbol-overlay.git")
4900 (commit commit)))
4901 (file-name (git-file-name name version))
4902 (sha256
4903 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
4904 (build-system emacs-build-system)
4905 (home-page "https://github.com/wolray/symbol-overlay")
4906 (synopsis "Highlight symbols and perform various search operations on them")
4907 (description
4908 "This package provides functions for highlighting and navigating
4909 between symbols.")
4910 (license license:gpl3+))))
4911
4912 (define-public emacs-hl-todo
4913 (package
4914 (name "emacs-hl-todo")
4915 (version "3.0.0")
4916 (source (origin
4917 (method git-fetch)
4918 (uri (git-reference
4919 (url "https://github.com/tarsius/hl-todo")
4920 (commit (string-append "v" version))))
4921 (file-name (git-file-name name version))
4922 (sha256
4923 (base32
4924 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
4925 (build-system emacs-build-system)
4926 (home-page "https://github.com/tarsius/hl-todo")
4927 (synopsis "Emacs mode to highlight TODO and similar keywords")
4928 (description
4929 "This package provides an Emacs mode to highlight TODO and similar
4930 keywords in comments and strings. This package also provides commands for
4931 moving to the next or previous keyword and to invoke @code{occur} with a
4932 regexp that matches all known keywords.")
4933 (license license:gpl3+)))
4934
4935 (define-public emacs-perspective
4936 (package
4937 (name "emacs-perspective")
4938 (version "2.2")
4939 (source
4940 (origin
4941 (method git-fetch)
4942 (uri (git-reference
4943 (url "https://github.com/nex3/perspective-el.git")
4944 (commit version)))
4945 (file-name (git-file-name name version))
4946 (sha256
4947 (base32
4948 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
4949 (build-system emacs-build-system)
4950 (home-page "https://github.com/nex3/perspective-el")
4951 (synopsis "Switch between named \"perspectives\"")
4952 (description
4953 "This package provides tagged workspaces in Emacs, similar to workspaces in
4954 windows managers such as Awesome and XMonad. @code{perspective.el} provides
4955 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
4956 perspective is composed of a window configuration and a set of buffers.
4957 Switching to a perspective activates its window configuration, and when in a
4958 perspective only its buffers are available by default.")
4959 ;; This package is released under the same license as Emacs (GPLv3+) or
4960 ;; the Expat license.
4961 (license license:gpl3+)))
4962
4963 (define-public emacs-test-simple
4964 (package
4965 (name "emacs-test-simple")
4966 (version "1.3.0")
4967 (source
4968 (origin
4969 (method url-fetch)
4970 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
4971 version ".el"))
4972 (sha256
4973 (base32
4974 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
4975 (build-system emacs-build-system)
4976 (home-page "https://github.com/rocky/emacs-test-simple")
4977 (synopsis "Simple unit test framework for Emacs Lisp")
4978 (description
4979 "Test Simple is a simple unit test framework for Emacs Lisp. It
4980 alleviates the need for context macros, enclosing specifications or required
4981 test tags. It supports both interactive and non-interactive use.")
4982 (license license:gpl3+)))
4983
4984 (define-public emacs-load-relative
4985 (package
4986 (name "emacs-load-relative")
4987 (version "1.3")
4988 (source
4989 (origin
4990 (method url-fetch)
4991 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
4992 version ".el"))
4993 (sha256
4994 (base32
4995 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
4996 (build-system emacs-build-system)
4997 (home-page "http://github.com/rocky/emacs-load-relative")
4998 (synopsis "Emacs Lisp relative file loading related functions")
4999 (description
5000 "Provides functions which facilitate writing multi-file Emacs packages
5001 and running from the source tree without having to \"install\" code or fiddle
5002 with @{load-path}.
5003
5004 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
5005 another (presumably currently running) Emacs Lisp file.")
5006 (license license:gpl3+)))
5007
5008 (define-public emacs-loc-changes
5009 (package
5010 (name "emacs-loc-changes")
5011 (version "1.2")
5012 (source
5013 (origin
5014 (method url-fetch)
5015 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
5016 version ".el"))
5017 (sha256
5018 (base32
5019 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
5020 (build-system emacs-build-system)
5021 (home-page "https://github.com/rocky/emacs-loc-changes")
5022 (synopsis "Keeps track of positions even after buffer changes")
5023 (description
5024 "This Emacs package provides a mean to track important buffer positions
5025 after buffer changes.")
5026 (license license:gpl3+)))
5027
5028 (define-public emacs-realgud
5029 (package
5030 (name "emacs-realgud")
5031 (version "1.5.1")
5032 (source
5033 (origin
5034 (method git-fetch)
5035 (uri (git-reference
5036 (url "https://github.com/realgud/realgud/")
5037 (commit version)))
5038 (sha256
5039 (base32
5040 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
5041 (file-name (git-file-name name version))))
5042 (build-system emacs-build-system)
5043 (arguments
5044 `(#:tests? #t
5045 #:phases
5046 (modify-phases %standard-phases
5047 (add-after 'set-emacs-load-path 'fix-autogen-script
5048 (lambda _
5049 (substitute* "autogen.sh"
5050 (("./configure") "sh configure"))))
5051 (add-after 'fix-autogen-script 'autogen
5052 (lambda _
5053 (setenv "CONFIG_SHELL" "sh")
5054 (invoke "sh" "autogen.sh")))
5055 (add-after 'fix-autogen-script 'set-home
5056 (lambda _
5057 (setenv "HOME" (getenv "TMPDIR"))))
5058 (add-before 'patch-el-files 'remove-realgud-pkg.el
5059 (lambda _
5060 ;; FIXME: `patch-el-files' crashes on this file with error:
5061 ;; unable to locate "bashdb".
5062 (delete-file "./test/test-regexp-bashdb.el"))))
5063 #:include (cons* ".*\\.el$" %default-include)))
5064 (native-inputs
5065 `(("autoconf" ,autoconf)
5066 ("automake" ,automake)
5067 ("emacs-test-simple" ,emacs-test-simple)))
5068 (propagated-inputs
5069 `(("emacs-load-relative" ,emacs-load-relative)
5070 ("emacs-loc-changes" ,emacs-loc-changes)))
5071 (home-page "https://github.com/realgud/realgud/")
5072 (synopsis
5073 "Modular front-end for interacting with external debuggers")
5074 (description
5075 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
5076 with external debuggers. It integrates various debuggers such as gdb, pdb,
5077 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
5078 sources. Unlike GUD, it also supports running multiple debug sessions in
5079 parallel.")
5080 (license license:gpl3+)))
5081
5082 (define-public emacs-request
5083 (package
5084 (name "emacs-request")
5085 (version "0.3.1")
5086 (source (origin
5087 (method git-fetch)
5088 (uri (git-reference
5089 (url "https://github.com/tkf/emacs-request.git")
5090 (commit (string-append "v" version))))
5091 (file-name (git-file-name name version))
5092 (sha256
5093 (base32
5094 "0fhhd349l4iqkrjxqzpckfk2w45x2g4cccpm1dqzv9m49md1wphx"))))
5095 (build-system emacs-build-system)
5096 (propagated-inputs
5097 `(("emacs-deferred" ,emacs-deferred)))
5098 (home-page "https://github.com/tkf/emacs-request")
5099 (synopsis "Package for speaking HTTP in Emacs Lisp")
5100 (description "This package provides a HTTP request library with multiple
5101 backends. It supports url.el which is shipped with Emacs and the curl command
5102 line program.")
5103 (license license:gpl3+)))
5104
5105 (define-public emacs-rudel
5106 (package
5107 (name "emacs-rudel")
5108 (version "0.3.1")
5109 (source
5110 (origin
5111 (method url-fetch)
5112 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
5113 version ".tar"))
5114 (sha256
5115 (base32
5116 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
5117 (build-system emacs-build-system)
5118 (home-page "http://rudel.sourceforge.net/")
5119 (synopsis "Collaborative editing framework")
5120 (description
5121 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
5122 is to share buffers with other users in order to edit the contents of those
5123 buffers collaboratively. Rudel supports multiple backends to enable
5124 communication with other collaborative editors using different protocols,
5125 though currently Obby (for use with the Gobby editor) is the only
5126 fully-functional one.")
5127 (license license:gpl3+)))
5128
5129 (define-public emacs-hydra
5130 (package
5131 (name "emacs-hydra")
5132 (version "0.15.0")
5133 (source
5134 (origin
5135 (method git-fetch)
5136 (uri (git-reference
5137 (url "https://github.com/abo-abo/hydra")
5138 (commit version)))
5139 (file-name (git-file-name name version))
5140 (sha256
5141 (base32
5142 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
5143 (build-system emacs-build-system)
5144 (arguments
5145 `(#:tests? #t
5146 #:test-command '("make" "test")))
5147 (home-page "https://github.com/abo-abo/hydra")
5148 (synopsis "Make Emacs bindings that stick around")
5149 (description
5150 "This package can be used to tie related commands into a family of short
5151 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
5152 the prefixed binding), all the heads can be called in succession with only a
5153 short extension. Any binding that isn't the Hydra's head vanquishes the
5154 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
5155 serve its original purpose, calling the command assigned to it. This makes
5156 the Hydra very seamless; it's like a minor mode that disables itself
5157 automatically.")
5158 (license license:gpl3+)))
5159
5160 (define-public emacs-ivy
5161 ;; The latest release version introduced a new feature, swiper-isearch, that
5162 ;; generally works well but had some noticeable bugs; this later commit
5163 ;; includes fixes for several of them.
5164 (let ((commit "79333e9edfee38ec3b367c33711a68bdf7783259")
5165 (revision "2"))
5166 (package
5167 (name "emacs-ivy")
5168 (version (git-version "0.12.0" revision commit))
5169 (source
5170 (origin
5171 (method git-fetch)
5172 (uri (git-reference
5173 (url "https://github.com/abo-abo/swiper.git")
5174 (commit commit)))
5175 (file-name (git-file-name name version))
5176 (sha256
5177 (base32
5178 "0dyclc51sprhmr5fi4lylhwsrn8v1jgyblwk9ly60jj84lj6278z"))))
5179 (build-system emacs-build-system)
5180 (arguments
5181 `(#:phases
5182 (modify-phases %standard-phases
5183 (add-after 'install 'install-doc
5184 (lambda* (#:key outputs #:allow-other-keys)
5185 (let* ((out (assoc-ref outputs "out"))
5186 (info (string-append out "/share/info")))
5187 (with-directory-excursion "doc"
5188 (invoke "makeinfo" "ivy.texi")
5189 (install-file "ivy.info" info)
5190 #t))))
5191 (add-before 'check 'make-dummy-git-directory
5192 (lambda _
5193 (mkdir-p ".git")))
5194 (add-after 'check 'delete-dummy-git-directory
5195 (lambda _
5196 (delete-file-recursively ".git"))))
5197 #:tests? #t
5198 #:test-command '("make" "test")))
5199 (propagated-inputs
5200 `(("emacs-hydra" ,emacs-hydra)))
5201 (native-inputs
5202 `(("texinfo" ,texinfo)
5203 ("emacs-wgrep" ,emacs-wgrep)))
5204 (home-page "http://oremacs.com/swiper/")
5205 (synopsis "Incremental vertical completion for Emacs")
5206 (description
5207 "This package provides @code{ivy-read} as an alternative to
5208 @code{completing-read} and similar functions. No attempt is made to determine
5209 the best candidate. Instead, the user can navigate candidates with
5210 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
5211 splitting the input text by spaces and re-building it into a regular
5212 expression.")
5213 (license license:gpl3+))))
5214
5215 (define-public emacs-ivy-pass
5216 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
5217 (revision "1"))
5218 (package
5219 (name "emacs-ivy-pass")
5220 (version (git-version "0.1" revision commit))
5221 (source
5222 (origin
5223 (method git-fetch)
5224 (uri (git-reference
5225 (url "https://github.com/ecraven/ivy-pass.git")
5226 (commit commit)))
5227 (file-name (git-file-name name version))
5228 (sha256
5229 (base32
5230 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
5231 (build-system emacs-build-system)
5232 (propagated-inputs
5233 `(("emacs-ivy" ,emacs-ivy)
5234 ("emacs-password-store" ,emacs-password-store)
5235 ("password-store" ,password-store)))
5236 (home-page "https://github.com/ecraven/ivy-pass")
5237 (synopsis "Ivy interface for password store (pass)")
5238 (description "This package provides an Ivy interface for working with
5239 the password store @code{pass}.")
5240 (license license:gpl3))))
5241
5242 (define-public emacs-ivy-yasnippet
5243 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
5244 (revision "2"))
5245 (package
5246 (name "emacs-ivy-yasnippet")
5247 (version (git-version "0.1" revision commit))
5248 (source
5249 (origin
5250 (method git-fetch)
5251 (uri (git-reference
5252 (url "https://github.com/mkcms/ivy-yasnippet.git")
5253 (commit commit)))
5254 (file-name (git-file-name name version))
5255 (sha256
5256 (base32
5257 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
5258 (build-system emacs-build-system)
5259 (propagated-inputs
5260 `(("emacs-ivy" ,emacs-ivy)
5261 ("emacs-yasnippet" ,emacs-yasnippet)
5262 ("emacs-dash" ,emacs-dash)))
5263 (home-page "https://github.com/mkcms/ivy-yasnippet")
5264 (synopsis "Preview @code{yasnippets} with @code{ivy}")
5265 (description "This package allows you to select @code{yasnippet}
5266 snippets using @code{ivy} completion. When current selection changes in the
5267 minibuffer, the snippet contents are temporarily expanded in the buffer. To
5268 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
5269 @code{yas-minor-mode} first).")
5270 (license license:gpl3+))))
5271
5272 (define-public emacs-ivy-rich
5273 ;; The latest release version has a small mistake that has since been fixed,
5274 ;; so we use a more recent commit.
5275 (let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08")
5276 (version "0.1.4")
5277 (revision "1"))
5278 (package
5279 (name "emacs-ivy-rich")
5280 (version (git-version version revision commit))
5281 (source
5282 (origin
5283 (method git-fetch)
5284 (uri (git-reference
5285 (url "https://github.com/Yevgnen/ivy-rich.git")
5286 (commit commit)))
5287 (file-name (git-file-name name version))
5288 (sha256
5289 (base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219"))))
5290 (build-system emacs-build-system)
5291 (propagated-inputs
5292 `(("emacs-ivy" ,emacs-ivy)))
5293 (home-page "https://github.com/Yevgnen/ivy-rich")
5294 (synopsis "More friendly interface for @code{ivy}")
5295 (description
5296 "This package extends @code{ivy} by showing more information in the
5297 minibuffer for each candidate. It adds columns showing buffer modes, file
5298 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
5299 show icons as well.")
5300 (license license:gpl3+))))
5301
5302 (define-public emacs-avy
5303 (package
5304 (name "emacs-avy")
5305 (version "0.5.0")
5306 (source
5307 (origin
5308 (method git-fetch)
5309 (uri (git-reference
5310 (url "https://github.com/abo-abo/avy.git")
5311 (commit version)))
5312 (file-name (git-file-name name version))
5313 (sha256
5314 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
5315 (build-system emacs-build-system)
5316 (arguments
5317 `(#:tests? #t
5318 #:test-command '("make" "test")))
5319 (home-page "https://github.com/abo-abo/avy")
5320 (synopsis "Tree-based completion for Emacs")
5321 (description
5322 "This package provides a generic completion method based on building a
5323 balanced decision tree with each candidate being a leaf. To traverse the tree
5324 from the root to a desired leaf, typically a sequence of @code{read-key} can
5325 be used.
5326
5327 In order for @code{read-key} to make sense, the tree needs to be visualized
5328 appropriately, with a character at each branch node. So this completion
5329 method works only for things that you can see on your screen, all at once,
5330 such as the positions of characters, words, line beginnings, links, or
5331 windows.")
5332 (license license:gpl3+)))
5333
5334 (define-public emacs-ace-window
5335 ;; last release version is from 2015
5336 (let ((commit "a5344925e399e1f015721cda6cf5db03c90ab87a")
5337 (revision "1"))
5338 (package
5339 (name "emacs-ace-window")
5340 (version (git-version "0.9.0" revision commit))
5341 (source
5342 (origin
5343 (method git-fetch)
5344 (uri (git-reference
5345 (url "https://github.com/abo-abo/ace-window.git")
5346 (commit commit)))
5347 (file-name (git-file-name name version))
5348 (sha256
5349 (base32
5350 "18jm8gfgnf6ja9aarws5650lw2zfi3wdwc5j8r5ijn5fcqhfy7rc"))))
5351 (build-system emacs-build-system)
5352 (propagated-inputs
5353 `(("emacs-avy" ,emacs-avy)))
5354 (home-page "https://github.com/abo-abo/ace-window")
5355 (synopsis "Quickly switch windows in Emacs")
5356 (description
5357 "@code{ace-window} is meant to replace @code{other-window}.
5358 In fact, when there are only two windows present, @code{other-window} is
5359 called. If there are more, each window will have its first character
5360 highlighted. Pressing that character will switch to that window.")
5361 (license license:gpl3+))))
5362
5363 (define-public emacs-iedit
5364 ;; Last release version was in 2016.
5365 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
5366 (revision "1"))
5367 (package
5368 (name "emacs-iedit")
5369 (version (git-version "0.9.9.9" revision commit))
5370 (source
5371 (origin
5372 (method git-fetch)
5373 (uri (git-reference
5374 (url "https://github.com/victorhge/iedit.git")
5375 (commit commit)))
5376 (file-name (git-file-name name version))
5377 (sha256
5378 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
5379 (build-system emacs-build-system)
5380 (home-page "http://www.emacswiki.org/emacs/Iedit")
5381 (synopsis "Edit multiple regions in the same way simultaneously")
5382 (description
5383 "This package is an Emacs minor mode and allows you to edit one
5384 occurrence of some text in a buffer (possibly narrowed) or region, and
5385 simultaneously have other occurrences edited in the same way.
5386
5387 You can also use Iedit mode as a quick way to temporarily show only the buffer
5388 lines that match the current text being edited. This gives you the effect of
5389 a temporary @code{keep-lines} or @code{occur}.")
5390 (license license:gpl3+))))
5391
5392 (define-public emacs-zoutline
5393 (package
5394 (name "emacs-zoutline")
5395 (version "0.2.0")
5396 (source
5397 (origin
5398 (method git-fetch)
5399 (uri (git-reference
5400 (url "https://github.com/abo-abo/zoutline")
5401 (commit version)))
5402 (sha256
5403 (base32
5404 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
5405 (file-name (git-file-name name version))))
5406 (build-system emacs-build-system)
5407 (home-page "https://github.com/abo-abo/zoutline")
5408 (synopsis "Simple outline library")
5409 (description
5410 "This library provides helpers for outlines. Outlines allow users to
5411 navigate code in a tree-like fashion.")
5412 (license license:gpl3+)))
5413
5414 (define-public emacs-lispy
5415 (package
5416 (name "emacs-lispy")
5417 (version "0.27.0")
5418 (home-page "https://github.com/abo-abo/lispy")
5419 (source (origin
5420 (method git-fetch)
5421 (uri (git-reference
5422 (url "https://github.com/abo-abo/lispy")
5423 (commit version)))
5424 (sha256
5425 (base32
5426 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
5427 (file-name (git-file-name name version))))
5428 (build-system emacs-build-system)
5429 (propagated-inputs
5430 `(("emacs-ace-window" ,emacs-ace-window)
5431 ("emacs-iedit" ,emacs-iedit)
5432 ("emacs-ivy" ,emacs-ivy)
5433 ("emacs-hydra" ,emacs-hydra)
5434 ("emacs-zoutline" ,emacs-zoutline)))
5435 (native-inputs
5436 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5437 ("emacs-undercover" ,emacs-undercover)))
5438 (arguments
5439 `(#:include (cons* "^lispy-clojure\\.clj$"
5440 "^lispy-python\\.py$"
5441 %default-include)
5442 #:phases
5443 ;; XXX: one failing test involving python evaluation
5444 (modify-phases %standard-phases
5445 (add-before 'check 'make-test-writable
5446 (lambda _
5447 (make-file-writable "lispy-test.el")
5448 #t))
5449 (add-before 'check 'remove-python-eval-test
5450 (lambda _
5451 (emacs-batch-edit-file "lispy-test.el"
5452 `(progn
5453 (progn
5454 (goto-char (point-min))
5455 (re-search-forward
5456 "ert-deftest lispy-eval-python-str")
5457 (beginning-of-line)
5458 (kill-sexp))
5459 (basic-save-buffer)))
5460 #t)))
5461 #:tests? #t
5462 #:test-command '("make" "test")))
5463 (synopsis "Modal S-expression editing")
5464 (description
5465 "Due to the structure of Lisp syntax it's very rare for the programmer
5466 to want to insert characters right before \"(\" or right after \")\". Thus
5467 unprefixed printable characters can be used to call commands when the point is
5468 at one of these special locations. Lispy provides unprefixed keybindings for
5469 S-expression editing when point is at the beginning or end of an
5470 S-expression.")
5471 (license license:gpl3+)))
5472
5473 (define-public emacs-lispyville
5474 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
5475 (revision "1"))
5476 (package
5477 (name "emacs-lispyville")
5478 (version (git-version "0.1" revision commit))
5479 (home-page "https://github.com/noctuid/lispyville")
5480 (source (origin
5481 (method git-fetch)
5482 (uri (git-reference (url home-page) (commit commit)))
5483 (sha256
5484 (base32
5485 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
5486 (file-name (git-file-name name version))))
5487 (propagated-inputs
5488 `(("emacs-evil" ,emacs-evil)
5489 ("emacs-lispy" ,emacs-lispy)))
5490 (build-system emacs-build-system)
5491 (arguments
5492 `(#:phases
5493 ;; XXX: mysterious whitespace issue with one test
5494 (modify-phases %standard-phases
5495 (add-before 'check 'make-test-writable
5496 (lambda _
5497 (make-file-writable "lispyville-test.el")
5498 #t))
5499 (add-after 'make-test-writable 'remove-test
5500 (lambda _
5501 (emacs-batch-edit-file "lispyville-test.el"
5502 `(progn (progn (goto-char (point-min))
5503 (re-search-forward
5504 "ert-deftest lispyville-comment-and-clone-dwim")
5505 (beginning-of-line)
5506 (kill-sexp))
5507 (basic-save-buffer))))))
5508 #:tests? #t
5509 #:test-command '("make" "test")))
5510 (synopsis "Minor mode for integrating Evil with lispy")
5511 (description
5512 "LispyVille's main purpose is to provide a Lisp editing environment
5513 suited towards Evil users. It can serve as a minimal layer on top of lispy
5514 for better integration with Evil, but it does not require the use of lispy’s
5515 keybinding style. The provided commands allow for editing Lisp in normal
5516 state and will work even without lispy being enabled.")
5517 (license license:gpl3+))))
5518
5519 (define-public emacs-lpy
5520 (let ((commit "dfd9a0fc8f84674fc669eab2942cfa038d7dc590")
5521 (revision "2"))
5522 (package
5523 (name "emacs-lpy")
5524 (version (git-version "0.1.0" revision commit))
5525 (source
5526 (origin
5527 (method git-fetch)
5528 (uri (git-reference
5529 (url "https://github.com/abo-abo/lpy")
5530 (commit commit)))
5531 (sha256
5532 (base32
5533 "15y1fvn1sjngpiqlq090hxqhmxp32f88rspfapwcisxa3hcg5r5a"))
5534 (file-name (git-file-name name version))))
5535 (propagated-inputs
5536 `(("emacs-zoutline" ,emacs-zoutline)
5537 ("emacs-lispy" ,emacs-lispy)))
5538 (build-system emacs-build-system)
5539 (home-page "https://github.com/abo-abo/lpy")
5540 (synopsis "Modal editing for Python")
5541 (description
5542 "This package provides a minor mode for Python that binds useful
5543 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
5544 circumstances, and leaves the keys untouched outside of those situations,
5545 allowing unprefixed keys to insert their respective characters as expected.")
5546 (license license:gpl3+))))
5547
5548 (define-public emacs-clojure-mode
5549 (package
5550 (name "emacs-clojure-mode")
5551 (version "5.6.1")
5552 (source
5553 (origin
5554 (method git-fetch)
5555 (uri (git-reference
5556 (url "https://github.com/clojure-emacs/clojure-mode.git")
5557 (commit version)))
5558 (file-name (git-file-name name version))
5559 (sha256
5560 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
5561 (build-system emacs-build-system)
5562 (native-inputs
5563 `(("emacs-dash" ,emacs-dash)
5564 ("emacs-s" ,emacs-s)
5565 ("ert-runner" ,emacs-ert-runner)))
5566 (arguments
5567 `(#:tests? #t
5568 #:test-command '("ert-runner")))
5569 (home-page "https://github.com/clojure-emacs/clojure-mode")
5570 (synopsis "Major mode for Clojure code")
5571 (description
5572 "This Emacs package provides font-lock, indentation, navigation and basic
5573 refactoring for the @uref{http://clojure.org, Clojure programming language}.
5574 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
5575 (license license:gpl3+)))
5576
5577 (define-public emacs-epl
5578 (package
5579 (name "emacs-epl")
5580 (version "0.8")
5581 (source
5582 (origin
5583 (method git-fetch)
5584 (uri (git-reference
5585 (url "https://github.com/cask/epl.git")
5586 (commit version)))
5587 (file-name (git-file-name name version))
5588 (sha256
5589 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
5590 (build-system emacs-build-system)
5591 (home-page "https://github.com/cask/epl")
5592 (synopsis "Emacs Package Library")
5593 (description
5594 "A package management library for Emacs, based on @code{package.el}.
5595
5596 The purpose of this library is to wrap all the quirks and hassle of
5597 @code{package.el} into a sane API.")
5598 (license license:gpl3+)))
5599
5600 (define-public emacs-counsel-projectile
5601 (package
5602 (name "emacs-counsel-projectile")
5603 (version "0.3.0")
5604 (source (origin
5605 (method git-fetch)
5606 (uri (git-reference
5607 (url "https://github.com/ericdanan/counsel-projectile")
5608 (commit version)))
5609 (file-name (git-file-name name version))
5610 (sha256
5611 (base32
5612 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
5613 (build-system emacs-build-system)
5614 (propagated-inputs
5615 `(("emacs-ivy" ,emacs-ivy)
5616 ("emacs-projectile" ,emacs-projectile)))
5617 (home-page "https://github.com/ericdanan/counsel-projectile")
5618 (synopsis "Enhance Projectile with Ivy")
5619 (description
5620 "This package uses Ivy to provide additional actions for Projectile
5621 commands and replacements for existing functions.")
5622 (license license:gpl3+)))
5623
5624 (define-public emacs-queue
5625 (package
5626 (name "emacs-queue")
5627 (version "0.2")
5628 (source (origin
5629 (method url-fetch)
5630 (uri (string-append "https://elpa.gnu.org/packages/queue-"
5631 version ".el"))
5632 (sha256
5633 (base32
5634 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
5635 (build-system emacs-build-system)
5636 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
5637 (synopsis "Queue data structure for Emacs")
5638 (description
5639 "This Emacs library provides queue data structure. These queues can be
5640 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
5641 stack, i.e. elements can be added to the front or back of the queue, and can
5642 be removed from the front. This type of data structure is sometimes called an
5643 \"output-restricted deque\".")
5644 (license license:gpl3+)))
5645
5646 (define-public emacs-pkg-info
5647 (package
5648 (name "emacs-pkg-info")
5649 (version "0.6")
5650 (source
5651 (origin
5652 (method git-fetch)
5653 (uri (git-reference
5654 (url "https://github.com/lunaryorn/pkg-info.el.git")
5655 (commit version)))
5656 (file-name (git-file-name name version))
5657 (sha256
5658 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
5659 (build-system emacs-build-system)
5660 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
5661 (home-page "https://github.com/lunaryorn/pkg-info.el")
5662 (synopsis "Information about Emacs packages")
5663 (description
5664 "This library extracts information from the installed Emacs packages.")
5665 (license license:gpl3+)))
5666
5667 (define-public emacs-spinner
5668 (package
5669 (name "emacs-spinner")
5670 (version "1.7.3")
5671 (source (origin
5672 (method url-fetch)
5673 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
5674 version ".el"))
5675 (sha256
5676 (base32
5677 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
5678 (build-system emacs-build-system)
5679 (home-page "https://github.com/Malabarba/spinner.el")
5680 (synopsis "Emacs mode-line spinner for operations in progress")
5681 (description
5682 "This Emacs package adds spinners and progress-bars to the mode-line for
5683 ongoing operations.")
5684 (license license:gpl3+)))
5685
5686 (define-public emacs-sparql-mode
5687 (package
5688 (name "emacs-sparql-mode")
5689 (version "2.0.1")
5690 (source
5691 (origin
5692 (method git-fetch)
5693 (uri (git-reference
5694 (url "https://github.com/ljos/sparql-mode.git")
5695 (commit (string-append "v" version))))
5696 (file-name (git-file-name name version))
5697 (sha256
5698 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
5699 (build-system emacs-build-system)
5700 (home-page "https://github.com/ljos/sparql-mode")
5701 (synopsis "SPARQL mode for Emacs")
5702 (description "This package provides a major mode for Emacs that provides
5703 syntax highlighting for SPARQL. It also provides a way to execute queries
5704 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
5705 possible to query other endpoints like DBPedia.")
5706 (license license:gpl3+)))
5707
5708 (define-public emacs-better-defaults
5709 (package
5710 (name "emacs-better-defaults")
5711 (version "0.1.3")
5712 (source
5713 (origin
5714 (method url-fetch)
5715 (uri (string-append "https://github.com/technomancy/better-defaults"
5716 "/archive/" version ".tar.gz"))
5717 (file-name (string-append name "-" version ".tar.gz"))
5718 (sha256
5719 (base32
5720 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
5721 (build-system emacs-build-system)
5722 (home-page "https://github.com/technomancy/better-defaults")
5723 (synopsis "Better defaults for Emacs")
5724 (description
5725 "Better defaults attempts to address the most obvious deficiencies of the
5726 Emacs default configuration in uncontroversial ways that nearly everyone can
5727 agree upon.")
5728 (license license:gpl3+)))
5729
5730 (define-public emacs-undohist-el
5731 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
5732 (revision "1"))
5733 (package
5734 (name "emacs-undohist-el")
5735 (version (git-version "0" revision commit))
5736 (source
5737 (origin
5738 (method git-fetch)
5739 (uri (git-reference
5740 (url "https://github.com/m2ym/undohist-el")
5741 (commit commit)))
5742 (file-name (git-file-name name version))
5743 (sha256
5744 (base32
5745 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
5746 (patches
5747 (search-patches "emacs-undohist-ignored.patch"))))
5748 (build-system emacs-build-system)
5749 (home-page "https://github.com/m2ym/undohist-el")
5750 (synopsis "Save undo history between sessions")
5751 (description "This package allows persistent use of undo history for
5752 individual file buffers.")
5753 (license license:gpl3+))))
5754
5755 (define-public emacs-eprime
5756 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
5757 (package
5758 (name "emacs-eprime")
5759 (version (string-append "20140513-" (string-take commit 7)))
5760 (source (origin
5761 (method url-fetch)
5762 (uri (string-append "https://raw.githubusercontent.com"
5763 "/AndrewHynes/eprime-mode/"
5764 commit "/eprime-mode.el"))
5765 (file-name (string-append "eprime-" version ".el"))
5766 (sha256
5767 (base32
5768 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
5769 (build-system emacs-build-system)
5770 (home-page "https://github.com/AndrewHynes/eprime-mode")
5771 (synopsis "E-prime checking mode for Emacs")
5772 (description "This package provides an E-prime checking mode for Emacs
5773 that highlights non-conforming text. The subset of the English language called
5774 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
5775 (license license:gpl3+))))
5776
5777 (define-public emacs-julia-mode
5778 ;; XXX: Upstream version remained stuck at 0.3. See
5779 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
5780 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
5781 (revision "1"))
5782 (package
5783 (name "emacs-julia-mode")
5784 (version (string-append "0.3-" revision "." (string-take commit 8)))
5785 (source
5786 (origin
5787 (method git-fetch)
5788 (uri (git-reference
5789 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
5790 (commit commit)))
5791 (file-name (git-file-name name version))
5792 (sha256
5793 (base32
5794 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
5795 (build-system emacs-build-system)
5796 (arguments
5797 `(#:tests? #t
5798 #:test-command '("emacs" "--batch"
5799 "-l" "julia-mode-tests.el"
5800 "-f" "ert-run-tests-batch-and-exit")))
5801 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
5802 (synopsis "Major mode for Julia")
5803 (description "This Emacs package provides a mode for the Julia
5804 programming language.")
5805 (license license:expat))))
5806
5807 (define-public emacs-smex
5808 (package
5809 (name "emacs-smex")
5810 (version "3.0")
5811 (source (origin
5812 (method url-fetch)
5813 (uri (string-append "https://raw.githubusercontent.com"
5814 "/nonsequitur/smex/" version "/smex.el"))
5815 (file-name (string-append "smex-" version ".el"))
5816 (sha256
5817 (base32
5818 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
5819 (build-system emacs-build-system)
5820 (home-page "https://github.com/nonsequitur/smex/")
5821 (synopsis "M-x interface with Ido-style fuzzy matching")
5822 (description
5823 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
5824 convenient interface to your recently and most frequently used commands. And
5825 to all the other commands, too.")
5826 (license license:gpl3+)))
5827
5828 (define-public emacs-js2-mode
5829 (package
5830 (name "emacs-js2-mode")
5831 (version "20190219")
5832 (source
5833 (origin
5834 (method git-fetch)
5835 (uri (git-reference
5836 (url "https://github.com/mooz/js2-mode.git")
5837 (commit version)))
5838 (file-name (git-file-name name version))
5839 (sha256
5840 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
5841 (build-system emacs-build-system)
5842 (arguments
5843 `(#:tests? #t
5844 #:test-command '("make" "test")))
5845 (home-page "https://github.com/mooz/js2-mode/")
5846 (synopsis "Improved JavaScript editing mode for Emacs")
5847 (description
5848 "Js2-mode provides a JavaScript major mode for Emacs that is more
5849 advanced than the built-in javascript-mode. Features include accurate syntax
5850 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
5851 errors and strict-mode warnings, smart line-wrapping within comments and
5852 strings, and code folding.")
5853 (license license:gpl3+)))
5854
5855 (define-public emacs-nodejs-repl
5856 (package
5857 (name "emacs-nodejs-repl")
5858 (version "0.2.2")
5859 (source (origin
5860 (method git-fetch)
5861 (uri (git-reference
5862 (url "https://github.com/abicky/nodejs-repl.el")
5863 (commit version)))
5864 (file-name (git-file-name name version))
5865 (sha256
5866 (base32
5867 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
5868 (build-system emacs-build-system)
5869 (home-page "https://github.com/abicky/nodejs-repl.el")
5870 (synopsis "Node.js REPL inside Emacs")
5871 (description
5872 "This program is derived from comint-mode and provides the following
5873 features:
5874
5875 @itemize
5876 @item TAB completion same as Node.js REPL
5877 @item file name completion in string
5878 @item incremental history search
5879 @end itemize")
5880 (license license:gpl3+)))
5881
5882 (define-public emacs-typescript-mode
5883 (package
5884 (name "emacs-typescript-mode")
5885 (version "0.3")
5886 (source (origin
5887 (method git-fetch)
5888 (uri (git-reference
5889 (url "https://github.com/ananthakumaran/typescript.el")
5890 (commit (string-append "v" version))))
5891 (file-name (git-file-name name version))
5892 (sha256
5893 (base32
5894 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
5895 (build-system emacs-build-system)
5896 (home-page "https://github.com/ananthakumaran/typescript.el")
5897 (synopsis "Emacs major mode for editing Typescript code")
5898 (description
5899 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
5900 This is much more robust and works with @code{cc-mode}'s comment
5901 filling (mostly). The modifications to the original @code{javascript.el} mode
5902 mainly consisted in replacing \"javascript\" with \"typescript\"
5903
5904 The main features of this Typescript mode are syntactic highlighting (enabled
5905 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
5906 indentation and filling of comments and C preprocessor fontification.")
5907 (license license:gpl3+)))
5908
5909 (define-public emacs-tide
5910 (package
5911 (name "emacs-tide")
5912 (version "3.2.3")
5913 (source (origin
5914 (method git-fetch)
5915 (uri (git-reference
5916 (url "https://github.com/ananthakumaran/tide")
5917 (commit (string-append "v" version))))
5918 (file-name (git-file-name name version))
5919 (sha256
5920 (base32
5921 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
5922 (build-system emacs-build-system)
5923 (propagated-inputs
5924 `(("emacs-dash" ,emacs-dash)
5925 ("emacs-s" ,emacs-s)
5926 ("emacs-flycheck" ,emacs-flycheck)
5927 ("emacs-typescript-mode" ,emacs-typescript-mode)))
5928 (home-page "https://github.com/ananthakumaran/tide")
5929 (synopsis "Typescript IDE for Emacs")
5930 (description
5931 "Tide is an Interactive Development Environment (IDE) for Emacs which
5932 provides the following features:
5933
5934 @itemize
5935 @item ElDoc
5936 @item Auto complete
5937 @item Flycheck
5938 @item Jump to definition, Jump to type definition
5939 @item Find occurrences
5940 @item Rename symbol
5941 @item Imenu
5942 @item Compile On Save
5943 @item Highlight Identifiers
5944 @item Code Fixes
5945 @item Code Refactor
5946 @item Organize Imports
5947 @end itemize")
5948 (license license:gpl3+)))
5949
5950 (define-public emacs-markdown-mode
5951 (package
5952 (name "emacs-markdown-mode")
5953 (version "2.3")
5954 (source (origin
5955 (method git-fetch)
5956 (uri (git-reference
5957 (url "https://github.com/jrblevin/markdown-mode.git")
5958 (commit (string-append "v" version))))
5959 (file-name (git-file-name name version))
5960 (sha256
5961 (base32
5962 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7"))))
5963 (build-system emacs-build-system)
5964 (home-page "http://jblevins.org/projects/markdown-mode/")
5965 (synopsis "Emacs Major mode for Markdown files")
5966 (description
5967 "Markdown-mode is a major mode for editing Markdown-formatted text files
5968 in Emacs.")
5969 (license license:gpl3+)))
5970
5971 (define-public emacs-edit-indirect
5972 (package
5973 (name "emacs-edit-indirect")
5974 (version "0.1.5")
5975 (source
5976 (origin
5977 (method git-fetch)
5978 (uri (git-reference
5979 (url "https://github.com/Fanael/edit-indirect")
5980 (commit version)))
5981 (file-name (git-file-name name version))
5982 (sha256
5983 (base32
5984 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
5985 (build-system emacs-build-system)
5986 (home-page "https://github.com/Fanael/edit-indirect")
5987 (synopsis "Edit regions in separate buffers")
5988 (description "This package allows you to edit regions in separate buffers,
5989 like @code{org-edit-src-code} but for arbitrary regions.")
5990 (license license:gpl3+)))
5991
5992 (define-public emacs-projectile
5993 (package
5994 (name "emacs-projectile")
5995 (version "2.0.0")
5996 (source (origin
5997 (method url-fetch)
5998 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
5999 "/projectile/v" version "/projectile.el"))
6000 (file-name (string-append "projectile-" version ".el"))
6001 (sha256
6002 (base32
6003 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
6004 (build-system emacs-build-system)
6005 (propagated-inputs
6006 `(("emacs-dash" ,emacs-dash)
6007 ("emacs-pkg-info" ,emacs-pkg-info)))
6008 (home-page "https://github.com/bbatsov/projectile")
6009 (synopsis "Manage and navigate projects in Emacs easily")
6010 (description
6011 "This library provides easy project management and navigation. The
6012 concept of a project is pretty basic - just a folder containing special file.
6013 Currently git, mercurial and bazaar repos are considered projects by default.
6014 If you want to mark a folder manually as a project just create an empty
6015 .projectile file in it.")
6016 (license license:gpl3+)))
6017
6018 (define-public emacs-skeletor
6019 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
6020 (revision "1"))
6021 (package
6022 (name "emacs-skeletor")
6023 (version (git-version "1.6.1" revision commit))
6024 (source (origin
6025 (method git-fetch)
6026 (uri (git-reference
6027 (url "https://github.com/chrisbarrett/skeletor.el.git")
6028 (commit commit)))
6029 (file-name (git-file-name name version))
6030 (sha256
6031 (base32
6032 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
6033 (build-system emacs-build-system)
6034 (propagated-inputs
6035 `(("emacs-s" ,emacs-s)
6036 ("emacs-f" ,emacs-f)
6037 ("emacs-dash" ,emacs-dash)
6038 ("emacs-let-alist" ,emacs-let-alist)))
6039 (native-inputs
6040 `(("emacs-ert-runner" ,emacs-ert-runner)))
6041 (arguments
6042 `(#:include (cons "^project-skeletons\\/" %default-include)
6043 ;; XXX: one failing test involving initializing a git repo
6044 #:phases
6045 (modify-phases %standard-phases
6046 (add-before 'check 'make-test-writable
6047 (lambda _
6048 (make-file-writable "test/skeletor-test.el")
6049 #t))
6050 (add-before 'check 'remove-git-test
6051 (lambda _
6052 (emacs-batch-edit-file "test/skeletor-test.el"
6053 `(progn
6054 (progn
6055 (goto-char (point-min))
6056 (re-search-forward
6057 "ert-deftest initialises-git-repo")
6058 (beginning-of-line)
6059 (kill-sexp))
6060 (basic-save-buffer)))
6061 #t)))
6062 #:tests? #t
6063 #:test-command '("ert-runner")))
6064 (home-page "https://github.com/chrisbarrett/skeletor.el")
6065 (synopsis "Project skeletons for Emacs")
6066 (description "This package provides project templates and automates the
6067 mundane parts of setting up a new project, such as version control, licenses,
6068 and tooling.")
6069 (license license:gpl3+))))
6070
6071 (define-public emacs-elfeed
6072 (package
6073 (name "emacs-elfeed")
6074 (version "3.2.0")
6075 (source
6076 (origin
6077 (method git-fetch)
6078 (uri (git-reference
6079 (url "https://github.com/skeeto/elfeed.git")
6080 (commit version)))
6081 (file-name (git-file-name name version))
6082 (sha256
6083 (base32 "0m0a35210pb4yf6m8mzaq6nkl9x6fphjjqyl3dzygnmmzxkc8aw2"))))
6084 (build-system emacs-build-system)
6085 (arguments
6086 `(#:tests? #t
6087 #:test-command '("make" "test")))
6088 (home-page "https://github.com/skeeto/elfeed")
6089 (synopsis "Atom/RSS feed reader for Emacs")
6090 (description
6091 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
6092 and RSS, with a user interface inspired by notmuch.")
6093 (license license:gpl3+)))
6094
6095 (define-public emacs-elfeed-org
6096 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
6097 (package
6098 (name "emacs-elfeed-org")
6099 (version (git-version "0.1" "1" commit))
6100 (source
6101 (origin
6102 (method git-fetch)
6103 (uri (git-reference
6104 (url "https://github.com/remyhonig/elfeed-org.git")
6105 (commit commit)))
6106 (file-name (git-file-name name version))
6107 (sha256
6108 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
6109 (build-system emacs-build-system)
6110 (propagated-inputs
6111 `(("emacs-elfeed" ,emacs-elfeed)
6112 ("emacs-org" ,emacs-org)
6113 ("emacs-dash" ,emacs-dash)
6114 ("emacs-s" ,emacs-s)))
6115 (native-inputs
6116 `(("ert-runner" ,emacs-ert-runner)
6117 ("emacs-xtest" ,emacs-xtest)))
6118 (arguments
6119 `(#:tests? #t
6120 #:test-command '("ert-runner" "-L" "org-mode/lisp")
6121 #:phases
6122 (modify-phases %standard-phases
6123 (add-before 'check 'chmod
6124 (lambda _
6125 (chmod "test/fixture-mark-feed-ignore.org" #o644)
6126 #t)))))
6127 (home-page "https://github.com/remyhonig/elfeed-org")
6128 (synopsis "Configure Elfeed with an Org-mode file")
6129 (description
6130 "@code{elfeed-org} lets you manage your Elfeed subscriptions
6131 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
6132 the regular flat list, where there is no hierarchy and tag names are
6133 duplicated a lot. Org-mode makes the book keeping of tags and feeds
6134 much easier.")
6135 (license license:gpl3+))))
6136
6137 (define-public emacs-el-x
6138 (package
6139 (name "emacs-el-x")
6140 (version "0.3.1")
6141 (source (origin
6142 (method git-fetch)
6143 (uri (git-reference
6144 (url "https://github.com/sigma/el-x.git")
6145 (commit (string-append "v" version))))
6146 (file-name (git-file-name name version))
6147 (sha256
6148 (base32
6149 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
6150 (build-system emacs-build-system)
6151 (arguments
6152 `(#:phases
6153 (modify-phases %standard-phases
6154 ;; Move the source files to the top level, which is included in
6155 ;; the EMACSLOADPATH.
6156 (add-after 'unpack 'move-source-files
6157 (lambda _
6158 (let ((el-files (find-files "./lisp" ".*\\.el$")))
6159 (for-each (lambda (f)
6160 (rename-file f (basename f)))
6161 el-files))
6162 #t)))))
6163 (home-page "https://github.com/sigma/el-x")
6164 (synopsis "Emacs Lisp extensions")
6165 (description "command@{emacs-el-x} defines the @code{dflet} macro to
6166 provide the historic behavior of @code{flet}, as well as
6167 @code{declare-function} stub for older Emacs.")
6168 (license license:gpl2+)))
6169
6170 (define-public emacs-mocker
6171 (package
6172 (name "emacs-mocker")
6173 (version "0.3.1")
6174 (source (origin
6175 (method git-fetch)
6176 (uri (git-reference
6177 (url "https://github.com/sigma/mocker.el.git")
6178 (commit (string-append "v" version))))
6179 (file-name (git-file-name name version))
6180 (sha256
6181 (base32
6182 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
6183 (build-system emacs-build-system)
6184 (arguments
6185 `(#:tests? #t
6186 #:test-command '("ert-runner")))
6187 (native-inputs
6188 `(("ert-runner" ,emacs-ert-runner)))
6189 (propagated-inputs
6190 `(("emacs-el-x" ,emacs-el-x)))
6191 (home-page "https://github.com/sigma/mocker.el")
6192 (synopsis "Mocking framework for Emacs Lisp")
6193 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
6194 It uses regular Lisp rather than a domain specific language (DSL), which
6195 maximizes flexibility (at the expense of conciseness).")
6196 (license license:gpl2+)))
6197
6198 (define-public emacs-find-file-in-project
6199 (package
6200 (name "emacs-find-file-in-project")
6201 (version "5.4.7")
6202 (source (origin
6203 (method git-fetch)
6204 (uri (git-reference
6205 (url "https://github.com/technomancy/find-file-in-project.git")
6206 (commit version)))
6207 (file-name (git-file-name name version))
6208 (sha256
6209 (base32
6210 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
6211 (build-system emacs-build-system)
6212 (arguments
6213 `(#:phases
6214 (modify-phases %standard-phases
6215 (add-before 'check 'set-shell
6216 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
6217 ;; work.
6218 (lambda _
6219 (setenv "SHELL" (which "sh"))
6220 #t)))
6221 #:tests? #t
6222 #:test-command '("./tests/test.sh")))
6223 (home-page "https://github.com/technomancy/find-file-in-project")
6224 (synopsis "File/directory finder for Emacs")
6225 (description "@code{find-file-in-project} allows to find files or
6226 directories quickly in the current project. The project root is detected
6227 automatically when Git, Subversion or Mercurial are used. It also provides
6228 functions to assist in reviewing changes on files.")
6229 (license license:gpl3+)))
6230
6231 (define-public emacs-pyvenv
6232 (package
6233 (name "emacs-pyvenv")
6234 (version "1.20")
6235 (source (origin
6236 (method git-fetch)
6237 (uri (git-reference
6238 (url "https://github.com/jorgenschaefer/pyvenv.git")
6239 (commit (string-append "v" version))))
6240 (file-name (git-file-name name version))
6241 (sha256
6242 (base32
6243 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
6244 (build-system emacs-build-system)
6245 (arguments
6246 `(#:phases
6247 (modify-phases %standard-phases
6248 ;; This phase incorrectly attempts to substitute "activate" and fails
6249 ;; doing so.
6250 (delete 'patch-el-files))
6251 #:tests? #t
6252 #:test-command '("ert-runner")))
6253 (native-inputs
6254 `(("ert-runner" ,emacs-ert-runner)
6255 ("emacs-mocker" ,emacs-mocker)))
6256 (home-page "https://github.com/jorgenschaefer/pyvenv")
6257 (synopsis "Python virtual environment interface for Emacs")
6258 (description "pyvenv.el is a minor mode to support using Python virtual
6259 environments (virtualenv) inside Emacs.")
6260 (license license:gpl3+)))
6261
6262 (define-public emacs-highlight-indentation
6263 ;; Last release version is from 2015.
6264 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
6265 (revision "1"))
6266 (package
6267 (name "emacs-highlight-indentation")
6268 (version (git-version "0.7.0" revision commit))
6269 (source
6270 (origin
6271 (method git-fetch)
6272 (uri (git-reference
6273 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
6274 (commit commit)))
6275 (file-name (git-file-name name version))
6276 (sha256
6277 (base32
6278 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
6279 (build-system emacs-build-system)
6280 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
6281 (synopsis "Highlighting indentation for Emacs")
6282 (description "This package provides two minor modes to highlight
6283 indentation guides in Emacs:
6284
6285 @enumerate
6286 @item @code{highlight-indentation-mode}, which displays guidelines
6287 indentation (space indentation only).
6288 @item @code{highlight-indentation-current-column-mode}, which displays
6289 guidelines for the current-point indentation (space indentation only).
6290 @end enumerate")
6291 (license license:gpl2+))))
6292
6293 (define-public emacs-elpy
6294 (package
6295 (name "emacs-elpy")
6296 (version "1.31.0")
6297 (source (origin
6298 (method git-fetch)
6299 (uri (git-reference
6300 (url "https://github.com/jorgenschaefer/elpy.git")
6301 (commit version)))
6302 (file-name (git-file-name name version))
6303 (sha256
6304 (base32
6305 "0bvmgqs3c80bhs9v5ymgadv7vk4iamha10y7rl09pixmjm4mzagk"))))
6306 (build-system emacs-build-system)
6307 (arguments
6308 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
6309 #:phases
6310 ;; TODO: Make `elpy-config' display Guix commands :)
6311 (modify-phases %standard-phases
6312 ;; One elpy test depends on being run inside a Python virtual
6313 ;; environment to pass. We have nothing to gain from doing so here,
6314 ;; so we just trick Elpy into thinking we are (see:
6315 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
6316 (add-before 'check 'fake-virtualenv
6317 (lambda _
6318 (setenv "VIRTUAL_ENV" "/tmp")
6319 #t))
6320 (add-before 'check 'build-doc
6321 (lambda _
6322 (with-directory-excursion "docs"
6323 (invoke "make" "info" "man"))
6324 ;; Move .info file at the root so that it can installed by the
6325 ;; 'move-doc phase.
6326 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
6327 #t))
6328 (add-after 'build-doc 'install-manpage
6329 (lambda* (#:key outputs #:allow-other-keys)
6330 (let* ((out (assoc-ref outputs "out"))
6331 (man1 (string-append out "/share/man/man1")))
6332 (mkdir-p man1)
6333 (copy-file "docs/_build/man/elpy.1"
6334 (string-append man1 "/elpy.1")))
6335 #t)))
6336 #:tests? #t
6337 #:test-command '("ert-runner")))
6338 (propagated-inputs
6339 `(("emacs-company" ,emacs-company)
6340 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
6341 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
6342 ("emacs-yasnippet" ,emacs-yasnippet)
6343 ("pyvenv" ,emacs-pyvenv)
6344 ("s" ,emacs-s)))
6345 (native-inputs
6346 `(("ert-runner" ,emacs-ert-runner)
6347 ("emacs-f" ,emacs-f)
6348 ("python" ,python-wrapper)
6349 ("python-autopep8" ,python-autopep8)
6350 ("python-black" ,python-black)
6351 ("python-flake8" ,python-flake8)
6352 ("python-jedi" ,python-jedi)
6353 ("python-yapf" ,python-yapf)
6354 ;; For documentation.
6355 ("python-sphinx" ,python-sphinx)
6356 ("texinfo" ,texinfo)))
6357 (home-page "https://github.com/jorgenschaefer/elpy")
6358 (synopsis "Python development environment for Emacs")
6359 (description "Elpy brings powerful Python editing to Emacs. It combines
6360 and configures a number of other packages written in Emacs Lisp as well as
6361 Python, together offering features such as navigation, documentation,
6362 completion, interactive development and more.")
6363 (license license:gpl3+)))
6364
6365 (define-public emacs-rainbow-delimiters
6366 (package
6367 (name "emacs-rainbow-delimiters")
6368 (version "2.1.3")
6369 (source (origin
6370 (method git-fetch)
6371 (uri (git-reference
6372 (url "https://github.com/Fanael/rainbow-delimiters.git")
6373 (commit version)))
6374 (file-name (git-file-name name version))
6375 (sha256
6376 (base32
6377 "0vs9pf8lqq5p5qz1770pxgw47ym4xj8axxmwamn66br59mykdhv0"))))
6378 (build-system emacs-build-system)
6379 (home-page "https://github.com/Fanael/rainbow-delimiters")
6380 (arguments
6381 `(#:tests? #t
6382 #:test-command '("emacs" "-Q" "-batch"
6383 "-l" "rainbow-delimiters-test.el"
6384 "-f" "ert-run-tests-batch-and-exit")))
6385 (synopsis "Highlight brackets according to their depth")
6386 (description
6387 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
6388 highlights parentheses, brackets, and braces according to their depth. Each
6389 successive level is highlighted in a different color, making it easy to spot
6390 matching delimiters, orient yourself in the code, and tell which statements
6391 are at a given level.")
6392 (license license:gpl3+)))
6393
6394 (define-public emacs-rainbow-identifiers
6395 (package
6396 (name "emacs-rainbow-identifiers")
6397 (version "0.2.2")
6398 (source (origin
6399 (method url-fetch)
6400 (uri (string-append "https://raw.githubusercontent.com/Fanael"
6401 "/rainbow-identifiers/" version
6402 "/rainbow-identifiers.el"))
6403 (file-name (string-append "rainbow-identifiers-" version ".el"))
6404 (sha256
6405 (base32
6406 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
6407 (build-system emacs-build-system)
6408 (home-page "https://github.com/Fanael/rainbow-identifiers")
6409 (synopsis "Highlight identifiers in source code")
6410 (description
6411 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
6412 identifiers based on their names. Each identifier gets a color based on a hash
6413 of its name.")
6414 (license license:bsd-2)))
6415
6416 (define-public emacs-rainbow-mode
6417 (package
6418 (name "emacs-rainbow-mode")
6419 (version "1.0.1")
6420 (source (origin
6421 (method url-fetch)
6422 (uri (string-append
6423 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
6424 (sha256
6425 (base32
6426 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
6427 (build-system emacs-build-system)
6428 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
6429 (synopsis "Colorize color names in buffers")
6430 (description
6431 "This minor mode sets background color to strings that match color
6432 names, e.g. #0000ff is displayed in white with a blue background.")
6433 (license license:gpl3+)))
6434
6435 (define-public emacs-visual-fill-column
6436 (package
6437 (name "emacs-visual-fill-column")
6438 (version "1.11")
6439 (source (origin
6440 (method url-fetch)
6441 (uri (string-append "https://codeload.github.com/joostkremers/"
6442 "visual-fill-column/tar.gz/" version))
6443 (file-name (string-append name "-" version ".tar.gz"))
6444 (sha256
6445 (base32
6446 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
6447 (build-system emacs-build-system)
6448 (home-page "https://github.com/joostkremers/visual-fill-column")
6449 (synopsis "Fill-column for visual-line-mode")
6450 (description
6451 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
6452 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
6453 wrapping lines at the window edge, which is the standard behaviour of
6454 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
6455 @code{fill-column} is too large for the window, the text is wrapped at the
6456 window edge.")
6457 (license license:gpl3+)))
6458
6459 (define-public emacs-writeroom
6460 (package
6461 (name "emacs-writeroom")
6462 (version "3.7")
6463 (source
6464 (origin
6465 (method git-fetch)
6466 (uri (git-reference
6467 (url "https://github.com/joostkremers/writeroom-mode.git")
6468 (commit version)))
6469 (file-name (git-file-name name version))
6470 (sha256
6471 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
6472 (build-system emacs-build-system)
6473 (propagated-inputs
6474 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
6475 (home-page "https://github.com/joostkremers/writeroom-mode")
6476 (synopsis "Distraction-free writing for Emacs")
6477 (description
6478 "This package defines a minor mode for distraction-free writing. Some of
6479 the default effects include entering fullscreen, deleting other windows of the
6480 current frame, disabling the mode line, and adding margins to the buffer that
6481 restrict the text width to 80 characters.")
6482 (license license:bsd-3)))
6483
6484 (define-public emacs-ido-completing-read+
6485 (package
6486 (name "emacs-ido-completing-read+")
6487 (version "3.12")
6488 (source (origin
6489 (method url-fetch)
6490 (uri (string-append "https://raw.githubusercontent.com"
6491 "/DarwinAwardWinner/ido-ubiquitous/v"
6492 version "/ido-completing-read+.el"))
6493 (file-name (string-append "ido-completing-read+-" version ".el"))
6494 (sha256
6495 (base32
6496 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
6497 (build-system emacs-build-system)
6498 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6499 (synopsis "Replacement for completing-read using ido")
6500 (description
6501 "The ido-completing-read+ function is a wrapper for ido-completing-read.
6502 Importantly, it detects edge cases that ordinary ido cannot handle and either
6503 adjusts them so ido can handle them, or else simply falls back to the standard
6504 Emacs completion function instead.")
6505 (license license:gpl3+)))
6506
6507 (define-public emacs-ido-ubiquitous
6508 (package
6509 (name "emacs-ido-ubiquitous")
6510 (version "3.12")
6511 (source (origin
6512 (method url-fetch)
6513 (uri (string-append "https://raw.githubusercontent.com"
6514 "/DarwinAwardWinner/ido-ubiquitous/v"
6515 version "/ido-ubiquitous.el"))
6516 (file-name (string-append "ido-ubiquitous-" version ".el"))
6517 (sha256
6518 (base32
6519 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
6520 (build-system emacs-build-system)
6521 (propagated-inputs
6522 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
6523 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6524 (synopsis "Use ido (nearly) everywhere")
6525 (description
6526 "Ido-ubiquitous enables ido-style completion for almost every function
6527 that uses the standard completion function completing-read.")
6528 (license license:gpl3+)))
6529
6530 (define-public emacs-yaml-mode
6531 (package
6532 (name "emacs-yaml-mode")
6533 (version "0.0.14")
6534 (source (origin
6535 (method git-fetch)
6536 (uri (git-reference
6537 (url "https://github.com/yoshiki/yaml-mode.git")
6538 (commit version)))
6539 (file-name (git-file-name name version))
6540 (sha256
6541 (base32
6542 "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
6543 (build-system emacs-build-system)
6544 (home-page "https://github.com/yoshiki/yaml-mode")
6545 (synopsis "Major mode for editing YAML files")
6546 (description
6547 "Yaml-mode is an Emacs major mode for editing files in the YAML data
6548 serialization format. It was initially developed by Yoshiki Kurihara and many
6549 features were added by Marshall Vandegrift. As YAML and Python share the fact
6550 that indentation determines structure, this mode provides indentation and
6551 indentation command behavior very similar to that of python-mode.")
6552 (license license:gpl3+)))
6553
6554 (define-public emacs-gitlab-ci-mode
6555 (package
6556 (name "emacs-gitlab-ci-mode")
6557 (version "20190425.11.10")
6558 (source (origin
6559 (method git-fetch)
6560 (uri (git-reference
6561 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
6562 (commit (string-append "v" version))))
6563 (file-name (git-file-name name version))
6564 (sha256
6565 (base32
6566 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
6567 (build-system emacs-build-system)
6568 (propagated-inputs
6569 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
6570 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
6571 (synopsis "Emacs mode for editing GitLab CI files")
6572 (description
6573 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
6574 files. It provides syntax highlighting and completion for keywords and
6575 special variables. An interface to GitLab’s CI file linter is also provided
6576 via @code{gitlab-ci-lint}.")
6577 (license license:gpl3+)))
6578
6579 (define-public emacs-web-mode
6580 (package
6581 (name "emacs-web-mode")
6582 (version "16")
6583 (source (origin
6584 (method git-fetch)
6585 (uri (git-reference
6586 (url "https://github.com/fxbois/web-mode.git")
6587 (commit (string-append "v" version))))
6588 (file-name (git-file-name name version))
6589 (sha256
6590 (base32
6591 "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0"))))
6592 (build-system emacs-build-system)
6593 (synopsis "Major mode for editing web templates")
6594 (description "Web-mode is an Emacs major mode for editing web templates
6595 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
6596 client/server side engines). Web-mode is compatible with many template
6597 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
6598 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
6599 Dust.js, React/JSX, Angularjs, ejs, etc.")
6600 (home-page "http://web-mode.org/")
6601 (license license:gpl3+)))
6602
6603 (define-public emacs-wgrep
6604 (package
6605 (name "emacs-wgrep")
6606 (version "2.3.0")
6607 (source (origin
6608 (method git-fetch)
6609 (uri (git-reference
6610 (url "https://github.com/mhayashi1120/Emacs-wgrep")
6611 (commit version)))
6612 (file-name (git-file-name name version))
6613 (sha256
6614 (base32
6615 "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"))))
6616 (build-system emacs-build-system)
6617 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
6618 (synopsis "Edit a grep buffer and apply those changes to the files")
6619 (description
6620 "Emacs wgrep allows you to edit a grep buffer and apply those changes
6621 to the file buffer. Several backends are supported beside the classic grep:
6622 ack, ag, helm and pt.")
6623 (license license:gpl3+)))
6624
6625 (define-public emacs-helm
6626 (package
6627 (name "emacs-helm")
6628 (version "3.5.0")
6629 (source
6630 (origin
6631 (method git-fetch)
6632 (uri (git-reference
6633 (url "https://github.com/emacs-helm/helm.git")
6634 (commit (string-append "v" version))))
6635 (file-name (git-file-name name version))
6636 (sha256
6637 (base32 "07bijcnfkv60l3swasxv53x32l6glds05mxnbb3xbnmkgm1pm9if"))))
6638 (build-system emacs-build-system)
6639 (propagated-inputs
6640 `(("emacs-async" ,emacs-async)
6641 ("emacs-popup" ,emacs-popup)))
6642 (home-page "https://emacs-helm.github.io/helm/")
6643 (synopsis "Incremental completion and selection narrowing
6644 framework for Emacs")
6645 (description "Helm is incremental completion and selection narrowing
6646 framework for Emacs. It will help steer you in the right direction when
6647 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
6648 of @code{anything.el} originally written by Tamas Patrovic and can be
6649 considered to be its successor. Helm sets out to clean up the legacy code in
6650 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
6651 not tied in the trap of backward compatibility.")
6652 (license license:gpl3+)))
6653
6654 (define-public emacs-helm-org
6655 (let ((commit "542dda7bc9a3b9dfb439e4f8a1e5f60cfb6cc256")
6656 (revision "1"))
6657 (package
6658 (name "emacs-helm-org")
6659 (version (git-version "1.0" revision commit))
6660 (source
6661 (origin
6662 (method git-fetch)
6663 (uri (git-reference
6664 (url "https://github.com/emacs-helm/helm-org.git")
6665 (commit commit)))
6666 (file-name (git-file-name name version))
6667 (sha256
6668 (base32 "1xa32w80icrykpyfb89fhb0s4l7ysi0sc7f7lfwqz5najwbgqipl"))))
6669 (build-system emacs-build-system)
6670 (propagated-inputs
6671 `(("emacs-helm" ,emacs-helm)))
6672 (home-page "https://github.com/emacs-helm/helm-org")
6673 (synopsis "Helm interface to the Silver Searcher")
6674 (description
6675 "This package provides a frontend for grepping tools like ag and ack,
6676 as well as features for editing search results.")
6677 (license license:gpl3+))))
6678
6679 (define-public emacs-helm-swoop
6680 (package
6681 (name "emacs-helm-swoop")
6682 (version "2.0.0")
6683 (source
6684 (origin
6685 (method git-fetch)
6686 (uri (git-reference
6687 (url "https://github.com/emacsorphanage/helm-swoop.git")
6688 (commit version)))
6689 (file-name (git-file-name name version))
6690 (sha256
6691 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
6692 (build-system emacs-build-system)
6693 (propagated-inputs
6694 `(("emacs-helm" ,emacs-helm)))
6695 (home-page "https://github.com/emacsorphanage/helm-swoop")
6696 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
6697 (description
6698 "This package builds on the Helm interface to provide several commands
6699 for search-based navigation of buffers.")
6700 (license license:gpl2+)))
6701
6702 (define-public emacs-helm-ag
6703 (let ((commit "2fc02c4ead29bf0db06fd70740cc7c364cb650ac")
6704 (revision "1"))
6705 (package
6706 (name "emacs-helm-ag")
6707 (version (git-version "0.58" revision commit))
6708 (source
6709 (origin
6710 (method git-fetch)
6711 (uri (git-reference
6712 (url "https://github.com/syohex/emacs-helm-ag.git")
6713 (commit commit)))
6714 (file-name (git-file-name name version))
6715 (sha256
6716 (base32 "1gnn0byywbld6afcq1vp92cjvy4wlag9d1wgymnqn86c3b1bcf21"))))
6717 (build-system emacs-build-system)
6718 (propagated-inputs
6719 `(("emacs-helm" ,emacs-helm)))
6720 (home-page "https://github.com/syohex/emacs-helm-ag")
6721 (synopsis "Helm interface to the Silver Searcher")
6722 (description
6723 "This package provides a frontend for grepping tools like ag and ack,
6724 as well as features for editing search results.")
6725 (license license:gpl3+))))
6726
6727 (define-public emacs-helm-projectile
6728 (package
6729 (name "emacs-helm-projectile")
6730 (version "0.14.0")
6731 (source
6732 (origin
6733 (method git-fetch)
6734 (uri (git-reference
6735 (url "https://github.com/bbatsov/helm-projectile.git")
6736 (commit (string-append "v" version))))
6737 (file-name (git-file-name name version))
6738 (sha256
6739 (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
6740 (build-system emacs-build-system)
6741 (propagated-inputs
6742 `(("emacs-dash" ,emacs-dash)
6743 ("emacs-helm" ,emacs-helm)
6744 ("emacs-projectile" ,emacs-projectile)))
6745 (home-page "https://github.com/bbatsov/helm-projectile")
6746 (synopsis "Helm integration for Projectile")
6747 (description
6748 "This Emacs library provides a Helm interface for Projectile.")
6749 (license license:gpl3+)))
6750
6751 (define-public emacs-taskrunner
6752 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
6753 (revision "1"))
6754 (package
6755 (name "emacs-taskrunner")
6756 (version (git-version "0.6" revision commit))
6757 (source
6758 (origin
6759 (method git-fetch)
6760 (uri (git-reference
6761 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
6762 (commit commit)))
6763 (file-name (git-file-name name version))
6764 (sha256
6765 (base32
6766 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
6767 (build-system emacs-build-system)
6768 (propagated-inputs
6769 `(("emacs-async" ,emacs-async)
6770 ("emacs-projectile" ,emacs-projectile)))
6771 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
6772 (synopsis "Retrieve tasks from various build systems and task-runners")
6773 (description "This package parses Makefiles and build-system files for
6774 multiple project types.")
6775 (license license:gpl3+))))
6776
6777 (define-public emacs-ivy-taskrunner
6778 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
6779 (revision "1"))
6780 (package
6781 (name "emacs-ivy-taskrunner")
6782 (version (git-version "0.9" revision commit))
6783 (source
6784 (origin
6785 (method git-fetch)
6786 (uri (git-reference
6787 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
6788 (commit commit)))
6789 (file-name (git-file-name name version))
6790 (sha256
6791 (base32
6792 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
6793 (build-system emacs-build-system)
6794 (propagated-inputs
6795 `(("emacs-ivy" ,emacs-ivy)
6796 ("emacs-taskrunner" ,emacs-taskrunner)
6797 ("emacs-projectile" ,emacs-projectile)))
6798 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
6799 (synopsis "Retrieve build-system tasks using Ivy")
6800 (description "This package provides an Ivy interface for selecting
6801 Makefile targets.")
6802 (license license:gpl3+))))
6803
6804 (define-public emacs-helm-taskrunner
6805 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
6806 (revision "1"))
6807 (package
6808 (name "emacs-helm-taskrunner")
6809 (version (git-version "0.9" revision commit))
6810 (source
6811 (origin
6812 (method git-fetch)
6813 (uri (git-reference
6814 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
6815 (commit commit)))
6816 (file-name (git-file-name name version))
6817 (sha256
6818 (base32
6819 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
6820 (build-system emacs-build-system)
6821 (propagated-inputs
6822 `(("emacs-helm" ,emacs-helm)
6823 ("emacs-taskrunner" ,emacs-taskrunner)
6824 ("emacs-projectile" ,emacs-projectile)))
6825 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
6826 (synopsis "Retrieve build-system tasks using Helm")
6827 (description "This package provides a Helm interface for selecting
6828 Makefile targets.")
6829 (license license:gpl3+))))
6830
6831 (define-public emacs-helm-make
6832 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
6833 (revision "1"))
6834 (package
6835 (name "emacs-helm-make")
6836 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
6837 (source
6838 (origin
6839 (method git-fetch)
6840 (uri (git-reference
6841 (url "https://github.com/abo-abo/helm-make.git")
6842 (commit commit)))
6843 (file-name (git-file-name name version))
6844 (sha256
6845 (base32
6846 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
6847 (build-system emacs-build-system)
6848 (propagated-inputs
6849 `(("emacs-helm" ,emacs-helm)
6850 ("emacs-projectile" ,emacs-projectile)))
6851 (home-page "https://github.com/abo-abo/helm-make")
6852 (synopsis "Select a Makefile target with helm")
6853 (description "@code{helm-make} or @code{helm-make-projectile} will give
6854 you a @code{helm} selection of directory Makefile's targets. Selecting a
6855 target will call @code{compile} on it.")
6856 (license license:gpl3+))))
6857
6858 (define-public emacs-cider
6859 (package
6860 (name "emacs-cider")
6861 (version "0.21.0")
6862 (source
6863 (origin
6864 (method git-fetch)
6865 (uri (git-reference
6866 (url "https://github.com/clojure-emacs/cider.git")
6867 (commit (string-append "v" version))))
6868 (file-name (git-file-name name version))
6869 (sha256
6870 (base32
6871 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
6872 (build-system emacs-build-system)
6873 (arguments
6874 '(#:exclude ; Don't exclude 'cider-test.el'.
6875 '("^\\.dir-locals\\.el$" "^test/")))
6876 (propagated-inputs
6877 `(("emacs-clojure-mode" ,emacs-clojure-mode)
6878 ("emacs-sesman" ,emacs-sesman)
6879 ("emacs-spinner" ,emacs-spinner)
6880 ("emacs-pkg-info" ,emacs-pkg-info)
6881 ("emacs-queue" ,emacs-queue)))
6882 (home-page "https://cider.readthedocs.io/")
6883 (synopsis "Clojure development environment for Emacs")
6884 (description
6885 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
6886 provide an interactive development experience similar to the one you'd get
6887 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
6888 Geiser) and Smalltalk.
6889
6890 CIDER is the successor to the now deprecated combination of using SLIME +
6891 swank-clojure for Clojure development.
6892
6893 There are plenty of differences between CIDER and SLIME, but the core ideas
6894 are pretty much the same (and SLIME served as the principle inspiration for
6895 CIDER).")
6896 (license license:gpl3+)))
6897
6898 ;; There hasn't been a tag or release since 2015, so we take the latest
6899 ;; commit.
6900 (define-public emacs-sly
6901 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
6902 (revision "1"))
6903 (package
6904 (name "emacs-sly")
6905 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
6906 (source
6907 (origin
6908 (method git-fetch)
6909 (uri (git-reference
6910 (url "https://github.com/joaotavora/sly.git")
6911 (commit commit)))
6912 (file-name (git-file-name name version))
6913 (sha256
6914 (base32
6915 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
6916 (build-system emacs-build-system)
6917 (arguments
6918 `(#:include (cons "^lib\\/" %default-include)
6919 #:phases
6920 ;; The package provides autoloads.
6921 (modify-phases %standard-phases
6922 (delete 'make-autoloads))))
6923 (home-page "https://github.com/joaotavora/sly")
6924 (synopsis "Sylvester the Cat's Common Lisp IDE")
6925 (description
6926 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
6927 contains the following improvements over it:
6928
6929 @enumerate
6930 @item Completely redesigned REPL based on Emacs's own full-featured
6931 @code{comint.el}
6932 @item Live code annotations via a new @code{sly-stickers} contrib
6933 @item Consistent interactive button interface. Everything can be copied to
6934 the REPL.
6935 @item Multiple inspectors with independent history
6936 @item Regexp-capable @code{M-x sly-apropos}
6937 @item Contribs are first class SLY citizens and enabled by default
6938 @item Use ASDF to loads contribs on demand.
6939 @end enumerate
6940
6941 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
6942 xref, etc...) are still available, but with better integration.")
6943 (license license:gpl3+))))
6944
6945 (define-public emacs-lua-mode
6946 (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
6947 (revision "2"))
6948 (package
6949 (name "emacs-lua-mode")
6950 (version (git-version "20151025" revision commit))
6951 (home-page "https://github.com/immerrr/lua-mode/")
6952 (source (origin
6953 (method git-fetch)
6954 (uri (git-reference
6955 (url home-page)
6956 (commit commit)))
6957 (file-name (git-file-name name version))
6958 (sha256
6959 (base32
6960 "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
6961 (build-system emacs-build-system)
6962 (synopsis "Major mode for lua")
6963 (description
6964 "This Emacs package provides a mode for @uref{https://www.lua.org/,
6965 Lua programming language}.")
6966 (license license:gpl2+))))
6967
6968 (define-public emacs-ebuild-mode
6969 (package
6970 (name "emacs-ebuild-mode")
6971 (version "1.37")
6972 (source (origin
6973 (method url-fetch)
6974 (uri (string-append
6975 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
6976 "-" version ".tar.xz"))
6977 (file-name (string-append name "-" version ".tar.xz"))
6978 (sha256
6979 (base32
6980 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
6981 (build-system emacs-build-system)
6982 (home-page "https://devmanual.gentoo.org")
6983 (synopsis "Major modes for Gentoo package files")
6984 (description
6985 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
6986 news items, openrc and runscripts.")
6987 (license license:gpl2+)))
6988
6989 (define-public emacs-evil
6990 (package
6991 (name "emacs-evil")
6992 (version "1.2.14")
6993 (source
6994 (origin
6995 (method git-fetch)
6996 (uri (git-reference
6997 (url "https://github.com/emacs-evil/evil")
6998 (commit version)))
6999 (file-name (git-file-name name version))
7000 (sha256
7001 (base32
7002 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
7003 (build-system emacs-build-system)
7004 (propagated-inputs
7005 `(("emacs-undo-tree" ,emacs-undo-tree)
7006 ("emacs-goto-chg" ,emacs-goto-chg)))
7007 (home-page "https://github.com/emacs-evil/evil")
7008 (synopsis "Extensible Vi layer for Emacs")
7009 (description
7010 "Evil is an extensible vi layer for Emacs. It emulates the
7011 main features of Vim, and provides facilities for writing custom
7012 extensions.")
7013 (license license:gpl3+)))
7014
7015 (define-public emacs-evil-collection
7016 (let ((commit "bf4200a57c81c2302a3bf5b2058d74c6f90a3e6c")
7017 (revision "11"))
7018 (package
7019 (name "emacs-evil-collection")
7020 (version (git-version "0.0.3" revision commit))
7021 (source (origin
7022 (method git-fetch)
7023 (uri (git-reference
7024 (url "https://github.com/emacs-evil/evil-collection")
7025 (commit commit)))
7026 (file-name (git-file-name name version))
7027 (sha256
7028 (base32
7029 "01xw0m5gj14ly42y8ikvldpab5my28sylf6l9gvwd5cf909bd445"))))
7030 (build-system emacs-build-system)
7031 (propagated-inputs
7032 `(("emacs-evil" ,emacs-evil)
7033 ("emacs-annalist" ,emacs-annalist)))
7034 (arguments
7035 `(#:include (cons* "^modes\\/" %default-include)))
7036 (home-page "https://github.com/emacs-evil/evil-collection")
7037 (synopsis "Collection of Evil bindings for many major and minor modes")
7038 (description "This is a collection of Evil bindings for the parts of
7039 Emacs that Evil does not cover properly by default, such as @code{help-mode},
7040 @code{M-x calendar}, Eshell and more.")
7041 (license license:gpl3+))))
7042
7043 (define-public emacs-goto-chg
7044 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
7045 (version "1.7.3")
7046 (revision "1"))
7047 (package
7048 (name "emacs-goto-chg")
7049 (version (git-version version revision commit))
7050 (source
7051 (origin
7052 (method git-fetch)
7053 (uri (git-reference
7054 (url "https://github.com/emacs-evil/goto-chg")
7055 (commit commit)))
7056 (file-name (git-file-name name version))
7057 (sha256
7058 (base32
7059 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
7060 (build-system emacs-build-system)
7061 (propagated-inputs
7062 `(("emacs-undo-tree" ,emacs-undo-tree)))
7063 (home-page "https://github.com/emacs-evil/goto-chg")
7064 (synopsis "Go to the last change in the Emacs buffer")
7065 (description
7066 "This package provides @code{M-x goto-last-change} command that goes to
7067 the point of the most recent edit in the current Emacs buffer. When repeated,
7068 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
7069 used for reverse direction.")
7070 (license license:gpl2+))))
7071
7072 (define-public emacs-janpath-evil-numbers
7073 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
7074 (version "0.5")
7075 (revision "1"))
7076 (package
7077 (name "emacs-janpath-evil-numbers")
7078 (version (git-version version revision commit))
7079 (source
7080 (origin
7081 (method git-fetch)
7082 (uri (git-reference
7083 (url "https://github.com/janpath/evil-numbers")
7084 (commit commit)))
7085 (file-name (git-file-name name version))
7086 (sha256
7087 (base32
7088 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
7089 (build-system emacs-build-system)
7090 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7091 (home-page "https://github.com/janpath/evil-numbers")
7092 (synopsis "Increment and decrement numeric literals")
7093 (description
7094 "This package provides functionality to search for a number up to the
7095 end of a line and increment or decrement it.")
7096 (license license:gpl3+))))
7097
7098 (define-public emacs-evil-owl
7099 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
7100 (revision "3"))
7101 (package
7102 (name "emacs-evil-owl")
7103 (version (git-version "0.0.1" revision commit))
7104 (source
7105 (origin
7106 (method git-fetch)
7107 (uri (git-reference
7108 (url "https://github.com/mamapanda/evil-owl")
7109 (commit commit)))
7110 (file-name (git-file-name name version))
7111 (sha256
7112 (base32
7113 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
7114 (build-system emacs-build-system)
7115 (propagated-inputs
7116 `(("emacs-evil" ,emacs-evil)))
7117 (arguments
7118 `(#:tests? #t
7119 #:test-command '("make" "test")))
7120 (home-page "https://github.com/mamapanda/evil-owl")
7121 (synopsis "Preview candidates when using Evil registers and marks")
7122 (description
7123 "This package supplements Evil's register- and mark-based commands with
7124 a popup window for previewing candidates.")
7125 (license license:gpl3+))))
7126
7127 (define-public emacs-evil-exchange
7128 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
7129 (version "0.41")
7130 (revision "1"))
7131 (package
7132 (name "emacs-evil-exchange")
7133 (version (git-version version revision commit))
7134 (source
7135 (origin
7136 (method git-fetch)
7137 (uri (git-reference
7138 (url "https://github.com/Dewdrops/evil-exchange")
7139 (commit commit)))
7140 (file-name (git-file-name name version))
7141 (sha256
7142 (base32
7143 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
7144 (build-system emacs-build-system)
7145 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7146 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
7147 (arguments
7148 `(#:phases
7149 (modify-phases %standard-phases
7150 (add-before 'check 'fix-makefile
7151 (lambda _
7152 (substitute* "Makefile"
7153 (("cask exec ") ""))
7154 #t)))
7155 #:tests? #t
7156 #:test-command '("make" "test")))
7157 (home-page "https://github.com/Dewdrops/evil-exchange")
7158 (synopsis "Exchange text easily within Evil")
7159 (description
7160 "This package, a port of @code{vim-exchange}, provides an Evil operator
7161 for exchanging text.")
7162 (license license:gpl3+))))
7163
7164 (define-public emacs-evil-replace-with-register
7165 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
7166 (version "0.1")
7167 (revision "1"))
7168 (package
7169 (name "emacs-evil-replace-with-register")
7170 (version (git-version version revision commit))
7171 (source
7172 (origin
7173 (method git-fetch)
7174 (uri (git-reference
7175 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7176 (commit commit)))
7177 (file-name (git-file-name name version))
7178 (sha256
7179 (base32
7180 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
7181 (build-system emacs-build-system)
7182 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7183 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7184 (synopsis "Quickly replace text with the contents of a register")
7185 (description
7186 "This package provides an Evil operator for replacing text with the
7187 contents of a register.")
7188 (license license:gpl3+))))
7189
7190 (define-public emacs-evil-indent-plus
7191 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
7192 (version "1.0.0")
7193 (revision "1"))
7194 (package
7195 (name "emacs-evil-indent-plus")
7196 (version (git-version version revision commit))
7197 (source
7198 (origin
7199 (method git-fetch)
7200 (uri (git-reference
7201 (url "https://github.com/TheBB/evil-indent-plus")
7202 (commit commit)))
7203 (file-name (git-file-name name version))
7204 (sha256
7205 (base32
7206 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
7207 (build-system emacs-build-system)
7208 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7209 (home-page "https://github.com/TheBB/evil-indent-plus")
7210 (synopsis "Text objects based on indentation")
7211 (description
7212 "This package adds new text objects for @code{evil-mode} based on
7213 blocks having the same or higher indentation, including or excluding
7214 surrounding lines.")
7215 (license license:gpl2+))))
7216
7217 (define-public emacs-evil-text-object-python
7218 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
7219 (version "1.0.1")
7220 (revision "1"))
7221 (package
7222 (name "emacs-evil-text-object-python")
7223 (version (git-version version revision commit))
7224 (source
7225 (origin
7226 (method git-fetch)
7227 (uri (git-reference
7228 (url "https://github.com/wbolster/evil-text-object-python")
7229 (commit commit)))
7230 (file-name (git-file-name name version))
7231 (sha256
7232 (base32
7233 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
7234 (build-system emacs-build-system)
7235 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7236 (home-page "https://github.com/wbolster/evil-text-object-python")
7237 (synopsis "Text objects for Python")
7238 (description
7239 "This package provides @code{evil-mode} text objects for Python.")
7240 (license license:gpl3+))))
7241
7242 (define-public emacs-evil-lion
7243 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
7244 (revision "1"))
7245 (package
7246 (name "emacs-evil-lion")
7247 (version (git-version "0.0.2" revision commit))
7248 (source
7249 (origin
7250 (method git-fetch)
7251 (uri (git-reference
7252 (url "https://github.com/edkolev/evil-lion")
7253 (commit commit)))
7254 (file-name (git-file-name name version))
7255 (sha256
7256 (base32
7257 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
7258 (build-system emacs-build-system)
7259 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7260 (arguments
7261 `(#:tests? #t
7262 #:test-command '("make" "test")))
7263 (home-page "https://github.com/edkolev/evil-lion")
7264 (synopsis "Align operator for @code{evil-mode}")
7265 (description
7266 "This package, a port of @code{vim-lion}, provides an operator for
7267 aligning text objects based on separators.")
7268 (license license:gpl3+))))
7269
7270 (define-public emacs-evil-expat
7271 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
7272 (revision "1"))
7273 (package
7274 (name "emacs-evil-expat")
7275 (version (git-version "0.0.1" revision commit))
7276 (source
7277 (origin
7278 (method git-fetch)
7279 (uri (git-reference
7280 (url "https://github.com/edkolev/evil-expat")
7281 (commit commit)))
7282 (file-name (git-file-name name version))
7283 (sha256
7284 (base32
7285 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
7286 (build-system emacs-build-system)
7287 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7288 (arguments
7289 `(#:tests? #t
7290 #:test-command '("make" "test")))
7291 (home-page "https://github.com/edkolev/evil-expat")
7292 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
7293 (description
7294 "This package provides additional commands for the @code{ex} command
7295 line, including functions for version control with Git and for copying and
7296 pasting into and from @code{tmux} paste buffers.")
7297 (license license:gpl3+))))
7298
7299 (define-public emacs-evil-nerd-commenter
7300 (package
7301 (name "emacs-evil-nerd-commenter")
7302 (version "3.3.8")
7303 (source
7304 (origin
7305 (method git-fetch)
7306 (uri (git-reference
7307 (url "https://github.com/redguardtoo/evil-nerd-commenter")
7308 (commit version)))
7309 (file-name (git-file-name name version))
7310 (sha256
7311 (base32
7312 "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"))))
7313 (build-system emacs-build-system)
7314 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7315 (arguments
7316 `(#:tests? #t
7317 #:test-command '("make" "test")))
7318 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
7319 (synopsis "Comment and uncomment lines efficiently")
7320 (description
7321 "This package provides text objects and operators for comments within
7322 @code{evil-mode}.")
7323 (license license:gpl3+)))
7324
7325 (define-public emacs-evil-visual-replace
7326 (package
7327 (name "emacs-evil-visual-replace")
7328 (version "0.0.5")
7329 (source
7330 (origin
7331 (method git-fetch)
7332 (uri (git-reference
7333 (url "https://github.com/troyp/evil-visual-replace")
7334 (commit version)))
7335 (file-name (git-file-name name version))
7336 (sha256
7337 (base32
7338 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
7339 (build-system emacs-build-system)
7340 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7341 (home-page "https://github.com/troyp/evil-visual-replace")
7342 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
7343 (description
7344 "This package provides versions of @code{query-replace} and
7345 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
7346 (license license:gpl2+)))
7347
7348 (define-public emacs-evil-visualstar
7349 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
7350 (version "0.0.2")
7351 (revision "1"))
7352 (package
7353 (name "emacs-evil-visualstar")
7354 (version (git-version version revision commit))
7355 (source
7356 (origin
7357 (method git-fetch)
7358 (uri (git-reference
7359 (url "https://github.com/bling/evil-visualstar")
7360 (commit commit)))
7361 (file-name (git-file-name name version))
7362 (sha256
7363 (base32
7364 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
7365 (build-system emacs-build-system)
7366 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7367 (home-page "https://github.com/bling/evil-visualstar")
7368 (synopsis "Instantly search using the visual selection")
7369 (description
7370 "This package provides @code{evil-mode} functions for using selected text
7371 to search.")
7372 (license license:gpl3+))))
7373
7374 (define-public emacs-monroe
7375 (package
7376 (name "emacs-monroe")
7377 (version "0.3.1")
7378 (source
7379 (origin
7380 (method git-fetch)
7381 (uri (git-reference
7382 (url "https://github.com/sanel/monroe.git")
7383 (commit version)))
7384 (file-name (git-file-name name version))
7385 (sha256
7386 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
7387 (build-system emacs-build-system)
7388 (home-page "https://github.com/sanel/monroe")
7389 (synopsis "Clojure nREPL client for Emacs")
7390 (description
7391 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
7392 distribution, primarily targeting Clojure users")
7393 (license license:gpl3+)))
7394
7395 (define-public emacs-orgalist
7396 (package
7397 (name "emacs-orgalist")
7398 (version "1.9")
7399 (source
7400 (origin
7401 (method url-fetch)
7402 (uri (string-append "https://elpa.gnu.org/packages/"
7403 "orgalist-" version ".el"))
7404 (sha256
7405 (base32
7406 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
7407 (build-system emacs-build-system)
7408 (home-page "http://elpa.gnu.org/packages/orgalist.html")
7409 (synopsis "Manage Org-like lists in non-Org buffers")
7410 (description "Write Org mode's plain lists in non-Org buffers. More
7411 specifically, Orgalist supports the syntax of Org mode for numbered,
7412 unnumbered, description items, checkboxes, and counter cookies.
7413
7414 The library also implements radio lists, i.e., lists written in Org
7415 syntax later translated into the host format, e.g., LaTeX or HTML.")
7416 (license license:gpl3+)))
7417
7418 (define-public emacs-writegood-mode
7419 (package
7420 (name "emacs-writegood-mode")
7421 (version "2.0.2")
7422 (home-page "https://github.com/bnbeckwith/writegood-mode")
7423 (source (origin
7424 (method git-fetch)
7425 (uri (git-reference
7426 (url home-page)
7427 (commit (string-append "v" version))))
7428 (sha256
7429 (base32
7430 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
7431 (file-name (string-append name "-checkout"))))
7432 (build-system emacs-build-system)
7433 (synopsis "Polish up poor writing on the fly")
7434 (description
7435 "This minor mode tries to find and highlight problems with your writing
7436 in English as you type. It primarily detects \"weasel words\" and abuse of
7437 passive voice.")
7438 (license license:gpl3+)))
7439
7440 (define-public emacs-neotree
7441 (package
7442 (name "emacs-neotree")
7443 (version "0.5.2")
7444 (home-page "https://github.com/jaypei/emacs-neotree")
7445 (source (origin
7446 (method url-fetch)
7447 (uri (string-append
7448 "https://github.com/jaypei/" name
7449 "/archive/" version ".tar.gz"))
7450 (sha256
7451 (base32
7452 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
7453 (file-name (string-append name "-" version ".tar.gz"))))
7454 (build-system emacs-build-system)
7455 (synopsis "Folder tree view for Emacs")
7456 (description "This Emacs package provides a folder tree view.")
7457 (license license:gpl3+)))
7458
7459 (define-public emacs-org
7460 (package
7461 (name "emacs-org")
7462 ;; emacs-org-contrib inherits from this package. Please update its sha256
7463 ;; checksum as well.
7464 (version "9.2.6")
7465 (source (origin
7466 (method url-fetch)
7467 (uri (string-append "https://elpa.gnu.org/packages/org-"
7468 version ".tar"))
7469 (sha256
7470 (base32
7471 "0ikd78k4yw4sm5x7l3dsbvfcmvnv5qna2mxirr560gvcnzhr0zg4"))))
7472 (build-system emacs-build-system)
7473 (home-page "https://orgmode.org/")
7474 (synopsis "Outline-based notes management and organizer")
7475 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7476 lists, and project planning with a fast and effective lightweight markup
7477 language. It also is an authoring system with unique support for literate
7478 programming and reproducible research.")
7479 (license license:gpl3+)))
7480
7481 (define-public emacs-org-contrib
7482 (package
7483 (inherit emacs-org)
7484 (name "emacs-org-contrib")
7485 (version "20190904")
7486 (source (origin
7487 (method url-fetch)
7488 (uri (string-append "https://orgmode.org/elpa/"
7489 "org-plus-contrib-" version ".tar"))
7490 (sha256
7491 (base32
7492 "08s3fk3jim0y2v00l6ah8y08ba8wbcf29z6fxqzyaxj58a5sq81a"))))
7493 (arguments
7494 `(#:modules ((guix build emacs-build-system)
7495 (guix build utils)
7496 (guix build emacs-utils)
7497 (ice-9 ftw)
7498 (srfi srfi-1))
7499 #:phases
7500 (modify-phases %standard-phases
7501 (add-after 'install 'delete-org-files
7502 (lambda* (#:key inputs outputs #:allow-other-keys)
7503 (let* ((out (assoc-ref outputs "out"))
7504 (org (assoc-ref inputs "org"))
7505 (contrib-files
7506 (map basename (find-files out)))
7507 (org+contrib-files
7508 (map basename (find-files org)))
7509 (duplicates (lset-intersection
7510 string=? contrib-files org+contrib-files)))
7511 (with-directory-excursion
7512 (string-append
7513 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
7514 (for-each delete-file duplicates))
7515 #t))))))
7516 (propagated-inputs
7517 `(("arduino-mode" ,emacs-arduino-mode)
7518 ("cider" ,emacs-cider)
7519 ("org" ,emacs-org)
7520 ("scel" ,emacs-scel)))
7521 (synopsis "Contributed packages to Org mode")
7522 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7523 lists, and project planning with a fast and effective plain-text system.
7524
7525 This package is equivalent to org-plus-contrib, but only includes additional
7526 files that you would find in @file{contrib/} from the git repository.")))
7527
7528 (define-public emacs-flx
7529 (package
7530 (name "emacs-flx")
7531 (version "0.6.1")
7532 (source
7533 (origin
7534 (method url-fetch)
7535 (uri (string-append "https://github.com/lewang/"
7536 "flx/archive/v" version ".tar.gz"))
7537 (sha256
7538 (base32
7539 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
7540 (file-name (string-append name "-" version ".tar.gz"))))
7541 (build-system emacs-build-system)
7542 (home-page "https://github.com/lewang/flx")
7543 (synopsis "Fuzzy matching for Emacs")
7544 (description
7545 "Flx provides fuzzy matching for emacs a la sublime text.
7546 The sorting algorithm is a balance between word beginnings (abbreviation)
7547 and contiguous matches (substring). The longer the substring match,
7548 the higher it scores. This maps well to how we think about matching.
7549 Flx has support for ido (interactively do things) through flx-ido.")
7550 (license license:gpl3+)))
7551
7552 (define-public emacs-cyberpunk-theme
7553 (package
7554 (name "emacs-cyberpunk-theme")
7555 (version "1.19")
7556 (source
7557 (origin
7558 (method url-fetch)
7559 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
7560 "archive/" version ".tar.gz"))
7561 (sha256
7562 (base32
7563 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
7564 (file-name (string-append name "-" version ".tar.gz"))))
7565 (build-system emacs-build-system)
7566 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
7567 (synopsis "Cyberpunk theme for emacs built-in color theme support")
7568 (description
7569 "Cyberpunk color theme for the emacs 24+ built-in color theme support
7570 known loosely as deftheme. Many mode-specific customizations are included.")
7571 (license license:gpl3+)))
7572
7573 (define-public emacs-danneskjold-theme
7574 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
7575 (revision "1"))
7576 (package
7577 (name "emacs-danneskjold-theme")
7578 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
7579 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
7580 (source
7581 (origin
7582 (method git-fetch)
7583 (uri (git-reference
7584 (url home-page)
7585 (commit commit)))
7586 (file-name (git-file-name name version))
7587 (sha256
7588 (base32
7589 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
7590 (build-system emacs-build-system)
7591 (arguments
7592 `(#:phases
7593 (modify-phases %standard-phases
7594 (add-after 'unpack 'delete-screenshots
7595 (lambda _
7596 (delete-file-recursively "screenshots") #t)))))
7597 (synopsis "High-contrast Emacs theme")
7598 (description
7599 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
7600 (license license:gpl3+))))
7601
7602 (define-public emacs-dream-theme
7603 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
7604 (revision "1"))
7605 (package
7606 (name "emacs-dream-theme")
7607 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
7608 (source
7609 (origin
7610 (method git-fetch)
7611 (uri (git-reference
7612 (url "https://github.com/djcb/dream-theme")
7613 (commit commit)))
7614 (file-name (git-file-name name version))
7615 (sha256
7616 (base32
7617 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
7618 (build-system emacs-build-system)
7619 (home-page "https://github.com/djcb/dream-theme")
7620 (synopsis "High-contrast Emacs theme")
7621 (description
7622 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
7623 by zenburn, sinburn and similar themes, but slowly diverging from them.")
7624 (license license:gpl3+))))
7625
7626 (define-public emacs-auto-complete
7627 (package
7628 (name "emacs-auto-complete")
7629 (version "1.5.1")
7630 (source
7631 (origin
7632 (method url-fetch)
7633 (uri (string-append "https://github.com/auto-complete/"
7634 "auto-complete/archive/v" version ".tar.gz"))
7635 (sha256
7636 (base32
7637 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
7638 (file-name (string-append name "-" version ".tar.gz"))))
7639 (build-system emacs-build-system)
7640 (propagated-inputs
7641 `(("emacs-popup" ,emacs-popup)))
7642 (home-page "https://github.com/auto-complete/auto-complete")
7643 (synopsis "Intelligent auto-completion extension for Emacs")
7644 (description
7645 "Auto-Complete is an intelligent auto-completion extension for Emacs.
7646 It extends the standard Emacs completion interface and provides an environment
7647 that allows users to concentrate more on their own work. Its features are:
7648 a visual interface, reduce overhead of completion by using statistic method,
7649 extensibility.")
7650 (license license:gpl3+)))
7651
7652 (define-public emacs-nginx-mode
7653 (package
7654 (name "emacs-nginx-mode")
7655 (version "1.1.9")
7656 (source
7657 (origin
7658 (method git-fetch)
7659 (uri (git-reference
7660 (url "https://github.com/ajc/nginx-mode.git")
7661 (commit (string-append "v" version))))
7662 (file-name (git-file-name name version))
7663 (sha256
7664 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
7665 (build-system emacs-build-system)
7666 (home-page "https://github.com/ajc/nginx-mode")
7667 (synopsis "Emacs major mode for editing nginx config files")
7668 (description "This package provides an Emacs major mode for
7669 editing nginx config files.")
7670 (license license:gpl2+)))
7671
7672 (define-public emacs-stream
7673 (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7")
7674 (revision "1"))
7675 (package
7676 (name "emacs-stream")
7677 (version (git-version "2.2.4" revision commit))
7678 (source
7679 (origin
7680 (method git-fetch)
7681 (uri (git-reference
7682 (url "https://github.com/Emacsmirror/stream.git")
7683 (commit commit)))
7684 (file-name (git-file-name name version))
7685 (sha256
7686 (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332"))))
7687 (build-system emacs-build-system)
7688 (arguments
7689 `(#:tests? #t
7690 #:test-command '("emacs" "--batch"
7691 "-l" "tests/stream-tests.el"
7692 "-f" "ert-run-tests-batch-and-exit")))
7693 (home-page "https://github.com/Emacsmirror/stream")
7694 (synopsis "Implementation of streams for Emacs")
7695 (description "This library provides an implementation of streams for Emacs.
7696 Streams are implemented as delayed evaluation of cons cells.")
7697 (license license:gpl3+))))
7698
7699 (define-public emacs-cl-print
7700 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
7701 (revision "1"))
7702 (package
7703 (name "emacs-cl-print")
7704 (version (git-version "1.0" revision commit))
7705 (source
7706 (origin
7707 (method git-fetch)
7708 (uri (git-reference
7709 (url "https://github.com/emacsmirror/cl-print.git")
7710 (commit commit)))
7711 (file-name (git-file-name name version))
7712 (sha256
7713 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
7714 (build-system emacs-build-system)
7715 (home-page "https://github.com/emacsmirror/cl-print")
7716 (synopsis "CL-style generic printing")
7717 (description "This package provides a generic function,
7718 @code{cl-print-object}, to which the programmer can add any method they
7719 please.")
7720 (license license:gpl3+))))
7721
7722 (define-public emacs-el-search
7723 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
7724 (revision "2"))
7725 (package
7726 (name "emacs-el-search")
7727 (version (git-version "1.12.6.1" revision commit))
7728 (source
7729 (origin
7730 (method git-fetch)
7731 (uri (git-reference
7732 (url "https://github.com/emacsmirror/el-search.git")
7733 (commit commit)))
7734 (file-name (git-file-name name version))
7735 (sha256
7736 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
7737 (build-system emacs-build-system)
7738 (inputs
7739 `(("emacs-stream" ,emacs-stream)
7740 ("emacs-cl-print" ,emacs-cl-print)))
7741 (home-page "https://github.com/emacsmirror/el-search")
7742 (synopsis "Expression based interactive search for emacs-lisp-mode")
7743 (description "This package provides expression based interactive search
7744 procedures for emacs-lisp-mode.")
7745 (license license:gpl3+))))
7746
7747 (define-public emacs-ht
7748 (package
7749 (name "emacs-ht")
7750 (version "2.2")
7751 (source
7752 (origin
7753 (method git-fetch)
7754 (uri (git-reference
7755 (url "https://github.com/Wilfred/ht.el.git")
7756 (commit version)))
7757 (file-name (git-file-name name version))
7758 (sha256
7759 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
7760 (build-system emacs-build-system)
7761 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
7762 (native-inputs
7763 `(("emacs-ert-runner" ,emacs-ert-runner)))
7764 (arguments
7765 `(#:tests? #t
7766 #:test-command '("ert-runner")))
7767 (home-page "https://github.com/Wilfred/ht.el")
7768 (synopsis "Hash table library for Emacs")
7769 (description
7770 "This package simplifies the use of hash tables in elisp. It also
7771 provides functions to convert hash tables from and to alists and plists.")
7772 (license license:gpl3+)))
7773
7774 (define-public emacs-log4e
7775 (package
7776 (name "emacs-log4e")
7777 (version "0.3.0")
7778 (source
7779 (origin
7780 (method git-fetch)
7781 (uri (git-reference
7782 (url "https://github.com/aki2o/log4e.git")
7783 (commit (string-append "v" version))))
7784 (file-name (git-file-name name version))
7785 (sha256
7786 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
7787 (build-system emacs-build-system)
7788 (arguments
7789 `(#:phases
7790 (modify-phases %standard-phases
7791 (add-after 'unpack 'remove-tests
7792 ;; Guile builder complains about null characters in some
7793 ;; strings of test files. Remove "test" directory (it is not
7794 ;; needed anyway).
7795 (lambda _
7796 (delete-file-recursively "test"))))))
7797 (home-page "https://github.com/aki2o/log4e")
7798 (synopsis "Logging framework for elisp")
7799 (description
7800 "This package provides a logging framework for elisp. It allows
7801 you to deal with multiple log levels.")
7802 (license license:gpl3+)))
7803
7804 (define-public emacs-gntp
7805 (package
7806 (name "emacs-gntp")
7807 (version "0.1")
7808 (source
7809 (origin
7810 (method git-fetch)
7811 (uri (git-reference
7812 (url "https://github.com/tekai/gntp.el.git")
7813 (commit (string-append "v" version))))
7814 (file-name (git-file-name name version))
7815 (sha256
7816 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
7817 (build-system emacs-build-system)
7818 (home-page "https://github.com/tekai/gntp.el")
7819 (synopsis "Growl Notification Protocol for Emacs")
7820 (description
7821 "This package implements the Growl Notification Protocol GNTP
7822 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
7823 It is incomplete as it only lets you send but not receive
7824 notifications.")
7825 (license license:bsd-3)))
7826
7827 (define-public emacs-alert
7828 (package
7829 (name "emacs-alert")
7830 (version "1.3")
7831 (source
7832 (origin
7833 (method git-fetch)
7834 (uri (git-reference
7835 (url "https://github.com/jwiegley/alert.git")
7836 (commit (string-append "v" version))))
7837 (file-name (git-file-name name version))
7838 (sha256
7839 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
7840 (build-system emacs-build-system)
7841 (propagated-inputs
7842 `(("emacs-gntp" ,emacs-gntp)
7843 ("emacs-log4e" ,emacs-log4e)))
7844 (home-page "https://github.com/jwiegley/alert")
7845 (synopsis "Growl-style notification system for Emacs")
7846 (description
7847 "Alert is a Growl-workalike for Emacs which uses a common notification
7848 interface and multiple, selectable \"styles\", whose use is fully
7849 customizable by the user.")
7850 (license license:gpl2+)))
7851
7852 (define-public emacs-zones
7853 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
7854 (revision "2"))
7855 (package
7856 (name "emacs-zones")
7857 (version (git-version "0" revision commit))
7858 (source
7859 (origin
7860 (method git-fetch)
7861 (uri (git-reference
7862 (url "https://github.com/emacsmirror/zones.git")
7863 (commit commit)))
7864 (file-name (git-file-name name version))
7865 (sha256
7866 (base32
7867 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
7868 (patches
7869 (search-patches
7870 "emacs-zones-called-interactively.patch"))))
7871 (build-system emacs-build-system)
7872 (home-page "https://www.emacswiki.org/emacs/Zones")
7873 (synopsis "Define and act on multiple zones of buffer text")
7874 (description "Library @file{zones.el} lets you easily define and
7875 subsequently act on multiple zones of buffer text. You can think of this as
7876 enlarging the notion of region. In effect, it can remove the requirement of
7877 target text being a contiguous sequence of characters. A set of buffer zones
7878 is, in effect, a (typically) noncontiguous set of text.")
7879 (license license:gpl3+))))
7880
7881 (define-public emacs-mu4e-alert
7882 (package
7883 (name "emacs-mu4e-alert")
7884 (version "1.0")
7885 (source
7886 (origin
7887 (method git-fetch)
7888 (uri (git-reference
7889 (url "https://github.com/iqbalansari/mu4e-alert.git")
7890 (commit (string-append "v" version))))
7891 (file-name (git-file-name name version))
7892 (sha256
7893 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
7894 (build-system emacs-build-system)
7895 (propagated-inputs
7896 `(("emacs-alert" ,emacs-alert)
7897 ("emacs-s" ,emacs-s)
7898 ("emacs-ht" ,emacs-ht)
7899 ("mu" ,mu)))
7900 (home-page "https://github.com/iqbalansari/mu4e-alert")
7901 (synopsis "Desktop notification for mu4e")
7902 (description
7903 "This package provides desktop notifications for mu4e.
7904 Additionally it can display the number of unread emails in the
7905 mode-line.")
7906 (license license:gpl3+)))
7907
7908 (define-public emacs-mu4e-jump-to-list
7909 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
7910 (revision "1"))
7911 (package
7912 (name "emacs-mu4e-jump-to-list")
7913 (version (git-version "1.0" revision commit))
7914 (source
7915 (origin
7916 (method git-fetch)
7917 (uri (git-reference
7918 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
7919 (commit commit)))
7920 (file-name (git-file-name name version))
7921 (sha256
7922 (base32
7923 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
7924 (build-system emacs-build-system)
7925 (propagated-inputs
7926 `(("mu" ,mu)))
7927 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
7928 (synopsis "Select and view mailing lists in mu4e")
7929 (description
7930 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
7931 automatically using existing List-ID headers in your mu database. Just press
7932 \"l\" in the headers view and any mailing list you've subscribed to will be
7933 automatically discovered and presented in recency order.")
7934 (license license:gpl3+))))
7935
7936 (define-public emacs-mu4e-patch
7937 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
7938 (revision "1"))
7939 (package
7940 (name "emacs-mu4e-patch")
7941 (version (git-version "0.1.0" revision commit))
7942 (source (origin
7943 (method git-fetch)
7944 (uri (git-reference
7945 (url "https://github.com/seanfarley/mu4e-patch")
7946 (commit commit)))
7947 (file-name (git-file-name name version))
7948 (sha256
7949 (base32
7950 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
7951 (build-system emacs-build-system)
7952 (propagated-inputs
7953 `(("mu" ,mu)))
7954 (home-page "https://github.com/seanfarley/mu4e-patch")
7955 (synopsis "Colorize patch-like emails in mu4e")
7956 (description
7957 "Extension for mu4e to colorize patch-like emails with diff-mode.
7958 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
7959 been adapted to work with mu4e.")
7960 (license license:gpl3+))))
7961
7962 (define-public emacs-pretty-mode
7963 (package
7964 (name "emacs-pretty-mode")
7965 (version "2.0.3")
7966 (source
7967 (origin
7968 (method url-fetch)
7969 (uri (string-append "https://github.com/akatov/pretty-mode/"
7970 "archive/" version ".tar.gz"))
7971 (file-name (string-append name "-" version ".tar.gz"))
7972 (sha256
7973 (base32
7974 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
7975 (build-system emacs-build-system)
7976 (home-page "https://github.com/akatov/pretty-mode")
7977 (synopsis "Redisplay parts of the buffer as Unicode symbols")
7978 (description
7979 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
7980 (license license:gpl3+)))
7981
7982 (define-public emacs-yasnippet
7983 (package
7984 (name "emacs-yasnippet")
7985 (version "0.13.0")
7986 (source (origin
7987 (method url-fetch)
7988 (uri (string-append "https://github.com/joaotavora/yasnippet/"
7989 "archive/" version ".tar.gz"))
7990 (file-name (string-append name "-" version ".tar.gz"))
7991 (sha256
7992 (base32
7993 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
7994 (modules '((guix build utils)))
7995 (snippet
7996 '(begin
7997 ;; YASnippet expects a "snippets" subdirectory in the same
7998 ;; directory as yasnippet.el, but we don't install it
7999 ;; because it's a git submodule pointing to an external
8000 ;; repository. Adjust `yas-snippet-dirs' to prevent
8001 ;; warnings about a missing directory.
8002 (substitute* "yasnippet.el"
8003 (("^ +'yas-installed-snippets-dir\\)\\)\n")
8004 "))\n"))
8005 #t))))
8006 (build-system emacs-build-system)
8007 (home-page "https://github.com/joaotavora/yasnippet")
8008 (synopsis "Yet another snippet extension for Emacs")
8009 (description
8010 "YASnippet is a template system for Emacs. It allows you to type an
8011 abbreviation and automatically expand it into function templates.")
8012 (license license:gpl3+)))
8013
8014 (define-public emacs-yasnippet-snippets
8015 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
8016 (revision "1"))
8017 (package
8018 (name "emacs-yasnippet-snippets")
8019 (version (string-append "1-" revision "." (string-take commit 8)))
8020 (source
8021 (origin
8022 (method git-fetch)
8023 (uri (git-reference
8024 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
8025 (commit commit)))
8026 (file-name (git-file-name name version))
8027 (sha256
8028 (base32
8029 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
8030 (build-system trivial-build-system)
8031 (arguments
8032 `(#:modules ((ice-9 ftw)
8033 (ice-9 regex)
8034 (guix build utils))
8035 #:builder
8036 (begin
8037 (use-modules (ice-9 ftw)
8038 (ice-9 regex)
8039 (guix build utils))
8040 (with-directory-excursion (assoc-ref %build-inputs "source")
8041 (for-each (lambda (dir)
8042 (copy-recursively
8043 dir
8044 (string-append %output
8045 "/share/emacs/yasnippet-snippets/"
8046 dir)))
8047 (scandir "." (lambda (fname)
8048 (and (string-match "-mode$" fname)
8049 (directory-exists? fname))))))
8050 #t)))
8051 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
8052 (synopsis "Collection of YASnippet snippets for many languages")
8053 (description
8054 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
8055 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
8056 To make YASnippet aware of these snippets, add the above directory to
8057 @code{yas-snippet-dirs}.")
8058 (license license:expat))))
8059
8060 (define-public emacs-helm-c-yasnippet
8061 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
8062 (revision "1"))
8063 (package
8064 (name "emacs-helm-c-yasnippet")
8065 (version (string-append "0.6.7" "-" revision "."
8066 (string-take commit 7)))
8067 (source (origin
8068 (method git-fetch)
8069 (uri (git-reference
8070 (url "https://github.com/emacs-jp/helm-c-yasnippet")
8071 (commit commit)))
8072 (file-name (git-file-name name version))
8073 (sha256
8074 (base32
8075 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
8076 (build-system emacs-build-system)
8077 (propagated-inputs
8078 `(("emacs-helm" ,emacs-helm)
8079 ("emacs-yasnippet" ,emacs-yasnippet)))
8080 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
8081 (synopsis "Helm integration for Yasnippet")
8082 (description "This Emacs library provides Helm interface for
8083 Yasnippet.")
8084 (license license:gpl2+))))
8085
8086 (define-public emacs-helm-system-packages
8087 ;; There won't be a new release after 1.10.1 until
8088 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
8089 ;; and latest commits fix import issues with Guix.
8090 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
8091 (package
8092 (name "emacs-helm-system-packages")
8093 (version (git-version "1.10.1" "1" commit))
8094 (source (origin
8095 (method git-fetch)
8096 (uri (git-reference
8097 (url "https://github.com/emacs-helm/helm-system-packages")
8098 (commit commit)))
8099 (file-name (git-file-name name version))
8100 (sha256
8101 (base32
8102 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
8103 (build-system emacs-build-system)
8104 (inputs
8105 `(("recutils" ,recutils)))
8106 (propagated-inputs
8107 `(("emacs-helm" ,emacs-helm)))
8108 (arguments
8109 `(#:phases
8110 (modify-phases %standard-phases
8111 (add-after 'unpack 'configure
8112 (lambda* (#:key inputs outputs #:allow-other-keys)
8113 (let ((recutils (assoc-ref inputs "recutils")))
8114 ;; Specify the absolute file names of the various
8115 ;; programs so that everything works out-of-the-box.
8116 (substitute* "helm-system-packages-guix.el"
8117 (("recsel") (string-append recutils "/bin/recsel")))))))))
8118 (home-page "https://github.com/emacs-helm/helm-system-packages")
8119 (synopsis "Helm System Packages is an interface to your package manager")
8120 (description "List all available packages in Helm (with installed
8121 packages displayed in their own respective face). Fuzzy-search, mark and
8122 execute the desired action over any selections of packages: Install,
8123 uninstall, display packages details (in Org Mode) or insert details at point,
8124 find files owned by packages... And much more, including performing all the
8125 above over the network.")
8126 (license license:gpl3+))))
8127
8128 (define-public emacs-helm-org-rifle
8129 (package
8130 (name "emacs-helm-org-rifle")
8131 (version "1.7.0")
8132 (source
8133 (origin
8134 (method git-fetch)
8135 (uri (git-reference
8136 (url "https://github.com/alphapapa/helm-org-rifle")
8137 (commit version)))
8138 (file-name (git-file-name name version))
8139 (sha256
8140 (base32
8141 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
8142 (build-system emacs-build-system)
8143 (propagated-inputs
8144 `(("emacs-dash" ,emacs-dash)
8145 ("emacs-f" ,emacs-f)
8146 ("emacs-helm" ,emacs-helm)
8147 ("emacs-org" ,emacs-org)
8148 ("emacs-s" ,emacs-s)))
8149 (home-page "https://github.com/alphapapa/helm-org-rifle")
8150 (synopsis "Rifle through Org files")
8151 (description "This package searches both headings and contents of entries
8152 in Org buffers and displays matching entries.")
8153 (license license:gpl3+)))
8154
8155 (define-public emacs-dired-toggle-sudo
8156 (package
8157 (name "emacs-dired-toggle-sudo")
8158 (version "1.0")
8159 (source
8160 (origin
8161 (method git-fetch)
8162 (uri (git-reference
8163 (url "https://github.com/renard/dired-toggle-sudo")
8164 (commit (string-append "v" version))))
8165 (file-name (git-file-name name version))
8166 (sha256
8167 (base32
8168 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
8169 (patches
8170 (search-patches
8171 "emacs-dired-toggle-sudo-emacs-26.patch"))))
8172 (build-system emacs-build-system)
8173 (home-page "https://github.com/renard/dired-toggle-sudo")
8174 (synopsis "Browse directory with @code{sudo} privileges")
8175 (description "This package allows for the use of @code{dired} with
8176 @code{sudo} privileges.")
8177 (license license:wtfpl2)))
8178
8179 (define-public emacs-memoize
8180 (package
8181 (name "emacs-memoize")
8182 (version "1.1")
8183 (source
8184 (origin
8185 (method git-fetch)
8186 (uri (git-reference
8187 (url "https://github.com/skeeto/emacs-memoize.git")
8188 (commit version)))
8189 (file-name (git-file-name name version))
8190 (sha256
8191 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
8192 (build-system emacs-build-system)
8193 (arguments
8194 `(#:tests? #t
8195 #:test-command '("emacs" "--batch"
8196 "-l" "memoize-test.el"
8197 "-f" "ert-run-tests-batch-and-exit")))
8198 (home-page "https://github.com/skeeto/emacs-memoize")
8199 (synopsis "Emacs lisp memoization library")
8200 (description "@code{emacs-memoize} is an Emacs library for
8201 memoizing functions.")
8202 (license license:unlicense)))
8203
8204 (define-public emacs-linum-relative
8205 (package
8206 (name "emacs-linum-relative")
8207 (version "0.6")
8208 (source
8209 (origin
8210 (method git-fetch)
8211 (uri (git-reference
8212 (url "https://github.com/coldnew/linum-relative.git")
8213 (commit version)))
8214 (file-name (git-file-name name version))
8215 (sha256
8216 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
8217 (build-system emacs-build-system)
8218 (home-page "https://github.com/coldnew/linum-relative")
8219 (synopsis "Relative line numbering for Emacs")
8220 (description "@code{emacs-linum-relative} displays the relative line
8221 number on the left margin in Emacs.")
8222 (license license:gpl2+)))
8223
8224 (define-public emacs-idle-highlight
8225 (package
8226 (name "emacs-idle-highlight")
8227 (version "1.1.3")
8228 (source
8229 (origin
8230 (method git-fetch)
8231 (uri (git-reference
8232 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
8233 (commit version)))
8234 (file-name (git-file-name name version))
8235 (sha256
8236 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
8237 (build-system emacs-build-system)
8238 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
8239 (synopsis "Highlights all occurrences of the word the point is on")
8240 (description
8241 "This Emacs package provides @code{idle-highlight-mode} that sets
8242 an idle timer to highlight all occurrences in the buffer of the word under
8243 the point.")
8244 (license license:gpl3+)))
8245
8246 (define-public emacs-ox-twbs
8247 (package
8248 (name "emacs-ox-twbs")
8249 (version "1.1.1")
8250 (source
8251 (origin
8252 (method git-fetch)
8253 (uri (git-reference
8254 (url "https://github.com/marsmining/ox-twbs.git")
8255 (commit (string-append "v" version))))
8256 (file-name (git-file-name name version))
8257 (sha256
8258 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
8259 (build-system emacs-build-system)
8260 (home-page "https://github.com/marsmining/ox-twbs")
8261 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
8262 (description
8263 "This Emacs package outputs your org-mode docs with a simple, clean and
8264 modern look. It implements a new HTML back-end for exporting org-mode docs as
8265 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
8266 jQuery and Bootstrap resources included via osscdn.")
8267 (license license:gpl3+)))
8268
8269 (define-public emacs-highlight-sexp
8270 (package
8271 (name "emacs-highlight-sexp")
8272 (version "1.0")
8273 (source
8274 (origin
8275 (method git-fetch)
8276 (uri (git-reference
8277 (url "https://github.com/daimrod/highlight-sexp.git")
8278 (commit (string-append "v" version))))
8279 (file-name (git-file-name name version))
8280 (sha256
8281 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
8282 (build-system emacs-build-system)
8283 (home-page "https://github.com/daimrod/highlight-sexp")
8284 (synopsis "Minor mode that highlights the s-exp at the current position")
8285 (description
8286 "This Emacs package highlights the s-exp at the current position.")
8287 (license license:gpl3+)))
8288
8289 (define-public emacs-highlight-stages
8290 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
8291 (revision "1"))
8292 (package
8293 (name "emacs-highlight-stages")
8294 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
8295 (source
8296 (origin
8297 (method git-fetch)
8298 (uri (git-reference
8299 (url "https://github.com/zk-phi/highlight-stages.git")
8300 (commit commit)))
8301 (file-name (git-file-name name version))
8302 (sha256
8303 (base32
8304 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
8305 (patches
8306 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
8307 (build-system emacs-build-system)
8308 (home-page "https://github.com/wigust/highlight-stages")
8309 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
8310 (description "@code{highlight-stages} provides an Emacs minor mode that
8311 highlights quasi-quoted expressions.")
8312 (license license:gpl3+))))
8313
8314 (define-public emacspeak
8315 (package
8316 (name "emacspeak")
8317 (version "50.0")
8318 (source
8319 (origin
8320 (method url-fetch)
8321 (uri (string-append
8322 "https://github.com/tvraman/emacspeak/releases/download/"
8323 version "/emacspeak-" version ".tar.bz2"))
8324 (sha256
8325 (base32
8326 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
8327 (build-system gnu-build-system)
8328 (arguments
8329 '(#:make-flags (list (string-append "prefix="
8330 (assoc-ref %outputs "out")))
8331 #:phases
8332 (modify-phases %standard-phases
8333 (replace 'configure
8334 (lambda _
8335 (setenv "SHELL" (which "sh"))
8336 ;; Configure Emacspeak according to etc/install.org.
8337 (invoke "make" "config")))
8338 (add-after 'build 'build-espeak
8339 (lambda _
8340 (invoke "make" "espeak")))
8341 (replace 'install
8342 (lambda* (#:key inputs outputs #:allow-other-keys)
8343 (let* ((out (assoc-ref outputs "out"))
8344 (bin (string-append out "/bin"))
8345 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
8346 (info (string-append out "/share/info"))
8347 (emacs (string-append (assoc-ref inputs "emacs")
8348 "/bin/emacs")))
8349 ;; According to etc/install.org, the Emacspeak directory should
8350 ;; be copied to its installation destination.
8351 (for-each
8352 (lambda (file)
8353 (copy-recursively file (string-append lisp "/" file)))
8354 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
8355 "stumpwm" "xsl"))
8356 ;; Make sure emacspeak is loaded from the correct directory.
8357 (substitute* "etc/emacspeak.sh"
8358 (("/lisp/emacspeak-setup.el")
8359 (string-append lisp "/lisp/emacspeak-setup.el")))
8360 ;; Install the convenient startup script.
8361 (mkdir-p bin)
8362 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
8363 #t))
8364 (add-after 'install 'wrap-program
8365 (lambda* (#:key inputs outputs #:allow-other-keys)
8366 (let* ((out (assoc-ref outputs "out"))
8367 (emacspeak (string-append out "/bin/emacspeak"))
8368 (espeak (string-append (assoc-ref inputs "espeak")
8369 "/bin/espeak")))
8370 ;; The environment variable DTK_PROGRAM tells emacspeak what
8371 ;; program to use for speech.
8372 (wrap-program emacspeak
8373 `("DTK_PROGRAM" ":" prefix (,espeak)))
8374 #t))))
8375 #:tests? #f)) ; no check target
8376 (inputs
8377 `(("emacs" ,emacs)
8378 ("espeak" ,espeak)
8379 ("perl" ,perl)
8380 ("tcl" ,tcl)
8381 ("tclx" ,tclx)))
8382 (home-page "http://emacspeak.sourceforge.net")
8383 (synopsis "Audio desktop interface for Emacs")
8384 (description
8385 "Emacspeak is a speech interface that allows visually impaired users to
8386 interact independently and efficiently with the computer. Audio formatting
8387 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
8388 allows Emacspeak to produce rich aural presentations of electronic information.
8389 By seamlessly blending all aspects of the Internet such as Web-surfing and
8390 messaging, Emacspeak speech-enables local and remote information via a
8391 consistent and well-integrated user interface.")
8392 (license license:gpl2+)))
8393
8394 (define-public emacs-adaptive-wrap
8395 (package
8396 (name "emacs-adaptive-wrap")
8397 (version "0.5.1")
8398 (source (origin
8399 (method url-fetch)
8400 (uri (string-append
8401 "http://elpa.gnu.org/packages/adaptive-wrap-"
8402 version ".el"))
8403 (sha256
8404 (base32
8405 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
8406 (build-system emacs-build-system)
8407 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
8408 (synopsis "Smart line-wrapping with wrap-prefix")
8409 (description
8410 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
8411 minor mode which sets the wrap-prefix property on the fly so that
8412 single-long-line paragraphs get word-wrapped in a way similar to what
8413 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
8414 actually changing the buffer's text.")
8415 (license license:gpl3+)))
8416
8417 (define-public emacs-diff-hl
8418 (package
8419 (name "emacs-diff-hl")
8420 (version "1.8.6")
8421 (source
8422 (origin
8423 (method git-fetch)
8424 (uri (git-reference
8425 (url "https://github.com/dgutov/diff-hl")
8426 (commit version)))
8427 (sha256
8428 (base32
8429 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
8430 (build-system emacs-build-system)
8431 (home-page "https://github.com/dgutov/diff-hl")
8432 (synopsis
8433 "Highlight uncommitted changes using VC")
8434 (description
8435 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
8436 window (using the fringe, by default), allows you to jump between
8437 the hunks and revert them selectively.")
8438 (license license:gpl3+)))
8439
8440 (define-public emacs-diminish
8441 (package
8442 (name "emacs-diminish")
8443 (version "0.45")
8444 (source
8445 (origin
8446 (method git-fetch)
8447 (uri (git-reference
8448 (url "https://github.com/myrjola/diminish.el.git")
8449 (commit (string-append "v" version))))
8450 (file-name (git-file-name name version))
8451 (sha256
8452 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
8453 (build-system emacs-build-system)
8454 (home-page "https://github.com/myrjola/diminish.el")
8455 (synopsis "Diminish minor modes with no modeline display")
8456 (description "@code{emacs-diminish} implements hiding or
8457 abbreviation of the mode line displays (lighters) of minor modes.")
8458 (license license:gpl2+)))
8459
8460 (define-public emacs-use-package
8461 (package
8462 (name "emacs-use-package")
8463 (version "2.4")
8464 (source (origin
8465 (method git-fetch)
8466 (uri (git-reference
8467 (url "https://github.com/jwiegley/use-package")
8468 (commit version)))
8469 (file-name (git-file-name name version))
8470 (sha256
8471 (base32
8472 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
8473 (build-system emacs-build-system)
8474 (propagated-inputs
8475 `(("emacs-diminish" ,emacs-diminish)))
8476 (arguments
8477 `(#:tests? #t
8478 #:test-command '("emacs" "--batch"
8479 "-l" "use-package-tests.el"
8480 "-f" "ert-run-tests-batch-and-exit")))
8481 (home-page "https://github.com/jwiegley/use-package")
8482 (synopsis "Declaration for simplifying your .emacs")
8483 (description "The use-package macro allows you to isolate package
8484 configuration in your @file{.emacs} file in a way that is both
8485 performance-oriented and tidy.")
8486 (license license:gpl2+)))
8487
8488 (define-public emacs-strace-mode
8489 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
8490 (revision "1"))
8491 (package
8492 (name "emacs-strace-mode")
8493 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
8494 (source (origin
8495 (method git-fetch)
8496 (uri (git-reference
8497 (url "https://github.com/pkmoore/strace-mode")
8498 (commit commit)))
8499 (file-name (git-file-name name version))
8500 (sha256
8501 (base32
8502 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
8503 (build-system emacs-build-system)
8504 (home-page "https://github.com/pkmoore/strace-mode")
8505 (synopsis "Emacs major mode to highlight strace outputs")
8506 (description "@code{emacs-strace-mode} provides an Emacs major mode
8507 highlighting strace outputs.")
8508 (license license:gpl3+))))
8509
8510 (define-public emacs-default-encrypt
8511 (package
8512 (name "emacs-default-encrypt")
8513 (version "4.4")
8514 (source
8515 (origin
8516 (method url-fetch)
8517 (uri (string-append
8518 "https://informationelle-selbstbestimmung-im-internet.de"
8519 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
8520 (file-name (string-append "jl-encrypt-" version ".el"))
8521 (sha256
8522 (base32
8523 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
8524 (build-system emacs-build-system)
8525 (home-page
8526 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
8527 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
8528 (description
8529 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
8530 automatically encrypts messages that you send (e.g., email) when public keys
8531 for all recipients are available, and it protects you from accidentally
8532 sending un-encrypted messages. It can also be configured to automatically
8533 sign messages that you send. For details and instructions on how to use
8534 DefaultEncrypt, please refer to the home page or read the comments in the
8535 source file, @file{jl-encrypt.el}.")
8536 (license license:gpl3+)))
8537
8538 (define-public emacs-extend-smime
8539 (package
8540 (name "emacs-extend-smime")
8541 (version "3.3")
8542 (source
8543 (origin
8544 (method url-fetch)
8545 (uri (string-append
8546 "https://informationelle-selbstbestimmung-im-internet.de"
8547 "/emacs/jl-smime" version "/jl-smime.el"))
8548 (file-name (string-append "jl-smime-" version ".el"))
8549 (sha256
8550 (base32
8551 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
8552 (build-system emacs-build-system)
8553 (home-page
8554 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
8555 (synopsis "Improved S/MIME support for Gnus in Emacs")
8556 (propagated-inputs
8557 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
8558 (description
8559 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
8560 ;; should not be translated. The name "emacs-default-encrypt" refers to
8561 ;; the Guix package that provides DefaultEncrypt.
8562 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
8563 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
8564 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
8565 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
8566 certificates via LDAP and imports them into @code{gpgsm}. When certificates
8567 for all recipients are available, DefaultEncrypt automatically encrypts the
8568 message. For details and instructions on how to use ExtendSMIME, please refer
8569 to the home page or read the comments in the source file,
8570 @file{jl-smime.el}.")
8571 (license license:gpl3+)))
8572
8573 (define-public emacs-htmlize
8574 (package
8575 (name "emacs-htmlize")
8576 (version "1.53")
8577 (source
8578 (origin
8579 (method git-fetch)
8580 (uri (git-reference
8581 (url "https://github.com/hniksic/emacs-htmlize.git")
8582 (commit (string-append "release/" version))))
8583 (file-name (git-file-name name version))
8584 (sha256
8585 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
8586 (build-system emacs-build-system)
8587 (home-page "https://github.com/hniksic/emacs-htmlize")
8588 (synopsis "Convert buffer text and decorations to HTML")
8589 (description "@code{emacs-htmlize} converts the buffer text and
8590 the associated decorations to HTML. Output to CSS, inline CSS and
8591 fonts is supported.")
8592 (license license:gpl2+)))
8593
8594 (define-public emacs-xmlgen
8595 (package
8596 (name "emacs-xmlgen")
8597 (version "0.5")
8598 (source
8599 (origin
8600 (method git-fetch)
8601 (uri (git-reference
8602 (url "https://github.com/philjackson/xmlgen.git")
8603 (commit version)))
8604 (file-name (git-file-name name version))
8605 (sha256
8606 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
8607 (build-system emacs-build-system)
8608 (arguments
8609 `(#:tests? #t
8610 #:test-command '("emacs" "--batch"
8611 "-l" "xmlgen-test.el"
8612 "-f" "ert-run-tests-batch-and-exit")))
8613 (home-page "https://github.com/philjackson/xmlgen")
8614 (synopsis "S-expression to XML domain specific language (DSL) in
8615 Emacs Lisp")
8616 (description "@code{emacs-xmlgen} provides S-expression to XML
8617 conversion for Emacs Lisp.")
8618 (license license:gpl2+)))
8619
8620 (define-public emacs-cdlatex
8621 (package
8622 (name "emacs-cdlatex")
8623 (version "4.7")
8624 (source
8625 (origin
8626 (method git-fetch)
8627 (uri (git-reference
8628 (url "https://github.com/cdominik/cdlatex.git")
8629 (commit version)))
8630 (file-name (git-file-name name version))
8631 (sha256
8632 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
8633 (build-system emacs-build-system)
8634 (propagated-inputs
8635 `(("emacs-auctex" ,emacs-auctex)))
8636 (home-page "https://github.com/cdominik/cdlatex")
8637 (synopsis "Fast Emacs input methods for LaTeX environments and
8638 math")
8639 (description "CDLaTeX is an Emacs minor mode supporting fast
8640 insertion of environment templates and math in LaTeX. Similar
8641 commands are also offered as part of the AUCTeX package, but it is not
8642 the same - CDLaTeX focuses on speediness for inserting LaTeX
8643 constructs.")
8644 (license license:gpl3+)))
8645
8646 (define-public emacs-cnfonts
8647 (package
8648 (name "emacs-cnfonts")
8649 (version "0.9.1")
8650 (source
8651 (origin
8652 (method git-fetch)
8653 (uri (git-reference
8654 (url "https://github.com/tumashu/cnfonts.git")
8655 (commit (string-append "v" version))))
8656 (file-name (git-file-name name version))
8657 (sha256
8658 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
8659 (build-system emacs-build-system)
8660 (home-page "https://github.com/tumashu/cnfonts")
8661 (synopsis "Emacs Chinese fonts setup tool")
8662 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
8663 configuration of Chinese fonts.")
8664 (license license:gpl2+)))
8665
8666 (define-public emacs-php-mode
8667 (package
8668 (name "emacs-php-mode")
8669 (version "20171225.342")
8670 (source (origin
8671 (method url-fetch)
8672 (uri (string-append
8673 "https://melpa.org/packages/php-mode-"
8674 version ".tar"))
8675 (sha256
8676 (base32
8677 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
8678 (build-system emacs-build-system)
8679 (home-page "https://github.com/ejmr/php-mode")
8680 (synopsis "Major mode for editing PHP code")
8681 (description "@code{php-mode} is a major mode for editing PHP source
8682 code. It's an extension of C mode; thus it inherits all C mode's navigation
8683 functionality. But it colors according to the PHP grammar and indents
8684 according to the PEAR coding guidelines. It also includes a couple handy
8685 IDE-type features such as documentation search and a source and class
8686 browser.")
8687 (license license:gpl3+)))
8688
8689 (define-public emacs-pos-tip
8690 (package
8691 (name "emacs-pos-tip")
8692 (version "0.4.6")
8693 (source
8694 (origin
8695 (method git-fetch)
8696 (uri (git-reference
8697 (url "https://github.com/pitkali/pos-tip.git")
8698 (commit version)))
8699 (file-name (git-file-name name version))
8700 (sha256
8701 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
8702 (build-system emacs-build-system)
8703 ;; The following functions and variables needed by emacs-pos-tip are
8704 ;; not included in emacs-minimal:
8705 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
8706 (arguments `(#:emacs ,emacs))
8707 (home-page "https://github.com/pitkali/pos-tip")
8708 (synopsis "Show tooltip at point")
8709 (description "The standard library tooltip.el provides a function for
8710 displaying a tooltip at the mouse position. However, locating a tooltip at an
8711 arbitrary buffer position in a window is not easy. Pos-tip provides such a
8712 function to be used by other frontend programs.")
8713 (license license:gpl2+)))
8714
8715 (define-public emacs-pyim-basedict
8716 (package
8717 (name "emacs-pyim-basedict")
8718 (version "0.3.1")
8719 (source
8720 (origin
8721 (method git-fetch)
8722 (uri (git-reference
8723 (url "https://github.com/tumashu/pyim-basedict.git")
8724 (commit (string-append "v" version))))
8725 (file-name (git-file-name name version))
8726 (sha256
8727 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
8728 (build-system emacs-build-system)
8729 (home-page "https://github.com/tumashu/pyim-basedict")
8730 (synopsis "Input method dictionary of pyim")
8731 (description "Pyim-basedict is the default pinyin input method dictionary,
8732 containing words from the rime project.")
8733 (license license:gpl2+)))
8734
8735 (define-public emacs-pyim
8736 (package
8737 (name "emacs-pyim")
8738 (version "1.8")
8739 (source
8740 (origin
8741 (method git-fetch)
8742 (uri (git-reference
8743 (url "https://github.com/tumashu/pyim")
8744 (commit (string-append "v" version))))
8745 (file-name (git-file-name name version))
8746 (sha256
8747 (base32
8748 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
8749 (build-system emacs-build-system)
8750 (propagated-inputs
8751 `(("emacs-async" ,emacs-async)
8752 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
8753 ("emacs-popup" ,emacs-popup)
8754 ("emacs-posframe" ,emacs-posframe)))
8755 (home-page "https://github.com/tumashu/pyim")
8756 (synopsis "Chinese input method")
8757 (description "Chinese input method which supports quanpin, shuangpin, wubi
8758 and cangjie.")
8759 (license license:gpl2+)))
8760
8761 (define-public emacs-posframe
8762 (package
8763 (name "emacs-posframe")
8764 (version "0.5.0")
8765 (source
8766 (origin
8767 (method git-fetch)
8768 (uri (git-reference
8769 (url "https://github.com/tumashu/posframe")
8770 (commit (string-append "v" version))))
8771 (file-name (git-file-name name version))
8772 (sha256
8773 (base32
8774 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
8775 (build-system emacs-build-system)
8776 ;; emacs-minimal does not include the function font-info
8777 (arguments `(#:emacs ,emacs))
8778 (home-page "https://github.com/tumashu/posframe")
8779 (synopsis "Pop a posframe (a child frame) at point")
8780 (description "@code{emacs-posframe} can pop a posframe at point. A
8781 posframe is a child frame displayed within its root window's buffer.
8782 @code{emacs-posframe} is fast and works well with CJK languages.")
8783 (license license:gpl3+)))
8784
8785 (define-public emacs-el2org
8786 (package
8787 (name "emacs-el2org")
8788 (version "0.6.0")
8789 (source
8790 (origin
8791 (method git-fetch)
8792 (uri (git-reference
8793 (url "https://github.com/tumashu/el2org.git")
8794 (commit (string-append "v" version))))
8795 (file-name (git-file-name name version))
8796 (sha256
8797 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
8798 (build-system emacs-build-system)
8799 (home-page "https://github.com/tumashu/el2org")
8800 (synopsis "Convert Emacs-lisp file to org file")
8801 (description "El2org is a simple tool, which can convert Emacs-lisp file
8802 to org file, you can use this tool to write orgify commentary.")
8803 (license license:gpl2+)))
8804
8805 (define-public emacs-mustache
8806 (package
8807 (name "emacs-mustache")
8808 (version "0.23")
8809 (source
8810 (origin
8811 (method git-fetch)
8812 (uri (git-reference
8813 (url "https://github.com/Wilfred/mustache.el.git")
8814 (commit version)))
8815 (file-name (git-file-name name version))
8816 (sha256
8817 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
8818 (build-system emacs-build-system)
8819 (propagated-inputs
8820 `(("emacs-dash" ,emacs-dash)
8821 ("emacs-ht" ,emacs-ht)
8822 ("emacs-s" ,emacs-s)))
8823 (home-page "https://github.com/Wilfred/mustache.el")
8824 (synopsis "Mustache templating library for Emacs")
8825 (description "Mustache templating library for Emacs, mustache is
8826 a simple web template system, which is described as a logic-less system
8827 because it lacks any explicit control flow statements, both looping and
8828 conditional evaluation can be achieved using section tags processing lists
8829 and lambdas.")
8830 (license license:gpl3+)))
8831
8832 (define-public emacs-org2web
8833 (package
8834 (name "emacs-org2web")
8835 (version "0.9.1")
8836 (source
8837 (origin
8838 (method git-fetch)
8839 (uri (git-reference
8840 (url "https://github.com/tumashu/org2web.git")
8841 (commit (string-append "v" version))))
8842 (file-name (git-file-name name version))
8843 (sha256
8844 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
8845 (build-system emacs-build-system)
8846 (propagated-inputs
8847 `(("emacs-dash" ,emacs-dash)
8848 ("emacs-el2org" ,emacs-el2org)
8849 ("emacs-ht" ,emacs-ht)
8850 ("emacs-mustache" ,emacs-mustache)
8851 ("emacs-simple-httpd" ,emacs-simple-httpd)))
8852 (home-page "https://github.com/tumashu/org2web")
8853 (synopsis "Static site generator based on org-mode ")
8854 (description "Org2web is a static site generator based on org-mode,
8855 which code derived from Kelvin H's org-page.")
8856 (license license:gpl2+)))
8857
8858 (define-public emacs-xelb
8859 (package
8860 (name "emacs-xelb")
8861 (version "0.18")
8862 (source (origin
8863 (method url-fetch)
8864 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
8865 version ".tar"))
8866 (sha256
8867 (base32
8868 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
8869 (build-system emacs-build-system)
8870 ;; The following functions and variables needed by emacs-xelb are
8871 ;; not included in emacs-minimal:
8872 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
8873 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
8874 ;; x-display-pixel-width, x-display-pixel-height
8875 (arguments
8876 `(#:emacs ,emacs
8877 #:phases
8878 (modify-phases %standard-phases
8879 (add-after 'unpack 'regenerate-el-files
8880 (lambda* (#:key inputs #:allow-other-keys)
8881 (invoke "make"
8882 (string-append "PROTO_PATH="
8883 (assoc-ref inputs "xcb-proto")
8884 "/share/xcb")
8885 (string-append "EMACS_BIN="
8886 (assoc-ref inputs "emacs")
8887 "/bin/emacs -Q")))))))
8888 (native-inputs `(("xcb-proto" ,xcb-proto)))
8889 (home-page "https://github.com/ch11ng/xelb")
8890 (synopsis "X protocol Emacs Lisp binding")
8891 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
8892 X11 protocol based on the XML description files from the XCB project. It
8893 features an object-oriented API and permits a certain degree of concurrency.
8894 It should enable you to implement low-level X11 applications.")
8895 (license license:gpl3+)))
8896
8897 (define-public emacs-exwm
8898 (package
8899 (name "emacs-exwm")
8900 (version "0.23")
8901 (synopsis "Emacs X window manager")
8902 (source (origin
8903 (method url-fetch)
8904 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
8905 version ".tar"))
8906 (sha256
8907 (base32
8908 "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
8909 (build-system emacs-build-system)
8910 (propagated-inputs
8911 `(("emacs-xelb" ,emacs-xelb)))
8912 (inputs
8913 `(("xhost" ,xhost)
8914 ("dbus" ,dbus)))
8915 ;; The following functions and variables needed by emacs-exwm are
8916 ;; not included in emacs-minimal:
8917 ;; scroll-bar-mode, fringe-mode
8918 ;; x-display-pixel-width, x-display-pixel-height
8919 (arguments
8920 `(#:emacs ,emacs
8921 #:phases
8922 (modify-phases %standard-phases
8923 (add-after 'build 'install-xsession
8924 (lambda* (#:key inputs outputs #:allow-other-keys)
8925 (let* ((out (assoc-ref outputs "out"))
8926 (xsessions (string-append out "/share/xsessions"))
8927 (bin (string-append out "/bin"))
8928 (exwm-executable (string-append bin "/exwm")))
8929 ;; Add a .desktop file to xsessions
8930 (mkdir-p xsessions)
8931 (mkdir-p bin)
8932 (with-output-to-file
8933 (string-append xsessions "/exwm.desktop")
8934 (lambda _
8935 (format #t "[Desktop Entry]~@
8936 Name=~a~@
8937 Comment=~a~@
8938 Exec=~a~@
8939 TryExec=~:*~a~@
8940 Type=Application~%" ,name ,synopsis exwm-executable)))
8941 ;; Add a shell wrapper to bin
8942 (with-output-to-file exwm-executable
8943 (lambda _
8944 (format #t "#!~a ~@
8945 ~a +SI:localuser:$USER ~@
8946 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
8947 (string-append (assoc-ref inputs "bash") "/bin/sh")
8948 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
8949 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
8950 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
8951 '(cond
8952 ((file-exists-p "~/.exwm")
8953 (load-file "~/.exwm"))
8954 ((not (featurep 'exwm))
8955 (require 'exwm)
8956 (require 'exwm-config)
8957 (exwm-config-default)
8958 (message (concat "exwm configuration not found. "
8959 "Falling back to default configuration...")))))))
8960 (chmod exwm-executable #o555)
8961 #t))))))
8962 (home-page "https://github.com/ch11ng/exwm")
8963 (description "EXWM is a full-featured tiling X window manager for Emacs
8964 built on top of XELB.")
8965 (license license:gpl3+)))
8966
8967 (define-public emacs-switch-window
8968 (package
8969 (name "emacs-switch-window")
8970 (version "1.6.2")
8971 (source
8972 (origin
8973 (method git-fetch)
8974 (uri (git-reference
8975 (url "https://github.com/dimitri/switch-window")
8976 (commit (string-append "v" version))))
8977 (file-name (git-file-name name version))
8978 (sha256
8979 (base32
8980 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
8981 (build-system emacs-build-system)
8982 (home-page "https://github.com/dimitri/switch-window")
8983 (synopsis "Emacs window switch tool")
8984 (description "Switch-window is an emacs window switch tool, which
8985 offer a visual way to choose a window to switch to, delete, split or
8986 other operations.")
8987 (license license:wtfpl2)))
8988
8989 (define-public emacs-exwm-x
8990 (package
8991 (name "emacs-exwm-x")
8992 (version "1.9.0")
8993 (synopsis "Derivative window manager based on EXWM")
8994 (source
8995 (origin
8996 (method git-fetch)
8997 (uri (git-reference
8998 (url "https://github.com/tumashu/exwm-x")
8999 (commit (string-append "v" version))))
9000 (file-name (git-file-name name version))
9001 (sha256
9002 (base32
9003 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
9004 (build-system emacs-build-system)
9005 (propagated-inputs
9006 `(("emacs-exwm" ,emacs-exwm)
9007 ("emacs-switch-window" ,emacs-switch-window)
9008 ("emacs-ivy" ,emacs-ivy)
9009 ("emacs-use-package" ,emacs-use-package)))
9010 (inputs
9011 `(("xhost" ,xhost)
9012 ("dbus" ,dbus)))
9013 ;; Need emacs instead of emacs-minimal,
9014 ;; for emacs's bin path will be inserted into bin/exwm-x file.
9015 (arguments
9016 `(#:emacs ,emacs
9017 #:phases
9018 (modify-phases %standard-phases
9019 (add-after 'build 'install-xsession
9020 (lambda* (#:key inputs outputs #:allow-other-keys)
9021 (let* ((out (assoc-ref outputs "out"))
9022 (xsessions (string-append out "/share/xsessions"))
9023 (bin (string-append out "/bin"))
9024 (exwm-executable (string-append bin "/exwm-x")))
9025 ;; Add a .desktop file to xsessions
9026 (mkdir-p xsessions)
9027 (mkdir-p bin)
9028 (with-output-to-file
9029 (string-append xsessions "/exwm-x.desktop")
9030 (lambda _
9031 (format #t "[Desktop Entry]~@
9032 Name=~a~@
9033 Comment=~a~@
9034 Exec=~a~@
9035 TryExec=~@*~a~@
9036 Type=Application~%" ,name ,synopsis exwm-executable)))
9037 ;; Add a shell wrapper to bin
9038 (with-output-to-file exwm-executable
9039 (lambda _
9040 (format #t "#!~a ~@
9041 ~a +SI:localuser:$USER ~@
9042 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9043 (string-append (assoc-ref inputs "bash") "/bin/sh")
9044 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9045 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9046 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9047 '(require 'exwmx-loader))))
9048 (chmod exwm-executable #o555)
9049 #t))))))
9050 (home-page "https://github.com/tumashu/exwm-x")
9051 (description "EXWM-X is a derivative window manager based on EXWM, with focus
9052 on mouse-control.")
9053 (license license:gpl3+)))
9054
9055 (define-public emacs-gnugo
9056 (package
9057 (name "emacs-gnugo")
9058 (version "3.1.0")
9059 (source
9060 (origin
9061 (method url-fetch)
9062 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
9063 version ".tar"))
9064 (sha256
9065 (base32
9066 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
9067 (build-system emacs-build-system)
9068 (arguments
9069 `(#:phases (modify-phases %standard-phases
9070 (add-after 'unpack 'configure-default-gnugo-xpms-variable
9071 (lambda _
9072 (substitute* "gnugo.el"
9073 (("defvar gnugo-xpms nil")
9074 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
9075 #t)))))
9076 (propagated-inputs
9077 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
9078 ("emacs-xpm" ,emacs-xpm)))
9079 (home-page "https://elpa.gnu.org/packages/gnugo.html")
9080 (synopsis "Emacs major mode for playing GNU Go")
9081 (description "This package provides an Emacs based interface for GNU Go.
9082 It has a graphical mode where the board and stones are drawn using XPM images
9083 and supports the use of a mouse.")
9084 (license license:gpl3+)))
9085
9086 (define-public emacs-gnuplot
9087 (package
9088 (name "emacs-gnuplot")
9089 (version "0.7.0")
9090 (source
9091 (origin
9092 (method git-fetch)
9093 (uri (git-reference
9094 (url "https://github.com/bruceravel/gnuplot-mode.git")
9095 (commit version)))
9096 (file-name (git-file-name name version))
9097 (sha256
9098 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
9099 (build-system gnu-build-system)
9100 (native-inputs `(("emacs" ,emacs-minimal)))
9101 (arguments
9102 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
9103 "/gnuplot-" version)))
9104 `(#:modules ((guix build gnu-build-system)
9105 (guix build utils)
9106 (guix build emacs-utils))
9107 #:imported-modules (,@%gnu-build-system-modules
9108 (guix build emacs-utils))
9109 #:configure-flags
9110 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
9111 "/bin/emacs")
9112 (string-append "--with-lispdir=" %output ,elisp-dir))
9113 #:phases
9114 (modify-phases %standard-phases
9115 (add-after 'install 'generate-autoloads
9116 (lambda* (#:key outputs #:allow-other-keys)
9117 (emacs-generate-autoloads
9118 "gnuplot"
9119 (string-append (assoc-ref outputs "out") ,elisp-dir))
9120 #t))))))
9121 (home-page "https://github.com/bruceravel/gnuplot-mode")
9122 (synopsis "Emacs major mode for interacting with gnuplot")
9123 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
9124 with gnuplot.")
9125 (license license:gpl2+)))
9126
9127 (define-public emacs-transpose-frame
9128 (package
9129 (name "emacs-transpose-frame")
9130 (version "0.1.0")
9131 (source
9132 (origin
9133 (method url-fetch)
9134 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
9135 (file-name (string-append "transpose-frame-" version ".el"))
9136 (sha256
9137 (base32
9138 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
9139 (build-system emacs-build-system)
9140 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
9141 (synopsis "Transpose window arrangement in current frame")
9142 (description "@code{emacs-transpose-frame} provides some interactive
9143 functions which allows users to transpose windows arrangement in currently
9144 selected frame.")
9145 (license license:bsd-2)))
9146
9147 (define-public emacs-key-chord
9148 (package
9149 (name "emacs-key-chord")
9150 (version "0.6")
9151 (source
9152 (origin
9153 (method url-fetch)
9154 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
9155 (file-name (string-append "key-chord-" version ".el"))
9156 (sha256
9157 (base32
9158 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
9159 (build-system emacs-build-system)
9160 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
9161 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
9162 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
9163 mode for binding key chords to commands. A key chord is defined as two keys
9164 pressed simultaneously or a single key quickly pressed twice.")
9165 (license license:gpl2+)))
9166
9167 (define-public emacs-evil-surround
9168 (package
9169 (name "emacs-evil-surround")
9170 (version "1.0.4")
9171 (source
9172 (origin
9173 (method git-fetch)
9174 (uri (git-reference
9175 (url "https://github.com/emacs-evil/evil-surround")
9176 (commit version)))
9177 (file-name (git-file-name name version))
9178 (sha256
9179 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
9180 (build-system emacs-build-system)
9181 (propagated-inputs
9182 `(("emacs-evil" ,emacs-evil)))
9183 (arguments
9184 `(#:tests? #t
9185 #:test-command '("make" "test")))
9186 (home-page "https://github.com/emacs-evil/evil-surround")
9187 (synopsis "Easily modify surrounding parentheses and quotes")
9188 (description "@code{emacs-evil-surround} allows easy deletion, change and
9189 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
9190 (license license:gpl3+)))
9191
9192 (define-public emacs-evil-commentary
9193 (package
9194 (name "emacs-evil-commentary")
9195 (version "2.1.1")
9196 (source
9197 (origin
9198 (method git-fetch)
9199 (uri (git-reference
9200 (url "https://github.com/linktohack/evil-commentary.git")
9201 (commit (string-append "v" version))))
9202 (file-name (git-file-name name version))
9203 (sha256
9204 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
9205 (build-system emacs-build-system)
9206 (propagated-inputs
9207 `(("emacs-evil" ,emacs-evil)))
9208 (home-page "https://github.com/linktohack/evil-commentary")
9209 (synopsis "Comment out code in evil mode")
9210 (description "@code{emacs-evil-commentary} adds keybindings to easily
9211 comment out lines of code in evil mode. It provides @code{gcc} to comment out
9212 lines, and @code{gc} to comment out the target of a motion.")
9213 (license license:gpl3+)))
9214
9215 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
9216 ;; therefore cannot be run
9217 (define-public emacs-ansi
9218 (package
9219 (name "emacs-ansi")
9220 (version "0.4.1")
9221 (source
9222 (origin
9223 (method git-fetch)
9224 (uri (git-reference
9225 (url "https://github.com/rejeep/ansi.el.git")
9226 (commit (string-append "v" version))))
9227 (file-name (git-file-name name version))
9228 (sha256
9229 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
9230 (build-system emacs-build-system)
9231 (propagated-inputs
9232 `(("emacs-dash" ,emacs-dash)
9233 ("emacs-s" ,emacs-s)))
9234 (home-page "https://github.com/rejeep/ansi.el")
9235 (synopsis "Convert strings to ANSI")
9236 (description "@code{emacs-ansi} defines functions that turns simple
9237 strings to ANSI strings. Turning a string into an ANSI string can be to add
9238 color to a text, add color in the background of a text or adding a style, such
9239 as bold, underscore or italic.")
9240 (license license:gpl3+)))
9241
9242 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
9243 ;; therefore cannot be run
9244 (define-public emacs-commander
9245 (package
9246 (name "emacs-commander")
9247 (version "0.7.0")
9248 (source
9249 (origin
9250 (method git-fetch)
9251 (uri (git-reference
9252 (url "https://github.com/rejeep/commander.el.git")
9253 (commit (string-append "v" version))))
9254 (file-name (git-file-name name version))
9255 (sha256
9256 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
9257 (build-system emacs-build-system)
9258 (propagated-inputs
9259 `(("emacs-dash" ,emacs-dash)
9260 ("emacs-f" ,emacs-f)
9261 ("emacs-s" ,emacs-s)))
9262 (home-page "https://github.com/rejeep/commander.el")
9263 (synopsis "Emacs command line parser")
9264 (description "@code{emacs-commander} provides command line parsing for
9265 Emacs.")
9266 (license license:gpl3+)))
9267
9268 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
9269 ;; cannot be run
9270 (define-public emacs-ert-runner
9271 (let ((version "0.7.0")
9272 (revision "1")
9273 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
9274 (package
9275 (name "emacs-ert-runner")
9276 (version (git-version "0.7.0" revision commit))
9277 (source
9278 (origin
9279 (method git-fetch)
9280 (uri (git-reference
9281 (url "https://github.com/rejeep/ert-runner.el.git")
9282 (commit commit)))
9283 (file-name (git-file-name name version))
9284 (sha256
9285 (base32
9286 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
9287 (build-system emacs-build-system)
9288 (inputs
9289 `(("emacs-ansi" ,emacs-ansi)
9290 ("emacs-commander" ,emacs-commander)
9291 ("emacs-dash" ,emacs-dash)
9292 ("emacs-f" ,emacs-f)
9293 ("emacs-s" ,emacs-s)
9294 ("emacs-shut-up" ,emacs-shut-up)))
9295 (arguments
9296 `(#:phases
9297 (modify-phases %standard-phases
9298 (add-after 'install 'install-executable
9299 (lambda* (#:key inputs outputs #:allow-other-keys)
9300 (let ((out (assoc-ref outputs "out"))
9301 (source-directory (string-append
9302 (getenv "TMPDIR") "/source")))
9303 (substitute* "bin/ert-runner"
9304 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
9305 (string-append "ERT_RUNNER=\"" out
9306 "/share/emacs/site-lisp/guix.d/ert-runner-"
9307 ,version)))
9308 (install-file "bin/ert-runner" (string-append out "/bin"))
9309 (wrap-program (string-append out "/bin/ert-runner")
9310 (list "EMACSLOADPATH" ":" 'prefix
9311 ;; Do not capture the transient source directory in
9312 ;; the wrapper.
9313 (delete source-directory
9314 (string-split (getenv "EMACSLOADPATH") #\:))))
9315 #t))))
9316 #:include (cons* "^reporters/.*\\.el$" %default-include)))
9317 (home-page "https://github.com/rejeep/ert-runner.el")
9318 (synopsis "Opinionated Ert testing workflow")
9319 (description "@code{ert-runner} is a tool for Emacs projects tested
9320 using ERT. It assumes a certain test structure setup and can therefore make
9321 running tests easier.")
9322 (license license:gpl3+))))
9323
9324 (define-public ert-runner
9325 (deprecated-package "ert-runner" emacs-ert-runner))
9326
9327 (define-public emacs-xtest
9328 (package
9329 (name "emacs-xtest")
9330 (version "1.1.0")
9331 (source (origin
9332 (method git-fetch)
9333 (uri (git-reference
9334 (url "https://github.com/promethial/xtest.git")
9335 (commit (string-append "v" version))))
9336 (file-name (git-file-name name version))
9337 (sha256
9338 (base32
9339 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
9340 (arguments
9341 `(#:exclude '()))
9342 (build-system emacs-build-system)
9343 (home-page "https://github.com/promethial/xtest/")
9344 (synopsis "Simple testing with Emacs")
9345 (description "This package provides a simple testing library for Emacs.")
9346 (license license:gpl3+)))
9347
9348 (define-public emacs-disable-mouse
9349 (package
9350 (name "emacs-disable-mouse")
9351 (version "0.2")
9352 (source
9353 (origin
9354 (method git-fetch)
9355 (uri (git-reference
9356 (url "https://github.com/purcell/disable-mouse.git")
9357 (commit version)))
9358 (file-name (git-file-name name version))
9359 (sha256
9360 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
9361 (build-system emacs-build-system)
9362 (home-page "https://github.com/purcell/disable-mouse")
9363 (synopsis "Disable mouse commands globally")
9364 (description
9365 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
9366 pair of minor modes which suppress all mouse events by intercepting them and
9367 running a customisable handler command (@code{ignore} by default). ")
9368 (license license:gpl3+)))
9369
9370 (define-public emacs-json-reformat
9371 (package
9372 (name "emacs-json-reformat")
9373 (version "0.0.6")
9374 (source
9375 (origin
9376 (method git-fetch)
9377 (uri (git-reference
9378 (url "https://github.com/gongo/json-reformat.git")
9379 (commit version)))
9380 (file-name (git-file-name name version))
9381 (sha256
9382 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
9383 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
9384 (build-system emacs-build-system)
9385 (propagated-inputs
9386 `(("emacs-undercover" ,emacs-undercover)))
9387 (native-inputs
9388 `(("emacs-dash" ,emacs-dash)
9389 ("emacs-shut-up" ,emacs-shut-up)
9390 ("ert-runner" ,emacs-ert-runner)))
9391 (arguments
9392 `(#:tests? #t
9393 #:test-command '("ert-runner")
9394 #:phases
9395 (modify-phases %standard-phases
9396 (add-before 'check 'make-tests-writable
9397 (lambda _
9398 (for-each make-file-writable (find-files "test"))
9399 #t))
9400 (add-before 'check 'delete-json-objects-order-test
9401 (lambda _
9402 (emacs-batch-edit-file "test/json-reformat-test.el"
9403 `(progn (progn (goto-char (point-min))
9404 (re-search-forward
9405 "ert-deftest json-reformat-test:json-reformat-region")
9406 (beginning-of-line)
9407 (kill-sexp))
9408 (basic-save-buffer)))
9409 #t)))))
9410 (home-page "https://github.com/gongo/json-reformat")
9411 (synopsis "Reformatting tool for JSON")
9412 (description "@code{json-reformat} provides a reformatting tool for
9413 @url{http://json.org/, JSON}.")
9414 (license license:gpl3+)))
9415
9416 (define-public emacs-json-snatcher
9417 (package
9418 (name "emacs-json-snatcher")
9419 (version "1.0.0")
9420 (source
9421 (origin
9422 (method git-fetch)
9423 (uri (git-reference
9424 (url "https://github.com/Sterlingg/json-snatcher.git")
9425 (commit version)))
9426 (file-name (git-file-name name version))
9427 (sha256
9428 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
9429 (build-system emacs-build-system)
9430 (home-page "https://github.com/sterlingg/json-snatcher")
9431 (synopsis "Grabs the path to JSON values in a JSON file")
9432 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
9433 a @url{http://json.org/, JSON} file.")
9434 (license license:gpl3+)))
9435
9436 (define-public emacs-json-mode
9437 (package
9438 (name "emacs-json-mode")
9439 (version "1.7.0")
9440 (source
9441 (origin
9442 (method git-fetch)
9443 (uri (git-reference
9444 (url "https://github.com/joshwnj/json-mode.git")
9445 (commit (string-append "v" version))))
9446 (file-name (git-file-name name version))
9447 (sha256
9448 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
9449 (build-system emacs-build-system)
9450 (propagated-inputs
9451 `(("emacs-json-reformat" ,emacs-json-reformat)
9452 ("emacs-json-snatcher" ,emacs-json-snatcher)))
9453 (home-page "https://github.com/joshwnj/json-mode")
9454 (synopsis "Major mode for editing JSON files")
9455 (description "@code{json-mode} extends the builtin js-mode syntax
9456 highlighting.")
9457 (license license:gpl3+)))
9458
9459 (define-public emacs-restclient
9460 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
9461 (version "0")
9462 (revision "2")) ;Guix package revision,
9463 ;upstream doesn't have official releases
9464 (package
9465 (name "emacs-restclient")
9466 (version (git-version version revision commit))
9467 (source (origin
9468 (method git-fetch)
9469 (uri (git-reference
9470 (url "https://github.com/pashky/restclient.el.git")
9471 (commit commit)))
9472 (sha256
9473 (base32
9474 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
9475 (file-name (git-file-name name version))))
9476 (build-system emacs-build-system)
9477 (propagated-inputs
9478 `(("emacs-helm" ,emacs-helm)))
9479 (home-page "https://github.com/pashky/restclient.el")
9480 (synopsis "Explore and test HTTP REST webservices")
9481 (description
9482 "This tool allows for testing and exploration of HTTP REST Web services
9483 from within Emacs. Restclient runs queries from a plan-text query sheet,
9484 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
9485 (license license:public-domain))))
9486
9487 (define-public emacs-whitespace-cleanup-mode
9488 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
9489 (revision "1"))
9490 (package
9491 (name "emacs-whitespace-cleanup-mode")
9492 (version (git-version "0.10" revision commit))
9493 (source (origin
9494 (method git-fetch)
9495 (uri (git-reference
9496 (url "https://github.com/purcell/whitespace-cleanup-mode")
9497 (commit commit)))
9498 (sha256
9499 (base32
9500 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
9501 (file-name (git-file-name name version))))
9502 (build-system emacs-build-system)
9503 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
9504 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
9505 (description
9506 "This package provides a minor mode that calls
9507 @code{whitespace-cleanup} before saving the current buffer only if the
9508 whitespace in the buffer was initially clean.")
9509 (license license:gpl3+))))
9510
9511 (define-public emacs-eimp
9512 (let ((version "1.4.0")
9513 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
9514 (revision "1"))
9515 (package
9516 (name "emacs-eimp")
9517 (version (git-version version revision commit))
9518 (source
9519 (origin
9520 (method git-fetch)
9521 (uri (git-reference
9522 (url "https://github.com/nicferrier/eimp.git")
9523 (commit commit)))
9524 (file-name (git-file-name name version))
9525 (sha256
9526 (base32
9527 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
9528 (build-system emacs-build-system)
9529 (arguments
9530 `(#:phases
9531 (modify-phases %standard-phases
9532 (add-after 'unpack 'configure
9533 (lambda* (#:key inputs #:allow-other-keys)
9534 (let ((imagemagick (assoc-ref inputs "imagemagick")))
9535 ;; eimp.el is read-only in git.
9536 (chmod "eimp.el" #o644)
9537 (emacs-substitute-variables "eimp.el"
9538 ("eimp-mogrify-program"
9539 (string-append imagemagick "/bin/mogrify"))))
9540 #t)))))
9541 (inputs
9542 `(("imagemagick" ,imagemagick)))
9543 (home-page "https://github.com/nicferrier/eimp")
9544 (synopsis "Interactive image manipulation utility for Emacs")
9545 (description "@code{emacs-eimp} allows interactive image manipulation
9546 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
9547 the actual transformations.")
9548 (license license:gpl2+))))
9549
9550 (define-public emacs-dired-hacks
9551 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
9552 (revision "2"))
9553 (package
9554 (name "emacs-dired-hacks")
9555 (version (git-version "0.0.1" revision commit))
9556 (source (origin
9557 (method git-fetch)
9558 (uri (git-reference
9559 (url "https://github.com/Fuco1/dired-hacks.git")
9560 (commit commit)))
9561 (file-name (git-file-name name version))
9562 (sha256
9563 (base32
9564 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
9565 (build-system emacs-build-system)
9566 (propagated-inputs
9567 `(("emacs-dash" ,emacs-dash)
9568 ("emacs-eimp" ,emacs-eimp)
9569 ("emacs-f" ,emacs-f)
9570 ("emacs-s" ,emacs-s)))
9571 (home-page "https://github.com/Fuco1/dired-hacks")
9572 (synopsis
9573 "Collection of useful dired additions")
9574 (description
9575 "This package provides the following collection of Emacs dired mode
9576 additions:
9577
9578 @itemize
9579 @item dired-avfs
9580 @item dired-columns
9581 @item dired-filter
9582 @item dired-hacks-utils
9583 @item dired-images
9584 @item dired-list
9585 @item dired-narrow
9586 @item dired-open
9587 @item dired-rainbow
9588 @item dired-ranger
9589 @item dired-subtree
9590 @item dired-tagsistant
9591 @end itemize\n")
9592 (license license:gpl3+))))
9593
9594 (define-public emacs-dired-sidebar
9595 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
9596 (revision "0"))
9597 (package
9598 (name "emacs-dired-sidebar")
9599 (home-page "https://github.com/jojojames/dired-sidebar")
9600 (version (git-version "0.0.1" revision commit))
9601 (source (origin
9602 (method git-fetch)
9603 (uri (git-reference (url home-page) (commit commit)))
9604 (file-name (git-file-name name version))
9605 (sha256
9606 (base32
9607 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
9608 (build-system emacs-build-system)
9609 (propagated-inputs
9610 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
9611 (synopsis "Sidebar for Emacs using Dired")
9612 (description
9613 "This package provides a sidebar for Emacs similar to @code{NeoTree}
9614 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
9615 (license license:gpl3+))))
9616
9617 (define-public emacs-which-key
9618 (package
9619 (name "emacs-which-key")
9620 (version "3.3.1")
9621 (source
9622 (origin
9623 (method git-fetch)
9624 (uri (git-reference
9625 (url "https://github.com/justbur/emacs-which-key.git")
9626 (commit (string-append "v" version))))
9627 (file-name (git-file-name name version))
9628 (sha256
9629 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
9630 (build-system emacs-build-system)
9631 (arguments
9632 `(#:tests? #t
9633 #:test-command '("emacs" "--batch"
9634 "-l" "which-key-tests.el"
9635 "-f" "ert-run-tests-batch-and-exit")))
9636 (home-page "https://github.com/justbur/emacs-which-key")
9637 (synopsis "Display available key bindings in popup")
9638 (description
9639 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
9640 bindings following your currently entered incomplete command (a prefix) in a
9641 popup. For example, after enabling the minor mode if you enter C-x and wait
9642 for the default of 1 second, the minibuffer will expand with all of the
9643 available key bindings that follow C-x (or as many as space allows given your
9644 settings).")
9645 (license license:gpl3+)))
9646
9647 (define-public emacs-hercules
9648 (package
9649 (name "emacs-hercules")
9650 (version "0.2.1")
9651 (source
9652 (origin
9653 (method git-fetch)
9654 (uri (git-reference
9655 (url "https://gitlab.com/jjzmajic/hercules.el.git")
9656 (commit (string-append "v" version))))
9657 (file-name (git-file-name name version))
9658 (sha256
9659 (base32
9660 "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"))))
9661 (build-system emacs-build-system)
9662 (propagated-inputs
9663 `(("emacs-which-key" ,emacs-which-key)))
9664 (home-page "https://gitlab.com/jjzmajic/hercules.el")
9665 (synopsis "Call a chain of related commands without repeated prefix keys")
9666 (description
9667 "This package provides sticky-key-like functionality to obviate the
9668 need for repeated prefix-key sequences, and can reuse existing keymaps. The
9669 list of commands is displayed in a handy popup.")
9670 (license license:gpl3+)))
9671
9672 (define-public emacs-ws-butler
9673 (package
9674 (name "emacs-ws-butler")
9675 (version "0.6")
9676 (source (origin
9677 (method git-fetch)
9678 (uri (git-reference
9679 (url "https://github.com/lewang/ws-butler.git")
9680 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
9681 (file-name (git-file-name name version))
9682 (sha256
9683 (base32
9684 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
9685 (build-system emacs-build-system)
9686 (native-inputs
9687 `(("ert-runner" ,emacs-ert-runner)))
9688 (arguments
9689 `(#:tests? #t
9690 #:test-command '("ert-runner" "tests")))
9691 (home-page "https://github.com/lewang/ws-butler")
9692 (synopsis "Trim spaces from end of lines")
9693 (description
9694 "This Emacs package automatically and unobtrusively trims whitespace
9695 characters from end of lines.")
9696 (license license:gpl3+)))
9697
9698 (define-public emacs-org-edit-latex
9699 (package
9700 (name "emacs-org-edit-latex")
9701 (version "0.8.0")
9702 (source
9703 (origin
9704 (method git-fetch)
9705 (uri (git-reference
9706 (url "https://github.com/et2010/org-edit-latex.git")
9707 (commit (string-append "v" version))))
9708 (file-name (git-file-name name version))
9709 (sha256
9710 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
9711 (build-system emacs-build-system)
9712 (propagated-inputs
9713 `(("emacs-auctex" ,emacs-auctex)
9714 ;; The version of org in Emacs 25.2 is not sufficient, because the
9715 ;; `org-latex-make-preamble' function is required.
9716 ("emacs-org" ,emacs-org)))
9717 (home-page "https://github.com/et2010/org-edit-latex")
9718 (synopsis "Edit a latex fragment just like editing a src block")
9719 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
9720 It lets you edit a latex fragment in a dedicated buffer just like editing a
9721 src block.")
9722 (license license:gpl3+)))
9723
9724 (define-public emacs-emamux
9725 (package
9726 (name "emacs-emamux")
9727 (version "0.14")
9728 (source
9729 (origin
9730 (method git-fetch)
9731 (uri (git-reference
9732 (url "https://github.com/syohex/emacs-emamux.git")
9733 (commit version)))
9734 (file-name (git-file-name name version))
9735 (sha256
9736 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
9737 (build-system emacs-build-system)
9738 (home-page "https://github.com/syohex/emacs-emamux")
9739 (synopsis "Manipulate Tmux from Emacs")
9740 (description
9741 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
9742 multiplexer.")
9743 (license license:gpl3+)))
9744
9745 (define-public emacs-rpm-spec-mode
9746 (package
9747 (name "emacs-rpm-spec-mode")
9748 (version "0.16")
9749 (source
9750 (origin
9751 (method url-fetch)
9752 ;; URI has the Fedora release number instead of the version
9753 ;; number. This will have to updated manually every new release.
9754 (uri (string-append
9755 "https://src.fedoraproject.org/cgit/rpms"
9756 "/emacs-rpm-spec-mode.git/snapshot"
9757 "/emacs-rpm-spec-mode-f26.tar.gz"))
9758 (sha256
9759 (base32
9760 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
9761 (build-system emacs-build-system)
9762 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
9763 (synopsis "Emacs major mode for editing RPM spec files")
9764 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
9765 editing RPM spec files.")
9766 (license license:gpl2+)))
9767
9768 (define-public emacs-lcr
9769 (package
9770 (name "emacs-lcr")
9771 (version "1.1")
9772 (source
9773 (origin
9774 (method git-fetch)
9775 (uri (git-reference
9776 (url "https://github.com/jyp/lcr")
9777 (commit version)))
9778 (file-name (git-file-name name version))
9779 (sha256
9780 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
9781 (build-system emacs-build-system)
9782 (propagated-inputs
9783 `(("emacs-dash" ,emacs-dash)))
9784 (home-page "https://github.com/jyp/lcr")
9785 (synopsis "Lightweight coroutines in Emacs Lisp")
9786 (description "This package provides macros that can translate code into
9787 equivalent continuation-passing code, as well as miscellaneous utility
9788 functions written in continuation-passing style.")
9789 (license license:gpl3+)))
9790
9791 (define-public emacs-attrap
9792 (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
9793 (revision "2"))
9794 (package
9795 (name "emacs-attrap")
9796 (version (git-version "1.0" revision commit))
9797 (source (origin
9798 (method git-fetch)
9799 (uri (git-reference
9800 (url "https://github.com/jyp/attrap")
9801 (commit commit)))
9802 (sha256
9803 (base32
9804 "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
9805 (file-name (git-file-name name version))))
9806 (build-system emacs-build-system)
9807 (propagated-inputs
9808 `(("emacs-dash" ,emacs-dash)
9809 ("emacs-f" ,emacs-f)
9810 ("emacs-flycheck" ,emacs-flycheck)
9811 ("emacs-s" ,emacs-s)))
9812 (home-page "https://github.com/jyp/attrap")
9813 (synopsis "Fix coding error at point")
9814 (description "This package provides a command to fix the Flycheck error
9815 at point.")
9816 (license license:gpl3+))))
9817
9818 (define-public emacs-git-messenger
9819 (package
9820 (name "emacs-git-messenger")
9821 (version "0.18")
9822 (source
9823 (origin
9824 (method git-fetch)
9825 (uri (git-reference
9826 (url "https://github.com/syohex/emacs-git-messenger.git")
9827 (commit version)))
9828 (file-name (git-file-name name version))
9829 (sha256
9830 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
9831 (build-system emacs-build-system)
9832 (propagated-inputs
9833 `(("emacs-popup" ,emacs-popup)))
9834 (arguments
9835 `(#:tests? #t
9836 #:test-command '("emacs" "--batch" "-l" "test/test.el"
9837 "-f" "ert-run-tests-batch-and-exit")))
9838 (home-page "https://github.com/syohex/emacs-git-messenger")
9839 (synopsis "Popup commit message at current line")
9840 (description "@code{emacs-git-messenger} provides
9841 @code{git-messenger:popup-message}, a function that when called, will popup
9842 the last git commit message for the current line. This uses git-blame
9843 internally.")
9844 (license license:gpl3+)))
9845
9846 (define-public emacs-gitpatch
9847 (package
9848 (name "emacs-gitpatch")
9849 (version "0.5.1")
9850 (source
9851 (origin
9852 (method git-fetch)
9853 (uri (git-reference
9854 (url "https://github.com/tumashu/gitpatch.git")
9855 (commit (string-append "v" version))))
9856 (file-name (git-file-name name version))
9857 (sha256
9858 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
9859 (build-system emacs-build-system)
9860 (home-page "https://github.com/tumashu/gitpatch")
9861 (synopsis "Mail git patch from Emacs")
9862 (description "@code{emacs-gitpatch} lets users easily send git patches,
9863 created by @code{git format-patch}, from @code{magit}, @code{dired} and
9864 @code{ibuffer} buffers.")
9865 (license license:gpl3+)))
9866
9867 (define-public emacs-erc-hl-nicks
9868 (package
9869 (name "emacs-erc-hl-nicks")
9870 (version "1.3.3")
9871 (source
9872 (origin
9873 (method git-fetch)
9874 (uri (git-reference
9875 (url "https://github.com/leathekd/erc-hl-nicks")
9876 (commit version)))
9877 (file-name (git-file-name name version))
9878 (sha256
9879 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
9880 (build-system emacs-build-system)
9881 (synopsis "Nickname highlighting for Emacs ERC")
9882 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
9883 client for Emacs. The main features are:
9884 @itemize
9885 @item Auto-colorizes nicknames without having to specify colors
9886 @item Ignores certain characters that IRC clients add to nicknames to avoid
9887 duplicates (nickname, nickname’, nickname\", etc.)
9888 @item Attempts to produce colors with a sufficient amount of contrast between
9889 the nick color and the background color
9890 @end itemize\n")
9891 (home-page "https://github.com/leathekd/erc-hl-nicks")
9892 (license license:gpl3+)))
9893
9894 (define-public emacs-engine-mode
9895 (package
9896 (name "emacs-engine-mode")
9897 (version "2.0.0")
9898 (source
9899 (origin
9900 (method git-fetch)
9901 (uri (git-reference
9902 (url "https://github.com/hrs/engine-mode.git")
9903 (commit (string-append "v" version))))
9904 (file-name (git-file-name name version))
9905 (sha256
9906 (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"))))
9907 (build-system emacs-build-system)
9908 (synopsis "Minor mode for defining and querying search engines")
9909 (description "@code{engine-mode} is a global minor mode for Emacs. It
9910 enables you to easily define search engines, bind them to keybindings, and
9911 query them from the comfort of your editor.")
9912 (home-page "https://github.com/hrs/engine-mode")
9913 (license license:gpl3+)))
9914
9915 (define-public emacs-prop-menu
9916 (package
9917 (name "emacs-prop-menu")
9918 (version "0.1.2")
9919 (source
9920 (origin
9921 (method url-fetch)
9922 (uri (string-append
9923 "http://stable.melpa.org/packages/prop-menu-"
9924 version ".el"))
9925 (sha256
9926 (base32
9927 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
9928 (build-system emacs-build-system)
9929 (home-page
9930 "https://github.com/david-christiansen/prop-menu-el")
9931 (synopsis
9932 "Create and display a context menu based on text and overlay properties")
9933 (description
9934 "This is a library for computing context menus based on text
9935 properties and overlays. The intended use is to have tools that
9936 annotate source code and others that use these annotations, without
9937 requiring a direct coupling between them, but maintaining
9938 discoverability.
9939
9940 Major modes that wish to use this library should first define an
9941 appropriate value for @code{prop-menu-item-functions}. Then, they should
9942 bind @code{prop-menu-by-completing-read} to an appropriate
9943 key. Optionally, a mouse pop-up can be added by binding
9944 @code{prop-menu-show-menu} to a mouse event.")
9945 (license license:gpl3+)))
9946
9947 (define-public emacs-idris-mode
9948 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
9949 (revision "0"))
9950 (package
9951 (name "emacs-idris-mode")
9952 (version (git-version "0.9.19" revision commit))
9953 (source
9954 (origin
9955 (method git-fetch)
9956 (uri (git-reference
9957 (url "https://github.com/idris-hackers/idris-mode.git")
9958 (commit commit)))
9959 (file-name (git-file-name name commit))
9960 (sha256
9961 (base32
9962 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
9963 (build-system emacs-build-system)
9964 (propagated-inputs
9965 `(("emacs-prop-menu" ,emacs-prop-menu)))
9966 (home-page
9967 "https://github.com/idris-hackers/idris-mode")
9968 (synopsis "Major mode for editing Idris code")
9969 (description
9970 "This is an Emacs mode for editing Idris code. It requires the latest
9971 version of Idris, and some features may rely on the latest Git version of
9972 Idris.")
9973 (license license:gpl3+))))
9974
9975 (define-public emacs-browse-at-remote
9976 (package
9977 (name "emacs-browse-at-remote")
9978 (version "0.10.0")
9979 (source
9980 (origin
9981 (method git-fetch)
9982 (uri (git-reference
9983 (url "https://github.com/rmuslimov/browse-at-remote.git")
9984 (commit version)))
9985 (file-name (git-file-name name version))
9986 (sha256
9987 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
9988 (build-system emacs-build-system)
9989 (propagated-inputs
9990 `(("emacs-f" ,emacs-f)
9991 ("emacs-s" ,emacs-s)))
9992 (native-inputs
9993 `(("ert-runner" ,emacs-ert-runner)))
9994 (arguments
9995 `(#:tests? #t
9996 #:test-command '("ert-runner")))
9997 (home-page "https://github.com/rmuslimov/browse-at-remote")
9998 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
9999 (description
10000 "This Emacs package allows you to open a target page on
10001 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
10002 It supports dired buffers and opens them in tree mode at destination.")
10003 (license license:gpl3+)))
10004
10005 (define-public emacs-tiny
10006 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
10007 (revision "1"))
10008 (package
10009 (name "emacs-tiny")
10010 (version (git-version "0.2.1" revision commit))
10011 (source
10012 (origin
10013 (method git-fetch)
10014 (uri (git-reference
10015 (url "https://github.com/abo-abo/tiny.git")
10016 (commit commit)))
10017 (sha256
10018 (base32
10019 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
10020 (build-system emacs-build-system)
10021 (arguments
10022 `(#:tests? #t
10023 #:test-command '("make" "test")))
10024 (home-page "https://github.com/abo-abo/tiny")
10025 (synopsis "Quickly generate linear ranges in Emacs")
10026 (description
10027 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
10028 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
10029 proficiency is an advantage, since you can transform your numeric range with
10030 an elisp expression.")
10031 (license license:gpl3+))))
10032
10033 (define-public emacs-emojify
10034 (package
10035 (name "emacs-emojify")
10036 (version "1.2")
10037 (source
10038 (origin
10039 (method git-fetch)
10040 (uri (git-reference
10041 (url "https://github.com/iqbalansari/emacs-emojify")
10042 (commit (string-append "v" version))))
10043 (file-name (git-file-name name version))
10044 (sha256
10045 (base32
10046 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
10047 (build-system emacs-build-system)
10048 (arguments
10049 `(#:include (cons "^data/" %default-include)))
10050 (propagated-inputs
10051 `(("emacs-ht" ,emacs-ht)))
10052 (home-page "https://github.com/iqbalansari/emacs-emojify")
10053 (synopsis "Display emojis in Emacs")
10054 (description "This package displays emojis in Emacs similar to how Github,
10055 Slack, and other websites do. It can display plain ASCII like @code{:)} as
10056 well as Github-style emojis like @code{:smile:}. It provides a minor mode
10057 @code{emojify-mode} to enable the display of emojis in a buffer.")
10058 (license license:gpl3+)))
10059
10060 (define-public emacs-make-it-so
10061 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
10062 (revision "2"))
10063 (package
10064 (name "emacs-make-it-so")
10065 (version (git-version "0.1.0" revision commit))
10066 (source
10067 (origin
10068 (method git-fetch)
10069 (uri (git-reference
10070 (url "https://github.com/abo-abo/make-it-so")
10071 (commit commit)))
10072 (sha256
10073 (base32
10074 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
10075 (build-system emacs-build-system)
10076 (arguments
10077 `(#:include (cons "^recipes/" %default-include)))
10078 (propagated-inputs
10079 `(("emacs-ivy" ,emacs-ivy)))
10080 (home-page "https://github.com/abo-abo/make-it-so")
10081 (synopsis "Transform files with Makefile recipes")
10082 (description "This package provides an interface for selecting from
10083 different conversion recipes, often including tools like @code{ffmpeg} or
10084 @code{convert}. The conversion command need only be written once, and
10085 subsequent invocations can be readily customized. Several recipes are
10086 included by default, and more can be readily added.")
10087 (license license:gpl3+))))
10088
10089 (define-public emacs-unidecode
10090 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
10091 (revision "1"))
10092 (package
10093 (name "emacs-unidecode")
10094 (version (git-version "0.2" revision commit))
10095 (source
10096 (origin
10097 (method git-fetch)
10098 (uri (git-reference
10099 (url "https://github.com/sindikat/unidecode")
10100 (commit commit)))
10101 (sha256
10102 (base32
10103 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
10104 (build-system emacs-build-system)
10105 (arguments
10106 `(#:include (cons* "^tools/" "^data/" %default-include)
10107 #:tests? #t
10108 #:test-command '("emacs" "--batch"
10109 "-l" "unidecode-test.el"
10110 "-f" "ert-run-tests-batch-and-exit")
10111 #:phases
10112 (modify-phases %standard-phases
10113 (add-before 'check 'make-tests-writable
10114 (lambda _
10115 (make-file-writable "unidecode-test.el")
10116 #t))
10117 (add-before 'check 'add-require
10118 (lambda _
10119 (emacs-batch-edit-file "unidecode-test.el"
10120 `(progn (progn (goto-char (point-min))
10121 (re-search-forward
10122 "ert-deftest")
10123 (forward-line -1)
10124 (insert "(require 'unidecode)"))
10125 (basic-save-buffer)))
10126 #t)))))
10127 (home-page "https://github.com/sindikat/unidecode")
10128 (synopsis "Transliterate Unicode text to ASCII")
10129 (description "This package provides functions for converting Unicode to ASCII.")
10130 (license license:gpl2+))))
10131
10132 (define-public emacs-pubmed
10133 (package
10134 (name "emacs-pubmed")
10135 (version "0.2.1")
10136 (source
10137 (origin
10138 (method git-fetch)
10139 (uri (git-reference
10140 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
10141 (commit (string-append "v" version))))
10142 (file-name (git-file-name name version))
10143 (sha256
10144 (base32
10145 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
10146 (build-system emacs-build-system)
10147 (propagated-inputs
10148 `(("emacs-deferred" ,emacs-deferred)
10149 ("emacs-esxml" ,emacs-esxml)
10150 ("emacs-s" ,emacs-s)
10151 ("emacs-unidecode" ,emacs-unidecode)))
10152 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
10153 (synopsis "Interface to PubMed")
10154 (description "This package provides an Emacs interface to the PubMed
10155 database of references on life sciences.")
10156 (license license:gpl3+)))
10157
10158 (define-public emacs-websocket
10159 (package
10160 (name "emacs-websocket")
10161 (version "1.10")
10162 (source
10163 (origin
10164 (method git-fetch)
10165 (uri (git-reference
10166 (url "https://github.com/ahyatt/emacs-websocket.git")
10167 (commit version)))
10168 (file-name (git-file-name name version))
10169 (sha256
10170 (base32
10171 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
10172 (build-system emacs-build-system)
10173 (arguments
10174 `(#:tests? #t
10175 ;; TODO: also enable websocket-functional-test.el
10176 #:test-command '("emacs" "--batch"
10177 "-l" "websocket-test.el"
10178 "-f" "ert-run-tests-batch-and-exit")))
10179 (home-page "http://elpa.gnu.org/packages/websocket.html")
10180 (synopsis "Emacs WebSocket client and server")
10181 (description "This is an Elisp library for WebSocket clients to talk to
10182 WebSocket servers, and for WebSocket servers to accept connections from
10183 WebSocket clients. This library is designed to be used by other library
10184 writers, to write applications that use WebSockets, and is not useful by
10185 itself.")
10186 (license license:gpl3+)))
10187
10188 (define-public emacs-oauth2
10189 (package
10190 (name "emacs-oauth2")
10191 (version "0.11")
10192 (source
10193 (origin
10194 (method url-fetch)
10195 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
10196 version ".el"))
10197 (sha256
10198 (base32
10199 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
10200 (build-system emacs-build-system)
10201 (home-page "http://elpa.gnu.org/packages/oauth2.html")
10202 (synopsis "OAuth 2.0 authorization protocol implementation")
10203 (description
10204 "This package provides an Elisp implementation of the OAuth 2.0 draft.
10205 The main entry point is @code{oauth2-auth-and-store} which will return a token
10206 structure. This token structure can be then used with
10207 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
10208 retrieve any data that need OAuth authentication to be accessed. If the token
10209 needs to be refreshed, the code handles it automatically and stores the new
10210 value of the access token.")
10211 (license license:gpl3+)))
10212
10213 (define-public emacs-circe
10214 (package
10215 (name "emacs-circe")
10216 (version "2.11")
10217 (source
10218 (origin
10219 (method git-fetch)
10220 (uri (git-reference
10221 (url "https://github.com/jorgenschaefer/circe.git")
10222 (commit (string-append "v" version))))
10223 (file-name (git-file-name name version))
10224 (sha256
10225 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
10226 (build-system emacs-build-system)
10227 (arguments
10228 `(#:tests? #t
10229 #:test-command '("buttercup" "-L" ".")
10230 #:phases
10231 (modify-phases %standard-phases
10232 ;; The HOME environment variable should be set to an existing
10233 ;; directory for the tests to succeed.
10234 (add-before 'check 'set-home
10235 (lambda _
10236 (setenv "HOME" "/tmp")
10237 #t)))))
10238 (native-inputs
10239 `(("emacs-buttercup" ,emacs-buttercup)))
10240 ;; In order to securely connect to an IRC server using TLS, Circe requires
10241 ;; the GnuTLS binary.
10242 (propagated-inputs
10243 `(("gnutls" ,gnutls)))
10244 (home-page "https://github.com/jorgenschaefer/circe")
10245 (synopsis "Client for IRC in Emacs")
10246 (description "Circe is a Client for IRC in Emacs. It integrates well with
10247 the rest of the editor, using standard Emacs key bindings and indicating
10248 activity in channels in the status bar so it stays out of your way unless you
10249 want to use it.")
10250 (license license:gpl3+)))
10251
10252 (define-public emacs-tracking
10253 (package
10254 (inherit emacs-circe)
10255 (name "emacs-tracking")
10256 (arguments
10257 ;; "tracking.el" is a library extracted from Circe package. It requires
10258 ;; "shorten.el".
10259 `(#:include '("^shorten.el$" "^tracking.el$")
10260 ,@(package-arguments emacs-circe)))
10261 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
10262 (synopsis "Buffer tracking library")
10263 (description "@code{tracking.el} provides a way for different modes to
10264 notify the user that a buffer needs attention. The user then can cycle
10265 through them using @key{C-c C-SPC}.")
10266 (license license:gpl3+)))
10267
10268 (define-public emacs-slack
10269 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
10270 (revision "6"))
10271 (package
10272 (name "emacs-slack")
10273 (version (git-version "0.0.2" revision commit))
10274 (source (origin
10275 (method git-fetch)
10276 (uri (git-reference
10277 (url "https://github.com/yuya373/emacs-slack.git")
10278 (commit commit)))
10279 (file-name (git-file-name name commit))
10280 (sha256
10281 (base32
10282 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
10283 (build-system emacs-build-system)
10284 (arguments
10285 `(#:phases
10286 (modify-phases %standard-phases
10287 ;; HOME needs to exist for source compilation.
10288 (add-before 'build 'set-HOME
10289 (lambda _ (setenv "HOME" "/tmp") #t)))))
10290 (propagated-inputs
10291 `(("emacs-alert" ,emacs-alert)
10292 ("emacs-emojify" ,emacs-emojify)
10293 ("emacs-helm" ,emacs-helm)
10294 ("emacs-request" ,emacs-request)
10295 ("emacs-websocket" ,emacs-websocket)
10296 ("emacs-oauth2" ,emacs-oauth2)
10297 ("emacs-circe" ,emacs-circe)))
10298 (home-page "https://github.com/yuya373/emacs-slack")
10299 (synopsis "Slack client for Emacs")
10300 (description "This package provides an Emacs client for the Slack
10301 messaging service.")
10302 (license license:gpl3+))))
10303
10304 (define-public emacs-bash-completion
10305 (package
10306 (name "emacs-bash-completion")
10307 (version "2.1.0")
10308 (source
10309 (origin
10310 (method git-fetch)
10311 (uri (git-reference
10312 (url "https://github.com/szermatt/emacs-bash-completion.git")
10313 (commit version)))
10314 (file-name (git-file-name name version))
10315 (sha256
10316 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
10317 (inputs `(("bash" ,bash)))
10318 (build-system emacs-build-system)
10319 (arguments
10320 `(#:phases
10321 (modify-phases %standard-phases
10322 (add-after 'unpack 'make-git-checkout-writable
10323 (λ _
10324 (for-each make-file-writable (find-files "."))
10325 #t))
10326 (add-before 'install 'configure
10327 (lambda* (#:key inputs #:allow-other-keys)
10328 (let ((bash (assoc-ref inputs "bash")))
10329 (emacs-substitute-variables "bash-completion.el"
10330 ("bash-completion-prog" (string-append bash "/bin/bash"))))
10331 #t)))))
10332 (home-page "https://github.com/szermatt/emacs-bash-completion")
10333 (synopsis "Bash completion for the shell buffer")
10334 (description
10335 "@code{bash-completion} defines dynamic completion hooks for shell-mode
10336 and shell-command prompts that are based on Bash completion.")
10337 (license license:gpl2+)))
10338
10339 (define-public emacs-easy-kill
10340 (package
10341 (name "emacs-easy-kill")
10342 (version "0.9.3")
10343 (source (origin
10344 (method url-fetch)
10345 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
10346 version ".tar"))
10347 (sha256
10348 (base32
10349 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
10350 (build-system emacs-build-system)
10351 (home-page "https://github.com/leoliu/easy-kill")
10352 (synopsis "Kill and mark things easily in Emacs")
10353 (description
10354 "This package provides commands @code{easy-kill} and @code{easy-mark} to
10355 let users kill or mark things easily.")
10356 (license license:gpl3+)))
10357
10358 (define-public emacs-csv-mode
10359 (package
10360 (name "emacs-csv-mode")
10361 (version "1.7")
10362 (source
10363 (origin
10364 (method url-fetch)
10365 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
10366 version ".el"))
10367 (sha256
10368 (base32
10369 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
10370 (build-system emacs-build-system)
10371 (home-page
10372 "http://elpa.gnu.org/packages/csv-mode.html")
10373 (synopsis
10374 "Major mode for editing comma/char separated values")
10375 (description
10376 "This Emacs package implements CSV mode, a major mode for editing records
10377 in a generalized CSV (character-separated values) format.")
10378 (license license:gpl3+)))
10379
10380 (define-public emacs-transmission
10381 (package
10382 (name "emacs-transmission")
10383 (version "0.12.1")
10384 (source
10385 (origin
10386 (method git-fetch)
10387 (uri (git-reference
10388 (url "https://github.com/holomorph/transmission.git")
10389 (commit version)))
10390 (file-name (git-file-name name version))
10391 (sha256
10392 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
10393 (build-system emacs-build-system)
10394 (home-page "https://github.com/holomorph/transmission")
10395 (synopsis "Emacs interface to a Transmission session")
10396 (description "This package provides an Emacs interface to interact with a
10397 running session of the Transmission Bittorrent client.
10398
10399 Features:
10400
10401 @itemize
10402 @item List, add, start/stop, verify, remove torrents.
10403 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
10404 @item Navigate to the corresponding file list, torrent info, peer info
10405 contexts.
10406 @item Toggle downloading and set priorities for individual files.
10407 @end itemize\n")
10408 (license license:gpl3+)))
10409
10410 (define-public emacs-polymode
10411 (package
10412 (name "emacs-polymode")
10413 (version "0.2")
10414 (source (origin
10415 (method git-fetch)
10416 (uri (git-reference
10417 (url "https://github.com/polymode/polymode.git")
10418 (commit (string-append "v" version))))
10419 (file-name (git-file-name name version))
10420 (sha256
10421 (base32
10422 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
10423 (build-system emacs-build-system)
10424 (home-page "https://github.com/polymode/polymode")
10425 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
10426 (description
10427 "Polymode is an Emacs package that offers generic support for multiple
10428 major modes inside a single Emacs buffer. It is lightweight, object oriented
10429 and highly extensible. Creating a new polymode typically takes only a few
10430 lines of code. Polymode also provides extensible facilities for external
10431 literate programming tools for exporting, weaving and tangling.")
10432 (license license:gpl3+)))
10433
10434 (define-public emacs-polymode-ansible
10435 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
10436 (package
10437 (name "emacs-polymode-ansible")
10438 ;; No upstream version release yet.
10439 (version (git-version "0.1" "1" commit))
10440 (source
10441 (origin
10442 (method git-fetch)
10443 (uri (git-reference
10444 (url "https://gitlab.com/mavit/poly-ansible")
10445 (commit commit)))
10446 (file-name (git-file-name name version))
10447 (sha256
10448 (base32
10449 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
10450 (build-system emacs-build-system)
10451 (propagated-inputs
10452 `(("emacs-ansible-doc" ,emacs-ansible-doc)
10453 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
10454 ("emacs-polymode" ,emacs-polymode)
10455 ("emacs-yaml-mode" ,emacs-yaml-mode)))
10456 (properties '((upstream-name . "poly-ansible")))
10457 (home-page "https://gitlab.com/mavit/poly-ansible/")
10458 (synopsis "Polymode for Ansible - Jinja2 in YAML")
10459 (description
10460 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
10461 (license license:gpl3+))))
10462
10463 (define-public emacs-polymode-org
10464 (package
10465 (name "emacs-polymode-org")
10466 (version "0.2")
10467 (source
10468 (origin
10469 (method git-fetch)
10470 (uri (git-reference
10471 (url "https://github.com/polymode/poly-org.git")
10472 (commit (string-append "v" version))))
10473 (file-name (git-file-name name version))
10474 (sha256
10475 (base32
10476 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
10477 (build-system emacs-build-system)
10478 (propagated-inputs
10479 `(("emacs-polymode" ,emacs-polymode)))
10480 (properties '((upstream-name . "poly-org")))
10481 (home-page "https://github.com/polymode/poly-org")
10482 (synopsis "Polymode definitions for Org mode buffers")
10483 (description
10484 "Provides definitions for @code{emacs-polymode} to support
10485 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
10486 native modes of the blocks' languages while remaining inside the primary Org
10487 buffer.")
10488 (license license:gpl3+)))
10489
10490 (define-public eless
10491 (package
10492 (name "eless")
10493 (version "0.3")
10494 (source
10495 (origin
10496 (method git-fetch)
10497 (uri (git-reference
10498 (url "https://github.com/kaushalmodi/eless.git")
10499 (commit (string-append "v" version))))
10500 (file-name (git-file-name name version))
10501 (sha256
10502 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
10503 (build-system trivial-build-system)
10504 (inputs
10505 `(("bash" ,bash)))
10506 (arguments
10507 `(#:modules ((guix build utils))
10508 #:builder
10509 (begin
10510 (use-modules (guix build utils))
10511 (copy-recursively (assoc-ref %build-inputs "source") "source")
10512 (chdir "source")
10513 (substitute* "eless" (("/usr/bin/env bash")
10514 (string-append (assoc-ref %build-inputs "bash")
10515 "/bin/bash")))
10516 (install-file "eless" (string-append %output "/bin"))
10517 (install-file "doc/eless.info" (string-append %output "/share/info"))
10518 #t)))
10519 (home-page "https://github.com/kaushalmodi/eless")
10520 (synopsis "Use Emacs as a paginator")
10521 (description "@code{eless} provides a combination of Bash script
10522 and a minimal Emacs view-mode.
10523
10524 Feautures:
10525
10526 @itemize
10527 @item Independent of a user’s Emacs config.
10528 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
10529 @item Not require an Emacs server to be already running.
10530 @item Syntax highlighting.
10531 @item Org-mode file rendering.
10532 @item @code{man} page viewer.
10533 @item Info viewer.
10534 @item Dired, wdired, (batch edit symbolic links).
10535 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
10536 @item Filter log files lines matching a regexp.
10537 @item Auto-revert log files similar to @code{tail -f}.
10538 @item Quickly change frame and font sizes.
10539 @end itemize\n")
10540 (license license:expat)))
10541
10542 (define-public emacs-evil-matchit
10543 (package
10544 (name "emacs-evil-matchit")
10545 (version "2.3.4")
10546 (source
10547 (origin
10548 (method git-fetch)
10549 (uri (git-reference
10550 (url "https://github.com/redguardtoo/evil-matchit.git")
10551 (commit version)))
10552 (file-name (git-file-name name version))
10553 (sha256
10554 (base32 "1nflkmx08n3ya5vaipy1xg19hnqcp6f7ddsx9xjh5gl6ix2iz0az"))))
10555 (build-system emacs-build-system)
10556 (propagated-inputs
10557 `(("emacs-evil" ,emacs-evil)))
10558 (home-page "https://github.com/redguardtoo/evil-matchit")
10559 (synopsis "Vim matchit ported into Emacs")
10560 (description
10561 "@code{evil-matchit} is a minor mode for jumping between matching tags in
10562 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
10563 (license license:gpl3+)))
10564
10565 (define-public emacs-evil-smartparens
10566 (package
10567 (name "emacs-evil-smartparens")
10568 (version "0.4.0")
10569 (source
10570 (origin
10571 (method git-fetch)
10572 (uri (git-reference
10573 (url "https://github.com/expez/evil-smartparens.git")
10574 (commit version)))
10575 (file-name (git-file-name name version))
10576 (sha256
10577 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
10578 (build-system emacs-build-system)
10579 (propagated-inputs
10580 `(("emacs-evil" ,emacs-evil)
10581 ("emacs-smartparens" ,emacs-smartparens)))
10582 (home-page "https://github.com/expez/evil-smartparens")
10583 (synopsis "Emacs Evil integration for Smartparens")
10584 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
10585 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
10586 emulates Vim features and provides Vim-like key bindings.")
10587 (license license:gpl3+)))
10588
10589 (define-public emacs-evil-quickscope
10590 (package
10591 (name "emacs-evil-quickscope")
10592 (version "0.1.4")
10593 (source
10594 (origin
10595 (method git-fetch)
10596 (uri (git-reference
10597 (url "https://github.com/blorbx/evil-quickscope.git")
10598 (commit (string-append "v" version))))
10599 (file-name (git-file-name name version))
10600 (sha256
10601 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
10602 (build-system emacs-build-system)
10603 (propagated-inputs
10604 `(("emacs-evil" ,emacs-evil)))
10605 (arguments
10606 `(#:tests? #t
10607 #:test-command '("emacs" "--batch"
10608 "-l" "evil-quickscope-tests.el"
10609 "-f" "ert-run-tests-batch-and-exit")))
10610 (home-page "https://github.com/blorbx/evil-quickscope")
10611 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
10612 (description "@code{emacs-evil-quickscope} highlights targets for Evil
10613 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
10614 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
10615 features and provides Vim-like key bindings.")
10616 (license license:gpl3+)))
10617
10618 (define-public emacs-bongo
10619 (package
10620 (name "emacs-bongo")
10621 (version "1.0")
10622 (source
10623 (origin
10624 (method git-fetch)
10625 (uri (git-reference
10626 (url "https://github.com/dbrock/bongo.git")
10627 (commit version)))
10628 (file-name (git-file-name name version))
10629 (sha256
10630 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
10631 (build-system emacs-build-system)
10632 (home-page "https://github.com/dbrock/bongo")
10633 (synopsis "Media player for Emacs")
10634 (description
10635 "This package provides a flexible media player for Emacs. @code{Bongo}
10636 supports multiple backends such as @code{vlc}, @code{mpg123},
10637 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
10638 @code{afplay}.")
10639 (license license:gpl2+)))
10640
10641 (define-public emacs-groovy-modes
10642 (package
10643 (name "emacs-groovy-modes")
10644 (version "2.0")
10645 (source (origin
10646 (method url-fetch)
10647 (uri (string-append
10648 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
10649 "/archive/" version ".tar.gz"))
10650 (file-name (string-append name "-" version ".tar.gz"))
10651 (sha256
10652 (base32
10653 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
10654 (build-system emacs-build-system)
10655 (propagated-inputs
10656 `(("emacs-s" ,emacs-s)))
10657 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
10658 (synopsis "Groovy related modes for Emacs")
10659 (description
10660 "This package provides @code{groovy-mode} for syntax highlighting in
10661 Groovy source files, REPL integration with run-groovy and Grails project
10662 navigation with the grails mode.")
10663 (license license:gpl3+)))
10664
10665 (define-public groovy-emacs-modes
10666 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
10667
10668 (define-public emacs-org-tree-slide
10669 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
10670 (revision "2"))
10671 (package
10672 (name "emacs-org-tree-slide")
10673 (version (git-version "2.8.4" revision commit))
10674 (source (origin
10675 (method git-fetch)
10676 (uri (git-reference
10677 (url "https://github.com/takaxp/org-tree-slide.git")
10678 (commit commit)))
10679 (sha256
10680 (base32
10681 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
10682 (file-name (git-file-name name version))))
10683 (build-system emacs-build-system)
10684 (home-page "https://github.com/takaxp/org-tree-slide")
10685 (synopsis "Presentation tool for org-mode")
10686 (description
10687 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
10688 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
10689 @kbd{C-<} to jump to the next and previous slide.")
10690 (license license:gpl3+))))
10691
10692 (define-public emacs-scratch-el
10693 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
10694 (revision "1"))
10695 (package
10696 (name "emacs-scratch-el")
10697 (version (git-version "1.2" revision commit))
10698 (source (origin
10699 (method git-fetch)
10700 (uri (git-reference
10701 (url "https://github.com/ieure/scratch-el.git")
10702 (commit commit)))
10703 (file-name (git-file-name name version))
10704 (sha256
10705 (base32
10706 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
10707 (build-system emacs-build-system)
10708 (native-inputs
10709 `(("texinfo" ,texinfo)))
10710 (arguments
10711 '(#:phases
10712 (modify-phases %standard-phases
10713 (add-after 'install 'install-doc
10714 (lambda* (#:key outputs #:allow-other-keys)
10715 (unless (invoke "makeinfo" "scratch.texi")
10716 (error "makeinfo failed"))
10717 (install-file "scratch.info"
10718 (string-append (assoc-ref outputs "out")
10719 "/share/info"))
10720 #t)))))
10721 (home-page "https://github.com/ieure/scratch-el/")
10722 (synopsis "Create scratch buffers with the same mode as current buffer")
10723 (description "Scratch is an extension to Emacs that enables one to create
10724 scratch buffers that are in the same mode as the current buffer. This is
10725 notably useful when working on code in some language; you may grab code into a
10726 scratch buffer, and, by virtue of this extension, do so using the Emacs
10727 formatting rules for that language.")
10728 (license license:bsd-2))))
10729
10730 (define-public emacs-kv
10731 (package
10732 (name "emacs-kv")
10733 (version "0.0.19")
10734 (source
10735 (origin
10736 (method git-fetch)
10737 (uri (git-reference
10738 (url "https://github.com/nicferrier/emacs-kv.git")
10739 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
10740 (file-name (git-file-name name version))
10741 (sha256
10742 (base32
10743 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
10744 (build-system emacs-build-system)
10745 (arguments
10746 `(#:tests? #t
10747 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
10748 "-f" "ert-run-tests-batch-and-exit")))
10749 (home-page "https://github.com/nicferrier/emacs-kv")
10750 (synopsis "Key/Value data structures library for Emacs Lisp")
10751 (description "@code{emacs-kv} is a collection of tools for dealing with
10752 key/value data structures such as plists, alists and hash-tables in Emacs
10753 Lisp.")
10754 (license license:gpl3+)))
10755
10756 (define-public emacs-esxml
10757 (package
10758 (name "emacs-esxml")
10759 (version "0.3.4")
10760 (source (origin
10761 (method git-fetch)
10762 (uri (git-reference
10763 (url "https://github.com/tali713/esxml.git")
10764 (commit version)))
10765 (file-name (git-file-name name version))
10766 (sha256
10767 (base32
10768 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
10769 (build-system emacs-build-system)
10770 (arguments
10771 `(#:phases
10772 (modify-phases %standard-phases
10773 (add-after 'unpack 'fix-sources
10774 (lambda _
10775 ;; See: https://github.com/tali713/esxml/pull/28.
10776 (substitute* "css-lite.el"
10777 ((";;; main interface")
10778 (string-append ";;; main interface\n"
10779 "(require 'cl-lib)"))
10780 (("mapcan")
10781 "cl-mapcan")
10782 (("',\\(cl-mapcan #'process-css-rule rules\\)")
10783 "(cl-mapcan #'process-css-rule ',rules)"))
10784 (substitute* "esxml-form.el"
10785 ((",esxml-form-field-defn")
10786 "#'esxml-form-field-defn"))
10787 ;; See: https://github.com/tali713/esxml/issues/25
10788 (delete-file "esxpath.el")
10789 #t)))))
10790 (propagated-inputs
10791 `(("emacs-kv" ,emacs-kv)))
10792 (home-page "https://github.com/tali713/esxml/")
10793 (synopsis "SXML for EmacsLisp")
10794 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
10795 Simply, this is the easiest way to write HTML or XML in Lisp. This library
10796 uses the native form of XML representation as used by many libraries already
10797 included within Emacs. See @code{esxml-to-xml} for a concise description of
10798 the format.")
10799 (license license:gpl3+)))
10800
10801 (define-public emacs-nov-el
10802 (package
10803 (name "emacs-nov-el")
10804 (version "0.2.9")
10805 (source (origin
10806 (method git-fetch)
10807 (uri (git-reference
10808 (url "https://github.com/wasamasa/nov.el.git")
10809 (commit version)))
10810 (file-name (git-file-name name version))
10811 (sha256
10812 (base32
10813 "0v01l1p35mcigixs6j4c5bpc7n7bd51kxa0p3l1xl0gr92774yq3"))))
10814 (build-system emacs-build-system)
10815 (arguments
10816 `(#:phases
10817 (modify-phases %standard-phases
10818 (add-after 'unpack 'embed-path-to-unzip
10819 (lambda _
10820 (substitute* "nov.el"
10821 (("\\(executable-find \"unzip\"\\)")
10822 (string-append "\"" (which "unzip") "\"")))
10823 #t)))))
10824 (propagated-inputs
10825 `(("emacs-dash" ,emacs-dash)
10826 ("emacs-esxml" ,emacs-esxml)))
10827 (inputs
10828 `(("unzip" ,unzip)))
10829 (home-page "https://github.com/wasamasa/nov.el/")
10830 (synopsis "Major mode for reading EPUBs in Emacs")
10831 (description "@code{nov.el} provides a major mode for reading EPUB
10832 documents.
10833
10834 Features:
10835
10836 @itemize
10837 @item Basic navigation (jump to TOC, previous/next chapter)
10838 @item Remembering and restoring the last read position
10839 @item Jump to next chapter when scrolling beyond end
10840 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
10841 @item Hyperlinks to internal and external targets
10842 @item Supports textual and image documents
10843 @item View source of document files
10844 @item Metadata display
10845 @item Image rescaling
10846 @end itemize
10847 ")
10848 (license license:gpl3+)))
10849
10850 (define-public epipe
10851 (package
10852 (name "epipe")
10853 (version "0.1.0")
10854 (source
10855 (origin
10856 (method git-fetch)
10857 (uri (git-reference
10858 (url "https://github.com/cute-jumper/epipe.git")
10859 (commit version)))
10860 (file-name (git-file-name name version))
10861 (sha256
10862 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
10863 (build-system trivial-build-system)
10864 (inputs
10865 `(("bash" ,bash)
10866 ("perl" ,perl)))
10867 (arguments
10868 `(#:modules
10869 ((guix build utils))
10870 #:builder
10871 (begin
10872 (use-modules (guix build utils))
10873 ;; Extract source.
10874 (copy-recursively (assoc-ref %build-inputs "source") "source")
10875 (chdir "source")
10876 ;; Patch shebangs.
10877 (substitute* "epipe"
10878 (("/usr/bin/env bash")
10879 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
10880 (patch-shebang "epipe.pl"
10881 (list (string-append (assoc-ref %build-inputs "perl")
10882 "/bin")))
10883 ;; Install.
10884 (for-each (lambda (file)
10885 (install-file file (string-append %output "/bin")))
10886 '("epipe" "epipe.pl"))
10887 #t)))
10888 (home-page "https://github.com/cute-jumper/epipe")
10889 (synopsis "Pipe to the @code{emacsclient}")
10890 (description "@code{epipe} provides an utility to use your editor in
10891 the pipeline, featuring the support for running @code{emacsclient}.")
10892 (license license:gpl3+)))
10893
10894 (define-public emacs-hcl-mode
10895 (package
10896 (name "emacs-hcl-mode")
10897 (version "0.03")
10898 (source
10899 (origin
10900 (method git-fetch)
10901 (uri (git-reference
10902 (url "https://github.com/syohex/emacs-hcl-mode.git")
10903 (commit version)))
10904 (file-name (git-file-name name version))
10905 (sha256
10906 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
10907 (build-system emacs-build-system)
10908 (home-page "https://github.com/syohex/emacs-hcl-mode")
10909 (synopsis "Major mode for the Hashicorp Configuration Language")
10910 (description
10911 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
10912 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
10913 highlighting and indentation support.")
10914 (license license:gpl3+)))
10915
10916 (define-public emacs-terraform-mode
10917 (package
10918 (name "emacs-terraform-mode")
10919 (version "0.06")
10920 (source
10921 (origin
10922 (method git-fetch)
10923 (uri (git-reference
10924 (url "https://github.com/syohex/emacs-terraform-mode.git")
10925 (commit version)))
10926 (file-name (git-file-name name version))
10927 (sha256
10928 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
10929 (build-system emacs-build-system)
10930 (propagated-inputs
10931 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
10932 (home-page "https://github.com/syohex/emacs-terraform-mode")
10933 (synopsis "Major mode for Terraform")
10934 (description
10935 "@code{emacs-terraform-mode} provides a major mode for working with
10936 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
10937 functionality is inherited from @code{hcl-mode}.")
10938 (license license:gpl3+)))
10939
10940 (define-public emacs-exec-path-from-shell
10941 (package
10942 (name "emacs-exec-path-from-shell")
10943 (version "1.12")
10944 (source
10945 (origin
10946 (method git-fetch)
10947 (uri (git-reference
10948 (url "https://github.com/purcell/exec-path-from-shell")
10949 (commit version)))
10950 (sha256
10951 (base32
10952 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
10953 (build-system emacs-build-system)
10954 (home-page "https://github.com/purcell/exec-path-from-shell")
10955 (synopsis "Get environment variables such as @var{PATH} from the shell")
10956 (description
10957 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
10958 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
10959 the like work as expected on systems on which Emacs is not guaranteed to
10960 inherit a login shell's environment variables. It also allows other
10961 environment variables to be retrieved from the shell, so that Emacs will see
10962 the same values you get in a terminal.")
10963 (license license:gpl3+)))
10964
10965 (define-public emacs-frog-menu
10966 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
10967 (revision "1"))
10968 (package
10969 (name "emacs-frog-menu")
10970 (version (git-version "0.2.9" revision commit))
10971 (source
10972 (origin
10973 (method git-fetch)
10974 (uri (git-reference
10975 (url "https://github.com/clemera/frog-menu")
10976 (commit commit)))
10977 (file-name (git-file-name name version))
10978 (sha256
10979 (base32
10980 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
10981 (build-system emacs-build-system)
10982 (propagated-inputs
10983 `(("emacs-posframe" ,emacs-posframe)
10984 ("emacs-avy" ,emacs-avy)))
10985 (home-page "https://github.com/clemera/frog-menu")
10986 (synopsis "Quickly pick items from ad hoc menus")
10987 (description
10988 "This package provides a popup offering a preview of a list of
10989 candidates on which user-defined dispatch actions can act.")
10990 (license license:gpl3+))))
10991
10992 (define-public emacs-frog-jump-buffer
10993 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
10994 (revision "1"))
10995 (package
10996 (name "emacs-frog-jump-buffer")
10997 (version (git-version "0.1.4" revision commit))
10998 (source
10999 (origin
11000 (method git-fetch)
11001 (uri (git-reference
11002 (url "https://github.com/waymondo/frog-jump-buffer")
11003 (commit commit)))
11004 (file-name (git-file-name name version))
11005 (sha256
11006 (base32
11007 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
11008 (build-system emacs-build-system)
11009 (propagated-inputs
11010 `(("emacs-dash" ,emacs-dash)
11011 ("emacs-frog-menu" ,emacs-frog-menu)
11012 ("emacs-avy" ,emacs-avy)))
11013 (home-page "https://github.com/waymondo/frog-jump-buffer")
11014 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
11015 (description
11016 "This package provides a preview window of buffers that can be switched
11017 to with quicklink-style selections.")
11018 (license license:gpl3+))))
11019
11020 (define-public emacs-deft
11021 (package
11022 (name "emacs-deft")
11023 (version "0.8")
11024 (source
11025 (origin
11026 (method git-fetch)
11027 (uri (git-reference
11028 (url "https://github.com/jrblevin/deft.git")
11029 (commit (string-append "v" version))))
11030 (sha256
11031 (base32
11032 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
11033 (build-system emacs-build-system)
11034 (home-page "https://jblevins.org/projects/deft/")
11035 (synopsis "Quickly browse, filter, and edit plain text notes")
11036 (description
11037 "Deft is an Emacs mode for quickly browsing, filtering, and editing
11038 directories of plain text notes, inspired by Notational Velocity.")
11039 (license license:bsd-3)))
11040
11041 (define-public emacs-anzu
11042 (package
11043 (name "emacs-anzu")
11044 (version "0.62")
11045 (source
11046 (origin
11047 (method git-fetch)
11048 (uri (git-reference
11049 (url "https://github.com/syohex/emacs-anzu.git")
11050 (commit version)))
11051 (file-name (git-file-name name version))
11052 (sha256
11053 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
11054 (build-system emacs-build-system)
11055 (home-page "https://github.com/syohex/emacs-anzu")
11056 (synopsis "Show number of matches in mode-line while searching")
11057 (description
11058 "Anzu provides a minor mode which displays \"current match/total
11059 matches\" in the mode line in various search modes. This is an Emacs port of
11060 Anzu.zim.")
11061 (license license:gpl3+)))
11062
11063 (define-public emacs-ascii-art-to-unicode
11064 (package
11065 (name "emacs-ascii-art-to-unicode")
11066 (version "1.12")
11067 (source
11068 (origin
11069 (method url-fetch)
11070 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
11071 version ".el"))
11072 (sha256
11073 (base32
11074 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
11075 (build-system emacs-build-system)
11076 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
11077 (synopsis "ASCII to Unicode art converter for Emacs")
11078 (description "This Emacs package provides the commands @command{aa2u} and
11079 @command{aa2u-rectangle}. Both of these commands can be used to convert
11080 simple ASCII art line drawings to Unicode; the former works on the active
11081 region of the buffer, while the latter works on rectangular selections.")
11082 (license license:gpl3+)))
11083
11084 (define-public emacs-emmet-mode
11085 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
11086 (revision "1"))
11087 (package
11088 (name "emacs-emmet-mode")
11089 (version (git-version "1.0.8" revision commit))
11090 (source (origin
11091 (method git-fetch)
11092 (uri (git-reference
11093 (url "https://github.com/smihica/emmet-mode.git")
11094 (commit commit)))
11095 (file-name (git-file-name name version))
11096 (sha256
11097 (base32
11098 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
11099 (build-system emacs-build-system)
11100 (home-page "https://github.com/smihica/emmet-mode")
11101 (synopsis "Unofficial Emmet's support for Emacs")
11102 (description
11103 "Unfold CSS-selector-like expressions to markup. It is intended to be
11104 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
11105 (license license:gpl3+))))
11106
11107 (define-public emacs-ergoemacs-mode
11108 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
11109 (revision "1"))
11110 (package
11111 (name "emacs-ergoemacs-mode")
11112 (version (git-version "5.16.10.12" revision commit))
11113 (source
11114 (origin
11115 (method git-fetch)
11116 (uri (git-reference
11117 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
11118 (commit commit)))
11119 (sha256
11120 (base32
11121 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
11122 (build-system emacs-build-system)
11123 (propagated-inputs
11124 `(("emacs-undo-tree" ,emacs-undo-tree)))
11125 (home-page "https://ergoemacs.github.io/")
11126 (synopsis "Emacs mode based on common modern interface and ergonomics")
11127 (description
11128 "This package provides an efficient Emacs keybinding set based on
11129 statistics of command frequency, and supports common shortcuts for open,
11130 close, copy, cut, paste, undo, redo.")
11131 (license license:gpl3+))))
11132
11133 (define-public emacs-password-store
11134 (package
11135 (name "emacs-password-store")
11136 (version "1.7.3")
11137 (source (origin
11138 (method url-fetch)
11139 (uri
11140 (string-append "https://git.zx2c4.com/password-store/snapshot/"
11141 "password-store-" version ".tar.xz"))
11142 (sha256
11143 (base32
11144 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
11145 (build-system emacs-build-system)
11146 (arguments
11147 `(#:phases
11148 (modify-phases %standard-phases
11149 (add-after 'unpack 'extract-el-file
11150 (lambda _
11151 (copy-file "contrib/emacs/password-store.el" "password-store.el")
11152 (delete-file-recursively "contrib")
11153 (delete-file-recursively "man")
11154 (delete-file-recursively "src")
11155 (delete-file-recursively "tests"))))))
11156 (propagated-inputs
11157 `(("emacs-f" ,emacs-f)
11158 ("emacs-s" ,emacs-s)
11159 ("emacs-with-editor" ,emacs-with-editor)
11160 ("password-store" ,password-store)))
11161 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
11162 (synopsis "Password store (pass) support for Emacs")
11163 (description
11164 "This package provides functions for working with pass (\"the
11165 standard Unix password manager\").")
11166 (license license:gpl2+)))
11167
11168 (define-public emacs-pass
11169 (package
11170 (name "emacs-pass")
11171 (version "1.8")
11172 (source
11173 (origin
11174 (method git-fetch)
11175 (uri (git-reference
11176 (url "https://github.com/NicolasPetton/pass.git")
11177 (commit version)))
11178 (file-name (git-file-name name version))
11179 (sha256
11180 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
11181 (build-system emacs-build-system)
11182 (propagated-inputs
11183 `(("emacs-password-store" ,emacs-password-store)
11184 ("emacs-f" ,emacs-f)))
11185 (home-page "https://github.com/NicolasPetton/pass")
11186 (synopsis "Major mode for @file{password-store.el}")
11187 (description "This is a major mode for managing password-store (pass)
11188 keychains. The keychain entries are displayed in a directory-like structure
11189 and can be consulted and modified.")
11190 (license license:gpl3+)))
11191
11192 (define-public emacs-evil-anzu
11193 (package
11194 (name "emacs-evil-anzu")
11195 (version "0.03")
11196 (source
11197 (origin
11198 (method git-fetch)
11199 (uri (git-reference
11200 (url "https://github.com/syohex/emacs-evil-anzu")
11201 (commit version)))
11202 (file-name (git-file-name name version))
11203 (sha256
11204 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
11205 (build-system emacs-build-system)
11206 (propagated-inputs
11207 `(("emacs-evil" ,emacs-evil)
11208 ("emacs-anzu" ,emacs-anzu)))
11209 (home-page "https://github.com/syohex/emacs-evil-anzu")
11210 (synopsis "Anzu for evil-mode")
11211 (description "@code{anzu} provides a minor mode that displays the current
11212 match and total match information in the mode-line in various search modes.")
11213 (license license:gpl3+)))
11214
11215 (define-public emacs-pg
11216 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
11217 (package
11218 (name "emacs-pg")
11219 (version (git-version "0.1" "1" commit))
11220 (source (origin
11221 (method git-fetch)
11222 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
11223 (commit commit)))
11224 (file-name (git-file-name name version))
11225 (sha256
11226 (base32
11227 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
11228 (build-system emacs-build-system)
11229 (home-page "https://github.com/cbbrowne/pg.el")
11230 (synopsis "Emacs Lisp interface for PostgreSQL")
11231 (description
11232 "This package provides an Emacs Lisp interface for PostgreSQL.")
11233 (license license:gpl3+))))
11234
11235 (define-public emacs-cl-generic
11236 (package
11237 (name "emacs-cl-generic")
11238 (version "0.3")
11239 (source
11240 (origin
11241 (method url-fetch)
11242 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
11243 version ".el"))
11244 (sha256
11245 (base32
11246 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
11247 (build-system emacs-build-system)
11248 (home-page "https://elpa.gnu.org/packages/seq.html")
11249 (synopsis
11250 "Forward @code{cl-generic} compatibility for Emacs before version 25")
11251 (description "This package provides a subset of the features of the
11252 @code{cl-generic} package introduced in Emacs-25, for use on previous
11253 @code{emacsen}.")
11254 (license license:gpl3+)))
11255
11256 (define-public emacs-finalize
11257 (package
11258 (name "emacs-finalize")
11259 (version "2.0.0")
11260 (source
11261 (origin
11262 (method git-fetch)
11263 (uri (git-reference
11264 (url "https://github.com/skeeto/elisp-finalize.git")
11265 (commit version)))
11266 (file-name (git-file-name name version))
11267 (sha256
11268 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
11269 (build-system emacs-build-system)
11270 (propagated-inputs
11271 `(("emacs-cl-generic" ,emacs-cl-generic)))
11272 (home-page "https://github.com/skeeto/elisp-finalize")
11273 (synopsis "Finalizers for Emacs Lisp")
11274 (description
11275 "This package will allows to immediately run a callback (a finalizer)
11276 after its registered lisp object has been garbage collected. This allows for
11277 extra resources, such as buffers and processes, to be cleaned up after the
11278 object has been freed.")
11279 (license license:unlicense)))
11280
11281 (define-public emacs-emacsql
11282 (package
11283 (name "emacs-emacsql")
11284 (version "3.0.0")
11285 (source (origin
11286 (method git-fetch)
11287 (uri (git-reference
11288 (url "https://github.com/skeeto/emacsql.git")
11289 (commit (string-append version))))
11290 (file-name (git-file-name name version))
11291 (sha256
11292 (base32
11293 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
11294 (build-system emacs-build-system)
11295 (arguments
11296 `(#:modules ((guix build emacs-build-system)
11297 (guix build utils)
11298 (guix build emacs-utils)
11299 (srfi srfi-26))
11300 #:phases
11301 (modify-phases %standard-phases
11302 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
11303 (add-before 'install 'patch-elisp-shell-shebangs
11304 (lambda _
11305 (substitute* (find-files "." "\\.el")
11306 (("/bin/sh") (which "sh")))
11307 #t))
11308 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
11309 (lambda _
11310 (setenv "SHELL" "sh")))
11311 (add-after 'setenv-shell 'build-emacsql-sqlite
11312 (lambda _
11313 (invoke "make" "binary" "CC=gcc")))
11314 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
11315 ;; This build phase installs emacs-emacsql binary.
11316 (lambda* (#:key outputs #:allow-other-keys)
11317 (install-file "sqlite/emacsql-sqlite"
11318 (string-append (assoc-ref outputs "out")
11319 "/bin"))
11320 #t))
11321 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
11322 ;; This build phase removes interactive prompts
11323 ;; and makes sure Emacs look for binaries in the right places.
11324 (lambda* (#:key outputs #:allow-other-keys)
11325 (let ((file "emacsql-sqlite.el"))
11326 (chmod file #o644)
11327 (emacs-substitute-sexps file
11328 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
11329 ("(executable-find" (which "gcc"))
11330 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
11331 ;; in the right place.
11332 ("(defvar emacsql-sqlite-executable"
11333 (string-append (assoc-ref outputs "out")
11334 "/bin/emacsql-sqlite"))))))
11335 (replace 'install
11336 (lambda* (#:key outputs #:allow-other-keys)
11337 (let* ((out (assoc-ref outputs "out")))
11338 (install-file "sqlite/emacsql-sqlite"
11339 (string-append out "/bin"))
11340 (for-each (cut install-file <>
11341 (string-append out "/share/emacs/site-lisp/guix.d/"
11342 "emacsql" "-" ,version))
11343 (find-files "." "\\.elc*$")))
11344 #t)))))
11345 (inputs
11346 `(("emacs-minimal" ,emacs-minimal)
11347 ("mariadb" ,mariadb)
11348 ("postgresql" ,postgresql)))
11349 (propagated-inputs
11350 `(("emacs-finalize" ,emacs-finalize)
11351 ("emacs-pg" ,emacs-pg)))
11352 (home-page "https://github.com/skeeto/emacsql")
11353 (synopsis "Emacs high-level SQL database front-end")
11354 (description "Any readable Lisp value can be stored as a value in EmacSQL,
11355 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
11356 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
11357 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
11358 (license license:gpl3+)))
11359
11360 (define-public emacs-closql
11361 (package
11362 (name "emacs-closql")
11363 (version "1.0.0")
11364 (source
11365 (origin
11366 (method git-fetch)
11367 (uri (git-reference
11368 (url "https://github.com/emacscollective/closql.git")
11369 (commit (string-append "v" version))))
11370 (file-name (git-file-name name version))
11371 (sha256
11372 (base32
11373 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
11374 (build-system emacs-build-system)
11375 (propagated-inputs
11376 `(("emacs-emacsql" ,emacs-emacsql)))
11377 (home-page "https://github.com/emacscollective/closql")
11378 (synopsis "Store EIEIO objects using EmacSQL")
11379 (description
11380 "This package allows to store uniform EIEIO objects in an EmacSQL
11381 database. SQLite is used as backend. This library imposes some restrictions
11382 on what kind of objects can be stored; it isn't intended to store arbitrary
11383 objects. All objects have to share a common superclass and subclasses cannot
11384 add any additional instance slots.")
11385 (license license:gpl3)))
11386
11387 (define-public emacs-epkg
11388 ;; The release version is to old for the current database scheme.
11389 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
11390 (package
11391 (name "emacs-epkg")
11392 (version (git-version "3.0.0" "1" commit))
11393 (source
11394 (origin
11395 (method git-fetch)
11396 (uri (git-reference
11397 (url "https://github.com/emacscollective/epkg.git")
11398 (commit commit)))
11399 (file-name (git-file-name name version))
11400 (sha256
11401 (base32
11402 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
11403 (build-system emacs-build-system)
11404 (propagated-inputs
11405 `(("emacs-closql" ,emacs-closql)
11406 ("emacs-dash" ,emacs-dash)))
11407 (home-page "https://emacsmirror.net")
11408 (synopsis "Browse the Emacsmirror package database")
11409 (description "This package provides access to a local copy of the
11410 Emacsmirror package database. It provides low-level functions for querying
11411 the database and a @file{package.el} user interface for browsing the database.
11412 Epkg itself is not a package manager.
11413
11414 Getting a local copy:
11415
11416 @example
11417 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
11418 cd ~/.emacs.d/epkgs
11419 git submodule init
11420 git config --global url.https://github.com/.insteadOf git@@github.com:
11421 git submodule update
11422 @end example
11423
11424 Some submodule may be missing. In this case Git will prompt for a GitHub user
11425 name and password. To skip it press a @key{Return} key.
11426
11427 You could get a Epkg package list by invoking @code{epkg-list-packages} in
11428 Emacs.")
11429 (license license:gpl3+))))
11430
11431 (define-public emacs-elisp-slime-nav
11432 (package
11433 (name "emacs-elisp-slime-nav")
11434 (version "0.9")
11435 (source
11436 (origin
11437 (method git-fetch)
11438 (uri (git-reference
11439 (url "https://github.com/purcell/elisp-slime-nav.git")
11440 (commit version)))
11441 (file-name (git-file-name name version))
11442 (sha256
11443 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
11444 (build-system emacs-build-system)
11445 (home-page "https://github.com/purcell/elisp-slime-nav")
11446 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
11447 (description
11448 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
11449 in @code{emacs-lisp-mode}, together with an elisp equivalent of
11450 @code{slime-describe-symbol}.")
11451 (license license:gpl3+)))
11452
11453 (define-public emacs-dedicated
11454 (package
11455 (name "emacs-dedicated")
11456 (version "1.0.0")
11457 (source
11458 (origin
11459 (method git-fetch)
11460 (uri (git-reference
11461 (url "https://github.com/emacsorphanage/dedicated.git")
11462 (commit version)))
11463 (file-name (git-file-name name version))
11464 (sha256
11465 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
11466 (build-system emacs-build-system)
11467 (home-page "https://github.com/emacsorphanage/dedicated")
11468 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
11469 (description
11470 "This simple Emacs minor mode allows you to toggle a window's
11471 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
11472 files into that window. This can be quite handy since many commands will use
11473 another window to show results (compilation mode, starting info, and so on).
11474 A dedicated window won't be used for such a purpose. For details, please read
11475 the source file.")
11476 (license license:gpl2+)))
11477
11478 (define-public emacs-nnreddit
11479 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
11480 (revision "1"))
11481 (package
11482 (name "emacs-nnreddit")
11483 (version (string-append "0.0.1-" revision "."
11484 (string-take commit 7)))
11485 (source (origin
11486 (method git-fetch)
11487 (uri (git-reference
11488 (url "https://github.com/paul-issartel/nnreddit.git")
11489 (commit commit)))
11490 (file-name (git-file-name name version))
11491 (sha256
11492 (base32
11493 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
11494 (build-system emacs-build-system)
11495 (home-page "https://github.com/paul-issartel/nnreddit")
11496 (synopsis "Reddit backend for the Gnus newsreader")
11497 (description "@url{https://www.reddit.com} backend for the Gnus
11498 newsreader.")
11499 (license license:gpl3+))))
11500
11501 (define-public emacs-makey
11502 (package
11503 (name "emacs-makey")
11504 (version "0.3")
11505 (source
11506 (origin
11507 (method git-fetch)
11508 (uri (git-reference
11509 (url "https://github.com/mickeynp/makey.git")
11510 (commit version)))
11511 (file-name (git-file-name name version))
11512 (sha256
11513 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
11514 (build-system emacs-build-system)
11515 (home-page "https://github.com/mickeynp/makey")
11516 (synopsis "Emacs interactive command-line mode")
11517 (description
11518 "This package provides an Emacs interactive command-line mode.")
11519 (license license:gpl3+)))
11520
11521 (define-public emacs-outorg
11522 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
11523 (package
11524 (name "emacs-outorg")
11525 (version (git-version "2.0" "1" commit))
11526 (source
11527 (origin
11528 (method git-fetch)
11529 (uri (git-reference
11530 (url "https://github.com/alphapapa/outorg")
11531 (commit commit)))
11532 (file-name (git-file-name name version))
11533 (sha256
11534 (base32
11535 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
11536 (build-system emacs-build-system)
11537 (home-page "https://github.com/alphapapa/outorg")
11538 (synopsis "Org-style comment editing")
11539 (description "Outorg is for editing comment-sections of source-code
11540 files in temporary Org-mode buffers. It turns conventional
11541 literate-programming upside-down in that the default mode is the
11542 programming-mode, and special action has to be taken to switch to the
11543 text-mode (i.e. Org-mode).")
11544 (license license:gpl3+))))
11545
11546 (define-public emacs-outshine
11547 (package
11548 (name "emacs-outshine")
11549 (version "3.0.1")
11550 (source (origin
11551 (method git-fetch)
11552 (uri (git-reference
11553 (url "https://github.com/alphapapa/outshine.git")
11554 (commit (string-append "v" version))))
11555 (file-name (git-file-name name version))
11556 (sha256
11557 (base32
11558 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
11559 (build-system emacs-build-system)
11560 (propagated-inputs
11561 `(("emacs-outorg" ,emacs-outorg)))
11562 (home-page "https://github.com/alphapapa/outshine")
11563 (synopsis "Emacs outline with outshine")
11564 (description "Outshine attempts to bring the look and feel of
11565 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
11566 of @code{outline-minor-mode} (@code{org-mode} itself derives from
11567 outline-mode), so there is no such thing like an outshine mode, only
11568 @code{outline-minor-mode} with outshine extensions loaded.")
11569 (license license:gpl3+)))
11570
11571 (define-public emacs-frecency
11572 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
11573 (version "0.1-pre")
11574 (revision "1"))
11575 (package
11576 (name "emacs-frecency")
11577 (version (git-version version revision commit))
11578 (source (origin
11579 (method git-fetch)
11580 (uri (git-reference
11581 (url "https://github.com/alphapapa/frecency.el")
11582 (commit commit)))
11583 (sha256
11584 (base32
11585 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
11586 (file-name (git-file-name name version))))
11587 (build-system emacs-build-system)
11588 (propagated-inputs
11589 `(("emacs-a" ,emacs-a)
11590 ("emacs-dash" ,emacs-dash)))
11591 (home-page "https://github.com/alphapapa/frecency.el")
11592 (synopsis "Sort items by frequency and recency of access")
11593 (description "This package provides a way of sorting items via
11594 a heuristic based on frequency and recency.")
11595 (license license:gpl3+))))
11596
11597 (define-public emacs-org-recent-headings
11598 (package
11599 (name "emacs-org-recent-headings")
11600 (version "0.1")
11601 (source (origin
11602 (method git-fetch)
11603 (uri (git-reference
11604 (url "https://github.com/alphapapa/org-recent-headings.git")
11605 (commit version)))
11606 (file-name (git-file-name name version))
11607 (sha256
11608 (base32
11609 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
11610 (build-system emacs-build-system)
11611 (propagated-inputs
11612 `(("emacs-org" ,emacs-org)
11613 ("emacs-dash" ,emacs-dash)
11614 ("emacs-frecency" ,emacs-frecency)))
11615 (home-page "https://github.com/alphapapa/org-recent-headings")
11616 (synopsis "Navigate to recently used Org headings and lists")
11617 (description "This package maintains a list of recently used Org headings,
11618 as well as functions for navigating between these headings.")
11619 (license license:gpl3+)))
11620
11621 (define-public emacs-org-super-agenda
11622 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
11623 (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba")
11624 (revision "3"))
11625 (package
11626 (name "emacs-org-super-agenda")
11627 (version (git-version "1.1.1" revision commit))
11628 (source (origin
11629 (method git-fetch)
11630 (uri (git-reference
11631 (url "https://github.com/alphapapa/org-super-agenda")
11632 (commit commit)))
11633 (file-name (git-file-name name version))
11634 (sha256
11635 (base32
11636 "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff"))))
11637 (build-system emacs-build-system)
11638 (propagated-inputs
11639 `(("emacs-org" ,emacs-org)
11640 ("emacs-dash" ,emacs-dash)
11641 ("emacs-ts" ,emacs-ts)
11642 ("emacs-ht" ,emacs-ht)
11643 ("emacs-s" ,emacs-s)))
11644 (home-page "https://github.com/alphapapa/org-super-agenda")
11645 (synopsis "Supercharged Org agenda")
11646 (description "This package allows items in the Org agenda to be grouped
11647 into sections while preserving the structure imposed by any timestamps.")
11648 (license license:gpl3+))))
11649
11650 (define-public emacs-org-make-toc
11651 (package
11652 (name "emacs-org-make-toc")
11653 (version "0.3")
11654 (source (origin
11655 (method git-fetch)
11656 (uri (git-reference
11657 (url "https://github.com/alphapapa/org-make-toc")
11658 (commit version)))
11659 (file-name (git-file-name name version))
11660 (sha256
11661 (base32
11662 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
11663 (build-system emacs-build-system)
11664 (propagated-inputs
11665 `(("emacs-org" ,emacs-org)
11666 ("emacs-dash" ,emacs-dash)
11667 ("emacs-s" ,emacs-s)))
11668 (home-page "https://github.com/alphapapa/org-make-toc")
11669 (synopsis "Maintain a table of contents for an Org file")
11670 (description "This package facilitates the creation and maintenance of
11671 tables of contents.")
11672 (license license:gpl3+)))
11673
11674 (define-public emacs-ts
11675 (let ((commit "395649a2f2ba79028331bb1fa9ec08b218950ff6")
11676 (revision "2"))
11677 (package
11678 (name "emacs-ts")
11679 (version (git-version "0.1" revision commit))
11680 (source (origin
11681 (method git-fetch)
11682 (uri (git-reference
11683 (url "https://github.com/alphapapa/ts.el")
11684 (commit commit)))
11685 (sha256
11686 (base32
11687 "02603wv66fplsigxd87jy23hrb5g9vigszcpdqrdv0ypaqaxlr3a"))
11688 (file-name (git-file-name name version))))
11689 (build-system emacs-build-system)
11690 (propagated-inputs
11691 `(("emacs-s" ,emacs-s)
11692 ("emacs-dash" ,emacs-dash)))
11693 (arguments
11694 ;; XXX: Three tests are failing because of a timezone-related issue
11695 ;; with how they're written. On my machine, all the failing test
11696 ;; results are 18000 seconds (5 hours) off.
11697
11698 ;; The ts-parse-org function accepts a string without any timezone
11699 ;; info, not assumed to be in Unix time, and converts it to a so-called
11700 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
11701 ;; then seems to assume the struct's corresponding time is in terms of
11702 ;; the user's current time zone, before returning a Unix time in
11703 ;; seconds.
11704
11705 ;; The failing tests all have similar problems, but nothing else about
11706 ;; the library seems particularly off.
11707
11708 `(#:tests? #t
11709 #:test-command '("emacs" "--batch"
11710 "-l" "test/test.el"
11711 "-f" "ert-run-tests-batch-and-exit")
11712 #:phases
11713 (modify-phases %standard-phases
11714 (add-before 'check 'make-tests-writable
11715 (lambda _
11716 (make-file-writable "test/test.el")
11717 #t))
11718 (add-before 'check 'delete-failing-tests
11719 (lambda _
11720 (emacs-batch-edit-file "test/test.el"
11721 `(progn (progn
11722 (goto-char (point-min))
11723 (dolist (test-regexp '("ert-deftest ts-format"
11724 "ert-deftest ts-parse-org\\_>"
11725 "ert-deftest ts-parse-org-element"))
11726 (re-search-forward test-regexp)
11727 (beginning-of-line)
11728 (kill-sexp)))
11729 (basic-save-buffer)))
11730 #t)))))
11731 (home-page "https://github.com/alphapapa/ts.el")
11732 (synopsis "Timestamp and date/time library")
11733 (description "This package facilitates manipulating dates, times, and
11734 timestamps by providing a @code{ts} struct.")
11735 (license license:gpl3+))))
11736
11737 (define-public emacs-peg
11738 (package
11739 (name "emacs-peg")
11740 (version "0.6")
11741 (source (origin
11742 (method git-fetch)
11743 (uri (git-reference
11744 (url "https://github.com/emacsmirror/peg")
11745 (commit version)))
11746 (sha256
11747 (base32
11748 "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n"))
11749 (file-name (git-file-name name version))))
11750 (build-system emacs-build-system)
11751 (home-page "https://github.com/emacsmirror/peg/")
11752 (synopsis "Parsing Expression Grammars in Elisp")
11753 (description "This package provides a macro that parses the current buffer
11754 according to a parsing expression grammar.")
11755 (license license:gpl3+)))
11756
11757 (define-public emacs-org-ql
11758 (let ((commit "949a06c3ab50482b749fd2d4350837a197660d96")
11759 (revision "3"))
11760 (package
11761 (name "emacs-org-ql")
11762 (version (git-version "0.3.1" revision commit))
11763 (source (origin
11764 (method git-fetch)
11765 (uri (git-reference
11766 (url "https://github.com/alphapapa/org-ql")
11767 (commit commit)))
11768 (sha256
11769 (base32
11770 "0apcg63xm0242mjgsgw0jrcda4p4iqj7fy3sgh0p7khi4hrs5ch0"))
11771 (file-name (git-file-name name version))))
11772 (build-system emacs-build-system)
11773 (propagated-inputs
11774 `(("emacs-s" ,emacs-s)
11775 ("emacs-f" ,emacs-f)
11776 ("emacs-ov" ,emacs-ov)
11777 ("emacs-peg" ,emacs-peg)
11778 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
11779 ("emacs-ts" ,emacs-ts)
11780 ("emacs-org" ,emacs-org)
11781 ("emacs-helm" ,emacs-helm)
11782 ("emacs-helm-org" ,emacs-helm-org)
11783 ("emacs-dash" ,emacs-dash)))
11784 (native-inputs
11785 `(("emacs-buttercup" ,emacs-buttercup)))
11786 (arguments
11787 `(#:phases
11788 (modify-phases %standard-phases
11789 (add-after 'unpack 'require-helm
11790 (lambda _
11791 (substitute* "helm-org-ql.el"
11792 (("^;;;; Requirements")
11793 ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
11794 #t)))
11795 #:tests? #t
11796 #:test-command '("buttercup" "-L" ".")))
11797 (home-page "https://github.com/alphapapa/org-ql/")
11798 (synopsis "Query language for Org buffers")
11799 (description "This package provides a Lispy query language for Org
11800 files, allowing for actions to be performed based on search criteria.")
11801 (license license:gpl3+))))
11802
11803 (define-public emacs-org-auto-expand
11804 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
11805 (revision "1"))
11806 (package
11807 (name "emacs-org-auto-expand")
11808 (version (git-version "0.1" revision commit))
11809 (source (origin
11810 (method git-fetch)
11811 (uri (git-reference
11812 (url "https://github.com/alphapapa/org-auto-expand")
11813 (commit commit)))
11814 (file-name (git-file-name name version))
11815 (sha256
11816 (base32
11817 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
11818 (build-system emacs-build-system)
11819 (propagated-inputs
11820 `(("emacs-org" ,emacs-org)
11821 ("emacs-dash" ,emacs-dash)))
11822 (home-page "https://github.com/alphapapa/org-auto-expand")
11823 (synopsis "Automatically expand certain Org headings")
11824 (description "This package allows a customizable set of headings in Org
11825 files to be expanded upon opening them.")
11826 (license license:gpl3+))))
11827
11828 (define-public emacs-parsebib
11829 (package
11830 (name "emacs-parsebib")
11831 (version "2.3.1")
11832 (source
11833 (origin
11834 (method git-fetch)
11835 (uri (git-reference
11836 (url "https://github.com/joostkremers/parsebib.git")
11837 (commit version)))
11838 (file-name (git-file-name name version))
11839 (sha256
11840 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
11841 (build-system emacs-build-system)
11842 (home-page "https://github.com/joostkremers/parsebib")
11843 (synopsis "Library for parsing bib files")
11844 (description
11845 "This package provides an Emacs library for parsing bib files.")
11846 (license license:gpl3+)))
11847
11848 (define-public emacs-biblio
11849 (package
11850 (name "emacs-biblio")
11851 (version "0.2")
11852 (source
11853 (origin
11854 (method git-fetch)
11855 (uri (git-reference
11856 (url "https://github.com/cpitclaudel/biblio.el.git")
11857 (commit version)))
11858 (file-name (git-file-name name version))
11859 (sha256
11860 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
11861 (build-system emacs-build-system)
11862 (propagated-inputs
11863 `(("emacs-seq" ,emacs-seq)
11864 ("emacs-dash" ,emacs-dash)
11865 ("emacs-let-alist" ,emacs-let-alist)))
11866 (home-page "https://github.com/cpitclaudel/biblio.el")
11867 (synopsis "Browse and import bibliographic references")
11868 (description "This package provides an extensible Emacs package for
11869 browsing and fetching references.
11870
11871 @file{biblio.el} makes it easy to browse and gather bibliographic references
11872 and publications from various sources, by keywords or by DOI. References are
11873 automatically fetched from well-curated sources, and formatted as BibTeX.")
11874 (license license:gpl3+)))
11875
11876 (define-public emacs-helm-bibtex
11877 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
11878 (revision "1"))
11879 (package
11880 (name "emacs-helm-bibtex")
11881 (version (string-append "2.0.0" "-" revision "."
11882 (string-take commit 7)))
11883 (source
11884 (origin
11885 (method git-fetch)
11886 (uri (git-reference
11887 (url "https://github.com/tmalsburg/helm-bibtex.git")
11888 (commit commit)))
11889 (file-name (git-file-name name version))
11890 (sha256
11891 (base32
11892 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
11893 (build-system emacs-build-system)
11894 (propagated-inputs
11895 `(("emacs-helm" ,emacs-helm)
11896 ("emacs-parsebib" ,emacs-parsebib)
11897 ("emacs-s" ,emacs-s)
11898 ("emacs-dash" ,emacs-dash)
11899 ("emacs-f" ,emacs-f)
11900 ("emacs-biblio" ,emacs-biblio)
11901 ("emacs-ivy" ,emacs-ivy)))
11902 (home-page "https://github.com/tmalsburg/helm-bibtex")
11903 (synopsis "Bibliography manager based on Helm")
11904 (description "This package provides bibliography manager for Emacs,
11905 based on Helm and the bibtex-completion backend.
11906
11907 Key features:
11908
11909 @itemize
11910 @item Quick access to your bibliography from within Emacs
11911 @item Powerful search capabilities
11912 @item Provides instant search results as you type
11913 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
11914 @item Open the PDFs, URLs, or DOIs associated with an entry
11915 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
11916 BibTeX entries, or plain text references at point, attach PDFs to emails
11917 @item Support for note taking
11918 @item Quick access to online bibliographic databases such as Pubmed,
11919 arXiv, Google Scholar, Library of Congress, etc.
11920 @item Imports BibTeX entries from CrossRef and other sources.
11921 @end itemize\n")
11922 (license license:gpl3+))))
11923
11924 (define-public emacs-ewmctrl
11925 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
11926 (package
11927 (name "emacs-ewmctrl")
11928 (version (git-version "0.0.1" "1" commit))
11929 (source
11930 (origin
11931 (method git-fetch)
11932 (uri (git-reference
11933 (url "https://github.com/flexibeast/ewmctrl.git")
11934 (commit commit)))
11935 (file-name (git-file-name name version))
11936 (sha256
11937 (base32
11938 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
11939 (build-system emacs-build-system)
11940 (arguments
11941 '(#:phases
11942 (modify-phases %standard-phases
11943 (add-after 'unpack 'patch-ewmctrl
11944 ;; This build phase makes sure ‘ewmctrl’ looks
11945 ;; for ‘wmctrl’ in the right place.
11946 (lambda _
11947 (let ((file "ewmctrl.el"))
11948 (chmod file #o644)
11949 (emacs-substitute-sexps file
11950 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
11951 (inputs
11952 `(("wmctrl" ,wmctrl)))
11953 (home-page "https://github.com/flexibeast/ewmctrl")
11954 (synopsis "Emacs interface to @code{wmctrl}")
11955 (description "@code{ewmctrl} provides an Emacs interface to
11956 @code{wmctrl} command-line window-management program.")
11957 (license license:gpl3+))))
11958
11959 (define-public emacs-erc-image
11960 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
11961 (revision "1"))
11962 (package
11963 (name "emacs-erc-image")
11964 (version (git-version "0" revision commit))
11965 (source
11966 (origin
11967 (method git-fetch)
11968 (uri (git-reference
11969 (url "https://github.com/kidd/erc-image.el")
11970 (commit commit)))
11971 (file-name (git-file-name name version))
11972 (sha256
11973 (base32
11974 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
11975 (build-system emacs-build-system)
11976 (home-page "https://github.com/kidd/erc-image.el")
11977 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
11978 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
11979 and @code{erc-send-modify-hook} to download and show images.")
11980 (license license:gpl3+))))
11981
11982 (define-public emacs-helm-gtags
11983 (package
11984 (name "emacs-helm-gtags")
11985 (version "1.5.6")
11986 (source
11987 (origin
11988 (method git-fetch)
11989 (uri (git-reference
11990 (url "https://github.com/syohex/emacs-helm-gtags.git")
11991 (commit version)))
11992 (file-name (git-file-name name version))
11993 (sha256
11994 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
11995 (build-system emacs-build-system)
11996 (propagated-inputs
11997 `(("emacs-helm" ,emacs-helm)))
11998 (home-page "https://github.com/syohex/emacs-helm-gtags")
11999 (synopsis "Emacs Helm interface to GNU Global")
12000 (description
12001 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
12002 (license license:gpl3+)))
12003
12004 (define-public emacs-list-utils
12005 (package
12006 (name "emacs-list-utils")
12007 (version "0.4.4")
12008 (source
12009 (origin
12010 (method git-fetch)
12011 (uri (git-reference
12012 (url "https://github.com/rolandwalker/list-utils.git")
12013 (commit (string-append "v" version))))
12014 (file-name (git-file-name name version))
12015 (sha256
12016 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
12017 (build-system emacs-build-system)
12018 (home-page "https://github.com/rolandwalker/list-utils")
12019 (synopsis "List-manipulation utility functions")
12020 (description "This package provides a list manipulation library for Emacs.")
12021 (license license:gpl3+)))
12022
12023 (define-public emacs-move-text
12024 (package
12025 (name "emacs-move-text")
12026 (version "2.0.8")
12027 (source
12028 (origin
12029 (method git-fetch)
12030 (uri (git-reference
12031 (url "https://github.com/emacsfodder/move-text.git")
12032 (commit version)))
12033 (file-name (git-file-name name version))
12034 (sha256
12035 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
12036 (build-system emacs-build-system)
12037 (home-page "https://github.com/emacsfodder/move-text")
12038 (synopsis "Move current line or region with M-up or M-down")
12039 (description "This package provide functions to move the current line
12040 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
12041 region instead.")
12042 (license license:gpl3+)))
12043
12044 (define-public emacs-validate
12045 (package
12046 (name "emacs-validate")
12047 (version "1.0.5")
12048 (source (origin
12049 (method url-fetch)
12050 (uri (string-append "https://github.com/Malabarba/validate.el"
12051 "/archive/" version ".tar.gz"))
12052 (file-name (string-append name "-" version ".tar.gz"))
12053 (sha256
12054 (base32
12055 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
12056 (build-system emacs-build-system)
12057 (home-page "https://github.com/Malabarba/validate.el")
12058 (synopsis "Emacs library for scheme validation")
12059 (description "This Emacs library provides two functions that perform
12060 schema validation.")
12061 (license license:gpl3+)))
12062
12063 (define-public emacs-rainbow-blocks
12064 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
12065 (package
12066 (name "emacs-rainbow-blocks")
12067 (version (git-version "1.0.0" "1" commit))
12068 (source (origin
12069 (method git-fetch)
12070 (uri (git-reference
12071 (url "https://github.com/istib/rainbow-blocks.git")
12072 (commit commit)))
12073 (file-name (git-file-name name version))
12074 (sha256
12075 (base32
12076 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
12077 (build-system emacs-build-system)
12078 (home-page "https://github.com/istib/rainbow-blocks")
12079 (synopsis "Highlight sexp blocks")
12080 (description "Rainbow-blocks is an Emacs mode that highlights blocks
12081 made of parentheses, brackets, and braces according to their depth. Each
12082 successive level is highlighted in a different color. This makes it easy to
12083 orient yourself in the code, and tell which statements are at a given level.")
12084 (license license:gpl3+))))
12085
12086 (define-public emacs-hierarchy
12087 (package
12088 (name "emacs-hierarchy")
12089 (version "0.7.0")
12090 (source
12091 (origin
12092 (method git-fetch)
12093 (uri (git-reference
12094 (url "https://github.com/DamienCassou/hierarchy.git")
12095 (commit (string-append "v" version))))
12096 (file-name (git-file-name name version))
12097 (sha256
12098 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
12099 (build-system emacs-build-system)
12100 (home-page "https://github.com/DamienCassou/hierarchy")
12101 (synopsis "Library to create and display hierarchy structures")
12102 (description "This package provides an Emacs library to create, query,
12103 navigate and display hierarchy structures.")
12104 (license license:gpl3+)))
12105
12106 (define-public emacs-tree-mode
12107 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
12108 (revision "1"))
12109 (package
12110 (name "emacs-tree-mode")
12111 (version (string-append "0.0.1" "-" revision "."
12112 (string-take commit 7)))
12113 (source
12114 (origin
12115 (method git-fetch)
12116 (uri (git-reference
12117 (url "https://github.com/emacsorphanage/tree-mode.git")
12118 (commit commit)))
12119 (file-name (git-file-name name version))
12120 (sha256
12121 (base32
12122 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
12123 (build-system emacs-build-system)
12124 (home-page "https://github.com/emacsorphanage/tree-mode")
12125 (synopsis "Emacs mode to manage tree widgets")
12126 (description
12127 "This package provides an Emacs library to manage tree widgets.")
12128 (license license:gpl3+))))
12129
12130 (define-public emacs-md4rd
12131 (package
12132 (name "emacs-md4rd")
12133 (version "0.3.1")
12134 (source (origin
12135 (method git-fetch)
12136 (uri (git-reference
12137 (url "https://github.com/ahungry/md4rd.git")
12138 (commit version)))
12139 (file-name (git-file-name name version))
12140 (sha256
12141 (base32
12142 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
12143 (propagated-inputs
12144 `(("emacs-hierarchy" ,emacs-hierarchy)
12145 ("emacs-request" ,emacs-request)
12146 ("emacs-dash" ,emacs-dash)
12147 ("emacs-s" ,emacs-s)
12148 ("emacs-tree-mode" ,emacs-tree-mode)))
12149 (build-system emacs-build-system)
12150 (home-page "https://github.com/ahungry/md4rd")
12151 (synopsis "Emacs Mode for Reddit")
12152 (description
12153 "This package allows to read Reddit from within Emacs interactively.")
12154 (license license:gpl3+)))
12155
12156 (define-public emacs-pulseaudio-control
12157 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
12158 (revision "3"))
12159 (package
12160 (name "emacs-pulseaudio-control")
12161 (version (git-version "0.0.1" revision commit))
12162 (source
12163 (origin
12164 (method git-fetch)
12165 (uri (git-reference
12166 (url "https://github.com/flexibeast/pulseaudio-control.git")
12167 (commit commit)))
12168 (file-name (git-file-name name version))
12169 (sha256
12170 (base32
12171 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
12172 (build-system emacs-build-system)
12173 (arguments
12174 '(#:phases (modify-phases %standard-phases
12175 (add-after 'unpack 'patch-file-name
12176 (lambda* (#:key inputs #:allow-other-keys)
12177 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
12178 (chmod "pulseaudio-control.el" #o600)
12179 (emacs-substitute-variables "pulseaudio-control.el"
12180 ("pulseaudio-control-pactl-path"
12181 (string-append pulseaudio "/bin/pactl")))
12182 #t))))))
12183 (inputs `(("pulseaudio" ,pulseaudio)))
12184 (home-page "https://github.com/flexibeast/pulseaudio-control")
12185 (synopsis "Control @code{pulseaudio} from Emacs")
12186 (description
12187 "This package allows to control @code{pulseaudio} from Emacs.")
12188 (license license:gpl3+))))
12189
12190 (define-public emacs-datetime
12191 (package
12192 (name "emacs-datetime")
12193 (version "0.3")
12194 (source
12195 (origin
12196 (method git-fetch)
12197 (uri (git-reference
12198 (url "https://github.com/doublep/datetime.git")
12199 (commit version)))
12200 (file-name (git-file-name name version))
12201 (sha256
12202 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
12203 (build-system emacs-build-system)
12204 (home-page "https://github.com/doublep/datetime/")
12205 (synopsis "Library to work with dates in Emacs")
12206 (description "Parsing, formatting, matching and recoding
12207 timestamps and date-time format strings library for Emacs.")
12208 (license license:gpl3+)))
12209
12210 (define-public emacs-org-mind-map
12211 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
12212 (revision "1"))
12213 (package
12214 (name "emacs-org-mind-map")
12215 (version (string-append "0.0.1" "-" revision "."
12216 (string-take commit 7)))
12217 (source
12218 (origin
12219 (method git-fetch)
12220 (uri (git-reference
12221 (url "https://github.com/theodorewiles/org-mind-map.git")
12222 (commit commit)))
12223 (file-name (git-file-name name version))
12224 (sha256
12225 (base32
12226 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
12227 (propagated-inputs
12228 `(("emacs-dash" ,emacs-dash)))
12229 (build-system emacs-build-system)
12230 (home-page "https://github.com/theodorewiles/org-mind-map")
12231 (synopsis "Create Graphviz directed graphs from Org files")
12232 (description
12233 "This package creates Graphviz directed graphs from Org files.")
12234 (license license:gpl3+))))
12235
12236 (define-public emacs-npm-mode
12237 (package
12238 (name "emacs-npm-mode")
12239 (version "0.6.0")
12240 (source
12241 (origin
12242 (method git-fetch)
12243 (uri (git-reference
12244 (url "https://github.com/mojochao/npm-mode.git")
12245 (commit version)))
12246 (file-name (git-file-name name version))
12247 (sha256
12248 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
12249 (build-system emacs-build-system)
12250 (home-page "https://github.com/mojochao/npm-mode")
12251 (synopsis "Minor mode for working with @code{npm} projects")
12252 (description
12253 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
12254 (license license:gpl3+)))
12255
12256 (define-public emacs-seq
12257 (package
12258 (name "emacs-seq")
12259 (version "2.20")
12260 (source
12261 (origin
12262 (method url-fetch)
12263 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
12264 (sha256
12265 (base32
12266 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
12267 (build-system emacs-build-system)
12268 (home-page "http://elpa.gnu.org/packages/seq.html")
12269 (synopsis "Sequence manipulation functions")
12270 (description "Sequence-manipulation functions that complement basic
12271 functions provided by @file{subr.el}.")
12272 (license license:gpl3+)))
12273
12274 (define-public emacs-itail
12275 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
12276 (revision "1"))
12277 (package
12278 (name "emacs-itail")
12279 (version (string-append "0.0.1" "-" revision "."
12280 (string-take commit 7)))
12281 (source
12282 (origin
12283 (method git-fetch)
12284 (uri (git-reference
12285 (url "https://github.com/re5et/itail.git")
12286 (commit commit)))
12287 (file-name (git-file-name name version))
12288 (sha256
12289 (base32
12290 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
12291 (build-system emacs-build-system)
12292 (home-page "https://github.com/re5et/itail")
12293 (synopsis "Interactive @code{tail} Emacs mode")
12294 (description "@code{itail} provides interactive @code{tail} mode
12295 that allows you to filter the tail with unix pipes and highlight the
12296 contents of the tailed file. Works locally or on remote files using
12297 tramp.")
12298 (license license:gpl3+))))
12299
12300 (define-public emacs-loop
12301 (package
12302 (name "emacs-loop")
12303 (version "1.3")
12304 (source
12305 (origin
12306 (method git-fetch)
12307 (uri (git-reference
12308 (url "https://github.com/Wilfred/loop.el.git")
12309 (commit version)))
12310 (file-name (git-file-name name version))
12311 (sha256
12312 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
12313 (build-system emacs-build-system)
12314 (native-inputs
12315 `(("emacs-ert-runner" ,emacs-ert-runner)
12316 ("emacs-undercover" ,emacs-undercover)))
12317 (arguments
12318 `(#:tests? #t
12319 #:test-command '("ert-runner")))
12320 (home-page "https://github.com/Wilfred/loop.el")
12321 (synopsis "Imperative loop structures for Emacs")
12322 (description "Loop structures familiar to users of other languages. This
12323 library adds a selection of popular loop structures as well as break and
12324 continue.")
12325 (license license:gpl3+)))
12326
12327 (define-public emacs-elisp-refs
12328 (package
12329 (name "emacs-elisp-refs")
12330 (version "1.3")
12331 (source
12332 (origin
12333 (method git-fetch)
12334 (uri (git-reference
12335 (url "https://github.com/Wilfred/elisp-refs.git")
12336 (commit version)))
12337 (file-name (git-file-name name version))
12338 (sha256
12339 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
12340 (build-system emacs-build-system)
12341 (propagated-inputs
12342 `(("emacs-dash" ,emacs-dash)
12343 ("emacs-f" ,emacs-f)
12344 ("emacs-list-utils" ,emacs-list-utils)
12345 ("emacs-loop" ,emacs-loop)
12346 ("emacs-s" ,emacs-s)
12347 ("emacs-shut-up" ,emacs-shut-up)))
12348 (native-inputs
12349 `(("emacs-ert-runner" ,emacs-ert-runner)
12350 ("emacs-undercover" ,emacs-undercover)))
12351 (arguments
12352 `(#:tests? #t
12353 #:test-command '("ert-runner")))
12354 (home-page "https://github.com/Wilfred/elisp-refs")
12355 (synopsis "Find callers of elisp functions or macros")
12356 (description "Find references to functions, macros or variables. Unlike a
12357 dumb text search, @code{elisp-refs} actually parses the code, so it's never
12358 confused by comments or @code{foo-bar} matching @code{foo}.")
12359 (license license:gpl3+)))
12360
12361 (define-public emacs-crux
12362 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
12363 (revision "2"))
12364 (package
12365 (name "emacs-crux")
12366 (version (git-version "0.3.0" revision commit))
12367 (source
12368 (origin
12369 (method git-fetch)
12370 (uri (git-reference
12371 (url "https://github.com/bbatsov/crux.git")
12372 (commit commit)))
12373 (file-name (git-file-name name version))
12374 (sha256
12375 (base32
12376 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
12377 (build-system emacs-build-system)
12378 (home-page "https://github.com/bbatsov/crux")
12379 (synopsis "Collection of useful functions for Emacs")
12380 (description
12381 "@code{crux} provides a collection of useful functions for Emacs.")
12382 (license license:gpl3+))))
12383
12384 (define-public emacs-edit-server
12385 (package
12386 (name "emacs-edit-server")
12387 (version "1.13")
12388 (source
12389 (origin
12390 (method git-fetch)
12391 (uri (git-reference
12392 (url "https://github.com/stsquad/emacs_chrome.git")
12393 (commit (string-append "v" version))))
12394 (file-name (git-file-name name version))
12395 (sha256
12396 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
12397 (build-system emacs-build-system)
12398 (arguments
12399 `(#:phases
12400 (modify-phases %standard-phases
12401 (add-after 'unpack 'chdir-elisp
12402 ;; Elisp directory is not in root of the source.
12403 (lambda _
12404 (chdir "servers"))))))
12405 (home-page "https://github.com/stsquad/emacs_chrome")
12406 (synopsis "Server that responds to edit requests from Chromium")
12407 (description
12408 "This package provides an edit server to respond to requests from Emacs.")
12409 (license license:gpl3+)))
12410
12411 (define-public emacs-m-buffer-el
12412 (package
12413 (name "emacs-m-buffer-el")
12414 (version "0.15")
12415 (source
12416 (origin
12417 (method url-fetch)
12418 (uri (string-append "https://github.com/phillord/m-buffer-el"
12419 "/archive/" "v" version ".tar.gz"))
12420 (file-name (string-append name "-" version ".tar.gz"))
12421 (sha256
12422 (base32
12423 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
12424 (arguments
12425 `(#:phases
12426 (modify-phases %standard-phases
12427 (add-before 'install 'check
12428 (lambda* (#:key inputs #:allow-other-keys)
12429 (invoke "emacs" "--batch" "-L" "."
12430 "-l" "test/m-buffer-test.el"
12431 "-l" "test/m-buffer-at-test.el"
12432 "-f" "ert-run-tests-batch-and-exit"))))))
12433 (build-system emacs-build-system)
12434 (home-page "https://github.com/phillord/m-buffer-el")
12435 (synopsis "List oriented buffer operations for Emacs")
12436 (description "@code{m-buffer} provides a set of list-orientated functions
12437 for operating over the contents of Emacs buffers.")
12438 (license license:gpl3+)))
12439
12440 (define-public emacs-let-alist
12441 (package
12442 (name "emacs-let-alist")
12443 (version "1.0.5")
12444 (source
12445 (origin
12446 (method url-fetch)
12447 (uri (string-append
12448 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
12449 (sha256
12450 (base32
12451 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
12452 (build-system emacs-build-system)
12453 (home-page "https://elpa.gnu.org/packages/let-alist.html")
12454 (synopsis "Easily let-bind values of an assoc-list by their names")
12455 (description "This package offers a single macro, @code{let-alist}. This
12456 macro takes a first argument (whose value must be an alist) and a body.")
12457 (license license:gpl3+)))
12458
12459 (define-public emacs-esup
12460 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
12461 (revision "1"))
12462 (package
12463 (name "emacs-esup")
12464 (version (string-append "0.6" "-" revision "."
12465 (string-take commit 7)))
12466 (source
12467 (origin
12468 (method git-fetch)
12469 (uri (git-reference
12470 (url "https://github.com/jschaf/esup.git")
12471 (commit commit)))
12472 (file-name (git-file-name name version))
12473 (sha256
12474 (base32
12475 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
12476 ;; TODO: Add tests
12477 (build-system emacs-build-system)
12478 (home-page "https://github.com/jschaf/esup")
12479 (synopsis "Emacs start up profiler")
12480 (description "Benchmark Emacs Startup time without ever leaving
12481 your Emacs.")
12482 (license license:gpl2+))))
12483
12484 (define-public emacs-restart-emacs
12485 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
12486 (revision "1"))
12487 (package
12488 (name "emacs-restart-emacs")
12489 (version (git-version "0.1.1" revision commit))
12490 (source
12491 (origin
12492 (method git-fetch)
12493 (uri (git-reference
12494 (url "https://github.com/iqbalansari/restart-emacs.git")
12495 (commit commit)))
12496 (file-name (git-file-name name version))
12497 (sha256
12498 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
12499 (build-system emacs-build-system)
12500 (home-page "https://github.com/iqbalansari/restart-emacs")
12501 (synopsis "Restart Emacs from within Emacs")
12502 (description "This package provides a simple command to restart Emacs from
12503 within Emacs.")
12504 (license license:gpl3+))))
12505
12506 (define-public emacs-sourcemap
12507 (package
12508 (name "emacs-sourcemap")
12509 (version "0.03")
12510 (source
12511 (origin
12512 (method git-fetch)
12513 (uri (git-reference
12514 (url "https://github.com/syohex/emacs-sourcemap.git")
12515 (commit version)))
12516 (file-name (git-file-name name version))
12517 (sha256
12518 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
12519 (build-system emacs-build-system)
12520 (home-page "https://github.com/syohex/emacs-sourcemap")
12521 (synopsis "Sourcemap parser")
12522 (description "Sourcemap parser")
12523 (license license:gpl3+)))
12524
12525 (define-public emacs-macrostep
12526 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
12527 (package
12528 (name "emacs-macrostep")
12529 (version (git-version "0.9" "1" commit))
12530 (source (origin
12531 (method git-fetch)
12532 (uri (git-reference
12533 (url "https://github.com/joddie/macrostep.git")
12534 (commit commit)))
12535 (file-name (git-file-name name version))
12536 (sha256
12537 (base32
12538 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
12539 (build-system emacs-build-system)
12540 (arguments
12541 '(#:phases
12542 (modify-phases %standard-phases
12543 (add-before 'check 'remove-test
12544 ;; Fails because of requirement ‘/bin/sh’.
12545 (lambda _
12546 (let ((file "macrostep-test.el"))
12547 (chmod file #o644)
12548 (emacs-batch-edit-file file
12549 `(progn (progn (goto-char (point-min))
12550 (re-search-forward
12551 "(ert-deftest macrostep-expand-c-macros")
12552 (beginning-of-line)
12553 (kill-sexp))
12554 (basic-save-buffer))))))
12555 (add-before 'install 'check
12556 (lambda _
12557 (invoke "emacs" "--batch" "-L" "."
12558 "-l" "macrostep-test.el"
12559 "-f" "ert-run-tests-batch-and-exit"))))))
12560 (home-page "https://github.com/joddie/macrostep")
12561 (synopsis "Interactive macro-expander for Emacs")
12562 (description "@code{macrostep} is an Emacs minor mode for interactively
12563 stepping through the expansion of macros in Emacs Lisp source code. It lets
12564 you see exactly what happens at each step of the expansion process by
12565 pretty-printing the expanded forms inline in the source buffer, which is
12566 temporarily read-only while macro expansions are visible. You can expand and
12567 collapse macro forms one step at a time, and evaluate or instrument the
12568 expansions for debugging with Edebug as normal (but see “Bugs and known
12569 limitations”, below). Single-stepping through the expansion is particularly
12570 useful for debugging macros that expand into another macro form. These can be
12571 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
12572 until the top-level form is no longer a macro call.")
12573 (license license:gpl3+))))
12574
12575 (define-public emacs-parent-mode
12576 (package
12577 (name "emacs-parent-mode")
12578 (version "2.3")
12579 (source
12580 (origin
12581 (method git-fetch)
12582 (uri (git-reference
12583 (url "https://github.com/Fanael/parent-mode.git")
12584 (commit version)))
12585 (file-name (git-file-name name version))
12586 (sha256
12587 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
12588 (build-system emacs-build-system)
12589 (home-page "https://github.com/Fanael/parent-mode")
12590 (synopsis "Get major mode's parent modes")
12591 (description "Get major mode's parent modes")
12592 (license license:gpl3+)))
12593
12594 (define-public emacs-lacarte
12595 (package
12596 (name "emacs-lacarte")
12597 (version "0.1")
12598 (source (origin
12599 (method url-fetch)
12600 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
12601 (sha256
12602 (base32
12603 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
12604 (build-system emacs-build-system)
12605 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
12606 (synopsis "Execute menu items as commands, with completion")
12607 (description "Execute menu items as commands, with completion.")
12608 (license license:gpl3)))
12609
12610 (define-public emacs-isearch-prop
12611 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
12612 (revision "2"))
12613 (package
12614 (name "emacs-isearch-prop")
12615 (version (git-version "0" revision commit))
12616 (source
12617 (origin
12618 (method git-fetch)
12619 (uri (git-reference
12620 (url "https://github.com/emacsmirror/isearch-prop.git")
12621 (commit commit)))
12622 (file-name (git-file-name name version))
12623 (sha256
12624 (base32
12625 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
12626 (build-system emacs-build-system)
12627 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
12628 (synopsis "Extensions to @code{isearch.el}")
12629 (description "The Emacs library @code{isearch-prop.el} lets you search within
12630 contexts. You can limit incremental search to a set of zones of
12631 buffer text, search contexts that in effect constitute a multi-region.
12632 These zones can be defined in various ways, including some ways
12633 provided specially by this library.")
12634 (license license:gpl3+))))
12635
12636 (define-public emacs-company-lua
12637 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
12638 (revision "2"))
12639 (package
12640 (name "emacs-company-lua")
12641 (version (git-version "0.1" "2" commit))
12642 (source
12643 (origin
12644 (method git-fetch)
12645 (uri (git-reference
12646 (url "https://github.com/ptrv/company-lua.git")
12647 (commit commit)))
12648 (file-name (git-file-name name version))
12649 (sha256
12650 (base32
12651 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
12652 (build-system emacs-build-system)
12653 (propagated-inputs
12654 `(("emacs-company" ,emacs-company)
12655 ("emacs-s" ,emacs-s)
12656 ("emacs-f" ,emacs-f)
12657 ("emacs-lua-mode" ,emacs-lua-mode)))
12658 (arguments
12659 `(#:include (cons* "^lua\\/" %default-include)))
12660 (home-page "https://github.com/ptrv/company-lua")
12661 (synopsis "Company backend for Lua")
12662 (description
12663 "This package provides Company backend for Lua programming language.")
12664 (license license:gpl3+))))
12665
12666 (define-public emacs-beginend
12667 (package
12668 (name "emacs-beginend")
12669 (version "2.0.0")
12670 (source
12671 (origin
12672 (method git-fetch)
12673 (uri (git-reference
12674 (url "https://github.com/DamienCassou/beginend.git")
12675 (commit (string-append "v" version))))
12676 (file-name (git-file-name name version))
12677 (sha256
12678 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
12679 ;; TODO: Run tests.
12680 (build-system emacs-build-system)
12681 (inputs
12682 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
12683 (home-page "https://github.com/DamienCassou/beginend")
12684 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
12685 (description "@code{beginend} redefines @code{M-<} and @code{M->}
12686 keybindings for Emacs modes so that point moves to meaningful
12687 locations. Redefined keys are still accessible by pressing the same
12688 key again.")
12689 (license license:gpl3+)))
12690
12691 (define-public emacs-mbsync
12692 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
12693 (revision "4"))
12694 (package
12695 (name "emacs-mbsync")
12696 (version (git-version "0.1.2" revision commit))
12697 (source
12698 (origin
12699 (method git-fetch)
12700 (uri (git-reference
12701 (url "https://github.com/dimitri/mbsync-el.git")
12702 (commit commit)))
12703 (file-name (git-file-name name version))
12704 (sha256
12705 (base32
12706 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
12707 (build-system emacs-build-system)
12708 (home-page "https://github.com/dimitri/mbsync-el")
12709 (synopsis "Interface to mbsync for Emacs")
12710 (description "This package allows to call the @code{mbsync} from
12711 within Emacs.")
12712 (license license:gpl3+))))
12713
12714 (define-public emacs-ibuffer-projectile
12715 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
12716 (revision "1"))
12717 (package
12718 (name "emacs-ibuffer-projectile")
12719 (version (string-append "0.2" "-" revision "."
12720 (string-take commit 7)))
12721 (source
12722 (origin
12723 (method git-fetch)
12724 (uri (git-reference
12725 (url "https://github.com/purcell/ibuffer-projectile.git")
12726 (commit commit)))
12727 (file-name (git-file-name name version))
12728 (sha256
12729 (base32
12730 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
12731 (build-system emacs-build-system)
12732 (propagated-inputs
12733 `(("emacs-projectile" ,emacs-projectile)))
12734 (home-page "https://github.com/purcell/ibuffer-projectile")
12735 (synopsis "Group ibuffer's list by projectile root")
12736 (description "Adds functionality to Emacs @code{ibuffer} for
12737 grouping buffers by their projectile root directory.")
12738 (license license:gpl3+))))
12739
12740 (define-public emacs-helm-mode-manager
12741 (package
12742 (name "emacs-helm-mode-manager")
12743 (version "1.0.0")
12744 (source
12745 (origin
12746 (method url-fetch)
12747 (uri (string-append "https://github.com/istib/helm-mode-manager/"
12748 "archive/" version ".tar.gz"))
12749 (file-name (string-append name "-" version ".tar.gz"))
12750 (sha256
12751 (base32
12752 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
12753 (build-system emacs-build-system)
12754 (propagated-inputs
12755 `(("emacs-helm" ,emacs-helm)))
12756 (home-page "https://github.com/istib/helm-mode-manager/")
12757 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
12758 (description "This package provides a Helm interface for toggling Emacs
12759 major or minor mode.
12760
12761 @itemize
12762 @item @code{helm-switch-major-mode} list of all major modes
12763 @item @code{helm-enable-minor-mode} list of all inactive minor modes
12764 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
12765 @end itemize\n
12766
12767 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
12768 documentation.")
12769 (license license:gpl3+)))
12770
12771 (define-public emacs-hy-mode
12772 (package
12773 (name "emacs-hy-mode")
12774 (version "1.0.3")
12775 (source
12776 (origin
12777 (method git-fetch)
12778 (uri (git-reference
12779 (url "https://github.com/hylang/hy-mode.git")
12780 (commit (string-append "v" version))))
12781 (file-name (git-file-name name version))
12782 (sha256
12783 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
12784 (build-system emacs-build-system)
12785 (propagated-inputs
12786 `(("emacs-dash" ,emacs-dash)
12787 ("emacs-s" ,emacs-s)))
12788 (home-page "https://github.com/hylang/hy-mode")
12789 (synopsis "Major mode for Hylang")
12790 (description "This package provides a major mode for Hylang.")
12791 (license license:gpl3+)))
12792
12793 (define-public emacs-web-beautify
12794 (package
12795 (name "emacs-web-beautify")
12796 (version "0.3.2")
12797 (source
12798 (origin
12799 (method git-fetch)
12800 (uri (git-reference
12801 (url "https://github.com/yasuyk/web-beautify.git")
12802 (commit version)))
12803 (file-name (git-file-name name version))
12804 (sha256
12805 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
12806 (build-system emacs-build-system)
12807 (home-page "https://github.com/yasuyk/web-beautify")
12808 (synopsis "Format HTML, CSS and JavaScript, JSON")
12809 (description "This package provides an Emacs functions to format HTML,
12810 CSS, JavaScript, JSON.")
12811 (license license:gpl3+)))
12812
12813 (define-public emacs-helm-shell-history
12814 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
12815 (package
12816 (name "emacs-helm-shell-history")
12817 (version (git-version "0.1" "1" commit))
12818 (source
12819 (origin
12820 (method git-fetch)
12821 (uri (git-reference
12822 (url "https://github.com/yuutayamada/helm-shell-history.git")
12823 (commit commit)))
12824 (file-name (git-file-name name version))
12825 (sha256
12826 (base32
12827 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
12828 (build-system emacs-build-system)
12829 (arguments
12830 '(#:phases
12831 (modify-phases %standard-phases
12832 (add-before 'check 'patch-helm-shell-history-file
12833 (lambda _
12834 (let ((file "helm-shell-history.el"))
12835 (chmod file #o644)
12836 (emacs-substitute-sexps file
12837 ("(defvar helm-shell-history-file"
12838 `(expand-file-name "~/.bash_history"))))
12839 #t)))))
12840 (propagated-inputs
12841 `(("emacs-helm" ,emacs-helm)))
12842 (home-page "https://github.com/yuutayamada/helm-shell-history")
12843 (synopsis "Find shell history with Emacs Helm")
12844 (description "This package provides an Emacs Helm interface to search
12845 throw a shell history.")
12846 (license license:gpl3+))))
12847
12848 (define-public emacs-discover-my-major
12849 (package
12850 (name "emacs-discover-my-major")
12851 (version "1.0")
12852 (source
12853 (origin
12854 (method url-fetch)
12855 (uri
12856 (string-append "https://github.com/steckerhalter/discover-my-major"
12857 "/archive/" version ".tar.gz"))
12858 (file-name (string-append name "-" version ".tar.gz"))
12859 (sha256
12860 (base32
12861 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
12862 (build-system emacs-build-system)
12863 (propagated-inputs
12864 `(("emacs-makey" ,emacs-makey)))
12865 (home-page "https://github.com/steckerhalter/discover-my-major")
12866 (synopsis "Discover key bindings for the current Emacs major mode")
12867 (description "This package provides allows to discover key bindings and
12868 their meaning for the current Emacs major-mode.")
12869 (license license:gpl3+)))
12870
12871 (define-public emacs-org-ref
12872 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
12873 (revision "1"))
12874 (package
12875 (name "emacs-org-ref")
12876 (version (string-append "1.1.1" "-" revision "."
12877 (string-take commit 7)))
12878 (source
12879 (origin
12880 (method git-fetch)
12881 (uri (git-reference
12882 (url "https://github.com/jkitchin/org-ref.git")
12883 (commit commit)))
12884 (file-name (git-file-name name version))
12885 (sha256
12886 (base32
12887 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
12888 (build-system emacs-build-system)
12889 (propagated-inputs
12890 `(("emacs-dash" ,emacs-dash)
12891 ("emacs-helm" ,emacs-helm)
12892 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
12893 ("emacs-ivy" ,emacs-ivy)
12894 ("emacs-hydra" ,emacs-hydra)
12895 ("emacs-key-chord" ,emacs-key-chord)
12896 ("emacs-s" ,emacs-s)
12897 ("emacs-f" ,emacs-f)
12898 ("emacs-pdf-tools" ,emacs-pdf-tools)))
12899 (home-page "https://github.com/jkitchin/org-ref")
12900 (synopsis "Citations, cross-references and bibliographies in org-mode")
12901 (description
12902 "Lisp code to setup bibliography, cite, ref and label org-mode links.
12903 Also sets up reftex and helm for org-mode citations. The links are
12904 clickable and do things that are useful.
12905
12906 The default setup uses helm-bibtex.
12907
12908 You should really read org-ref.org in this package for details.")
12909 (license license:gpl3+))))
12910
12911 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
12912 (define-public emacs-org-reveal
12913 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
12914 (package
12915 (name "emacs-org-reveal")
12916 (version (git-version "0.1" "3" commit))
12917 (source (origin
12918 (method git-fetch)
12919 (uri (git-reference
12920 (url "https://github.com/yjwen/org-reveal.git")
12921 (commit commit)))
12922 (file-name (git-file-name name version))
12923 (sha256
12924 (base32
12925 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
12926 (build-system emacs-build-system)
12927 (home-page "https://github.com/yjwen/org-reveal")
12928 (synopsis "Org and Reveal.js powered HTML presentation tool")
12929 (description "Org-Reveal is a command@{org-mode} extension that allows
12930 to create beautiful presentations (slides) with 3D effects from simple but
12931 powerful Org contents.")
12932 (license license:gpl3+))))
12933
12934 (define-public emacs-org-re-reveal
12935 (package
12936 (name "emacs-org-re-reveal")
12937 (version "2.5.1")
12938 (source (origin
12939 (method git-fetch)
12940 (uri (git-reference
12941 (url "https://gitlab.com/oer/org-re-reveal.git")
12942 (commit version)))
12943 (file-name (git-file-name name version))
12944 (sha256
12945 (base32
12946 "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2"))))
12947 (build-system emacs-build-system)
12948 (propagated-inputs
12949 `(("emacs-htmlize" ,emacs-htmlize)
12950 ("emacs-org" ,emacs-org)))
12951 (home-page "https://gitlab.com/oer/org-re-reveal")
12952 (synopsis "Build HTML presentations with reveal.js from Org source files")
12953 (description "This project started as fork of org-reveal. It provides an
12954 export back-end for HTML presentations with reveal.js from Org mode source
12955 files.")
12956 (license license:gpl3+)))
12957
12958 (define-public emacs-add-hooks
12959 (package
12960 (name "emacs-add-hooks")
12961 (version "3.1.1")
12962 (source
12963 (origin
12964 (method git-fetch)
12965 (uri (git-reference
12966 (url "https://github.com/nickmccurdy/add-hooks.git")
12967 (commit version)))
12968 (file-name (git-file-name name version))
12969 (sha256
12970 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
12971 (build-system emacs-build-system)
12972 (home-page "https://github.com/nickmccurdy/add-hooks/")
12973 (synopsis "Emacs function for setting multiple hooks")
12974 (description "This package provides a @code{add-hooks} function tidies up
12975 duplicate hook and function names further into a single declarative call.")
12976 (license license:gpl3+)))
12977
12978 (define-public emacs-fancy-narrow
12979 (package
12980 (name "emacs-fancy-narrow")
12981 (version "0.9.5")
12982 (source
12983 (origin
12984 (method git-fetch)
12985 (uri (git-reference
12986 (url "https://github.com/Malabarba/fancy-narrow.git")
12987 (commit version)))
12988 (file-name (git-file-name name version))
12989 (sha256
12990 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
12991 (build-system emacs-build-system)
12992 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
12993 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
12994 (description
12995 "Unlike @code{narrow-to-region}, which completely hides text outside
12996 the narrowed region, this package simply de-emphasizes the text, makes it
12997 read-only, and makes it unreachable. This leads to a much more natural
12998 feeling where the region stays static (instead of being brutally moved to a
12999 blank slate) and is clearly highlighted with respect to the rest of the
13000 buffer.")
13001 (license license:gpl2+)))
13002
13003 (define-public emacs-know-your-http-well
13004 (package
13005 (name "emacs-know-your-http-well")
13006 (version "0.5.0")
13007 (source
13008 (origin
13009 (method git-fetch)
13010 (uri (git-reference
13011 (url "https://github.com/for-GET/know-your-http-well.git")
13012 (commit (string-append "v" version))))
13013 (file-name (git-file-name name version))
13014 (sha256
13015 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
13016 (arguments
13017 `(#:phases
13018 (modify-phases %standard-phases
13019 (add-after 'unpack 'install-json-files
13020 (lambda* (#:key outputs #:allow-other-keys)
13021 (for-each (lambda (directory)
13022 (copy-recursively directory
13023 (string-append
13024 (assoc-ref outputs "out")
13025 directory)))
13026 '("js" "json"))))
13027 (add-after 'unpack 'chdir-elisp
13028 ;; Elisp directory is not in root of the source.
13029 (lambda _
13030 (chdir "emacs"))))))
13031 (build-system emacs-build-system)
13032 (home-page "https://github.com/for-GET/know-your-http-well")
13033 (synopsis "Meaning of HTTP headers codes")
13034 (description "Meaning of HTTP headers codes.")
13035 (license license:gpl3+)))
13036
13037 (define-public emacs-navi-mode
13038 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
13039 (package
13040 (name "emacs-navi-mode")
13041 (version (git-version "2.0" "1" commit))
13042 (source
13043 (origin
13044 (method git-fetch)
13045 (uri (git-reference
13046 (url "https://github.com/alphapapa/navi.git")
13047 (commit commit)))
13048 (file-name (git-file-name name version))
13049 (sha256
13050 (base32
13051 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
13052 (build-system emacs-build-system)
13053 (propagated-inputs
13054 `(("emacs-outshine" ,emacs-outshine)
13055 ("emacs-outorg" ,emacs-outorg)))
13056 (home-page "https://github.com/alphapapa/navi")
13057 (synopsis "Emacs major-mode for easy buffer-navigation")
13058 (description
13059 "This package provides an Emacs major-mode for easy buffer-navigation")
13060 (license license:gpl3+))))
13061
13062 (define-public emacs-download-region
13063 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
13064 (revision "1"))
13065 (package
13066 (name "emacs-download-region")
13067 (version (string-append "0.0.1" "-" revision "."
13068 (string-take commit 7)))
13069 (source
13070 (origin
13071 (method git-fetch)
13072 (uri (git-reference
13073 (url "https://github.com/zk-phi/download-region.git")
13074 (commit commit)))
13075 (file-name (git-file-name name version))
13076 (sha256
13077 (base32
13078 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
13079 (build-system emacs-build-system)
13080 (home-page "https://github.com/zk-phi/download-region")
13081 (synopsis "In buffer download manager for Emacs")
13082 (description "@code{download-region} provides in buffer
13083 downloading manager for Emacs.")
13084 (license license:gpl3+))))
13085
13086 (define-public emacs-helpful
13087 (package
13088 (name "emacs-helpful")
13089 (version "0.17")
13090 (source
13091 (origin
13092 (method git-fetch)
13093 (uri (git-reference
13094 (url "https://github.com/Wilfred/helpful.git")
13095 (commit version)))
13096 (file-name (git-file-name name version))
13097 (sha256
13098 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
13099 (build-system emacs-build-system)
13100 (propagated-inputs
13101 `(("emacs-elisp-refs" ,emacs-elisp-refs)
13102 ("emacs-dash" ,emacs-dash)
13103 ("emacs-s" ,emacs-s)
13104 ("emacs-f" ,emacs-f)
13105 ("emacs-shut-up" ,emacs-shut-up)))
13106 (native-inputs
13107 `(("emacs-ert-runner" ,emacs-ert-runner)
13108 ("emacs-undercover" ,emacs-undercover)))
13109 (arguments
13110 `(#:tests? #t
13111 #:test-command '("ert-runner")))
13112 (home-page "https://github.com/Wilfred/helpful")
13113 (synopsis "More contextual information in Emacs help")
13114 (description "@code{helpful} is an alternative to the built-in Emacs help
13115 that provides much more contextual information.
13116
13117 @itemize
13118 @item Show the source code for interactively defined functions (unlike the
13119 built-in Help).
13120 @item Fall back to the raw sexp if no source is available.
13121 @item Show where a function is being called.
13122 @item Docstrings will Highlight the summary (the first sentence), include
13123 cross-references, hide superfluous puncuation.
13124 @item Show you the properties that have been applied to the current
13125 symbol. This provides visibility of features like edebug or byte-code
13126 optimisation.
13127 @item Provide a separate @code{helpful-command} function to view interactive
13128 functions.
13129 @item Display any keybindings that apply to interactive functions.
13130 @item Trace, disassemble functions from inside Helpful. This is discoverable
13131 and doesn't require memorisation of commands.
13132 @end itemize\n")
13133 (license license:gpl3+)))
13134
13135 (define-public emacs-logview
13136 (package
13137 (name "emacs-logview")
13138 (version "0.9")
13139 (source
13140 (origin
13141 (method git-fetch)
13142 (uri (git-reference
13143 (url "https://github.com/doublep/logview.git")
13144 (commit version)))
13145 (file-name (git-file-name name version))
13146 (sha256
13147 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
13148 (propagated-inputs
13149 `(("emacs-datetime" ,emacs-datetime)))
13150 (build-system emacs-build-system)
13151 (home-page "https://github.com/doublep/logview/")
13152 (synopsis "Emacs mode for viewing log files")
13153 (description "@code{logview} provides an Emacs mode to view log files.")
13154 (license license:gpl3+)))
13155
13156 (define-public emacs-suggest
13157 (package
13158 (name "emacs-suggest")
13159 (version "0.7")
13160 (home-page "https://github.com/Wilfred/suggest.el")
13161 (source
13162 (origin
13163 (method git-fetch)
13164 (uri (git-reference
13165 (url home-page)
13166 (commit version)))
13167 (file-name (git-file-name name version))
13168 (sha256
13169 (base32
13170 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
13171 (build-system emacs-build-system)
13172 (propagated-inputs
13173 `(("emacs-loop" ,emacs-loop)
13174 ("emacs-dash" ,emacs-dash)
13175 ("emacs-s" ,emacs-s)
13176 ("emacs-f" ,emacs-f)
13177 ("emacs-spinner" ,emacs-spinner)
13178 ("emacs-shut-up" ,emacs-shut-up)))
13179 (native-inputs
13180 `(("emacs-ert-runner" ,emacs-ert-runner)
13181 ("emacs-undercover" ,emacs-undercover)))
13182 (arguments
13183 `(#:tests? #t
13184 #:test-command '("ert-runner")))
13185 (synopsis "Suggest Elisp functions that give the output requested")
13186 (description "Suggest.el will find functions that give the output
13187 requested. It's a great way of exploring list, string and arithmetic
13188 functions.")
13189 (license license:gpl3+)))
13190
13191 (define-public emacs-benchmark-init
13192 (package
13193 (name "emacs-benchmark-init")
13194 (version "1.0")
13195 (source
13196 (origin
13197 (method git-fetch)
13198 (uri (git-reference
13199 (url "https://github.com/dholm/benchmark-init-el.git")
13200 (commit version)))
13201 (file-name (git-file-name name version))
13202 (sha256
13203 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
13204 (build-system emacs-build-system)
13205 (home-page "https://github.com/dholm/benchmark-init-el")
13206 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
13207 (description "@code{benchmark-init} provides a way to keep track of where
13208 time is being spent during Emacs startup in order to optimize startup time.")
13209 (license license:gpl3+)))
13210
13211 (define-public emacs-emms-player-simple-mpv
13212 ;; A new mpv backend is included in Emms from 5.0.
13213 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
13214
13215 (define-public emacs-magit-gerrit
13216 (let ((version "0.3")
13217 (revision "1")
13218 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
13219 (package
13220 (name "emacs-magit-gerrit")
13221 (version (git-version version revision commit))
13222 (source (origin
13223 (method git-fetch)
13224 (uri (git-reference
13225 (url "https://github.com/terranpro/magit-gerrit.git")
13226 (commit commit)))
13227 (file-name (git-file-name name version))
13228 (sha256
13229 (base32
13230 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
13231 (build-system emacs-build-system)
13232 (propagated-inputs
13233 `(("emacs-magit" ,emacs-magit)))
13234 (home-page "https://github.com/terranpro/magit-gerrit")
13235 (synopsis "Magit extension for Gerrit")
13236 (description "This Magit extension provides integration with Gerrit,
13237 which makes it possible to conduct Gerrit code reviews directly from within
13238 Emacs.")
13239 (license license:gpl3+))))
13240
13241 (define-public emacs-magit-org-todos-el
13242 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
13243 (package
13244 (name "emacs-magit-org-todos-el")
13245 (version (git-version "0.1.1" "1" commit))
13246 (source
13247 (origin
13248 (method git-fetch)
13249 (uri (git-reference
13250 (url "https://github.com/danielma/magit-org-todos.el.git")
13251 (commit commit)))
13252 (file-name (git-file-name name version))
13253 (sha256
13254 (base32
13255 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
13256 (propagated-inputs
13257 `(("magit" ,emacs-magit)))
13258 (build-system emacs-build-system)
13259 (home-page "https://github.com/danielma/magit-org-todos.el")
13260 (synopsis "Get todo.org into Emacs Magit status")
13261 (description "This package allows you to get @file{todo.org} into your
13262 magit status.
13263
13264 If you have a @file{todo.org} file with @code{TODO} items in the root of your
13265 repository, @code{magit-org-todos} will create a section in your Magit status
13266 buffer with each of your todos.")
13267 (license license:gpl3+))))
13268
13269 (define-public emacs-f3
13270 (package
13271 (name "emacs-f3")
13272 (version "0.1")
13273 (source
13274 (origin
13275 (method git-fetch)
13276 (uri (git-reference
13277 (url "https://github.com/cosmicexplorer/f3.git")
13278 (commit version)))
13279 (file-name (git-file-name name version))
13280 (sha256
13281 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
13282 (build-system emacs-build-system)
13283 (propagated-inputs
13284 `(("emacs-helm" ,emacs-helm)))
13285 (home-page "https://github.com/cosmicexplorer/f3")
13286 (synopsis "Fantastic File Finder for Emacs")
13287 (description
13288 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
13289 (license license:gpl3+)))
13290
13291 (define-public emacs-lice-el
13292 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
13293 (package
13294 (name "emacs-lice-el")
13295 (version (git-version "0.2" "1" commit))
13296 (source (origin
13297 (method git-fetch)
13298 (uri (git-reference
13299 (url "https://github.com/buzztaiki/lice-el.git")
13300 (commit commit)))
13301 (file-name (git-file-name name version))
13302 (sha256
13303 (base32
13304 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
13305 (build-system emacs-build-system)
13306 (home-page "https://github.com/buzztaiki/lice-el")
13307 (synopsis "License and header template for Emacs")
13308 (description "@code{lice.el} provides following features:
13309
13310 @itemize
13311 @item License template management.
13312 @item File header insertion.
13313 @end itemize\n")
13314 (license license:gpl3+))))
13315
13316 (define-public emacs-academic-phrases
13317 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
13318 (package
13319 (name "emacs-academic-phrases")
13320 (version (git-version "0.1" "1" commit))
13321 (source
13322 (origin
13323 (method git-fetch)
13324 (uri (git-reference
13325 (url "https://github.com/nashamri/academic-phrases.git")
13326 (commit commit)))
13327 (file-name (git-file-name name version))
13328 (sha256
13329 (base32
13330 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
13331 (build-system emacs-build-system)
13332 (propagated-inputs
13333 `(("emacs-dash" ,emacs-dash)
13334 ("emacs-s" ,emacs-s)
13335 ("emacs-ht" ,emacs-ht)))
13336 (home-page "https://github.com/nashamri/academic-phrases")
13337 (synopsis "Bypass that mental block when writing your papers")
13338 (description
13339 "When writing your academic paper, you might get stuck trying to find
13340 the right phrase that captures your intention. This package tries to
13341 alleviate that problem by presenting you with a list of phrases organized by
13342 the topic or by the paper section that you are writing. This package has
13343 around 600 phrases so far.
13344
13345 Using this package is easy, just call @code{academic-phrases} to get a list of
13346 phrases organized by topic, or call @code{academic-phrases-by-section} to
13347 browse the phrases by the paper section and fill-in the blanks if required.")
13348 (license license:gpl3+))))
13349
13350 (define-public emacs-auto-yasnippet
13351 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
13352 (revision "2"))
13353 (package
13354 (name "emacs-auto-yasnippet")
13355 (version (git-version "0.3.0" revision commit))
13356 (source (origin
13357 (method git-fetch)
13358 (uri (git-reference
13359 (url "https://github.com/abo-abo/auto-yasnippet.git")
13360 (commit commit)))
13361 (file-name (git-file-name name version))
13362 (sha256
13363 (base32
13364 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
13365 (build-system emacs-build-system)
13366 (arguments
13367 '(#:tests? #t
13368 #:test-command '("make" "test")))
13369 (propagated-inputs
13370 `(("emacs-yasnippet" ,emacs-yasnippet)))
13371 (home-page "https://github.com/abo-abo/auto-yasnippet/")
13372 (synopsis "Quickly create disposable yasnippets")
13373 (description "This package provides a hybrid of keyboard macros and
13374 yasnippet. You create the snippet on the go, usually to be used just in the
13375 one place. It's fast, because you're not leaving the current buffer, and all
13376 you do is enter the code you'd enter anyway, just placing ~ where you'd like
13377 yasnippet fields and mirrors to be.")
13378 (license license:gpl3+))))
13379
13380 (define-public emacs-highlight-numbers
13381 (package
13382 (name "emacs-highlight-numbers")
13383 (version "0.2.3")
13384 (source
13385 (origin
13386 (method git-fetch)
13387 (uri (git-reference
13388 (url "https://github.com/Fanael/highlight-numbers.git")
13389 (commit version)))
13390 (file-name (git-file-name name version))
13391 (sha256
13392 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
13393 (build-system emacs-build-system)
13394 (propagated-inputs
13395 `(("emacs-parent-mode" ,emacs-parent-mode)))
13396 (home-page "https://github.com/Fanael/highlight-numbers")
13397 (synopsis "Highlight numbers in source code")
13398 (description "@code{highlight-numbers-mode} provides a minor mode for
13399 syntax highlighting of numeric literals in source code.
13400
13401 It s customizable: it's easy to add or redefine what exactly consitutes a
13402 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
13403 (license license:gpl3+)))
13404
13405 (define-public emacs-darkroom
13406 (package
13407 (name "emacs-darkroom")
13408 (version "0.1")
13409 (source (origin
13410 (method url-fetch)
13411 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
13412 version ".el"))
13413 (sha256
13414 (base32
13415 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
13416 (build-system emacs-build-system)
13417 (home-page "https://elpa.gnu.org/packages/darkroom.html")
13418 (synopsis "Remove visual distractions and focus on writing")
13419 (description "@code{darkroom-mode} makes visual distractions disappear.
13420 The mode-line is temporarily elided, text is enlarged and margins are adjusted
13421 so that it's centered on the window.
13422
13423 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
13424 @code{darkroom-mode}, unless the current buffer lives in the sole window of
13425 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
13426 split to display more windows and more buffers, the buffer exits
13427 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
13428 @code{darkroom-mode}.")
13429 (license license:gpl3+)))
13430
13431 (define-public emacs-rsw-elisp
13432 (package
13433 (name "emacs-rsw-elisp")
13434 (version "1.0.5")
13435 (source (origin
13436 (method url-fetch)
13437 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
13438 "/archive/" version ".tar.gz"))
13439 (file-name (string-append name "-" version ".tar.gz"))
13440 (sha256
13441 (base32
13442 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
13443 (build-system emacs-build-system)
13444 (home-page "https://github.com/rswgnu/rsw-elisp")
13445 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
13446 (description "This package improves and replaces the GNU Emacs commands
13447 that interactively evaluate Emacs Lisp expressions. The new commands replace
13448 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
13449 the same way as the old commands when called non-interactively; only the
13450 interactive behavior should be different.")
13451 (license license:gpl3+)))
13452
13453 (define-public emacs-default-text-scale
13454 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
13455 (revision "1"))
13456 (package
13457 (name "emacs-default-text-scale")
13458 (version (string-append "0.1" "-" revision "."
13459 (string-take commit 7)))
13460 (source (origin
13461 (method git-fetch)
13462 (uri (git-reference
13463 (url "https://github.com/purcell/default-text-scale")
13464 (commit commit)))
13465 (file-name (git-file-name name version))
13466 (sha256
13467 (base32
13468 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
13469 (build-system emacs-build-system)
13470 (home-page "https://github.com/purcell/default-text-scale")
13471 (synopsis "Adjust the font size in all Emacs frames")
13472 (description "This package provides commands for increasing or
13473 decreasing the default font size in all GUI Emacs frames.")
13474 (license license:gpl3+))))
13475
13476 (define-public emacs-mixed-pitch
13477 (package
13478 (name "emacs-mixed-pitch")
13479 (version "1.0.1")
13480 (source
13481 (origin
13482 (method git-fetch)
13483 (uri (git-reference
13484 (url "https://gitlab.com/jabranham/mixed-pitch.git")
13485 (commit version)))
13486 (file-name (git-file-name name version))
13487 (sha256
13488 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
13489 (build-system emacs-build-system)
13490 (home-page "https://gitlab.com/jabranham/mixed-pitch")
13491 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
13492 (description
13493 "@code{mixed-pitch-mode} is a minor mode that enables mixing
13494 variable-pitch and fixed-pitch fonts in the same buffer. The list
13495 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
13496 fixed-pitch,everything else becomes variable-pitch.")
13497 (license license:gpl3+)))
13498
13499 (define-public emacs-visual-regexp
13500 (package
13501 (name "emacs-visual-regexp")
13502 (version "1.1.1")
13503 (source
13504 (origin
13505 (method git-fetch)
13506 (uri (git-reference
13507 (url "https://github.com/benma/visual-regexp.el.git")
13508 (commit (string-append "v" version))))
13509 (file-name (git-file-name name version))
13510 (sha256
13511 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
13512 (build-system emacs-build-system)
13513 (home-page "https://github.com/benma/visual-regexp.el/")
13514 (synopsis "Regexp command with interactive visual feedback")
13515 (description "This package provides an Emacs regexp command with
13516 interactive visual feedback.")
13517 (license license:gpl3+)))
13518
13519 (define-public emacs-faceup
13520 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
13521 (revision "1"))
13522 (package
13523 (name "emacs-faceup")
13524 (version (string-append "0.0.1" "-" revision "."
13525 (string-take commit 7)))
13526 (source
13527 (origin
13528 (method git-fetch)
13529 (uri (git-reference
13530 (url "https://github.com/Lindydancer/faceup.git")
13531 (commit commit)))
13532 (file-name (git-file-name name version))
13533 (sha256
13534 (base32
13535 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
13536 (build-system emacs-build-system)
13537 (home-page "https://github.com/Lindydancer/faceup")
13538 (synopsis "Markup language for faces and font-lock regression testing")
13539 (description "Emacs is capable of highlighting buffers based on
13540 language-specific @code{font-lock} rules. This package makes it possible to
13541 perform regression test for packages that provide font-lock rules.")
13542 (license license:gpl3+))))
13543
13544 (define-public emacs-racket-mode
13545 (let ((commit "2a9a102a097d04fbcd2a443fec84078036c2e277")
13546 (revision "4"))
13547 (package
13548 (name "emacs-racket-mode")
13549 (version (git-version "0.0.2" revision commit))
13550 (source
13551 (origin
13552 (method git-fetch)
13553 (uri (git-reference
13554 (url "https://github.com/greghendershott/racket-mode")
13555 (commit commit)))
13556 (file-name (git-file-name name version))
13557 (sha256
13558 (base32
13559 "1n71dxxh62jixq20b5haapv651dxc0zyrxpl1d0yqsg8ncp726bl"))))
13560 (build-system emacs-build-system)
13561 (arguments
13562 `(#:include '("\\.el$" "\\.rkt$")))
13563 (propagated-inputs
13564 `(("emacs-faceup" ,emacs-faceup)
13565 ("emacs-s" ,emacs-s)))
13566 (home-page "https://github.com/greghendershott/racket-mode")
13567 (synopsis "Major mode for Racket language")
13568 (description "@code{racket-mode} provides:
13569
13570 @itemize
13571 @item Focus on Racket (not various Schemes).
13572 @item Follow DrRacket concepts where applicable.
13573 @item Thorough font-lock and indent.
13574 @end itemize\n")
13575 (license license:gpl3+))))
13576
13577 (define-public emacs-grep-context
13578 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
13579 (revision "1"))
13580 (package
13581 (name "emacs-grep-context")
13582 (version (git-version "0.1.0" revision commit))
13583 (source
13584 (origin
13585 (method git-fetch)
13586 (uri (git-reference
13587 (url "https://github.com/mkcms/grep-context.git")
13588 (commit commit)))
13589 (file-name (git-file-name name version))
13590 (sha256
13591 (base32
13592 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
13593 (build-system emacs-build-system)
13594 (propagated-inputs
13595 `(("emacs-dash" ,emacs-dash)))
13596 (home-page "https://github.com/mkcms/grep-context")
13597 (synopsis "Increase context in compilation and grep buffers")
13598 (description
13599 "This package provides an Emacs package for more context in
13600 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
13601 @code{ivy}.")
13602 (license license:gpl3+))))
13603
13604 (define-public emacs-helm-firefox
13605 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
13606 (revision "1"))
13607 (package
13608 (name "emacs-helm-firefox")
13609 (version (string-append "0.0.1" "-" revision "."
13610 (string-take commit 7)))
13611 (source
13612 (origin
13613 (method git-fetch)
13614 (uri (git-reference
13615 (url "https://github.com/emacs-helm/helm-firefox.git")
13616 (commit commit)))
13617 (file-name (git-file-name name version))
13618 (sha256
13619 (base32
13620 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
13621 (propagated-inputs
13622 `(("emacs-helm" ,emacs-helm)))
13623 (build-system emacs-build-system)
13624 (home-page "https://github.com/emacs-helm/helm-firefox")
13625 (synopsis "Display firefox bookmarks with Emacs Helm interface")
13626 (description "Display firefox bookmarks with Emacs Helm interface")
13627 (license license:gpl3+))))
13628
13629 (define-public emacs-interactive-align
13630 (package
13631 (name "emacs-interactive-align")
13632 (version "0.4.2")
13633 (source
13634 (origin
13635 (method git-fetch)
13636 (uri (git-reference
13637 (url "https://github.com/mkcms/interactive-align.git")
13638 (commit (string-append "v" version))))
13639 (file-name (git-file-name name version))
13640 (sha256
13641 (base32
13642 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
13643 (build-system emacs-build-system)
13644 (home-page "https://github.com/mkcms/interactive-align/")
13645 (synopsis "Interactive align-regexp command in Emacs")
13646 (description "Interactive align-regexp command in Emacs")
13647 (license license:gpl3+)))
13648
13649 (define-public emacs-shift-number
13650 (package
13651 (name "emacs-shift-number")
13652 (version "0.1")
13653 (source
13654 (origin
13655 (method url-fetch)
13656 (uri (string-append "https://github.com/alezost/shift-number.el"
13657 "/archive/" "v" version ".tar.gz"))
13658 (file-name (string-append name "-" version ".tar.gz"))
13659 (sha256
13660 (base32
13661 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
13662 (build-system emacs-build-system)
13663 (home-page "https://github.com/alezost/shift-number.el")
13664 (synopsis "Increase or decrease the number at point")
13665 (description "@code{emacs-shift-number} provides commands
13666 @code{shift-number-up} to increase and @code{shift-number-down} to
13667 decrease the number at point.")
13668 (license license:gpl3+)))
13669
13670 (define-public emacs-highlight-defined
13671 (package
13672 (name "emacs-highlight-defined")
13673 (version "0.1.5")
13674 (source
13675 (origin
13676 (method git-fetch)
13677 (uri (git-reference
13678 (url "https://github.com/Fanael/highlight-defined.git")
13679 (commit version)))
13680 (file-name (git-file-name name version))
13681 (sha256
13682 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
13683 (build-system emacs-build-system)
13684 (home-page "https://github.com/Fanael/highlight-defined")
13685 (synopsis "Syntax highlighting of known Elisp symbols")
13686 (description "Minor mode providing syntax highlighting of known Emacs Lisp
13687 symbols. Currently the code distinguishes Lisp functions, built-in functions,
13688 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
13689 (license license:gpl3+)))
13690
13691 (define-public emacs-parinfer-mode
13692 (package
13693 (name "emacs-parinfer-mode")
13694 (version "0.4.10")
13695 (source
13696 (origin
13697 (method git-fetch)
13698 (uri (git-reference
13699 (url "https://github.com/DogLooksGood/parinfer-mode.git")
13700 (commit (string-append "v" version))))
13701 (file-name (git-file-name name version))
13702 (sha256
13703 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
13704 (propagated-inputs
13705 `(("emacs-dash" ,emacs-dash)
13706 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
13707 ("emacs-company" ,emacs-company)))
13708 (build-system emacs-build-system)
13709 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
13710 (synopsis "Lisp structure editing mode")
13711 (description "@code{parinfer-mode} is a proof-of-concept editor
13712 mode for Lisp programming languages. It will infer some changes to
13713 keep Parens and Indentation inline with one another.")
13714 (license license:gpl3+)))
13715
13716 (define-public emacs-helm-eww
13717 (package
13718 (name "emacs-helm-eww")
13719 (version "1.2")
13720 (source (origin
13721 (method git-fetch)
13722 (uri (git-reference
13723 (url "https://github.com/emacs-helm/helm-eww.git")
13724 (commit version)))
13725 (file-name (git-file-name name version))
13726 (sha256
13727 (base32
13728 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
13729 (propagated-inputs
13730 `(("emacs-helm" ,emacs-helm)))
13731 (build-system emacs-build-system)
13732 (home-page "https://github.com/emacs-helm/helm-eww/")
13733 (synopsis "Helm interface to EWW")
13734 (description "This package provides a Helm interface for EWW buffers,
13735 bookmarks and history.")
13736 (license license:gpl3+)))
13737
13738 (define-public emacs-stumpwm-mode
13739 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
13740 (package
13741 (name "emacs-stumpwm-mode")
13742 (version (git-version "0.0.1" "1" commit))
13743 (source (origin
13744 (method git-fetch)
13745 (uri (git-reference
13746 (url "https://github.com/stumpwm/stumpwm-contrib.git")
13747 (commit commit)))
13748 (file-name (git-file-name name version))
13749 (sha256
13750 (base32
13751 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
13752 (build-system emacs-build-system)
13753 (arguments
13754 `(#:phases
13755 (modify-phases %standard-phases
13756 (add-after 'unpack 'chdir-elisp
13757 ;; Elisp directory is not in root of the source.
13758 (lambda _
13759 (chdir "util/swm-emacs"))))))
13760 (home-page "https://github.com/stumpwm/stumpwm-contrib")
13761 (synopsis "Emacs minor-mode for Stumpwm")
13762 (description "Emacs minor-mode for Stumpwm")
13763 (license license:gpl3+))))
13764
13765 (define-public emacs-irfc
13766 (package
13767 (name "emacs-irfc")
13768 (version "20130824.507-1")
13769 (source
13770 (origin
13771 (method url-fetch)
13772 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
13773 (file-name (string-append "irfc-" version ".el"))
13774 (sha256
13775 (base32
13776 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
13777 (build-system emacs-build-system)
13778 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
13779 (synopsis "Interface for IETF RFC document")
13780 (description
13781 "This package provides an Emacs interface for IETF RFC document.")
13782 (license license:gpl3+)))
13783
13784 (define-public emacs-ido-vertical-mode
13785 (package
13786 (name "emacs-ido-vertical-mode")
13787 (version "0.1.6")
13788 (source
13789 (origin
13790 (method git-fetch)
13791 (uri (git-reference
13792 (url "https://github.com/creichert/ido-vertical-mode.el.git")
13793 (commit (string-append "v" version))))
13794 (file-name (git-file-name name version))
13795 (sha256
13796 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
13797 (build-system emacs-build-system)
13798 (home-page "https://github.com/creichert/ido-vertical-mode.el")
13799 (synopsis "Makes ido-mode display vertically")
13800 (description "Makes ido-mode display prospects vertically.")
13801 (license license:gpl3+)))
13802
13803 (define-public emacs-wordgen
13804 (package
13805 (name "emacs-wordgen")
13806 (version "0.1.4")
13807 (source
13808 (origin
13809 (method git-fetch)
13810 (uri (git-reference
13811 (url "https://github.com/Fanael/wordgen.el.git")
13812 (commit version)))
13813 (file-name (git-file-name name version))
13814 (sha256
13815 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
13816 (build-system emacs-build-system)
13817 (home-page "https://github.com/Fanael/wordgen.el")
13818 (synopsis "Random word generator")
13819 (description "This package provides functions to generate random words
13820 using user-provided rules.")
13821 (license license:gpl3+)))
13822
13823 (define-public emacs-on-screen
13824 (package
13825 (name "emacs-on-screen")
13826 (version "1.3.3")
13827 (source
13828 (origin
13829 (method url-fetch)
13830 (uri (string-append
13831 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
13832 (file-name (string-append name "-" version ".el"))
13833 (sha256
13834 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
13835 (build-system emacs-build-system)
13836 (home-page "https://github.com/michael-heerdegen/on-screen.el")
13837 (synopsis "Guide your eyes while scrolling")
13838 (description
13839 "Scrolling can be distracting because your eyes may lose
13840 orientation. This library implements a minor mode that highlights
13841 the previously visible buffer part after each scroll.")
13842 (license license:gpl3+)))
13843
13844 (define-public emacs-highlight-escape-sequences
13845 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
13846 (revision "1"))
13847 (package
13848 (name "emacs-highlight-escape-sequences")
13849 (version (string-append "0.0.1" "-" revision "."
13850 (string-take commit 7)))
13851 (source
13852 (origin
13853 (method git-fetch)
13854 (uri (git-reference
13855 (url "https://github.com/dgutov/highlight-escape-sequences.git")
13856 (commit commit)))
13857 (file-name (git-file-name name version))
13858 (sha256
13859 (base32
13860 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
13861 (build-system emacs-build-system)
13862 (home-page "https://github.com/dgutov/highlight-escape-sequences")
13863 (synopsis "Highlight escape sequences in Emacs")
13864 (description "@code{highlight-escape-sequences} provides an
13865 Emacs minor mode to escape sequences in code.")
13866 (license license:gpl3+))))
13867
13868 (define-public emacs-dashboard
13869 (package
13870 (name "emacs-dashboard")
13871 (version "1.5.0")
13872 (source
13873 (origin
13874 (method git-fetch)
13875 (uri (git-reference
13876 (url "https://github.com/rakanalh/emacs-dashboard.git")
13877 (commit version)))
13878 (file-name (git-file-name name version))
13879 (sha256
13880 (base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
13881 (build-system emacs-build-system)
13882 (propagated-inputs
13883 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
13884 (arguments
13885 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
13886 #:phases
13887 (modify-phases %standard-phases
13888 (add-after 'unpack 'patch-dashboard-widgets
13889 ;; This phase fixes compilation error.
13890 (lambda _
13891 (chmod "dashboard-widgets.el" #o666)
13892 (emacs-substitute-variables "dashboard-widgets.el"
13893 ("dashboard-init-info"
13894 '(format "Loaded in %s" (emacs-init-time))))
13895 #t)))))
13896 (home-page "https://github.com/rakanalh/emacs-dashboard")
13897 (synopsis "Startup screen extracted from Spacemacs")
13898 (description "This package provides an extensible Emacs dashboard, with
13899 sections for bookmarks, projectil projects, org-agenda and more. ")
13900 (license license:gpl3+)))
13901
13902 (define-public emacs-slime-company
13903 (package
13904 (name "emacs-slime-company")
13905 (version "1.1")
13906 (source
13907 (origin
13908 (method git-fetch)
13909 (uri (git-reference
13910 (url "https://github.com/anwyn/slime-company.git")
13911 (commit (string-append "v" version))))
13912 (file-name (git-file-name name version))
13913 (sha256
13914 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
13915 (build-system emacs-build-system)
13916 (propagated-inputs
13917 `(("emacs-slime" ,emacs-slime)
13918 ("emacs-company" ,emacs-company)))
13919 (home-page "https://company-mode.github.io")
13920 (synopsis "SLIME completion backend for @code{company-mode}")
13921 (description
13922 "This is a backend implementation for the completion package
13923 @code{company-mode} which supports the normal and the fuzzy completion
13924 modes of SLIME.")
13925 (license license:gpl3+)))
13926
13927 (define-public emacs-sml-mode
13928 (package
13929 (name "emacs-sml-mode")
13930 (version "6.9")
13931 (source
13932 (origin
13933 (method url-fetch)
13934 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
13935 version ".el"))
13936 (sha256
13937 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
13938 (build-system emacs-build-system)
13939 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
13940 (synopsis "Major mode for editing (Standard) ML")
13941 (description "SML-MODE is a major Emacs mode for editing Standard ML.
13942 It provides syntax highlighting and automatic indentation and
13943 comes with sml-proc which allows interaction with an inferior SML
13944 interactive loop.")
13945 (license license:gpl3+)))
13946
13947 (define-public emacs-eros
13948 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
13949 (revision "2"))
13950 (package
13951 (name "emacs-eros")
13952 (version (git-version "0.0.1" revision commit))
13953 (source
13954 (origin
13955 (method git-fetch)
13956 (uri (git-reference
13957 (url "https://github.com/xiongtx/eros.git")
13958 (commit commit)))
13959 (file-name (git-file-name name version))
13960 (sha256
13961 (base32
13962 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
13963 (build-system emacs-build-system)
13964 (home-page "https://github.com/xiongtx/eros")
13965 (synopsis "Evaluation result overlays")
13966 (description "@code{eros} provides evaluation result overlays.")
13967 (license license:gpl3+))))
13968
13969 (define-public emacs-stickyfunc-enhance
13970 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
13971 (revision "1"))
13972 (package
13973 (name "emacs-stickyfunc-enhance")
13974 (version "0.1")
13975 (source
13976 (origin
13977 (method git-fetch)
13978 (uri (git-reference
13979 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
13980 (commit commit)))
13981 (file-name (git-file-name name version))
13982 (sha256
13983 (base32
13984 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
13985 (build-system emacs-build-system)
13986 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
13987 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
13988 (description
13989 "@code{semantic-stickyfunc-mode} shows the function point is currently
13990 in at the first line of the current buffer. This is useful when you have a
13991 very long function that spreads more than a screen, and you don't have to
13992 scroll up to read the function name and then scroll down to original position.")
13993 (license license:gpl3+))))
13994
13995 (define-public emacs-git-auto-commit-mode
13996 (package
13997 (name "emacs-git-auto-commit-mode")
13998 (version "4.4.0")
13999 (source
14000 (origin
14001 (method git-fetch)
14002 (uri (git-reference
14003 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
14004 (commit version)))
14005 (file-name (git-file-name name version))
14006 (sha256
14007 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
14008 (build-system emacs-build-system)
14009 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
14010 (synopsis "Emacs Minor mode to automatically commit and push")
14011 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
14012 tries to commit changes to a file after every save.
14013
14014 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
14015 the current upstream.")
14016 (license license:gpl3+)))
14017
14018 (define-public emacs-scroll-on-drag
14019 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
14020 (revision "1"))
14021 (package
14022 (name "emacs-scroll-on-drag")
14023 (version (git-version "0.1" revision commit))
14024 (source
14025 (origin
14026 (method git-fetch)
14027 (uri (git-reference
14028 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
14029 (commit commit)))
14030 (file-name (git-file-name name version))
14031 (sha256
14032 (base32
14033 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
14034 (build-system emacs-build-system)
14035 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
14036 (synopsis "Interactive scrolling")
14037 (description "This package permits scrolling at increasing speeds based
14038 on drag distance.")
14039 (license license:gpl3+))))
14040
14041 (define-public emacs-company-restclient
14042 (package
14043 (name "emacs-company-restclient")
14044 (version "0.3.0")
14045 (source
14046 (origin
14047 (method git-fetch)
14048 (uri (git-reference
14049 (url "https://github.com/iquiw/company-restclient.git")
14050 (commit (string-append "v" version))))
14051 (file-name (git-file-name name version))
14052 (sha256
14053 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
14054 (build-system emacs-build-system)
14055 (propagated-inputs
14056 `(("emacs-company" ,emacs-company)
14057 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
14058 ("emacs-restclient" ,emacs-restclient)))
14059 (home-page "https://github.com/iquiw/company-restclient")
14060 (synopsis "Company-mode completion back-end for restclient-mode")
14061 (description "@code{company-mode} back-end for
14062 @code{restclient-mode}.
14063
14064 It provides auto-completion for HTTP methods and headers in
14065 @code{restclient-mode}. Completion source is given by
14066 @code{know-your-http-well}.")
14067 (license license:gpl3+)))
14068
14069 (define-public emacs-noflet
14070 (let ((version "20170629")
14071 (revision "1")
14072 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
14073 (package
14074 (name "emacs-noflet")
14075 (version (git-version version revision commit))
14076 (source
14077 (origin
14078 (method git-fetch)
14079 (uri (git-reference
14080 (url "https://github.com/nicferrier/emacs-noflet")
14081 (commit commit)))
14082 (file-name (git-file-name name version))
14083 (sha256
14084 (base32
14085 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
14086 (build-system emacs-build-system)
14087 (arguments
14088 `(#:phases
14089 (modify-phases %standard-phases
14090 (add-after 'unpack 'require-dash
14091 ;; noflet.el uses -map from dash, but (require 'dash) is
14092 ;; missing. So, add it.
14093 (lambda _
14094 (substitute* "noflet.el"
14095 ((";;; Code:") ";;; Code:\n(require 'dash)"))
14096 #t)))))
14097 (propagated-inputs
14098 `(("emacs-dash" ,emacs-dash)))
14099 (home-page "https://github.com/nicferrier/emacs-noflet")
14100 (synopsis "Locally override functions")
14101 (description "@code{emacs-noflet} lets you locally override functions,
14102 in the manner of @command{flet}, but with access to the original function
14103 through the symbol: @command{this-fn}.")
14104 (license license:gpl3+))))
14105
14106 (define-public emacs-dumb-jump
14107 (package
14108 (name "emacs-dumb-jump")
14109 (version "0.5.3")
14110 (source
14111 (origin
14112 (method git-fetch)
14113 (uri (git-reference
14114 (url "https://github.com/jacktasia/dumb-jump.git")
14115 (commit (string-append "v" version))))
14116 (file-name (git-file-name name version))
14117 (sha256
14118 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
14119 (build-system emacs-build-system)
14120 (arguments
14121 `(#:tests? #f ; FIXME: Tests freeze when run.
14122 #:test-command '("ert-runner")
14123 #:phases
14124 (modify-phases %standard-phases
14125 (add-after 'unpack 'set-shell
14126 (lambda _
14127 ;; Setting the SHELL environment variable is required for the
14128 ;; tests to find sh.
14129 (setenv "SHELL" (which "sh"))
14130 #t)))))
14131 (native-inputs
14132 `(("emacs-el-mock" ,emacs-el-mock)
14133 ("emacs-noflet" ,emacs-noflet)
14134 ("emacs-undercover" ,emacs-undercover)
14135 ("ert-runner" ,emacs-ert-runner)))
14136 (propagated-inputs
14137 `(("emacs-f" ,emacs-f)
14138 ("emacs-popup" ,emacs-popup)))
14139 (home-page "https://github.com/jacktasia/dumb-jump")
14140 (synopsis "Jump to definition for multiple languages without configuration")
14141 (description "Dumb Jump is an Emacs \"jump to definition\" package with
14142 support for multiple programming languages that favors \"just working\" over
14143 speed or accuracy. This means minimal --- and ideally zero --- configuration
14144 with absolutely no stored indexes (tags) or persistent background processes.
14145 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
14146 @command{rg} installed.")
14147 (license license:gpl3+)))
14148
14149 (define-public emacs-dts-mode
14150 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
14151 (revision "1"))
14152 (package
14153 (name "emacs-dts-mode")
14154 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
14155 (source
14156 (origin
14157 (method git-fetch)
14158 (uri (git-reference
14159 (url "https://github.com/bgamari/dts-mode.git")
14160 (commit commit)))
14161 (file-name (git-file-name name version))
14162 (sha256
14163 (base32
14164 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
14165 (build-system emacs-build-system)
14166 (home-page "https://github.com/bgamari/dts-mode.git")
14167 (synopsis "Emacs minor mode for editing device tree files")
14168 (description
14169 "This package provides an Emacs minor mode for highlighting
14170 device tree files.")
14171 (license license:gpl3+))))
14172
14173 (define-public emacs-daemons
14174 (package
14175 (name "emacs-daemons")
14176 (version "2.0.0")
14177 (source
14178 (origin
14179 (method git-fetch)
14180 (uri (git-reference
14181 (url "https://github.com/cbowdon/daemons.el")
14182 (commit version)))
14183 (file-name (git-file-name name version))
14184 (sha256
14185 (base32
14186 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
14187 (build-system emacs-build-system)
14188 (home-page "https://github.com/cbowdon/daemons.el")
14189 (synopsis "Emacs UI for managing init system services")
14190 (description
14191 "This is an Emacs mode to give you a UI for managing init system
14192 daemons (services) for those getting tired of typing out @code{sudo service
14193 my_thing reload} all the time. It offers a consistent UI over different init
14194 systems.")
14195 (license license:gpl3+)))
14196
14197 (define-public emacs-isearch+
14198 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
14199 (revision "2"))
14200 (package
14201 (name "emacs-isearch+")
14202 (version (git-version "0" revision commit))
14203 (source
14204 (origin
14205 (method git-fetch)
14206 (uri (git-reference
14207 (url "https://github.com/emacsmirror/isearch-plus.git")
14208 (commit commit)))
14209 (file-name (git-file-name name version))
14210 (sha256
14211 (base32
14212 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
14213 (build-system emacs-build-system)
14214 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
14215 (synopsis "Extensions to @code{isearch.el}")
14216 (description "This package extends @code{isearch} with advice, dynamic
14217 filters, highlighting of regexp group levels, and more.")
14218 (license license:gpl2+))))
14219
14220 (define-public emacs-eshell-bookmark
14221 (package
14222 (name "emacs-eshell-bookmark")
14223 (version "2.0.0")
14224 (source
14225 (origin
14226 (method git-fetch)
14227 (uri (git-reference
14228 (url "https://github.com/Fuco1/eshell-bookmark")
14229 (commit version)))
14230 (file-name (git-file-name name version))
14231 (sha256
14232 (base32
14233 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
14234 (build-system emacs-build-system)
14235 (home-page "https://github.com/Fuco1/eshell-bookmark")
14236 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
14237 (description
14238 "This package allows for bookmarking @code{eshell} buffers. Upon
14239 visiting the bookmark, a new @code{eshell} session will be opened in the
14240 appropriate directory if no @code{eshell} session is active.")
14241 (license license:gpl3+)))
14242
14243 (define-public emacs-eshell-z
14244 (package
14245 (name "emacs-eshell-z")
14246 (version "0.3.2")
14247 (source
14248 (origin
14249 (method git-fetch)
14250 (uri (git-reference
14251 (url "https://github.com/xuchunyang/eshell-z")
14252 (commit (string-append "v" version))))
14253 (file-name (git-file-name name version))
14254 (sha256
14255 (base32
14256 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
14257 (build-system emacs-build-system)
14258 (home-page "https://github.com/xuchunyang/eshell-z")
14259 (synopsis "Quick navigation to frequently visited directories")
14260 (description
14261 "This package is a port of @code{z}, and keeps track of visited directories
14262 and commands invoked within them in order to enable navigation via input of
14263 matching regexps.")
14264 (license license:gpl3+)))
14265
14266 (define-public emacs-esh-autosuggest
14267 (package
14268 (name "emacs-esh-autosuggest")
14269 (version "2.0.0")
14270 (source
14271 (origin
14272 (method git-fetch)
14273 (uri (git-reference
14274 (url "https://github.com/dieggsy/esh-autosuggest")
14275 (commit version)))
14276 (file-name (git-file-name name version))
14277 (sha256
14278 (base32
14279 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
14280 (build-system emacs-build-system)
14281 (propagated-inputs `(("emacs-company" ,emacs-company)))
14282 (home-page "https://github.com/dieggsy/esh-autosuggest")
14283 (synopsis "Fish-like autosuggestions in Eshell")
14284 (description
14285 "This package assumes you use something other than company for eshell
14286 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
14287 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
14288 for history autosuggestions.
14289
14290 Unless you're using @code{use-package}'s hook keyword, you can enable the
14291 autosuggestions with:
14292 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
14293 (license license:gpl3+)))
14294
14295 (define-public emacs-desktop-environment
14296 (package
14297 (name "emacs-desktop-environment")
14298 (version "0.2.2")
14299 (source
14300 (origin
14301 (method git-fetch)
14302 (uri (git-reference
14303 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14304 (commit (string-append "v" version))))
14305 (file-name (git-file-name name version))
14306 (sha256
14307 (base32
14308 "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
14309 (build-system emacs-build-system)
14310 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14311 (synopsis "Control your GNU/Linux desktop environment from Emacs")
14312 (description
14313 "This package helps you control your GNU/Linux desktop from Emacs.
14314 With @code{desktop-environment}, you can control the brightness and volume as
14315 well as take screenshots and lock your screen. The package depends on the
14316 availability of shell commands to do the hard work for us. These commands can
14317 be changed by customizing the appropriate variables.")
14318 (license license:gpl3+)))
14319
14320 (define-public emacs-org-caldav
14321 (let ((commit "a563500c9884f38ce08793e2964f8274adde163d"))
14322 (package
14323 (name "emacs-org-caldav")
14324 (version (git-version "0.0.0" "1" commit))
14325 (source
14326 (origin
14327 (method git-fetch)
14328 (uri (git-reference
14329 (url "https://github.com/dengste/org-caldav.git")
14330 (commit commit)))
14331 (file-name (git-file-name name version))
14332 (sha256
14333 (base32
14334 "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"))))
14335 (build-system emacs-build-system)
14336 (arguments
14337 ;; Tests require to have two specific calendars on a test server.
14338 `(#:exclude '("^org-caldav-testsuite\\.el")))
14339 (propagated-inputs
14340 `(("emacs-org" ,emacs-org)))
14341 (home-page "https://github.com/dengste/org-caldav")
14342 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
14343 (description "Synchronize between events in Org files and a CalDAV
14344 calendar.")
14345 (license license:gpl3+))))
14346
14347 (define-public emacs-zotxt
14348 (package
14349 (name "emacs-zotxt")
14350 (version "20180518")
14351 (source
14352 (origin
14353 (method git-fetch)
14354 (uri (git-reference
14355 (url "https://github.com/egh/zotxt-emacs.git")
14356 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
14357 (file-name (git-file-name name version))
14358 (sha256
14359 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
14360 (build-system emacs-build-system)
14361 (propagated-inputs
14362 `(("emacs-deferred" ,emacs-deferred)
14363 ("emacs-request" ,emacs-request)))
14364 (home-page "https://github.com/egh/zotxt-emacs")
14365 (synopsis "Integrate Emacs with Zotero")
14366 (description "This package provides two integration features between Emacs
14367 and the Zotero research assistant: Insertion of links to Zotero items into an
14368 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
14369 (license license:gpl3+)))
14370
14371 (define-public emacs-evil-ediff
14372 ;; Evil-Ediff is included in Evil Collection from 20180617.
14373 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
14374
14375 (define-public emacs-evil-magit
14376 (let ((commit "4b66a1db8285457147a5436f209391016a819ea1")
14377 (revision "3"))
14378 (package
14379 (name "emacs-evil-magit")
14380 (version (git-version "0.4.2" revision commit))
14381 (source
14382 (origin
14383 (method git-fetch)
14384 (uri (git-reference
14385 (url "https://github.com/emacs-evil/evil-magit")
14386 (commit commit)))
14387 (file-name (git-file-name name version))
14388 (sha256
14389 (base32
14390 "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h"))))
14391 (build-system emacs-build-system)
14392 (propagated-inputs
14393 `(("emacs-evil" ,emacs-evil)
14394 ("magit" ,emacs-magit)))
14395 (arguments
14396 `(#:tests? #t
14397 #:test-command '("emacs" "-Q" "-batch"
14398 "-L" "."
14399 "-l" "evil-magit-tests"
14400 "-f" "ert-run-tests-batch-and-exit")))
14401 (home-page
14402 "https://github.com/emacs-evil/evil-magit")
14403 (synopsis "Evil-based key bindings for Magit")
14404 (description
14405 "This Emacs library configures Magit and Evil to play well with each other.
14406 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
14407 See the README at @url{https://github.com/justbur/evil-magit} for a table
14408 describing the key binding changes.")
14409 (license license:gpl3+))))
14410
14411 (define-public emacs-evil-mu4e
14412 ;; Evil-mu4e is included in Evil Collection from 20180617.
14413 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
14414
14415 (define-public emacs-evil-multiedit
14416 (package
14417 (name "emacs-evil-multiedit")
14418 (version "1.3.9")
14419 (source
14420 (origin
14421 (method git-fetch)
14422 (uri (git-reference
14423 (url "https://github.com/hlissner/evil-multiedit")
14424 (commit (string-append "v" version))))
14425 (file-name (git-file-name name version))
14426 (sha256
14427 (base32
14428 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
14429 (build-system emacs-build-system)
14430 (propagated-inputs
14431 `(("emacs-evil" ,emacs-evil)
14432 ("emacs-iedit" ,emacs-iedit)))
14433 (native-inputs
14434 `(("emacs-ert-runner" ,emacs-ert-runner)))
14435 (arguments
14436 `(#:phases
14437 (modify-phases %standard-phases
14438 (add-before 'check 'fix-makefile
14439 (lambda _
14440 (substitute* "Makefile"
14441 (("@cask exec ") ""))
14442 #t)))
14443 #:tests? #t
14444 #:test-command '("make" "test")))
14445 (home-page
14446 "https://github.com/hlissner/evil-multiedit")
14447 (synopsis "Multiple cursors for Evil mode")
14448 (description
14449 "This plugin was an answer to the lack of proper multiple cursor support
14450 in Emacs+Evil. It allows you to select and edit matches interactively,
14451 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
14452 defaults.")
14453 (license license:gpl3+)))
14454
14455 (define-public emacs-evil-mc
14456 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
14457 (revision "2"))
14458 (package
14459 (name "emacs-evil-mc")
14460 (version (git-version "0.0.3" revision commit))
14461 (source
14462 (origin
14463 (method git-fetch)
14464 (uri (git-reference
14465 (url "https://github.com/gabesoft/evil-mc.git")
14466 (commit commit)))
14467 (file-name (git-file-name name version))
14468 (sha256
14469 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
14470 (build-system emacs-build-system)
14471 (propagated-inputs
14472 `(("emacs-evil" ,emacs-evil)))
14473 (native-inputs
14474 `(("emacs-espuds" ,emacs-espuds)))
14475 (home-page "https://github.com/gabesoft/evil-mc")
14476 (synopsis "Interactive search compatible with @code{multiple-cursors}")
14477 (description "This package can be used with @code{multiple-cursors} to
14478 provide an incremental search that moves all fake cursors in sync.")
14479 (license license:expat))))
14480
14481 (define-public emacs-evil-org
14482 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
14483 (package
14484 (name "emacs-evil-org")
14485 (version (git-version "0.1.1" "1" commit))
14486 (source
14487 (origin
14488 (method git-fetch)
14489 (uri (git-reference
14490 (url "https://github.com/Somelauw/evil-org-mode")
14491 (commit commit)))
14492 (file-name (git-file-name name version))
14493 (sha256
14494 (base32
14495 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
14496 (build-system emacs-build-system)
14497 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
14498 (home-page
14499 "https://github.com/Somelauw/evil-org-mode")
14500 (synopsis "Evil keybindings for Org mode")
14501 (description
14502 "This package adds supplemental Evil mode key-bindings to Emacs
14503 Org-mode. It features:
14504 @itemize
14505 @item normal, visual and insert mode bindings;
14506 @item key bindings organised in key themes;
14507 @item operators like > and < to work on headings;
14508 @item text objects;
14509 @item table support;
14510 @item calendar (date selection) support;
14511 @item agenda support.
14512 @end itemize\n")
14513 (license license:gpl3+))))
14514
14515 (define-public emacs-debpaste
14516 (package
14517 (name "emacs-debpaste")
14518 (version "0.1.5")
14519 (home-page "https://github.com/alezost/debpaste.el")
14520 (source
14521 (origin
14522 (method git-fetch)
14523 (uri (git-reference (url home-page)
14524 (commit (string-append "v" version))))
14525 (file-name (string-append name "-" version ".tar.gz"))
14526 (sha256
14527 (base32
14528 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
14529 (build-system emacs-build-system)
14530 (propagated-inputs
14531 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
14532 (synopsis "Manipulate pastes from the Debian Pastezone")
14533 (description "Debpaste is an Emacs interface for the Debian Pastezone,
14534 allowing you to receive, post, and delete pastes. It communicates with the
14535 server using XML-RPC.")
14536 (license license:gpl3+)))
14537
14538 (define-public emacs-xml-rpc
14539 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
14540 (revision "1"))
14541 (package
14542 (name "emacs-xml-rpc")
14543 (version (git-version "1.6.12" revision commit))
14544 (source
14545 (origin
14546 (method git-fetch)
14547 (uri (git-reference
14548 (url "https://github.com/hexmode/xml-rpc-el")
14549 (commit commit)))
14550 (file-name (git-file-name name version))
14551 (sha256
14552 (base32
14553 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
14554 (build-system emacs-build-system)
14555 (home-page "https://github.com/hexmode/xml-rpc-el")
14556 (synopsis "XML-RPC client for Emacs")
14557 (description "This package provides an XML-RPC client for Emacs capable
14558 of both synchronous and asynchronous method calls using the @code{url}
14559 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
14560 datatypes as Lisp values, automatically converting to and from the XML
14561 datastructures as needed, both for method parameters and return values, making
14562 using XML-RPC methods fairly transparent to the Lisp code.")
14563 (license license:gpl3+))))
14564
14565 (define-public emacs-xpm
14566 (package
14567 (name "emacs-xpm")
14568 (version "1.0.4")
14569 (source
14570 (origin
14571 (method url-fetch)
14572 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
14573 version ".tar"))
14574 (sha256
14575 (base32
14576 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
14577 (build-system emacs-build-system)
14578 (home-page "https://elpa.gnu.org/packages/xpm.html")
14579 (synopsis "XPM image editing mode for Emacs")
14580 (description "This Emacs package makes editing XPM images easy (and maybe
14581 fun). Editing is done directly on the (textual) image format, for maximal
14582 cohesion with the Emacs Way.")
14583 (license license:gpl3+)))
14584
14585 (define-public emacs-fish-completion
14586 (package
14587 (name "emacs-fish-completion")
14588 (version "1.1")
14589 (source
14590 (origin
14591 (method git-fetch)
14592 (uri (git-reference
14593 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
14594 (commit version)))
14595 (file-name (git-file-name name version))
14596 (sha256
14597 (base32
14598 "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021"))))
14599 (build-system emacs-build-system)
14600 (inputs `(("fish" ,fish)))
14601 (arguments
14602 `(#:phases
14603 (modify-phases %standard-phases
14604 (add-after 'unpack 'configure
14605 (lambda* (#:key inputs outputs #:allow-other-keys)
14606 (let ((fish (assoc-ref inputs "fish")))
14607 ;; Specify the absolute file names of the various
14608 ;; programs so that everything works out-of-the-box.
14609 (make-file-writable "fish-completion.el")
14610 (emacs-substitute-variables
14611 "fish-completion.el"
14612 ("fish-completion-command"
14613 (string-append fish "/bin/fish")))))))))
14614 (home-page
14615 "https://gitlab.com/Ambrevar/emacs-fish-completion")
14616 (synopsis "Fish completion for Emacs pcomplete")
14617 (description
14618 "This package provides completion for the Fish shell to pcomplete (used
14619 by shell and Eshell). You can set it up globally with:
14620
14621 @example
14622 (when (and (executable-find \"fish\")
14623 (require 'fish-completion nil t))
14624 (global-fish-completion-mode))
14625 @end example
14626
14627 Alternatively, you can call the @code{fish-completion-mode} manually or in
14628 shell/Eshell mode hook.
14629
14630 The package @code{emacs-bash-completion} is an optional dependency: if available,
14631 @code{fish-completion-complete} can be configured to fall back on bash to further
14632 try completing. See @code{fish-completion-fallback-on-bash-p}.")
14633 (license license:gpl3+)))
14634
14635 (define-public emacs-gif-screencast
14636 (let ((commit "248d1e158405e6cba2c65ecaed40e2c59b089cd8")
14637 (revision "2"))
14638 (package
14639 (name "emacs-gif-screencast")
14640 (version (git-version "1.0" revision commit))
14641 (source
14642 (origin
14643 (method git-fetch)
14644 (uri (git-reference
14645 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
14646 (commit commit)))
14647 (sha256
14648 (base32
14649 "19xqi5mgalnnhb4hw0fh7py2s2dllldx1xxbhwhknkdpifai8hl8"))))
14650 (build-system emacs-build-system)
14651 (inputs
14652 `(("scrot" ,scrot)
14653 ("imagemagick" ,imagemagick)
14654 ("gifsicle" ,gifsicle)))
14655 (arguments
14656 `(#:phases
14657 (modify-phases %standard-phases
14658 (add-after 'unpack 'configure
14659 (lambda* (#:key inputs outputs #:allow-other-keys)
14660 (let ((scrot (assoc-ref inputs "scrot"))
14661 (imagemagick (assoc-ref inputs "imagemagick"))
14662 (gifsicle (assoc-ref inputs "gifsicle")))
14663 (make-file-writable "gif-screencast.el")
14664 ;; Specify the absolute file names of the various
14665 ;; programs so that everything works out-of-the-box.
14666 (emacs-substitute-variables
14667 "gif-screencast.el"
14668 ("gif-screencast-program"
14669 (string-append scrot "/bin/scrot"))
14670 ("gif-screencast-convert-program"
14671 (string-append imagemagick "/bin/convert"))
14672 ("gif-screencast-cropping-program"
14673 (string-append imagemagick "/bin/mogrify"))
14674 ("gif-screencast-optimize-program"
14675 (string-append gifsicle "/bin/gifsicle")))))))))
14676 (home-page
14677 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
14678 (synopsis "One-frame-per-action GIF recording")
14679 (description
14680 "Call @code{gif-screencast} to start a recording.
14681 A screenshot is taken for every user action. Call
14682 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
14683 the GIF result.")
14684 (license license:gpl3+))))
14685
14686 (define-public emacs-google-translate
14687 (package
14688 (name "emacs-google-translate")
14689 (version "0.11.18")
14690 (source
14691 (origin
14692 (method git-fetch)
14693 (uri (git-reference
14694 (url "https://github.com/atykhonov/google-translate/")
14695 (commit (string-append "v" version))))
14696 (file-name (git-file-name name version))
14697 (sha256
14698 (base32
14699 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
14700 (build-system emacs-build-system)
14701 (home-page "https://github.com/atykhonov/google-translate")
14702 (synopsis "Emacs interface to Google Translate")
14703 (description
14704 "This package provides an Emacs interface to the Google Translate
14705 on-line service.")
14706 (license license:gpl3+)))
14707
14708 (define-public emacs-helm-company
14709 (package
14710 (name "emacs-helm-company")
14711 (version "0.2.5")
14712 (source
14713 (origin
14714 (method git-fetch)
14715 (uri (git-reference
14716 (url "https://github.com/Sodel-the-Vociferous/helm-company")
14717 (commit (string-append "v" version))))
14718 (file-name (git-file-name name version))
14719 (sha256
14720 (base32
14721 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
14722 (build-system emacs-build-system)
14723 (propagated-inputs
14724 `(("emacs-helm" ,emacs-helm)
14725 ("emacs-company" ,emacs-company)))
14726 (native-inputs
14727 `(("emacs-ert-runner" ,emacs-ert-runner)))
14728 (arguments
14729 `(#:tests? #t
14730 #:test-command '("ert-runner")))
14731 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
14732 (synopsis "Helm interface for company-mode")
14733 (description
14734 "This is a Helm interface to company-mode, a text completion
14735 framework.")
14736 (license license:gpl3+)))
14737
14738 (define-public emacs-helm-descbinds
14739 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
14740 (package
14741 (name "emacs-helm-descbinds")
14742 (version (git-version "1.13" "1" commit))
14743 (source
14744 (origin
14745 (method git-fetch)
14746 (uri (git-reference
14747 (url "https://github.com/emacs-helm/helm-descbinds")
14748 (commit commit)))
14749 (file-name (git-file-name name version))
14750 (sha256
14751 (base32
14752 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
14753 (build-system emacs-build-system)
14754 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
14755 (home-page "https://github.com/emacs-helm/helm-descbinds")
14756 (synopsis "Convenient @code{describe-bindings} with Helm")
14757 (description
14758 "This package is a replacement of @code{describe-bindings} for Helm.
14759 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
14760 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
14761 @code{helm-descbinds}. The bindings are presented in a similar way as
14762 @code{describe-bindings} does, but you can use completion to find the command
14763 you searched for and execute it, or view its documentation.")
14764 (license license:gpl3+))))
14765
14766 (define-public emacs-helm-emms
14767 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
14768 (package
14769 (name "emacs-helm-emms")
14770 (version (git-version "1.3" "2" commit))
14771 (source
14772 (origin
14773 (method git-fetch)
14774 (uri (git-reference
14775 (url "https://github.com/emacs-helm/helm-emms")
14776 (commit commit)))
14777 (file-name (git-file-name name version))
14778 (sha256
14779 (base32
14780 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
14781 (build-system emacs-build-system)
14782 (propagated-inputs
14783 `(("emacs-helm" ,emacs-helm)
14784 ("emacs-emms" ,emacs-emms)))
14785 (home-page
14786 "https://github.com/emacs-helm/helm-emms")
14787 (synopsis "Emms for Helm")
14788 (description "Helm interface for Emms to browse all tracks and all folders
14789 from @code{emms-source-file-default-directory}.")
14790 (license license:gpl3+))))
14791
14792 (define-public emacs-helm-exwm
14793 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
14794 (package
14795 (name "emacs-helm-exwm")
14796 (version (git-version "20180703" "2" commit))
14797 (source
14798 (origin
14799 (method git-fetch)
14800 (uri (git-reference
14801 (url "https://github.com/emacs-helm/helm-exwm.git")
14802 (commit commit)))
14803 (sha256
14804 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
14805 (build-system emacs-build-system)
14806 (propagated-inputs
14807 `(("emacs-helm" ,emacs-helm)
14808 ("emacs-exwm" ,emacs-exwm)))
14809 (home-page
14810 "https://github.com/emacs-helm/helm-exwm")
14811 (synopsis "Helm for EXWM buffers")
14812 (description
14813 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
14814 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
14815 switch between the various windows of one or several specific applications.
14816 See @code{helm-exwm-switch-browser} for an example.")
14817 (license license:gpl3+))))
14818
14819 (define-public emacs-helm-flycheck
14820 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
14821 (package
14822 (name "emacs-helm-flycheck")
14823 (version (git-version "0.4" "1" commit))
14824 (source
14825 (origin
14826 (method git-fetch)
14827 (uri (git-reference
14828 (url "https://github.com/yasuyk/helm-flycheck")
14829 (commit commit)))
14830 (file-name (git-file-name name version))
14831 (sha256
14832 (base32
14833 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
14834 (build-system emacs-build-system)
14835 (propagated-inputs
14836 `(("emacs-dash" ,emacs-dash)
14837 ("emacs-flycheck" ,emacs-flycheck)
14838 ("emacs-helm" ,emacs-helm)))
14839 (home-page "https://github.com/yasuyk/helm-flycheck")
14840 (synopsis "Show Flycheck errors with Helm")
14841 (description
14842 "This integrates Flycheck with Helm.")
14843 (license license:gpl3+))))
14844
14845 (define-public emacs-helm-ls-git
14846 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
14847 (package
14848 (name "emacs-helm-ls-git")
14849 (version (git-version "1.9.1" "1" commit))
14850 (source
14851 (origin
14852 (method git-fetch)
14853 (uri (git-reference
14854 (url "https://github.com/emacs-helm/helm-ls-git")
14855 (commit commit)))
14856 (file-name (git-file-name name version))
14857 (sha256
14858 (base32
14859 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
14860 (build-system emacs-build-system)
14861 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
14862 (home-page "https://github.com/emacs-helm/helm-ls-git")
14863 (synopsis "Helm interface for listing the files in a Git repository")
14864 (description
14865 "This package provides a Helm interface for Git files.
14866 @itemize
14867 @item Display the open buffers in project.
14868 @item Display a status source showing state of project (modified files etc.).
14869 @item Display a list of all files in project under git control.
14870 @item Quickly look at diffs of modified files.
14871 @item Allow switching to @code{git status} with your preferred frontend
14872 (vc-dir, Magit,etc.).
14873 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
14874 can use ack-grep instead of grep).
14875 @item Integrate usage of gid from id-utils.
14876 @item Full integration with @code{helm-find-files}, allow you to browse
14877 projects unrelated to current-buffer.
14878 @item In addition, all actions of type files and buffers are provided.
14879 @end itemize\n")
14880 (license license:gpl3+))))
14881
14882 (define-public emacs-helm-mu
14883 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
14884 (package
14885 (name "emacs-helm-mu")
14886 (version (git-version "20180513" "1" commit))
14887 (source
14888 (origin
14889 (method git-fetch)
14890 (uri (git-reference
14891 (url "https://github.com/emacs-helm/helm-mu.git")
14892 (commit commit)))
14893 (sha256
14894 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
14895 (build-system emacs-build-system)
14896 (propagated-inputs
14897 `(("emacs-helm" ,emacs-helm)
14898 ("mu" ,mu)))
14899 (home-page
14900 "https://github.com/emacs-helm/helm-mu")
14901 (synopsis
14902 "Helm sources for searching emails and contacts")
14903 (description
14904 "Helm sources for searching emails and contacts using @code{mu} and
14905 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
14906 Emacs build on top of mu. Mu is highly efficient making it possible to get
14907 instant results even for huge maildirs. It also provides search operators,
14908 e.g: @code{from:Peter to:Anne flag:attach search term}.")
14909 (license license:gpl3+))))
14910
14911 (define-public emacs-helm-pass
14912 (package
14913 (name "emacs-helm-pass")
14914 (version "0.3")
14915 (source
14916 (origin
14917 (method git-fetch)
14918 (uri (git-reference
14919 (url "https://github.com/emacs-helm/helm-pass")
14920 (commit version)))
14921 (file-name (git-file-name name version))
14922 (sha256
14923 (base32
14924 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
14925 (build-system emacs-build-system)
14926 (propagated-inputs
14927 `(("emacs-helm" ,emacs-helm)
14928 ("emacs-password-store" ,emacs-password-store)))
14929 (home-page "https://github.com/emacs-helm/helm-pass")
14930 (synopsis "Helm interface to pass, the standard Unix password manager")
14931 (description
14932 "Users of @code{helm-pass} may also be interested in functionality
14933 provided by other Emacs packages dealing with pass:
14934 @itemize
14935 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
14936 @item @code{emacs-pass}, a major mode for @code{pass}.
14937 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
14938 @code{pass}, included in Emacs 26+).
14939 @end itemize\n")
14940 (license license:gpl3+)))
14941
14942 (define-public emacs-image+
14943 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
14944 (package
14945 (name "emacs-image+")
14946 (version (git-version "0.6.2" "1" commit))
14947 (source
14948 (origin
14949 (method git-fetch)
14950 (uri (git-reference
14951 (url "https://github.com/mhayashi1120/Emacs-imagex")
14952 (commit commit)))
14953 (file-name (git-file-name name version))
14954 (sha256
14955 (base32
14956 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
14957 (build-system emacs-build-system)
14958 (inputs `(("imagemagick" ,imagemagick)))
14959 (arguments
14960 `(#:phases
14961 (modify-phases %standard-phases
14962 (add-after 'unpack 'configure
14963 (lambda* (#:key inputs outputs #:allow-other-keys)
14964 (let ((imagemagick (assoc-ref inputs "imagemagick")))
14965 ;; Specify the absolute file names of the various
14966 ;; programs so that everything works out-of-the-box.
14967 (chmod "image+.el" #o666)
14968 (emacs-substitute-variables
14969 "image+.el"
14970 ("imagex-convert-command"
14971 (string-append imagemagick "/bin/convert"))
14972 ("imagex-identify-command"
14973 (string-append imagemagick "/bin/identify")))))))))
14974 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
14975 (synopsis "Image manipulation extensions for Emacs")
14976 (description
14977 "Image+ provides keybindings allowing you to zoom in or zoom out of an
14978 image, rotate it, save modified images, and more.")
14979 (license license:gpl3+))))
14980
14981 (define-public emacs-package-lint
14982 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
14983 (package
14984 (name "emacs-package-lint")
14985 (version (git-version "0.5" "1" commit))
14986 (source
14987 (origin
14988 (method git-fetch)
14989 (uri (git-reference
14990 (url "https://github.com/purcell/package-lint")
14991 (commit commit)))
14992 (file-name (git-file-name name version))
14993 (sha256
14994 (base32
14995 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
14996 (build-system emacs-build-system)
14997 (home-page "https://github.com/purcell/package-lint")
14998 (synopsis "Linting library for elisp package authors")
14999 (description
15000 "This provides a list of issues with the Emacs package metadata of a file,
15001 e.g. the package dependencies it requires. See function
15002 @code{package-lint-buffer}. Checks will currently be enabled only if a
15003 \"Package-Requires:\" or \"Package-Version:\" header is present in the
15004 file.")
15005 (license license:gpl3+))))
15006
15007 (define-public emacs-picpocket
15008 (let ((version "40")
15009 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
15010 (package
15011 (name "emacs-picpocket")
15012 (version version)
15013 (source
15014 (origin
15015 (method git-fetch)
15016 (uri (git-reference
15017 (url "https://github.com/johanclaesson/picpocket")
15018 (commit commit)))
15019 (file-name (git-file-name name version))
15020 (sha256
15021 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
15022 (build-system emacs-build-system)
15023 (arguments ; needed for running tests
15024 `(#:tests? #t
15025 #:emacs ,emacs
15026 #:test-command '("emacs" "--batch"
15027 "-l" "picpocket-test.el"
15028 "-f" "ert-run-tests-batch-and-exit")))
15029 (home-page "https://github.com/johanclaesson/picpocket")
15030 (synopsis "Image viewer for Emacs")
15031 (description
15032 "Picpocket is an image viewer for GNU Emacs. It has commands for:
15033
15034 @itemize
15035 @item File operations on the picture files (delete, move, copy, hardlink).
15036 @item Scale and rotate the picture.
15037 @item Associate pictures with tags which are saved to disk.
15038 @item Filter pictures according to tags.
15039 @item Customizing keystrokes for quick tagging and file operations.
15040 @item Undo and browse history of undoable commands.
15041 @end itemize")
15042 (license license:gpl3+))))
15043
15044 (define-public emacs-wgrep-helm
15045 ;; `emacs-wgrep-helm' was mistakenly added.
15046 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
15047
15048 (define-public emacs-mu4e-conversation
15049 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
15050 (revision "5"))
15051 (package
15052 (name "emacs-mu4e-conversation")
15053 (version (git-version "0.0.1" revision commit))
15054 (source
15055 (origin
15056 (method git-fetch)
15057 (uri (git-reference
15058 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
15059 (commit commit)))
15060 (file-name (git-file-name name version))
15061 (sha256
15062 (base32
15063 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
15064 (build-system emacs-build-system)
15065 (propagated-inputs
15066 `(("mu" ,mu)))
15067 (home-page
15068 "https://gitlab.com/Ambrevar/mu4e-conversation")
15069 (synopsis
15070 "Show a complete thread in a single buffer")
15071 (description
15072 "This package offers an alternate view to mu4e's e-mail display. It
15073 shows all e-mails of a thread in a single view, where each correspondent has
15074 their own face. Threads can be displayed linearly (in which case e-mails are
15075 displayed in chronological order) or as an Org document where the node tree
15076 maps the thread tree.")
15077 (license license:gpl3+))))
15078
15079 (define-public emacs-pinentry
15080 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
15081 (revision "1"))
15082 (package
15083 (name "emacs-pinentry")
15084 (version (git-version "0.1" revision commit))
15085 (source
15086 (origin
15087 (method url-fetch)
15088 (uri (string-append
15089 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
15090 "/packages/pinentry/pinentry.el?id=" commit))
15091 (file-name (string-append "pinentry.el"))
15092 (sha256
15093 (base32
15094 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
15095 (build-system emacs-build-system)
15096 (propagated-inputs
15097 `(("gnupg" ,gnupg)))
15098 (home-page "https://elpa.gnu.org/packages/pinentry.html")
15099 (synopsis "GnuPG Pinentry server implementation")
15100 (description
15101 "This package allows GnuPG passphrase to be prompted through the
15102 minibuffer instead of graphical dialog.
15103
15104 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
15105 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
15106 server with @code{M-x pinentry-start}.")
15107 (license license:gpl3+))))
15108
15109 (define-public emacs-so-long
15110 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
15111 (revision "2"))
15112 (package
15113 (name "emacs-so-long")
15114 (version (git-version "1.0" revision commit))
15115 (source
15116 (origin
15117 (method git-fetch)
15118 (uri (git-reference
15119 (url "https://git.savannah.gnu.org/git/so-long.git")
15120 (commit commit)))
15121 (file-name (git-file-name name version))
15122 (sha256
15123 (base32
15124 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
15125 (build-system emacs-build-system)
15126 (home-page "https://www.emacswiki.org/emacs/SoLong")
15127 (synopsis "Improve performance in files with long lines")
15128 (description "This package improves the performance of Emacs when
15129 viewing files with long lines.")
15130 (license license:gpl3+))))
15131
15132 (define-public emacs-github-review
15133 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
15134 (revision "2"))
15135 (package
15136 (name "emacs-github-review")
15137 (version (git-version "0.1" revision commit))
15138 (source
15139 (origin
15140 (method git-fetch)
15141 (uri (git-reference
15142 (url "https://github.com/charignon/github-review")
15143 (commit commit)))
15144 (file-name (git-file-name name version))
15145 (sha256
15146 (base32
15147 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
15148 (build-system emacs-build-system)
15149 (inputs
15150 `(("emacs-dash" ,emacs-dash)
15151 ("emacs-s" ,emacs-s)
15152 ("emacs-ghub" ,emacs-ghub)))
15153 (native-inputs
15154 `(("emacs-buttercup" ,emacs-buttercup)
15155 ("emacs-undercover" ,emacs-undercover)))
15156 (arguments
15157 `(#:tests? #t
15158 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
15159 (home-page "https://github.com/charignon/github-review")
15160 (synopsis "Review GitHub pull requests within Emacs")
15161 (description "This package provides commands to pull in, comment on, and
15162 accept and reject GitHub pull requests.")
15163 (license license:gpl3+))))
15164
15165 (define-public emacs-deadgrep
15166 (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
15167 (revision "2"))
15168 (package
15169 (name "emacs-deadgrep")
15170 (version (git-version "0.8" revision commit))
15171 (source
15172 (origin
15173 (method git-fetch)
15174 (uri (git-reference
15175 (url "https://github.com/Wilfred/deadgrep")
15176 (commit commit)))
15177 (file-name (git-file-name name version))
15178 (sha256
15179 (base32
15180 "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
15181 (build-system emacs-build-system)
15182 (inputs
15183 `(("emacs-dash" ,emacs-dash)
15184 ("emacs-s" ,emacs-s)
15185 ("emacs-spinner" ,emacs-spinner)))
15186 (home-page "https://github.com/Wilfred/deadgrep")
15187 (synopsis "Frontend for @code{ripgrep}")
15188 (description "This package provides an Emacs interface for performing
15189 searches with @code{ripgrep}.")
15190 (license license:gpl3+))))
15191
15192 (define-public emacs-focus
15193 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
15194 (version "0.1.1")
15195 (revision "1"))
15196 (package
15197 (name "emacs-focus")
15198 (version (git-version version revision commit))
15199 (source
15200 (origin
15201 (method git-fetch)
15202 (uri (git-reference
15203 (url "https://github.com/larstvei/Focus")
15204 (commit commit)))
15205 (file-name (git-file-name name version))
15206 (sha256
15207 (base32
15208 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
15209 (build-system emacs-build-system)
15210 (home-page "https://github.com/larstvei/Focus")
15211 (synopsis "Minor mode for focusing in on relevant text")
15212 (description "This package provides a minor mode that dims the color of
15213 text in neighboring sections.")
15214 (license license:gpl3+))))
15215
15216 (define-public emacs-pandoc-mode
15217 (package
15218 (name "emacs-pandoc-mode")
15219 (version "2.27.2")
15220 (source
15221 (origin
15222 (method git-fetch)
15223 (uri (git-reference
15224 (url "https://github.com/joostkremers/pandoc-mode")
15225 (commit version)))
15226 (file-name (git-file-name name version))
15227 (sha256
15228 (base32
15229 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
15230 (build-system emacs-build-system)
15231 (propagated-inputs
15232 `(("emacs-dash" ,emacs-dash)
15233 ("emacs-hydra" ,emacs-hydra)))
15234 (home-page "https://github.com/joostkremers/pandoc-mode")
15235 (synopsis "Minor mode for interacting with Pandoc")
15236 (description "This package provides a Hydra menu for interacting with the
15237 Pandoc, the document-conversion tool.")
15238 (license license:bsd-3)))
15239
15240 (define-public emacs-ccls
15241 (let ((commit "b1acc336f27d8a3bbc750c2dc3be915a4ac1afea")
15242 (revision "3"))
15243 (package
15244 (name "emacs-ccls")
15245 (version (git-version "0.1" revision commit))
15246 (source
15247 (origin
15248 (method git-fetch)
15249 (uri (git-reference
15250 (url "https://github.com/MaskRay/emacs-ccls")
15251 (commit commit)))
15252 (file-name (git-file-name name version))
15253 (sha256
15254 (base32
15255 "1qgfxc5d1hb32ks1fxpx7agpw7dvnkz99wydlflc9fqq75g8v142"))))
15256 (build-system emacs-build-system)
15257 (propagated-inputs
15258 `(("emacs-dash" ,emacs-dash)
15259 ("emacs-projectile" ,emacs-projectile)
15260 ("emacs-lsp-mode" ,emacs-lsp-mode)))
15261 (home-page "https://github.com/MaskRay/emacs-ccls")
15262 (synopsis "Emacs support for the @code{ccls} language server")
15263 (description "This package extends @code{lsp-mode} to work with @code{C}
15264 and @code{C++} files through the @code{ccls} language server.")
15265 (license license:bsd-3))))
15266
15267 (define-public emacs-org-brain
15268 (package
15269 (name "emacs-org-brain")
15270 (version "0.5")
15271 (source
15272 (origin
15273 (method git-fetch)
15274 (uri (git-reference
15275 (url "https://github.com/Kungsgeten/org-brain.git")
15276 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
15277 (file-name (git-file-name name version))
15278 (sha256
15279 (base32
15280 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
15281 (build-system emacs-build-system)
15282 (home-page "https://github.com/Kungsgeten/org-brain")
15283 (synopsis "Org-mode wiki and concept-mapping for Emacs")
15284 (description "@code{emacs-org-brain} implements a variant of concept
15285 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
15286 org-mode entries, where each entry is a file or a headline, and you can get a
15287 visual overview of the relationships between the entries: parents, children,
15288 siblings and friends. This visual overview can also be used to browse your
15289 entries. You can think of entries as nodes in a mind map, or pages in a
15290 wiki.")
15291 (license license:expat)))
15292
15293 (define-public emacs-recent-addresses
15294 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
15295 (revision "1"))
15296 (package
15297 (name "emacs-recent-addresses")
15298 (home-page "http://nschum.de/src/emacs/recent-addresses/")
15299 (version (git-version "0.1" revision commit))
15300 (source (origin
15301 (method git-fetch)
15302 (uri (git-reference
15303 ;; Note: Use a branch that works with Helm. Submitted
15304 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
15305 (url "https://github.com/civodul/recent-addresses.el")
15306 (commit commit)))
15307 (sha256
15308 (base32
15309 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
15310 (file-name (git-file-name name version))))
15311 (build-system emacs-build-system)
15312 (synopsis "Record recently-used email addressed and auto-complete them")
15313 (description
15314 "@code{recent-addresses} is an Emacs package that allows you to quickly
15315 look up previously used email addresses. It can be used alongside the Gnus
15316 email client.")
15317 (license license:gpl2+))))
15318
15319 (define-public emacs-fold-dwim
15320 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
15321 (revision "0"))
15322 (package
15323 (name "emacs-fold-dwim")
15324 (version (git-version "1.2" revision commit))
15325 (home-page "https://github.com/emacsattic/fold-dwim")
15326 (source (origin
15327 (method git-fetch)
15328 (uri (git-reference (url home-page) (commit commit)))
15329 (sha256
15330 (base32
15331 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
15332 (file-name (git-file-name name version))))
15333 (build-system emacs-build-system)
15334 (synopsis "Unified user interface for Emacs folding modes")
15335 (description
15336 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
15337 can do different things depending on the context. In this package, it means
15338 that, if the cursor is in a currently hidden folded construction, we want to
15339 show it; if it's not, we want to hide whatever fold the cursor is in.")
15340 (license license:gpl2+))))
15341
15342 (define-public emacs-markup-faces
15343 (package
15344 (name "emacs-markup-faces")
15345 (version "1.0.0")
15346 (source
15347 (origin
15348 (method url-fetch)
15349 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
15350 version ".el"))
15351 (sha256
15352 (base32
15353 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
15354 (build-system emacs-build-system)
15355 (home-page "https://github.com/sensorflo/markup-faces")
15356 (synopsis "Collection of Emacs faces for markup language modes")
15357 (description "emacs-markup-faces is like font-lock-faces, but tailored for
15358 markup languages instead programming languages. The sub group markup-faces-text
15359 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
15360 common look and feel, or let's say theme, across different markup language modes
15361 and 'text viewing modes' respectively.")
15362 (license license:gpl3+)))
15363
15364 (define-public emacs-adoc-mode
15365 (package
15366 (name "emacs-adoc-mode")
15367 (version "0.6.6")
15368 (source
15369 (origin
15370 (method url-fetch)
15371 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
15372 version ".el"))
15373 (sha256
15374 (base32
15375 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
15376 (build-system emacs-build-system)
15377 (propagated-inputs
15378 `(("emacs-markup-faces" ,emacs-markup-faces)))
15379 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
15380 (synopsis "AsciiDoc mode for Emacs")
15381 (description "This package provides an Emacs major mode for editing AsciiDoc
15382 files. It focuses on highlighting the document to improve readability.")
15383 (license license:gpl2+)))
15384
15385 (define-public emacs-rust-mode
15386 (package
15387 (name "emacs-rust-mode")
15388 (version "0.4.0")
15389 (source (origin
15390 (method git-fetch)
15391 (uri (git-reference
15392 (url "https://github.com/rust-lang/rust-mode")
15393 (commit version)))
15394 (file-name (git-file-name name version))
15395 (sha256
15396 (base32
15397 "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"))))
15398 (build-system emacs-build-system)
15399 (arguments
15400 `(#:phases
15401 (modify-phases %standard-phases
15402 (replace 'check
15403 (lambda _
15404 (invoke "sh" "run_rust_emacs_tests.sh"))))))
15405 (home-page "https://github.com/rust-lang/rust-mode")
15406 (synopsis "Major Emacs mode for editing Rust source code")
15407 (description "This package provides a major Emacs mode for editing Rust
15408 source code.")
15409 (license (list license:expat
15410 license:asl2.0))))
15411
15412 (define-public emacs-ztree
15413 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
15414 (package
15415 (name "emacs-ztree")
15416 (version (git-version "1.0.5" "1" commit))
15417 (source
15418 (origin
15419 (method git-fetch)
15420 (uri (git-reference
15421 (url "https://github.com/fourier/ztree")
15422 (commit commit)))
15423 (file-name (git-file-name name version))
15424 (sha256
15425 (base32
15426 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
15427 (build-system emacs-build-system)
15428 (home-page "https://github.com/fourier/ztree")
15429 (synopsis "Directory tree comparison mode for Emacs")
15430 (description "Ztree is a project dedicated to implementation of several
15431 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
15432 @command{ztree-diff} and @command{ztree-dir} (the basis of
15433 @command{ztree-diff}).")
15434 (license license:gpl3))))
15435
15436 (define-public emacs-helm-org-contacts
15437 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
15438 (package
15439 (name "emacs-helm-org-contacts")
15440 (version (git-version "20180707" "1" commit))
15441 (source
15442 (origin
15443 (method git-fetch)
15444 (uri (git-reference
15445 (url "https://github.com/tmalsburg/helm-org-contacts")
15446 (commit commit)))
15447 (file-name (git-file-name name version))
15448 (sha256
15449 (base32
15450 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
15451 (build-system emacs-build-system)
15452 (propagated-inputs
15453 `(("emacs-dash" ,emacs-dash)
15454 ("emacs-helm" ,emacs-helm)
15455 ("emacs-s" ,emacs-s)))
15456 (home-page "https://github.com/tmalsburg/helm-org-contacts")
15457 (synopsis "Helm source for org-contacts")
15458 (description "This Helm source can be used to search contacts stored in
15459 org-contacts format. There are actions for inserting postal addresses, email
15460 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
15461 was called.")
15462 (license license:gpl3))))
15463
15464 (define-public emacs-dired-du
15465 (package
15466 (name "emacs-dired-du")
15467 (version "0.5.2")
15468 (source
15469 (origin
15470 (method url-fetch)
15471 (uri (string-append
15472 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
15473 (sha256
15474 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
15475 (build-system emacs-build-system)
15476 (home-page "https://elpa.gnu.org/packages/dired-du.html")
15477 (synopsis "Dired with recursive directory sizes")
15478 (description
15479 "Display the recursive size of directories in Dired.
15480 This file defines a minor mode @command{dired-du-mode} to show the recursive
15481 size of directories in Dired buffers. If @command{du} program is available,
15482 then the directory sizes are obtained with it. Otherwise, the directory sizes
15483 are obtained with Lisp. The former is faster and provide a more precise
15484 value. For directories where the user doesn't have read permission, the
15485 recursive size is not obtained. Once this mode is enabled, every new Dired
15486 buffer displays recursive dir sizes.")
15487 (license license:gpl3+)))
15488
15489 (define-public emacs-dired-rsync
15490 (package
15491 (name "emacs-dired-rsync")
15492 (version "0.4")
15493 (source (origin
15494 (method git-fetch)
15495 (uri (git-reference
15496 (url "https://github.com/stsquad/dired-rsync.git")
15497 (commit version)))
15498 (file-name (git-file-name name version))
15499 (sha256
15500 (base32
15501 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
15502 (build-system emacs-build-system)
15503 (propagated-inputs
15504 `(("emacs-s" ,emacs-s)
15505 ("emacs-dash" ,emacs-dash)))
15506 (home-page "https://github.com/stsquad/dired-rsync/")
15507 (synopsis "Support for rsync from Emacs dired buffers")
15508 (description "This package adds a single command @code{dired-rsync} which
15509 allows the user to copy marked files in a dired buffer via @code{rsync}. This
15510 is useful, especially for large files, because the copy happens in the
15511 background and doesn’t lock up Emacs. It is also more efficient than using
15512 tramps own encoding methods for moving data between systems.")
15513 (license license:gpl3+)))
15514
15515 (define-public emacs-pcre2el
15516 ;; Last release is very old so we get the latest commit.
15517 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
15518 (package
15519 (name "emacs-pcre2el")
15520 (version (git-version "1.8" "1" commit))
15521 (source
15522 (origin
15523 (method git-fetch)
15524 (uri (git-reference
15525 (url "https://github.com/joddie/pcre2el")
15526 (commit commit)))
15527 (file-name (git-file-name name version))
15528 (sha256
15529 (base32
15530 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
15531 (build-system emacs-build-system)
15532 (home-page "https://github.com/joddie/pcre2el")
15533 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
15534 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
15535 Tools) is a utility for working with regular expressions in Emacs, based on a
15536 recursive-descent parser for regexp syntax. In addition to converting (a
15537 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
15538
15539 @itemize
15540 @item convert Emacs syntax to PCRE
15541 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
15542 @item untangle complex regexps by showing the parse tree in @code{rx} form and
15543 highlighting the corresponding chunks of code
15544 @item show the complete list of strings (productions) matching a regexp,
15545 provided the list is finite
15546 @item provide live font-locking of regexp syntax (so far only for Elisp
15547 buffers – other modes on the TODO list).
15548 @end itemize\n")
15549 (license license:gpl3))))
15550
15551 (define-public emacs-magit-todos
15552 (package
15553 (name "emacs-magit-todos")
15554 (version "1.4")
15555 (source
15556 (origin
15557 (method git-fetch)
15558 (uri (git-reference
15559 (url "https://github.com/alphapapa/magit-todos")
15560 (commit version)))
15561 (file-name (git-file-name name version))
15562 (sha256
15563 (base32
15564 "09pjb4k409gc0h51vb5az1shx02c1hx8cnvhi529n7dm4maildg5"))))
15565 (build-system emacs-build-system)
15566 (propagated-inputs
15567 `(("emacs-async" ,emacs-async)
15568 ("emacs-dash" ,emacs-dash)
15569 ("emacs-f" ,emacs-f)
15570 ("emacs-hl-todo" ,emacs-hl-todo)
15571 ("magit" ,emacs-magit)
15572 ("emacs-pcre2el" ,emacs-pcre2el)
15573 ("emacs-s" ,emacs-s)))
15574 (home-page "https://github.com/alphapapa/magit-todos")
15575 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
15576 (description "This package displays keyword entries from source code
15577 comments and Org files in the Magit status buffer. Activating an item jumps
15578 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
15579 few (like NOTE).")
15580 (license license:gpl3)))
15581
15582 (define-public emacs-git-annex
15583 ;; Unreleased version has a fontification fix.
15584 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
15585 (revision "2"))
15586 (package
15587 (name "emacs-git-annex")
15588 (version (git-version "1.1" revision commit))
15589 (source
15590 (origin
15591 (method git-fetch)
15592 (uri (git-reference
15593 (url "https://github.com/jwiegley/git-annex-el")
15594 (commit commit)))
15595 (file-name (git-file-name name version))
15596 (sha256
15597 (base32
15598 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
15599 (build-system emacs-build-system)
15600 (home-page "https://github.com/jwiegley/git-annex-el")
15601 (synopsis "Emacs integration for git-annex")
15602 (description "Enhances Dired and buffers visiting annex files with
15603 git-annex functionality. In Dired, the names of annex files are shortened by
15604 hiding the symbolic links and fontified based on whether content is present.
15605 Commands for performing some common operations (e.g., unlocking and adding
15606 files) are provided.")
15607 (license license:gpl2+))))
15608
15609 (define-public emacs-hackernews
15610 (let ((commit "2362d7b00e59da7caddc8c0adc24dccb42fddef9")
15611 (revision "2"))
15612 (package
15613 (name "emacs-hackernews")
15614 (version (git-version "0.5.0" revision commit))
15615 (source
15616 (origin
15617 (method git-fetch)
15618 (uri (git-reference
15619 (url "https://github.com/clarete/hackernews.el")
15620 (commit commit)))
15621 (file-name (git-file-name name version))
15622 (sha256
15623 (base32
15624 "1hcc5b173yzcvvd2ls3jxrmsw2w9bi21m9hcpcirkn0nh93ywadv"))))
15625 (build-system emacs-build-system)
15626 (home-page "https://github.com/clarete/hackernews.el")
15627 (synopsis "Hacker News client for Emacs")
15628 (description "The @command{hackernews} package is able to fetch stories
15629 from six different Hacker News feeds, namely top, new, best, ask, show and job
15630 stories. The default feed is top stories, which corresponds to the Hacker
15631 News homepage.")
15632 (license license:gpl3))))
15633
15634 (define-public emacs-youtube-dl
15635 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
15636 (revision "2"))
15637 (package
15638 (name "emacs-youtube-dl")
15639 (version (git-version "1.0" "2" commit))
15640 (source
15641 (origin
15642 (method git-fetch)
15643 (uri (git-reference
15644 (url "https://github.com/skeeto/youtube-dl-emacs/")
15645 (commit commit)))
15646 (file-name (git-file-name name version))
15647 (sha256
15648 (base32
15649 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
15650 (build-system emacs-build-system)
15651 (inputs
15652 `(("youtube-dl" ,youtube-dl)))
15653 (arguments
15654 `(#:phases
15655 (modify-phases %standard-phases
15656 (add-after 'unpack 'configure
15657 (lambda* (#:key inputs #:allow-other-keys)
15658 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
15659 ;; .el is read-only in git.
15660 (chmod "youtube-dl.el" #o644)
15661 ;; Specify the absolute file names of the various
15662 ;; programs so that everything works out-of-the-box.
15663 (emacs-substitute-variables
15664 "youtube-dl.el"
15665 ("youtube-dl-program"
15666 (string-append youtube-dl "/bin/youtube-dl")))))))))
15667 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
15668 (synopsis "Emacs youtube-dl download manager")
15669 (description "This package manages a video download queue for
15670 @command{youtube-dl}, which serves as the back end. It manages a single
15671 @command{youtube-dl} subprocess, downloading one video at a time. New videos
15672 can be queued at any time.")
15673 (license license:unlicense))))
15674
15675 (define-public emacs-org-web-tools
15676 (package
15677 (name "emacs-org-web-tools")
15678 (version "1.0")
15679 (source
15680 (origin
15681 (method git-fetch)
15682 (uri (git-reference
15683 (url "https://github.com/alphapapa/org-web-tools")
15684 (commit version)))
15685 (file-name (git-file-name name version))
15686 (sha256
15687 (base32
15688 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
15689 (build-system emacs-build-system)
15690 (propagated-inputs
15691 `(("emacs-dash" ,emacs-dash)
15692 ("emacs-esxml" ,emacs-esxml)
15693 ("emacs-s" ,emacs-s)))
15694 (inputs
15695 `(("pandoc" ,ghc-pandoc)))
15696 (arguments
15697 `(#:phases
15698 (modify-phases %standard-phases
15699 (add-after 'unpack 'patch-exec-paths
15700 (lambda* (#:key inputs #:allow-other-keys)
15701 (let ((pandoc (assoc-ref inputs "pandoc")))
15702 (substitute* "org-web-tools.el"
15703 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
15704 #t))))))
15705 (home-page "https://github.com/alphapapa/org-web-tools")
15706 (synopsis "Display/Process web page as Org-mode content")
15707 (description "This package contains library functions and commands useful
15708 for retrieving web page content and processing it into Org-mode content.
15709
15710 For example, you can copy a URL to the clipboard or kill-ring, then run a
15711 command that downloads the page, isolates the “readable” content with
15712 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
15713 displays it in an Org-mode buffer. Another command does all of that but
15714 inserts it as an Org entry instead of displaying it in a new buffer.")
15715 (license license:gpl3+)))
15716
15717 (define-public emacs-blimp
15718 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
15719 (package
15720 (name "emacs-blimp")
15721 (version (git-version "0.0.0" "1" commit))
15722 (source
15723 (origin
15724 (method git-fetch)
15725 (uri (git-reference
15726 (url "https://github.com/walseb/blimp")
15727 (commit commit)))
15728 (file-name (git-file-name name version))
15729 (sha256
15730 (base32
15731 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
15732 (build-system emacs-build-system)
15733 (propagated-inputs
15734 `(("emacs-eimp" ,emacs-eimp)))
15735 (home-page "https://github.com/walseb/blimp")
15736 (synopsis "Emacs wrapper around all Imagemagick commands")
15737 (description "Blimp (Bustling Image Manipulation Package) is a complete
15738 wrapper around all Imagemagick commands with descriptions, autocompletion (for
15739 some commands) and hints displayed in prompt using @command{eimp.el} to
15740 execute its commands and resize images.")
15741 (license license:gpl3+))))
15742
15743 (define-public emacs-synosaurus
15744 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
15745 (package
15746 (name "emacs-synosaurus")
15747 (version (git-version "0.1.0" "1" commit))
15748 (source
15749 (origin
15750 (method git-fetch)
15751 (uri (git-reference
15752 (url "https://github.com/hpdeifel/synosaurus")
15753 (commit commit)))
15754 (file-name (git-file-name name version))
15755 (sha256
15756 (base32
15757 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
15758 (build-system emacs-build-system)
15759 (propagated-inputs
15760 `(("wordnet" ,wordnet)))
15761 (arguments
15762 `(#:phases
15763 (modify-phases %standard-phases
15764 (add-after 'unpack 'configure
15765 (lambda* (#:key inputs outputs #:allow-other-keys)
15766 (let ((wn (assoc-ref inputs "wordnet")))
15767 ;; .el is read-only in git.
15768 (chmod "synosaurus-wordnet.el" #o644)
15769 ;; Specify the absolute file names of the various
15770 ;; programs so that everything works out-of-the-box.
15771 (emacs-substitute-variables
15772 "synosaurus-wordnet.el"
15773 ("wordnet-command"
15774 (string-append wn "/bin/wn")))))))))
15775 (home-page "https://github.com/hpdeifel/synosaurus")
15776 (synopsis "Extensible thesaurus mode for Emacs")
15777 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
15778 backends, including the @command{wordnet} offline backend.")
15779 (license license:gpl3+))))
15780
15781 (define-public emacs-editorconfig
15782 (package
15783 (name "emacs-editorconfig")
15784 (version "0.8.0")
15785 (source
15786 (origin
15787 (method git-fetch)
15788 (uri (git-reference
15789 (url "https://github.com/editorconfig/editorconfig-emacs")
15790 (commit (string-append "v" version))))
15791 (file-name (git-file-name name version))
15792 (sha256
15793 (base32
15794 "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
15795 (build-system emacs-build-system)
15796 (home-page "https://github.com/editorconfig/editorconfig-emacs")
15797 (synopsis "Define and maintain consistent coding styles between different
15798 editors and IDEs")
15799 (description "The EditorConfig project consists of a file format for
15800 defining coding styles and a collection of text editor plugins that enable
15801 editors to read the file format and adhere to defined styles. EditorConfig
15802 files are easily readable and they work nicely with version control systems.")
15803 (license license:gpl3+)))
15804
15805 (define-public emacs-all-the-icons
15806 (package
15807 (name "emacs-all-the-icons")
15808 (version "3.2.0")
15809 (source
15810 (origin
15811 (method git-fetch)
15812 (uri (git-reference
15813 (url "https://github.com/domtronn/all-the-icons.el.git")
15814 (commit version)))
15815 (file-name (git-file-name name version))
15816 (sha256
15817 (base32
15818 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
15819 (build-system emacs-build-system)
15820 (arguments
15821 `(#:include '("\\.el$" "^data/" "^fonts/")
15822 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
15823 ;; all-the-icons--root-code". Ignoring tests.
15824 #:exclude '("^test/")
15825 #:tests? #f))
15826 (propagated-inputs
15827 `(("f" ,emacs-f)
15828 ("memoize" ,emacs-memoize)))
15829 (home-page "https://github.com/domtronn/all-the-icons.el")
15830 (synopsis "Collect icon fonts and propertize them within Emacs")
15831 (description "All-the-icons is a utility package to collect various icon
15832 fonts and propertize them within Emacs. Icon fonts allow you to propertize
15833 and format icons the same way you would normal text. This enables things such
15834 as better scaling of and anti aliasing of the icons.")
15835 ;; Package is released under Expat license. Elisp files are licensed
15836 ;; under GPL3+. Fonts come with various licenses: Expat for
15837 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
15838 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
15839 ;; "ocitcons.ttf" and "weathericons.ttf".
15840 (license
15841 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
15842
15843 (define-public emacs-wttrin
15844 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
15845 (revision "1"))
15846 (package
15847 (name "emacs-wttrin")
15848 (version (git-version "0.2.0" revision commit))
15849 (source (origin
15850 (method git-fetch)
15851 (uri (git-reference
15852 (url "https://github.com/bcbcarl/emacs-wttrin.git")
15853 (commit commit)))
15854 (file-name (git-file-name name version))
15855 (sha256
15856 (base32
15857 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
15858 (build-system emacs-build-system)
15859 (propagated-inputs
15860 `(("emacs-xterm-color" ,emacs-xterm-color)))
15861 (home-page "https://github.com/bcbcarl/emacs-wttrin")
15862 (synopsis "Frontend for weather web service @url{wttr.in}")
15863 (description "This package provides local weather information from
15864 @url{wttr.in}.")
15865 (license license:expat))))
15866
15867 (define-public emacs-powerline
15868 (package
15869 (name "emacs-powerline")
15870 (version "2.4")
15871 (source
15872 (origin
15873 (method git-fetch)
15874 (uri (git-reference
15875 (url "https://github.com/milkypostman/powerline.git")
15876 (commit version)))
15877 (file-name (git-file-name name version))
15878 (sha256
15879 (base32
15880 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
15881 (build-system emacs-build-system)
15882 (home-page "https://github.com/milkypostman/powerline/")
15883 (synopsis "Mode-line plugin for Emacs")
15884 (description "Powerline is a utility plugin which allows you to create
15885 a better-looking, more functional Emacs mode-line. A collection of predefined
15886 themes comes with the package.")
15887 (license license:gpl3+)))
15888
15889 (define-public emacs-spaceline
15890 (package
15891 (name "emacs-spaceline")
15892 (version "2.0.1")
15893 (source
15894 (origin
15895 (method git-fetch)
15896 (uri (git-reference
15897 (url "https://github.com/TheBB/spaceline.git")
15898 (commit (string-append "v" version))))
15899 (file-name (git-file-name name version))
15900 (sha256
15901 (base32
15902 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
15903 (build-system emacs-build-system)
15904 (propagated-inputs
15905 `(("dash" ,emacs-dash)
15906 ("powerline" ,emacs-powerline)
15907 ("s" ,emacs-s)))
15908 (home-page "https://github.com/TheBB/spaceline")
15909 (synopsis "Powerline theme from Spacemacs")
15910 (description "Spaceline provides Spacemacs' mode-line theme.
15911 This package provides features for three kinds of users.
15912
15913 @itemize
15914 @item You just want to use the Spacemacs mode-line theme and forget about it.
15915 @item You want to use something similar to the Spacemacs mode-line theme, but
15916 with a handful of easy tweaks.
15917 @item You want an easy-to-use library for building your own mode-line from
15918 scratch, and you think the Spacemacs theme looks good.
15919 @end itemize")
15920 (license license:gpl3+)))
15921
15922 (define-public emacs-column-marker
15923 (package
15924 (name "emacs-column-marker")
15925 (version "9")
15926 (source
15927 (origin
15928 (method url-fetch)
15929 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
15930 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
15931 (build-system emacs-build-system)
15932 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
15933 (synopsis "Emacs mode for highlighting columns")
15934 (description
15935 "With @code{column-marker.el} you can highlight any number of text columns.
15936 Three such highlight column markers are provided by default. This is
15937 especially useful for languages like COBOL or Fortran where certain columns
15938 have special meaning. It is also handy for aligning text across long vertical
15939 distances. Multi-column characters, such as @kbd{TAB} are treated
15940 correctly.")
15941 (license license:gpl2+)))
15942
15943 (define-public emacs-slime-repl-ansi-color
15944 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
15945 (package
15946 (name "emacs-slime-repl-ansi-color")
15947 (version (git-version "0.0.0" "1" commit))
15948 (source (origin
15949 (method git-fetch)
15950 (uri (git-reference
15951 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
15952 (commit commit)))
15953 (file-name (git-file-name name version))
15954 (sha256
15955 (base32
15956 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
15957 (build-system emacs-build-system)
15958 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
15959 (synopsis "Color ANSI codes in the REPL of SLIME")
15960 (description "Color ANSI codes in the REPL of SLIME")
15961 (license license:gpl2+))))
15962
15963 (define-public emacs-helm-slime
15964 (package
15965 (name "emacs-helm-slime")
15966 (version "0.4.0")
15967 (source (origin
15968 (method git-fetch)
15969 (uri (git-reference
15970 (url "https://github.com/emacs-helm/helm-slime")
15971 (commit version)))
15972 (file-name (git-file-name name version))
15973 (sha256
15974 (base32
15975 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
15976 (build-system emacs-build-system)
15977 (propagated-inputs
15978 `(("emacs-helm" ,emacs-helm)
15979 ("emacs-slime" ,emacs-slime)))
15980 (home-page "https://github.com/emacs-helm/helm-slime")
15981 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
15982 (description "Helm-SLIME defines a few new commands:
15983
15984 @itemize
15985 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
15986 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
15987 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
15988 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
15989 @end itemize\n")
15990 (license license:gpl3+)))
15991
15992 (define-public emacs-gtk-look
15993 (package
15994 (name "emacs-gtk-look")
15995 (version "29")
15996 (source (origin
15997 (method url-fetch)
15998 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
15999 (sha256
16000 (base32
16001 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
16002 (build-system emacs-build-system)
16003 (arguments
16004 `(#:phases
16005 (modify-phases %standard-phases
16006 (add-after 'unpack 'configure
16007 (lambda _
16008 ;; File is read-only.
16009 (chmod "gtk-look.el" #o644)
16010 (emacs-substitute-variables "gtk-look.el"
16011 ("gtk-lookup-devhelp-indices"
16012 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
16013 #t)))))
16014 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
16015 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
16016 (description "@command{gtk-look} finds and displays HTML documentation for
16017 GTK, GNOME and Glib functions and variables in Emacs, similar to what
16018 info-lookup-symbol does for info files (C-h S). The documentation is expected
16019 to be devhelp indexes with HTML files. The location of the indexes can be
16020 customized. In addition to C code development @command{gtk-look} is good for
16021
16022 @itemize
16023 @item @command{perl-gtk2}, recognising class funcs like
16024 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
16025 @item @command{guile-gnome}, recognising methods like @command{set-text} and
16026 classes like @command{<gtk-window>}.
16027 @end itemize\n")
16028 (license license:gpl3+)))
16029
16030 (define-public emacs-ov
16031 (package
16032 (name "emacs-ov")
16033 (version "1.0.6")
16034 (source (origin
16035 (method git-fetch)
16036 (uri (git-reference
16037 (url "https://github.com/ShingoFukuyama/ov.el.git")
16038 (commit version)))
16039 (file-name (git-file-name name version))
16040 (sha256
16041 (base32
16042 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
16043 (build-system emacs-build-system)
16044 (home-page "https://github.com/ShingoFukuyama/ov.el")
16045 (synopsis "Overlay library for Emacs Lisp")
16046 (description "@code{ov.el} provides a simple way to manipulate overlays in
16047 Emacs.")
16048 (license license:gpl3+)))
16049
16050 (define-public emacs-matrix-client
16051 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
16052 (package
16053 (name "emacs-matrix-client")
16054 (version (git-version "0.0.0" "4" commit))
16055 (source (origin
16056 (method git-fetch)
16057 (uri (git-reference
16058 (url "https://github.com/jgkamat/matrix-client-el.git")
16059 (commit commit)))
16060 (file-name (git-file-name name version))
16061 (sha256
16062 (base32
16063 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
16064 (build-system emacs-build-system)
16065 (arguments
16066 `(#:phases
16067 (modify-phases %standard-phases
16068 (add-after 'unpack 'add-missing-require
16069 ;; Fix a filter error at runtime due to a missing require.
16070 ;; Reported upstream:
16071 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
16072 (lambda _
16073 (substitute* "matrix-client-room.el"
16074 (("\\(require 'dash-functional\\)" all)
16075 (string-append all "\n" "(require 'anaphora)")))
16076 #t)))))
16077 (propagated-inputs
16078 `(("a" ,emacs-a)
16079 ("anaphora" ,emacs-anaphora)
16080 ("dash" ,emacs-dash)
16081 ("esxml" ,emacs-esxml)
16082 ("f" ,emacs-f)
16083 ("frame-purpose" ,emacs-frame-purpose)
16084 ("ht" ,emacs-ht)
16085 ("ov" ,emacs-ov)
16086 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
16087 ("request" ,emacs-request)
16088 ("s" ,emacs-s)
16089 ("tracking" ,emacs-tracking)))
16090 (home-page "https://github.com/jgkamat/matrix-client-el")
16091 (synopsis "Matrix client for Emacs")
16092 (description "@code{matrix-client} is a simple chat UI to Matrix.org
16093 rooms. It also provides an API which allows Emacs to seamlessly create
16094 RPC channels with users and other software.")
16095 (license license:gpl3+))))
16096
16097 (define-public emacs-sesman
16098 (package
16099 (name "emacs-sesman")
16100 (version "0.3.4")
16101 (source
16102 (origin
16103 (method git-fetch)
16104 (uri (git-reference
16105 (url "https://github.com/vspinu/sesman.git")
16106 (commit (string-append "v" version))))
16107 (file-name (git-file-name name version))
16108 (sha256
16109 (base32
16110 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
16111 (build-system emacs-build-system)
16112 (arguments
16113 `(#:phases
16114 (modify-phases %standard-phases
16115 (add-after 'unpack 'set-shell
16116 ;; Setting the SHELL environment variable is required for the tests
16117 ;; to find sh.
16118 (lambda _
16119 (setenv "SHELL" (which "sh"))
16120 #t)))
16121 #:tests? #t
16122 #:test-command '("make" "test")))
16123 (home-page "https://github.com/vspinu/sesman")
16124 (synopsis "Session manager for Emacs based IDEs")
16125 (description "Sesman provides facilities for session management and
16126 interactive session association with the current contexts (project, directory,
16127 buffers). While sesman can be used to manage arbitrary sessions, it primary
16128 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
16129 (license license:gpl3+)))
16130
16131 (define-public emacs-buttercup
16132 (package
16133 (name "emacs-buttercup")
16134 (version "1.16")
16135 (source
16136 (origin
16137 (method git-fetch)
16138 (uri (git-reference
16139 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
16140 (commit (string-append "v" version))))
16141 (file-name (git-file-name name version))
16142 (sha256
16143 (base32
16144 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
16145 (build-system emacs-build-system)
16146 (arguments
16147 `(#:tests? #t
16148 #:test-command '("make" "test")
16149 #:phases
16150 (modify-phases %standard-phases
16151 (add-after 'install 'install-bin
16152 (lambda* (#:key outputs #:allow-other-keys)
16153 (install-file "bin/buttercup"
16154 (string-append (assoc-ref outputs "out") "/bin"))
16155 #t)))))
16156 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
16157 (synopsis "Behavior driven emacs lisp testing framework")
16158 (description "Buttercup is a behavior-driven development framework for
16159 testing Emacs Lisp code. It allows to group related tests so they can share
16160 common set-up and tear-down code, and allows the programmer to \"spy\" on
16161 functions to ensure they are called with the right arguments during testing.")
16162 (license license:gpl3+)))
16163
16164 (define-public emacs-wordnut
16165 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
16166 (revision "0"))
16167 (package
16168 (name "emacs-wordnut")
16169 (version (git-version "0.1" revision commit))
16170 (home-page "https://github.com/gromnitsky/wordnut")
16171 (source (origin
16172 (method git-fetch)
16173 (uri (git-reference (url home-page) (commit commit)))
16174 (sha256
16175 (base32
16176 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
16177 (patches
16178 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
16179 (file-name (git-file-name name version))))
16180 (build-system emacs-build-system)
16181 (propagated-inputs
16182 `(("wordnet" ,wordnet)
16183 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
16184 (synopsis "Major mode for WordNet")
16185 (description "This Emacs package provides an interface for
16186 @code{wordnet}. Features include completion, if the query is not found
16187 too ambiguous and navigation in the result buffer.")
16188 (license license:gpl3+))))
16189
16190 (define-public emacs-frame-purpose
16191 (package
16192 (name "emacs-frame-purpose")
16193 (version "1.0")
16194 (source (origin
16195 (method git-fetch)
16196 (uri (git-reference
16197 (url "https://github.com/alphapapa/frame-purpose.el.git")
16198 (commit version)))
16199 (sha256
16200 (base32
16201 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
16202 (file-name (git-file-name name version))))
16203 (build-system emacs-build-system)
16204 (inputs
16205 `(("dash" ,emacs-dash)))
16206 (synopsis "Purpose-specific frames for Emacs")
16207 (description "@code{frame-purpose} makes it easy to open purpose-specific
16208 frames that only show certain buffers, e.g. by buffers’ major mode, their
16209 filename or directory, etc, with custom frame/X-window titles, icons, and
16210 other frame parameters.")
16211 (home-page "https://github.com/alphapapa/frame-purpose.el")
16212 (license license:gpl3+)))
16213
16214 (define-public emacs-arduino-mode
16215 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
16216 (package
16217 (name "emacs-arduino-mode")
16218 (version (git-version "0" "0" commit))
16219 (source (origin
16220 (method git-fetch)
16221 (uri (git-reference
16222 (url "https://github.com/bookest/arduino-mode.git")
16223 (commit commit)))
16224 (sha256
16225 (base32
16226 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
16227 (file-name (git-file-name name version))))
16228 (build-system emacs-build-system)
16229 (synopsis "Emacs major mode for editing Arduino sketches")
16230 (description "Emacs major mode for editing Arduino sketches.")
16231 (home-page "https://github.com/bookest/arduino-mode")
16232 (license license:gpl3+))))
16233
16234 (define-public emacs-annalist
16235 (let ((commit "e0601539c9ac0171a684ea3ff6266d215d1d08e6")
16236 (revision "1"))
16237 (package
16238 (name "emacs-annalist")
16239 (version (git-version "1.0.0" revision commit))
16240 (source (origin
16241 (method git-fetch)
16242 (uri (git-reference
16243 (url "https://github.com/noctuid/annalist.el.git")
16244 (commit commit)))
16245 (sha256
16246 (base32
16247 "10bmimdzpi6cql4sb2hbgdvrza83xbac50bi9qng4z662pfnlaam"))
16248 (file-name (git-file-name name version))))
16249 (build-system emacs-build-system)
16250 (native-inputs
16251 `(("emacs-buttercup" ,emacs-buttercup)
16252 ("emacs-lispy" ,emacs-lispy)
16253 ("emacs-evil" ,emacs-evil)))
16254 (arguments
16255 `(#:phases
16256 (modify-phases %standard-phases
16257 (add-before 'check 'fix-makefile
16258 (lambda _
16259 (substitute* "Makefile"
16260 (("cask exec ") ""))
16261 #t)))
16262 #:tests? #t
16263 #:test-command '("make" "test")))
16264 (home-page "https://github.com/noctuid/annalist.el")
16265 (synopsis "Record and display information with Org headings and tables")
16266 (description "This package allows for keybindings, settings, hooks, and
16267 advice to be recorded and displayed.")
16268 (license license:gpl3+))))
16269
16270 (define-public emacs-general
16271 (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e")
16272 (revision "3"))
16273 (package
16274 (name "emacs-general")
16275 (version (git-version "0" revision commit))
16276 (source (origin
16277 (method git-fetch)
16278 (uri (git-reference
16279 (url "https://github.com/noctuid/general.el.git")
16280 (commit commit)))
16281 (sha256
16282 (base32
16283 "1aqi5axkwfng6rm52sblf738c7rffp10sqs69dvkh2fv3ps8q28i"))
16284 (file-name (git-file-name name version))))
16285 (build-system emacs-build-system)
16286 (native-inputs
16287 `(("emacs-buttercup" ,emacs-buttercup)
16288 ("emacs-evil" ,emacs-evil)
16289 ("emacs-which-key" ,emacs-which-key)
16290 ("emacs-use-package" ,emacs-use-package)))
16291 (arguments
16292 `(#:phases
16293 (modify-phases %standard-phases
16294 (add-before 'check 'fix-makefile
16295 (lambda _
16296 (substitute* "Makefile"
16297 (("cask exec ") ""))
16298 #t)))
16299 #:tests? #t
16300 #:test-command '("make" "test")))
16301 (home-page "https://github.com/noctuid/general.el")
16302 (synopsis "More convenient key definitions in emacs")
16303 (description "@code{general.el} provides a more convenient method for
16304 binding keys in emacs (for both evil and non-evil users). Like
16305 @code{use-package}, which provides a convenient, unified interface for
16306 managing packages, @code{general.el} is intended to provide a convenient,
16307 unified interface for key definitions. While this package does implement some
16308 completely new functionality (such as the ability to make vim-style
16309 keybindings under non-prefix keys with an optional timeout), its primary
16310 purpose is to build on existing functionality to make key definition more
16311 clear and concise. @code{general-define-key} is user-extensible and supports
16312 defining multiple keys in multiple keymaps at once, implicitly wrapping key
16313 strings with (@code{kbd ...}), using named prefix key sequences (like the
16314 leader key in vim), and much more.")
16315 (license license:gpl3+))))
16316
16317 (define-public emacs-tldr
16318 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
16319 (package
16320 (name "emacs-tldr")
16321 (version (git-version "0" "0" commit))
16322 (home-page "https://github.com/kuanyui/tldr.el")
16323 (source (origin
16324 (method git-fetch)
16325 (uri (git-reference
16326 (url (string-append home-page ".git"))
16327 (commit commit)))
16328 (sha256
16329 (base32
16330 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
16331 (file-name (git-file-name name version))))
16332 (build-system emacs-build-system)
16333 (synopsis "Simplified and community-driven man pages for Emacs")
16334 (description "@code{emacs-tldr} allows the user to access tldr pages
16335 from within emacs. The @code{tldr} pages are a community effort to simplify
16336 the man pages with practical examples.")
16337 (license license:wtfpl2))))
16338
16339 (define-public emacs-window-layout
16340 (package
16341 (name "emacs-window-layout")
16342 (version "1.4")
16343 (home-page "https://github.com/kiwanami/emacs-window-layout")
16344 (source (origin
16345 (method git-fetch)
16346 (uri (git-reference
16347 (url home-page)
16348 (commit (string-append "v" version))))
16349 (sha256
16350 (base32
16351 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
16352 (file-name (git-file-name name version))))
16353 (build-system emacs-build-system)
16354 (synopsis "Simple window layout management framework for emacs")
16355 (description "A window-layout management library that can split a frame
16356 or a window into some windows according to a layout recipe.")
16357 (license license:gpl3+)))
16358
16359 (define-public emacs-e2wm
16360 (package
16361 (name "emacs-e2wm")
16362 (version "1.4")
16363 (home-page "https://github.com/kiwanami/emacs-window-manager")
16364 (source (origin
16365 (method git-fetch)
16366 (uri (git-reference
16367 (url home-page)
16368 (commit (string-append "v" version))))
16369 (sha256
16370 (base32
16371 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
16372 (file-name (git-file-name name version))))
16373 (build-system emacs-build-system)
16374 (propagated-inputs
16375 `(("emacs-window-layout" ,emacs-window-layout)))
16376 (synopsis "Equilibrium Emacs Window Manager")
16377 (description "E2WM is a window manager for Emacs. It enables to
16378 customize the place of pop-up window, how the windows are split, how the
16379 buffers are located in the windows, keybinds to manipulate windows and
16380 buffers, etc. It also has plug-ins to help your Emacs life.")
16381 (license license:gpl3+)))
16382
16383 (define-public emacs-ctable
16384 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
16385 (package
16386 (name "emacs-ctable")
16387 (version (git-version "0.1.2" "1" commit))
16388 (home-page "https://github.com/kiwanami/emacs-ctable")
16389 (source (origin
16390 (method git-fetch)
16391 (uri (git-reference
16392 (url home-page)
16393 (commit commit)))
16394 (sha256
16395 (base32
16396 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
16397 (file-name (git-file-name name version))))
16398 (build-system emacs-build-system)
16399 (synopsis "Table component for Emacs Lisp")
16400 (description "This program is a table component for Emacs Lisp. Other
16401 programs can use this table component for the application UI.")
16402 (license license:gpl3+))))
16403
16404 (define-public emacs-leetcode
16405 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
16406 (revision "1"))
16407 (package
16408 (name "emacs-leetcode")
16409 (version (git-version "0" "1" commit))
16410 (home-page "https://github.com/ginqi7/leetcode-emacs.git")
16411 (source (origin
16412 (method git-fetch)
16413 (uri (git-reference
16414 (url "https://github.com/ginqi7/leetcode-emacs")
16415 (commit commit)))
16416 (sha256
16417 (base32
16418 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
16419 (file-name (git-file-name name version))))
16420 (build-system emacs-build-system)
16421 (propagated-inputs
16422 `(("emacs-names" ,emacs-names)
16423 ("emacs-ctable" ,emacs-ctable)))
16424 (synopsis "Solve and submit LeetCode problems from within Emacs")
16425 (description "This package provides an Emacs interface to LeetCode
16426 allowing users to log in and solve problems of their choice using Emacs.")
16427 (license license:unlicense))))
16428
16429 (define-public emacs-epc
16430 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
16431 (package
16432 (name "emacs-epc")
16433 (version (git-version "0.1.1" "1" commit))
16434 (home-page "https://github.com/kiwanami/emacs-epc")
16435 (source (origin
16436 (method git-fetch)
16437 (uri (git-reference
16438 (url home-page)
16439 (commit commit)))
16440 (sha256
16441 (base32
16442 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
16443 (file-name (git-file-name name version))))
16444 (build-system emacs-build-system)
16445 (propagated-inputs
16446 `(("emacs-deferred" ,emacs-deferred)
16447 ("emacs-ctable" ,emacs-ctable)))
16448 (synopsis "RPC stack for Emacs Lisp")
16449 (description "This program is an asynchronous RPC stack for Emacs.
16450 Using this RPC stack, Emacs can communicate with the peer process
16451 smoothly. Because the protocol employs S-expression encoding and consists of
16452 asynchronous communications, the RPC response is fairly good.")
16453 (license license:gpl3+))))
16454
16455 (define-public emacs-edbi
16456 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
16457 (package
16458 (name "emacs-edbi")
16459 (version (git-version "0.1.3" "1" commit))
16460 (home-page "https://github.com/kiwanami/emacs-edbi")
16461 (source (origin
16462 (method git-fetch)
16463 (uri (git-reference
16464 (url home-page)
16465 (commit commit)))
16466 (sha256
16467 (base32
16468 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
16469 (file-name (git-file-name name version))))
16470 (build-system emacs-build-system)
16471 (inputs
16472 `(("perl" ,perl)
16473 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
16474 ("perl-dbi" ,perl-dbi)
16475 ;; TODO: Adding support for perl-dbd-mysql and others would
16476 ;; dramatically increase the closure size. Make several packages?
16477 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
16478 (propagated-inputs
16479 `(("emacs-e2wm" ,emacs-e2wm)
16480 ("emacs-epc" ,emacs-epc)))
16481 (arguments
16482 `(#:include '("\\.el$" "\\.pl$")
16483 #:phases
16484 (modify-phases %standard-phases
16485 (add-after 'install 'patch-path
16486 (lambda* (#:key inputs outputs #:allow-other-keys)
16487 (let ((perl (assoc-ref inputs "perl"))
16488 (dir (string-append (assoc-ref outputs "out")
16489 "/share/emacs/site-lisp/guix.d/edbi-"
16490 ,version)))
16491 (substitute* (string-append dir "/edbi.el")
16492 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
16493 (chmod (string-append dir "/edbi-bridge.pl") #o555)
16494 (wrap-program (string-append dir "/edbi-bridge.pl")
16495 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
16496 #t))))))
16497 (synopsis "Database Interface for Emacs Lisp")
16498 (description "This program connects the database server through Perl's
16499 DBI, and provides DB-accessing API and the simple management UI.")
16500 (license license:gpl3+))))
16501
16502 (define-public emacs-edbi-sqlite
16503 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
16504 (package
16505 (name "emacs-edbi-sqlite")
16506 (version (git-version "0.1.1" "1" commit))
16507 (home-page "https://github.com/proofit404/edbi-sqlite")
16508 (source (origin
16509 (method git-fetch)
16510 (uri (git-reference
16511 (url home-page)
16512 (commit commit)))
16513 (sha256
16514 (base32
16515 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
16516 (file-name (git-file-name name version))))
16517 (build-system emacs-build-system)
16518 (propagated-inputs
16519 `(("emacs-edbi" ,emacs-edbi)))
16520 (synopsis "Open SQLite files in Emacs")
16521 (description "This package is a convenience wrapper for @command{edbi}
16522 to open SQLite databases.")
16523 (license license:gpl3+))))
16524
16525 (define-public emacs-nix-mode
16526 (package
16527 (name "emacs-nix-mode")
16528 (version "1.4.1")
16529 (source
16530 (origin
16531 (method git-fetch)
16532 (uri (git-reference
16533 (url "https://github.com/NixOS/nix-mode.git")
16534 (commit (string-append "v" version))))
16535 (file-name (git-file-name name version))
16536 (sha256
16537 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
16538 (build-system emacs-build-system)
16539 (inputs
16540 `(("emacs-company" ,emacs-company)
16541 ("emacs-json-mode" ,emacs-json-mode)
16542 ("emacs-mmm-mode" ,emacs-mmm-mode)))
16543 (home-page "https://github.com/NixOS/nix-mode")
16544 (synopsis "Emacs major mode for editing Nix expressions")
16545 (description "@code{nixos-mode} provides an Emacs major mode for editing
16546 Nix expressions. It supports syntax highlighting, indenting and refilling of
16547 comments.")
16548 (license license:lgpl2.1+)))
16549
16550 (define-public emacs-simple-mpc
16551 ;; There have been no releases.
16552 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
16553 (revision "1"))
16554 (package
16555 (name "emacs-simple-mpc")
16556 (version (git-version "0" revision commit))
16557 (source
16558 (origin
16559 (method git-fetch)
16560 (uri (git-reference
16561 (url "https://github.com/jorenvo/simple-mpc.git")
16562 (commit commit)))
16563 (file-name (git-file-name name version))
16564 (sha256
16565 (base32
16566 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
16567 (build-system emacs-build-system)
16568 (propagated-inputs `(("emacs-s" ,emacs-s)))
16569 (home-page "https://github.com/jorenvo/simple-mpc")
16570 (synopsis "Simple Emacs frontend to mpc")
16571 (description "This package provides an Emacs major mode which acts as a
16572 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
16573 (license license:gpl3+))))
16574
16575 (define-public emacs-mkmcc-gnuplot-mode
16576 (package
16577 (name "emacs-mkmcc-gnuplot-mode")
16578 (version "1.2.0")
16579 (source
16580 (origin
16581 (method git-fetch)
16582 (uri (git-reference
16583 (url "https://github.com/mkmcc/gnuplot-mode")
16584 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
16585 (file-name (git-file-name name version))
16586 (sha256
16587 (base32
16588 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
16589 (build-system emacs-build-system)
16590 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
16591 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
16592 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
16593 mode for editing gnuplot scripts. It provides syntax highlighting,
16594 indentation and a command to plot the file.")
16595 (license license:gpl3+)))
16596
16597 (define-public emacs-cmake-font-lock
16598 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
16599 (revision "1"))
16600 (package
16601 (name "emacs-cmake-font-lock")
16602 (version (git-version "0.1.5" revision commit))
16603 (source (origin
16604 (method git-fetch)
16605 (uri (git-reference
16606 (url "https://github.com/Lindydancer/cmake-font-lock.git")
16607 (commit commit)))
16608 (file-name (git-file-name name version))
16609 (sha256
16610 (base32
16611 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
16612 (build-system emacs-build-system)
16613 (native-inputs
16614 `(("emacs-faceup" ,emacs-faceup)))
16615 (arguments
16616 `(#:include (cons "^admin\\/" %default-include)))
16617 (home-page "https://github.com/Lindydancer/cmake-font-lock")
16618 (synopsis "Advanced type-aware syntax-highlighting for CMake")
16619 (description "This package highlights function arguments in CMake
16620 according to their use.")
16621 (license license:gpl3+))))
16622
16623 (define-public emacs-dtrt-indent
16624 (package
16625 (name "emacs-dtrt-indent")
16626 (version "0.8")
16627 (source (origin
16628 (method git-fetch)
16629 (uri (git-reference
16630 (url "https://github.com/jscheid/dtrt-indent")
16631 (commit version)))
16632 (file-name (git-file-name name version))
16633 (sha256
16634 (base32
16635 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
16636 (build-system emacs-build-system)
16637 (home-page "https://github.com/jscheid/dtrt-indent")
16638 (synopsis "Minor mode that guesses the indentation offset")
16639 (description "This package provides a minor mode that guesses the
16640 indentation offset originally used for creating source code files and
16641 transparently adjusts the corresponding settings in Emacs, making it more
16642 convenient to edit foreign files.")
16643 (license license:gpl2+)))
16644
16645 (define-public emacs-repo
16646 (package
16647 (name "emacs-repo")
16648 (version "0.1.3")
16649 (source (origin
16650 (method git-fetch)
16651 (uri (git-reference
16652 (url "https://github.com/canatella/repo-el")
16653 (commit version)))
16654 (file-name (git-file-name name version))
16655 (sha256
16656 (base32
16657 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
16658 (build-system emacs-build-system)
16659 (native-inputs
16660 `(("emacs-el-mock" ,emacs-el-mock)
16661 ("ert-runner" ,emacs-ert-runner)))
16662 (propagated-inputs
16663 `(("emacs-f" ,emacs-f)
16664 ("magit" ,emacs-magit)))
16665 (home-page "https://github.com/canatella/repo-el")
16666 (synopsis "Emacs interface for the Google Repo tool")
16667 (description "This package provides integration of the Google Repo tool
16668 with emacs. It displays the output of the @code{repo status} command in a
16669 buffer and launches Magit from the status buffer for the project at point.")
16670 (license license:gpl3+)))
16671
16672 (define-public emacs-alect-themes
16673 (package
16674 (name "emacs-alect-themes")
16675 (version "0.9")
16676 (source (origin
16677 (method git-fetch)
16678 (uri (git-reference
16679 (url "https://github.com/alezost/alect-themes")
16680 (commit (string-append "v" version))))
16681 (file-name (git-file-name name version))
16682 (sha256
16683 (base32
16684 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
16685 (build-system emacs-build-system)
16686 (home-page "https://github.com/alezost/alect-themes")
16687 (synopsis "Low contrast, light, dark and black color theme for Emacs")
16688 (description "@code{emacs-alect-themes} provides configurable light, dark
16689 and black color themes for Emacs. The themes are intended to be used with
16690 GUI.")
16691 (license license:gpl3+)))
16692
16693 (define-public emacs-google-c-style
16694 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
16695 (revision "0"))
16696 (package
16697 (name "emacs-google-c-style")
16698 (version (git-version "0.1" revision commit))
16699 (source (origin
16700 (method git-fetch)
16701 (uri (git-reference
16702 (url "https://github.com/google/styleguide")
16703 (commit commit)))
16704 (file-name (git-file-name name version))
16705 (sha256
16706 (base32
16707 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
16708 (build-system emacs-build-system)
16709 (home-page "https://github.com/google/styleguide")
16710 (synopsis "Emacs settings file for Google C/C++ style")
16711 (description "@code{emacs-google-c-style} provides an Emacs settings
16712 file for Google C and C++ style.")
16713 (license license:gpl1+))))
16714
16715 (define-public emacs-redshank
16716 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
16717 (revision "1"))
16718 (package
16719 (name "emacs-redshank")
16720 (version (git-version "0.1" revision commit))
16721 (source (origin
16722 (method git-fetch)
16723 (uri (git-reference
16724 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
16725 (commit commit)))
16726 (file-name (git-file-name name version))
16727 (sha256
16728 (base32
16729 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
16730 (build-system emacs-build-system)
16731 (propagated-inputs
16732 `(("emacs-paredit" ,emacs-paredit)))
16733 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
16734 (synopsis "Common Lisp Editing Extensions (for Emacs)")
16735 (description "Redshank is a collection of code-wrangling Emacs macros
16736 mostly geared towards Common Lisp, but some are useful for other Lisp
16737 dialects, too. Redshank's code transformations aim to be expression-based (as
16738 opposed to character-based).")
16739 (license license:gpl1+))))
16740
16741 (define-public emacs-disk-usage
16742 (package
16743 (name "emacs-disk-usage")
16744 (version "1.3.3")
16745 (source
16746 (origin
16747 (method git-fetch)
16748 (uri (git-reference
16749 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
16750 (commit version)))
16751 (file-name (git-file-name name version))
16752 (sha256
16753 (base32
16754 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
16755 (build-system emacs-build-system)
16756 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
16757 (synopsis "Sort and browse disk usage listings with Emacs")
16758 (description "Disk Usage is a file system analyzer: it offers a tabulated
16759 view of file listings sorted by size. Directory sizes are computed
16760 recursively. The results are cached for speed.")
16761 (license license:gpl3+)))
16762
16763 (define-public emacs-orgit
16764 (package
16765 (name "emacs-orgit")
16766 (version "1.5.3")
16767 (home-page "https://github.com/magit/orgit")
16768 (source (origin
16769 (method git-fetch)
16770 (uri (git-reference
16771 (url home-page)
16772 (commit (string-append "v" version))))
16773 (file-name (git-file-name name version))
16774 (sha256
16775 (base32
16776 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
16777 (build-system emacs-build-system)
16778 (propagated-inputs
16779 `(("emacs-dash" ,emacs-dash)
16780 ("emacs-magit" ,emacs-magit)))
16781 (synopsis "Support for Org links to Magit buffers")
16782 (description "This package defines several Org link types, which can be
16783 used to link to certain Magit buffers. Use the command
16784 @command{org-store-link} while such a buffer is current to store a link.
16785 Later you can insert it into an Org buffer using the command
16786 @code{org-insert-link}.")
16787 (license license:gpl3+)))
16788
16789 (define-public emacs-amx
16790 (package
16791 (name "emacs-amx")
16792 (version "3.2")
16793 (source (origin
16794 (method git-fetch)
16795 (uri (git-reference
16796 (url "https://github.com/DarwinAwardWinner/amx")
16797 (commit (string-append "v" version))))
16798 (file-name (git-file-name name version))
16799 (sha256
16800 (base32
16801 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
16802 (build-system emacs-build-system)
16803 (propagated-inputs `(("emacs-s" ,emacs-s)))
16804 (home-page "https://github.com/DarwinAwardWinner/amx")
16805 (synopsis "Alternative interface for M-x")
16806 (description "Amx is an alternative interface for M-x in Emacs. It
16807 provides several enhancements over the ordinary
16808 @code{execute-extended-command}, such as prioritizing your most-used commands
16809 in the completion list and showing keyboard shortcuts, and it supports several
16810 completion systems for selecting commands, such as ido and ivy.")
16811 (license license:gpl3+)))
16812
16813 (define-public emacs-lorem-ipsum
16814 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
16815 (package
16816 (name "emacs-lorem-ipsum")
16817 (version (git-version "0.2" "1" commit))
16818 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
16819 (source (origin
16820 (method git-fetch)
16821 (uri (git-reference
16822 (url home-page)
16823 (commit commit)))
16824 (file-name (git-file-name name version))
16825 (sha256
16826 (base32
16827 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
16828 (build-system emacs-build-system)
16829 (synopsis "Insert dummy pseudo Latin text in Emacs")
16830 (description "This package provides convenience functions to insert
16831 dummy Latin text into a buffer. This can be useful if you need to produce
16832 paragraphs or pages of text for testing purposes.")
16833 (license license:gpl3+))))
16834
16835 (define-public emacs-lisp-extra-font-lock
16836 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
16837 (package
16838 (name "emacs-lisp-extra-font-lock")
16839 (version (git-version "0.0.6" "1" commit))
16840 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
16841 (source (origin
16842 (method git-fetch)
16843 (uri (git-reference
16844 (url home-page)
16845 (commit commit)))
16846 (file-name (git-file-name name version))
16847 (sha256
16848 (base32
16849 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
16850 (build-system emacs-build-system)
16851 (synopsis "Highlight bound variables and quoted expressions in Emacs")
16852 (description "This package highlight the location where local variables
16853 is created (bound, for example, by let) as well as quoted and backquoted
16854 constant expressions.")
16855 (license license:gpl3+))))
16856
16857 (define-public emacs-docker-tramp
16858 (package
16859 (name "emacs-docker-tramp")
16860 (version "0.1")
16861 (source
16862 (origin
16863 (method git-fetch)
16864 (uri (git-reference
16865 (url "https://github.com/emacs-pe/docker-tramp.el")
16866 (commit (string-append "v" version))))
16867 (file-name (git-file-name name version))
16868 (sha256
16869 (base32
16870 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
16871 (build-system emacs-build-system)
16872 (home-page "https://github.com/emacs-pe/docker-tramp.el")
16873 (synopsis "TRAMP integration for docker containers")
16874 (description
16875 "This package provides a TRAMP method for Docker containers.")
16876 (license license:gpl3+)))
16877
16878 (define-public emacs-docker
16879 (package
16880 (name "emacs-docker")
16881 (version "1.3.0")
16882 (source (origin
16883 (method git-fetch)
16884 (uri (git-reference
16885 (url "https://github.com/Silex/docker.el")
16886 (commit version)))
16887 (file-name (git-file-name name version))
16888 (sha256
16889 (base32
16890 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
16891 (inputs
16892 `(("emacs-undercover" ,emacs-undercover)))
16893 (propagated-inputs
16894 `(("emacs-dash" ,emacs-dash)
16895 ("emacs-docker-tramp" ,emacs-docker-tramp)
16896 ("emacs-magit-popup" ,emacs-magit-popup)
16897 ("emacs-s" ,emacs-s)
16898 ("emacs-tablist" ,emacs-tablist)
16899 ("emacs-json-mode" ,emacs-json-mode)))
16900 (arguments
16901 `(#:phases
16902 (modify-phases %standard-phases
16903 (delete 'check)))) ;no tests
16904 (build-system emacs-build-system)
16905 (home-page "https://github.com/Silex/docker.el")
16906 (synopsis "Manage docker from Emacs")
16907 (description "This package provides an Emacs interface for Docker.")
16908 (license license:gpl3+)))
16909
16910 (define-public emacs-dockerfile-mode
16911 ;; Latest upstream release is too old.
16912 (let ((commit "ed73e82dcc636dad00d1a8c3b32a49136d25ee60"))
16913 (package
16914 (name "emacs-dockerfile-mode")
16915 (version (git-version "1.2" "2" commit))
16916 (source
16917 (origin
16918 (method git-fetch)
16919 (uri (git-reference
16920 (url "https://github.com/spotify/dockerfile-mode.git")
16921 (commit commit)))
16922 (file-name (git-file-name name version))
16923 (sha256
16924 (base32
16925 "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"))))
16926 (build-system emacs-build-system)
16927 (propagated-inputs
16928 `(("emacs-s" ,emacs-s)))
16929 (home-page "https://github.com/spotify/dockerfile-mode")
16930 (synopsis "Major mode for editing Dockerfile")
16931 (description
16932 "This package provides a major mode @code{dockerfile-mode} for use with
16933 the standard @code{Dockerfile} file format.")
16934 (license license:asl2.0))))
16935
16936 (define-public emacs-lsp-mode
16937 (package
16938 (name "emacs-lsp-mode")
16939 (version "6.1")
16940 (source (origin
16941 (method git-fetch)
16942 (uri (git-reference
16943 (url "https://github.com/emacs-lsp/lsp-mode.git")
16944 (commit version)))
16945 (file-name (git-file-name name version))
16946 (sha256
16947 (base32
16948 "0jn5slhv9zfs446a5966bfg9dq144g22v79wnkx9hxq7if78p652"))))
16949 (build-system emacs-build-system)
16950 (propagated-inputs
16951 `(("emacs-dash" ,emacs-dash)
16952 ("emacs-f" ,emacs-f)
16953 ("emacs-ht" ,emacs-ht)
16954 ("emacs-markdown-mode" ,emacs-markdown-mode)
16955 ("emacs-spinner" ,emacs-spinner)))
16956 (home-page "https://github.com/emacs-lsp/lsp-mode")
16957 (synopsis "Emacs client and library for the Language Server Protocol")
16958 (description "@code{LSP-mode} is a client and library implementation for
16959 the Language Server Protocol. This mode aims to provide an IDE-like
16960 experience by providing optional integration with other popular Emacs packages
16961 like @code{company}, @code{flycheck}, and @code{projectile}.")
16962 (license license:gpl3+)))
16963
16964 (define-public emacs-lsp-ui
16965 (package
16966 (name "emacs-lsp-ui")
16967 (version "6.0")
16968 (source (origin
16969 (method git-fetch)
16970 (uri (git-reference
16971 (url "https://github.com/emacs-lsp/lsp-ui.git")
16972 (commit version)))
16973 (file-name (git-file-name name version))
16974 (sha256
16975 (base32
16976 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
16977 (build-system emacs-build-system)
16978 (propagated-inputs
16979 `(("emacs-dash" ,emacs-dash)
16980 ("emacs-lsp-mode" ,emacs-lsp-mode)
16981 ("emacs-markdown-mode" ,emacs-markdown-mode)
16982 ("emacs-flycheck" ,emacs-flycheck)))
16983 (home-page "https://github.com/emacs-lsp/lsp-ui")
16984 (synopsis "User interface extensions for @code{lsp-mode}")
16985 (description
16986 "@code{LSP-ui} contains several enhancements and integrations for
16987 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
16988 and code peeking.")
16989 (license license:gpl3+)))
16990
16991 (define-public emacs-lsp-ivy
16992 (let ((commit "6fd55316dd62d290429c25ea9b0c1f66069b2f37")
16993 (revision "1"))
16994 (package
16995 (name "emacs-lsp-ivy")
16996 (version (git-version "0.1" revision commit))
16997 (source (origin
16998 (method git-fetch)
16999 (uri (git-reference
17000 (url "https://github.com/emacs-lsp/lsp-ivy.git")
17001 (commit commit)))
17002 (file-name (git-file-name name version))
17003 (sha256
17004 (base32
17005 "0hx9rs66ahl2rqgnmyiyrwk12v7iv8c6gnn7b66985mxjqyyh94r"))))
17006 (build-system emacs-build-system)
17007 (propagated-inputs
17008 `(("emacs-ivy" ,emacs-ivy)
17009 ("emacs-lsp-mode" ,emacs-lsp-mode)
17010 ("emacs-dash" ,emacs-dash)))
17011 (home-page "https://github.com/emacs-lsp/lsp-ivy")
17012 (synopsis "Provide LSP-enhanced completion for symbols")
17013 (description
17014 "This package enhances @code{ivy} with completion for symbols from
17015 workspaces with a LSP-compliant server running.")
17016 (license license:gpl3+))))
17017
17018 (define-public emacs-helm-lsp
17019 (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b")
17020 (revision "1"))
17021 (package
17022 (name "emacs-helm-lsp")
17023 (version (git-version "0.1" revision commit))
17024 (source (origin
17025 (method git-fetch)
17026 (uri (git-reference
17027 (url "https://github.com/emacs-lsp/helm-lsp.git")
17028 (commit commit)))
17029 (file-name (git-file-name name version))
17030 (sha256
17031 (base32
17032 "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"))))
17033 (build-system emacs-build-system)
17034 (propagated-inputs
17035 `(("emacs-helm" ,emacs-helm)
17036 ("emacs-lsp-mode" ,emacs-lsp-mode)
17037 ("emacs-dash" ,emacs-dash)))
17038 (home-page "https://github.com/emacs-lsp/helm-lsp")
17039 (synopsis "Provide LSP-enhanced completion for symbols")
17040 (description
17041 "This package enhances @code{helm} with completion for symbols from
17042 workspaces with a LSP-compliant server running.")
17043 (license license:gpl3+))))
17044
17045 (define-public emacs-helm-notmuch
17046 (package
17047 (name "emacs-helm-notmuch")
17048 (version "1.2")
17049 (home-page "https://github.com/emacs-helm/helm-notmuch/")
17050 (source (origin
17051 (method git-fetch)
17052 (uri (git-reference
17053 (url home-page)
17054 (commit version)))
17055 (file-name (git-file-name name version))
17056 (sha256
17057 (base32
17058 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
17059 (build-system emacs-build-system)
17060 (propagated-inputs
17061 `(("emacs-helm" ,emacs-helm)
17062 ("notmuch" ,notmuch)))
17063 (synopsis "Search emails with Emacs Notmuch and Helm")
17064 (description
17065 "This package can be used to search emails in Emacs, searching result
17066 displays as you type thanks to Helm, though @command{notmuch-search} does the
17067 real search.")
17068 (license license:gpl3+)))
17069
17070 (define-public emacs-elmacro
17071 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
17072 (package
17073 (name "emacs-elmacro")
17074 (version (git-version "1.1.0" "1" commit))
17075 (home-page "https://github.com/Silex/elmacro")
17076 (source (origin
17077 (method git-fetch)
17078 (uri (git-reference
17079 (url home-page)
17080 (commit commit)))
17081 (file-name (git-file-name name version))
17082 (sha256
17083 (base32
17084 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
17085 (build-system emacs-build-system)
17086 (propagated-inputs
17087 `(("emacs-s" ,emacs-s)
17088 ("emacs-dash" ,emacs-dash)))
17089 (synopsis "Convert keyboard macros to Emacs Lisp")
17090 (description
17091 "This package displays keyboard macros or latest interactive commands
17092 as Emacs Lisp.")
17093 (license license:gpl3+))))
17094
17095 (define-public emacs-transient
17096 ;; 0.1.0 depends on lv.el but not later versions.
17097 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
17098 (package
17099 (name "emacs-transient")
17100 (version (git-version "0.1.0" "1" commit))
17101 (source (origin
17102 (method git-fetch)
17103 (uri (git-reference
17104 (url "https://github.com/magit/transient")
17105 (commit commit)))
17106 (file-name (git-file-name name version))
17107 (sha256
17108 (base32
17109 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
17110 (build-system gnu-build-system)
17111 (native-inputs `(("texinfo" ,texinfo)
17112 ("emacs" ,emacs-minimal)))
17113 (propagated-inputs
17114 `(("dash" ,emacs-dash)))
17115 (arguments
17116 `(#:modules ((guix build gnu-build-system)
17117 (guix build utils)
17118 (srfi srfi-26)
17119 (guix build emacs-utils))
17120 #:imported-modules (,@%gnu-build-system-modules
17121 (guix build emacs-utils))
17122 #:tests? #f ; tests are not included in the release
17123 #:make-flags (list "lisp" "info"
17124 (string-append "LOAD_PATH=-L . -L "
17125 (assoc-ref %build-inputs "dash")
17126 "/share/emacs/site-lisp/guix.d/dash-"
17127 ,(package-version emacs-dash)))
17128 #:phases
17129 (modify-phases %standard-phases
17130 (delete 'configure)
17131 (replace 'install
17132 (lambda* (#:key inputs outputs #:allow-other-keys)
17133 (let* ((out (assoc-ref outputs "out"))
17134 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
17135 "transient" "-" ,version))
17136 (info (string-append out "/share/info")))
17137 (for-each (cut install-file <> lisp)
17138 (find-files "." "\\.elc*$"))
17139 (install-file "docs/transient.info" (string-append info)))
17140 #t)))))
17141 (home-page "https://magit.vc/manual/transient")
17142 (synopsis "Transient commands in Emacs")
17143 (description
17144 "Taking inspiration from prefix keys and prefix arguments in Emacs,
17145 Transient implements a similar abstraction involving a prefix command, infix
17146 arguments and suffix commands. We could call this abstraction a \"transient
17147 command\", but because it always involves at least two commands (a prefix and
17148 a suffix) we prefer to call it just a \"transient\".")
17149 (license license:gpl3+))))
17150
17151 (define-public emacs-matcha
17152 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
17153 (package
17154 (name "emacs-matcha")
17155 (version (git-version "0.0.1" "1" commit)) ;no upstream release
17156 (source (origin
17157 (method git-fetch)
17158 (uri (git-reference
17159 (url "https://github.com/jojojames/matcha.git")
17160 (commit commit)))
17161 (file-name (git-file-name name version))
17162 (sha256
17163 (base32
17164 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
17165 (propagated-inputs
17166 `(("emacs-hydra" ,emacs-hydra)
17167 ("emacs-transient" ,emacs-transient)))
17168 (build-system emacs-build-system)
17169 (home-page "https://github.com/jojojames/matcha/")
17170 (synopsis "Collection of hydras with a generic interface to launch them")
17171 (description "Matcha provides a collection of transients for various
17172 packages with a consistent way to use them.")
17173 (license license:gpl3+))))
17174
17175 (define-public emacs-undo-propose-el
17176 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
17177 (revision "3"))
17178 (package
17179 (name "emacs-undo-propose-el")
17180 (version (git-version "3.0.0" revision commit))
17181 (source
17182 (origin
17183 (method git-fetch)
17184 (uri (git-reference
17185 (url "https://github.com/jackkamm/undo-propose-el")
17186 (commit commit)))
17187 (file-name (git-file-name name version))
17188 (sha256
17189 (base32
17190 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
17191 (build-system emacs-build-system)
17192 (arguments
17193 `(#:tests? #t
17194 #:test-command '("make" "test")))
17195 (home-page "https://github.com/jackkamm/undo-propose-el")
17196 (synopsis "Simple and safe navigation of @code{undo} history")
17197 (description "This package permits navigation of @code{undo} history in a
17198 temporary buffer, which is read-only save for @code{undo} commands, and
17199 subsequent committal of a chain of @code{undo} commands as a single edit in
17200 the @code{undo} history.")
17201 (license license:gpl3+))))
17202
17203 (define-public emacs-elisp-docstring-mode
17204 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
17205 (version "0.0.1")
17206 (revision "1"))
17207 (package
17208 (name "emacs-elisp-docstring-mode")
17209 (version (git-version version revision commit))
17210 (source
17211 (origin
17212 (method git-fetch)
17213 (uri (git-reference
17214 (url "https://github.com/Fuco1/elisp-docstring-mode")
17215 (commit commit)))
17216 (file-name (git-file-name name version))
17217 (sha256
17218 (base32
17219 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
17220 (build-system emacs-build-system)
17221 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
17222 (synopsis "Major mode for editing Emacs Lisp docstrings")
17223 (description "This package provides font lock and automatic escaping and
17224 unescaping of quotes.")
17225 (license license:gpl3+))))
17226
17227 (define-public emacs-vimrc-mode
17228 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
17229 (version "0.3.1")
17230 (revision "1"))
17231 (package
17232 (name "emacs-vimrc-mode")
17233 (version (git-version version revision commit))
17234 (source
17235 (origin
17236 (method git-fetch)
17237 (uri (git-reference
17238 (url "https://github.com/mcandre/vimrc-mode")
17239 (commit commit)))
17240 (file-name (git-file-name name version))
17241 (sha256
17242 (base32
17243 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
17244 (build-system emacs-build-system)
17245 (home-page "https://github.com/mcandre/vimrc-mode")
17246 (synopsis "Major mode for Vimscript")
17247 (description "This package provides font lock and @code{beginning-} and
17248 @code{end-of-defun} functions for Vimscript files.")
17249 (license license:gpl3+))))
17250
17251 (define-public emacs-flycheck-haskell
17252 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
17253 (revision "2"))
17254 (package
17255 (name "emacs-flycheck-haskell")
17256 (version (git-version "0.8" revision commit))
17257 (source
17258 (origin
17259 (method git-fetch)
17260 (uri (git-reference
17261 (url "https://github.com/flycheck/flycheck-haskell")
17262 (commit commit)))
17263 (file-name (git-file-name name version))
17264 (sha256
17265 (base32
17266 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
17267 (build-system emacs-build-system)
17268 (propagated-inputs
17269 `(("emacs-dash" ,emacs-dash)
17270 ("emacs-seq" ,emacs-seq)
17271 ("emacs-flycheck" ,emacs-flycheck)
17272 ("emacs-haskell-mode" ,emacs-haskell-mode)
17273 ("emacs-let-alist" ,emacs-let-alist)))
17274 (arguments
17275 `(#:include '("\\.el$" "\\.hs$")))
17276 (home-page "https://github.com/flycheck/flycheck-haskell")
17277 (synopsis "Flycheck for Haskell")
17278 (description "This package configures syntax-checking for Haskell
17279 buffers.")
17280 (license license:gpl3+))))
17281
17282 (define-public emacs-js2-refactor-el
17283 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
17284 (revision "2"))
17285 (package
17286 (name "emacs-js2-refactor-el")
17287 (version (git-version "0.9.0" revision commit))
17288 (source
17289 (origin
17290 (method git-fetch)
17291 (uri (git-reference
17292 (url "https://github.com/magnars/js2-refactor.el")
17293 (commit commit)))
17294 (file-name (git-file-name name version))
17295 (sha256
17296 (base32
17297 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
17298 (build-system emacs-build-system)
17299 (propagated-inputs
17300 `(("emacs-dash" ,emacs-dash)
17301 ("emacs-s" ,emacs-s)
17302 ("emacs-js2-mode" ,emacs-js2-mode)
17303 ("emacs-yasnippet" ,emacs-yasnippet)
17304 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
17305 (native-inputs
17306 `(("emacs-buttercup" ,emacs-buttercup)
17307 ("emacs-espuds" ,emacs-espuds)))
17308 (home-page "https://github.com/magnars/js2-refactor.el")
17309 (synopsis "JavaScript refactoring in Emacs")
17310 (description "This package provides various refactoring functions for
17311 JavaScript.")
17312 (license license:gpl3+))))
17313
17314 (define-public emacs-prettier
17315 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
17316 (version "0.1.0")
17317 (revision "1"))
17318 (package
17319 (name "emacs-prettier")
17320 (version (git-version version revision commit))
17321 (source
17322 (origin
17323 (method git-fetch)
17324 (uri (git-reference
17325 (url "https://github.com/prettier/prettier-emacs")
17326 (commit commit)))
17327 (file-name (git-file-name name version))
17328 (sha256
17329 (base32
17330 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
17331 (build-system emacs-build-system)
17332 (home-page "https://github.com/prettier/prettier-emacs")
17333 (synopsis "Automatic formatting of JavaScript code")
17334 (description "This package integrates Prettier with Emacs, and
17335 provides a minor mode that autoformats the buffer upon saving.")
17336 (license license:expat))))
17337
17338 (define-public emacs-fish-mode
17339 (package
17340 (name "emacs-fish-mode")
17341 (version "0.1.4")
17342 (source
17343 (origin
17344 (method git-fetch)
17345 (uri (git-reference
17346 (url "https://github.com/wwwjfy/emacs-fish")
17347 (commit version)))
17348 (file-name (git-file-name name version))
17349 (sha256
17350 (base32
17351 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
17352 (build-system emacs-build-system)
17353 (home-page "https://github.com/wwwjfy/emacs-fish")
17354 (synopsis "Major mode for Fish shell scripts")
17355 (description "This package provides syntax highlighting and indentation
17356 functions for Fish shell scripts.")
17357 (license license:gpl3+)))
17358
17359 (define-public emacs-eshell-up
17360 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
17361 (version "0.0.3")
17362 (revision "12"))
17363 (package
17364 (name "emacs-eshell-up")
17365 (version (git-version version revision commit))
17366 (source
17367 (origin
17368 (method git-fetch)
17369 (uri (git-reference
17370 (url "https://github.com/peterwvj/eshell-up")
17371 (commit commit)))
17372 (file-name (git-file-name name version))
17373 (sha256
17374 (base32
17375 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
17376 (build-system emacs-build-system)
17377 (home-page "https://github.com/peterwvj/eshell-up")
17378 (synopsis "Quickly go to a parent directory in @code{Eshell}")
17379 (description "This package provides quick navigation to a specific
17380 parent directory using @code{Eshell}.")
17381 (license license:gpl3+))))
17382
17383 (define-public emacs-tco-el
17384 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
17385 (revision "1"))
17386 (package
17387 (name "emacs-tco-el")
17388 (version (git-version "0.3" revision commit))
17389 (source
17390 (origin
17391 (method git-fetch)
17392 (uri (git-reference
17393 (url "https://github.com/Wilfred/tco.el")
17394 (commit commit)))
17395 (file-name (git-file-name name version))
17396 (sha256
17397 (base32
17398 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
17399 (build-system emacs-build-system)
17400 (propagated-inputs
17401 `(("emacs-dash" ,emacs-dash)))
17402 (native-inputs
17403 `(("emacs-ert-runner" ,emacs-ert-runner)
17404 ("emacs-undercover" ,emacs-undercover)))
17405 (arguments
17406 `(#:tests? #t
17407 #:test-command '("ert-runner")))
17408 (home-page "https://github.com/Wilfred/tco.el")
17409 (synopsis "Tail-call optimization for Emacs Lisp")
17410 (description "This package provides tail-call optimization for Emacs
17411 Lisp functions that call themselves in tail position.")
17412 (license license:gpl3+))))
17413
17414 (define-public emacs-equake
17415 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
17416 (revision "2"))
17417 (package
17418 (name "emacs-equake")
17419 (version (git-version "0.85" revision commit))
17420 (source
17421 (origin
17422 (method git-fetch)
17423 (uri (git-reference
17424 (url "https://gitlab.com/emacsomancer/equake/")
17425 (commit commit)))
17426 (file-name (git-file-name name version))
17427 (sha256
17428 (base32
17429 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
17430 (build-system emacs-build-system)
17431 (propagated-inputs
17432 `(("emacs-dash" ,emacs-dash)
17433 ("emacs-tco-el" ,emacs-tco-el)))
17434 (home-page "https://gitlab.com/emacsomancer/equake/")
17435 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
17436 (description "This package provides a Quake-style drop-down console
17437 compatible with Emacs' shell modes.")
17438 (license license:gpl3+))))
17439
17440 (define-public emacs-vdiff
17441 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
17442 (revision "1"))
17443 (package
17444 (name "emacs-vdiff")
17445 (version (git-version "0.2.3" revision commit))
17446 (source
17447 (origin
17448 (method git-fetch)
17449 (uri (git-reference
17450 (url "https://github.com/justbur/emacs-vdiff.git")
17451 (commit commit)))
17452 (file-name (git-file-name name version))
17453 (sha256
17454 (base32
17455 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
17456 (build-system emacs-build-system)
17457 (propagated-inputs
17458 `(("emacs-hydra" ,emacs-hydra)))
17459 (arguments
17460 `(#:tests? #t
17461 #:test-command '("emacs" "-Q" "-batch" "-L" "."
17462 "-l" "vdiff-test.el"
17463 "-f" "ert-run-tests-batch-and-exit")))
17464 (home-page "https://github.com/justbur/emacs-vdiff/")
17465 (synopsis "Frontend for diffing based on vimdiff")
17466 (description "This package permits comparisons of two or three buffers
17467 based on diff output.")
17468 (license license:gpl3+))))
17469
17470 (define-public emacs-vdiff-magit
17471 ;; Need to use a more recent commit than the latest release version because
17472 ;; of Magit and Transient
17473 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
17474 (version "0.3.2")
17475 (revision "8"))
17476 (package
17477 (name "emacs-vdiff-magit")
17478 (version (git-version version revision commit))
17479 (source
17480 (origin
17481 (method git-fetch)
17482 (uri (git-reference
17483 (url "https://github.com/justbur/emacs-vdiff-magit/")
17484 (commit commit)))
17485 (file-name (git-file-name name version))
17486 (sha256
17487 (base32
17488 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
17489 (build-system emacs-build-system)
17490 (propagated-inputs
17491 `(("emacs-vdiff" ,emacs-vdiff)
17492 ("emacs-magit" ,emacs-magit)
17493 ("emacs-transient" ,emacs-transient)))
17494 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
17495 (synopsis "Frontend for diffing based on vimdiff")
17496 (description "This package permits comparisons of two or three buffers
17497 based on diff output.")
17498 (license license:gpl3+))))
17499
17500 (define-public emacs-all-the-icons-dired
17501 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
17502 (version "1.0")
17503 (revision "1"))
17504 (package
17505 (name "emacs-all-the-icons-dired")
17506 (version (git-version version revision commit))
17507 (source
17508 (origin
17509 (method git-fetch)
17510 (uri (git-reference
17511 (url "https://github.com/jtbm37/all-the-icons-dired/")
17512 (commit commit)))
17513 (file-name (git-file-name name version))
17514 (sha256
17515 (base32
17516 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
17517 (build-system emacs-build-system)
17518 (propagated-inputs
17519 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
17520 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
17521 (synopsis "Show icons for each file in @code{dired-mode}")
17522 (description "This package allows icons from @file{all-the-icons.el} to
17523 be used in @code{dired-mode}.")
17524 (license license:gpl3+))))
17525
17526 (define-public emacs-exwm-edit
17527 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
17528 (version "0.0.1")
17529 (revision "1"))
17530 (package
17531 (name "emacs-exwm-edit")
17532 (version (git-version version revision commit))
17533 (source
17534 (origin
17535 (method git-fetch)
17536 (uri (git-reference
17537 (url "https://github.com/agzam/exwm-edit/")
17538 (commit commit)))
17539 (file-name (git-file-name name version))
17540 (sha256
17541 (base32
17542 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
17543 (build-system emacs-build-system)
17544 (propagated-inputs
17545 `(("emacs-exwm" ,emacs-exwm)))
17546 (home-page "https://github.com/agzam/exwm-edit/")
17547 (synopsis "Open temp buffers for editing text from EXWM buffers")
17548 (description "This package facilitates editing text from EXWM buffers by
17549 generating a temp buffer in which any useful Emacs utilities and modes can be
17550 invoked.")
17551 (license license:gpl3+))))
17552
17553 (define-public emacs-ert-async
17554 (package
17555 (name "emacs-ert-async")
17556 (version "0.1.2")
17557 (source
17558 (origin
17559 (method git-fetch)
17560 (uri (git-reference
17561 (url "https://github.com/rejeep/ert-async.el")
17562 (commit (string-append "v" version))))
17563 (file-name (git-file-name name version))
17564 (sha256
17565 (base32
17566 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
17567 (build-system emacs-build-system)
17568 (home-page "https://github.com/rejeep/ert-async.el")
17569 (synopsis "Async support for ERT")
17570 (description "This package allows ERT to work with asynchronous tests.")
17571 (license license:gpl3+)))
17572
17573 (define-public emacs-prodigy-el
17574 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
17575 (revision "2"))
17576 (package
17577 (name "emacs-prodigy-el")
17578 (version (git-version "0.7.0" revision commit))
17579 (source
17580 (origin
17581 (method git-fetch)
17582 (uri (git-reference
17583 (url "https://github.com/rejeep/prodigy.el")
17584 (commit commit)))
17585 (file-name (git-file-name name version))
17586 (sha256
17587 (base32
17588 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
17589 (build-system emacs-build-system)
17590 (propagated-inputs
17591 `(("emacs-dash" ,emacs-dash)
17592 ("emacs-s" ,emacs-s)
17593 ("emacs-f" ,emacs-f)))
17594 (native-inputs
17595 `(("emacs-el-mock" ,emacs-el-mock)
17596 ("emacs-ert-async" ,emacs-ert-async)))
17597 (home-page "https://github.com/rejeep/prodigy.el")
17598 (synopsis "Manage external services from within Emacs")
17599 (description "This package provides a GUI for defining and monitoring services.")
17600 (license license:gpl3+))))
17601
17602 (define-public emacs-web-server
17603 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
17604 (version "0.1.1")
17605 (revision "1"))
17606 (package
17607 (name "emacs-web-server")
17608 (version (git-version version revision commit))
17609 (source
17610 (origin
17611 (method git-fetch)
17612 (uri (git-reference
17613 (url "https://github.com/eschulte/emacs-web-server/")
17614 (commit commit)))
17615 (file-name (git-file-name name version))
17616 (sha256
17617 (base32
17618 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
17619 (build-system emacs-build-system)
17620 (home-page "https://github.com/eschulte/emacs-web-server/")
17621 (synopsis "Web server with handlers in Emacs Lisp")
17622 (description "This package supports HTTP GET and POST requests with
17623 url-encoded parameters, as well as web sockets.")
17624 (license license:gpl3+))))
17625
17626 (define-public emacs-markdown-preview-mode
17627 (package
17628 (name "emacs-markdown-preview-mode")
17629 (version "0.9.2")
17630 (source
17631 (origin
17632 (method git-fetch)
17633 (uri (git-reference
17634 (url "https://github.com/ancane/markdown-preview-mode")
17635 (commit (string-append "v" version))))
17636 (file-name (git-file-name name version))
17637 (sha256
17638 (base32
17639 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
17640 (build-system emacs-build-system)
17641 (propagated-inputs
17642 `(("emacs-markdown-mode" ,emacs-markdown-mode)
17643 ("emacs-websocket" ,emacs-websocket)
17644 ("emacs-web-server" ,emacs-web-server)))
17645 (arguments '(#:include '("\\.el$" "\\.html$")))
17646 (home-page "https://github.com/ancane/markdown-preview-mode")
17647 (synopsis "Live web development in Emacs")
17648 (description "This package provides a minor mode for preview of Markdown
17649 files, and sends rendered Markdown to a web browser.")
17650 (license license:gpl3+)))
17651
17652 (define-public emacs-dotenv-mode
17653 (package
17654 (name "emacs-dotenv-mode")
17655 (version "0.2.4")
17656 (source
17657 (origin
17658 (method git-fetch)
17659 (uri (git-reference
17660 (url "https://github.com/preetpalS/emacs-dotenv-mode")
17661 (commit (string-append "v" version))))
17662 (file-name (git-file-name name version))
17663 (sha256
17664 (base32
17665 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
17666 (build-system emacs-build-system)
17667 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
17668 (synopsis "Major mode for @file{.env} files")
17669 (description "This package provides syntax highlighting for @file{.env}
17670 files.")
17671 (license license:gpl3+)))
17672
17673 (define-public emacs-add-node-modules-path
17674 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
17675 (version "1.2.0")
17676 (revision "10"))
17677 (package
17678 (name "emacs-add-node-modules-path")
17679 (version (git-version version revision commit))
17680 (source
17681 (origin
17682 (method git-fetch)
17683 (uri (git-reference
17684 (url "https://github.com/codesuki/add-node-modules-path")
17685 (commit commit)))
17686 (file-name (git-file-name name version))
17687 (sha256
17688 (base32
17689 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
17690 (build-system emacs-build-system)
17691 (home-page "https://github.com/codesuki/add-node-modules-path")
17692 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
17693 (description "This package searches the parent directories of the
17694 current file for the project's @file{node_modules/.bin/} directory, allowing
17695 Emacs to find project-specific installations of packages.")
17696 (license license:expat))))
17697
17698 (define-public emacs-flow-minor-mode
17699 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
17700 (version "0.3")
17701 (revision "4"))
17702 (package
17703 (name "emacs-flow-minor-mode")
17704 (version (git-version version revision commit))
17705 (source
17706 (origin
17707 (method git-fetch)
17708 (uri (git-reference
17709 (url "https://github.com/an-sh/flow-minor-mode")
17710 (commit commit)))
17711 (file-name (git-file-name name version))
17712 (sha256
17713 (base32
17714 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
17715 (build-system emacs-build-system)
17716 (home-page "https://github.com/an-sh/flow-minor-mode")
17717 (synopsis "Minor mode for JavaScript Flow files")
17718 (description "This package integrates Flow with Emacs, allowing for
17719 definition-jumping and type-checking on demand.")
17720 (license license:bsd-3))))
17721
17722 (define-public emacs-rjsx-mode
17723 (let ((commit "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5")
17724 (revision "2"))
17725 (package
17726 (name "emacs-rjsx-mode")
17727 (version (git-version "0.4" revision commit))
17728 (source
17729 (origin
17730 (method git-fetch)
17731 (uri (git-reference
17732 (url "https://github.com/felipeochoa/rjsx-mode")
17733 (commit commit)))
17734 (file-name (git-file-name name version))
17735 (sha256
17736 (base32
17737 "0s0871sx3ch09kgvbcp9na4zdrfrda62xjq8m9knbq5vnj8q8qpi"))))
17738 (build-system emacs-build-system)
17739 (propagated-inputs
17740 `(("emacs-js2-mode" ,emacs-js2-mode)))
17741 (arguments
17742 `(#:tests? #t
17743 #:test-command '("make" "test")))
17744 (home-page "https://github.com/felipeochoa/rjsx-mode")
17745 (synopsis "Major mode for JSX files")
17746 (description "This package extends the parser of @code{js2-mode} to
17747 support JSX syntax.")
17748 (license license:expat))))
17749
17750 (define-public emacs-origami-el
17751 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
17752 (version "1.0")
17753 (revision "1"))
17754 (package
17755 (name "emacs-origami-el")
17756 (version (git-version version revision commit))
17757 (source
17758 (origin
17759 (method git-fetch)
17760 (uri (git-reference
17761 (url "https://github.com/gregsexton/origami.el")
17762 (commit commit)))
17763 (file-name (git-file-name name version))
17764 (sha256
17765 (base32
17766 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
17767 (build-system emacs-build-system)
17768 (propagated-inputs
17769 `(("emacs-dash" ,emacs-dash)
17770 ("emacs-s" ,emacs-s)))
17771 (home-page "https://github.com/gregsexton/origami.el")
17772 (synopsis "Flexible text-folding")
17773 (description "This package provides a minor mode for collapsing and
17774 expanding regions of text without modifying the actual contents.")
17775 (license license:expat))))
17776
17777 (define-public emacs-peep-dired
17778 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
17779 (version "0")
17780 (revision "1"))
17781 (package
17782 (name "emacs-peep-dired")
17783 (version (git-version version revision commit))
17784 (source
17785 (origin
17786 (method git-fetch)
17787 (uri (git-reference
17788 (url "https://github.com/asok/peep-dired")
17789 (commit commit)))
17790 (file-name (git-file-name name version))
17791 (sha256
17792 (base32
17793 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
17794 (build-system emacs-build-system)
17795 (home-page "https://github.com/asok/peep-dired")
17796 (synopsis "Preview files in another window")
17797 (description "This package provides a minor mode that allows files to be
17798 previewed by scrolling up and down within a @code{dired} buffer.")
17799 (license license:gpl3+))))
17800
17801 (define-public emacs-counsel-etags
17802 (package
17803 (name "emacs-counsel-etags")
17804 (version "1.8.9")
17805 (source
17806 (origin
17807 (method git-fetch)
17808 (uri (git-reference
17809 (url "https://github.com/redguardtoo/counsel-etags")
17810 (commit version)))
17811 (file-name (git-file-name name version))
17812 (sha256
17813 (base32
17814 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
17815 (build-system emacs-build-system)
17816 (propagated-inputs
17817 `(("emacs-ivy" ,emacs-ivy)))
17818 (arguments
17819 `(#:tests? #t
17820 #:test-command '("make" "test")))
17821 (home-page "https://github.com/redguardtoo/counsel-etags")
17822 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
17823 (description "This package uses @code{ivy-mode} to facilitate navigating
17824 and searching through @code{Ctags} files.")
17825 (license license:gpl3+)))
17826
17827 (define-public emacs-org-download
17828 (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
17829 (revision "2"))
17830 (package
17831 (name "emacs-org-download")
17832 (version (git-version "0.1.0" revision commit))
17833 (source (origin
17834 (method git-fetch)
17835 (uri (git-reference
17836 (url "https://github.com/abo-abo/org-download")
17837 (commit commit)))
17838 (sha256
17839 (base32
17840 "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
17841 (file-name (git-file-name name version))))
17842 (build-system emacs-build-system)
17843 (propagated-inputs
17844 `(("emacs-org" ,emacs-org)
17845 ("emacs-async" ,emacs-async)))
17846 (home-page "https://github.com/abo-abo/org-download")
17847 (synopsis "Facilitate moving images")
17848 (description "This package provides utilities for managing image files
17849 copied into @code{org-mode} buffers.")
17850 (license license:gpl3+))))
17851
17852 (define-public emacs-dash-docs
17853 (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a")
17854 (revision "1"))
17855 (package
17856 (name "emacs-dash-docs")
17857 (version (git-version "1.4.0" revision commit))
17858 (source
17859 (origin
17860 (method git-fetch)
17861 (uri (git-reference
17862 (url "https://github.com/dash-docs-el/dash-docs.git")
17863 (commit commit)))
17864 (file-name (git-file-name name version))
17865 (sha256
17866 (base32
17867 "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng"))))
17868 (build-system emacs-build-system)
17869 (propagated-inputs
17870 `(("emacs-async" ,emacs-async)))
17871 (native-inputs
17872 `(("emacs-undercover" ,emacs-undercover)
17873 ("emacs-ert-runner" ,emacs-ert-runner)))
17874 (arguments
17875 `(#:tests? #t
17876 #:test-command '("ert-runner")
17877 #:phases
17878 ;; this test requires network access, so remove it
17879 (modify-phases %standard-phases
17880 (add-before 'check 'make-tests-writable
17881 (lambda _
17882 (make-file-writable "test/dash-docs-test.el")
17883 #t))
17884 (add-before 'check 'delete-test
17885 (lambda _
17886 (emacs-batch-edit-file "test/dash-docs-test.el"
17887 `(progn (progn
17888 (goto-char (point-min))
17889 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
17890 (beginning-of-line)
17891 (kill-sexp))
17892 (basic-save-buffer)))
17893 #t)))))
17894 (home-page "https://github.com/dash-docs-el/dash-docs")
17895 (synopsis "Offline documentation browser for APIs using Dash docsets")
17896 (description "This package exposes functionality to work with Dash docsets.")
17897 (license license:gpl3+))))
17898
17899 (define-public emacs-helm-dash
17900 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
17901 (revision "2"))
17902 (package
17903 (name "emacs-helm-dash")
17904 (version (git-version "1.3.0" revision commit))
17905 (source
17906 (origin
17907 (method git-fetch)
17908 (uri (git-reference
17909 (url "https://github.com/areina/helm-dash.git")
17910 (commit commit)))
17911 (file-name (git-file-name name version))
17912 (sha256
17913 (base32
17914 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
17915 (build-system emacs-build-system)
17916 (propagated-inputs
17917 `(("emacs-helm" ,emacs-helm)
17918 ("emacs-dash-docs" ,emacs-dash-docs)))
17919 (home-page "https://github.com/areina/helm-dash")
17920 (synopsis "Offline documentation browser for APIs using Dash docsets")
17921 (description "This package uses Helm to install and navigate through
17922 Dash docsets.")
17923 (license license:gpl3+))))
17924
17925 (define-public emacs-counsel-dash
17926 (let ((commit "24d370be9e94e90d045c49967e19484b9903fce9")
17927 (revision "2"))
17928 (package
17929 (name "emacs-counsel-dash")
17930 (version (git-version "0.1.3" revision commit))
17931 (source
17932 (origin
17933 (method git-fetch)
17934 (uri (git-reference
17935 (url "https://github.com/dash-docs-el/counsel-dash.git")
17936 (commit commit)))
17937 (file-name (git-file-name name version))
17938 (sha256
17939 (base32
17940 "18gp7hhgng271c7bh06k9p24zqic0f64j5cicivljmyk9c3nh7an"))))
17941 (build-system emacs-build-system)
17942 (propagated-inputs
17943 `(("emacs-dash-docs" ,emacs-dash-docs)
17944 ("emacs-ivy" ,emacs-ivy)))
17945 (home-page "https://github.com/dash-docs-el/counsel-dash")
17946 (synopsis "Offline documentation browser for APIs using Dash docsets")
17947 (description "This package uses @code{ivy-mode} to install and navigate
17948 through Dash docsets.")
17949 (license license:expat))))
17950
17951 (define-public emacs-el-patch
17952 (package
17953 (name "emacs-el-patch")
17954 (version "2.2.3")
17955 (source
17956 (origin
17957 (method git-fetch)
17958 (uri (git-reference
17959 (url "https://github.com/raxod502/el-patch")
17960 (commit version)))
17961 (file-name (git-file-name name version))
17962 (sha256
17963 (base32
17964 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
17965 (build-system emacs-build-system)
17966 (home-page "https://github.com/raxod502/el-patch")
17967 (synopsis "Future-proof your Emacs customizations")
17968 (description "This package allows for an alternate definition of an Elisp
17969 function to be specified and for any differences from the original definition
17970 to be examined using Ediff.")
17971 (license license:expat)))
17972
17973 (define-public emacs-info-plus
17974 (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da")
17975 (revision "2"))
17976 (package
17977 (name "emacs-info-plus")
17978 (version (git-version "0" revision commit))
17979 (source
17980 (origin
17981 (method git-fetch)
17982 (uri (git-reference
17983 (url "https://github.com/emacsmirror/info-plus")
17984 (commit commit)))
17985 (file-name (git-file-name name version))
17986 (sha256
17987 (base32
17988 "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0"))))
17989 (build-system emacs-build-system)
17990 (home-page "https://github.com/emacsmirror/info-plus")
17991 (synopsis "Extensions to @file{info.el}")
17992 (description "This package extends Emacs' @file{info.el} by allowing
17993 outline-enabled table of contents, additional metadata association for Info
17994 nodes, and more.")
17995 (license license:gpl2+))))
17996
17997 (define-public emacs-eval-sexp-fu-el
17998 (package
17999 (name "emacs-eval-sexp-fu-el")
18000 (version "0.5.0")
18001 (source
18002 (origin
18003 (method git-fetch)
18004 (uri (git-reference
18005 (url "https://github.com/hchbaw/eval-sexp-fu.el")
18006 (commit (string-append "v" version))))
18007 (file-name (git-file-name name version))
18008 (sha256
18009 (base32
18010 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
18011 (build-system emacs-build-system)
18012 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
18013 (synopsis "Enhancements for evaluating s-expressions")
18014 (description "This package provides provides variants of
18015 @code{eval-last-sexp} that work on the containing list or s-expression, as
18016 well as an option for visually flashing evaluated s-expressions.")
18017 (license license:gpl3+)))
18018
18019 (define-public emacs-counsel-tramp
18020 (package
18021 (name "emacs-counsel-tramp")
18022 (version "0.6.3")
18023 (source
18024 (origin
18025 (method git-fetch)
18026 (uri (git-reference
18027 (url "https://github.com/masasam/emacs-counsel-tramp")
18028 (commit version)))
18029 (file-name (git-file-name name version))
18030 (sha256
18031 (base32
18032 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
18033 (build-system emacs-build-system)
18034 (propagated-inputs
18035 `(("emacs-ivy" ,emacs-ivy)))
18036 (home-page "https://github.com/masasam/emacs-counsel-tramp")
18037 (synopsis "Ivy interface for TRAMP")
18038 (description "This package allows @code{ivy-mode} to display and filter
18039 SSH servers.")
18040 (license license:gpl3+)))
18041
18042 (define-public emacs-eacl
18043 (package
18044 (name "emacs-eacl")
18045 (version "2.0.1")
18046 (source
18047 (origin
18048 (method git-fetch)
18049 (uri (git-reference
18050 (url "https://github.com/redguardtoo/eacl")
18051 (commit version)))
18052 (file-name (git-file-name name version))
18053 (sha256
18054 (base32
18055 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
18056 (build-system emacs-build-system)
18057 (propagated-inputs
18058 `(("emacs-ivy" ,emacs-ivy)))
18059 (home-page "https://github.com/redguardtoo/eacl")
18060 (synopsis "Auto-complete lines by using @code{grep} on a project")
18061 (description "This package provides auto-completion cammands for single
18062 and multiple lines of code in a project.")
18063 (license license:gpl3+)))
18064
18065 (define-public emacs-semantic-refactor
18066 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
18067 ;; commits since then.
18068 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
18069 (package
18070 (name "emacs-semantic-refactor")
18071 (version (git-version "0.5" "1" commit))
18072 (source
18073 (origin
18074 (method git-fetch)
18075 (uri (git-reference
18076 (url "https://github.com/tuhdo/semantic-refactor")
18077 (commit commit)))
18078 (file-name (git-file-name name version))
18079 (sha256
18080 (base32
18081 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
18082 (build-system emacs-build-system)
18083 (home-page "https://github.com/tuhdo/semantic-refactor")
18084 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
18085 (description "This package provides a refactoring tool based on the
18086 Emacs Semantic parser framework. For C and C++ it supports operations such as:
18087
18088 @enumerate
18089 @item Generating class implementations
18090 @item Generating function prototypes
18091 @item Converting functions to function pointers
18092 @item Moving semantic units
18093 @item etc...
18094 @end enumerate
18095
18096 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
18097 as:
18098
18099 @enumerate
18100 @item Formatting the whole buffer
18101 @item Converting sexpressions to one or multiple lines
18102 @item etc...
18103 @end enumerate\n")
18104 (license license:gpl3+))))
18105
18106 (define-public emacs-nhexl-mode
18107 (package
18108 (name "emacs-nhexl-mode")
18109 (version "1.2")
18110 (source
18111 (origin
18112 (method url-fetch)
18113 (uri (string-append
18114 "https://elpa.gnu.org/packages/nhexl-mode-"
18115 version ".el"))
18116 (sha256
18117 (base32
18118 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
18119 (build-system emacs-build-system)
18120 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
18121 (synopsis "Minor mode to edit files via hex-dump format")
18122 (description
18123 "This package implements NHexl mode, a minor mode for editing files
18124 in hex dump format. The mode command is called @command{nhexl-mode}.
18125
18126 This minor mode implements similar functionality to @command{hexl-mode},
18127 but using a different implementation technique, which makes it
18128 usable as a \"plain\" minor mode. It works on any buffer, and does
18129 not mess with the undo log or with the major mode.
18130
18131 It also comes with:
18132
18133 @itemize
18134 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
18135 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
18136 (which only work for hex-digits) will only modify the nibble under point.
18137 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
18138 moving text. In this minor mode, not only self-inserting keys overwrite
18139 existing text, but commands like `yank' and @command{kill-region} as well.
18140 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
18141 C-f} to advance by #xa4 characters.
18142 @end itemize\n")
18143 (license license:gpl3+)))
18144
18145 (define-public emacs-helm-wikipedia
18146 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
18147 (package
18148 (name "emacs-helm-wikipedia")
18149 (version (git-version "0.0.0" "1" commit))
18150 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
18151 (source
18152 (origin
18153 (method git-fetch)
18154 (uri (git-reference
18155 (url home-page)
18156 (commit commit)))
18157 (file-name (git-file-name name version))
18158 (sha256
18159 (base32
18160 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
18161 (build-system emacs-build-system)
18162 (inputs
18163 `(("helm" ,emacs-helm)))
18164 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
18165 (description
18166 "This package provides an Emacs Helm interface for search suggestions
18167 and article extracts for Wikipedia.")
18168 (license license:gpl3+))))
18169
18170 (define-public emacs-webfeeder
18171 (package
18172 (name "emacs-webfeeder")
18173 (version "1.0.0")
18174 (source
18175 (origin
18176 (method url-fetch)
18177 (uri (string-append
18178 "https://elpa.gnu.org/packages/webfeeder-"
18179 version
18180 ".tar"))
18181 (sha256
18182 (base32
18183 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
18184 (build-system emacs-build-system)
18185 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
18186 (synopsis "Build RSS and Atom webfeeds from HTML files")
18187 (description
18188 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
18189 files. The various elements of the HTML input are parsed with customizable
18190 functions (e.g. @code{webfeeder-title-function}).")
18191 (license license:gpl3+)))
18192
18193 (define-public emacs-evil-numbers
18194 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
18195 (package
18196 (name "emacs-evil-numbers")
18197 (version (git-version "0.4" "1" commit))
18198 (source (origin
18199 (method git-fetch)
18200 (uri (git-reference
18201 (url "https://github.com/dieggsy/evil-numbers")
18202 (commit commit)))
18203 (file-name (git-file-name name version))
18204 (sha256
18205 (base32
18206 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
18207 (build-system emacs-build-system)
18208 (home-page "https://github.com/dieggsy/evil-numbers")
18209 (synopsis "Increment and decrement numbers in Emacs")
18210 (description "This package increments and decrements binary, octal,
18211 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
18212 number up to EOL and then increments or decrements and keeps zero padding up
18213 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
18214 numbers within that region will be incremented/decremented (unlike in Vim).
18215
18216 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
18217 (license license:gpl3+))))
18218
18219 (define-public emacs-rotate-text
18220 (package
18221 (name "emacs-rotate-text")
18222 (version "0.1")
18223 (source (origin
18224 (method git-fetch)
18225 (uri (git-reference
18226 (url "https://github.com/nschum/rotate-text.el.git")
18227 (commit version)))
18228 (file-name (git-file-name name version))
18229 (sha256
18230 (base32
18231 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
18232 (build-system emacs-build-system)
18233 (home-page "http://nschum.de/src/emacs/rotate-text/")
18234 (synopsis "Cycle through words, symbols and patterns in Emacs")
18235 (description "@code{rotate-text} allows you rotate to commonly
18236 interchanged text with a single keystroke. For example, you can toggle
18237 between \"frame-width\" and \"frame-height\", between \"public\",
18238 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
18239 \"variableN\".")
18240 (license license:gpl2+)))
18241
18242 (define-public emacs-ediprolog
18243 (package
18244 (name "emacs-ediprolog")
18245 (version "1.2")
18246 (source
18247 (origin
18248 (method url-fetch)
18249 (uri (string-append
18250 "https://elpa.gnu.org/packages/ediprolog-"
18251 version
18252 ".el"))
18253 (sha256
18254 (base32
18255 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
18256 (build-system emacs-build-system)
18257 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
18258 (synopsis "Emacs Does Interactive Prolog")
18259 (description "This package provides a major mode that let the user
18260 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
18261 programs and evaluate embedded queries. This mode is focused on the command
18262 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
18263 context, carry out the appropriate action.")
18264 (license license:gpl3+)))
18265
18266 (define-public emacs-evil-cleverparens
18267 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
18268 (revision "1"))
18269 (package
18270 (name "emacs-evil-cleverparens")
18271 (version (git-version "2017-07-17" revision commit))
18272 (source (origin
18273 (method git-fetch)
18274 (uri (git-reference
18275 (url "https://github.com/luxbock/evil-cleverparens.git")
18276 (commit commit)))
18277 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
18278 (file-name (git-file-name name version))))
18279 (build-system emacs-build-system)
18280 (propagated-inputs
18281 `(("emacs-evil" ,emacs-evil)
18282 ("emacs-paredit" ,emacs-paredit)
18283 ("emacs-smartparens" ,emacs-smartparens)))
18284 (home-page "https://github.com/luxbock/evil-cleverparens")
18285 (synopsis "Emacs modal editing optimized for editing Lisp")
18286 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
18287 modal editing with screwing up the structure of Lisp code. Alternatives for
18288 verb commands which would are normally destructive (such as deletion) are
18289 provided. Those alternative commands are and bound by default to their
18290 corresponding Evil keys.")
18291 (license license:expat))))
18292
18293 (define-public emacs-evil-traces
18294 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
18295 (revision "2"))
18296 (package
18297 (name "emacs-evil-traces")
18298 (version (git-version "0.0.1" revision commit))
18299 (source (origin
18300 (method git-fetch)
18301 (uri (git-reference
18302 (url "https://github.com/mamapanda/evil-traces.git")
18303 (commit commit)))
18304 (file-name (git-file-name name version))
18305 (sha256
18306 (base32
18307 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
18308 (build-system emacs-build-system)
18309 (propagated-inputs
18310 `(("emacs-evil" ,emacs-evil)))
18311 (arguments
18312 `(#:phases
18313 (modify-phases %standard-phases
18314 (add-after 'unpack 'set-shell
18315 ;; Setting the SHELL environment variable is required for the tests
18316 ;; to find sh.
18317 (lambda _
18318 (setenv "SHELL" (which "sh"))
18319 #t)))
18320 #:tests? #t
18321 #:test-command '("make" "test")))
18322 (home-page "https://github.com/mamapanda/evil-traces")
18323 (synopsis "Visual hints for @code{evil-ex}")
18324 (description "This package adds visual hints to certain @code{ex}
18325 commands in @code{evil-mode}.")
18326 (license license:gpl3+))))
18327
18328 (define-public emacs-xterm-color
18329 (package
18330 (name "emacs-xterm-color")
18331 (version "1.9")
18332 (source (origin
18333 (method git-fetch)
18334 (uri (git-reference
18335 (url "https://github.com/atomontage/xterm-color.git")
18336 (commit version)))
18337 (file-name (git-file-name name version))
18338 (sha256
18339 (base32
18340 "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"))))
18341 (build-system emacs-build-system)
18342 (home-page "https://github.com/atomontage/xterm-color")
18343 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
18344 (description "@code{xterm-color.el} is an ANSI control sequence to
18345 text-property translator.")
18346 (license license:bsd-2)))
18347
18348 (define-public emacs-org-noter
18349 (package
18350 (name "emacs-org-noter")
18351 (version "1.3.0")
18352 (source
18353 (origin
18354 (method url-fetch)
18355 (uri (string-append
18356 "https://stable.melpa.org/packages/org-noter-"
18357 version
18358 ".el"))
18359 (sha256
18360 (base32
18361 "1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
18362 (build-system emacs-build-system)
18363 (propagated-inputs `(("emacs-org" ,emacs-org)))
18364 (home-page "https://github.com/weirdNox/org-noter")
18365 (synopsis "Synchronized, Org-mode, document annotator")
18366 (description
18367 "This package lets you create notes that are kept in sync when you
18368 scroll through the document, but that are external to it---the notes
18369 themselves live in an Org-mode file. As such, this leverages the power of
18370 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
18371 acting like notes that are made @emph{in} the document.")
18372 (license license:gpl3+)))
18373
18374 (define-public emacs-org-redmine
18375 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
18376 (package
18377 (name "emacs-org-redmine")
18378 (version (git-version "0.1" "1" commit))
18379 (source (origin
18380 (method git-fetch)
18381 (uri (git-reference
18382 (url "https://github.com/gongo/org-redmine.git")
18383 (commit commit)))
18384 (file-name (git-file-name name version))
18385 (sha256
18386 (base32
18387 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
18388 (build-system emacs-build-system)
18389 (home-page "https://github.com/gongo/org-redmine/")
18390 (synopsis "Redmine tools using Emacs")
18391 (description "This program provides an Emacs client for Redmine.")
18392 (license license:gpl3+))))
18393
18394 (define-public emacs-multi-term
18395 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
18396 (package
18397 (name "emacs-multi-term")
18398 (version "1.2")
18399 (source (origin
18400 (method git-fetch)
18401 (uri (git-reference
18402 (url "https://github.com/manateelazycat/multi-term.git")
18403 (commit commit)))
18404 (file-name (git-file-name name version))
18405 (sha256
18406 (base32
18407 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
18408 (build-system emacs-build-system)
18409 (inputs `(("zsh" ,zsh)))
18410 (home-page "https://github.com/manateelazycat/multi-term")
18411 (synopsis "Manage multiple terminal buffers in Emacs")
18412 (description
18413 "This package enhances @code{term.el} with the following features:
18414
18415 @enumerate
18416 @item Functions to switch between multiple terminal buffers
18417 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
18418 the underlying terminal
18419 @item Kills the unused buffer left after exiting the terminal
18420 @item Kills the running sub-processes along with the terminal when killing the
18421 it forcibly
18422 @item Dedicated window for debugging program.
18423 @end enumerate")
18424 (license license:gpl3+))))
18425
18426 (define-public emacs-elpher
18427 (package
18428 (name "emacs-elpher")
18429 (version "1.4.6")
18430 (source
18431 (origin
18432 (method git-fetch)
18433 (uri (git-reference
18434 (url "https://github.com/tgvaughan/elpher")
18435 (commit (string-append "v" version))))
18436 (file-name (git-file-name name version))
18437 (sha256
18438 (base32
18439 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
18440 (build-system emacs-build-system)
18441 (native-inputs
18442 `(("texinfo" ,texinfo)))
18443 (arguments
18444 `(#:phases
18445 (modify-phases %standard-phases
18446 (add-before 'install 'build-doc
18447 (lambda _
18448 (invoke "makeinfo" "elpher.texi"))))))
18449 (home-page "https://github.com/tgvaughan/elpher")
18450 (synopsis "Gopher client for Emacs")
18451 (description "Elpher is a full-featured gopher client for Emacs. Its
18452 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
18453 compatibility with evil-mode, clickable web and gopher links in plain text,
18454 caching of visited sites, pleasant and configurable visualization of Gopher
18455 directories, direct visualisation of image files, jumping directly to links by
18456 name (with autocompletion), a simple bookmark management system and
18457 connections using TLS encryption.")
18458 (license license:gpl3+)))
18459
18460 (define-public emacs-zerodark-theme
18461 (package
18462 (name "emacs-zerodark-theme")
18463 (version "4.6")
18464 (source
18465 (origin
18466 (method git-fetch)
18467 (uri (git-reference
18468 (url "https://github.com/NicolasPetton/zerodark-theme")
18469 (commit version)))
18470 (file-name (git-file-name name version))
18471 (sha256
18472 (base32
18473 "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"))))
18474 (build-system emacs-build-system)
18475 (propagated-inputs
18476 `(("emacs-flycheck" ,emacs-flycheck)
18477 ("emacs-all-the-icons" ,emacs-all-the-icons)))
18478 (home-page
18479 "https://gitlab.petton.fr/nico/zerodark-theme")
18480 (synopsis
18481 "Dark, medium contrast theme for Emacs")
18482 (description
18483 "Zerodark is a dark theme inspired from One Dark and Niflheim.
18484 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
18485 (license license:gpl3+)))
18486
18487 (define-public emacs-gnus-alias
18488 (package
18489 (name "emacs-gnus-alias")
18490 (version "20150316")
18491 (source (origin
18492 (method git-fetch)
18493 (uri (git-reference
18494 (url "https://github.com/hexmode/gnus-alias.git")
18495 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
18496 (file-name (git-file-name name version))
18497 (sha256
18498 (base32
18499 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
18500 (build-system emacs-build-system)
18501 (home-page "https://melpa.org/#/gnus-alias")
18502 (synopsis "Alternative to @code{gnus-posting-styles}")
18503 (description "This Emacs add-on provides a simple mechanism to switch
18504 Identities when using a @code{message-mode} or a @code{message-mode} derived
18505 mode. Identities can include @code{From} and @code{Organisation} headers,
18506 extra headers, body and signature. Other features include:
18507
18508 @itemize
18509 @item Switch Identities in a message buffer.
18510 @item Access original message to help determine Identity of the followup/reply
18511 message.
18512 @item Act on a forwarded message as if it were a message being replied to.
18513 @item Start a new message with a given Identity pre-selected.
18514 @end itemize")
18515 (license license:gpl2+)))
18516
18517 (define-public emacs-ox-epub
18518 (package
18519 (name "emacs-ox-epub")
18520 (version "0.3")
18521 (source (origin
18522 (method git-fetch)
18523 (uri (git-reference
18524 (url "https://github.com/ofosos/ox-epub.git")
18525 (commit (string-append "v" version))))
18526 (file-name (git-file-name name version))
18527 (sha256
18528 (base32
18529 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
18530 (build-system emacs-build-system)
18531 (home-page "https://github.com/ofosos/ox-epub")
18532 (synopsis "Export org mode projects to EPUB")
18533 (description "@code{ox-epub} extends the (X)HTML exporter to generate
18534 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
18535 which should give broad compatibility. It should also be relatiely easy to
18536 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
18537 zip utility (default is @code{zip}).")
18538 (license license:gpl3+)))
18539
18540 (define-public emacs-ox-hugo
18541 (package
18542 (name "emacs-ox-hugo")
18543 (version "0.8")
18544 (source
18545 (origin
18546 (method git-fetch)
18547 (uri (git-reference
18548 (url "https://github.com/kaushalmodi/ox-hugo.git")
18549 (commit (string-append "v" version))))
18550 (file-name (git-file-name name version))
18551 (sha256
18552 (base32
18553 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
18554 (build-system emacs-build-system)
18555 (home-page "https://ox-hugo.scripter.co")
18556 (synopsis "Hugo markdown back-end for Org export engine")
18557 (description
18558 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
18559 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
18560 format.")
18561 (license license:gpl3+)))
18562
18563 (define-public emacs-ox-pandoc
18564 (package
18565 (name "emacs-ox-pandoc")
18566 (version "20180510")
18567 (source (origin
18568 (method git-fetch)
18569 (uri (git-reference
18570 (url "https://github.com/kawabata/ox-pandoc.git")
18571 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
18572 (file-name (git-file-name name version))
18573 (sha256
18574 (base32
18575 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
18576 (build-system emacs-build-system)
18577 (inputs
18578 `(("pandoc" ,ghc-pandoc)))
18579 (propagated-inputs
18580 `(("emacs-dash" ,emacs-dash)
18581 ("emacs-ht" ,emacs-ht)))
18582 (home-page "https://github.com/kawabata/ox-pandoc")
18583 (synopsis "Org exporter for Pandoc")
18584 (description "@code{ox-pandoc} is an exporter for converting Org-mode
18585 files to numerous other formats via Pandoc.")
18586 (license license:gpl3+)))
18587
18588 (define-public emacs-wc-mode
18589 (package
18590 (name "emacs-wc-mode")
18591 (version "1.3")
18592 (source (origin
18593 (method git-fetch)
18594 (uri (git-reference
18595 (url "https://github.com/bnbeckwith/wc-mode.git")
18596 (commit (string-append "v" version))))
18597 (file-name (git-file-name name version))
18598 (sha256
18599 (base32
18600 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
18601 (build-system emacs-build-system)
18602 (home-page "https://github.com/bnbeckwith/wc-mode")
18603 (synopsis "Running word count with goals (minor mode)")
18604 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
18605 for Emacs buffers as well as a modeline addition with live word, line and
18606 character counts. Additionally, a user can set specific goals for adding or
18607 deleting words. These goals were partly inspired by 750words.com where the
18608 goal of the site is to encourage writing by setting a goal of 750 words at a
18609 time.")
18610 (license license:gpl3+)))
18611
18612 (define-public emacs-mastodon
18613 (package
18614 (name "emacs-mastodon")
18615 (version "0.9.0")
18616 (source (origin
18617 (method git-fetch)
18618 (uri (git-reference
18619 (url "https://github.com/jdenen/mastodon.el.git")
18620 (commit version)))
18621 (file-name (git-file-name name version))
18622 (sha256
18623 (base32
18624 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
18625 (build-system emacs-build-system)
18626 (arguments
18627 `(#:phases
18628 (modify-phases %standard-phases
18629 ;; Move the source files to the top level, which is included in
18630 ;; the EMACSLOADPATH.
18631 (add-after 'unpack 'move-source-files
18632 (lambda _
18633 (let ((el-files (find-files "./lisp" ".*\\.el$")))
18634 (for-each (lambda (f)
18635 (rename-file f (basename f)))
18636 el-files))
18637 #t)))))
18638 (home-page "https://github.com/jdenen/mastodon.el")
18639 (synopsis "Emacs client for Mastodon")
18640 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
18641 federated microblogging social network.")
18642 (license license:gpl3+)))
18643
18644 ;; The last release tarball is for version 0.6. We pick a commit close to
18645 ;; version 0.6.10, which doesn't have a release tarball.
18646 (define-public emacs-ebdb
18647 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
18648 (revision "0"))
18649 (package
18650 (name "emacs-ebdb")
18651 (version (git-version "0.6.10" revision commit))
18652 (source (origin
18653 (method git-fetch)
18654 (uri (git-reference
18655 (url "https://github.com/girzel/ebdb.git")
18656 (commit commit)))
18657 (file-name (git-file-name name version))
18658 (sha256
18659 (base32
18660 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
18661 (build-system emacs-build-system)
18662 (home-page "https://github.com/girzel/ebdb")
18663 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
18664 (description "EBDB is a contact management/addressbook package for
18665 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
18666 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
18667 (license license:gpl3+))))
18668
18669 (define-public emacs-refactor
18670 (package
18671 (name "emacs-refactor")
18672 (version "0.4")
18673 (source (origin
18674 (method git-fetch)
18675 (uri (git-reference
18676 (url "https://github.com/Wilfred/emacs-refactor.git")
18677 (commit version)))
18678 (file-name (git-file-name name version))
18679 (sha256
18680 (base32
18681 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
18682 (build-system emacs-build-system)
18683 (propagated-inputs
18684 `(("emacs-dash" ,emacs-dash)
18685 ("emacs-s" ,emacs-s)
18686 ("emacs-popup" ,emacs-popup)
18687 ("emacs-list-utils" ,emacs-list-utils)
18688 ("emacs-iedit" ,emacs-iedit)))
18689 (home-page "https://github.com/Wilfred/emacs-refactor/")
18690 (synopsis "Language-specific refactoring in Emacs")
18691 (description "Emacs Refactor (EMR) is a framework for providing
18692 language-specific refactoring in Emacs. It includes refactoring commands for
18693 a variety of languages, including elisp itself.")
18694 (license license:gpl3+)))
18695
18696 (define-public emacs-flyspell-correct
18697 (package
18698 (name "emacs-flyspell-correct")
18699 (version "0.5")
18700 (source
18701 (origin
18702 (method git-fetch)
18703 (uri (git-reference
18704 (url "https://github.com/d12frosted/flyspell-correct.git")
18705 (commit (string-append "v" version))))
18706 (file-name (git-file-name name version))
18707 (sha256
18708 (base32
18709 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
18710 (build-system emacs-build-system)
18711 (propagated-inputs
18712 `(("emacs-helm" ,emacs-helm)
18713 ("emacs-ivy" ,emacs-ivy)
18714 ("emacs-popup" ,emacs-popup)))
18715 (home-page
18716 "https://github.com/d12frosted/flyspell-correct")
18717 (synopsis
18718 "Correcting words with flyspell via custom interfaces")
18719 (description
18720 "This package provides functionality for correcting words via custom
18721 interfaces. Several interfaces are supported beside the classic ido: popup,
18722 helm and ivy.")
18723 (license license:gpl3+)))
18724
18725 (define-public emacs-org-emms
18726 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
18727 (revision "1"))
18728 (package
18729 (name "emacs-org-emms")
18730 (version
18731 (git-version "0.1" revision commit))
18732 (source
18733 (origin
18734 (method git-fetch)
18735 (uri (git-reference
18736 (url "https://gitlab.com/jagrg/org-emms.git")
18737 (commit commit)))
18738 (file-name (git-file-name name commit))
18739 (sha256
18740 (base32
18741 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
18742 (build-system emacs-build-system)
18743 (propagated-inputs
18744 `(("emms" ,emacs-emms)
18745 ("emacs-org" ,emacs-org)))
18746 (home-page "https://gitlab.com/jagrg/org-emms")
18747 (synopsis "Play multimedia files from org-mode")
18748 (description
18749 "This package provides a new org link type for playing back multimedia
18750 files from org-mode using EMMS, The Emacs Multimedia System. If the link
18751 contains a track position, playback will start at the specified position.")
18752 (license license:gpl3+))))
18753
18754 (define-public emacs-org-jira
18755 (package
18756 (name "emacs-org-jira")
18757 (version "4.3.1")
18758 (source
18759 (origin
18760 (method git-fetch)
18761 (uri (git-reference
18762 (url "https://github.com/ahungry/org-jira.git")
18763 (commit version)))
18764 (file-name (git-file-name name version))
18765 (sha256
18766 (base32
18767 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
18768 (build-system emacs-build-system)
18769 (propagated-inputs
18770 `(("emacs-request" ,emacs-request)
18771 ("emacs-s" ,emacs-s)
18772 ("emacs-dash" ,emacs-dash)
18773 ("emacs-org" ,emacs-org)))
18774 (home-page "https://github.com/ahungry/org-jira")
18775 (synopsis "Syncing between Jira and Org-mode")
18776 (description
18777 "This package provides an extension to org-mode for syncing issues with
18778 JIRA issue servers.")
18779 (license license:gpl3+)))
18780
18781 (define-public emacs-systemd-mode
18782 (package
18783 (name "emacs-systemd-mode")
18784 (version "1.6")
18785 (source (origin
18786 (method git-fetch)
18787 (uri (git-reference
18788 (url "https://github.com/holomorph/systemd-mode.git")
18789 (commit (string-append "v" version))))
18790 (file-name (git-file-name name version))
18791 (sha256
18792 (base32
18793 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
18794 (build-system emacs-build-system)
18795 (arguments '(#:include '("\\.el$" "\\.txt$")))
18796 (home-page "https://github.com/holomorph/systemd-mode")
18797 (synopsis
18798 "Major mode for editing systemd units")
18799 (description
18800 "Major mode for editing systemd units in GNU Emacs.")
18801 (license license:gpl3+)))
18802
18803 (define-public emacs-ssh-config-mode
18804 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
18805 (revision "1"))
18806 (package
18807 (name "emacs-ssh-config-mode")
18808 (version (git-version "8.0" revision commit))
18809 (source
18810 (origin
18811 (method git-fetch)
18812 (uri
18813 (git-reference
18814 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
18815 (commit commit)))
18816 (file-name (git-file-name name commit))
18817 (sha256
18818 (base32
18819 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
18820 (build-system emacs-build-system)
18821 (arguments '(#:include '("\\.el$" "\\.txt$")))
18822 (home-page
18823 "https://github.com/jhgorrell/ssh-config-mode-el")
18824 (synopsis
18825 "Mode for fontification of ~/.ssh/config")
18826 (description
18827 "This package fontifies the ssh config keywords and creates
18828 keybindings for skipping from host section to host section.")
18829 (license license:gpl3+))))
18830
18831 (define-public emacs-ssh-agency
18832 (package
18833 (name "emacs-ssh-agency")
18834 (version "0.4")
18835 (source (origin
18836 (method git-fetch)
18837 (uri (git-reference
18838 (url "https://github.com/magit/ssh-agency.git")
18839 (commit version)))
18840 (file-name (git-file-name name version))
18841 (sha256
18842 (base32
18843 "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"))))
18844 (build-system emacs-build-system)
18845 (propagated-inputs
18846 `(("dash" ,emacs-dash)))
18847 (home-page "https://github.com/magit/ssh-agency")
18848 (synopsis "Manage @code{ssh-agent} from Emacs")
18849 (description
18850 "This package provides functions to startup @code{ssh-agent}, set the
18851 needed environment variables in Emacs, and prompt for passphrases from within
18852 Emacs so that pushes and pulls from @code{magit} will not require entering any
18853 passphrase.
18854
18855 It can also be useful on Unix-like platforms to delay having to enter your
18856 passphrase until the first time you push to a remote.")
18857 (license license:gpl3+)))
18858
18859 (define-public emacs-tao-theme
18860 (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c")
18861 (revision "0"))
18862 (package
18863 (name "emacs-tao-theme")
18864 (version (git-version "0" revision commit))
18865 (source
18866 (origin
18867 (method git-fetch)
18868 (uri (git-reference
18869 (url "https://github.com/11111000000/tao-theme-emacs.git")
18870 (commit commit)))
18871 (file-name (git-file-name name version))
18872 (sha256
18873 (base32
18874 "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"))))
18875 (build-system emacs-build-system)
18876 (home-page "https://github.com/11111000000/tao-theme-emacs")
18877 (synopsis "Parameterized uncolored color themes for Emacs")
18878 (description
18879 "This package provides two parameterized uncolored color themes for
18880 Emacs: @code{tao-yin} and @code{tao-yang}. The default
18881 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
18882
18883 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
18884 @code{tao-theme-scale-filter-fn}, for edge filter; and
18885 @code{tao-theme-use-height}.")
18886 (license license:gpl3+))))
18887
18888 (define-public emacs-doom-themes
18889 (package
18890 (name "emacs-doom-themes")
18891 (version "2.1.6")
18892 (source (origin
18893 (method git-fetch)
18894 (uri (git-reference
18895 (url "https://github.com/hlissner/emacs-doom-themes.git")
18896 (commit (string-append "v" version))))
18897 (file-name (git-file-name name version))
18898 (sha256
18899 (base32 "042pzcdhxi2z07jcscgjbaki9nrrm0cbgbbrnymd1r4q8ckkn8l9"))))
18900 (build-system emacs-build-system)
18901 (native-inputs
18902 `(("emacs-ert-runner" ,emacs-ert-runner)))
18903 (arguments
18904 `(#:tests? #t
18905 #:test-command '("ert-runner")
18906 #:phases
18907 (modify-phases %standard-phases
18908 (add-after 'unpack 'move-themes
18909 (lambda _
18910 ;; Move the source files to the top level, which is in the
18911 ;; EMACSLOADPATH.
18912 (for-each (lambda (f)
18913 (rename-file f (basename f)))
18914 (find-files "./themes" ".*\\.el$"))
18915 #t)))))
18916 (synopsis "Wide collection of color themes for Emacs")
18917 (description "Emacs-doom-themes contains numerous popular color themes for
18918 Emacs that integrate with major modes like Org-mode.")
18919 (home-page "https://github.com/hlissner/emacs-doom-themes")
18920 (license license:expat)))
18921
18922 (define-public emacs-elixir-mode
18923 (package
18924 (name "emacs-elixir-mode")
18925 (version "2.3.1")
18926 (source
18927 (origin
18928 (method git-fetch)
18929 (uri (git-reference
18930 (url "https://github.com/elixir-editors/emacs-elixir.git")
18931 (commit (string-append "v" version))))
18932 (file-name (git-file-name name version))
18933 (sha256
18934 (base32 "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"))))
18935 (build-system emacs-build-system)
18936 (propagated-inputs
18937 `(("emacs-pkg-info" ,emacs-pkg-info)))
18938 (home-page
18939 "https://github.com/elixir-editors/emacs-elixir")
18940 (synopsis "Major mode for editing Elixir files")
18941 (description
18942 "Elixir-Mode Provides font-locking, indentation and navigation support
18943 for the Elixir programming language.")
18944 (license license:gpl3+)))