gnu: emacs-tiny: Update to 0.2.1-1.fd8a6b0.
[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 (package
2950 (name "emacs-rspec")
2951 (version "1.11")
2952 (source
2953 (origin
2954 (method git-fetch)
2955 (uri (git-reference
2956 (url "https://github.com/pezra/rspec-mode.git")
2957 (commit (string-append "v" version))))
2958 (file-name (git-file-name name version))
2959 (sha256
2960 (base32 "0hrn5n7aaymwimk511kjij44vqaxbmhly1gwmlmsrnbvvma7f2mp"))))
2961 (build-system emacs-build-system)
2962 (home-page "https://github.com/pezra/rspec-mode")
2963 (synopsis "Provides a rspec mode for working with RSpec")
2964 (description
2965 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2966 verify the spec associated with the current buffer, or entire project, as well
2967 as moving between the spec files, and corresponding code files.
2968
2969 Also included are keybindings for spec files and Dired buffers, as well as
2970 snippets for yasnippet.")
2971 (license license:gpl3+)))
2972
2973 (define-public emacs-smart-mode-line
2974 (package
2975 (name "emacs-smart-mode-line")
2976 (version "2.13")
2977 (source
2978 (origin
2979 (method git-fetch)
2980 (uri (git-reference
2981 (url "https://github.com/Malabarba/smart-mode-line.git")
2982 (commit version)))
2983 (file-name (git-file-name name version))
2984 (sha256
2985 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
2986 (build-system emacs-build-system)
2987 (propagated-inputs
2988 `(("emacs-rich-minority" ,emacs-rich-minority)))
2989 (home-page "https://github.com/Malabarba/smart-mode-line")
2990 (synopsis "Color-coded smart mode-line")
2991 (description
2992 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2993 read from small to large monitors by using colors, a prefix feature, and smart
2994 truncation.")
2995 (license license:gpl2+)))
2996
2997 (define-public emacs-sr-speedbar
2998 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2999 (revision "0"))
3000 (package
3001 (name "emacs-sr-speedbar")
3002 (version (git-version "20161025" revision commit))
3003 (source
3004 (origin
3005 (method git-fetch)
3006 (uri (git-reference
3007 (url "https://github.com/emacsorphanage/sr-speedbar.git")
3008 (commit commit)))
3009 (file-name (git-file-name name version))
3010 (sha256
3011 (base32
3012 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
3013 (build-system emacs-build-system)
3014 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
3015 (synopsis "Same frame Emacs @code{speedbar}")
3016 (description
3017 "This Emacs package allows you to show @code{M-x speedbar} in the
3018 same frame (in an extra window). You can customize the initial width of
3019 the speedbar window.")
3020 (license license:gpl3+))))
3021
3022 (define-public emacs-shell-switcher
3023 (package
3024 (name "emacs-shell-switcher")
3025 (version "1.0.1")
3026 (source
3027 (origin
3028 (method git-fetch)
3029 (uri (git-reference
3030 (url "https://github.com/DamienCassou/shell-switcher.git")
3031 (commit (string-append "v" version))))
3032 (file-name (git-file-name name version))
3033 (sha256
3034 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
3035 (build-system emacs-build-system)
3036 (home-page "https://github.com/DamienCassou/shell-switcher")
3037 (synopsis "Provide fast switching between shell buffers")
3038 (description
3039 "This package provides commands to quickly switch between shell buffers.")
3040 (license license:gpl3+)))
3041
3042 (define-public emacs-names
3043 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
3044 (version "20151201.0")
3045 (revision "8"))
3046 (package
3047 (name "emacs-names")
3048 (version (git-version version revision commit))
3049 (source
3050 (origin
3051 (method git-fetch)
3052 (uri (git-reference
3053 (url "https://github.com/Malabarba/names")
3054 (commit commit)))
3055 (file-name (git-file-name name version))
3056 (sha256
3057 (base32
3058 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
3059 (build-system emacs-build-system)
3060 (home-page "https://github.com/Malabarba/names/")
3061 (synopsis "Namespace implementation for Emacs Lisp")
3062 (description
3063 "This package provides a macro that writes your namespaces for you.")
3064 (license license:gpl3+))))
3065
3066 (define-public emacs-evil-textobj-syntax
3067 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
3068 (version "0")
3069 (revision "1"))
3070 (package
3071 (name "emacs-evil-textobj-syntax")
3072 (version (git-version version revision commit))
3073 (source
3074 (origin
3075 (method git-fetch)
3076 (uri (git-reference
3077 (url "https://github.com/laishulu/evil-textobj-syntax/")
3078 (commit commit)))
3079 (file-name (git-file-name name version))
3080 (sha256
3081 (base32
3082 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
3083 (build-system emacs-build-system)
3084 (propagated-inputs `(("emacs-evil" ,emacs-evil)
3085 ("emacs-names" ,emacs-names)))
3086 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
3087 (synopsis "Text objects based on syntax highlighting")
3088 (description
3089 "This package provides text objects for @code{evil-mode} with
3090 boundaries defined by syntax highlighting.")
3091 (license license:gpl3+))))
3092
3093 (define-public emacs-flycheck-flow
3094 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
3095 (version "1.1")
3096 (revision "1"))
3097 (package
3098 (name "emacs-flycheck-flow")
3099 (version (git-version version revision commit))
3100 (source
3101 (origin
3102 (method git-fetch)
3103 (uri (git-reference
3104 (url "https://github.com/lbolla/emacs-flycheck-flow")
3105 (commit commit)))
3106 (file-name (git-file-name name version))
3107 (sha256
3108 (base32
3109 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
3110 (build-system emacs-build-system)
3111 (propagated-inputs
3112 `(("emacs-flycheck" ,emacs-flycheck)))
3113 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
3114 (synopsis "Flow support for @code{flycheck-mode}")
3115 (description
3116 "This package allows @code{flycheck-mode} to provide syntax-checking
3117 for Flow files.")
3118 (license license:gpl3+))))
3119
3120 (define-public emacs-flycheck-grammalecte
3121 (package
3122 (name "emacs-flycheck-grammalecte")
3123 (version "0.9")
3124 (source (origin
3125 (method url-fetch)
3126 (uri (string-append "https://git.deparis.io/"
3127 "flycheck-grammalecte/snapshot/"
3128 "flycheck-grammalecte-" version ".tar.xz"))
3129 (sha256
3130 (base32
3131 "0wjm9xyra870pci4bcrbnc9x66x18mi7iz08rkxa4clxv28xzryb"))))
3132 (build-system emacs-build-system)
3133 (arguments
3134 `(#:include '("\\.(el|py)$")
3135 #:phases
3136 (modify-phases %standard-phases
3137 (add-after 'unpack 'fix-python
3138 ;; Hardcode python3 executable in the Emacs library.
3139 (lambda* (#:key inputs #:allow-other-keys)
3140 (let ((python3 (string-append (assoc-ref inputs "python")
3141 "/bin/python3")))
3142 (substitute* "flycheck-grammalecte.el"
3143 (("python3") python3))
3144 #t)))
3145 (add-after 'install 'link-to-grammalecte
3146 ;; The package expects grammalecte to be in a sub-directory.
3147 ;; Symlink it there from the store.
3148 (lambda* (#:key inputs outputs #:allow-other-keys)
3149 (let ((grammalecte (assoc-ref inputs "grammalecte"))
3150 (out (assoc-ref outputs "out"))
3151 (version ,(version-major+minor (package-version python))))
3152 (with-directory-excursion
3153 (string-append out
3154 "/share/emacs/site-lisp/guix.d/"
3155 "flycheck-grammalecte-" ,version)
3156 (symlink (string-append grammalecte "/lib/"
3157 "python" version "/site-packages/"
3158 "grammalecte")
3159 "grammalecte"))
3160 #t))))))
3161 (inputs
3162 `(("grammalecte" ,grammalecte)
3163 ("python" ,python)))
3164 (propagated-inputs
3165 `(("emacs-flycheck" ,emacs-flycheck)))
3166 (home-page "https://git.deparis.io/flycheck-grammalecte/")
3167 (synopsis "Integrate Grammalecte with Flycheck")
3168 (description "Integrate the French grammar and typography checker
3169 Grammalecte with Flycheck to automatically look for mistakes in your writings.
3170 It also provides an easy way to find synonyms and antonyms for a given
3171 word (to avoid repetitions for example).")
3172 (license license:gpl3+)))
3173
3174 (define-public emacs-elisp-demos
3175 (package
3176 (name "emacs-elisp-demos")
3177 (version "2019.08.16")
3178 (source
3179 (origin
3180 (method git-fetch)
3181 (uri (git-reference
3182 (url "https://github.com/xuchunyang/elisp-demos")
3183 (commit version)))
3184 (file-name (git-file-name name version))
3185 (sha256
3186 (base32
3187 "0lybadq66bl4snkwph9i1y0qxln29wyfjn222ii3nfwany28cj66"))))
3188 (build-system emacs-build-system)
3189 (arguments
3190 `(#:include '("\\.el$" "\\.org$")
3191 #:tests? #t
3192 #:test-command '("make" "test")))
3193 (home-page "https://github.com/xuchunyang/elisp-demos/")
3194 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3195 (description
3196 "This package injects example uses of Elisp functions into their
3197 respective @code{*Help*} buffers.")
3198 (license license:gpl3+)))
3199
3200 (define-public emacs-docker-compose-mode
3201 (package
3202 (name "emacs-docker-compose-mode")
3203 (version "1.1.0")
3204 (source
3205 (origin
3206 (method git-fetch)
3207 (uri (git-reference
3208 (url "https://github.com/meqif/docker-compose-mode")
3209 (commit version)))
3210 (file-name (git-file-name name version))
3211 (sha256
3212 (base32
3213 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3214 (build-system emacs-build-system)
3215 (propagated-inputs
3216 `(("emacs-dash" ,emacs-dash)
3217 ("emacs-f" ,emacs-f)))
3218 (home-page "https://github.com/meqif/docker-compose-mode/")
3219 (synopsis "Major mode for editing @file{docker-compose} files")
3220 (description
3221 "This is a major mode for @file{docker-compose} files that provides
3222 completion of relevant keywords.")
3223 (license license:expat)))
3224
3225 (define-public emacs-sudo-edit
3226 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3227 (revision "6"))
3228 (package
3229 (name "emacs-sudo-edit")
3230 (version (git-version "0.1.0" revision commit))
3231 (source
3232 (origin
3233 (method git-fetch)
3234 (uri (git-reference
3235 (url "https://github.com/nflath/sudo-edit")
3236 (commit commit)))
3237 (file-name (git-file-name name version))
3238 (sha256
3239 (base32
3240 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3241 (build-system emacs-build-system)
3242 (native-inputs
3243 `(("emacs-undercover" ,emacs-undercover)))
3244 (arguments
3245 `(#:phases
3246 (modify-phases %standard-phases
3247 (add-before 'check 'fix-makefile
3248 (lambda _
3249 (substitute* "Makefile"
3250 (("\\$\\(CASK\\) exec ") ""))
3251 #t)))
3252 #:tests? #t
3253 #:test-command '("make" "test")))
3254 (home-page "https://github.com/nflath/sudo-edit/")
3255 (synopsis "Open files as another user")
3256 (description
3257 "This package allows editing files as another user, including the root
3258 user.")
3259 (license license:gpl3+))))
3260
3261 (define-public emacs-miniedit
3262 (package
3263 (name "emacs-miniedit")
3264 (version "2.0")
3265 (source
3266 (origin
3267 (method git-fetch)
3268 (uri (git-reference
3269 (url "https://github.com/emacsmirror/miniedit")
3270 (commit version)))
3271 (file-name (git-file-name name version))
3272 (sha256
3273 (base32
3274 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3275 (build-system emacs-build-system)
3276 (home-page "https://github.com/emacsmirror/miniedit/")
3277 (synopsis "Enhanced editing for minibuffer fields")
3278 (description
3279 "This package provides a function that can be called from the
3280 minibuffer to enable editing the minibuffer input in another buffer with
3281 @code{text-mode} enabled.")
3282 (license license:gpl2+)))
3283
3284 (define-public emacs-ob-ipython
3285 (package
3286 (name "emacs-ob-ipython")
3287 (version "20150704.8807064693")
3288 (source (origin
3289 (method git-fetch)
3290 (uri (git-reference
3291 (commit "880706469338ab59b5bb7dbe8460016f89755364")
3292 (url "https://github.com/gregsexton/ob-ipython.git")))
3293 (file-name (git-file-name name version))
3294 (sha256
3295 (base32
3296 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
3297 (build-system emacs-build-system)
3298 (propagated-inputs
3299 `(("emacs-f" ,emacs-f)))
3300 (home-page "http://www.gregsexton.org")
3301 (synopsis "Org-Babel functions for IPython evaluation")
3302 (description "This package adds support to Org-Babel for evaluating Python
3303 source code using IPython.")
3304 (license license:gpl3+)))
3305
3306 (define-public emacs-debbugs
3307 (package
3308 (name "emacs-debbugs")
3309 (version "0.19")
3310 (source (origin
3311 (method url-fetch)
3312 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3313 version ".tar"))
3314 (sha256
3315 (base32
3316 "0cpby8f088cqb5mpd756a2mb706x763k15cg2xdmmsxl415k3yw4"))))
3317 (build-system emacs-build-system)
3318 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3319 (propagated-inputs
3320 `(("emacs-async" ,emacs-async)))
3321 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3322 (synopsis "Access the Debbugs bug tracker in Emacs")
3323 (description
3324 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3325 Tracker} from within Emacs.
3326
3327 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3328 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3329 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3330 @code{M-x debbugs-org} and related commands.
3331
3332 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3333 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3334 (license license:gpl3+)))
3335
3336 (define-public emacs-ert-expectations
3337 (package
3338 (name "emacs-ert-expectations")
3339 (version "0.2")
3340 (source
3341 (origin
3342 (method url-fetch)
3343 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3344 (sha256
3345 (base32
3346 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3347 (build-system emacs-build-system)
3348 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3349 (synopsis "Simple unit test framework for Emacs Lisp")
3350 (description "@code{emacs-ert-expectations} is a simple unit test
3351 framework for Emacs Lisp to be used with @code{ert}.")
3352 (license license:gpl3+)))
3353
3354 (define-public emacs-deferred
3355 (package
3356 (name "emacs-deferred")
3357 (version "0.5.1")
3358 (home-page "https://github.com/kiwanami/emacs-deferred")
3359 (source (origin
3360 (method git-fetch)
3361 (uri (git-reference
3362 (url home-page)
3363 (commit (string-append "v" version))))
3364 (file-name (git-file-name name version))
3365 (sha256
3366 (base32
3367 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3368 (build-system emacs-build-system)
3369 (arguments
3370 `(#:phases
3371 (modify-phases %standard-phases
3372 (add-after 'unpack 'set-shell
3373 ;; Setting the SHELL environment variable is required for the tests
3374 ;; to find sh.
3375 (lambda _
3376 (setenv "SHELL" (which "sh"))
3377 #t))
3378 (add-before 'check 'fix-makefile
3379 (lambda _
3380 (substitute* "Makefile"
3381 (("\\$\\(CASK\\) exec ") ""))
3382 #t)))
3383 #:tests? #t
3384 #:test-command '("make" "test")))
3385 (native-inputs
3386 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3387 ("emacs-undercover" ,emacs-undercover)
3388 ("ert-runner" ,emacs-ert-runner)))
3389 (synopsis "Simple asynchronous functions for Emacs Lisp")
3390 (description
3391 "The @code{deferred.el} library provides support for asynchronous tasks.
3392 The API is almost the same as that of
3393 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3394 for asynchronous tasks.")
3395 (license license:gpl3+)))
3396
3397 (define-public emacs-butler
3398 (package
3399 (name "emacs-butler")
3400 (version "0.2.4")
3401 (home-page "https://github.com/AshtonKem/Butler")
3402 (source (origin
3403 (method git-fetch)
3404 (uri (git-reference
3405 (url home-page)
3406 (commit version)))
3407 (file-name (git-file-name name version))
3408 (sha256
3409 (base32
3410 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3411 (build-system emacs-build-system)
3412 (propagated-inputs
3413 `(("emacs-deferred" ,emacs-deferred)))
3414 (synopsis "Emacs client for Jenkins")
3415 (description
3416 "Butler provides an interface to connect to Jenkins continuous
3417 integration servers. Users can specify a list of server in the
3418 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3419 view the build status of those servers' build jobs, and possibly to trigger
3420 build jobs.")
3421 (license license:gpl3+)))
3422
3423 (define-public emacs-company
3424 (package
3425 (name "emacs-company")
3426 (version "0.9.10")
3427 (source
3428 (origin
3429 (method git-fetch)
3430 (uri (git-reference
3431 (url "https://github.com/company-mode/company-mode.git")
3432 (commit version)))
3433 (file-name (git-file-name name version))
3434 (sha256
3435 (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
3436 (build-system emacs-build-system)
3437 (arguments
3438 `(#:phases
3439 (modify-phases %standard-phases
3440 (add-before 'check 'fix-bin-dir
3441 (lambda _
3442 ;; The company-files-candidates-normal-root test looks
3443 ;; for the /bin directory, but the build environment has
3444 ;; no /bin directory. Modify the test to look for the
3445 ;; /tmp directory.
3446 (substitute* "test/files-tests.el"
3447 (("/bin/") "/tmp/"))
3448 #t)))
3449 #:tests? #t
3450 #:test-command '("make" "test-batch")))
3451 (home-page "http://company-mode.github.io/")
3452 (synopsis "Modular text completion framework")
3453 (description
3454 "Company is a modular completion mechanism. Modules for retrieving
3455 completion candidates are called back-ends, modules for displaying them are
3456 front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3457 These are distributed in separate files and can be used individually.")
3458 (license license:gpl3+)))
3459
3460 (define-public emacs-irony-mode
3461 (package
3462 (name "emacs-irony-mode")
3463 (version "1.2.0")
3464 (home-page "https://github.com/Sarcasm/irony-mode")
3465 (source (origin
3466 (method git-fetch)
3467 (uri (git-reference
3468 (url (string-append home-page ".git"))
3469 (commit (string-append "v" version))))
3470 (file-name (git-file-name name version))
3471 (sha256
3472 (base32
3473 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
3474 (build-system emacs-build-system)
3475 (inputs `(("server" ,emacs-irony-mode-server)))
3476 (arguments `(#:phases
3477 (modify-phases %standard-phases
3478 (add-after 'unpack 'configure
3479 (lambda* (#:key inputs #:allow-other-keys)
3480 (chmod "irony.el" #o644)
3481 (emacs-substitute-variables "irony.el"
3482 ("irony-server-install-prefix"
3483 (assoc-ref inputs "server")))
3484 #t)))))
3485 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3486 (description "Irony-mode provides Clang-assisted syntax checking and
3487 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3488 provide syntax checking and autocompletion on compiler level which is very
3489 resistant against false positives. It also integrates well with other
3490 packages like @code{eldoc-mode} and especially @code{company-mode} as
3491 described on the homepage.")
3492 (license license:gpl3+)))
3493
3494 (define-public emacs-irony-mode-server
3495 (package (inherit emacs-irony-mode)
3496 (name "emacs-irony-mode-server")
3497 (inputs
3498 `(("clang" ,clang)))
3499 (arguments
3500 `(#:phases
3501 (modify-phases %standard-phases
3502 (replace 'configure
3503 (lambda* (#:key outputs #:allow-other-keys)
3504 (let ((out (assoc-ref outputs "out")))
3505 (invoke "cmake"
3506 "server"
3507 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3508 (build-system cmake-build-system)
3509 (synopsis "Server for the Emacs @dfn{irony mode}")))
3510
3511 (define-public emacs-company-irony
3512 (package
3513 (name "emacs-company-irony")
3514 (version "1.1.0")
3515 (source (origin
3516 (method git-fetch)
3517 (uri (git-reference
3518 (url "https://github.com/Sarcasm/company-irony.git")
3519 (commit (string-append "v" version))))
3520 (sha256 (base32
3521 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3522 (file-name (git-file-name name version))))
3523 (build-system emacs-build-system)
3524 (inputs
3525 `(("emacs-irony-mode" ,emacs-irony-mode)
3526 ("emacs-company" ,emacs-company)))
3527 (synopsis "C++ completion backend for Company using irony-mode")
3528 (description "This backend for company-mode allows for C++ code completion
3529 with irony-mode using clang-tooling.")
3530 (home-page "https://github.com/Sarcasm/company-irony")
3531 (license license:gpl3+)))
3532
3533 (define-public emacs-flycheck-irony
3534 (package
3535 (name "emacs-flycheck-irony")
3536 (version "0.1.0")
3537 (source (origin
3538 (method git-fetch)
3539 (uri (git-reference
3540 (url "https://github.com/Sarcasm/flycheck-irony.git")
3541 (commit (string-append "v" version))))
3542 (file-name (git-file-name name version))
3543 (sha256
3544 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3545 (build-system emacs-build-system)
3546 (inputs
3547 `(("irony-mode" ,emacs-irony-mode)
3548 ("flycheck-mode" ,emacs-flycheck)
3549 ("emacs-company" ,emacs-company)))
3550 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3551 (description "This package provides a frontend for Flycheck that lets
3552 irony-mode do the syntax checking.")
3553 (home-page "https://github.com/Sarcasm/flycheck-irony")
3554 (license license:gpl3+)))
3555
3556 (define-public emacs-irony-eldoc
3557 (package
3558 (name "emacs-irony-eldoc")
3559 (version (package-version emacs-irony-mode))
3560 (source
3561 (origin
3562 (method git-fetch)
3563 (uri (git-reference
3564 (url "https://github.com/ikirill/irony-eldoc.git")
3565 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3566 (file-name (git-file-name name version))
3567 (sha256
3568 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3569 (build-system emacs-build-system)
3570 (inputs
3571 `(("irony-mode" ,emacs-irony-mode)))
3572 (synopsis "Eldoc integration for irony-mode")
3573 (description "Irony-eldoc is an eldoc extension that shows documentation
3574 for the current function or variable in the minibuffer.")
3575 (home-page "https://github.com/ikirill/irony-eldoc")
3576 (license license:gpl3+)))
3577
3578 (define-public emacs-company-quickhelp
3579 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
3580 ;; so we use the latest 2.2.0 commit instead
3581 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
3582 (revision "1"))
3583 (package
3584 (name "emacs-company-quickhelp")
3585 (version (git-version "2.2.0" revision commit))
3586 (source
3587 (origin
3588 (method git-fetch)
3589 (uri (git-reference
3590 (url "https://github.com/expez/company-quickhelp.git")
3591 (commit commit)))
3592 (file-name (git-file-name name version))
3593 (sha256
3594 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
3595 (build-system emacs-build-system)
3596 (propagated-inputs
3597 `(("emacs-pos-tip" ,emacs-pos-tip)
3598 ("emacs-company" ,emacs-company)))
3599 (home-page "https://github.com/expez/company-quickhelp")
3600 (synopsis "Popup documentation for completion candidates")
3601 (description "@code{company-quickhelp} shows documentation for the
3602 completion candidate when using the Company text completion framework.")
3603 (license license:gpl3+))))
3604
3605 (define-public emacs-math-symbol-lists
3606 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
3607 (revision "1"))
3608 (package
3609 (name "emacs-math-symbol-lists")
3610 (version (git-version "1.2.1" revision commit))
3611 (source
3612 (origin
3613 (method git-fetch)
3614 (uri (git-reference
3615 (url "https://github.com/vspinu/math-symbol-lists.git")
3616 (commit commit)))
3617 (file-name (git-file-name name version))
3618 (sha256
3619 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
3620 (build-system emacs-build-system)
3621 (home-page "https://github.com/vspinu/math-symbol-lists")
3622 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
3623 (description "This is a storage package used by completion engines like
3624 @code{company-math}.")
3625 (license license:gpl3+))))
3626
3627 (define-public emacs-company-math
3628 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
3629 (revision "1"))
3630 (package
3631 (name "emacs-company-math")
3632 (version (git-version "1.3" revision commit))
3633 (source
3634 (origin
3635 (method git-fetch)
3636 (uri (git-reference
3637 (url "https://github.com/vspinu/company-math.git")
3638 (commit commit)))
3639 (file-name (git-file-name name version))
3640 (sha256
3641 (base32
3642 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
3643 (build-system emacs-build-system)
3644 (propagated-inputs
3645 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
3646 ("emacs-company" ,emacs-company)))
3647 (home-page "https://github.com/vspinu/company-math")
3648 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
3649 (description "This package provides a backend for use with
3650 @code{company-mode} allowing for completion of common math symbols.")
3651 (license license:gpl3+))))
3652
3653 (define-public emacs-compdef
3654 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
3655 (revision "2"))
3656 (package
3657 (name "emacs-compdef")
3658 (version (git-version "0.2" revision commit))
3659 (source
3660 (origin
3661 (method git-fetch)
3662 (uri (git-reference
3663 (url "https://gitlab.com/jjzmajic/compdef.git")
3664 (commit commit)))
3665 (file-name (git-file-name name version))
3666 (sha256
3667 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
3668 (build-system emacs-build-system)
3669 (home-page "https://gitlab.com/jjzmajic/compdef")
3670 (synopsis "Set local completion backends")
3671 (description "This package provides a function to cleanly set local
3672 completion backends according to mode, and integrates with
3673 @code{use-package}.")
3674 (license license:gpl3+))))
3675
3676 (define-public emacs-handle
3677 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
3678 (revision "2"))
3679 (package
3680 (name "emacs-handle")
3681 (version (git-version "0.1" revision commit))
3682 (source
3683 (origin
3684 (method git-fetch)
3685 (uri (git-reference
3686 (url "https://gitlab.com/jjzmajic/handle.git")
3687 (commit commit)))
3688 (file-name (git-file-name name version))
3689 (sha256
3690 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
3691 (build-system emacs-build-system)
3692 (propagated-inputs
3693 `(("emacs-parent-mode" ,emacs-parent-mode)))
3694 (home-page "https://gitlab.com/jjzmajic/handle")
3695 (synopsis "Handle generic functions across related major modes")
3696 (description "This package provides generic functions that specialize on
3697 major modes and intended purpose rather than on arguments. Different
3698 callables for tasks like expression evaluation, definition-jumping, and more
3699 can now be grouped accordingly and tried in sequence until one of them
3700 succeeds.")
3701 (license license:gpl3+))))
3702
3703 (define-public emacs-nswbuff
3704 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
3705 (revision "1"))
3706 (package
3707 (name "emacs-nswbuff")
3708 (version (git-version "1.0" revision commit))
3709 (source
3710 (origin
3711 (method git-fetch)
3712 (uri (git-reference
3713 (url "https://github.com/joostkremers/nswbuff.git")
3714 (commit commit)))
3715 (file-name (git-file-name name version))
3716 (sha256
3717 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
3718 (build-system emacs-build-system)
3719 (home-page "https://github.com/joostkremers/nswbuff")
3720 (synopsis "Quickly switch between buffers")
3721 (description "This package allows for navigating between buffers within
3722 a customizable list.")
3723 (license license:gpl3+))))
3724
3725 (define-public emacs-phi-search
3726 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
3727 (revision "1"))
3728 (package
3729 (name "emacs-phi-search")
3730 (version (git-version "20160630" revision commit))
3731 (source
3732 (origin
3733 (method git-fetch)
3734 (uri (git-reference
3735 (url "https://github.com/zk-phi/phi-search.git")
3736 (commit commit)))
3737 (file-name (git-file-name name version))
3738 (sha256
3739 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
3740 (build-system emacs-build-system)
3741 (home-page "https://github.com/zk-phi/phi-search")
3742 (synopsis "Interactive search compatible with @code{multiple-cursors}")
3743 (description "This package can be used with @code{multiple-cursors} to
3744 provide an incremental search that moves all fake cursors in sync.")
3745 (license license:gpl2+))))
3746
3747 (define-public emacs-phi-search-mc
3748 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
3749 (revision "1"))
3750 (package
3751 (name "emacs-phi-search-mc")
3752 (version (git-version "2.2.1" revision commit))
3753 (source
3754 (origin
3755 (method git-fetch)
3756 (uri (git-reference
3757 (url "https://github.com/knu/phi-search-mc.el.git")
3758 (commit commit)))
3759 (file-name (git-file-name name version))
3760 (sha256
3761 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
3762 (build-system emacs-build-system)
3763 (propagated-inputs
3764 `(("emacs-phi-search" ,emacs-phi-search)
3765 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3766 (home-page "https://github.com/knu/phi-search-mc.el")
3767 (synopsis "Extend @code{phi-search} with additional
3768 @code{multiple-cursors} functionality")
3769 (description "This package provides further integration between
3770 @code{multiple-cursors} and @code{phi-search}, a package that allows for
3771 interactive searches to move multiple fake cursors.")
3772 (license license:bsd-2))))
3773
3774 (define-public emacs-multiple-cursors
3775 (package
3776 (name "emacs-multiple-cursors")
3777 (version "1.4.0")
3778 (source
3779 (origin
3780 (method git-fetch)
3781 (uri (git-reference
3782 (url "https://github.com/magnars/multiple-cursors.el.git")
3783 (commit version)))
3784 (file-name (git-file-name name version))
3785 (sha256
3786 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
3787 (build-system emacs-build-system)
3788 (home-page "https://github.com/magnars/multiple-cursors.el")
3789 (synopsis "Multiple cursors for Emacs")
3790 (description
3791 "This package adds support to Emacs for editing text with multiple
3792 simultaneous cursors.")
3793 (license license:gpl3+)))
3794
3795 (define-public emacs-mc-extras
3796 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
3797 (revision "1"))
3798 (package
3799 (name "emacs-mc-extras")
3800 (version (git-version "1.2.4" revision commit))
3801 (source
3802 (origin
3803 (method git-fetch)
3804 (uri (git-reference
3805 (url "https://github.com/knu/mc-extras.el.git")
3806 (commit commit)))
3807 (file-name (git-file-name name version))
3808 (sha256
3809 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
3810 (build-system emacs-build-system)
3811 (propagated-inputs
3812 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3813 (home-page "https://github.com/knu/mc-extras.el")
3814 (synopsis "Extra functions for manipulating multiple cursors")
3815 (description
3816 "This package provides additional functions for
3817 @code{multiple-cursors}, including functions for marking s-expressions,
3818 comparing characters, removing cursors, and more.")
3819 (license license:bsd-2))))
3820
3821 (define-public emacs-typo
3822 (package
3823 (name "emacs-typo")
3824 (version "1.1")
3825 (home-page "https://github.com/jorgenschaefer/typoel")
3826 (source (origin
3827 (method git-fetch)
3828 (uri (git-reference
3829 (url home-page)
3830 (commit (string-append "v" version))))
3831 (file-name (git-file-name name version))
3832 (sha256
3833 (base32
3834 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
3835 (build-system emacs-build-system)
3836 (synopsis "Minor mode for typographic editing")
3837 (description
3838 "This package provides two Emacs modes, @code{typo-mode} and
3839 @code{typo-global-mode}. These modes automatically insert Unicode characters
3840 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
3841 automatically inserts a Unicode opening or closing quotation mark, depending
3842 on context.")
3843 (license license:gpl3+)))
3844
3845 (define-public emacs-company-lsp
3846 (package
3847 (name "emacs-company-lsp")
3848 (version "2.1.0")
3849 (source (origin
3850 (method git-fetch)
3851 (uri (git-reference
3852 (url "https://github.com/tigersoldier/company-lsp.git")
3853 (commit version)))
3854 (file-name (git-file-name name version))
3855 (sha256
3856 (base32
3857 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
3858 (build-system emacs-build-system)
3859 (propagated-inputs
3860 `(("emacs-dash" ,emacs-dash)
3861 ("emacs-lsp-mode" ,emacs-lsp-mode)
3862 ("emacs-company" ,emacs-company)
3863 ("emacs-s" ,emacs-s)
3864 ("emacs-dash" ,emacs-dash)))
3865 (native-inputs
3866 `(("emacs-buttercup" ,emacs-buttercup)))
3867 (arguments
3868 `(#:tests? #t
3869 #:test-command '("buttercup" "-L" ".")))
3870 (home-page "https://github.com/tigersoldier/company-lsp")
3871 (synopsis "Completion for @code{lsp-mode}")
3872 (description
3873 "This package provides completion features that are not possible with
3874 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
3875 characters and asynchronous fetching of completion candidates.")
3876 (license license:gpl3+)))
3877
3878 (define-public emacs-scheme-complete
3879 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
3880 (package
3881 (name "emacs-scheme-complete")
3882 (version (string-append "20151223." (string-take commit 8)))
3883 (source
3884 (origin
3885 (method git-fetch)
3886 (uri (git-reference
3887 (url "https://github.com/ashinn/scheme-complete.git")
3888 (commit commit)))
3889 (file-name (git-file-name name version))
3890 (sha256
3891 (base32
3892 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
3893 (patches
3894 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
3895 (build-system emacs-build-system)
3896 (home-page "https://github.com/ashinn/scheme-complete")
3897 (synopsis "Smart tab completion for Scheme in Emacs")
3898 (description
3899 "This file provides a single function, @code{scheme-smart-complete},
3900 which you can use for intelligent, context-sensitive completion for any Scheme
3901 implementation in Emacs. To use it just load this file and bind that function
3902 to a key in your preferred mode.")
3903 (license license:public-domain))))
3904
3905 (define-public emacs-scel
3906 (let ((version "20170629")
3907 (revision "1")
3908 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
3909 (package
3910 (name "emacs-scel")
3911 (version (git-version version revision commit))
3912 (source
3913 (origin
3914 (method git-fetch)
3915 (uri (git-reference
3916 (url "https://github.com/supercollider/scel.git")
3917 (commit commit)))
3918 (file-name (git-file-name name version))
3919 (sha256
3920 (base32
3921 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
3922 (build-system emacs-build-system)
3923 (arguments
3924 `(#:modules ((guix build emacs-build-system)
3925 ((guix build cmake-build-system) #:prefix cmake:)
3926 (guix build utils))
3927 #:imported-modules (,@%emacs-build-system-modules
3928 (guix build cmake-build-system))
3929 #:phases
3930 (modify-phases %standard-phases
3931 (add-after 'unpack 'configure
3932 (lambda* (#:key outputs #:allow-other-keys)
3933 (substitute* "el/CMakeLists.txt"
3934 (("share/emacs/site-lisp/SuperCollider")
3935 (string-append
3936 "share/emacs/site-lisp/guix.d/scel-" ,version)))
3937 ((assoc-ref cmake:%standard-phases 'configure)
3938 #:outputs outputs
3939 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
3940 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
3941 (lambda _
3942 (setenv "EMACSLOADPATH"
3943 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
3944 #t))
3945 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
3946 (inputs
3947 `(("supercollider" ,supercollider)))
3948 (native-inputs
3949 `(("cmake" ,cmake-minimal)))
3950 (home-page "https://github.com/supercollider/scel")
3951 (synopsis "SuperCollider Emacs interface")
3952 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
3953 SuperCollider is a platform for audio synthesis and algorithmic composition.")
3954 (license license:gpl2+))))
3955
3956 (define-public emacs-company-auctex
3957 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
3958 (revision "1"))
3959 (package
3960 (name "emacs-company-auctex")
3961 (version (git-version "0" revision commit))
3962 (source (origin
3963 (method git-fetch)
3964 (uri (git-reference
3965 (url "https://github.com/alexeyr/company-auctex")
3966 (commit commit)))
3967 (file-name (git-file-name name version))
3968 (sha256
3969 (base32
3970 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
3971 (build-system emacs-build-system)
3972 (propagated-inputs
3973 `(("emacs-yasnippet" ,emacs-yasnippet)
3974 ("emacs-auctex" ,emacs-auctex)
3975 ("emacs-company" ,emacs-company)))
3976 (home-page "https://github.com/alexeyr/company-auctex/")
3977 (synopsis "Completion for @code{AUCTeX}")
3978 (description
3979 "This package provides a group of backends permitting auto-completion
3980 for @code{AUCTeX}.")
3981 (license license:gpl3+))))
3982
3983 (define-public emacs-mit-scheme-doc
3984 (package
3985 (name "emacs-mit-scheme-doc")
3986 (version "20140203")
3987 (source
3988 (origin
3989 (modules '((guix build utils)))
3990 (snippet
3991 ;; keep only file of interest
3992 '(begin
3993 (for-each delete-file '("dot-emacs.el" "Makefile"))
3994 (install-file "6.945-config/mit-scheme-doc.el" ".")
3995 (delete-file-recursively "6.945-config")
3996 #t))
3997 (file-name (string-append name "-" version ".tar.bz2"))
3998 (method url-fetch)
3999 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
4000 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
4001 (sha256
4002 (base32
4003 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
4004 (build-system emacs-build-system)
4005 (inputs `(("mit-scheme" ,mit-scheme)))
4006 (arguments
4007 `(#:phases
4008 (modify-phases %standard-phases
4009 (add-after 'unpack 'configure-doc
4010 (lambda* (#:key inputs #:allow-other-keys)
4011 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
4012 (doc-dir (string-append mit-scheme-dir "/share/doc/"
4013 "mit-scheme-"
4014 ,(package-version mit-scheme))))
4015 (substitute* "mit-scheme-doc.el"
4016 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
4017 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
4018 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
4019 (synopsis "MIT-Scheme documentation lookup for Emacs")
4020 (description
4021 "This package provides a set of Emacs functions to search definitions of
4022 identifiers in the MIT-Scheme documentation.")
4023 (license license:gpl2+)))
4024
4025 (define-public emacs-constants
4026 (package
4027 (name "emacs-constants")
4028 (version "2.6")
4029 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
4030 (source
4031 (origin
4032 (method git-fetch)
4033 (uri (git-reference
4034 (url "https://github.com/fedeinthemix/emacs-constants.git")
4035 (commit (string-append "v" version))))
4036 (file-name (git-file-name name version))
4037 (sha256
4038 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
4039 (build-system emacs-build-system)
4040 (synopsis "Enter definition of constants into an Emacs buffer")
4041 (description
4042 "This package provides functions for inserting the definition of natural
4043 constants and units into an Emacs buffer.")
4044 (license license:gpl2+)))
4045
4046 (define-public emacs-tagedit
4047 (package
4048 (name "emacs-tagedit")
4049 (version "1.4.0")
4050 (source
4051 (origin
4052 (method git-fetch)
4053 (uri (git-reference
4054 (url "https://github.com/magnars/tagedit.git")
4055 (commit version)))
4056 (file-name (git-file-name name version))
4057 (sha256
4058 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
4059 (build-system emacs-build-system)
4060 (propagated-inputs
4061 `(("emacs-s" ,emacs-s)
4062 ("emacs-dash" ,emacs-dash)))
4063 (home-page "https://github.com/magnars/tagedit")
4064 (synopsis "Some paredit-like features for html-mode")
4065 (description
4066 "This package provides a collection of paredit-like functions for editing
4067 in @code{html-mode}.")
4068 (license license:gpl3+)))
4069
4070 (define-public emacs-slime
4071 (package
4072 (name "emacs-slime")
4073 (version "2.24")
4074 (source
4075 (origin
4076 (method git-fetch)
4077 (uri (git-reference
4078 (url "https://github.com/slime/slime.git")
4079 (commit (string-append "v" version))))
4080 (file-name (git-file-name name version))
4081 (sha256
4082 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
4083 (build-system emacs-build-system)
4084 (native-inputs
4085 `(("texinfo" ,texinfo)))
4086 (arguments
4087 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
4088 #:exclude '("^slime-tests.el" "^contrib/test/"
4089 "^contrib/Makefile$" "^contrib/README.md$")
4090 #:phases
4091 (modify-phases %standard-phases
4092 (add-after 'unpack 'make-git-checkout-writable
4093 (lambda _
4094 (for-each make-file-writable (find-files "."))
4095 #t))
4096 (add-before 'install 'configure
4097 (lambda* _
4098 (emacs-substitute-variables "slime.el"
4099 ("inferior-lisp-program" "sbcl"))
4100 #t))
4101 (add-before 'install 'install-doc
4102 (lambda* (#:key outputs #:allow-other-keys)
4103 (let* ((out (assoc-ref outputs "out"))
4104 (info-dir (string-append out "/share/info"))
4105 (doc-dir (string-append out "/share/doc/"
4106 ,name "-" ,version))
4107 (doc-files '("doc/slime-refcard.pdf"
4108 "README.md" "NEWS" "PROBLEMS"
4109 "CONTRIBUTING.md")))
4110 (with-directory-excursion "doc"
4111 (substitute* "Makefile"
4112 (("infodir=/usr/local/info")
4113 (string-append "infodir=" info-dir)))
4114 (invoke "make" "html/index.html")
4115 (invoke "make" "slime.info")
4116 (install-file "slime.info" info-dir)
4117 (copy-recursively "html" (string-append doc-dir "/html")))
4118 (for-each (lambda (f)
4119 (install-file f doc-dir)
4120 (delete-file f))
4121 doc-files)
4122 (delete-file-recursively "doc")
4123 #t))))))
4124 (home-page "https://github.com/slime/slime")
4125 (synopsis "Superior Lisp Interaction Mode for Emacs")
4126 (description
4127 "SLIME extends Emacs with support for interactive programming in
4128 Common Lisp. The features are centered around @command{slime-mode},
4129 an Emacs minor mode that complements the standard @command{lisp-mode}.
4130 While lisp-mode supports editing Lisp source files, @command{slime-mode}
4131 adds support for interacting with a running Common Lisp process
4132 for compilation, debugging, documentation lookup, and so on.")
4133 (license (list license:gpl2+ license:public-domain))))
4134
4135 (define-public emacs-popup
4136 (package
4137 (name "emacs-popup")
4138 (version "0.5.3")
4139 (source
4140 (origin
4141 (method git-fetch)
4142 (uri (git-reference
4143 (url "https://github.com/auto-complete/popup-el.git")
4144 (commit (string-append "v" version))))
4145 (file-name (git-file-name name version))
4146 (sha256
4147 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
4148 (build-system emacs-build-system)
4149 (home-page "https://github.com/auto-complete/popup-el")
4150 (synopsis "Visual Popup User Interface for Emacs")
4151 (description
4152 "Popup.el is a visual popup user interface library for Emacs.
4153 This provides a basic API and common UI widgets such as popup tooltips
4154 and popup menus.")
4155 (license license:gpl3+)))
4156
4157 (define-public emacs-python-environment
4158 (package
4159 (name "emacs-python-environment")
4160 (version "0.0.2")
4161 (source
4162 (origin
4163 (method git-fetch)
4164 (uri (git-reference
4165 (url "https://github.com/tkf/emacs-python-environment/")
4166 (commit version)))
4167 (file-name (git-file-name name version))
4168 (sha256
4169 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
4170 (build-system emacs-build-system)
4171 (propagated-inputs
4172 `(("emacs-deferred" ,emacs-deferred)))
4173 (home-page "https://github.com/tkf/emacs-python-environment")
4174 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
4175 (description
4176 "This package permits automated installation of tools written in Python.")
4177 (license license:gpl3+)))
4178
4179 (define-public emacs-jedi
4180 (package
4181 (name "emacs-jedi")
4182 (version "0.2.7")
4183 (source (origin
4184 (method git-fetch)
4185 (uri (git-reference
4186 (url "https://github.com/tkf/emacs-jedi/")
4187 (commit (string-append "v" version))))
4188 (file-name (git-file-name name version))
4189 (sha256
4190 (base32
4191 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
4192 (build-system emacs-build-system)
4193 (native-inputs
4194 `(("emacs-mocker" ,emacs-mocker)))
4195 (propagated-inputs
4196 `(("emacs-auto-complete" ,emacs-auto-complete)
4197 ("emacs-python-environment" ,emacs-python-environment)
4198 ("emacs-epc" ,emacs-epc)))
4199 (home-page "https://github.com/tkf/emacs-jedi")
4200 (synopsis "Provides Python completion in Emacs")
4201 (description
4202 "This package provides completion in Python buffers and also helps find
4203 the locations of docstrings, arguments, and functions.")
4204 (license license:gpl3+)))
4205
4206 (define-public emacs-company-jedi
4207 (package
4208 (name "emacs-company-jedi")
4209 (version "0.04")
4210 (source (origin
4211 (method git-fetch)
4212 (uri (git-reference
4213 (url "https://github.com/syohex/emacs-company-jedi")
4214 (commit version)))
4215 (file-name (git-file-name name version))
4216 (sha256
4217 (base32
4218 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
4219 (build-system emacs-build-system)
4220 (propagated-inputs
4221 `(("emacs-jedi" ,emacs-jedi)
4222 ("emacs-company" ,emacs-company)))
4223 (home-page "https://github.com/syohex/emacs-company-jedi")
4224 (synopsis "Provides Python completion in @code{company-mode}")
4225 (description
4226 "This package provides a Company backend for Python.")
4227 (license license:gpl3+)))
4228
4229 (define-public emacs-puppet-mode
4230 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
4231 (revision "1"))
4232 (package
4233 (name "emacs-puppet-mode")
4234 ;; The last release, 0.3 was several years ago, and there have been many
4235 ;; commits since
4236 (version (git-version "0.3" revision commit))
4237 (source
4238 (origin
4239 (method url-fetch)
4240 (uri (string-append
4241 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
4242 commit "/puppet-mode.el"))
4243 (sha256
4244 (base32
4245 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
4246 (build-system emacs-build-system)
4247 (home-page "https://github.com/voxpupuli/puppet-mode")
4248 (synopsis "Emacs major mode for the Puppet configuration language")
4249 (description
4250 "This package provides support for the Puppet configuration language,
4251 including syntax highlighting, indentation of expressions and statements,
4252 linting of manifests and integration with Puppet Debugger.")
4253 ;; Also incorporates work covered by the Apache License, Version 2.0
4254 (license license:gpl3+))))
4255
4256 (define-public emacs-god-mode
4257 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
4258 (revision "1"))
4259 (package
4260 (name "emacs-god-mode")
4261 (version (string-append "20151005.925."
4262 revision "-" (string-take commit 9)))
4263 (source
4264 (origin
4265 (method git-fetch)
4266 (uri (git-reference
4267 (url "https://github.com/chrisdone/god-mode.git")
4268 (commit commit)))
4269 (file-name (git-file-name name version))
4270 (sha256
4271 (base32
4272 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
4273 (build-system emacs-build-system)
4274 (home-page "https://github.com/chrisdone/god-mode")
4275 (synopsis "Minor mode for entering commands without modifier keys")
4276 (description
4277 "This package provides a global minor mode for entering Emacs commands
4278 without modifier keys. It's similar to Vim's separation of commands and
4279 insertion mode. When enabled all keys are implicitly prefixed with
4280 @samp{C-} (among other helpful shortcuts).")
4281 (license license:gpl3+))))
4282
4283 (define-public emacs-jinja2-mode
4284 (package
4285 (name "emacs-jinja2-mode")
4286 (version "0.2")
4287 (source
4288 (origin
4289 (method git-fetch)
4290 (uri (git-reference
4291 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
4292 (commit (string-append "v" version))))
4293 (file-name (git-file-name name version))
4294 (sha256
4295 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
4296 (build-system emacs-build-system)
4297 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
4298 (synopsis "Major mode for jinja2")
4299 (description
4300 "Emacs major mode for jinja2 with: syntax highlighting,
4301 sgml/html integration, and indentation (working with sgml).")
4302 (license license:gpl3+)))
4303
4304 (define-public emacs-company-cabal
4305 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
4306 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
4307 (revision "1"))
4308 (package
4309 (name "emacs-company-cabal")
4310 (version (git-version "0.3.0" revision commit))
4311 (source (origin
4312 (method git-fetch)
4313 (uri (git-reference
4314 (url "https://github.com/iquiw/company-cabal/")
4315 (commit commit)))
4316 (file-name (git-file-name name version))
4317 (sha256
4318 (base32
4319 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
4320 (build-system emacs-build-system)
4321 (propagated-inputs
4322 `(("emacs-company" ,emacs-company)))
4323 (arguments
4324 `(#:include (cons "^tools\\/" %default-include)))
4325 (home-page "https://github.com/iquiw/company-cabal/")
4326 (synopsis "Company completion for Haskell Cabal files")
4327 (description
4328 "This package allows for completion of field names, section names,
4329 field values, and more within @code{haskell-cabal-mode}.")
4330 (license license:gpl3+))))
4331
4332 (define-public emacs-rfcview
4333 (package
4334 (name "emacs-rfcview")
4335 (version "0.13")
4336 (home-page "http://www.loveshack.ukfsn.org/emacs")
4337 (source (origin
4338 (method url-fetch)
4339 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
4340 (sha256
4341 (base32
4342 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
4343 (build-system emacs-build-system)
4344 (synopsis "Prettify Request for Comments (RFC) documents")
4345 (description "The Internet Engineering Task Force (IETF) and the Internet
4346 Society (ISOC) publish various Internet-related protocols and specifications
4347 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
4348 documents. RFCs and STDs are published in a simple text form. This package
4349 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
4350 read these documents in Emacs. It prettifies the text and adds
4351 hyperlinks/menus for easier navigation. It also provides functions for
4352 browsing the index of RFC documents and fetching them from remote servers or
4353 local directories.")
4354 (license license:gpl3+)))
4355
4356 (define-public emacs-ffap-rfc-space
4357 (package
4358 (name "emacs-ffap-rfc-space")
4359 (version "12")
4360 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
4361 (source (origin
4362 (method url-fetch)
4363 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
4364 (sha256
4365 (base32
4366 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
4367 (build-system emacs-build-system)
4368 (synopsis "Make ffap recognize an RFC with a space before its number")
4369 (description "The Internet Engineering Task Force (IETF) and the
4370 Internet Society (ISOC) publish various Internet-related protocols and
4371 specifications as \"Request for Comments\" (RFC) documents. The
4372 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
4373 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
4374 and load the appropriate RFC from a remote server. However, it fails
4375 to recognize a name like \"RFC 1234\". This package enhances ffap so
4376 that it correctly finds RFCs even when a space appears before the
4377 number.")
4378 (license license:gpl3+)))
4379
4380 (define-public emacs-org-bullets
4381 (package
4382 (name "emacs-org-bullets")
4383 (version "0.2.4")
4384 (source
4385 (origin
4386 (method git-fetch)
4387 (uri (git-reference
4388 (url "https://github.com/sabof/org-bullets.git")
4389 (commit version)))
4390 (file-name (git-file-name name version))
4391 (sha256
4392 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
4393 (build-system emacs-build-system)
4394 (home-page "https://github.com/sabof/org-bullets")
4395 (synopsis "Show bullets in org-mode as UTF-8 characters")
4396 (description
4397 "This package provides an Emacs minor mode causing bullets in
4398 @code{org-mode} to be rendered as UTF-8 characters.")
4399 (license license:gpl3+)))
4400
4401 (define-public emacs-org-pomodoro
4402 ;; Last release version was from 2016.
4403 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
4404 (revision "1"))
4405 (package
4406 (name "emacs-org-pomodoro")
4407 (version (git-version "2.1.0" revision commit))
4408 (source
4409 (origin
4410 (method git-fetch)
4411 (uri (git-reference
4412 (url "https://github.com/marcinkoziej/org-pomodoro.git")
4413 (commit commit)))
4414 (file-name (git-file-name name version))
4415 (sha256
4416 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
4417 (build-system emacs-build-system)
4418 (propagated-inputs
4419 `(("emacs-alert" ,emacs-alert)))
4420 (arguments
4421 `(#:include (cons "^resources\\/" %default-include)
4422 #:tests? #t
4423 #:test-command '("emacs" "--batch"
4424 "-l" "org-pomodoro-tests.el"
4425 "-f" "ert-run-tests-batch-and-exit")
4426 #:phases
4427 (modify-phases %standard-phases
4428 (add-before 'check 'make-tests-writable
4429 (lambda _
4430 (make-file-writable "org-pomodoro-tests.el")
4431 #t))
4432 (add-before 'check 'add-require
4433 (lambda _
4434 (emacs-batch-edit-file "org-pomodoro-tests.el"
4435 `(progn (progn (goto-char (point-min))
4436 (re-search-forward
4437 "ert-deftest")
4438 (beginning-of-line)
4439 (forward-line -1)
4440 (insert "(require 'org-pomodoro)"))
4441 (basic-save-buffer)))
4442 #t)))))
4443 (home-page "https://github.com/marcinkoziej/org-pomodoro")
4444 (synopsis "Pomodoro technique for org-mode")
4445 (description "@code{emacs-org-pomodoro} adds very basic support for
4446 Pomodoro technique in Emacs org-mode.
4447
4448 Run @code{M-x org-pomodoro} for the task at point or select one of the
4449 last tasks that you clocked time for. Each clocked-in pomodoro starts
4450 a timer of 25 minutes and after each pomodoro a break timer of 5
4451 minutes is started automatically. Every 4 breaks a long break is
4452 started with 20 minutes. All values are customizable.")
4453 (license license:gpl3+))))
4454
4455 (define-public emacs-org-sidebar
4456 (let ((commit "b2a5a69b1ebbab63b55e7d1a9453f385624a642c")
4457 (revision "2"))
4458 (package
4459 (name "emacs-org-sidebar")
4460 (version (git-version "0.1" revision commit))
4461 (source
4462 (origin
4463 (method git-fetch)
4464 (uri (git-reference
4465 (url "https://github.com/alphapapa/org-sidebar.git")
4466 (commit commit)))
4467 (file-name (git-file-name name version))
4468 (sha256
4469 (base32 "0dajwg92kj7998xl0x35dlqwdhgwjcwxa726kf4f3wgv1azpyff6"))))
4470 (build-system emacs-build-system)
4471 (propagated-inputs
4472 `(("emacs-dash" ,emacs-dash)
4473 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
4474 ("emacs-org" ,emacs-org)
4475 ("emacs-org-ql" ,emacs-org-ql)
4476 ("emacs-s" ,emacs-s)))
4477 (home-page "https://github.com/alphapapa/org-sidebar")
4478 (synopsis "Helpful sidebar for Org buffers")
4479 (description "This package provides a sidebar for Org buffers. At the
4480 top is a chronological list of scheduled and deadlined tasks in the current
4481 buffer (similar to the Org agenda ,but without all its features), and below
4482 that is a list of all other non-done to-do items. If the buffer is narrowed,
4483 the sidebar only shows items in the narrowed portion; this allows seeing an
4484 overview of tasks in a subtree.")
4485 (license license:gpl3+))))
4486
4487 (define-public emacs-org-trello
4488 (package
4489 (name "emacs-org-trello")
4490 (version "0.8.0")
4491 (source
4492 (origin
4493 (method git-fetch)
4494 (uri (git-reference
4495 (url "https://github.com/org-trello/org-trello.git")
4496 (commit version)))
4497 (file-name (git-file-name name version))
4498 (sha256
4499 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
4500 (build-system emacs-build-system)
4501 (propagated-inputs
4502 `(("emacs-dash" ,emacs-dash)
4503 ("emacs-deferred" ,emacs-deferred)
4504 ("emacs-f" ,emacs-f)
4505 ("emacs-helm" ,emacs-helm)
4506 ("emacs-request" ,emacs-request)
4507 ("emacs-s" ,emacs-s)))
4508 (home-page "https://org-trello.github.io")
4509 (synopsis "Emacs minor mode for interacting with Trello")
4510 (description "This package provides an Emacs minor mode to extend
4511 @code{org-mode} with Trello abilities. Trello is an online project
4512 organizer.")
4513 (license license:gpl3+)))
4514
4515 (define-public emacs-org-tanglesync
4516 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
4517 (revision "2"))
4518 (package
4519 (name "emacs-org-tanglesync")
4520 (version (git-version "0.6" revision commit))
4521 (source
4522 (origin
4523 (method git-fetch)
4524 (uri (git-reference
4525 (url "https://github.com/mtekman/org-tanglesync.el.git")
4526 (commit commit)))
4527 (file-name (git-file-name name version))
4528 (sha256
4529 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
4530 (build-system emacs-build-system)
4531 (propagated-inputs
4532 `(("emacs-org" ,emacs-org)))
4533 (home-page "https://github.com/mtekman/org-tanglesync.el")
4534 (synopsis "Sync Org source blocks with tangled external files")
4535 (description "This package automatically pulls changes from source code
4536 to their corresponding tangled blocks.")
4537 (license license:gpl3+))))
4538
4539 (define-public emacs-company-flow
4540 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4541 (revision "1"))
4542 (package
4543 (name "emacs-company-flow")
4544 (version (git-version "0.1.0" revision commit))
4545 (source (origin
4546 (method git-fetch)
4547 (uri (git-reference
4548 (url "https://github.com/aaronjensen/company-flow/")
4549 (commit commit)))
4550 (file-name (git-file-name name version))
4551 (sha256
4552 (base32
4553 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4554 (build-system emacs-build-system)
4555 (propagated-inputs
4556 `(("emacs-company" ,emacs-company)
4557 ("emacs-dash" ,emacs-dash)))
4558 (home-page "https://github.com/aaronjensen/company-flow/")
4559 (synopsis "Flow backend for @code{company-mode}")
4560 (description
4561 "This package provides completion for JavaScript files utilizing Flow.")
4562 (license license:gpl3+))))
4563
4564 (define-public emacs-atom-one-dark-theme
4565 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4566 (revision "0"))
4567 (package
4568 (name "emacs-atom-one-dark-theme")
4569 (version (git-version "0.4.0" revision commit))
4570 (source (origin
4571 (method git-fetch)
4572 (uri (git-reference
4573 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4574 (commit commit)))
4575 (sha256
4576 (base32
4577 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4578 (file-name (git-file-name name version))))
4579 (build-system emacs-build-system)
4580 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4581 (synopsis "Atom One Dark color theme for Emacs")
4582 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4583 (license license:gpl3+))))
4584
4585 (define-public emacs-zenburn-theme
4586 (package
4587 (name "emacs-zenburn-theme")
4588 (version "2.6")
4589 (source
4590 (origin
4591 (method git-fetch)
4592 (uri (git-reference
4593 (url "https://github.com/bbatsov/zenburn-emacs.git")
4594 (commit (string-append "v" version))))
4595 (file-name (git-file-name name version))
4596 (sha256
4597 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4598 (build-system emacs-build-system)
4599 (home-page "https://github.com/bbatsov/zenburn-emacs")
4600 (synopsis "Low contrast color theme for Emacs")
4601 (description
4602 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4603 It is built on top of the custom theme support in Emacs 24 or later.")
4604 (license license:gpl3+)))
4605
4606 (define-public emacs-moe-theme-el
4607 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4608 (version "1.0")
4609 (revision "1"))
4610 (package
4611 (name "emacs-moe-theme-el")
4612 (version (git-version version revision commit))
4613 (source
4614 (origin
4615 (method git-fetch)
4616 (uri (git-reference
4617 (url "https://github.com/kuanyui/moe-theme.el")
4618 (commit commit)))
4619 (file-name (git-file-name name version))
4620 (sha256
4621 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4622 (build-system emacs-build-system)
4623 (home-page "https://github.com/kuanyui/moe-theme.el")
4624 (synopsis "Anime-inspired color themes")
4625 (description
4626 "This package provides vibrant color schemes with light and dark
4627 variants.")
4628 (license license:gpl3+))))
4629
4630 (define-public emacs-solarized-theme
4631 (package
4632 (name "emacs-solarized-theme")
4633 (version "1.2.2")
4634 (source (origin
4635 (method url-fetch)
4636 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
4637 "archive/v" version ".tar.gz"))
4638 (file-name (string-append name "-" version ".tar.gz"))
4639 (sha256
4640 (base32
4641 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
4642 (build-system emacs-build-system)
4643 (propagated-inputs
4644 `(("emacs-dash" ,emacs-dash)))
4645 (home-page "https://github.com/bbatsov/solarized-emacs")
4646 (synopsis "Port of the Solarized theme for Emacs")
4647 (description
4648 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4649 package provides a light and a dark variant.")
4650 (license license:gpl3+)))
4651
4652 (define-public emacs-poet-theme
4653 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
4654 (revision "0"))
4655 (package
4656 (name "emacs-poet-theme")
4657 (version (git-version "0" revision commit))
4658 (source
4659 (origin
4660 (method git-fetch)
4661 (uri (git-reference
4662 (url "https://github.com/kunalb/poet.git")
4663 (commit commit)))
4664 (sha256
4665 (base32
4666 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
4667 (build-system emacs-build-system)
4668 (home-page "https://github.com/kunalb/poet/")
4669 (synopsis "Emacs theme for prose")
4670 (description
4671 "Emacs has very good support for multiple fonts in a single file. Poet
4672 uses this support to make it much more convenient to write prose within Emacs,
4673 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
4674 Code blocks, tables, etc are formatted in monospace text with the appropriate
4675 backgrounds.")
4676 (license license:expat))))
4677
4678 (define-public emacs-ahungry-theme
4679 (package
4680 (name "emacs-ahungry-theme")
4681 (version "1.10.0")
4682 (source
4683 (origin (method url-fetch)
4684 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4685 version ".tar"))
4686 (sha256
4687 (base32
4688 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4689 (build-system emacs-build-system)
4690 (home-page "https://github.com/ahungry/color-theme-ahungry")
4691 (synopsis "Ahungry color theme for Emacs")
4692 (description "Ahungry theme for Emacs provides bright and bold colors.
4693 If you load it from a terminal, you will be able to make use of the
4694 transparent background. If you load it from a GUI, it will default to a
4695 dark background.")
4696 (license license:gpl3+)))
4697
4698 (define-public emacs-gruvbox-theme
4699 (package
4700 (name "emacs-gruvbox-theme")
4701 (version "1.28.0")
4702 (source (origin
4703 (method git-fetch)
4704 (uri (git-reference
4705 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4706 (commit version)))
4707 (file-name (git-file-name name version))
4708 (sha256
4709 (base32
4710 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4711 (build-system emacs-build-system)
4712 (propagated-inputs
4713 `(("emacs-autothemer" ,emacs-autothemer)))
4714 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4715 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4716 (description
4717 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4718
4719 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4720 mode switching in the way of solarized. The main focus when developing gruvbox
4721 is to keep colors easily distinguishable, contrast enough and still pleasant
4722 for the eyes.")
4723 (license license:expat))) ; MIT license
4724
4725 (define-public emacs-2048-game
4726 (package
4727 (name "emacs-2048-game")
4728 (version "20151026.1233")
4729 (source
4730 (origin
4731 (method url-fetch)
4732 (uri (string-append "https://melpa.org/packages/2048-game-"
4733 version ".el"))
4734 (sha256
4735 (base32
4736 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4737 (build-system emacs-build-system)
4738 (home-page "https://bitbucket.org/zck/2048.el")
4739 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4740 (description
4741 "This program is an implementation of 2048 for Emacs.
4742 The goal of this game is to create a tile with value 2048. The size of the
4743 board and goal value can be customized.")
4744 (license license:gpl3+)))
4745
4746 (define-public emacs-base16-theme
4747 (package
4748 (name "emacs-base16-theme")
4749 (version "2.2")
4750 (source
4751 (origin
4752 (method git-fetch)
4753 (uri (git-reference
4754 (url "https://github.com/belak/base16-emacs.git")
4755 (commit version)))
4756 (file-name (git-file-name name version))
4757 (sha256
4758 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
4759 (build-system emacs-build-system)
4760 (home-page "https://github.com/belak/base16-emacs")
4761 (synopsis "Base16 color themes for Emacs")
4762 (description
4763 "Base16 provides carefully chosen syntax highlighting and a default set
4764 of sixteen colors suitable for a wide range of applications. Base16 is not a
4765 single theme but a set of guidelines with numerous implementations.")
4766 (license license:expat)))
4767
4768 (define-public emacs-solaire-mode
4769 (package
4770 (name "emacs-solaire-mode")
4771 (version "1.0.9")
4772 (source
4773 (origin
4774 (method git-fetch)
4775 (uri (git-reference
4776 (url "https://github.com/hlissner/emacs-solaire-mode.git")
4777 (commit (string-append "v" version))))
4778 (file-name (git-file-name name version))
4779 (sha256
4780 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
4781 (build-system emacs-build-system)
4782 (home-page "https://github.com/hlissner/emacs-solaire-mode")
4783 (synopsis "Change background of file-visiting buffers in Emacs")
4784 (description
4785 "@code{solaire-mode} is inspired by editors which visually distinguish
4786 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
4787 background of file-visiting buffers (and certain aspects of the UI) to make
4788 them easier to distinguish from other, less important buffers.")
4789 (license license:expat)))
4790
4791 (define-public emacs-prescient
4792 (package
4793 (name "emacs-prescient")
4794 (version "3.3")
4795 (source (origin
4796 (method git-fetch)
4797 (uri (git-reference
4798 (url "https://github.com/raxod502/prescient.el/")
4799 (commit (string-append "v" version))))
4800 (file-name (git-file-name name version))
4801 (sha256
4802 (base32
4803 "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91"))))
4804 (build-system emacs-build-system)
4805 (propagated-inputs
4806 `(("emacs-company" ,emacs-company)
4807 ("emacs-ivy" ,emacs-ivy)))
4808 (home-page "https://github.com/raxod502/prescient.el/")
4809 (synopsis "Library that sorts and filters lists of candidates")
4810 (description
4811 "This package provides a library for sorting and filtering, as well as
4812 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
4813 library.")
4814 (license license:gpl3+)))
4815
4816 (define-public emacs-smartparens
4817 (package
4818 (name "emacs-smartparens")
4819 (version "1.11.0")
4820 (source
4821 (origin
4822 (method git-fetch)
4823 (uri (git-reference
4824 (url "https://github.com/Fuco1/smartparens.git")
4825 (commit version)))
4826 (file-name (git-file-name name version))
4827 (sha256
4828 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
4829 (build-system emacs-build-system)
4830 (propagated-inputs
4831 `(("emacs-dash" ,emacs-dash)
4832 ("emacs-markdown-mode" ,emacs-markdown-mode)))
4833 (home-page "https://github.com/Fuco1/smartparens")
4834 (synopsis "Paredit-like insertion, wrapping and navigation with user
4835 defined pairs")
4836 (description
4837 "Smartparens is a minor mode for Emacs that deals with parens pairs
4838 and tries to be smart about it. It started as a unification effort to
4839 combine functionality of several existing packages in a single,
4840 compatible and extensible way to deal with parentheses, delimiters, tags
4841 and the like. Some of these packages include autopair, textmate,
4842 wrap-region, electric-pair-mode, paredit and others. With the basic
4843 features found in other packages it also brings many improvements as
4844 well as completely new features.")
4845 (license license:gpl3+)))
4846
4847 (define-public emacs-highlight-symbol
4848 ;; We prefer a more recent commit that provides an option to squelch
4849 ;; echo-area alerts that can drown out useful information like eldoc
4850 ;; messages.
4851 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
4852 (version "1.3")
4853 (revision "1"))
4854 (package
4855 (name "emacs-highlight-symbol")
4856 (version (git-version version revision commit))
4857 (source
4858 (origin
4859 (method git-fetch)
4860 (uri (git-reference
4861 (url "https://github.com/nschum/highlight-symbol.el.git")
4862 (commit commit)))
4863 (file-name (git-file-name name version))
4864 (sha256
4865 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
4866 (build-system emacs-build-system)
4867 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
4868 (synopsis "Automatic and manual symbol highlighting for Emacs")
4869 (description
4870 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
4871 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
4872 the symbol at point highlighted.
4873
4874 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
4875 @code{highlight-symbol-next-in-defun} and
4876 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
4877 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
4878 bindings @code{M-p} and @code{M-p} for navigation. When
4879 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
4880 regardless of @code{highlight-symbol-idle-delay}.
4881
4882 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
4883 (license license:gpl2+))))
4884
4885 (define-public emacs-symbol-overlay
4886 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
4887 (revision "1"))
4888 (package
4889 (name "emacs-symbol-overlay")
4890 (version (git-version "4.1" revision commit))
4891 (source
4892 (origin
4893 (method git-fetch)
4894 (uri (git-reference
4895 (url "https://github.com/wolray/symbol-overlay.git")
4896 (commit commit)))
4897 (file-name (git-file-name name version))
4898 (sha256
4899 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
4900 (build-system emacs-build-system)
4901 (home-page "https://github.com/wolray/symbol-overlay")
4902 (synopsis "Highlight symbols and perform various search operations on them")
4903 (description
4904 "This package provides functions for highlighting and navigating
4905 between symbols.")
4906 (license license:gpl3+))))
4907
4908 (define-public emacs-hl-todo
4909 (package
4910 (name "emacs-hl-todo")
4911 (version "3.0.0")
4912 (source (origin
4913 (method git-fetch)
4914 (uri (git-reference
4915 (url "https://github.com/tarsius/hl-todo")
4916 (commit (string-append "v" version))))
4917 (file-name (git-file-name name version))
4918 (sha256
4919 (base32
4920 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
4921 (build-system emacs-build-system)
4922 (home-page "https://github.com/tarsius/hl-todo")
4923 (synopsis "Emacs mode to highlight TODO and similar keywords")
4924 (description
4925 "This package provides an Emacs mode to highlight TODO and similar
4926 keywords in comments and strings. This package also provides commands for
4927 moving to the next or previous keyword and to invoke @code{occur} with a
4928 regexp that matches all known keywords.")
4929 (license license:gpl3+)))
4930
4931 (define-public emacs-perspective
4932 (package
4933 (name "emacs-perspective")
4934 (version "2.2")
4935 (source
4936 (origin
4937 (method git-fetch)
4938 (uri (git-reference
4939 (url "https://github.com/nex3/perspective-el.git")
4940 (commit version)))
4941 (file-name (git-file-name name version))
4942 (sha256
4943 (base32
4944 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
4945 (build-system emacs-build-system)
4946 (home-page "https://github.com/nex3/perspective-el")
4947 (synopsis "Switch between named \"perspectives\"")
4948 (description
4949 "This package provides tagged workspaces in Emacs, similar to workspaces in
4950 windows managers such as Awesome and XMonad. @code{perspective.el} provides
4951 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
4952 perspective is composed of a window configuration and a set of buffers.
4953 Switching to a perspective activates its window configuration, and when in a
4954 perspective only its buffers are available by default.")
4955 ;; This package is released under the same license as Emacs (GPLv3+) or
4956 ;; the Expat license.
4957 (license license:gpl3+)))
4958
4959 (define-public emacs-test-simple
4960 (package
4961 (name "emacs-test-simple")
4962 (version "1.3.0")
4963 (source
4964 (origin
4965 (method url-fetch)
4966 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
4967 version ".el"))
4968 (sha256
4969 (base32
4970 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
4971 (build-system emacs-build-system)
4972 (home-page "https://github.com/rocky/emacs-test-simple")
4973 (synopsis "Simple unit test framework for Emacs Lisp")
4974 (description
4975 "Test Simple is a simple unit test framework for Emacs Lisp. It
4976 alleviates the need for context macros, enclosing specifications or required
4977 test tags. It supports both interactive and non-interactive use.")
4978 (license license:gpl3+)))
4979
4980 (define-public emacs-load-relative
4981 (package
4982 (name "emacs-load-relative")
4983 (version "1.3")
4984 (source
4985 (origin
4986 (method url-fetch)
4987 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
4988 version ".el"))
4989 (sha256
4990 (base32
4991 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
4992 (build-system emacs-build-system)
4993 (home-page "http://github.com/rocky/emacs-load-relative")
4994 (synopsis "Emacs Lisp relative file loading related functions")
4995 (description
4996 "Provides functions which facilitate writing multi-file Emacs packages
4997 and running from the source tree without having to \"install\" code or fiddle
4998 with @{load-path}.
4999
5000 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
5001 another (presumably currently running) Emacs Lisp file.")
5002 (license license:gpl3+)))
5003
5004 (define-public emacs-loc-changes
5005 (package
5006 (name "emacs-loc-changes")
5007 (version "1.2")
5008 (source
5009 (origin
5010 (method url-fetch)
5011 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
5012 version ".el"))
5013 (sha256
5014 (base32
5015 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
5016 (build-system emacs-build-system)
5017 (home-page "https://github.com/rocky/emacs-loc-changes")
5018 (synopsis "Keeps track of positions even after buffer changes")
5019 (description
5020 "This Emacs package provides a mean to track important buffer positions
5021 after buffer changes.")
5022 (license license:gpl3+)))
5023
5024 (define-public emacs-realgud
5025 (package
5026 (name "emacs-realgud")
5027 (version "1.5.1")
5028 (source
5029 (origin
5030 (method git-fetch)
5031 (uri (git-reference
5032 (url "https://github.com/realgud/realgud/")
5033 (commit version)))
5034 (sha256
5035 (base32
5036 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
5037 (file-name (git-file-name name version))))
5038 (build-system emacs-build-system)
5039 (arguments
5040 `(#:tests? #t
5041 #:phases
5042 (modify-phases %standard-phases
5043 (add-after 'set-emacs-load-path 'fix-autogen-script
5044 (lambda _
5045 (substitute* "autogen.sh"
5046 (("./configure") "sh configure"))))
5047 (add-after 'fix-autogen-script 'autogen
5048 (lambda _
5049 (setenv "CONFIG_SHELL" "sh")
5050 (invoke "sh" "autogen.sh")))
5051 (add-after 'fix-autogen-script 'set-home
5052 (lambda _
5053 (setenv "HOME" (getenv "TMPDIR"))))
5054 (add-before 'patch-el-files 'remove-realgud-pkg.el
5055 (lambda _
5056 ;; FIXME: `patch-el-files' crashes on this file with error:
5057 ;; unable to locate "bashdb".
5058 (delete-file "./test/test-regexp-bashdb.el"))))
5059 #:include (cons* ".*\\.el$" %default-include)))
5060 (native-inputs
5061 `(("autoconf" ,autoconf)
5062 ("automake" ,automake)
5063 ("emacs-test-simple" ,emacs-test-simple)))
5064 (propagated-inputs
5065 `(("emacs-load-relative" ,emacs-load-relative)
5066 ("emacs-loc-changes" ,emacs-loc-changes)))
5067 (home-page "https://github.com/realgud/realgud/")
5068 (synopsis
5069 "Modular front-end for interacting with external debuggers")
5070 (description
5071 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
5072 with external debuggers. It integrates various debuggers such as gdb, pdb,
5073 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
5074 sources. Unlike GUD, it also supports running multiple debug sessions in
5075 parallel.")
5076 (license license:gpl3+)))
5077
5078 (define-public emacs-request
5079 (package
5080 (name "emacs-request")
5081 (version "0.3.1")
5082 (source (origin
5083 (method git-fetch)
5084 (uri (git-reference
5085 (url "https://github.com/tkf/emacs-request.git")
5086 (commit (string-append "v" version))))
5087 (file-name (git-file-name name version))
5088 (sha256
5089 (base32
5090 "0fhhd349l4iqkrjxqzpckfk2w45x2g4cccpm1dqzv9m49md1wphx"))))
5091 (build-system emacs-build-system)
5092 (propagated-inputs
5093 `(("emacs-deferred" ,emacs-deferred)))
5094 (home-page "https://github.com/tkf/emacs-request")
5095 (synopsis "Package for speaking HTTP in Emacs Lisp")
5096 (description "This package provides a HTTP request library with multiple
5097 backends. It supports url.el which is shipped with Emacs and the curl command
5098 line program.")
5099 (license license:gpl3+)))
5100
5101 (define-public emacs-rudel
5102 (package
5103 (name "emacs-rudel")
5104 (version "0.3.1")
5105 (source
5106 (origin
5107 (method url-fetch)
5108 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
5109 version ".tar"))
5110 (sha256
5111 (base32
5112 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
5113 (build-system emacs-build-system)
5114 (home-page "http://rudel.sourceforge.net/")
5115 (synopsis "Collaborative editing framework")
5116 (description
5117 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
5118 is to share buffers with other users in order to edit the contents of those
5119 buffers collaboratively. Rudel supports multiple backends to enable
5120 communication with other collaborative editors using different protocols,
5121 though currently Obby (for use with the Gobby editor) is the only
5122 fully-functional one.")
5123 (license license:gpl3+)))
5124
5125 (define-public emacs-hydra
5126 (package
5127 (name "emacs-hydra")
5128 (version "0.15.0")
5129 (source
5130 (origin
5131 (method git-fetch)
5132 (uri (git-reference
5133 (url "https://github.com/abo-abo/hydra")
5134 (commit version)))
5135 (file-name (git-file-name name version))
5136 (sha256
5137 (base32
5138 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
5139 (build-system emacs-build-system)
5140 (arguments
5141 `(#:tests? #t
5142 #:test-command '("make" "test")))
5143 (home-page "https://github.com/abo-abo/hydra")
5144 (synopsis "Make Emacs bindings that stick around")
5145 (description
5146 "This package can be used to tie related commands into a family of short
5147 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
5148 the prefixed binding), all the heads can be called in succession with only a
5149 short extension. Any binding that isn't the Hydra's head vanquishes the
5150 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
5151 serve its original purpose, calling the command assigned to it. This makes
5152 the Hydra very seamless; it's like a minor mode that disables itself
5153 automatically.")
5154 (license license:gpl3+)))
5155
5156 (define-public emacs-ivy
5157 ;; The latest release version introduced a new feature, swiper-isearch, that
5158 ;; generally works well but had some noticeable bugs; this later commit
5159 ;; includes fixes for several of them.
5160 (let ((commit "79333e9edfee38ec3b367c33711a68bdf7783259")
5161 (revision "2"))
5162 (package
5163 (name "emacs-ivy")
5164 (version (git-version "0.12.0" revision commit))
5165 (source
5166 (origin
5167 (method git-fetch)
5168 (uri (git-reference
5169 (url "https://github.com/abo-abo/swiper.git")
5170 (commit commit)))
5171 (file-name (git-file-name name version))
5172 (sha256
5173 (base32
5174 "0dyclc51sprhmr5fi4lylhwsrn8v1jgyblwk9ly60jj84lj6278z"))))
5175 (build-system emacs-build-system)
5176 (arguments
5177 `(#:phases
5178 (modify-phases %standard-phases
5179 (add-after 'install 'install-doc
5180 (lambda* (#:key outputs #:allow-other-keys)
5181 (let* ((out (assoc-ref outputs "out"))
5182 (info (string-append out "/share/info")))
5183 (with-directory-excursion "doc"
5184 (invoke "makeinfo" "ivy.texi")
5185 (install-file "ivy.info" info)
5186 #t))))
5187 (add-before 'check 'make-dummy-git-directory
5188 (lambda _
5189 (mkdir-p ".git")))
5190 (add-after 'check 'delete-dummy-git-directory
5191 (lambda _
5192 (delete-file-recursively ".git"))))
5193 #:tests? #t
5194 #:test-command '("make" "test")))
5195 (propagated-inputs
5196 `(("emacs-hydra" ,emacs-hydra)))
5197 (native-inputs
5198 `(("texinfo" ,texinfo)
5199 ("emacs-wgrep" ,emacs-wgrep)))
5200 (home-page "http://oremacs.com/swiper/")
5201 (synopsis "Incremental vertical completion for Emacs")
5202 (description
5203 "This package provides @code{ivy-read} as an alternative to
5204 @code{completing-read} and similar functions. No attempt is made to determine
5205 the best candidate. Instead, the user can navigate candidates with
5206 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
5207 splitting the input text by spaces and re-building it into a regular
5208 expression.")
5209 (license license:gpl3+))))
5210
5211 (define-public emacs-ivy-pass
5212 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
5213 (revision "1"))
5214 (package
5215 (name "emacs-ivy-pass")
5216 (version (git-version "0.1" revision commit))
5217 (source
5218 (origin
5219 (method git-fetch)
5220 (uri (git-reference
5221 (url "https://github.com/ecraven/ivy-pass.git")
5222 (commit commit)))
5223 (file-name (git-file-name name version))
5224 (sha256
5225 (base32
5226 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
5227 (build-system emacs-build-system)
5228 (propagated-inputs
5229 `(("emacs-ivy" ,emacs-ivy)
5230 ("emacs-password-store" ,emacs-password-store)
5231 ("password-store" ,password-store)))
5232 (home-page "https://github.com/ecraven/ivy-pass")
5233 (synopsis "Ivy interface for password store (pass)")
5234 (description "This package provides an Ivy interface for working with
5235 the password store @code{pass}.")
5236 (license license:gpl3))))
5237
5238 (define-public emacs-ivy-yasnippet
5239 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
5240 (revision "2"))
5241 (package
5242 (name "emacs-ivy-yasnippet")
5243 (version (git-version "0.1" revision commit))
5244 (source
5245 (origin
5246 (method git-fetch)
5247 (uri (git-reference
5248 (url "https://github.com/mkcms/ivy-yasnippet.git")
5249 (commit commit)))
5250 (file-name (git-file-name name version))
5251 (sha256
5252 (base32
5253 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
5254 (build-system emacs-build-system)
5255 (propagated-inputs
5256 `(("emacs-ivy" ,emacs-ivy)
5257 ("emacs-yasnippet" ,emacs-yasnippet)
5258 ("emacs-dash" ,emacs-dash)))
5259 (home-page "https://github.com/mkcms/ivy-yasnippet")
5260 (synopsis "Preview @code{yasnippets} with @code{ivy}")
5261 (description "This package allows you to select @code{yasnippet}
5262 snippets using @code{ivy} completion. When current selection changes in the
5263 minibuffer, the snippet contents are temporarily expanded in the buffer. To
5264 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
5265 @code{yas-minor-mode} first).")
5266 (license license:gpl3+))))
5267
5268 (define-public emacs-ivy-rich
5269 ;; The latest release version has a small mistake that has since been fixed,
5270 ;; so we use a more recent commit.
5271 (let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08")
5272 (version "0.1.4")
5273 (revision "1"))
5274 (package
5275 (name "emacs-ivy-rich")
5276 (version (git-version version revision commit))
5277 (source
5278 (origin
5279 (method git-fetch)
5280 (uri (git-reference
5281 (url "https://github.com/Yevgnen/ivy-rich.git")
5282 (commit commit)))
5283 (file-name (git-file-name name version))
5284 (sha256
5285 (base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219"))))
5286 (build-system emacs-build-system)
5287 (propagated-inputs
5288 `(("emacs-ivy" ,emacs-ivy)))
5289 (home-page "https://github.com/Yevgnen/ivy-rich")
5290 (synopsis "More friendly interface for @code{ivy}")
5291 (description
5292 "This package extends @code{ivy} by showing more information in the
5293 minibuffer for each candidate. It adds columns showing buffer modes, file
5294 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
5295 show icons as well.")
5296 (license license:gpl3+))))
5297
5298 (define-public emacs-avy
5299 (package
5300 (name "emacs-avy")
5301 (version "0.5.0")
5302 (source
5303 (origin
5304 (method git-fetch)
5305 (uri (git-reference
5306 (url "https://github.com/abo-abo/avy.git")
5307 (commit version)))
5308 (file-name (git-file-name name version))
5309 (sha256
5310 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
5311 (build-system emacs-build-system)
5312 (arguments
5313 `(#:tests? #t
5314 #:test-command '("make" "test")))
5315 (home-page "https://github.com/abo-abo/avy")
5316 (synopsis "Tree-based completion for Emacs")
5317 (description
5318 "This package provides a generic completion method based on building a
5319 balanced decision tree with each candidate being a leaf. To traverse the tree
5320 from the root to a desired leaf, typically a sequence of @code{read-key} can
5321 be used.
5322
5323 In order for @code{read-key} to make sense, the tree needs to be visualized
5324 appropriately, with a character at each branch node. So this completion
5325 method works only for things that you can see on your screen, all at once,
5326 such as the positions of characters, words, line beginnings, links, or
5327 windows.")
5328 (license license:gpl3+)))
5329
5330 (define-public emacs-ace-window
5331 ;; last release version is from 2015
5332 (let ((commit "a5344925e399e1f015721cda6cf5db03c90ab87a")
5333 (revision "1"))
5334 (package
5335 (name "emacs-ace-window")
5336 (version (git-version "0.9.0" revision commit))
5337 (source
5338 (origin
5339 (method git-fetch)
5340 (uri (git-reference
5341 (url "https://github.com/abo-abo/ace-window.git")
5342 (commit commit)))
5343 (file-name (git-file-name name version))
5344 (sha256
5345 (base32
5346 "18jm8gfgnf6ja9aarws5650lw2zfi3wdwc5j8r5ijn5fcqhfy7rc"))))
5347 (build-system emacs-build-system)
5348 (propagated-inputs
5349 `(("emacs-avy" ,emacs-avy)))
5350 (home-page "https://github.com/abo-abo/ace-window")
5351 (synopsis "Quickly switch windows in Emacs")
5352 (description
5353 "@code{ace-window} is meant to replace @code{other-window}.
5354 In fact, when there are only two windows present, @code{other-window} is
5355 called. If there are more, each window will have its first character
5356 highlighted. Pressing that character will switch to that window.")
5357 (license license:gpl3+))))
5358
5359 (define-public emacs-iedit
5360 ;; Last release version was in 2016.
5361 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
5362 (revision "1"))
5363 (package
5364 (name "emacs-iedit")
5365 (version (git-version "0.9.9.9" revision commit))
5366 (source
5367 (origin
5368 (method git-fetch)
5369 (uri (git-reference
5370 (url "https://github.com/victorhge/iedit.git")
5371 (commit commit)))
5372 (file-name (git-file-name name version))
5373 (sha256
5374 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
5375 (build-system emacs-build-system)
5376 (home-page "http://www.emacswiki.org/emacs/Iedit")
5377 (synopsis "Edit multiple regions in the same way simultaneously")
5378 (description
5379 "This package is an Emacs minor mode and allows you to edit one
5380 occurrence of some text in a buffer (possibly narrowed) or region, and
5381 simultaneously have other occurrences edited in the same way.
5382
5383 You can also use Iedit mode as a quick way to temporarily show only the buffer
5384 lines that match the current text being edited. This gives you the effect of
5385 a temporary @code{keep-lines} or @code{occur}.")
5386 (license license:gpl3+))))
5387
5388 (define-public emacs-zoutline
5389 (package
5390 (name "emacs-zoutline")
5391 (version "0.2.0")
5392 (source
5393 (origin
5394 (method git-fetch)
5395 (uri (git-reference
5396 (url "https://github.com/abo-abo/zoutline")
5397 (commit version)))
5398 (sha256
5399 (base32
5400 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
5401 (file-name (git-file-name name version))))
5402 (build-system emacs-build-system)
5403 (home-page "https://github.com/abo-abo/zoutline")
5404 (synopsis "Simple outline library")
5405 (description
5406 "This library provides helpers for outlines. Outlines allow users to
5407 navigate code in a tree-like fashion.")
5408 (license license:gpl3+)))
5409
5410 (define-public emacs-lispy
5411 (package
5412 (name "emacs-lispy")
5413 (version "0.27.0")
5414 (home-page "https://github.com/abo-abo/lispy")
5415 (source (origin
5416 (method git-fetch)
5417 (uri (git-reference
5418 (url "https://github.com/abo-abo/lispy")
5419 (commit version)))
5420 (sha256
5421 (base32
5422 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
5423 (file-name (git-file-name name version))))
5424 (build-system emacs-build-system)
5425 (propagated-inputs
5426 `(("emacs-ace-window" ,emacs-ace-window)
5427 ("emacs-iedit" ,emacs-iedit)
5428 ("emacs-ivy" ,emacs-ivy)
5429 ("emacs-hydra" ,emacs-hydra)
5430 ("emacs-zoutline" ,emacs-zoutline)))
5431 (native-inputs
5432 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5433 ("emacs-undercover" ,emacs-undercover)))
5434 (arguments
5435 `(#:include (cons* "^lispy-clojure\\.clj$"
5436 "^lispy-python\\.py$"
5437 %default-include)
5438 #:phases
5439 ;; XXX: one failing test involving python evaluation
5440 (modify-phases %standard-phases
5441 (add-before 'check 'make-test-writable
5442 (lambda _
5443 (make-file-writable "lispy-test.el")
5444 #t))
5445 (add-before 'check 'remove-python-eval-test
5446 (lambda _
5447 (emacs-batch-edit-file "lispy-test.el"
5448 `(progn
5449 (progn
5450 (goto-char (point-min))
5451 (re-search-forward
5452 "ert-deftest lispy-eval-python-str")
5453 (beginning-of-line)
5454 (kill-sexp))
5455 (basic-save-buffer)))
5456 #t)))
5457 #:tests? #t
5458 #:test-command '("make" "test")))
5459 (synopsis "Modal S-expression editing")
5460 (description
5461 "Due to the structure of Lisp syntax it's very rare for the programmer
5462 to want to insert characters right before \"(\" or right after \")\". Thus
5463 unprefixed printable characters can be used to call commands when the point is
5464 at one of these special locations. Lispy provides unprefixed keybindings for
5465 S-expression editing when point is at the beginning or end of an
5466 S-expression.")
5467 (license license:gpl3+)))
5468
5469 (define-public emacs-lispyville
5470 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
5471 (revision "1"))
5472 (package
5473 (name "emacs-lispyville")
5474 (version (git-version "0.1" revision commit))
5475 (home-page "https://github.com/noctuid/lispyville")
5476 (source (origin
5477 (method git-fetch)
5478 (uri (git-reference (url home-page) (commit commit)))
5479 (sha256
5480 (base32
5481 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
5482 (file-name (git-file-name name version))))
5483 (propagated-inputs
5484 `(("emacs-evil" ,emacs-evil)
5485 ("emacs-lispy" ,emacs-lispy)))
5486 (build-system emacs-build-system)
5487 (arguments
5488 `(#:phases
5489 ;; XXX: mysterious whitespace issue with one test
5490 (modify-phases %standard-phases
5491 (add-before 'check 'make-test-writable
5492 (lambda _
5493 (make-file-writable "lispyville-test.el")
5494 #t))
5495 (add-after 'make-test-writable 'remove-test
5496 (lambda _
5497 (emacs-batch-edit-file "lispyville-test.el"
5498 `(progn (progn (goto-char (point-min))
5499 (re-search-forward
5500 "ert-deftest lispyville-comment-and-clone-dwim")
5501 (beginning-of-line)
5502 (kill-sexp))
5503 (basic-save-buffer))))))
5504 #:tests? #t
5505 #:test-command '("make" "test")))
5506 (synopsis "Minor mode for integrating Evil with lispy")
5507 (description
5508 "LispyVille's main purpose is to provide a Lisp editing environment
5509 suited towards Evil users. It can serve as a minimal layer on top of lispy
5510 for better integration with Evil, but it does not require the use of lispy’s
5511 keybinding style. The provided commands allow for editing Lisp in normal
5512 state and will work even without lispy being enabled.")
5513 (license license:gpl3+))))
5514
5515 (define-public emacs-lpy
5516 (let ((commit "dfd9a0fc8f84674fc669eab2942cfa038d7dc590")
5517 (revision "2"))
5518 (package
5519 (name "emacs-lpy")
5520 (version (git-version "0.1.0" revision commit))
5521 (source
5522 (origin
5523 (method git-fetch)
5524 (uri (git-reference
5525 (url "https://github.com/abo-abo/lpy")
5526 (commit commit)))
5527 (sha256
5528 (base32
5529 "15y1fvn1sjngpiqlq090hxqhmxp32f88rspfapwcisxa3hcg5r5a"))
5530 (file-name (git-file-name name version))))
5531 (propagated-inputs
5532 `(("emacs-zoutline" ,emacs-zoutline)
5533 ("emacs-lispy" ,emacs-lispy)))
5534 (build-system emacs-build-system)
5535 (home-page "https://github.com/abo-abo/lpy")
5536 (synopsis "Modal editing for Python")
5537 (description
5538 "This package provides a minor mode for Python that binds useful
5539 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
5540 circumstances, and leaves the keys untouched outside of those situations,
5541 allowing unprefixed keys to insert their respective characters as expected.")
5542 (license license:gpl3+))))
5543
5544 (define-public emacs-clojure-mode
5545 (package
5546 (name "emacs-clojure-mode")
5547 (version "5.6.1")
5548 (source
5549 (origin
5550 (method git-fetch)
5551 (uri (git-reference
5552 (url "https://github.com/clojure-emacs/clojure-mode.git")
5553 (commit version)))
5554 (file-name (git-file-name name version))
5555 (sha256
5556 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
5557 (build-system emacs-build-system)
5558 (native-inputs
5559 `(("emacs-dash" ,emacs-dash)
5560 ("emacs-s" ,emacs-s)
5561 ("ert-runner" ,emacs-ert-runner)))
5562 (arguments
5563 `(#:tests? #t
5564 #:test-command '("ert-runner")))
5565 (home-page "https://github.com/clojure-emacs/clojure-mode")
5566 (synopsis "Major mode for Clojure code")
5567 (description
5568 "This Emacs package provides font-lock, indentation, navigation and basic
5569 refactoring for the @uref{http://clojure.org, Clojure programming language}.
5570 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
5571 (license license:gpl3+)))
5572
5573 (define-public emacs-epl
5574 (package
5575 (name "emacs-epl")
5576 (version "0.8")
5577 (source
5578 (origin
5579 (method git-fetch)
5580 (uri (git-reference
5581 (url "https://github.com/cask/epl.git")
5582 (commit version)))
5583 (file-name (git-file-name name version))
5584 (sha256
5585 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
5586 (build-system emacs-build-system)
5587 (home-page "https://github.com/cask/epl")
5588 (synopsis "Emacs Package Library")
5589 (description
5590 "A package management library for Emacs, based on @code{package.el}.
5591
5592 The purpose of this library is to wrap all the quirks and hassle of
5593 @code{package.el} into a sane API.")
5594 (license license:gpl3+)))
5595
5596 (define-public emacs-counsel-projectile
5597 (package
5598 (name "emacs-counsel-projectile")
5599 (version "0.3.0")
5600 (source (origin
5601 (method git-fetch)
5602 (uri (git-reference
5603 (url "https://github.com/ericdanan/counsel-projectile")
5604 (commit version)))
5605 (file-name (git-file-name name version))
5606 (sha256
5607 (base32
5608 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
5609 (build-system emacs-build-system)
5610 (propagated-inputs
5611 `(("emacs-ivy" ,emacs-ivy)
5612 ("emacs-projectile" ,emacs-projectile)))
5613 (home-page "https://github.com/ericdanan/counsel-projectile")
5614 (synopsis "Enhance Projectile with Ivy")
5615 (description
5616 "This package uses Ivy to provide additional actions for Projectile
5617 commands and replacements for existing functions.")
5618 (license license:gpl3+)))
5619
5620 (define-public emacs-queue
5621 (package
5622 (name "emacs-queue")
5623 (version "0.2")
5624 (source (origin
5625 (method url-fetch)
5626 (uri (string-append "https://elpa.gnu.org/packages/queue-"
5627 version ".el"))
5628 (sha256
5629 (base32
5630 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
5631 (build-system emacs-build-system)
5632 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
5633 (synopsis "Queue data structure for Emacs")
5634 (description
5635 "This Emacs library provides queue data structure. These queues can be
5636 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
5637 stack, i.e. elements can be added to the front or back of the queue, and can
5638 be removed from the front. This type of data structure is sometimes called an
5639 \"output-restricted deque\".")
5640 (license license:gpl3+)))
5641
5642 (define-public emacs-pkg-info
5643 (package
5644 (name "emacs-pkg-info")
5645 (version "0.6")
5646 (source
5647 (origin
5648 (method git-fetch)
5649 (uri (git-reference
5650 (url "https://github.com/lunaryorn/pkg-info.el.git")
5651 (commit version)))
5652 (file-name (git-file-name name version))
5653 (sha256
5654 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
5655 (build-system emacs-build-system)
5656 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
5657 (home-page "https://github.com/lunaryorn/pkg-info.el")
5658 (synopsis "Information about Emacs packages")
5659 (description
5660 "This library extracts information from the installed Emacs packages.")
5661 (license license:gpl3+)))
5662
5663 (define-public emacs-spinner
5664 (package
5665 (name "emacs-spinner")
5666 (version "1.7.3")
5667 (source (origin
5668 (method url-fetch)
5669 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
5670 version ".el"))
5671 (sha256
5672 (base32
5673 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
5674 (build-system emacs-build-system)
5675 (home-page "https://github.com/Malabarba/spinner.el")
5676 (synopsis "Emacs mode-line spinner for operations in progress")
5677 (description
5678 "This Emacs package adds spinners and progress-bars to the mode-line for
5679 ongoing operations.")
5680 (license license:gpl3+)))
5681
5682 (define-public emacs-sparql-mode
5683 (package
5684 (name "emacs-sparql-mode")
5685 (version "2.0.1")
5686 (source
5687 (origin
5688 (method git-fetch)
5689 (uri (git-reference
5690 (url "https://github.com/ljos/sparql-mode.git")
5691 (commit (string-append "v" version))))
5692 (file-name (git-file-name name version))
5693 (sha256
5694 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
5695 (build-system emacs-build-system)
5696 (home-page "https://github.com/ljos/sparql-mode")
5697 (synopsis "SPARQL mode for Emacs")
5698 (description "This package provides a major mode for Emacs that provides
5699 syntax highlighting for SPARQL. It also provides a way to execute queries
5700 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
5701 possible to query other endpoints like DBPedia.")
5702 (license license:gpl3+)))
5703
5704 (define-public emacs-better-defaults
5705 (package
5706 (name "emacs-better-defaults")
5707 (version "0.1.3")
5708 (source
5709 (origin
5710 (method url-fetch)
5711 (uri (string-append "https://github.com/technomancy/better-defaults"
5712 "/archive/" version ".tar.gz"))
5713 (file-name (string-append name "-" version ".tar.gz"))
5714 (sha256
5715 (base32
5716 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
5717 (build-system emacs-build-system)
5718 (home-page "https://github.com/technomancy/better-defaults")
5719 (synopsis "Better defaults for Emacs")
5720 (description
5721 "Better defaults attempts to address the most obvious deficiencies of the
5722 Emacs default configuration in uncontroversial ways that nearly everyone can
5723 agree upon.")
5724 (license license:gpl3+)))
5725
5726 (define-public emacs-undohist-el
5727 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
5728 (revision "1"))
5729 (package
5730 (name "emacs-undohist-el")
5731 (version (git-version "0" revision commit))
5732 (source
5733 (origin
5734 (method git-fetch)
5735 (uri (git-reference
5736 (url "https://github.com/m2ym/undohist-el")
5737 (commit commit)))
5738 (file-name (git-file-name name version))
5739 (sha256
5740 (base32
5741 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
5742 (patches
5743 (search-patches "emacs-undohist-ignored.patch"))))
5744 (build-system emacs-build-system)
5745 (home-page "https://github.com/m2ym/undohist-el")
5746 (synopsis "Save undo history between sessions")
5747 (description "This package allows persistent use of undo history for
5748 individual file buffers.")
5749 (license license:gpl3+))))
5750
5751 (define-public emacs-eprime
5752 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
5753 (package
5754 (name "emacs-eprime")
5755 (version (string-append "20140513-" (string-take commit 7)))
5756 (source (origin
5757 (method url-fetch)
5758 (uri (string-append "https://raw.githubusercontent.com"
5759 "/AndrewHynes/eprime-mode/"
5760 commit "/eprime-mode.el"))
5761 (file-name (string-append "eprime-" version ".el"))
5762 (sha256
5763 (base32
5764 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
5765 (build-system emacs-build-system)
5766 (home-page "https://github.com/AndrewHynes/eprime-mode")
5767 (synopsis "E-prime checking mode for Emacs")
5768 (description "This package provides an E-prime checking mode for Emacs
5769 that highlights non-conforming text. The subset of the English language called
5770 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
5771 (license license:gpl3+))))
5772
5773 (define-public emacs-julia-mode
5774 ;; XXX: Upstream version remained stuck at 0.3. See
5775 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
5776 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
5777 (revision "1"))
5778 (package
5779 (name "emacs-julia-mode")
5780 (version (string-append "0.3-" revision "." (string-take commit 8)))
5781 (source
5782 (origin
5783 (method git-fetch)
5784 (uri (git-reference
5785 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
5786 (commit commit)))
5787 (file-name (git-file-name name version))
5788 (sha256
5789 (base32
5790 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
5791 (build-system emacs-build-system)
5792 (arguments
5793 `(#:tests? #t
5794 #:test-command '("emacs" "--batch"
5795 "-l" "julia-mode-tests.el"
5796 "-f" "ert-run-tests-batch-and-exit")))
5797 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
5798 (synopsis "Major mode for Julia")
5799 (description "This Emacs package provides a mode for the Julia
5800 programming language.")
5801 (license license:expat))))
5802
5803 (define-public emacs-smex
5804 (package
5805 (name "emacs-smex")
5806 (version "3.0")
5807 (source (origin
5808 (method url-fetch)
5809 (uri (string-append "https://raw.githubusercontent.com"
5810 "/nonsequitur/smex/" version "/smex.el"))
5811 (file-name (string-append "smex-" version ".el"))
5812 (sha256
5813 (base32
5814 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
5815 (build-system emacs-build-system)
5816 (home-page "https://github.com/nonsequitur/smex/")
5817 (synopsis "M-x interface with Ido-style fuzzy matching")
5818 (description
5819 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
5820 convenient interface to your recently and most frequently used commands. And
5821 to all the other commands, too.")
5822 (license license:gpl3+)))
5823
5824 (define-public emacs-js2-mode
5825 (package
5826 (name "emacs-js2-mode")
5827 (version "20190219")
5828 (source
5829 (origin
5830 (method git-fetch)
5831 (uri (git-reference
5832 (url "https://github.com/mooz/js2-mode.git")
5833 (commit version)))
5834 (file-name (git-file-name name version))
5835 (sha256
5836 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
5837 (build-system emacs-build-system)
5838 (arguments
5839 `(#:tests? #t
5840 #:test-command '("make" "test")))
5841 (home-page "https://github.com/mooz/js2-mode/")
5842 (synopsis "Improved JavaScript editing mode for Emacs")
5843 (description
5844 "Js2-mode provides a JavaScript major mode for Emacs that is more
5845 advanced than the built-in javascript-mode. Features include accurate syntax
5846 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
5847 errors and strict-mode warnings, smart line-wrapping within comments and
5848 strings, and code folding.")
5849 (license license:gpl3+)))
5850
5851 (define-public emacs-nodejs-repl
5852 (package
5853 (name "emacs-nodejs-repl")
5854 (version "0.2.2")
5855 (source (origin
5856 (method git-fetch)
5857 (uri (git-reference
5858 (url "https://github.com/abicky/nodejs-repl.el")
5859 (commit version)))
5860 (file-name (git-file-name name version))
5861 (sha256
5862 (base32
5863 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
5864 (build-system emacs-build-system)
5865 (home-page "https://github.com/abicky/nodejs-repl.el")
5866 (synopsis "Node.js REPL inside Emacs")
5867 (description
5868 "This program is derived from comint-mode and provides the following
5869 features:
5870
5871 @itemize
5872 @item TAB completion same as Node.js REPL
5873 @item file name completion in string
5874 @item incremental history search
5875 @end itemize")
5876 (license license:gpl3+)))
5877
5878 (define-public emacs-typescript-mode
5879 (package
5880 (name "emacs-typescript-mode")
5881 (version "0.3")
5882 (source (origin
5883 (method git-fetch)
5884 (uri (git-reference
5885 (url "https://github.com/ananthakumaran/typescript.el")
5886 (commit (string-append "v" version))))
5887 (file-name (git-file-name name version))
5888 (sha256
5889 (base32
5890 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
5891 (build-system emacs-build-system)
5892 (home-page "https://github.com/ananthakumaran/typescript.el")
5893 (synopsis "Emacs major mode for editing Typescript code")
5894 (description
5895 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
5896 This is much more robust and works with @code{cc-mode}'s comment
5897 filling (mostly). The modifications to the original @code{javascript.el} mode
5898 mainly consisted in replacing \"javascript\" with \"typescript\"
5899
5900 The main features of this Typescript mode are syntactic highlighting (enabled
5901 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
5902 indentation and filling of comments and C preprocessor fontification.")
5903 (license license:gpl3+)))
5904
5905 (define-public emacs-tide
5906 (package
5907 (name "emacs-tide")
5908 (version "3.2.3")
5909 (source (origin
5910 (method git-fetch)
5911 (uri (git-reference
5912 (url "https://github.com/ananthakumaran/tide")
5913 (commit (string-append "v" version))))
5914 (file-name (git-file-name name version))
5915 (sha256
5916 (base32
5917 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
5918 (build-system emacs-build-system)
5919 (propagated-inputs
5920 `(("emacs-dash" ,emacs-dash)
5921 ("emacs-s" ,emacs-s)
5922 ("emacs-flycheck" ,emacs-flycheck)
5923 ("emacs-typescript-mode" ,emacs-typescript-mode)))
5924 (home-page "https://github.com/ananthakumaran/tide")
5925 (synopsis "Typescript IDE for Emacs")
5926 (description
5927 "Tide is an Interactive Development Environment (IDE) for Emacs which
5928 provides the following features:
5929
5930 @itemize
5931 @item ElDoc
5932 @item Auto complete
5933 @item Flycheck
5934 @item Jump to definition, Jump to type definition
5935 @item Find occurrences
5936 @item Rename symbol
5937 @item Imenu
5938 @item Compile On Save
5939 @item Highlight Identifiers
5940 @item Code Fixes
5941 @item Code Refactor
5942 @item Organize Imports
5943 @end itemize")
5944 (license license:gpl3+)))
5945
5946 (define-public emacs-markdown-mode
5947 (package
5948 (name "emacs-markdown-mode")
5949 (version "2.3")
5950 (source (origin
5951 (method git-fetch)
5952 (uri (git-reference
5953 (url "https://github.com/jrblevin/markdown-mode.git")
5954 (commit (string-append "v" version))))
5955 (file-name (git-file-name name version))
5956 (sha256
5957 (base32
5958 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7"))))
5959 (build-system emacs-build-system)
5960 (home-page "http://jblevins.org/projects/markdown-mode/")
5961 (synopsis "Emacs Major mode for Markdown files")
5962 (description
5963 "Markdown-mode is a major mode for editing Markdown-formatted text files
5964 in Emacs.")
5965 (license license:gpl3+)))
5966
5967 (define-public emacs-edit-indirect
5968 (package
5969 (name "emacs-edit-indirect")
5970 (version "0.1.5")
5971 (source
5972 (origin
5973 (method git-fetch)
5974 (uri (git-reference
5975 (url "https://github.com/Fanael/edit-indirect")
5976 (commit version)))
5977 (file-name (git-file-name name version))
5978 (sha256
5979 (base32
5980 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
5981 (build-system emacs-build-system)
5982 (home-page "https://github.com/Fanael/edit-indirect")
5983 (synopsis "Edit regions in separate buffers")
5984 (description "This package allows you to edit regions in separate buffers,
5985 like @code{org-edit-src-code} but for arbitrary regions.")
5986 (license license:gpl3+)))
5987
5988 (define-public emacs-projectile
5989 (package
5990 (name "emacs-projectile")
5991 (version "2.0.0")
5992 (source (origin
5993 (method url-fetch)
5994 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
5995 "/projectile/v" version "/projectile.el"))
5996 (file-name (string-append "projectile-" version ".el"))
5997 (sha256
5998 (base32
5999 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
6000 (build-system emacs-build-system)
6001 (propagated-inputs
6002 `(("emacs-dash" ,emacs-dash)
6003 ("emacs-pkg-info" ,emacs-pkg-info)))
6004 (home-page "https://github.com/bbatsov/projectile")
6005 (synopsis "Manage and navigate projects in Emacs easily")
6006 (description
6007 "This library provides easy project management and navigation. The
6008 concept of a project is pretty basic - just a folder containing special file.
6009 Currently git, mercurial and bazaar repos are considered projects by default.
6010 If you want to mark a folder manually as a project just create an empty
6011 .projectile file in it.")
6012 (license license:gpl3+)))
6013
6014 (define-public emacs-skeletor
6015 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
6016 (revision "1"))
6017 (package
6018 (name "emacs-skeletor")
6019 (version (git-version "1.6.1" revision commit))
6020 (source (origin
6021 (method git-fetch)
6022 (uri (git-reference
6023 (url "https://github.com/chrisbarrett/skeletor.el.git")
6024 (commit commit)))
6025 (file-name (git-file-name name version))
6026 (sha256
6027 (base32
6028 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
6029 (build-system emacs-build-system)
6030 (propagated-inputs
6031 `(("emacs-s" ,emacs-s)
6032 ("emacs-f" ,emacs-f)
6033 ("emacs-dash" ,emacs-dash)
6034 ("emacs-let-alist" ,emacs-let-alist)))
6035 (native-inputs
6036 `(("emacs-ert-runner" ,emacs-ert-runner)))
6037 (arguments
6038 `(#:include (cons "^project-skeletons\\/" %default-include)
6039 ;; XXX: one failing test involving initializing a git repo
6040 #:phases
6041 (modify-phases %standard-phases
6042 (add-before 'check 'make-test-writable
6043 (lambda _
6044 (make-file-writable "test/skeletor-test.el")
6045 #t))
6046 (add-before 'check 'remove-git-test
6047 (lambda _
6048 (emacs-batch-edit-file "test/skeletor-test.el"
6049 `(progn
6050 (progn
6051 (goto-char (point-min))
6052 (re-search-forward
6053 "ert-deftest initialises-git-repo")
6054 (beginning-of-line)
6055 (kill-sexp))
6056 (basic-save-buffer)))
6057 #t)))
6058 #:tests? #t
6059 #:test-command '("ert-runner")))
6060 (home-page "https://github.com/chrisbarrett/skeletor.el")
6061 (synopsis "Project skeletons for Emacs")
6062 (description "This package provides project templates and automates the
6063 mundane parts of setting up a new project, such as version control, licenses,
6064 and tooling.")
6065 (license license:gpl3+))))
6066
6067 (define-public emacs-elfeed
6068 (package
6069 (name "emacs-elfeed")
6070 (version "3.2.0")
6071 (source
6072 (origin
6073 (method git-fetch)
6074 (uri (git-reference
6075 (url "https://github.com/skeeto/elfeed.git")
6076 (commit version)))
6077 (file-name (git-file-name name version))
6078 (sha256
6079 (base32 "0m0a35210pb4yf6m8mzaq6nkl9x6fphjjqyl3dzygnmmzxkc8aw2"))))
6080 (build-system emacs-build-system)
6081 (arguments
6082 `(#:tests? #t
6083 #:test-command '("make" "test")))
6084 (home-page "https://github.com/skeeto/elfeed")
6085 (synopsis "Atom/RSS feed reader for Emacs")
6086 (description
6087 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
6088 and RSS, with a user interface inspired by notmuch.")
6089 (license license:gpl3+)))
6090
6091 (define-public emacs-elfeed-org
6092 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
6093 (package
6094 (name "emacs-elfeed-org")
6095 (version (git-version "0.1" "1" commit))
6096 (source
6097 (origin
6098 (method git-fetch)
6099 (uri (git-reference
6100 (url "https://github.com/remyhonig/elfeed-org.git")
6101 (commit commit)))
6102 (file-name (git-file-name name version))
6103 (sha256
6104 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
6105 (build-system emacs-build-system)
6106 (propagated-inputs
6107 `(("emacs-elfeed" ,emacs-elfeed)
6108 ("emacs-org" ,emacs-org)
6109 ("emacs-dash" ,emacs-dash)
6110 ("emacs-s" ,emacs-s)))
6111 (native-inputs
6112 `(("ert-runner" ,emacs-ert-runner)
6113 ("emacs-xtest" ,emacs-xtest)))
6114 (arguments
6115 `(#:tests? #t
6116 #:test-command '("ert-runner" "-L" "org-mode/lisp")
6117 #:phases
6118 (modify-phases %standard-phases
6119 (add-before 'check 'chmod
6120 (lambda _
6121 (chmod "test/fixture-mark-feed-ignore.org" #o644)
6122 #t)))))
6123 (home-page "https://github.com/remyhonig/elfeed-org")
6124 (synopsis "Configure Elfeed with an Org-mode file")
6125 (description
6126 "@code{elfeed-org} lets you manage your Elfeed subscriptions
6127 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
6128 the regular flat list, where there is no hierarchy and tag names are
6129 duplicated a lot. Org-mode makes the book keeping of tags and feeds
6130 much easier.")
6131 (license license:gpl3+))))
6132
6133 (define-public emacs-el-x
6134 (package
6135 (name "emacs-el-x")
6136 (version "0.3.1")
6137 (source (origin
6138 (method git-fetch)
6139 (uri (git-reference
6140 (url "https://github.com/sigma/el-x.git")
6141 (commit (string-append "v" version))))
6142 (file-name (git-file-name name version))
6143 (sha256
6144 (base32
6145 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
6146 (build-system emacs-build-system)
6147 (arguments
6148 `(#:phases
6149 (modify-phases %standard-phases
6150 ;; Move the source files to the top level, which is included in
6151 ;; the EMACSLOADPATH.
6152 (add-after 'unpack 'move-source-files
6153 (lambda _
6154 (let ((el-files (find-files "./lisp" ".*\\.el$")))
6155 (for-each (lambda (f)
6156 (rename-file f (basename f)))
6157 el-files))
6158 #t)))))
6159 (home-page "https://github.com/sigma/el-x")
6160 (synopsis "Emacs Lisp extensions")
6161 (description "command@{emacs-el-x} defines the @code{dflet} macro to
6162 provide the historic behavior of @code{flet}, as well as
6163 @code{declare-function} stub for older Emacs.")
6164 (license license:gpl2+)))
6165
6166 (define-public emacs-mocker
6167 (package
6168 (name "emacs-mocker")
6169 (version "0.3.1")
6170 (source (origin
6171 (method git-fetch)
6172 (uri (git-reference
6173 (url "https://github.com/sigma/mocker.el.git")
6174 (commit (string-append "v" version))))
6175 (file-name (git-file-name name version))
6176 (sha256
6177 (base32
6178 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
6179 (build-system emacs-build-system)
6180 (arguments
6181 `(#:tests? #t
6182 #:test-command '("ert-runner")))
6183 (native-inputs
6184 `(("ert-runner" ,emacs-ert-runner)))
6185 (propagated-inputs
6186 `(("emacs-el-x" ,emacs-el-x)))
6187 (home-page "https://github.com/sigma/mocker.el")
6188 (synopsis "Mocking framework for Emacs Lisp")
6189 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
6190 It uses regular Lisp rather than a domain specific language (DSL), which
6191 maximizes flexibility (at the expense of conciseness).")
6192 (license license:gpl2+)))
6193
6194 (define-public emacs-find-file-in-project
6195 (package
6196 (name "emacs-find-file-in-project")
6197 (version "5.4.7")
6198 (source (origin
6199 (method git-fetch)
6200 (uri (git-reference
6201 (url "https://github.com/technomancy/find-file-in-project.git")
6202 (commit version)))
6203 (file-name (git-file-name name version))
6204 (sha256
6205 (base32
6206 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
6207 (build-system emacs-build-system)
6208 (arguments
6209 `(#:phases
6210 (modify-phases %standard-phases
6211 (add-before 'check 'set-shell
6212 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
6213 ;; work.
6214 (lambda _
6215 (setenv "SHELL" (which "sh"))
6216 #t)))
6217 #:tests? #t
6218 #:test-command '("./tests/test.sh")))
6219 (home-page "https://github.com/technomancy/find-file-in-project")
6220 (synopsis "File/directory finder for Emacs")
6221 (description "@code{find-file-in-project} allows to find files or
6222 directories quickly in the current project. The project root is detected
6223 automatically when Git, Subversion or Mercurial are used. It also provides
6224 functions to assist in reviewing changes on files.")
6225 (license license:gpl3+)))
6226
6227 (define-public emacs-pyvenv
6228 (package
6229 (name "emacs-pyvenv")
6230 (version "1.20")
6231 (source (origin
6232 (method git-fetch)
6233 (uri (git-reference
6234 (url "https://github.com/jorgenschaefer/pyvenv.git")
6235 (commit (string-append "v" version))))
6236 (file-name (git-file-name name version))
6237 (sha256
6238 (base32
6239 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
6240 (build-system emacs-build-system)
6241 (arguments
6242 `(#:phases
6243 (modify-phases %standard-phases
6244 ;; This phase incorrectly attempts to substitute "activate" and fails
6245 ;; doing so.
6246 (delete 'patch-el-files))
6247 #:tests? #t
6248 #:test-command '("ert-runner")))
6249 (native-inputs
6250 `(("ert-runner" ,emacs-ert-runner)
6251 ("emacs-mocker" ,emacs-mocker)))
6252 (home-page "https://github.com/jorgenschaefer/pyvenv")
6253 (synopsis "Python virtual environment interface for Emacs")
6254 (description "pyvenv.el is a minor mode to support using Python virtual
6255 environments (virtualenv) inside Emacs.")
6256 (license license:gpl3+)))
6257
6258 (define-public emacs-highlight-indentation
6259 ;; Last release version is from 2015.
6260 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
6261 (revision "1"))
6262 (package
6263 (name "emacs-highlight-indentation")
6264 (version (git-version "0.7.0" revision commit))
6265 (source
6266 (origin
6267 (method git-fetch)
6268 (uri (git-reference
6269 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
6270 (commit commit)))
6271 (file-name (git-file-name name version))
6272 (sha256
6273 (base32
6274 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
6275 (build-system emacs-build-system)
6276 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
6277 (synopsis "Highlighting indentation for Emacs")
6278 (description "This package provides two minor modes to highlight
6279 indentation guides in Emacs:
6280
6281 @enumerate
6282 @item @code{highlight-indentation-mode}, which displays guidelines
6283 indentation (space indentation only).
6284 @item @code{highlight-indentation-current-column-mode}, which displays
6285 guidelines for the current-point indentation (space indentation only).
6286 @end enumerate")
6287 (license license:gpl2+))))
6288
6289 (define-public emacs-elpy
6290 (package
6291 (name "emacs-elpy")
6292 (version "1.31.0")
6293 (source (origin
6294 (method git-fetch)
6295 (uri (git-reference
6296 (url "https://github.com/jorgenschaefer/elpy.git")
6297 (commit version)))
6298 (file-name (git-file-name name version))
6299 (sha256
6300 (base32
6301 "0bvmgqs3c80bhs9v5ymgadv7vk4iamha10y7rl09pixmjm4mzagk"))))
6302 (build-system emacs-build-system)
6303 (arguments
6304 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
6305 #:phases
6306 ;; TODO: Make `elpy-config' display Guix commands :)
6307 (modify-phases %standard-phases
6308 ;; One elpy test depends on being run inside a Python virtual
6309 ;; environment to pass. We have nothing to gain from doing so here,
6310 ;; so we just trick Elpy into thinking we are (see:
6311 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
6312 (add-before 'check 'fake-virtualenv
6313 (lambda _
6314 (setenv "VIRTUAL_ENV" "/tmp")
6315 #t))
6316 (add-before 'check 'build-doc
6317 (lambda _
6318 (with-directory-excursion "docs"
6319 (invoke "make" "info" "man"))
6320 ;; Move .info file at the root so that it can installed by the
6321 ;; 'move-doc phase.
6322 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
6323 #t))
6324 (add-after 'build-doc 'install-manpage
6325 (lambda* (#:key outputs #:allow-other-keys)
6326 (let* ((out (assoc-ref outputs "out"))
6327 (man1 (string-append out "/share/man/man1")))
6328 (mkdir-p man1)
6329 (copy-file "docs/_build/man/elpy.1"
6330 (string-append man1 "/elpy.1")))
6331 #t)))
6332 #:tests? #t
6333 #:test-command '("ert-runner")))
6334 (propagated-inputs
6335 `(("emacs-company" ,emacs-company)
6336 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
6337 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
6338 ("emacs-yasnippet" ,emacs-yasnippet)
6339 ("pyvenv" ,emacs-pyvenv)
6340 ("s" ,emacs-s)))
6341 (native-inputs
6342 `(("ert-runner" ,emacs-ert-runner)
6343 ("emacs-f" ,emacs-f)
6344 ("python" ,python-wrapper)
6345 ("python-autopep8" ,python-autopep8)
6346 ("python-black" ,python-black)
6347 ("python-flake8" ,python-flake8)
6348 ("python-jedi" ,python-jedi)
6349 ("python-yapf" ,python-yapf)
6350 ;; For documentation.
6351 ("python-sphinx" ,python-sphinx)
6352 ("texinfo" ,texinfo)))
6353 (home-page "https://github.com/jorgenschaefer/elpy")
6354 (synopsis "Python development environment for Emacs")
6355 (description "Elpy brings powerful Python editing to Emacs. It combines
6356 and configures a number of other packages written in Emacs Lisp as well as
6357 Python, together offering features such as navigation, documentation,
6358 completion, interactive development and more.")
6359 (license license:gpl3+)))
6360
6361 (define-public emacs-rainbow-delimiters
6362 (package
6363 (name "emacs-rainbow-delimiters")
6364 (version "2.1.3")
6365 (source (origin
6366 (method git-fetch)
6367 (uri (git-reference
6368 (url "https://github.com/Fanael/rainbow-delimiters.git")
6369 (commit version)))
6370 (file-name (git-file-name name version))
6371 (sha256
6372 (base32
6373 "0vs9pf8lqq5p5qz1770pxgw47ym4xj8axxmwamn66br59mykdhv0"))))
6374 (build-system emacs-build-system)
6375 (home-page "https://github.com/Fanael/rainbow-delimiters")
6376 (arguments
6377 `(#:tests? #t
6378 #:test-command '("emacs" "-Q" "-batch"
6379 "-l" "rainbow-delimiters-test.el"
6380 "-f" "ert-run-tests-batch-and-exit")))
6381 (synopsis "Highlight brackets according to their depth")
6382 (description
6383 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
6384 highlights parentheses, brackets, and braces according to their depth. Each
6385 successive level is highlighted in a different color, making it easy to spot
6386 matching delimiters, orient yourself in the code, and tell which statements
6387 are at a given level.")
6388 (license license:gpl3+)))
6389
6390 (define-public emacs-rainbow-identifiers
6391 (package
6392 (name "emacs-rainbow-identifiers")
6393 (version "0.2.2")
6394 (source (origin
6395 (method url-fetch)
6396 (uri (string-append "https://raw.githubusercontent.com/Fanael"
6397 "/rainbow-identifiers/" version
6398 "/rainbow-identifiers.el"))
6399 (file-name (string-append "rainbow-identifiers-" version ".el"))
6400 (sha256
6401 (base32
6402 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
6403 (build-system emacs-build-system)
6404 (home-page "https://github.com/Fanael/rainbow-identifiers")
6405 (synopsis "Highlight identifiers in source code")
6406 (description
6407 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
6408 identifiers based on their names. Each identifier gets a color based on a hash
6409 of its name.")
6410 (license license:bsd-2)))
6411
6412 (define-public emacs-rainbow-mode
6413 (package
6414 (name "emacs-rainbow-mode")
6415 (version "1.0.1")
6416 (source (origin
6417 (method url-fetch)
6418 (uri (string-append
6419 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
6420 (sha256
6421 (base32
6422 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
6423 (build-system emacs-build-system)
6424 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
6425 (synopsis "Colorize color names in buffers")
6426 (description
6427 "This minor mode sets background color to strings that match color
6428 names, e.g. #0000ff is displayed in white with a blue background.")
6429 (license license:gpl3+)))
6430
6431 (define-public emacs-visual-fill-column
6432 (package
6433 (name "emacs-visual-fill-column")
6434 (version "1.11")
6435 (source (origin
6436 (method url-fetch)
6437 (uri (string-append "https://codeload.github.com/joostkremers/"
6438 "visual-fill-column/tar.gz/" version))
6439 (file-name (string-append name "-" version ".tar.gz"))
6440 (sha256
6441 (base32
6442 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
6443 (build-system emacs-build-system)
6444 (home-page "https://github.com/joostkremers/visual-fill-column")
6445 (synopsis "Fill-column for visual-line-mode")
6446 (description
6447 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
6448 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
6449 wrapping lines at the window edge, which is the standard behaviour of
6450 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
6451 @code{fill-column} is too large for the window, the text is wrapped at the
6452 window edge.")
6453 (license license:gpl3+)))
6454
6455 (define-public emacs-writeroom
6456 (package
6457 (name "emacs-writeroom")
6458 (version "3.7")
6459 (source
6460 (origin
6461 (method git-fetch)
6462 (uri (git-reference
6463 (url "https://github.com/joostkremers/writeroom-mode.git")
6464 (commit version)))
6465 (file-name (git-file-name name version))
6466 (sha256
6467 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
6468 (build-system emacs-build-system)
6469 (propagated-inputs
6470 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
6471 (home-page "https://github.com/joostkremers/writeroom-mode")
6472 (synopsis "Distraction-free writing for Emacs")
6473 (description
6474 "This package defines a minor mode for distraction-free writing. Some of
6475 the default effects include entering fullscreen, deleting other windows of the
6476 current frame, disabling the mode line, and adding margins to the buffer that
6477 restrict the text width to 80 characters.")
6478 (license license:bsd-3)))
6479
6480 (define-public emacs-ido-completing-read+
6481 (package
6482 (name "emacs-ido-completing-read+")
6483 (version "3.12")
6484 (source (origin
6485 (method url-fetch)
6486 (uri (string-append "https://raw.githubusercontent.com"
6487 "/DarwinAwardWinner/ido-ubiquitous/v"
6488 version "/ido-completing-read+.el"))
6489 (file-name (string-append "ido-completing-read+-" version ".el"))
6490 (sha256
6491 (base32
6492 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
6493 (build-system emacs-build-system)
6494 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6495 (synopsis "Replacement for completing-read using ido")
6496 (description
6497 "The ido-completing-read+ function is a wrapper for ido-completing-read.
6498 Importantly, it detects edge cases that ordinary ido cannot handle and either
6499 adjusts them so ido can handle them, or else simply falls back to the standard
6500 Emacs completion function instead.")
6501 (license license:gpl3+)))
6502
6503 (define-public emacs-ido-ubiquitous
6504 (package
6505 (name "emacs-ido-ubiquitous")
6506 (version "3.12")
6507 (source (origin
6508 (method url-fetch)
6509 (uri (string-append "https://raw.githubusercontent.com"
6510 "/DarwinAwardWinner/ido-ubiquitous/v"
6511 version "/ido-ubiquitous.el"))
6512 (file-name (string-append "ido-ubiquitous-" version ".el"))
6513 (sha256
6514 (base32
6515 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
6516 (build-system emacs-build-system)
6517 (propagated-inputs
6518 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
6519 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6520 (synopsis "Use ido (nearly) everywhere")
6521 (description
6522 "Ido-ubiquitous enables ido-style completion for almost every function
6523 that uses the standard completion function completing-read.")
6524 (license license:gpl3+)))
6525
6526 (define-public emacs-yaml-mode
6527 (package
6528 (name "emacs-yaml-mode")
6529 (version "0.0.14")
6530 (source (origin
6531 (method git-fetch)
6532 (uri (git-reference
6533 (url "https://github.com/yoshiki/yaml-mode.git")
6534 (commit version)))
6535 (file-name (git-file-name name version))
6536 (sha256
6537 (base32
6538 "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
6539 (build-system emacs-build-system)
6540 (home-page "https://github.com/yoshiki/yaml-mode")
6541 (synopsis "Major mode for editing YAML files")
6542 (description
6543 "Yaml-mode is an Emacs major mode for editing files in the YAML data
6544 serialization format. It was initially developed by Yoshiki Kurihara and many
6545 features were added by Marshall Vandegrift. As YAML and Python share the fact
6546 that indentation determines structure, this mode provides indentation and
6547 indentation command behavior very similar to that of python-mode.")
6548 (license license:gpl3+)))
6549
6550 (define-public emacs-gitlab-ci-mode
6551 (package
6552 (name "emacs-gitlab-ci-mode")
6553 (version "20190425.11.10")
6554 (source (origin
6555 (method git-fetch)
6556 (uri (git-reference
6557 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
6558 (commit (string-append "v" version))))
6559 (file-name (git-file-name name version))
6560 (sha256
6561 (base32
6562 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
6563 (build-system emacs-build-system)
6564 (propagated-inputs
6565 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
6566 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
6567 (synopsis "Emacs mode for editing GitLab CI files")
6568 (description
6569 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
6570 files. It provides syntax highlighting and completion for keywords and
6571 special variables. An interface to GitLab’s CI file linter is also provided
6572 via @code{gitlab-ci-lint}.")
6573 (license license:gpl3+)))
6574
6575 (define-public emacs-web-mode
6576 (package
6577 (name "emacs-web-mode")
6578 (version "16")
6579 (source (origin
6580 (method git-fetch)
6581 (uri (git-reference
6582 (url "https://github.com/fxbois/web-mode.git")
6583 (commit (string-append "v" version))))
6584 (file-name (git-file-name name version))
6585 (sha256
6586 (base32
6587 "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0"))))
6588 (build-system emacs-build-system)
6589 (synopsis "Major mode for editing web templates")
6590 (description "Web-mode is an Emacs major mode for editing web templates
6591 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
6592 client/server side engines). Web-mode is compatible with many template
6593 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
6594 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
6595 Dust.js, React/JSX, Angularjs, ejs, etc.")
6596 (home-page "http://web-mode.org/")
6597 (license license:gpl3+)))
6598
6599 (define-public emacs-wgrep
6600 (package
6601 (name "emacs-wgrep")
6602 (version "2.3.0")
6603 (source (origin
6604 (method git-fetch)
6605 (uri (git-reference
6606 (url "https://github.com/mhayashi1120/Emacs-wgrep")
6607 (commit version)))
6608 (file-name (git-file-name name version))
6609 (sha256
6610 (base32
6611 "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"))))
6612 (build-system emacs-build-system)
6613 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
6614 (synopsis "Edit a grep buffer and apply those changes to the files")
6615 (description
6616 "Emacs wgrep allows you to edit a grep buffer and apply those changes
6617 to the file buffer. Several backends are supported beside the classic grep:
6618 ack, ag, helm and pt.")
6619 (license license:gpl3+)))
6620
6621 (define-public emacs-helm
6622 (package
6623 (name "emacs-helm")
6624 (version "3.5.0")
6625 (source
6626 (origin
6627 (method git-fetch)
6628 (uri (git-reference
6629 (url "https://github.com/emacs-helm/helm.git")
6630 (commit (string-append "v" version))))
6631 (file-name (git-file-name name version))
6632 (sha256
6633 (base32 "07bijcnfkv60l3swasxv53x32l6glds05mxnbb3xbnmkgm1pm9if"))))
6634 (build-system emacs-build-system)
6635 (propagated-inputs
6636 `(("emacs-async" ,emacs-async)
6637 ("emacs-popup" ,emacs-popup)))
6638 (home-page "https://emacs-helm.github.io/helm/")
6639 (synopsis "Incremental completion and selection narrowing
6640 framework for Emacs")
6641 (description "Helm is incremental completion and selection narrowing
6642 framework for Emacs. It will help steer you in the right direction when
6643 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
6644 of @code{anything.el} originally written by Tamas Patrovic and can be
6645 considered to be its successor. Helm sets out to clean up the legacy code in
6646 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
6647 not tied in the trap of backward compatibility.")
6648 (license license:gpl3+)))
6649
6650 (define-public emacs-helm-org
6651 (let ((commit "542dda7bc9a3b9dfb439e4f8a1e5f60cfb6cc256")
6652 (revision "1"))
6653 (package
6654 (name "emacs-helm-org")
6655 (version (git-version "1.0" revision commit))
6656 (source
6657 (origin
6658 (method git-fetch)
6659 (uri (git-reference
6660 (url "https://github.com/emacs-helm/helm-org.git")
6661 (commit commit)))
6662 (file-name (git-file-name name version))
6663 (sha256
6664 (base32 "1xa32w80icrykpyfb89fhb0s4l7ysi0sc7f7lfwqz5najwbgqipl"))))
6665 (build-system emacs-build-system)
6666 (propagated-inputs
6667 `(("emacs-helm" ,emacs-helm)))
6668 (home-page "https://github.com/emacs-helm/helm-org")
6669 (synopsis "Helm interface to the Silver Searcher")
6670 (description
6671 "This package provides a frontend for grepping tools like ag and ack,
6672 as well as features for editing search results.")
6673 (license license:gpl3+))))
6674
6675 (define-public emacs-helm-swoop
6676 (package
6677 (name "emacs-helm-swoop")
6678 (version "2.0.0")
6679 (source
6680 (origin
6681 (method git-fetch)
6682 (uri (git-reference
6683 (url "https://github.com/emacsorphanage/helm-swoop.git")
6684 (commit version)))
6685 (file-name (git-file-name name version))
6686 (sha256
6687 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
6688 (build-system emacs-build-system)
6689 (propagated-inputs
6690 `(("emacs-helm" ,emacs-helm)))
6691 (home-page "https://github.com/emacsorphanage/helm-swoop")
6692 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
6693 (description
6694 "This package builds on the Helm interface to provide several commands
6695 for search-based navigation of buffers.")
6696 (license license:gpl2+)))
6697
6698 (define-public emacs-helm-ag
6699 (let ((commit "2fc02c4ead29bf0db06fd70740cc7c364cb650ac")
6700 (revision "1"))
6701 (package
6702 (name "emacs-helm-ag")
6703 (version (git-version "0.58" revision commit))
6704 (source
6705 (origin
6706 (method git-fetch)
6707 (uri (git-reference
6708 (url "https://github.com/syohex/emacs-helm-ag.git")
6709 (commit commit)))
6710 (file-name (git-file-name name version))
6711 (sha256
6712 (base32 "1gnn0byywbld6afcq1vp92cjvy4wlag9d1wgymnqn86c3b1bcf21"))))
6713 (build-system emacs-build-system)
6714 (propagated-inputs
6715 `(("emacs-helm" ,emacs-helm)))
6716 (home-page "https://github.com/syohex/emacs-helm-ag")
6717 (synopsis "Helm interface to the Silver Searcher")
6718 (description
6719 "This package provides a frontend for grepping tools like ag and ack,
6720 as well as features for editing search results.")
6721 (license license:gpl3+))))
6722
6723 (define-public emacs-helm-projectile
6724 (package
6725 (name "emacs-helm-projectile")
6726 (version "0.14.0")
6727 (source
6728 (origin
6729 (method git-fetch)
6730 (uri (git-reference
6731 (url "https://github.com/bbatsov/helm-projectile.git")
6732 (commit (string-append "v" version))))
6733 (file-name (git-file-name name version))
6734 (sha256
6735 (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
6736 (build-system emacs-build-system)
6737 (propagated-inputs
6738 `(("emacs-dash" ,emacs-dash)
6739 ("emacs-helm" ,emacs-helm)
6740 ("emacs-projectile" ,emacs-projectile)))
6741 (home-page "https://github.com/bbatsov/helm-projectile")
6742 (synopsis "Helm integration for Projectile")
6743 (description
6744 "This Emacs library provides a Helm interface for Projectile.")
6745 (license license:gpl3+)))
6746
6747 (define-public emacs-taskrunner
6748 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
6749 (revision "1"))
6750 (package
6751 (name "emacs-taskrunner")
6752 (version (git-version "0.6" revision commit))
6753 (source
6754 (origin
6755 (method git-fetch)
6756 (uri (git-reference
6757 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
6758 (commit commit)))
6759 (file-name (git-file-name name version))
6760 (sha256
6761 (base32
6762 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
6763 (build-system emacs-build-system)
6764 (propagated-inputs
6765 `(("emacs-async" ,emacs-async)
6766 ("emacs-projectile" ,emacs-projectile)))
6767 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
6768 (synopsis "Retrieve tasks from various build systems and task-runners")
6769 (description "This package parses Makefiles and build-system files for
6770 multiple project types.")
6771 (license license:gpl3+))))
6772
6773 (define-public emacs-ivy-taskrunner
6774 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
6775 (revision "1"))
6776 (package
6777 (name "emacs-ivy-taskrunner")
6778 (version (git-version "0.9" revision commit))
6779 (source
6780 (origin
6781 (method git-fetch)
6782 (uri (git-reference
6783 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
6784 (commit commit)))
6785 (file-name (git-file-name name version))
6786 (sha256
6787 (base32
6788 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
6789 (build-system emacs-build-system)
6790 (propagated-inputs
6791 `(("emacs-ivy" ,emacs-ivy)
6792 ("emacs-taskrunner" ,emacs-taskrunner)
6793 ("emacs-projectile" ,emacs-projectile)))
6794 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
6795 (synopsis "Retrieve build-system tasks using Ivy")
6796 (description "This package provides an Ivy interface for selecting
6797 Makefile targets.")
6798 (license license:gpl3+))))
6799
6800 (define-public emacs-helm-taskrunner
6801 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
6802 (revision "1"))
6803 (package
6804 (name "emacs-helm-taskrunner")
6805 (version (git-version "0.9" revision commit))
6806 (source
6807 (origin
6808 (method git-fetch)
6809 (uri (git-reference
6810 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
6811 (commit commit)))
6812 (file-name (git-file-name name version))
6813 (sha256
6814 (base32
6815 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
6816 (build-system emacs-build-system)
6817 (propagated-inputs
6818 `(("emacs-helm" ,emacs-helm)
6819 ("emacs-taskrunner" ,emacs-taskrunner)
6820 ("emacs-projectile" ,emacs-projectile)))
6821 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
6822 (synopsis "Retrieve build-system tasks using Helm")
6823 (description "This package provides a Helm interface for selecting
6824 Makefile targets.")
6825 (license license:gpl3+))))
6826
6827 (define-public emacs-helm-make
6828 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
6829 (revision "1"))
6830 (package
6831 (name "emacs-helm-make")
6832 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
6833 (source
6834 (origin
6835 (method git-fetch)
6836 (uri (git-reference
6837 (url "https://github.com/abo-abo/helm-make.git")
6838 (commit commit)))
6839 (file-name (git-file-name name version))
6840 (sha256
6841 (base32
6842 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
6843 (build-system emacs-build-system)
6844 (propagated-inputs
6845 `(("emacs-helm" ,emacs-helm)
6846 ("emacs-projectile" ,emacs-projectile)))
6847 (home-page "https://github.com/abo-abo/helm-make")
6848 (synopsis "Select a Makefile target with helm")
6849 (description "@code{helm-make} or @code{helm-make-projectile} will give
6850 you a @code{helm} selection of directory Makefile's targets. Selecting a
6851 target will call @code{compile} on it.")
6852 (license license:gpl3+))))
6853
6854 (define-public emacs-cider
6855 (package
6856 (name "emacs-cider")
6857 (version "0.21.0")
6858 (source
6859 (origin
6860 (method git-fetch)
6861 (uri (git-reference
6862 (url "https://github.com/clojure-emacs/cider.git")
6863 (commit (string-append "v" version))))
6864 (file-name (git-file-name name version))
6865 (sha256
6866 (base32
6867 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
6868 (build-system emacs-build-system)
6869 (arguments
6870 '(#:exclude ; Don't exclude 'cider-test.el'.
6871 '("^\\.dir-locals\\.el$" "^test/")))
6872 (propagated-inputs
6873 `(("emacs-clojure-mode" ,emacs-clojure-mode)
6874 ("emacs-sesman" ,emacs-sesman)
6875 ("emacs-spinner" ,emacs-spinner)
6876 ("emacs-pkg-info" ,emacs-pkg-info)
6877 ("emacs-queue" ,emacs-queue)))
6878 (home-page "https://cider.readthedocs.io/")
6879 (synopsis "Clojure development environment for Emacs")
6880 (description
6881 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
6882 provide an interactive development experience similar to the one you'd get
6883 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
6884 Geiser) and Smalltalk.
6885
6886 CIDER is the successor to the now deprecated combination of using SLIME +
6887 swank-clojure for Clojure development.
6888
6889 There are plenty of differences between CIDER and SLIME, but the core ideas
6890 are pretty much the same (and SLIME served as the principle inspiration for
6891 CIDER).")
6892 (license license:gpl3+)))
6893
6894 ;; There hasn't been a tag or release since 2015, so we take the latest
6895 ;; commit.
6896 (define-public emacs-sly
6897 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
6898 (revision "1"))
6899 (package
6900 (name "emacs-sly")
6901 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
6902 (source
6903 (origin
6904 (method git-fetch)
6905 (uri (git-reference
6906 (url "https://github.com/joaotavora/sly.git")
6907 (commit commit)))
6908 (file-name (git-file-name name version))
6909 (sha256
6910 (base32
6911 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
6912 (build-system emacs-build-system)
6913 (arguments
6914 `(#:include (cons "^lib\\/" %default-include)
6915 #:phases
6916 ;; The package provides autoloads.
6917 (modify-phases %standard-phases
6918 (delete 'make-autoloads))))
6919 (home-page "https://github.com/joaotavora/sly")
6920 (synopsis "Sylvester the Cat's Common Lisp IDE")
6921 (description
6922 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
6923 contains the following improvements over it:
6924
6925 @enumerate
6926 @item Completely redesigned REPL based on Emacs's own full-featured
6927 @code{comint.el}
6928 @item Live code annotations via a new @code{sly-stickers} contrib
6929 @item Consistent interactive button interface. Everything can be copied to
6930 the REPL.
6931 @item Multiple inspectors with independent history
6932 @item Regexp-capable @code{M-x sly-apropos}
6933 @item Contribs are first class SLY citizens and enabled by default
6934 @item Use ASDF to loads contribs on demand.
6935 @end enumerate
6936
6937 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
6938 xref, etc...) are still available, but with better integration.")
6939 (license license:gpl3+))))
6940
6941 (define-public emacs-lua-mode
6942 (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
6943 (revision "2"))
6944 (package
6945 (name "emacs-lua-mode")
6946 (version (git-version "20151025" revision commit))
6947 (home-page "https://github.com/immerrr/lua-mode/")
6948 (source (origin
6949 (method git-fetch)
6950 (uri (git-reference
6951 (url home-page)
6952 (commit commit)))
6953 (file-name (git-file-name name version))
6954 (sha256
6955 (base32
6956 "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
6957 (build-system emacs-build-system)
6958 (synopsis "Major mode for lua")
6959 (description
6960 "This Emacs package provides a mode for @uref{https://www.lua.org/,
6961 Lua programming language}.")
6962 (license license:gpl2+))))
6963
6964 (define-public emacs-ebuild-mode
6965 (package
6966 (name "emacs-ebuild-mode")
6967 (version "1.37")
6968 (source (origin
6969 (method url-fetch)
6970 (uri (string-append
6971 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
6972 "-" version ".tar.xz"))
6973 (file-name (string-append name "-" version ".tar.xz"))
6974 (sha256
6975 (base32
6976 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
6977 (build-system emacs-build-system)
6978 (home-page "https://devmanual.gentoo.org")
6979 (synopsis "Major modes for Gentoo package files")
6980 (description
6981 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
6982 news items, openrc and runscripts.")
6983 (license license:gpl2+)))
6984
6985 (define-public emacs-evil
6986 (package
6987 (name "emacs-evil")
6988 (version "1.2.14")
6989 (source
6990 (origin
6991 (method git-fetch)
6992 (uri (git-reference
6993 (url "https://github.com/emacs-evil/evil")
6994 (commit version)))
6995 (file-name (git-file-name name version))
6996 (sha256
6997 (base32
6998 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
6999 (build-system emacs-build-system)
7000 (propagated-inputs
7001 `(("emacs-undo-tree" ,emacs-undo-tree)
7002 ("emacs-goto-chg" ,emacs-goto-chg)))
7003 (home-page "https://github.com/emacs-evil/evil")
7004 (synopsis "Extensible Vi layer for Emacs")
7005 (description
7006 "Evil is an extensible vi layer for Emacs. It emulates the
7007 main features of Vim, and provides facilities for writing custom
7008 extensions.")
7009 (license license:gpl3+)))
7010
7011 (define-public emacs-evil-collection
7012 (let ((commit "986ca7eb0b75eccd843bdad2f7fdb48f4ca6ac22")
7013 (revision "10"))
7014 (package
7015 (name "emacs-evil-collection")
7016 (version (git-version "0.0.2" revision commit))
7017 (source (origin
7018 (method git-fetch)
7019 (uri (git-reference
7020 (url "https://github.com/emacs-evil/evil-collection")
7021 (commit commit)))
7022 (file-name (git-file-name name version))
7023 (sha256
7024 (base32
7025 "172sx5w50x5wrs5w0sb6rkbj3q22s7mmsnk4c6pwknhbz3vwlvwz"))))
7026 (build-system emacs-build-system)
7027 (propagated-inputs
7028 `(("emacs-evil" ,emacs-evil)))
7029 (home-page "https://github.com/emacs-evil/evil-collection")
7030 (synopsis "Collection of Evil bindings for many major and minor modes")
7031 (description "This is a collection of Evil bindings for the parts of
7032 Emacs that Evil does not cover properly by default, such as @code{help-mode},
7033 @code{M-x calendar}, Eshell and more.")
7034 (license license:gpl3+))))
7035
7036 (define-public emacs-goto-chg
7037 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
7038 (version "1.7.3")
7039 (revision "1"))
7040 (package
7041 (name "emacs-goto-chg")
7042 (version (git-version version revision commit))
7043 (source
7044 (origin
7045 (method git-fetch)
7046 (uri (git-reference
7047 (url "https://github.com/emacs-evil/goto-chg")
7048 (commit commit)))
7049 (file-name (git-file-name name version))
7050 (sha256
7051 (base32
7052 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
7053 (build-system emacs-build-system)
7054 (propagated-inputs
7055 `(("emacs-undo-tree" ,emacs-undo-tree)))
7056 (home-page "https://github.com/emacs-evil/goto-chg")
7057 (synopsis "Go to the last change in the Emacs buffer")
7058 (description
7059 "This package provides @code{M-x goto-last-change} command that goes to
7060 the point of the most recent edit in the current Emacs buffer. When repeated,
7061 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
7062 used for reverse direction.")
7063 (license license:gpl2+))))
7064
7065 (define-public emacs-janpath-evil-numbers
7066 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
7067 (version "0.5")
7068 (revision "1"))
7069 (package
7070 (name "emacs-janpath-evil-numbers")
7071 (version (git-version version revision commit))
7072 (source
7073 (origin
7074 (method git-fetch)
7075 (uri (git-reference
7076 (url "https://github.com/janpath/evil-numbers")
7077 (commit commit)))
7078 (file-name (git-file-name name version))
7079 (sha256
7080 (base32
7081 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
7082 (build-system emacs-build-system)
7083 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7084 (home-page "https://github.com/janpath/evil-numbers")
7085 (synopsis "Increment and decrement numeric literals")
7086 (description
7087 "This package provides functionality to search for a number up to the
7088 end of a line and increment or decrement it.")
7089 (license license:gpl3+))))
7090
7091 (define-public emacs-evil-owl
7092 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
7093 (revision "3"))
7094 (package
7095 (name "emacs-evil-owl")
7096 (version (git-version "0.0.1" revision commit))
7097 (source
7098 (origin
7099 (method git-fetch)
7100 (uri (git-reference
7101 (url "https://github.com/mamapanda/evil-owl")
7102 (commit commit)))
7103 (file-name (git-file-name name version))
7104 (sha256
7105 (base32
7106 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
7107 (build-system emacs-build-system)
7108 (propagated-inputs
7109 `(("emacs-evil" ,emacs-evil)))
7110 (arguments
7111 `(#:tests? #t
7112 #:test-command '("make" "test")))
7113 (home-page "https://github.com/mamapanda/evil-owl")
7114 (synopsis "Preview candidates when using Evil registers and marks")
7115 (description
7116 "This package supplements Evil's register- and mark-based commands with
7117 a popup window for previewing candidates.")
7118 (license license:gpl3+))))
7119
7120 (define-public emacs-evil-exchange
7121 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
7122 (version "0.41")
7123 (revision "1"))
7124 (package
7125 (name "emacs-evil-exchange")
7126 (version (git-version version revision commit))
7127 (source
7128 (origin
7129 (method git-fetch)
7130 (uri (git-reference
7131 (url "https://github.com/Dewdrops/evil-exchange")
7132 (commit commit)))
7133 (file-name (git-file-name name version))
7134 (sha256
7135 (base32
7136 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
7137 (build-system emacs-build-system)
7138 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7139 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
7140 (arguments
7141 `(#:phases
7142 (modify-phases %standard-phases
7143 (add-before 'check 'fix-makefile
7144 (lambda _
7145 (substitute* "Makefile"
7146 (("cask exec ") ""))
7147 #t)))
7148 #:tests? #t
7149 #:test-command '("make" "test")))
7150 (home-page "https://github.com/Dewdrops/evil-exchange")
7151 (synopsis "Exchange text easily within Evil")
7152 (description
7153 "This package, a port of @code{vim-exchange}, provides an Evil operator
7154 for exchanging text.")
7155 (license license:gpl3+))))
7156
7157 (define-public emacs-evil-replace-with-register
7158 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
7159 (version "0.1")
7160 (revision "1"))
7161 (package
7162 (name "emacs-evil-replace-with-register")
7163 (version (git-version version revision commit))
7164 (source
7165 (origin
7166 (method git-fetch)
7167 (uri (git-reference
7168 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7169 (commit commit)))
7170 (file-name (git-file-name name version))
7171 (sha256
7172 (base32
7173 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
7174 (build-system emacs-build-system)
7175 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7176 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7177 (synopsis "Quickly replace text with the contents of a register")
7178 (description
7179 "This package provides an Evil operator for replacing text with the
7180 contents of a register.")
7181 (license license:gpl3+))))
7182
7183 (define-public emacs-evil-indent-plus
7184 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
7185 (version "1.0.0")
7186 (revision "1"))
7187 (package
7188 (name "emacs-evil-indent-plus")
7189 (version (git-version version revision commit))
7190 (source
7191 (origin
7192 (method git-fetch)
7193 (uri (git-reference
7194 (url "https://github.com/TheBB/evil-indent-plus")
7195 (commit commit)))
7196 (file-name (git-file-name name version))
7197 (sha256
7198 (base32
7199 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
7200 (build-system emacs-build-system)
7201 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7202 (home-page "https://github.com/TheBB/evil-indent-plus")
7203 (synopsis "Text objects based on indentation")
7204 (description
7205 "This package adds new text objects for @code{evil-mode} based on
7206 blocks having the same or higher indentation, including or excluding
7207 surrounding lines.")
7208 (license license:gpl2+))))
7209
7210 (define-public emacs-evil-text-object-python
7211 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
7212 (version "1.0.1")
7213 (revision "1"))
7214 (package
7215 (name "emacs-evil-text-object-python")
7216 (version (git-version version revision commit))
7217 (source
7218 (origin
7219 (method git-fetch)
7220 (uri (git-reference
7221 (url "https://github.com/wbolster/evil-text-object-python")
7222 (commit commit)))
7223 (file-name (git-file-name name version))
7224 (sha256
7225 (base32
7226 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
7227 (build-system emacs-build-system)
7228 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7229 (home-page "https://github.com/wbolster/evil-text-object-python")
7230 (synopsis "Text objects for Python")
7231 (description
7232 "This package provides @code{evil-mode} text objects for Python.")
7233 (license license:gpl3+))))
7234
7235 (define-public emacs-evil-lion
7236 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
7237 (revision "1"))
7238 (package
7239 (name "emacs-evil-lion")
7240 (version (git-version "0.0.2" revision commit))
7241 (source
7242 (origin
7243 (method git-fetch)
7244 (uri (git-reference
7245 (url "https://github.com/edkolev/evil-lion")
7246 (commit commit)))
7247 (file-name (git-file-name name version))
7248 (sha256
7249 (base32
7250 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
7251 (build-system emacs-build-system)
7252 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7253 (arguments
7254 `(#:tests? #t
7255 #:test-command '("make" "test")))
7256 (home-page "https://github.com/edkolev/evil-lion")
7257 (synopsis "Align operator for @code{evil-mode}")
7258 (description
7259 "This package, a port of @code{vim-lion}, provides an operator for
7260 aligning text objects based on separators.")
7261 (license license:gpl3+))))
7262
7263 (define-public emacs-evil-expat
7264 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
7265 (revision "1"))
7266 (package
7267 (name "emacs-evil-expat")
7268 (version (git-version "0.0.1" revision commit))
7269 (source
7270 (origin
7271 (method git-fetch)
7272 (uri (git-reference
7273 (url "https://github.com/edkolev/evil-expat")
7274 (commit commit)))
7275 (file-name (git-file-name name version))
7276 (sha256
7277 (base32
7278 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
7279 (build-system emacs-build-system)
7280 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7281 (arguments
7282 `(#:tests? #t
7283 #:test-command '("make" "test")))
7284 (home-page "https://github.com/edkolev/evil-expat")
7285 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
7286 (description
7287 "This package provides additional commands for the @code{ex} command
7288 line, including functions for version control with Git and for copying and
7289 pasting into and from @code{tmux} paste buffers.")
7290 (license license:gpl3+))))
7291
7292 (define-public emacs-evil-nerd-commenter
7293 (package
7294 (name "emacs-evil-nerd-commenter")
7295 (version "3.3.8")
7296 (source
7297 (origin
7298 (method git-fetch)
7299 (uri (git-reference
7300 (url "https://github.com/redguardtoo/evil-nerd-commenter")
7301 (commit version)))
7302 (file-name (git-file-name name version))
7303 (sha256
7304 (base32
7305 "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"))))
7306 (build-system emacs-build-system)
7307 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7308 (arguments
7309 `(#:tests? #t
7310 #:test-command '("make" "test")))
7311 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
7312 (synopsis "Comment and uncomment lines efficiently")
7313 (description
7314 "This package provides text objects and operators for comments within
7315 @code{evil-mode}.")
7316 (license license:gpl3+)))
7317
7318 (define-public emacs-evil-visual-replace
7319 (package
7320 (name "emacs-evil-visual-replace")
7321 (version "0.0.5")
7322 (source
7323 (origin
7324 (method git-fetch)
7325 (uri (git-reference
7326 (url "https://github.com/troyp/evil-visual-replace")
7327 (commit version)))
7328 (file-name (git-file-name name version))
7329 (sha256
7330 (base32
7331 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
7332 (build-system emacs-build-system)
7333 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7334 (home-page "https://github.com/troyp/evil-visual-replace")
7335 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
7336 (description
7337 "This package provides versions of @code{query-replace} and
7338 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
7339 (license license:gpl2+)))
7340
7341 (define-public emacs-evil-visualstar
7342 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
7343 (version "0.0.2")
7344 (revision "1"))
7345 (package
7346 (name "emacs-evil-visualstar")
7347 (version (git-version version revision commit))
7348 (source
7349 (origin
7350 (method git-fetch)
7351 (uri (git-reference
7352 (url "https://github.com/bling/evil-visualstar")
7353 (commit commit)))
7354 (file-name (git-file-name name version))
7355 (sha256
7356 (base32
7357 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
7358 (build-system emacs-build-system)
7359 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7360 (home-page "https://github.com/bling/evil-visualstar")
7361 (synopsis "Instantly search using the visual selection")
7362 (description
7363 "This package provides @code{evil-mode} functions for using selected text
7364 to search.")
7365 (license license:gpl3+))))
7366
7367 (define-public emacs-monroe
7368 (package
7369 (name "emacs-monroe")
7370 (version "0.3.1")
7371 (source
7372 (origin
7373 (method git-fetch)
7374 (uri (git-reference
7375 (url "https://github.com/sanel/monroe.git")
7376 (commit version)))
7377 (file-name (git-file-name name version))
7378 (sha256
7379 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
7380 (build-system emacs-build-system)
7381 (home-page "https://github.com/sanel/monroe")
7382 (synopsis "Clojure nREPL client for Emacs")
7383 (description
7384 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
7385 distribution, primarily targeting Clojure users")
7386 (license license:gpl3+)))
7387
7388 (define-public emacs-orgalist
7389 (package
7390 (name "emacs-orgalist")
7391 (version "1.9")
7392 (source
7393 (origin
7394 (method url-fetch)
7395 (uri (string-append "https://elpa.gnu.org/packages/"
7396 "orgalist-" version ".el"))
7397 (sha256
7398 (base32
7399 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
7400 (build-system emacs-build-system)
7401 (home-page "http://elpa.gnu.org/packages/orgalist.html")
7402 (synopsis "Manage Org-like lists in non-Org buffers")
7403 (description "Write Org mode's plain lists in non-Org buffers. More
7404 specifically, Orgalist supports the syntax of Org mode for numbered,
7405 unnumbered, description items, checkboxes, and counter cookies.
7406
7407 The library also implements radio lists, i.e., lists written in Org
7408 syntax later translated into the host format, e.g., LaTeX or HTML.")
7409 (license license:gpl3+)))
7410
7411 (define-public emacs-writegood-mode
7412 (package
7413 (name "emacs-writegood-mode")
7414 (version "2.0.2")
7415 (home-page "https://github.com/bnbeckwith/writegood-mode")
7416 (source (origin
7417 (method git-fetch)
7418 (uri (git-reference
7419 (url home-page)
7420 (commit (string-append "v" version))))
7421 (sha256
7422 (base32
7423 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
7424 (file-name (string-append name "-checkout"))))
7425 (build-system emacs-build-system)
7426 (synopsis "Polish up poor writing on the fly")
7427 (description
7428 "This minor mode tries to find and highlight problems with your writing
7429 in English as you type. It primarily detects \"weasel words\" and abuse of
7430 passive voice.")
7431 (license license:gpl3+)))
7432
7433 (define-public emacs-neotree
7434 (package
7435 (name "emacs-neotree")
7436 (version "0.5.2")
7437 (home-page "https://github.com/jaypei/emacs-neotree")
7438 (source (origin
7439 (method url-fetch)
7440 (uri (string-append
7441 "https://github.com/jaypei/" name
7442 "/archive/" version ".tar.gz"))
7443 (sha256
7444 (base32
7445 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
7446 (file-name (string-append name "-" version ".tar.gz"))))
7447 (build-system emacs-build-system)
7448 (synopsis "Folder tree view for Emacs")
7449 (description "This Emacs package provides a folder tree view.")
7450 (license license:gpl3+)))
7451
7452 (define-public emacs-org
7453 (package
7454 (name "emacs-org")
7455 ;; emacs-org-contrib inherits from this package. Please update its sha256
7456 ;; checksum as well.
7457 (version "9.2.6")
7458 (source (origin
7459 (method url-fetch)
7460 (uri (string-append "https://elpa.gnu.org/packages/org-"
7461 version ".tar"))
7462 (sha256
7463 (base32
7464 "0ikd78k4yw4sm5x7l3dsbvfcmvnv5qna2mxirr560gvcnzhr0zg4"))))
7465 (build-system emacs-build-system)
7466 (home-page "https://orgmode.org/")
7467 (synopsis "Outline-based notes management and organizer")
7468 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7469 lists, and project planning with a fast and effective lightweight markup
7470 language. It also is an authoring system with unique support for literate
7471 programming and reproducible research.")
7472 (license license:gpl3+)))
7473
7474 (define-public emacs-org-contrib
7475 (package
7476 (inherit emacs-org)
7477 (name "emacs-org-contrib")
7478 (version "20190904")
7479 (source (origin
7480 (method url-fetch)
7481 (uri (string-append "https://orgmode.org/elpa/"
7482 "org-plus-contrib-" version ".tar"))
7483 (sha256
7484 (base32
7485 "08s3fk3jim0y2v00l6ah8y08ba8wbcf29z6fxqzyaxj58a5sq81a"))))
7486 (arguments
7487 `(#:modules ((guix build emacs-build-system)
7488 (guix build utils)
7489 (guix build emacs-utils)
7490 (ice-9 ftw)
7491 (srfi srfi-1))
7492 #:phases
7493 (modify-phases %standard-phases
7494 (add-after 'install 'delete-org-files
7495 (lambda* (#:key inputs outputs #:allow-other-keys)
7496 (let* ((out (assoc-ref outputs "out"))
7497 (org (assoc-ref inputs "org"))
7498 (contrib-files
7499 (map basename (find-files out)))
7500 (org+contrib-files
7501 (map basename (find-files org)))
7502 (duplicates (lset-intersection
7503 string=? contrib-files org+contrib-files)))
7504 (with-directory-excursion
7505 (string-append
7506 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
7507 (for-each delete-file duplicates))
7508 #t))))))
7509 (propagated-inputs
7510 `(("arduino-mode" ,emacs-arduino-mode)
7511 ("cider" ,emacs-cider)
7512 ("org" ,emacs-org)
7513 ("scel" ,emacs-scel)))
7514 (synopsis "Contributed packages to Org mode")
7515 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7516 lists, and project planning with a fast and effective plain-text system.
7517
7518 This package is equivalent to org-plus-contrib, but only includes additional
7519 files that you would find in @file{contrib/} from the git repository.")))
7520
7521 (define-public emacs-flx
7522 (package
7523 (name "emacs-flx")
7524 (version "0.6.1")
7525 (source
7526 (origin
7527 (method url-fetch)
7528 (uri (string-append "https://github.com/lewang/"
7529 "flx/archive/v" version ".tar.gz"))
7530 (sha256
7531 (base32
7532 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
7533 (file-name (string-append name "-" version ".tar.gz"))))
7534 (build-system emacs-build-system)
7535 (home-page "https://github.com/lewang/flx")
7536 (synopsis "Fuzzy matching for Emacs")
7537 (description
7538 "Flx provides fuzzy matching for emacs a la sublime text.
7539 The sorting algorithm is a balance between word beginnings (abbreviation)
7540 and contiguous matches (substring). The longer the substring match,
7541 the higher it scores. This maps well to how we think about matching.
7542 Flx has support for ido (interactively do things) through flx-ido.")
7543 (license license:gpl3+)))
7544
7545 (define-public emacs-cyberpunk-theme
7546 (package
7547 (name "emacs-cyberpunk-theme")
7548 (version "1.19")
7549 (source
7550 (origin
7551 (method url-fetch)
7552 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
7553 "archive/" version ".tar.gz"))
7554 (sha256
7555 (base32
7556 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
7557 (file-name (string-append name "-" version ".tar.gz"))))
7558 (build-system emacs-build-system)
7559 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
7560 (synopsis "Cyberpunk theme for emacs built-in color theme support")
7561 (description
7562 "Cyberpunk color theme for the emacs 24+ built-in color theme support
7563 known loosely as deftheme. Many mode-specific customizations are included.")
7564 (license license:gpl3+)))
7565
7566 (define-public emacs-danneskjold-theme
7567 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
7568 (revision "1"))
7569 (package
7570 (name "emacs-danneskjold-theme")
7571 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
7572 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
7573 (source
7574 (origin
7575 (method git-fetch)
7576 (uri (git-reference
7577 (url home-page)
7578 (commit commit)))
7579 (file-name (git-file-name name version))
7580 (sha256
7581 (base32
7582 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
7583 (build-system emacs-build-system)
7584 (arguments
7585 `(#:phases
7586 (modify-phases %standard-phases
7587 (add-after 'unpack 'delete-screenshots
7588 (lambda _
7589 (delete-file-recursively "screenshots") #t)))))
7590 (synopsis "High-contrast Emacs theme")
7591 (description
7592 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
7593 (license license:gpl3+))))
7594
7595 (define-public emacs-dream-theme
7596 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
7597 (revision "1"))
7598 (package
7599 (name "emacs-dream-theme")
7600 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
7601 (source
7602 (origin
7603 (method git-fetch)
7604 (uri (git-reference
7605 (url "https://github.com/djcb/dream-theme")
7606 (commit commit)))
7607 (file-name (git-file-name name version))
7608 (sha256
7609 (base32
7610 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
7611 (build-system emacs-build-system)
7612 (home-page "https://github.com/djcb/dream-theme")
7613 (synopsis "High-contrast Emacs theme")
7614 (description
7615 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
7616 by zenburn, sinburn and similar themes, but slowly diverging from them.")
7617 (license license:gpl3+))))
7618
7619 (define-public emacs-auto-complete
7620 (package
7621 (name "emacs-auto-complete")
7622 (version "1.5.1")
7623 (source
7624 (origin
7625 (method url-fetch)
7626 (uri (string-append "https://github.com/auto-complete/"
7627 "auto-complete/archive/v" version ".tar.gz"))
7628 (sha256
7629 (base32
7630 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
7631 (file-name (string-append name "-" version ".tar.gz"))))
7632 (build-system emacs-build-system)
7633 (propagated-inputs
7634 `(("emacs-popup" ,emacs-popup)))
7635 (home-page "https://github.com/auto-complete/auto-complete")
7636 (synopsis "Intelligent auto-completion extension for Emacs")
7637 (description
7638 "Auto-Complete is an intelligent auto-completion extension for Emacs.
7639 It extends the standard Emacs completion interface and provides an environment
7640 that allows users to concentrate more on their own work. Its features are:
7641 a visual interface, reduce overhead of completion by using statistic method,
7642 extensibility.")
7643 (license license:gpl3+)))
7644
7645 (define-public emacs-nginx-mode
7646 (package
7647 (name "emacs-nginx-mode")
7648 (version "1.1.9")
7649 (source
7650 (origin
7651 (method git-fetch)
7652 (uri (git-reference
7653 (url "https://github.com/ajc/nginx-mode.git")
7654 (commit (string-append "v" version))))
7655 (file-name (git-file-name name version))
7656 (sha256
7657 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
7658 (build-system emacs-build-system)
7659 (home-page "https://github.com/ajc/nginx-mode")
7660 (synopsis "Emacs major mode for editing nginx config files")
7661 (description "This package provides an Emacs major mode for
7662 editing nginx config files.")
7663 (license license:gpl2+)))
7664
7665 (define-public emacs-stream
7666 (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7")
7667 (revision "1"))
7668 (package
7669 (name "emacs-stream")
7670 (version (git-version "2.2.4" revision commit))
7671 (source
7672 (origin
7673 (method git-fetch)
7674 (uri (git-reference
7675 (url "https://github.com/Emacsmirror/stream.git")
7676 (commit commit)))
7677 (file-name (git-file-name name version))
7678 (sha256
7679 (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332"))))
7680 (build-system emacs-build-system)
7681 (arguments
7682 `(#:tests? #t
7683 #:test-command '("emacs" "--batch"
7684 "-l" "tests/stream-tests.el"
7685 "-f" "ert-run-tests-batch-and-exit")))
7686 (home-page "https://github.com/Emacsmirror/stream")
7687 (synopsis "Implementation of streams for Emacs")
7688 (description "This library provides an implementation of streams for Emacs.
7689 Streams are implemented as delayed evaluation of cons cells.")
7690 (license license:gpl3+))))
7691
7692 (define-public emacs-cl-print
7693 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
7694 (revision "1"))
7695 (package
7696 (name "emacs-cl-print")
7697 (version (git-version "1.0" revision commit))
7698 (source
7699 (origin
7700 (method git-fetch)
7701 (uri (git-reference
7702 (url "https://github.com/emacsmirror/cl-print.git")
7703 (commit commit)))
7704 (file-name (git-file-name name version))
7705 (sha256
7706 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
7707 (build-system emacs-build-system)
7708 (home-page "https://github.com/emacsmirror/cl-print")
7709 (synopsis "CL-style generic printing")
7710 (description "This package provides a generic function,
7711 @code{cl-print-object}, to which the programmer can add any method they
7712 please.")
7713 (license license:gpl3+))))
7714
7715 (define-public emacs-el-search
7716 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
7717 (revision "2"))
7718 (package
7719 (name "emacs-el-search")
7720 (version (git-version "1.12.6.1" revision commit))
7721 (source
7722 (origin
7723 (method git-fetch)
7724 (uri (git-reference
7725 (url "https://github.com/emacsmirror/el-search.git")
7726 (commit commit)))
7727 (file-name (git-file-name name version))
7728 (sha256
7729 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
7730 (build-system emacs-build-system)
7731 (inputs
7732 `(("emacs-stream" ,emacs-stream)
7733 ("emacs-cl-print" ,emacs-cl-print)))
7734 (home-page "https://github.com/emacsmirror/el-search")
7735 (synopsis "Expression based interactive search for emacs-lisp-mode")
7736 (description "This package provides expression based interactive search
7737 procedures for emacs-lisp-mode.")
7738 (license license:gpl3+))))
7739
7740 (define-public emacs-ht
7741 (package
7742 (name "emacs-ht")
7743 (version "2.2")
7744 (source
7745 (origin
7746 (method git-fetch)
7747 (uri (git-reference
7748 (url "https://github.com/Wilfred/ht.el.git")
7749 (commit version)))
7750 (file-name (git-file-name name version))
7751 (sha256
7752 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
7753 (build-system emacs-build-system)
7754 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
7755 (native-inputs
7756 `(("emacs-ert-runner" ,emacs-ert-runner)))
7757 (arguments
7758 `(#:tests? #t
7759 #:test-command '("ert-runner")))
7760 (home-page "https://github.com/Wilfred/ht.el")
7761 (synopsis "Hash table library for Emacs")
7762 (description
7763 "This package simplifies the use of hash tables in elisp. It also
7764 provides functions to convert hash tables from and to alists and plists.")
7765 (license license:gpl3+)))
7766
7767 (define-public emacs-log4e
7768 (package
7769 (name "emacs-log4e")
7770 (version "0.3.0")
7771 (source
7772 (origin
7773 (method git-fetch)
7774 (uri (git-reference
7775 (url "https://github.com/aki2o/log4e.git")
7776 (commit (string-append "v" version))))
7777 (file-name (git-file-name name version))
7778 (sha256
7779 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
7780 (build-system emacs-build-system)
7781 (arguments
7782 `(#:phases
7783 (modify-phases %standard-phases
7784 (add-after 'unpack 'remove-tests
7785 ;; Guile builder complains about null characters in some
7786 ;; strings of test files. Remove "test" directory (it is not
7787 ;; needed anyway).
7788 (lambda _
7789 (delete-file-recursively "test"))))))
7790 (home-page "https://github.com/aki2o/log4e")
7791 (synopsis "Logging framework for elisp")
7792 (description
7793 "This package provides a logging framework for elisp. It allows
7794 you to deal with multiple log levels.")
7795 (license license:gpl3+)))
7796
7797 (define-public emacs-gntp
7798 (package
7799 (name "emacs-gntp")
7800 (version "0.1")
7801 (source
7802 (origin
7803 (method git-fetch)
7804 (uri (git-reference
7805 (url "https://github.com/tekai/gntp.el.git")
7806 (commit (string-append "v" version))))
7807 (file-name (git-file-name name version))
7808 (sha256
7809 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
7810 (build-system emacs-build-system)
7811 (home-page "https://github.com/tekai/gntp.el")
7812 (synopsis "Growl Notification Protocol for Emacs")
7813 (description
7814 "This package implements the Growl Notification Protocol GNTP
7815 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
7816 It is incomplete as it only lets you send but not receive
7817 notifications.")
7818 (license license:bsd-3)))
7819
7820 (define-public emacs-alert
7821 (package
7822 (name "emacs-alert")
7823 (version "1.3")
7824 (source
7825 (origin
7826 (method git-fetch)
7827 (uri (git-reference
7828 (url "https://github.com/jwiegley/alert.git")
7829 (commit (string-append "v" version))))
7830 (file-name (git-file-name name version))
7831 (sha256
7832 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
7833 (build-system emacs-build-system)
7834 (propagated-inputs
7835 `(("emacs-gntp" ,emacs-gntp)
7836 ("emacs-log4e" ,emacs-log4e)))
7837 (home-page "https://github.com/jwiegley/alert")
7838 (synopsis "Growl-style notification system for Emacs")
7839 (description
7840 "Alert is a Growl-workalike for Emacs which uses a common notification
7841 interface and multiple, selectable \"styles\", whose use is fully
7842 customizable by the user.")
7843 (license license:gpl2+)))
7844
7845 (define-public emacs-zones
7846 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
7847 (revision "2"))
7848 (package
7849 (name "emacs-zones")
7850 (version (git-version "0" revision commit))
7851 (source
7852 (origin
7853 (method git-fetch)
7854 (uri (git-reference
7855 (url "https://github.com/emacsmirror/zones.git")
7856 (commit commit)))
7857 (file-name (git-file-name name version))
7858 (sha256
7859 (base32
7860 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
7861 (patches
7862 (search-patches
7863 "emacs-zones-called-interactively.patch"))))
7864 (build-system emacs-build-system)
7865 (home-page "https://www.emacswiki.org/emacs/Zones")
7866 (synopsis "Define and act on multiple zones of buffer text")
7867 (description "Library @file{zones.el} lets you easily define and
7868 subsequently act on multiple zones of buffer text. You can think of this as
7869 enlarging the notion of region. In effect, it can remove the requirement of
7870 target text being a contiguous sequence of characters. A set of buffer zones
7871 is, in effect, a (typically) noncontiguous set of text.")
7872 (license license:gpl3+))))
7873
7874 (define-public emacs-mu4e-alert
7875 (package
7876 (name "emacs-mu4e-alert")
7877 (version "1.0")
7878 (source
7879 (origin
7880 (method git-fetch)
7881 (uri (git-reference
7882 (url "https://github.com/iqbalansari/mu4e-alert.git")
7883 (commit (string-append "v" version))))
7884 (file-name (git-file-name name version))
7885 (sha256
7886 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
7887 (build-system emacs-build-system)
7888 (propagated-inputs
7889 `(("emacs-alert" ,emacs-alert)
7890 ("emacs-s" ,emacs-s)
7891 ("emacs-ht" ,emacs-ht)
7892 ("mu" ,mu)))
7893 (home-page "https://github.com/iqbalansari/mu4e-alert")
7894 (synopsis "Desktop notification for mu4e")
7895 (description
7896 "This package provides desktop notifications for mu4e.
7897 Additionally it can display the number of unread emails in the
7898 mode-line.")
7899 (license license:gpl3+)))
7900
7901 (define-public emacs-mu4e-jump-to-list
7902 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
7903 (revision "1"))
7904 (package
7905 (name "emacs-mu4e-jump-to-list")
7906 (version (git-version "1.0" revision commit))
7907 (source
7908 (origin
7909 (method git-fetch)
7910 (uri (git-reference
7911 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
7912 (commit commit)))
7913 (file-name (git-file-name name version))
7914 (sha256
7915 (base32
7916 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
7917 (build-system emacs-build-system)
7918 (propagated-inputs
7919 `(("mu" ,mu)))
7920 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
7921 (synopsis "Select and view mailing lists in mu4e")
7922 (description
7923 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
7924 automatically using existing List-ID headers in your mu database. Just press
7925 \"l\" in the headers view and any mailing list you've subscribed to will be
7926 automatically discovered and presented in recency order.")
7927 (license license:gpl3+))))
7928
7929 (define-public emacs-mu4e-patch
7930 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
7931 (revision "1"))
7932 (package
7933 (name "emacs-mu4e-patch")
7934 (version (git-version "0.1.0" revision commit))
7935 (source (origin
7936 (method git-fetch)
7937 (uri (git-reference
7938 (url "https://github.com/seanfarley/mu4e-patch")
7939 (commit commit)))
7940 (file-name (git-file-name name version))
7941 (sha256
7942 (base32
7943 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
7944 (build-system emacs-build-system)
7945 (propagated-inputs
7946 `(("mu" ,mu)))
7947 (home-page "https://github.com/seanfarley/mu4e-patch")
7948 (synopsis "Colorize patch-like emails in mu4e")
7949 (description
7950 "Extension for mu4e to colorize patch-like emails with diff-mode.
7951 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
7952 been adapted to work with mu4e.")
7953 (license license:gpl3+))))
7954
7955 (define-public emacs-pretty-mode
7956 (package
7957 (name "emacs-pretty-mode")
7958 (version "2.0.3")
7959 (source
7960 (origin
7961 (method url-fetch)
7962 (uri (string-append "https://github.com/akatov/pretty-mode/"
7963 "archive/" version ".tar.gz"))
7964 (file-name (string-append name "-" version ".tar.gz"))
7965 (sha256
7966 (base32
7967 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
7968 (build-system emacs-build-system)
7969 (home-page "https://github.com/akatov/pretty-mode")
7970 (synopsis "Redisplay parts of the buffer as Unicode symbols")
7971 (description
7972 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
7973 (license license:gpl3+)))
7974
7975 (define-public emacs-yasnippet
7976 (package
7977 (name "emacs-yasnippet")
7978 (version "0.13.0")
7979 (source (origin
7980 (method url-fetch)
7981 (uri (string-append "https://github.com/joaotavora/yasnippet/"
7982 "archive/" version ".tar.gz"))
7983 (file-name (string-append name "-" version ".tar.gz"))
7984 (sha256
7985 (base32
7986 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
7987 (modules '((guix build utils)))
7988 (snippet
7989 '(begin
7990 ;; YASnippet expects a "snippets" subdirectory in the same
7991 ;; directory as yasnippet.el, but we don't install it
7992 ;; because it's a git submodule pointing to an external
7993 ;; repository. Adjust `yas-snippet-dirs' to prevent
7994 ;; warnings about a missing directory.
7995 (substitute* "yasnippet.el"
7996 (("^ +'yas-installed-snippets-dir\\)\\)\n")
7997 "))\n"))
7998 #t))))
7999 (build-system emacs-build-system)
8000 (home-page "https://github.com/joaotavora/yasnippet")
8001 (synopsis "Yet another snippet extension for Emacs")
8002 (description
8003 "YASnippet is a template system for Emacs. It allows you to type an
8004 abbreviation and automatically expand it into function templates.")
8005 (license license:gpl3+)))
8006
8007 (define-public emacs-yasnippet-snippets
8008 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
8009 (revision "1"))
8010 (package
8011 (name "emacs-yasnippet-snippets")
8012 (version (string-append "1-" revision "." (string-take commit 8)))
8013 (source
8014 (origin
8015 (method git-fetch)
8016 (uri (git-reference
8017 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
8018 (commit commit)))
8019 (file-name (git-file-name name version))
8020 (sha256
8021 (base32
8022 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
8023 (build-system trivial-build-system)
8024 (arguments
8025 `(#:modules ((ice-9 ftw)
8026 (ice-9 regex)
8027 (guix build utils))
8028 #:builder
8029 (begin
8030 (use-modules (ice-9 ftw)
8031 (ice-9 regex)
8032 (guix build utils))
8033 (with-directory-excursion (assoc-ref %build-inputs "source")
8034 (for-each (lambda (dir)
8035 (copy-recursively
8036 dir
8037 (string-append %output
8038 "/share/emacs/yasnippet-snippets/"
8039 dir)))
8040 (scandir "." (lambda (fname)
8041 (and (string-match "-mode$" fname)
8042 (directory-exists? fname))))))
8043 #t)))
8044 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
8045 (synopsis "Collection of YASnippet snippets for many languages")
8046 (description
8047 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
8048 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
8049 To make YASnippet aware of these snippets, add the above directory to
8050 @code{yas-snippet-dirs}.")
8051 (license license:expat))))
8052
8053 (define-public emacs-helm-c-yasnippet
8054 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
8055 (revision "1"))
8056 (package
8057 (name "emacs-helm-c-yasnippet")
8058 (version (string-append "0.6.7" "-" revision "."
8059 (string-take commit 7)))
8060 (source (origin
8061 (method git-fetch)
8062 (uri (git-reference
8063 (url "https://github.com/emacs-jp/helm-c-yasnippet")
8064 (commit commit)))
8065 (file-name (git-file-name name version))
8066 (sha256
8067 (base32
8068 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
8069 (build-system emacs-build-system)
8070 (propagated-inputs
8071 `(("emacs-helm" ,emacs-helm)
8072 ("emacs-yasnippet" ,emacs-yasnippet)))
8073 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
8074 (synopsis "Helm integration for Yasnippet")
8075 (description "This Emacs library provides Helm interface for
8076 Yasnippet.")
8077 (license license:gpl2+))))
8078
8079 (define-public emacs-helm-system-packages
8080 ;; There won't be a new release after 1.10.1 until
8081 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
8082 ;; and latest commits fix import issues with Guix.
8083 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
8084 (package
8085 (name "emacs-helm-system-packages")
8086 (version (git-version "1.10.1" "1" commit))
8087 (source (origin
8088 (method git-fetch)
8089 (uri (git-reference
8090 (url "https://github.com/emacs-helm/helm-system-packages")
8091 (commit commit)))
8092 (file-name (git-file-name name version))
8093 (sha256
8094 (base32
8095 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
8096 (build-system emacs-build-system)
8097 (inputs
8098 `(("recutils" ,recutils)))
8099 (propagated-inputs
8100 `(("emacs-helm" ,emacs-helm)))
8101 (arguments
8102 `(#:phases
8103 (modify-phases %standard-phases
8104 (add-after 'unpack 'configure
8105 (lambda* (#:key inputs outputs #:allow-other-keys)
8106 (let ((recutils (assoc-ref inputs "recutils")))
8107 ;; Specify the absolute file names of the various
8108 ;; programs so that everything works out-of-the-box.
8109 (substitute* "helm-system-packages-guix.el"
8110 (("recsel") (string-append recutils "/bin/recsel")))))))))
8111 (home-page "https://github.com/emacs-helm/helm-system-packages")
8112 (synopsis "Helm System Packages is an interface to your package manager")
8113 (description "List all available packages in Helm (with installed
8114 packages displayed in their own respective face). Fuzzy-search, mark and
8115 execute the desired action over any selections of packages: Install,
8116 uninstall, display packages details (in Org Mode) or insert details at point,
8117 find files owned by packages... And much more, including performing all the
8118 above over the network.")
8119 (license license:gpl3+))))
8120
8121 (define-public emacs-helm-org-rifle
8122 (package
8123 (name "emacs-helm-org-rifle")
8124 (version "1.7.0")
8125 (source
8126 (origin
8127 (method git-fetch)
8128 (uri (git-reference
8129 (url "https://github.com/alphapapa/helm-org-rifle")
8130 (commit version)))
8131 (file-name (git-file-name name version))
8132 (sha256
8133 (base32
8134 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
8135 (build-system emacs-build-system)
8136 (propagated-inputs
8137 `(("emacs-dash" ,emacs-dash)
8138 ("emacs-f" ,emacs-f)
8139 ("emacs-helm" ,emacs-helm)
8140 ("emacs-org" ,emacs-org)
8141 ("emacs-s" ,emacs-s)))
8142 (home-page "https://github.com/alphapapa/helm-org-rifle")
8143 (synopsis "Rifle through Org files")
8144 (description "This package searches both headings and contents of entries
8145 in Org buffers and displays matching entries.")
8146 (license license:gpl3+)))
8147
8148 (define-public emacs-dired-toggle-sudo
8149 (package
8150 (name "emacs-dired-toggle-sudo")
8151 (version "1.0")
8152 (source
8153 (origin
8154 (method git-fetch)
8155 (uri (git-reference
8156 (url "https://github.com/renard/dired-toggle-sudo")
8157 (commit (string-append "v" version))))
8158 (file-name (git-file-name name version))
8159 (sha256
8160 (base32
8161 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
8162 (patches
8163 (search-patches
8164 "emacs-dired-toggle-sudo-emacs-26.patch"))))
8165 (build-system emacs-build-system)
8166 (home-page "https://github.com/renard/dired-toggle-sudo")
8167 (synopsis "Browse directory with @code{sudo} privileges")
8168 (description "This package allows for the use of @code{dired} with
8169 @code{sudo} privileges.")
8170 (license license:wtfpl2)))
8171
8172 (define-public emacs-memoize
8173 (package
8174 (name "emacs-memoize")
8175 (version "1.1")
8176 (source
8177 (origin
8178 (method git-fetch)
8179 (uri (git-reference
8180 (url "https://github.com/skeeto/emacs-memoize.git")
8181 (commit version)))
8182 (file-name (git-file-name name version))
8183 (sha256
8184 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
8185 (build-system emacs-build-system)
8186 (arguments
8187 `(#:tests? #t
8188 #:test-command '("emacs" "--batch"
8189 "-l" "memoize-test.el"
8190 "-f" "ert-run-tests-batch-and-exit")))
8191 (home-page "https://github.com/skeeto/emacs-memoize")
8192 (synopsis "Emacs lisp memoization library")
8193 (description "@code{emacs-memoize} is an Emacs library for
8194 memoizing functions.")
8195 (license license:unlicense)))
8196
8197 (define-public emacs-linum-relative
8198 (package
8199 (name "emacs-linum-relative")
8200 (version "0.6")
8201 (source
8202 (origin
8203 (method git-fetch)
8204 (uri (git-reference
8205 (url "https://github.com/coldnew/linum-relative.git")
8206 (commit version)))
8207 (file-name (git-file-name name version))
8208 (sha256
8209 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
8210 (build-system emacs-build-system)
8211 (home-page "https://github.com/coldnew/linum-relative")
8212 (synopsis "Relative line numbering for Emacs")
8213 (description "@code{emacs-linum-relative} displays the relative line
8214 number on the left margin in Emacs.")
8215 (license license:gpl2+)))
8216
8217 (define-public emacs-idle-highlight
8218 (package
8219 (name "emacs-idle-highlight")
8220 (version "1.1.3")
8221 (source
8222 (origin
8223 (method git-fetch)
8224 (uri (git-reference
8225 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
8226 (commit version)))
8227 (file-name (git-file-name name version))
8228 (sha256
8229 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
8230 (build-system emacs-build-system)
8231 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
8232 (synopsis "Highlights all occurrences of the word the point is on")
8233 (description
8234 "This Emacs package provides @code{idle-highlight-mode} that sets
8235 an idle timer to highlight all occurrences in the buffer of the word under
8236 the point.")
8237 (license license:gpl3+)))
8238
8239 (define-public emacs-ox-twbs
8240 (package
8241 (name "emacs-ox-twbs")
8242 (version "1.1.1")
8243 (source
8244 (origin
8245 (method git-fetch)
8246 (uri (git-reference
8247 (url "https://github.com/marsmining/ox-twbs.git")
8248 (commit (string-append "v" version))))
8249 (file-name (git-file-name name version))
8250 (sha256
8251 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
8252 (build-system emacs-build-system)
8253 (home-page "https://github.com/marsmining/ox-twbs")
8254 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
8255 (description
8256 "This Emacs package outputs your org-mode docs with a simple, clean and
8257 modern look. It implements a new HTML back-end for exporting org-mode docs as
8258 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
8259 jQuery and Bootstrap resources included via osscdn.")
8260 (license license:gpl3+)))
8261
8262 (define-public emacs-highlight-sexp
8263 (package
8264 (name "emacs-highlight-sexp")
8265 (version "1.0")
8266 (source
8267 (origin
8268 (method git-fetch)
8269 (uri (git-reference
8270 (url "https://github.com/daimrod/highlight-sexp.git")
8271 (commit (string-append "v" version))))
8272 (file-name (git-file-name name version))
8273 (sha256
8274 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
8275 (build-system emacs-build-system)
8276 (home-page "https://github.com/daimrod/highlight-sexp")
8277 (synopsis "Minor mode that highlights the s-exp at the current position")
8278 (description
8279 "This Emacs package highlights the s-exp at the current position.")
8280 (license license:gpl3+)))
8281
8282 (define-public emacs-highlight-stages
8283 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
8284 (revision "1"))
8285 (package
8286 (name "emacs-highlight-stages")
8287 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
8288 (source
8289 (origin
8290 (method git-fetch)
8291 (uri (git-reference
8292 (url "https://github.com/zk-phi/highlight-stages.git")
8293 (commit commit)))
8294 (file-name (git-file-name name version))
8295 (sha256
8296 (base32
8297 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
8298 (patches
8299 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
8300 (build-system emacs-build-system)
8301 (home-page "https://github.com/wigust/highlight-stages")
8302 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
8303 (description "@code{highlight-stages} provides an Emacs minor mode that
8304 highlights quasi-quoted expressions.")
8305 (license license:gpl3+))))
8306
8307 (define-public emacspeak
8308 (package
8309 (name "emacspeak")
8310 (version "50.0")
8311 (source
8312 (origin
8313 (method url-fetch)
8314 (uri (string-append
8315 "https://github.com/tvraman/emacspeak/releases/download/"
8316 version "/emacspeak-" version ".tar.bz2"))
8317 (sha256
8318 (base32
8319 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
8320 (build-system gnu-build-system)
8321 (arguments
8322 '(#:make-flags (list (string-append "prefix="
8323 (assoc-ref %outputs "out")))
8324 #:phases
8325 (modify-phases %standard-phases
8326 (replace 'configure
8327 (lambda _
8328 (setenv "SHELL" (which "sh"))
8329 ;; Configure Emacspeak according to etc/install.org.
8330 (invoke "make" "config")))
8331 (add-after 'build 'build-espeak
8332 (lambda _
8333 (invoke "make" "espeak")))
8334 (replace 'install
8335 (lambda* (#:key inputs outputs #:allow-other-keys)
8336 (let* ((out (assoc-ref outputs "out"))
8337 (bin (string-append out "/bin"))
8338 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
8339 (info (string-append out "/share/info"))
8340 (emacs (string-append (assoc-ref inputs "emacs")
8341 "/bin/emacs")))
8342 ;; According to etc/install.org, the Emacspeak directory should
8343 ;; be copied to its installation destination.
8344 (for-each
8345 (lambda (file)
8346 (copy-recursively file (string-append lisp "/" file)))
8347 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
8348 "stumpwm" "xsl"))
8349 ;; Make sure emacspeak is loaded from the correct directory.
8350 (substitute* "etc/emacspeak.sh"
8351 (("/lisp/emacspeak-setup.el")
8352 (string-append lisp "/lisp/emacspeak-setup.el")))
8353 ;; Install the convenient startup script.
8354 (mkdir-p bin)
8355 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
8356 #t))
8357 (add-after 'install 'wrap-program
8358 (lambda* (#:key inputs outputs #:allow-other-keys)
8359 (let* ((out (assoc-ref outputs "out"))
8360 (emacspeak (string-append out "/bin/emacspeak"))
8361 (espeak (string-append (assoc-ref inputs "espeak")
8362 "/bin/espeak")))
8363 ;; The environment variable DTK_PROGRAM tells emacspeak what
8364 ;; program to use for speech.
8365 (wrap-program emacspeak
8366 `("DTK_PROGRAM" ":" prefix (,espeak)))
8367 #t))))
8368 #:tests? #f)) ; no check target
8369 (inputs
8370 `(("emacs" ,emacs)
8371 ("espeak" ,espeak)
8372 ("perl" ,perl)
8373 ("tcl" ,tcl)
8374 ("tclx" ,tclx)))
8375 (home-page "http://emacspeak.sourceforge.net")
8376 (synopsis "Audio desktop interface for Emacs")
8377 (description
8378 "Emacspeak is a speech interface that allows visually impaired users to
8379 interact independently and efficiently with the computer. Audio formatting
8380 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
8381 allows Emacspeak to produce rich aural presentations of electronic information.
8382 By seamlessly blending all aspects of the Internet such as Web-surfing and
8383 messaging, Emacspeak speech-enables local and remote information via a
8384 consistent and well-integrated user interface.")
8385 (license license:gpl2+)))
8386
8387 (define-public emacs-adaptive-wrap
8388 (package
8389 (name "emacs-adaptive-wrap")
8390 (version "0.5.1")
8391 (source (origin
8392 (method url-fetch)
8393 (uri (string-append
8394 "http://elpa.gnu.org/packages/adaptive-wrap-"
8395 version ".el"))
8396 (sha256
8397 (base32
8398 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
8399 (build-system emacs-build-system)
8400 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
8401 (synopsis "Smart line-wrapping with wrap-prefix")
8402 (description
8403 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
8404 minor mode which sets the wrap-prefix property on the fly so that
8405 single-long-line paragraphs get word-wrapped in a way similar to what
8406 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
8407 actually changing the buffer's text.")
8408 (license license:gpl3+)))
8409
8410 (define-public emacs-diff-hl
8411 (package
8412 (name "emacs-diff-hl")
8413 (version "1.8.6")
8414 (source
8415 (origin
8416 (method git-fetch)
8417 (uri (git-reference
8418 (url "https://github.com/dgutov/diff-hl")
8419 (commit version)))
8420 (sha256
8421 (base32
8422 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
8423 (build-system emacs-build-system)
8424 (home-page "https://github.com/dgutov/diff-hl")
8425 (synopsis
8426 "Highlight uncommitted changes using VC")
8427 (description
8428 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
8429 window (using the fringe, by default), allows you to jump between
8430 the hunks and revert them selectively.")
8431 (license license:gpl3+)))
8432
8433 (define-public emacs-diminish
8434 (package
8435 (name "emacs-diminish")
8436 (version "0.45")
8437 (source
8438 (origin
8439 (method git-fetch)
8440 (uri (git-reference
8441 (url "https://github.com/myrjola/diminish.el.git")
8442 (commit (string-append "v" version))))
8443 (file-name (git-file-name name version))
8444 (sha256
8445 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
8446 (build-system emacs-build-system)
8447 (home-page "https://github.com/myrjola/diminish.el")
8448 (synopsis "Diminish minor modes with no modeline display")
8449 (description "@code{emacs-diminish} implements hiding or
8450 abbreviation of the mode line displays (lighters) of minor modes.")
8451 (license license:gpl2+)))
8452
8453 (define-public emacs-use-package
8454 (package
8455 (name "emacs-use-package")
8456 (version "2.4")
8457 (source (origin
8458 (method git-fetch)
8459 (uri (git-reference
8460 (url "https://github.com/jwiegley/use-package")
8461 (commit version)))
8462 (file-name (git-file-name name version))
8463 (sha256
8464 (base32
8465 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
8466 (build-system emacs-build-system)
8467 (propagated-inputs
8468 `(("emacs-diminish" ,emacs-diminish)))
8469 (arguments
8470 `(#:tests? #t
8471 #:test-command '("emacs" "--batch"
8472 "-l" "use-package-tests.el"
8473 "-f" "ert-run-tests-batch-and-exit")))
8474 (home-page "https://github.com/jwiegley/use-package")
8475 (synopsis "Declaration for simplifying your .emacs")
8476 (description "The use-package macro allows you to isolate package
8477 configuration in your @file{.emacs} file in a way that is both
8478 performance-oriented and tidy.")
8479 (license license:gpl2+)))
8480
8481 (define-public emacs-strace-mode
8482 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
8483 (revision "1"))
8484 (package
8485 (name "emacs-strace-mode")
8486 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
8487 (source (origin
8488 (method git-fetch)
8489 (uri (git-reference
8490 (url "https://github.com/pkmoore/strace-mode")
8491 (commit commit)))
8492 (file-name (git-file-name name version))
8493 (sha256
8494 (base32
8495 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
8496 (build-system emacs-build-system)
8497 (home-page "https://github.com/pkmoore/strace-mode")
8498 (synopsis "Emacs major mode to highlight strace outputs")
8499 (description "@code{emacs-strace-mode} provides an Emacs major mode
8500 highlighting strace outputs.")
8501 (license license:gpl3+))))
8502
8503 (define-public emacs-default-encrypt
8504 (package
8505 (name "emacs-default-encrypt")
8506 (version "4.4")
8507 (source
8508 (origin
8509 (method url-fetch)
8510 (uri (string-append
8511 "https://informationelle-selbstbestimmung-im-internet.de"
8512 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
8513 (file-name (string-append "jl-encrypt-" version ".el"))
8514 (sha256
8515 (base32
8516 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
8517 (build-system emacs-build-system)
8518 (home-page
8519 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
8520 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
8521 (description
8522 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
8523 automatically encrypts messages that you send (e.g., email) when public keys
8524 for all recipients are available, and it protects you from accidentally
8525 sending un-encrypted messages. It can also be configured to automatically
8526 sign messages that you send. For details and instructions on how to use
8527 DefaultEncrypt, please refer to the home page or read the comments in the
8528 source file, @file{jl-encrypt.el}.")
8529 (license license:gpl3+)))
8530
8531 (define-public emacs-extend-smime
8532 (package
8533 (name "emacs-extend-smime")
8534 (version "3.3")
8535 (source
8536 (origin
8537 (method url-fetch)
8538 (uri (string-append
8539 "https://informationelle-selbstbestimmung-im-internet.de"
8540 "/emacs/jl-smime" version "/jl-smime.el"))
8541 (file-name (string-append "jl-smime-" version ".el"))
8542 (sha256
8543 (base32
8544 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
8545 (build-system emacs-build-system)
8546 (home-page
8547 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
8548 (synopsis "Improved S/MIME support for Gnus in Emacs")
8549 (propagated-inputs
8550 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
8551 (description
8552 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
8553 ;; should not be translated. The name "emacs-default-encrypt" refers to
8554 ;; the Guix package that provides DefaultEncrypt.
8555 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
8556 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
8557 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
8558 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
8559 certificates via LDAP and imports them into @code{gpgsm}. When certificates
8560 for all recipients are available, DefaultEncrypt automatically encrypts the
8561 message. For details and instructions on how to use ExtendSMIME, please refer
8562 to the home page or read the comments in the source file,
8563 @file{jl-smime.el}.")
8564 (license license:gpl3+)))
8565
8566 (define-public emacs-htmlize
8567 (package
8568 (name "emacs-htmlize")
8569 (version "1.53")
8570 (source
8571 (origin
8572 (method git-fetch)
8573 (uri (git-reference
8574 (url "https://github.com/hniksic/emacs-htmlize.git")
8575 (commit (string-append "release/" version))))
8576 (file-name (git-file-name name version))
8577 (sha256
8578 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
8579 (build-system emacs-build-system)
8580 (home-page "https://github.com/hniksic/emacs-htmlize")
8581 (synopsis "Convert buffer text and decorations to HTML")
8582 (description "@code{emacs-htmlize} converts the buffer text and
8583 the associated decorations to HTML. Output to CSS, inline CSS and
8584 fonts is supported.")
8585 (license license:gpl2+)))
8586
8587 (define-public emacs-xmlgen
8588 (package
8589 (name "emacs-xmlgen")
8590 (version "0.5")
8591 (source
8592 (origin
8593 (method git-fetch)
8594 (uri (git-reference
8595 (url "https://github.com/philjackson/xmlgen.git")
8596 (commit version)))
8597 (file-name (git-file-name name version))
8598 (sha256
8599 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
8600 (build-system emacs-build-system)
8601 (arguments
8602 `(#:tests? #t
8603 #:test-command '("emacs" "--batch"
8604 "-l" "xmlgen-test.el"
8605 "-f" "ert-run-tests-batch-and-exit")))
8606 (home-page "https://github.com/philjackson/xmlgen")
8607 (synopsis "S-expression to XML domain specific language (DSL) in
8608 Emacs Lisp")
8609 (description "@code{emacs-xmlgen} provides S-expression to XML
8610 conversion for Emacs Lisp.")
8611 (license license:gpl2+)))
8612
8613 (define-public emacs-cdlatex
8614 (package
8615 (name "emacs-cdlatex")
8616 (version "4.7")
8617 (source
8618 (origin
8619 (method git-fetch)
8620 (uri (git-reference
8621 (url "https://github.com/cdominik/cdlatex.git")
8622 (commit version)))
8623 (file-name (git-file-name name version))
8624 (sha256
8625 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
8626 (build-system emacs-build-system)
8627 (propagated-inputs
8628 `(("emacs-auctex" ,emacs-auctex)))
8629 (home-page "https://github.com/cdominik/cdlatex")
8630 (synopsis "Fast Emacs input methods for LaTeX environments and
8631 math")
8632 (description "CDLaTeX is an Emacs minor mode supporting fast
8633 insertion of environment templates and math in LaTeX. Similar
8634 commands are also offered as part of the AUCTeX package, but it is not
8635 the same - CDLaTeX focuses on speediness for inserting LaTeX
8636 constructs.")
8637 (license license:gpl3+)))
8638
8639 (define-public emacs-cnfonts
8640 (package
8641 (name "emacs-cnfonts")
8642 (version "0.9.1")
8643 (source
8644 (origin
8645 (method git-fetch)
8646 (uri (git-reference
8647 (url "https://github.com/tumashu/cnfonts.git")
8648 (commit (string-append "v" version))))
8649 (file-name (git-file-name name version))
8650 (sha256
8651 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
8652 (build-system emacs-build-system)
8653 (home-page "https://github.com/tumashu/cnfonts")
8654 (synopsis "Emacs Chinese fonts setup tool")
8655 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
8656 configuration of Chinese fonts.")
8657 (license license:gpl2+)))
8658
8659 (define-public emacs-php-mode
8660 (package
8661 (name "emacs-php-mode")
8662 (version "20171225.342")
8663 (source (origin
8664 (method url-fetch)
8665 (uri (string-append
8666 "https://melpa.org/packages/php-mode-"
8667 version ".tar"))
8668 (sha256
8669 (base32
8670 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
8671 (build-system emacs-build-system)
8672 (home-page "https://github.com/ejmr/php-mode")
8673 (synopsis "Major mode for editing PHP code")
8674 (description "@code{php-mode} is a major mode for editing PHP source
8675 code. It's an extension of C mode; thus it inherits all C mode's navigation
8676 functionality. But it colors according to the PHP grammar and indents
8677 according to the PEAR coding guidelines. It also includes a couple handy
8678 IDE-type features such as documentation search and a source and class
8679 browser.")
8680 (license license:gpl3+)))
8681
8682 (define-public emacs-pos-tip
8683 (package
8684 (name "emacs-pos-tip")
8685 (version "0.4.6")
8686 (source
8687 (origin
8688 (method git-fetch)
8689 (uri (git-reference
8690 (url "https://github.com/pitkali/pos-tip.git")
8691 (commit version)))
8692 (file-name (git-file-name name version))
8693 (sha256
8694 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
8695 (build-system emacs-build-system)
8696 ;; The following functions and variables needed by emacs-pos-tip are
8697 ;; not included in emacs-minimal:
8698 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
8699 (arguments `(#:emacs ,emacs))
8700 (home-page "https://github.com/pitkali/pos-tip")
8701 (synopsis "Show tooltip at point")
8702 (description "The standard library tooltip.el provides a function for
8703 displaying a tooltip at the mouse position. However, locating a tooltip at an
8704 arbitrary buffer position in a window is not easy. Pos-tip provides such a
8705 function to be used by other frontend programs.")
8706 (license license:gpl2+)))
8707
8708 (define-public emacs-pyim-basedict
8709 (package
8710 (name "emacs-pyim-basedict")
8711 (version "0.3.1")
8712 (source
8713 (origin
8714 (method git-fetch)
8715 (uri (git-reference
8716 (url "https://github.com/tumashu/pyim-basedict.git")
8717 (commit (string-append "v" version))))
8718 (file-name (git-file-name name version))
8719 (sha256
8720 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
8721 (build-system emacs-build-system)
8722 (home-page "https://github.com/tumashu/pyim-basedict")
8723 (synopsis "Input method dictionary of pyim")
8724 (description "Pyim-basedict is the default pinyin input method dictionary,
8725 containing words from the rime project.")
8726 (license license:gpl2+)))
8727
8728 (define-public emacs-pyim
8729 (package
8730 (name "emacs-pyim")
8731 (version "1.8")
8732 (source
8733 (origin
8734 (method git-fetch)
8735 (uri (git-reference
8736 (url "https://github.com/tumashu/pyim")
8737 (commit (string-append "v" version))))
8738 (file-name (git-file-name name version))
8739 (sha256
8740 (base32
8741 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
8742 (build-system emacs-build-system)
8743 (propagated-inputs
8744 `(("emacs-async" ,emacs-async)
8745 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
8746 ("emacs-popup" ,emacs-popup)
8747 ("emacs-posframe" ,emacs-posframe)))
8748 (home-page "https://github.com/tumashu/pyim")
8749 (synopsis "Chinese input method")
8750 (description "Chinese input method which supports quanpin, shuangpin, wubi
8751 and cangjie.")
8752 (license license:gpl2+)))
8753
8754 (define-public emacs-posframe
8755 (package
8756 (name "emacs-posframe")
8757 (version "0.5.0")
8758 (source
8759 (origin
8760 (method git-fetch)
8761 (uri (git-reference
8762 (url "https://github.com/tumashu/posframe")
8763 (commit (string-append "v" version))))
8764 (file-name (git-file-name name version))
8765 (sha256
8766 (base32
8767 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
8768 (build-system emacs-build-system)
8769 ;; emacs-minimal does not include the function font-info
8770 (arguments `(#:emacs ,emacs))
8771 (home-page "https://github.com/tumashu/posframe")
8772 (synopsis "Pop a posframe (a child frame) at point")
8773 (description "@code{emacs-posframe} can pop a posframe at point. A
8774 posframe is a child frame displayed within its root window's buffer.
8775 @code{emacs-posframe} is fast and works well with CJK languages.")
8776 (license license:gpl3+)))
8777
8778 (define-public emacs-el2org
8779 (package
8780 (name "emacs-el2org")
8781 (version "0.6.0")
8782 (source
8783 (origin
8784 (method git-fetch)
8785 (uri (git-reference
8786 (url "https://github.com/tumashu/el2org.git")
8787 (commit (string-append "v" version))))
8788 (file-name (git-file-name name version))
8789 (sha256
8790 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
8791 (build-system emacs-build-system)
8792 (home-page "https://github.com/tumashu/el2org")
8793 (synopsis "Convert Emacs-lisp file to org file")
8794 (description "El2org is a simple tool, which can convert Emacs-lisp file
8795 to org file, you can use this tool to write orgify commentary.")
8796 (license license:gpl2+)))
8797
8798 (define-public emacs-mustache
8799 (package
8800 (name "emacs-mustache")
8801 (version "0.23")
8802 (source
8803 (origin
8804 (method git-fetch)
8805 (uri (git-reference
8806 (url "https://github.com/Wilfred/mustache.el.git")
8807 (commit version)))
8808 (file-name (git-file-name name version))
8809 (sha256
8810 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
8811 (build-system emacs-build-system)
8812 (propagated-inputs
8813 `(("emacs-dash" ,emacs-dash)
8814 ("emacs-ht" ,emacs-ht)
8815 ("emacs-s" ,emacs-s)))
8816 (home-page "https://github.com/Wilfred/mustache.el")
8817 (synopsis "Mustache templating library for Emacs")
8818 (description "Mustache templating library for Emacs, mustache is
8819 a simple web template system, which is described as a logic-less system
8820 because it lacks any explicit control flow statements, both looping and
8821 conditional evaluation can be achieved using section tags processing lists
8822 and lambdas.")
8823 (license license:gpl3+)))
8824
8825 (define-public emacs-org2web
8826 (package
8827 (name "emacs-org2web")
8828 (version "0.9.1")
8829 (source
8830 (origin
8831 (method git-fetch)
8832 (uri (git-reference
8833 (url "https://github.com/tumashu/org2web.git")
8834 (commit (string-append "v" version))))
8835 (file-name (git-file-name name version))
8836 (sha256
8837 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
8838 (build-system emacs-build-system)
8839 (propagated-inputs
8840 `(("emacs-dash" ,emacs-dash)
8841 ("emacs-el2org" ,emacs-el2org)
8842 ("emacs-ht" ,emacs-ht)
8843 ("emacs-mustache" ,emacs-mustache)
8844 ("emacs-simple-httpd" ,emacs-simple-httpd)))
8845 (home-page "https://github.com/tumashu/org2web")
8846 (synopsis "Static site generator based on org-mode ")
8847 (description "Org2web is a static site generator based on org-mode,
8848 which code derived from Kelvin H's org-page.")
8849 (license license:gpl2+)))
8850
8851 (define-public emacs-xelb
8852 (package
8853 (name "emacs-xelb")
8854 (version "0.18")
8855 (source (origin
8856 (method url-fetch)
8857 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
8858 version ".tar"))
8859 (sha256
8860 (base32
8861 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
8862 (build-system emacs-build-system)
8863 ;; The following functions and variables needed by emacs-xelb are
8864 ;; not included in emacs-minimal:
8865 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
8866 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
8867 ;; x-display-pixel-width, x-display-pixel-height
8868 (arguments
8869 `(#:emacs ,emacs
8870 #:phases
8871 (modify-phases %standard-phases
8872 (add-after 'unpack 'regenerate-el-files
8873 (lambda* (#:key inputs #:allow-other-keys)
8874 (invoke "make"
8875 (string-append "PROTO_PATH="
8876 (assoc-ref inputs "xcb-proto")
8877 "/share/xcb")
8878 (string-append "EMACS_BIN="
8879 (assoc-ref inputs "emacs")
8880 "/bin/emacs -Q")))))))
8881 (native-inputs `(("xcb-proto" ,xcb-proto)))
8882 (home-page "https://github.com/ch11ng/xelb")
8883 (synopsis "X protocol Emacs Lisp binding")
8884 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
8885 X11 protocol based on the XML description files from the XCB project. It
8886 features an object-oriented API and permits a certain degree of concurrency.
8887 It should enable you to implement low-level X11 applications.")
8888 (license license:gpl3+)))
8889
8890 (define-public emacs-exwm
8891 (package
8892 (name "emacs-exwm")
8893 (version "0.23")
8894 (synopsis "Emacs X window manager")
8895 (source (origin
8896 (method url-fetch)
8897 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
8898 version ".tar"))
8899 (sha256
8900 (base32
8901 "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
8902 (build-system emacs-build-system)
8903 (propagated-inputs
8904 `(("emacs-xelb" ,emacs-xelb)))
8905 (inputs
8906 `(("xhost" ,xhost)
8907 ("dbus" ,dbus)))
8908 ;; The following functions and variables needed by emacs-exwm are
8909 ;; not included in emacs-minimal:
8910 ;; scroll-bar-mode, fringe-mode
8911 ;; x-display-pixel-width, x-display-pixel-height
8912 (arguments
8913 `(#:emacs ,emacs
8914 #:phases
8915 (modify-phases %standard-phases
8916 (add-after 'build 'install-xsession
8917 (lambda* (#:key inputs outputs #:allow-other-keys)
8918 (let* ((out (assoc-ref outputs "out"))
8919 (xsessions (string-append out "/share/xsessions"))
8920 (bin (string-append out "/bin"))
8921 (exwm-executable (string-append bin "/exwm")))
8922 ;; Add a .desktop file to xsessions
8923 (mkdir-p xsessions)
8924 (mkdir-p bin)
8925 (with-output-to-file
8926 (string-append xsessions "/exwm.desktop")
8927 (lambda _
8928 (format #t "[Desktop Entry]~@
8929 Name=~a~@
8930 Comment=~a~@
8931 Exec=~a~@
8932 TryExec=~:*~a~@
8933 Type=Application~%" ,name ,synopsis exwm-executable)))
8934 ;; Add a shell wrapper to bin
8935 (with-output-to-file exwm-executable
8936 (lambda _
8937 (format #t "#!~a ~@
8938 ~a +SI:localuser:$USER ~@
8939 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
8940 (string-append (assoc-ref inputs "bash") "/bin/sh")
8941 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
8942 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
8943 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
8944 '(cond
8945 ((file-exists-p "~/.exwm")
8946 (load-file "~/.exwm"))
8947 ((not (featurep 'exwm))
8948 (require 'exwm)
8949 (require 'exwm-config)
8950 (exwm-config-default)
8951 (message (concat "exwm configuration not found. "
8952 "Falling back to default configuration...")))))))
8953 (chmod exwm-executable #o555)
8954 #t))))))
8955 (home-page "https://github.com/ch11ng/exwm")
8956 (description "EXWM is a full-featured tiling X window manager for Emacs
8957 built on top of XELB.")
8958 (license license:gpl3+)))
8959
8960 (define-public emacs-switch-window
8961 (package
8962 (name "emacs-switch-window")
8963 (version "1.6.2")
8964 (source
8965 (origin
8966 (method git-fetch)
8967 (uri (git-reference
8968 (url "https://github.com/dimitri/switch-window")
8969 (commit (string-append "v" version))))
8970 (file-name (git-file-name name version))
8971 (sha256
8972 (base32
8973 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
8974 (build-system emacs-build-system)
8975 (home-page "https://github.com/dimitri/switch-window")
8976 (synopsis "Emacs window switch tool")
8977 (description "Switch-window is an emacs window switch tool, which
8978 offer a visual way to choose a window to switch to, delete, split or
8979 other operations.")
8980 (license license:wtfpl2)))
8981
8982 (define-public emacs-exwm-x
8983 (package
8984 (name "emacs-exwm-x")
8985 (version "1.9.0")
8986 (synopsis "Derivative window manager based on EXWM")
8987 (source
8988 (origin
8989 (method git-fetch)
8990 (uri (git-reference
8991 (url "https://github.com/tumashu/exwm-x")
8992 (commit (string-append "v" version))))
8993 (file-name (git-file-name name version))
8994 (sha256
8995 (base32
8996 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
8997 (build-system emacs-build-system)
8998 (propagated-inputs
8999 `(("emacs-exwm" ,emacs-exwm)
9000 ("emacs-switch-window" ,emacs-switch-window)
9001 ("emacs-ivy" ,emacs-ivy)
9002 ("emacs-use-package" ,emacs-use-package)))
9003 (inputs
9004 `(("xhost" ,xhost)
9005 ("dbus" ,dbus)))
9006 ;; Need emacs instead of emacs-minimal,
9007 ;; for emacs's bin path will be inserted into bin/exwm-x file.
9008 (arguments
9009 `(#:emacs ,emacs
9010 #:phases
9011 (modify-phases %standard-phases
9012 (add-after 'build 'install-xsession
9013 (lambda* (#:key inputs outputs #:allow-other-keys)
9014 (let* ((out (assoc-ref outputs "out"))
9015 (xsessions (string-append out "/share/xsessions"))
9016 (bin (string-append out "/bin"))
9017 (exwm-executable (string-append bin "/exwm-x")))
9018 ;; Add a .desktop file to xsessions
9019 (mkdir-p xsessions)
9020 (mkdir-p bin)
9021 (with-output-to-file
9022 (string-append xsessions "/exwm-x.desktop")
9023 (lambda _
9024 (format #t "[Desktop Entry]~@
9025 Name=~a~@
9026 Comment=~a~@
9027 Exec=~a~@
9028 TryExec=~@*~a~@
9029 Type=Application~%" ,name ,synopsis exwm-executable)))
9030 ;; Add a shell wrapper to bin
9031 (with-output-to-file exwm-executable
9032 (lambda _
9033 (format #t "#!~a ~@
9034 ~a +SI:localuser:$USER ~@
9035 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9036 (string-append (assoc-ref inputs "bash") "/bin/sh")
9037 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9038 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9039 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9040 '(require 'exwmx-loader))))
9041 (chmod exwm-executable #o555)
9042 #t))))))
9043 (home-page "https://github.com/tumashu/exwm-x")
9044 (description "EXWM-X is a derivative window manager based on EXWM, with focus
9045 on mouse-control.")
9046 (license license:gpl3+)))
9047
9048 (define-public emacs-gnugo
9049 (package
9050 (name "emacs-gnugo")
9051 (version "3.1.0")
9052 (source
9053 (origin
9054 (method url-fetch)
9055 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
9056 version ".tar"))
9057 (sha256
9058 (base32
9059 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
9060 (build-system emacs-build-system)
9061 (arguments
9062 `(#:phases (modify-phases %standard-phases
9063 (add-after 'unpack 'configure-default-gnugo-xpms-variable
9064 (lambda _
9065 (substitute* "gnugo.el"
9066 (("defvar gnugo-xpms nil")
9067 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
9068 #t)))))
9069 (propagated-inputs
9070 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
9071 ("emacs-xpm" ,emacs-xpm)))
9072 (home-page "https://elpa.gnu.org/packages/gnugo.html")
9073 (synopsis "Emacs major mode for playing GNU Go")
9074 (description "This package provides an Emacs based interface for GNU Go.
9075 It has a graphical mode where the board and stones are drawn using XPM images
9076 and supports the use of a mouse.")
9077 (license license:gpl3+)))
9078
9079 (define-public emacs-gnuplot
9080 (package
9081 (name "emacs-gnuplot")
9082 (version "0.7.0")
9083 (source
9084 (origin
9085 (method git-fetch)
9086 (uri (git-reference
9087 (url "https://github.com/bruceravel/gnuplot-mode.git")
9088 (commit version)))
9089 (file-name (git-file-name name version))
9090 (sha256
9091 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
9092 (build-system gnu-build-system)
9093 (native-inputs `(("emacs" ,emacs-minimal)))
9094 (arguments
9095 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
9096 "/gnuplot-" version)))
9097 `(#:modules ((guix build gnu-build-system)
9098 (guix build utils)
9099 (guix build emacs-utils))
9100 #:imported-modules (,@%gnu-build-system-modules
9101 (guix build emacs-utils))
9102 #:configure-flags
9103 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
9104 "/bin/emacs")
9105 (string-append "--with-lispdir=" %output ,elisp-dir))
9106 #:phases
9107 (modify-phases %standard-phases
9108 (add-after 'install 'generate-autoloads
9109 (lambda* (#:key outputs #:allow-other-keys)
9110 (emacs-generate-autoloads
9111 "gnuplot"
9112 (string-append (assoc-ref outputs "out") ,elisp-dir))
9113 #t))))))
9114 (home-page "https://github.com/bruceravel/gnuplot-mode")
9115 (synopsis "Emacs major mode for interacting with gnuplot")
9116 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
9117 with gnuplot.")
9118 (license license:gpl2+)))
9119
9120 (define-public emacs-transpose-frame
9121 (package
9122 (name "emacs-transpose-frame")
9123 (version "0.1.0")
9124 (source
9125 (origin
9126 (method url-fetch)
9127 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
9128 (file-name (string-append "transpose-frame-" version ".el"))
9129 (sha256
9130 (base32
9131 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
9132 (build-system emacs-build-system)
9133 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
9134 (synopsis "Transpose window arrangement in current frame")
9135 (description "@code{emacs-transpose-frame} provides some interactive
9136 functions which allows users to transpose windows arrangement in currently
9137 selected frame.")
9138 (license license:bsd-2)))
9139
9140 (define-public emacs-key-chord
9141 (package
9142 (name "emacs-key-chord")
9143 (version "0.6")
9144 (source
9145 (origin
9146 (method url-fetch)
9147 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
9148 (file-name (string-append "key-chord-" version ".el"))
9149 (sha256
9150 (base32
9151 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
9152 (build-system emacs-build-system)
9153 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
9154 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
9155 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
9156 mode for binding key chords to commands. A key chord is defined as two keys
9157 pressed simultaneously or a single key quickly pressed twice.")
9158 (license license:gpl2+)))
9159
9160 (define-public emacs-evil-surround
9161 (package
9162 (name "emacs-evil-surround")
9163 (version "1.0.4")
9164 (source
9165 (origin
9166 (method git-fetch)
9167 (uri (git-reference
9168 (url "https://github.com/emacs-evil/evil-surround")
9169 (commit version)))
9170 (file-name (git-file-name name version))
9171 (sha256
9172 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
9173 (build-system emacs-build-system)
9174 (propagated-inputs
9175 `(("emacs-evil" ,emacs-evil)))
9176 (arguments
9177 `(#:tests? #t
9178 #:test-command '("make" "test")))
9179 (home-page "https://github.com/emacs-evil/evil-surround")
9180 (synopsis "Easily modify surrounding parentheses and quotes")
9181 (description "@code{emacs-evil-surround} allows easy deletion, change and
9182 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
9183 (license license:gpl3+)))
9184
9185 (define-public emacs-evil-commentary
9186 (package
9187 (name "emacs-evil-commentary")
9188 (version "2.1.1")
9189 (source
9190 (origin
9191 (method git-fetch)
9192 (uri (git-reference
9193 (url "https://github.com/linktohack/evil-commentary.git")
9194 (commit (string-append "v" version))))
9195 (file-name (git-file-name name version))
9196 (sha256
9197 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
9198 (build-system emacs-build-system)
9199 (propagated-inputs
9200 `(("emacs-evil" ,emacs-evil)))
9201 (home-page "https://github.com/linktohack/evil-commentary")
9202 (synopsis "Comment out code in evil mode")
9203 (description "@code{emacs-evil-commentary} adds keybindings to easily
9204 comment out lines of code in evil mode. It provides @code{gcc} to comment out
9205 lines, and @code{gc} to comment out the target of a motion.")
9206 (license license:gpl3+)))
9207
9208 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
9209 ;; therefore cannot be run
9210 (define-public emacs-ansi
9211 (package
9212 (name "emacs-ansi")
9213 (version "0.4.1")
9214 (source
9215 (origin
9216 (method git-fetch)
9217 (uri (git-reference
9218 (url "https://github.com/rejeep/ansi.el.git")
9219 (commit (string-append "v" version))))
9220 (file-name (git-file-name name version))
9221 (sha256
9222 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
9223 (build-system emacs-build-system)
9224 (propagated-inputs
9225 `(("emacs-dash" ,emacs-dash)
9226 ("emacs-s" ,emacs-s)))
9227 (home-page "https://github.com/rejeep/ansi.el")
9228 (synopsis "Convert strings to ANSI")
9229 (description "@code{emacs-ansi} defines functions that turns simple
9230 strings to ANSI strings. Turning a string into an ANSI string can be to add
9231 color to a text, add color in the background of a text or adding a style, such
9232 as bold, underscore or italic.")
9233 (license license:gpl3+)))
9234
9235 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
9236 ;; therefore cannot be run
9237 (define-public emacs-commander
9238 (package
9239 (name "emacs-commander")
9240 (version "0.7.0")
9241 (source
9242 (origin
9243 (method git-fetch)
9244 (uri (git-reference
9245 (url "https://github.com/rejeep/commander.el.git")
9246 (commit (string-append "v" version))))
9247 (file-name (git-file-name name version))
9248 (sha256
9249 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
9250 (build-system emacs-build-system)
9251 (propagated-inputs
9252 `(("emacs-dash" ,emacs-dash)
9253 ("emacs-f" ,emacs-f)
9254 ("emacs-s" ,emacs-s)))
9255 (home-page "https://github.com/rejeep/commander.el")
9256 (synopsis "Emacs command line parser")
9257 (description "@code{emacs-commander} provides command line parsing for
9258 Emacs.")
9259 (license license:gpl3+)))
9260
9261 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
9262 ;; cannot be run
9263 (define-public emacs-ert-runner
9264 (let ((version "0.7.0")
9265 (revision "1")
9266 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
9267 (package
9268 (name "emacs-ert-runner")
9269 (version (git-version "0.7.0" revision commit))
9270 (source
9271 (origin
9272 (method git-fetch)
9273 (uri (git-reference
9274 (url "https://github.com/rejeep/ert-runner.el.git")
9275 (commit commit)))
9276 (file-name (git-file-name name version))
9277 (sha256
9278 (base32
9279 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
9280 (build-system emacs-build-system)
9281 (inputs
9282 `(("emacs-ansi" ,emacs-ansi)
9283 ("emacs-commander" ,emacs-commander)
9284 ("emacs-dash" ,emacs-dash)
9285 ("emacs-f" ,emacs-f)
9286 ("emacs-s" ,emacs-s)
9287 ("emacs-shut-up" ,emacs-shut-up)))
9288 (arguments
9289 `(#:phases
9290 (modify-phases %standard-phases
9291 (add-after 'install 'install-executable
9292 (lambda* (#:key inputs outputs #:allow-other-keys)
9293 (let ((out (assoc-ref outputs "out"))
9294 (source-directory (string-append
9295 (getenv "TMPDIR") "/source")))
9296 (substitute* "bin/ert-runner"
9297 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
9298 (string-append "ERT_RUNNER=\"" out
9299 "/share/emacs/site-lisp/guix.d/ert-runner-"
9300 ,version)))
9301 (install-file "bin/ert-runner" (string-append out "/bin"))
9302 (wrap-program (string-append out "/bin/ert-runner")
9303 (list "EMACSLOADPATH" ":" 'prefix
9304 ;; Do not capture the transient source directory in
9305 ;; the wrapper.
9306 (delete source-directory
9307 (string-split (getenv "EMACSLOADPATH") #\:))))
9308 #t))))
9309 #:include (cons* "^reporters/.*\\.el$" %default-include)))
9310 (home-page "https://github.com/rejeep/ert-runner.el")
9311 (synopsis "Opinionated Ert testing workflow")
9312 (description "@code{ert-runner} is a tool for Emacs projects tested
9313 using ERT. It assumes a certain test structure setup and can therefore make
9314 running tests easier.")
9315 (license license:gpl3+))))
9316
9317 (define-public ert-runner
9318 (deprecated-package "ert-runner" emacs-ert-runner))
9319
9320 (define-public emacs-xtest
9321 (package
9322 (name "emacs-xtest")
9323 (version "1.1.0")
9324 (source (origin
9325 (method git-fetch)
9326 (uri (git-reference
9327 (url "https://github.com/promethial/xtest.git")
9328 (commit (string-append "v" version))))
9329 (file-name (git-file-name name version))
9330 (sha256
9331 (base32
9332 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
9333 (arguments
9334 `(#:exclude '()))
9335 (build-system emacs-build-system)
9336 (home-page "https://github.com/promethial/xtest/")
9337 (synopsis "Simple testing with Emacs")
9338 (description "This package provides a simple testing library for Emacs.")
9339 (license license:gpl3+)))
9340
9341 (define-public emacs-disable-mouse
9342 (package
9343 (name "emacs-disable-mouse")
9344 (version "0.2")
9345 (source
9346 (origin
9347 (method git-fetch)
9348 (uri (git-reference
9349 (url "https://github.com/purcell/disable-mouse.git")
9350 (commit version)))
9351 (file-name (git-file-name name version))
9352 (sha256
9353 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
9354 (build-system emacs-build-system)
9355 (home-page "https://github.com/purcell/disable-mouse")
9356 (synopsis "Disable mouse commands globally")
9357 (description
9358 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
9359 pair of minor modes which suppress all mouse events by intercepting them and
9360 running a customisable handler command (@code{ignore} by default). ")
9361 (license license:gpl3+)))
9362
9363 (define-public emacs-json-reformat
9364 (package
9365 (name "emacs-json-reformat")
9366 (version "0.0.6")
9367 (source
9368 (origin
9369 (method git-fetch)
9370 (uri (git-reference
9371 (url "https://github.com/gongo/json-reformat.git")
9372 (commit version)))
9373 (file-name (git-file-name name version))
9374 (sha256
9375 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
9376 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
9377 (build-system emacs-build-system)
9378 (propagated-inputs
9379 `(("emacs-undercover" ,emacs-undercover)))
9380 (native-inputs
9381 `(("emacs-dash" ,emacs-dash)
9382 ("emacs-shut-up" ,emacs-shut-up)
9383 ("ert-runner" ,emacs-ert-runner)))
9384 (arguments
9385 `(#:tests? #t
9386 #:test-command '("ert-runner")
9387 #:phases
9388 (modify-phases %standard-phases
9389 (add-before 'check 'make-tests-writable
9390 (lambda _
9391 (for-each make-file-writable (find-files "test"))
9392 #t))
9393 (add-before 'check 'delete-json-objects-order-test
9394 (lambda _
9395 (emacs-batch-edit-file "test/json-reformat-test.el"
9396 `(progn (progn (goto-char (point-min))
9397 (re-search-forward
9398 "ert-deftest json-reformat-test:json-reformat-region")
9399 (beginning-of-line)
9400 (kill-sexp))
9401 (basic-save-buffer)))
9402 #t)))))
9403 (home-page "https://github.com/gongo/json-reformat")
9404 (synopsis "Reformatting tool for JSON")
9405 (description "@code{json-reformat} provides a reformatting tool for
9406 @url{http://json.org/, JSON}.")
9407 (license license:gpl3+)))
9408
9409 (define-public emacs-json-snatcher
9410 (package
9411 (name "emacs-json-snatcher")
9412 (version "1.0.0")
9413 (source
9414 (origin
9415 (method git-fetch)
9416 (uri (git-reference
9417 (url "https://github.com/Sterlingg/json-snatcher.git")
9418 (commit version)))
9419 (file-name (git-file-name name version))
9420 (sha256
9421 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
9422 (build-system emacs-build-system)
9423 (home-page "https://github.com/sterlingg/json-snatcher")
9424 (synopsis "Grabs the path to JSON values in a JSON file")
9425 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
9426 a @url{http://json.org/, JSON} file.")
9427 (license license:gpl3+)))
9428
9429 (define-public emacs-json-mode
9430 (package
9431 (name "emacs-json-mode")
9432 (version "1.7.0")
9433 (source
9434 (origin
9435 (method git-fetch)
9436 (uri (git-reference
9437 (url "https://github.com/joshwnj/json-mode.git")
9438 (commit (string-append "v" version))))
9439 (file-name (git-file-name name version))
9440 (sha256
9441 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
9442 (build-system emacs-build-system)
9443 (propagated-inputs
9444 `(("emacs-json-reformat" ,emacs-json-reformat)
9445 ("emacs-json-snatcher" ,emacs-json-snatcher)))
9446 (home-page "https://github.com/joshwnj/json-mode")
9447 (synopsis "Major mode for editing JSON files")
9448 (description "@code{json-mode} extends the builtin js-mode syntax
9449 highlighting.")
9450 (license license:gpl3+)))
9451
9452 (define-public emacs-restclient
9453 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
9454 (version "0")
9455 (revision "2")) ;Guix package revision,
9456 ;upstream doesn't have official releases
9457 (package
9458 (name "emacs-restclient")
9459 (version (git-version version revision commit))
9460 (source (origin
9461 (method git-fetch)
9462 (uri (git-reference
9463 (url "https://github.com/pashky/restclient.el.git")
9464 (commit commit)))
9465 (sha256
9466 (base32
9467 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
9468 (file-name (git-file-name name version))))
9469 (build-system emacs-build-system)
9470 (propagated-inputs
9471 `(("emacs-helm" ,emacs-helm)))
9472 (home-page "https://github.com/pashky/restclient.el")
9473 (synopsis "Explore and test HTTP REST webservices")
9474 (description
9475 "This tool allows for testing and exploration of HTTP REST Web services
9476 from within Emacs. Restclient runs queries from a plan-text query sheet,
9477 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
9478 (license license:public-domain))))
9479
9480 (define-public emacs-whitespace-cleanup-mode
9481 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
9482 (revision "1"))
9483 (package
9484 (name "emacs-whitespace-cleanup-mode")
9485 (version (git-version "0.10" revision commit))
9486 (source (origin
9487 (method git-fetch)
9488 (uri (git-reference
9489 (url "https://github.com/purcell/whitespace-cleanup-mode")
9490 (commit commit)))
9491 (sha256
9492 (base32
9493 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
9494 (file-name (git-file-name name version))))
9495 (build-system emacs-build-system)
9496 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
9497 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
9498 (description
9499 "This package provides a minor mode that calls
9500 @code{whitespace-cleanup} before saving the current buffer only if the
9501 whitespace in the buffer was initially clean.")
9502 (license license:gpl3+))))
9503
9504 (define-public emacs-eimp
9505 (let ((version "1.4.0")
9506 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
9507 (revision "1"))
9508 (package
9509 (name "emacs-eimp")
9510 (version (git-version version revision commit))
9511 (source
9512 (origin
9513 (method git-fetch)
9514 (uri (git-reference
9515 (url "https://github.com/nicferrier/eimp.git")
9516 (commit commit)))
9517 (file-name (git-file-name name version))
9518 (sha256
9519 (base32
9520 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
9521 (build-system emacs-build-system)
9522 (arguments
9523 `(#:phases
9524 (modify-phases %standard-phases
9525 (add-after 'unpack 'configure
9526 (lambda* (#:key inputs #:allow-other-keys)
9527 (let ((imagemagick (assoc-ref inputs "imagemagick")))
9528 ;; eimp.el is read-only in git.
9529 (chmod "eimp.el" #o644)
9530 (emacs-substitute-variables "eimp.el"
9531 ("eimp-mogrify-program"
9532 (string-append imagemagick "/bin/mogrify"))))
9533 #t)))))
9534 (inputs
9535 `(("imagemagick" ,imagemagick)))
9536 (home-page "https://github.com/nicferrier/eimp")
9537 (synopsis "Interactive image manipulation utility for Emacs")
9538 (description "@code{emacs-eimp} allows interactive image manipulation
9539 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
9540 the actual transformations.")
9541 (license license:gpl2+))))
9542
9543 (define-public emacs-dired-hacks
9544 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
9545 (revision "2"))
9546 (package
9547 (name "emacs-dired-hacks")
9548 (version (git-version "0.0.1" revision commit))
9549 (source (origin
9550 (method git-fetch)
9551 (uri (git-reference
9552 (url "https://github.com/Fuco1/dired-hacks.git")
9553 (commit commit)))
9554 (file-name (git-file-name name version))
9555 (sha256
9556 (base32
9557 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
9558 (build-system emacs-build-system)
9559 (propagated-inputs
9560 `(("emacs-dash" ,emacs-dash)
9561 ("emacs-eimp" ,emacs-eimp)
9562 ("emacs-f" ,emacs-f)
9563 ("emacs-s" ,emacs-s)))
9564 (home-page "https://github.com/Fuco1/dired-hacks")
9565 (synopsis
9566 "Collection of useful dired additions")
9567 (description
9568 "This package provides the following collection of Emacs dired mode
9569 additions:
9570
9571 @itemize
9572 @item dired-avfs
9573 @item dired-columns
9574 @item dired-filter
9575 @item dired-hacks-utils
9576 @item dired-images
9577 @item dired-list
9578 @item dired-narrow
9579 @item dired-open
9580 @item dired-rainbow
9581 @item dired-ranger
9582 @item dired-subtree
9583 @item dired-tagsistant
9584 @end itemize\n")
9585 (license license:gpl3+))))
9586
9587 (define-public emacs-dired-sidebar
9588 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
9589 (revision "0"))
9590 (package
9591 (name "emacs-dired-sidebar")
9592 (home-page "https://github.com/jojojames/dired-sidebar")
9593 (version (git-version "0.0.1" revision commit))
9594 (source (origin
9595 (method git-fetch)
9596 (uri (git-reference (url home-page) (commit commit)))
9597 (file-name (git-file-name name version))
9598 (sha256
9599 (base32
9600 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
9601 (build-system emacs-build-system)
9602 (propagated-inputs
9603 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
9604 (synopsis "Sidebar for Emacs using Dired")
9605 (description
9606 "This package provides a sidebar for Emacs similar to @code{NeoTree}
9607 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
9608 (license license:gpl3+))))
9609
9610 (define-public emacs-which-key
9611 (package
9612 (name "emacs-which-key")
9613 (version "3.3.1")
9614 (source
9615 (origin
9616 (method git-fetch)
9617 (uri (git-reference
9618 (url "https://github.com/justbur/emacs-which-key.git")
9619 (commit (string-append "v" version))))
9620 (file-name (git-file-name name version))
9621 (sha256
9622 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
9623 (build-system emacs-build-system)
9624 (arguments
9625 `(#:tests? #t
9626 #:test-command '("emacs" "--batch"
9627 "-l" "which-key-tests.el"
9628 "-f" "ert-run-tests-batch-and-exit")))
9629 (home-page "https://github.com/justbur/emacs-which-key")
9630 (synopsis "Display available key bindings in popup")
9631 (description
9632 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
9633 bindings following your currently entered incomplete command (a prefix) in a
9634 popup. For example, after enabling the minor mode if you enter C-x and wait
9635 for the default of 1 second, the minibuffer will expand with all of the
9636 available key bindings that follow C-x (or as many as space allows given your
9637 settings).")
9638 (license license:gpl3+)))
9639
9640 (define-public emacs-hercules
9641 (package
9642 (name "emacs-hercules")
9643 (version "0.2.1")
9644 (source
9645 (origin
9646 (method git-fetch)
9647 (uri (git-reference
9648 (url "https://gitlab.com/jjzmajic/hercules.el.git")
9649 (commit (string-append "v" version))))
9650 (file-name (git-file-name name version))
9651 (sha256
9652 (base32
9653 "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"))))
9654 (build-system emacs-build-system)
9655 (propagated-inputs
9656 `(("emacs-which-key" ,emacs-which-key)))
9657 (home-page "https://gitlab.com/jjzmajic/hercules.el")
9658 (synopsis "Call a chain of related commands without repeated prefix keys")
9659 (description
9660 "This package provides sticky-key-like functionality to obviate the
9661 need for repeated prefix-key sequences, and can reuse existing keymaps. The
9662 list of commands is displayed in a handy popup.")
9663 (license license:gpl3+)))
9664
9665 (define-public emacs-ws-butler
9666 (package
9667 (name "emacs-ws-butler")
9668 (version "0.6")
9669 (source (origin
9670 (method git-fetch)
9671 (uri (git-reference
9672 (url "https://github.com/lewang/ws-butler.git")
9673 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
9674 (file-name (git-file-name name version))
9675 (sha256
9676 (base32
9677 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
9678 (build-system emacs-build-system)
9679 (native-inputs
9680 `(("ert-runner" ,emacs-ert-runner)))
9681 (arguments
9682 `(#:tests? #t
9683 #:test-command '("ert-runner" "tests")))
9684 (home-page "https://github.com/lewang/ws-butler")
9685 (synopsis "Trim spaces from end of lines")
9686 (description
9687 "This Emacs package automatically and unobtrusively trims whitespace
9688 characters from end of lines.")
9689 (license license:gpl3+)))
9690
9691 (define-public emacs-org-edit-latex
9692 (package
9693 (name "emacs-org-edit-latex")
9694 (version "0.8.0")
9695 (source
9696 (origin
9697 (method git-fetch)
9698 (uri (git-reference
9699 (url "https://github.com/et2010/org-edit-latex.git")
9700 (commit (string-append "v" version))))
9701 (file-name (git-file-name name version))
9702 (sha256
9703 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
9704 (build-system emacs-build-system)
9705 (propagated-inputs
9706 `(("emacs-auctex" ,emacs-auctex)
9707 ;; The version of org in Emacs 25.2 is not sufficient, because the
9708 ;; `org-latex-make-preamble' function is required.
9709 ("emacs-org" ,emacs-org)))
9710 (home-page "https://github.com/et2010/org-edit-latex")
9711 (synopsis "Edit a latex fragment just like editing a src block")
9712 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
9713 It lets you edit a latex fragment in a dedicated buffer just like editing a
9714 src block.")
9715 (license license:gpl3+)))
9716
9717 (define-public emacs-emamux
9718 (package
9719 (name "emacs-emamux")
9720 (version "0.14")
9721 (source
9722 (origin
9723 (method git-fetch)
9724 (uri (git-reference
9725 (url "https://github.com/syohex/emacs-emamux.git")
9726 (commit version)))
9727 (file-name (git-file-name name version))
9728 (sha256
9729 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
9730 (build-system emacs-build-system)
9731 (home-page "https://github.com/syohex/emacs-emamux")
9732 (synopsis "Manipulate Tmux from Emacs")
9733 (description
9734 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
9735 multiplexer.")
9736 (license license:gpl3+)))
9737
9738 (define-public emacs-rpm-spec-mode
9739 (package
9740 (name "emacs-rpm-spec-mode")
9741 (version "0.16")
9742 (source
9743 (origin
9744 (method url-fetch)
9745 ;; URI has the Fedora release number instead of the version
9746 ;; number. This will have to updated manually every new release.
9747 (uri (string-append
9748 "https://src.fedoraproject.org/cgit/rpms"
9749 "/emacs-rpm-spec-mode.git/snapshot"
9750 "/emacs-rpm-spec-mode-f26.tar.gz"))
9751 (sha256
9752 (base32
9753 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
9754 (build-system emacs-build-system)
9755 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
9756 (synopsis "Emacs major mode for editing RPM spec files")
9757 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
9758 editing RPM spec files.")
9759 (license license:gpl2+)))
9760
9761 (define-public emacs-lcr
9762 (package
9763 (name "emacs-lcr")
9764 (version "1.1")
9765 (source
9766 (origin
9767 (method git-fetch)
9768 (uri (git-reference
9769 (url "https://github.com/jyp/lcr")
9770 (commit version)))
9771 (file-name (git-file-name name version))
9772 (sha256
9773 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
9774 (build-system emacs-build-system)
9775 (propagated-inputs
9776 `(("emacs-dash" ,emacs-dash)))
9777 (home-page "https://github.com/jyp/lcr")
9778 (synopsis "Lightweight coroutines in Emacs Lisp")
9779 (description "This package provides macros that can translate code into
9780 equivalent continuation-passing code, as well as miscellaneous utility
9781 functions written in continuation-passing style.")
9782 (license license:gpl3+)))
9783
9784 (define-public emacs-attrap
9785 (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
9786 (revision "2"))
9787 (package
9788 (name "emacs-attrap")
9789 (version (git-version "1.0" revision commit))
9790 (source (origin
9791 (method git-fetch)
9792 (uri (git-reference
9793 (url "https://github.com/jyp/attrap")
9794 (commit commit)))
9795 (sha256
9796 (base32
9797 "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
9798 (file-name (git-file-name name version))))
9799 (build-system emacs-build-system)
9800 (propagated-inputs
9801 `(("emacs-dash" ,emacs-dash)
9802 ("emacs-f" ,emacs-f)
9803 ("emacs-flycheck" ,emacs-flycheck)
9804 ("emacs-s" ,emacs-s)))
9805 (home-page "https://github.com/jyp/attrap")
9806 (synopsis "Fix coding error at point")
9807 (description "This package provides a command to fix the Flycheck error
9808 at point.")
9809 (license license:gpl3+))))
9810
9811 (define-public emacs-git-messenger
9812 (package
9813 (name "emacs-git-messenger")
9814 (version "0.18")
9815 (source
9816 (origin
9817 (method git-fetch)
9818 (uri (git-reference
9819 (url "https://github.com/syohex/emacs-git-messenger.git")
9820 (commit version)))
9821 (file-name (git-file-name name version))
9822 (sha256
9823 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
9824 (build-system emacs-build-system)
9825 (propagated-inputs
9826 `(("emacs-popup" ,emacs-popup)))
9827 (arguments
9828 `(#:tests? #t
9829 #:test-command '("emacs" "--batch" "-l" "test/test.el"
9830 "-f" "ert-run-tests-batch-and-exit")))
9831 (home-page "https://github.com/syohex/emacs-git-messenger")
9832 (synopsis "Popup commit message at current line")
9833 (description "@code{emacs-git-messenger} provides
9834 @code{git-messenger:popup-message}, a function that when called, will popup
9835 the last git commit message for the current line. This uses git-blame
9836 internally.")
9837 (license license:gpl3+)))
9838
9839 (define-public emacs-gitpatch
9840 (package
9841 (name "emacs-gitpatch")
9842 (version "0.5.1")
9843 (source
9844 (origin
9845 (method git-fetch)
9846 (uri (git-reference
9847 (url "https://github.com/tumashu/gitpatch.git")
9848 (commit (string-append "v" version))))
9849 (file-name (git-file-name name version))
9850 (sha256
9851 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
9852 (build-system emacs-build-system)
9853 (home-page "https://github.com/tumashu/gitpatch")
9854 (synopsis "Mail git patch from Emacs")
9855 (description "@code{emacs-gitpatch} lets users easily send git patches,
9856 created by @code{git format-patch}, from @code{magit}, @code{dired} and
9857 @code{ibuffer} buffers.")
9858 (license license:gpl3+)))
9859
9860 (define-public emacs-erc-hl-nicks
9861 (package
9862 (name "emacs-erc-hl-nicks")
9863 (version "1.3.3")
9864 (source
9865 (origin
9866 (method git-fetch)
9867 (uri (git-reference
9868 (url "https://github.com/leathekd/erc-hl-nicks")
9869 (commit version)))
9870 (file-name (git-file-name name version))
9871 (sha256
9872 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
9873 (build-system emacs-build-system)
9874 (synopsis "Nickname highlighting for Emacs ERC")
9875 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
9876 client for Emacs. The main features are:
9877 @itemize
9878 @item Auto-colorizes nicknames without having to specify colors
9879 @item Ignores certain characters that IRC clients add to nicknames to avoid
9880 duplicates (nickname, nickname’, nickname\", etc.)
9881 @item Attempts to produce colors with a sufficient amount of contrast between
9882 the nick color and the background color
9883 @end itemize\n")
9884 (home-page "https://github.com/leathekd/erc-hl-nicks")
9885 (license license:gpl3+)))
9886
9887 (define-public emacs-engine-mode
9888 (package
9889 (name "emacs-engine-mode")
9890 (version "2.0.0")
9891 (source
9892 (origin
9893 (method git-fetch)
9894 (uri (git-reference
9895 (url "https://github.com/hrs/engine-mode.git")
9896 (commit (string-append "v" version))))
9897 (file-name (git-file-name name version))
9898 (sha256
9899 (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"))))
9900 (build-system emacs-build-system)
9901 (synopsis "Minor mode for defining and querying search engines")
9902 (description "@code{engine-mode} is a global minor mode for Emacs. It
9903 enables you to easily define search engines, bind them to keybindings, and
9904 query them from the comfort of your editor.")
9905 (home-page "https://github.com/hrs/engine-mode")
9906 (license license:gpl3+)))
9907
9908 (define-public emacs-prop-menu
9909 (package
9910 (name "emacs-prop-menu")
9911 (version "0.1.2")
9912 (source
9913 (origin
9914 (method url-fetch)
9915 (uri (string-append
9916 "http://stable.melpa.org/packages/prop-menu-"
9917 version ".el"))
9918 (sha256
9919 (base32
9920 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
9921 (build-system emacs-build-system)
9922 (home-page
9923 "https://github.com/david-christiansen/prop-menu-el")
9924 (synopsis
9925 "Create and display a context menu based on text and overlay properties")
9926 (description
9927 "This is a library for computing context menus based on text
9928 properties and overlays. The intended use is to have tools that
9929 annotate source code and others that use these annotations, without
9930 requiring a direct coupling between them, but maintaining
9931 discoverability.
9932
9933 Major modes that wish to use this library should first define an
9934 appropriate value for @code{prop-menu-item-functions}. Then, they should
9935 bind @code{prop-menu-by-completing-read} to an appropriate
9936 key. Optionally, a mouse pop-up can be added by binding
9937 @code{prop-menu-show-menu} to a mouse event.")
9938 (license license:gpl3+)))
9939
9940 (define-public emacs-idris-mode
9941 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
9942 (revision "0"))
9943 (package
9944 (name "emacs-idris-mode")
9945 (version (git-version "0.9.19" revision commit))
9946 (source
9947 (origin
9948 (method git-fetch)
9949 (uri (git-reference
9950 (url "https://github.com/idris-hackers/idris-mode.git")
9951 (commit commit)))
9952 (file-name (git-file-name name commit))
9953 (sha256
9954 (base32
9955 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
9956 (build-system emacs-build-system)
9957 (propagated-inputs
9958 `(("emacs-prop-menu" ,emacs-prop-menu)))
9959 (home-page
9960 "https://github.com/idris-hackers/idris-mode")
9961 (synopsis "Major mode for editing Idris code")
9962 (description
9963 "This is an Emacs mode for editing Idris code. It requires the latest
9964 version of Idris, and some features may rely on the latest Git version of
9965 Idris.")
9966 (license license:gpl3+))))
9967
9968 (define-public emacs-browse-at-remote
9969 (package
9970 (name "emacs-browse-at-remote")
9971 (version "0.10.0")
9972 (source
9973 (origin
9974 (method git-fetch)
9975 (uri (git-reference
9976 (url "https://github.com/rmuslimov/browse-at-remote.git")
9977 (commit version)))
9978 (file-name (git-file-name name version))
9979 (sha256
9980 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
9981 (build-system emacs-build-system)
9982 (propagated-inputs
9983 `(("emacs-f" ,emacs-f)
9984 ("emacs-s" ,emacs-s)))
9985 (native-inputs
9986 `(("ert-runner" ,emacs-ert-runner)))
9987 (arguments
9988 `(#:tests? #t
9989 #:test-command '("ert-runner")))
9990 (home-page "https://github.com/rmuslimov/browse-at-remote")
9991 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
9992 (description
9993 "This Emacs package allows you to open a target page on
9994 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
9995 It supports dired buffers and opens them in tree mode at destination.")
9996 (license license:gpl3+)))
9997
9998 (define-public emacs-tiny
9999 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
10000 (revision "1"))
10001 (package
10002 (name "emacs-tiny")
10003 (version (git-version "0.2.1" revision commit))
10004 (source
10005 (origin
10006 (method git-fetch)
10007 (uri (git-reference
10008 (url "https://github.com/abo-abo/tiny.git")
10009 (commit commit)))
10010 (sha256
10011 (base32
10012 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
10013 (build-system emacs-build-system)
10014 (arguments
10015 `(#:tests? #t
10016 #:test-command '("make" "test")))
10017 (home-page "https://github.com/abo-abo/tiny")
10018 (synopsis "Quickly generate linear ranges in Emacs")
10019 (description
10020 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
10021 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
10022 proficiency is an advantage, since you can transform your numeric range with
10023 an elisp expression.")
10024 (license license:gpl3+))))
10025
10026 (define-public emacs-emojify
10027 (package
10028 (name "emacs-emojify")
10029 (version "1.2")
10030 (source
10031 (origin
10032 (method git-fetch)
10033 (uri (git-reference
10034 (url "https://github.com/iqbalansari/emacs-emojify")
10035 (commit (string-append "v" version))))
10036 (file-name (git-file-name name version))
10037 (sha256
10038 (base32
10039 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
10040 (build-system emacs-build-system)
10041 (arguments
10042 `(#:include (cons "^data/" %default-include)))
10043 (propagated-inputs
10044 `(("emacs-ht" ,emacs-ht)))
10045 (home-page "https://github.com/iqbalansari/emacs-emojify")
10046 (synopsis "Display emojis in Emacs")
10047 (description "This package displays emojis in Emacs similar to how Github,
10048 Slack, and other websites do. It can display plain ASCII like @code{:)} as
10049 well as Github-style emojis like @code{:smile:}. It provides a minor mode
10050 @code{emojify-mode} to enable the display of emojis in a buffer.")
10051 (license license:gpl3+)))
10052
10053 (define-public emacs-make-it-so
10054 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
10055 (revision "2"))
10056 (package
10057 (name "emacs-make-it-so")
10058 (version (git-version "0.1.0" revision commit))
10059 (source
10060 (origin
10061 (method git-fetch)
10062 (uri (git-reference
10063 (url "https://github.com/abo-abo/make-it-so")
10064 (commit commit)))
10065 (sha256
10066 (base32
10067 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
10068 (build-system emacs-build-system)
10069 (arguments
10070 `(#:include (cons "^recipes/" %default-include)))
10071 (propagated-inputs
10072 `(("emacs-ivy" ,emacs-ivy)))
10073 (home-page "https://github.com/abo-abo/make-it-so")
10074 (synopsis "Transform files with Makefile recipes")
10075 (description "This package provides an interface for selecting from
10076 different conversion recipes, often including tools like @code{ffmpeg} or
10077 @code{convert}. The conversion command need only be written once, and
10078 subsequent invocations can be readily customized. Several recipes are
10079 included by default, and more can be readily added.")
10080 (license license:gpl3+))))
10081
10082 (define-public emacs-unidecode
10083 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
10084 (revision "1"))
10085 (package
10086 (name "emacs-unidecode")
10087 (version (git-version "0.2" revision commit))
10088 (source
10089 (origin
10090 (method git-fetch)
10091 (uri (git-reference
10092 (url "https://github.com/sindikat/unidecode")
10093 (commit commit)))
10094 (sha256
10095 (base32
10096 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
10097 (build-system emacs-build-system)
10098 (arguments
10099 `(#:include (cons* "^tools/" "^data/" %default-include)
10100 #:tests? #t
10101 #:test-command '("emacs" "--batch"
10102 "-l" "unidecode-test.el"
10103 "-f" "ert-run-tests-batch-and-exit")
10104 #:phases
10105 (modify-phases %standard-phases
10106 (add-before 'check 'make-tests-writable
10107 (lambda _
10108 (make-file-writable "unidecode-test.el")
10109 #t))
10110 (add-before 'check 'add-require
10111 (lambda _
10112 (emacs-batch-edit-file "unidecode-test.el"
10113 `(progn (progn (goto-char (point-min))
10114 (re-search-forward
10115 "ert-deftest")
10116 (forward-line -1)
10117 (insert "(require 'unidecode)"))
10118 (basic-save-buffer)))
10119 #t)))))
10120 (home-page "https://github.com/sindikat/unidecode")
10121 (synopsis "Transliterate Unicode text to ASCII")
10122 (description "This package provides functions for converting Unicode to ASCII.")
10123 (license license:gpl2+))))
10124
10125 (define-public emacs-pubmed
10126 (package
10127 (name "emacs-pubmed")
10128 (version "0.2.1")
10129 (source
10130 (origin
10131 (method git-fetch)
10132 (uri (git-reference
10133 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
10134 (commit (string-append "v" version))))
10135 (file-name (git-file-name name version))
10136 (sha256
10137 (base32
10138 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
10139 (build-system emacs-build-system)
10140 (propagated-inputs
10141 `(("emacs-deferred" ,emacs-deferred)
10142 ("emacs-esxml" ,emacs-esxml)
10143 ("emacs-s" ,emacs-s)
10144 ("emacs-unidecode" ,emacs-unidecode)))
10145 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
10146 (synopsis "Interface to PubMed")
10147 (description "This package provides an Emacs interface to the PubMed
10148 database of references on life sciences.")
10149 (license license:gpl3+)))
10150
10151 (define-public emacs-websocket
10152 (package
10153 (name "emacs-websocket")
10154 (version "1.10")
10155 (source
10156 (origin
10157 (method git-fetch)
10158 (uri (git-reference
10159 (url "https://github.com/ahyatt/emacs-websocket.git")
10160 (commit version)))
10161 (file-name (git-file-name name version))
10162 (sha256
10163 (base32
10164 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
10165 (build-system emacs-build-system)
10166 (arguments
10167 `(#:tests? #t
10168 ;; TODO: also enable websocket-functional-test.el
10169 #:test-command '("emacs" "--batch"
10170 "-l" "websocket-test.el"
10171 "-f" "ert-run-tests-batch-and-exit")))
10172 (home-page "http://elpa.gnu.org/packages/websocket.html")
10173 (synopsis "Emacs WebSocket client and server")
10174 (description "This is an Elisp library for WebSocket clients to talk to
10175 WebSocket servers, and for WebSocket servers to accept connections from
10176 WebSocket clients. This library is designed to be used by other library
10177 writers, to write applications that use WebSockets, and is not useful by
10178 itself.")
10179 (license license:gpl3+)))
10180
10181 (define-public emacs-oauth2
10182 (package
10183 (name "emacs-oauth2")
10184 (version "0.11")
10185 (source
10186 (origin
10187 (method url-fetch)
10188 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
10189 version ".el"))
10190 (sha256
10191 (base32
10192 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
10193 (build-system emacs-build-system)
10194 (home-page "http://elpa.gnu.org/packages/oauth2.html")
10195 (synopsis "OAuth 2.0 authorization protocol implementation")
10196 (description
10197 "This package provides an Elisp implementation of the OAuth 2.0 draft.
10198 The main entry point is @code{oauth2-auth-and-store} which will return a token
10199 structure. This token structure can be then used with
10200 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
10201 retrieve any data that need OAuth authentication to be accessed. If the token
10202 needs to be refreshed, the code handles it automatically and stores the new
10203 value of the access token.")
10204 (license license:gpl3+)))
10205
10206 (define-public emacs-circe
10207 (package
10208 (name "emacs-circe")
10209 (version "2.11")
10210 (source
10211 (origin
10212 (method git-fetch)
10213 (uri (git-reference
10214 (url "https://github.com/jorgenschaefer/circe.git")
10215 (commit (string-append "v" version))))
10216 (file-name (git-file-name name version))
10217 (sha256
10218 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
10219 (build-system emacs-build-system)
10220 (arguments
10221 `(#:tests? #t
10222 #:test-command '("buttercup" "-L" ".")
10223 #:phases
10224 (modify-phases %standard-phases
10225 ;; The HOME environment variable should be set to an existing
10226 ;; directory for the tests to succeed.
10227 (add-before 'check 'set-home
10228 (lambda _
10229 (setenv "HOME" "/tmp")
10230 #t)))))
10231 (native-inputs
10232 `(("emacs-buttercup" ,emacs-buttercup)))
10233 ;; In order to securely connect to an IRC server using TLS, Circe requires
10234 ;; the GnuTLS binary.
10235 (propagated-inputs
10236 `(("gnutls" ,gnutls)))
10237 (home-page "https://github.com/jorgenschaefer/circe")
10238 (synopsis "Client for IRC in Emacs")
10239 (description "Circe is a Client for IRC in Emacs. It integrates well with
10240 the rest of the editor, using standard Emacs key bindings and indicating
10241 activity in channels in the status bar so it stays out of your way unless you
10242 want to use it.")
10243 (license license:gpl3+)))
10244
10245 (define-public emacs-tracking
10246 (package
10247 (inherit emacs-circe)
10248 (name "emacs-tracking")
10249 (arguments
10250 ;; "tracking.el" is a library extracted from Circe package. It requires
10251 ;; "shorten.el".
10252 `(#:include '("^shorten.el$" "^tracking.el$")
10253 ,@(package-arguments emacs-circe)))
10254 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
10255 (synopsis "Buffer tracking library")
10256 (description "@code{tracking.el} provides a way for different modes to
10257 notify the user that a buffer needs attention. The user then can cycle
10258 through them using @key{C-c C-SPC}.")
10259 (license license:gpl3+)))
10260
10261 (define-public emacs-slack
10262 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
10263 (revision "6"))
10264 (package
10265 (name "emacs-slack")
10266 (version (git-version "0.0.2" revision commit))
10267 (source (origin
10268 (method git-fetch)
10269 (uri (git-reference
10270 (url "https://github.com/yuya373/emacs-slack.git")
10271 (commit commit)))
10272 (file-name (git-file-name name commit))
10273 (sha256
10274 (base32
10275 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
10276 (build-system emacs-build-system)
10277 (arguments
10278 `(#:phases
10279 (modify-phases %standard-phases
10280 ;; HOME needs to exist for source compilation.
10281 (add-before 'build 'set-HOME
10282 (lambda _ (setenv "HOME" "/tmp") #t)))))
10283 (propagated-inputs
10284 `(("emacs-alert" ,emacs-alert)
10285 ("emacs-emojify" ,emacs-emojify)
10286 ("emacs-helm" ,emacs-helm)
10287 ("emacs-request" ,emacs-request)
10288 ("emacs-websocket" ,emacs-websocket)
10289 ("emacs-oauth2" ,emacs-oauth2)
10290 ("emacs-circe" ,emacs-circe)))
10291 (home-page "https://github.com/yuya373/emacs-slack")
10292 (synopsis "Slack client for Emacs")
10293 (description "This package provides an Emacs client for the Slack
10294 messaging service.")
10295 (license license:gpl3+))))
10296
10297 (define-public emacs-bash-completion
10298 (package
10299 (name "emacs-bash-completion")
10300 (version "2.1.0")
10301 (source
10302 (origin
10303 (method git-fetch)
10304 (uri (git-reference
10305 (url "https://github.com/szermatt/emacs-bash-completion.git")
10306 (commit version)))
10307 (file-name (git-file-name name version))
10308 (sha256
10309 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
10310 (inputs `(("bash" ,bash)))
10311 (build-system emacs-build-system)
10312 (arguments
10313 `(#:phases
10314 (modify-phases %standard-phases
10315 (add-after 'unpack 'make-git-checkout-writable
10316 (λ _
10317 (for-each make-file-writable (find-files "."))
10318 #t))
10319 (add-before 'install 'configure
10320 (lambda* (#:key inputs #:allow-other-keys)
10321 (let ((bash (assoc-ref inputs "bash")))
10322 (emacs-substitute-variables "bash-completion.el"
10323 ("bash-completion-prog" (string-append bash "/bin/bash"))))
10324 #t)))))
10325 (home-page "https://github.com/szermatt/emacs-bash-completion")
10326 (synopsis "Bash completion for the shell buffer")
10327 (description
10328 "@code{bash-completion} defines dynamic completion hooks for shell-mode
10329 and shell-command prompts that are based on Bash completion.")
10330 (license license:gpl2+)))
10331
10332 (define-public emacs-easy-kill
10333 (package
10334 (name "emacs-easy-kill")
10335 (version "0.9.3")
10336 (source (origin
10337 (method url-fetch)
10338 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
10339 version ".tar"))
10340 (sha256
10341 (base32
10342 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
10343 (build-system emacs-build-system)
10344 (home-page "https://github.com/leoliu/easy-kill")
10345 (synopsis "Kill and mark things easily in Emacs")
10346 (description
10347 "This package provides commands @code{easy-kill} and @code{easy-mark} to
10348 let users kill or mark things easily.")
10349 (license license:gpl3+)))
10350
10351 (define-public emacs-csv-mode
10352 (package
10353 (name "emacs-csv-mode")
10354 (version "1.7")
10355 (source
10356 (origin
10357 (method url-fetch)
10358 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
10359 version ".el"))
10360 (sha256
10361 (base32
10362 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
10363 (build-system emacs-build-system)
10364 (home-page
10365 "http://elpa.gnu.org/packages/csv-mode.html")
10366 (synopsis
10367 "Major mode for editing comma/char separated values")
10368 (description
10369 "This Emacs package implements CSV mode, a major mode for editing records
10370 in a generalized CSV (character-separated values) format.")
10371 (license license:gpl3+)))
10372
10373 (define-public emacs-transmission
10374 (package
10375 (name "emacs-transmission")
10376 (version "0.12.1")
10377 (source
10378 (origin
10379 (method git-fetch)
10380 (uri (git-reference
10381 (url "https://github.com/holomorph/transmission.git")
10382 (commit version)))
10383 (file-name (git-file-name name version))
10384 (sha256
10385 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
10386 (build-system emacs-build-system)
10387 (home-page "https://github.com/holomorph/transmission")
10388 (synopsis "Emacs interface to a Transmission session")
10389 (description "This package provides an Emacs interface to interact with a
10390 running session of the Transmission Bittorrent client.
10391
10392 Features:
10393
10394 @itemize
10395 @item List, add, start/stop, verify, remove torrents.
10396 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
10397 @item Navigate to the corresponding file list, torrent info, peer info
10398 contexts.
10399 @item Toggle downloading and set priorities for individual files.
10400 @end itemize\n")
10401 (license license:gpl3+)))
10402
10403 (define-public emacs-polymode
10404 (package
10405 (name "emacs-polymode")
10406 (version "0.2")
10407 (source (origin
10408 (method git-fetch)
10409 (uri (git-reference
10410 (url "https://github.com/polymode/polymode.git")
10411 (commit (string-append "v" version))))
10412 (file-name (git-file-name name version))
10413 (sha256
10414 (base32
10415 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
10416 (build-system emacs-build-system)
10417 (home-page "https://github.com/polymode/polymode")
10418 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
10419 (description
10420 "Polymode is an Emacs package that offers generic support for multiple
10421 major modes inside a single Emacs buffer. It is lightweight, object oriented
10422 and highly extensible. Creating a new polymode typically takes only a few
10423 lines of code. Polymode also provides extensible facilities for external
10424 literate programming tools for exporting, weaving and tangling.")
10425 (license license:gpl3+)))
10426
10427 (define-public emacs-polymode-ansible
10428 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
10429 (package
10430 (name "emacs-polymode-ansible")
10431 ;; No upstream version release yet.
10432 (version (git-version "0.1" "1" commit))
10433 (source
10434 (origin
10435 (method git-fetch)
10436 (uri (git-reference
10437 (url "https://gitlab.com/mavit/poly-ansible")
10438 (commit commit)))
10439 (file-name (git-file-name name version))
10440 (sha256
10441 (base32
10442 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
10443 (build-system emacs-build-system)
10444 (propagated-inputs
10445 `(("emacs-ansible-doc" ,emacs-ansible-doc)
10446 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
10447 ("emacs-polymode" ,emacs-polymode)
10448 ("emacs-yaml-mode" ,emacs-yaml-mode)))
10449 (properties '((upstream-name . "poly-ansible")))
10450 (home-page "https://gitlab.com/mavit/poly-ansible/")
10451 (synopsis "Polymode for Ansible - Jinja2 in YAML")
10452 (description
10453 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
10454 (license license:gpl3+))))
10455
10456 (define-public emacs-polymode-org
10457 (package
10458 (name "emacs-polymode-org")
10459 (version "0.2")
10460 (source
10461 (origin
10462 (method git-fetch)
10463 (uri (git-reference
10464 (url "https://github.com/polymode/poly-org.git")
10465 (commit (string-append "v" version))))
10466 (file-name (git-file-name name version))
10467 (sha256
10468 (base32
10469 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
10470 (build-system emacs-build-system)
10471 (propagated-inputs
10472 `(("emacs-polymode" ,emacs-polymode)))
10473 (properties '((upstream-name . "poly-org")))
10474 (home-page "https://github.com/polymode/poly-org")
10475 (synopsis "Polymode definitions for Org mode buffers")
10476 (description
10477 "Provides definitions for @code{emacs-polymode} to support
10478 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
10479 native modes of the blocks' languages while remaining inside the primary Org
10480 buffer.")
10481 (license license:gpl3+)))
10482
10483 (define-public eless
10484 (package
10485 (name "eless")
10486 (version "0.3")
10487 (source
10488 (origin
10489 (method git-fetch)
10490 (uri (git-reference
10491 (url "https://github.com/kaushalmodi/eless.git")
10492 (commit (string-append "v" version))))
10493 (file-name (git-file-name name version))
10494 (sha256
10495 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
10496 (build-system trivial-build-system)
10497 (inputs
10498 `(("bash" ,bash)))
10499 (arguments
10500 `(#:modules ((guix build utils))
10501 #:builder
10502 (begin
10503 (use-modules (guix build utils))
10504 (copy-recursively (assoc-ref %build-inputs "source") "source")
10505 (chdir "source")
10506 (substitute* "eless" (("/usr/bin/env bash")
10507 (string-append (assoc-ref %build-inputs "bash")
10508 "/bin/bash")))
10509 (install-file "eless" (string-append %output "/bin"))
10510 (install-file "doc/eless.info" (string-append %output "/share/info"))
10511 #t)))
10512 (home-page "https://github.com/kaushalmodi/eless")
10513 (synopsis "Use Emacs as a paginator")
10514 (description "@code{eless} provides a combination of Bash script
10515 and a minimal Emacs view-mode.
10516
10517 Feautures:
10518
10519 @itemize
10520 @item Independent of a user’s Emacs config.
10521 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
10522 @item Not require an Emacs server to be already running.
10523 @item Syntax highlighting.
10524 @item Org-mode file rendering.
10525 @item @code{man} page viewer.
10526 @item Info viewer.
10527 @item Dired, wdired, (batch edit symbolic links).
10528 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
10529 @item Filter log files lines matching a regexp.
10530 @item Auto-revert log files similar to @code{tail -f}.
10531 @item Quickly change frame and font sizes.
10532 @end itemize\n")
10533 (license license:expat)))
10534
10535 (define-public emacs-evil-matchit
10536 (package
10537 (name "emacs-evil-matchit")
10538 (version "2.3.4")
10539 (source
10540 (origin
10541 (method git-fetch)
10542 (uri (git-reference
10543 (url "https://github.com/redguardtoo/evil-matchit.git")
10544 (commit version)))
10545 (file-name (git-file-name name version))
10546 (sha256
10547 (base32 "1nflkmx08n3ya5vaipy1xg19hnqcp6f7ddsx9xjh5gl6ix2iz0az"))))
10548 (build-system emacs-build-system)
10549 (propagated-inputs
10550 `(("emacs-evil" ,emacs-evil)))
10551 (home-page "https://github.com/redguardtoo/evil-matchit")
10552 (synopsis "Vim matchit ported into Emacs")
10553 (description
10554 "@code{evil-matchit} is a minor mode for jumping between matching tags in
10555 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
10556 (license license:gpl3+)))
10557
10558 (define-public emacs-evil-smartparens
10559 (package
10560 (name "emacs-evil-smartparens")
10561 (version "0.4.0")
10562 (source
10563 (origin
10564 (method git-fetch)
10565 (uri (git-reference
10566 (url "https://github.com/expez/evil-smartparens.git")
10567 (commit version)))
10568 (file-name (git-file-name name version))
10569 (sha256
10570 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
10571 (build-system emacs-build-system)
10572 (propagated-inputs
10573 `(("emacs-evil" ,emacs-evil)
10574 ("emacs-smartparens" ,emacs-smartparens)))
10575 (home-page "https://github.com/expez/evil-smartparens")
10576 (synopsis "Emacs Evil integration for Smartparens")
10577 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
10578 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
10579 emulates Vim features and provides Vim-like key bindings.")
10580 (license license:gpl3+)))
10581
10582 (define-public emacs-evil-quickscope
10583 (package
10584 (name "emacs-evil-quickscope")
10585 (version "0.1.4")
10586 (source
10587 (origin
10588 (method git-fetch)
10589 (uri (git-reference
10590 (url "https://github.com/blorbx/evil-quickscope.git")
10591 (commit (string-append "v" version))))
10592 (file-name (git-file-name name version))
10593 (sha256
10594 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
10595 (build-system emacs-build-system)
10596 (propagated-inputs
10597 `(("emacs-evil" ,emacs-evil)))
10598 (arguments
10599 `(#:tests? #t
10600 #:test-command '("emacs" "--batch"
10601 "-l" "evil-quickscope-tests.el"
10602 "-f" "ert-run-tests-batch-and-exit")))
10603 (home-page "https://github.com/blorbx/evil-quickscope")
10604 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
10605 (description "@code{emacs-evil-quickscope} highlights targets for Evil
10606 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
10607 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
10608 features and provides Vim-like key bindings.")
10609 (license license:gpl3+)))
10610
10611 (define-public emacs-bongo
10612 (package
10613 (name "emacs-bongo")
10614 (version "1.0")
10615 (source
10616 (origin
10617 (method git-fetch)
10618 (uri (git-reference
10619 (url "https://github.com/dbrock/bongo.git")
10620 (commit version)))
10621 (file-name (git-file-name name version))
10622 (sha256
10623 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
10624 (build-system emacs-build-system)
10625 (home-page "https://github.com/dbrock/bongo")
10626 (synopsis "Media player for Emacs")
10627 (description
10628 "This package provides a flexible media player for Emacs. @code{Bongo}
10629 supports multiple backends such as @code{vlc}, @code{mpg123},
10630 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
10631 @code{afplay}.")
10632 (license license:gpl2+)))
10633
10634 (define-public emacs-groovy-modes
10635 (package
10636 (name "emacs-groovy-modes")
10637 (version "2.0")
10638 (source (origin
10639 (method url-fetch)
10640 (uri (string-append
10641 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
10642 "/archive/" version ".tar.gz"))
10643 (file-name (string-append name "-" version ".tar.gz"))
10644 (sha256
10645 (base32
10646 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
10647 (build-system emacs-build-system)
10648 (propagated-inputs
10649 `(("emacs-s" ,emacs-s)))
10650 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
10651 (synopsis "Groovy related modes for Emacs")
10652 (description
10653 "This package provides @code{groovy-mode} for syntax highlighting in
10654 Groovy source files, REPL integration with run-groovy and Grails project
10655 navigation with the grails mode.")
10656 (license license:gpl3+)))
10657
10658 (define-public groovy-emacs-modes
10659 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
10660
10661 (define-public emacs-org-tree-slide
10662 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
10663 (revision "0"))
10664 (package
10665 (name "emacs-org-tree-slide")
10666 (version (git-version "0.1" revision commit))
10667 (home-page "https://github.com/takaxp/org-tree-slide")
10668 (source (origin
10669 (method git-fetch)
10670 (uri (git-reference (url home-page) (commit commit)))
10671 (sha256
10672 (base32
10673 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
10674 (file-name (git-file-name name version))))
10675 (build-system emacs-build-system)
10676 (synopsis "Presentation tool for org-mode")
10677 (description
10678 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
10679 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
10680 @kbd{C-<} to jump to the next and previous slide.")
10681 (license license:gpl3+))))
10682
10683 (define-public emacs-scratch-el
10684 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
10685 (revision "1"))
10686 (package
10687 (name "emacs-scratch-el")
10688 (version (git-version "1.2" revision commit))
10689 (source (origin
10690 (method git-fetch)
10691 (uri (git-reference
10692 (url "https://github.com/ieure/scratch-el.git")
10693 (commit commit)))
10694 (file-name (git-file-name name version))
10695 (sha256
10696 (base32
10697 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
10698 (build-system emacs-build-system)
10699 (native-inputs
10700 `(("texinfo" ,texinfo)))
10701 (arguments
10702 '(#:phases
10703 (modify-phases %standard-phases
10704 (add-after 'install 'install-doc
10705 (lambda* (#:key outputs #:allow-other-keys)
10706 (unless (invoke "makeinfo" "scratch.texi")
10707 (error "makeinfo failed"))
10708 (install-file "scratch.info"
10709 (string-append (assoc-ref outputs "out")
10710 "/share/info"))
10711 #t)))))
10712 (home-page "https://github.com/ieure/scratch-el/")
10713 (synopsis "Create scratch buffers with the same mode as current buffer")
10714 (description "Scratch is an extension to Emacs that enables one to create
10715 scratch buffers that are in the same mode as the current buffer. This is
10716 notably useful when working on code in some language; you may grab code into a
10717 scratch buffer, and, by virtue of this extension, do so using the Emacs
10718 formatting rules for that language.")
10719 (license license:bsd-2))))
10720
10721 (define-public emacs-kv
10722 (package
10723 (name "emacs-kv")
10724 (version "0.0.19")
10725 (source
10726 (origin
10727 (method git-fetch)
10728 (uri (git-reference
10729 (url "https://github.com/nicferrier/emacs-kv.git")
10730 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
10731 (file-name (git-file-name name version))
10732 (sha256
10733 (base32
10734 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
10735 (build-system emacs-build-system)
10736 (arguments
10737 `(#:tests? #t
10738 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
10739 "-f" "ert-run-tests-batch-and-exit")))
10740 (home-page "https://github.com/nicferrier/emacs-kv")
10741 (synopsis "Key/Value data structures library for Emacs Lisp")
10742 (description "@code{emacs-kv} is a collection of tools for dealing with
10743 key/value data structures such as plists, alists and hash-tables in Emacs
10744 Lisp.")
10745 (license license:gpl3+)))
10746
10747 (define-public emacs-esxml
10748 (package
10749 (name "emacs-esxml")
10750 (version "0.3.4")
10751 (source (origin
10752 (method git-fetch)
10753 (uri (git-reference
10754 (url "https://github.com/tali713/esxml.git")
10755 (commit version)))
10756 (file-name (git-file-name name version))
10757 (sha256
10758 (base32
10759 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
10760 (build-system emacs-build-system)
10761 (arguments
10762 `(#:phases
10763 (modify-phases %standard-phases
10764 (add-after 'unpack 'fix-sources
10765 (lambda _
10766 ;; See: https://github.com/tali713/esxml/pull/28.
10767 (substitute* "css-lite.el"
10768 ((";;; main interface")
10769 (string-append ";;; main interface\n"
10770 "(require 'cl-lib)"))
10771 (("mapcan")
10772 "cl-mapcan")
10773 (("',\\(cl-mapcan #'process-css-rule rules\\)")
10774 "(cl-mapcan #'process-css-rule ',rules)"))
10775 (substitute* "esxml-form.el"
10776 ((",esxml-form-field-defn")
10777 "#'esxml-form-field-defn"))
10778 ;; See: https://github.com/tali713/esxml/issues/25
10779 (delete-file "esxpath.el")
10780 #t)))))
10781 (propagated-inputs
10782 `(("emacs-kv" ,emacs-kv)))
10783 (home-page "https://github.com/tali713/esxml/")
10784 (synopsis "SXML for EmacsLisp")
10785 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
10786 Simply, this is the easiest way to write HTML or XML in Lisp. This library
10787 uses the native form of XML representation as used by many libraries already
10788 included within Emacs. See @code{esxml-to-xml} for a concise description of
10789 the format.")
10790 (license license:gpl3+)))
10791
10792 (define-public emacs-nov-el
10793 (package
10794 (name "emacs-nov-el")
10795 (version "0.2.9")
10796 (source (origin
10797 (method git-fetch)
10798 (uri (git-reference
10799 (url "https://github.com/wasamasa/nov.el.git")
10800 (commit version)))
10801 (file-name (git-file-name name version))
10802 (sha256
10803 (base32
10804 "0v01l1p35mcigixs6j4c5bpc7n7bd51kxa0p3l1xl0gr92774yq3"))))
10805 (build-system emacs-build-system)
10806 (arguments
10807 `(#:phases
10808 (modify-phases %standard-phases
10809 (add-after 'unpack 'embed-path-to-unzip
10810 (lambda _
10811 (substitute* "nov.el"
10812 (("\\(executable-find \"unzip\"\\)")
10813 (string-append "\"" (which "unzip") "\"")))
10814 #t)))))
10815 (propagated-inputs
10816 `(("emacs-dash" ,emacs-dash)
10817 ("emacs-esxml" ,emacs-esxml)))
10818 (inputs
10819 `(("unzip" ,unzip)))
10820 (home-page "https://github.com/wasamasa/nov.el/")
10821 (synopsis "Major mode for reading EPUBs in Emacs")
10822 (description "@code{nov.el} provides a major mode for reading EPUB
10823 documents.
10824
10825 Features:
10826
10827 @itemize
10828 @item Basic navigation (jump to TOC, previous/next chapter)
10829 @item Remembering and restoring the last read position
10830 @item Jump to next chapter when scrolling beyond end
10831 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
10832 @item Hyperlinks to internal and external targets
10833 @item Supports textual and image documents
10834 @item View source of document files
10835 @item Metadata display
10836 @item Image rescaling
10837 @end itemize
10838 ")
10839 (license license:gpl3+)))
10840
10841 (define-public epipe
10842 (package
10843 (name "epipe")
10844 (version "0.1.0")
10845 (source
10846 (origin
10847 (method git-fetch)
10848 (uri (git-reference
10849 (url "https://github.com/cute-jumper/epipe.git")
10850 (commit version)))
10851 (file-name (git-file-name name version))
10852 (sha256
10853 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
10854 (build-system trivial-build-system)
10855 (inputs
10856 `(("bash" ,bash)
10857 ("perl" ,perl)))
10858 (arguments
10859 `(#:modules
10860 ((guix build utils))
10861 #:builder
10862 (begin
10863 (use-modules (guix build utils))
10864 ;; Extract source.
10865 (copy-recursively (assoc-ref %build-inputs "source") "source")
10866 (chdir "source")
10867 ;; Patch shebangs.
10868 (substitute* "epipe"
10869 (("/usr/bin/env bash")
10870 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
10871 (patch-shebang "epipe.pl"
10872 (list (string-append (assoc-ref %build-inputs "perl")
10873 "/bin")))
10874 ;; Install.
10875 (for-each (lambda (file)
10876 (install-file file (string-append %output "/bin")))
10877 '("epipe" "epipe.pl"))
10878 #t)))
10879 (home-page "https://github.com/cute-jumper/epipe")
10880 (synopsis "Pipe to the @code{emacsclient}")
10881 (description "@code{epipe} provides an utility to use your editor in
10882 the pipeline, featuring the support for running @code{emacsclient}.")
10883 (license license:gpl3+)))
10884
10885 (define-public emacs-hcl-mode
10886 (package
10887 (name "emacs-hcl-mode")
10888 (version "0.03")
10889 (source
10890 (origin
10891 (method git-fetch)
10892 (uri (git-reference
10893 (url "https://github.com/syohex/emacs-hcl-mode.git")
10894 (commit version)))
10895 (file-name (git-file-name name version))
10896 (sha256
10897 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
10898 (build-system emacs-build-system)
10899 (home-page "https://github.com/syohex/emacs-hcl-mode")
10900 (synopsis "Major mode for the Hashicorp Configuration Language")
10901 (description
10902 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
10903 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
10904 highlighting and indentation support.")
10905 (license license:gpl3+)))
10906
10907 (define-public emacs-terraform-mode
10908 (package
10909 (name "emacs-terraform-mode")
10910 (version "0.06")
10911 (source
10912 (origin
10913 (method git-fetch)
10914 (uri (git-reference
10915 (url "https://github.com/syohex/emacs-terraform-mode.git")
10916 (commit version)))
10917 (file-name (git-file-name name version))
10918 (sha256
10919 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
10920 (build-system emacs-build-system)
10921 (propagated-inputs
10922 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
10923 (home-page "https://github.com/syohex/emacs-terraform-mode")
10924 (synopsis "Major mode for Terraform")
10925 (description
10926 "@code{emacs-terraform-mode} provides a major mode for working with
10927 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
10928 functionality is inherited from @code{hcl-mode}.")
10929 (license license:gpl3+)))
10930
10931 (define-public emacs-exec-path-from-shell
10932 (package
10933 (name "emacs-exec-path-from-shell")
10934 (version "1.12")
10935 (source
10936 (origin
10937 (method git-fetch)
10938 (uri (git-reference
10939 (url "https://github.com/purcell/exec-path-from-shell")
10940 (commit version)))
10941 (sha256
10942 (base32
10943 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
10944 (build-system emacs-build-system)
10945 (home-page "https://github.com/purcell/exec-path-from-shell")
10946 (synopsis "Get environment variables such as @var{PATH} from the shell")
10947 (description
10948 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
10949 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
10950 the like work as expected on systems on which Emacs is not guaranteed to
10951 inherit a login shell's environment variables. It also allows other
10952 environment variables to be retrieved from the shell, so that Emacs will see
10953 the same values you get in a terminal.")
10954 (license license:gpl3+)))
10955
10956 (define-public emacs-frog-menu
10957 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
10958 (revision "1"))
10959 (package
10960 (name "emacs-frog-menu")
10961 (version (git-version "0.2.9" revision commit))
10962 (source
10963 (origin
10964 (method git-fetch)
10965 (uri (git-reference
10966 (url "https://github.com/clemera/frog-menu")
10967 (commit commit)))
10968 (file-name (git-file-name name version))
10969 (sha256
10970 (base32
10971 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
10972 (build-system emacs-build-system)
10973 (propagated-inputs
10974 `(("emacs-posframe" ,emacs-posframe)
10975 ("emacs-avy" ,emacs-avy)))
10976 (home-page "https://github.com/clemera/frog-menu")
10977 (synopsis "Quickly pick items from ad hoc menus")
10978 (description
10979 "This package provides a popup offering a preview of a list of
10980 candidates on which user-defined dispatch actions can act.")
10981 (license license:gpl3+))))
10982
10983 (define-public emacs-frog-jump-buffer
10984 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
10985 (revision "1"))
10986 (package
10987 (name "emacs-frog-jump-buffer")
10988 (version (git-version "0.1.4" revision commit))
10989 (source
10990 (origin
10991 (method git-fetch)
10992 (uri (git-reference
10993 (url "https://github.com/waymondo/frog-jump-buffer")
10994 (commit commit)))
10995 (file-name (git-file-name name version))
10996 (sha256
10997 (base32
10998 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
10999 (build-system emacs-build-system)
11000 (propagated-inputs
11001 `(("emacs-dash" ,emacs-dash)
11002 ("emacs-frog-menu" ,emacs-frog-menu)
11003 ("emacs-avy" ,emacs-avy)))
11004 (home-page "https://github.com/waymondo/frog-jump-buffer")
11005 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
11006 (description
11007 "This package provides a preview window of buffers that can be switched
11008 to with quicklink-style selections.")
11009 (license license:gpl3+))))
11010
11011 (define-public emacs-deft
11012 (package
11013 (name "emacs-deft")
11014 (version "0.8")
11015 (source
11016 (origin
11017 (method url-fetch)
11018 (uri (string-append "https://stable.melpa.org/packages/deft-"
11019 version ".el"))
11020 (sha256
11021 (base32
11022 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
11023 (build-system emacs-build-system)
11024 (home-page "https://jblevins.org/projects/deft/")
11025 (synopsis "Quickly browse, filter, and edit plain text notes")
11026 (description
11027 "Deft is an Emacs mode for quickly browsing, filtering, and editing
11028 directories of plain text notes, inspired by Notational Velocity.")
11029 (license license:bsd-3)))
11030
11031 (define-public emacs-anzu
11032 (package
11033 (name "emacs-anzu")
11034 (version "0.62")
11035 (source
11036 (origin
11037 (method git-fetch)
11038 (uri (git-reference
11039 (url "https://github.com/syohex/emacs-anzu.git")
11040 (commit version)))
11041 (file-name (git-file-name name version))
11042 (sha256
11043 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
11044 (build-system emacs-build-system)
11045 (home-page "https://github.com/syohex/emacs-anzu")
11046 (synopsis "Show number of matches in mode-line while searching")
11047 (description
11048 "Anzu provides a minor mode which displays \"current match/total
11049 matches\" in the mode line in various search modes. This is an Emacs port of
11050 Anzu.zim.")
11051 (license license:gpl3+)))
11052
11053 (define-public emacs-ascii-art-to-unicode
11054 (package
11055 (name "emacs-ascii-art-to-unicode")
11056 (version "1.12")
11057 (source
11058 (origin
11059 (method url-fetch)
11060 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
11061 version ".el"))
11062 (sha256
11063 (base32
11064 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
11065 (build-system emacs-build-system)
11066 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
11067 (synopsis "ASCII to Unicode art converter for Emacs")
11068 (description "This Emacs package provides the commands @command{aa2u} and
11069 @command{aa2u-rectangle}. Both of these commands can be used to convert
11070 simple ASCII art line drawings to Unicode; the former works on the active
11071 region of the buffer, while the latter works on rectangular selections.")
11072 (license license:gpl3+)))
11073
11074 (define-public emacs-emmet-mode
11075 (package
11076 (name "emacs-emmet-mode")
11077 (version "1.0.8")
11078 (source (origin
11079 (method git-fetch)
11080 (uri (git-reference
11081 (url "https://github.com/smihica/emmet-mode.git")
11082 (commit version)))
11083 (file-name (git-file-name name version))
11084 (sha256
11085 (base32
11086 "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
11087 (build-system emacs-build-system)
11088 (home-page "https://github.com/smihica/emmet-mode")
11089 (synopsis "Unofficial Emmet's support for Emacs")
11090 (description
11091 "Unfold CSS-selector-like expressions to markup. It is intended to be
11092 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
11093 (license license:gpl3+)))
11094
11095 (define-public emacs-ergoemacs-mode
11096 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
11097 (revision "1"))
11098 (package
11099 (name "emacs-ergoemacs-mode")
11100 (version (git-version "5.16.10.12" revision commit))
11101 (source
11102 (origin
11103 (method git-fetch)
11104 (uri (git-reference
11105 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
11106 (commit commit)))
11107 (sha256
11108 (base32
11109 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
11110 (build-system emacs-build-system)
11111 (propagated-inputs
11112 `(("emacs-undo-tree" ,emacs-undo-tree)))
11113 (home-page "https://ergoemacs.github.io/")
11114 (synopsis "Emacs mode based on common modern interface and ergonomics")
11115 (description
11116 "This package provides an efficient Emacs keybinding set based on
11117 statistics of command frequency, and supports common shortcuts for open,
11118 close, copy, cut, paste, undo, redo.")
11119 (license license:gpl3+))))
11120
11121 (define-public emacs-password-store
11122 (package
11123 (name "emacs-password-store")
11124 (version "1.7.3")
11125 (source (origin
11126 (method url-fetch)
11127 (uri
11128 (string-append "https://git.zx2c4.com/password-store/snapshot/"
11129 "password-store-" version ".tar.xz"))
11130 (sha256
11131 (base32
11132 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
11133 (build-system emacs-build-system)
11134 (arguments
11135 `(#:phases
11136 (modify-phases %standard-phases
11137 (add-after 'unpack 'extract-el-file
11138 (lambda _
11139 (copy-file "contrib/emacs/password-store.el" "password-store.el")
11140 (delete-file-recursively "contrib")
11141 (delete-file-recursively "man")
11142 (delete-file-recursively "src")
11143 (delete-file-recursively "tests"))))))
11144 (propagated-inputs
11145 `(("emacs-f" ,emacs-f)
11146 ("emacs-s" ,emacs-s)
11147 ("emacs-with-editor" ,emacs-with-editor)
11148 ("password-store" ,password-store)))
11149 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
11150 (synopsis "Password store (pass) support for Emacs")
11151 (description
11152 "This package provides functions for working with pass (\"the
11153 standard Unix password manager\").")
11154 (license license:gpl2+)))
11155
11156 (define-public emacs-pass
11157 (package
11158 (name "emacs-pass")
11159 (version "1.8")
11160 (source
11161 (origin
11162 (method git-fetch)
11163 (uri (git-reference
11164 (url "https://github.com/NicolasPetton/pass.git")
11165 (commit version)))
11166 (file-name (git-file-name name version))
11167 (sha256
11168 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
11169 (build-system emacs-build-system)
11170 (propagated-inputs
11171 `(("emacs-password-store" ,emacs-password-store)
11172 ("emacs-f" ,emacs-f)))
11173 (home-page "https://github.com/NicolasPetton/pass")
11174 (synopsis "Major mode for @file{password-store.el}")
11175 (description "This is a major mode for managing password-store (pass)
11176 keychains. The keychain entries are displayed in a directory-like structure
11177 and can be consulted and modified.")
11178 (license license:gpl3+)))
11179
11180 (define-public emacs-evil-anzu
11181 (package
11182 (name "emacs-evil-anzu")
11183 (version "0.03")
11184 (source
11185 (origin
11186 (method git-fetch)
11187 (uri (git-reference
11188 (url "https://github.com/syohex/emacs-evil-anzu")
11189 (commit version)))
11190 (file-name (git-file-name name version))
11191 (sha256
11192 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
11193 (build-system emacs-build-system)
11194 (propagated-inputs
11195 `(("emacs-evil" ,emacs-evil)
11196 ("emacs-anzu" ,emacs-anzu)))
11197 (home-page "https://github.com/syohex/emacs-evil-anzu")
11198 (synopsis "Anzu for evil-mode")
11199 (description "@code{anzu} provides a minor mode that displays the current
11200 match and total match information in the mode-line in various search modes.")
11201 (license license:gpl3+)))
11202
11203 (define-public emacs-pg
11204 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
11205 (package
11206 (name "emacs-pg")
11207 (version (git-version "0.1" "1" commit))
11208 (source (origin
11209 (method git-fetch)
11210 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
11211 (commit commit)))
11212 (file-name (git-file-name name version))
11213 (sha256
11214 (base32
11215 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
11216 (build-system emacs-build-system)
11217 (home-page "https://github.com/cbbrowne/pg.el")
11218 (synopsis "Emacs Lisp interface for PostgreSQL")
11219 (description
11220 "This package provides an Emacs Lisp interface for PostgreSQL.")
11221 (license license:gpl3+))))
11222
11223 (define-public emacs-cl-generic
11224 (package
11225 (name "emacs-cl-generic")
11226 (version "0.3")
11227 (source
11228 (origin
11229 (method url-fetch)
11230 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
11231 version ".el"))
11232 (sha256
11233 (base32
11234 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
11235 (build-system emacs-build-system)
11236 (home-page "https://elpa.gnu.org/packages/seq.html")
11237 (synopsis
11238 "Forward @code{cl-generic} compatibility for Emacs before version 25")
11239 (description "This package provides a subset of the features of the
11240 @code{cl-generic} package introduced in Emacs-25, for use on previous
11241 @code{emacsen}.")
11242 (license license:gpl3+)))
11243
11244 (define-public emacs-finalize
11245 (package
11246 (name "emacs-finalize")
11247 (version "2.0.0")
11248 (source
11249 (origin
11250 (method git-fetch)
11251 (uri (git-reference
11252 (url "https://github.com/skeeto/elisp-finalize.git")
11253 (commit version)))
11254 (file-name (git-file-name name version))
11255 (sha256
11256 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
11257 (build-system emacs-build-system)
11258 (propagated-inputs
11259 `(("emacs-cl-generic" ,emacs-cl-generic)))
11260 (home-page "https://github.com/skeeto/elisp-finalize")
11261 (synopsis "Finalizers for Emacs Lisp")
11262 (description
11263 "This package will allows to immediately run a callback (a finalizer)
11264 after its registered lisp object has been garbage collected. This allows for
11265 extra resources, such as buffers and processes, to be cleaned up after the
11266 object has been freed.")
11267 (license license:unlicense)))
11268
11269 (define-public emacs-emacsql
11270 (package
11271 (name "emacs-emacsql")
11272 (version "3.0.0")
11273 (source (origin
11274 (method git-fetch)
11275 (uri (git-reference
11276 (url "https://github.com/skeeto/emacsql.git")
11277 (commit (string-append version))))
11278 (file-name (git-file-name name version))
11279 (sha256
11280 (base32
11281 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
11282 (build-system emacs-build-system)
11283 (arguments
11284 `(#:modules ((guix build emacs-build-system)
11285 (guix build utils)
11286 (guix build emacs-utils)
11287 (srfi srfi-26))
11288 #:phases
11289 (modify-phases %standard-phases
11290 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
11291 (add-before 'install 'patch-elisp-shell-shebangs
11292 (lambda _
11293 (substitute* (find-files "." "\\.el")
11294 (("/bin/sh") (which "sh")))
11295 #t))
11296 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
11297 (lambda _
11298 (setenv "SHELL" "sh")))
11299 (add-after 'setenv-shell 'build-emacsql-sqlite
11300 (lambda _
11301 (invoke "make" "binary" "CC=gcc")))
11302 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
11303 ;; This build phase installs emacs-emacsql binary.
11304 (lambda* (#:key outputs #:allow-other-keys)
11305 (install-file "sqlite/emacsql-sqlite"
11306 (string-append (assoc-ref outputs "out")
11307 "/bin"))
11308 #t))
11309 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
11310 ;; This build phase removes interactive prompts
11311 ;; and makes sure Emacs look for binaries in the right places.
11312 (lambda* (#:key outputs #:allow-other-keys)
11313 (let ((file "emacsql-sqlite.el"))
11314 (chmod file #o644)
11315 (emacs-substitute-sexps file
11316 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
11317 ("(executable-find" (which "gcc"))
11318 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
11319 ;; in the right place.
11320 ("(defvar emacsql-sqlite-executable"
11321 (string-append (assoc-ref outputs "out")
11322 "/bin/emacsql-sqlite"))))))
11323 (replace 'install
11324 (lambda* (#:key outputs #:allow-other-keys)
11325 (let* ((out (assoc-ref outputs "out")))
11326 (install-file "sqlite/emacsql-sqlite"
11327 (string-append out "/bin"))
11328 (for-each (cut install-file <>
11329 (string-append out "/share/emacs/site-lisp/guix.d/"
11330 "emacsql" "-" ,version))
11331 (find-files "." "\\.elc*$")))
11332 #t)))))
11333 (inputs
11334 `(("emacs-minimal" ,emacs-minimal)
11335 ("mariadb" ,mariadb)
11336 ("postgresql" ,postgresql)))
11337 (propagated-inputs
11338 `(("emacs-finalize" ,emacs-finalize)
11339 ("emacs-pg" ,emacs-pg)))
11340 (home-page "https://github.com/skeeto/emacsql")
11341 (synopsis "Emacs high-level SQL database front-end")
11342 (description "Any readable Lisp value can be stored as a value in EmacSQL,
11343 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
11344 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
11345 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
11346 (license license:gpl3+)))
11347
11348 (define-public emacs-closql
11349 (package
11350 (name "emacs-closql")
11351 (version "1.0.0")
11352 (source
11353 (origin
11354 (method git-fetch)
11355 (uri (git-reference
11356 (url "https://github.com/emacscollective/closql.git")
11357 (commit (string-append "v" version))))
11358 (file-name (git-file-name name version))
11359 (sha256
11360 (base32
11361 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
11362 (build-system emacs-build-system)
11363 (propagated-inputs
11364 `(("emacs-emacsql" ,emacs-emacsql)))
11365 (home-page "https://github.com/emacscollective/closql")
11366 (synopsis "Store EIEIO objects using EmacSQL")
11367 (description
11368 "This package allows to store uniform EIEIO objects in an EmacSQL
11369 database. SQLite is used as backend. This library imposes some restrictions
11370 on what kind of objects can be stored; it isn't intended to store arbitrary
11371 objects. All objects have to share a common superclass and subclasses cannot
11372 add any additional instance slots.")
11373 (license license:gpl3)))
11374
11375 (define-public emacs-epkg
11376 ;; The release version is to old for the current database scheme.
11377 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
11378 (package
11379 (name "emacs-epkg")
11380 (version (git-version "3.0.0" "1" commit))
11381 (source
11382 (origin
11383 (method git-fetch)
11384 (uri (git-reference
11385 (url "https://github.com/emacscollective/epkg.git")
11386 (commit commit)))
11387 (file-name (git-file-name name version))
11388 (sha256
11389 (base32
11390 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
11391 (build-system emacs-build-system)
11392 (propagated-inputs
11393 `(("emacs-closql" ,emacs-closql)
11394 ("emacs-dash" ,emacs-dash)))
11395 (home-page "https://emacsmirror.net")
11396 (synopsis "Browse the Emacsmirror package database")
11397 (description "This package provides access to a local copy of the
11398 Emacsmirror package database. It provides low-level functions for querying
11399 the database and a @file{package.el} user interface for browsing the database.
11400 Epkg itself is not a package manager.
11401
11402 Getting a local copy:
11403
11404 @example
11405 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
11406 cd ~/.emacs.d/epkgs
11407 git submodule init
11408 git config --global url.https://github.com/.insteadOf git@@github.com:
11409 git submodule update
11410 @end example
11411
11412 Some submodule may be missing. In this case Git will prompt for a GitHub user
11413 name and password. To skip it press a @key{Return} key.
11414
11415 You could get a Epkg package list by invoking @code{epkg-list-packages} in
11416 Emacs.")
11417 (license license:gpl3+))))
11418
11419 (define-public emacs-elisp-slime-nav
11420 (package
11421 (name "emacs-elisp-slime-nav")
11422 (version "0.9")
11423 (source
11424 (origin
11425 (method git-fetch)
11426 (uri (git-reference
11427 (url "https://github.com/purcell/elisp-slime-nav.git")
11428 (commit version)))
11429 (file-name (git-file-name name version))
11430 (sha256
11431 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
11432 (build-system emacs-build-system)
11433 (home-page "https://github.com/purcell/elisp-slime-nav")
11434 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
11435 (description
11436 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
11437 in @code{emacs-lisp-mode}, together with an elisp equivalent of
11438 @code{slime-describe-symbol}.")
11439 (license license:gpl3+)))
11440
11441 (define-public emacs-dedicated
11442 (package
11443 (name "emacs-dedicated")
11444 (version "1.0.0")
11445 (source
11446 (origin
11447 (method git-fetch)
11448 (uri (git-reference
11449 (url "https://github.com/emacsorphanage/dedicated.git")
11450 (commit version)))
11451 (file-name (git-file-name name version))
11452 (sha256
11453 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
11454 (build-system emacs-build-system)
11455 (home-page "https://github.com/emacsorphanage/dedicated")
11456 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
11457 (description
11458 "This simple Emacs minor mode allows you to toggle a window's
11459 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
11460 files into that window. This can be quite handy since many commands will use
11461 another window to show results (compilation mode, starting info, and so on).
11462 A dedicated window won't be used for such a purpose. For details, please read
11463 the source file.")
11464 (license license:gpl2+)))
11465
11466 (define-public emacs-nnreddit
11467 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
11468 (revision "1"))
11469 (package
11470 (name "emacs-nnreddit")
11471 (version (string-append "0.0.1-" revision "."
11472 (string-take commit 7)))
11473 (source (origin
11474 (method git-fetch)
11475 (uri (git-reference
11476 (url "https://github.com/paul-issartel/nnreddit.git")
11477 (commit commit)))
11478 (file-name (git-file-name name version))
11479 (sha256
11480 (base32
11481 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
11482 (build-system emacs-build-system)
11483 (home-page "https://github.com/paul-issartel/nnreddit")
11484 (synopsis "Reddit backend for the Gnus newsreader")
11485 (description "@url{https://www.reddit.com} backend for the Gnus
11486 newsreader.")
11487 (license license:gpl3+))))
11488
11489 (define-public emacs-makey
11490 (package
11491 (name "emacs-makey")
11492 (version "0.3")
11493 (source
11494 (origin
11495 (method git-fetch)
11496 (uri (git-reference
11497 (url "https://github.com/mickeynp/makey.git")
11498 (commit version)))
11499 (file-name (git-file-name name version))
11500 (sha256
11501 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
11502 (build-system emacs-build-system)
11503 (home-page "https://github.com/mickeynp/makey")
11504 (synopsis "Emacs interactive command-line mode")
11505 (description
11506 "This package provides an Emacs interactive command-line mode.")
11507 (license license:gpl3+)))
11508
11509 (define-public emacs-outorg
11510 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
11511 (package
11512 (name "emacs-outorg")
11513 (version (git-version "2.0" "1" commit))
11514 (source
11515 (origin
11516 (method git-fetch)
11517 (uri (git-reference
11518 (url "https://github.com/alphapapa/outorg")
11519 (commit commit)))
11520 (file-name (git-file-name name version))
11521 (sha256
11522 (base32
11523 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
11524 (build-system emacs-build-system)
11525 (home-page "https://github.com/alphapapa/outorg")
11526 (synopsis "Org-style comment editing")
11527 (description "Outorg is for editing comment-sections of source-code
11528 files in temporary Org-mode buffers. It turns conventional
11529 literate-programming upside-down in that the default mode is the
11530 programming-mode, and special action has to be taken to switch to the
11531 text-mode (i.e. Org-mode).")
11532 (license license:gpl3+))))
11533
11534 (define-public emacs-outshine
11535 (package
11536 (name "emacs-outshine")
11537 (version "3.0.1")
11538 (source (origin
11539 (method git-fetch)
11540 (uri (git-reference
11541 (url "https://github.com/alphapapa/outshine.git")
11542 (commit (string-append "v" version))))
11543 (file-name (git-file-name name version))
11544 (sha256
11545 (base32
11546 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
11547 (build-system emacs-build-system)
11548 (propagated-inputs
11549 `(("emacs-outorg" ,emacs-outorg)))
11550 (home-page "https://github.com/alphapapa/outshine")
11551 (synopsis "Emacs outline with outshine")
11552 (description "Outshine attempts to bring the look and feel of
11553 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
11554 of @code{outline-minor-mode} (@code{org-mode} itself derives from
11555 outline-mode), so there is no such thing like an outshine mode, only
11556 @code{outline-minor-mode} with outshine extensions loaded.")
11557 (license license:gpl3+)))
11558
11559 (define-public emacs-frecency
11560 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
11561 (version "0.1-pre")
11562 (revision "1"))
11563 (package
11564 (name "emacs-frecency")
11565 (version (git-version version revision commit))
11566 (source (origin
11567 (method git-fetch)
11568 (uri (git-reference
11569 (url "https://github.com/alphapapa/frecency.el")
11570 (commit commit)))
11571 (sha256
11572 (base32
11573 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
11574 (file-name (git-file-name name version))))
11575 (build-system emacs-build-system)
11576 (propagated-inputs
11577 `(("emacs-a" ,emacs-a)
11578 ("emacs-dash" ,emacs-dash)))
11579 (home-page "https://github.com/alphapapa/frecency.el")
11580 (synopsis "Sort items by frequency and recency of access")
11581 (description "This package provides a way of sorting items via
11582 a heuristic based on frequency and recency.")
11583 (license license:gpl3+))))
11584
11585 (define-public emacs-org-recent-headings
11586 (package
11587 (name "emacs-org-recent-headings")
11588 (version "0.1")
11589 (source (origin
11590 (method git-fetch)
11591 (uri (git-reference
11592 (url "https://github.com/alphapapa/org-recent-headings.git")
11593 (commit version)))
11594 (file-name (git-file-name name version))
11595 (sha256
11596 (base32
11597 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
11598 (build-system emacs-build-system)
11599 (propagated-inputs
11600 `(("emacs-org" ,emacs-org)
11601 ("emacs-dash" ,emacs-dash)
11602 ("emacs-frecency" ,emacs-frecency)))
11603 (home-page "https://github.com/alphapapa/org-recent-headings")
11604 (synopsis "Navigate to recently used Org headings and lists")
11605 (description "This package maintains a list of recently used Org headings,
11606 as well as functions for navigating between these headings.")
11607 (license license:gpl3+)))
11608
11609 (define-public emacs-org-super-agenda
11610 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
11611 (let ((commit "f0ee7ed9766d352d16a787707d35695b48cbf153")
11612 (revision "2"))
11613 (package
11614 (name "emacs-org-super-agenda")
11615 (version (git-version "1.1.1" revision commit))
11616 (source (origin
11617 (method git-fetch)
11618 (uri (git-reference
11619 (url "https://github.com/alphapapa/org-super-agenda")
11620 (commit commit)))
11621 (file-name (git-file-name name version))
11622 (sha256
11623 (base32
11624 "1b1qi96x83acv2frl94i4frx46i82vipaa8mfwpzyj2gyq2bq5zf"))))
11625 (build-system emacs-build-system)
11626 (propagated-inputs
11627 `(("emacs-org" ,emacs-org)
11628 ("emacs-dash" ,emacs-dash)
11629 ("emacs-ts" ,emacs-ts)
11630 ("emacs-ht" ,emacs-ht)
11631 ("emacs-s" ,emacs-s)))
11632 (home-page "https://github.com/alphapapa/org-super-agenda")
11633 (synopsis "Supercharged Org agenda")
11634 (description "This package allows items in the Org agenda to be grouped
11635 into sections while preserving the structure imposed by any timestamps.")
11636 (license license:gpl3+))))
11637
11638 (define-public emacs-org-make-toc
11639 (package
11640 (name "emacs-org-make-toc")
11641 (version "0.3")
11642 (source (origin
11643 (method git-fetch)
11644 (uri (git-reference
11645 (url "https://github.com/alphapapa/org-make-toc")
11646 (commit version)))
11647 (file-name (git-file-name name version))
11648 (sha256
11649 (base32
11650 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
11651 (build-system emacs-build-system)
11652 (propagated-inputs
11653 `(("emacs-org" ,emacs-org)
11654 ("emacs-dash" ,emacs-dash)
11655 ("emacs-s" ,emacs-s)))
11656 (home-page "https://github.com/alphapapa/org-make-toc")
11657 (synopsis "Maintain a table of contents for an Org file")
11658 (description "This package facilitates the creation and maintenance of
11659 tables of contents.")
11660 (license license:gpl3+)))
11661
11662 (define-public emacs-ts
11663 (let ((commit "395649a2f2ba79028331bb1fa9ec08b218950ff6")
11664 (revision "2"))
11665 (package
11666 (name "emacs-ts")
11667 (version (git-version "0.1" revision commit))
11668 (source (origin
11669 (method git-fetch)
11670 (uri (git-reference
11671 (url "https://github.com/alphapapa/ts.el")
11672 (commit commit)))
11673 (sha256
11674 (base32
11675 "02603wv66fplsigxd87jy23hrb5g9vigszcpdqrdv0ypaqaxlr3a"))
11676 (file-name (git-file-name name version))))
11677 (build-system emacs-build-system)
11678 (propagated-inputs
11679 `(("emacs-s" ,emacs-s)
11680 ("emacs-dash" ,emacs-dash)))
11681 (arguments
11682 ;; XXX: Three tests are failing because of a timezone-related issue
11683 ;; with how they're written. On my machine, all the failing test
11684 ;; results are 18000 seconds (5 hours) off.
11685
11686 ;; The ts-parse-org function accepts a string without any timezone
11687 ;; info, not assumed to be in Unix time, and converts it to a so-called
11688 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
11689 ;; then seems to assume the struct's corresponding time is in terms of
11690 ;; the user's current time zone, before returning a Unix time in
11691 ;; seconds.
11692
11693 ;; The failing tests all have similar problems, but nothing else about
11694 ;; the library seems particularly off.
11695
11696 `(#:tests? #t
11697 #:test-command '("emacs" "--batch"
11698 "-l" "test/test.el"
11699 "-f" "ert-run-tests-batch-and-exit")
11700 #:phases
11701 (modify-phases %standard-phases
11702 (add-before 'check 'make-tests-writable
11703 (lambda _
11704 (make-file-writable "test/test.el")
11705 #t))
11706 (add-before 'check 'delete-failing-tests
11707 (lambda _
11708 (emacs-batch-edit-file "test/test.el"
11709 `(progn (progn
11710 (goto-char (point-min))
11711 (dolist (test-regexp '("ert-deftest ts-format"
11712 "ert-deftest ts-parse-org\\_>"
11713 "ert-deftest ts-parse-org-element"))
11714 (re-search-forward test-regexp)
11715 (beginning-of-line)
11716 (kill-sexp)))
11717 (basic-save-buffer)))
11718 #t)))))
11719 (home-page "https://github.com/alphapapa/ts.el")
11720 (synopsis "Timestamp and date/time library")
11721 (description "This package facilitates manipulating dates, times, and
11722 timestamps by providing a @code{ts} struct.")
11723 (license license:gpl3+))))
11724
11725 (define-public emacs-peg
11726 (package
11727 (name "emacs-peg")
11728 (version "0.6")
11729 (source (origin
11730 (method git-fetch)
11731 (uri (git-reference
11732 (url "https://github.com/emacsmirror/peg")
11733 (commit version)))
11734 (sha256
11735 (base32
11736 "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n"))
11737 (file-name (git-file-name name version))))
11738 (build-system emacs-build-system)
11739 (home-page "https://github.com/emacsmirror/peg/")
11740 (synopsis "Parsing Expression Grammars in Elisp")
11741 (description "This package provides a macro that parses the current buffer
11742 according to a parsing expression grammar.")
11743 (license license:gpl3+)))
11744
11745 (define-public emacs-org-ql
11746 (package
11747 (name "emacs-org-ql")
11748 (version "0.2.1")
11749 (source (origin
11750 (method git-fetch)
11751 (uri (git-reference
11752 (url "https://github.com/alphapapa/org-ql")
11753 (commit version)))
11754 (sha256
11755 (base32
11756 "1xyabg9fhpip6426za6wjrn0msnaf10c5fzzaawwagk7zmjf9b48"))
11757 (file-name (git-file-name name version))))
11758 (build-system emacs-build-system)
11759 (propagated-inputs
11760 `(("emacs-s" ,emacs-s)
11761 ("emacs-ts" ,emacs-ts)
11762 ("emacs-org" ,emacs-org)
11763 ("emacs-dash" ,emacs-dash)))
11764 (native-inputs
11765 `(("emacs-buttercup" ,emacs-buttercup)))
11766 (arguments
11767 `(#:tests? #t
11768 #:test-command '("buttercup" "-L" ".")))
11769 (home-page "https://github.com/alphapapa/org-ql/")
11770 (synopsis "Query language for Org buffers")
11771 (description "This package provides a Lispy query language for Org
11772 files, allowing for actions to be performed based on search criteria.")
11773 (license license:gpl3+)))
11774
11775 (define-public emacs-org-auto-expand
11776 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
11777 (revision "1"))
11778 (package
11779 (name "emacs-org-auto-expand")
11780 (version (git-version "0.1" revision commit))
11781 (source (origin
11782 (method git-fetch)
11783 (uri (git-reference
11784 (url "https://github.com/alphapapa/org-auto-expand")
11785 (commit commit)))
11786 (file-name (git-file-name name version))
11787 (sha256
11788 (base32
11789 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
11790 (build-system emacs-build-system)
11791 (propagated-inputs
11792 `(("emacs-org" ,emacs-org)
11793 ("emacs-dash" ,emacs-dash)))
11794 (home-page "https://github.com/alphapapa/org-auto-expand")
11795 (synopsis "Automatically expand certain Org headings")
11796 (description "This package allows a customizable set of headings in Org
11797 files to be expanded upon opening them.")
11798 (license license:gpl3+))))
11799
11800 (define-public emacs-parsebib
11801 (package
11802 (name "emacs-parsebib")
11803 (version "2.3.1")
11804 (source
11805 (origin
11806 (method git-fetch)
11807 (uri (git-reference
11808 (url "https://github.com/joostkremers/parsebib.git")
11809 (commit version)))
11810 (file-name (git-file-name name version))
11811 (sha256
11812 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
11813 (build-system emacs-build-system)
11814 (home-page "https://github.com/joostkremers/parsebib")
11815 (synopsis "Library for parsing bib files")
11816 (description
11817 "This package provides an Emacs library for parsing bib files.")
11818 (license license:gpl3+)))
11819
11820 (define-public emacs-biblio
11821 (package
11822 (name "emacs-biblio")
11823 (version "0.2")
11824 (source
11825 (origin
11826 (method git-fetch)
11827 (uri (git-reference
11828 (url "https://github.com/cpitclaudel/biblio.el.git")
11829 (commit version)))
11830 (file-name (git-file-name name version))
11831 (sha256
11832 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
11833 (build-system emacs-build-system)
11834 (propagated-inputs
11835 `(("emacs-seq" ,emacs-seq)
11836 ("emacs-dash" ,emacs-dash)
11837 ("emacs-let-alist" ,emacs-let-alist)))
11838 (home-page "https://github.com/cpitclaudel/biblio.el")
11839 (synopsis "Browse and import bibliographic references")
11840 (description "This package provides an extensible Emacs package for
11841 browsing and fetching references.
11842
11843 @file{biblio.el} makes it easy to browse and gather bibliographic references
11844 and publications from various sources, by keywords or by DOI. References are
11845 automatically fetched from well-curated sources, and formatted as BibTeX.")
11846 (license license:gpl3+)))
11847
11848 (define-public emacs-helm-bibtex
11849 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
11850 (revision "1"))
11851 (package
11852 (name "emacs-helm-bibtex")
11853 (version (string-append "2.0.0" "-" revision "."
11854 (string-take commit 7)))
11855 (source
11856 (origin
11857 (method git-fetch)
11858 (uri (git-reference
11859 (url "https://github.com/tmalsburg/helm-bibtex.git")
11860 (commit commit)))
11861 (file-name (git-file-name name version))
11862 (sha256
11863 (base32
11864 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
11865 (build-system emacs-build-system)
11866 (propagated-inputs
11867 `(("emacs-helm" ,emacs-helm)
11868 ("emacs-parsebib" ,emacs-parsebib)
11869 ("emacs-s" ,emacs-s)
11870 ("emacs-dash" ,emacs-dash)
11871 ("emacs-f" ,emacs-f)
11872 ("emacs-biblio" ,emacs-biblio)
11873 ("emacs-ivy" ,emacs-ivy)))
11874 (home-page "https://github.com/tmalsburg/helm-bibtex")
11875 (synopsis "Bibliography manager based on Helm")
11876 (description "This package provides bibliography manager for Emacs,
11877 based on Helm and the bibtex-completion backend.
11878
11879 Key features:
11880
11881 @itemize
11882 @item Quick access to your bibliography from within Emacs
11883 @item Powerful search capabilities
11884 @item Provides instant search results as you type
11885 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
11886 @item Open the PDFs, URLs, or DOIs associated with an entry
11887 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
11888 BibTeX entries, or plain text references at point, attach PDFs to emails
11889 @item Support for note taking
11890 @item Quick access to online bibliographic databases such as Pubmed,
11891 arXiv, Google Scholar, Library of Congress, etc.
11892 @item Imports BibTeX entries from CrossRef and other sources.
11893 @end itemize\n")
11894 (license license:gpl3+))))
11895
11896 (define-public emacs-ewmctrl
11897 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
11898 (package
11899 (name "emacs-ewmctrl")
11900 (version (git-version "0.0.1" "1" commit))
11901 (source
11902 (origin
11903 (method git-fetch)
11904 (uri (git-reference
11905 (url "https://github.com/flexibeast/ewmctrl.git")
11906 (commit commit)))
11907 (file-name (git-file-name name version))
11908 (sha256
11909 (base32
11910 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
11911 (build-system emacs-build-system)
11912 (arguments
11913 '(#:phases
11914 (modify-phases %standard-phases
11915 (add-after 'unpack 'patch-ewmctrl
11916 ;; This build phase makes sure ‘ewmctrl’ looks
11917 ;; for ‘wmctrl’ in the right place.
11918 (lambda _
11919 (let ((file "ewmctrl.el"))
11920 (chmod file #o644)
11921 (emacs-substitute-sexps file
11922 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
11923 (inputs
11924 `(("wmctrl" ,wmctrl)))
11925 (home-page "https://github.com/flexibeast/ewmctrl")
11926 (synopsis "Emacs interface to @code{wmctrl}")
11927 (description "@code{ewmctrl} provides an Emacs interface to
11928 @code{wmctrl} command-line window-management program.")
11929 (license license:gpl3+))))
11930
11931 (define-public emacs-erc-image
11932 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
11933 (revision "1"))
11934 (package
11935 (name "emacs-erc-image")
11936 (version (git-version "0" revision commit))
11937 (source
11938 (origin
11939 (method git-fetch)
11940 (uri (git-reference
11941 (url "https://github.com/kidd/erc-image.el")
11942 (commit commit)))
11943 (file-name (git-file-name name version))
11944 (sha256
11945 (base32
11946 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
11947 (build-system emacs-build-system)
11948 (home-page "https://github.com/kidd/erc-image.el")
11949 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
11950 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
11951 and @code{erc-send-modify-hook} to download and show images.")
11952 (license license:gpl3+))))
11953
11954 (define-public emacs-helm-gtags
11955 (package
11956 (name "emacs-helm-gtags")
11957 (version "1.5.6")
11958 (source
11959 (origin
11960 (method git-fetch)
11961 (uri (git-reference
11962 (url "https://github.com/syohex/emacs-helm-gtags.git")
11963 (commit version)))
11964 (file-name (git-file-name name version))
11965 (sha256
11966 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
11967 (build-system emacs-build-system)
11968 (propagated-inputs
11969 `(("emacs-helm" ,emacs-helm)))
11970 (home-page "https://github.com/syohex/emacs-helm-gtags")
11971 (synopsis "Emacs Helm interface to GNU Global")
11972 (description
11973 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
11974 (license license:gpl3+)))
11975
11976 (define-public emacs-list-utils
11977 (package
11978 (name "emacs-list-utils")
11979 (version "0.4.4")
11980 (source
11981 (origin
11982 (method git-fetch)
11983 (uri (git-reference
11984 (url "https://github.com/rolandwalker/list-utils.git")
11985 (commit (string-append "v" version))))
11986 (file-name (git-file-name name version))
11987 (sha256
11988 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
11989 (build-system emacs-build-system)
11990 (home-page "https://github.com/rolandwalker/list-utils")
11991 (synopsis "List-manipulation utility functions")
11992 (description "This package provides a list manipulation library for Emacs.")
11993 (license license:gpl3+)))
11994
11995 (define-public emacs-move-text
11996 (package
11997 (name "emacs-move-text")
11998 (version "2.0.8")
11999 (source
12000 (origin
12001 (method git-fetch)
12002 (uri (git-reference
12003 (url "https://github.com/emacsfodder/move-text.git")
12004 (commit version)))
12005 (file-name (git-file-name name version))
12006 (sha256
12007 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
12008 (build-system emacs-build-system)
12009 (home-page "https://github.com/emacsfodder/move-text")
12010 (synopsis "Move current line or region with M-up or M-down")
12011 (description "This package provide functions to move the current line
12012 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
12013 region instead.")
12014 (license license:gpl3+)))
12015
12016 (define-public emacs-validate
12017 (package
12018 (name "emacs-validate")
12019 (version "1.0.5")
12020 (source (origin
12021 (method url-fetch)
12022 (uri (string-append "https://github.com/Malabarba/validate.el"
12023 "/archive/" version ".tar.gz"))
12024 (file-name (string-append name "-" version ".tar.gz"))
12025 (sha256
12026 (base32
12027 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
12028 (build-system emacs-build-system)
12029 (home-page "https://github.com/Malabarba/validate.el")
12030 (synopsis "Emacs library for scheme validation")
12031 (description "This Emacs library provides two functions that perform
12032 schema validation.")
12033 (license license:gpl3+)))
12034
12035 (define-public emacs-rainbow-blocks
12036 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
12037 (package
12038 (name "emacs-rainbow-blocks")
12039 (version (git-version "1.0.0" "1" commit))
12040 (source (origin
12041 (method git-fetch)
12042 (uri (git-reference
12043 (url "https://github.com/istib/rainbow-blocks.git")
12044 (commit commit)))
12045 (file-name (git-file-name name version))
12046 (sha256
12047 (base32
12048 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
12049 (build-system emacs-build-system)
12050 (home-page "https://github.com/istib/rainbow-blocks")
12051 (synopsis "Highlight sexp blocks")
12052 (description "Rainbow-blocks is an Emacs mode that highlights blocks
12053 made of parentheses, brackets, and braces according to their depth. Each
12054 successive level is highlighted in a different color. This makes it easy to
12055 orient yourself in the code, and tell which statements are at a given level.")
12056 (license license:gpl3+))))
12057
12058 (define-public emacs-hierarchy
12059 (package
12060 (name "emacs-hierarchy")
12061 (version "0.7.0")
12062 (source
12063 (origin
12064 (method git-fetch)
12065 (uri (git-reference
12066 (url "https://github.com/DamienCassou/hierarchy.git")
12067 (commit (string-append "v" version))))
12068 (file-name (git-file-name name version))
12069 (sha256
12070 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
12071 (build-system emacs-build-system)
12072 (home-page "https://github.com/DamienCassou/hierarchy")
12073 (synopsis "Library to create and display hierarchy structures")
12074 (description "This package provides an Emacs library to create, query,
12075 navigate and display hierarchy structures.")
12076 (license license:gpl3+)))
12077
12078 (define-public emacs-tree-mode
12079 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
12080 (revision "1"))
12081 (package
12082 (name "emacs-tree-mode")
12083 (version (string-append "0.0.1" "-" revision "."
12084 (string-take commit 7)))
12085 (source
12086 (origin
12087 (method git-fetch)
12088 (uri (git-reference
12089 (url "https://github.com/emacsorphanage/tree-mode.git")
12090 (commit commit)))
12091 (file-name (git-file-name name version))
12092 (sha256
12093 (base32
12094 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
12095 (build-system emacs-build-system)
12096 (home-page "https://github.com/emacsorphanage/tree-mode")
12097 (synopsis "Emacs mode to manage tree widgets")
12098 (description
12099 "This package provides an Emacs library to manage tree widgets.")
12100 (license license:gpl3+))))
12101
12102 (define-public emacs-md4rd
12103 (package
12104 (name "emacs-md4rd")
12105 (version "0.3.1")
12106 (source (origin
12107 (method git-fetch)
12108 (uri (git-reference
12109 (url "https://github.com/ahungry/md4rd.git")
12110 (commit version)))
12111 (file-name (git-file-name name version))
12112 (sha256
12113 (base32
12114 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
12115 (propagated-inputs
12116 `(("emacs-hierarchy" ,emacs-hierarchy)
12117 ("emacs-request" ,emacs-request)
12118 ("emacs-dash" ,emacs-dash)
12119 ("emacs-s" ,emacs-s)
12120 ("emacs-tree-mode" ,emacs-tree-mode)))
12121 (build-system emacs-build-system)
12122 (home-page "https://github.com/ahungry/md4rd")
12123 (synopsis "Emacs Mode for Reddit")
12124 (description
12125 "This package allows to read Reddit from within Emacs interactively.")
12126 (license license:gpl3+)))
12127
12128 (define-public emacs-pulseaudio-control
12129 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
12130 (revision "3"))
12131 (package
12132 (name "emacs-pulseaudio-control")
12133 (version (git-version "0.0.1" revision commit))
12134 (source
12135 (origin
12136 (method git-fetch)
12137 (uri (git-reference
12138 (url "https://github.com/flexibeast/pulseaudio-control.git")
12139 (commit commit)))
12140 (file-name (git-file-name name version))
12141 (sha256
12142 (base32
12143 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
12144 (build-system emacs-build-system)
12145 (arguments
12146 '(#:phases (modify-phases %standard-phases
12147 (add-after 'unpack 'patch-file-name
12148 (lambda* (#:key inputs #:allow-other-keys)
12149 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
12150 (chmod "pulseaudio-control.el" #o600)
12151 (emacs-substitute-variables "pulseaudio-control.el"
12152 ("pulseaudio-control-pactl-path"
12153 (string-append pulseaudio "/bin/pactl")))
12154 #t))))))
12155 (inputs `(("pulseaudio" ,pulseaudio)))
12156 (home-page "https://github.com/flexibeast/pulseaudio-control")
12157 (synopsis "Control @code{pulseaudio} from Emacs")
12158 (description
12159 "This package allows to control @code{pulseaudio} from Emacs.")
12160 (license license:gpl3+))))
12161
12162 (define-public emacs-datetime
12163 (package
12164 (name "emacs-datetime")
12165 (version "0.3")
12166 (source
12167 (origin
12168 (method git-fetch)
12169 (uri (git-reference
12170 (url "https://github.com/doublep/datetime.git")
12171 (commit version)))
12172 (file-name (git-file-name name version))
12173 (sha256
12174 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
12175 (build-system emacs-build-system)
12176 (home-page "https://github.com/doublep/datetime/")
12177 (synopsis "Library to work with dates in Emacs")
12178 (description "Parsing, formatting, matching and recoding
12179 timestamps and date-time format strings library for Emacs.")
12180 (license license:gpl3+)))
12181
12182 (define-public emacs-org-mind-map
12183 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
12184 (revision "1"))
12185 (package
12186 (name "emacs-org-mind-map")
12187 (version (string-append "0.0.1" "-" revision "."
12188 (string-take commit 7)))
12189 (source
12190 (origin
12191 (method git-fetch)
12192 (uri (git-reference
12193 (url "https://github.com/theodorewiles/org-mind-map.git")
12194 (commit commit)))
12195 (file-name (git-file-name name version))
12196 (sha256
12197 (base32
12198 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
12199 (propagated-inputs
12200 `(("emacs-dash" ,emacs-dash)))
12201 (build-system emacs-build-system)
12202 (home-page "https://github.com/theodorewiles/org-mind-map")
12203 (synopsis "Create Graphviz directed graphs from Org files")
12204 (description
12205 "This package creates Graphviz directed graphs from Org files.")
12206 (license license:gpl3+))))
12207
12208 (define-public emacs-npm-mode
12209 (package
12210 (name "emacs-npm-mode")
12211 (version "0.6.0")
12212 (source
12213 (origin
12214 (method git-fetch)
12215 (uri (git-reference
12216 (url "https://github.com/mojochao/npm-mode.git")
12217 (commit version)))
12218 (file-name (git-file-name name version))
12219 (sha256
12220 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
12221 (build-system emacs-build-system)
12222 (home-page "https://github.com/mojochao/npm-mode")
12223 (synopsis "Minor mode for working with @code{npm} projects")
12224 (description
12225 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
12226 (license license:gpl3+)))
12227
12228 (define-public emacs-seq
12229 (package
12230 (name "emacs-seq")
12231 (version "2.20")
12232 (source
12233 (origin
12234 (method url-fetch)
12235 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
12236 (sha256
12237 (base32
12238 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
12239 (build-system emacs-build-system)
12240 (home-page "http://elpa.gnu.org/packages/seq.html")
12241 (synopsis "Sequence manipulation functions")
12242 (description "Sequence-manipulation functions that complement basic
12243 functions provided by @file{subr.el}.")
12244 (license license:gpl3+)))
12245
12246 (define-public emacs-itail
12247 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
12248 (revision "1"))
12249 (package
12250 (name "emacs-itail")
12251 (version (string-append "0.0.1" "-" revision "."
12252 (string-take commit 7)))
12253 (source
12254 (origin
12255 (method git-fetch)
12256 (uri (git-reference
12257 (url "https://github.com/re5et/itail.git")
12258 (commit commit)))
12259 (file-name (git-file-name name version))
12260 (sha256
12261 (base32
12262 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
12263 (build-system emacs-build-system)
12264 (home-page "https://github.com/re5et/itail")
12265 (synopsis "Interactive @code{tail} Emacs mode")
12266 (description "@code{itail} provides interactive @code{tail} mode
12267 that allows you to filter the tail with unix pipes and highlight the
12268 contents of the tailed file. Works locally or on remote files using
12269 tramp.")
12270 (license license:gpl3+))))
12271
12272 (define-public emacs-loop
12273 (package
12274 (name "emacs-loop")
12275 (version "1.3")
12276 (source
12277 (origin
12278 (method git-fetch)
12279 (uri (git-reference
12280 (url "https://github.com/Wilfred/loop.el.git")
12281 (commit version)))
12282 (file-name (git-file-name name version))
12283 (sha256
12284 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
12285 (build-system emacs-build-system)
12286 (native-inputs
12287 `(("emacs-ert-runner" ,emacs-ert-runner)
12288 ("emacs-undercover" ,emacs-undercover)))
12289 (arguments
12290 `(#:tests? #t
12291 #:test-command '("ert-runner")))
12292 (home-page "https://github.com/Wilfred/loop.el")
12293 (synopsis "Imperative loop structures for Emacs")
12294 (description "Loop structures familiar to users of other languages. This
12295 library adds a selection of popular loop structures as well as break and
12296 continue.")
12297 (license license:gpl3+)))
12298
12299 (define-public emacs-elisp-refs
12300 (package
12301 (name "emacs-elisp-refs")
12302 (version "1.3")
12303 (source
12304 (origin
12305 (method git-fetch)
12306 (uri (git-reference
12307 (url "https://github.com/Wilfred/elisp-refs.git")
12308 (commit version)))
12309 (file-name (git-file-name name version))
12310 (sha256
12311 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
12312 (build-system emacs-build-system)
12313 (propagated-inputs
12314 `(("emacs-dash" ,emacs-dash)
12315 ("emacs-f" ,emacs-f)
12316 ("emacs-list-utils" ,emacs-list-utils)
12317 ("emacs-loop" ,emacs-loop)
12318 ("emacs-s" ,emacs-s)
12319 ("emacs-shut-up" ,emacs-shut-up)))
12320 (native-inputs
12321 `(("emacs-ert-runner" ,emacs-ert-runner)
12322 ("emacs-undercover" ,emacs-undercover)))
12323 (arguments
12324 `(#:tests? #t
12325 #:test-command '("ert-runner")))
12326 (home-page "https://github.com/Wilfred/elisp-refs")
12327 (synopsis "Find callers of elisp functions or macros")
12328 (description "Find references to functions, macros or variables. Unlike a
12329 dumb text search, @code{elisp-refs} actually parses the code, so it's never
12330 confused by comments or @code{foo-bar} matching @code{foo}.")
12331 (license license:gpl3+)))
12332
12333 (define-public emacs-crux
12334 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
12335 (revision "2"))
12336 (package
12337 (name "emacs-crux")
12338 (version (git-version "0.3.0" revision commit))
12339 (source
12340 (origin
12341 (method git-fetch)
12342 (uri (git-reference
12343 (url "https://github.com/bbatsov/crux.git")
12344 (commit commit)))
12345 (file-name (git-file-name name version))
12346 (sha256
12347 (base32
12348 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
12349 (build-system emacs-build-system)
12350 (home-page "https://github.com/bbatsov/crux")
12351 (synopsis "Collection of useful functions for Emacs")
12352 (description
12353 "@code{crux} provides a collection of useful functions for Emacs.")
12354 (license license:gpl3+))))
12355
12356 (define-public emacs-edit-server
12357 (package
12358 (name "emacs-edit-server")
12359 (version "1.13")
12360 (source
12361 (origin
12362 (method git-fetch)
12363 (uri (git-reference
12364 (url "https://github.com/stsquad/emacs_chrome.git")
12365 (commit (string-append "v" version))))
12366 (file-name (git-file-name name version))
12367 (sha256
12368 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
12369 (build-system emacs-build-system)
12370 (arguments
12371 `(#:phases
12372 (modify-phases %standard-phases
12373 (add-after 'unpack 'chdir-elisp
12374 ;; Elisp directory is not in root of the source.
12375 (lambda _
12376 (chdir "servers"))))))
12377 (home-page "https://github.com/stsquad/emacs_chrome")
12378 (synopsis "Server that responds to edit requests from Chromium")
12379 (description
12380 "This package provides an edit server to respond to requests from Emacs.")
12381 (license license:gpl3+)))
12382
12383 (define-public emacs-m-buffer-el
12384 (package
12385 (name "emacs-m-buffer-el")
12386 (version "0.15")
12387 (source
12388 (origin
12389 (method url-fetch)
12390 (uri (string-append "https://github.com/phillord/m-buffer-el"
12391 "/archive/" "v" version ".tar.gz"))
12392 (file-name (string-append name "-" version ".tar.gz"))
12393 (sha256
12394 (base32
12395 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
12396 (arguments
12397 `(#:phases
12398 (modify-phases %standard-phases
12399 (add-before 'install 'check
12400 (lambda* (#:key inputs #:allow-other-keys)
12401 (invoke "emacs" "--batch" "-L" "."
12402 "-l" "test/m-buffer-test.el"
12403 "-l" "test/m-buffer-at-test.el"
12404 "-f" "ert-run-tests-batch-and-exit"))))))
12405 (build-system emacs-build-system)
12406 (home-page "https://github.com/phillord/m-buffer-el")
12407 (synopsis "List oriented buffer operations for Emacs")
12408 (description "@code{m-buffer} provides a set of list-orientated functions
12409 for operating over the contents of Emacs buffers.")
12410 (license license:gpl3+)))
12411
12412 (define-public emacs-let-alist
12413 (package
12414 (name "emacs-let-alist")
12415 (version "1.0.5")
12416 (source
12417 (origin
12418 (method url-fetch)
12419 (uri (string-append
12420 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
12421 (sha256
12422 (base32
12423 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
12424 (build-system emacs-build-system)
12425 (home-page "https://elpa.gnu.org/packages/let-alist.html")
12426 (synopsis "Easily let-bind values of an assoc-list by their names")
12427 (description "This package offers a single macro, @code{let-alist}. This
12428 macro takes a first argument (whose value must be an alist) and a body.")
12429 (license license:gpl3+)))
12430
12431 (define-public emacs-esup
12432 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
12433 (revision "1"))
12434 (package
12435 (name "emacs-esup")
12436 (version (string-append "0.6" "-" revision "."
12437 (string-take commit 7)))
12438 (source
12439 (origin
12440 (method git-fetch)
12441 (uri (git-reference
12442 (url "https://github.com/jschaf/esup.git")
12443 (commit commit)))
12444 (file-name (git-file-name name version))
12445 (sha256
12446 (base32
12447 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
12448 ;; TODO: Add tests
12449 (build-system emacs-build-system)
12450 (home-page "https://github.com/jschaf/esup")
12451 (synopsis "Emacs start up profiler")
12452 (description "Benchmark Emacs Startup time without ever leaving
12453 your Emacs.")
12454 (license license:gpl2+))))
12455
12456 (define-public emacs-restart-emacs
12457 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
12458 (revision "1"))
12459 (package
12460 (name "emacs-restart-emacs")
12461 (version (git-version "0.1.1" revision commit))
12462 (source
12463 (origin
12464 (method git-fetch)
12465 (uri (git-reference
12466 (url "https://github.com/iqbalansari/restart-emacs.git")
12467 (commit commit)))
12468 (file-name (git-file-name name version))
12469 (sha256
12470 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
12471 (build-system emacs-build-system)
12472 (home-page "https://github.com/iqbalansari/restart-emacs")
12473 (synopsis "Restart Emacs from within Emacs")
12474 (description "This package provides a simple command to restart Emacs from
12475 within Emacs.")
12476 (license license:gpl3+))))
12477
12478 (define-public emacs-sourcemap
12479 (package
12480 (name "emacs-sourcemap")
12481 (version "0.03")
12482 (source
12483 (origin
12484 (method git-fetch)
12485 (uri (git-reference
12486 (url "https://github.com/syohex/emacs-sourcemap.git")
12487 (commit version)))
12488 (file-name (git-file-name name version))
12489 (sha256
12490 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
12491 (build-system emacs-build-system)
12492 (home-page "https://github.com/syohex/emacs-sourcemap")
12493 (synopsis "Sourcemap parser")
12494 (description "Sourcemap parser")
12495 (license license:gpl3+)))
12496
12497 (define-public emacs-macrostep
12498 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
12499 (package
12500 (name "emacs-macrostep")
12501 (version (git-version "0.9" "1" commit))
12502 (source (origin
12503 (method git-fetch)
12504 (uri (git-reference
12505 (url "https://github.com/joddie/macrostep.git")
12506 (commit commit)))
12507 (file-name (git-file-name name version))
12508 (sha256
12509 (base32
12510 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
12511 (build-system emacs-build-system)
12512 (arguments
12513 '(#:phases
12514 (modify-phases %standard-phases
12515 (add-before 'check 'remove-test
12516 ;; Fails because of requirement ‘/bin/sh’.
12517 (lambda _
12518 (let ((file "macrostep-test.el"))
12519 (chmod file #o644)
12520 (emacs-batch-edit-file file
12521 `(progn (progn (goto-char (point-min))
12522 (re-search-forward
12523 "(ert-deftest macrostep-expand-c-macros")
12524 (beginning-of-line)
12525 (kill-sexp))
12526 (basic-save-buffer))))))
12527 (add-before 'install 'check
12528 (lambda _
12529 (invoke "emacs" "--batch" "-L" "."
12530 "-l" "macrostep-test.el"
12531 "-f" "ert-run-tests-batch-and-exit"))))))
12532 (home-page "https://github.com/joddie/macrostep")
12533 (synopsis "Interactive macro-expander for Emacs")
12534 (description "@code{macrostep} is an Emacs minor mode for interactively
12535 stepping through the expansion of macros in Emacs Lisp source code. It lets
12536 you see exactly what happens at each step of the expansion process by
12537 pretty-printing the expanded forms inline in the source buffer, which is
12538 temporarily read-only while macro expansions are visible. You can expand and
12539 collapse macro forms one step at a time, and evaluate or instrument the
12540 expansions for debugging with Edebug as normal (but see “Bugs and known
12541 limitations”, below). Single-stepping through the expansion is particularly
12542 useful for debugging macros that expand into another macro form. These can be
12543 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
12544 until the top-level form is no longer a macro call.")
12545 (license license:gpl3+))))
12546
12547 (define-public emacs-parent-mode
12548 (package
12549 (name "emacs-parent-mode")
12550 (version "2.3")
12551 (source
12552 (origin
12553 (method git-fetch)
12554 (uri (git-reference
12555 (url "https://github.com/Fanael/parent-mode.git")
12556 (commit version)))
12557 (file-name (git-file-name name version))
12558 (sha256
12559 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
12560 (build-system emacs-build-system)
12561 (home-page "https://github.com/Fanael/parent-mode")
12562 (synopsis "Get major mode's parent modes")
12563 (description "Get major mode's parent modes")
12564 (license license:gpl3+)))
12565
12566 (define-public emacs-lacarte
12567 (package
12568 (name "emacs-lacarte")
12569 (version "0.1")
12570 (source (origin
12571 (method url-fetch)
12572 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
12573 (sha256
12574 (base32
12575 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
12576 (build-system emacs-build-system)
12577 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
12578 (synopsis "Execute menu items as commands, with completion")
12579 (description "Execute menu items as commands, with completion.")
12580 (license license:gpl3)))
12581
12582 (define-public emacs-isearch-prop
12583 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
12584 (revision "2"))
12585 (package
12586 (name "emacs-isearch-prop")
12587 (version (git-version "0" revision commit))
12588 (source
12589 (origin
12590 (method git-fetch)
12591 (uri (git-reference
12592 (url "https://github.com/emacsmirror/isearch-prop.git")
12593 (commit commit)))
12594 (file-name (git-file-name name version))
12595 (sha256
12596 (base32
12597 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
12598 (build-system emacs-build-system)
12599 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
12600 (synopsis "Extensions to @code{isearch.el}")
12601 (description "The Emacs library @code{isearch-prop.el} lets you search within
12602 contexts. You can limit incremental search to a set of zones of
12603 buffer text, search contexts that in effect constitute a multi-region.
12604 These zones can be defined in various ways, including some ways
12605 provided specially by this library.")
12606 (license license:gpl3+))))
12607
12608 (define-public emacs-company-lua
12609 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
12610 (revision "2"))
12611 (package
12612 (name "emacs-company-lua")
12613 (version (git-version "0.1" "2" commit))
12614 (source
12615 (origin
12616 (method git-fetch)
12617 (uri (git-reference
12618 (url "https://github.com/ptrv/company-lua.git")
12619 (commit commit)))
12620 (file-name (git-file-name name version))
12621 (sha256
12622 (base32
12623 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
12624 (build-system emacs-build-system)
12625 (propagated-inputs
12626 `(("emacs-company" ,emacs-company)
12627 ("emacs-s" ,emacs-s)
12628 ("emacs-f" ,emacs-f)
12629 ("emacs-lua-mode" ,emacs-lua-mode)))
12630 (arguments
12631 `(#:include (cons* "^lua\\/" %default-include)))
12632 (home-page "https://github.com/ptrv/company-lua")
12633 (synopsis "Company backend for Lua")
12634 (description
12635 "This package provides Company backend for Lua programming language.")
12636 (license license:gpl3+))))
12637
12638 (define-public emacs-beginend
12639 (package
12640 (name "emacs-beginend")
12641 (version "2.0.0")
12642 (source
12643 (origin
12644 (method git-fetch)
12645 (uri (git-reference
12646 (url "https://github.com/DamienCassou/beginend.git")
12647 (commit (string-append "v" version))))
12648 (file-name (git-file-name name version))
12649 (sha256
12650 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
12651 ;; TODO: Run tests.
12652 (build-system emacs-build-system)
12653 (inputs
12654 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
12655 (home-page "https://github.com/DamienCassou/beginend")
12656 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
12657 (description "@code{beginend} redefines @code{M-<} and @code{M->}
12658 keybindings for Emacs modes so that point moves to meaningful
12659 locations. Redefined keys are still accessible by pressing the same
12660 key again.")
12661 (license license:gpl3+)))
12662
12663 (define-public emacs-mbsync
12664 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
12665 (revision "4"))
12666 (package
12667 (name "emacs-mbsync")
12668 (version (git-version "0.1.2" revision commit))
12669 (source
12670 (origin
12671 (method git-fetch)
12672 (uri (git-reference
12673 (url "https://github.com/dimitri/mbsync-el.git")
12674 (commit commit)))
12675 (file-name (git-file-name name version))
12676 (sha256
12677 (base32
12678 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
12679 (build-system emacs-build-system)
12680 (home-page "https://github.com/dimitri/mbsync-el")
12681 (synopsis "Interface to mbsync for Emacs")
12682 (description "This package allows to call the @code{mbsync} from
12683 within Emacs.")
12684 (license license:gpl3+))))
12685
12686 (define-public emacs-ibuffer-projectile
12687 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
12688 (revision "1"))
12689 (package
12690 (name "emacs-ibuffer-projectile")
12691 (version (string-append "0.2" "-" revision "."
12692 (string-take commit 7)))
12693 (source
12694 (origin
12695 (method git-fetch)
12696 (uri (git-reference
12697 (url "https://github.com/purcell/ibuffer-projectile.git")
12698 (commit commit)))
12699 (file-name (git-file-name name version))
12700 (sha256
12701 (base32
12702 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
12703 (build-system emacs-build-system)
12704 (propagated-inputs
12705 `(("emacs-projectile" ,emacs-projectile)))
12706 (home-page "https://github.com/purcell/ibuffer-projectile")
12707 (synopsis "Group ibuffer's list by projectile root")
12708 (description "Adds functionality to Emacs @code{ibuffer} for
12709 grouping buffers by their projectile root directory.")
12710 (license license:gpl3+))))
12711
12712 (define-public emacs-helm-mode-manager
12713 (package
12714 (name "emacs-helm-mode-manager")
12715 (version "1.0.0")
12716 (source
12717 (origin
12718 (method url-fetch)
12719 (uri (string-append "https://github.com/istib/helm-mode-manager/"
12720 "archive/" version ".tar.gz"))
12721 (file-name (string-append name "-" version ".tar.gz"))
12722 (sha256
12723 (base32
12724 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
12725 (build-system emacs-build-system)
12726 (propagated-inputs
12727 `(("emacs-helm" ,emacs-helm)))
12728 (home-page "https://github.com/istib/helm-mode-manager/")
12729 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
12730 (description "This package provides a Helm interface for toggling Emacs
12731 major or minor mode.
12732
12733 @itemize
12734 @item @code{helm-switch-major-mode} list of all major modes
12735 @item @code{helm-enable-minor-mode} list of all inactive minor modes
12736 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
12737 @end itemize\n
12738
12739 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
12740 documentation.")
12741 (license license:gpl3+)))
12742
12743 (define-public emacs-hy-mode
12744 (package
12745 (name "emacs-hy-mode")
12746 (version "1.0.3")
12747 (source
12748 (origin
12749 (method git-fetch)
12750 (uri (git-reference
12751 (url "https://github.com/hylang/hy-mode.git")
12752 (commit (string-append "v" version))))
12753 (file-name (git-file-name name version))
12754 (sha256
12755 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
12756 (build-system emacs-build-system)
12757 (propagated-inputs
12758 `(("emacs-dash" ,emacs-dash)
12759 ("emacs-s" ,emacs-s)))
12760 (home-page "https://github.com/hylang/hy-mode")
12761 (synopsis "Major mode for Hylang")
12762 (description "This package provides a major mode for Hylang.")
12763 (license license:gpl3+)))
12764
12765 (define-public emacs-web-beautify
12766 (package
12767 (name "emacs-web-beautify")
12768 (version "0.3.2")
12769 (source
12770 (origin
12771 (method git-fetch)
12772 (uri (git-reference
12773 (url "https://github.com/yasuyk/web-beautify.git")
12774 (commit version)))
12775 (file-name (git-file-name name version))
12776 (sha256
12777 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
12778 (build-system emacs-build-system)
12779 (home-page "https://github.com/yasuyk/web-beautify")
12780 (synopsis "Format HTML, CSS and JavaScript, JSON")
12781 (description "This package provides an Emacs functions to format HTML,
12782 CSS, JavaScript, JSON.")
12783 (license license:gpl3+)))
12784
12785 (define-public emacs-helm-shell-history
12786 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
12787 (package
12788 (name "emacs-helm-shell-history")
12789 (version (git-version "0.1" "1" commit))
12790 (source
12791 (origin
12792 (method git-fetch)
12793 (uri (git-reference
12794 (url "https://github.com/yuutayamada/helm-shell-history.git")
12795 (commit commit)))
12796 (file-name (git-file-name name version))
12797 (sha256
12798 (base32
12799 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
12800 (build-system emacs-build-system)
12801 (arguments
12802 '(#:phases
12803 (modify-phases %standard-phases
12804 (add-before 'check 'patch-helm-shell-history-file
12805 (lambda _
12806 (let ((file "helm-shell-history.el"))
12807 (chmod file #o644)
12808 (emacs-substitute-sexps file
12809 ("(defvar helm-shell-history-file"
12810 `(expand-file-name "~/.bash_history"))))
12811 #t)))))
12812 (propagated-inputs
12813 `(("emacs-helm" ,emacs-helm)))
12814 (home-page "https://github.com/yuutayamada/helm-shell-history")
12815 (synopsis "Find shell history with Emacs Helm")
12816 (description "This package provides an Emacs Helm interface to search
12817 throw a shell history.")
12818 (license license:gpl3+))))
12819
12820 (define-public emacs-discover-my-major
12821 (package
12822 (name "emacs-discover-my-major")
12823 (version "1.0")
12824 (source
12825 (origin
12826 (method url-fetch)
12827 (uri
12828 (string-append "https://github.com/steckerhalter/discover-my-major"
12829 "/archive/" version ".tar.gz"))
12830 (file-name (string-append name "-" version ".tar.gz"))
12831 (sha256
12832 (base32
12833 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
12834 (build-system emacs-build-system)
12835 (propagated-inputs
12836 `(("emacs-makey" ,emacs-makey)))
12837 (home-page "https://github.com/steckerhalter/discover-my-major")
12838 (synopsis "Discover key bindings for the current Emacs major mode")
12839 (description "This package provides allows to discover key bindings and
12840 their meaning for the current Emacs major-mode.")
12841 (license license:gpl3+)))
12842
12843 (define-public emacs-org-ref
12844 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
12845 (revision "1"))
12846 (package
12847 (name "emacs-org-ref")
12848 (version (string-append "1.1.1" "-" revision "."
12849 (string-take commit 7)))
12850 (source
12851 (origin
12852 (method git-fetch)
12853 (uri (git-reference
12854 (url "https://github.com/jkitchin/org-ref.git")
12855 (commit commit)))
12856 (file-name (git-file-name name version))
12857 (sha256
12858 (base32
12859 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
12860 (build-system emacs-build-system)
12861 (propagated-inputs
12862 `(("emacs-dash" ,emacs-dash)
12863 ("emacs-helm" ,emacs-helm)
12864 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
12865 ("emacs-ivy" ,emacs-ivy)
12866 ("emacs-hydra" ,emacs-hydra)
12867 ("emacs-key-chord" ,emacs-key-chord)
12868 ("emacs-s" ,emacs-s)
12869 ("emacs-f" ,emacs-f)
12870 ("emacs-pdf-tools" ,emacs-pdf-tools)))
12871 (home-page "https://github.com/jkitchin/org-ref")
12872 (synopsis "Citations, cross-references and bibliographies in org-mode")
12873 (description
12874 "Lisp code to setup bibliography, cite, ref and label org-mode links.
12875 Also sets up reftex and helm for org-mode citations. The links are
12876 clickable and do things that are useful.
12877
12878 The default setup uses helm-bibtex.
12879
12880 You should really read org-ref.org in this package for details.")
12881 (license license:gpl3+))))
12882
12883 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
12884 (define-public emacs-org-reveal
12885 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
12886 (package
12887 (name "emacs-org-reveal")
12888 (version (git-version "0.1" "3" commit))
12889 (source (origin
12890 (method git-fetch)
12891 (uri (git-reference
12892 (url "https://github.com/yjwen/org-reveal.git")
12893 (commit commit)))
12894 (file-name (git-file-name name version))
12895 (sha256
12896 (base32
12897 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
12898 (build-system emacs-build-system)
12899 (home-page "https://github.com/yjwen/org-reveal")
12900 (synopsis "Org and Reveal.js powered HTML presentation tool")
12901 (description "Org-Reveal is a command@{org-mode} extension that allows
12902 to create beautiful presentations (slides) with 3D effects from simple but
12903 powerful Org contents.")
12904 (license license:gpl3+))))
12905
12906 (define-public emacs-org-re-reveal
12907 (package
12908 (name "emacs-org-re-reveal")
12909 (version "2.5.1")
12910 (source (origin
12911 (method git-fetch)
12912 (uri (git-reference
12913 (url "https://gitlab.com/oer/org-re-reveal.git")
12914 (commit version)))
12915 (file-name (git-file-name name version))
12916 (sha256
12917 (base32
12918 "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2"))))
12919 (build-system emacs-build-system)
12920 (propagated-inputs
12921 `(("emacs-htmlize" ,emacs-htmlize)
12922 ("emacs-org" ,emacs-org)))
12923 (home-page "https://gitlab.com/oer/org-re-reveal")
12924 (synopsis "Build HTML presentations with reveal.js from Org source files")
12925 (description "This project started as fork of org-reveal. It provides an
12926 export back-end for HTML presentations with reveal.js from Org mode source
12927 files.")
12928 (license license:gpl3+)))
12929
12930 (define-public emacs-add-hooks
12931 (package
12932 (name "emacs-add-hooks")
12933 (version "3.1.1")
12934 (source
12935 (origin
12936 (method git-fetch)
12937 (uri (git-reference
12938 (url "https://github.com/nickmccurdy/add-hooks.git")
12939 (commit version)))
12940 (file-name (git-file-name name version))
12941 (sha256
12942 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
12943 (build-system emacs-build-system)
12944 (home-page "https://github.com/nickmccurdy/add-hooks/")
12945 (synopsis "Emacs function for setting multiple hooks")
12946 (description "This package provides a @code{add-hooks} function tidies up
12947 duplicate hook and function names further into a single declarative call.")
12948 (license license:gpl3+)))
12949
12950 (define-public emacs-fancy-narrow
12951 (package
12952 (name "emacs-fancy-narrow")
12953 (version "0.9.5")
12954 (source
12955 (origin
12956 (method git-fetch)
12957 (uri (git-reference
12958 (url "https://github.com/Malabarba/fancy-narrow.git")
12959 (commit version)))
12960 (file-name (git-file-name name version))
12961 (sha256
12962 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
12963 (build-system emacs-build-system)
12964 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
12965 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
12966 (description
12967 "Unlike @code{narrow-to-region}, which completely hides text outside
12968 the narrowed region, this package simply de-emphasizes the text, makes it
12969 read-only, and makes it unreachable. This leads to a much more natural
12970 feeling where the region stays static (instead of being brutally moved to a
12971 blank slate) and is clearly highlighted with respect to the rest of the
12972 buffer.")
12973 (license license:gpl2+)))
12974
12975 (define-public emacs-know-your-http-well
12976 (package
12977 (name "emacs-know-your-http-well")
12978 (version "0.5.0")
12979 (source
12980 (origin
12981 (method git-fetch)
12982 (uri (git-reference
12983 (url "https://github.com/for-GET/know-your-http-well.git")
12984 (commit (string-append "v" version))))
12985 (file-name (git-file-name name version))
12986 (sha256
12987 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
12988 (arguments
12989 `(#:phases
12990 (modify-phases %standard-phases
12991 (add-after 'unpack 'install-json-files
12992 (lambda* (#:key outputs #:allow-other-keys)
12993 (for-each (lambda (directory)
12994 (copy-recursively directory
12995 (string-append
12996 (assoc-ref outputs "out")
12997 directory)))
12998 '("js" "json"))))
12999 (add-after 'unpack 'chdir-elisp
13000 ;; Elisp directory is not in root of the source.
13001 (lambda _
13002 (chdir "emacs"))))))
13003 (build-system emacs-build-system)
13004 (home-page "https://github.com/for-GET/know-your-http-well")
13005 (synopsis "Meaning of HTTP headers codes")
13006 (description "Meaning of HTTP headers codes.")
13007 (license license:gpl3+)))
13008
13009 (define-public emacs-navi-mode
13010 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
13011 (package
13012 (name "emacs-navi-mode")
13013 (version (git-version "2.0" "1" commit))
13014 (source
13015 (origin
13016 (method git-fetch)
13017 (uri (git-reference
13018 (url "https://github.com/alphapapa/navi.git")
13019 (commit commit)))
13020 (file-name (git-file-name name version))
13021 (sha256
13022 (base32
13023 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
13024 (build-system emacs-build-system)
13025 (propagated-inputs
13026 `(("emacs-outshine" ,emacs-outshine)
13027 ("emacs-outorg" ,emacs-outorg)))
13028 (home-page "https://github.com/alphapapa/navi")
13029 (synopsis "Emacs major-mode for easy buffer-navigation")
13030 (description
13031 "This package provides an Emacs major-mode for easy buffer-navigation")
13032 (license license:gpl3+))))
13033
13034 (define-public emacs-download-region
13035 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
13036 (revision "1"))
13037 (package
13038 (name "emacs-download-region")
13039 (version (string-append "0.0.1" "-" revision "."
13040 (string-take commit 7)))
13041 (source
13042 (origin
13043 (method git-fetch)
13044 (uri (git-reference
13045 (url "https://github.com/zk-phi/download-region.git")
13046 (commit commit)))
13047 (file-name (git-file-name name version))
13048 (sha256
13049 (base32
13050 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
13051 (build-system emacs-build-system)
13052 (home-page "https://github.com/zk-phi/download-region")
13053 (synopsis "In buffer download manager for Emacs")
13054 (description "@code{download-region} provides in buffer
13055 downloading manager for Emacs.")
13056 (license license:gpl3+))))
13057
13058 (define-public emacs-helpful
13059 (package
13060 (name "emacs-helpful")
13061 (version "0.17")
13062 (source
13063 (origin
13064 (method git-fetch)
13065 (uri (git-reference
13066 (url "https://github.com/Wilfred/helpful.git")
13067 (commit version)))
13068 (file-name (git-file-name name version))
13069 (sha256
13070 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
13071 (build-system emacs-build-system)
13072 (propagated-inputs
13073 `(("emacs-elisp-refs" ,emacs-elisp-refs)
13074 ("emacs-dash" ,emacs-dash)
13075 ("emacs-s" ,emacs-s)
13076 ("emacs-f" ,emacs-f)
13077 ("emacs-shut-up" ,emacs-shut-up)))
13078 (native-inputs
13079 `(("emacs-ert-runner" ,emacs-ert-runner)
13080 ("emacs-undercover" ,emacs-undercover)))
13081 (arguments
13082 `(#:tests? #t
13083 #:test-command '("ert-runner")))
13084 (home-page "https://github.com/Wilfred/helpful")
13085 (synopsis "More contextual information in Emacs help")
13086 (description "@code{helpful} is an alternative to the built-in Emacs help
13087 that provides much more contextual information.
13088
13089 @itemize
13090 @item Show the source code for interactively defined functions (unlike the
13091 built-in Help).
13092 @item Fall back to the raw sexp if no source is available.
13093 @item Show where a function is being called.
13094 @item Docstrings will Highlight the summary (the first sentence), include
13095 cross-references, hide superfluous puncuation.
13096 @item Show you the properties that have been applied to the current
13097 symbol. This provides visibility of features like edebug or byte-code
13098 optimisation.
13099 @item Provide a separate @code{helpful-command} function to view interactive
13100 functions.
13101 @item Display any keybindings that apply to interactive functions.
13102 @item Trace, disassemble functions from inside Helpful. This is discoverable
13103 and doesn't require memorisation of commands.
13104 @end itemize\n")
13105 (license license:gpl3+)))
13106
13107 (define-public emacs-logview
13108 (package
13109 (name "emacs-logview")
13110 (version "0.9")
13111 (source
13112 (origin
13113 (method git-fetch)
13114 (uri (git-reference
13115 (url "https://github.com/doublep/logview.git")
13116 (commit version)))
13117 (file-name (git-file-name name version))
13118 (sha256
13119 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
13120 (propagated-inputs
13121 `(("emacs-datetime" ,emacs-datetime)))
13122 (build-system emacs-build-system)
13123 (home-page "https://github.com/doublep/logview/")
13124 (synopsis "Emacs mode for viewing log files")
13125 (description "@code{logview} provides an Emacs mode to view log files.")
13126 (license license:gpl3+)))
13127
13128 (define-public emacs-suggest
13129 (package
13130 (name "emacs-suggest")
13131 (version "0.7")
13132 (home-page "https://github.com/Wilfred/suggest.el")
13133 (source
13134 (origin
13135 (method git-fetch)
13136 (uri (git-reference
13137 (url home-page)
13138 (commit version)))
13139 (file-name (git-file-name name version))
13140 (sha256
13141 (base32
13142 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
13143 (build-system emacs-build-system)
13144 (propagated-inputs
13145 `(("emacs-loop" ,emacs-loop)
13146 ("emacs-dash" ,emacs-dash)
13147 ("emacs-s" ,emacs-s)
13148 ("emacs-f" ,emacs-f)
13149 ("emacs-spinner" ,emacs-spinner)
13150 ("emacs-shut-up" ,emacs-shut-up)))
13151 (native-inputs
13152 `(("emacs-ert-runner" ,emacs-ert-runner)
13153 ("emacs-undercover" ,emacs-undercover)))
13154 (arguments
13155 `(#:tests? #t
13156 #:test-command '("ert-runner")))
13157 (synopsis "Suggest Elisp functions that give the output requested")
13158 (description "Suggest.el will find functions that give the output
13159 requested. It's a great way of exploring list, string and arithmetic
13160 functions.")
13161 (license license:gpl3+)))
13162
13163 (define-public emacs-benchmark-init
13164 (package
13165 (name "emacs-benchmark-init")
13166 (version "1.0")
13167 (source
13168 (origin
13169 (method git-fetch)
13170 (uri (git-reference
13171 (url "https://github.com/dholm/benchmark-init-el.git")
13172 (commit version)))
13173 (file-name (git-file-name name version))
13174 (sha256
13175 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
13176 (build-system emacs-build-system)
13177 (home-page "https://github.com/dholm/benchmark-init-el")
13178 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
13179 (description "@code{benchmark-init} provides a way to keep track of where
13180 time is being spent during Emacs startup in order to optimize startup time.")
13181 (license license:gpl3+)))
13182
13183 (define-public emacs-emms-player-simple-mpv
13184 ;; A new mpv backend is included in Emms from 5.0.
13185 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
13186
13187 (define-public emacs-magit-gerrit
13188 (let ((version "0.3")
13189 (revision "1")
13190 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
13191 (package
13192 (name "emacs-magit-gerrit")
13193 (version (git-version version revision commit))
13194 (source (origin
13195 (method git-fetch)
13196 (uri (git-reference
13197 (url "https://github.com/terranpro/magit-gerrit.git")
13198 (commit commit)))
13199 (file-name (git-file-name name version))
13200 (sha256
13201 (base32
13202 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
13203 (build-system emacs-build-system)
13204 (propagated-inputs
13205 `(("emacs-magit" ,emacs-magit)))
13206 (home-page "https://github.com/terranpro/magit-gerrit")
13207 (synopsis "Magit extension for Gerrit")
13208 (description "This Magit extension provides integration with Gerrit,
13209 which makes it possible to conduct Gerrit code reviews directly from within
13210 Emacs.")
13211 (license license:gpl3+))))
13212
13213 (define-public emacs-magit-org-todos-el
13214 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
13215 (package
13216 (name "emacs-magit-org-todos-el")
13217 (version (git-version "0.1.1" "1" commit))
13218 (source
13219 (origin
13220 (method git-fetch)
13221 (uri (git-reference
13222 (url "https://github.com/danielma/magit-org-todos.el.git")
13223 (commit commit)))
13224 (file-name (git-file-name name version))
13225 (sha256
13226 (base32
13227 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
13228 (propagated-inputs
13229 `(("magit" ,emacs-magit)))
13230 (build-system emacs-build-system)
13231 (home-page "https://github.com/danielma/magit-org-todos.el")
13232 (synopsis "Get todo.org into Emacs Magit status")
13233 (description "This package allows you to get @file{todo.org} into your
13234 magit status.
13235
13236 If you have a @file{todo.org} file with @code{TODO} items in the root of your
13237 repository, @code{magit-org-todos} will create a section in your Magit status
13238 buffer with each of your todos.")
13239 (license license:gpl3+))))
13240
13241 (define-public emacs-f3
13242 (package
13243 (name "emacs-f3")
13244 (version "0.1")
13245 (source
13246 (origin
13247 (method git-fetch)
13248 (uri (git-reference
13249 (url "https://github.com/cosmicexplorer/f3.git")
13250 (commit version)))
13251 (file-name (git-file-name name version))
13252 (sha256
13253 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
13254 (build-system emacs-build-system)
13255 (propagated-inputs
13256 `(("emacs-helm" ,emacs-helm)))
13257 (home-page "https://github.com/cosmicexplorer/f3")
13258 (synopsis "Fantastic File Finder for Emacs")
13259 (description
13260 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
13261 (license license:gpl3+)))
13262
13263 (define-public emacs-lice-el
13264 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
13265 (package
13266 (name "emacs-lice-el")
13267 (version (git-version "0.2" "1" commit))
13268 (source (origin
13269 (method git-fetch)
13270 (uri (git-reference
13271 (url "https://github.com/buzztaiki/lice-el.git")
13272 (commit commit)))
13273 (file-name (git-file-name name version))
13274 (sha256
13275 (base32
13276 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
13277 (build-system emacs-build-system)
13278 (home-page "https://github.com/buzztaiki/lice-el")
13279 (synopsis "License and header template for Emacs")
13280 (description "@code{lice.el} provides following features:
13281
13282 @itemize
13283 @item License template management.
13284 @item File header insertion.
13285 @end itemize\n")
13286 (license license:gpl3+))))
13287
13288 (define-public emacs-academic-phrases
13289 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
13290 (package
13291 (name "emacs-academic-phrases")
13292 (version (git-version "0.1" "1" commit))
13293 (source
13294 (origin
13295 (method git-fetch)
13296 (uri (git-reference
13297 (url "https://github.com/nashamri/academic-phrases.git")
13298 (commit commit)))
13299 (file-name (git-file-name name version))
13300 (sha256
13301 (base32
13302 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
13303 (build-system emacs-build-system)
13304 (propagated-inputs
13305 `(("emacs-dash" ,emacs-dash)
13306 ("emacs-s" ,emacs-s)
13307 ("emacs-ht" ,emacs-ht)))
13308 (home-page "https://github.com/nashamri/academic-phrases")
13309 (synopsis "Bypass that mental block when writing your papers")
13310 (description
13311 "When writing your academic paper, you might get stuck trying to find
13312 the right phrase that captures your intention. This package tries to
13313 alleviate that problem by presenting you with a list of phrases organized by
13314 the topic or by the paper section that you are writing. This package has
13315 around 600 phrases so far.
13316
13317 Using this package is easy, just call @code{academic-phrases} to get a list of
13318 phrases organized by topic, or call @code{academic-phrases-by-section} to
13319 browse the phrases by the paper section and fill-in the blanks if required.")
13320 (license license:gpl3+))))
13321
13322 (define-public emacs-auto-yasnippet
13323 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
13324 (revision "2"))
13325 (package
13326 (name "emacs-auto-yasnippet")
13327 (version (git-version "0.3.0" revision commit))
13328 (source (origin
13329 (method git-fetch)
13330 (uri (git-reference
13331 (url "https://github.com/abo-abo/auto-yasnippet.git")
13332 (commit commit)))
13333 (file-name (git-file-name name version))
13334 (sha256
13335 (base32
13336 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
13337 (build-system emacs-build-system)
13338 (arguments
13339 '(#:tests? #t
13340 #:test-command '("make" "test")))
13341 (propagated-inputs
13342 `(("emacs-yasnippet" ,emacs-yasnippet)))
13343 (home-page "https://github.com/abo-abo/auto-yasnippet/")
13344 (synopsis "Quickly create disposable yasnippets")
13345 (description "This package provides a hybrid of keyboard macros and
13346 yasnippet. You create the snippet on the go, usually to be used just in the
13347 one place. It's fast, because you're not leaving the current buffer, and all
13348 you do is enter the code you'd enter anyway, just placing ~ where you'd like
13349 yasnippet fields and mirrors to be.")
13350 (license license:gpl3+))))
13351
13352 (define-public emacs-highlight-numbers
13353 (package
13354 (name "emacs-highlight-numbers")
13355 (version "0.2.3")
13356 (source
13357 (origin
13358 (method git-fetch)
13359 (uri (git-reference
13360 (url "https://github.com/Fanael/highlight-numbers.git")
13361 (commit version)))
13362 (file-name (git-file-name name version))
13363 (sha256
13364 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
13365 (build-system emacs-build-system)
13366 (propagated-inputs
13367 `(("emacs-parent-mode" ,emacs-parent-mode)))
13368 (home-page "https://github.com/Fanael/highlight-numbers")
13369 (synopsis "Highlight numbers in source code")
13370 (description "@code{highlight-numbers-mode} provides a minor mode for
13371 syntax highlighting of numeric literals in source code.
13372
13373 It s customizable: it's easy to add or redefine what exactly consitutes a
13374 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
13375 (license license:gpl3+)))
13376
13377 (define-public emacs-darkroom
13378 (package
13379 (name "emacs-darkroom")
13380 (version "0.1")
13381 (source (origin
13382 (method url-fetch)
13383 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
13384 version ".el"))
13385 (sha256
13386 (base32
13387 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
13388 (build-system emacs-build-system)
13389 (home-page "https://elpa.gnu.org/packages/darkroom.html")
13390 (synopsis "Remove visual distractions and focus on writing")
13391 (description "@code{darkroom-mode} makes visual distractions disappear.
13392 The mode-line is temporarily elided, text is enlarged and margins are adjusted
13393 so that it's centered on the window.
13394
13395 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
13396 @code{darkroom-mode}, unless the current buffer lives in the sole window of
13397 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
13398 split to display more windows and more buffers, the buffer exits
13399 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
13400 @code{darkroom-mode}.")
13401 (license license:gpl3+)))
13402
13403 (define-public emacs-rsw-elisp
13404 (package
13405 (name "emacs-rsw-elisp")
13406 (version "1.0.5")
13407 (source (origin
13408 (method url-fetch)
13409 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
13410 "/archive/" version ".tar.gz"))
13411 (file-name (string-append name "-" version ".tar.gz"))
13412 (sha256
13413 (base32
13414 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
13415 (build-system emacs-build-system)
13416 (home-page "https://github.com/rswgnu/rsw-elisp")
13417 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
13418 (description "This package improves and replaces the GNU Emacs commands
13419 that interactively evaluate Emacs Lisp expressions. The new commands replace
13420 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
13421 the same way as the old commands when called non-interactively; only the
13422 interactive behavior should be different.")
13423 (license license:gpl3+)))
13424
13425 (define-public emacs-default-text-scale
13426 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
13427 (revision "1"))
13428 (package
13429 (name "emacs-default-text-scale")
13430 (version (string-append "0.1" "-" revision "."
13431 (string-take commit 7)))
13432 (source (origin
13433 (method git-fetch)
13434 (uri (git-reference
13435 (url "https://github.com/purcell/default-text-scale")
13436 (commit commit)))
13437 (file-name (git-file-name name version))
13438 (sha256
13439 (base32
13440 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
13441 (build-system emacs-build-system)
13442 (home-page "https://github.com/purcell/default-text-scale")
13443 (synopsis "Adjust the font size in all Emacs frames")
13444 (description "This package provides commands for increasing or
13445 decreasing the default font size in all GUI Emacs frames.")
13446 (license license:gpl3+))))
13447
13448 (define-public emacs-mixed-pitch
13449 (package
13450 (name "emacs-mixed-pitch")
13451 (version "1.0.1")
13452 (source
13453 (origin
13454 (method git-fetch)
13455 (uri (git-reference
13456 (url "https://gitlab.com/jabranham/mixed-pitch.git")
13457 (commit version)))
13458 (file-name (git-file-name name version))
13459 (sha256
13460 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
13461 (build-system emacs-build-system)
13462 (home-page "https://gitlab.com/jabranham/mixed-pitch")
13463 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
13464 (description
13465 "@code{mixed-pitch-mode} is a minor mode that enables mixing
13466 variable-pitch and fixed-pitch fonts in the same buffer. The list
13467 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
13468 fixed-pitch,everything else becomes variable-pitch.")
13469 (license license:gpl3+)))
13470
13471 (define-public emacs-visual-regexp
13472 (package
13473 (name "emacs-visual-regexp")
13474 (version "1.1.1")
13475 (source
13476 (origin
13477 (method git-fetch)
13478 (uri (git-reference
13479 (url "https://github.com/benma/visual-regexp.el.git")
13480 (commit (string-append "v" version))))
13481 (file-name (git-file-name name version))
13482 (sha256
13483 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
13484 (build-system emacs-build-system)
13485 (home-page "https://github.com/benma/visual-regexp.el/")
13486 (synopsis "Regexp command with interactive visual feedback")
13487 (description "This package provides an Emacs regexp command with
13488 interactive visual feedback.")
13489 (license license:gpl3+)))
13490
13491 (define-public emacs-faceup
13492 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
13493 (revision "1"))
13494 (package
13495 (name "emacs-faceup")
13496 (version (string-append "0.0.1" "-" revision "."
13497 (string-take commit 7)))
13498 (source
13499 (origin
13500 (method git-fetch)
13501 (uri (git-reference
13502 (url "https://github.com/Lindydancer/faceup.git")
13503 (commit commit)))
13504 (file-name (git-file-name name version))
13505 (sha256
13506 (base32
13507 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
13508 (build-system emacs-build-system)
13509 (home-page "https://github.com/Lindydancer/faceup")
13510 (synopsis "Markup language for faces and font-lock regression testing")
13511 (description "Emacs is capable of highlighting buffers based on
13512 language-specific @code{font-lock} rules. This package makes it possible to
13513 perform regression test for packages that provide font-lock rules.")
13514 (license license:gpl3+))))
13515
13516 (define-public emacs-racket-mode
13517 (let ((commit "5300aa004f08535c3fac99f1af78462f129aca81")
13518 (revision "3"))
13519 (package
13520 (name "emacs-racket-mode")
13521 (version (git-version "0.0.2" revision commit))
13522 (source
13523 (origin
13524 (method git-fetch)
13525 (uri (git-reference
13526 (url "https://github.com/greghendershott/racket-mode")
13527 (commit commit)))
13528 (file-name (git-file-name name version))
13529 (sha256
13530 (base32
13531 "1gkpm4fl1ybsm9qqgrkwyjbd9znddy438x266k27fs90lkxrfray"))))
13532 (build-system emacs-build-system)
13533 (arguments
13534 `(#:include '("\\.el$" "\\.rkt$")))
13535 (propagated-inputs
13536 `(("emacs-faceup" ,emacs-faceup)
13537 ("emacs-s" ,emacs-s)))
13538 (home-page "https://github.com/greghendershott/racket-mode")
13539 (synopsis "Major mode for Racket language")
13540 (description "@code{racket-mode} provides:
13541
13542 @itemize
13543 @item Focus on Racket (not various Schemes).
13544 @item Follow DrRacket concepts where applicable.
13545 @item Thorough font-lock and indent.
13546 @end itemize\n")
13547 (license license:gpl3+))))
13548
13549 (define-public emacs-grep-context
13550 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
13551 (revision "1"))
13552 (package
13553 (name "emacs-grep-context")
13554 (version (git-version "0.1.0" revision commit))
13555 (source
13556 (origin
13557 (method git-fetch)
13558 (uri (git-reference
13559 (url "https://github.com/mkcms/grep-context.git")
13560 (commit commit)))
13561 (file-name (git-file-name name version))
13562 (sha256
13563 (base32
13564 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
13565 (build-system emacs-build-system)
13566 (propagated-inputs
13567 `(("emacs-dash" ,emacs-dash)))
13568 (home-page "https://github.com/mkcms/grep-context")
13569 (synopsis "Increase context in compilation and grep buffers")
13570 (description
13571 "This package provides an Emacs package for more context in
13572 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
13573 @code{ivy}.")
13574 (license license:gpl3+))))
13575
13576 (define-public emacs-helm-firefox
13577 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
13578 (revision "1"))
13579 (package
13580 (name "emacs-helm-firefox")
13581 (version (string-append "0.0.1" "-" revision "."
13582 (string-take commit 7)))
13583 (source
13584 (origin
13585 (method git-fetch)
13586 (uri (git-reference
13587 (url "https://github.com/emacs-helm/helm-firefox.git")
13588 (commit commit)))
13589 (file-name (git-file-name name version))
13590 (sha256
13591 (base32
13592 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
13593 (propagated-inputs
13594 `(("emacs-helm" ,emacs-helm)))
13595 (build-system emacs-build-system)
13596 (home-page "https://github.com/emacs-helm/helm-firefox")
13597 (synopsis "Display firefox bookmarks with Emacs Helm interface")
13598 (description "Display firefox bookmarks with Emacs Helm interface")
13599 (license license:gpl3+))))
13600
13601 (define-public emacs-interactive-align
13602 (package
13603 (name "emacs-interactive-align")
13604 (version "0.4.2")
13605 (source
13606 (origin
13607 (method git-fetch)
13608 (uri (git-reference
13609 (url "https://github.com/mkcms/interactive-align.git")
13610 (commit (string-append "v" version))))
13611 (file-name (git-file-name name version))
13612 (sha256
13613 (base32
13614 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
13615 (build-system emacs-build-system)
13616 (home-page "https://github.com/mkcms/interactive-align/")
13617 (synopsis "Interactive align-regexp command in Emacs")
13618 (description "Interactive align-regexp command in Emacs")
13619 (license license:gpl3+)))
13620
13621 (define-public emacs-shift-number
13622 (package
13623 (name "emacs-shift-number")
13624 (version "0.1")
13625 (source
13626 (origin
13627 (method url-fetch)
13628 (uri (string-append "https://github.com/alezost/shift-number.el"
13629 "/archive/" "v" version ".tar.gz"))
13630 (file-name (string-append name "-" version ".tar.gz"))
13631 (sha256
13632 (base32
13633 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
13634 (build-system emacs-build-system)
13635 (home-page "https://github.com/alezost/shift-number.el")
13636 (synopsis "Increase or decrease the number at point")
13637 (description "@code{emacs-shift-number} provides commands
13638 @code{shift-number-up} to increase and @code{shift-number-down} to
13639 decrease the number at point.")
13640 (license license:gpl3+)))
13641
13642 (define-public emacs-highlight-defined
13643 (package
13644 (name "emacs-highlight-defined")
13645 (version "0.1.5")
13646 (source
13647 (origin
13648 (method git-fetch)
13649 (uri (git-reference
13650 (url "https://github.com/Fanael/highlight-defined.git")
13651 (commit version)))
13652 (file-name (git-file-name name version))
13653 (sha256
13654 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
13655 (build-system emacs-build-system)
13656 (home-page "https://github.com/Fanael/highlight-defined")
13657 (synopsis "Syntax highlighting of known Elisp symbols")
13658 (description "Minor mode providing syntax highlighting of known Emacs Lisp
13659 symbols. Currently the code distinguishes Lisp functions, built-in functions,
13660 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
13661 (license license:gpl3+)))
13662
13663 (define-public emacs-parinfer-mode
13664 (package
13665 (name "emacs-parinfer-mode")
13666 (version "0.4.10")
13667 (source
13668 (origin
13669 (method git-fetch)
13670 (uri (git-reference
13671 (url "https://github.com/DogLooksGood/parinfer-mode.git")
13672 (commit (string-append "v" version))))
13673 (file-name (git-file-name name version))
13674 (sha256
13675 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
13676 (propagated-inputs
13677 `(("emacs-dash" ,emacs-dash)
13678 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
13679 ("emacs-company" ,emacs-company)))
13680 (build-system emacs-build-system)
13681 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
13682 (synopsis "Lisp structure editing mode")
13683 (description "@code{parinfer-mode} is a proof-of-concept editor
13684 mode for Lisp programming languages. It will infer some changes to
13685 keep Parens and Indentation inline with one another.")
13686 (license license:gpl3+)))
13687
13688 (define-public emacs-helm-eww
13689 (package
13690 (name "emacs-helm-eww")
13691 (version "1.2")
13692 (source (origin
13693 (method git-fetch)
13694 (uri (git-reference
13695 (url "https://github.com/emacs-helm/helm-eww.git")
13696 (commit version)))
13697 (file-name (git-file-name name version))
13698 (sha256
13699 (base32
13700 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
13701 (propagated-inputs
13702 `(("emacs-helm" ,emacs-helm)))
13703 (build-system emacs-build-system)
13704 (home-page "https://github.com/emacs-helm/helm-eww/")
13705 (synopsis "Helm interface to EWW")
13706 (description "This package provides a Helm interface for EWW buffers,
13707 bookmarks and history.")
13708 (license license:gpl3+)))
13709
13710 (define-public emacs-stumpwm-mode
13711 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
13712 (package
13713 (name "emacs-stumpwm-mode")
13714 (version (git-version "0.0.1" "1" commit))
13715 (source (origin
13716 (method git-fetch)
13717 (uri (git-reference
13718 (url "https://github.com/stumpwm/stumpwm-contrib.git")
13719 (commit commit)))
13720 (file-name (git-file-name name version))
13721 (sha256
13722 (base32
13723 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
13724 (build-system emacs-build-system)
13725 (arguments
13726 `(#:phases
13727 (modify-phases %standard-phases
13728 (add-after 'unpack 'chdir-elisp
13729 ;; Elisp directory is not in root of the source.
13730 (lambda _
13731 (chdir "util/swm-emacs"))))))
13732 (home-page "https://github.com/stumpwm/stumpwm-contrib")
13733 (synopsis "Emacs minor-mode for Stumpwm")
13734 (description "Emacs minor-mode for Stumpwm")
13735 (license license:gpl3+))))
13736
13737 (define-public emacs-irfc
13738 (package
13739 (name "emacs-irfc")
13740 (version "20130824.507-1")
13741 (source
13742 (origin
13743 (method url-fetch)
13744 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
13745 (file-name (string-append "irfc-" version ".el"))
13746 (sha256
13747 (base32
13748 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
13749 (build-system emacs-build-system)
13750 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
13751 (synopsis "Interface for IETF RFC document")
13752 (description
13753 "This package provides an Emacs interface for IETF RFC document.")
13754 (license license:gpl3+)))
13755
13756 (define-public emacs-ido-vertical-mode
13757 (package
13758 (name "emacs-ido-vertical-mode")
13759 (version "0.1.6")
13760 (source
13761 (origin
13762 (method git-fetch)
13763 (uri (git-reference
13764 (url "https://github.com/creichert/ido-vertical-mode.el.git")
13765 (commit (string-append "v" version))))
13766 (file-name (git-file-name name version))
13767 (sha256
13768 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
13769 (build-system emacs-build-system)
13770 (home-page "https://github.com/creichert/ido-vertical-mode.el")
13771 (synopsis "Makes ido-mode display vertically")
13772 (description "Makes ido-mode display prospects vertically.")
13773 (license license:gpl3+)))
13774
13775 (define-public emacs-wordgen
13776 (package
13777 (name "emacs-wordgen")
13778 (version "0.1.4")
13779 (source
13780 (origin
13781 (method git-fetch)
13782 (uri (git-reference
13783 (url "https://github.com/Fanael/wordgen.el.git")
13784 (commit version)))
13785 (file-name (git-file-name name version))
13786 (sha256
13787 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
13788 (build-system emacs-build-system)
13789 (home-page "https://github.com/Fanael/wordgen.el")
13790 (synopsis "Random word generator")
13791 (description "This package provides functions to generate random words
13792 using user-provided rules.")
13793 (license license:gpl3+)))
13794
13795 (define-public emacs-on-screen
13796 (package
13797 (name "emacs-on-screen")
13798 (version "1.3.3")
13799 (source
13800 (origin
13801 (method url-fetch)
13802 (uri (string-append
13803 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
13804 (file-name (string-append name "-" version ".el"))
13805 (sha256
13806 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
13807 (build-system emacs-build-system)
13808 (home-page "https://github.com/michael-heerdegen/on-screen.el")
13809 (synopsis "Guide your eyes while scrolling")
13810 (description
13811 "Scrolling can be distracting because your eyes may lose
13812 orientation. This library implements a minor mode that highlights
13813 the previously visible buffer part after each scroll.")
13814 (license license:gpl3+)))
13815
13816 (define-public emacs-highlight-escape-sequences
13817 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
13818 (revision "1"))
13819 (package
13820 (name "emacs-highlight-escape-sequences")
13821 (version (string-append "0.0.1" "-" revision "."
13822 (string-take commit 7)))
13823 (source
13824 (origin
13825 (method git-fetch)
13826 (uri (git-reference
13827 (url "https://github.com/dgutov/highlight-escape-sequences.git")
13828 (commit commit)))
13829 (file-name (git-file-name name version))
13830 (sha256
13831 (base32
13832 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
13833 (build-system emacs-build-system)
13834 (home-page "https://github.com/dgutov/highlight-escape-sequences")
13835 (synopsis "Highlight escape sequences in Emacs")
13836 (description "@code{highlight-escape-sequences} provides an
13837 Emacs minor mode to escape sequences in code.")
13838 (license license:gpl3+))))
13839
13840 (define-public emacs-dashboard
13841 (package
13842 (name "emacs-dashboard")
13843 (version "1.5.0")
13844 (source
13845 (origin
13846 (method git-fetch)
13847 (uri (git-reference
13848 (url "https://github.com/rakanalh/emacs-dashboard.git")
13849 (commit version)))
13850 (file-name (git-file-name name version))
13851 (sha256
13852 (base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
13853 (build-system emacs-build-system)
13854 (propagated-inputs
13855 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
13856 (arguments
13857 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
13858 #:phases
13859 (modify-phases %standard-phases
13860 (add-after 'unpack 'patch-dashboard-widgets
13861 ;; This phase fixes compilation error.
13862 (lambda _
13863 (chmod "dashboard-widgets.el" #o666)
13864 (emacs-substitute-variables "dashboard-widgets.el"
13865 ("dashboard-init-info"
13866 '(format "Loaded in %s" (emacs-init-time))))
13867 #t)))))
13868 (home-page "https://github.com/rakanalh/emacs-dashboard")
13869 (synopsis "Startup screen extracted from Spacemacs")
13870 (description "This package provides an extensible Emacs dashboard, with
13871 sections for bookmarks, projectil projects, org-agenda and more. ")
13872 (license license:gpl3+)))
13873
13874 (define-public emacs-slime-company
13875 (package
13876 (name "emacs-slime-company")
13877 (version "1.1")
13878 (source
13879 (origin
13880 (method git-fetch)
13881 (uri (git-reference
13882 (url "https://github.com/anwyn/slime-company.git")
13883 (commit (string-append "v" version))))
13884 (file-name (git-file-name name version))
13885 (sha256
13886 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
13887 (build-system emacs-build-system)
13888 (propagated-inputs
13889 `(("emacs-slime" ,emacs-slime)
13890 ("emacs-company" ,emacs-company)))
13891 (home-page "https://company-mode.github.io")
13892 (synopsis "SLIME completion backend for @code{company-mode}")
13893 (description
13894 "This is a backend implementation for the completion package
13895 @code{company-mode} which supports the normal and the fuzzy completion
13896 modes of SLIME.")
13897 (license license:gpl3+)))
13898
13899 (define-public emacs-sml-mode
13900 (package
13901 (name "emacs-sml-mode")
13902 (version "6.9")
13903 (source
13904 (origin
13905 (method url-fetch)
13906 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
13907 version ".el"))
13908 (sha256
13909 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
13910 (build-system emacs-build-system)
13911 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
13912 (synopsis "Major mode for editing (Standard) ML")
13913 (description "SML-MODE is a major Emacs mode for editing Standard ML.
13914 It provides syntax highlighting and automatic indentation and
13915 comes with sml-proc which allows interaction with an inferior SML
13916 interactive loop.")
13917 (license license:gpl3+)))
13918
13919 (define-public emacs-eros
13920 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
13921 (revision "2"))
13922 (package
13923 (name "emacs-eros")
13924 (version (git-version "0.0.1" revision commit))
13925 (source
13926 (origin
13927 (method git-fetch)
13928 (uri (git-reference
13929 (url "https://github.com/xiongtx/eros.git")
13930 (commit commit)))
13931 (file-name (git-file-name name version))
13932 (sha256
13933 (base32
13934 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
13935 (build-system emacs-build-system)
13936 (home-page "https://github.com/xiongtx/eros")
13937 (synopsis "Evaluation result overlays")
13938 (description "@code{eros} provides evaluation result overlays.")
13939 (license license:gpl3+))))
13940
13941 (define-public emacs-stickyfunc-enhance
13942 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
13943 (revision "1"))
13944 (package
13945 (name "emacs-stickyfunc-enhance")
13946 (version "0.1")
13947 (source
13948 (origin
13949 (method git-fetch)
13950 (uri (git-reference
13951 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
13952 (commit commit)))
13953 (file-name (git-file-name name version))
13954 (sha256
13955 (base32
13956 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
13957 (build-system emacs-build-system)
13958 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
13959 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
13960 (description
13961 "@code{semantic-stickyfunc-mode} shows the function point is currently
13962 in at the first line of the current buffer. This is useful when you have a
13963 very long function that spreads more than a screen, and you don't have to
13964 scroll up to read the function name and then scroll down to original position.")
13965 (license license:gpl3+))))
13966
13967 (define-public emacs-git-auto-commit-mode
13968 (package
13969 (name "emacs-git-auto-commit-mode")
13970 (version "4.4.0")
13971 (source
13972 (origin
13973 (method git-fetch)
13974 (uri (git-reference
13975 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
13976 (commit version)))
13977 (file-name (git-file-name name version))
13978 (sha256
13979 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
13980 (build-system emacs-build-system)
13981 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
13982 (synopsis "Emacs Minor mode to automatically commit and push")
13983 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
13984 tries to commit changes to a file after every save.
13985
13986 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
13987 the current upstream.")
13988 (license license:gpl3+)))
13989
13990 (define-public emacs-scroll-on-drag
13991 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
13992 (revision "1"))
13993 (package
13994 (name "emacs-scroll-on-drag")
13995 (version (git-version "0.1" revision commit))
13996 (source
13997 (origin
13998 (method git-fetch)
13999 (uri (git-reference
14000 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
14001 (commit commit)))
14002 (file-name (git-file-name name version))
14003 (sha256
14004 (base32
14005 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
14006 (build-system emacs-build-system)
14007 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
14008 (synopsis "Interactive scrolling")
14009 (description "This package permits scrolling at increasing speeds based
14010 on drag distance.")
14011 (license license:gpl3+))))
14012
14013 (define-public emacs-company-restclient
14014 (package
14015 (name "emacs-company-restclient")
14016 (version "0.3.0")
14017 (source
14018 (origin
14019 (method git-fetch)
14020 (uri (git-reference
14021 (url "https://github.com/iquiw/company-restclient.git")
14022 (commit (string-append "v" version))))
14023 (file-name (git-file-name name version))
14024 (sha256
14025 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
14026 (build-system emacs-build-system)
14027 (propagated-inputs
14028 `(("emacs-company" ,emacs-company)
14029 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
14030 ("emacs-restclient" ,emacs-restclient)))
14031 (home-page "https://github.com/iquiw/company-restclient")
14032 (synopsis "Company-mode completion back-end for restclient-mode")
14033 (description "@code{company-mode} back-end for
14034 @code{restclient-mode}.
14035
14036 It provides auto-completion for HTTP methods and headers in
14037 @code{restclient-mode}. Completion source is given by
14038 @code{know-your-http-well}.")
14039 (license license:gpl3+)))
14040
14041 (define-public emacs-noflet
14042 (let ((version "20170629")
14043 (revision "1")
14044 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
14045 (package
14046 (name "emacs-noflet")
14047 (version (git-version version revision commit))
14048 (source
14049 (origin
14050 (method git-fetch)
14051 (uri (git-reference
14052 (url "https://github.com/nicferrier/emacs-noflet")
14053 (commit commit)))
14054 (file-name (git-file-name name version))
14055 (sha256
14056 (base32
14057 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
14058 (build-system emacs-build-system)
14059 (arguments
14060 `(#:phases
14061 (modify-phases %standard-phases
14062 (add-after 'unpack 'require-dash
14063 ;; noflet.el uses -map from dash, but (require 'dash) is
14064 ;; missing. So, add it.
14065 (lambda _
14066 (substitute* "noflet.el"
14067 ((";;; Code:") ";;; Code:\n(require 'dash)"))
14068 #t)))))
14069 (propagated-inputs
14070 `(("emacs-dash" ,emacs-dash)))
14071 (home-page "https://github.com/nicferrier/emacs-noflet")
14072 (synopsis "Locally override functions")
14073 (description "@code{emacs-noflet} lets you locally override functions,
14074 in the manner of @command{flet}, but with access to the original function
14075 through the symbol: @command{this-fn}.")
14076 (license license:gpl3+))))
14077
14078 (define-public emacs-dumb-jump
14079 (package
14080 (name "emacs-dumb-jump")
14081 (version "0.5.3")
14082 (source
14083 (origin
14084 (method git-fetch)
14085 (uri (git-reference
14086 (url "https://github.com/jacktasia/dumb-jump.git")
14087 (commit (string-append "v" version))))
14088 (file-name (git-file-name name version))
14089 (sha256
14090 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
14091 (build-system emacs-build-system)
14092 (arguments
14093 `(#:tests? #f ; FIXME: Tests freeze when run.
14094 #:test-command '("ert-runner")
14095 #:phases
14096 (modify-phases %standard-phases
14097 (add-after 'unpack 'set-shell
14098 (lambda _
14099 ;; Setting the SHELL environment variable is required for the
14100 ;; tests to find sh.
14101 (setenv "SHELL" (which "sh"))
14102 #t)))))
14103 (native-inputs
14104 `(("emacs-el-mock" ,emacs-el-mock)
14105 ("emacs-noflet" ,emacs-noflet)
14106 ("emacs-undercover" ,emacs-undercover)
14107 ("ert-runner" ,emacs-ert-runner)))
14108 (propagated-inputs
14109 `(("emacs-f" ,emacs-f)
14110 ("emacs-popup" ,emacs-popup)))
14111 (home-page "https://github.com/jacktasia/dumb-jump")
14112 (synopsis "Jump to definition for multiple languages without configuration")
14113 (description "Dumb Jump is an Emacs \"jump to definition\" package with
14114 support for multiple programming languages that favors \"just working\" over
14115 speed or accuracy. This means minimal --- and ideally zero --- configuration
14116 with absolutely no stored indexes (tags) or persistent background processes.
14117 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
14118 @command{rg} installed.")
14119 (license license:gpl3+)))
14120
14121 (define-public emacs-dts-mode
14122 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
14123 (revision "1"))
14124 (package
14125 (name "emacs-dts-mode")
14126 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
14127 (source
14128 (origin
14129 (method git-fetch)
14130 (uri (git-reference
14131 (url "https://github.com/bgamari/dts-mode.git")
14132 (commit commit)))
14133 (file-name (git-file-name name version))
14134 (sha256
14135 (base32
14136 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
14137 (build-system emacs-build-system)
14138 (home-page "https://github.com/bgamari/dts-mode.git")
14139 (synopsis "Emacs minor mode for editing device tree files")
14140 (description
14141 "This package provides an Emacs minor mode for highlighting
14142 device tree files.")
14143 (license license:gpl3+))))
14144
14145 (define-public emacs-daemons
14146 (package
14147 (name "emacs-daemons")
14148 (version "2.0.0")
14149 (source
14150 (origin
14151 (method git-fetch)
14152 (uri (git-reference
14153 (url "https://github.com/cbowdon/daemons.el")
14154 (commit version)))
14155 (file-name (git-file-name name version))
14156 (sha256
14157 (base32
14158 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
14159 (build-system emacs-build-system)
14160 (home-page "https://github.com/cbowdon/daemons.el")
14161 (synopsis "Emacs UI for managing init system services")
14162 (description
14163 "This is an Emacs mode to give you a UI for managing init system
14164 daemons (services) for those getting tired of typing out @code{sudo service
14165 my_thing reload} all the time. It offers a consistent UI over different init
14166 systems.")
14167 (license license:gpl3+)))
14168
14169 (define-public emacs-isearch+
14170 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
14171 (revision "2"))
14172 (package
14173 (name "emacs-isearch+")
14174 (version (git-version "0" revision commit))
14175 (source
14176 (origin
14177 (method git-fetch)
14178 (uri (git-reference
14179 (url "https://github.com/emacsmirror/isearch-plus.git")
14180 (commit commit)))
14181 (file-name (git-file-name name version))
14182 (sha256
14183 (base32
14184 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
14185 (build-system emacs-build-system)
14186 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
14187 (synopsis "Extensions to @code{isearch.el}")
14188 (description "This package extends @code{isearch} with advice, dynamic
14189 filters, highlighting of regexp group levels, and more.")
14190 (license license:gpl2+))))
14191
14192 (define-public emacs-eshell-bookmark
14193 (package
14194 (name "emacs-eshell-bookmark")
14195 (version "2.0.0")
14196 (source
14197 (origin
14198 (method git-fetch)
14199 (uri (git-reference
14200 (url "https://github.com/Fuco1/eshell-bookmark")
14201 (commit version)))
14202 (file-name (git-file-name name version))
14203 (sha256
14204 (base32
14205 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
14206 (build-system emacs-build-system)
14207 (home-page "https://github.com/Fuco1/eshell-bookmark")
14208 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
14209 (description
14210 "This package allows for bookmarking @code{eshell} buffers. Upon
14211 visiting the bookmark, a new @code{eshell} session will be opened in the
14212 appropriate directory if no @code{eshell} session is active.")
14213 (license license:gpl3+)))
14214
14215 (define-public emacs-eshell-z
14216 (package
14217 (name "emacs-eshell-z")
14218 (version "0.3.2")
14219 (source
14220 (origin
14221 (method git-fetch)
14222 (uri (git-reference
14223 (url "https://github.com/xuchunyang/eshell-z")
14224 (commit (string-append "v" version))))
14225 (file-name (git-file-name name version))
14226 (sha256
14227 (base32
14228 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
14229 (build-system emacs-build-system)
14230 (home-page "https://github.com/xuchunyang/eshell-z")
14231 (synopsis "Quick navigation to frequently visited directories")
14232 (description
14233 "This package is a port of @code{z}, and keeps track of visited directories
14234 and commands invoked within them in order to enable navigation via input of
14235 matching regexps.")
14236 (license license:gpl3+)))
14237
14238 (define-public emacs-esh-autosuggest
14239 (package
14240 (name "emacs-esh-autosuggest")
14241 (version "2.0.0")
14242 (source
14243 (origin
14244 (method git-fetch)
14245 (uri (git-reference
14246 (url "https://github.com/dieggsy/esh-autosuggest")
14247 (commit version)))
14248 (file-name (git-file-name name version))
14249 (sha256
14250 (base32
14251 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
14252 (build-system emacs-build-system)
14253 (propagated-inputs `(("emacs-company" ,emacs-company)))
14254 (home-page "https://github.com/dieggsy/esh-autosuggest")
14255 (synopsis "Fish-like autosuggestions in Eshell")
14256 (description
14257 "This package assumes you use something other than company for eshell
14258 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
14259 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
14260 for history autosuggestions.
14261
14262 Unless you're using @code{use-package}'s hook keyword, you can enable the
14263 autosuggestions with:
14264 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
14265 (license license:gpl3+)))
14266
14267 (define-public emacs-desktop-environment
14268 (package
14269 (name "emacs-desktop-environment")
14270 (version "0.2.2")
14271 (source
14272 (origin
14273 (method git-fetch)
14274 (uri (git-reference
14275 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14276 (commit (string-append "v" version))))
14277 (file-name (git-file-name name version))
14278 (sha256
14279 (base32
14280 "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
14281 (build-system emacs-build-system)
14282 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14283 (synopsis "Control your GNU/Linux desktop environment from Emacs")
14284 (description
14285 "This package helps you control your GNU/Linux desktop from Emacs.
14286 With @code{desktop-environment}, you can control the brightness and volume as
14287 well as take screenshots and lock your screen. The package depends on the
14288 availability of shell commands to do the hard work for us. These commands can
14289 be changed by customizing the appropriate variables.")
14290 (license license:gpl3+)))
14291
14292 (define-public emacs-org-caldav
14293 (let ((commit "a563500c9884f38ce08793e2964f8274adde163d"))
14294 (package
14295 (name "emacs-org-caldav")
14296 (version (git-version "0.0.0" "1" commit))
14297 (source
14298 (origin
14299 (method git-fetch)
14300 (uri (git-reference
14301 (url "https://github.com/dengste/org-caldav.git")
14302 (commit commit)))
14303 (file-name (git-file-name name version))
14304 (sha256
14305 (base32
14306 "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"))))
14307 (build-system emacs-build-system)
14308 (arguments
14309 ;; Tests require to have two specific calendars on a test server.
14310 `(#:exclude '("^org-caldav-testsuite\\.el")))
14311 (propagated-inputs
14312 `(("emacs-org" ,emacs-org)))
14313 (home-page "https://github.com/dengste/org-caldav")
14314 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
14315 (description "Synchronize between events in Org files and a CalDAV
14316 calendar.")
14317 (license license:gpl3+))))
14318
14319 (define-public emacs-zotxt
14320 (package
14321 (name "emacs-zotxt")
14322 (version "20180518")
14323 (source
14324 (origin
14325 (method git-fetch)
14326 (uri (git-reference
14327 (url "https://github.com/egh/zotxt-emacs.git")
14328 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
14329 (file-name (git-file-name name version))
14330 (sha256
14331 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
14332 (build-system emacs-build-system)
14333 (propagated-inputs
14334 `(("emacs-deferred" ,emacs-deferred)
14335 ("emacs-request" ,emacs-request)))
14336 (home-page "https://github.com/egh/zotxt-emacs")
14337 (synopsis "Integrate Emacs with Zotero")
14338 (description "This package provides two integration features between Emacs
14339 and the Zotero research assistant: Insertion of links to Zotero items into an
14340 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
14341 (license license:gpl3+)))
14342
14343 (define-public emacs-evil-ediff
14344 ;; Evil-Ediff is included in Evil Collection from 20180617.
14345 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
14346
14347 (define-public emacs-evil-magit
14348 (let ((commit "4b66a1db8285457147a5436f209391016a819ea1")
14349 (revision "3"))
14350 (package
14351 (name "emacs-evil-magit")
14352 (version (git-version "0.4.2" revision commit))
14353 (source
14354 (origin
14355 (method git-fetch)
14356 (uri (git-reference
14357 (url "https://github.com/emacs-evil/evil-magit")
14358 (commit commit)))
14359 (file-name (git-file-name name version))
14360 (sha256
14361 (base32
14362 "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h"))))
14363 (build-system emacs-build-system)
14364 (propagated-inputs
14365 `(("emacs-evil" ,emacs-evil)
14366 ("magit" ,emacs-magit)))
14367 (arguments
14368 `(#:tests? #t
14369 #:test-command '("emacs" "-Q" "-batch"
14370 "-L" "."
14371 "-l" "evil-magit-tests"
14372 "-f" "ert-run-tests-batch-and-exit")))
14373 (home-page
14374 "https://github.com/emacs-evil/evil-magit")
14375 (synopsis "Evil-based key bindings for Magit")
14376 (description
14377 "This Emacs library configures Magit and Evil to play well with each other.
14378 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
14379 See the README at @url{https://github.com/justbur/evil-magit} for a table
14380 describing the key binding changes.")
14381 (license license:gpl3+))))
14382
14383 (define-public emacs-evil-mu4e
14384 ;; Evil-mu4e is included in Evil Collection from 20180617.
14385 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
14386
14387 (define-public emacs-evil-multiedit
14388 (package
14389 (name "emacs-evil-multiedit")
14390 (version "1.3.9")
14391 (source
14392 (origin
14393 (method git-fetch)
14394 (uri (git-reference
14395 (url "https://github.com/hlissner/evil-multiedit")
14396 (commit (string-append "v" version))))
14397 (file-name (git-file-name name version))
14398 (sha256
14399 (base32
14400 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
14401 (build-system emacs-build-system)
14402 (propagated-inputs
14403 `(("emacs-evil" ,emacs-evil)
14404 ("emacs-iedit" ,emacs-iedit)))
14405 (native-inputs
14406 `(("emacs-ert-runner" ,emacs-ert-runner)))
14407 (arguments
14408 `(#:phases
14409 (modify-phases %standard-phases
14410 (add-before 'check 'fix-makefile
14411 (lambda _
14412 (substitute* "Makefile"
14413 (("@cask exec ") ""))
14414 #t)))
14415 #:tests? #t
14416 #:test-command '("make" "test")))
14417 (home-page
14418 "https://github.com/hlissner/evil-multiedit")
14419 (synopsis "Multiple cursors for Evil mode")
14420 (description
14421 "This plugin was an answer to the lack of proper multiple cursor support
14422 in Emacs+Evil. It allows you to select and edit matches interactively,
14423 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
14424 defaults.")
14425 (license license:gpl3+)))
14426
14427 (define-public emacs-evil-mc
14428 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
14429 (revision "2"))
14430 (package
14431 (name "emacs-evil-mc")
14432 (version (git-version "0.0.3" revision commit))
14433 (source
14434 (origin
14435 (method git-fetch)
14436 (uri (git-reference
14437 (url "https://github.com/gabesoft/evil-mc.git")
14438 (commit commit)))
14439 (file-name (git-file-name name version))
14440 (sha256
14441 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
14442 (build-system emacs-build-system)
14443 (propagated-inputs
14444 `(("emacs-evil" ,emacs-evil)))
14445 (native-inputs
14446 `(("emacs-espuds" ,emacs-espuds)))
14447 (home-page "https://github.com/gabesoft/evil-mc")
14448 (synopsis "Interactive search compatible with @code{multiple-cursors}")
14449 (description "This package can be used with @code{multiple-cursors} to
14450 provide an incremental search that moves all fake cursors in sync.")
14451 (license license:expat))))
14452
14453 (define-public emacs-evil-org
14454 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
14455 (package
14456 (name "emacs-evil-org")
14457 (version (git-version "0.1.1" "1" commit))
14458 (source
14459 (origin
14460 (method git-fetch)
14461 (uri (git-reference
14462 (url "https://github.com/Somelauw/evil-org-mode")
14463 (commit commit)))
14464 (file-name (git-file-name name version))
14465 (sha256
14466 (base32
14467 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
14468 (build-system emacs-build-system)
14469 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
14470 (home-page
14471 "https://github.com/Somelauw/evil-org-mode")
14472 (synopsis "Evil keybindings for Org mode")
14473 (description
14474 "This package adds supplemental Evil mode key-bindings to Emacs
14475 Org-mode. It features:
14476 @itemize
14477 @item normal, visual and insert mode bindings;
14478 @item key bindings organised in key themes;
14479 @item operators like > and < to work on headings;
14480 @item text objects;
14481 @item table support;
14482 @item calendar (date selection) support;
14483 @item agenda support.
14484 @end itemize\n")
14485 (license license:gpl3+))))
14486
14487 (define-public emacs-debpaste
14488 (package
14489 (name "emacs-debpaste")
14490 (version "0.1.5")
14491 (home-page "https://github.com/alezost/debpaste.el")
14492 (source
14493 (origin
14494 (method git-fetch)
14495 (uri (git-reference (url home-page)
14496 (commit (string-append "v" version))))
14497 (file-name (string-append name "-" version ".tar.gz"))
14498 (sha256
14499 (base32
14500 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
14501 (build-system emacs-build-system)
14502 (propagated-inputs
14503 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
14504 (synopsis "Manipulate pastes from the Debian Pastezone")
14505 (description "Debpaste is an Emacs interface for the Debian Pastezone,
14506 allowing you to receive, post, and delete pastes. It communicates with the
14507 server using XML-RPC.")
14508 (license license:gpl3+)))
14509
14510 (define-public emacs-xml-rpc
14511 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
14512 (revision "1"))
14513 (package
14514 (name "emacs-xml-rpc")
14515 (version (git-version "1.6.12" revision commit))
14516 (source
14517 (origin
14518 (method git-fetch)
14519 (uri (git-reference
14520 (url "https://github.com/hexmode/xml-rpc-el")
14521 (commit commit)))
14522 (file-name (git-file-name name version))
14523 (sha256
14524 (base32
14525 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
14526 (build-system emacs-build-system)
14527 (home-page "https://github.com/hexmode/xml-rpc-el")
14528 (synopsis "XML-RPC client for Emacs")
14529 (description "This package provides an XML-RPC client for Emacs capable
14530 of both synchronous and asynchronous method calls using the @code{url}
14531 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
14532 datatypes as Lisp values, automatically converting to and from the XML
14533 datastructures as needed, both for method parameters and return values, making
14534 using XML-RPC methods fairly transparent to the Lisp code.")
14535 (license license:gpl3+))))
14536
14537 (define-public emacs-xpm
14538 (package
14539 (name "emacs-xpm")
14540 (version "1.0.4")
14541 (source
14542 (origin
14543 (method url-fetch)
14544 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
14545 version ".tar"))
14546 (sha256
14547 (base32
14548 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
14549 (build-system emacs-build-system)
14550 (home-page "https://elpa.gnu.org/packages/xpm.html")
14551 (synopsis "XPM image editing mode for Emacs")
14552 (description "This Emacs package makes editing XPM images easy (and maybe
14553 fun). Editing is done directly on the (textual) image format, for maximal
14554 cohesion with the Emacs Way.")
14555 (license license:gpl3+)))
14556
14557 (define-public emacs-fish-completion
14558 (package
14559 (name "emacs-fish-completion")
14560 (version "1.1")
14561 (source
14562 (origin
14563 (method git-fetch)
14564 (uri (git-reference
14565 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
14566 (commit version)))
14567 (file-name (git-file-name name version))
14568 (sha256
14569 (base32
14570 "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021"))))
14571 (build-system emacs-build-system)
14572 (inputs `(("fish" ,fish)))
14573 (arguments
14574 `(#:phases
14575 (modify-phases %standard-phases
14576 (add-after 'unpack 'configure
14577 (lambda* (#:key inputs outputs #:allow-other-keys)
14578 (let ((fish (assoc-ref inputs "fish")))
14579 ;; Specify the absolute file names of the various
14580 ;; programs so that everything works out-of-the-box.
14581 (make-file-writable "fish-completion.el")
14582 (emacs-substitute-variables
14583 "fish-completion.el"
14584 ("fish-completion-command"
14585 (string-append fish "/bin/fish")))))))))
14586 (home-page
14587 "https://gitlab.com/Ambrevar/emacs-fish-completion")
14588 (synopsis "Fish completion for Emacs pcomplete")
14589 (description
14590 "This package provides completion for the Fish shell to pcomplete (used
14591 by shell and Eshell). You can set it up globally with:
14592
14593 @example
14594 (when (and (executable-find \"fish\")
14595 (require 'fish-completion nil t))
14596 (global-fish-completion-mode))
14597 @end example
14598
14599 Alternatively, you can call the @code{fish-completion-mode} manually or in
14600 shell/Eshell mode hook.
14601
14602 The package @code{emacs-bash-completion} is an optional dependency: if available,
14603 @code{fish-completion-complete} can be configured to fall back on bash to further
14604 try completing. See @code{fish-completion-fallback-on-bash-p}.")
14605 (license license:gpl3+)))
14606
14607 (define-public emacs-gif-screencast
14608 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
14609 (package
14610 (name "emacs-gif-screencast")
14611 (version (git-version "20180616" "1" commit))
14612 (source
14613 (origin
14614 (method url-fetch)
14615 (uri (string-append
14616 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
14617 "repository/archive.tar.gz?ref="
14618 commit))
14619 (sha256
14620 (base32
14621 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
14622 (build-system emacs-build-system)
14623 (inputs
14624 `(("scrot" ,scrot)
14625 ("imagemagick" ,imagemagick)
14626 ("gifsicle" ,gifsicle)))
14627 (arguments
14628 `(#:phases
14629 (modify-phases %standard-phases
14630 (add-after 'unpack 'configure
14631 (lambda* (#:key inputs outputs #:allow-other-keys)
14632 (let ((scrot (assoc-ref inputs "scrot"))
14633 (imagemagick (assoc-ref inputs "imagemagick"))
14634 (gifsicle (assoc-ref inputs "gifsicle")))
14635 ;; Specify the absolute file names of the various
14636 ;; programs so that everything works out-of-the-box.
14637 (emacs-substitute-variables
14638 "gif-screencast.el"
14639 ("gif-screencast-program"
14640 (string-append scrot "/bin/scrot"))
14641 ("gif-screencast-convert-program"
14642 (string-append imagemagick "/bin/convert"))
14643 ("gif-screencast-cropping-program"
14644 (string-append imagemagick "/bin/mogrify"))
14645 ("gif-screencast-optimize-program"
14646 (string-append gifsicle "/bin/gifsicle")))))))))
14647 (home-page
14648 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
14649 (synopsis "One-frame-per-action GIF recording")
14650 (description
14651 "Call @code{gif-screencast} to start a recording.
14652 A screenshot is taken for every user action. Call
14653 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
14654 the GIF result.")
14655 (license license:gpl3+))))
14656
14657 (define-public emacs-google-translate
14658 (package
14659 (name "emacs-google-translate")
14660 (version "0.11.18")
14661 (source
14662 (origin
14663 (method git-fetch)
14664 (uri (git-reference
14665 (url "https://github.com/atykhonov/google-translate/")
14666 (commit (string-append "v" version))))
14667 (file-name (git-file-name name version))
14668 (sha256
14669 (base32
14670 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
14671 (build-system emacs-build-system)
14672 (home-page "https://github.com/atykhonov/google-translate")
14673 (synopsis "Emacs interface to Google Translate")
14674 (description
14675 "This package provides an Emacs interface to the Google Translate
14676 on-line service.")
14677 (license license:gpl3+)))
14678
14679 (define-public emacs-helm-company
14680 (package
14681 (name "emacs-helm-company")
14682 (version "0.2.5")
14683 (source
14684 (origin
14685 (method git-fetch)
14686 (uri (git-reference
14687 (url "https://github.com/Sodel-the-Vociferous/helm-company")
14688 (commit (string-append "v" version))))
14689 (file-name (git-file-name name version))
14690 (sha256
14691 (base32
14692 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
14693 (build-system emacs-build-system)
14694 (propagated-inputs
14695 `(("emacs-helm" ,emacs-helm)
14696 ("emacs-company" ,emacs-company)))
14697 (native-inputs
14698 `(("emacs-ert-runner" ,emacs-ert-runner)))
14699 (arguments
14700 `(#:tests? #t
14701 #:test-command '("ert-runner")))
14702 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
14703 (synopsis "Helm interface for company-mode")
14704 (description
14705 "This is a Helm interface to company-mode, a text completion
14706 framework.")
14707 (license license:gpl3+)))
14708
14709 (define-public emacs-helm-descbinds
14710 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
14711 (package
14712 (name "emacs-helm-descbinds")
14713 (version (git-version "1.13" "1" commit))
14714 (source
14715 (origin
14716 (method git-fetch)
14717 (uri (git-reference
14718 (url "https://github.com/emacs-helm/helm-descbinds")
14719 (commit commit)))
14720 (file-name (git-file-name name version))
14721 (sha256
14722 (base32
14723 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
14724 (build-system emacs-build-system)
14725 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
14726 (home-page "https://github.com/emacs-helm/helm-descbinds")
14727 (synopsis "Convenient @code{describe-bindings} with Helm")
14728 (description
14729 "This package is a replacement of @code{describe-bindings} for Helm.
14730 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
14731 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
14732 @code{helm-descbinds}. The bindings are presented in a similar way as
14733 @code{describe-bindings} does, but you can use completion to find the command
14734 you searched for and execute it, or view its documentation.")
14735 (license license:gpl3+))))
14736
14737 (define-public emacs-helm-emms
14738 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
14739 (package
14740 (name "emacs-helm-emms")
14741 (version (git-version "1.3" "2" commit))
14742 (source
14743 (origin
14744 (method git-fetch)
14745 (uri (git-reference
14746 (url "https://github.com/emacs-helm/helm-emms")
14747 (commit commit)))
14748 (file-name (git-file-name name version))
14749 (sha256
14750 (base32
14751 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
14752 (build-system emacs-build-system)
14753 (propagated-inputs
14754 `(("emacs-helm" ,emacs-helm)
14755 ("emacs-emms" ,emacs-emms)))
14756 (home-page
14757 "https://github.com/emacs-helm/helm-emms")
14758 (synopsis "Emms for Helm")
14759 (description "Helm interface for Emms to browse all tracks and all folders
14760 from @code{emms-source-file-default-directory}.")
14761 (license license:gpl3+))))
14762
14763 (define-public emacs-helm-exwm
14764 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
14765 (package
14766 (name "emacs-helm-exwm")
14767 (version (git-version "20180703" "2" commit))
14768 (source
14769 (origin
14770 (method git-fetch)
14771 (uri (git-reference
14772 (url "https://github.com/emacs-helm/helm-exwm.git")
14773 (commit commit)))
14774 (sha256
14775 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
14776 (build-system emacs-build-system)
14777 (propagated-inputs
14778 `(("emacs-helm" ,emacs-helm)
14779 ("emacs-exwm" ,emacs-exwm)))
14780 (home-page
14781 "https://github.com/emacs-helm/helm-exwm")
14782 (synopsis "Helm for EXWM buffers")
14783 (description
14784 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
14785 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
14786 switch between the various windows of one or several specific applications.
14787 See @code{helm-exwm-switch-browser} for an example.")
14788 (license license:gpl3+))))
14789
14790 (define-public emacs-helm-flycheck
14791 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
14792 (package
14793 (name "emacs-helm-flycheck")
14794 (version (git-version "0.4" "1" commit))
14795 (source
14796 (origin
14797 (method git-fetch)
14798 (uri (git-reference
14799 (url "https://github.com/yasuyk/helm-flycheck")
14800 (commit commit)))
14801 (file-name (git-file-name name version))
14802 (sha256
14803 (base32
14804 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
14805 (build-system emacs-build-system)
14806 (propagated-inputs
14807 `(("emacs-dash" ,emacs-dash)
14808 ("emacs-flycheck" ,emacs-flycheck)
14809 ("emacs-helm" ,emacs-helm)))
14810 (home-page "https://github.com/yasuyk/helm-flycheck")
14811 (synopsis "Show Flycheck errors with Helm")
14812 (description
14813 "This integrates Flycheck with Helm.")
14814 (license license:gpl3+))))
14815
14816 (define-public emacs-helm-ls-git
14817 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
14818 (package
14819 (name "emacs-helm-ls-git")
14820 (version (git-version "1.9.1" "1" commit))
14821 (source
14822 (origin
14823 (method git-fetch)
14824 (uri (git-reference
14825 (url "https://github.com/emacs-helm/helm-ls-git")
14826 (commit commit)))
14827 (file-name (git-file-name name version))
14828 (sha256
14829 (base32
14830 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
14831 (build-system emacs-build-system)
14832 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
14833 (home-page "https://github.com/emacs-helm/helm-ls-git")
14834 (synopsis "Helm interface for listing the files in a Git repository")
14835 (description
14836 "This package provides a Helm interface for Git files.
14837 @itemize
14838 @item Display the open buffers in project.
14839 @item Display a status source showing state of project (modified files etc.).
14840 @item Display a list of all files in project under git control.
14841 @item Quickly look at diffs of modified files.
14842 @item Allow switching to @code{git status} with your preferred frontend
14843 (vc-dir, Magit,etc.).
14844 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
14845 can use ack-grep instead of grep).
14846 @item Integrate usage of gid from id-utils.
14847 @item Full integration with @code{helm-find-files}, allow you to browse
14848 projects unrelated to current-buffer.
14849 @item In addition, all actions of type files and buffers are provided.
14850 @end itemize\n")
14851 (license license:gpl3+))))
14852
14853 (define-public emacs-helm-mu
14854 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
14855 (package
14856 (name "emacs-helm-mu")
14857 (version (git-version "20180513" "1" commit))
14858 (source
14859 (origin
14860 (method git-fetch)
14861 (uri (git-reference
14862 (url "https://github.com/emacs-helm/helm-mu.git")
14863 (commit commit)))
14864 (sha256
14865 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
14866 (build-system emacs-build-system)
14867 (propagated-inputs
14868 `(("emacs-helm" ,emacs-helm)
14869 ("mu" ,mu)))
14870 (home-page
14871 "https://github.com/emacs-helm/helm-mu")
14872 (synopsis
14873 "Helm sources for searching emails and contacts")
14874 (description
14875 "Helm sources for searching emails and contacts using @code{mu} and
14876 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
14877 Emacs build on top of mu. Mu is highly efficient making it possible to get
14878 instant results even for huge maildirs. It also provides search operators,
14879 e.g: @code{from:Peter to:Anne flag:attach search term}.")
14880 (license license:gpl3+))))
14881
14882 (define-public emacs-helm-pass
14883 (package
14884 (name "emacs-helm-pass")
14885 (version "0.3")
14886 (source
14887 (origin
14888 (method git-fetch)
14889 (uri (git-reference
14890 (url "https://github.com/emacs-helm/helm-pass")
14891 (commit version)))
14892 (file-name (git-file-name name version))
14893 (sha256
14894 (base32
14895 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
14896 (build-system emacs-build-system)
14897 (propagated-inputs
14898 `(("emacs-helm" ,emacs-helm)
14899 ("emacs-password-store" ,emacs-password-store)))
14900 (home-page "https://github.com/emacs-helm/helm-pass")
14901 (synopsis "Helm interface to pass, the standard Unix password manager")
14902 (description
14903 "Users of @code{helm-pass} may also be interested in functionality
14904 provided by other Emacs packages dealing with pass:
14905 @itemize
14906 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
14907 @item @code{emacs-pass}, a major mode for @code{pass}.
14908 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
14909 @code{pass}, included in Emacs 26+).
14910 @end itemize\n")
14911 (license license:gpl3+)))
14912
14913 (define-public emacs-image+
14914 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
14915 (package
14916 (name "emacs-image+")
14917 (version (git-version "0.6.2" "1" commit))
14918 (source
14919 (origin
14920 (method git-fetch)
14921 (uri (git-reference
14922 (url "https://github.com/mhayashi1120/Emacs-imagex")
14923 (commit commit)))
14924 (file-name (git-file-name name version))
14925 (sha256
14926 (base32
14927 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
14928 (build-system emacs-build-system)
14929 (inputs `(("imagemagick" ,imagemagick)))
14930 (arguments
14931 `(#:phases
14932 (modify-phases %standard-phases
14933 (add-after 'unpack 'configure
14934 (lambda* (#:key inputs outputs #:allow-other-keys)
14935 (let ((imagemagick (assoc-ref inputs "imagemagick")))
14936 ;; Specify the absolute file names of the various
14937 ;; programs so that everything works out-of-the-box.
14938 (chmod "image+.el" #o666)
14939 (emacs-substitute-variables
14940 "image+.el"
14941 ("imagex-convert-command"
14942 (string-append imagemagick "/bin/convert"))
14943 ("imagex-identify-command"
14944 (string-append imagemagick "/bin/identify")))))))))
14945 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
14946 (synopsis "Image manipulation extensions for Emacs")
14947 (description
14948 "Image+ provides keybindings allowing you to zoom in or zoom out of an
14949 image, rotate it, save modified images, and more.")
14950 (license license:gpl3+))))
14951
14952 (define-public emacs-package-lint
14953 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
14954 (package
14955 (name "emacs-package-lint")
14956 (version (git-version "0.5" "1" commit))
14957 (source
14958 (origin
14959 (method git-fetch)
14960 (uri (git-reference
14961 (url "https://github.com/purcell/package-lint")
14962 (commit commit)))
14963 (file-name (git-file-name name version))
14964 (sha256
14965 (base32
14966 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
14967 (build-system emacs-build-system)
14968 (home-page "https://github.com/purcell/package-lint")
14969 (synopsis "Linting library for elisp package authors")
14970 (description
14971 "This provides a list of issues with the Emacs package metadata of a file,
14972 e.g. the package dependencies it requires. See function
14973 @code{package-lint-buffer}. Checks will currently be enabled only if a
14974 \"Package-Requires:\" or \"Package-Version:\" header is present in the
14975 file.")
14976 (license license:gpl3+))))
14977
14978 (define-public emacs-picpocket
14979 (let ((version "40")
14980 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
14981 (package
14982 (name "emacs-picpocket")
14983 (version version)
14984 (source
14985 (origin
14986 (method git-fetch)
14987 (uri (git-reference
14988 (url "https://github.com/johanclaesson/picpocket")
14989 (commit commit)))
14990 (file-name (git-file-name name version))
14991 (sha256
14992 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
14993 (build-system emacs-build-system)
14994 (arguments ; needed for running tests
14995 `(#:tests? #t
14996 #:emacs ,emacs
14997 #:test-command '("emacs" "--batch"
14998 "-l" "picpocket-test.el"
14999 "-f" "ert-run-tests-batch-and-exit")))
15000 (home-page "https://github.com/johanclaesson/picpocket")
15001 (synopsis "Image viewer for Emacs")
15002 (description
15003 "Picpocket is an image viewer for GNU Emacs. It has commands for:
15004
15005 @itemize
15006 @item File operations on the picture files (delete, move, copy, hardlink).
15007 @item Scale and rotate the picture.
15008 @item Associate pictures with tags which are saved to disk.
15009 @item Filter pictures according to tags.
15010 @item Customizing keystrokes for quick tagging and file operations.
15011 @item Undo and browse history of undoable commands.
15012 @end itemize")
15013 (license license:gpl3+))))
15014
15015 (define-public emacs-wgrep-helm
15016 ;; `emacs-wgrep-helm' was mistakenly added.
15017 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
15018
15019 (define-public emacs-mu4e-conversation
15020 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
15021 (revision "5"))
15022 (package
15023 (name "emacs-mu4e-conversation")
15024 (version (git-version "0.0.1" revision commit))
15025 (source
15026 (origin
15027 (method git-fetch)
15028 (uri (git-reference
15029 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
15030 (commit commit)))
15031 (file-name (git-file-name name version))
15032 (sha256
15033 (base32
15034 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
15035 (build-system emacs-build-system)
15036 (propagated-inputs
15037 `(("mu" ,mu)))
15038 (home-page
15039 "https://gitlab.com/Ambrevar/mu4e-conversation")
15040 (synopsis
15041 "Show a complete thread in a single buffer")
15042 (description
15043 "This package offers an alternate view to mu4e's e-mail display. It
15044 shows all e-mails of a thread in a single view, where each correspondent has
15045 their own face. Threads can be displayed linearly (in which case e-mails are
15046 displayed in chronological order) or as an Org document where the node tree
15047 maps the thread tree.")
15048 (license license:gpl3+))))
15049
15050 (define-public emacs-pinentry
15051 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
15052 (revision "1"))
15053 (package
15054 (name "emacs-pinentry")
15055 (version (git-version "0.1" revision commit))
15056 (source
15057 (origin
15058 (method url-fetch)
15059 (uri (string-append
15060 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
15061 "/packages/pinentry/pinentry.el?id=" commit))
15062 (file-name (string-append "pinentry.el"))
15063 (sha256
15064 (base32
15065 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
15066 (build-system emacs-build-system)
15067 (propagated-inputs
15068 `(("gnupg" ,gnupg)))
15069 (home-page "https://elpa.gnu.org/packages/pinentry.html")
15070 (synopsis "GnuPG Pinentry server implementation")
15071 (description
15072 "This package allows GnuPG passphrase to be prompted through the
15073 minibuffer instead of graphical dialog.
15074
15075 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
15076 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
15077 server with @code{M-x pinentry-start}.")
15078 (license license:gpl3+))))
15079
15080 (define-public emacs-so-long
15081 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
15082 (revision "2"))
15083 (package
15084 (name "emacs-so-long")
15085 (version (git-version "1.0" revision commit))
15086 (source
15087 (origin
15088 (method git-fetch)
15089 (uri (git-reference
15090 (url "https://git.savannah.gnu.org/git/so-long.git")
15091 (commit commit)))
15092 (file-name (git-file-name name version))
15093 (sha256
15094 (base32
15095 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
15096 (build-system emacs-build-system)
15097 (home-page "https://www.emacswiki.org/emacs/SoLong")
15098 (synopsis "Improve performance in files with long lines")
15099 (description "This package improves the performance of Emacs when
15100 viewing files with long lines.")
15101 (license license:gpl3+))))
15102
15103 (define-public emacs-github-review
15104 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
15105 (revision "2"))
15106 (package
15107 (name "emacs-github-review")
15108 (version (git-version "0.1" revision commit))
15109 (source
15110 (origin
15111 (method git-fetch)
15112 (uri (git-reference
15113 (url "https://github.com/charignon/github-review")
15114 (commit commit)))
15115 (file-name (git-file-name name version))
15116 (sha256
15117 (base32
15118 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
15119 (build-system emacs-build-system)
15120 (inputs
15121 `(("emacs-dash" ,emacs-dash)
15122 ("emacs-s" ,emacs-s)
15123 ("emacs-ghub" ,emacs-ghub)))
15124 (native-inputs
15125 `(("emacs-buttercup" ,emacs-buttercup)
15126 ("emacs-undercover" ,emacs-undercover)))
15127 (arguments
15128 `(#:tests? #t
15129 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
15130 (home-page "https://github.com/charignon/github-review")
15131 (synopsis "Review GitHub pull requests within Emacs")
15132 (description "This package provides commands to pull in, comment on, and
15133 accept and reject GitHub pull requests.")
15134 (license license:gpl3+))))
15135
15136 (define-public emacs-deadgrep
15137 (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
15138 (revision "2"))
15139 (package
15140 (name "emacs-deadgrep")
15141 (version (git-version "0.8" revision commit))
15142 (source
15143 (origin
15144 (method git-fetch)
15145 (uri (git-reference
15146 (url "https://github.com/Wilfred/deadgrep")
15147 (commit commit)))
15148 (file-name (git-file-name name version))
15149 (sha256
15150 (base32
15151 "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
15152 (build-system emacs-build-system)
15153 (inputs
15154 `(("emacs-dash" ,emacs-dash)
15155 ("emacs-s" ,emacs-s)
15156 ("emacs-spinner" ,emacs-spinner)))
15157 (home-page "https://github.com/Wilfred/deadgrep")
15158 (synopsis "Frontend for @code{ripgrep}")
15159 (description "This package provides an Emacs interface for performing
15160 searches with @code{ripgrep}.")
15161 (license license:gpl3+))))
15162
15163 (define-public emacs-focus
15164 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
15165 (version "0.1.1")
15166 (revision "1"))
15167 (package
15168 (name "emacs-focus")
15169 (version (git-version version revision commit))
15170 (source
15171 (origin
15172 (method git-fetch)
15173 (uri (git-reference
15174 (url "https://github.com/larstvei/Focus")
15175 (commit commit)))
15176 (file-name (git-file-name name version))
15177 (sha256
15178 (base32
15179 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
15180 (build-system emacs-build-system)
15181 (home-page "https://github.com/larstvei/Focus")
15182 (synopsis "Minor mode for focusing in on relevant text")
15183 (description "This package provides a minor mode that dims the color of
15184 text in neighboring sections.")
15185 (license license:gpl3+))))
15186
15187 (define-public emacs-pandoc-mode
15188 (package
15189 (name "emacs-pandoc-mode")
15190 (version "2.27.2")
15191 (source
15192 (origin
15193 (method git-fetch)
15194 (uri (git-reference
15195 (url "https://github.com/joostkremers/pandoc-mode")
15196 (commit version)))
15197 (file-name (git-file-name name version))
15198 (sha256
15199 (base32
15200 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
15201 (build-system emacs-build-system)
15202 (propagated-inputs
15203 `(("emacs-dash" ,emacs-dash)
15204 ("emacs-hydra" ,emacs-hydra)))
15205 (home-page "https://github.com/joostkremers/pandoc-mode")
15206 (synopsis "Minor mode for interacting with Pandoc")
15207 (description "This package provides a Hydra menu for interacting with the
15208 Pandoc, the document-conversion tool.")
15209 (license license:bsd-3)))
15210
15211 (define-public emacs-ccls
15212 (let ((commit "b1acc336f27d8a3bbc750c2dc3be915a4ac1afea")
15213 (revision "3"))
15214 (package
15215 (name "emacs-ccls")
15216 (version (git-version "0.1" revision commit))
15217 (source
15218 (origin
15219 (method git-fetch)
15220 (uri (git-reference
15221 (url "https://github.com/MaskRay/emacs-ccls")
15222 (commit commit)))
15223 (file-name (git-file-name name version))
15224 (sha256
15225 (base32
15226 "1qgfxc5d1hb32ks1fxpx7agpw7dvnkz99wydlflc9fqq75g8v142"))))
15227 (build-system emacs-build-system)
15228 (propagated-inputs
15229 `(("emacs-dash" ,emacs-dash)
15230 ("emacs-projectile" ,emacs-projectile)
15231 ("emacs-lsp-mode" ,emacs-lsp-mode)))
15232 (home-page "https://github.com/MaskRay/emacs-ccls")
15233 (synopsis "Emacs support for the @code{ccls} language server")
15234 (description "This package extends @code{lsp-mode} to work with @code{C}
15235 and @code{C++} files through the @code{ccls} language server.")
15236 (license license:bsd-3))))
15237
15238 (define-public emacs-org-brain
15239 (package
15240 (name "emacs-org-brain")
15241 (version "0.5")
15242 (source
15243 (origin
15244 (method git-fetch)
15245 (uri (git-reference
15246 (url "https://github.com/Kungsgeten/org-brain.git")
15247 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
15248 (file-name (git-file-name name version))
15249 (sha256
15250 (base32
15251 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
15252 (build-system emacs-build-system)
15253 (home-page "https://github.com/Kungsgeten/org-brain")
15254 (synopsis "Org-mode wiki and concept-mapping for Emacs")
15255 (description "@code{emacs-org-brain} implements a variant of concept
15256 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
15257 org-mode entries, where each entry is a file or a headline, and you can get a
15258 visual overview of the relationships between the entries: parents, children,
15259 siblings and friends. This visual overview can also be used to browse your
15260 entries. You can think of entries as nodes in a mind map, or pages in a
15261 wiki.")
15262 (license license:expat)))
15263
15264 (define-public emacs-recent-addresses
15265 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
15266 (revision "1"))
15267 (package
15268 (name "emacs-recent-addresses")
15269 (home-page "http://nschum.de/src/emacs/recent-addresses/")
15270 (version (git-version "0.1" revision commit))
15271 (source (origin
15272 (method git-fetch)
15273 (uri (git-reference
15274 ;; Note: Use a branch that works with Helm. Submitted
15275 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
15276 (url "https://github.com/civodul/recent-addresses.el")
15277 (commit commit)))
15278 (sha256
15279 (base32
15280 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
15281 (file-name (git-file-name name version))))
15282 (build-system emacs-build-system)
15283 (synopsis "Record recently-used email addressed and auto-complete them")
15284 (description
15285 "@code{recent-addresses} is an Emacs package that allows you to quickly
15286 look up previously used email addresses. It can be used alongside the Gnus
15287 email client.")
15288 (license license:gpl2+))))
15289
15290 (define-public emacs-fold-dwim
15291 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
15292 (revision "0"))
15293 (package
15294 (name "emacs-fold-dwim")
15295 (version (git-version "1.2" revision commit))
15296 (home-page "https://github.com/emacsattic/fold-dwim")
15297 (source (origin
15298 (method git-fetch)
15299 (uri (git-reference (url home-page) (commit commit)))
15300 (sha256
15301 (base32
15302 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
15303 (file-name (git-file-name name version))))
15304 (build-system emacs-build-system)
15305 (synopsis "Unified user interface for Emacs folding modes")
15306 (description
15307 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
15308 can do different things depending on the context. In this package, it means
15309 that, if the cursor is in a currently hidden folded construction, we want to
15310 show it; if it's not, we want to hide whatever fold the cursor is in.")
15311 (license license:gpl2+))))
15312
15313 (define-public emacs-markup-faces
15314 (package
15315 (name "emacs-markup-faces")
15316 (version "1.0.0")
15317 (source
15318 (origin
15319 (method url-fetch)
15320 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
15321 version ".el"))
15322 (sha256
15323 (base32
15324 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
15325 (build-system emacs-build-system)
15326 (home-page "https://github.com/sensorflo/markup-faces")
15327 (synopsis "Collection of Emacs faces for markup language modes")
15328 (description "emacs-markup-faces is like font-lock-faces, but tailored for
15329 markup languages instead programming languages. The sub group markup-faces-text
15330 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
15331 common look and feel, or let's say theme, across different markup language modes
15332 and 'text viewing modes' respectively.")
15333 (license license:gpl3+)))
15334
15335 (define-public emacs-adoc-mode
15336 (package
15337 (name "emacs-adoc-mode")
15338 (version "0.6.6")
15339 (source
15340 (origin
15341 (method url-fetch)
15342 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
15343 version ".el"))
15344 (sha256
15345 (base32
15346 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
15347 (build-system emacs-build-system)
15348 (propagated-inputs
15349 `(("emacs-markup-faces" ,emacs-markup-faces)))
15350 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
15351 (synopsis "AsciiDoc mode for Emacs")
15352 (description "This package provides an Emacs major mode for editing AsciiDoc
15353 files. It focuses on highlighting the document to improve readability.")
15354 (license license:gpl2+)))
15355
15356 (define-public emacs-rust-mode
15357 (package
15358 (name "emacs-rust-mode")
15359 (version "0.4.0")
15360 (source (origin
15361 (method git-fetch)
15362 (uri (git-reference
15363 (url "https://github.com/rust-lang/rust-mode")
15364 (commit version)))
15365 (file-name (git-file-name name version))
15366 (sha256
15367 (base32
15368 "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"))))
15369 (build-system emacs-build-system)
15370 (arguments
15371 `(#:phases
15372 (modify-phases %standard-phases
15373 (replace 'check
15374 (lambda _
15375 (invoke "sh" "run_rust_emacs_tests.sh"))))))
15376 (home-page "https://github.com/rust-lang/rust-mode")
15377 (synopsis "Major Emacs mode for editing Rust source code")
15378 (description "This package provides a major Emacs mode for editing Rust
15379 source code.")
15380 (license (list license:expat
15381 license:asl2.0))))
15382
15383 (define-public emacs-ztree
15384 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
15385 (package
15386 (name "emacs-ztree")
15387 (version (git-version "1.0.5" "1" commit))
15388 (source
15389 (origin
15390 (method git-fetch)
15391 (uri (git-reference
15392 (url "https://github.com/fourier/ztree")
15393 (commit commit)))
15394 (file-name (git-file-name name version))
15395 (sha256
15396 (base32
15397 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
15398 (build-system emacs-build-system)
15399 (home-page "https://github.com/fourier/ztree")
15400 (synopsis "Directory tree comparison mode for Emacs")
15401 (description "Ztree is a project dedicated to implementation of several
15402 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
15403 @command{ztree-diff} and @command{ztree-dir} (the basis of
15404 @command{ztree-diff}).")
15405 (license license:gpl3))))
15406
15407 (define-public emacs-helm-org-contacts
15408 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
15409 (package
15410 (name "emacs-helm-org-contacts")
15411 (version (git-version "20180707" "1" commit))
15412 (source
15413 (origin
15414 (method git-fetch)
15415 (uri (git-reference
15416 (url "https://github.com/tmalsburg/helm-org-contacts")
15417 (commit commit)))
15418 (file-name (git-file-name name version))
15419 (sha256
15420 (base32
15421 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
15422 (build-system emacs-build-system)
15423 (propagated-inputs
15424 `(("emacs-dash" ,emacs-dash)
15425 ("emacs-helm" ,emacs-helm)
15426 ("emacs-s" ,emacs-s)))
15427 (home-page "https://github.com/tmalsburg/helm-org-contacts")
15428 (synopsis "Helm source for org-contacts")
15429 (description "This Helm source can be used to search contacts stored in
15430 org-contacts format. There are actions for inserting postal addresses, email
15431 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
15432 was called.")
15433 (license license:gpl3))))
15434
15435 (define-public emacs-dired-du
15436 (package
15437 (name "emacs-dired-du")
15438 (version "0.5.2")
15439 (source
15440 (origin
15441 (method url-fetch)
15442 (uri (string-append
15443 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
15444 (sha256
15445 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
15446 (build-system emacs-build-system)
15447 (home-page "https://elpa.gnu.org/packages/dired-du.html")
15448 (synopsis "Dired with recursive directory sizes")
15449 (description
15450 "Display the recursive size of directories in Dired.
15451 This file defines a minor mode @command{dired-du-mode} to show the recursive
15452 size of directories in Dired buffers. If @command{du} program is available,
15453 then the directory sizes are obtained with it. Otherwise, the directory sizes
15454 are obtained with Lisp. The former is faster and provide a more precise
15455 value. For directories where the user doesn't have read permission, the
15456 recursive size is not obtained. Once this mode is enabled, every new Dired
15457 buffer displays recursive dir sizes.")
15458 (license license:gpl3+)))
15459
15460 (define-public emacs-dired-rsync
15461 (package
15462 (name "emacs-dired-rsync")
15463 (version "0.4")
15464 (source (origin
15465 (method git-fetch)
15466 (uri (git-reference
15467 (url "https://github.com/stsquad/dired-rsync.git")
15468 (commit version)))
15469 (file-name (git-file-name name version))
15470 (sha256
15471 (base32
15472 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
15473 (build-system emacs-build-system)
15474 (propagated-inputs
15475 `(("emacs-s" ,emacs-s)
15476 ("emacs-dash" ,emacs-dash)))
15477 (home-page "https://github.com/stsquad/dired-rsync/")
15478 (synopsis "Support for rsync from Emacs dired buffers")
15479 (description "This package adds a single command @code{dired-rsync} which
15480 allows the user to copy marked files in a dired buffer via @code{rsync}. This
15481 is useful, especially for large files, because the copy happens in the
15482 background and doesn’t lock up Emacs. It is also more efficient than using
15483 tramps own encoding methods for moving data between systems.")
15484 (license license:gpl3+)))
15485
15486 (define-public emacs-pcre2el
15487 ;; Last release is very old so we get the latest commit.
15488 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
15489 (package
15490 (name "emacs-pcre2el")
15491 (version (git-version "1.8" "1" commit))
15492 (source
15493 (origin
15494 (method git-fetch)
15495 (uri (git-reference
15496 (url "https://github.com/joddie/pcre2el")
15497 (commit commit)))
15498 (file-name (git-file-name name version))
15499 (sha256
15500 (base32
15501 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
15502 (build-system emacs-build-system)
15503 (home-page "https://github.com/joddie/pcre2el")
15504 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
15505 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
15506 Tools) is a utility for working with regular expressions in Emacs, based on a
15507 recursive-descent parser for regexp syntax. In addition to converting (a
15508 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
15509
15510 @itemize
15511 @item convert Emacs syntax to PCRE
15512 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
15513 @item untangle complex regexps by showing the parse tree in @code{rx} form and
15514 highlighting the corresponding chunks of code
15515 @item show the complete list of strings (productions) matching a regexp,
15516 provided the list is finite
15517 @item provide live font-locking of regexp syntax (so far only for Elisp
15518 buffers – other modes on the TODO list).
15519 @end itemize\n")
15520 (license license:gpl3))))
15521
15522 (define-public emacs-magit-todos
15523 (package
15524 (name "emacs-magit-todos")
15525 (version "1.4")
15526 (source
15527 (origin
15528 (method git-fetch)
15529 (uri (git-reference
15530 (url "https://github.com/alphapapa/magit-todos")
15531 (commit version)))
15532 (file-name (git-file-name name version))
15533 (sha256
15534 (base32
15535 "09pjb4k409gc0h51vb5az1shx02c1hx8cnvhi529n7dm4maildg5"))))
15536 (build-system emacs-build-system)
15537 (propagated-inputs
15538 `(("emacs-async" ,emacs-async)
15539 ("emacs-dash" ,emacs-dash)
15540 ("emacs-f" ,emacs-f)
15541 ("emacs-hl-todo" ,emacs-hl-todo)
15542 ("magit" ,emacs-magit)
15543 ("emacs-pcre2el" ,emacs-pcre2el)
15544 ("emacs-s" ,emacs-s)))
15545 (home-page "https://github.com/alphapapa/magit-todos")
15546 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
15547 (description "This package displays keyword entries from source code
15548 comments and Org files in the Magit status buffer. Activating an item jumps
15549 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
15550 few (like NOTE).")
15551 (license license:gpl3)))
15552
15553 (define-public emacs-git-annex
15554 ;; Unreleased version has a fontification fix.
15555 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
15556 (revision "1"))
15557 (package
15558 (name "emacs-git-annex")
15559 (version (string-append "1.1-" revision "." (string-take commit 8)))
15560 (source
15561 (origin
15562 (method git-fetch)
15563 (uri (git-reference
15564 (url "https://github.com/jwiegley/git-annex-el")
15565 (commit commit)))
15566 (file-name (git-file-name name version))
15567 (sha256
15568 (base32
15569 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
15570 (build-system emacs-build-system)
15571 (home-page "https://github.com/jwiegley/git-annex-el")
15572 (synopsis "Emacs integration for git-annex")
15573 (description "Enhances Dired and buffers visiting annex files with
15574 git-annex functionality. In Dired, the names of annex files are shortened by
15575 hiding the symbolic links and fontified based on whether content is present.
15576 Commands for performing some common operations (e.g., unlocking and adding
15577 files) are provided.")
15578 (license license:gpl2+))))
15579
15580 (define-public emacs-hackernews
15581 (let ((commit "2362d7b00e59da7caddc8c0adc24dccb42fddef9")
15582 (revision "2"))
15583 (package
15584 (name "emacs-hackernews")
15585 (version (git-version "0.5.0" revision commit))
15586 (source
15587 (origin
15588 (method git-fetch)
15589 (uri (git-reference
15590 (url "https://github.com/clarete/hackernews.el")
15591 (commit commit)))
15592 (file-name (git-file-name name version))
15593 (sha256
15594 (base32
15595 "1hcc5b173yzcvvd2ls3jxrmsw2w9bi21m9hcpcirkn0nh93ywadv"))))
15596 (build-system emacs-build-system)
15597 (home-page "https://github.com/clarete/hackernews.el")
15598 (synopsis "Hacker News client for Emacs")
15599 (description "The @command{hackernews} package is able to fetch stories
15600 from six different Hacker News feeds, namely top, new, best, ask, show and job
15601 stories. The default feed is top stories, which corresponds to the Hacker
15602 News homepage.")
15603 (license license:gpl3))))
15604
15605 (define-public emacs-youtube-dl
15606 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
15607 (revision "2"))
15608 (package
15609 (name "emacs-youtube-dl")
15610 (version (git-version "1.0" "2" commit))
15611 (source
15612 (origin
15613 (method git-fetch)
15614 (uri (git-reference
15615 (url "https://github.com/skeeto/youtube-dl-emacs/")
15616 (commit commit)))
15617 (file-name (git-file-name name version))
15618 (sha256
15619 (base32
15620 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
15621 (build-system emacs-build-system)
15622 (inputs
15623 `(("youtube-dl" ,youtube-dl)))
15624 (arguments
15625 `(#:phases
15626 (modify-phases %standard-phases
15627 (add-after 'unpack 'configure
15628 (lambda* (#:key inputs #:allow-other-keys)
15629 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
15630 ;; .el is read-only in git.
15631 (chmod "youtube-dl.el" #o644)
15632 ;; Specify the absolute file names of the various
15633 ;; programs so that everything works out-of-the-box.
15634 (emacs-substitute-variables
15635 "youtube-dl.el"
15636 ("youtube-dl-program"
15637 (string-append youtube-dl "/bin/youtube-dl")))))))))
15638 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
15639 (synopsis "Emacs youtube-dl download manager")
15640 (description "This package manages a video download queue for
15641 @command{youtube-dl}, which serves as the back end. It manages a single
15642 @command{youtube-dl} subprocess, downloading one video at a time. New videos
15643 can be queued at any time.")
15644 (license license:unlicense))))
15645
15646 (define-public emacs-org-web-tools
15647 (package
15648 (name "emacs-org-web-tools")
15649 (version "1.0")
15650 (source
15651 (origin
15652 (method git-fetch)
15653 (uri (git-reference
15654 (url "https://github.com/alphapapa/org-web-tools")
15655 (commit version)))
15656 (file-name (git-file-name name version))
15657 (sha256
15658 (base32
15659 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
15660 (build-system emacs-build-system)
15661 (propagated-inputs
15662 `(("emacs-dash" ,emacs-dash)
15663 ("emacs-esxml" ,emacs-esxml)
15664 ("emacs-s" ,emacs-s)))
15665 (inputs
15666 `(("pandoc" ,ghc-pandoc)))
15667 (arguments
15668 `(#:phases
15669 (modify-phases %standard-phases
15670 (add-after 'unpack 'patch-exec-paths
15671 (lambda* (#:key inputs #:allow-other-keys)
15672 (let ((pandoc (assoc-ref inputs "pandoc")))
15673 (substitute* "org-web-tools.el"
15674 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
15675 #t))))))
15676 (home-page "https://github.com/alphapapa/org-web-tools")
15677 (synopsis "Display/Process web page as Org-mode content")
15678 (description "This package contains library functions and commands useful
15679 for retrieving web page content and processing it into Org-mode content.
15680
15681 For example, you can copy a URL to the clipboard or kill-ring, then run a
15682 command that downloads the page, isolates the “readable” content with
15683 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
15684 displays it in an Org-mode buffer. Another command does all of that but
15685 inserts it as an Org entry instead of displaying it in a new buffer.")
15686 (license license:gpl3+)))
15687
15688 (define-public emacs-blimp
15689 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
15690 (package
15691 (name "emacs-blimp")
15692 (version (git-version "0.0.0" "1" commit))
15693 (source
15694 (origin
15695 (method git-fetch)
15696 (uri (git-reference
15697 (url "https://github.com/walseb/blimp")
15698 (commit commit)))
15699 (file-name (git-file-name name version))
15700 (sha256
15701 (base32
15702 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
15703 (build-system emacs-build-system)
15704 (propagated-inputs
15705 `(("emacs-eimp" ,emacs-eimp)))
15706 (home-page "https://github.com/walseb/blimp")
15707 (synopsis "Emacs wrapper around all Imagemagick commands")
15708 (description "Blimp (Bustling Image Manipulation Package) is a complete
15709 wrapper around all Imagemagick commands with descriptions, autocompletion (for
15710 some commands) and hints displayed in prompt using @command{eimp.el} to
15711 execute its commands and resize images.")
15712 (license license:gpl3+))))
15713
15714 (define-public emacs-synosaurus
15715 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
15716 (package
15717 (name "emacs-synosaurus")
15718 (version (git-version "0.1.0" "1" commit))
15719 (source
15720 (origin
15721 (method git-fetch)
15722 (uri (git-reference
15723 (url "https://github.com/hpdeifel/synosaurus")
15724 (commit commit)))
15725 (file-name (git-file-name name version))
15726 (sha256
15727 (base32
15728 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
15729 (build-system emacs-build-system)
15730 (propagated-inputs
15731 `(("wordnet" ,wordnet)))
15732 (arguments
15733 `(#:phases
15734 (modify-phases %standard-phases
15735 (add-after 'unpack 'configure
15736 (lambda* (#:key inputs outputs #:allow-other-keys)
15737 (let ((wn (assoc-ref inputs "wordnet")))
15738 ;; .el is read-only in git.
15739 (chmod "synosaurus-wordnet.el" #o644)
15740 ;; Specify the absolute file names of the various
15741 ;; programs so that everything works out-of-the-box.
15742 (emacs-substitute-variables
15743 "synosaurus-wordnet.el"
15744 ("wordnet-command"
15745 (string-append wn "/bin/wn")))))))))
15746 (home-page "https://github.com/hpdeifel/synosaurus")
15747 (synopsis "Extensible thesaurus mode for Emacs")
15748 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
15749 backends, including the @command{wordnet} offline backend.")
15750 (license license:gpl3+))))
15751
15752 (define-public emacs-editorconfig
15753 (package
15754 (name "emacs-editorconfig")
15755 (version "0.8.0")
15756 (source
15757 (origin
15758 (method git-fetch)
15759 (uri (git-reference
15760 (url "https://github.com/editorconfig/editorconfig-emacs")
15761 (commit (string-append "v" version))))
15762 (file-name (git-file-name name version))
15763 (sha256
15764 (base32
15765 "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
15766 (build-system emacs-build-system)
15767 (home-page "https://github.com/editorconfig/editorconfig-emacs")
15768 (synopsis "Define and maintain consistent coding styles between different
15769 editors and IDEs")
15770 (description "The EditorConfig project consists of a file format for
15771 defining coding styles and a collection of text editor plugins that enable
15772 editors to read the file format and adhere to defined styles. EditorConfig
15773 files are easily readable and they work nicely with version control systems.")
15774 (license license:gpl3+)))
15775
15776 (define-public emacs-all-the-icons
15777 (package
15778 (name "emacs-all-the-icons")
15779 (version "3.2.0")
15780 (source
15781 (origin
15782 (method git-fetch)
15783 (uri (git-reference
15784 (url "https://github.com/domtronn/all-the-icons.el.git")
15785 (commit version)))
15786 (file-name (git-file-name name version))
15787 (sha256
15788 (base32
15789 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
15790 (build-system emacs-build-system)
15791 (arguments
15792 `(#:include '("\\.el$" "^data/" "^fonts/")
15793 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
15794 ;; all-the-icons--root-code". Ignoring tests.
15795 #:exclude '("^test/")
15796 #:tests? #f))
15797 (propagated-inputs
15798 `(("f" ,emacs-f)
15799 ("memoize" ,emacs-memoize)))
15800 (home-page "https://github.com/domtronn/all-the-icons.el")
15801 (synopsis "Collect icon fonts and propertize them within Emacs")
15802 (description "All-the-icons is a utility package to collect various icon
15803 fonts and propertize them within Emacs. Icon fonts allow you to propertize
15804 and format icons the same way you would normal text. This enables things such
15805 as better scaling of and anti aliasing of the icons.")
15806 ;; Package is released under Expat license. Elisp files are licensed
15807 ;; under GPL3+. Fonts come with various licenses: Expat for
15808 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
15809 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
15810 ;; "ocitcons.ttf" and "weathericons.ttf".
15811 (license
15812 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
15813
15814 (define-public emacs-wttrin
15815 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
15816 (revision "1"))
15817 (package
15818 (name "emacs-wttrin")
15819 (version (git-version "0.2.0" revision commit))
15820 (source (origin
15821 (method git-fetch)
15822 (uri (git-reference
15823 (url "https://github.com/bcbcarl/emacs-wttrin.git")
15824 (commit commit)))
15825 (file-name (git-file-name name version))
15826 (sha256
15827 (base32
15828 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
15829 (build-system emacs-build-system)
15830 (propagated-inputs
15831 `(("emacs-xterm-color" ,emacs-xterm-color)))
15832 (home-page "https://github.com/bcbcarl/emacs-wttrin")
15833 (synopsis "Frontend for weather web service @url{wttr.in}")
15834 (description "This package provides local weather information from
15835 @url{wttr.in}.")
15836 (license license:expat))))
15837
15838 (define-public emacs-powerline
15839 (package
15840 (name "emacs-powerline")
15841 (version "2.4")
15842 (source
15843 (origin
15844 (method git-fetch)
15845 (uri (git-reference
15846 (url "https://github.com/milkypostman/powerline.git")
15847 (commit version)))
15848 (file-name (git-file-name name version))
15849 (sha256
15850 (base32
15851 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
15852 (build-system emacs-build-system)
15853 (home-page "https://github.com/milkypostman/powerline/")
15854 (synopsis "Mode-line plugin for Emacs")
15855 (description "Powerline is a utility plugin which allows you to create
15856 a better-looking, more functional Emacs mode-line. A collection of predefined
15857 themes comes with the package.")
15858 (license license:gpl3+)))
15859
15860 (define-public emacs-spaceline
15861 (package
15862 (name "emacs-spaceline")
15863 (version "2.0.1")
15864 (source
15865 (origin
15866 (method git-fetch)
15867 (uri (git-reference
15868 (url "https://github.com/TheBB/spaceline.git")
15869 (commit (string-append "v" version))))
15870 (file-name (git-file-name name version))
15871 (sha256
15872 (base32
15873 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
15874 (build-system emacs-build-system)
15875 (propagated-inputs
15876 `(("dash" ,emacs-dash)
15877 ("powerline" ,emacs-powerline)
15878 ("s" ,emacs-s)))
15879 (home-page "https://github.com/TheBB/spaceline")
15880 (synopsis "Powerline theme from Spacemacs")
15881 (description "Spaceline provides Spacemacs' mode-line theme.
15882 This package provides features for three kinds of users.
15883
15884 @itemize
15885 @item You just want to use the Spacemacs mode-line theme and forget about it.
15886 @item You want to use something similar to the Spacemacs mode-line theme, but
15887 with a handful of easy tweaks.
15888 @item You want an easy-to-use library for building your own mode-line from
15889 scratch, and you think the Spacemacs theme looks good.
15890 @end itemize")
15891 (license license:gpl3+)))
15892
15893 (define-public emacs-column-marker
15894 (package
15895 (name "emacs-column-marker")
15896 (version "9")
15897 (source
15898 (origin
15899 (method url-fetch)
15900 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
15901 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
15902 (build-system emacs-build-system)
15903 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
15904 (synopsis "Emacs mode for highlighting columns")
15905 (description
15906 "With @code{column-marker.el} you can highlight any number of text columns.
15907 Three such highlight column markers are provided by default. This is
15908 especially useful for languages like COBOL or Fortran where certain columns
15909 have special meaning. It is also handy for aligning text across long vertical
15910 distances. Multi-column characters, such as @kbd{TAB} are treated
15911 correctly.")
15912 (license license:gpl2+)))
15913
15914 (define-public emacs-slime-repl-ansi-color
15915 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
15916 (package
15917 (name "emacs-slime-repl-ansi-color")
15918 (version (git-version "0.0.0" "1" commit))
15919 (source (origin
15920 (method git-fetch)
15921 (uri (git-reference
15922 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
15923 (commit commit)))
15924 (file-name (git-file-name name version))
15925 (sha256
15926 (base32
15927 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
15928 (build-system emacs-build-system)
15929 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
15930 (synopsis "Color ANSI codes in the REPL of SLIME")
15931 (description "Color ANSI codes in the REPL of SLIME")
15932 (license license:gpl2+))))
15933
15934 (define-public emacs-helm-slime
15935 (package
15936 (name "emacs-helm-slime")
15937 (version "0.4.0")
15938 (source (origin
15939 (method git-fetch)
15940 (uri (git-reference
15941 (url "https://github.com/emacs-helm/helm-slime")
15942 (commit version)))
15943 (file-name (git-file-name name version))
15944 (sha256
15945 (base32
15946 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
15947 (build-system emacs-build-system)
15948 (propagated-inputs
15949 `(("emacs-helm" ,emacs-helm)
15950 ("emacs-slime" ,emacs-slime)))
15951 (home-page "https://github.com/emacs-helm/helm-slime")
15952 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
15953 (description "Helm-SLIME defines a few new commands:
15954
15955 @itemize
15956 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
15957 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
15958 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
15959 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
15960 @end itemize\n")
15961 (license license:gpl3+)))
15962
15963 (define-public emacs-gtk-look
15964 (package
15965 (name "emacs-gtk-look")
15966 (version "29")
15967 (source (origin
15968 (method url-fetch)
15969 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
15970 (sha256
15971 (base32
15972 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
15973 (build-system emacs-build-system)
15974 (arguments
15975 `(#:phases
15976 (modify-phases %standard-phases
15977 (add-after 'unpack 'configure
15978 (lambda _
15979 ;; File is read-only.
15980 (chmod "gtk-look.el" #o644)
15981 (emacs-substitute-variables "gtk-look.el"
15982 ("gtk-lookup-devhelp-indices"
15983 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
15984 #t)))))
15985 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
15986 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
15987 (description "@command{gtk-look} finds and displays HTML documentation for
15988 GTK, GNOME and Glib functions and variables in Emacs, similar to what
15989 info-lookup-symbol does for info files (C-h S). The documentation is expected
15990 to be devhelp indexes with HTML files. The location of the indexes can be
15991 customized. In addition to C code development @command{gtk-look} is good for
15992
15993 @itemize
15994 @item @command{perl-gtk2}, recognising class funcs like
15995 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
15996 @item @command{guile-gnome}, recognising methods like @command{set-text} and
15997 classes like @command{<gtk-window>}.
15998 @end itemize\n")
15999 (license license:gpl3+)))
16000
16001 (define-public emacs-ov
16002 (package
16003 (name "emacs-ov")
16004 (version "1.0.6")
16005 (source (origin
16006 (method git-fetch)
16007 (uri (git-reference
16008 (url "https://github.com/ShingoFukuyama/ov.el.git")
16009 (commit version)))
16010 (file-name (git-file-name name version))
16011 (sha256
16012 (base32
16013 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
16014 (build-system emacs-build-system)
16015 (home-page "https://github.com/ShingoFukuyama/ov.el")
16016 (synopsis "Overlay library for Emacs Lisp")
16017 (description "@code{ov.el} provides a simple way to manipulate overlays in
16018 Emacs.")
16019 (license license:gpl3+)))
16020
16021 (define-public emacs-matrix-client
16022 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
16023 (package
16024 (name "emacs-matrix-client")
16025 (version (git-version "0.0.0" "4" commit))
16026 (source (origin
16027 (method git-fetch)
16028 (uri (git-reference
16029 (url "https://github.com/jgkamat/matrix-client-el.git")
16030 (commit commit)))
16031 (file-name (git-file-name name version))
16032 (sha256
16033 (base32
16034 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
16035 (build-system emacs-build-system)
16036 (arguments
16037 `(#:phases
16038 (modify-phases %standard-phases
16039 (add-after 'unpack 'add-missing-require
16040 ;; Fix a filter error at runtime due to a missing require.
16041 ;; Reported upstream:
16042 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
16043 (lambda _
16044 (substitute* "matrix-client-room.el"
16045 (("\\(require 'dash-functional\\)" all)
16046 (string-append all "\n" "(require 'anaphora)")))
16047 #t)))))
16048 (propagated-inputs
16049 `(("a" ,emacs-a)
16050 ("anaphora" ,emacs-anaphora)
16051 ("dash" ,emacs-dash)
16052 ("esxml" ,emacs-esxml)
16053 ("f" ,emacs-f)
16054 ("frame-purpose" ,emacs-frame-purpose)
16055 ("ht" ,emacs-ht)
16056 ("ov" ,emacs-ov)
16057 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
16058 ("request" ,emacs-request)
16059 ("s" ,emacs-s)
16060 ("tracking" ,emacs-tracking)))
16061 (home-page "https://github.com/jgkamat/matrix-client-el")
16062 (synopsis "Matrix client for Emacs")
16063 (description "@code{matrix-client} is a simple chat UI to Matrix.org
16064 rooms. It also provides an API which allows Emacs to seamlessly create
16065 RPC channels with users and other software.")
16066 (license license:gpl3+))))
16067
16068 (define-public emacs-sesman
16069 (package
16070 (name "emacs-sesman")
16071 (version "0.3.4")
16072 (source
16073 (origin
16074 (method git-fetch)
16075 (uri (git-reference
16076 (url "https://github.com/vspinu/sesman.git")
16077 (commit (string-append "v" version))))
16078 (file-name (git-file-name name version))
16079 (sha256
16080 (base32
16081 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
16082 (build-system emacs-build-system)
16083 (arguments
16084 `(#:phases
16085 (modify-phases %standard-phases
16086 (add-after 'unpack 'set-shell
16087 ;; Setting the SHELL environment variable is required for the tests
16088 ;; to find sh.
16089 (lambda _
16090 (setenv "SHELL" (which "sh"))
16091 #t)))
16092 #:tests? #t
16093 #:test-command '("make" "test")))
16094 (home-page "https://github.com/vspinu/sesman")
16095 (synopsis "Session manager for Emacs based IDEs")
16096 (description "Sesman provides facilities for session management and
16097 interactive session association with the current contexts (project, directory,
16098 buffers). While sesman can be used to manage arbitrary sessions, it primary
16099 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
16100 (license license:gpl3+)))
16101
16102 (define-public emacs-buttercup
16103 (package
16104 (name "emacs-buttercup")
16105 (version "1.16")
16106 (source
16107 (origin
16108 (method git-fetch)
16109 (uri (git-reference
16110 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
16111 (commit (string-append "v" version))))
16112 (file-name (git-file-name name version))
16113 (sha256
16114 (base32
16115 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
16116 (build-system emacs-build-system)
16117 (arguments
16118 `(#:tests? #t
16119 #:test-command '("make" "test")
16120 #:phases
16121 (modify-phases %standard-phases
16122 (add-after 'install 'install-bin
16123 (lambda* (#:key outputs #:allow-other-keys)
16124 (install-file "bin/buttercup"
16125 (string-append (assoc-ref outputs "out") "/bin"))
16126 #t)))))
16127 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
16128 (synopsis "Behavior driven emacs lisp testing framework")
16129 (description "Buttercup is a behavior-driven development framework for
16130 testing Emacs Lisp code. It allows to group related tests so they can share
16131 common set-up and tear-down code, and allows the programmer to \"spy\" on
16132 functions to ensure they are called with the right arguments during testing.")
16133 (license license:gpl3+)))
16134
16135 (define-public emacs-wordnut
16136 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
16137 (revision "0"))
16138 (package
16139 (name "emacs-wordnut")
16140 (version (git-version "0.1" revision commit))
16141 (home-page "https://github.com/gromnitsky/wordnut")
16142 (source (origin
16143 (method git-fetch)
16144 (uri (git-reference (url home-page) (commit commit)))
16145 (sha256
16146 (base32
16147 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
16148 (patches
16149 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
16150 (file-name (git-file-name name version))))
16151 (build-system emacs-build-system)
16152 (propagated-inputs
16153 `(("wordnet" ,wordnet)
16154 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
16155 (synopsis "Major mode for WordNet")
16156 (description "This Emacs package provides an interface for
16157 @code{wordnet}. Features include completion, if the query is not found
16158 too ambiguous and navigation in the result buffer.")
16159 (license license:gpl3+))))
16160
16161 (define-public emacs-frame-purpose
16162 (package
16163 (name "emacs-frame-purpose")
16164 (version "1.0")
16165 (source (origin
16166 (method git-fetch)
16167 (uri (git-reference
16168 (url "https://github.com/alphapapa/frame-purpose.el.git")
16169 (commit version)))
16170 (sha256
16171 (base32
16172 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
16173 (file-name (git-file-name name version))))
16174 (build-system emacs-build-system)
16175 (inputs
16176 `(("dash" ,emacs-dash)))
16177 (synopsis "Purpose-specific frames for Emacs")
16178 (description "@code{frame-purpose} makes it easy to open purpose-specific
16179 frames that only show certain buffers, e.g. by buffers’ major mode, their
16180 filename or directory, etc, with custom frame/X-window titles, icons, and
16181 other frame parameters.")
16182 (home-page "https://github.com/alphapapa/frame-purpose.el")
16183 (license license:gpl3+)))
16184
16185 (define-public emacs-arduino-mode
16186 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
16187 (package
16188 (name "emacs-arduino-mode")
16189 (version (git-version "0" "0" commit))
16190 (source (origin
16191 (method git-fetch)
16192 (uri (git-reference
16193 (url "https://github.com/bookest/arduino-mode.git")
16194 (commit commit)))
16195 (sha256
16196 (base32
16197 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
16198 (file-name (git-file-name name version))))
16199 (build-system emacs-build-system)
16200 (synopsis "Emacs major mode for editing Arduino sketches")
16201 (description "Emacs major mode for editing Arduino sketches.")
16202 (home-page "https://github.com/bookest/arduino-mode")
16203 (license license:gpl3+))))
16204
16205 (define-public emacs-general
16206 (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e")
16207 (revision "3"))
16208 (package
16209 (name "emacs-general")
16210 (version (git-version "0" revision commit))
16211 (source (origin
16212 (method git-fetch)
16213 (uri (git-reference
16214 (url "https://github.com/noctuid/general.el.git")
16215 (commit commit)))
16216 (sha256
16217 (base32
16218 "1aqi5axkwfng6rm52sblf738c7rffp10sqs69dvkh2fv3ps8q28i"))
16219 (file-name (git-file-name name version))))
16220 (build-system emacs-build-system)
16221 (native-inputs
16222 `(("emacs-buttercup" ,emacs-buttercup)
16223 ("emacs-evil" ,emacs-evil)
16224 ("emacs-which-key" ,emacs-which-key)
16225 ("emacs-use-package" ,emacs-use-package)))
16226 (arguments
16227 `(#:phases
16228 (modify-phases %standard-phases
16229 (add-before 'check 'fix-makefile
16230 (lambda _
16231 (substitute* "Makefile"
16232 (("cask exec ") ""))
16233 #t)))
16234 #:tests? #t
16235 #:test-command '("make" "test")))
16236 (home-page "https://github.com/noctuid/general.el")
16237 (synopsis "More convenient key definitions in emacs")
16238 (description "@code{general.el} provides a more convenient method for
16239 binding keys in emacs (for both evil and non-evil users). Like
16240 @code{use-package}, which provides a convenient, unified interface for
16241 managing packages, @code{general.el} is intended to provide a convenient,
16242 unified interface for key definitions. While this package does implement some
16243 completely new functionality (such as the ability to make vim-style
16244 keybindings under non-prefix keys with an optional timeout), its primary
16245 purpose is to build on existing functionality to make key definition more
16246 clear and concise. @code{general-define-key} is user-extensible and supports
16247 defining multiple keys in multiple keymaps at once, implicitly wrapping key
16248 strings with (@code{kbd ...}), using named prefix key sequences (like the
16249 leader key in vim), and much more.")
16250 (license license:gpl3+))))
16251
16252 (define-public emacs-tldr
16253 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
16254 (package
16255 (name "emacs-tldr")
16256 (version (git-version "0" "0" commit))
16257 (home-page "https://github.com/kuanyui/tldr.el")
16258 (source (origin
16259 (method git-fetch)
16260 (uri (git-reference
16261 (url (string-append home-page ".git"))
16262 (commit commit)))
16263 (sha256
16264 (base32
16265 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
16266 (file-name (git-file-name name version))))
16267 (build-system emacs-build-system)
16268 (synopsis "Simplified and community-driven man pages for Emacs")
16269 (description "@code{emacs-tldr} allows the user to access tldr pages
16270 from within emacs. The @code{tldr} pages are a community effort to simplify
16271 the man pages with practical examples.")
16272 (license license:wtfpl2))))
16273
16274 (define-public emacs-window-layout
16275 (package
16276 (name "emacs-window-layout")
16277 (version "1.4")
16278 (home-page "https://github.com/kiwanami/emacs-window-layout")
16279 (source (origin
16280 (method git-fetch)
16281 (uri (git-reference
16282 (url home-page)
16283 (commit (string-append "v" version))))
16284 (sha256
16285 (base32
16286 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
16287 (file-name (git-file-name name version))))
16288 (build-system emacs-build-system)
16289 (synopsis "Simple window layout management framework for emacs")
16290 (description "A window-layout management library that can split a frame
16291 or a window into some windows according to a layout recipe.")
16292 (license license:gpl3+)))
16293
16294 (define-public emacs-e2wm
16295 (package
16296 (name "emacs-e2wm")
16297 (version "1.4")
16298 (home-page "https://github.com/kiwanami/emacs-window-manager")
16299 (source (origin
16300 (method git-fetch)
16301 (uri (git-reference
16302 (url home-page)
16303 (commit (string-append "v" version))))
16304 (sha256
16305 (base32
16306 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
16307 (file-name (git-file-name name version))))
16308 (build-system emacs-build-system)
16309 (propagated-inputs
16310 `(("emacs-window-layout" ,emacs-window-layout)))
16311 (synopsis "Equilibrium Emacs Window Manager")
16312 (description "E2WM is a window manager for Emacs. It enables to
16313 customize the place of pop-up window, how the windows are split, how the
16314 buffers are located in the windows, keybinds to manipulate windows and
16315 buffers, etc. It also has plug-ins to help your Emacs life.")
16316 (license license:gpl3+)))
16317
16318 (define-public emacs-ctable
16319 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
16320 (package
16321 (name "emacs-ctable")
16322 (version (git-version "0.1.2" "1" commit))
16323 (home-page "https://github.com/kiwanami/emacs-ctable")
16324 (source (origin
16325 (method git-fetch)
16326 (uri (git-reference
16327 (url home-page)
16328 (commit commit)))
16329 (sha256
16330 (base32
16331 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
16332 (file-name (git-file-name name version))))
16333 (build-system emacs-build-system)
16334 (synopsis "Table component for Emacs Lisp")
16335 (description "This program is a table component for Emacs Lisp. Other
16336 programs can use this table component for the application UI.")
16337 (license license:gpl3+))))
16338
16339 (define-public emacs-leetcode
16340 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
16341 (revision "1"))
16342 (package
16343 (name "emacs-leetcode")
16344 (version (git-version "0" "1" commit))
16345 (home-page "https://github.com/ginqi7/leetcode-emacs.git")
16346 (source (origin
16347 (method git-fetch)
16348 (uri (git-reference
16349 (url "https://github.com/ginqi7/leetcode-emacs")
16350 (commit commit)))
16351 (sha256
16352 (base32
16353 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
16354 (file-name (git-file-name name version))))
16355 (build-system emacs-build-system)
16356 (propagated-inputs
16357 `(("emacs-names" ,emacs-names)
16358 ("emacs-ctable" ,emacs-ctable)))
16359 (synopsis "Solve and submit LeetCode problems from within Emacs")
16360 (description "This package provides an Emacs interface to LeetCode
16361 allowing users to log in and solve problems of their choice using Emacs.")
16362 (license license:unlicense))))
16363
16364 (define-public emacs-epc
16365 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
16366 (package
16367 (name "emacs-epc")
16368 (version (git-version "0.1.1" "1" commit))
16369 (home-page "https://github.com/kiwanami/emacs-epc")
16370 (source (origin
16371 (method git-fetch)
16372 (uri (git-reference
16373 (url home-page)
16374 (commit commit)))
16375 (sha256
16376 (base32
16377 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
16378 (file-name (git-file-name name version))))
16379 (build-system emacs-build-system)
16380 (propagated-inputs
16381 `(("emacs-deferred" ,emacs-deferred)
16382 ("emacs-ctable" ,emacs-ctable)))
16383 (synopsis "RPC stack for Emacs Lisp")
16384 (description "This program is an asynchronous RPC stack for Emacs.
16385 Using this RPC stack, Emacs can communicate with the peer process
16386 smoothly. Because the protocol employs S-expression encoding and consists of
16387 asynchronous communications, the RPC response is fairly good.")
16388 (license license:gpl3+))))
16389
16390 (define-public emacs-edbi
16391 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
16392 (package
16393 (name "emacs-edbi")
16394 (version (git-version "0.1.3" "1" commit))
16395 (home-page "https://github.com/kiwanami/emacs-edbi")
16396 (source (origin
16397 (method git-fetch)
16398 (uri (git-reference
16399 (url home-page)
16400 (commit commit)))
16401 (sha256
16402 (base32
16403 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
16404 (file-name (git-file-name name version))))
16405 (build-system emacs-build-system)
16406 (inputs
16407 `(("perl" ,perl)
16408 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
16409 ("perl-dbi" ,perl-dbi)
16410 ;; TODO: Adding support for perl-dbd-mysql and others would
16411 ;; dramatically increase the closure size. Make several packages?
16412 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
16413 (propagated-inputs
16414 `(("emacs-e2wm" ,emacs-e2wm)
16415 ("emacs-epc" ,emacs-epc)))
16416 (arguments
16417 `(#:include '("\\.el$" "\\.pl$")
16418 #:phases
16419 (modify-phases %standard-phases
16420 (add-after 'install 'patch-path
16421 (lambda* (#:key inputs outputs #:allow-other-keys)
16422 (let ((perl (assoc-ref inputs "perl"))
16423 (dir (string-append (assoc-ref outputs "out")
16424 "/share/emacs/site-lisp/guix.d/edbi-"
16425 ,version)))
16426 (substitute* (string-append dir "/edbi.el")
16427 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
16428 (chmod (string-append dir "/edbi-bridge.pl") #o555)
16429 (wrap-program (string-append dir "/edbi-bridge.pl")
16430 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
16431 #t))))))
16432 (synopsis "Database Interface for Emacs Lisp")
16433 (description "This program connects the database server through Perl's
16434 DBI, and provides DB-accessing API and the simple management UI.")
16435 (license license:gpl3+))))
16436
16437 (define-public emacs-edbi-sqlite
16438 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
16439 (package
16440 (name "emacs-edbi-sqlite")
16441 (version (git-version "0.1.1" "1" commit))
16442 (home-page "https://github.com/proofit404/edbi-sqlite")
16443 (source (origin
16444 (method git-fetch)
16445 (uri (git-reference
16446 (url home-page)
16447 (commit commit)))
16448 (sha256
16449 (base32
16450 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
16451 (file-name (git-file-name name version))))
16452 (build-system emacs-build-system)
16453 (propagated-inputs
16454 `(("emacs-edbi" ,emacs-edbi)))
16455 (synopsis "Open SQLite files in Emacs")
16456 (description "This package is a convenience wrapper for @command{edbi}
16457 to open SQLite databases.")
16458 (license license:gpl3+))))
16459
16460 (define-public emacs-nix-mode
16461 (package
16462 (name "emacs-nix-mode")
16463 (version "1.4.1")
16464 (source
16465 (origin
16466 (method git-fetch)
16467 (uri (git-reference
16468 (url "https://github.com/NixOS/nix-mode.git")
16469 (commit (string-append "v" version))))
16470 (file-name (git-file-name name version))
16471 (sha256
16472 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
16473 (build-system emacs-build-system)
16474 (inputs
16475 `(("emacs-company" ,emacs-company)
16476 ("emacs-json-mode" ,emacs-json-mode)
16477 ("emacs-mmm-mode" ,emacs-mmm-mode)))
16478 (home-page "https://github.com/NixOS/nix-mode")
16479 (synopsis "Emacs major mode for editing Nix expressions")
16480 (description "@code{nixos-mode} provides an Emacs major mode for editing
16481 Nix expressions. It supports syntax highlighting, indenting and refilling of
16482 comments.")
16483 (license license:lgpl2.1+)))
16484
16485 (define-public emacs-simple-mpc
16486 ;; There have been no releases.
16487 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
16488 (revision "1"))
16489 (package
16490 (name "emacs-simple-mpc")
16491 (version (git-version "0" revision commit))
16492 (source
16493 (origin
16494 (method git-fetch)
16495 (uri (git-reference
16496 (url "https://github.com/jorenvo/simple-mpc.git")
16497 (commit commit)))
16498 (file-name (git-file-name name version))
16499 (sha256
16500 (base32
16501 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
16502 (build-system emacs-build-system)
16503 (propagated-inputs `(("emacs-s" ,emacs-s)))
16504 (home-page "https://github.com/jorenvo/simple-mpc")
16505 (synopsis "Simple Emacs frontend to mpc")
16506 (description "This package provides an Emacs major mode which acts as a
16507 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
16508 (license license:gpl3+))))
16509
16510 (define-public emacs-mkmcc-gnuplot-mode
16511 (package
16512 (name "emacs-mkmcc-gnuplot-mode")
16513 (version "1.2.0")
16514 (source
16515 (origin
16516 (method git-fetch)
16517 (uri (git-reference
16518 (url "https://github.com/mkmcc/gnuplot-mode")
16519 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
16520 (file-name (git-file-name name version))
16521 (sha256
16522 (base32
16523 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
16524 (build-system emacs-build-system)
16525 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
16526 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
16527 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
16528 mode for editing gnuplot scripts. It provides syntax highlighting,
16529 indentation and a command to plot the file.")
16530 (license license:gpl3+)))
16531
16532 (define-public emacs-cmake-font-lock
16533 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
16534 (revision "1"))
16535 (package
16536 (name "emacs-cmake-font-lock")
16537 (version (git-version "0.1.5" revision commit))
16538 (source (origin
16539 (method git-fetch)
16540 (uri (git-reference
16541 (url "https://github.com/Lindydancer/cmake-font-lock.git")
16542 (commit commit)))
16543 (file-name (git-file-name name version))
16544 (sha256
16545 (base32
16546 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
16547 (build-system emacs-build-system)
16548 (native-inputs
16549 `(("emacs-faceup" ,emacs-faceup)))
16550 (arguments
16551 `(#:include (cons "^admin\\/" %default-include)))
16552 (home-page "https://github.com/Lindydancer/cmake-font-lock")
16553 (synopsis "Advanced type-aware syntax-highlighting for CMake")
16554 (description "This package highlights function arguments in CMake
16555 according to their use.")
16556 (license license:gpl3+))))
16557
16558 (define-public emacs-dtrt-indent
16559 (package
16560 (name "emacs-dtrt-indent")
16561 (version "0.8")
16562 (source (origin
16563 (method git-fetch)
16564 (uri (git-reference
16565 (url "https://github.com/jscheid/dtrt-indent")
16566 (commit version)))
16567 (file-name (git-file-name name version))
16568 (sha256
16569 (base32
16570 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
16571 (build-system emacs-build-system)
16572 (home-page "https://github.com/jscheid/dtrt-indent")
16573 (synopsis "Minor mode that guesses the indentation offset")
16574 (description "This package provides a minor mode that guesses the
16575 indentation offset originally used for creating source code files and
16576 transparently adjusts the corresponding settings in Emacs, making it more
16577 convenient to edit foreign files.")
16578 (license license:gpl2+)))
16579
16580 (define-public emacs-repo
16581 (package
16582 (name "emacs-repo")
16583 (version "0.1.3")
16584 (source (origin
16585 (method git-fetch)
16586 (uri (git-reference
16587 (url "https://github.com/canatella/repo-el")
16588 (commit version)))
16589 (file-name (git-file-name name version))
16590 (sha256
16591 (base32
16592 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
16593 (build-system emacs-build-system)
16594 (native-inputs
16595 `(("emacs-el-mock" ,emacs-el-mock)
16596 ("ert-runner" ,emacs-ert-runner)))
16597 (propagated-inputs
16598 `(("emacs-f" ,emacs-f)
16599 ("magit" ,emacs-magit)))
16600 (home-page "https://github.com/canatella/repo-el")
16601 (synopsis "Emacs interface for the Google Repo tool")
16602 (description "This package provides integration of the Google Repo tool
16603 with emacs. It displays the output of the @code{repo status} command in a
16604 buffer and launches Magit from the status buffer for the project at point.")
16605 (license license:gpl3+)))
16606
16607 (define-public emacs-alect-themes
16608 (package
16609 (name "emacs-alect-themes")
16610 (version "0.9")
16611 (source (origin
16612 (method git-fetch)
16613 (uri (git-reference
16614 (url "https://github.com/alezost/alect-themes")
16615 (commit (string-append "v" version))))
16616 (file-name (git-file-name name version))
16617 (sha256
16618 (base32
16619 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
16620 (build-system emacs-build-system)
16621 (home-page "https://github.com/alezost/alect-themes")
16622 (synopsis "Low contrast, light, dark and black color theme for Emacs")
16623 (description "@code{emacs-alect-themes} provides configurable light, dark
16624 and black color themes for Emacs. The themes are intended to be used with
16625 GUI.")
16626 (license license:gpl3+)))
16627
16628 (define-public emacs-google-c-style
16629 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
16630 (revision "0"))
16631 (package
16632 (name "emacs-google-c-style")
16633 (version (git-version "0.1" revision commit))
16634 (source (origin
16635 (method git-fetch)
16636 (uri (git-reference
16637 (url "https://github.com/google/styleguide")
16638 (commit commit)))
16639 (file-name (git-file-name name version))
16640 (sha256
16641 (base32
16642 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
16643 (build-system emacs-build-system)
16644 (home-page "https://github.com/google/styleguide")
16645 (synopsis "Emacs settings file for Google C/C++ style")
16646 (description "@code{emacs-google-c-style} provides an Emacs settings
16647 file for Google C and C++ style.")
16648 (license license:gpl1+))))
16649
16650 (define-public emacs-redshank
16651 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
16652 (revision "1"))
16653 (package
16654 (name "emacs-redshank")
16655 (version (git-version "0.1" revision commit))
16656 (source (origin
16657 (method git-fetch)
16658 (uri (git-reference
16659 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
16660 (commit commit)))
16661 (file-name (git-file-name name version))
16662 (sha256
16663 (base32
16664 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
16665 (build-system emacs-build-system)
16666 (propagated-inputs
16667 `(("emacs-paredit" ,emacs-paredit)))
16668 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
16669 (synopsis "Common Lisp Editing Extensions (for Emacs)")
16670 (description "Redshank is a collection of code-wrangling Emacs macros
16671 mostly geared towards Common Lisp, but some are useful for other Lisp
16672 dialects, too. Redshank's code transformations aim to be expression-based (as
16673 opposed to character-based).")
16674 (license license:gpl1+))))
16675
16676 (define-public emacs-disk-usage
16677 (package
16678 (name "emacs-disk-usage")
16679 (version "1.3.3")
16680 (source
16681 (origin
16682 (method git-fetch)
16683 (uri (git-reference
16684 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
16685 (commit version)))
16686 (file-name (git-file-name name version))
16687 (sha256
16688 (base32
16689 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
16690 (build-system emacs-build-system)
16691 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
16692 (synopsis "Sort and browse disk usage listings with Emacs")
16693 (description "Disk Usage is a file system analyzer: it offers a tabulated
16694 view of file listings sorted by size. Directory sizes are computed
16695 recursively. The results are cached for speed.")
16696 (license license:gpl3+)))
16697
16698 (define-public emacs-orgit
16699 (package
16700 (name "emacs-orgit")
16701 (version "1.5.3")
16702 (home-page "https://github.com/magit/orgit")
16703 (source (origin
16704 (method git-fetch)
16705 (uri (git-reference
16706 (url home-page)
16707 (commit (string-append "v" version))))
16708 (file-name (git-file-name name version))
16709 (sha256
16710 (base32
16711 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
16712 (build-system emacs-build-system)
16713 (propagated-inputs
16714 `(("emacs-dash" ,emacs-dash)
16715 ("emacs-magit" ,emacs-magit)))
16716 (synopsis "Support for Org links to Magit buffers")
16717 (description "This package defines several Org link types, which can be
16718 used to link to certain Magit buffers. Use the command
16719 @command{org-store-link} while such a buffer is current to store a link.
16720 Later you can insert it into an Org buffer using the command
16721 @code{org-insert-link}.")
16722 (license license:gpl3+)))
16723
16724 (define-public emacs-amx
16725 (package
16726 (name "emacs-amx")
16727 (version "3.2")
16728 (source (origin
16729 (method git-fetch)
16730 (uri (git-reference
16731 (url "https://github.com/DarwinAwardWinner/amx")
16732 (commit (string-append "v" version))))
16733 (file-name (git-file-name name version))
16734 (sha256
16735 (base32
16736 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
16737 (build-system emacs-build-system)
16738 (propagated-inputs `(("emacs-s" ,emacs-s)))
16739 (home-page "https://github.com/DarwinAwardWinner/amx")
16740 (synopsis "Alternative interface for M-x")
16741 (description "Amx is an alternative interface for M-x in Emacs. It
16742 provides several enhancements over the ordinary
16743 @code{execute-extended-command}, such as prioritizing your most-used commands
16744 in the completion list and showing keyboard shortcuts, and it supports several
16745 completion systems for selecting commands, such as ido and ivy.")
16746 (license license:gpl3+)))
16747
16748 (define-public emacs-lorem-ipsum
16749 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
16750 (package
16751 (name "emacs-lorem-ipsum")
16752 (version (git-version "0.2" "1" commit))
16753 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
16754 (source (origin
16755 (method git-fetch)
16756 (uri (git-reference
16757 (url home-page)
16758 (commit commit)))
16759 (file-name (git-file-name name version))
16760 (sha256
16761 (base32
16762 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
16763 (build-system emacs-build-system)
16764 (synopsis "Insert dummy pseudo Latin text in Emacs")
16765 (description "This package provides convenience functions to insert
16766 dummy Latin text into a buffer. This can be useful if you need to produce
16767 paragraphs or pages of text for testing purposes.")
16768 (license license:gpl3+))))
16769
16770 (define-public emacs-lisp-extra-font-lock
16771 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
16772 (package
16773 (name "emacs-lisp-extra-font-lock")
16774 (version (git-version "0.0.6" "1" commit))
16775 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
16776 (source (origin
16777 (method git-fetch)
16778 (uri (git-reference
16779 (url home-page)
16780 (commit commit)))
16781 (file-name (git-file-name name version))
16782 (sha256
16783 (base32
16784 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
16785 (build-system emacs-build-system)
16786 (synopsis "Highlight bound variables and quoted expressions in Emacs")
16787 (description "This package highlight the location where local variables
16788 is created (bound, for example, by let) as well as quoted and backquoted
16789 constant expressions.")
16790 (license license:gpl3+))))
16791
16792 (define-public emacs-docker-tramp
16793 (package
16794 (name "emacs-docker-tramp")
16795 (version "0.1")
16796 (source
16797 (origin
16798 (method git-fetch)
16799 (uri (git-reference
16800 (url "https://github.com/emacs-pe/docker-tramp.el")
16801 (commit (string-append "v" version))))
16802 (file-name (git-file-name name version))
16803 (sha256
16804 (base32
16805 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
16806 (build-system emacs-build-system)
16807 (home-page "https://github.com/emacs-pe/docker-tramp.el")
16808 (synopsis "TRAMP integration for docker containers")
16809 (description
16810 "This package provides a TRAMP method for Docker containers.")
16811 (license license:gpl3+)))
16812
16813 (define-public emacs-docker
16814 (package
16815 (name "emacs-docker")
16816 (version "1.3.0")
16817 (source (origin
16818 (method git-fetch)
16819 (uri (git-reference
16820 (url "https://github.com/Silex/docker.el")
16821 (commit version)))
16822 (file-name (git-file-name name version))
16823 (sha256
16824 (base32
16825 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
16826 (inputs
16827 `(("emacs-undercover" ,emacs-undercover)))
16828 (propagated-inputs
16829 `(("emacs-dash" ,emacs-dash)
16830 ("emacs-docker-tramp" ,emacs-docker-tramp)
16831 ("emacs-magit-popup" ,emacs-magit-popup)
16832 ("emacs-s" ,emacs-s)
16833 ("emacs-tablist" ,emacs-tablist)
16834 ("emacs-json-mode" ,emacs-json-mode)))
16835 (arguments
16836 `(#:phases
16837 (modify-phases %standard-phases
16838 (delete 'check)))) ;no tests
16839 (build-system emacs-build-system)
16840 (home-page "https://github.com/Silex/docker.el")
16841 (synopsis "Manage docker from Emacs")
16842 (description "This package provides an Emacs interface for Docker.")
16843 (license license:gpl3+)))
16844
16845 (define-public emacs-dockerfile-mode
16846 ;; Latest upstream release is too old.
16847 (let ((commit "ed73e82dcc636dad00d1a8c3b32a49136d25ee60"))
16848 (package
16849 (name "emacs-dockerfile-mode")
16850 (version (git-version "1.2" "2" commit))
16851 (source
16852 (origin
16853 (method git-fetch)
16854 (uri (git-reference
16855 (url "https://github.com/spotify/dockerfile-mode.git")
16856 (commit commit)))
16857 (file-name (git-file-name name version))
16858 (sha256
16859 (base32
16860 "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"))))
16861 (build-system emacs-build-system)
16862 (propagated-inputs
16863 `(("emacs-s" ,emacs-s)))
16864 (home-page "https://github.com/spotify/dockerfile-mode")
16865 (synopsis "Major mode for editing Dockerfile")
16866 (description
16867 "This package provides a major mode @code{dockerfile-mode} for use with
16868 the standard @code{Dockerfile} file format.")
16869 (license license:asl2.0))))
16870
16871 (define-public emacs-lsp-mode
16872 (package
16873 (name "emacs-lsp-mode")
16874 (version "6.1")
16875 (source (origin
16876 (method git-fetch)
16877 (uri (git-reference
16878 (url "https://github.com/emacs-lsp/lsp-mode.git")
16879 (commit version)))
16880 (file-name (git-file-name name version))
16881 (sha256
16882 (base32
16883 "0jn5slhv9zfs446a5966bfg9dq144g22v79wnkx9hxq7if78p652"))))
16884 (build-system emacs-build-system)
16885 (propagated-inputs
16886 `(("emacs-dash" ,emacs-dash)
16887 ("emacs-f" ,emacs-f)
16888 ("emacs-ht" ,emacs-ht)
16889 ("emacs-markdown-mode" ,emacs-markdown-mode)
16890 ("emacs-spinner" ,emacs-spinner)))
16891 (home-page "https://github.com/emacs-lsp/lsp-mode")
16892 (synopsis "Emacs client and library for the Language Server Protocol")
16893 (description "@code{LSP-mode} is a client and library implementation for
16894 the Language Server Protocol. This mode aims to provide an IDE-like
16895 experience by providing optional integration with other popular Emacs packages
16896 like @code{company}, @code{flycheck}, and @code{projectile}.")
16897 (license license:gpl3+)))
16898
16899 (define-public emacs-lsp-ui
16900 (package
16901 (name "emacs-lsp-ui")
16902 (version "6.0")
16903 (source (origin
16904 (method git-fetch)
16905 (uri (git-reference
16906 (url "https://github.com/emacs-lsp/lsp-ui.git")
16907 (commit version)))
16908 (file-name (git-file-name name version))
16909 (sha256
16910 (base32
16911 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
16912 (build-system emacs-build-system)
16913 (propagated-inputs
16914 `(("emacs-dash" ,emacs-dash)
16915 ("emacs-lsp-mode" ,emacs-lsp-mode)
16916 ("emacs-markdown-mode" ,emacs-markdown-mode)
16917 ("emacs-flycheck" ,emacs-flycheck)))
16918 (home-page "https://github.com/emacs-lsp/lsp-ui")
16919 (synopsis "User interface extensions for @code{lsp-mode}")
16920 (description
16921 "@code{LSP-ui} contains several enhancements and integrations for
16922 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
16923 and code peeking.")
16924 (license license:gpl3+)))
16925
16926 (define-public emacs-lsp-ivy
16927 (let ((commit "6fd55316dd62d290429c25ea9b0c1f66069b2f37")
16928 (revision "1"))
16929 (package
16930 (name "emacs-lsp-ivy")
16931 (version (git-version "0.1" revision commit))
16932 (source (origin
16933 (method git-fetch)
16934 (uri (git-reference
16935 (url "https://github.com/emacs-lsp/lsp-ivy.git")
16936 (commit commit)))
16937 (file-name (git-file-name name version))
16938 (sha256
16939 (base32
16940 "0hx9rs66ahl2rqgnmyiyrwk12v7iv8c6gnn7b66985mxjqyyh94r"))))
16941 (build-system emacs-build-system)
16942 (propagated-inputs
16943 `(("emacs-ivy" ,emacs-ivy)
16944 ("emacs-lsp-mode" ,emacs-lsp-mode)
16945 ("emacs-dash" ,emacs-dash)))
16946 (home-page "https://github.com/emacs-lsp/lsp-ivy")
16947 (synopsis "Provide LSP-enhanced completion for symbols")
16948 (description
16949 "This package enhances @code{ivy} with completion for symbols from
16950 workspaces with a LSP-compliant server running.")
16951 (license license:gpl3+))))
16952
16953 (define-public emacs-helm-lsp
16954 (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b")
16955 (revision "1"))
16956 (package
16957 (name "emacs-helm-lsp")
16958 (version (git-version "0.1" revision commit))
16959 (source (origin
16960 (method git-fetch)
16961 (uri (git-reference
16962 (url "https://github.com/emacs-lsp/helm-lsp.git")
16963 (commit commit)))
16964 (file-name (git-file-name name version))
16965 (sha256
16966 (base32
16967 "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"))))
16968 (build-system emacs-build-system)
16969 (propagated-inputs
16970 `(("emacs-helm" ,emacs-helm)
16971 ("emacs-lsp-mode" ,emacs-lsp-mode)
16972 ("emacs-dash" ,emacs-dash)))
16973 (home-page "https://github.com/emacs-lsp/helm-lsp")
16974 (synopsis "Provide LSP-enhanced completion for symbols")
16975 (description
16976 "This package enhances @code{helm} with completion for symbols from
16977 workspaces with a LSP-compliant server running.")
16978 (license license:gpl3+))))
16979
16980 (define-public emacs-helm-notmuch
16981 (package
16982 (name "emacs-helm-notmuch")
16983 (version "1.2")
16984 (home-page "https://github.com/emacs-helm/helm-notmuch/")
16985 (source (origin
16986 (method git-fetch)
16987 (uri (git-reference
16988 (url home-page)
16989 (commit version)))
16990 (file-name (git-file-name name version))
16991 (sha256
16992 (base32
16993 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
16994 (build-system emacs-build-system)
16995 (propagated-inputs
16996 `(("emacs-helm" ,emacs-helm)
16997 ("notmuch" ,notmuch)))
16998 (synopsis "Search emails with Emacs Notmuch and Helm")
16999 (description
17000 "This package can be used to search emails in Emacs, searching result
17001 displays as you type thanks to Helm, though @command{notmuch-search} does the
17002 real search.")
17003 (license license:gpl3+)))
17004
17005 (define-public emacs-elmacro
17006 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
17007 (package
17008 (name "emacs-elmacro")
17009 (version (git-version "1.1.0" "1" commit))
17010 (home-page "https://github.com/Silex/elmacro")
17011 (source (origin
17012 (method git-fetch)
17013 (uri (git-reference
17014 (url home-page)
17015 (commit commit)))
17016 (file-name (git-file-name name version))
17017 (sha256
17018 (base32
17019 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
17020 (build-system emacs-build-system)
17021 (propagated-inputs
17022 `(("emacs-s" ,emacs-s)
17023 ("emacs-dash" ,emacs-dash)))
17024 (synopsis "Convert keyboard macros to Emacs Lisp")
17025 (description
17026 "This package displays keyboard macros or latest interactive commands
17027 as Emacs Lisp.")
17028 (license license:gpl3+))))
17029
17030 (define-public emacs-transient
17031 ;; 0.1.0 depends on lv.el but not later versions.
17032 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
17033 (package
17034 (name "emacs-transient")
17035 (version (git-version "0.1.0" "1" commit))
17036 (source (origin
17037 (method git-fetch)
17038 (uri (git-reference
17039 (url "https://github.com/magit/transient")
17040 (commit commit)))
17041 (file-name (git-file-name name version))
17042 (sha256
17043 (base32
17044 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
17045 (build-system gnu-build-system)
17046 (native-inputs `(("texinfo" ,texinfo)
17047 ("emacs" ,emacs-minimal)))
17048 (propagated-inputs
17049 `(("dash" ,emacs-dash)))
17050 (arguments
17051 `(#:modules ((guix build gnu-build-system)
17052 (guix build utils)
17053 (srfi srfi-26)
17054 (guix build emacs-utils))
17055 #:imported-modules (,@%gnu-build-system-modules
17056 (guix build emacs-utils))
17057 #:tests? #f ; tests are not included in the release
17058 #:make-flags (list "lisp" "info"
17059 (string-append "LOAD_PATH=-L . -L "
17060 (assoc-ref %build-inputs "dash")
17061 "/share/emacs/site-lisp/guix.d/dash-"
17062 ,(package-version emacs-dash)))
17063 #:phases
17064 (modify-phases %standard-phases
17065 (delete 'configure)
17066 (replace 'install
17067 (lambda* (#:key inputs outputs #:allow-other-keys)
17068 (let* ((out (assoc-ref outputs "out"))
17069 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
17070 "transient" "-" ,version))
17071 (info (string-append out "/share/info")))
17072 (for-each (cut install-file <> lisp)
17073 (find-files "." "\\.elc*$"))
17074 (install-file "docs/transient.info" (string-append info)))
17075 #t)))))
17076 (home-page "https://magit.vc/manual/transient")
17077 (synopsis "Transient commands in Emacs")
17078 (description
17079 "Taking inspiration from prefix keys and prefix arguments in Emacs,
17080 Transient implements a similar abstraction involving a prefix command, infix
17081 arguments and suffix commands. We could call this abstraction a \"transient
17082 command\", but because it always involves at least two commands (a prefix and
17083 a suffix) we prefer to call it just a \"transient\".")
17084 (license license:gpl3+))))
17085
17086 (define-public emacs-matcha
17087 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
17088 (package
17089 (name "emacs-matcha")
17090 (version (git-version "0.0.1" "1" commit)) ;no upstream release
17091 (source (origin
17092 (method git-fetch)
17093 (uri (git-reference
17094 (url "https://github.com/jojojames/matcha.git")
17095 (commit commit)))
17096 (file-name (git-file-name name version))
17097 (sha256
17098 (base32
17099 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
17100 (propagated-inputs
17101 `(("emacs-hydra" ,emacs-hydra)
17102 ("emacs-transient" ,emacs-transient)))
17103 (build-system emacs-build-system)
17104 (home-page "https://github.com/jojojames/matcha/")
17105 (synopsis "Collection of hydras with a generic interface to launch them")
17106 (description "Matcha provides a collection of transients for various
17107 packages with a consistent way to use them.")
17108 (license license:gpl3+))))
17109
17110 (define-public emacs-undo-propose-el
17111 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
17112 (revision "3"))
17113 (package
17114 (name "emacs-undo-propose-el")
17115 (version (git-version "3.0.0" revision commit))
17116 (source
17117 (origin
17118 (method git-fetch)
17119 (uri (git-reference
17120 (url "https://github.com/jackkamm/undo-propose-el")
17121 (commit commit)))
17122 (file-name (git-file-name name version))
17123 (sha256
17124 (base32
17125 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
17126 (build-system emacs-build-system)
17127 (arguments
17128 `(#:tests? #t
17129 #:test-command '("make" "test")))
17130 (home-page "https://github.com/jackkamm/undo-propose-el")
17131 (synopsis "Simple and safe navigation of @code{undo} history")
17132 (description "This package permits navigation of @code{undo} history in a
17133 temporary buffer, which is read-only save for @code{undo} commands, and
17134 subsequent committal of a chain of @code{undo} commands as a single edit in
17135 the @code{undo} history.")
17136 (license license:gpl3+))))
17137
17138 (define-public emacs-elisp-docstring-mode
17139 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
17140 (version "0.0.1")
17141 (revision "1"))
17142 (package
17143 (name "emacs-elisp-docstring-mode")
17144 (version (git-version version revision commit))
17145 (source
17146 (origin
17147 (method git-fetch)
17148 (uri (git-reference
17149 (url "https://github.com/Fuco1/elisp-docstring-mode")
17150 (commit commit)))
17151 (file-name (git-file-name name version))
17152 (sha256
17153 (base32
17154 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
17155 (build-system emacs-build-system)
17156 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
17157 (synopsis "Major mode for editing Emacs Lisp docstrings")
17158 (description "This package provides font lock and automatic escaping and
17159 unescaping of quotes.")
17160 (license license:gpl3+))))
17161
17162 (define-public emacs-vimrc-mode
17163 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
17164 (version "0.3.1")
17165 (revision "1"))
17166 (package
17167 (name "emacs-vimrc-mode")
17168 (version (git-version version revision commit))
17169 (source
17170 (origin
17171 (method git-fetch)
17172 (uri (git-reference
17173 (url "https://github.com/mcandre/vimrc-mode")
17174 (commit commit)))
17175 (file-name (git-file-name name version))
17176 (sha256
17177 (base32
17178 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
17179 (build-system emacs-build-system)
17180 (home-page "https://github.com/mcandre/vimrc-mode")
17181 (synopsis "Major mode for Vimscript")
17182 (description "This package provides font lock and @code{beginning-} and
17183 @code{end-of-defun} functions for Vimscript files.")
17184 (license license:gpl3+))))
17185
17186 (define-public emacs-flycheck-haskell
17187 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
17188 (revision "2"))
17189 (package
17190 (name "emacs-flycheck-haskell")
17191 (version (git-version "0.8" revision commit))
17192 (source
17193 (origin
17194 (method git-fetch)
17195 (uri (git-reference
17196 (url "https://github.com/flycheck/flycheck-haskell")
17197 (commit commit)))
17198 (file-name (git-file-name name version))
17199 (sha256
17200 (base32
17201 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
17202 (build-system emacs-build-system)
17203 (propagated-inputs
17204 `(("emacs-dash" ,emacs-dash)
17205 ("emacs-seq" ,emacs-seq)
17206 ("emacs-flycheck" ,emacs-flycheck)
17207 ("emacs-haskell-mode" ,emacs-haskell-mode)
17208 ("emacs-let-alist" ,emacs-let-alist)))
17209 (arguments
17210 `(#:include '("\\.el$" "\\.hs$")))
17211 (home-page "https://github.com/flycheck/flycheck-haskell")
17212 (synopsis "Flycheck for Haskell")
17213 (description "This package configures syntax-checking for Haskell
17214 buffers.")
17215 (license license:gpl3+))))
17216
17217 (define-public emacs-js2-refactor-el
17218 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
17219 (revision "2"))
17220 (package
17221 (name "emacs-js2-refactor-el")
17222 (version (git-version "0.9.0" revision commit))
17223 (source
17224 (origin
17225 (method git-fetch)
17226 (uri (git-reference
17227 (url "https://github.com/magnars/js2-refactor.el")
17228 (commit commit)))
17229 (file-name (git-file-name name version))
17230 (sha256
17231 (base32
17232 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
17233 (build-system emacs-build-system)
17234 (propagated-inputs
17235 `(("emacs-dash" ,emacs-dash)
17236 ("emacs-s" ,emacs-s)
17237 ("emacs-js2-mode" ,emacs-js2-mode)
17238 ("emacs-yasnippet" ,emacs-yasnippet)
17239 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
17240 (native-inputs
17241 `(("emacs-buttercup" ,emacs-buttercup)
17242 ("emacs-espuds" ,emacs-espuds)))
17243 (home-page "https://github.com/magnars/js2-refactor.el")
17244 (synopsis "JavaScript refactoring in Emacs")
17245 (description "This package provides various refactoring functions for
17246 JavaScript.")
17247 (license license:gpl3+))))
17248
17249 (define-public emacs-prettier
17250 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
17251 (version "0.1.0")
17252 (revision "1"))
17253 (package
17254 (name "emacs-prettier")
17255 (version (git-version version revision commit))
17256 (source
17257 (origin
17258 (method git-fetch)
17259 (uri (git-reference
17260 (url "https://github.com/prettier/prettier-emacs")
17261 (commit commit)))
17262 (file-name (git-file-name name version))
17263 (sha256
17264 (base32
17265 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
17266 (build-system emacs-build-system)
17267 (home-page "https://github.com/prettier/prettier-emacs")
17268 (synopsis "Automatic formatting of JavaScript code")
17269 (description "This package integrates Prettier with Emacs, and
17270 provides a minor mode that autoformats the buffer upon saving.")
17271 (license license:expat))))
17272
17273 (define-public emacs-fish-mode
17274 (package
17275 (name "emacs-fish-mode")
17276 (version "0.1.4")
17277 (source
17278 (origin
17279 (method git-fetch)
17280 (uri (git-reference
17281 (url "https://github.com/wwwjfy/emacs-fish")
17282 (commit version)))
17283 (file-name (git-file-name name version))
17284 (sha256
17285 (base32
17286 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
17287 (build-system emacs-build-system)
17288 (home-page "https://github.com/wwwjfy/emacs-fish")
17289 (synopsis "Major mode for Fish shell scripts")
17290 (description "This package provides syntax highlighting and indentation
17291 functions for Fish shell scripts.")
17292 (license license:gpl3+)))
17293
17294 (define-public emacs-eshell-up
17295 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
17296 (version "0.0.3")
17297 (revision "12"))
17298 (package
17299 (name "emacs-eshell-up")
17300 (version (git-version version revision commit))
17301 (source
17302 (origin
17303 (method git-fetch)
17304 (uri (git-reference
17305 (url "https://github.com/peterwvj/eshell-up")
17306 (commit commit)))
17307 (file-name (git-file-name name version))
17308 (sha256
17309 (base32
17310 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
17311 (build-system emacs-build-system)
17312 (home-page "https://github.com/peterwvj/eshell-up")
17313 (synopsis "Quickly go to a parent directory in @code{Eshell}")
17314 (description "This package provides quick navigation to a specific
17315 parent directory using @code{Eshell}.")
17316 (license license:gpl3+))))
17317
17318 (define-public emacs-tco-el
17319 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
17320 (revision "1"))
17321 (package
17322 (name "emacs-tco-el")
17323 (version (git-version "0.3" revision commit))
17324 (source
17325 (origin
17326 (method git-fetch)
17327 (uri (git-reference
17328 (url "https://github.com/Wilfred/tco.el")
17329 (commit commit)))
17330 (file-name (git-file-name name version))
17331 (sha256
17332 (base32
17333 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
17334 (build-system emacs-build-system)
17335 (propagated-inputs
17336 `(("emacs-dash" ,emacs-dash)))
17337 (native-inputs
17338 `(("emacs-ert-runner" ,emacs-ert-runner)
17339 ("emacs-undercover" ,emacs-undercover)))
17340 (arguments
17341 `(#:tests? #t
17342 #:test-command '("ert-runner")))
17343 (home-page "https://github.com/Wilfred/tco.el")
17344 (synopsis "Tail-call optimization for Emacs Lisp")
17345 (description "This package provides tail-call optimization for Emacs
17346 Lisp functions that call themselves in tail position.")
17347 (license license:gpl3+))))
17348
17349 (define-public emacs-equake
17350 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
17351 (revision "2"))
17352 (package
17353 (name "emacs-equake")
17354 (version (git-version "0.85" revision commit))
17355 (source
17356 (origin
17357 (method git-fetch)
17358 (uri (git-reference
17359 (url "https://gitlab.com/emacsomancer/equake/")
17360 (commit commit)))
17361 (file-name (git-file-name name version))
17362 (sha256
17363 (base32
17364 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
17365 (build-system emacs-build-system)
17366 (propagated-inputs
17367 `(("emacs-dash" ,emacs-dash)
17368 ("emacs-tco-el" ,emacs-tco-el)))
17369 (home-page "https://gitlab.com/emacsomancer/equake/")
17370 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
17371 (description "This package provides a Quake-style drop-down console
17372 compatible with Emacs' shell modes.")
17373 (license license:gpl3+))))
17374
17375 (define-public emacs-vdiff
17376 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
17377 (revision "1"))
17378 (package
17379 (name "emacs-vdiff")
17380 (version (git-version "0.2.3" revision commit))
17381 (source
17382 (origin
17383 (method git-fetch)
17384 (uri (git-reference
17385 (url "https://github.com/justbur/emacs-vdiff.git")
17386 (commit commit)))
17387 (file-name (git-file-name name version))
17388 (sha256
17389 (base32
17390 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
17391 (build-system emacs-build-system)
17392 (propagated-inputs
17393 `(("emacs-hydra" ,emacs-hydra)))
17394 (arguments
17395 `(#:tests? #t
17396 #:test-command '("emacs" "-Q" "-batch" "-L" "."
17397 "-l" "vdiff-test.el"
17398 "-f" "ert-run-tests-batch-and-exit")))
17399 (home-page "https://github.com/justbur/emacs-vdiff/")
17400 (synopsis "Frontend for diffing based on vimdiff")
17401 (description "This package permits comparisons of two or three buffers
17402 based on diff output.")
17403 (license license:gpl3+))))
17404
17405 (define-public emacs-vdiff-magit
17406 ;; Need to use a more recent commit than the latest release version because
17407 ;; of Magit and Transient
17408 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
17409 (version "0.3.2")
17410 (revision "8"))
17411 (package
17412 (name "emacs-vdiff-magit")
17413 (version (git-version version revision commit))
17414 (source
17415 (origin
17416 (method git-fetch)
17417 (uri (git-reference
17418 (url "https://github.com/justbur/emacs-vdiff-magit/")
17419 (commit commit)))
17420 (file-name (git-file-name name version))
17421 (sha256
17422 (base32
17423 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
17424 (build-system emacs-build-system)
17425 (propagated-inputs
17426 `(("emacs-vdiff" ,emacs-vdiff)
17427 ("emacs-magit" ,emacs-magit)
17428 ("emacs-transient" ,emacs-transient)))
17429 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
17430 (synopsis "Frontend for diffing based on vimdiff")
17431 (description "This package permits comparisons of two or three buffers
17432 based on diff output.")
17433 (license license:gpl3+))))
17434
17435 (define-public emacs-all-the-icons-dired
17436 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
17437 (version "1.0")
17438 (revision "1"))
17439 (package
17440 (name "emacs-all-the-icons-dired")
17441 (version (git-version version revision commit))
17442 (source
17443 (origin
17444 (method git-fetch)
17445 (uri (git-reference
17446 (url "https://github.com/jtbm37/all-the-icons-dired/")
17447 (commit commit)))
17448 (file-name (git-file-name name version))
17449 (sha256
17450 (base32
17451 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
17452 (build-system emacs-build-system)
17453 (propagated-inputs
17454 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
17455 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
17456 (synopsis "Show icons for each file in @code{dired-mode}")
17457 (description "This package allows icons from @file{all-the-icons.el} to
17458 be used in @code{dired-mode}.")
17459 (license license:gpl3+))))
17460
17461 (define-public emacs-exwm-edit
17462 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
17463 (version "0.0.1")
17464 (revision "1"))
17465 (package
17466 (name "emacs-exwm-edit")
17467 (version (git-version version revision commit))
17468 (source
17469 (origin
17470 (method git-fetch)
17471 (uri (git-reference
17472 (url "https://github.com/agzam/exwm-edit/")
17473 (commit commit)))
17474 (file-name (git-file-name name version))
17475 (sha256
17476 (base32
17477 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
17478 (build-system emacs-build-system)
17479 (propagated-inputs
17480 `(("emacs-exwm" ,emacs-exwm)))
17481 (home-page "https://github.com/agzam/exwm-edit/")
17482 (synopsis "Open temp buffers for editing text from EXWM buffers")
17483 (description "This package facilitates editing text from EXWM buffers by
17484 generating a temp buffer in which any useful Emacs utilities and modes can be
17485 invoked.")
17486 (license license:gpl3+))))
17487
17488 (define-public emacs-ert-async
17489 (package
17490 (name "emacs-ert-async")
17491 (version "0.1.2")
17492 (source
17493 (origin
17494 (method git-fetch)
17495 (uri (git-reference
17496 (url "https://github.com/rejeep/ert-async.el")
17497 (commit (string-append "v" version))))
17498 (file-name (git-file-name name version))
17499 (sha256
17500 (base32
17501 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
17502 (build-system emacs-build-system)
17503 (home-page "https://github.com/rejeep/ert-async.el")
17504 (synopsis "Async support for ERT")
17505 (description "This package allows ERT to work with asynchronous tests.")
17506 (license license:gpl3+)))
17507
17508 (define-public emacs-prodigy-el
17509 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
17510 (revision "2"))
17511 (package
17512 (name "emacs-prodigy-el")
17513 (version (git-version "0.7.0" revision commit))
17514 (source
17515 (origin
17516 (method git-fetch)
17517 (uri (git-reference
17518 (url "https://github.com/rejeep/prodigy.el")
17519 (commit commit)))
17520 (file-name (git-file-name name version))
17521 (sha256
17522 (base32
17523 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
17524 (build-system emacs-build-system)
17525 (propagated-inputs
17526 `(("emacs-dash" ,emacs-dash)
17527 ("emacs-s" ,emacs-s)
17528 ("emacs-f" ,emacs-f)))
17529 (native-inputs
17530 `(("emacs-el-mock" ,emacs-el-mock)
17531 ("emacs-ert-async" ,emacs-ert-async)))
17532 (home-page "https://github.com/rejeep/prodigy.el")
17533 (synopsis "Manage external services from within Emacs")
17534 (description "This package provides a GUI for defining and monitoring services.")
17535 (license license:gpl3+))))
17536
17537 (define-public emacs-web-server
17538 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
17539 (version "0.1.1")
17540 (revision "1"))
17541 (package
17542 (name "emacs-web-server")
17543 (version (git-version version revision commit))
17544 (source
17545 (origin
17546 (method git-fetch)
17547 (uri (git-reference
17548 (url "https://github.com/eschulte/emacs-web-server/")
17549 (commit commit)))
17550 (file-name (git-file-name name version))
17551 (sha256
17552 (base32
17553 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
17554 (build-system emacs-build-system)
17555 (home-page "https://github.com/eschulte/emacs-web-server/")
17556 (synopsis "Web server with handlers in Emacs Lisp")
17557 (description "This package supports HTTP GET and POST requests with
17558 url-encoded parameters, as well as web sockets.")
17559 (license license:gpl3+))))
17560
17561 (define-public emacs-markdown-preview-mode
17562 (package
17563 (name "emacs-markdown-preview-mode")
17564 (version "0.9.2")
17565 (source
17566 (origin
17567 (method git-fetch)
17568 (uri (git-reference
17569 (url "https://github.com/ancane/markdown-preview-mode")
17570 (commit (string-append "v" version))))
17571 (file-name (git-file-name name version))
17572 (sha256
17573 (base32
17574 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
17575 (build-system emacs-build-system)
17576 (propagated-inputs
17577 `(("emacs-markdown-mode" ,emacs-markdown-mode)
17578 ("emacs-websocket" ,emacs-websocket)
17579 ("emacs-web-server" ,emacs-web-server)))
17580 (arguments '(#:include '("\\.el$" "\\.html$")))
17581 (home-page "https://github.com/ancane/markdown-preview-mode")
17582 (synopsis "Live web development in Emacs")
17583 (description "This package provides a minor mode for preview of Markdown
17584 files, and sends rendered Markdown to a web browser.")
17585 (license license:gpl3+)))
17586
17587 (define-public emacs-dotenv-mode
17588 (package
17589 (name "emacs-dotenv-mode")
17590 (version "0.2.4")
17591 (source
17592 (origin
17593 (method git-fetch)
17594 (uri (git-reference
17595 (url "https://github.com/preetpalS/emacs-dotenv-mode")
17596 (commit (string-append "v" version))))
17597 (file-name (git-file-name name version))
17598 (sha256
17599 (base32
17600 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
17601 (build-system emacs-build-system)
17602 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
17603 (synopsis "Major mode for @file{.env} files")
17604 (description "This package provides syntax highlighting for @file{.env}
17605 files.")
17606 (license license:gpl3+)))
17607
17608 (define-public emacs-add-node-modules-path
17609 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
17610 (version "1.2.0")
17611 (revision "10"))
17612 (package
17613 (name "emacs-add-node-modules-path")
17614 (version (git-version version revision commit))
17615 (source
17616 (origin
17617 (method git-fetch)
17618 (uri (git-reference
17619 (url "https://github.com/codesuki/add-node-modules-path")
17620 (commit commit)))
17621 (file-name (git-file-name name version))
17622 (sha256
17623 (base32
17624 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
17625 (build-system emacs-build-system)
17626 (home-page "https://github.com/codesuki/add-node-modules-path")
17627 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
17628 (description "This package searches the parent directories of the
17629 current file for the project's @file{node_modules/.bin/} directory, allowing
17630 Emacs to find project-specific installations of packages.")
17631 (license license:expat))))
17632
17633 (define-public emacs-flow-minor-mode
17634 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
17635 (version "0.3")
17636 (revision "4"))
17637 (package
17638 (name "emacs-flow-minor-mode")
17639 (version (git-version version revision commit))
17640 (source
17641 (origin
17642 (method git-fetch)
17643 (uri (git-reference
17644 (url "https://github.com/an-sh/flow-minor-mode")
17645 (commit commit)))
17646 (file-name (git-file-name name version))
17647 (sha256
17648 (base32
17649 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
17650 (build-system emacs-build-system)
17651 (home-page "https://github.com/an-sh/flow-minor-mode")
17652 (synopsis "Minor mode for JavaScript Flow files")
17653 (description "This package integrates Flow with Emacs, allowing for
17654 definition-jumping and type-checking on demand.")
17655 (license license:bsd-3))))
17656
17657 (define-public emacs-rjsx-mode
17658 (let ((commit "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5")
17659 (revision "2"))
17660 (package
17661 (name "emacs-rjsx-mode")
17662 (version (git-version "0.4" revision commit))
17663 (source
17664 (origin
17665 (method git-fetch)
17666 (uri (git-reference
17667 (url "https://github.com/felipeochoa/rjsx-mode")
17668 (commit commit)))
17669 (file-name (git-file-name name version))
17670 (sha256
17671 (base32
17672 "0s0871sx3ch09kgvbcp9na4zdrfrda62xjq8m9knbq5vnj8q8qpi"))))
17673 (build-system emacs-build-system)
17674 (propagated-inputs
17675 `(("emacs-js2-mode" ,emacs-js2-mode)))
17676 (arguments
17677 `(#:tests? #t
17678 #:test-command '("make" "test")))
17679 (home-page "https://github.com/felipeochoa/rjsx-mode")
17680 (synopsis "Major mode for JSX files")
17681 (description "This package extends the parser of @code{js2-mode} to
17682 support JSX syntax.")
17683 (license license:expat))))
17684
17685 (define-public emacs-origami-el
17686 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
17687 (version "1.0")
17688 (revision "1"))
17689 (package
17690 (name "emacs-origami-el")
17691 (version (git-version version revision commit))
17692 (source
17693 (origin
17694 (method git-fetch)
17695 (uri (git-reference
17696 (url "https://github.com/gregsexton/origami.el")
17697 (commit commit)))
17698 (file-name (git-file-name name version))
17699 (sha256
17700 (base32
17701 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
17702 (build-system emacs-build-system)
17703 (propagated-inputs
17704 `(("emacs-dash" ,emacs-dash)
17705 ("emacs-s" ,emacs-s)))
17706 (home-page "https://github.com/gregsexton/origami.el")
17707 (synopsis "Flexible text-folding")
17708 (description "This package provides a minor mode for collapsing and
17709 expanding regions of text without modifying the actual contents.")
17710 (license license:expat))))
17711
17712 (define-public emacs-peep-dired
17713 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
17714 (version "0")
17715 (revision "1"))
17716 (package
17717 (name "emacs-peep-dired")
17718 (version (git-version version revision commit))
17719 (source
17720 (origin
17721 (method git-fetch)
17722 (uri (git-reference
17723 (url "https://github.com/asok/peep-dired")
17724 (commit commit)))
17725 (file-name (git-file-name name version))
17726 (sha256
17727 (base32
17728 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
17729 (build-system emacs-build-system)
17730 (home-page "https://github.com/asok/peep-dired")
17731 (synopsis "Preview files in another window")
17732 (description "This package provides a minor mode that allows files to be
17733 previewed by scrolling up and down within a @code{dired} buffer.")
17734 (license license:gpl3+))))
17735
17736 (define-public emacs-counsel-etags
17737 (package
17738 (name "emacs-counsel-etags")
17739 (version "1.8.9")
17740 (source
17741 (origin
17742 (method git-fetch)
17743 (uri (git-reference
17744 (url "https://github.com/redguardtoo/counsel-etags")
17745 (commit version)))
17746 (file-name (git-file-name name version))
17747 (sha256
17748 (base32
17749 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
17750 (build-system emacs-build-system)
17751 (propagated-inputs
17752 `(("emacs-ivy" ,emacs-ivy)))
17753 (arguments
17754 `(#:tests? #t
17755 #:test-command '("make" "test")))
17756 (home-page "https://github.com/redguardtoo/counsel-etags")
17757 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
17758 (description "This package uses @code{ivy-mode} to facilitate navigating
17759 and searching through @code{Ctags} files.")
17760 (license license:gpl3+)))
17761
17762 (define-public emacs-org-download
17763 (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
17764 (revision "2"))
17765 (package
17766 (name "emacs-org-download")
17767 (version (git-version "0.1.0" revision commit))
17768 (source (origin
17769 (method git-fetch)
17770 (uri (git-reference
17771 (url "https://github.com/abo-abo/org-download")
17772 (commit commit)))
17773 (sha256
17774 (base32
17775 "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
17776 (file-name (git-file-name name version))))
17777 (build-system emacs-build-system)
17778 (propagated-inputs
17779 `(("emacs-org" ,emacs-org)
17780 ("emacs-async" ,emacs-async)))
17781 (home-page "https://github.com/abo-abo/org-download")
17782 (synopsis "Facilitate moving images")
17783 (description "This package provides utilities for managing image files
17784 copied into @code{org-mode} buffers.")
17785 (license license:gpl3+))))
17786
17787 (define-public emacs-dash-docs
17788 (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a")
17789 (revision "1"))
17790 (package
17791 (name "emacs-dash-docs")
17792 (version (git-version "1.4.0" revision commit))
17793 (source
17794 (origin
17795 (method git-fetch)
17796 (uri (git-reference
17797 (url "https://github.com/dash-docs-el/dash-docs.git")
17798 (commit commit)))
17799 (file-name (git-file-name name version))
17800 (sha256
17801 (base32
17802 "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng"))))
17803 (build-system emacs-build-system)
17804 (propagated-inputs
17805 `(("emacs-async" ,emacs-async)))
17806 (native-inputs
17807 `(("emacs-undercover" ,emacs-undercover)
17808 ("emacs-ert-runner" ,emacs-ert-runner)))
17809 (arguments
17810 `(#:tests? #t
17811 #:test-command '("ert-runner")
17812 #:phases
17813 ;; this test requires network access, so remove it
17814 (modify-phases %standard-phases
17815 (add-before 'check 'make-tests-writable
17816 (lambda _
17817 (make-file-writable "test/dash-docs-test.el")
17818 #t))
17819 (add-before 'check 'delete-test
17820 (lambda _
17821 (emacs-batch-edit-file "test/dash-docs-test.el"
17822 `(progn (progn
17823 (goto-char (point-min))
17824 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
17825 (beginning-of-line)
17826 (kill-sexp))
17827 (basic-save-buffer)))
17828 #t)))))
17829 (home-page "https://github.com/dash-docs-el/dash-docs")
17830 (synopsis "Offline documentation browser for APIs using Dash docsets")
17831 (description "This package exposes functionality to work with Dash docsets.")
17832 (license license:gpl3+))))
17833
17834 (define-public emacs-helm-dash
17835 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
17836 (revision "2"))
17837 (package
17838 (name "emacs-helm-dash")
17839 (version (git-version "1.3.0" revision commit))
17840 (source
17841 (origin
17842 (method git-fetch)
17843 (uri (git-reference
17844 (url "https://github.com/areina/helm-dash.git")
17845 (commit commit)))
17846 (file-name (git-file-name name version))
17847 (sha256
17848 (base32
17849 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
17850 (build-system emacs-build-system)
17851 (propagated-inputs
17852 `(("emacs-helm" ,emacs-helm)
17853 ("emacs-dash-docs" ,emacs-dash-docs)))
17854 (home-page "https://github.com/areina/helm-dash")
17855 (synopsis "Offline documentation browser for APIs using Dash docsets")
17856 (description "This package uses Helm to install and navigate through
17857 Dash docsets.")
17858 (license license:gpl3+))))
17859
17860 (define-public emacs-counsel-dash
17861 (let ((commit "24d370be9e94e90d045c49967e19484b9903fce9")
17862 (revision "2"))
17863 (package
17864 (name "emacs-counsel-dash")
17865 (version (git-version "0.1.3" revision commit))
17866 (source
17867 (origin
17868 (method git-fetch)
17869 (uri (git-reference
17870 (url "https://github.com/dash-docs-el/counsel-dash.git")
17871 (commit commit)))
17872 (file-name (git-file-name name version))
17873 (sha256
17874 (base32
17875 "18gp7hhgng271c7bh06k9p24zqic0f64j5cicivljmyk9c3nh7an"))))
17876 (build-system emacs-build-system)
17877 (propagated-inputs
17878 `(("emacs-dash-docs" ,emacs-dash-docs)
17879 ("emacs-ivy" ,emacs-ivy)))
17880 (home-page "https://github.com/dash-docs-el/counsel-dash")
17881 (synopsis "Offline documentation browser for APIs using Dash docsets")
17882 (description "This package uses @code{ivy-mode} to install and navigate
17883 through Dash docsets.")
17884 (license license:expat))))
17885
17886 (define-public emacs-el-patch
17887 (package
17888 (name "emacs-el-patch")
17889 (version "2.2.3")
17890 (source
17891 (origin
17892 (method git-fetch)
17893 (uri (git-reference
17894 (url "https://github.com/raxod502/el-patch")
17895 (commit version)))
17896 (file-name (git-file-name name version))
17897 (sha256
17898 (base32
17899 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
17900 (build-system emacs-build-system)
17901 (home-page "https://github.com/raxod502/el-patch")
17902 (synopsis "Future-proof your Emacs customizations")
17903 (description "This package allows for an alternate definition of an Elisp
17904 function to be specified and for any differences from the original definition
17905 to be examined using Ediff.")
17906 (license license:expat)))
17907
17908 (define-public emacs-info-plus
17909 (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da")
17910 (revision "2"))
17911 (package
17912 (name "emacs-info-plus")
17913 (version (git-version "0" revision commit))
17914 (source
17915 (origin
17916 (method git-fetch)
17917 (uri (git-reference
17918 (url "https://github.com/emacsmirror/info-plus")
17919 (commit commit)))
17920 (file-name (git-file-name name version))
17921 (sha256
17922 (base32
17923 "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0"))))
17924 (build-system emacs-build-system)
17925 (home-page "https://github.com/emacsmirror/info-plus")
17926 (synopsis "Extensions to @file{info.el}")
17927 (description "This package extends Emacs' @file{info.el} by allowing
17928 outline-enabled table of contents, additional metadata association for Info
17929 nodes, and more.")
17930 (license license:gpl2+))))
17931
17932 (define-public emacs-eval-sexp-fu-el
17933 (package
17934 (name "emacs-eval-sexp-fu-el")
17935 (version "0.5.0")
17936 (source
17937 (origin
17938 (method git-fetch)
17939 (uri (git-reference
17940 (url "https://github.com/hchbaw/eval-sexp-fu.el")
17941 (commit (string-append "v" version))))
17942 (file-name (git-file-name name version))
17943 (sha256
17944 (base32
17945 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
17946 (build-system emacs-build-system)
17947 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
17948 (synopsis "Enhancements for evaluating s-expressions")
17949 (description "This package provides provides variants of
17950 @code{eval-last-sexp} that work on the containing list or s-expression, as
17951 well as an option for visually flashing evaluated s-expressions.")
17952 (license license:gpl3+)))
17953
17954 (define-public emacs-counsel-tramp
17955 (package
17956 (name "emacs-counsel-tramp")
17957 (version "0.6.3")
17958 (source
17959 (origin
17960 (method git-fetch)
17961 (uri (git-reference
17962 (url "https://github.com/masasam/emacs-counsel-tramp")
17963 (commit version)))
17964 (file-name (git-file-name name version))
17965 (sha256
17966 (base32
17967 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
17968 (build-system emacs-build-system)
17969 (propagated-inputs
17970 `(("emacs-ivy" ,emacs-ivy)))
17971 (home-page "https://github.com/masasam/emacs-counsel-tramp")
17972 (synopsis "Ivy interface for TRAMP")
17973 (description "This package allows @code{ivy-mode} to display and filter
17974 SSH servers.")
17975 (license license:gpl3+)))
17976
17977 (define-public emacs-eacl
17978 (package
17979 (name "emacs-eacl")
17980 (version "2.0.1")
17981 (source
17982 (origin
17983 (method git-fetch)
17984 (uri (git-reference
17985 (url "https://github.com/redguardtoo/eacl")
17986 (commit version)))
17987 (file-name (git-file-name name version))
17988 (sha256
17989 (base32
17990 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
17991 (build-system emacs-build-system)
17992 (propagated-inputs
17993 `(("emacs-ivy" ,emacs-ivy)))
17994 (home-page "https://github.com/redguardtoo/eacl")
17995 (synopsis "Auto-complete lines by using @code{grep} on a project")
17996 (description "This package provides auto-completion cammands for single
17997 and multiple lines of code in a project.")
17998 (license license:gpl3+)))
17999
18000 (define-public emacs-semantic-refactor
18001 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
18002 ;; commits since then.
18003 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
18004 (package
18005 (name "emacs-semantic-refactor")
18006 (version (git-version "0.5" "1" commit))
18007 (source
18008 (origin
18009 (method git-fetch)
18010 (uri (git-reference
18011 (url "https://github.com/tuhdo/semantic-refactor")
18012 (commit commit)))
18013 (file-name (git-file-name name version))
18014 (sha256
18015 (base32
18016 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
18017 (build-system emacs-build-system)
18018 (home-page "https://github.com/tuhdo/semantic-refactor")
18019 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
18020 (description "This package provides a refactoring tool based on the
18021 Emacs Semantic parser framework. For C and C++ it supports operations such as:
18022
18023 @enumerate
18024 @item Generating class implementations
18025 @item Generating function prototypes
18026 @item Converting functions to function pointers
18027 @item Moving semantic units
18028 @item etc...
18029 @end enumerate
18030
18031 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
18032 as:
18033
18034 @enumerate
18035 @item Formatting the whole buffer
18036 @item Converting sexpressions to one or multiple lines
18037 @item etc...
18038 @end enumerate\n")
18039 (license license:gpl3+))))
18040
18041 (define-public emacs-nhexl-mode
18042 (package
18043 (name "emacs-nhexl-mode")
18044 (version "1.2")
18045 (source
18046 (origin
18047 (method url-fetch)
18048 (uri (string-append
18049 "https://elpa.gnu.org/packages/nhexl-mode-"
18050 version ".el"))
18051 (sha256
18052 (base32
18053 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
18054 (build-system emacs-build-system)
18055 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
18056 (synopsis "Minor mode to edit files via hex-dump format")
18057 (description
18058 "This package implements NHexl mode, a minor mode for editing files
18059 in hex dump format. The mode command is called @command{nhexl-mode}.
18060
18061 This minor mode implements similar functionality to @command{hexl-mode},
18062 but using a different implementation technique, which makes it
18063 usable as a \"plain\" minor mode. It works on any buffer, and does
18064 not mess with the undo log or with the major mode.
18065
18066 It also comes with:
18067
18068 @itemize
18069 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
18070 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
18071 (which only work for hex-digits) will only modify the nibble under point.
18072 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
18073 moving text. In this minor mode, not only self-inserting keys overwrite
18074 existing text, but commands like `yank' and @command{kill-region} as well.
18075 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
18076 C-f} to advance by #xa4 characters.
18077 @end itemize\n")
18078 (license license:gpl3+)))
18079
18080 (define-public emacs-helm-wikipedia
18081 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
18082 (package
18083 (name "emacs-helm-wikipedia")
18084 (version (git-version "0.0.0" "1" commit))
18085 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
18086 (source
18087 (origin
18088 (method git-fetch)
18089 (uri (git-reference
18090 (url home-page)
18091 (commit commit)))
18092 (file-name (git-file-name name version))
18093 (sha256
18094 (base32
18095 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
18096 (build-system emacs-build-system)
18097 (inputs
18098 `(("helm" ,emacs-helm)))
18099 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
18100 (description
18101 "This package provides an Emacs Helm interface for search suggestions
18102 and article extracts for Wikipedia.")
18103 (license license:gpl3+))))
18104
18105 (define-public emacs-webfeeder
18106 (package
18107 (name "emacs-webfeeder")
18108 (version "1.0.0")
18109 (source
18110 (origin
18111 (method url-fetch)
18112 (uri (string-append
18113 "https://elpa.gnu.org/packages/webfeeder-"
18114 version
18115 ".tar"))
18116 (sha256
18117 (base32
18118 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
18119 (build-system emacs-build-system)
18120 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
18121 (synopsis "Build RSS and Atom webfeeds from HTML files")
18122 (description
18123 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
18124 files. The various elements of the HTML input are parsed with customizable
18125 functions (e.g. @code{webfeeder-title-function}).")
18126 (license license:gpl3+)))
18127
18128 (define-public emacs-evil-numbers
18129 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
18130 (package
18131 (name "emacs-evil-numbers")
18132 (version (git-version "0.4" "1" commit))
18133 (source (origin
18134 (method git-fetch)
18135 (uri (git-reference
18136 (url "https://github.com/dieggsy/evil-numbers")
18137 (commit commit)))
18138 (file-name (git-file-name name version))
18139 (sha256
18140 (base32
18141 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
18142 (build-system emacs-build-system)
18143 (home-page "https://github.com/dieggsy/evil-numbers")
18144 (synopsis "Increment and decrement numbers in Emacs")
18145 (description "This package increments and decrements binary, octal,
18146 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
18147 number up to EOL and then increments or decrements and keeps zero padding up
18148 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
18149 numbers within that region will be incremented/decremented (unlike in Vim).
18150
18151 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
18152 (license license:gpl3+))))
18153
18154 (define-public emacs-rotate-text
18155 (package
18156 (name "emacs-rotate-text")
18157 (version "0.1")
18158 (source (origin
18159 (method git-fetch)
18160 (uri (git-reference
18161 (url "https://github.com/nschum/rotate-text.el.git")
18162 (commit version)))
18163 (file-name (git-file-name name version))
18164 (sha256
18165 (base32
18166 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
18167 (build-system emacs-build-system)
18168 (home-page "http://nschum.de/src/emacs/rotate-text/")
18169 (synopsis "Cycle through words, symbols and patterns in Emacs")
18170 (description "@code{rotate-text} allows you rotate to commonly
18171 interchanged text with a single keystroke. For example, you can toggle
18172 between \"frame-width\" and \"frame-height\", between \"public\",
18173 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
18174 \"variableN\".")
18175 (license license:gpl2+)))
18176
18177 (define-public emacs-ediprolog
18178 (package
18179 (name "emacs-ediprolog")
18180 (version "1.2")
18181 (source
18182 (origin
18183 (method url-fetch)
18184 (uri (string-append
18185 "https://elpa.gnu.org/packages/ediprolog-"
18186 version
18187 ".el"))
18188 (sha256
18189 (base32
18190 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
18191 (build-system emacs-build-system)
18192 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
18193 (synopsis "Emacs Does Interactive Prolog")
18194 (description "This package provides a major mode that let the user
18195 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
18196 programs and evaluate embedded queries. This mode is focused on the command
18197 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
18198 context, carry out the appropriate action.")
18199 (license license:gpl3+)))
18200
18201 (define-public emacs-evil-cleverparens
18202 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
18203 (revision "1"))
18204 (package
18205 (name "emacs-evil-cleverparens")
18206 (version (git-version "2017-07-17" revision commit))
18207 (source (origin
18208 (method git-fetch)
18209 (uri (git-reference
18210 (url "https://github.com/luxbock/evil-cleverparens.git")
18211 (commit commit)))
18212 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
18213 (file-name (git-file-name name version))))
18214 (build-system emacs-build-system)
18215 (propagated-inputs
18216 `(("emacs-evil" ,emacs-evil)
18217 ("emacs-paredit" ,emacs-paredit)
18218 ("emacs-smartparens" ,emacs-smartparens)))
18219 (home-page "https://github.com/luxbock/evil-cleverparens")
18220 (synopsis "Emacs modal editing optimized for editing Lisp")
18221 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
18222 modal editing with screwing up the structure of Lisp code. Alternatives for
18223 verb commands which would are normally destructive (such as deletion) are
18224 provided. Those alternative commands are and bound by default to their
18225 corresponding Evil keys.")
18226 (license license:expat))))
18227
18228 (define-public emacs-evil-traces
18229 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
18230 (revision "2"))
18231 (package
18232 (name "emacs-evil-traces")
18233 (version (git-version "0.0.1" revision commit))
18234 (source (origin
18235 (method git-fetch)
18236 (uri (git-reference
18237 (url "https://github.com/mamapanda/evil-traces.git")
18238 (commit commit)))
18239 (file-name (git-file-name name version))
18240 (sha256
18241 (base32
18242 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
18243 (build-system emacs-build-system)
18244 (propagated-inputs
18245 `(("emacs-evil" ,emacs-evil)))
18246 (arguments
18247 `(#:phases
18248 (modify-phases %standard-phases
18249 (add-after 'unpack 'set-shell
18250 ;; Setting the SHELL environment variable is required for the tests
18251 ;; to find sh.
18252 (lambda _
18253 (setenv "SHELL" (which "sh"))
18254 #t)))
18255 #:tests? #t
18256 #:test-command '("make" "test")))
18257 (home-page "https://github.com/mamapanda/evil-traces")
18258 (synopsis "Visual hints for @code{evil-ex}")
18259 (description "This package adds visual hints to certain @code{ex}
18260 commands in @code{evil-mode}.")
18261 (license license:gpl3+))))
18262
18263 (define-public emacs-xterm-color
18264 (package
18265 (name "emacs-xterm-color")
18266 (version "1.9")
18267 (source (origin
18268 (method git-fetch)
18269 (uri (git-reference
18270 (url "https://github.com/atomontage/xterm-color.git")
18271 (commit version)))
18272 (file-name (git-file-name name version))
18273 (sha256
18274 (base32
18275 "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"))))
18276 (build-system emacs-build-system)
18277 (home-page "https://github.com/atomontage/xterm-color")
18278 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
18279 (description "@code{xterm-color.el} is an ANSI control sequence to
18280 text-property translator.")
18281 (license license:bsd-2)))
18282
18283 (define-public emacs-org-noter
18284 (package
18285 (name "emacs-org-noter")
18286 (version "1.3.0")
18287 (source
18288 (origin
18289 (method url-fetch)
18290 (uri (string-append
18291 "https://stable.melpa.org/packages/org-noter-"
18292 version
18293 ".el"))
18294 (sha256
18295 (base32
18296 "1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
18297 (build-system emacs-build-system)
18298 (propagated-inputs `(("emacs-org" ,emacs-org)))
18299 (home-page "https://github.com/weirdNox/org-noter")
18300 (synopsis "Synchronized, Org-mode, document annotator")
18301 (description
18302 "This package lets you create notes that are kept in sync when you
18303 scroll through the document, but that are external to it---the notes
18304 themselves live in an Org-mode file. As such, this leverages the power of
18305 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
18306 acting like notes that are made @emph{in} the document.")
18307 (license license:gpl3+)))
18308
18309 (define-public emacs-org-redmine
18310 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
18311 (package
18312 (name "emacs-org-redmine")
18313 (version (git-version "0.1" "1" commit))
18314 (source (origin
18315 (method git-fetch)
18316 (uri (git-reference
18317 (url "https://github.com/gongo/org-redmine.git")
18318 (commit commit)))
18319 (file-name (git-file-name name version))
18320 (sha256
18321 (base32
18322 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
18323 (build-system emacs-build-system)
18324 (home-page "https://github.com/gongo/org-redmine/")
18325 (synopsis "Redmine tools using Emacs")
18326 (description "This program provides an Emacs client for Redmine.")
18327 (license license:gpl3+))))
18328
18329 (define-public emacs-multi-term
18330 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
18331 (package
18332 (name "emacs-multi-term")
18333 (version "1.2")
18334 (source (origin
18335 (method git-fetch)
18336 (uri (git-reference
18337 (url "https://github.com/manateelazycat/multi-term.git")
18338 (commit commit)))
18339 (file-name (git-file-name name version))
18340 (sha256
18341 (base32
18342 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
18343 (build-system emacs-build-system)
18344 (inputs `(("zsh" ,zsh)))
18345 (home-page "https://github.com/manateelazycat/multi-term")
18346 (synopsis "Manage multiple terminal buffers in Emacs")
18347 (description
18348 "This package enhances @code{term.el} with the following features:
18349
18350 @enumerate
18351 @item Functions to switch between multiple terminal buffers
18352 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
18353 the underlying terminal
18354 @item Kills the unused buffer left after exiting the terminal
18355 @item Kills the running sub-processes along with the terminal when killing the
18356 it forcibly
18357 @item Dedicated window for debugging program.
18358 @end enumerate")
18359 (license license:gpl3+))))
18360
18361 (define-public emacs-elpher
18362 (package
18363 (name "emacs-elpher")
18364 (version "1.4.6")
18365 (source
18366 (origin
18367 (method git-fetch)
18368 (uri (git-reference
18369 (url "https://github.com/tgvaughan/elpher")
18370 (commit (string-append "v" version))))
18371 (file-name (git-file-name name version))
18372 (sha256
18373 (base32
18374 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
18375 (build-system emacs-build-system)
18376 (native-inputs
18377 `(("texinfo" ,texinfo)))
18378 (arguments
18379 `(#:phases
18380 (modify-phases %standard-phases
18381 (add-before 'install 'build-doc
18382 (lambda _
18383 (invoke "makeinfo" "elpher.texi"))))))
18384 (home-page "https://github.com/tgvaughan/elpher")
18385 (synopsis "Gopher client for Emacs")
18386 (description "Elpher is a full-featured gopher client for Emacs. Its
18387 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
18388 compatibility with evil-mode, clickable web and gopher links in plain text,
18389 caching of visited sites, pleasant and configurable visualization of Gopher
18390 directories, direct visualisation of image files, jumping directly to links by
18391 name (with autocompletion), a simple bookmark management system and
18392 connections using TLS encryption.")
18393 (license license:gpl3+)))
18394
18395 (define-public emacs-zerodark-theme
18396 (package
18397 (name "emacs-zerodark-theme")
18398 (version "4.6")
18399 (source
18400 (origin
18401 (method git-fetch)
18402 (uri (git-reference
18403 (url "https://github.com/NicolasPetton/zerodark-theme")
18404 (commit version)))
18405 (file-name (git-file-name name version))
18406 (sha256
18407 (base32
18408 "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"))))
18409 (build-system emacs-build-system)
18410 (propagated-inputs
18411 `(("emacs-flycheck" ,emacs-flycheck)
18412 ("emacs-all-the-icons" ,emacs-all-the-icons)))
18413 (home-page
18414 "https://gitlab.petton.fr/nico/zerodark-theme")
18415 (synopsis
18416 "Dark, medium contrast theme for Emacs")
18417 (description
18418 "Zerodark is a dark theme inspired from One Dark and Niflheim.
18419 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
18420 (license license:gpl3+)))
18421
18422 (define-public emacs-gnus-alias
18423 (package
18424 (name "emacs-gnus-alias")
18425 (version "20150316")
18426 (source (origin
18427 (method git-fetch)
18428 (uri (git-reference
18429 (url "https://github.com/hexmode/gnus-alias.git")
18430 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
18431 (file-name (git-file-name name version))
18432 (sha256
18433 (base32
18434 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
18435 (build-system emacs-build-system)
18436 (home-page "https://melpa.org/#/gnus-alias")
18437 (synopsis "Alternative to @code{gnus-posting-styles}")
18438 (description "This Emacs add-on provides a simple mechanism to switch
18439 Identities when using a @code{message-mode} or a @code{message-mode} derived
18440 mode. Identities can include @code{From} and @code{Organisation} headers,
18441 extra headers, body and signature. Other features include:
18442
18443 @itemize
18444 @item Switch Identities in a message buffer.
18445 @item Access original message to help determine Identity of the followup/reply
18446 message.
18447 @item Act on a forwarded message as if it were a message being replied to.
18448 @item Start a new message with a given Identity pre-selected.
18449 @end itemize")
18450 (license license:gpl2+)))
18451
18452 (define-public emacs-ox-epub
18453 (package
18454 (name "emacs-ox-epub")
18455 (version "0.3")
18456 (source (origin
18457 (method git-fetch)
18458 (uri (git-reference
18459 (url "https://github.com/ofosos/ox-epub.git")
18460 (commit (string-append "v" version))))
18461 (file-name (git-file-name name version))
18462 (sha256
18463 (base32
18464 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
18465 (build-system emacs-build-system)
18466 (home-page "https://github.com/ofosos/ox-epub")
18467 (synopsis "Export org mode projects to EPUB")
18468 (description "@code{ox-epub} extends the (X)HTML exporter to generate
18469 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
18470 which should give broad compatibility. It should also be relatiely easy to
18471 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
18472 zip utility (default is @code{zip}).")
18473 (license license:gpl3+)))
18474
18475 (define-public emacs-ox-hugo
18476 (package
18477 (name "emacs-ox-hugo")
18478 (version "0.8")
18479 (source
18480 (origin
18481 (method git-fetch)
18482 (uri (git-reference
18483 (url "https://github.com/kaushalmodi/ox-hugo.git")
18484 (commit (string-append "v" version))))
18485 (file-name (git-file-name name version))
18486 (sha256
18487 (base32
18488 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
18489 (build-system emacs-build-system)
18490 (home-page "https://ox-hugo.scripter.co")
18491 (synopsis "Hugo markdown back-end for Org export engine")
18492 (description
18493 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
18494 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
18495 format.")
18496 (license license:gpl3+)))
18497
18498 (define-public emacs-ox-pandoc
18499 (package
18500 (name "emacs-ox-pandoc")
18501 (version "20180510")
18502 (source (origin
18503 (method git-fetch)
18504 (uri (git-reference
18505 (url "https://github.com/kawabata/ox-pandoc.git")
18506 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
18507 (file-name (git-file-name name version))
18508 (sha256
18509 (base32
18510 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
18511 (build-system emacs-build-system)
18512 (inputs
18513 `(("pandoc" ,ghc-pandoc)))
18514 (propagated-inputs
18515 `(("emacs-dash" ,emacs-dash)
18516 ("emacs-ht" ,emacs-ht)))
18517 (home-page "https://github.com/kawabata/ox-pandoc")
18518 (synopsis "Org exporter for Pandoc")
18519 (description "@code{ox-pandoc} is an exporter for converting Org-mode
18520 files to numerous other formats via Pandoc.")
18521 (license license:gpl3+)))
18522
18523 (define-public emacs-wc-mode
18524 (package
18525 (name "emacs-wc-mode")
18526 (version "1.3")
18527 (source (origin
18528 (method git-fetch)
18529 (uri (git-reference
18530 (url "https://github.com/bnbeckwith/wc-mode.git")
18531 (commit (string-append "v" version))))
18532 (file-name (git-file-name name version))
18533 (sha256
18534 (base32
18535 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
18536 (build-system emacs-build-system)
18537 (home-page "https://github.com/bnbeckwith/wc-mode")
18538 (synopsis "Running word count with goals (minor mode)")
18539 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
18540 for Emacs buffers as well as a modeline addition with live word, line and
18541 character counts. Additionally, a user can set specific goals for adding or
18542 deleting words. These goals were partly inspired by 750words.com where the
18543 goal of the site is to encourage writing by setting a goal of 750 words at a
18544 time.")
18545 (license license:gpl3+)))
18546
18547 (define-public emacs-mastodon
18548 (package
18549 (name "emacs-mastodon")
18550 (version "0.9.0")
18551 (source (origin
18552 (method git-fetch)
18553 (uri (git-reference
18554 (url "https://github.com/jdenen/mastodon.el.git")
18555 (commit version)))
18556 (file-name (git-file-name name version))
18557 (sha256
18558 (base32
18559 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
18560 (build-system emacs-build-system)
18561 (arguments
18562 `(#:phases
18563 (modify-phases %standard-phases
18564 ;; Move the source files to the top level, which is included in
18565 ;; the EMACSLOADPATH.
18566 (add-after 'unpack 'move-source-files
18567 (lambda _
18568 (let ((el-files (find-files "./lisp" ".*\\.el$")))
18569 (for-each (lambda (f)
18570 (rename-file f (basename f)))
18571 el-files))
18572 #t)))))
18573 (home-page "https://github.com/jdenen/mastodon.el")
18574 (synopsis "Emacs client for Mastodon")
18575 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
18576 federated microblogging social network.")
18577 (license license:gpl3+)))
18578
18579 ;; The last release tarball is for version 0.6. We pick a commit close to
18580 ;; version 0.6.10, which doesn't have a release tarball.
18581 (define-public emacs-ebdb
18582 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
18583 (revision "0"))
18584 (package
18585 (name "emacs-ebdb")
18586 (version (git-version "0.6.10" revision commit))
18587 (source (origin
18588 (method git-fetch)
18589 (uri (git-reference
18590 (url "https://github.com/girzel/ebdb.git")
18591 (commit commit)))
18592 (file-name (git-file-name name version))
18593 (sha256
18594 (base32
18595 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
18596 (build-system emacs-build-system)
18597 (home-page "https://github.com/girzel/ebdb")
18598 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
18599 (description "EBDB is a contact management/addressbook package for
18600 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
18601 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
18602 (license license:gpl3+))))
18603
18604 (define-public emacs-refactor
18605 (package
18606 (name "emacs-refactor")
18607 (version "0.4")
18608 (source (origin
18609 (method git-fetch)
18610 (uri (git-reference
18611 (url "https://github.com/Wilfred/emacs-refactor.git")
18612 (commit version)))
18613 (file-name (git-file-name name version))
18614 (sha256
18615 (base32
18616 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
18617 (build-system emacs-build-system)
18618 (propagated-inputs
18619 `(("emacs-dash" ,emacs-dash)
18620 ("emacs-s" ,emacs-s)
18621 ("emacs-popup" ,emacs-popup)
18622 ("emacs-list-utils" ,emacs-list-utils)
18623 ("emacs-iedit" ,emacs-iedit)))
18624 (home-page "https://github.com/Wilfred/emacs-refactor/")
18625 (synopsis "Language-specific refactoring in Emacs")
18626 (description "Emacs Refactor (EMR) is a framework for providing
18627 language-specific refactoring in Emacs. It includes refactoring commands for
18628 a variety of languages, including elisp itself.")
18629 (license license:gpl3+)))
18630
18631 (define-public emacs-flyspell-correct
18632 (package
18633 (name "emacs-flyspell-correct")
18634 (version "0.5")
18635 (source
18636 (origin
18637 (method git-fetch)
18638 (uri (git-reference
18639 (url "https://github.com/d12frosted/flyspell-correct.git")
18640 (commit (string-append "v" version))))
18641 (file-name (git-file-name name version))
18642 (sha256
18643 (base32
18644 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
18645 (build-system emacs-build-system)
18646 (propagated-inputs
18647 `(("emacs-helm" ,emacs-helm)
18648 ("emacs-ivy" ,emacs-ivy)
18649 ("emacs-popup" ,emacs-popup)))
18650 (home-page
18651 "https://github.com/d12frosted/flyspell-correct")
18652 (synopsis
18653 "Correcting words with flyspell via custom interfaces")
18654 (description
18655 "This package provides functionality for correcting words via custom
18656 interfaces. Several interfaces are supported beside the classic ido: popup,
18657 helm and ivy.")
18658 (license license:gpl3+)))
18659
18660 (define-public emacs-org-emms
18661 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
18662 (revision "1"))
18663 (package
18664 (name "emacs-org-emms")
18665 (version
18666 (git-version "0.1" revision commit))
18667 (source
18668 (origin
18669 (method git-fetch)
18670 (uri (git-reference
18671 (url "https://gitlab.com/jagrg/org-emms.git")
18672 (commit commit)))
18673 (file-name (git-file-name name commit))
18674 (sha256
18675 (base32
18676 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
18677 (build-system emacs-build-system)
18678 (propagated-inputs
18679 `(("emms" ,emacs-emms)
18680 ("emacs-org" ,emacs-org)))
18681 (home-page "https://gitlab.com/jagrg/org-emms")
18682 (synopsis "Play multimedia files from org-mode")
18683 (description
18684 "This package provides a new org link type for playing back multimedia
18685 files from org-mode using EMMS, The Emacs Multimedia System. If the link
18686 contains a track position, playback will start at the specified position.")
18687 (license license:gpl3+))))
18688
18689 (define-public emacs-org-jira
18690 (package
18691 (name "emacs-org-jira")
18692 (version "4.3.1")
18693 (source
18694 (origin
18695 (method git-fetch)
18696 (uri (git-reference
18697 (url "https://github.com/ahungry/org-jira.git")
18698 (commit version)))
18699 (file-name (git-file-name name version))
18700 (sha256
18701 (base32
18702 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
18703 (build-system emacs-build-system)
18704 (propagated-inputs
18705 `(("emacs-request" ,emacs-request)
18706 ("emacs-s" ,emacs-s)
18707 ("emacs-dash" ,emacs-dash)
18708 ("emacs-org" ,emacs-org)))
18709 (home-page "https://github.com/ahungry/org-jira")
18710 (synopsis "Syncing between Jira and Org-mode")
18711 (description
18712 "This package provides an extension to org-mode for syncing issues with
18713 JIRA issue servers.")
18714 (license license:gpl3+)))
18715
18716 (define-public emacs-systemd-mode
18717 (package
18718 (name "emacs-systemd-mode")
18719 (version "1.6")
18720 (source (origin
18721 (method git-fetch)
18722 (uri (git-reference
18723 (url "https://github.com/holomorph/systemd-mode.git")
18724 (commit (string-append "v" version))))
18725 (file-name (git-file-name name version))
18726 (sha256
18727 (base32
18728 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
18729 (build-system emacs-build-system)
18730 (arguments '(#:include '("\\.el$" "\\.txt$")))
18731 (home-page "https://github.com/holomorph/systemd-mode")
18732 (synopsis
18733 "Major mode for editing systemd units")
18734 (description
18735 "Major mode for editing systemd units in GNU Emacs.")
18736 (license license:gpl3+)))
18737
18738 (define-public emacs-ssh-config-mode
18739 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
18740 (revision "1"))
18741 (package
18742 (name "emacs-ssh-config-mode")
18743 (version (git-version "8.0" revision commit))
18744 (source
18745 (origin
18746 (method git-fetch)
18747 (uri
18748 (git-reference
18749 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
18750 (commit commit)))
18751 (file-name (git-file-name name commit))
18752 (sha256
18753 (base32
18754 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
18755 (build-system emacs-build-system)
18756 (arguments '(#:include '("\\.el$" "\\.txt$")))
18757 (home-page
18758 "https://github.com/jhgorrell/ssh-config-mode-el")
18759 (synopsis
18760 "Mode for fontification of ~/.ssh/config")
18761 (description
18762 "This package fontifies the ssh config keywords and creates
18763 keybindings for skipping from host section to host section.")
18764 (license license:gpl3+))))
18765
18766 (define-public emacs-tao-theme
18767 (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c")
18768 (revision "0"))
18769 (package
18770 (name "emacs-tao-theme")
18771 (version (git-version "0" revision commit))
18772 (source
18773 (origin
18774 (method git-fetch)
18775 (uri (git-reference
18776 (url "https://github.com/11111000000/tao-theme-emacs.git")
18777 (commit commit)))
18778 (file-name (git-file-name name version))
18779 (sha256
18780 (base32
18781 "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"))))
18782 (build-system emacs-build-system)
18783 (home-page "https://github.com/11111000000/tao-theme-emacs")
18784 (synopsis "Parameterized uncolored color themes for Emacs")
18785 (description
18786 "This package provides two parameterized uncolored color themes for
18787 Emacs: @code{tao-yin} and @code{tao-yang}. The default
18788 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
18789
18790 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
18791 @code{tao-theme-scale-filter-fn}, for edge filter; and
18792 @code{tao-theme-use-height}.")
18793 (license license:gpl3+))))
18794
18795 (define-public emacs-doom-themes
18796 (package
18797 (name "emacs-doom-themes")
18798 (version "2.1.6")
18799 (source (origin
18800 (method git-fetch)
18801 (uri (git-reference
18802 (url "https://github.com/hlissner/emacs-doom-themes.git")
18803 (commit (string-append "v" version))))
18804 (file-name (git-file-name name version))
18805 (sha256
18806 (base32 "042pzcdhxi2z07jcscgjbaki9nrrm0cbgbbrnymd1r4q8ckkn8l9"))))
18807 (build-system emacs-build-system)
18808 (native-inputs
18809 `(("emacs-ert-runner" ,emacs-ert-runner)))
18810 (arguments
18811 `(#:tests? #t
18812 #:test-command '("ert-runner")
18813 #:phases
18814 (modify-phases %standard-phases
18815 (add-after 'unpack 'move-themes
18816 (lambda _
18817 ;; Move the source files to the top level, which is in the
18818 ;; EMACSLOADPATH.
18819 (for-each (lambda (f)
18820 (rename-file f (basename f)))
18821 (find-files "./themes" ".*\\.el$"))
18822 #t)))))
18823 (synopsis "Wide collection of color themes for Emacs")
18824 (description "Emacs-doom-themes contains numerous popular color themes for
18825 Emacs that integrate with major modes like Org-mode.")
18826 (home-page "https://github.com/hlissner/emacs-doom-themes")
18827 (license license:expat)))
18828
18829 (define-public emacs-elixir-mode
18830 (package
18831 (name "emacs-elixir-mode")
18832 (version "2.3.1")
18833 (source
18834 (origin
18835 (method git-fetch)
18836 (uri (git-reference
18837 (url "https://github.com/elixir-editors/emacs-elixir.git")
18838 (commit (string-append "v" version))))
18839 (file-name (git-file-name name version))
18840 (sha256
18841 (base32 "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"))))
18842 (build-system emacs-build-system)
18843 (propagated-inputs
18844 `(("emacs-pkg-info" ,emacs-pkg-info)))
18845 (home-page
18846 "https://github.com/elixir-editors/emacs-elixir")
18847 (synopsis "Major mode for editing Elixir files")
18848 (description
18849 "Elixir-Mode Provides font-locking, indentation and navigation support
18850 for the Elixir programming language.")
18851 (license license:gpl3+)))