gnu: emacs-lsp-mode: Update to 6.1.
[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@autitici.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 ;;;
57 ;;; This file is part of GNU Guix.
58 ;;;
59 ;;; GNU Guix is free software; you can redistribute it and/or modify it
60 ;;; under the terms of the GNU General Public License as published by
61 ;;; the Free Software Foundation; either version 3 of the License, or (at
62 ;;; your option) any later version.
63 ;;;
64 ;;; GNU Guix is distributed in the hope that it will be useful, but
65 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
66 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
67 ;;; GNU General Public License for more details.
68 ;;;
69 ;;; You should have received a copy of the GNU General Public License
70 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
71
72 (define-module (gnu packages emacs-xyz)
73 #:use-module ((guix licenses) #:prefix license:)
74 #:use-module (guix packages)
75 #:use-module (guix cvs-download)
76 #:use-module (guix download)
77 #:use-module (guix git-download)
78 #:use-module (guix build-system gnu)
79 #:use-module (guix build-system cmake)
80 #:use-module (guix build-system emacs)
81 #:use-module (guix build-system glib-or-gtk)
82 #:use-module (guix build-system perl)
83 #:use-module (guix build-system trivial)
84 #:use-module (gnu packages)
85 #:use-module (gnu packages admin)
86 #:use-module (gnu packages audio)
87 #:use-module (gnu packages bash)
88 #:use-module (gnu packages cmake)
89 #:use-module (gnu packages code)
90 #:use-module (gnu packages databases)
91 #:use-module (gnu packages emacs)
92 #:use-module (gnu packages guile)
93 #:use-module (gnu packages gtk)
94 #:use-module (gnu packages gnome)
95 #:use-module (gnu packages ncurses)
96 #:use-module (gnu packages python)
97 #:use-module (gnu packages python-xyz)
98 #:use-module (gnu packages tex)
99 #:use-module (gnu packages texinfo)
100 #:use-module (gnu packages tcl)
101 #:use-module (gnu packages tls)
102 #:use-module (gnu packages pkg-config)
103 #:use-module (gnu packages xorg)
104 #:use-module (gnu packages lesstif)
105 #:use-module (gnu packages llvm)
106 #:use-module (gnu packages image)
107 #:use-module (gnu packages linux)
108 #:use-module (gnu packages libevent)
109 #:use-module (gnu packages music)
110 #:use-module (gnu packages version-control)
111 #:use-module (gnu packages imagemagick)
112 #:use-module (gnu packages w3m)
113 #:use-module (gnu packages wget)
114 #:use-module (gnu packages autotools)
115 #:use-module (gnu packages base)
116 #:use-module (gnu packages compression)
117 #:use-module (gnu packages xml)
118 #:use-module (gnu packages glib)
119 #:use-module (gnu packages acl)
120 #:use-module (gnu packages mail)
121 #:use-module (gnu packages package-management)
122 #:use-module (gnu packages perl)
123 #:use-module (gnu packages pdf)
124 #:use-module (gnu packages scheme)
125 #:use-module (gnu packages speech)
126 #:use-module (gnu packages xiph)
127 #:use-module (gnu packages mp3)
128 #:use-module (gnu packages gettext)
129 #:use-module (gnu packages fribidi)
130 #:use-module (gnu packages gd)
131 #:use-module (gnu packages fontutils)
132 #:use-module (gnu packages password-utils)
133 #:use-module (gnu packages pulseaudio)
134 #:use-module (gnu packages sphinx)
135 #:use-module (gnu packages xdisorg)
136 #:use-module (gnu packages shells)
137 #:use-module (gnu packages sqlite)
138 #:use-module (gnu packages gnupg)
139 #:use-module (gnu packages video)
140 #:use-module (gnu packages haskell-xyz)
141 #:use-module (gnu packages wordnet)
142 #:use-module (guix utils)
143 #:use-module (srfi srfi-1)
144 #:use-module (ice-9 match))
145
146 ;;;
147 ;;; Emacs hacking.
148 ;;;
149
150 (define-public emacs-geiser
151 (package
152 (name "emacs-geiser")
153 (version "0.10")
154 (source (origin
155 (method url-fetch)
156 (uri (string-append "mirror://savannah/geiser/" version
157 "/geiser-" version ".tar.gz"))
158 (sha256
159 (base32
160 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
161 (build-system gnu-build-system)
162 (arguments
163 '(#:phases
164 (modify-phases %standard-phases
165 (add-after 'install 'post-install
166 (lambda* (#:key outputs #:allow-other-keys)
167 (symlink "geiser-install.el"
168 (string-append (assoc-ref outputs "out")
169 "/share/emacs/site-lisp/"
170 "geiser-autoloads.el"))
171 #t)))))
172 (inputs `(("guile" ,guile-2.2)))
173 (native-inputs `(("emacs" ,emacs-minimal)))
174 (home-page "https://nongnu.org/geiser/")
175 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
176 (description
177 "Geiser is a collection of Emacs major and minor modes that conspire with
178 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
179 continuously running Scheme interpreter takes the center of the stage in
180 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
181 implementation, Emacs and, ultimately, the schemer, giving them access to live
182 metadata.")
183 (license license:bsd-3)))
184
185 (define-public geiser
186 (deprecated-package "geiser" emacs-geiser))
187
188 (define-public emacs-paredit
189 (package
190 (name "emacs-paredit")
191 (version "24")
192 (source (origin
193 (method url-fetch)
194 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
195 version ".el"))
196 (sha256
197 (base32
198 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
199 (build-system emacs-build-system)
200 (home-page "http://mumble.net/~campbell/emacs/paredit/")
201 (synopsis "Emacs minor mode for editing parentheses")
202 (description
203 "ParEdit (paredit.el) is a minor mode for performing structured editing
204 of S-expression data. The typical example of this would be Lisp or Scheme
205 source code.
206
207 ParEdit helps **keep parentheses balanced** and adds many keys for moving
208 S-expressions and moving around in S-expressions. Its behavior can be jarring
209 for those who may want transient periods of unbalanced parentheses, such as
210 when typing parentheses directly or commenting out code line by line.")
211 (license license:gpl3+)))
212
213 (define-public paredit
214 (deprecated-package "paredit" emacs-paredit))
215
216 (define-public git-modes
217 (package
218 (name "emacs-git-modes")
219 (version "1.2.8")
220 (source (origin
221 (method git-fetch)
222 (uri (git-reference
223 (url "https://github.com/magit/git-modes")
224 (commit version)))
225 (file-name (git-file-name name version))
226 (sha256
227 (base32
228 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
229 (build-system emacs-build-system)
230 (home-page "https://github.com/magit/git-modes")
231 (synopsis "Emacs major modes for Git configuration files")
232 (description
233 "This package provides Emacs major modes for editing various Git
234 configuration files, such as .gitattributes, .gitignore, and .git/config.")
235 (license license:gpl3+)))
236
237 (define-public git-modes/old-name
238 (deprecated-package "git-modes" git-modes))
239
240 (define-public emacs-with-editor
241 (package
242 (name "emacs-with-editor")
243 (version "2.8.3")
244 (source (origin
245 (method git-fetch)
246 (uri (git-reference
247 (url "https://github.com/magit/with-editor.git")
248 (commit (string-append "v" version))))
249 (file-name (git-file-name name version))
250 (sha256
251 (base32
252 "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"))))
253 (build-system emacs-build-system)
254 (propagated-inputs
255 `(("emacs-dash" ,emacs-dash)))
256 (home-page "https://github.com/magit/with-editor")
257 (synopsis "Emacs library for using Emacsclient as EDITOR")
258 (description
259 "This package provides an Emacs library to use the Emacsclient as
260 @code{$EDITOR} of child processes, making sure they know how to call home.
261 For remote processes a substitute is provided, which communicates with Emacs
262 on stdout instead of using a socket as the Emacsclient does.")
263 (license license:gpl3+)))
264
265 (define-public emacs-magit
266 ;; Version 2.90.1 has trouble loading the transient library,
267 ;; so we use a more recent commit that fixes it.
268 (let ((commit "b4aec016b5577afa8d889f258b499814d1bb1d94"))
269 (package
270 (name "emacs-magit")
271 (version (git-version "2.90.1" "1" commit))
272 (source (origin
273 (method git-fetch)
274 (uri (git-reference
275 (url "https://github.com/magit/magit")
276 (commit commit)))
277 (file-name (git-file-name name version))
278 (sha256
279 (base32
280 "0zl7v6z0y50pcgqsf2r8c1k3r5nwjad9ba7r6sgrnf4rc62br7jv"))))
281 (build-system gnu-build-system)
282 (native-inputs `(("texinfo" ,texinfo)
283 ("emacs" ,emacs-minimal)))
284 (inputs
285 `(("git" ,git)
286 ("perl" ,perl)))
287 (propagated-inputs
288 `(("dash" ,emacs-dash)
289 ("with-editor" ,emacs-with-editor)
290 ("transient" ,emacs-transient)))
291 (arguments
292 `(#:modules ((guix build gnu-build-system)
293 (guix build utils)
294 (guix build emacs-utils))
295 #:imported-modules (,@%gnu-build-system-modules
296 (guix build emacs-utils))
297 #:test-target "test"
298 #:tests? #f ; tests are not included in the release
299
300 #:make-flags
301 (list (string-append "PREFIX=" %output)
302 ;; Don't put .el files in a sub-directory.
303 (string-append "lispdir=" %output "/share/emacs/site-lisp")
304 (string-append "DASH_DIR="
305 (assoc-ref %build-inputs "dash")
306 "/share/emacs/site-lisp/guix.d/dash-"
307 ,(package-version emacs-dash))
308 (string-append "WITH_EDITOR_DIR="
309 (assoc-ref %build-inputs "with-editor")
310 "/share/emacs/site-lisp/guix.d/with-editor-"
311 ,(package-version emacs-with-editor))
312 (string-append "TRANSIENT_DIR="
313 (assoc-ref %build-inputs "transient")
314 "/share/emacs/site-lisp/guix.d/transient-"
315 ,(package-version emacs-transient)))
316
317 #:phases
318 (modify-phases %standard-phases
319 (delete 'configure)
320 (add-before
321 'build 'patch-exec-paths
322 (lambda* (#:key inputs #:allow-other-keys)
323 (let ((perl (assoc-ref inputs "perl")))
324 (make-file-writable "lisp/magit-sequence.el")
325 (emacs-substitute-variables "lisp/magit-sequence.el"
326 ("magit-perl-executable" (string-append perl "/bin/perl")))
327 #t))))))
328 (home-page "https://magit.vc/")
329 (synopsis "Emacs interface for the Git version control system")
330 (description
331 "With Magit, you can inspect and modify your Git repositories with Emacs.
332 You can review and commit the changes you have made to the tracked files, for
333 example, and you can browse the history of past changes. There is support for
334 cherry picking, reverting, merging, rebasing, and other common Git
335 operations.")
336 (license license:gpl3+))))
337
338 (define-public magit
339 (deprecated-package "magit" emacs-magit))
340
341 (define-public emacs-magit-svn
342 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
343 (package
344 (name "emacs-magit-svn")
345 (version (git-version "2.2.1" "1" commit))
346 (source (origin
347 (method git-fetch)
348 (uri (git-reference
349 (url "https://github.com/magit/magit-svn")
350 (commit commit)))
351 (file-name (git-file-name name version))
352 (sha256
353 (base32
354 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
355 (build-system trivial-build-system)
356 (native-inputs `(("emacs" ,emacs-minimal)))
357 (propagated-inputs `(("dash" ,emacs-dash)
358 ("with-editor" ,emacs-with-editor)
359 ("magit" ,emacs-magit)
360 ("transient" ,emacs-transient)))
361 (arguments
362 `(#:modules ((guix build utils)
363 (guix build emacs-utils))
364
365 #:builder
366 (begin
367 (use-modules (guix build utils)
368 (guix build emacs-utils))
369
370 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
371 "/bin/emacs"))
372 (magit (string-append (assoc-ref %build-inputs "magit")
373 "/share/emacs/site-lisp"))
374 (transient (string-append (assoc-ref %build-inputs "transient")
375 "/share/emacs/site-lisp/guix.d/transient-"
376 ,(package-version emacs-transient)))
377 (dash (string-append (assoc-ref %build-inputs "dash")
378 "/share/emacs/site-lisp/guix.d/dash-"
379 ,(package-version emacs-dash)))
380 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
381 "/share/emacs/site-lisp/guix.d/with-editor-"
382 ,(package-version emacs-with-editor)))
383 (source (assoc-ref %build-inputs "source"))
384 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
385
386 (install-file (string-append source "/magit-svn.el")
387 lisp-dir)
388
389 (with-directory-excursion lisp-dir
390 (parameterize ((%emacs emacs))
391 (emacs-generate-autoloads ,name lisp-dir)
392 (setenv "EMACSLOADPATH"
393 (string-append ":" magit ":" transient
394 ":" dash ":" with-editor))
395 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
396 #t))))
397 (home-page "https://github.com/magit/magit-svn")
398 (synopsis "Git-SVN extension to Magit")
399 (description
400 "This package is an extension to Magit, the Git Emacs mode, providing
401 support for Git-SVN.")
402 (license license:gpl3+))))
403
404 (define-public magit-svn
405 (deprecated-package "magit-svn" emacs-magit-svn))
406
407 (define-public emacs-magit-popup
408 (package
409 (name "emacs-magit-popup")
410 (version "2.12.5")
411 (source (origin
412 (method git-fetch)
413 (uri (git-reference
414 (url "https://github.com/magit/magit-popup.git")
415 (commit (string-append "v" version))))
416 (file-name (git-file-name name version))
417 (sha256
418 (base32
419 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
420 (build-system emacs-build-system)
421 (arguments
422 `(#:phases
423 (modify-phases %standard-phases
424 (add-before 'install 'make-info
425 (lambda _
426 (invoke "make" "info"))))))
427 (native-inputs
428 `(("texinfo" ,texinfo)))
429 (propagated-inputs
430 `(("emacs-dash" ,emacs-dash)))
431 (home-page "https://github.com/magit/magit-popup")
432 (synopsis "Define prefix-infix-suffix command combos")
433 (description
434 "This library implements a generic interface for toggling switches and
435 setting options and then invoking an Emacs command which does something with
436 these arguments. The prototypical use is for the command to call an external
437 process, passing on the arguments as command line arguments.")
438 (license license:gpl3+)))
439
440 (define-public emacs-minions
441 (package
442 (name "emacs-minions")
443 (version "0.3.1")
444 (source (origin
445 (method git-fetch)
446 (uri (git-reference
447 (url "https://github.com/tarsius/minions.git")
448 (commit (string-append "v" version))))
449 (file-name (git-file-name name version))
450 (sha256
451 (base32
452 "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s"))))
453 (build-system emacs-build-system)
454 (propagated-inputs
455 `(("emacs-dash" ,emacs-dash)))
456 (home-page "https://github.com/tarsius/minions")
457 (synopsis "Minor-mode menu for the mode line")
458 (description
459 "This package implements a menu that lists enabled minor-modes, as well
460 as commonly but not currently enabled minor-modes. It can be used to toggle
461 local and global minor-modes, to access mode-specific menus, and to get help
462 about modes.
463
464 This menu is intended as a replacement for the incomplete yet wide list of
465 enabled minor-modes that is displayed in the mode line by default. To use the
466 menu like this, enable Minions mode.
467
468 Alternatively the menu can be bound globally, for example:
469 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
470 (license license:gpl3+)))
471
472 (define-public emacs-treepy
473 (package
474 (name "emacs-treepy")
475 (version "0.1.1")
476 (source (origin
477 (method git-fetch)
478 (uri (git-reference
479 (url "https://github.com/volrath/treepy.el.git")
480 (commit version)))
481 (file-name (git-file-name name version))
482 (sha256
483 (base32
484 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
485 (build-system emacs-build-system)
486 (home-page
487 "https://github.com/volrath/treepy.el")
488 (synopsis "Tree traversal tools")
489 (description
490 "Generic tools for recursive and iterative tree traversal based on
491 clojure.walk and clojure.zip respectively.")
492 (license license:gpl3+)))
493
494 (define-public emacs-graphql
495 (package
496 (name "emacs-graphql")
497 (version "0.1.1")
498 (source (origin
499 (modules '((guix build utils)))
500 ;; Remove examples file with references to external packages as
501 ;; they do not exist at compilation time.
502 (snippet
503 '(begin (delete-file "examples.el")
504 #t))
505 (method git-fetch)
506 (uri (git-reference
507 (url "https://github.com/vermiculus/graphql.el.git")
508 (commit version)))
509 (file-name (git-file-name name version))
510 (sha256
511 (base32
512 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
513 (build-system emacs-build-system)
514 (home-page
515 "https://github.com/vermiculus/graphql.el")
516 (synopsis "GraphQL utilities")
517 (description
518 "GraphQL.el provides a generally-applicable domain-specific language for
519 creating and executing GraphQL queries against your favorite web services.
520 GraphQL is a data query language and runtime designed and used to request and
521 deliver data to mobile and web apps.")
522 (license license:gpl3+)))
523
524 (define-public emacs-ghub
525 (package
526 (name "emacs-ghub")
527 (version "3.2.0")
528 (source (origin
529 (method git-fetch)
530 (uri (git-reference
531 (url "https://github.com/magit/ghub")
532 (commit (string-append "v" version))))
533 (file-name (git-file-name name version))
534 (sha256
535 (base32
536 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
537 (build-system emacs-build-system)
538 (arguments
539 `(#:phases
540 (modify-phases %standard-phases
541 (add-before 'install 'make-info
542 (lambda _
543 (invoke "make" "info"))))))
544 (native-inputs
545 `(("texinfo" ,texinfo)))
546 (propagated-inputs
547 `(("dash" ,emacs-dash)
548 ("graphql" ,emacs-graphql)
549 ("treepy" ,emacs-treepy)))
550 (home-page "https://github.com/magit/ghub")
551 (synopsis "Emacs client libraries for the APIs of various Git forges")
552 (description
553 "Ghub provides basic support for using the APIs of various Git forges from
554 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
555 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
556 handful of functions that are not resource-specific.")
557 (license license:gpl3+)))
558
559 (define-public emacs-scribble-mode
560 (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
561 (version "0.0")
562 (revision 0))
563 (package
564 (name "emacs-scribble-mode")
565 (version (if (zero? revision)
566 version
567 (string-append version "-"
568 (number->string revision)
569 "." (string-take commit 7))))
570 (source (origin
571 (method git-fetch)
572 (uri (git-reference
573 (url "https://github.com/emacs-pe/scribble-mode.git")
574 (commit commit)))
575 (sha256
576 (base32
577 "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
578 (build-system emacs-build-system)
579 (home-page "https://github.com/emacs-pe/scribble-mode")
580 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
581 (description
582 "This package provides basic syntax highlighting and editing support
583 for editing Racket's Scribble documentation syntax in Emacs.")
584 (license license:gpl3+))))
585
586 (define-public emacs-shroud
587 (package
588 (name "emacs-shroud")
589 (version "1.83.4")
590 (source
591 (origin
592 (method git-fetch)
593 (uri (git-reference
594 (url "https://github.com/o-nly/emacs-shroud.git")
595 (commit version)))
596 (file-name (git-file-name name version))
597 (sha256
598 (base32 "1yvdjx0kp4y8w5yz2cbqq9n6xl5splvmsyyx8ld1xv0q1c9872nf"))))
599 (build-system emacs-build-system)
600 (propagated-inputs
601 `(("emacs-bui" ,emacs-bui)
602 ("emacs-dash" ,emacs-dash)
603 ("emacs-f" ,emacs-f)
604 ("emacs-s" ,emacs-s)
605 ("gnupg" ,gnupg)
606 ("shroud" ,shroud)))
607 (home-page "https://github.com/o-nly/emacs-shroud")
608 (synopsis "Emacs interface to the Shroud password manager")
609 (description
610 "This package provides an Emacs interface to the Shroud password manager,
611 using the Buffers User Interface library. You can view, copy, and edit secrets
612 from within Emacs.")
613 (license license:gpl3+)))
614
615 (define-public emacs-unpackaged-el
616 (let ((commit "f4df7f8dfea715e893b2223adda32545803f5cce")
617 (revision "1"))
618 (package
619 (name "emacs-unpackaged-el")
620 (version (git-version "0" revision commit))
621 (source
622 (origin
623 (method git-fetch)
624 (uri (git-reference
625 (url "https://github.com/alphapapa/unpackaged.el")
626 (commit commit)))
627 (file-name (git-file-name name version))
628 (sha256
629 (base32
630 "1yf3zrgqfhnr0az8gn1kqqwnhfi3nc0vbjkcagwcqwk3sp1jda86"))
631 (patches
632 (search-patches "emacs-unpackaged-req.patch"))))
633 (build-system emacs-build-system)
634 (propagated-inputs
635 `(("emacs-dash" ,emacs-dash)
636 ("emacs-org" ,emacs-org)
637 ("emacs-s" ,emacs-s)
638 ("emacs-hydra" ,emacs-hydra)
639 ("emacs-use-package" ,emacs-use-package)))
640 (home-page "https://github.com/alphapapa/unpackaged.el")
641 (synopsis "Useful snippets of Emacs Lisp code")
642 (description "This package provides Emacs Lisp utilities for a variety
643 of tasks, including version control, task management, and regex-based
644 replacement.")
645 (license license:gpl3+))))
646
647 (define-public emacs-haskell-mode
648 (package
649 (name "emacs-haskell-mode")
650 (version "16.1")
651 (source (origin
652 (method git-fetch)
653 (uri (git-reference
654 (url "https://github.com/haskell/haskell-mode")
655 (commit (string-append "v" version))))
656 (file-name (git-file-name name version))
657 (sha256
658 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
659 (patches
660 (search-patches ; backport test failure fixes
661 "haskell-mode-unused-variables.patch"
662 "haskell-mode-make-check.patch"))))
663 (inputs
664 `(("emacs-el-search" ,emacs-el-search) ; for tests
665 ("emacs-stream" ,emacs-stream))) ; for tests
666 (propagated-inputs
667 `(("emacs-dash" ,emacs-dash)))
668 (native-inputs
669 `(("emacs" ,emacs-minimal)
670 ("texinfo" ,texinfo)))
671 (build-system gnu-build-system)
672 (arguments
673 `(#:make-flags (list (string-append "EMACS="
674 (assoc-ref %build-inputs "emacs")
675 "/bin/emacs"))
676 #:modules ((ice-9 match)
677 (srfi srfi-26)
678 ,@%gnu-build-system-modules)
679 #:phases
680 (modify-phases %standard-phases
681 (delete 'configure)
682 (add-before
683 'build 'pre-build
684 (lambda* (#:key inputs #:allow-other-keys)
685 (define (el-dir store-dir)
686 (match (find-files store-dir "\\.el$")
687 ((f1 f2 ...) (dirname f1))
688 (_ "")))
689
690 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
691 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
692
693 (setenv "SHELL" "sh")
694 (setenv "EMACSLOADPATH"
695 (string-concatenate
696 (map (match-lambda
697 (((? emacs-prefix? name) . dir)
698 (string-append (el-dir dir) ":"))
699 (_ ""))
700 inputs)))
701 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
702 ;; embed filename to fix test failure
703 (let ((file "tests/haskell-cabal-tests.el"))
704 (substitute* file
705 (("\\(buffer-file-name\\)")
706 (format #f "(or (buffer-file-name) ~s)" file))))
707 #t)))
708 (replace
709 'install
710 (lambda* (#:key outputs #:allow-other-keys)
711 (let* ((out (assoc-ref outputs "out"))
712 (el-dir (string-append out "/share/emacs/site-lisp"))
713 (doc (string-append
714 out "/share/doc/haskell-mode-" ,version))
715 (info (string-append out "/share/info")))
716 (define (copy-to-dir dir files)
717 (for-each (lambda (f)
718 (install-file f dir))
719 files))
720
721 (with-directory-excursion "doc"
722 (invoke "makeinfo" "haskell-mode.texi")
723 (install-file "haskell-mode.info" info))
724 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
725 (copy-to-dir el-dir (find-files "." "\\.elc?"))
726 ;; These are part of other packages.
727 (with-directory-excursion el-dir
728 (for-each delete-file '("dash.el" "ert.el")))
729 #t))))))
730 (home-page "https://github.com/haskell/haskell-mode")
731 (synopsis "Haskell mode for Emacs")
732 (description
733 "This is an Emacs mode for editing, debugging and developing Haskell
734 programs.")
735 (license license:gpl3+)))
736
737 (define-public haskell-mode
738 (deprecated-package "haskell-mode" emacs-haskell-mode))
739
740 (define-public emacs-dante
741 (let ((commit "149dded24ca9cdff09a3d859e4b62638db4aadda")
742 (revision "1"))
743 (package
744 (name "emacs-dante")
745 (version (git-version "1.5" revision commit))
746 (source (origin
747 (method git-fetch)
748 (uri (git-reference
749 (url "https://github.com/jyp/dante")
750 (commit commit)))
751 (sha256
752 (base32
753 "0i7kj3d6pfys6si9va5f36qzifyac9mahdl0qh40rya9m0syrkla"))
754 (file-name (git-file-name name version))))
755 (build-system emacs-build-system)
756 (propagated-inputs
757 `(("emacs-dash" ,emacs-dash)
758 ("emacs-f" ,emacs-f)
759 ("emacs-flycheck" ,emacs-flycheck)
760 ("emacs-haskell-mode" ,emacs-haskell-mode)
761 ("emacs-s" ,emacs-s)
762 ("emacs-company" ,emacs-company)
763 ("emacs-lcr" ,emacs-lcr)))
764 (home-page "https://github.com/jyp/dante")
765 (synopsis "Minor mode for interactive Haskell")
766 (description
767 "This package provides a minor mode for Haskell development that
768 supports type hints, definition-jumping, completion, and more.")
769 (license license:gpl3+))))
770
771 (define-public emacs-flycheck
772 (package
773 (name "emacs-flycheck")
774 (version "31")
775 (source (origin
776 (method url-fetch)
777 (uri (string-append
778 "https://github.com/flycheck/flycheck/releases/download/"
779 version "/flycheck-" version ".tar"))
780 (sha256
781 (base32
782 "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))
783 (modules '((guix build utils)))
784 (snippet `(begin
785 ;; Change 'flycheck-version' so that it does not
786 ;; attempt to get its version from pkg-info.el.
787 (substitute* "flycheck.el"
788 (("\\(pkg-info-version-info 'flycheck\\)")
789 (string-append "\"" ,version "\"")))
790 #t))))
791 (build-system emacs-build-system)
792 (propagated-inputs
793 `(("emacs-dash" ,emacs-dash)))
794 (home-page "https://www.flycheck.org")
795 (synopsis "On-the-fly syntax checking")
796 (description
797 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
798 replacement for the older Flymake extension which is part of GNU Emacs, with
799 many improvements and additional features.
800
801 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
802 checking for over 30 programming and markup languages with more than 70
803 different tools. It highlights errors and warnings inline in the buffer, and
804 provides an optional IDE-like error list.")
805 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
806
807 (define-public emacs-a
808 (package
809 (name "emacs-a")
810 (version "0.1.1")
811 (source (origin
812 (method git-fetch)
813 (uri (git-reference
814 (url "https://github.com/plexus/a.el.git")
815 (commit (string-append "v" version))))
816 (file-name (git-file-name name version))
817 (sha256
818 (base32
819 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
820 (build-system emacs-build-system)
821 (home-page "https://github.com/plexus/a.el/")
822 (synopsis
823 "Emacs library for dealing with association lists and hash tables")
824 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
825 with associative structures in a uniform and functional way. These functions
826 can take association lists, hash tables, and in some cases vectors (where the
827 index is considered the key).")
828 (license license:gpl3+)))
829
830 (define-public emacs-ace-jump-mode
831 (package
832 (name "emacs-ace-jump-mode")
833 (version "2.0")
834 (home-page "https://github.com/winterTTr/ace-jump-mode")
835 (source (origin
836 (method git-fetch)
837 (uri (git-reference
838 (url home-page)
839 (commit (string-append "v" version))))
840 (sha256
841 (base32
842 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
843 (file-name (git-file-name name version))))
844 (build-system emacs-build-system)
845 (synopsis "Cursor location minor mode for fast navigation")
846 (description "Ace-jump-mode is a fast/direct cursor location minor
847 mode. It creates an N-Branch search tree internally and marks all
848 the possible position with predefined keys in within the whole Emacs
849 view. This allows you to move to the character, word, or line almost
850 directly.")
851 (license license:gpl3+)))
852
853 (define-public emacs-anaphora
854 (package
855 (name "emacs-anaphora")
856 (version "1.0.4")
857 (source
858 (origin
859 (method git-fetch)
860 (uri (git-reference
861 (url "https://github.com/rolandwalker/anaphora.git")
862 (commit (string-append "v" version))))
863 (file-name (git-file-name name version))
864 (sha256
865 (base32
866 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
867 (build-system emacs-build-system)
868 (home-page "https://github.com/rolandwalker/anaphora/")
869 (synopsis "Anaphoric expressions for Emacs Lisp")
870 (description "@code{emacs-anaphora} implements anaphoric expressions for
871 Emacs Lisp.
872
873 Anaphoric expressions implicitly create one or more temporary variables which
874 can be referred to during the expression. This technique can improve clarity
875 in certain cases. It also enables recursion for anonymous functions.")
876 (license license:public-domain)))
877
878 (define-public emacs-xr
879 (package
880 (name "emacs-xr")
881 (version "1.13")
882 (source
883 (origin
884 (method url-fetch)
885 (uri (string-append
886 "https://elpa.gnu.org/packages/xr-" version ".tar"))
887 (sha256
888 (base32
889 "1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r"))))
890 (build-system emacs-build-system)
891 (home-page "http://elpa.gnu.org/packages/xr.html")
892 (synopsis "Convert string regexp to rx notation")
893 (description
894 "This is an inverse companion to the @code{rx} package for translating
895 regexps in string form to the @code{rx} notation. Its chief uses are:
896
897 @itemize
898 @item Migrating existing code to @code{rx} form, for better readability and
899 maintainability
900 @item Understanding complex regexp strings and finding errors in them
901 @end itemize
902
903 In addition to Emacs regexps, this package can also parse and troubleshoot
904 skip set strings, which are arguments to @code{skip-chars-forward} and
905 @code{skip-chars-backward}.")
906 (license license:gpl3+)))
907
908 (define-public emacs-ample-regexps
909 (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
910 (revision "1"))
911 (package
912 (name "emacs-ample-regexps")
913 (version (git-version "0.1" revision commit))
914 (source
915 (origin
916 (method git-fetch)
917 (uri (git-reference
918 (url "https://github.com/immerrr/ample-regexps.el")
919 (commit commit)))
920 (file-name (git-file-name name version))
921 (sha256
922 (base32
923 "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
924 (build-system emacs-build-system)
925 (native-inputs
926 `(("ert-runner" ,emacs-ert-runner)))
927 (arguments
928 `(#:tests? #t
929 #:test-command '("ert-runner" "-l" "ample-regexps")))
930 (home-page "https://github.com/immerrr/ample-regexps.el")
931 (synopsis "Compose and reuse Emacs regexps")
932 (description
933 "This package allows common parts of regexps to be easily picked out
934 and reused.")
935 (license license:gpl3+))))
936
937 (define-public emacs-reformatter
938 (package
939 (name "emacs-reformatter")
940 (version "0.4")
941 (source
942 (origin
943 (method git-fetch)
944 (uri (git-reference
945 (url "https://github.com/purcell/reformatter.el.git")
946 (commit version)))
947 (file-name (git-file-name name version))
948 (sha256
949 (base32
950 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
951 (build-system emacs-build-system)
952 (home-page "https://github.com/purcell/reformatter.el")
953 (synopsis "Define commands which run reformatters on the current buffer")
954 (description
955 "This library lets elisp authors easily define an idiomatic command to
956 reformat the current buffer using a command-line program, together with an
957 optional minor mode which can apply this command automatically on save.")
958 (license license:gpl3+)))
959
960 (define-public emacs-relint
961 (package
962 (name "emacs-relint")
963 (version "1.10")
964 (source
965 (origin
966 (method url-fetch)
967 (uri (string-append
968 "https://elpa.gnu.org/packages/relint-" version ".el"))
969 (sha256
970 (base32
971 "1l0lh4pkksw7brmhhbaikwzs4zkgd2962ks1zy7m262dvkhxjfv8"))))
972 (build-system emacs-build-system)
973 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
974 (home-page "https://github.com/mattiase/relint")
975 (synopsis "Elisp regexp mistake finder")
976 (description
977 "Relint (regular expression lint) scans Elisp files for mistakes in
978 regexps, including deprecated syntax and bad practice. It also checks the
979 regexp-like arguments to @code{skip-chars-forward} and
980 @code{skip-chars-backward}.")
981 (license license:gpl3+)))
982
983 (define-public emacs-bug-hunter
984 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
985 (revision "1"))
986 (package
987 (name "emacs-bug-hunter")
988 (version (git-version "1.3.1" revision commit))
989 (source
990 (origin
991 (method git-fetch)
992 (uri (git-reference
993 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
994 (commit commit)))
995 (file-name (git-file-name name commit))
996 (sha256
997 (base32
998 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
999 (build-system emacs-build-system)
1000 (propagated-inputs
1001 `(("emacs-seq" ,emacs-seq)))
1002 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1003 (synopsis "Hunt down errors by bisecting elisp files")
1004 (description
1005 "The Bug Hunter is an Emacs library that finds the source of an error
1006 or unexpected behavior inside an elisp configuration file (typically
1007 @file{init.el} or @file{.emacs}).")
1008 (license license:gpl3+))))
1009
1010 \f
1011 ;;;
1012 ;;; Web browsing.
1013 ;;;
1014
1015 (define-public emacs-w3m
1016 ;; Emacs-w3m follows a "rolling release" model.
1017 (package
1018 (name "emacs-w3m")
1019 (version "2018-11-11")
1020 (source (origin
1021 (method cvs-fetch)
1022 (uri (cvs-reference
1023 (root-directory
1024 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1025 (module "emacs-w3m")
1026 (revision version)))
1027 (file-name (string-append name "-" version "-checkout"))
1028 (sha256
1029 (base32
1030 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1031 (build-system gnu-build-system)
1032 (native-inputs `(("autoconf" ,autoconf)
1033 ("texinfo" ,texinfo)
1034 ("emacs" ,emacs-minimal)))
1035 (inputs `(("w3m" ,w3m)
1036 ("imagemagick" ,imagemagick)))
1037 (arguments
1038 `(#:modules ((guix build gnu-build-system)
1039 (guix build utils)
1040 (guix build emacs-utils))
1041 #:imported-modules (,@%gnu-build-system-modules
1042 (guix build emacs-utils))
1043 #:configure-flags
1044 (let ((out (assoc-ref %outputs "out")))
1045 (list (string-append "--with-lispdir="
1046 out "/share/emacs/site-lisp")
1047 (string-append "--with-icondir="
1048 out "/share/images/emacs-w3m")
1049 ;; Leave .el files uncompressed, otherwise GC can't
1050 ;; identify run-time dependencies. See
1051 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1052 "--without-compress-install"))
1053 #:tests? #f ; no check target
1054 #:phases
1055 (modify-phases %standard-phases
1056 (add-after 'unpack 'autoconf
1057 (lambda _
1058 (invoke "autoconf")))
1059 (add-before 'configure 'support-emacs!
1060 (lambda _
1061 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1062 ;; unsupported.
1063 (substitute* "configure"
1064 (("EMACS_FLAVOR=unsupported")
1065 "EMACS_FLAVOR=emacs"))
1066 #t))
1067 (add-before 'build 'patch-exec-paths
1068 (lambda* (#:key inputs outputs #:allow-other-keys)
1069 (let ((out (assoc-ref outputs "out"))
1070 (w3m (assoc-ref inputs "w3m"))
1071 (imagemagick (assoc-ref inputs "imagemagick"))
1072 (coreutils (assoc-ref inputs "coreutils")))
1073 (make-file-writable "w3m.el")
1074 (emacs-substitute-variables "w3m.el"
1075 ("w3m-command" (string-append w3m "/bin/w3m"))
1076 ("w3m-touch-command"
1077 (string-append coreutils "/bin/touch"))
1078 ("w3m-icon-directory"
1079 (string-append out "/share/images/emacs-w3m")))
1080 (make-file-writable "w3m-image.el")
1081 (emacs-substitute-variables "w3m-image.el"
1082 ("w3m-imagick-convert-program"
1083 (string-append imagemagick "/bin/convert"))
1084 ("w3m-imagick-identify-program"
1085 (string-append imagemagick "/bin/identify")))
1086 #t)))
1087 (replace 'install
1088 (lambda* (#:key outputs #:allow-other-keys)
1089 (invoke "make" "install" "install-icons")
1090 (with-directory-excursion
1091 (string-append (assoc-ref outputs "out")
1092 "/share/emacs/site-lisp")
1093 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1094 (symlink "w3m-load.el" "w3m-autoloads.el")
1095 #t))))))
1096 (home-page "http://emacs-w3m.namazu.org/")
1097 (synopsis "Simple Web browser for Emacs based on w3m")
1098 (description
1099 "Emacs-w3m is an emacs interface for the w3m web browser.")
1100 (license license:gpl2+)))
1101
1102 (define-public emacs-wget
1103 (package
1104 (name "emacs-wget")
1105 (version "0.5.0")
1106 (source (origin
1107 (method url-fetch)
1108 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1109 version ".orig.tar.gz"))
1110 (sha256
1111 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1112 (build-system gnu-build-system)
1113 (inputs `(("wget" ,wget)))
1114 (native-inputs `(("emacs" ,emacs-minimal)))
1115 (arguments
1116 `(#:modules ((guix build gnu-build-system)
1117 (guix build utils)
1118 (guix build emacs-utils))
1119 #:imported-modules (,@%gnu-build-system-modules
1120 (guix build emacs-utils))
1121 #:tests? #f ; no check target
1122 #:phases
1123 (modify-phases %standard-phases
1124 (replace 'configure
1125 (lambda* (#:key outputs #:allow-other-keys)
1126 (substitute* "Makefile"
1127 (("/usr/local") (assoc-ref outputs "out"))
1128 (("/site-lisp/emacs-wget") "/site-lisp"))
1129 #t))
1130 (add-before 'build 'patch-exec-paths
1131 (lambda* (#:key inputs outputs #:allow-other-keys)
1132 (let ((wget (assoc-ref inputs "wget")))
1133 (emacs-substitute-variables "wget.el"
1134 ("wget-command" (string-append wget "/bin/wget"))))
1135 #t))
1136 (add-after 'install 'post-install
1137 (lambda* (#:key outputs #:allow-other-keys)
1138 (emacs-generate-autoloads
1139 "wget" (string-append (assoc-ref outputs "out")
1140 "/share/emacs/site-lisp/"))
1141 #t)))))
1142 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
1143 (synopsis "Simple file downloader for Emacs based on wget")
1144 (description
1145 "Emacs-wget is an emacs interface for the wget file downloader.")
1146 (license license:gpl2+)))
1147
1148 \f
1149 ;;;
1150 ;;; Multimedia.
1151 ;;;
1152
1153 (define-public emacs-emms
1154 (package
1155 (name "emacs-emms")
1156 (version "5.2")
1157 (source (origin
1158 (method url-fetch)
1159 (uri (string-append "mirror://gnu/emms/emms-"
1160 version ".tar.gz"))
1161 (sha256
1162 (base32
1163 "0cvpfdkagkpi8g02w8f7wzrpdk2ihas0mn5m9fr882xjdfshl21z"))
1164 (modules '((guix build utils)))
1165 (snippet
1166 '(begin
1167 (substitute* "Makefile"
1168 (("/usr/bin/install-info")
1169 ;; No need to use 'install-info' since it would create a
1170 ;; useless 'dir' file.
1171 "true")
1172 (("^INFODIR=.*")
1173 ;; Install Info files to $out/share/info, not $out/info.
1174 "INFODIR := $(PREFIX)/share/info\n")
1175 (("/site-lisp/emms")
1176 ;; Install directly in share/emacs/site-lisp, not in a
1177 ;; sub-directory.
1178 "/site-lisp")
1179 (("^all: (.*)\n" _ rest)
1180 ;; Build 'emms-print-metadata'.
1181 (string-append "all: " rest " emms-print-metadata\n")))
1182 #t))))
1183 (build-system gnu-build-system)
1184 (arguments
1185 `(#:modules ((guix build gnu-build-system)
1186 (guix build utils)
1187 (guix build emacs-utils)
1188 (ice-9 ftw))
1189 #:imported-modules (,@%gnu-build-system-modules
1190 (guix build emacs-utils))
1191
1192 #:phases
1193 (modify-phases %standard-phases
1194 (replace 'configure
1195 (lambda* (#:key inputs outputs #:allow-other-keys)
1196 (let ((out (assoc-ref outputs "out"))
1197 (flac (assoc-ref inputs "flac"))
1198 (vorbis (assoc-ref inputs "vorbis-tools"))
1199 (alsa (assoc-ref inputs "alsa-utils"))
1200 (mpg321 (assoc-ref inputs "mpg321"))
1201 (mp3info (assoc-ref inputs "mp3info"))
1202 (mutagen (assoc-ref inputs "mutagen"))
1203 (opus (assoc-ref inputs "opus-tools")))
1204 ;; Specify the installation directory.
1205 (substitute* "Makefile"
1206 (("PREFIX=.*$")
1207 (string-append "PREFIX := " out "\n")))
1208
1209 (setenv "SHELL" (which "sh"))
1210 (setenv "CC" "gcc")
1211
1212 ;; Specify the absolute file names of the various
1213 ;; programs so that everything works out-of-the-box.
1214 (with-directory-excursion "lisp"
1215 (emacs-substitute-variables
1216 "emms-player-mpg321-remote.el"
1217 ("emms-player-mpg321-remote-command"
1218 (string-append mpg321 "/bin/mpg321")))
1219 (substitute* "emms-player-simple.el"
1220 (("\"ogg123\"")
1221 (string-append "\"" vorbis "/bin/ogg123\"")))
1222 (substitute* "emms-player-simple.el"
1223 (("\"mpg321\"")
1224 (string-append "\"" mpg321 "/bin/mpg321\"")))
1225 (emacs-substitute-variables "emms-info-ogginfo.el"
1226 ("emms-info-ogginfo-program-name"
1227 (string-append vorbis "/bin/ogginfo")))
1228 (emacs-substitute-variables "emms-info-opusinfo.el"
1229 ("emms-info-opusinfo-program-name"
1230 (string-append opus "/bin/opusinfo")))
1231 (emacs-substitute-variables "emms-info-libtag.el"
1232 ("emms-info-libtag-program-name"
1233 (string-append out "/bin/emms-print-metadata")))
1234 (emacs-substitute-variables "emms-info-mp3info.el"
1235 ("emms-info-mp3info-program-name"
1236 (string-append mp3info "/bin/mp3info")))
1237 (emacs-substitute-variables "emms-info-metaflac.el"
1238 ("emms-info-metaflac-program-name"
1239 (string-append flac "/bin/metaflac")))
1240 (emacs-substitute-variables "emms-source-file.el"
1241 ("emms-source-file-gnu-find" (which "find")))
1242 (substitute* "emms-volume-amixer.el"
1243 (("\"amixer\"")
1244 (string-append "\"" alsa "/bin/amixer\"")))
1245 (substitute* "emms-tag-editor.el"
1246 (("\"mid3v2\"")
1247 (string-append "\"" mutagen "/bin/mid3v2\"")))
1248 #t))))
1249 (add-before 'install 'pre-install
1250 (lambda* (#:key outputs #:allow-other-keys)
1251 ;; The 'install' rule expects the target directories to exist.
1252 (let* ((out (assoc-ref outputs "out"))
1253 (bin (string-append out "/bin"))
1254 (man1 (string-append out "/share/man/man1")))
1255 (mkdir-p bin)
1256 (mkdir-p man1)
1257
1258 ;; Ensure that files are not rejected by gzip
1259 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1260 (ftw "." (lambda (file stat flag)
1261 (unless (<= early-1980 (stat:mtime stat))
1262 (utime file early-1980 early-1980))
1263 #t)))
1264 #t)))
1265 (add-after 'install 'post-install
1266 (lambda* (#:key outputs #:allow-other-keys)
1267 (let ((out (assoc-ref outputs "out")))
1268 (symlink "emms-auto.el"
1269 (string-append out "/share/emacs/site-lisp/"
1270 "emms-autoloads.el")))
1271 #t)))
1272 #:tests? #f))
1273 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1274 ("texinfo" ,texinfo)))
1275 (inputs `(("alsa-utils" ,alsa-utils)
1276 ("flac" ,flac) ;for metaflac
1277 ("vorbis-tools" ,vorbis-tools)
1278 ("mpg321" ,mpg321)
1279 ("taglib" ,taglib)
1280 ("mp3info" ,mp3info)
1281 ("mutagen" ,python-mutagen)
1282 ("opus-tools" ,opus-tools)))
1283 (properties '((upstream-name . "emms")))
1284 (synopsis "Emacs Multimedia System")
1285 (description
1286 "EMMS is the Emacs Multimedia System. It is a small front-end which
1287 can control one of the supported external players. Thus, it supports
1288 whatever formats are supported by your music player. It also
1289 supports tagging and playlist management, all behind a clean and
1290 light user interface.")
1291 (home-page "https://www.gnu.org/software/emms/")
1292 (license license:gpl3+)))
1293
1294 (define-public emacs-emms-player-mpv
1295 ;; A new mpv backend is included in Emms from 5.0.
1296 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1297
1298 (define-public emacs-emms-mode-line-cycle
1299 (package
1300 (name "emacs-emms-mode-line-cycle")
1301 (version "0.2.5")
1302 (source
1303 (origin
1304 (method git-fetch)
1305 (uri (git-reference
1306 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1307 (commit version)))
1308 (file-name (git-file-name name version))
1309 (sha256
1310 (base32
1311 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1312 (build-system emacs-build-system)
1313 (propagated-inputs
1314 `(("emms" ,emacs-emms)))
1315 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1316 (synopsis "Display the EMMS mode line as a ticker")
1317 (description
1318 "This is a minor mode for updating the EMMS mode-line string cyclically
1319 within a specified width. It is useful for displaying long track titles.")
1320 (license license:gpl3+)))
1321
1322 \f
1323 ;;;
1324 ;;; Miscellaneous.
1325 ;;;
1326
1327 (define-public emacs-ace-link
1328 (package
1329 (name "emacs-ace-link")
1330 (version "0.5.0")
1331 (source
1332 (origin
1333 (method git-fetch)
1334 (uri (git-reference
1335 (url "https://github.com/abo-abo/ace-link.git")
1336 (commit version)))
1337 (file-name (git-file-name name version))
1338 (sha256
1339 (base32
1340 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1341 (build-system emacs-build-system)
1342 (propagated-inputs
1343 `(("emacs-avy" ,emacs-avy)))
1344 (home-page "https://github.com/abo-abo/ace-link")
1345 (synopsis "Quickly follow links in Emacs")
1346 (description
1347 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1348 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1349 @code{goto-address-mode} buffer, you can tab through the links to select the
1350 one you want. This is an O(N) operation, where the N is the amount of links.
1351 This package turns this into an O(1) operation. It does so by assigning a
1352 letter to each link using avy.")
1353 (license license:gpl3+)))
1354
1355 (define-public emacs-bbdb
1356 (package
1357 (name "emacs-bbdb")
1358 (version "3.1.2")
1359 (source (origin
1360 (method url-fetch)
1361 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1362 version ".tar.gz"))
1363 (sha256
1364 (base32
1365 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1366 (modules '((guix build utils)))
1367 (snippet
1368 ;; We don't want to build and install the PDF.
1369 '(begin
1370 (substitute* "doc/Makefile.in"
1371 (("^doc_DATA = .*$")
1372 "doc_DATA =\n"))
1373 #t))))
1374 (build-system gnu-build-system)
1375 (arguments
1376 '(#:phases
1377 (modify-phases %standard-phases
1378 (add-after 'install 'post-install
1379 (lambda* (#:key outputs #:allow-other-keys)
1380 ;; Add an autoloads file with the right name for guix.el.
1381 (let* ((out (assoc-ref outputs "out"))
1382 (site (string-append out "/share/emacs/site-lisp")))
1383 (with-directory-excursion site
1384 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1385 #t)))))
1386 (native-inputs `(("emacs" ,emacs-minimal)))
1387 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1388 (synopsis "Contact management utility for Emacs")
1389 (description
1390 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1391 an address book for email and snail mail addresses, phone numbers and the
1392 like. It can be linked with various Emacs mail clients (Message and Mail
1393 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1394 (license license:gpl3+)))
1395
1396 (define-public bbdb
1397 (deprecated-package "bbdb" emacs-bbdb))
1398
1399 (define-public emacs-aggressive-indent
1400 (package
1401 (name "emacs-aggressive-indent")
1402 (version "1.8.3")
1403 (source (origin
1404 (method url-fetch)
1405 (uri (string-append "https://elpa.gnu.org/packages/"
1406 "aggressive-indent-" version ".el"))
1407 (sha256
1408 (base32
1409 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1410 (build-system emacs-build-system)
1411 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1412 (synopsis "Minor mode to aggressively keep your code always indented")
1413 (description
1414 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1415 always indented. It reindents after every change, making it more reliable
1416 than @code{electric-indent-mode}.")
1417 (license license:gpl2+)))
1418
1419 (define-public emacs-link-hint
1420 ;; Last release was in 2015.
1421 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1422 (revision "1"))
1423 (package
1424 (name "emacs-link-hint")
1425 (version (git-version "0.1" revision commit))
1426 (source
1427 (origin
1428 (method git-fetch)
1429 (uri (git-reference
1430 (url "https://github.com/noctuid/link-hint.el")
1431 (commit commit)))
1432 (file-name (git-file-name name version))
1433 (sha256
1434 (base32
1435 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1436 (build-system emacs-build-system)
1437 (propagated-inputs
1438 `(("emacs-avy" ,emacs-avy)))
1439 (home-page "https://github.com/noctuid/link-hint.el")
1440 (synopsis "Vimperator-style link-hinting in Emacs")
1441 (description "This package provides commands for visiting and acting on
1442 links.")
1443 (license license:gpl3+))))
1444
1445 (define-public emacs-ag
1446 (package
1447 (name "emacs-ag")
1448 (version "0.47")
1449 (source (origin
1450 (method git-fetch)
1451 (uri (git-reference
1452 (url "https://github.com/Wilfred/ag.el.git")
1453 (commit version)))
1454 (file-name (git-file-name name version))
1455 (sha256
1456 (base32
1457 "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
1458 (build-system emacs-build-system)
1459 (arguments
1460 `(#:phases
1461 (modify-phases %standard-phases
1462 (add-before 'install 'make-info
1463 (lambda _
1464 (with-directory-excursion "docs"
1465 (invoke "make" "info"))))
1466 (add-after 'install 'install-info
1467 (lambda* (#:key outputs #:allow-other-keys)
1468 (let* ((out (assoc-ref outputs "out"))
1469 (info (string-append out "/share/info")))
1470 (install-file "docs/_build/texinfo/agel.info" info)
1471 #t))))))
1472 (native-inputs
1473 `(("python-sphinx" ,python-sphinx)
1474 ("texinfo" ,texinfo)))
1475 (propagated-inputs
1476 `(("dash" ,emacs-dash)
1477 ("s" ,emacs-s)
1478 ;; We need to use 'ag' as the executable on remote systems.
1479 ("the-silver-searcher" ,the-silver-searcher)))
1480 (home-page "https://github.com/Wilfred/ag.el")
1481 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1482 (description "This package provides the ability to use the silver
1483 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1484 include version control system awareness, use of Perl compatible regular
1485 expressions, editing the search results directly and searching file names
1486 rather than the contents of files.")
1487 (license license:gpl3+)))
1488
1489 (define-public emacs-async
1490 (package
1491 (name "emacs-async")
1492 (home-page "https://github.com/jwiegley/emacs-async")
1493 (version "1.9.3")
1494 (source (origin
1495 (method git-fetch)
1496 (uri (git-reference
1497 (url home-page)
1498 (commit (string-append "v" version))))
1499 (file-name (git-file-name name version))
1500 (sha256
1501 (base32
1502 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1503 (build-system emacs-build-system)
1504 (synopsis "Asynchronous processing in Emacs")
1505 (description
1506 "This package provides the ability to call asynchronous functions and
1507 processes. For example, it can be used to run dired commands (for copying,
1508 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1509 as a library for other Emacs packages.")
1510 (license license:gpl3+)))
1511
1512 (define-public emacs-auctex
1513 (package
1514 (name "emacs-auctex")
1515 (version "12.1.2")
1516 (source
1517 (origin
1518 (method url-fetch)
1519 (uri (string-append
1520 "https://elpa.gnu.org/packages/auctex-"
1521 version
1522 ".tar"))
1523 (sha256
1524 (base32
1525 "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n"))))
1526 (build-system emacs-build-system)
1527 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1528 ;; ('emacs-minimal' does not provide dbus).
1529 (arguments
1530 `(#:emacs ,emacs
1531 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1532 #:exclude '("^tests/" "^latex/README")))
1533 (native-inputs
1534 `(("perl" ,perl)))
1535 (home-page "https://www.gnu.org/software/auctex/")
1536 (synopsis "Integrated environment for TeX")
1537 (description
1538 "AUCTeX is a comprehensive customizable integrated environment for
1539 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1540 or XEmacs.")
1541 (license license:gpl3+)))
1542
1543 (define-public emacs-autothemer
1544 (package
1545 (name "emacs-autothemer")
1546 (version "0.2.2")
1547 (source
1548 (origin
1549 (method git-fetch)
1550 (uri (git-reference
1551 (url "https://github.com/sebastiansturm/autothemer.git")
1552 (commit version)))
1553 (file-name (git-file-name name version))
1554 (sha256
1555 (base32
1556 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1557 (build-system emacs-build-system)
1558 (propagated-inputs
1559 `(("emacs-dash" ,emacs-dash)))
1560 (home-page "https://github.com/sebastiansturm/autothemer")
1561 (synopsis "Conveniently create Emacs themes")
1562 (description
1563 "Autothemer provides a thin layer on top of @code{deftheme} and
1564 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1565 a set of simplified face specifications and a user-supplied color palette")
1566 (license license:gpl3+)))
1567
1568 (define-public emacs-howm
1569 (package
1570 (name "emacs-howm")
1571 (version "1.4.4")
1572 (source
1573 (origin
1574 (method url-fetch)
1575 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1576 version ".tar.gz"))
1577 (sha256
1578 (base32
1579 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1580 (build-system gnu-build-system)
1581 (native-inputs
1582 `(("emacs" ,emacs-minimal)))
1583 (arguments
1584 `(#:configure-flags
1585 (list (string-append "--with-howmdir=" %output
1586 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1587 #:modules ((guix build gnu-build-system)
1588 ((guix build emacs-build-system) #:prefix emacs:)
1589 (guix build utils))
1590 #:imported-modules (,@%gnu-build-system-modules
1591 (guix build emacs-build-system)
1592 (guix build emacs-utils))
1593 #:phases
1594 (modify-phases %standard-phases
1595 (add-after 'install 'make-autoloads
1596 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1597 (home-page "http://howm.osdn.jp/")
1598 (synopsis "Note-taking tool for Emacs")
1599 (description "Howm is a note-taking tool for Emacs. Like
1600 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1601 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1602 (license license:gpl1+)))
1603
1604 (define-public emacs-calfw
1605 (package
1606 (name "emacs-calfw")
1607 (version "1.6")
1608 (source
1609 (origin
1610 (method git-fetch)
1611 (uri (git-reference
1612 (url "https://github.com/kiwanami/emacs-calfw.git")
1613 (commit (string-append "v" version))))
1614 (file-name (git-file-name name version))
1615 (sha256
1616 (base32
1617 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1618 (build-system emacs-build-system)
1619 (propagated-inputs
1620 `(("emacs-howm" ,emacs-howm)))
1621 (home-page "https://github.com/kiwanami/emacs-calfw/")
1622 (synopsis "Calendar framework for Emacs")
1623 (description
1624 "This package displays a calendar view with various schedule data in the
1625 Emacs buffer.")
1626 (license license:gpl3+)))
1627
1628 (define-public emacs-direnv
1629 (package
1630 (name "emacs-direnv")
1631 (version "1.5.0")
1632 (source
1633 (origin
1634 (method git-fetch)
1635 (uri (git-reference
1636 (url "https://github.com/wbolster/emacs-direnv.git")
1637 (commit version)))
1638 (file-name (git-file-name name version))
1639 (sha256
1640 (base32
1641 "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la"))))
1642 (build-system emacs-build-system)
1643 (propagated-inputs
1644 `(("dash" ,emacs-dash)
1645 ("with-editor" ,emacs-with-editor)))
1646 (home-page "https://github.com/wbolster/emacs-direnv")
1647 (synopsis "Direnv integration for Emacs")
1648 (description
1649 "This package provides support for invoking direnv to get the environment
1650 for the current file and updating the environment within Emacs to match.
1651
1652 Direnv can be invoked manually, and a global minor mode is included that will
1653 update the environment when the active buffer changes.
1654
1655 Using emacs-direnv means that programs started from Emacs will use the
1656 environment set through Direnv.")
1657 (license license:gpl3+)))
1658
1659 (define-public emacs-ggtags
1660 (package
1661 (name "emacs-ggtags")
1662 (version "0.8.13")
1663 (source
1664 (origin
1665 (method url-fetch)
1666 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1667 version ".el"))
1668 (sha256
1669 (base32
1670 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1671 (build-system emacs-build-system)
1672 (inputs
1673 `(("global" ,global)))
1674 (arguments
1675 `(#:phases
1676 (modify-phases %standard-phases
1677 (add-after 'unpack 'configure
1678 (lambda* (#:key inputs #:allow-other-keys)
1679 (chmod "ggtags.el" #o644)
1680 (emacs-substitute-variables "ggtags.el"
1681 ("ggtags-executable-directory"
1682 (string-append (assoc-ref inputs "global") "/bin")))
1683 #t)))))
1684 (home-page "https://github.com/leoliu/ggtags")
1685 (synopsis "Frontend to the GNU Global source code tagging system")
1686 (description "@code{ggtags} provides a frontend to the GNU Global source
1687 code tagging system.
1688
1689 Features:
1690
1691 @itemize
1692 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1693 @item Automatically update Global's tag files when needed with tuning for
1694 large source trees.
1695 @item Intuitive navigation among multiple matches with mode-line display of
1696 current match, total matches and exit status.
1697 @item Read tag with completion.
1698 @item Show definition at point.
1699 @item Jump to #include files.
1700 @item Support search history and saving a search to register/bookmark.
1701 @item Query replace.
1702 @item Manage Global's environment variables on a per-project basis.
1703 @item Highlight (definition) tag at point.
1704 @item Abbreviated display of file names.
1705 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1706 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1707 @code{pygments} backend.
1708 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1709 @code{cscope} etc.
1710 @item Support projects on remote hosts (e.g. via @code{tramp}).
1711 @item Support eldoc.
1712 @item Search @code{GTAGSLIBPATH} for references and symbols.
1713 @end itemize\n")
1714 (license license:gpl3+)))
1715
1716 (define-public emacs-go-mode
1717 (package
1718 (name "emacs-go-mode")
1719 (version "1.5.0")
1720 (source (origin
1721 (method git-fetch)
1722 (uri (git-reference
1723 (url "https://github.com/dominikh/go-mode.el.git")
1724 (commit (string-append "v" version))))
1725 (file-name (git-file-name name version))
1726 (sha256
1727 (base32
1728 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1729 (build-system emacs-build-system)
1730 (arguments
1731 `(#:phases
1732 (modify-phases %standard-phases
1733 (add-after 'unpack 'make-writable
1734 (lambda _
1735 (for-each make-file-writable (find-files "." "\\.el$"))
1736 #t)))))
1737 (home-page "https://github.com/dominikh/go-mode.el")
1738 (synopsis "Go mode for Emacs")
1739 (description
1740 "This package provides go-mode, an Emacs mode for working with software
1741 written in the Go programming language.")
1742 (license license:bsd-3)))
1743
1744 (define-public emacs-google-maps
1745 (package
1746 (name "emacs-google-maps")
1747 (version "1.0.0")
1748 (source (origin
1749 (method git-fetch)
1750 (uri (git-reference
1751 (url "https://github.com/jd/google-maps.el.git")
1752 (commit version)))
1753 (file-name (git-file-name name version))
1754 (sha256
1755 (base32
1756 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1757 (build-system emacs-build-system)
1758 (home-page "https://github.com/jd/google-maps.el")
1759 (synopsis "Access Google Maps from Emacs")
1760 (description "The @code{google-maps} package allows to display Google
1761 Maps directly inside Emacs.")
1762 (license license:gpl3+)))
1763
1764 (define-public emacs-graphviz-dot-mode
1765 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1766 (revision "1"))
1767 (package
1768 (name "emacs-graphviz-dot-mode")
1769 (version (string-append "0.3.11-" revision "."
1770 (string-take commit 7)))
1771 (source (origin
1772 (method git-fetch)
1773 (uri (git-reference
1774 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1775 (commit commit)))
1776 (file-name (git-file-name name version))
1777 (sha256
1778 (base32
1779 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1780 (build-system emacs-build-system)
1781 (arguments
1782 `(#:phases
1783 (modify-phases %standard-phases
1784 (add-before 'install 'make-info
1785 (lambda* (#:key inputs #:allow-other-keys)
1786 (with-directory-excursion "texinfo"
1787 (substitute* "Makefile"
1788 (("\\/usr\\/bin\\/gzip")
1789 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1790 (invoke "make"
1791 "clean"
1792 "info"
1793 (string-append "TEXINFODIR="
1794 (assoc-ref inputs "texinfo")
1795 "/bin")))))
1796 (add-after 'install 'install-info
1797 (lambda* (#:key outputs #:allow-other-keys)
1798 (let* ((out (assoc-ref outputs "out"))
1799 (info (string-append out "/share/info")))
1800 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1801 #t))))))
1802 (native-inputs
1803 `(("texinfo" ,texinfo)
1804 ("gzip" ,gzip)))
1805 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1806 (synopsis "Major mode for editing Graphviz Dot files")
1807 (description
1808 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1809 files using the dot syntax, and use Graphviz to convert these files to
1810 diagrams.")
1811 (license license:gpl2+))))
1812
1813 (define-public emacs-mmm-mode
1814 (package
1815 (name "emacs-mmm-mode")
1816 (version "0.5.7")
1817 (source
1818 (origin
1819 (method git-fetch)
1820 (uri (git-reference
1821 (url "https://github.com/purcell/mmm-mode.git")
1822 (commit version)))
1823 (file-name (git-file-name name version))
1824 (sha256
1825 (base32
1826 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1827 (build-system gnu-build-system)
1828 (native-inputs
1829 `(("autoconf" ,autoconf)
1830 ("automake" ,automake)
1831 ("emacs" ,emacs-minimal)
1832 ("texinfo" ,texinfo)))
1833 (home-page "https://github.com/purcell/mmm-mode")
1834 (synopsis "Allow multiple major modes in an Emacs buffer")
1835 (description
1836 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1837 single buffer.")
1838 (license license:gpl3+)))
1839
1840 (define-public emacs-tablist
1841 (package
1842 (name "emacs-tablist")
1843 (version "0.70")
1844 (source (origin
1845 (method git-fetch)
1846 (uri (git-reference
1847 (url "https://github.com/politza/tablist.git")
1848 (commit (string-append "v" version))))
1849 (file-name (git-file-name name version))
1850 (sha256
1851 (base32
1852 "0gy9hxm7bca0l1hfy2pzn86avpifrz3bs8xzpicj4kxw5wi4ygns"))))
1853 (build-system emacs-build-system)
1854 (home-page "https://github.com/politza/tablist")
1855 (synopsis "Extension for @code{tabulated-list-mode}")
1856 (description "Tablist is the Emacs package that provides several
1857 additional features to @code{tabulated-list-mode}: it adds marks,
1858 filters, new key bindings and faces. It can be enabled by
1859 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1860 (license license:gpl3+)))
1861
1862 (define-public emacs-pdf-tools
1863 (package
1864 (name "emacs-pdf-tools")
1865 (version "0.90")
1866 (home-page "https://github.com/politza/pdf-tools")
1867 (source (origin
1868 (method git-fetch)
1869 (uri (git-reference (url home-page)
1870 (commit (string-append "v" version))))
1871 (file-name (git-file-name name version))
1872 (sha256
1873 (base32
1874 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
1875 (build-system gnu-build-system)
1876 (arguments
1877 `(#:tests? #f ; there are no tests
1878 #:modules ((guix build gnu-build-system)
1879 ((guix build emacs-build-system) #:prefix emacs:)
1880 (guix build utils)
1881 (guix build emacs-utils))
1882 #:imported-modules (,@%gnu-build-system-modules
1883 (guix build emacs-build-system)
1884 (guix build emacs-utils))
1885 #:phases
1886 (modify-phases %standard-phases
1887 ;; Build server side using 'gnu-build-system'.
1888 (add-after 'unpack 'enter-server-dir
1889 (lambda _ (chdir "server") #t))
1890 (add-after 'enter-server-dir 'autogen
1891 (lambda _
1892 (invoke "bash" "autogen.sh")))
1893
1894 ;; Build emacs side using 'emacs-build-system'.
1895 (add-after 'compress-documentation 'enter-lisp-dir
1896 (lambda _ (chdir "../lisp") #t))
1897 (add-after 'enter-lisp-dir 'emacs-patch-variables
1898 (lambda* (#:key outputs #:allow-other-keys)
1899 (for-each make-file-writable (find-files "."))
1900
1901 ;; Set path to epdfinfo program.
1902 (emacs-substitute-variables "pdf-info.el"
1903 ("pdf-info-epdfinfo-program"
1904 (string-append (assoc-ref outputs "out")
1905 "/bin/epdfinfo")))
1906 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1907 ;; upgrading" that pdf-tools tries to perform.
1908 (emacs-substitute-variables "pdf-tools.el"
1909 ("pdf-tools-handle-upgrades" '()))))
1910 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1911 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1912 (add-after 'emacs-set-emacs-load-path 'emacs-install
1913 (assoc-ref emacs:%standard-phases 'install))
1914 (add-after 'emacs-install 'emacs-build
1915 (assoc-ref emacs:%standard-phases 'build))
1916 (add-after 'emacs-install 'emacs-make-autoloads
1917 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1918 (native-inputs `(("autoconf" ,autoconf)
1919 ("automake" ,automake)
1920 ("pkg-config" ,pkg-config)
1921 ("emacs" ,emacs-minimal)))
1922 (inputs `(("poppler" ,poppler)
1923 ("cairo" ,cairo)
1924 ("glib" ,glib)
1925 ("libpng" ,libpng)
1926 ("zlib" ,zlib)))
1927 (propagated-inputs `(("tablist" ,emacs-tablist)))
1928 (synopsis "Emacs support library for PDF files")
1929 (description
1930 "PDF Tools is, among other things, a replacement of DocView for PDF
1931 files. The key difference is that pages are not pre-rendered by
1932 e.g. ghostscript and stored in the file-system, but rather created on-demand
1933 and stored in memory.")
1934 (license license:gpl3+)))
1935
1936 (define-public emacs-dash
1937 (package
1938 (name "emacs-dash")
1939 (version "2.16.0")
1940 (source (origin
1941 (method git-fetch)
1942 (uri (git-reference
1943 (url "https://github.com/magnars/dash.el.git")
1944 (commit version)))
1945 (file-name (git-file-name name version))
1946 (sha256
1947 (base32
1948 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
1949 (build-system emacs-build-system)
1950 (arguments
1951 `(#:tests? #t
1952 #:test-command '("./run-tests.sh")))
1953 (home-page "https://github.com/magnars/dash.el")
1954 (synopsis "Modern list library for Emacs")
1955 (description "This package provides a modern list API library for Emacs.")
1956 (license license:gpl3+)))
1957
1958 (define-public emacs-bui
1959 (package
1960 (name "emacs-bui")
1961 (version "1.2.1")
1962 (source (origin
1963 (method git-fetch)
1964 (uri (git-reference
1965 (url "https://notabug.org/alezost/emacs-bui.git")
1966 (commit (string-append "v" version))))
1967 (file-name (git-file-name name version))
1968 (sha256
1969 (base32
1970 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1971 (build-system emacs-build-system)
1972 (propagated-inputs
1973 `(("dash" ,emacs-dash)))
1974 (home-page "https://notabug.org/alezost/emacs-bui")
1975 (synopsis "Buffer interface library for Emacs")
1976 (description
1977 "BUI (Buffer User Interface) is a library for making @code{list} and
1978 @code{info} interfaces to display an arbitrary data of the same
1979 type, for example: packages, buffers, files, etc.")
1980 (license license:gpl3+)))
1981
1982 (define-public emacs-guix
1983 (package
1984 (name "emacs-guix")
1985 (version "0.5.1.1")
1986 (source (origin
1987 (method url-fetch)
1988 (uri (string-append "https://emacs-guix.gitlab.io/website/"
1989 "releases/emacs-guix-" version ".tar.gz"))
1990 (sha256
1991 (base32
1992 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
1993 (build-system gnu-build-system)
1994 (arguments
1995 `(#:configure-flags
1996 (let ((guix (assoc-ref %build-inputs "guix"))
1997 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
1998 (geiser (assoc-ref %build-inputs "geiser"))
1999 (dash (assoc-ref %build-inputs "dash"))
2000 (bui (assoc-ref %build-inputs "bui"))
2001 (magit-popup (assoc-ref %build-inputs "magit-popup"))
2002 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
2003 (site-lisp "/share/emacs/site-lisp")
2004 (site-scm "/share/guile/site")
2005 (site-go "/lib/guile")
2006 (guile-dir (lambda (dir)
2007 (car (find-files dir
2008 (lambda (file stat)
2009 (string-prefix?
2010 "2." (basename file)))
2011 #:directories? #t)))))
2012 (list (string-append "--with-guix-site-dir="
2013 (guile-dir (string-append guix site-scm)))
2014 (string-append "--with-guix-site-ccache-dir="
2015 (guile-dir (string-append guix site-go))
2016 "/site-ccache")
2017 (string-append "--with-guile-gcrypt-site-dir="
2018 (guile-dir (string-append gcrypt site-scm)))
2019 (string-append "--with-guile-gcrypt-site-ccache-dir="
2020 (guile-dir (string-append gcrypt site-go))
2021 "/site-ccache")
2022 (string-append "--with-geiser-lispdir=" geiser site-lisp)
2023 (string-append "--with-dash-lispdir="
2024 dash site-lisp "/guix.d/dash-"
2025 ,(package-version emacs-dash))
2026 (string-append "--with-bui-lispdir="
2027 bui site-lisp "/guix.d/bui-"
2028 ,(package-version emacs-bui))
2029 (string-append "--with-editindirect-lispdir="
2030 edit-indirect site-lisp "/guix.d/edit-indirect-"
2031 ,(package-version emacs-edit-indirect))
2032 (string-append "--with-popup-lispdir="
2033 magit-popup site-lisp "/guix.d/magit-popup-"
2034 ,(package-version emacs-magit-popup))))))
2035 (native-inputs
2036 `(("pkg-config" ,pkg-config)
2037 ("emacs" ,emacs-minimal)))
2038 (inputs
2039 `(("guile" ,guile-2.2)
2040 ("guix" ,guix)))
2041 (propagated-inputs
2042 `(("geiser" ,emacs-geiser)
2043 ("guile-gcrypt" ,guile-gcrypt)
2044 ("dash" ,emacs-dash)
2045 ("bui" ,emacs-bui)
2046 ("edit-indirect" ,emacs-edit-indirect)
2047 ("magit-popup" ,emacs-magit-popup)))
2048 (home-page "https://emacs-guix.gitlab.io/website/")
2049 (synopsis "Emacs interface for GNU Guix")
2050 (description
2051 "Emacs-Guix provides a visual interface, tools and features for the GNU
2052 Guix package manager. Particularly, it allows you to do various package
2053 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2054 @code{M-x guix-help} command.")
2055 (license license:gpl3+)))
2056
2057 (define-public emacs-build-farm
2058 (package
2059 (name "emacs-build-farm")
2060 (version "0.2.2")
2061 (source (origin
2062 (method git-fetch)
2063 (uri (git-reference
2064 (url "https://notabug.org/alezost/emacs-build-farm.git")
2065 (commit (string-append "v" version))))
2066 (file-name (git-file-name name version))
2067 (sha256
2068 (base32
2069 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2070 (build-system emacs-build-system)
2071 (propagated-inputs
2072 `(("bui" ,emacs-bui)
2073 ("magit-popup" ,emacs-magit-popup)))
2074 (home-page "https://notabug.org/alezost/emacs-build-farm")
2075 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2076 (description
2077 "This Emacs package provides an interface for Hydra and
2078 Cuirass (build farms used by Nix and Guix). It allows you to look at
2079 various data related to the build farm projects, jobsets, builds and
2080 evaluations. The entry point is @code{M-x build-farm} command.")
2081 (license license:gpl3+)))
2082
2083 (define-public emacs-d-mode
2084 (package
2085 (name "emacs-d-mode")
2086 (version "2.0.9")
2087 (source
2088 (origin
2089 (method git-fetch)
2090 (uri (git-reference
2091 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2092 (commit version)))
2093 (file-name (git-file-name name version))
2094 (sha256
2095 (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"))))
2096 (build-system emacs-build-system)
2097 (propagated-inputs
2098 `(("emacs-undercover" ,emacs-undercover)))
2099 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2100 (synopsis "Emacs major mode for editing D code")
2101 (description "This package provides an Emacs major mode for highlighting
2102 code written in the D programming language. This mode is currently known to
2103 work with Emacs 24 and 25.")
2104 (license license:gpl2+)))
2105
2106 (define-public emacs-keyfreq
2107 (package
2108 (name "emacs-keyfreq")
2109 (version "20160516.716")
2110 (source
2111 (origin
2112 (method url-fetch)
2113 (uri (string-append "http://melpa.org/packages/keyfreq-"
2114 version ".el"))
2115 (sha256
2116 (base32
2117 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2118 (build-system emacs-build-system)
2119 (home-page "https://github.com/dacap/keyfreq")
2120 (synopsis "Track Emacs command frequencies")
2121 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2122 a command.")
2123 (license license:gpl3+)))
2124
2125 (define-public emacs-olivetti
2126 (package
2127 (name "emacs-olivetti")
2128 (version "1.5.7")
2129 (source (origin
2130 (method url-fetch)
2131 (uri (string-append
2132 "https://stable.melpa.org/packages/olivetti-"
2133 version ".el"))
2134 (sha256
2135 (base32
2136 "1yj2ylg46q0pw1xzlv2b0fv9x8p56x25284s9v2smwjr4vf0nwcj"))))
2137 (build-system emacs-build-system)
2138 (home-page "https://github.com/rnkn/olivetti")
2139 (synopsis "Emacs minor mode for a nice writing environment")
2140 (description "This package provides an Emacs minor mode that puts writing
2141 in the center.")
2142 (license license:gpl3+)))
2143
2144 (define-public emacs-undo-tree
2145 (package
2146 (name "emacs-undo-tree")
2147 (version "0.6.6")
2148 (source (origin
2149 (method git-fetch)
2150 (uri (git-reference
2151 (url "http://dr-qubit.org/git/undo-tree.git")
2152 (commit (string-append "release/" version))))
2153 (file-name (git-file-name name version))
2154 (sha256
2155 (base32
2156 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
2157 (build-system emacs-build-system)
2158 (home-page "http://www.dr-qubit.org/emacs.php")
2159 (synopsis "Treat undo history as a tree")
2160 (description "Tree-like interface to Emacs undo system, providing
2161 graphical tree presentation of all previous states of buffer that
2162 allows easily move between them.")
2163 (license license:gpl3+)))
2164
2165 (define-public emacs-s
2166 (package
2167 (name "emacs-s")
2168 (version "1.12.0")
2169 (source
2170 (origin
2171 (method git-fetch)
2172 (uri (git-reference
2173 (url "https://github.com/magnars/s.el.git")
2174 (commit version)))
2175 (file-name (git-file-name name version))
2176 (sha256
2177 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2178 (build-system emacs-build-system)
2179 (arguments
2180 `(#:tests? #t
2181 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2182 #:test-command '("./run-tests.sh")))
2183 (home-page "https://github.com/magnars/s.el")
2184 (synopsis "Emacs string manipulation library")
2185 (description "This package provides an Emacs library for manipulating
2186 strings.")
2187 (license license:gpl3+)))
2188
2189 (define-public emacs-symon
2190 (package
2191 (name "emacs-symon")
2192 (version "20160630")
2193 (source
2194 (origin
2195 (method git-fetch)
2196 (uri (git-reference
2197 (url "https://github.com/zk-phi/symon.git")
2198 (commit version)))
2199 (file-name (git-file-name name version))
2200 (sha256
2201 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2202 (build-system emacs-build-system)
2203 (home-page "https://github.com/zk-phi/symon")
2204 (synopsis "Tiny graphical system monitor")
2205 (description
2206 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2207 (license license:gpl2+)))
2208
2209 (define-public emacs-sx
2210 (let ((version "20180212")
2211 (revision "1")
2212 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2213 (package
2214 (name "emacs-sx")
2215 (version (git-version version revision commit))
2216 (source
2217 (origin
2218 (method git-fetch)
2219 (uri (git-reference
2220 (url "https://github.com/vermiculus/sx.el")
2221 (commit commit)))
2222 (file-name (git-file-name name version))
2223 (sha256
2224 (base32
2225 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2226 (build-system emacs-build-system)
2227 (propagated-inputs
2228 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2229 (home-page "https://github.com/vermiculus/sx.el")
2230 (synopsis "Emacs StackExchange client")
2231 (description
2232 "Emacs StackExchange client. Ask and answer questions on
2233 Stack Overflow, Super User, and other StackExchange sites.")
2234 (license license:gpl3+))))
2235
2236 (define-public emacs-f
2237 (package
2238 (name "emacs-f")
2239 (version "0.20.0")
2240 (source (origin
2241 (method git-fetch)
2242 (uri (git-reference
2243 (url "https://github.com/rejeep/f.el.git")
2244 (commit (string-append "v" version))))
2245 (file-name (git-file-name name version))
2246 (sha256
2247 (base32
2248 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2249 (build-system emacs-build-system)
2250 (propagated-inputs
2251 `(("emacs-s" ,emacs-s)
2252 ("emacs-dash" ,emacs-dash)))
2253 (home-page "https://github.com/rejeep/f.el")
2254 (synopsis "Emacs API for working with files and directories")
2255 (description "This package provides an Emacs library for working with
2256 files and directories.")
2257 (license license:gpl3+)))
2258
2259 (define-public emacs-git-gutter
2260 (package
2261 (name "emacs-git-gutter")
2262 (version "0.90")
2263 (source
2264 (origin
2265 (method git-fetch)
2266 (uri (git-reference
2267 (url "https://github.com/syohex/emacs-git-gutter.git")
2268 (commit version)))
2269 (file-name (git-file-name name version))
2270 (sha256
2271 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2272 (build-system emacs-build-system)
2273 (home-page "https://github.com/syohex/emacs-git-gutter")
2274 (synopsis "See and manage hunks of text in a version control system")
2275 (description
2276 "This package is an Emacs minor mode for displaying and interacting with
2277 hunks of text managed in a version control system. Added modified and deleted
2278 areas can be indicated with symbols on the edge of the buffer, and commands
2279 can be used to move between and perform actions on these hunks.
2280
2281 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2282 display and behaviour is easily customisable.")
2283 (license license:gpl3+)))
2284
2285 (define-public emacs-git-timemachine
2286 (package
2287 (name "emacs-git-timemachine")
2288 (version "4.11")
2289 (source
2290 (origin
2291 (method git-fetch)
2292 (uri (git-reference
2293 (url "https://gitlab.com/pidu/git-timemachine.git")
2294 (commit version)))
2295 (file-name (git-file-name name version))
2296 (sha256
2297 (base32
2298 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
2299 (build-system emacs-build-system)
2300 (propagated-inputs
2301 `(("emacs-transient" ,emacs-transient)))
2302 (home-page "https://gitlab.com/pidu/git-timemachine")
2303 (synopsis "Step through historic versions of Git-controlled files")
2304 (description "This package enables you to step through historic versions
2305 of files under Git version control from within Emacs.")
2306 (license license:gpl3+)))
2307
2308 (define-public emacs-minitest
2309 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2310 (revision "1"))
2311 (package
2312 (name "emacs-minitest")
2313 (version (git-version "0.8.0" revision commit))
2314 (source (origin
2315 (method git-fetch)
2316 (uri (git-reference
2317 (url "https://github.com/arthurnn/minitest-emacs")
2318 (commit commit)))
2319 (file-name (git-file-name name commit))
2320 (sha256
2321 (base32
2322 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2323 (build-system emacs-build-system)
2324 (arguments
2325 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2326 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2327 (propagated-inputs
2328 `(("emacs-dash" ,emacs-dash)
2329 ("emacs-f" ,emacs-f)))
2330 (home-page "https://github.com/arthurnn/minitest-emacs")
2331 (synopsis "Emacs minitest mode")
2332 (description
2333 "The minitest mode provides commands to run the tests for the current
2334 file or line, as well as rerunning the previous tests, or all the tests for a
2335 project.
2336
2337 This package also includes relevant snippets for yasnippet.")
2338 (license license:expat))))
2339
2340 (define-public emacs-el-mock
2341 (package
2342 (name "emacs-el-mock")
2343 (version "1.25.1")
2344 (source
2345 (origin
2346 (method git-fetch)
2347 (uri (git-reference
2348 (url "https://github.com/rejeep/el-mock.el.git")
2349 (commit (string-append "v" version))))
2350 (file-name (git-file-name name version))
2351 (sha256
2352 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2353 (build-system emacs-build-system)
2354 (home-page "https://github.com/rejeep/el-mock.el")
2355 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2356 (description
2357 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2358 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2359 Expectations, but it can be used in other contexts.")
2360 (license license:gpl3+)))
2361
2362 (define-public emacs-espuds
2363 (package
2364 (name "emacs-espuds")
2365 (version "0.3.3")
2366 (source
2367 (origin
2368 (method git-fetch)
2369 (uri (git-reference
2370 (url "https://github.com/ecukes/espuds.git")
2371 (commit (string-append "v" version))))
2372 (file-name (git-file-name name version))
2373 (sha256
2374 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2375 (build-system emacs-build-system)
2376 (propagated-inputs
2377 `(("emacs-s" ,emacs-s)
2378 ("emacs-dash" ,emacs-dash)
2379 ("emacs-f" ,emacs-f)))
2380 (home-page "https://github.com/ecukes/espuds")
2381 (synopsis "Common step definitions for Ecukes")
2382 (description "Espuds is a collection of the most commonly used step
2383 definitions for testing with the Ecukes framework.")
2384 (license license:gpl3+)))
2385
2386 (define-public emacs-spark
2387 (let ((version "20160503") ; no proper tag, use date of commit
2388 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2389 (revision "1"))
2390 (package
2391 (name "emacs-spark")
2392 (version (git-version version revision commit))
2393 (source
2394 (origin
2395 (method git-fetch)
2396 (uri (git-reference
2397 (url "https://github.com/alvinfrancis/spark.git")
2398 (commit commit)))
2399 (file-name (git-file-name name version))
2400 (sha256
2401 (base32
2402 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2403 (build-system emacs-build-system)
2404 (home-page "https://github.com/alvinfrancis/spark")
2405 (synopsis "Sparkline generation library for Emacs Lisp")
2406 (description "@code{emacs-spark} is a sparkline generation library for
2407 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2408 port of @code{cl-spark} to Emacs Lisp.")
2409 (license license:expat))))
2410
2411 (define-public emacs-es-mode
2412 (package
2413 (name "emacs-es-mode")
2414 (version "4.3.0")
2415 (source
2416 (origin
2417 (method git-fetch)
2418 (uri (git-reference
2419 (url "https://github.com/dakrone/es-mode.git")
2420 (commit version)))
2421 (file-name (git-file-name name version))
2422 (sha256
2423 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2424 (build-system emacs-build-system)
2425 (propagated-inputs
2426 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2427 ;; to be rendered incorrectly
2428 `(("emacs-dash" ,emacs-dash)
2429 ("emacs-org" ,emacs-org)
2430 ("emacs-spark" ,emacs-spark)))
2431 (home-page "https://github.com/dakrone/es-mode")
2432 (synopsis "Major mode for editing Elasticsearch queries")
2433 (description "@code{es-mode} includes highlighting, completion and
2434 indentation support for Elasticsearch queries. Also supported are
2435 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2436 be processed through @code{jq}, or in the case of aggregations, can be
2437 rendered in to a table. In addition, there is an @code{es-command-center}
2438 mode, which displays information about Elasticsearch clusters.")
2439 (license license:gpl3+)))
2440
2441 (define-public emacs-expand-region
2442 (package
2443 (name "emacs-expand-region")
2444 (version "0.11.0")
2445 (source
2446 (origin
2447 (method git-fetch)
2448 (uri (git-reference
2449 (url "https://github.com/magnars/expand-region.el.git")
2450 (commit version)))
2451 (file-name (git-file-name name version))
2452 (sha256
2453 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2454 (build-system emacs-build-system)
2455 (home-page "https://github.com/magnars/expand-region.el")
2456 (synopsis "Increase selected region by semantic units")
2457 (description
2458 "Expand region increases the selected region by semantic units. Just
2459 keep pressing the key until it selects what you want. There's also
2460 @code{er/contract-region} if you expand too far.")
2461 (license license:gpl3+)))
2462
2463 (define-public emacs-fill-column-indicator
2464 (package
2465 (name "emacs-fill-column-indicator")
2466 (version "1.89")
2467 (source
2468 (origin
2469 (method git-fetch)
2470 (uri (git-reference
2471 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2472 (commit (string-append "v" version))))
2473 (file-name (git-file-name name version))
2474 (sha256
2475 (base32 "010kf8jsly74y7m6mmkn1h6y205kz23zphs50zgy2nag2p88rz9y"))))
2476 (build-system emacs-build-system)
2477 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2478 (synopsis "Graphically indicate the fill column")
2479 (description
2480 "Fill-column-indicator graphically indicates the location of the fill
2481 column by drawing a thin line down the length of the editing window.")
2482 (license license:gpl3+)))
2483
2484 (define-public emacs-grep-a-lot
2485 (package
2486 (name "emacs-grep-a-lot")
2487 (version "1.0.7")
2488 (source
2489 (origin
2490 (method git-fetch)
2491 (uri (git-reference
2492 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2493 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2494 (file-name (git-file-name name version))
2495 (sha256
2496 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2497 (build-system emacs-build-system)
2498 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2499 (synopsis "Enables multiple grep buffers in Emacs")
2500 (description
2501 "This Emacs package allows managing multiple grep buffers.")
2502 (license license:gpl3+)))
2503
2504 (define-public emacs-inf-ruby
2505 (package
2506 (name "emacs-inf-ruby")
2507 (version "2.5.2")
2508 (source
2509 (origin
2510 (method git-fetch)
2511 (uri (git-reference
2512 (url "https://github.com/nonsequitur/inf-ruby.git")
2513 (commit version)))
2514 (file-name (git-file-name name version))
2515 (sha256
2516 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
2517 (build-system emacs-build-system)
2518 (home-page "https://github.com/nonsequitur/inf-ruby")
2519 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2520 (description
2521 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2522 for easy interaction with a ruby subprocess. Features include support for
2523 detecting specific uses of Ruby, e.g. when using rails, and using a
2524 appropriate console.")
2525 (license license:gpl3+)))
2526
2527 (define-public emacs-znc
2528 (package
2529 (name "emacs-znc")
2530 (version "0.0.2")
2531 (source
2532 (origin
2533 (method url-fetch)
2534 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2535 version ".el"))
2536 (sha256
2537 (base32
2538 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2539 (build-system emacs-build-system)
2540 (home-page "https://github.com/sshirokov/ZNC.el")
2541 (synopsis "Make ERC and ZNC get along better")
2542 (description
2543 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2544 IRC bouncer with ERC.")
2545 (license license:expat)))
2546
2547 (define-public emacs-shut-up
2548 (package
2549 (name "emacs-shut-up")
2550 (version "0.3.2")
2551 (source
2552 (origin
2553 (method git-fetch)
2554 (uri (git-reference
2555 (url "https://github.com/cask/shut-up.git")
2556 (commit (string-append "v" version))))
2557 (file-name (git-file-name name version))
2558 (sha256
2559 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
2560 (build-system emacs-build-system)
2561 (home-page "https://github.com/cask/shut-up")
2562 (synopsis "Silence Emacs")
2563 (description "This package silences most output of Emacs when running an
2564 Emacs shell script.")
2565 (license license:expat)))
2566
2567 (define-public emacs-undercover
2568 (package
2569 (name "emacs-undercover")
2570 (version "0.6.0")
2571 (source
2572 (origin
2573 (method git-fetch)
2574 (uri (git-reference
2575 (url "https://github.com/sviridov/undercover.el.git")
2576 (commit (string-append "v" version))))
2577 (file-name (git-file-name name version))
2578 (sha256
2579 (base32 "06qcvbp5rd0kh3ibrxj5p6r578lwsrgd7yj5c6slwmkdmna2fj33"))))
2580 (build-system emacs-build-system)
2581 (propagated-inputs
2582 `(("emacs-dash" ,emacs-dash)
2583 ("emacs-shut-up" ,emacs-shut-up)))
2584 (home-page "https://github.com/sviridov/undercover.el")
2585 (synopsis "Test coverage library for Emacs Lisp")
2586 (description
2587 "Undercover is a test coverage library for software written in Emacs
2588 Lisp.")
2589 (license license:expat)))
2590
2591 (define-public emacs-paren-face
2592 (package
2593 (name "emacs-paren-face")
2594 (version "1.0.0")
2595 (source
2596 (origin
2597 (method git-fetch)
2598 (uri (git-reference
2599 (url "https://github.com/tarsius/paren-face.git")
2600 (commit version)))
2601 (file-name (git-file-name name version))
2602 (sha256
2603 (base32 "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"))))
2604 (build-system emacs-build-system)
2605 (home-page "https://github.com/tarsius/paren-face")
2606 (synopsis "Face for parentheses in lisp modes")
2607 (description
2608 "This library defines a face named @code{parenthesis} used just for
2609 parentheses. The intended purpose of this face is to make parentheses less
2610 visible in Lisp code by dimming them. Lispers probably don't need to be
2611 constantly made aware of the existence of the parentheses. Dimming them might
2612 be even more useful for people new to lisp who have not yet learned to
2613 subconsciously blend out the parentheses.")
2614 (license license:gpl3+)))
2615
2616 (define-public emacs-page-break-lines
2617 (package
2618 (name "emacs-page-break-lines")
2619 (version "0.11")
2620 (source
2621 (origin
2622 (method git-fetch)
2623 (uri (git-reference
2624 (url "https://github.com/purcell/page-break-lines.git")
2625 (commit version)))
2626 (file-name (git-file-name name version))
2627 (sha256
2628 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
2629 (build-system emacs-build-system)
2630 (home-page "https://github.com/purcell/page-break-lines")
2631 (synopsis "Display page breaks as tidy horizontal lines")
2632 (description
2633 "This library provides a global mode which displays form feed characters
2634 as horizontal rules.")
2635 (license license:gpl3+)))
2636
2637 (define-public emacs-simple-httpd
2638 (package
2639 (name "emacs-simple-httpd")
2640 (version "1.5.1")
2641 (source
2642 (origin
2643 (method git-fetch)
2644 (uri (git-reference
2645 (url "https://github.com/skeeto/emacs-web-server.git")
2646 (commit version)))
2647 (file-name (git-file-name name version))
2648 (sha256
2649 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
2650 (build-system emacs-build-system)
2651 (home-page "https://github.com/skeeto/emacs-web-server")
2652 (synopsis "HTTP server in pure Emacs Lisp")
2653 (description
2654 "This package provides a simple HTTP server written in Emacs Lisp to
2655 serve files and directory listings.")
2656 (license license:unlicense)))
2657
2658 (define-public emacs-skewer-mode
2659 (package
2660 (name "emacs-skewer-mode")
2661 (version "1.8.0")
2662 (source
2663 (origin
2664 (method git-fetch)
2665 (uri (git-reference
2666 (url "https://github.com/skeeto/skewer-mode.git")
2667 (commit version)))
2668 (file-name (git-file-name name version))
2669 (sha256
2670 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
2671 (build-system emacs-build-system)
2672 (propagated-inputs
2673 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2674 ("emacs-js2-mode" ,emacs-js2-mode)))
2675 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2676 (home-page "https://github.com/skeeto/skewer-mode")
2677 (synopsis "Live web development in Emacs")
2678 (description
2679 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2680 a web browser. Expressions are sent on-the-fly from an editing buffer to be
2681 evaluated in the browser, just like Emacs does with an inferior Lisp process
2682 in Lisp modes.")
2683 (license license:unlicense)))
2684
2685 (define-public emacs-litable
2686 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2687 (package
2688 (name "emacs-litable")
2689 (version (git-version "0.1" "0" commit))
2690 (source (origin
2691 (method git-fetch)
2692 (uri (git-reference
2693 (url "https://github.com/Fuco1/litable.git")
2694 (commit commit)))
2695 (file-name (git-file-name name version))
2696 (sha256
2697 (base32
2698 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2699 (build-system emacs-build-system)
2700 (propagated-inputs
2701 `(("emacs-dash" ,emacs-dash)))
2702 (home-page "https://github.com/Fuco1/litable/")
2703 (synopsis "Dynamic evaluation replacement with Emacs")
2704 (description "This packages provides dynamic evaluation in Emacs.")
2705 (license license:gpl3+))))
2706
2707 (define-public emacs-string-inflection
2708 (package
2709 (name "emacs-string-inflection")
2710 (version "1.0.6")
2711 (source (origin
2712 (method git-fetch)
2713 (uri (git-reference
2714 (url "https://github.com/akicho8/string-inflection")
2715 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2716 (file-name (git-file-name name version))
2717 (sha256
2718 (base32
2719 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2720 (build-system emacs-build-system)
2721 (native-inputs
2722 `(("ert-runner" ,emacs-ert-runner)))
2723 (arguments
2724 `(#:tests? #t
2725 #:test-command '("ert-runner")))
2726 (home-page "https://github.com/akicho8/string-inflection")
2727 (synopsis "Convert symbol names between different naming conventions")
2728 (description
2729 "This Emacs package provides convenient methods for manipulating the
2730 naming style of a symbol. It supports different naming conventions such as:
2731
2732 @enumerate
2733 @item camel case
2734 @item Pascal case
2735 @item all upper case
2736 @item lower case separated by underscore
2737 @item etc...
2738 @end enumerate\n")
2739 (license license:gpl2+)))
2740
2741 (define-public emacs-stripe-buffer
2742 (package
2743 (name "emacs-stripe-buffer")
2744 (version "0.2.5")
2745 (source
2746 (origin
2747 (method git-fetch)
2748 (uri (git-reference
2749 (url "https://github.com/sabof/stripe-buffer.git")
2750 (commit version)))
2751 (file-name (git-file-name name version))
2752 (sha256
2753 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
2754 (build-system emacs-build-system)
2755 (home-page "https://github.com/sabof/stripe-buffer/")
2756 (synopsis "Add stripes to list buffers")
2757 (description
2758 "This Emacs package adds faces to add stripes to list buffers and org
2759 tables.")
2760 (license license:gpl2+)))
2761
2762 (define-public emacs-org-rich-yank
2763 (package
2764 (name "emacs-org-rich-yank")
2765 (version "0.2.1")
2766 (source
2767 (origin
2768 (method git-fetch)
2769 (uri (git-reference
2770 (url "https://github.com/unhammer/org-rich-yank.git")
2771 (commit (string-append "v" version))))
2772 (file-name (git-file-name name version))
2773 (sha256
2774 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
2775 (build-system emacs-build-system)
2776 (home-page "https://github.com/unhammer/org-rich-yank")
2777 (synopsis "Automatically surround source code pasted into Org with
2778 @code{#+BEGIN_SRC} blocks")
2779 (description
2780 "This package provides a utility function for Org buffers that makes a
2781 @code{_SRC} block with the appropriate language annotation for code that has
2782 been copied from an Emacs major mode.")
2783 (license license:gpl2+)))
2784
2785 (define-public emacs-ob-restclient
2786 (let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
2787 (package
2788 (name "emacs-ob-restclient")
2789 (version (git-version "0.02" "1" commit))
2790 (source
2791 (origin
2792 (method git-fetch)
2793 (uri (git-reference
2794 (url "https://github.com/alf/ob-restclient.el.git")
2795 (commit commit)))
2796 (file-name (git-file-name name version))
2797 (sha256
2798 (base32 "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"))))
2799 (propagated-inputs
2800 `(("emacs-restclient" ,emacs-restclient)))
2801 (build-system emacs-build-system)
2802 (home-page "https://github.com/alf/ob-restclient.el")
2803 (synopsis "Org-babel functionality for @code{restclient-mode}")
2804 (description
2805 "This package integrates @code{restclient-mode} with Org.")
2806 (license license:gpl3+))))
2807
2808 (define-public emacs-org-now
2809 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
2810 (package
2811 (name "emacs-org-now")
2812 (version (git-version "0.1-pre" "1" commit))
2813 (source
2814 (origin
2815 (method git-fetch)
2816 (uri (git-reference
2817 (url "https://github.com/alphapapa/org-now.git")
2818 (commit commit)))
2819 (file-name (git-file-name name version))
2820 (sha256
2821 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
2822 (propagated-inputs
2823 `(("emacs-dash" ,emacs-dash)))
2824 (build-system emacs-build-system)
2825 (home-page "https://github.com/alphapapa/org-now")
2826 (synopsis "Show current Org tasks in a sidebar")
2827 (description
2828 "This package provides commands to show Org headings in a sidebar
2829 window while working on them. After defining one heading as the \"now\"
2830 heading, other headings can be refiled to it with one command, and back to
2831 their original location with another.")
2832 (license license:gpl3+))))
2833
2834 (define-public emacs-rich-minority
2835 (package
2836 (name "emacs-rich-minority")
2837 (version "1.0.1")
2838 (source
2839 (origin
2840 (method git-fetch)
2841 (uri (git-reference
2842 (url "https://github.com/Malabarba/rich-minority.git")
2843 (commit version)))
2844 (file-name (git-file-name name version))
2845 (sha256
2846 (base32 "11hwf9y5ax207w6rwrsmi3pmn7pn7ap6iys0z8hni2f5zzxjrmx3"))))
2847 (build-system emacs-build-system)
2848 (home-page "https://github.com/Malabarba/rich-minority")
2849 (synopsis "Clean-up and beautify the list of minor modes")
2850 (description
2851 "This Emacs package hides and/or highlights minor modes in the
2852 mode-line.")
2853 (license license:gpl2+)))
2854
2855 (define-public emacs-robe
2856 (package
2857 (name "emacs-robe")
2858 (version "0.8.1")
2859 (source
2860 (origin
2861 (method git-fetch)
2862 (uri (git-reference
2863 (url "https://github.com/dgutov/robe.git")
2864 (commit version)))
2865 (file-name (git-file-name name version))
2866 (sha256
2867 (base32 "0ll7ivxqnglfb0i70ly6qq2yfw9cyi3vq3lmj4s6h6c1c7rm3gcq"))))
2868 (build-system emacs-build-system)
2869 (arguments
2870 '(#:include (cons "^lib\\/" %default-include)))
2871 (propagated-inputs
2872 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2873 (home-page "https://github.com/dgutov/robe")
2874 (synopsis "Ruby code assistance tool for Emacs")
2875 (description
2876 "Robe can provide information on loaded classes and modules in Ruby code,
2877 as well as where methods are defined. This allows the user to jump to method
2878 definitions, modules and classes, display method documentation and provide
2879 method and constant name completion.")
2880 (license license:gpl3+)))
2881
2882 (define-public emacs-robot-mode
2883 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
2884 (revision "1"))
2885 (package
2886 (name "emacs-robot-mode")
2887 (version (git-version "0.0.0" revision commit))
2888 (source (origin
2889 (method git-fetch)
2890 (uri (git-reference
2891 ;; A better maintained fork of robot-mode.
2892 (url "https://github.com/jvalkeejarvi/robot-mode.git")
2893 (commit commit)))
2894 (file-name (git-file-name name version))
2895 (sha256
2896 (base32
2897 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
2898 (build-system emacs-build-system)
2899 (propagated-inputs `(("emacs-s" ,emacs-s)))
2900 (home-page "https://github.com/jvalkeejarvi/robot-mode")
2901 (synopsis "Emacs mode for Robot Framework")
2902 (description "This major mode facilitates editing Robot Framework source
2903 files with features such as syntax highlighting, comments, finding keywords,
2904 completing keywords and smart indentation.")
2905 (license license:gpl3+))))
2906
2907 (define-public emacs-rspec
2908 (package
2909 (name "emacs-rspec")
2910 (version "1.11")
2911 (source
2912 (origin
2913 (method git-fetch)
2914 (uri (git-reference
2915 (url "https://github.com/pezra/rspec-mode.git")
2916 (commit (string-append "v" version))))
2917 (file-name (git-file-name name version))
2918 (sha256
2919 (base32 "0hrn5n7aaymwimk511kjij44vqaxbmhly1gwmlmsrnbvvma7f2mp"))))
2920 (build-system emacs-build-system)
2921 (home-page "https://github.com/pezra/rspec-mode")
2922 (synopsis "Provides a rspec mode for working with RSpec")
2923 (description
2924 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2925 verify the spec associated with the current buffer, or entire project, as well
2926 as moving between the spec files, and corresponding code files.
2927
2928 Also included are keybindings for spec files and Dired buffers, as well as
2929 snippets for yasnippet.")
2930 (license license:gpl3+)))
2931
2932 (define-public emacs-smart-mode-line
2933 (package
2934 (name "emacs-smart-mode-line")
2935 (version "2.12.0")
2936 (source
2937 (origin
2938 (method git-fetch)
2939 (uri (git-reference
2940 (url "https://github.com/Malabarba/smart-mode-line.git")
2941 (commit version)))
2942 (file-name (git-file-name name version))
2943 (sha256
2944 (base32 "1gs4ay9hdg8gmia4ir74qawk80pqwv99hp4yhy108kpfry5mrq6z"))))
2945 (build-system emacs-build-system)
2946 (propagated-inputs
2947 `(("emacs-rich-minority" ,emacs-rich-minority)))
2948 (home-page "https://github.com/Malabarba/smart-mode-line")
2949 (synopsis "Color-coded smart mode-line")
2950 (description
2951 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2952 read from small to large monitors by using colors, a prefix feature, and smart
2953 truncation.")
2954 (license license:gpl2+)))
2955
2956 (define-public emacs-sr-speedbar
2957 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2958 (revision "0"))
2959 (package
2960 (name "emacs-sr-speedbar")
2961 (version (git-version "20161025" revision commit))
2962 (source
2963 (origin
2964 (method git-fetch)
2965 (uri (git-reference
2966 (url "https://github.com/emacsorphanage/sr-speedbar.git")
2967 (commit commit)))
2968 (file-name (git-file-name name version))
2969 (sha256
2970 (base32
2971 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
2972 (build-system emacs-build-system)
2973 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
2974 (synopsis "Same frame Emacs @code{speedbar}")
2975 (description
2976 "This Emacs package allows you to show @code{M-x speedbar} in the
2977 same frame (in an extra window). You can customize the initial width of
2978 the speedbar window.")
2979 (license license:gpl3+))))
2980
2981 (define-public emacs-shell-switcher
2982 (package
2983 (name "emacs-shell-switcher")
2984 (version "1.0.1")
2985 (source
2986 (origin
2987 (method git-fetch)
2988 (uri (git-reference
2989 (url "https://github.com/DamienCassou/shell-switcher.git")
2990 (commit (string-append "v" version))))
2991 (file-name (git-file-name name version))
2992 (sha256
2993 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
2994 (build-system emacs-build-system)
2995 (home-page "https://github.com/DamienCassou/shell-switcher")
2996 (synopsis "Provide fast switching between shell buffers")
2997 (description
2998 "This package provides commands to quickly switch between shell buffers.")
2999 (license license:gpl3+)))
3000
3001 (define-public emacs-names
3002 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
3003 (version "20151201.0")
3004 (revision "8"))
3005 (package
3006 (name "emacs-names")
3007 (version (git-version version revision commit))
3008 (source
3009 (origin
3010 (method git-fetch)
3011 (uri (git-reference
3012 (url "https://github.com/Malabarba/names")
3013 (commit commit)))
3014 (file-name (git-file-name name version))
3015 (sha256
3016 (base32
3017 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
3018 (build-system emacs-build-system)
3019 (home-page "https://github.com/Malabarba/names/")
3020 (synopsis "Namespace implementation for Emacs Lisp")
3021 (description
3022 "This package provides a macro that writes your namespaces for you.")
3023 (license license:gpl3+))))
3024
3025 (define-public emacs-evil-textobj-syntax
3026 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
3027 (version "0")
3028 (revision "1"))
3029 (package
3030 (name "emacs-evil-textobj-syntax")
3031 (version (git-version version revision commit))
3032 (source
3033 (origin
3034 (method git-fetch)
3035 (uri (git-reference
3036 (url "https://github.com/laishulu/evil-textobj-syntax/")
3037 (commit commit)))
3038 (file-name (git-file-name name version))
3039 (sha256
3040 (base32
3041 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
3042 (build-system emacs-build-system)
3043 (propagated-inputs `(("emacs-evil" ,emacs-evil)
3044 ("emacs-names" ,emacs-names)))
3045 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
3046 (synopsis "Text objects based on syntax highlighting")
3047 (description
3048 "This package provides text objects for @code{evil-mode} with
3049 boundaries defined by syntax highlighting.")
3050 (license license:gpl3+))))
3051
3052 (define-public emacs-flycheck-flow
3053 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
3054 (version "1.1")
3055 (revision "1"))
3056 (package
3057 (name "emacs-flycheck-flow")
3058 (version (git-version version revision commit))
3059 (source
3060 (origin
3061 (method git-fetch)
3062 (uri (git-reference
3063 (url "https://github.com/lbolla/emacs-flycheck-flow")
3064 (commit commit)))
3065 (file-name (git-file-name name version))
3066 (sha256
3067 (base32
3068 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
3069 (build-system emacs-build-system)
3070 (propagated-inputs
3071 `(("emacs-flycheck" ,emacs-flycheck)))
3072 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
3073 (synopsis "Flow support for @code{flycheck-mode}")
3074 (description
3075 "This package allows @code{flycheck-mode} to provide syntax-checking
3076 for Flow files.")
3077 (license license:gpl3+))))
3078
3079 (define-public emacs-elisp-demos
3080 (package
3081 (name "emacs-elisp-demos")
3082 (version "2019.08.16")
3083 (source
3084 (origin
3085 (method git-fetch)
3086 (uri (git-reference
3087 (url "https://github.com/xuchunyang/elisp-demos")
3088 (commit version)))
3089 (file-name (git-file-name name version))
3090 (sha256
3091 (base32
3092 "0lybadq66bl4snkwph9i1y0qxln29wyfjn222ii3nfwany28cj66"))))
3093 (build-system emacs-build-system)
3094 (arguments '(#:include '("\\.el$" "\\.org$")))
3095 (home-page "https://github.com/xuchunyang/elisp-demos/")
3096 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3097 (description
3098 "This package injects example uses of Elisp functions into their
3099 respective @code{*Help*} buffers.")
3100 (license license:gpl3+)))
3101
3102 (define-public emacs-docker-compose-mode
3103 (package
3104 (name "emacs-docker-compose-mode")
3105 (version "1.1.0")
3106 (source
3107 (origin
3108 (method git-fetch)
3109 (uri (git-reference
3110 (url "https://github.com/meqif/docker-compose-mode")
3111 (commit version)))
3112 (file-name (git-file-name name version))
3113 (sha256
3114 (base32
3115 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3116 (build-system emacs-build-system)
3117 (propagated-inputs
3118 `(("emacs-dash" ,emacs-dash)
3119 ("emacs-f" ,emacs-f)))
3120 (home-page "https://github.com/meqif/docker-compose-mode/")
3121 (synopsis "Major mode for editing @file{docker-compose} files")
3122 (description
3123 "This is a major mode for @file{docker-compose} files that provides
3124 completion of relevant keywords.")
3125 (license license:expat)))
3126
3127 (define-public emacs-sudo-edit
3128 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3129 (version "0.1.0")
3130 (revision "6"))
3131 (package
3132 (name "emacs-sudo-edit")
3133 (version (git-version version revision commit))
3134 (source
3135 (origin
3136 (method git-fetch)
3137 (uri (git-reference
3138 (url "https://github.com/nflath/sudo-edit")
3139 (commit commit)))
3140 (file-name (git-file-name name version))
3141 (sha256
3142 (base32
3143 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3144 (build-system emacs-build-system)
3145 (home-page "https://github.com/nflath/sudo-edit/")
3146 (synopsis "Open files as another user")
3147 (description
3148 "This package allows editing files as another user, including the root
3149 user.")
3150 (license license:gpl3+))))
3151
3152 (define-public emacs-miniedit
3153 (package
3154 (name "emacs-miniedit")
3155 (version "2.0")
3156 (source
3157 (origin
3158 (method git-fetch)
3159 (uri (git-reference
3160 (url "https://github.com/emacsmirror/miniedit")
3161 (commit version)))
3162 (file-name (git-file-name name version))
3163 (sha256
3164 (base32
3165 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3166 (build-system emacs-build-system)
3167 (home-page "https://github.com/emacsmirror/miniedit/")
3168 (synopsis "Enhanced editing for minibuffer fields")
3169 (description
3170 "This package provides a function that can be called from the
3171 minibuffer to enable editing the minibuffer input in another buffer with
3172 @code{text-mode} enabled.")
3173 (license license:gpl2+)))
3174
3175 (define-public emacs-ob-ipython
3176 (package
3177 (name "emacs-ob-ipython")
3178 (version "20150704.8807064693")
3179 (source (origin
3180 (method git-fetch)
3181 (uri (git-reference
3182 (commit "880706469338ab59b5bb7dbe8460016f89755364")
3183 (url "https://github.com/gregsexton/ob-ipython.git")))
3184 (file-name (git-file-name name version))
3185 (sha256
3186 (base32
3187 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
3188 (build-system emacs-build-system)
3189 (propagated-inputs
3190 `(("emacs-f" ,emacs-f)))
3191 (home-page "http://www.gregsexton.org")
3192 (synopsis "Org-Babel functions for IPython evaluation")
3193 (description "This package adds support to Org-Babel for evaluating Python
3194 source code using IPython.")
3195 (license license:gpl3+)))
3196
3197 (define-public emacs-debbugs
3198 (package
3199 (name "emacs-debbugs")
3200 (version "0.18")
3201 (source (origin
3202 (method url-fetch)
3203 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3204 version ".tar"))
3205 (sha256
3206 (base32
3207 "00kich80zdg7v3v613f9prqddkpwpm1nf9sj10f0n6wh15rzwv07"))))
3208 (build-system emacs-build-system)
3209 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3210 (propagated-inputs
3211 `(("emacs-async" ,emacs-async)))
3212 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3213 (synopsis "Access the Debbugs bug tracker in Emacs")
3214 (description
3215 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3216 Tracker} from within Emacs.
3217
3218 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3219 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3220 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3221 @code{M-x debbugs-org} and related commands.
3222
3223 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3224 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3225 (license license:gpl3+)))
3226
3227 (define-public emacs-ert-expectations
3228 (package
3229 (name "emacs-ert-expectations")
3230 (version "0.2")
3231 (source
3232 (origin
3233 (method url-fetch)
3234 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3235 (sha256
3236 (base32
3237 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3238 (build-system emacs-build-system)
3239 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3240 (synopsis "Simple unit test framework for Emacs Lisp")
3241 (description "@code{emacs-ert-expectations} is a simple unit test
3242 framework for Emacs Lisp to be used with @code{ert}.")
3243 (license license:gpl3+)))
3244
3245 (define-public emacs-deferred
3246 (package
3247 (name "emacs-deferred")
3248 (version "0.5.1")
3249 (home-page "https://github.com/kiwanami/emacs-deferred")
3250 (source (origin
3251 (method git-fetch)
3252 (uri (git-reference
3253 (url home-page)
3254 (commit (string-append "v" version))))
3255 (file-name (git-file-name name version))
3256 (sha256
3257 (base32
3258 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3259 (build-system emacs-build-system)
3260 (arguments
3261 `(#:phases
3262 (modify-phases %standard-phases
3263 (add-after 'unpack 'set-shell
3264 ;; Setting the SHELL environment variable is required for the tests
3265 ;; to find sh.
3266 (lambda _
3267 (setenv "SHELL" (which "sh"))
3268 #t))
3269 (add-before 'check 'fix-makefile
3270 (lambda _
3271 (substitute* "Makefile"
3272 (("\\$\\(CASK\\) exec ") ""))
3273 #t)))
3274 #:tests? #t
3275 #:test-command '("make" "test")))
3276 (native-inputs
3277 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3278 ("emacs-undercover" ,emacs-undercover)
3279 ("ert-runner" ,emacs-ert-runner)))
3280 (synopsis "Simple asynchronous functions for Emacs Lisp")
3281 (description
3282 "The @code{deferred.el} library provides support for asynchronous tasks.
3283 The API is almost the same as that of
3284 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3285 for asynchronous tasks.")
3286 (license license:gpl3+)))
3287
3288 (define-public emacs-butler
3289 (package
3290 (name "emacs-butler")
3291 (version "0.2.4")
3292 (home-page "https://github.com/AshtonKem/Butler")
3293 (source (origin
3294 (method git-fetch)
3295 (uri (git-reference
3296 (url home-page)
3297 (commit version)))
3298 (file-name (git-file-name name version))
3299 (sha256
3300 (base32
3301 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3302 (build-system emacs-build-system)
3303 (propagated-inputs
3304 `(("emacs-deferred" ,emacs-deferred)))
3305 (synopsis "Emacs client for Jenkins")
3306 (description
3307 "Butler provides an interface to connect to Jenkins continuous
3308 integration servers. Users can specify a list of server in the
3309 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3310 view the build status of those servers' build jobs, and possibly to trigger
3311 build jobs.")
3312 (license license:gpl3+)))
3313
3314 (define-public emacs-company
3315 (package
3316 (name "emacs-company")
3317 (version "0.9.10")
3318 (source
3319 (origin
3320 (method git-fetch)
3321 (uri (git-reference
3322 (url "https://github.com/company-mode/company-mode.git")
3323 (commit version)))
3324 (file-name (git-file-name name version))
3325 (sha256
3326 (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
3327 (build-system emacs-build-system)
3328 (arguments
3329 `(#:phases
3330 (modify-phases %standard-phases
3331 (add-before 'check 'fix-bin-dir
3332 (lambda _
3333 ;; The company-files-candidates-normal-root test looks
3334 ;; for the /bin directory, but the build environment has
3335 ;; no /bin directory. Modify the test to look for the
3336 ;; /tmp directory.
3337 (substitute* "test/files-tests.el"
3338 (("/bin/") "/tmp/"))
3339 #t)))
3340 #:tests? #t
3341 #:test-command '("make" "test-batch")))
3342 (home-page "http://company-mode.github.io/")
3343 (synopsis "Modular text completion framework")
3344 (description
3345 "Company is a modular completion mechanism. Modules for retrieving
3346 completion candidates are called back-ends, modules for displaying them are
3347 front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3348 These are distributed in separate files and can be used individually.")
3349 (license license:gpl3+)))
3350
3351 (define-public emacs-irony-mode
3352 (package
3353 (name "emacs-irony-mode")
3354 (version "1.2.0")
3355 (home-page "https://github.com/Sarcasm/irony-mode")
3356 (source (origin
3357 (method git-fetch)
3358 (uri (git-reference
3359 (url (string-append home-page ".git"))
3360 (commit (string-append "v" version))))
3361 (file-name (git-file-name name version))
3362 (sha256
3363 (base32
3364 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
3365 (build-system emacs-build-system)
3366 (inputs `(("server" ,emacs-irony-mode-server)))
3367 (arguments `(#:phases
3368 (modify-phases %standard-phases
3369 (add-after 'unpack 'configure
3370 (lambda* (#:key inputs #:allow-other-keys)
3371 (chmod "irony.el" #o644)
3372 (emacs-substitute-variables "irony.el"
3373 ("irony-server-install-prefix"
3374 (assoc-ref inputs "server")))
3375 #t)))))
3376 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3377 (description "Irony-mode provides Clang-assisted syntax checking and
3378 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3379 provide syntax checking and autocompletion on compiler level which is very
3380 resistant against false positives. It also integrates well with other
3381 packages like @code{eldoc-mode} and especially @code{company-mode} as
3382 described on the homepage.")
3383 (license license:gpl3+)))
3384
3385 (define-public emacs-irony-mode-server
3386 (package (inherit emacs-irony-mode)
3387 (name "emacs-irony-mode-server")
3388 (inputs
3389 `(("clang" ,clang)))
3390 (arguments
3391 `(#:phases
3392 (modify-phases %standard-phases
3393 (replace 'configure
3394 (lambda* (#:key outputs #:allow-other-keys)
3395 (let ((out (assoc-ref outputs "out")))
3396 (invoke "cmake"
3397 "server"
3398 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3399 (build-system cmake-build-system)
3400 (synopsis "Server for the Emacs @dfn{irony mode}")))
3401
3402 (define-public emacs-company-irony
3403 (package
3404 (name "emacs-company-irony")
3405 (version "1.1.0")
3406 (source (origin
3407 (method git-fetch)
3408 (uri (git-reference
3409 (url "https://github.com/Sarcasm/company-irony.git")
3410 (commit (string-append "v" version))))
3411 (sha256 (base32
3412 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3413 (file-name (git-file-name name version))))
3414 (build-system emacs-build-system)
3415 (inputs
3416 `(("emacs-irony-mode" ,emacs-irony-mode)
3417 ("emacs-company" ,emacs-company)))
3418 (synopsis "C++ completion backend for Company using irony-mode")
3419 (description "This backend for company-mode allows for C++ code completion
3420 with irony-mode using clang-tooling.")
3421 (home-page "https://github.com/Sarcasm/company-irony")
3422 (license license:gpl3+)))
3423
3424 (define-public emacs-flycheck-irony
3425 (package
3426 (name "emacs-flycheck-irony")
3427 (version "0.1.0")
3428 (source (origin
3429 (method git-fetch)
3430 (uri (git-reference
3431 (url "https://github.com/Sarcasm/flycheck-irony.git")
3432 (commit (string-append "v" version))))
3433 (file-name (git-file-name name version))
3434 (sha256
3435 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3436 (build-system emacs-build-system)
3437 (inputs
3438 `(("irony-mode" ,emacs-irony-mode)
3439 ("flycheck-mode" ,emacs-flycheck)
3440 ("emacs-company" ,emacs-company)))
3441 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3442 (description "This package provides a frontend for Flycheck that lets
3443 irony-mode do the syntax checking.")
3444 (home-page "https://github.com/Sarcasm/flycheck-irony")
3445 (license license:gpl3+)))
3446
3447 (define-public emacs-irony-eldoc
3448 (package
3449 (name "emacs-irony-eldoc")
3450 (version (package-version emacs-irony-mode))
3451 (source
3452 (origin
3453 (method git-fetch)
3454 (uri (git-reference
3455 (url "https://github.com/ikirill/irony-eldoc.git")
3456 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3457 (file-name (git-file-name name version))
3458 (sha256
3459 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3460 (build-system emacs-build-system)
3461 (inputs
3462 `(("irony-mode" ,emacs-irony-mode)))
3463 (synopsis "Eldoc integration for irony-mode")
3464 (description "Irony-eldoc is an eldoc extension that shows documentation
3465 for the current function or variable in the minibuffer.")
3466 (home-page "https://github.com/ikirill/irony-eldoc")
3467 (license license:gpl3+)))
3468
3469 (define-public emacs-company-quickhelp
3470 (package
3471 (name "emacs-company-quickhelp")
3472 (version "2.3.0")
3473 (source
3474 (origin
3475 (method git-fetch)
3476 (uri (git-reference
3477 (url "https://github.com/expez/company-quickhelp.git")
3478 (commit version)))
3479 (file-name (git-file-name name version))
3480 (sha256
3481 (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr"))))
3482 (build-system emacs-build-system)
3483 (propagated-inputs
3484 `(("emacs-pos-tip" ,emacs-pos-tip)
3485 ("emacs-company" ,emacs-company)))
3486 (home-page "https://github.com/expez/company-quickhelp")
3487 (synopsis "Popup documentation for completion candidates")
3488 (description "@code{company-quickhelp} shows documentation for the
3489 completion candidate when using the Company text completion framework.")
3490 (license license:gpl3+)))
3491
3492 (define-public emacs-math-symbol-lists
3493 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
3494 (revision "1"))
3495 (package
3496 (name "emacs-math-symbol-lists")
3497 (version (git-version "1.2.1" revision commit))
3498 (source
3499 (origin
3500 (method git-fetch)
3501 (uri (git-reference
3502 (url "https://github.com/vspinu/math-symbol-lists.git")
3503 (commit commit)))
3504 (file-name (git-file-name name version))
3505 (sha256
3506 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
3507 (build-system emacs-build-system)
3508 (home-page "https://github.com/vspinu/math-symbol-lists")
3509 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
3510 (description "This is a storage package used by completion engines like
3511 @code{company-math}.")
3512 (license license:gpl3+))))
3513
3514 (define-public emacs-company-math
3515 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
3516 (revision "1"))
3517 (package
3518 (name "emacs-company-math")
3519 (version (git-version "1.3" revision commit))
3520 (source
3521 (origin
3522 (method git-fetch)
3523 (uri (git-reference
3524 (url "https://github.com/vspinu/company-math.git")
3525 (commit commit)))
3526 (file-name (git-file-name name version))
3527 (sha256
3528 (base32
3529 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
3530 (build-system emacs-build-system)
3531 (propagated-inputs
3532 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
3533 ("emacs-company" ,emacs-company)))
3534 (home-page "https://github.com/vspinu/company-math")
3535 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
3536 (description "This package provides a backend for use with
3537 @code{company-mode} allowing for completion of common math symbols.")
3538 (license license:gpl3+))))
3539
3540 (define-public emacs-nswbuff
3541 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
3542 (revision "1"))
3543 (package
3544 (name "emacs-nswbuff")
3545 (version (git-version "1.0" revision commit))
3546 (source
3547 (origin
3548 (method git-fetch)
3549 (uri (git-reference
3550 (url "https://github.com/joostkremers/nswbuff.git")
3551 (commit commit)))
3552 (file-name (git-file-name name version))
3553 (sha256
3554 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
3555 (build-system emacs-build-system)
3556 (home-page "https://github.com/joostkremers/nswbuff")
3557 (synopsis "Quickly switch between buffers")
3558 (description "This package allows for navigating between buffers within
3559 a customizable list.")
3560 (license license:gpl3+))))
3561
3562 (define-public emacs-phi-search
3563 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
3564 (revision "1"))
3565 (package
3566 (name "emacs-phi-search")
3567 (version (git-version "20160630" revision commit))
3568 (source
3569 (origin
3570 (method git-fetch)
3571 (uri (git-reference
3572 (url "https://github.com/zk-phi/phi-search.git")
3573 (commit commit)))
3574 (file-name (git-file-name name version))
3575 (sha256
3576 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
3577 (build-system emacs-build-system)
3578 (home-page "https://github.com/zk-phi/phi-search")
3579 (synopsis "Interactive search compatible with @code{multiple-cursors}")
3580 (description "This package can be used with @code{multiple-cursors} to
3581 provide an incremental search that moves all fake cursors in sync.")
3582 (license license:gpl2+))))
3583
3584 (define-public emacs-phi-search-mc
3585 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
3586 (revision "1"))
3587 (package
3588 (name "emacs-phi-search-mc")
3589 (version (git-version "2.2.1" revision commit))
3590 (source
3591 (origin
3592 (method git-fetch)
3593 (uri (git-reference
3594 (url "https://github.com/knu/phi-search-mc.el.git")
3595 (commit commit)))
3596 (file-name (git-file-name name version))
3597 (sha256
3598 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
3599 (build-system emacs-build-system)
3600 (propagated-inputs
3601 `(("emacs-phi-search" ,emacs-phi-search)
3602 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3603 (home-page "https://github.com/knu/phi-search-mc.el")
3604 (synopsis "Extend @code{phi-search} with additional
3605 @code{multiple-cursors} functionality")
3606 (description "This package provides further integration between
3607 @code{multiple-cursors} and @code{phi-search}, a package that allows for
3608 interactive searches to move multiple fake cursors.")
3609 (license license:bsd-2))))
3610
3611 (define-public emacs-multiple-cursors
3612 (package
3613 (name "emacs-multiple-cursors")
3614 (version "1.4.0")
3615 (source
3616 (origin
3617 (method git-fetch)
3618 (uri (git-reference
3619 (url "https://github.com/magnars/multiple-cursors.el.git")
3620 (commit version)))
3621 (file-name (git-file-name name version))
3622 (sha256
3623 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
3624 (build-system emacs-build-system)
3625 (home-page "https://github.com/magnars/multiple-cursors.el")
3626 (synopsis "Multiple cursors for Emacs")
3627 (description
3628 "This package adds support to Emacs for editing text with multiple
3629 simultaneous cursors.")
3630 (license license:gpl3+)))
3631
3632 (define-public emacs-mc-extras
3633 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
3634 (revision "1"))
3635 (package
3636 (name "emacs-mc-extras")
3637 (version (git-version "1.2.4" revision commit))
3638 (source
3639 (origin
3640 (method git-fetch)
3641 (uri (git-reference
3642 (url "https://github.com/knu/mc-extras.el.git")
3643 (commit commit)))
3644 (file-name (git-file-name name version))
3645 (sha256
3646 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
3647 (build-system emacs-build-system)
3648 (propagated-inputs
3649 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3650 (home-page "https://github.com/knu/mc-extras.el")
3651 (synopsis "Extra functions for manipulating multiple cursors")
3652 (description
3653 "This package provides additional functions for
3654 @code{multiple-cursors}, including functions for marking s-expressions,
3655 comparing characters, removing cursors, and more.")
3656 (license license:bsd-2))))
3657
3658 (define-public emacs-typo
3659 (package
3660 (name "emacs-typo")
3661 (version "1.1")
3662 (home-page "https://github.com/jorgenschaefer/typoel")
3663 (source (origin
3664 (method git-fetch)
3665 (uri (git-reference
3666 (url home-page)
3667 (commit (string-append "v" version))))
3668 (file-name (git-file-name name version))
3669 (sha256
3670 (base32
3671 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
3672 (build-system emacs-build-system)
3673 (synopsis "Minor mode for typographic editing")
3674 (description
3675 "This package provides two Emacs modes, @code{typo-mode} and
3676 @code{typo-global-mode}. These modes automatically insert Unicode characters
3677 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
3678 automatically inserts a Unicode opening or closing quotation mark, depending
3679 on context.")
3680 (license license:gpl3+)))
3681
3682 (define-public emacs-company-lsp
3683 (package
3684 (name "emacs-company-lsp")
3685 (version "2.1.0")
3686 (source (origin
3687 (method git-fetch)
3688 (uri (git-reference
3689 (url "https://github.com/tigersoldier/company-lsp.git")
3690 (commit version)))
3691 (file-name (git-file-name name version))
3692 (sha256
3693 (base32
3694 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
3695 (build-system emacs-build-system)
3696 (propagated-inputs
3697 `(("emacs-dash" ,emacs-dash)
3698 ("emacs-lsp-mode" ,emacs-lsp-mode)
3699 ("emacs-company" ,emacs-company)
3700 ("emacs-s" ,emacs-s)
3701 ("emacs-dash" ,emacs-dash)))
3702 (home-page "https://github.com/tigersoldier/company-lsp")
3703 (synopsis "Completion for @code{lsp-mode}")
3704 (description
3705 "This package provides completion features that are not possible with
3706 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
3707 characters and asynchronous fetching of completion candidates.")
3708 (license license:gpl3+)))
3709
3710 (define-public emacs-scheme-complete
3711 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
3712 (package
3713 (name "emacs-scheme-complete")
3714 (version (string-append "20151223." (string-take commit 8)))
3715 (source
3716 (origin
3717 (method git-fetch)
3718 (uri (git-reference
3719 (url "https://github.com/ashinn/scheme-complete.git")
3720 (commit commit)))
3721 (file-name (git-file-name name version))
3722 (sha256
3723 (base32
3724 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
3725 (patches
3726 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
3727 (build-system emacs-build-system)
3728 (home-page "https://github.com/ashinn/scheme-complete")
3729 (synopsis "Smart tab completion for Scheme in Emacs")
3730 (description
3731 "This file provides a single function, @code{scheme-smart-complete},
3732 which you can use for intelligent, context-sensitive completion for any Scheme
3733 implementation in Emacs. To use it just load this file and bind that function
3734 to a key in your preferred mode.")
3735 (license license:public-domain))))
3736
3737 (define-public emacs-scel
3738 (let ((version "20170629")
3739 (revision "1")
3740 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
3741 (package
3742 (name "emacs-scel")
3743 (version (git-version version revision commit))
3744 (source
3745 (origin
3746 (method git-fetch)
3747 (uri (git-reference
3748 (url "https://github.com/supercollider/scel.git")
3749 (commit commit)))
3750 (file-name (git-file-name name version))
3751 (sha256
3752 (base32
3753 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
3754 (build-system emacs-build-system)
3755 (arguments
3756 `(#:modules ((guix build emacs-build-system)
3757 ((guix build cmake-build-system) #:prefix cmake:)
3758 (guix build utils))
3759 #:imported-modules (,@%emacs-build-system-modules
3760 (guix build cmake-build-system))
3761 #:phases
3762 (modify-phases %standard-phases
3763 (add-after 'unpack 'configure
3764 (lambda* (#:key outputs #:allow-other-keys)
3765 (substitute* "el/CMakeLists.txt"
3766 (("share/emacs/site-lisp/SuperCollider")
3767 (string-append
3768 "share/emacs/site-lisp/guix.d/scel-" ,version)))
3769 ((assoc-ref cmake:%standard-phases 'configure)
3770 #:outputs outputs
3771 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
3772 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
3773 (lambda _
3774 (setenv "EMACSLOADPATH"
3775 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
3776 #t))
3777 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
3778 (inputs
3779 `(("supercollider" ,supercollider)))
3780 (native-inputs
3781 `(("cmake" ,cmake)))
3782 (home-page "https://github.com/supercollider/scel")
3783 (synopsis "SuperCollider Emacs interface")
3784 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
3785 SuperCollider is a platform for audio synthesis and algorithmic composition.")
3786 (license license:gpl2+))))
3787
3788 (define-public emacs-company-auctex
3789 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
3790 (revision "1"))
3791 (package
3792 (name "emacs-company-auctex")
3793 (version (git-version "0" revision commit))
3794 (source (origin
3795 (method git-fetch)
3796 (uri (git-reference
3797 (url "https://github.com/alexeyr/company-auctex")
3798 (commit commit)))
3799 (file-name (git-file-name name version))
3800 (sha256
3801 (base32
3802 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
3803 (build-system emacs-build-system)
3804 (propagated-inputs
3805 `(("emacs-yasnippet" ,emacs-yasnippet)
3806 ("emacs-auctex" ,emacs-auctex)
3807 ("emacs-company" ,emacs-company)))
3808 (home-page "https://github.com/alexeyr/company-auctex/")
3809 (synopsis "Completion for @code{AUCTeX}")
3810 (description
3811 "This package provides a group of backends permitting auto-completion
3812 for @code{AUCTeX}.")
3813 (license license:gpl3+))))
3814
3815 (define-public emacs-mit-scheme-doc
3816 (package
3817 (name "emacs-mit-scheme-doc")
3818 (version "20140203")
3819 (source
3820 (origin
3821 (modules '((guix build utils)))
3822 (snippet
3823 ;; keep only file of interest
3824 '(begin
3825 (for-each delete-file '("dot-emacs.el" "Makefile"))
3826 (install-file "6.945-config/mit-scheme-doc.el" ".")
3827 (delete-file-recursively "6.945-config")
3828 #t))
3829 (file-name (string-append name "-" version ".tar.bz2"))
3830 (method url-fetch)
3831 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
3832 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
3833 (sha256
3834 (base32
3835 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
3836 (build-system emacs-build-system)
3837 (inputs `(("mit-scheme" ,mit-scheme)))
3838 (arguments
3839 `(#:phases
3840 (modify-phases %standard-phases
3841 (add-after 'unpack 'configure-doc
3842 (lambda* (#:key inputs #:allow-other-keys)
3843 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
3844 (doc-dir (string-append mit-scheme-dir "/share/doc/"
3845 "mit-scheme-"
3846 ,(package-version mit-scheme))))
3847 (substitute* "mit-scheme-doc.el"
3848 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
3849 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
3850 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
3851 (synopsis "MIT-Scheme documentation lookup for Emacs")
3852 (description
3853 "This package provides a set of Emacs functions to search definitions of
3854 identifiers in the MIT-Scheme documentation.")
3855 (license license:gpl2+)))
3856
3857 (define-public emacs-constants
3858 (package
3859 (name "emacs-constants")
3860 (version "2.6")
3861 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
3862 (source
3863 (origin
3864 (method git-fetch)
3865 (uri (git-reference
3866 (url "https://github.com/fedeinthemix/emacs-constants.git")
3867 (commit (string-append "v" version))))
3868 (file-name (git-file-name name version))
3869 (sha256
3870 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
3871 (build-system emacs-build-system)
3872 (synopsis "Enter definition of constants into an Emacs buffer")
3873 (description
3874 "This package provides functions for inserting the definition of natural
3875 constants and units into an Emacs buffer.")
3876 (license license:gpl2+)))
3877
3878 (define-public emacs-tagedit
3879 (package
3880 (name "emacs-tagedit")
3881 (version "1.4.0")
3882 (source
3883 (origin
3884 (method git-fetch)
3885 (uri (git-reference
3886 (url "https://github.com/magnars/tagedit.git")
3887 (commit version)))
3888 (file-name (git-file-name name version))
3889 (sha256
3890 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
3891 (build-system emacs-build-system)
3892 (propagated-inputs
3893 `(("emacs-s" ,emacs-s)
3894 ("emacs-dash" ,emacs-dash)))
3895 (home-page "https://github.com/magnars/tagedit")
3896 (synopsis "Some paredit-like features for html-mode")
3897 (description
3898 "This package provides a collection of paredit-like functions for editing
3899 in @code{html-mode}.")
3900 (license license:gpl3+)))
3901
3902 (define-public emacs-slime
3903 (package
3904 (name "emacs-slime")
3905 (version "2.24")
3906 (source
3907 (origin
3908 (method git-fetch)
3909 (uri (git-reference
3910 (url "https://github.com/slime/slime.git")
3911 (commit (string-append "v" version))))
3912 (file-name (git-file-name name version))
3913 (sha256
3914 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
3915 (build-system emacs-build-system)
3916 (native-inputs
3917 `(("texinfo" ,texinfo)))
3918 (arguments
3919 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3920 #:exclude '("^slime-tests.el" "^contrib/test/"
3921 "^contrib/Makefile$" "^contrib/README.md$")
3922 #:phases
3923 (modify-phases %standard-phases
3924 (add-after 'unpack 'make-git-checkout-writable
3925 (lambda _
3926 (for-each make-file-writable (find-files "."))
3927 #t))
3928 (add-before 'install 'configure
3929 (lambda* _
3930 (emacs-substitute-variables "slime.el"
3931 ("inferior-lisp-program" "sbcl"))
3932 #t))
3933 (add-before 'install 'install-doc
3934 (lambda* (#:key outputs #:allow-other-keys)
3935 (let* ((out (assoc-ref outputs "out"))
3936 (info-dir (string-append out "/share/info"))
3937 (doc-dir (string-append out "/share/doc/"
3938 ,name "-" ,version))
3939 (doc-files '("doc/slime-refcard.pdf"
3940 "README.md" "NEWS" "PROBLEMS"
3941 "CONTRIBUTING.md")))
3942 (with-directory-excursion "doc"
3943 (substitute* "Makefile"
3944 (("infodir=/usr/local/info")
3945 (string-append "infodir=" info-dir)))
3946 (invoke "make" "html/index.html")
3947 (invoke "make" "slime.info")
3948 (install-file "slime.info" info-dir)
3949 (copy-recursively "html" (string-append doc-dir "/html")))
3950 (for-each (lambda (f)
3951 (install-file f doc-dir)
3952 (delete-file f))
3953 doc-files)
3954 (delete-file-recursively "doc")
3955 #t))))))
3956 (home-page "https://github.com/slime/slime")
3957 (synopsis "Superior Lisp Interaction Mode for Emacs")
3958 (description
3959 "SLIME extends Emacs with support for interactive programming in
3960 Common Lisp. The features are centered around @command{slime-mode},
3961 an Emacs minor mode that complements the standard @command{lisp-mode}.
3962 While lisp-mode supports editing Lisp source files, @command{slime-mode}
3963 adds support for interacting with a running Common Lisp process
3964 for compilation, debugging, documentation lookup, and so on.")
3965 (license (list license:gpl2+ license:public-domain))))
3966
3967 (define-public emacs-popup
3968 (package
3969 (name "emacs-popup")
3970 (version "0.5.3")
3971 (source
3972 (origin
3973 (method git-fetch)
3974 (uri (git-reference
3975 (url "https://github.com/auto-complete/popup-el.git")
3976 (commit (string-append "v" version))))
3977 (file-name (git-file-name name version))
3978 (sha256
3979 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
3980 (build-system emacs-build-system)
3981 (home-page "https://github.com/auto-complete/popup-el")
3982 (synopsis "Visual Popup User Interface for Emacs")
3983 (description
3984 "Popup.el is a visual popup user interface library for Emacs.
3985 This provides a basic API and common UI widgets such as popup tooltips
3986 and popup menus.")
3987 (license license:gpl3+)))
3988
3989 (define-public emacs-python-environment
3990 (package
3991 (name "emacs-python-environment")
3992 (version "0.0.2")
3993 (source
3994 (origin
3995 (method git-fetch)
3996 (uri (git-reference
3997 (url "https://github.com/tkf/emacs-python-environment/")
3998 (commit version)))
3999 (file-name (git-file-name name version))
4000 (sha256
4001 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
4002 (build-system emacs-build-system)
4003 (propagated-inputs
4004 `(("emacs-deferred" ,emacs-deferred)))
4005 (home-page "https://github.com/tkf/emacs-python-environment")
4006 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
4007 (description
4008 "This package permits automated installation of tools written in Python.")
4009 (license license:gpl3+)))
4010
4011 (define-public emacs-jedi
4012 (package
4013 (name "emacs-jedi")
4014 (version "0.2.7")
4015 (source (origin
4016 (method git-fetch)
4017 (uri (git-reference
4018 (url "https://github.com/tkf/emacs-jedi/")
4019 (commit (string-append "v" version))))
4020 (file-name (git-file-name name version))
4021 (sha256
4022 (base32
4023 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
4024 (build-system emacs-build-system)
4025 (native-inputs
4026 `(("emacs-mocker" ,emacs-mocker)))
4027 (propagated-inputs
4028 `(("emacs-auto-complete" ,emacs-auto-complete)
4029 ("emacs-python-environment" ,emacs-python-environment)
4030 ("emacs-epc" ,emacs-epc)))
4031 (home-page "https://github.com/tkf/emacs-jedi")
4032 (synopsis "Provides Python completion in Emacs")
4033 (description
4034 "This package provides completion in Python buffers and also helps find
4035 the locations of docstrings, arguments, and functions.")
4036 (license license:gpl3+)))
4037
4038 (define-public emacs-company-jedi
4039 (package
4040 (name "emacs-company-jedi")
4041 (version "0.04")
4042 (source (origin
4043 (method git-fetch)
4044 (uri (git-reference
4045 (url "https://github.com/syohex/emacs-company-jedi")
4046 (commit version)))
4047 (file-name (git-file-name name version))
4048 (sha256
4049 (base32
4050 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
4051 (build-system emacs-build-system)
4052 (propagated-inputs
4053 `(("emacs-jedi" ,emacs-jedi)
4054 ("emacs-company" ,emacs-company)))
4055 (home-page "https://github.com/syohex/emacs-company-jedi")
4056 (synopsis "Provides Python completion in @code{company-mode}")
4057 (description
4058 "This package provides a Company backend for Python.")
4059 (license license:gpl3+)))
4060
4061 (define-public emacs-puppet-mode
4062 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
4063 (revision "1"))
4064 (package
4065 (name "emacs-puppet-mode")
4066 ;; The last release, 0.3 was several years ago, and there have been many
4067 ;; commits since
4068 (version (git-version "0.3" revision commit))
4069 (source
4070 (origin
4071 (method url-fetch)
4072 (uri (string-append
4073 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
4074 commit "/puppet-mode.el"))
4075 (sha256
4076 (base32
4077 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
4078 (build-system emacs-build-system)
4079 (home-page "https://github.com/voxpupuli/puppet-mode")
4080 (synopsis "Emacs major mode for the Puppet configuration language")
4081 (description
4082 "This package provides support for the Puppet configuration language,
4083 including syntax highlighting, indentation of expressions and statements,
4084 linting of manifests and integration with Puppet Debugger.")
4085 ;; Also incorporates work covered by the Apache License, Version 2.0
4086 (license license:gpl3+))))
4087
4088 (define-public emacs-god-mode
4089 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
4090 (revision "1"))
4091 (package
4092 (name "emacs-god-mode")
4093 (version (string-append "20151005.925."
4094 revision "-" (string-take commit 9)))
4095 (source
4096 (origin
4097 (method git-fetch)
4098 (uri (git-reference
4099 (url "https://github.com/chrisdone/god-mode.git")
4100 (commit commit)))
4101 (file-name (git-file-name name version))
4102 (sha256
4103 (base32
4104 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
4105 (build-system emacs-build-system)
4106 (home-page "https://github.com/chrisdone/god-mode")
4107 (synopsis "Minor mode for entering commands without modifier keys")
4108 (description
4109 "This package provides a global minor mode for entering Emacs commands
4110 without modifier keys. It's similar to Vim's separation of commands and
4111 insertion mode. When enabled all keys are implicitly prefixed with
4112 @samp{C-} (among other helpful shortcuts).")
4113 (license license:gpl3+))))
4114
4115 (define-public emacs-jinja2-mode
4116 (package
4117 (name "emacs-jinja2-mode")
4118 (version "0.2")
4119 (source
4120 (origin
4121 (method git-fetch)
4122 (uri (git-reference
4123 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
4124 (commit (string-append "v" version))))
4125 (file-name (git-file-name name version))
4126 (sha256
4127 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
4128 (build-system emacs-build-system)
4129 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
4130 (synopsis "Major mode for jinja2")
4131 (description
4132 "Emacs major mode for jinja2 with: syntax highlighting,
4133 sgml/html integration, and indentation (working with sgml).")
4134 (license license:gpl3+)))
4135
4136 (define-public emacs-company-cabal
4137 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
4138 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
4139 (revision "1"))
4140 (package
4141 (name "emacs-company-cabal")
4142 (version (git-version "0.3.0" revision commit))
4143 (source (origin
4144 (method git-fetch)
4145 (uri (git-reference
4146 (url "https://github.com/iquiw/company-cabal/")
4147 (commit commit)))
4148 (file-name (git-file-name name version))
4149 (sha256
4150 (base32
4151 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
4152 (build-system emacs-build-system)
4153 (propagated-inputs
4154 `(("emacs-company" ,emacs-company)))
4155 (home-page "https://github.com/iquiw/company-cabal/")
4156 (synopsis "Company completion for Haskell Cabal files")
4157 (description
4158 "This package allows for completion of field names, section names,
4159 field values, and more within @code{haskell-cabal-mode}.")
4160 (license license:gpl3+))))
4161
4162 (define-public emacs-rfcview
4163 (package
4164 (name "emacs-rfcview")
4165 (version "0.13")
4166 (home-page "http://www.loveshack.ukfsn.org/emacs")
4167 (source (origin
4168 (method url-fetch)
4169 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
4170 (sha256
4171 (base32
4172 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
4173 (build-system emacs-build-system)
4174 (synopsis "Prettify Request for Comments (RFC) documents")
4175 (description "The Internet Engineering Task Force (IETF) and the Internet
4176 Society (ISOC) publish various Internet-related protocols and specifications
4177 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
4178 documents. RFCs and STDs are published in a simple text form. This package
4179 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
4180 read these documents in Emacs. It prettifies the text and adds
4181 hyperlinks/menus for easier navigation. It also provides functions for
4182 browsing the index of RFC documents and fetching them from remote servers or
4183 local directories.")
4184 (license license:gpl3+)))
4185
4186 (define-public emacs-ffap-rfc-space
4187 (package
4188 (name "emacs-ffap-rfc-space")
4189 (version "12")
4190 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
4191 (source (origin
4192 (method url-fetch)
4193 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
4194 (sha256
4195 (base32
4196 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
4197 (build-system emacs-build-system)
4198 (synopsis "Make ffap recognize an RFC with a space before its number")
4199 (description "The Internet Engineering Task Force (IETF) and the
4200 Internet Society (ISOC) publish various Internet-related protocols and
4201 specifications as \"Request for Comments\" (RFC) documents. The
4202 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
4203 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
4204 and load the appropriate RFC from a remote server. However, it fails
4205 to recognize a name like \"RFC 1234\". This package enhances ffap so
4206 that it correctly finds RFCs even when a space appears before the
4207 number.")
4208 (license license:gpl3+)))
4209
4210 (define-public emacs-org-bullets
4211 (package
4212 (name "emacs-org-bullets")
4213 (version "0.2.4")
4214 (source
4215 (origin
4216 (method git-fetch)
4217 (uri (git-reference
4218 (url "https://github.com/sabof/org-bullets.git")
4219 (commit version)))
4220 (file-name (git-file-name name version))
4221 (sha256
4222 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
4223 (build-system emacs-build-system)
4224 (home-page "https://github.com/sabof/org-bullets")
4225 (synopsis "Show bullets in org-mode as UTF-8 characters")
4226 (description
4227 "This package provides an Emacs minor mode causing bullets in
4228 @code{org-mode} to be rendered as UTF-8 characters.")
4229 (license license:gpl3+)))
4230
4231 (define-public emacs-org-pomodoro
4232 (package
4233 (name "emacs-org-pomodoro")
4234 (version "2.1.0")
4235 (source
4236 (origin
4237 (method git-fetch)
4238 (uri (git-reference
4239 (url "https://github.com/lolownia/org-pomodoro.git")
4240 (commit version)))
4241 (file-name (git-file-name name version))
4242 (sha256
4243 (base32 "0r5shgikm34d66i2hblyknbblpg92lb2zc9x4bcb28xkh7m9d0xv"))))
4244 (build-system emacs-build-system)
4245 (propagated-inputs
4246 `(("emacs-alert" ,emacs-alert)))
4247 (home-page "https://github.com/lolownia/org-pomodoro")
4248 (synopsis "Pomodoro technique for org-mode")
4249 (description "@code{emacs-org-pomodoro} adds very basic support for
4250 Pomodoro technique in Emacs org-mode.
4251
4252 Run @code{M-x org-pomodoro} for the task at point or select one of the
4253 last tasks that you clocked time for. Each clocked-in pomodoro starts
4254 a timer of 25 minutes and after each pomodoro a break timer of 5
4255 minutes is started automatically. Every 4 breaks a long break is
4256 started with 20 minutes. All values are customizable.")
4257 (license license:gpl3+)))
4258
4259 (define-public emacs-org-sidebar
4260 (let ((commit "74ca98b9920f3de3f13d49866581435e1ec63ec5")
4261 (revision "1"))
4262 (package
4263 (name "emacs-org-sidebar")
4264 (version (git-version "0.1" revision commit))
4265 (source
4266 (origin
4267 (method git-fetch)
4268 (uri (git-reference
4269 (url "https://github.com/alphapapa/org-sidebar.git")
4270 (commit commit)))
4271 (file-name (git-file-name name version))
4272 (sha256
4273 (base32 "03p1ndyw2qp2skib5hszc4xyh84w7p2mhkd4a9dy6qv8q47xpsqn"))))
4274 (build-system emacs-build-system)
4275 (propagated-inputs
4276 `(("emacs-dash" ,emacs-dash)
4277 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
4278 ("emacs-org" ,emacs-org)
4279 ("emacs-org-ql" ,emacs-org-ql)
4280 ("emacs-s" ,emacs-s)))
4281 (home-page "https://github.com/alphapapa/org-sidebar")
4282 (synopsis "Helpful sidebar for Org buffers")
4283 (description "This package provides a sidebar for Org buffers. At the
4284 top is a chronological list of scheduled and deadlined tasks in the current
4285 buffer (similar to the Org agenda ,but without all its features), and below
4286 that is a list of all other non-done to-do items. If the buffer is narrowed,
4287 the sidebar only shows items in the narrowed portion; this allows seeing an
4288 overview of tasks in a subtree.")
4289 (license license:gpl3+))))
4290
4291 (define-public emacs-org-trello
4292 (package
4293 (name "emacs-org-trello")
4294 (version "0.8.0")
4295 (source
4296 (origin
4297 (method git-fetch)
4298 (uri (git-reference
4299 (url "https://github.com/org-trello/org-trello.git")
4300 (commit version)))
4301 (file-name (git-file-name name version))
4302 (sha256
4303 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
4304 (build-system emacs-build-system)
4305 (propagated-inputs
4306 `(("emacs-dash" ,emacs-dash)
4307 ("emacs-deferred" ,emacs-deferred)
4308 ("emacs-f" ,emacs-f)
4309 ("emacs-helm" ,emacs-helm)
4310 ("emacs-request" ,emacs-request)
4311 ("emacs-s" ,emacs-s)))
4312 (home-page "https://org-trello.github.io")
4313 (synopsis "Emacs minor mode for interacting with Trello")
4314 (description "This package provides an Emacs minor mode to extend
4315 @code{org-mode} with Trello abilities. Trello is an online project
4316 organizer.")
4317 (license license:gpl3+)))
4318
4319 (define-public emacs-company-flow
4320 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4321 (revision "1"))
4322 (package
4323 (name "emacs-company-flow")
4324 (version (git-version "0.1.0" revision commit))
4325 (source (origin
4326 (method git-fetch)
4327 (uri (git-reference
4328 (url "https://github.com/aaronjensen/company-flow/")
4329 (commit commit)))
4330 (file-name (git-file-name name version))
4331 (sha256
4332 (base32
4333 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4334 (build-system emacs-build-system)
4335 (propagated-inputs
4336 `(("emacs-company" ,emacs-company)
4337 ("emacs-dash" ,emacs-dash)))
4338 (home-page "https://github.com/aaronjensen/company-flow/")
4339 (synopsis "Flow backend for @code{company-mode}")
4340 (description
4341 "This package provides completion for JavaScript files utilizing Flow.")
4342 (license license:gpl3+))))
4343
4344 (define-public emacs-atom-one-dark-theme
4345 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4346 (revision "0"))
4347 (package
4348 (name "emacs-atom-one-dark-theme")
4349 (version (git-version "0.4.0" revision commit))
4350 (source (origin
4351 (method git-fetch)
4352 (uri (git-reference
4353 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4354 (commit commit)))
4355 (sha256
4356 (base32
4357 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4358 (file-name (git-file-name name version))))
4359 (build-system emacs-build-system)
4360 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4361 (synopsis "Atom One Dark color theme for Emacs")
4362 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4363 (license license:gpl3+))))
4364
4365 (define-public emacs-zenburn-theme
4366 (package
4367 (name "emacs-zenburn-theme")
4368 (version "2.6")
4369 (source
4370 (origin
4371 (method git-fetch)
4372 (uri (git-reference
4373 (url "https://github.com/bbatsov/zenburn-emacs.git")
4374 (commit (string-append "v" version))))
4375 (file-name (git-file-name name version))
4376 (sha256
4377 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4378 (build-system emacs-build-system)
4379 (home-page "https://github.com/bbatsov/zenburn-emacs")
4380 (synopsis "Low contrast color theme for Emacs")
4381 (description
4382 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4383 It is built on top of the custom theme support in Emacs 24 or later.")
4384 (license license:gpl3+)))
4385
4386 (define-public emacs-moe-theme-el
4387 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4388 (version "1.0")
4389 (revision "1"))
4390 (package
4391 (name "emacs-moe-theme-el")
4392 (version (git-version version revision commit))
4393 (source
4394 (origin
4395 (method git-fetch)
4396 (uri (git-reference
4397 (url "https://github.com/kuanyui/moe-theme.el")
4398 (commit commit)))
4399 (file-name (git-file-name name version))
4400 (sha256
4401 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4402 (build-system emacs-build-system)
4403 (home-page "https://github.com/kuanyui/moe-theme.el")
4404 (synopsis "Anime-inspired color themes")
4405 (description
4406 "This package provides vibrant color schemes with light and dark
4407 variants.")
4408 (license license:gpl3+))))
4409
4410 (define-public emacs-solarized-theme
4411 (package
4412 (name "emacs-solarized-theme")
4413 (version "1.2.2")
4414 (source (origin
4415 (method url-fetch)
4416 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
4417 "archive/v" version ".tar.gz"))
4418 (file-name (string-append name "-" version ".tar.gz"))
4419 (sha256
4420 (base32
4421 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
4422 (build-system emacs-build-system)
4423 (propagated-inputs
4424 `(("emacs-dash" ,emacs-dash)))
4425 (home-page "https://github.com/bbatsov/solarized-emacs")
4426 (synopsis "Port of the Solarized theme for Emacs")
4427 (description
4428 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4429 package provides a light and a dark variant.")
4430 (license license:gpl3+)))
4431
4432 (define-public emacs-ahungry-theme
4433 (package
4434 (name "emacs-ahungry-theme")
4435 (version "1.10.0")
4436 (source
4437 (origin (method url-fetch)
4438 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4439 version ".tar"))
4440 (sha256
4441 (base32
4442 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4443 (build-system emacs-build-system)
4444 (home-page "https://github.com/ahungry/color-theme-ahungry")
4445 (synopsis "Ahungry color theme for Emacs")
4446 (description "Ahungry theme for Emacs provides bright and bold colors.
4447 If you load it from a terminal, you will be able to make use of the
4448 transparent background. If you load it from a GUI, it will default to a
4449 dark background.")
4450 (license license:gpl3+)))
4451
4452 (define-public emacs-gruvbox-theme
4453 (package
4454 (name "emacs-gruvbox-theme")
4455 (version "1.28.0")
4456 (source (origin
4457 (method git-fetch)
4458 (uri (git-reference
4459 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4460 (commit version)))
4461 (file-name (git-file-name name version))
4462 (sha256
4463 (base32
4464 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4465 (build-system emacs-build-system)
4466 (propagated-inputs
4467 `(("emacs-autothemer" ,emacs-autothemer)))
4468 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4469 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4470 (description
4471 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4472
4473 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4474 mode switching in the way of solarized. The main focus when developing gruvbox
4475 is to keep colors easily distinguishable, contrast enough and still pleasant
4476 for the eyes.")
4477 (license license:expat))) ; MIT license
4478
4479 (define-public emacs-2048-game
4480 (package
4481 (name "emacs-2048-game")
4482 (version "20151026.1233")
4483 (source
4484 (origin
4485 (method url-fetch)
4486 (uri (string-append "https://melpa.org/packages/2048-game-"
4487 version ".el"))
4488 (sha256
4489 (base32
4490 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4491 (build-system emacs-build-system)
4492 (home-page "https://bitbucket.org/zck/2048.el")
4493 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4494 (description
4495 "This program is an implementation of 2048 for Emacs.
4496 The goal of this game is to create a tile with value 2048. The size of the
4497 board and goal value can be customized.")
4498 (license license:gpl3+)))
4499
4500 (define-public emacs-base16-theme
4501 (package
4502 (name "emacs-base16-theme")
4503 (version "2.1")
4504 (source
4505 (origin
4506 (method url-fetch)
4507 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
4508 version ".tar"))
4509 (sha256
4510 (base32
4511 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
4512 (build-system emacs-build-system)
4513 (home-page "https://github.com/belak/base16-emacs")
4514 (synopsis "Base16 color themes for Emacs")
4515 (description
4516 "Base16 provides carefully chosen syntax highlighting and a default set
4517 of sixteen colors suitable for a wide range of applications. Base16 is not a
4518 single theme but a set of guidelines with numerous implementations.")
4519 (license license:expat)))
4520
4521 (define-public emacs-solaire-mode
4522 (package
4523 (name "emacs-solaire-mode")
4524 (version "1.0.9")
4525 (source
4526 (origin
4527 (method git-fetch)
4528 (uri (git-reference
4529 (url "https://github.com/hlissner/emacs-solaire-mode.git")
4530 (commit (string-append "v" version))))
4531 (file-name (git-file-name name version))
4532 (sha256
4533 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
4534 (build-system emacs-build-system)
4535 (home-page "https://github.com/hlissner/emacs-solaire-mode")
4536 (synopsis "Change background of file-visiting buffers in Emacs")
4537 (description
4538 "@code{solaire-mode} is inspired by editors which visually distinguish
4539 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
4540 background of file-visiting buffers (and certain aspects of the UI) to make
4541 them easier to distinguish from other, less important buffers.")
4542 (license license:expat)))
4543
4544 (define-public emacs-prescient
4545 (package
4546 (name "emacs-prescient")
4547 (version "3.2")
4548 (source (origin
4549 (method git-fetch)
4550 (uri (git-reference
4551 (url "https://github.com/raxod502/prescient.el/")
4552 (commit (string-append "v" version))))
4553 (file-name (git-file-name name version))
4554 (sha256
4555 (base32
4556 "0d60h4rfm5jcf8cf11z91wjqp0xcrviskqzyqhfliqvy2i2yl6ks"))))
4557 (build-system emacs-build-system)
4558 (propagated-inputs
4559 `(("emacs-company" ,emacs-company)
4560 ("emacs-ivy" ,emacs-ivy)))
4561 (home-page "https://github.com/raxod502/prescient.el/")
4562 (synopsis "Library that sorts and filters lists of candidates")
4563 (description
4564 "This package provides a library for sorting and filtering, as well as
4565 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
4566 library.")
4567 (license license:gpl3+)))
4568
4569 (define-public emacs-smartparens
4570 (package
4571 (name "emacs-smartparens")
4572 (version "1.11.0")
4573 (source
4574 (origin
4575 (method git-fetch)
4576 (uri (git-reference
4577 (url "https://github.com/Fuco1/smartparens.git")
4578 (commit version)))
4579 (file-name (git-file-name name version))
4580 (sha256
4581 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
4582 (build-system emacs-build-system)
4583 (propagated-inputs
4584 `(("emacs-dash" ,emacs-dash)
4585 ("emacs-markdown-mode" ,emacs-markdown-mode)))
4586 (home-page "https://github.com/Fuco1/smartparens")
4587 (synopsis "Paredit-like insertion, wrapping and navigation with user
4588 defined pairs")
4589 (description
4590 "Smartparens is a minor mode for Emacs that deals with parens pairs
4591 and tries to be smart about it. It started as a unification effort to
4592 combine functionality of several existing packages in a single,
4593 compatible and extensible way to deal with parentheses, delimiters, tags
4594 and the like. Some of these packages include autopair, textmate,
4595 wrap-region, electric-pair-mode, paredit and others. With the basic
4596 features found in other packages it also brings many improvements as
4597 well as completely new features.")
4598 (license license:gpl3+)))
4599
4600 (define-public emacs-highlight-symbol
4601 ;; We prefer a more recent commit that provides an option to squelch
4602 ;; echo-area alerts that can drown out useful information like eldoc
4603 ;; messages.
4604 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
4605 (version "1.3")
4606 (revision "1"))
4607 (package
4608 (name "emacs-highlight-symbol")
4609 (version (git-version version revision commit))
4610 (source
4611 (origin
4612 (method git-fetch)
4613 (uri (git-reference
4614 (url "https://github.com/nschum/highlight-symbol.el.git")
4615 (commit commit)))
4616 (file-name (git-file-name name version))
4617 (sha256
4618 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
4619 (build-system emacs-build-system)
4620 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
4621 (synopsis "Automatic and manual symbol highlighting for Emacs")
4622 (description
4623 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
4624 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
4625 the symbol at point highlighted.
4626
4627 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
4628 @code{highlight-symbol-next-in-defun} and
4629 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
4630 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
4631 bindings @code{M-p} and @code{M-p} for navigation. When
4632 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
4633 regardless of @code{highlight-symbol-idle-delay}.
4634
4635 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
4636 (license license:gpl2+))))
4637
4638 (define-public emacs-symbol-overlay
4639 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
4640 (revision "1"))
4641 (package
4642 (name "emacs-symbol-overlay")
4643 (version (git-version "4.1" revision commit))
4644 (source
4645 (origin
4646 (method git-fetch)
4647 (uri (git-reference
4648 (url "https://github.com/wolray/symbol-overlay.git")
4649 (commit commit)))
4650 (file-name (git-file-name name version))
4651 (sha256
4652 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
4653 (build-system emacs-build-system)
4654 (home-page "https://github.com/wolray/symbol-overlay")
4655 (synopsis "Highlight symbols and perform various search operations on them")
4656 (description
4657 "This package provides functions for highlighting and navigating
4658 between symbols.")
4659 (license license:gpl3+))))
4660
4661 (define-public emacs-hl-todo
4662 (package
4663 (name "emacs-hl-todo")
4664 (version "3.0.0")
4665 (source (origin
4666 (method git-fetch)
4667 (uri (git-reference
4668 (url "https://github.com/tarsius/hl-todo")
4669 (commit (string-append "v" version))))
4670 (file-name (git-file-name name version))
4671 (sha256
4672 (base32
4673 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
4674 (build-system emacs-build-system)
4675 (home-page "https://github.com/tarsius/hl-todo")
4676 (synopsis "Emacs mode to highlight TODO and similar keywords")
4677 (description
4678 "This package provides an Emacs mode to highlight TODO and similar
4679 keywords in comments and strings. This package also provides commands for
4680 moving to the next or previous keyword and to invoke @code{occur} with a
4681 regexp that matches all known keywords.")
4682 (license license:gpl3+)))
4683
4684 (define-public emacs-perspective
4685 (package
4686 (name "emacs-perspective")
4687 (version "2.2")
4688 (source
4689 (origin
4690 (method git-fetch)
4691 (uri (git-reference
4692 (url "https://github.com/nex3/perspective-el.git")
4693 (commit version)))
4694 (file-name (git-file-name name version))
4695 (sha256
4696 (base32
4697 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
4698 (build-system emacs-build-system)
4699 (home-page "https://github.com/nex3/perspective-el")
4700 (synopsis "Switch between named \"perspectives\"")
4701 (description
4702 "This package provides tagged workspaces in Emacs, similar to workspaces in
4703 windows managers such as Awesome and XMonad. @code{perspective.el} provides
4704 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
4705 perspective is composed of a window configuration and a set of buffers.
4706 Switching to a perspective activates its window configuration, and when in a
4707 perspective only its buffers are available by default.")
4708 ;; This package is released under the same license as Emacs (GPLv3+) or
4709 ;; the Expat license.
4710 (license license:gpl3+)))
4711
4712 (define-public emacs-test-simple
4713 (package
4714 (name "emacs-test-simple")
4715 (version "1.3.0")
4716 (source
4717 (origin
4718 (method url-fetch)
4719 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
4720 version ".el"))
4721 (sha256
4722 (base32
4723 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
4724 (build-system emacs-build-system)
4725 (home-page "https://github.com/rocky/emacs-test-simple")
4726 (synopsis "Simple unit test framework for Emacs Lisp")
4727 (description
4728 "Test Simple is a simple unit test framework for Emacs Lisp. It
4729 alleviates the need for context macros, enclosing specifications or required
4730 test tags. It supports both interactive and non-interactive use.")
4731 (license license:gpl3+)))
4732
4733 (define-public emacs-load-relative
4734 (package
4735 (name "emacs-load-relative")
4736 (version "1.3")
4737 (source
4738 (origin
4739 (method url-fetch)
4740 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
4741 version ".el"))
4742 (sha256
4743 (base32
4744 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
4745 (build-system emacs-build-system)
4746 (home-page "http://github.com/rocky/emacs-load-relative")
4747 (synopsis "Emacs Lisp relative file loading related functions")
4748 (description
4749 "Provides functions which facilitate writing multi-file Emacs packages
4750 and running from the source tree without having to \"install\" code or fiddle
4751 with @{load-path}.
4752
4753 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
4754 another (presumably currently running) Emacs Lisp file.")
4755 (license license:gpl3+)))
4756
4757 (define-public emacs-loc-changes
4758 (package
4759 (name "emacs-loc-changes")
4760 (version "1.2")
4761 (source
4762 (origin
4763 (method url-fetch)
4764 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
4765 version ".el"))
4766 (sha256
4767 (base32
4768 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
4769 (build-system emacs-build-system)
4770 (home-page "https://github.com/rocky/emacs-loc-changes")
4771 (synopsis "Keeps track of positions even after buffer changes")
4772 (description
4773 "This Emacs package provides a mean to track important buffer positions
4774 after buffer changes.")
4775 (license license:gpl3+)))
4776
4777 (define-public emacs-realgud
4778 (package
4779 (name "emacs-realgud")
4780 (version "1.5.0")
4781 (source
4782 (origin
4783 (method git-fetch)
4784 (uri (git-reference
4785 (url "https://github.com/realgud/realgud/")
4786 (commit version)))
4787 (sha256
4788 (base32
4789 "0xnick9016wxrgi8v0lycvxhyz8l2k4nfvdpjc5yq476vwrjfzbz"))
4790 (file-name (git-file-name name version))))
4791 (build-system emacs-build-system)
4792 (arguments
4793 `(#:tests? #t
4794 #:phases
4795 (modify-phases %standard-phases
4796 (add-after 'set-emacs-load-path 'fix-autogen-script
4797 (lambda _
4798 (substitute* "autogen.sh"
4799 (("./configure") "sh configure"))))
4800 (add-after 'fix-autogen-script 'autogen
4801 (lambda _
4802 (setenv "CONFIG_SHELL" "sh")
4803 (invoke "sh" "autogen.sh")))
4804 (add-after 'fix-autogen-script 'set-home
4805 (lambda _
4806 (setenv "HOME" (getenv "TMPDIR"))))
4807 (add-before 'patch-el-files 'remove-realgud-pkg.el
4808 (lambda _
4809 ;; FIXME: `patch-el-files' crashes on this file with error:
4810 ;; unable to locate "bashdb".
4811 (delete-file "./test/test-regexp-bashdb.el"))))
4812 #:include (cons* ".*\\.el$" %default-include)))
4813 (native-inputs
4814 `(("autoconf" ,autoconf)
4815 ("automake" ,automake)
4816 ("emacs-test-simple" ,emacs-test-simple)))
4817 (propagated-inputs
4818 `(("emacs-load-relative" ,emacs-load-relative)
4819 ("emacs-loc-changes" ,emacs-loc-changes)))
4820 (home-page "https://github.com/realgud/realgud/")
4821 (synopsis
4822 "Modular front-end for interacting with external debuggers")
4823 (description
4824 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
4825 with external debuggers. It integrates various debuggers such as gdb, pdb,
4826 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
4827 sources. Unlike GUD, it also supports running multiple debug sessions in
4828 parallel.")
4829 (license license:gpl3+)))
4830
4831 (define-public emacs-request
4832 (package
4833 (name "emacs-request")
4834 (version "0.3.1")
4835 (source (origin
4836 (method git-fetch)
4837 (uri (git-reference
4838 (url "https://github.com/tkf/emacs-request.git")
4839 (commit (string-append "v" version))))
4840 (file-name (git-file-name name version))
4841 (sha256
4842 (base32
4843 "0fhhd349l4iqkrjxqzpckfk2w45x2g4cccpm1dqzv9m49md1wphx"))))
4844 (build-system emacs-build-system)
4845 (propagated-inputs
4846 `(("emacs-deferred" ,emacs-deferred)))
4847 (home-page "https://github.com/tkf/emacs-request")
4848 (synopsis "Package for speaking HTTP in Emacs Lisp")
4849 (description "This package provides a HTTP request library with multiple
4850 backends. It supports url.el which is shipped with Emacs and the curl command
4851 line program.")
4852 (license license:gpl3+)))
4853
4854 (define-public emacs-rudel
4855 (package
4856 (name "emacs-rudel")
4857 (version "0.3.1")
4858 (source
4859 (origin
4860 (method url-fetch)
4861 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
4862 version ".tar"))
4863 (sha256
4864 (base32
4865 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
4866 (build-system emacs-build-system)
4867 (home-page "http://rudel.sourceforge.net/")
4868 (synopsis "Collaborative editing framework")
4869 (description
4870 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
4871 is to share buffers with other users in order to edit the contents of those
4872 buffers collaboratively. Rudel supports multiple backends to enable
4873 communication with other collaborative editors using different protocols,
4874 though currently Obby (for use with the Gobby editor) is the only
4875 fully-functional one.")
4876 (license license:gpl3+)))
4877
4878 (define-public emacs-hydra
4879 (package
4880 (name "emacs-hydra")
4881 (version "0.15.0")
4882 (source
4883 (origin
4884 (method git-fetch)
4885 (uri (git-reference
4886 (url "https://github.com/abo-abo/hydra")
4887 (commit version)))
4888 (file-name (git-file-name name version))
4889 (sha256
4890 (base32
4891 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
4892 (build-system emacs-build-system)
4893 (home-page "https://github.com/abo-abo/hydra")
4894 (synopsis "Make Emacs bindings that stick around")
4895 (description
4896 "This package can be used to tie related commands into a family of short
4897 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
4898 the prefixed binding), all the heads can be called in succession with only a
4899 short extension. Any binding that isn't the Hydra's head vanquishes the
4900 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
4901 serve its original purpose, calling the command assigned to it. This makes
4902 the Hydra very seamless; it's like a minor mode that disables itself
4903 automatically.")
4904 (license license:gpl3+)))
4905
4906 (define-public emacs-ivy
4907 ;; The latest release version introduced a new feature, swiper-isearch, that
4908 ;; generally works well but had some noticeable bugs; this later commit
4909 ;; includes fixes for several of them.
4910 (let ((commit "d3e4514fd72f217c704ae18afdf711bb9036a04d")
4911 (revision "1"))
4912 (package
4913 (name "emacs-ivy")
4914 (version (git-version "0.12.0" revision commit))
4915 (source
4916 (origin
4917 (method git-fetch)
4918 (uri (git-reference
4919 (url "https://github.com/abo-abo/swiper.git")
4920 (commit commit)))
4921 (file-name (git-file-name name version))
4922 (sha256
4923 (base32
4924 "142axxc6vsl14cfyvzj9csiykxdn7vhw88fy955hzx7av4qfqg4x"))))
4925 (build-system emacs-build-system)
4926 (arguments
4927 `(#:phases
4928 (modify-phases %standard-phases
4929 (add-after 'install 'install-doc
4930 (lambda* (#:key outputs #:allow-other-keys)
4931 (let* ((out (assoc-ref outputs "out"))
4932 (info (string-append out "/share/info")))
4933 (with-directory-excursion "doc"
4934 (invoke "makeinfo" "ivy.texi")
4935 (install-file "ivy.info" info)
4936 #t)))))))
4937 (propagated-inputs
4938 `(("emacs-hydra" ,emacs-hydra)))
4939 (native-inputs
4940 `(("texinfo" ,texinfo)))
4941 (home-page "http://oremacs.com/swiper/")
4942 (synopsis "Incremental vertical completion for Emacs")
4943 (description
4944 "This package provides @code{ivy-read} as an alternative to
4945 @code{completing-read} and similar functions. No attempt is made to determine
4946 the best candidate. Instead, the user can navigate candidates with
4947 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
4948 splitting the input text by spaces and re-building it into a regular
4949 expression.")
4950 (license license:gpl3+))))
4951
4952 (define-public emacs-ivy-pass
4953 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
4954 (revision "1"))
4955 (package
4956 (name "emacs-ivy-pass")
4957 (version (git-version "0.1" revision commit))
4958 (source
4959 (origin
4960 (method git-fetch)
4961 (uri (git-reference
4962 (url "https://github.com/ecraven/ivy-pass.git")
4963 (commit commit)))
4964 (file-name (git-file-name name version))
4965 (sha256
4966 (base32
4967 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
4968 (build-system emacs-build-system)
4969 (propagated-inputs
4970 `(("emacs-ivy" ,emacs-ivy)
4971 ("emacs-password-store" ,emacs-password-store)
4972 ("password-store" ,password-store)))
4973 (home-page "https://github.com/ecraven/ivy-pass")
4974 (synopsis "Ivy interface for password store (pass)")
4975 (description "This package provides an Ivy interface for working with
4976 the password store @code{pass}.")
4977 (license license:gpl3))))
4978
4979 (define-public emacs-ivy-yasnippet
4980 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
4981 (revision "2"))
4982 (package
4983 (name "emacs-ivy-yasnippet")
4984 (version (git-version "0.1" revision commit))
4985 (source
4986 (origin
4987 (method git-fetch)
4988 (uri (git-reference
4989 (url "https://github.com/mkcms/ivy-yasnippet.git")
4990 (commit commit)))
4991 (file-name (git-file-name name version))
4992 (sha256
4993 (base32
4994 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
4995 (build-system emacs-build-system)
4996 (propagated-inputs
4997 `(("emacs-ivy" ,emacs-ivy)
4998 ("emacs-yasnippet" ,emacs-yasnippet)
4999 ("emacs-dash" ,emacs-dash)))
5000 (home-page "https://github.com/mkcms/ivy-yasnippet")
5001 (synopsis "Preview @code{yasnippets} with @code{ivy}")
5002 (description "This package allows you to select @code{yasnippet}
5003 snippets using @code{ivy} completion. When current selection changes in the
5004 minibuffer, the snippet contents are temporarily expanded in the buffer. To
5005 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
5006 @code{yas-minor-mode} first).")
5007 (license license:gpl3+))))
5008
5009 (define-public emacs-ivy-rich
5010 ;; The latest release version has a small mistake that has since been fixed,
5011 ;; so we use a more recent commit.
5012 (let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08")
5013 (version "0.1.4")
5014 (revision "1"))
5015 (package
5016 (name "emacs-ivy-rich")
5017 (version (git-version version revision commit))
5018 (source
5019 (origin
5020 (method git-fetch)
5021 (uri (git-reference
5022 (url "https://github.com/Yevgnen/ivy-rich.git")
5023 (commit commit)))
5024 (file-name (git-file-name name version))
5025 (sha256
5026 (base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219"))))
5027 (build-system emacs-build-system)
5028 (propagated-inputs
5029 `(("emacs-ivy" ,emacs-ivy)))
5030 (home-page "https://github.com/Yevgnen/ivy-rich")
5031 (synopsis "More friendly interface for @code{ivy}")
5032 (description
5033 "This package extends @code{ivy} by showing more information in the
5034 minibuffer for each candidate. It adds columns showing buffer modes, file
5035 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
5036 show icons as well.")
5037 (license license:gpl3+))))
5038
5039 (define-public emacs-avy
5040 (package
5041 (name "emacs-avy")
5042 (version "0.5.0")
5043 (source
5044 (origin
5045 (method git-fetch)
5046 (uri (git-reference
5047 (url "https://github.com/abo-abo/avy.git")
5048 (commit version)))
5049 (file-name (git-file-name name version))
5050 (sha256
5051 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
5052 (build-system emacs-build-system)
5053 (home-page "https://github.com/abo-abo/avy")
5054 (synopsis "Tree-based completion for Emacs")
5055 (description
5056 "This package provides a generic completion method based on building a
5057 balanced decision tree with each candidate being a leaf. To traverse the tree
5058 from the root to a desired leaf, typically a sequence of @code{read-key} can
5059 be used.
5060
5061 In order for @code{read-key} to make sense, the tree needs to be visualized
5062 appropriately, with a character at each branch node. So this completion
5063 method works only for things that you can see on your screen, all at once,
5064 such as the positions of characters, words, line beginnings, links, or
5065 windows.")
5066 (license license:gpl3+)))
5067
5068 (define-public emacs-ace-window
5069 (package
5070 (name "emacs-ace-window")
5071 (version "0.9.0")
5072 (source
5073 (origin
5074 (method git-fetch)
5075 (uri (git-reference
5076 (url "https://github.com/abo-abo/ace-window.git")
5077 (commit version)))
5078 (file-name (git-file-name name version))
5079 (sha256
5080 (base32 "07mcdzjmgrqdvjs94f2n5bkrf5vrq2fwzz256wbm3wzqxqkfy1q6"))))
5081 (build-system emacs-build-system)
5082 (propagated-inputs
5083 `(("emacs-avy" ,emacs-avy)))
5084 (home-page "https://github.com/abo-abo/ace-window")
5085 (synopsis "Quickly switch windows in Emacs")
5086 (description
5087 "@code{ace-window} is meant to replace @code{other-window}.
5088 In fact, when there are only two windows present, @code{other-window} is
5089 called. If there are more, each window will have its first character
5090 highlighted. Pressing that character will switch to that window.")
5091 (license license:gpl3+)))
5092
5093 (define-public emacs-iedit
5094 (package
5095 (name "emacs-iedit")
5096 (version "0.9.9.9")
5097 (source
5098 (origin
5099 (method git-fetch)
5100 (uri (git-reference
5101 (url "https://github.com/victorhge/iedit.git")
5102 (commit (string-append "v" version))))
5103 (file-name (git-file-name name version))
5104 (sha256
5105 (base32 "1pwkrm98vlpzsy5iwwfksdaz3zzyi7bvdf5fglhsn4ssf47p787g"))))
5106 (build-system emacs-build-system)
5107 (home-page "http://www.emacswiki.org/emacs/Iedit")
5108 (synopsis "Edit multiple regions in the same way simultaneously")
5109 (description
5110 "This package is an Emacs minor mode and allows you to edit one
5111 occurrence of some text in a buffer (possibly narrowed) or region, and
5112 simultaneously have other occurrences edited in the same way.
5113
5114 You can also use Iedit mode as a quick way to temporarily show only the buffer
5115 lines that match the current text being edited. This gives you the effect of
5116 a temporary @code{keep-lines} or @code{occur}.")
5117 (license license:gpl3+)))
5118
5119 (define-public emacs-zoutline
5120 (package
5121 (name "emacs-zoutline")
5122 (version "0.2.0")
5123 (source
5124 (origin
5125 (method git-fetch)
5126 (uri (git-reference
5127 (url "https://github.com/abo-abo/zoutline")
5128 (commit version)))
5129 (sha256
5130 (base32
5131 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
5132 (file-name (git-file-name name version))))
5133 (build-system emacs-build-system)
5134 (home-page "https://github.com/abo-abo/zoutline")
5135 (synopsis "Simple outline library")
5136 (description
5137 "This library provides helpers for outlines. Outlines allow users to
5138 navigate code in a tree-like fashion.")
5139 (license license:gpl3+)))
5140
5141 (define-public emacs-lispy
5142 (package
5143 (name "emacs-lispy")
5144 (version "0.27.0")
5145 (home-page "https://github.com/abo-abo/lispy")
5146 (source (origin
5147 (method git-fetch)
5148 (uri (git-reference
5149 (url "https://github.com/abo-abo/lispy")
5150 (commit version)))
5151 (sha256
5152 (base32
5153 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
5154 (file-name (git-file-name name version))))
5155 (build-system emacs-build-system)
5156 (propagated-inputs
5157 `(("emacs-ace-window" ,emacs-ace-window)
5158 ("emacs-iedit" ,emacs-iedit)
5159 ("emacs-ivy" ,emacs-ivy)
5160 ("emacs-hydra" ,emacs-hydra)
5161 ("emacs-zoutline" ,emacs-zoutline)))
5162 (synopsis "Modal S-expression editing")
5163 (description
5164 "Due to the structure of Lisp syntax it's very rare for the programmer
5165 to want to insert characters right before \"(\" or right after \")\". Thus
5166 unprefixed printable characters can be used to call commands when the point is
5167 at one of these special locations. Lispy provides unprefixed keybindings for
5168 S-expression editing when point is at the beginning or end of an
5169 S-expression.")
5170 (license license:gpl3+)))
5171
5172 (define-public emacs-lispyville
5173 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
5174 (revision "1"))
5175 (package
5176 (name "emacs-lispyville")
5177 (version (git-version "0.1" revision commit))
5178 (home-page "https://github.com/noctuid/lispyville")
5179 (source (origin
5180 (method git-fetch)
5181 (uri (git-reference (url home-page) (commit commit)))
5182 (sha256
5183 (base32
5184 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
5185 (file-name (git-file-name name version))))
5186 (propagated-inputs
5187 `(("emacs-evil" ,emacs-evil)
5188 ("emacs-lispy" ,emacs-lispy)))
5189 (build-system emacs-build-system)
5190 (synopsis "Minor mode for integrating Evil with lispy")
5191 (description
5192 "LispyVille's main purpose is to provide a Lisp editing environment
5193 suited towards Evil users. It can serve as a minimal layer on top of lispy
5194 for better integration with Evil, but it does not require the use of lispy’s
5195 keybinding style. The provided commands allow for editing Lisp in normal
5196 state and will work even without lispy being enabled.")
5197 (license license:gpl3+))))
5198
5199 (define-public emacs-lpy
5200 (let ((commit "553d28f7b6523ae5d44d34852ab770b871b0b0ad")
5201 (version "0.1.0")
5202 (revision "1"))
5203 (package
5204 (name "emacs-lpy")
5205 (version (git-version version revision commit))
5206 (source
5207 (origin
5208 (method git-fetch)
5209 (uri (git-reference
5210 (url "https://github.com/abo-abo/lpy")
5211 (commit commit)))
5212 (sha256
5213 (base32
5214 "0kl9b3gga18cwv5cq4db8i6b7waj6mp3h2l7qjnp7wq6dpvwhn0i"))
5215 (file-name (git-file-name name version))))
5216 (propagated-inputs
5217 `(("emacs-zoutline" ,emacs-zoutline)
5218 ("emacs-lispy" ,emacs-lispy)))
5219 (build-system emacs-build-system)
5220 (home-page "https://github.com/abo-abo/lpy")
5221 (synopsis "Modal editing for Python")
5222 (description
5223 "This package provides a minor mode for Python that binds useful
5224 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
5225 circumstances, and leaves the keys untouched outside of those situations,
5226 allowing unprefixed keys to insert their respective characters as expected.")
5227 (license license:gpl3+))))
5228
5229 (define-public emacs-clojure-mode
5230 (package
5231 (name "emacs-clojure-mode")
5232 (version "5.6.1")
5233 (source
5234 (origin
5235 (method git-fetch)
5236 (uri (git-reference
5237 (url "https://github.com/clojure-emacs/clojure-mode.git")
5238 (commit version)))
5239 (file-name (git-file-name name version))
5240 (sha256
5241 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
5242 (build-system emacs-build-system)
5243 (native-inputs
5244 `(("emacs-dash" ,emacs-dash)
5245 ("emacs-s" ,emacs-s)
5246 ("ert-runner" ,emacs-ert-runner)))
5247 (arguments
5248 `(#:tests? #t
5249 #:test-command '("ert-runner")))
5250 (home-page "https://github.com/clojure-emacs/clojure-mode")
5251 (synopsis "Major mode for Clojure code")
5252 (description
5253 "This Emacs package provides font-lock, indentation, navigation and basic
5254 refactoring for the @uref{http://clojure.org, Clojure programming language}.
5255 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
5256 (license license:gpl3+)))
5257
5258 (define-public emacs-epl
5259 (package
5260 (name "emacs-epl")
5261 (version "0.8")
5262 (source
5263 (origin
5264 (method git-fetch)
5265 (uri (git-reference
5266 (url "https://github.com/cask/epl.git")
5267 (commit version)))
5268 (file-name (git-file-name name version))
5269 (sha256
5270 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
5271 (build-system emacs-build-system)
5272 (home-page "https://github.com/cask/epl")
5273 (synopsis "Emacs Package Library")
5274 (description
5275 "A package management library for Emacs, based on @code{package.el}.
5276
5277 The purpose of this library is to wrap all the quirks and hassle of
5278 @code{package.el} into a sane API.")
5279 (license license:gpl3+)))
5280
5281 (define-public emacs-counsel-projectile
5282 (package
5283 (name "emacs-counsel-projectile")
5284 (version "0.3.0")
5285 (source (origin
5286 (method git-fetch)
5287 (uri (git-reference
5288 (url "https://github.com/ericdanan/counsel-projectile")
5289 (commit version)))
5290 (file-name (git-file-name name version))
5291 (sha256
5292 (base32
5293 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
5294 (build-system emacs-build-system)
5295 (propagated-inputs
5296 `(("emacs-ivy" ,emacs-ivy)
5297 ("emacs-projectile" ,emacs-projectile)))
5298 (home-page "https://github.com/ericdanan/counsel-projectile")
5299 (synopsis "Enhance Projectile with Ivy")
5300 (description
5301 "This package uses Ivy to provide additional actions for Projectile
5302 commands and replacements for existing functions.")
5303 (license license:gpl3+)))
5304
5305 (define-public emacs-queue
5306 (package
5307 (name "emacs-queue")
5308 (version "0.2")
5309 (source (origin
5310 (method url-fetch)
5311 (uri (string-append "https://elpa.gnu.org/packages/queue-"
5312 version ".el"))
5313 (sha256
5314 (base32
5315 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
5316 (build-system emacs-build-system)
5317 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
5318 (synopsis "Queue data structure for Emacs")
5319 (description
5320 "This Emacs library provides queue data structure. These queues can be
5321 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
5322 stack, i.e. elements can be added to the front or back of the queue, and can
5323 be removed from the front. This type of data structure is sometimes called an
5324 \"output-restricted deque\".")
5325 (license license:gpl3+)))
5326
5327 (define-public emacs-pkg-info
5328 (package
5329 (name "emacs-pkg-info")
5330 (version "0.6")
5331 (source
5332 (origin
5333 (method git-fetch)
5334 (uri (git-reference
5335 (url "https://github.com/lunaryorn/pkg-info.el.git")
5336 (commit version)))
5337 (file-name (git-file-name name version))
5338 (sha256
5339 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
5340 (build-system emacs-build-system)
5341 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
5342 (home-page "https://github.com/lunaryorn/pkg-info.el")
5343 (synopsis "Information about Emacs packages")
5344 (description
5345 "This library extracts information from the installed Emacs packages.")
5346 (license license:gpl3+)))
5347
5348 (define-public emacs-spinner
5349 (package
5350 (name "emacs-spinner")
5351 (version "1.7.3")
5352 (source (origin
5353 (method url-fetch)
5354 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
5355 version ".el"))
5356 (sha256
5357 (base32
5358 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
5359 (build-system emacs-build-system)
5360 (home-page "https://github.com/Malabarba/spinner.el")
5361 (synopsis "Emacs mode-line spinner for operations in progress")
5362 (description
5363 "This Emacs package adds spinners and progress-bars to the mode-line for
5364 ongoing operations.")
5365 (license license:gpl3+)))
5366
5367 (define-public emacs-sparql-mode
5368 (package
5369 (name "emacs-sparql-mode")
5370 (version "2.0.1")
5371 (source
5372 (origin
5373 (method git-fetch)
5374 (uri (git-reference
5375 (url "https://github.com/ljos/sparql-mode.git")
5376 (commit (string-append "v" version))))
5377 (file-name (git-file-name name version))
5378 (sha256
5379 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
5380 (build-system emacs-build-system)
5381 (home-page "https://github.com/ljos/sparql-mode")
5382 (synopsis "SPARQL mode for Emacs")
5383 (description "This package provides a major mode for Emacs that provides
5384 syntax highlighting for SPARQL. It also provides a way to execute queries
5385 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
5386 possible to query other endpoints like DBPedia.")
5387 (license license:gpl3+)))
5388
5389 (define-public emacs-better-defaults
5390 (package
5391 (name "emacs-better-defaults")
5392 (version "0.1.3")
5393 (source
5394 (origin
5395 (method url-fetch)
5396 (uri (string-append "https://github.com/technomancy/better-defaults"
5397 "/archive/" version ".tar.gz"))
5398 (file-name (string-append name "-" version ".tar.gz"))
5399 (sha256
5400 (base32
5401 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
5402 (build-system emacs-build-system)
5403 (home-page "https://github.com/technomancy/better-defaults")
5404 (synopsis "Better defaults for Emacs")
5405 (description
5406 "Better defaults attempts to address the most obvious deficiencies of the
5407 Emacs default configuration in uncontroversial ways that nearly everyone can
5408 agree upon.")
5409 (license license:gpl3+)))
5410
5411 (define-public emacs-undohist-el
5412 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
5413 (revision "1"))
5414 (package
5415 (name "emacs-undohist-el")
5416 (version (git-version "0" revision commit))
5417 (source
5418 (origin
5419 (method git-fetch)
5420 (uri (git-reference
5421 (url "https://github.com/m2ym/undohist-el")
5422 (commit commit)))
5423 (file-name (git-file-name name version))
5424 (sha256
5425 (base32
5426 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
5427 (patches
5428 (search-patches "emacs-undohist-ignored.patch"))))
5429 (build-system emacs-build-system)
5430 (home-page "https://github.com/m2ym/undohist-el")
5431 (synopsis "Save undo history between sessions")
5432 (description "This package allows persistent use of undo history for
5433 individual file buffers.")
5434 (license license:gpl3+))))
5435
5436 (define-public emacs-eprime
5437 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
5438 (package
5439 (name "emacs-eprime")
5440 (version (string-append "20140513-" (string-take commit 7)))
5441 (source (origin
5442 (method url-fetch)
5443 (uri (string-append "https://raw.githubusercontent.com"
5444 "/AndrewHynes/eprime-mode/"
5445 commit "/eprime-mode.el"))
5446 (file-name (string-append "eprime-" version ".el"))
5447 (sha256
5448 (base32
5449 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
5450 (build-system emacs-build-system)
5451 (home-page "https://github.com/AndrewHynes/eprime-mode")
5452 (synopsis "E-prime checking mode for Emacs")
5453 (description "This package provides an E-prime checking mode for Emacs
5454 that highlights non-conforming text. The subset of the English language called
5455 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
5456 (license license:gpl3+))))
5457
5458 (define-public emacs-julia-mode
5459 ;; XXX: Upstream version remained stuck at 0.3. See
5460 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
5461 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
5462 (revision "1"))
5463 (package
5464 (name "emacs-julia-mode")
5465 (version (string-append "0.3-" revision "." (string-take commit 8)))
5466 (source
5467 (origin
5468 (method git-fetch)
5469 (uri (git-reference
5470 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
5471 (commit commit)))
5472 (file-name (git-file-name name version))
5473 (sha256
5474 (base32
5475 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
5476 (build-system emacs-build-system)
5477 (arguments
5478 `(#:tests? #t
5479 #:test-command '("emacs" "--batch"
5480 "-l" "julia-mode-tests.el"
5481 "-f" "ert-run-tests-batch-and-exit")))
5482 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
5483 (synopsis "Major mode for Julia")
5484 (description "This Emacs package provides a mode for the Julia
5485 programming language.")
5486 (license license:expat))))
5487
5488 (define-public emacs-smex
5489 (package
5490 (name "emacs-smex")
5491 (version "3.0")
5492 (source (origin
5493 (method url-fetch)
5494 (uri (string-append "https://raw.githubusercontent.com"
5495 "/nonsequitur/smex/" version "/smex.el"))
5496 (file-name (string-append "smex-" version ".el"))
5497 (sha256
5498 (base32
5499 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
5500 (build-system emacs-build-system)
5501 (home-page "https://github.com/nonsequitur/smex/")
5502 (synopsis "M-x interface with Ido-style fuzzy matching")
5503 (description
5504 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
5505 convenient interface to your recently and most frequently used commands. And
5506 to all the other commands, too.")
5507 (license license:gpl3+)))
5508
5509 (define-public emacs-js2-mode
5510 (package
5511 (name "emacs-js2-mode")
5512 (version "20190219")
5513 (source
5514 (origin
5515 (method git-fetch)
5516 (uri (git-reference
5517 (url "https://github.com/mooz/js2-mode.git")
5518 (commit version)))
5519 (file-name (git-file-name name version))
5520 (sha256
5521 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
5522 (build-system emacs-build-system)
5523 (home-page "https://github.com/mooz/js2-mode/")
5524 (synopsis "Improved JavaScript editing mode for Emacs")
5525 (description
5526 "Js2-mode provides a JavaScript major mode for Emacs that is more
5527 advanced than the built-in javascript-mode. Features include accurate syntax
5528 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
5529 errors and strict-mode warnings, smart line-wrapping within comments and
5530 strings, and code folding.")
5531 (license license:gpl3+)))
5532
5533 (define-public emacs-nodejs-repl
5534 (package
5535 (name "emacs-nodejs-repl")
5536 (version "0.2.2")
5537 (source (origin
5538 (method git-fetch)
5539 (uri (git-reference
5540 (url "https://github.com/abicky/nodejs-repl.el")
5541 (commit version)))
5542 (file-name (git-file-name name version))
5543 (sha256
5544 (base32
5545 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
5546 (build-system emacs-build-system)
5547 (home-page "https://github.com/abicky/nodejs-repl.el")
5548 (synopsis "Node.js REPL inside Emacs")
5549 (description
5550 "This program is derived from comint-mode and provides the following
5551 features:
5552
5553 @itemize
5554 @item TAB completion same as Node.js REPL
5555 @item file name completion in string
5556 @item incremental history search
5557 @end itemize")
5558 (license license:gpl3+)))
5559
5560 (define-public emacs-typescript-mode
5561 (package
5562 (name "emacs-typescript-mode")
5563 (version "0.3")
5564 (source (origin
5565 (method git-fetch)
5566 (uri (git-reference
5567 (url "https://github.com/ananthakumaran/typescript.el")
5568 (commit (string-append "v" version))))
5569 (file-name (git-file-name name version))
5570 (sha256
5571 (base32
5572 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
5573 (build-system emacs-build-system)
5574 (home-page "https://github.com/ananthakumaran/typescript.el")
5575 (synopsis "Emacs major mode for editing Typescript code")
5576 (description
5577 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
5578 This is much more robust and works with @code{cc-mode}'s comment
5579 filling (mostly). The modifications to the original @code{javascript.el} mode
5580 mainly consisted in replacing \"javascript\" with \"typescript\"
5581
5582 The main features of this Typescript mode are syntactic highlighting (enabled
5583 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
5584 indentation and filling of comments and C preprocessor fontification.")
5585 (license license:gpl3+)))
5586
5587 (define-public emacs-tide
5588 (package
5589 (name "emacs-tide")
5590 (version "3.2.3")
5591 (source (origin
5592 (method git-fetch)
5593 (uri (git-reference
5594 (url "https://github.com/ananthakumaran/tide")
5595 (commit (string-append "v" version))))
5596 (file-name (git-file-name name version))
5597 (sha256
5598 (base32
5599 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
5600 (build-system emacs-build-system)
5601 (propagated-inputs
5602 `(("emacs-dash" ,emacs-dash)
5603 ("emacs-s" ,emacs-s)
5604 ("emacs-flycheck" ,emacs-flycheck)
5605 ("emacs-typescript-mode" ,emacs-typescript-mode)))
5606 (home-page "https://github.com/ananthakumaran/tide")
5607 (synopsis "Typescript IDE for Emacs")
5608 (description
5609 "Tide is an Interactive Development Environment (IDE) for Emacs which
5610 provides the following features:
5611
5612 @itemize
5613 @item ElDoc
5614 @item Auto complete
5615 @item Flycheck
5616 @item Jump to definition, Jump to type definition
5617 @item Find occurrences
5618 @item Rename symbol
5619 @item Imenu
5620 @item Compile On Save
5621 @item Highlight Identifiers
5622 @item Code Fixes
5623 @item Code Refactor
5624 @item Organize Imports
5625 @end itemize")
5626 (license license:gpl3+)))
5627
5628 (define-public emacs-markdown-mode
5629 (package
5630 (name "emacs-markdown-mode")
5631 (version "2.3")
5632 (source (origin
5633 (method url-fetch)
5634 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
5635 "/markdown-mode/v" version
5636 "/markdown-mode.el"))
5637 (file-name (string-append "markdown-mode-" version ".el"))
5638 (sha256
5639 (base32
5640 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
5641 (build-system emacs-build-system)
5642 (home-page "http://jblevins.org/projects/markdown-mode/")
5643 (synopsis "Emacs Major mode for Markdown files")
5644 (description
5645 "Markdown-mode is a major mode for editing Markdown-formatted text files
5646 in Emacs.")
5647 (license license:gpl3+)))
5648
5649 (define-public emacs-edit-indirect
5650 (package
5651 (name "emacs-edit-indirect")
5652 (version "0.1.5")
5653 (source
5654 (origin
5655 (method git-fetch)
5656 (uri (git-reference
5657 (url "https://github.com/Fanael/edit-indirect")
5658 (commit version)))
5659 (file-name (git-file-name name version))
5660 (sha256
5661 (base32
5662 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
5663 (build-system emacs-build-system)
5664 (home-page "https://github.com/Fanael/edit-indirect")
5665 (synopsis "Edit regions in separate buffers")
5666 (description "This package allows you to edit regions in separate buffers,
5667 like @code{org-edit-src-code} but for arbitrary regions.")
5668 (license license:gpl3+)))
5669
5670 (define-public emacs-projectile
5671 (package
5672 (name "emacs-projectile")
5673 (version "2.0.0")
5674 (source (origin
5675 (method url-fetch)
5676 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
5677 "/projectile/v" version "/projectile.el"))
5678 (file-name (string-append "projectile-" version ".el"))
5679 (sha256
5680 (base32
5681 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
5682 (build-system emacs-build-system)
5683 (propagated-inputs
5684 `(("emacs-dash" ,emacs-dash)
5685 ("emacs-pkg-info" ,emacs-pkg-info)))
5686 (home-page "https://github.com/bbatsov/projectile")
5687 (synopsis "Manage and navigate projects in Emacs easily")
5688 (description
5689 "This library provides easy project management and navigation. The
5690 concept of a project is pretty basic - just a folder containing special file.
5691 Currently git, mercurial and bazaar repos are considered projects by default.
5692 If you want to mark a folder manually as a project just create an empty
5693 .projectile file in it.")
5694 (license license:gpl3+)))
5695
5696 (define-public emacs-elfeed
5697 (package
5698 (name "emacs-elfeed")
5699 (version "3.1.0")
5700 (source
5701 (origin
5702 (method git-fetch)
5703 (uri (git-reference
5704 (url "https://github.com/skeeto/elfeed.git")
5705 (commit version)))
5706 (file-name (git-file-name name version))
5707 (sha256
5708 (base32 "1bzpl6lc7kq9bph4bfz1fn19207blrnhjr2g7yinhn0nnnjmxi8i"))))
5709 (build-system emacs-build-system)
5710 (arguments
5711 `(#:tests? #t
5712 #:test-command '("make" "test")))
5713 (home-page "https://github.com/skeeto/elfeed")
5714 (synopsis "Atom/RSS feed reader for Emacs")
5715 (description
5716 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
5717 and RSS, with a user interface inspired by notmuch.")
5718 (license license:gpl3+)))
5719
5720 (define-public emacs-elfeed-org
5721 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
5722 (package
5723 (name "emacs-elfeed-org")
5724 (version (git-version "0.1" "1" commit))
5725 (source
5726 (origin
5727 (method git-fetch)
5728 (uri (git-reference
5729 (url "https://github.com/remyhonig/elfeed-org.git")
5730 (commit commit)))
5731 (file-name (git-file-name name version))
5732 (sha256
5733 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
5734 (build-system emacs-build-system)
5735 (propagated-inputs
5736 `(("emacs-elfeed" ,emacs-elfeed)
5737 ("emacs-org" ,emacs-org)
5738 ("emacs-dash" ,emacs-dash)
5739 ("emacs-s" ,emacs-s)))
5740 (native-inputs
5741 `(("ert-runner" ,emacs-ert-runner)
5742 ("emacs-xtest" ,emacs-xtest)))
5743 (arguments
5744 `(#:tests? #t
5745 #:test-command '("ert-runner" "-L" "org-mode/lisp")
5746 #:phases
5747 (modify-phases %standard-phases
5748 (add-before 'check 'chmod
5749 (lambda _
5750 (chmod "test/fixture-mark-feed-ignore.org" #o644)
5751 #t)))))
5752 (home-page "https://github.com/remyhonig/elfeed-org")
5753 (synopsis "Configure Elfeed with an Org-mode file")
5754 (description
5755 "@code{elfeed-org} lets you manage your Elfeed subscriptions
5756 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
5757 the regular flat list, where there is no hierarchy and tag names are
5758 duplicated a lot. Org-mode makes the book keeping of tags and feeds
5759 much easier.")
5760 (license license:gpl3+))))
5761
5762 (define-public emacs-el-x
5763 (package
5764 (name "emacs-el-x")
5765 (version "0.3.1")
5766 (source (origin
5767 (method git-fetch)
5768 (uri (git-reference
5769 (url "https://github.com/sigma/el-x.git")
5770 (commit (string-append "v" version))))
5771 (file-name (git-file-name name version))
5772 (sha256
5773 (base32
5774 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
5775 (build-system emacs-build-system)
5776 (arguments
5777 `(#:phases
5778 (modify-phases %standard-phases
5779 ;; Move the source files to the top level, which is included in
5780 ;; the EMACSLOADPATH.
5781 (add-after 'unpack 'move-source-files
5782 (lambda _
5783 (let ((el-files (find-files "./lisp" ".*\\.el$")))
5784 (for-each (lambda (f)
5785 (rename-file f (basename f)))
5786 el-files))
5787 #t)))))
5788 (home-page "https://github.com/sigma/el-x")
5789 (synopsis "Emacs Lisp extensions")
5790 (description "command@{emacs-el-x} defines the @code{dflet} macro to
5791 provide the historic behavior of @code{flet}, as well as
5792 @code{declare-function} stub for older Emacs.")
5793 (license license:gpl2+)))
5794
5795 (define-public emacs-mocker
5796 (package
5797 (name "emacs-mocker")
5798 (version "0.3.1")
5799 (source (origin
5800 (method git-fetch)
5801 (uri (git-reference
5802 (url "https://github.com/sigma/mocker.el.git")
5803 (commit (string-append "v" version))))
5804 (file-name (git-file-name name version))
5805 (sha256
5806 (base32
5807 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
5808 (build-system emacs-build-system)
5809 (arguments
5810 `(#:tests? #t
5811 #:test-command '("ert-runner")))
5812 (native-inputs
5813 `(("ert-runner" ,emacs-ert-runner)))
5814 (propagated-inputs
5815 `(("emacs-el-x" ,emacs-el-x)))
5816 (home-page "https://github.com/sigma/mocker.el")
5817 (synopsis "Mocking framework for Emacs Lisp")
5818 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
5819 It uses regular Lisp rather than a domain specific language (DSL), which
5820 maximizes flexibility (at the expense of conciseness).")
5821 (license license:gpl2+)))
5822
5823 (define-public emacs-find-file-in-project
5824 (package
5825 (name "emacs-find-file-in-project")
5826 (version "5.4.7")
5827 (source (origin
5828 (method git-fetch)
5829 (uri (git-reference
5830 (url "https://github.com/technomancy/find-file-in-project.git")
5831 (commit version)))
5832 (file-name (git-file-name name version))
5833 (sha256
5834 (base32
5835 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
5836 (build-system emacs-build-system)
5837 (arguments
5838 `(#:phases
5839 (modify-phases %standard-phases
5840 (add-before 'check 'set-shell
5841 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
5842 ;; work.
5843 (lambda _
5844 (setenv "SHELL" (which "sh"))
5845 #t)))
5846 #:tests? #t
5847 #:test-command '("./tests/test.sh")))
5848 (home-page "https://github.com/technomancy/find-file-in-project")
5849 (synopsis "File/directory finder for Emacs")
5850 (description "@code{find-file-in-project} allows to find files or
5851 directories quickly in the current project. The project root is detected
5852 automatically when Git, Subversion or Mercurial are used. It also provides
5853 functions to assist in reviewing changes on files.")
5854 (license license:gpl3+)))
5855
5856 (define-public emacs-pyvenv
5857 (package
5858 (name "emacs-pyvenv")
5859 (version "1.20")
5860 (source (origin
5861 (method git-fetch)
5862 (uri (git-reference
5863 (url "https://github.com/jorgenschaefer/pyvenv.git")
5864 (commit (string-append "v" version))))
5865 (file-name (git-file-name name version))
5866 (sha256
5867 (base32
5868 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
5869 (build-system emacs-build-system)
5870 (arguments
5871 `(#:phases
5872 (modify-phases %standard-phases
5873 ;; This phase incorrectly attempts to substitute "activate" and fails
5874 ;; doing so.
5875 (delete 'patch-el-files))
5876 #:tests? #t
5877 #:test-command '("ert-runner")))
5878 (native-inputs
5879 `(("ert-runner" ,emacs-ert-runner)
5880 ("emacs-mocker" ,emacs-mocker)))
5881 (home-page "https://github.com/jorgenschaefer/pyvenv")
5882 (synopsis "Python virtual environment interface for Emacs")
5883 (description "pyvenv.el is a minor mode to support using Python virtual
5884 environments (virtualenv) inside Emacs.")
5885 (license license:gpl3+)))
5886
5887 (define-public emacs-highlight-indentation
5888 ;; Last release version is from 2015.
5889 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
5890 (revision "1"))
5891 (package
5892 (name "emacs-highlight-indentation")
5893 (version (git-version "0.7.0" revision commit))
5894 (source
5895 (origin
5896 (method git-fetch)
5897 (uri (git-reference
5898 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
5899 (commit commit)))
5900 (file-name (git-file-name name version))
5901 (sha256
5902 (base32
5903 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
5904 (build-system emacs-build-system)
5905 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
5906 (synopsis "Highlighting indentation for Emacs")
5907 (description "This package provides two minor modes to highlight
5908 indentation guides in Emacs:
5909
5910 @enumerate
5911 @item @code{highlight-indentation-mode}, which displays guidelines
5912 indentation (space indentation only).
5913 @item @code{highlight-indentation-current-column-mode}, which displays
5914 guidelines for the current-point indentation (space indentation only).
5915 @end enumerate")
5916 (license license:gpl2+))))
5917
5918 (define-public emacs-elpy
5919 (package
5920 (name "emacs-elpy")
5921 (version "1.28.0")
5922 (source (origin
5923 (method git-fetch)
5924 (uri (git-reference
5925 (url "https://github.com/jorgenschaefer/elpy.git")
5926 (commit version)))
5927 (file-name (git-file-name name version))
5928 (sha256
5929 (base32
5930 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
5931 (build-system emacs-build-system)
5932 (arguments
5933 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
5934 #:phases
5935 ;; TODO: Make `elpy-config' display Guix commands :)
5936 (modify-phases %standard-phases
5937 ;; One elpy test depends on being run inside a Python virtual
5938 ;; environment to pass. We have nothing to gain from doing so here,
5939 ;; so we just trick Elpy into thinking we are (see:
5940 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
5941 (add-before 'check 'fake-virtualenv
5942 (lambda _
5943 (setenv "VIRTUAL_ENV" "/tmp")
5944 #t))
5945 (add-before 'check 'build-doc
5946 (lambda _
5947 (with-directory-excursion "docs"
5948 (invoke "make" "info" "man"))
5949 ;; Move .info file at the root so that it can installed by the
5950 ;; 'move-doc phase.
5951 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
5952 #t))
5953 (add-after 'build-doc 'install-manpage
5954 (lambda* (#:key outputs #:allow-other-keys)
5955 (let* ((out (assoc-ref outputs "out"))
5956 (man1 (string-append out "/share/man/man1")))
5957 (mkdir-p man1)
5958 (copy-file "docs/_build/man/elpy.1"
5959 (string-append man1 "/elpy.1")))
5960 #t)))
5961 #:tests? #t
5962 #:test-command '("ert-runner")))
5963 (propagated-inputs
5964 `(("emacs-company" ,emacs-company)
5965 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
5966 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
5967 ("emacs-yasnippet" ,emacs-yasnippet)
5968 ("pyvenv" ,emacs-pyvenv)
5969 ("s" ,emacs-s)))
5970 (native-inputs
5971 `(("ert-runner" ,emacs-ert-runner)
5972 ("emacs-f" ,emacs-f)
5973 ("python" ,python-wrapper)
5974 ("python-autopep8" ,python-autopep8)
5975 ("python-black" ,python-black)
5976 ("python-flake8" ,python-flake8)
5977 ("python-jedi" ,python-jedi)
5978 ("python-yapf" ,python-yapf)
5979 ;; For documentation.
5980 ("python-sphinx" ,python-sphinx)
5981 ("texinfo" ,texinfo)))
5982 (home-page "https://github.com/jorgenschaefer/elpy")
5983 (synopsis "Python development environment for Emacs")
5984 (description "Elpy brings powerful Python editing to Emacs. It combines
5985 and configures a number of other packages written in Emacs Lisp as well as
5986 Python, together offering features such as navigation, documentation,
5987 completion, interactive development and more.")
5988 (license license:gpl3+)))
5989
5990 (define-public emacs-rainbow-delimiters
5991 (package
5992 (name "emacs-rainbow-delimiters")
5993 (version "2.1.3")
5994 (source (origin
5995 (method url-fetch)
5996 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5997 "/rainbow-delimiters/" version
5998 "/rainbow-delimiters.el"))
5999 (file-name (string-append "rainbow-delimiters-" version ".el"))
6000 (sha256
6001 (base32
6002 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
6003 (build-system emacs-build-system)
6004 (home-page "https://github.com/Fanael/rainbow-delimiters")
6005 (synopsis "Highlight brackets according to their depth")
6006 (description
6007 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
6008 highlights parentheses, brackets, and braces according to their depth. Each
6009 successive level is highlighted in a different color, making it easy to spot
6010 matching delimiters, orient yourself in the code, and tell which statements
6011 are at a given level.")
6012 (license license:gpl3+)))
6013
6014 (define-public emacs-rainbow-identifiers
6015 (package
6016 (name "emacs-rainbow-identifiers")
6017 (version "0.2.2")
6018 (source (origin
6019 (method url-fetch)
6020 (uri (string-append "https://raw.githubusercontent.com/Fanael"
6021 "/rainbow-identifiers/" version
6022 "/rainbow-identifiers.el"))
6023 (file-name (string-append "rainbow-identifiers-" version ".el"))
6024 (sha256
6025 (base32
6026 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
6027 (build-system emacs-build-system)
6028 (home-page "https://github.com/Fanael/rainbow-identifiers")
6029 (synopsis "Highlight identifiers in source code")
6030 (description
6031 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
6032 identifiers based on their names. Each identifier gets a color based on a hash
6033 of its name.")
6034 (license license:bsd-2)))
6035
6036 (define-public emacs-rainbow-mode
6037 (package
6038 (name "emacs-rainbow-mode")
6039 (version "1.0.1")
6040 (source (origin
6041 (method url-fetch)
6042 (uri (string-append
6043 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
6044 (sha256
6045 (base32
6046 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
6047 (build-system emacs-build-system)
6048 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
6049 (synopsis "Colorize color names in buffers")
6050 (description
6051 "This minor mode sets background color to strings that match color
6052 names, e.g. #0000ff is displayed in white with a blue background.")
6053 (license license:gpl3+)))
6054
6055 (define-public emacs-visual-fill-column
6056 (package
6057 (name "emacs-visual-fill-column")
6058 (version "1.11")
6059 (source (origin
6060 (method url-fetch)
6061 (uri (string-append "https://codeload.github.com/joostkremers/"
6062 "visual-fill-column/tar.gz/" version))
6063 (file-name (string-append name "-" version ".tar.gz"))
6064 (sha256
6065 (base32
6066 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
6067 (build-system emacs-build-system)
6068 (home-page "https://github.com/joostkremers/visual-fill-column")
6069 (synopsis "Fill-column for visual-line-mode")
6070 (description
6071 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
6072 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
6073 wrapping lines at the window edge, which is the standard behaviour of
6074 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
6075 @code{fill-column} is too large for the window, the text is wrapped at the
6076 window edge.")
6077 (license license:gpl3+)))
6078
6079 (define-public emacs-writeroom
6080 (package
6081 (name "emacs-writeroom")
6082 (version "3.7")
6083 (source
6084 (origin
6085 (method git-fetch)
6086 (uri (git-reference
6087 (url "https://github.com/joostkremers/writeroom-mode.git")
6088 (commit version)))
6089 (file-name (git-file-name name version))
6090 (sha256
6091 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
6092 (build-system emacs-build-system)
6093 (propagated-inputs
6094 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
6095 (home-page "https://github.com/joostkremers/writeroom-mode")
6096 (synopsis "Distraction-free writing for Emacs")
6097 (description
6098 "This package defines a minor mode for distraction-free writing. Some of
6099 the default effects include entering fullscreen, deleting other windows of the
6100 current frame, disabling the mode line, and adding margins to the buffer that
6101 restrict the text width to 80 characters.")
6102 (license license:bsd-3)))
6103
6104 (define-public emacs-ido-completing-read+
6105 (package
6106 (name "emacs-ido-completing-read+")
6107 (version "3.12")
6108 (source (origin
6109 (method url-fetch)
6110 (uri (string-append "https://raw.githubusercontent.com"
6111 "/DarwinAwardWinner/ido-ubiquitous/v"
6112 version "/ido-completing-read+.el"))
6113 (file-name (string-append "ido-completing-read+-" version ".el"))
6114 (sha256
6115 (base32
6116 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
6117 (build-system emacs-build-system)
6118 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6119 (synopsis "Replacement for completing-read using ido")
6120 (description
6121 "The ido-completing-read+ function is a wrapper for ido-completing-read.
6122 Importantly, it detects edge cases that ordinary ido cannot handle and either
6123 adjusts them so ido can handle them, or else simply falls back to the standard
6124 Emacs completion function instead.")
6125 (license license:gpl3+)))
6126
6127 (define-public emacs-ido-ubiquitous
6128 (package
6129 (name "emacs-ido-ubiquitous")
6130 (version "3.12")
6131 (source (origin
6132 (method url-fetch)
6133 (uri (string-append "https://raw.githubusercontent.com"
6134 "/DarwinAwardWinner/ido-ubiquitous/v"
6135 version "/ido-ubiquitous.el"))
6136 (file-name (string-append "ido-ubiquitous-" version ".el"))
6137 (sha256
6138 (base32
6139 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
6140 (build-system emacs-build-system)
6141 (propagated-inputs
6142 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
6143 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6144 (synopsis "Use ido (nearly) everywhere")
6145 (description
6146 "Ido-ubiquitous enables ido-style completion for almost every function
6147 that uses the standard completion function completing-read.")
6148 (license license:gpl3+)))
6149
6150 (define-public emacs-yaml-mode
6151 (package
6152 (name "emacs-yaml-mode")
6153 (version "0.0.13")
6154 (source (origin
6155 (method url-fetch)
6156 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
6157 "/yaml-mode/v" version "/yaml-mode.el"))
6158 (file-name (string-append "yaml-mode-" version ".el"))
6159 (sha256
6160 (base32
6161 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
6162 (build-system emacs-build-system)
6163 (home-page "https://github.com/yoshiki/yaml-mode")
6164 (synopsis "Major mode for editing YAML files")
6165 (description
6166 "Yaml-mode is an Emacs major mode for editing files in the YAML data
6167 serialization format. It was initially developed by Yoshiki Kurihara and many
6168 features were added by Marshall Vandegrift. As YAML and Python share the fact
6169 that indentation determines structure, this mode provides indentation and
6170 indentation command behavior very similar to that of python-mode.")
6171 (license license:gpl3+)))
6172
6173 (define-public emacs-gitlab-ci-mode
6174 (package
6175 (name "emacs-gitlab-ci-mode")
6176 (version "20190425.11.10")
6177 (source (origin
6178 (method git-fetch)
6179 (uri (git-reference
6180 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
6181 (commit (string-append "v" version))))
6182 (file-name (git-file-name name version))
6183 (sha256
6184 (base32
6185 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
6186 (build-system emacs-build-system)
6187 (propagated-inputs
6188 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
6189 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
6190 (synopsis "Emacs mode for editing GitLab CI files")
6191 (description
6192 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
6193 files. It provides syntax highlighting and completion for keywords and
6194 special variables. An interface to GitLab’s CI file linter is also provided
6195 via @code{gitlab-ci-lint}.")
6196 (license license:gpl3+)))
6197
6198 (define-public emacs-web-mode
6199 (package
6200 (name "emacs-web-mode")
6201 (version "16")
6202 (source (origin
6203 (method url-fetch)
6204 (uri (string-append "https://raw.githubusercontent.com/fxbois"
6205 "/web-mode/v" version "/web-mode.el"))
6206 (file-name (string-append "web-mode-" version ".el"))
6207 (sha256
6208 (base32
6209 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
6210 (build-system emacs-build-system)
6211 (synopsis "Major mode for editing web templates")
6212 (description "Web-mode is an Emacs major mode for editing web templates
6213 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
6214 client/server side engines). Web-mode is compatible with many template
6215 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
6216 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
6217 Dust.js, React/JSX, Angularjs, ejs, etc.")
6218 (home-page "http://web-mode.org/")
6219 (license license:gpl3+)))
6220
6221 (define-public emacs-wgrep
6222 (package
6223 (name "emacs-wgrep")
6224 (version "2.3.0")
6225 (source (origin
6226 (method git-fetch)
6227 (uri (git-reference
6228 (url "https://github.com/mhayashi1120/Emacs-wgrep")
6229 (commit version)))
6230 (file-name (git-file-name name version))
6231 (sha256
6232 (base32
6233 "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"))))
6234 (build-system emacs-build-system)
6235 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
6236 (synopsis "Edit a grep buffer and apply those changes to the files")
6237 (description
6238 "Emacs wgrep allows you to edit a grep buffer and apply those changes
6239 to the file buffer. Several backends are supported beside the classic grep:
6240 ack, ag, helm and pt.")
6241 (license license:gpl3+)))
6242
6243 (define-public emacs-helm
6244 (package
6245 (name "emacs-helm")
6246 (version "3.3")
6247 (source
6248 (origin
6249 (method git-fetch)
6250 (uri (git-reference
6251 (url "https://github.com/emacs-helm/helm.git")
6252 (commit (string-append "v" version))))
6253 (file-name (git-file-name name version))
6254 (sha256
6255 (base32 "0fqhw7r9fcsja5d3pgbipw7pkw9nj534faav6hi45413hc3gyv92"))))
6256 (build-system emacs-build-system)
6257 (propagated-inputs
6258 `(("emacs-async" ,emacs-async)
6259 ("emacs-popup" ,emacs-popup)))
6260 (home-page "https://emacs-helm.github.io/helm/")
6261 (synopsis "Incremental completion and selection narrowing
6262 framework for Emacs")
6263 (description "Helm is incremental completion and selection narrowing
6264 framework for Emacs. It will help steer you in the right direction when
6265 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
6266 of @code{anything.el} originally written by Tamas Patrovic and can be
6267 considered to be its successor. Helm sets out to clean up the legacy code in
6268 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
6269 not tied in the trap of backward compatibility.")
6270 (license license:gpl3+)))
6271
6272 (define-public emacs-helm-swoop
6273 (package
6274 (name "emacs-helm-swoop")
6275 (version "2.0.0")
6276 (source
6277 (origin
6278 (method git-fetch)
6279 (uri (git-reference
6280 (url "https://github.com/emacsorphanage/helm-swoop.git")
6281 (commit version)))
6282 (file-name (git-file-name name version))
6283 (sha256
6284 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
6285 (build-system emacs-build-system)
6286 (propagated-inputs
6287 `(("emacs-helm" ,emacs-helm)))
6288 (home-page "https://github.com/emacsorphanage/helm-swoop")
6289 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
6290 (description
6291 "This package builds on the Helm interface to provide several commands
6292 for search-based navigation of buffers.")
6293 (license license:gpl2+)))
6294
6295 (define-public emacs-helm-ag
6296 (let ((commit "2fc02c4ead29bf0db06fd70740cc7c364cb650ac")
6297 (revision "1"))
6298 (package
6299 (name "emacs-helm-ag")
6300 (version "0.58")
6301 (source
6302 (origin
6303 (method git-fetch)
6304 (uri (git-reference
6305 (url "https://github.com/syohex/emacs-helm-ag.git")
6306 (commit commit)))
6307 (file-name (git-file-name name version))
6308 (sha256
6309 (base32 "1gnn0byywbld6afcq1vp92cjvy4wlag9d1wgymnqn86c3b1bcf21"))))
6310 (build-system emacs-build-system)
6311 (propagated-inputs
6312 `(("emacs-helm" ,emacs-helm)))
6313 (home-page "https://github.com/syohex/emacs-helm-ag")
6314 (synopsis "Helm interface to the Silver Searcher")
6315 (description
6316 "This package provides a frontend for grepping tools like ag and ack,
6317 as well as features for editing search results.")
6318 (license license:gpl3+))))
6319
6320 (define-public emacs-helm-projectile
6321 (package
6322 (name "emacs-helm-projectile")
6323 (version "0.14.0")
6324 (source
6325 (origin
6326 (method git-fetch)
6327 (uri (git-reference
6328 (url "https://github.com/bbatsov/helm-projectile.git")
6329 (commit (string-append "v" version))))
6330 (file-name (git-file-name name version))
6331 (sha256
6332 (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
6333 (build-system emacs-build-system)
6334 (propagated-inputs
6335 `(("emacs-dash" ,emacs-dash)
6336 ("emacs-helm" ,emacs-helm)
6337 ("emacs-projectile" ,emacs-projectile)))
6338 (home-page "https://github.com/bbatsov/helm-projectile")
6339 (synopsis "Helm integration for Projectile")
6340 (description
6341 "This Emacs library provides a Helm interface for Projectile.")
6342 (license license:gpl3+)))
6343
6344 (define-public emacs-taskrunner
6345 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
6346 (revision "1"))
6347 (package
6348 (name "emacs-taskrunner")
6349 (version (git-version "0.6" revision commit))
6350 (source
6351 (origin
6352 (method git-fetch)
6353 (uri (git-reference
6354 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
6355 (commit commit)))
6356 (file-name (git-file-name name version))
6357 (sha256
6358 (base32
6359 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
6360 (build-system emacs-build-system)
6361 (propagated-inputs
6362 `(("emacs-async" ,emacs-async)
6363 ("emacs-projectile" ,emacs-projectile)))
6364 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
6365 (synopsis "Retrieve tasks from various build systems and task-runners")
6366 (description "This package parses Makefiles and build-system files for
6367 multiple project types.")
6368 (license license:gpl3+))))
6369
6370 (define-public emacs-ivy-taskrunner
6371 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
6372 (revision "1"))
6373 (package
6374 (name "emacs-ivy-taskrunner")
6375 (version (git-version "0.9" revision commit))
6376 (source
6377 (origin
6378 (method git-fetch)
6379 (uri (git-reference
6380 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
6381 (commit commit)))
6382 (file-name (git-file-name name version))
6383 (sha256
6384 (base32
6385 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
6386 (build-system emacs-build-system)
6387 (propagated-inputs
6388 `(("emacs-ivy" ,emacs-ivy)
6389 ("emacs-taskrunner" ,emacs-taskrunner)
6390 ("emacs-projectile" ,emacs-projectile)))
6391 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
6392 (synopsis "Retrieve build-system tasks using Ivy")
6393 (description "This package provides an Ivy interface for selecting
6394 Makefile targets.")
6395 (license license:gpl3+))))
6396
6397 (define-public emacs-helm-taskrunner
6398 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
6399 (revision "1"))
6400 (package
6401 (name "emacs-helm-taskrunner")
6402 (version (git-version "0.9" revision commit))
6403 (source
6404 (origin
6405 (method git-fetch)
6406 (uri (git-reference
6407 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
6408 (commit commit)))
6409 (file-name (git-file-name name version))
6410 (sha256
6411 (base32
6412 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
6413 (build-system emacs-build-system)
6414 (propagated-inputs
6415 `(("emacs-helm" ,emacs-helm)
6416 ("emacs-taskrunner" ,emacs-taskrunner)
6417 ("emacs-projectile" ,emacs-projectile)))
6418 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
6419 (synopsis "Retrieve build-system tasks using Helm")
6420 (description "This package provides a Helm interface for selecting
6421 Makefile targets.")
6422 (license license:gpl3+))))
6423
6424 (define-public emacs-helm-make
6425 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
6426 (revision "1"))
6427 (package
6428 (name "emacs-helm-make")
6429 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
6430 (source
6431 (origin
6432 (method git-fetch)
6433 (uri (git-reference
6434 (url "https://github.com/abo-abo/helm-make.git")
6435 (commit commit)))
6436 (file-name (git-file-name name version))
6437 (sha256
6438 (base32
6439 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
6440 (build-system emacs-build-system)
6441 (propagated-inputs
6442 `(("emacs-helm" ,emacs-helm)
6443 ("emacs-projectile" ,emacs-projectile)))
6444 (home-page "https://github.com/abo-abo/helm-make")
6445 (synopsis "Select a Makefile target with helm")
6446 (description "@code{helm-make} or @code{helm-make-projectile} will give
6447 you a @code{helm} selection of directory Makefile's targets. Selecting a
6448 target will call @code{compile} on it.")
6449 (license license:gpl3+))))
6450
6451 (define-public emacs-cider
6452 (package
6453 (name "emacs-cider")
6454 (version "0.21.0")
6455 (source
6456 (origin
6457 (method git-fetch)
6458 (uri (git-reference
6459 (url "https://github.com/clojure-emacs/cider.git")
6460 (commit (string-append "v" version))))
6461 (file-name (git-file-name name version))
6462 (sha256
6463 (base32
6464 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
6465 (build-system emacs-build-system)
6466 (arguments
6467 '(#:exclude ; Don't exclude 'cider-test.el'.
6468 '("^\\.dir-locals\\.el$" "^test/")))
6469 (propagated-inputs
6470 `(("emacs-clojure-mode" ,emacs-clojure-mode)
6471 ("emacs-sesman" ,emacs-sesman)
6472 ("emacs-spinner" ,emacs-spinner)
6473 ("emacs-pkg-info" ,emacs-pkg-info)
6474 ("emacs-queue" ,emacs-queue)))
6475 (home-page "https://cider.readthedocs.io/")
6476 (synopsis "Clojure development environment for Emacs")
6477 (description
6478 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
6479 provide an interactive development experience similar to the one you'd get
6480 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
6481 Geiser) and Smalltalk.
6482
6483 CIDER is the successor to the now deprecated combination of using SLIME +
6484 swank-clojure for Clojure development.
6485
6486 There are plenty of differences between CIDER and SLIME, but the core ideas
6487 are pretty much the same (and SLIME served as the principle inspiration for
6488 CIDER).")
6489 (license license:gpl3+)))
6490
6491 ;; There hasn't been a tag or release since 2015, so we take the latest
6492 ;; commit.
6493 (define-public emacs-sly
6494 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
6495 (revision "1"))
6496 (package
6497 (name "emacs-sly")
6498 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
6499 (source
6500 (origin
6501 (method git-fetch)
6502 (uri (git-reference
6503 (url "https://github.com/joaotavora/sly.git")
6504 (commit commit)))
6505 (file-name (git-file-name name version))
6506 (sha256
6507 (base32
6508 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
6509 (build-system emacs-build-system)
6510 (arguments
6511 `(#:include (cons "^lib\\/" %default-include)
6512 #:phases
6513 ;; The package provides autoloads.
6514 (modify-phases %standard-phases
6515 (delete 'make-autoloads))))
6516 (home-page "https://github.com/joaotavora/sly")
6517 (synopsis "Sylvester the Cat's Common Lisp IDE")
6518 (description
6519 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
6520 contains the following improvements over it:
6521
6522 @enumerate
6523 @item Completely redesigned REPL based on Emacs's own full-featured
6524 @code{comint.el}
6525 @item Live code annotations via a new @code{sly-stickers} contrib
6526 @item Consistent interactive button interface. Everything can be copied to
6527 the REPL.
6528 @item Multiple inspectors with independent history
6529 @item Regexp-capable @code{M-x sly-apropos}
6530 @item Contribs are first class SLY citizens and enabled by default
6531 @item Use ASDF to loads contribs on demand.
6532 @end enumerate
6533
6534 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
6535 xref, etc...) are still available, but with better integration.")
6536 (license license:gpl3+))))
6537
6538 (define-public emacs-lua-mode
6539 (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
6540 (revision "2"))
6541 (package
6542 (name "emacs-lua-mode")
6543 (version (git-version "20151025" revision commit))
6544 (home-page "https://github.com/immerrr/lua-mode/")
6545 (source (origin
6546 (method git-fetch)
6547 (uri (git-reference
6548 (url home-page)
6549 (commit commit)))
6550 (file-name (git-file-name name version))
6551 (sha256
6552 (base32
6553 "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
6554 (build-system emacs-build-system)
6555 (synopsis "Major mode for lua")
6556 (description
6557 "This Emacs package provides a mode for @uref{https://www.lua.org/,
6558 Lua programming language}.")
6559 (license license:gpl2+))))
6560
6561 (define-public emacs-ebuild-mode
6562 (package
6563 (name "emacs-ebuild-mode")
6564 (version "1.37")
6565 (source (origin
6566 (method url-fetch)
6567 (uri (string-append
6568 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
6569 "-" version ".tar.xz"))
6570 (file-name (string-append name "-" version ".tar.xz"))
6571 (sha256
6572 (base32
6573 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
6574 (build-system emacs-build-system)
6575 (home-page "https://devmanual.gentoo.org")
6576 (synopsis "Major modes for Gentoo package files")
6577 (description
6578 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
6579 news items, openrc and runscripts.")
6580 (license license:gpl2+)))
6581
6582 (define-public emacs-evil
6583 (package
6584 (name "emacs-evil")
6585 (version "1.2.14")
6586 (source
6587 (origin
6588 (method git-fetch)
6589 (uri (git-reference
6590 (url "https://github.com/emacs-evil/evil")
6591 (commit version)))
6592 (file-name (git-file-name name version))
6593 (sha256
6594 (base32
6595 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
6596 (build-system emacs-build-system)
6597 (propagated-inputs
6598 `(("emacs-undo-tree" ,emacs-undo-tree)
6599 ("emacs-goto-chg" ,emacs-goto-chg)))
6600 (home-page "https://github.com/emacs-evil/evil")
6601 (synopsis "Extensible Vi layer for Emacs")
6602 (description
6603 "Evil is an extensible vi layer for Emacs. It emulates the
6604 main features of Vim, and provides facilities for writing custom
6605 extensions.")
6606 (license license:gpl3+)))
6607
6608 (define-public emacs-evil-collection
6609 (let ((commit "0748c695dfa89b79eb316da5060360de8c0f04da")
6610 (revision "9"))
6611 (package
6612 (name "emacs-evil-collection")
6613 (version (git-version "0.0.1" revision commit))
6614 (source (origin
6615 (method git-fetch)
6616 (uri (git-reference
6617 (url "https://github.com/emacs-evil/evil-collection")
6618 (commit commit)))
6619 (file-name (git-file-name name version))
6620 (sha256
6621 (base32
6622 "17w8nh3q7ffc7776f3qzixk0c0g6vys3xybgw16ky1f416585kvb"))))
6623 (build-system emacs-build-system)
6624 (propagated-inputs
6625 `(("emacs-evil" ,emacs-evil)))
6626 (home-page "https://github.com/emacs-evil/evil-collection")
6627 (synopsis "Collection of Evil bindings for many major and minor modes")
6628 (description "This is a collection of Evil bindings for the parts of
6629 Emacs that Evil does not cover properly by default, such as @code{help-mode},
6630 @code{M-x calendar}, Eshell and more.")
6631 (license license:gpl3+))))
6632
6633 (define-public emacs-goto-chg
6634 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
6635 (version "1.7.3")
6636 (revision "1"))
6637 (package
6638 (name "emacs-goto-chg")
6639 (version (git-version version revision commit))
6640 (source
6641 (origin
6642 (method git-fetch)
6643 (uri (git-reference
6644 (url "https://github.com/emacs-evil/goto-chg")
6645 (commit commit)))
6646 (file-name (git-file-name name version))
6647 (sha256
6648 (base32
6649 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
6650 (build-system emacs-build-system)
6651 (propagated-inputs
6652 `(("emacs-undo-tree" ,emacs-undo-tree)))
6653 (home-page "https://github.com/emacs-evil/goto-chg")
6654 (synopsis "Go to the last change in the Emacs buffer")
6655 (description
6656 "This package provides @code{M-x goto-last-change} command that goes to
6657 the point of the most recent edit in the current Emacs buffer. When repeated,
6658 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
6659 used for reverse direction.")
6660 (license license:gpl2+))))
6661
6662 (define-public emacs-janpath-evil-numbers
6663 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
6664 (version "0.5")
6665 (revision "1"))
6666 (package
6667 (name "emacs-janpath-evil-numbers")
6668 (version (git-version version revision commit))
6669 (source
6670 (origin
6671 (method git-fetch)
6672 (uri (git-reference
6673 (url "https://github.com/janpath/evil-numbers")
6674 (commit commit)))
6675 (file-name (git-file-name name version))
6676 (sha256
6677 (base32
6678 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
6679 (build-system emacs-build-system)
6680 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6681 (home-page "https://github.com/janpath/evil-numbers")
6682 (synopsis "Increment and decrement numeric literals")
6683 (description
6684 "This package provides functionality to search for a number up to the
6685 end of a line and increment or decrement it.")
6686 (license license:gpl3+))))
6687
6688 (define-public emacs-evil-owl
6689 (let ((commit "e8fe5b2f745e36db04cb71eb689bf91c5409614f")
6690 (revision "2"))
6691 (package
6692 (name "emacs-evil-owl")
6693 (version (git-version "0.0.1" revision commit))
6694 (source
6695 (origin
6696 (method git-fetch)
6697 (uri (git-reference
6698 (url "https://github.com/mamapanda/evil-owl")
6699 (commit commit)))
6700 (file-name (git-file-name name version))
6701 (sha256
6702 (base32
6703 "1g7kplna62f271135mnjdbvxk2ayx7m4gvd6l86d2394alx16nhq"))))
6704 (build-system emacs-build-system)
6705 (propagated-inputs
6706 `(("emacs-evil" ,emacs-evil)))
6707 (home-page "https://github.com/mamapanda/evil-owl")
6708 (synopsis "Preview candidates when using Evil registers and marks")
6709 (description
6710 "This package supplements Evil's register- and mark-based commands with
6711 a popup window for previewing candidates.")
6712 (license license:gpl3+))))
6713
6714 (define-public emacs-evil-exchange
6715 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
6716 (version "0.41")
6717 (revision "1"))
6718 (package
6719 (name "emacs-evil-exchange")
6720 (version (git-version version revision commit))
6721 (source
6722 (origin
6723 (method git-fetch)
6724 (uri (git-reference
6725 (url "https://github.com/Dewdrops/evil-exchange")
6726 (commit commit)))
6727 (file-name (git-file-name name version))
6728 (sha256
6729 (base32
6730 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
6731 (build-system emacs-build-system)
6732 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6733 (home-page "https://github.com/Dewdrops/evil-exchange")
6734 (synopsis "Exchange text easily within Evil")
6735 (description
6736 "This package, a port of @code{vim-exchange}, provides an Evil operator
6737 for exchanging text.")
6738 (license license:gpl3+))))
6739
6740 (define-public emacs-evil-replace-with-register
6741 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
6742 (version "0.1")
6743 (revision "1"))
6744 (package
6745 (name "emacs-evil-replace-with-register")
6746 (version (git-version version revision commit))
6747 (source
6748 (origin
6749 (method git-fetch)
6750 (uri (git-reference
6751 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6752 (commit commit)))
6753 (file-name (git-file-name name version))
6754 (sha256
6755 (base32
6756 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
6757 (build-system emacs-build-system)
6758 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6759 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6760 (synopsis "Quickly replace text with the contents of a register")
6761 (description
6762 "This package provides an Evil operator for replacing text with the
6763 contents of a register.")
6764 (license license:gpl3+))))
6765
6766 (define-public emacs-evil-indent-plus
6767 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
6768 (version "1.0.0")
6769 (revision "1"))
6770 (package
6771 (name "emacs-evil-indent-plus")
6772 (version (git-version version revision commit))
6773 (source
6774 (origin
6775 (method git-fetch)
6776 (uri (git-reference
6777 (url "https://github.com/TheBB/evil-indent-plus")
6778 (commit commit)))
6779 (file-name (git-file-name name version))
6780 (sha256
6781 (base32
6782 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
6783 (build-system emacs-build-system)
6784 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6785 (home-page "https://github.com/TheBB/evil-indent-plus")
6786 (synopsis "Text objects based on indentation")
6787 (description
6788 "This package adds new text objects for @code{evil-mode} based on
6789 blocks having the same or higher indentation, including or excluding
6790 surrounding lines.")
6791 (license license:gpl2+))))
6792
6793 (define-public emacs-evil-text-object-python
6794 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
6795 (version "1.0.1")
6796 (revision "1"))
6797 (package
6798 (name "emacs-evil-text-object-python")
6799 (version (git-version version revision commit))
6800 (source
6801 (origin
6802 (method git-fetch)
6803 (uri (git-reference
6804 (url "https://github.com/wbolster/evil-text-object-python")
6805 (commit commit)))
6806 (file-name (git-file-name name version))
6807 (sha256
6808 (base32
6809 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
6810 (build-system emacs-build-system)
6811 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6812 (home-page "https://github.com/wbolster/evil-text-object-python")
6813 (synopsis "Text objects for Python")
6814 (description
6815 "This package provides @code{evil-mode} text objects for Python.")
6816 (license license:gpl3+))))
6817
6818 (define-public emacs-evil-lion
6819 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
6820 (version "0.0.2")
6821 (revision "1"))
6822 (package
6823 (name "emacs-evil-lion")
6824 (version (git-version version revision commit))
6825 (source
6826 (origin
6827 (method git-fetch)
6828 (uri (git-reference
6829 (url "https://github.com/edkolev/evil-lion")
6830 (commit commit)))
6831 (file-name (git-file-name name version))
6832 (sha256
6833 (base32
6834 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
6835 (build-system emacs-build-system)
6836 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6837 (home-page "https://github.com/edkolev/evil-lion")
6838 (synopsis "Align operator for @code{evil-mode}")
6839 (description
6840 "This package, a port of @code{vim-lion}, provides an operator for
6841 aligning text objects based on separators.")
6842 (license license:gpl3+))))
6843
6844 (define-public emacs-evil-expat
6845 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
6846 (revision "1"))
6847 (package
6848 (name "emacs-evil-expat")
6849 (version (git-version "0.0.1" revision commit))
6850 (source
6851 (origin
6852 (method git-fetch)
6853 (uri (git-reference
6854 (url "https://github.com/edkolev/evil-expat")
6855 (commit commit)))
6856 (file-name (git-file-name name version))
6857 (sha256
6858 (base32
6859 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
6860 (build-system emacs-build-system)
6861 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6862 (home-page "https://github.com/edkolev/evil-expat")
6863 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
6864 (description
6865 "This package provides additional commands for the @code{ex} command
6866 line, including functions for version control with Git and for copying and
6867 pasting into and from @code{tmux} paste buffers.")
6868 (license license:gpl3+))))
6869
6870 (define-public emacs-evil-nerd-commenter
6871 (package
6872 (name "emacs-evil-nerd-commenter")
6873 (version "3.3.7")
6874 (source
6875 (origin
6876 (method git-fetch)
6877 (uri (git-reference
6878 (url "https://github.com/redguardtoo/evil-nerd-commenter")
6879 (commit version)))
6880 (file-name (git-file-name name version))
6881 (sha256
6882 (base32
6883 "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7"))))
6884 (build-system emacs-build-system)
6885 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6886 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
6887 (synopsis "Comment and uncomment lines efficiently")
6888 (description
6889 "This package provides text objects and operators for comments within
6890 @code{evil-mode}.")
6891 (license license:gpl3+)))
6892
6893 (define-public emacs-evil-visual-replace
6894 (package
6895 (name "emacs-evil-visual-replace")
6896 (version "0.0.5")
6897 (source
6898 (origin
6899 (method git-fetch)
6900 (uri (git-reference
6901 (url "https://github.com/troyp/evil-visual-replace")
6902 (commit version)))
6903 (file-name (git-file-name name version))
6904 (sha256
6905 (base32
6906 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
6907 (build-system emacs-build-system)
6908 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6909 (home-page "https://github.com/troyp/evil-visual-replace")
6910 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
6911 (description
6912 "This package provides versions of @code{query-replace} and
6913 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
6914 (license license:gpl2+)))
6915
6916 (define-public emacs-evil-visualstar
6917 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
6918 (version "0.0.2")
6919 (revision "1"))
6920 (package
6921 (name "emacs-evil-visualstar")
6922 (version (git-version version revision commit))
6923 (source
6924 (origin
6925 (method git-fetch)
6926 (uri (git-reference
6927 (url "https://github.com/bling/evil-visualstar")
6928 (commit commit)))
6929 (file-name (git-file-name name version))
6930 (sha256
6931 (base32
6932 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
6933 (build-system emacs-build-system)
6934 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6935 (home-page "https://github.com/bling/evil-visualstar")
6936 (synopsis "Instantly search using the visual selection")
6937 (description
6938 "This package provides @code{evil-mode} functions for using selected text
6939 to search.")
6940 (license license:gpl3+))))
6941
6942 (define-public emacs-monroe
6943 (package
6944 (name "emacs-monroe")
6945 (version "0.3.1")
6946 (source
6947 (origin
6948 (method git-fetch)
6949 (uri (git-reference
6950 (url "https://github.com/sanel/monroe.git")
6951 (commit version)))
6952 (file-name (git-file-name name version))
6953 (sha256
6954 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
6955 (build-system emacs-build-system)
6956 (home-page "https://github.com/sanel/monroe")
6957 (synopsis "Clojure nREPL client for Emacs")
6958 (description
6959 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
6960 distribution, primarily targeting Clojure users")
6961 (license license:gpl3+)))
6962
6963 (define-public emacs-orgalist
6964 (package
6965 (name "emacs-orgalist")
6966 (version "1.9")
6967 (source
6968 (origin
6969 (method url-fetch)
6970 (uri (string-append "https://elpa.gnu.org/packages/"
6971 "orgalist-" version ".el"))
6972 (sha256
6973 (base32
6974 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
6975 (build-system emacs-build-system)
6976 (home-page "http://elpa.gnu.org/packages/orgalist.html")
6977 (synopsis "Manage Org-like lists in non-Org buffers")
6978 (description "Write Org mode's plain lists in non-Org buffers. More
6979 specifically, Orgalist supports the syntax of Org mode for numbered,
6980 unnumbered, description items, checkboxes, and counter cookies.
6981
6982 The library also implements radio lists, i.e., lists written in Org
6983 syntax later translated into the host format, e.g., LaTeX or HTML.")
6984 (license license:gpl3+)))
6985
6986 (define-public emacs-writegood-mode
6987 (package
6988 (name "emacs-writegood-mode")
6989 (version "2.0.2")
6990 (home-page "https://github.com/bnbeckwith/writegood-mode")
6991 (source (origin
6992 (method git-fetch)
6993 (uri (git-reference
6994 (url home-page)
6995 (commit (string-append "v" version))))
6996 (sha256
6997 (base32
6998 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
6999 (file-name (string-append name "-checkout"))))
7000 (build-system emacs-build-system)
7001 (synopsis "Polish up poor writing on the fly")
7002 (description
7003 "This minor mode tries to find and highlight problems with your writing
7004 in English as you type. It primarily detects \"weasel words\" and abuse of
7005 passive voice.")
7006 (license license:gpl3+)))
7007
7008 (define-public emacs-neotree
7009 (package
7010 (name "emacs-neotree")
7011 (version "0.5.2")
7012 (home-page "https://github.com/jaypei/emacs-neotree")
7013 (source (origin
7014 (method url-fetch)
7015 (uri (string-append
7016 "https://github.com/jaypei/" name
7017 "/archive/" version ".tar.gz"))
7018 (sha256
7019 (base32
7020 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
7021 (file-name (string-append name "-" version ".tar.gz"))))
7022 (build-system emacs-build-system)
7023 (synopsis "Folder tree view for Emacs")
7024 (description "This Emacs package provides a folder tree view.")
7025 (license license:gpl3+)))
7026
7027 (define-public emacs-org
7028 (package
7029 (name "emacs-org")
7030 ;; emacs-org-contrib inherits from this package. Please update its sha256
7031 ;; checksum as well.
7032 (version "9.2.5")
7033 (source (origin
7034 (method url-fetch)
7035 (uri (string-append "https://elpa.gnu.org/packages/org-"
7036 version ".tar"))
7037 (sha256
7038 (base32
7039 "1pid1sykgz83i4ry5n8f270finag6sm7ckqxn5lkikyya43wlzx1"))))
7040 (build-system emacs-build-system)
7041 (home-page "https://orgmode.org/")
7042 (synopsis "Outline-based notes management and organizer")
7043 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7044 lists, and project planning with a fast and effective lightweight markup
7045 language. It also is an authoring system with unique support for literate
7046 programming and reproducible research.")
7047 (license license:gpl3+)))
7048
7049 (define-public emacs-org-contrib
7050 (package
7051 (inherit emacs-org)
7052 (name "emacs-org-contrib")
7053 (version "20190805")
7054 (source (origin
7055 (method url-fetch)
7056 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
7057 version ".tar"))
7058 (sha256
7059 (base32
7060 "1mw91hwbqyjq5pyz9hzdhvjlc2bphqpi23yqd3sdk1crpc87s40c"))))
7061 (arguments
7062 `(#:modules ((guix build emacs-build-system)
7063 (guix build utils)
7064 (guix build emacs-utils)
7065 (ice-9 ftw)
7066 (srfi srfi-1))
7067 #:phases
7068 (modify-phases %standard-phases
7069 (add-after 'install 'delete-org-files
7070 (lambda* (#:key inputs outputs #:allow-other-keys)
7071 (let* ((out (assoc-ref outputs "out"))
7072 (org (assoc-ref inputs "org"))
7073 (contrib-files
7074 (map basename (find-files out)))
7075 (org+contrib-files
7076 (map basename (find-files org)))
7077 (duplicates (lset-intersection
7078 string=? contrib-files org+contrib-files)))
7079 (with-directory-excursion
7080 (string-append
7081 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
7082 (for-each delete-file duplicates))
7083 #t))))))
7084 (propagated-inputs
7085 `(("arduino-mode" ,emacs-arduino-mode)
7086 ("cider" ,emacs-cider)
7087 ("org" ,emacs-org)
7088 ("scel" ,emacs-scel)))
7089 (synopsis "Contributed packages to Org mode")
7090 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7091 lists, and project planning with a fast and effective plain-text system.
7092
7093 This package is equivalent to org-plus-contrib, but only includes additional
7094 files that you would find in @file{contrib/} from the git repository.")))
7095
7096 (define-public emacs-flx
7097 (package
7098 (name "emacs-flx")
7099 (version "0.6.1")
7100 (source
7101 (origin
7102 (method url-fetch)
7103 (uri (string-append "https://github.com/lewang/"
7104 "flx/archive/v" version ".tar.gz"))
7105 (sha256
7106 (base32
7107 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
7108 (file-name (string-append name "-" version ".tar.gz"))))
7109 (build-system emacs-build-system)
7110 (home-page "https://github.com/lewang/flx")
7111 (synopsis "Fuzzy matching for Emacs")
7112 (description
7113 "Flx provides fuzzy matching for emacs a la sublime text.
7114 The sorting algorithm is a balance between word beginnings (abbreviation)
7115 and contiguous matches (substring). The longer the substring match,
7116 the higher it scores. This maps well to how we think about matching.
7117 Flx has support for ido (interactively do things) through flx-ido.")
7118 (license license:gpl3+)))
7119
7120 (define-public emacs-cyberpunk-theme
7121 (package
7122 (name "emacs-cyberpunk-theme")
7123 (version "1.19")
7124 (source
7125 (origin
7126 (method url-fetch)
7127 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
7128 "archive/" version ".tar.gz"))
7129 (sha256
7130 (base32
7131 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
7132 (file-name (string-append name "-" version ".tar.gz"))))
7133 (build-system emacs-build-system)
7134 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
7135 (synopsis "Cyberpunk theme for emacs built-in color theme support")
7136 (description
7137 "Cyberpunk color theme for the emacs 24+ built-in color theme support
7138 known loosely as deftheme. Many mode-specific customizations are included.")
7139 (license license:gpl3+)))
7140
7141 (define-public emacs-danneskjold-theme
7142 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
7143 (revision "1"))
7144 (package
7145 (name "emacs-danneskjold-theme")
7146 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
7147 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
7148 (source
7149 (origin
7150 (method git-fetch)
7151 (uri (git-reference
7152 (url home-page)
7153 (commit commit)))
7154 (file-name (git-file-name name version))
7155 (sha256
7156 (base32
7157 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
7158 (build-system emacs-build-system)
7159 (arguments
7160 `(#:phases
7161 (modify-phases %standard-phases
7162 (add-after 'unpack 'delete-screenshots
7163 (lambda _
7164 (delete-file-recursively "screenshots") #t)))))
7165 (synopsis "High-contrast Emacs theme")
7166 (description
7167 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
7168 (license license:gpl3+))))
7169
7170 (define-public emacs-dream-theme
7171 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
7172 (revision "1"))
7173 (package
7174 (name "emacs-dream-theme")
7175 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
7176 (source
7177 (origin
7178 (method git-fetch)
7179 (uri (git-reference
7180 (url "https://github.com/djcb/dream-theme")
7181 (commit commit)))
7182 (file-name (git-file-name name version))
7183 (sha256
7184 (base32
7185 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
7186 (build-system emacs-build-system)
7187 (home-page "https://github.com/djcb/dream-theme")
7188 (synopsis "High-contrast Emacs theme")
7189 (description
7190 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
7191 by zenburn, sinburn and similar themes, but slowly diverging from them.")
7192 (license license:gpl3+))))
7193
7194 (define-public emacs-auto-complete
7195 (package
7196 (name "emacs-auto-complete")
7197 (version "1.5.1")
7198 (source
7199 (origin
7200 (method url-fetch)
7201 (uri (string-append "https://github.com/auto-complete/"
7202 "auto-complete/archive/v" version ".tar.gz"))
7203 (sha256
7204 (base32
7205 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
7206 (file-name (string-append name "-" version ".tar.gz"))))
7207 (build-system emacs-build-system)
7208 (propagated-inputs
7209 `(("emacs-popup" ,emacs-popup)))
7210 (home-page "https://github.com/auto-complete/auto-complete")
7211 (synopsis "Intelligent auto-completion extension for Emacs")
7212 (description
7213 "Auto-Complete is an intelligent auto-completion extension for Emacs.
7214 It extends the standard Emacs completion interface and provides an environment
7215 that allows users to concentrate more on their own work. Its features are:
7216 a visual interface, reduce overhead of completion by using statistic method,
7217 extensibility.")
7218 (license license:gpl3+)))
7219
7220 (define-public emacs-nginx-mode
7221 (package
7222 (name "emacs-nginx-mode")
7223 (version "1.1.9")
7224 (source
7225 (origin
7226 (method git-fetch)
7227 (uri (git-reference
7228 (url "https://github.com/ajc/nginx-mode.git")
7229 (commit (string-append "v" version))))
7230 (file-name (git-file-name name version))
7231 (sha256
7232 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
7233 (build-system emacs-build-system)
7234 (home-page "https://github.com/ajc/nginx-mode")
7235 (synopsis "Emacs major mode for editing nginx config files")
7236 (description "This package provides an Emacs major mode for
7237 editing nginx config files.")
7238 (license license:gpl2+)))
7239
7240 (define-public emacs-stream
7241 (package
7242 (name "emacs-stream")
7243 (version "2.2.0")
7244 (home-page "https://github.com/NicolasPetton/stream")
7245 (source
7246 (origin
7247 (method url-fetch)
7248 (file-name (string-append name "-" version ".tar.gz"))
7249 (uri (string-append home-page "/archive/"version ".tar.gz"))
7250 (sha256
7251 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
7252 (build-system emacs-build-system)
7253 (synopsis "Implementation of streams for Emacs")
7254 (description "This library provides an implementation of streams for Emacs.
7255 Streams are implemented as delayed evaluation of cons cells.")
7256 (license license:gpl3+)))
7257
7258 (define-public emacs-el-search
7259 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
7260 (revision "1"))
7261 (package
7262 (name "emacs-el-search")
7263 ;; No ufficial release.
7264 (version (string-append "0.0-" revision "." (string-take commit 7)))
7265 (home-page "https://github.com/emacsmirror/el-search")
7266 (source
7267 (origin
7268 (method git-fetch)
7269 (file-name (string-append name "-" version ".tar.gz"))
7270 (uri (git-reference
7271 (commit commit)
7272 (url (string-append home-page ".git"))))
7273 (sha256
7274 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
7275 (build-system emacs-build-system)
7276 (inputs `(("emacs-stream" ,emacs-stream)))
7277 (synopsis "Expression based interactive search for emacs-lisp-mode")
7278 (description "This package provides expression based interactive search
7279 procedures for emacs-lisp-mode.")
7280 (license license:gpl3+))))
7281
7282 (define-public emacs-ht
7283 (package
7284 (name "emacs-ht")
7285 (version "2.2")
7286 (source
7287 (origin
7288 (method git-fetch)
7289 (uri (git-reference
7290 (url "https://github.com/Wilfred/ht.el.git")
7291 (commit version)))
7292 (file-name (git-file-name name version))
7293 (sha256
7294 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
7295 (build-system emacs-build-system)
7296 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
7297 (home-page "https://github.com/Wilfred/ht.el")
7298 (synopsis "Hash table library for Emacs")
7299 (description
7300 "This package simplifies the use of hash tables in elisp. It also
7301 provides functions to convert hash tables from and to alists and plists.")
7302 (license license:gpl3+)))
7303
7304 (define-public emacs-log4e
7305 (package
7306 (name "emacs-log4e")
7307 (version "0.3.0")
7308 (source
7309 (origin
7310 (method git-fetch)
7311 (uri (git-reference
7312 (url "https://github.com/aki2o/log4e.git")
7313 (commit (string-append "v" version))))
7314 (file-name (git-file-name name version))
7315 (sha256
7316 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
7317 (build-system emacs-build-system)
7318 (arguments
7319 `(#:phases
7320 (modify-phases %standard-phases
7321 (add-after 'unpack 'remove-tests
7322 ;; Guile builder complains about null characters in some
7323 ;; strings of test files. Remove "test" directory (it is not
7324 ;; needed anyway).
7325 (lambda _
7326 (delete-file-recursively "test"))))))
7327 (home-page "https://github.com/aki2o/log4e")
7328 (synopsis "Logging framework for elisp")
7329 (description
7330 "This package provides a logging framework for elisp. It allows
7331 you to deal with multiple log levels.")
7332 (license license:gpl3+)))
7333
7334 (define-public emacs-gntp
7335 (package
7336 (name "emacs-gntp")
7337 (version "0.1")
7338 (source
7339 (origin
7340 (method git-fetch)
7341 (uri (git-reference
7342 (url "https://github.com/tekai/gntp.el.git")
7343 (commit (string-append "v" version))))
7344 (file-name (git-file-name name version))
7345 (sha256
7346 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
7347 (build-system emacs-build-system)
7348 (home-page "https://github.com/tekai/gntp.el")
7349 (synopsis "Growl Notification Protocol for Emacs")
7350 (description
7351 "This package implements the Growl Notification Protocol GNTP
7352 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
7353 It is incomplete as it only lets you send but not receive
7354 notifications.")
7355 (license license:bsd-3)))
7356
7357 (define-public emacs-alert
7358 (package
7359 (name "emacs-alert")
7360 (version "1.3")
7361 (source
7362 (origin
7363 (method git-fetch)
7364 (uri (git-reference
7365 (url "https://github.com/jwiegley/alert.git")
7366 (commit (string-append "v" version))))
7367 (file-name (git-file-name name version))
7368 (sha256
7369 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
7370 (build-system emacs-build-system)
7371 (propagated-inputs
7372 `(("emacs-gntp" ,emacs-gntp)
7373 ("emacs-log4e" ,emacs-log4e)))
7374 (home-page "https://github.com/jwiegley/alert")
7375 (synopsis "Growl-style notification system for Emacs")
7376 (description
7377 "Alert is a Growl-workalike for Emacs which uses a common notification
7378 interface and multiple, selectable \"styles\", whose use is fully
7379 customizable by the user.")
7380 (license license:gpl2+)))
7381
7382 (define-public emacs-zones
7383 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
7384 (revision "2"))
7385 (package
7386 (name "emacs-zones")
7387 (version (git-version "0" revision commit))
7388 (source
7389 (origin
7390 (method git-fetch)
7391 (uri (git-reference
7392 (url "https://github.com/emacsmirror/zones.git")
7393 (commit commit)))
7394 (file-name (git-file-name name version))
7395 (sha256
7396 (base32
7397 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
7398 (patches
7399 (search-patches
7400 "emacs-zones-called-interactively.patch"))))
7401 (build-system emacs-build-system)
7402 (home-page "https://www.emacswiki.org/emacs/Zones")
7403 (synopsis "Define and act on multiple zones of buffer text")
7404 (description "Library @file{zones.el} lets you easily define and
7405 subsequently act on multiple zones of buffer text. You can think of this as
7406 enlarging the notion of region. In effect, it can remove the requirement of
7407 target text being a contiguous sequence of characters. A set of buffer zones
7408 is, in effect, a (typically) noncontiguous set of text.")
7409 (license license:gpl3+))))
7410
7411 (define-public emacs-mu4e-alert
7412 (package
7413 (name "emacs-mu4e-alert")
7414 (version "1.0")
7415 (source
7416 (origin
7417 (method git-fetch)
7418 (uri (git-reference
7419 (url "https://github.com/iqbalansari/mu4e-alert.git")
7420 (commit (string-append "v" version))))
7421 (file-name (git-file-name name version))
7422 (sha256
7423 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
7424 (build-system emacs-build-system)
7425 (propagated-inputs
7426 `(("emacs-alert" ,emacs-alert)
7427 ("emacs-s" ,emacs-s)
7428 ("emacs-ht" ,emacs-ht)
7429 ("mu" ,mu)))
7430 (home-page "https://github.com/iqbalansari/mu4e-alert")
7431 (synopsis "Desktop notification for mu4e")
7432 (description
7433 "This package provides desktop notifications for mu4e.
7434 Additionally it can display the number of unread emails in the
7435 mode-line.")
7436 (license license:gpl3+)))
7437
7438 (define-public emacs-mu4e-jump-to-list
7439 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
7440 (revision "1"))
7441 (package
7442 (name "emacs-mu4e-jump-to-list")
7443 (version (git-version "1.0" revision commit))
7444 (source
7445 (origin
7446 (method git-fetch)
7447 (uri (git-reference
7448 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
7449 (commit commit)))
7450 (file-name (git-file-name name version))
7451 (sha256
7452 (base32
7453 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
7454 (build-system emacs-build-system)
7455 (propagated-inputs
7456 `(("mu" ,mu)))
7457 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
7458 (synopsis "Select and view mailing lists in mu4e")
7459 (description
7460 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
7461 automatically using existing List-ID headers in your mu database. Just press
7462 \"l\" in the headers view and any mailing list you've subscribed to will be
7463 automatically discovered and presented in recency order.")
7464 (license license:gpl3+))))
7465
7466 (define-public emacs-mu4e-patch
7467 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
7468 (revision "1"))
7469 (package
7470 (name "emacs-mu4e-patch")
7471 (version (git-version "0.1.0" revision commit))
7472 (source (origin
7473 (method git-fetch)
7474 (uri (git-reference
7475 (url "https://github.com/seanfarley/mu4e-patch")
7476 (commit commit)))
7477 (file-name (git-file-name name version))
7478 (sha256
7479 (base32
7480 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
7481 (build-system emacs-build-system)
7482 (propagated-inputs
7483 `(("mu" ,mu)))
7484 (home-page "https://github.com/seanfarley/mu4e-patch")
7485 (synopsis "Colorize patch-like emails in mu4e")
7486 (description
7487 "Extension for mu4e to colorize patch-like emails with diff-mode.
7488 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
7489 been adapted to work with mu4e.")
7490 (license license:gpl3+))))
7491
7492 (define-public emacs-pretty-mode
7493 (package
7494 (name "emacs-pretty-mode")
7495 (version "2.0.3")
7496 (source
7497 (origin
7498 (method url-fetch)
7499 (uri (string-append "https://github.com/akatov/pretty-mode/"
7500 "archive/" version ".tar.gz"))
7501 (file-name (string-append name "-" version ".tar.gz"))
7502 (sha256
7503 (base32
7504 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
7505 (build-system emacs-build-system)
7506 (home-page "https://github.com/akatov/pretty-mode")
7507 (synopsis "Redisplay parts of the buffer as Unicode symbols")
7508 (description
7509 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
7510 (license license:gpl3+)))
7511
7512 (define-public emacs-yasnippet
7513 (package
7514 (name "emacs-yasnippet")
7515 (version "0.13.0")
7516 (source (origin
7517 (method url-fetch)
7518 (uri (string-append "https://github.com/joaotavora/yasnippet/"
7519 "archive/" version ".tar.gz"))
7520 (file-name (string-append name "-" version ".tar.gz"))
7521 (sha256
7522 (base32
7523 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
7524 (modules '((guix build utils)))
7525 (snippet
7526 '(begin
7527 ;; YASnippet expects a "snippets" subdirectory in the same
7528 ;; directory as yasnippet.el, but we don't install it
7529 ;; because it's a git submodule pointing to an external
7530 ;; repository. Adjust `yas-snippet-dirs' to prevent
7531 ;; warnings about a missing directory.
7532 (substitute* "yasnippet.el"
7533 (("^ +'yas-installed-snippets-dir\\)\\)\n")
7534 "))\n"))
7535 #t))))
7536 (build-system emacs-build-system)
7537 (home-page "https://github.com/joaotavora/yasnippet")
7538 (synopsis "Yet another snippet extension for Emacs")
7539 (description
7540 "YASnippet is a template system for Emacs. It allows you to type an
7541 abbreviation and automatically expand it into function templates.")
7542 (license license:gpl3+)))
7543
7544 (define-public emacs-yasnippet-snippets
7545 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
7546 (revision "1"))
7547 (package
7548 (name "emacs-yasnippet-snippets")
7549 (version (string-append "1-" revision "." (string-take commit 8)))
7550 (source
7551 (origin
7552 (method git-fetch)
7553 (uri (git-reference
7554 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
7555 (commit commit)))
7556 (file-name (git-file-name name version))
7557 (sha256
7558 (base32
7559 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
7560 (build-system trivial-build-system)
7561 (arguments
7562 `(#:modules ((ice-9 ftw)
7563 (ice-9 regex)
7564 (guix build utils))
7565 #:builder
7566 (begin
7567 (use-modules (ice-9 ftw)
7568 (ice-9 regex)
7569 (guix build utils))
7570 (with-directory-excursion (assoc-ref %build-inputs "source")
7571 (for-each (lambda (dir)
7572 (copy-recursively
7573 dir
7574 (string-append %output
7575 "/share/emacs/yasnippet-snippets/"
7576 dir)))
7577 (scandir "." (lambda (fname)
7578 (and (string-match "-mode$" fname)
7579 (directory-exists? fname))))))
7580 #t)))
7581 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
7582 (synopsis "Collection of YASnippet snippets for many languages")
7583 (description
7584 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
7585 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
7586 To make YASnippet aware of these snippets, add the above directory to
7587 @code{yas-snippet-dirs}.")
7588 (license license:expat))))
7589
7590 (define-public emacs-helm-c-yasnippet
7591 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
7592 (revision "1"))
7593 (package
7594 (name "emacs-helm-c-yasnippet")
7595 (version (string-append "0.6.7" "-" revision "."
7596 (string-take commit 7)))
7597 (source (origin
7598 (method git-fetch)
7599 (uri (git-reference
7600 (url "https://github.com/emacs-jp/helm-c-yasnippet")
7601 (commit commit)))
7602 (file-name (git-file-name name version))
7603 (sha256
7604 (base32
7605 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
7606 (build-system emacs-build-system)
7607 (propagated-inputs
7608 `(("emacs-helm" ,emacs-helm)
7609 ("emacs-yasnippet" ,emacs-yasnippet)))
7610 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
7611 (synopsis "Helm integration for Yasnippet")
7612 (description "This Emacs library provides Helm interface for
7613 Yasnippet.")
7614 (license license:gpl2+))))
7615
7616 (define-public emacs-helm-system-packages
7617 ;; There won't be a new release after 1.10.1 until
7618 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
7619 ;; and latest commits fix import issues with Guix.
7620 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
7621 (package
7622 (name "emacs-helm-system-packages")
7623 (version (git-version "1.10.1" "1" commit))
7624 (source (origin
7625 (method git-fetch)
7626 (uri (git-reference
7627 (url "https://github.com/emacs-helm/helm-system-packages")
7628 (commit commit)))
7629 (file-name (git-file-name name version))
7630 (sha256
7631 (base32
7632 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
7633 (build-system emacs-build-system)
7634 (inputs
7635 `(("recutils" ,recutils)))
7636 (propagated-inputs
7637 `(("emacs-helm" ,emacs-helm)))
7638 (arguments
7639 `(#:phases
7640 (modify-phases %standard-phases
7641 (add-after 'unpack 'configure
7642 (lambda* (#:key inputs outputs #:allow-other-keys)
7643 (let ((recutils (assoc-ref inputs "recutils")))
7644 ;; Specify the absolute file names of the various
7645 ;; programs so that everything works out-of-the-box.
7646 (substitute* "helm-system-packages-guix.el"
7647 (("recsel") (string-append recutils "/bin/recsel")))))))))
7648 (home-page "https://github.com/emacs-helm/helm-system-packages")
7649 (synopsis "Helm System Packages is an interface to your package manager")
7650 (description "List all available packages in Helm (with installed
7651 packages displayed in their own respective face). Fuzzy-search, mark and
7652 execute the desired action over any selections of packages: Install,
7653 uninstall, display packages details (in Org Mode) or insert details at point,
7654 find files owned by packages... And much more, including performing all the
7655 above over the network.")
7656 (license license:gpl3+))))
7657
7658 (define-public emacs-helm-org-rifle
7659 (package
7660 (name "emacs-helm-org-rifle")
7661 (version "1.7.0")
7662 (source
7663 (origin
7664 (method git-fetch)
7665 (uri (git-reference
7666 (url "https://github.com/alphapapa/helm-org-rifle")
7667 (commit version)))
7668 (file-name (git-file-name name version))
7669 (sha256
7670 (base32
7671 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
7672 (build-system emacs-build-system)
7673 (propagated-inputs
7674 `(("emacs-dash" ,emacs-dash)
7675 ("emacs-f" ,emacs-f)
7676 ("emacs-helm" ,emacs-helm)
7677 ("emacs-org" ,emacs-org)
7678 ("emacs-s" ,emacs-s)))
7679 (home-page "https://github.com/alphapapa/helm-org-rifle")
7680 (synopsis "Rifle through Org files")
7681 (description "This package searches both headings and contents of entries
7682 in Org buffers and displays matching entries.")
7683 (license license:gpl3+)))
7684
7685 (define-public emacs-dired-toggle-sudo
7686 (package
7687 (name "emacs-dired-toggle-sudo")
7688 (version "1.0")
7689 (source
7690 (origin
7691 (method git-fetch)
7692 (uri (git-reference
7693 (url "https://github.com/renard/dired-toggle-sudo")
7694 (commit (string-append "v" version))))
7695 (file-name (git-file-name name version))
7696 (sha256
7697 (base32
7698 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
7699 (patches
7700 (search-patches
7701 "emacs-dired-toggle-sudo-emacs-26.patch"))))
7702 (build-system emacs-build-system)
7703 (home-page "https://github.com/renard/dired-toggle-sudo")
7704 (synopsis "Browse directory with @code{sudo} privileges")
7705 (description "This package allows for the use of @code{dired} with
7706 @code{sudo} privileges.")
7707 (license license:wtfpl2)))
7708
7709 (define-public emacs-memoize
7710 (package
7711 (name "emacs-memoize")
7712 (version "1.1")
7713 (source
7714 (origin
7715 (method git-fetch)
7716 (uri (git-reference
7717 (url "https://github.com/skeeto/emacs-memoize.git")
7718 (commit version)))
7719 (file-name (git-file-name name version))
7720 (sha256
7721 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
7722 (build-system emacs-build-system)
7723 (arguments
7724 `(#:tests? #t
7725 #:test-command '("emacs" "--batch"
7726 "-l" "memoize-test.el"
7727 "-f" "ert-run-tests-batch-and-exit")))
7728 (home-page "https://github.com/skeeto/emacs-memoize")
7729 (synopsis "Emacs lisp memoization library")
7730 (description "@code{emacs-memoize} is an Emacs library for
7731 memoizing functions.")
7732 (license license:unlicense)))
7733
7734 (define-public emacs-linum-relative
7735 (package
7736 (name "emacs-linum-relative")
7737 (version "0.5")
7738 (source
7739 (origin
7740 (method git-fetch)
7741 (uri (git-reference
7742 (url "https://github.com/coldnew/linum-relative.git")
7743 (commit version)))
7744 (file-name (git-file-name name version))
7745 (sha256
7746 (base32 "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s"))))
7747 (build-system emacs-build-system)
7748 (home-page "https://github.com/coldnew/linum-relative")
7749 (synopsis "Relative line numbering for Emacs")
7750 (description "@code{emacs-linum-relative} displays the relative line
7751 number on the left margin in Emacs.")
7752 (license license:gpl2+)))
7753
7754 (define-public emacs-idle-highlight
7755 (package
7756 (name "emacs-idle-highlight")
7757 (version "1.1.3")
7758 (source
7759 (origin
7760 (method git-fetch)
7761 (uri (git-reference
7762 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
7763 (commit version)))
7764 (file-name (git-file-name name version))
7765 (sha256
7766 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
7767 (build-system emacs-build-system)
7768 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
7769 (synopsis "Highlights all occurrences of the word the point is on")
7770 (description
7771 "This Emacs package provides @code{idle-highlight-mode} that sets
7772 an idle timer to highlight all occurrences in the buffer of the word under
7773 the point.")
7774 (license license:gpl3+)))
7775
7776 (define-public emacs-ox-twbs
7777 (package
7778 (name "emacs-ox-twbs")
7779 (version "1.1.1")
7780 (source
7781 (origin
7782 (method git-fetch)
7783 (uri (git-reference
7784 (url "https://github.com/marsmining/ox-twbs.git")
7785 (commit (string-append "v" version))))
7786 (file-name (git-file-name name version))
7787 (sha256
7788 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
7789 (build-system emacs-build-system)
7790 (home-page "https://github.com/marsmining/ox-twbs")
7791 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
7792 (description
7793 "This Emacs package outputs your org-mode docs with a simple, clean and
7794 modern look. It implements a new HTML back-end for exporting org-mode docs as
7795 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
7796 jQuery and Bootstrap resources included via osscdn.")
7797 (license license:gpl3+)))
7798
7799 (define-public emacs-highlight-sexp
7800 (package
7801 (name "emacs-highlight-sexp")
7802 (version "1.0")
7803 (source
7804 (origin
7805 (method git-fetch)
7806 (uri (git-reference
7807 (url "https://github.com/daimrod/highlight-sexp.git")
7808 (commit (string-append "v" version))))
7809 (file-name (git-file-name name version))
7810 (sha256
7811 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
7812 (build-system emacs-build-system)
7813 (home-page "https://github.com/daimrod/highlight-sexp")
7814 (synopsis "Minor mode that highlights the s-exp at the current position")
7815 (description
7816 "This Emacs package highlights the s-exp at the current position.")
7817 (license license:gpl3+)))
7818
7819 (define-public emacs-highlight-stages
7820 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
7821 (revision "1"))
7822 (package
7823 (name "emacs-highlight-stages")
7824 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
7825 (source
7826 (origin
7827 (method git-fetch)
7828 (uri (git-reference
7829 (url "https://github.com/zk-phi/highlight-stages.git")
7830 (commit commit)))
7831 (file-name (git-file-name name version))
7832 (sha256
7833 (base32
7834 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
7835 (patches
7836 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
7837 (build-system emacs-build-system)
7838 (home-page "https://github.com/wigust/highlight-stages")
7839 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
7840 (description "@code{highlight-stages} provides an Emacs minor mode that
7841 highlights quasi-quoted expressions.")
7842 (license license:gpl3+))))
7843
7844 (define-public emacspeak
7845 (package
7846 (name "emacspeak")
7847 (version "50.0")
7848 (source
7849 (origin
7850 (method url-fetch)
7851 (uri (string-append
7852 "https://github.com/tvraman/emacspeak/releases/download/"
7853 version "/emacspeak-" version ".tar.bz2"))
7854 (sha256
7855 (base32
7856 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
7857 (build-system gnu-build-system)
7858 (arguments
7859 '(#:make-flags (list (string-append "prefix="
7860 (assoc-ref %outputs "out")))
7861 #:phases
7862 (modify-phases %standard-phases
7863 (replace 'configure
7864 (lambda _
7865 (setenv "SHELL" (which "sh"))
7866 ;; Configure Emacspeak according to etc/install.org.
7867 (invoke "make" "config")))
7868 (add-after 'build 'build-espeak
7869 (lambda _
7870 (invoke "make" "espeak")))
7871 (replace 'install
7872 (lambda* (#:key inputs outputs #:allow-other-keys)
7873 (let* ((out (assoc-ref outputs "out"))
7874 (bin (string-append out "/bin"))
7875 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
7876 (info (string-append out "/share/info"))
7877 (emacs (string-append (assoc-ref inputs "emacs")
7878 "/bin/emacs")))
7879 ;; According to etc/install.org, the Emacspeak directory should
7880 ;; be copied to its installation destination.
7881 (for-each
7882 (lambda (file)
7883 (copy-recursively file (string-append lisp "/" file)))
7884 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
7885 "stumpwm" "xsl"))
7886 ;; Make sure emacspeak is loaded from the correct directory.
7887 (substitute* "etc/emacspeak.sh"
7888 (("/lisp/emacspeak-setup.el")
7889 (string-append lisp "/lisp/emacspeak-setup.el")))
7890 ;; Install the convenient startup script.
7891 (mkdir-p bin)
7892 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
7893 #t))
7894 (add-after 'install 'wrap-program
7895 (lambda* (#:key inputs outputs #:allow-other-keys)
7896 (let* ((out (assoc-ref outputs "out"))
7897 (emacspeak (string-append out "/bin/emacspeak"))
7898 (espeak (string-append (assoc-ref inputs "espeak")
7899 "/bin/espeak")))
7900 ;; The environment variable DTK_PROGRAM tells emacspeak what
7901 ;; program to use for speech.
7902 (wrap-program emacspeak
7903 `("DTK_PROGRAM" ":" prefix (,espeak)))
7904 #t))))
7905 #:tests? #f)) ; no check target
7906 (inputs
7907 `(("emacs" ,emacs)
7908 ("espeak" ,espeak)
7909 ("perl" ,perl)
7910 ("tcl" ,tcl)
7911 ("tclx" ,tclx)))
7912 (home-page "http://emacspeak.sourceforge.net")
7913 (synopsis "Audio desktop interface for Emacs")
7914 (description
7915 "Emacspeak is a speech interface that allows visually impaired users to
7916 interact independently and efficiently with the computer. Audio formatting
7917 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
7918 allows Emacspeak to produce rich aural presentations of electronic information.
7919 By seamlessly blending all aspects of the Internet such as Web-surfing and
7920 messaging, Emacspeak speech-enables local and remote information via a
7921 consistent and well-integrated user interface.")
7922 (license license:gpl2+)))
7923
7924 (define-public emacs-adaptive-wrap
7925 (package
7926 (name "emacs-adaptive-wrap")
7927 (version "0.5.1")
7928 (source (origin
7929 (method url-fetch)
7930 (uri (string-append
7931 "http://elpa.gnu.org/packages/adaptive-wrap-"
7932 version ".el"))
7933 (sha256
7934 (base32
7935 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
7936 (build-system emacs-build-system)
7937 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
7938 (synopsis "Smart line-wrapping with wrap-prefix")
7939 (description
7940 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
7941 minor mode which sets the wrap-prefix property on the fly so that
7942 single-long-line paragraphs get word-wrapped in a way similar to what
7943 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
7944 actually changing the buffer's text.")
7945 (license license:gpl3+)))
7946
7947 (define-public emacs-diff-hl
7948 (package
7949 (name "emacs-diff-hl")
7950 (version "1.8.6")
7951 (source
7952 (origin
7953 (method git-fetch)
7954 (uri (git-reference
7955 (url "https://github.com/dgutov/diff-hl")
7956 (commit version)))
7957 (sha256
7958 (base32
7959 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
7960 (build-system emacs-build-system)
7961 (home-page "https://github.com/dgutov/diff-hl")
7962 (synopsis
7963 "Highlight uncommitted changes using VC")
7964 (description
7965 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
7966 window (using the fringe, by default), allows you to jump between
7967 the hunks and revert them selectively.")
7968 (license license:gpl3+)))
7969
7970 (define-public emacs-diminish
7971 (package
7972 (name "emacs-diminish")
7973 (version "0.45")
7974 (source
7975 (origin
7976 (method git-fetch)
7977 (uri (git-reference
7978 (url "https://github.com/myrjola/diminish.el.git")
7979 (commit (string-append "v" version))))
7980 (file-name (git-file-name name version))
7981 (sha256
7982 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
7983 (build-system emacs-build-system)
7984 (home-page "https://github.com/myrjola/diminish.el")
7985 (synopsis "Diminish minor modes with no modeline display")
7986 (description "@code{emacs-diminish} implements hiding or
7987 abbreviation of the mode line displays (lighters) of minor modes.")
7988 (license license:gpl2+)))
7989
7990 (define-public emacs-use-package
7991 (package
7992 (name "emacs-use-package")
7993 (version "2.4")
7994 (source (origin
7995 (method git-fetch)
7996 (uri (git-reference
7997 (url "https://github.com/jwiegley/use-package")
7998 (commit version)))
7999 (file-name (git-file-name name version))
8000 (sha256
8001 (base32
8002 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
8003 (build-system emacs-build-system)
8004 (propagated-inputs
8005 `(("emacs-diminish" ,emacs-diminish)))
8006 (arguments
8007 `(#:tests? #t
8008 #:test-command '("emacs" "--batch"
8009 "-l" "use-package-tests.el"
8010 "-f" "ert-run-tests-batch-and-exit")))
8011 (home-page "https://github.com/jwiegley/use-package")
8012 (synopsis "Declaration for simplifying your .emacs")
8013 (description "The use-package macro allows you to isolate package
8014 configuration in your @file{.emacs} file in a way that is both
8015 performance-oriented and tidy.")
8016 (license license:gpl2+)))
8017
8018 (define-public emacs-strace-mode
8019 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
8020 (revision "1"))
8021 (package
8022 (name "emacs-strace-mode")
8023 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
8024 (source (origin
8025 (method git-fetch)
8026 (uri (git-reference
8027 (url "https://github.com/pkmoore/strace-mode")
8028 (commit commit)))
8029 (file-name (git-file-name name version))
8030 (sha256
8031 (base32
8032 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
8033 (build-system emacs-build-system)
8034 (home-page "https://github.com/pkmoore/strace-mode")
8035 (synopsis "Emacs major mode to highlight strace outputs")
8036 (description "@code{emacs-strace-mode} provides an Emacs major mode
8037 highlighting strace outputs.")
8038 (license license:gpl3+))))
8039
8040 (define-public emacs-default-encrypt
8041 (package
8042 (name "emacs-default-encrypt")
8043 (version "4.4")
8044 (source
8045 (origin
8046 (method url-fetch)
8047 (uri (string-append
8048 "https://informationelle-selbstbestimmung-im-internet.de"
8049 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
8050 (file-name (string-append "jl-encrypt-" version ".el"))
8051 (sha256
8052 (base32
8053 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
8054 (build-system emacs-build-system)
8055 (home-page
8056 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
8057 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
8058 (description
8059 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
8060 automatically encrypts messages that you send (e.g., email) when public keys
8061 for all recipients are available, and it protects you from accidentally
8062 sending un-encrypted messages. It can also be configured to automatically
8063 sign messages that you send. For details and instructions on how to use
8064 DefaultEncrypt, please refer to the home page or read the comments in the
8065 source file, @file{jl-encrypt.el}.")
8066 (license license:gpl3+)))
8067
8068 (define-public emacs-extend-smime
8069 (package
8070 (name "emacs-extend-smime")
8071 (version "3.3")
8072 (source
8073 (origin
8074 (method url-fetch)
8075 (uri (string-append
8076 "https://informationelle-selbstbestimmung-im-internet.de"
8077 "/emacs/jl-smime" version "/jl-smime.el"))
8078 (file-name (string-append "jl-smime-" version ".el"))
8079 (sha256
8080 (base32
8081 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
8082 (build-system emacs-build-system)
8083 (home-page
8084 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
8085 (synopsis "Improved S/MIME support for Gnus in Emacs")
8086 (propagated-inputs
8087 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
8088 (description
8089 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
8090 ;; should not be translated. The name "emacs-default-encrypt" refers to
8091 ;; the Guix package that provides DefaultEncrypt.
8092 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
8093 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
8094 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
8095 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
8096 certificates via LDAP and imports them into @code{gpgsm}. When certificates
8097 for all recipients are available, DefaultEncrypt automatically encrypts the
8098 message. For details and instructions on how to use ExtendSMIME, please refer
8099 to the home page or read the comments in the source file,
8100 @file{jl-smime.el}.")
8101 (license license:gpl3+)))
8102
8103 (define-public emacs-htmlize
8104 (package
8105 (name "emacs-htmlize")
8106 (version "1.53")
8107 (source
8108 (origin
8109 (method git-fetch)
8110 (uri (git-reference
8111 (url "https://github.com/hniksic/emacs-htmlize.git")
8112 (commit (string-append "release/" version))))
8113 (file-name (git-file-name name version))
8114 (sha256
8115 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
8116 (build-system emacs-build-system)
8117 (home-page "https://github.com/hniksic/emacs-htmlize")
8118 (synopsis "Convert buffer text and decorations to HTML")
8119 (description "@code{emacs-htmlize} converts the buffer text and
8120 the associated decorations to HTML. Output to CSS, inline CSS and
8121 fonts is supported.")
8122 (license license:gpl2+)))
8123
8124 (define-public emacs-xmlgen
8125 (package
8126 (name "emacs-xmlgen")
8127 (version "0.5")
8128 (source
8129 (origin
8130 (method git-fetch)
8131 (uri (git-reference
8132 (url "https://github.com/philjackson/xmlgen.git")
8133 (commit version)))
8134 (file-name (git-file-name name version))
8135 (sha256
8136 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
8137 (build-system emacs-build-system)
8138 (arguments
8139 `(#:tests? #t
8140 #:test-command '("emacs" "--batch"
8141 "-l" "xmlgen-test.el"
8142 "-f" "ert-run-tests-batch-and-exit")))
8143 (home-page "https://github.com/philjackson/xmlgen")
8144 (synopsis "S-expression to XML domain specific language (DSL) in
8145 Emacs Lisp")
8146 (description "@code{emacs-xmlgen} provides S-expression to XML
8147 conversion for Emacs Lisp.")
8148 (license license:gpl2+)))
8149
8150 (define-public emacs-cdlatex
8151 (package
8152 (name "emacs-cdlatex")
8153 (version "4.7")
8154 (source
8155 (origin
8156 (method git-fetch)
8157 (uri (git-reference
8158 (url "https://github.com/cdominik/cdlatex.git")
8159 (commit version)))
8160 (file-name (git-file-name name version))
8161 (sha256
8162 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
8163 (build-system emacs-build-system)
8164 (propagated-inputs
8165 `(("emacs-auctex" ,emacs-auctex)))
8166 (home-page "https://github.com/cdominik/cdlatex")
8167 (synopsis "Fast Emacs input methods for LaTeX environments and
8168 math")
8169 (description "CDLaTeX is an Emacs minor mode supporting fast
8170 insertion of environment templates and math in LaTeX. Similar
8171 commands are also offered as part of the AUCTeX package, but it is not
8172 the same - CDLaTeX focuses on speediness for inserting LaTeX
8173 constructs.")
8174 (license license:gpl3+)))
8175
8176 (define-public emacs-cnfonts
8177 (package
8178 (name "emacs-cnfonts")
8179 (version "0.9.1")
8180 (source
8181 (origin
8182 (method git-fetch)
8183 (uri (git-reference
8184 (url "https://github.com/tumashu/cnfonts.git")
8185 (commit (string-append "v" version))))
8186 (file-name (git-file-name name version))
8187 (sha256
8188 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
8189 (build-system emacs-build-system)
8190 (home-page "https://github.com/tumashu/cnfonts")
8191 (synopsis "Emacs Chinese fonts setup tool")
8192 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
8193 configuration of Chinese fonts.")
8194 (license license:gpl2+)))
8195
8196 (define-public emacs-php-mode
8197 (package
8198 (name "emacs-php-mode")
8199 (version "20171225.342")
8200 (source (origin
8201 (method url-fetch)
8202 (uri (string-append
8203 "https://melpa.org/packages/php-mode-"
8204 version ".tar"))
8205 (sha256
8206 (base32
8207 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
8208 (build-system emacs-build-system)
8209 (home-page "https://github.com/ejmr/php-mode")
8210 (synopsis "Major mode for editing PHP code")
8211 (description "@code{php-mode} is a major mode for editing PHP source
8212 code. It's an extension of C mode; thus it inherits all C mode's navigation
8213 functionality. But it colors according to the PHP grammar and indents
8214 according to the PEAR coding guidelines. It also includes a couple handy
8215 IDE-type features such as documentation search and a source and class
8216 browser.")
8217 (license license:gpl3+)))
8218
8219 (define-public emacs-pos-tip
8220 (package
8221 (name "emacs-pos-tip")
8222 (version "0.4.6")
8223 (source
8224 (origin
8225 (method git-fetch)
8226 (uri (git-reference
8227 (url "https://github.com/pitkali/pos-tip.git")
8228 (commit version)))
8229 (file-name (git-file-name name version))
8230 (sha256
8231 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
8232 (build-system emacs-build-system)
8233 ;; The following functions and variables needed by emacs-pos-tip are
8234 ;; not included in emacs-minimal:
8235 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
8236 (arguments `(#:emacs ,emacs))
8237 (home-page "https://github.com/pitkali/pos-tip")
8238 (synopsis "Show tooltip at point")
8239 (description "The standard library tooltip.el provides a function for
8240 displaying a tooltip at the mouse position. However, locating a tooltip at an
8241 arbitrary buffer position in a window is not easy. Pos-tip provides such a
8242 function to be used by other frontend programs.")
8243 (license license:gpl2+)))
8244
8245 (define-public emacs-pyim-basedict
8246 (package
8247 (name "emacs-pyim-basedict")
8248 (version "0.3.1")
8249 (source
8250 (origin
8251 (method git-fetch)
8252 (uri (git-reference
8253 (url "https://github.com/tumashu/pyim-basedict.git")
8254 (commit (string-append "v" version))))
8255 (file-name (git-file-name name version))
8256 (sha256
8257 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
8258 (build-system emacs-build-system)
8259 (home-page "https://github.com/tumashu/pyim-basedict")
8260 (synopsis "Input method dictionary of pyim")
8261 (description "Pyim-basedict is the default pinyin input method dictionary,
8262 containing words from the rime project.")
8263 (license license:gpl2+)))
8264
8265 (define-public emacs-pyim
8266 (package
8267 (name "emacs-pyim")
8268 (version "1.8")
8269 (source
8270 (origin
8271 (method git-fetch)
8272 (uri (git-reference
8273 (url "https://github.com/tumashu/pyim")
8274 (commit (string-append "v" version))))
8275 (file-name (git-file-name name version))
8276 (sha256
8277 (base32
8278 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
8279 (build-system emacs-build-system)
8280 (propagated-inputs
8281 `(("emacs-async" ,emacs-async)
8282 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
8283 ("emacs-popup" ,emacs-popup)
8284 ("emacs-posframe" ,emacs-posframe)))
8285 (home-page "https://github.com/tumashu/pyim")
8286 (synopsis "Chinese input method")
8287 (description "Chinese input method which supports quanpin, shuangpin, wubi
8288 and cangjie.")
8289 (license license:gpl2+)))
8290
8291 (define-public emacs-posframe
8292 (package
8293 (name "emacs-posframe")
8294 (version "0.5.0")
8295 (source
8296 (origin
8297 (method git-fetch)
8298 (uri (git-reference
8299 (url "https://github.com/tumashu/posframe")
8300 (commit (string-append "v" version))))
8301 (file-name (git-file-name name version))
8302 (sha256
8303 (base32
8304 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
8305 (build-system emacs-build-system)
8306 ;; emacs-minimal does not include the function font-info
8307 (arguments `(#:emacs ,emacs))
8308 (home-page "https://github.com/tumashu/posframe")
8309 (synopsis "Pop a posframe (a child frame) at point")
8310 (description "@code{emacs-posframe} can pop a posframe at point. A
8311 posframe is a child frame displayed within its root window's buffer.
8312 @code{emacs-posframe} is fast and works well with CJK languages.")
8313 (license license:gpl3+)))
8314
8315 (define-public emacs-el2org
8316 (package
8317 (name "emacs-el2org")
8318 (version "0.6.0")
8319 (source
8320 (origin
8321 (method git-fetch)
8322 (uri (git-reference
8323 (url "https://github.com/tumashu/el2org.git")
8324 (commit (string-append "v" version))))
8325 (file-name (git-file-name name version))
8326 (sha256
8327 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
8328 (build-system emacs-build-system)
8329 (home-page "https://github.com/tumashu/el2org")
8330 (synopsis "Convert Emacs-lisp file to org file")
8331 (description "El2org is a simple tool, which can convert Emacs-lisp file
8332 to org file, you can use this tool to write orgify commentary.")
8333 (license license:gpl2+)))
8334
8335 (define-public emacs-mustache
8336 (package
8337 (name "emacs-mustache")
8338 (version "0.23")
8339 (source
8340 (origin
8341 (method git-fetch)
8342 (uri (git-reference
8343 (url "https://github.com/Wilfred/mustache.el.git")
8344 (commit version)))
8345 (file-name (git-file-name name version))
8346 (sha256
8347 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
8348 (build-system emacs-build-system)
8349 (propagated-inputs
8350 `(("emacs-dash" ,emacs-dash)
8351 ("emacs-ht" ,emacs-ht)
8352 ("emacs-s" ,emacs-s)))
8353 (home-page "https://github.com/Wilfred/mustache.el")
8354 (synopsis "Mustache templating library for Emacs")
8355 (description "Mustache templating library for Emacs, mustache is
8356 a simple web template system, which is described as a logic-less system
8357 because it lacks any explicit control flow statements, both looping and
8358 conditional evaluation can be achieved using section tags processing lists
8359 and lambdas.")
8360 (license license:gpl3+)))
8361
8362 (define-public emacs-org2web
8363 (package
8364 (name "emacs-org2web")
8365 (version "0.9.1")
8366 (source
8367 (origin
8368 (method git-fetch)
8369 (uri (git-reference
8370 (url "https://github.com/tumashu/org2web.git")
8371 (commit (string-append "v" version))))
8372 (file-name (git-file-name name version))
8373 (sha256
8374 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
8375 (build-system emacs-build-system)
8376 (propagated-inputs
8377 `(("emacs-dash" ,emacs-dash)
8378 ("emacs-el2org" ,emacs-el2org)
8379 ("emacs-ht" ,emacs-ht)
8380 ("emacs-mustache" ,emacs-mustache)
8381 ("emacs-simple-httpd" ,emacs-simple-httpd)))
8382 (home-page "https://github.com/tumashu/org2web")
8383 (synopsis "Static site generator based on org-mode ")
8384 (description "Org2web is a static site generator based on org-mode,
8385 which code derived from Kelvin H's org-page.")
8386 (license license:gpl2+)))
8387
8388 (define-public emacs-xelb
8389 (package
8390 (name "emacs-xelb")
8391 (version "0.17")
8392 (source (origin
8393 (method url-fetch)
8394 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
8395 version ".tar"))
8396 (sha256
8397 (base32
8398 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
8399 (build-system emacs-build-system)
8400 ;; The following functions and variables needed by emacs-xelb are
8401 ;; not included in emacs-minimal:
8402 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
8403 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
8404 ;; x-display-pixel-width, x-display-pixel-height
8405 (arguments
8406 `(#:emacs ,emacs
8407 #:phases
8408 (modify-phases %standard-phases
8409 (add-after 'unpack 'regenerate-el-files
8410 (lambda* (#:key inputs #:allow-other-keys)
8411 (invoke "make"
8412 (string-append "PROTO_PATH="
8413 (assoc-ref inputs "xcb-proto")
8414 "/share/xcb")
8415 (string-append "EMACS_BIN="
8416 (assoc-ref inputs "emacs")
8417 "/bin/emacs -Q")))))))
8418 (native-inputs `(("xcb-proto" ,xcb-proto)))
8419 (home-page "https://github.com/ch11ng/xelb")
8420 (synopsis "X protocol Emacs Lisp binding")
8421 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
8422 X11 protocol based on the XML description files from the XCB project. It
8423 features an object-oriented API and permits a certain degree of concurrency.
8424 It should enable you to implement low-level X11 applications.")
8425 (license license:gpl3+)))
8426
8427 (define-public emacs-exwm
8428 (package
8429 (name "emacs-exwm")
8430 (version "0.22")
8431 (synopsis "Emacs X window manager")
8432 (source (origin
8433 (method url-fetch)
8434 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
8435 version ".tar"))
8436 (sha256
8437 (base32
8438 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
8439 (build-system emacs-build-system)
8440 (propagated-inputs
8441 `(("emacs-xelb" ,emacs-xelb)))
8442 (inputs
8443 `(("xhost" ,xhost)
8444 ("dbus" ,dbus)))
8445 ;; The following functions and variables needed by emacs-exwm are
8446 ;; not included in emacs-minimal:
8447 ;; scroll-bar-mode, fringe-mode
8448 ;; x-display-pixel-width, x-display-pixel-height
8449 (arguments
8450 `(#:emacs ,emacs
8451 #:phases
8452 (modify-phases %standard-phases
8453 (add-after 'build 'install-xsession
8454 (lambda* (#:key inputs outputs #:allow-other-keys)
8455 (let* ((out (assoc-ref outputs "out"))
8456 (xsessions (string-append out "/share/xsessions"))
8457 (bin (string-append out "/bin"))
8458 (exwm-executable (string-append bin "/exwm")))
8459 ;; Add a .desktop file to xsessions
8460 (mkdir-p xsessions)
8461 (mkdir-p bin)
8462 (with-output-to-file
8463 (string-append xsessions "/exwm.desktop")
8464 (lambda _
8465 (format #t "[Desktop Entry]~@
8466 Name=~a~@
8467 Comment=~a~@
8468 Exec=~a~@
8469 TryExec=~:*~a~@
8470 Type=Application~%" ,name ,synopsis exwm-executable)))
8471 ;; Add a shell wrapper to bin
8472 (with-output-to-file exwm-executable
8473 (lambda _
8474 (format #t "#!~a ~@
8475 ~a +SI:localuser:$USER ~@
8476 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
8477 (string-append (assoc-ref inputs "bash") "/bin/sh")
8478 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
8479 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
8480 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
8481 '(cond
8482 ((file-exists-p "~/.exwm")
8483 (load-file "~/.exwm"))
8484 ((not (featurep 'exwm))
8485 (require 'exwm)
8486 (require 'exwm-config)
8487 (exwm-config-default)
8488 (message (concat "exwm configuration not found. "
8489 "Falling back to default configuration...")))))))
8490 (chmod exwm-executable #o555)
8491 #t))))))
8492 (home-page "https://github.com/ch11ng/exwm")
8493 (description "EXWM is a full-featured tiling X window manager for Emacs
8494 built on top of XELB.")
8495 (license license:gpl3+)))
8496
8497 (define-public emacs-switch-window
8498 (package
8499 (name "emacs-switch-window")
8500 (version "1.6.2")
8501 (source
8502 (origin
8503 (method git-fetch)
8504 (uri (git-reference
8505 (url "https://github.com/dimitri/switch-window")
8506 (commit (string-append "v" version))))
8507 (file-name (git-file-name name version))
8508 (sha256
8509 (base32
8510 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
8511 (build-system emacs-build-system)
8512 (home-page "https://github.com/dimitri/switch-window")
8513 (synopsis "Emacs window switch tool")
8514 (description "Switch-window is an emacs window switch tool, which
8515 offer a visual way to choose a window to switch to, delete, split or
8516 other operations.")
8517 (license license:wtfpl2)))
8518
8519 (define-public emacs-exwm-x
8520 (package
8521 (name "emacs-exwm-x")
8522 (version "1.9.0")
8523 (synopsis "Derivative window manager based on EXWM")
8524 (source
8525 (origin
8526 (method git-fetch)
8527 (uri (git-reference
8528 (url "https://github.com/tumashu/exwm-x")
8529 (commit (string-append "v" version))))
8530 (file-name (git-file-name name version))
8531 (sha256
8532 (base32
8533 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
8534 (build-system emacs-build-system)
8535 (propagated-inputs
8536 `(("emacs-exwm" ,emacs-exwm)
8537 ("emacs-switch-window" ,emacs-switch-window)
8538 ("emacs-ivy" ,emacs-ivy)
8539 ("emacs-use-package" ,emacs-use-package)))
8540 (inputs
8541 `(("xhost" ,xhost)
8542 ("dbus" ,dbus)))
8543 ;; Need emacs instead of emacs-minimal,
8544 ;; for emacs's bin path will be inserted into bin/exwm-x file.
8545 (arguments
8546 `(#:emacs ,emacs
8547 #:phases
8548 (modify-phases %standard-phases
8549 (add-after 'build 'install-xsession
8550 (lambda* (#:key inputs outputs #:allow-other-keys)
8551 (let* ((out (assoc-ref outputs "out"))
8552 (xsessions (string-append out "/share/xsessions"))
8553 (bin (string-append out "/bin"))
8554 (exwm-executable (string-append bin "/exwm-x")))
8555 ;; Add a .desktop file to xsessions
8556 (mkdir-p xsessions)
8557 (mkdir-p bin)
8558 (with-output-to-file
8559 (string-append xsessions "/exwm-x.desktop")
8560 (lambda _
8561 (format #t "[Desktop Entry]~@
8562 Name=~a~@
8563 Comment=~a~@
8564 Exec=~a~@
8565 TryExec=~@*~a~@
8566 Type=Application~%" ,name ,synopsis exwm-executable)))
8567 ;; Add a shell wrapper to bin
8568 (with-output-to-file exwm-executable
8569 (lambda _
8570 (format #t "#!~a ~@
8571 ~a +SI:localuser:$USER ~@
8572 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
8573 (string-append (assoc-ref inputs "bash") "/bin/sh")
8574 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
8575 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
8576 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
8577 '(require 'exwmx-loader))))
8578 (chmod exwm-executable #o555)
8579 #t))))))
8580 (home-page "https://github.com/tumashu/exwm-x")
8581 (description "EXWM-X is a derivative window manager based on EXWM, with focus
8582 on mouse-control.")
8583 (license license:gpl3+)))
8584
8585 (define-public emacs-gnugo
8586 (package
8587 (name "emacs-gnugo")
8588 (version "3.1.0")
8589 (source
8590 (origin
8591 (method url-fetch)
8592 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
8593 version ".tar"))
8594 (sha256
8595 (base32
8596 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
8597 (build-system emacs-build-system)
8598 (arguments
8599 `(#:phases (modify-phases %standard-phases
8600 (add-after 'unpack 'configure-default-gnugo-xpms-variable
8601 (lambda _
8602 (substitute* "gnugo.el"
8603 (("defvar gnugo-xpms nil")
8604 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
8605 #t)))))
8606 (propagated-inputs
8607 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
8608 ("emacs-xpm" ,emacs-xpm)))
8609 (home-page "https://elpa.gnu.org/packages/gnugo.html")
8610 (synopsis "Emacs major mode for playing GNU Go")
8611 (description "This package provides an Emacs based interface for GNU Go.
8612 It has a graphical mode where the board and stones are drawn using XPM images
8613 and supports the use of a mouse.")
8614 (license license:gpl3+)))
8615
8616 (define-public emacs-gnuplot
8617 (package
8618 (name "emacs-gnuplot")
8619 (version "0.7.0")
8620 (source
8621 (origin
8622 (method git-fetch)
8623 (uri (git-reference
8624 (url "https://github.com/bruceravel/gnuplot-mode.git")
8625 (commit version)))
8626 (file-name (git-file-name name version))
8627 (sha256
8628 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
8629 (build-system gnu-build-system)
8630 (native-inputs `(("emacs" ,emacs-minimal)))
8631 (arguments
8632 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
8633 "/gnuplot-" version)))
8634 `(#:modules ((guix build gnu-build-system)
8635 (guix build utils)
8636 (guix build emacs-utils))
8637 #:imported-modules (,@%gnu-build-system-modules
8638 (guix build emacs-utils))
8639 #:configure-flags
8640 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
8641 "/bin/emacs")
8642 (string-append "--with-lispdir=" %output ,elisp-dir))
8643 #:phases
8644 (modify-phases %standard-phases
8645 (add-after 'install 'generate-autoloads
8646 (lambda* (#:key outputs #:allow-other-keys)
8647 (emacs-generate-autoloads
8648 "gnuplot"
8649 (string-append (assoc-ref outputs "out") ,elisp-dir))
8650 #t))))))
8651 (home-page "https://github.com/bruceravel/gnuplot-mode")
8652 (synopsis "Emacs major mode for interacting with gnuplot")
8653 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
8654 with gnuplot.")
8655 (license license:gpl2+)))
8656
8657 (define-public emacs-transpose-frame
8658 (package
8659 (name "emacs-transpose-frame")
8660 (version "0.1.0")
8661 (source
8662 (origin
8663 (method url-fetch)
8664 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
8665 (file-name (string-append "transpose-frame-" version ".el"))
8666 (sha256
8667 (base32
8668 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
8669 (build-system emacs-build-system)
8670 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
8671 (synopsis "Transpose window arrangement in current frame")
8672 (description "@code{emacs-transpose-frame} provides some interactive
8673 functions which allows users to transpose windows arrangement in currently
8674 selected frame.")
8675 (license license:bsd-2)))
8676
8677 (define-public emacs-key-chord
8678 (package
8679 (name "emacs-key-chord")
8680 (version "0.6")
8681 (source
8682 (origin
8683 (method url-fetch)
8684 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
8685 (file-name (string-append "key-chord-" version ".el"))
8686 (sha256
8687 (base32
8688 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
8689 (build-system emacs-build-system)
8690 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
8691 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
8692 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
8693 mode for binding key chords to commands. A key chord is defined as two keys
8694 pressed simultaneously or a single key quickly pressed twice.")
8695 (license license:gpl2+)))
8696
8697 (define-public emacs-evil-surround
8698 (package
8699 (name "emacs-evil-surround")
8700 (version "1.0.4")
8701 (source
8702 (origin
8703 (method git-fetch)
8704 (uri (git-reference
8705 (url "https://github.com/emacs-evil/evil-surround")
8706 (commit version)))
8707 (file-name (git-file-name name version))
8708 (sha256
8709 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
8710 (build-system emacs-build-system)
8711 (propagated-inputs
8712 `(("emacs-evil" ,emacs-evil)))
8713 (home-page "https://github.com/emacs-evil/evil-surround")
8714 (synopsis "Easily modify surrounding parentheses and quotes")
8715 (description "@code{emacs-evil-surround} allows easy deletion, change and
8716 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
8717 (license license:gpl3+)))
8718
8719 (define-public emacs-evil-commentary
8720 (package
8721 (name "emacs-evil-commentary")
8722 (version "2.1.1")
8723 (source
8724 (origin
8725 (method git-fetch)
8726 (uri (git-reference
8727 (url "https://github.com/linktohack/evil-commentary.git")
8728 (commit (string-append "v" version))))
8729 (file-name (git-file-name name version))
8730 (sha256
8731 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
8732 (build-system emacs-build-system)
8733 (propagated-inputs
8734 `(("emacs-evil" ,emacs-evil)))
8735 (home-page "https://github.com/linktohack/evil-commentary")
8736 (synopsis "Comment out code in evil mode")
8737 (description "@code{emacs-evil-commentary} adds keybindings to easily
8738 comment out lines of code in evil mode. It provides @code{gcc} to comment out
8739 lines, and @code{gc} to comment out the target of a motion.")
8740 (license license:gpl3+)))
8741
8742 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
8743 ;; therefore cannot be run
8744 (define-public emacs-ansi
8745 (package
8746 (name "emacs-ansi")
8747 (version "0.4.1")
8748 (source
8749 (origin
8750 (method git-fetch)
8751 (uri (git-reference
8752 (url "https://github.com/rejeep/ansi.el.git")
8753 (commit (string-append "v" version))))
8754 (file-name (git-file-name name version))
8755 (sha256
8756 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
8757 (build-system emacs-build-system)
8758 (propagated-inputs
8759 `(("emacs-dash" ,emacs-dash)
8760 ("emacs-s" ,emacs-s)))
8761 (home-page "https://github.com/rejeep/ansi.el")
8762 (synopsis "Convert strings to ANSI")
8763 (description "@code{emacs-ansi} defines functions that turns simple
8764 strings to ANSI strings. Turning a string into an ANSI string can be to add
8765 color to a text, add color in the background of a text or adding a style, such
8766 as bold, underscore or italic.")
8767 (license license:gpl3+)))
8768
8769 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
8770 ;; therefore cannot be run
8771 (define-public emacs-commander
8772 (package
8773 (name "emacs-commander")
8774 (version "0.7.0")
8775 (source
8776 (origin
8777 (method git-fetch)
8778 (uri (git-reference
8779 (url "https://github.com/rejeep/commander.el.git")
8780 (commit (string-append "v" version))))
8781 (file-name (git-file-name name version))
8782 (sha256
8783 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
8784 (build-system emacs-build-system)
8785 (propagated-inputs
8786 `(("emacs-dash" ,emacs-dash)
8787 ("emacs-f" ,emacs-f)
8788 ("emacs-s" ,emacs-s)))
8789 (home-page "https://github.com/rejeep/commander.el")
8790 (synopsis "Emacs command line parser")
8791 (description "@code{emacs-commander} provides command line parsing for
8792 Emacs.")
8793 (license license:gpl3+)))
8794
8795 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
8796 ;; cannot be run
8797 (define-public emacs-ert-runner
8798 (let ((version "0.7.0")
8799 (revision "1")
8800 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
8801 (package
8802 (name "emacs-ert-runner")
8803 (version (git-version "0.7.0" revision commit))
8804 (source
8805 (origin
8806 (method git-fetch)
8807 (uri (git-reference
8808 (url "https://github.com/rejeep/ert-runner.el.git")
8809 (commit commit)))
8810 (file-name (git-file-name name version))
8811 (sha256
8812 (base32
8813 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
8814 (build-system emacs-build-system)
8815 (inputs
8816 `(("emacs-ansi" ,emacs-ansi)
8817 ("emacs-commander" ,emacs-commander)
8818 ("emacs-dash" ,emacs-dash)
8819 ("emacs-f" ,emacs-f)
8820 ("emacs-s" ,emacs-s)
8821 ("emacs-shut-up" ,emacs-shut-up)))
8822 (arguments
8823 `(#:phases
8824 (modify-phases %standard-phases
8825 (add-after 'install 'install-executable
8826 (lambda* (#:key inputs outputs #:allow-other-keys)
8827 (let ((out (assoc-ref outputs "out"))
8828 (source-directory (string-append
8829 (getenv "TMPDIR") "/source")))
8830 (substitute* "bin/ert-runner"
8831 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
8832 (string-append "ERT_RUNNER=\"" out
8833 "/share/emacs/site-lisp/guix.d/ert-runner-"
8834 ,version)))
8835 (install-file "bin/ert-runner" (string-append out "/bin"))
8836 (wrap-program (string-append out "/bin/ert-runner")
8837 (list "EMACSLOADPATH" ":" 'prefix
8838 ;; Do not capture the transient source directory in
8839 ;; the wrapper.
8840 (delete source-directory
8841 (string-split (getenv "EMACSLOADPATH") #\:))))
8842 #t))))
8843 #:include (cons* "^reporters/.*\\.el$" %default-include)))
8844 (home-page "https://github.com/rejeep/ert-runner.el")
8845 (synopsis "Opinionated Ert testing workflow")
8846 (description "@code{ert-runner} is a tool for Emacs projects tested
8847 using ERT. It assumes a certain test structure setup and can therefore make
8848 running tests easier.")
8849 (license license:gpl3+))))
8850
8851 (define-public ert-runner
8852 (deprecated-package "ert-runner" emacs-ert-runner))
8853
8854 (define-public emacs-xtest
8855 (package
8856 (name "emacs-xtest")
8857 (version "1.1.0")
8858 (source (origin
8859 (method git-fetch)
8860 (uri (git-reference
8861 (url "https://github.com/promethial/xtest.git")
8862 (commit (string-append "v" version))))
8863 (file-name (git-file-name name version))
8864 (sha256
8865 (base32
8866 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
8867 (arguments
8868 `(#:exclude '()))
8869 (build-system emacs-build-system)
8870 (home-page "https://github.com/promethial/xtest/")
8871 (synopsis "Simple testing with Emacs")
8872 (description "This package provides a simple testing library for Emacs.")
8873 (license license:gpl3+)))
8874
8875 (define-public emacs-disable-mouse
8876 (package
8877 (name "emacs-disable-mouse")
8878 (version "0.2")
8879 (source
8880 (origin
8881 (method git-fetch)
8882 (uri (git-reference
8883 (url "https://github.com/purcell/disable-mouse.git")
8884 (commit version)))
8885 (file-name (git-file-name name version))
8886 (sha256
8887 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
8888 (build-system emacs-build-system)
8889 (home-page "https://github.com/purcell/disable-mouse")
8890 (synopsis "Disable mouse commands globally")
8891 (description
8892 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
8893 pair of minor modes which suppress all mouse events by intercepting them and
8894 running a customisable handler command (@code{ignore} by default). ")
8895 (license license:gpl3+)))
8896
8897 (define-public emacs-json-reformat
8898 (package
8899 (name "emacs-json-reformat")
8900 (version "0.0.6")
8901 (source
8902 (origin
8903 (method git-fetch)
8904 (uri (git-reference
8905 (url "https://github.com/gongo/json-reformat.git")
8906 (commit version)))
8907 (file-name (git-file-name name version))
8908 (sha256
8909 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
8910 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
8911 (build-system emacs-build-system)
8912 (propagated-inputs
8913 `(("emacs-undercover" ,emacs-undercover)))
8914 (native-inputs
8915 `(("emacs-dash" ,emacs-dash)
8916 ("emacs-shut-up" ,emacs-shut-up)
8917 ("ert-runner" ,emacs-ert-runner)))
8918 (arguments
8919 `(#:tests? #t
8920 #:test-command '("ert-runner")
8921 #:phases
8922 (modify-phases %standard-phases
8923 (add-before 'check 'make-tests-writable
8924 (lambda _
8925 (for-each make-file-writable (find-files "test"))
8926 #t))
8927 (add-before 'check 'delete-json-objects-order-test
8928 (lambda _
8929 (emacs-batch-edit-file "test/json-reformat-test.el"
8930 `(progn (progn (goto-char (point-min))
8931 (re-search-forward
8932 "ert-deftest json-reformat-test:json-reformat-region")
8933 (beginning-of-line)
8934 (kill-sexp))
8935 (basic-save-buffer)))
8936 #t)))))
8937 (home-page "https://github.com/gongo/json-reformat")
8938 (synopsis "Reformatting tool for JSON")
8939 (description "@code{json-reformat} provides a reformatting tool for
8940 @url{http://json.org/, JSON}.")
8941 (license license:gpl3+)))
8942
8943 (define-public emacs-json-snatcher
8944 (package
8945 (name "emacs-json-snatcher")
8946 (version "1.0.0")
8947 (source
8948 (origin
8949 (method git-fetch)
8950 (uri (git-reference
8951 (url "https://github.com/Sterlingg/json-snatcher.git")
8952 (commit version)))
8953 (file-name (git-file-name name version))
8954 (sha256
8955 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
8956 (build-system emacs-build-system)
8957 (home-page "https://github.com/sterlingg/json-snatcher")
8958 (synopsis "Grabs the path to JSON values in a JSON file")
8959 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
8960 a @url{http://json.org/, JSON} file.")
8961 (license license:gpl3+)))
8962
8963 (define-public emacs-json-mode
8964 (package
8965 (name "emacs-json-mode")
8966 (version "1.7.0")
8967 (source
8968 (origin
8969 (method git-fetch)
8970 (uri (git-reference
8971 (url "https://github.com/joshwnj/json-mode.git")
8972 (commit (string-append "v" version))))
8973 (file-name (git-file-name name version))
8974 (sha256
8975 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
8976 (build-system emacs-build-system)
8977 (propagated-inputs
8978 `(("emacs-json-reformat" ,emacs-json-reformat)
8979 ("emacs-json-snatcher" ,emacs-json-snatcher)))
8980 (home-page "https://github.com/joshwnj/json-mode")
8981 (synopsis "Major mode for editing JSON files")
8982 (description "@code{json-mode} extends the builtin js-mode syntax
8983 highlighting.")
8984 (license license:gpl3+)))
8985
8986 (define-public emacs-restclient
8987 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
8988 (version "0")
8989 (revision "2")) ;Guix package revision,
8990 ;upstream doesn't have official releases
8991 (package
8992 (name "emacs-restclient")
8993 (version (git-version version revision commit))
8994 (source (origin
8995 (method git-fetch)
8996 (uri (git-reference
8997 (url "https://github.com/pashky/restclient.el.git")
8998 (commit commit)))
8999 (sha256
9000 (base32
9001 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
9002 (file-name (git-file-name name version))))
9003 (build-system emacs-build-system)
9004 (propagated-inputs
9005 `(("emacs-helm" ,emacs-helm)))
9006 (home-page "https://github.com/pashky/restclient.el")
9007 (synopsis "Explore and test HTTP REST webservices")
9008 (description
9009 "This tool allows for testing and exploration of HTTP REST Web services
9010 from within Emacs. Restclient runs queries from a plan-text query sheet,
9011 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
9012 (license license:public-domain))))
9013
9014 (define-public emacs-whitespace-cleanup-mode
9015 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
9016 (revision "1"))
9017 (package
9018 (name "emacs-whitespace-cleanup-mode")
9019 (version (git-version "0.10" revision commit))
9020 (source (origin
9021 (method git-fetch)
9022 (uri (git-reference
9023 (url "https://github.com/purcell/whitespace-cleanup-mode")
9024 (commit commit)))
9025 (sha256
9026 (base32
9027 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
9028 (file-name (git-file-name name version))))
9029 (build-system emacs-build-system)
9030 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
9031 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
9032 (description
9033 "This package provides a minor mode that calls
9034 @code{whitespace-cleanup} before saving the current buffer only if the
9035 whitespace in the buffer was initially clean.")
9036 (license license:gpl3+))))
9037
9038 (define-public emacs-eimp
9039 (let ((version "1.4.0")
9040 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
9041 (revision "1"))
9042 (package
9043 (name "emacs-eimp")
9044 (version (git-version version revision commit))
9045 (source
9046 (origin
9047 (method git-fetch)
9048 (uri (git-reference
9049 (url "https://github.com/nicferrier/eimp.git")
9050 (commit commit)))
9051 (file-name (git-file-name name version))
9052 (sha256
9053 (base32
9054 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
9055 (build-system emacs-build-system)
9056 (arguments
9057 `(#:phases
9058 (modify-phases %standard-phases
9059 (add-after 'unpack 'configure
9060 (lambda* (#:key inputs #:allow-other-keys)
9061 (let ((imagemagick (assoc-ref inputs "imagemagick")))
9062 ;; eimp.el is read-only in git.
9063 (chmod "eimp.el" #o644)
9064 (emacs-substitute-variables "eimp.el"
9065 ("eimp-mogrify-program"
9066 (string-append imagemagick "/bin/mogrify"))))
9067 #t)))))
9068 (inputs
9069 `(("imagemagick" ,imagemagick)))
9070 (home-page "https://github.com/nicferrier/eimp")
9071 (synopsis "Interactive image manipulation utility for Emacs")
9072 (description "@code{emacs-eimp} allows interactive image manipulation
9073 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
9074 the actual transformations.")
9075 (license license:gpl2+))))
9076
9077 (define-public emacs-dired-hacks
9078 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
9079 (revision "2"))
9080 (package
9081 (name "emacs-dired-hacks")
9082 (version (git-version "0.0.1" revision commit))
9083 (source (origin
9084 (method git-fetch)
9085 (uri (git-reference
9086 (url "https://github.com/Fuco1/dired-hacks.git")
9087 (commit commit)))
9088 (file-name (git-file-name name version))
9089 (sha256
9090 (base32
9091 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
9092 (build-system emacs-build-system)
9093 (propagated-inputs
9094 `(("emacs-dash" ,emacs-dash)
9095 ("emacs-eimp" ,emacs-eimp)
9096 ("emacs-f" ,emacs-f)
9097 ("emacs-s" ,emacs-s)))
9098 (home-page "https://github.com/Fuco1/dired-hacks")
9099 (synopsis
9100 "Collection of useful dired additions")
9101 (description
9102 "This package provides the following collection of Emacs dired mode
9103 additions:
9104
9105 @itemize
9106 @item dired-avfs
9107 @item dired-columns
9108 @item dired-filter
9109 @item dired-hacks-utils
9110 @item dired-images
9111 @item dired-list
9112 @item dired-narrow
9113 @item dired-open
9114 @item dired-rainbow
9115 @item dired-ranger
9116 @item dired-subtree
9117 @item dired-tagsistant
9118 @end itemize\n")
9119 (license license:gpl3+))))
9120
9121 (define-public emacs-dired-sidebar
9122 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
9123 (revision "0"))
9124 (package
9125 (name "emacs-dired-sidebar")
9126 (home-page "https://github.com/jojojames/dired-sidebar")
9127 (version (git-version "0.0.1" revision commit))
9128 (source (origin
9129 (method git-fetch)
9130 (uri (git-reference (url home-page) (commit commit)))
9131 (file-name (git-file-name name version))
9132 (sha256
9133 (base32
9134 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
9135 (build-system emacs-build-system)
9136 (propagated-inputs
9137 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
9138 (synopsis "Sidebar for Emacs using Dired")
9139 (description
9140 "This package provides a sidebar for Emacs similar to @code{NeoTree}
9141 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
9142 (license license:gpl3+))))
9143
9144 (define-public emacs-which-key
9145 (package
9146 (name "emacs-which-key")
9147 (version "3.3.1")
9148 (source
9149 (origin
9150 (method git-fetch)
9151 (uri (git-reference
9152 (url "https://github.com/justbur/emacs-which-key.git")
9153 (commit (string-append "v" version))))
9154 (file-name (git-file-name name version))
9155 (sha256
9156 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
9157 (build-system emacs-build-system)
9158 (arguments
9159 `(#:tests? #t
9160 #:test-command '("emacs" "--batch"
9161 "-l" "which-key-tests.el"
9162 "-f" "ert-run-tests-batch-and-exit")))
9163 (home-page "https://github.com/justbur/emacs-which-key")
9164 (synopsis "Display available key bindings in popup")
9165 (description
9166 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
9167 bindings following your currently entered incomplete command (a prefix) in a
9168 popup. For example, after enabling the minor mode if you enter C-x and wait
9169 for the default of 1 second, the minibuffer will expand with all of the
9170 available key bindings that follow C-x (or as many as space allows given your
9171 settings).")
9172 (license license:gpl3+)))
9173
9174 (define-public emacs-hercules
9175 (let ((commit "3345904a0dab4c7a4d4478f0766f1d9f5d1bb501")
9176 (revision "1"))
9177 (package
9178 (name "emacs-hercules")
9179 (version (git-version "0.2" revision commit))
9180 (source
9181 (origin
9182 (method git-fetch)
9183 (uri (git-reference
9184 (url "https://gitlab.com/jjzmajic/hercules.el.git")
9185 (commit commit)))
9186 (file-name (git-file-name name version))
9187 (sha256
9188 (base32 "0cpq8h6l47nqhzch6snax5yrhxl8p4wn35q13ci35lj3iq8kmlk8"))))
9189 (build-system emacs-build-system)
9190 (propagated-inputs
9191 `(("emacs-which-key" ,emacs-which-key)))
9192 (home-page "https://gitlab.com/jjzmajic/hercules.el")
9193 (synopsis "Call a chain of related commands without repeated prefix keys")
9194 (description
9195 "This package provides sticky-key-like functionality to obviate the
9196 need for repeated prefix-key sequences, and can reuse existing keymaps. The
9197 list of commands is displayed in a handy popup.")
9198 (license license:gpl3+))))
9199
9200 (define-public emacs-ws-butler
9201 (package
9202 (name "emacs-ws-butler")
9203 (version "0.6")
9204 (source (origin
9205 (method git-fetch)
9206 (uri (git-reference
9207 (url "https://github.com/lewang/ws-butler.git")
9208 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
9209 (file-name (git-file-name name version))
9210 (sha256
9211 (base32
9212 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
9213 (build-system emacs-build-system)
9214 (native-inputs
9215 `(("ert-runner" ,emacs-ert-runner)))
9216 (arguments
9217 `(#:tests? #t
9218 #:test-command '("ert-runner" "tests")))
9219 (home-page "https://github.com/lewang/ws-butler")
9220 (synopsis "Trim spaces from end of lines")
9221 (description
9222 "This Emacs package automatically and unobtrusively trims whitespace
9223 characters from end of lines.")
9224 (license license:gpl3+)))
9225
9226 (define-public emacs-org-edit-latex
9227 (package
9228 (name "emacs-org-edit-latex")
9229 (version "0.8.0")
9230 (source
9231 (origin
9232 (method git-fetch)
9233 (uri (git-reference
9234 (url "https://github.com/et2010/org-edit-latex.git")
9235 (commit (string-append "v" version))))
9236 (file-name (git-file-name name version))
9237 (sha256
9238 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
9239 (build-system emacs-build-system)
9240 (propagated-inputs
9241 `(("emacs-auctex" ,emacs-auctex)
9242 ;; The version of org in Emacs 25.2 is not sufficient, because the
9243 ;; `org-latex-make-preamble' function is required.
9244 ("emacs-org" ,emacs-org)))
9245 (home-page "https://github.com/et2010/org-edit-latex")
9246 (synopsis "Edit a latex fragment just like editing a src block")
9247 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
9248 It lets you edit a latex fragment in a dedicated buffer just like editing a
9249 src block.")
9250 (license license:gpl3+)))
9251
9252 (define-public emacs-emamux
9253 (package
9254 (name "emacs-emamux")
9255 (version "0.14")
9256 (source
9257 (origin
9258 (method git-fetch)
9259 (uri (git-reference
9260 (url "https://github.com/syohex/emacs-emamux.git")
9261 (commit version)))
9262 (file-name (git-file-name name version))
9263 (sha256
9264 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
9265 (build-system emacs-build-system)
9266 (home-page "https://github.com/syohex/emacs-emamux")
9267 (synopsis "Manipulate Tmux from Emacs")
9268 (description
9269 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
9270 multiplexer.")
9271 (license license:gpl3+)))
9272
9273 (define-public emacs-rpm-spec-mode
9274 (package
9275 (name "emacs-rpm-spec-mode")
9276 (version "0.16")
9277 (source
9278 (origin
9279 (method url-fetch)
9280 ;; URI has the Fedora release number instead of the version
9281 ;; number. This will have to updated manually every new release.
9282 (uri (string-append
9283 "https://src.fedoraproject.org/cgit/rpms"
9284 "/emacs-rpm-spec-mode.git/snapshot"
9285 "/emacs-rpm-spec-mode-f26.tar.gz"))
9286 (sha256
9287 (base32
9288 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
9289 (build-system emacs-build-system)
9290 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
9291 (synopsis "Emacs major mode for editing RPM spec files")
9292 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
9293 editing RPM spec files.")
9294 (license license:gpl2+)))
9295
9296 (define-public emacs-lcr
9297 (package
9298 (name "emacs-lcr")
9299 (version "1.1")
9300 (source
9301 (origin
9302 (method git-fetch)
9303 (uri (git-reference
9304 (url "https://github.com/jyp/lcr")
9305 (commit version)))
9306 (file-name (git-file-name name version))
9307 (sha256
9308 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
9309 (build-system emacs-build-system)
9310 (propagated-inputs
9311 `(("emacs-dash" ,emacs-dash)))
9312 (home-page "https://github.com/jyp/lcr")
9313 (synopsis "Lightweight coroutines in Emacs Lisp")
9314 (description "This package provides macros that can translate code into
9315 equivalent continuation-passing code, as well as miscellaneous utility
9316 functions written in continuation-passing style.")
9317 (license license:gpl3+)))
9318
9319 (define-public emacs-attrap
9320 (let ((commit "3b092bb8f6755a97e6ecb7623b9d2dde58beba4a")
9321 (revision "1"))
9322 (package
9323 (name "emacs-attrap")
9324 (version (git-version "1.0" revision commit))
9325 (source (origin
9326 (method git-fetch)
9327 (uri (git-reference
9328 (url "https://github.com/jyp/attrap")
9329 (commit commit)))
9330 (sha256
9331 (base32
9332 "05d32980saji8ja1pcv65l0s3dq7w0n5hpikbf246hciy1x067pp"))
9333 (file-name (git-file-name name version))))
9334 (build-system emacs-build-system)
9335 (propagated-inputs
9336 `(("emacs-dash" ,emacs-dash)
9337 ("emacs-f" ,emacs-f)
9338 ("emacs-flycheck" ,emacs-flycheck)
9339 ("emacs-s" ,emacs-s)))
9340 (home-page "https://github.com/jyp/attrap")
9341 (synopsis "Fix coding error at point")
9342 (description "This package provides a command to fix the Flycheck error
9343 at point.")
9344 (license license:gpl3+))))
9345
9346 (define-public emacs-git-messenger
9347 (package
9348 (name "emacs-git-messenger")
9349 (version "0.18")
9350 (source
9351 (origin
9352 (method git-fetch)
9353 (uri (git-reference
9354 (url "https://github.com/syohex/emacs-git-messenger.git")
9355 (commit version)))
9356 (file-name (git-file-name name version))
9357 (sha256
9358 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
9359 (build-system emacs-build-system)
9360 (propagated-inputs
9361 `(("emacs-popup" ,emacs-popup)))
9362 (arguments
9363 `(#:tests? #t
9364 #:test-command '("emacs" "--batch" "-l" "test/test.el"
9365 "-f" "ert-run-tests-batch-and-exit")))
9366 (home-page "https://github.com/syohex/emacs-git-messenger")
9367 (synopsis "Popup commit message at current line")
9368 (description "@code{emacs-git-messenger} provides
9369 @code{git-messenger:popup-message}, a function that when called, will popup
9370 the last git commit message for the current line. This uses git-blame
9371 internally.")
9372 (license license:gpl3+)))
9373
9374 (define-public emacs-gitpatch
9375 (package
9376 (name "emacs-gitpatch")
9377 (version "0.5.1")
9378 (source
9379 (origin
9380 (method git-fetch)
9381 (uri (git-reference
9382 (url "https://github.com/tumashu/gitpatch.git")
9383 (commit (string-append "v" version))))
9384 (file-name (git-file-name name version))
9385 (sha256
9386 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
9387 (build-system emacs-build-system)
9388 (home-page "https://github.com/tumashu/gitpatch")
9389 (synopsis "Mail git patch from Emacs")
9390 (description "@code{emacs-gitpatch} lets users easily send git patches,
9391 created by @code{git format-patch}, from @code{magit}, @code{dired} and
9392 @code{ibuffer} buffers.")
9393 (license license:gpl3+)))
9394
9395 (define-public emacs-erc-hl-nicks
9396 (package
9397 (name "emacs-erc-hl-nicks")
9398 (version "1.3.3")
9399 (source
9400 (origin
9401 (method git-fetch)
9402 (uri (git-reference
9403 (url "https://github.com/leathekd/erc-hl-nicks")
9404 (commit version)))
9405 (file-name (git-file-name name version))
9406 (sha256
9407 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
9408 (build-system emacs-build-system)
9409 (synopsis "Nickname highlighting for Emacs ERC")
9410 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
9411 client for Emacs. The main features are:
9412 @itemize
9413 @item Auto-colorizes nicknames without having to specify colors
9414 @item Ignores certain characters that IRC clients add to nicknames to avoid
9415 duplicates (nickname, nickname’, nickname\", etc.)
9416 @item Attempts to produce colors with a sufficient amount of contrast between
9417 the nick color and the background color
9418 @end itemize\n")
9419 (home-page "https://github.com/leathekd/erc-hl-nicks")
9420 (license license:gpl3+)))
9421
9422 (define-public emacs-engine-mode
9423 (package
9424 (name "emacs-engine-mode")
9425 (version "2.0.0")
9426 (source
9427 (origin
9428 (method git-fetch)
9429 (uri (git-reference
9430 (url "https://github.com/hrs/engine-mode.git")
9431 (commit (string-append "v" version))))
9432 (file-name (git-file-name name version))
9433 (sha256
9434 (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"))))
9435 (build-system emacs-build-system)
9436 (synopsis "Minor mode for defining and querying search engines")
9437 (description "@code{engine-mode} is a global minor mode for Emacs. It
9438 enables you to easily define search engines, bind them to keybindings, and
9439 query them from the comfort of your editor.")
9440 (home-page "https://github.com/hrs/engine-mode")
9441 (license license:gpl3+)))
9442
9443 (define-public emacs-prop-menu
9444 (package
9445 (name "emacs-prop-menu")
9446 (version "0.1.2")
9447 (source
9448 (origin
9449 (method url-fetch)
9450 (uri (string-append
9451 "http://stable.melpa.org/packages/prop-menu-"
9452 version ".el"))
9453 (sha256
9454 (base32
9455 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
9456 (build-system emacs-build-system)
9457 (home-page
9458 "https://github.com/david-christiansen/prop-menu-el")
9459 (synopsis
9460 "Create and display a context menu based on text and overlay properties")
9461 (description
9462 "This is a library for computing context menus based on text
9463 properties and overlays. The intended use is to have tools that
9464 annotate source code and others that use these annotations, without
9465 requiring a direct coupling between them, but maintaining
9466 discoverability.
9467
9468 Major modes that wish to use this library should first define an
9469 appropriate value for @code{prop-menu-item-functions}. Then, they should
9470 bind @code{prop-menu-by-completing-read} to an appropriate
9471 key. Optionally, a mouse pop-up can be added by binding
9472 @code{prop-menu-show-menu} to a mouse event.")
9473 (license license:gpl3+)))
9474
9475 (define-public emacs-idris-mode
9476 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
9477 (revision "0"))
9478 (package
9479 (name "emacs-idris-mode")
9480 (version (git-version "0.9.19" revision commit))
9481 (source
9482 (origin
9483 (method git-fetch)
9484 (uri (git-reference
9485 (url "https://github.com/idris-hackers/idris-mode.git")
9486 (commit commit)))
9487 (file-name (git-file-name name commit))
9488 (sha256
9489 (base32
9490 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
9491 (build-system emacs-build-system)
9492 (propagated-inputs
9493 `(("emacs-prop-menu" ,emacs-prop-menu)))
9494 (home-page
9495 "https://github.com/idris-hackers/idris-mode")
9496 (synopsis "Major mode for editing Idris code")
9497 (description
9498 "This is an Emacs mode for editing Idris code. It requires the latest
9499 version of Idris, and some features may rely on the latest Git version of
9500 Idris.")
9501 (license license:gpl3+))))
9502
9503 (define-public emacs-browse-at-remote
9504 (package
9505 (name "emacs-browse-at-remote")
9506 (version "0.10.0")
9507 (source
9508 (origin
9509 (method git-fetch)
9510 (uri (git-reference
9511 (url "https://github.com/rmuslimov/browse-at-remote.git")
9512 (commit version)))
9513 (file-name (git-file-name name version))
9514 (sha256
9515 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
9516 (build-system emacs-build-system)
9517 (propagated-inputs
9518 `(("emacs-f" ,emacs-f)
9519 ("emacs-s" ,emacs-s)))
9520 (native-inputs
9521 `(("ert-runner" ,emacs-ert-runner)))
9522 (arguments
9523 `(#:tests? #t
9524 #:test-command '("ert-runner")))
9525 (home-page "https://github.com/rmuslimov/browse-at-remote")
9526 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
9527 (description
9528 "This Emacs package allows you to open a target page on
9529 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
9530 It supports dired buffers and opens them in tree mode at destination.")
9531 (license license:gpl3+)))
9532
9533 (define-public emacs-tiny
9534 (package
9535 (name "emacs-tiny")
9536 (version "0.2.1")
9537 (source
9538 (origin
9539 (method url-fetch)
9540 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
9541 (sha256
9542 (base32
9543 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
9544 (build-system emacs-build-system)
9545 (home-page "https://github.com/abo-abo/tiny")
9546 (synopsis "Quickly generate linear ranges in Emacs")
9547 (description
9548 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
9549 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
9550 proficiency is an advantage, since you can transform your numeric range with
9551 an elisp expression.")
9552 (license license:gpl3+)))
9553
9554 (define-public emacs-emojify
9555 (package
9556 (name "emacs-emojify")
9557 (version "1.2")
9558 (source
9559 (origin
9560 (method git-fetch)
9561 (uri (git-reference
9562 (url "https://github.com/iqbalansari/emacs-emojify")
9563 (commit (string-append "v" version))))
9564 (file-name (git-file-name name version))
9565 (sha256
9566 (base32
9567 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
9568 (build-system emacs-build-system)
9569 (arguments
9570 `(#:include (cons "^data/" %default-include)))
9571 (propagated-inputs
9572 `(("emacs-ht" ,emacs-ht)))
9573 (home-page "https://github.com/iqbalansari/emacs-emojify")
9574 (synopsis "Display emojis in Emacs")
9575 (description "This package displays emojis in Emacs similar to how Github,
9576 Slack, and other websites do. It can display plain ASCII like @code{:)} as
9577 well as Github-style emojis like @code{:smile:}. It provides a minor mode
9578 @code{emojify-mode} to enable the display of emojis in a buffer.")
9579 (license license:gpl3+)))
9580
9581 (define-public emacs-make-it-so
9582 (let ((commit "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be")
9583 (version "0.1.0")
9584 (revision "1"))
9585 (package
9586 (name "emacs-make-it-so")
9587 (version (git-version version revision commit))
9588 (source
9589 (origin
9590 (method git-fetch)
9591 (uri (git-reference
9592 (url "https://github.com/abo-abo/make-it-so")
9593 (commit commit)))
9594 (sha256
9595 (base32
9596 "0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z"))))
9597 (build-system emacs-build-system)
9598 (arguments
9599 `(#:include (cons "^recipes/" %default-include)))
9600 (propagated-inputs
9601 `(("emacs-ivy" ,emacs-ivy)))
9602 (home-page "https://github.com/abo-abo/make-it-so")
9603 (synopsis "Transform files with Makefile recipes")
9604 (description "This package provides an interface for selecting from
9605 different conversion recipes, often including tools like @code{ffmpeg} or
9606 @code{convert}. The conversion command need only be written once, and
9607 subsequent invocations can be readily customized. Several recipes are
9608 included by default, and more can be readily added.")
9609 (license license:gpl3+))))
9610
9611 (define-public emacs-websocket
9612 (package
9613 (name "emacs-websocket")
9614 (version "1.10")
9615 (source
9616 (origin
9617 (method git-fetch)
9618 (uri (git-reference
9619 (url "https://github.com/ahyatt/emacs-websocket.git")
9620 (commit version)))
9621 (file-name (git-file-name name version))
9622 (sha256
9623 (base32
9624 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
9625 (build-system emacs-build-system)
9626 (home-page "http://elpa.gnu.org/packages/websocket.html")
9627 (synopsis "Emacs WebSocket client and server")
9628 (description "This is an Elisp library for WebSocket clients to talk to
9629 WebSocket servers, and for WebSocket servers to accept connections from
9630 WebSocket clients. This library is designed to be used by other library
9631 writers, to write applications that use WebSockets, and is not useful by
9632 itself.")
9633 (license license:gpl3+)))
9634
9635 (define-public emacs-oauth2
9636 (package
9637 (name "emacs-oauth2")
9638 (version "0.11")
9639 (source
9640 (origin
9641 (method url-fetch)
9642 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
9643 version ".el"))
9644 (sha256
9645 (base32
9646 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
9647 (build-system emacs-build-system)
9648 (home-page "http://elpa.gnu.org/packages/oauth2.html")
9649 (synopsis "OAuth 2.0 authorization protocol implementation")
9650 (description
9651 "This package provides an Elisp implementation of the OAuth 2.0 draft.
9652 The main entry point is @code{oauth2-auth-and-store} which will return a token
9653 structure. This token structure can be then used with
9654 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
9655 retrieve any data that need OAuth authentication to be accessed. If the token
9656 needs to be refreshed, the code handles it automatically and stores the new
9657 value of the access token.")
9658 (license license:gpl3+)))
9659
9660 (define-public emacs-circe
9661 (package
9662 (name "emacs-circe")
9663 (version "2.10")
9664 (source
9665 (origin
9666 (method git-fetch)
9667 (uri (git-reference
9668 (url "https://github.com/jorgenschaefer/circe.git")
9669 (commit (string-append "v" version))))
9670 (file-name (git-file-name name version))
9671 (sha256
9672 (base32
9673 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
9674 (build-system emacs-build-system)
9675 (arguments
9676 `(#:tests? #t
9677 #:test-command '("buttercup" "-L" ".")
9678 #:phases
9679 (modify-phases %standard-phases
9680 ;; The HOME environment variable should be set to an existing
9681 ;; directory for the tests to succeed.
9682 (add-before 'check 'set-home
9683 (lambda _
9684 (setenv "HOME" "/tmp")
9685 #t)))))
9686 (native-inputs
9687 `(("emacs-buttercup" ,emacs-buttercup)))
9688 ;; In order to securely connect to an IRC server using TLS, Circe requires
9689 ;; the GnuTLS binary.
9690 (propagated-inputs
9691 `(("gnutls" ,gnutls)))
9692 (home-page "https://github.com/jorgenschaefer/circe")
9693 (synopsis "Client for IRC in Emacs")
9694 (description "Circe is a Client for IRC in Emacs. It integrates well with
9695 the rest of the editor, using standard Emacs key bindings and indicating
9696 activity in channels in the status bar so it stays out of your way unless you
9697 want to use it.")
9698 (license license:gpl3+)))
9699
9700 (define-public emacs-tracking
9701 (package
9702 (inherit emacs-circe)
9703 (name "emacs-tracking")
9704 (arguments
9705 ;; "tracking.el" is a library extracted from Circe package. It requires
9706 ;; "shorten.el".
9707 `(#:include '("^shorten.el$" "^tracking.el$")
9708 ,@(package-arguments emacs-circe)))
9709 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
9710 (synopsis "Buffer tracking library")
9711 (description "@code{tracking.el} provides a way for different modes to
9712 notify the user that a buffer needs attention. The user then can cycle
9713 through them using @key{C-c C-SPC}.")
9714 (license license:gpl3+)))
9715
9716 (define-public emacs-slack
9717 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
9718 (revision "6"))
9719 (package
9720 (name "emacs-slack")
9721 (version (git-version "0.0.2" revision commit))
9722 (source (origin
9723 (method git-fetch)
9724 (uri (git-reference
9725 (url "https://github.com/yuya373/emacs-slack.git")
9726 (commit commit)))
9727 (file-name (git-file-name name commit))
9728 (sha256
9729 (base32
9730 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
9731 (build-system emacs-build-system)
9732 (arguments
9733 `(#:phases
9734 (modify-phases %standard-phases
9735 ;; HOME needs to exist for source compilation.
9736 (add-before 'build 'set-HOME
9737 (lambda _ (setenv "HOME" "/tmp") #t)))))
9738 (propagated-inputs
9739 `(("emacs-alert" ,emacs-alert)
9740 ("emacs-emojify" ,emacs-emojify)
9741 ("emacs-helm" ,emacs-helm)
9742 ("emacs-request" ,emacs-request)
9743 ("emacs-websocket" ,emacs-websocket)
9744 ("emacs-oauth2" ,emacs-oauth2)
9745 ("emacs-circe" ,emacs-circe)))
9746 (home-page "https://github.com/yuya373/emacs-slack")
9747 (synopsis "Slack client for Emacs")
9748 (description "This package provides an Emacs client for the Slack
9749 messaging service.")
9750 (license license:gpl3+))))
9751
9752 (define-public emacs-bash-completion
9753 (package
9754 (name "emacs-bash-completion")
9755 (version "2.1.0")
9756 (source
9757 (origin
9758 (method git-fetch)
9759 (uri (git-reference
9760 (url "https://github.com/szermatt/emacs-bash-completion.git")
9761 (commit version)))
9762 (file-name (git-file-name name version))
9763 (sha256
9764 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
9765 (inputs `(("bash" ,bash)))
9766 (build-system emacs-build-system)
9767 (arguments
9768 `(#:phases
9769 (modify-phases %standard-phases
9770 (add-after 'unpack 'make-git-checkout-writable
9771 (λ _
9772 (for-each make-file-writable (find-files "."))
9773 #t))
9774 (add-before 'install 'configure
9775 (lambda* (#:key inputs #:allow-other-keys)
9776 (let ((bash (assoc-ref inputs "bash")))
9777 (emacs-substitute-variables "bash-completion.el"
9778 ("bash-completion-prog" (string-append bash "/bin/bash"))))
9779 #t)))))
9780 (home-page "https://github.com/szermatt/emacs-bash-completion")
9781 (synopsis "Bash completion for the shell buffer")
9782 (description
9783 "@code{bash-completion} defines dynamic completion hooks for shell-mode
9784 and shell-command prompts that are based on Bash completion.")
9785 (license license:gpl2+)))
9786
9787 (define-public emacs-easy-kill
9788 (package
9789 (name "emacs-easy-kill")
9790 (version "0.9.3")
9791 (source (origin
9792 (method url-fetch)
9793 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
9794 version ".tar"))
9795 (sha256
9796 (base32
9797 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
9798 (build-system emacs-build-system)
9799 (home-page "https://github.com/leoliu/easy-kill")
9800 (synopsis "Kill and mark things easily in Emacs")
9801 (description
9802 "This package provides commands @code{easy-kill} and @code{easy-mark} to
9803 let users kill or mark things easily.")
9804 (license license:gpl3+)))
9805
9806 (define-public emacs-csv-mode
9807 (package
9808 (name "emacs-csv-mode")
9809 (version "1.7")
9810 (source
9811 (origin
9812 (method url-fetch)
9813 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
9814 version ".el"))
9815 (sha256
9816 (base32
9817 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
9818 (build-system emacs-build-system)
9819 (home-page
9820 "http://elpa.gnu.org/packages/csv-mode.html")
9821 (synopsis
9822 "Major mode for editing comma/char separated values")
9823 (description
9824 "This Emacs package implements CSV mode, a major mode for editing records
9825 in a generalized CSV (character-separated values) format.")
9826 (license license:gpl3+)))
9827
9828 (define-public emacs-transmission
9829 (package
9830 (name "emacs-transmission")
9831 (version "0.12.1")
9832 (source
9833 (origin
9834 (method git-fetch)
9835 (uri (git-reference
9836 (url "https://github.com/holomorph/transmission.git")
9837 (commit version)))
9838 (file-name (git-file-name name version))
9839 (sha256
9840 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
9841 (build-system emacs-build-system)
9842 (home-page "https://github.com/holomorph/transmission")
9843 (synopsis "Emacs interface to a Transmission session")
9844 (description "This package provides an Emacs interface to interact with a
9845 running session of the Transmission Bittorrent client.
9846
9847 Features:
9848
9849 @itemize
9850 @item List, add, start/stop, verify, remove torrents.
9851 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
9852 @item Navigate to the corresponding file list, torrent info, peer info
9853 contexts.
9854 @item Toggle downloading and set priorities for individual files.
9855 @end itemize\n")
9856 (license license:gpl3+)))
9857
9858 (define-public emacs-polymode
9859 (package
9860 (name "emacs-polymode")
9861 (version "0.2")
9862 (source (origin
9863 (method git-fetch)
9864 (uri (git-reference
9865 (url "https://github.com/polymode/polymode.git")
9866 (commit (string-append "v" version))))
9867 (file-name (git-file-name name version))
9868 (sha256
9869 (base32
9870 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
9871 (build-system emacs-build-system)
9872 (home-page "https://github.com/polymode/polymode")
9873 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
9874 (description
9875 "Polymode is an Emacs package that offers generic support for multiple
9876 major modes inside a single Emacs buffer. It is lightweight, object oriented
9877 and highly extensible. Creating a new polymode typically takes only a few
9878 lines of code. Polymode also provides extensible facilities for external
9879 literate programming tools for exporting, weaving and tangling.")
9880 (license license:gpl3+)))
9881
9882 (define-public emacs-polymode-ansible
9883 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
9884 (package
9885 (name "emacs-polymode-ansible")
9886 ;; No upstream version release yet.
9887 (version (git-version "0.1" "1" commit))
9888 (source
9889 (origin
9890 (method git-fetch)
9891 (uri (git-reference
9892 (url "https://gitlab.com/mavit/poly-ansible")
9893 (commit commit)))
9894 (file-name (git-file-name name version))
9895 (sha256
9896 (base32
9897 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
9898 (build-system emacs-build-system)
9899 (propagated-inputs
9900 `(("emacs-ansible-doc" ,emacs-ansible-doc)
9901 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
9902 ("emacs-polymode" ,emacs-polymode)
9903 ("emacs-yaml-mode" ,emacs-yaml-mode)))
9904 (properties '((upstream-name . "poly-ansible")))
9905 (home-page "https://gitlab.com/mavit/poly-ansible/")
9906 (synopsis "Polymode for Ansible - Jinja2 in YAML")
9907 (description
9908 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
9909 (license license:gpl3+))))
9910
9911 (define-public emacs-polymode-org
9912 (package
9913 (name "emacs-polymode-org")
9914 (version "0.2")
9915 (source
9916 (origin
9917 (method git-fetch)
9918 (uri (git-reference
9919 (url "https://github.com/polymode/poly-org.git")
9920 (commit (string-append "v" version))))
9921 (file-name (git-file-name name version))
9922 (sha256
9923 (base32
9924 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
9925 (build-system emacs-build-system)
9926 (propagated-inputs
9927 `(("emacs-polymode" ,emacs-polymode)))
9928 (properties '((upstream-name . "poly-org")))
9929 (home-page "https://github.com/polymode/poly-org")
9930 (synopsis "Polymode definitions for Org mode buffers")
9931 (description
9932 "Provides definitions for @code{emacs-polymode} to support
9933 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
9934 native modes of the blocks' languages while remaining inside the primary Org
9935 buffer.")
9936 (license license:gpl3+)))
9937
9938 (define-public eless
9939 (package
9940 (name "eless")
9941 (version "0.3")
9942 (source
9943 (origin
9944 (method git-fetch)
9945 (uri (git-reference
9946 (url "https://github.com/kaushalmodi/eless.git")
9947 (commit (string-append "v" version))))
9948 (file-name (git-file-name name version))
9949 (sha256
9950 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
9951 (build-system trivial-build-system)
9952 (inputs
9953 `(("bash" ,bash)))
9954 (arguments
9955 `(#:modules ((guix build utils))
9956 #:builder
9957 (begin
9958 (use-modules (guix build utils))
9959 (copy-recursively (assoc-ref %build-inputs "source") "source")
9960 (chdir "source")
9961 (substitute* "eless" (("/usr/bin/env bash")
9962 (string-append (assoc-ref %build-inputs "bash")
9963 "/bin/bash")))
9964 (install-file "eless" (string-append %output "/bin"))
9965 (install-file "doc/eless.info" (string-append %output "/share/info"))
9966 #t)))
9967 (home-page "https://github.com/kaushalmodi/eless")
9968 (synopsis "Use Emacs as a paginator")
9969 (description "@code{eless} provides a combination of Bash script
9970 and a minimal Emacs view-mode.
9971
9972 Feautures:
9973
9974 @itemize
9975 @item Independent of a user’s Emacs config.
9976 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
9977 @item Not require an Emacs server to be already running.
9978 @item Syntax highlighting.
9979 @item Org-mode file rendering.
9980 @item @code{man} page viewer.
9981 @item Info viewer.
9982 @item Dired, wdired, (batch edit symbolic links).
9983 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
9984 @item Filter log files lines matching a regexp.
9985 @item Auto-revert log files similar to @code{tail -f}.
9986 @item Quickly change frame and font sizes.
9987 @end itemize\n")
9988 (license license:expat)))
9989
9990 (define-public emacs-evil-matchit
9991 (package
9992 (name "emacs-evil-matchit")
9993 (version "2.3.3")
9994 (source
9995 (origin
9996 (method git-fetch)
9997 (uri (git-reference
9998 (url "https://github.com/redguardtoo/evil-matchit.git")
9999 (commit version)))
10000 (file-name (git-file-name name version))
10001 (sha256
10002 (base32 "04kllxd7vvziwqiff3vx60a0r6805wynsla73j8xkcz4yzk8q91r"))))
10003 (build-system emacs-build-system)
10004 (propagated-inputs
10005 `(("emacs-evil" ,emacs-evil)))
10006 (home-page "https://github.com/redguardtoo/evil-matchit")
10007 (synopsis "Vim matchit ported into Emacs")
10008 (description
10009 "@code{evil-matchit} is a minor mode for jumping between matching tags in
10010 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
10011 (license license:gpl3+)))
10012
10013 (define-public emacs-evil-smartparens
10014 (package
10015 (name "emacs-evil-smartparens")
10016 (version "0.4.0")
10017 (source
10018 (origin
10019 (method git-fetch)
10020 (uri (git-reference
10021 (url "https://github.com/expez/evil-smartparens.git")
10022 (commit version)))
10023 (file-name (git-file-name name version))
10024 (sha256
10025 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
10026 (build-system emacs-build-system)
10027 (propagated-inputs
10028 `(("emacs-evil" ,emacs-evil)
10029 ("emacs-smartparens" ,emacs-smartparens)))
10030 (home-page "https://github.com/expez/evil-smartparens")
10031 (synopsis "Emacs Evil integration for Smartparens")
10032 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
10033 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
10034 emulates Vim features and provides Vim-like key bindings.")
10035 (license license:gpl3+)))
10036
10037 (define-public emacs-evil-quickscope
10038 (package
10039 (name "emacs-evil-quickscope")
10040 (version "0.1.4")
10041 (source
10042 (origin
10043 (method git-fetch)
10044 (uri (git-reference
10045 (url "https://github.com/blorbx/evil-quickscope.git")
10046 (commit (string-append "v" version))))
10047 (file-name (git-file-name name version))
10048 (sha256
10049 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
10050 (build-system emacs-build-system)
10051 (propagated-inputs
10052 `(("emacs-evil" ,emacs-evil)))
10053 (arguments
10054 `(#:tests? #t
10055 #:test-command '("emacs" "--batch"
10056 "-l" "evil-quickscope-tests.el"
10057 "-f" "ert-run-tests-batch-and-exit")))
10058 (home-page "https://github.com/blorbx/evil-quickscope")
10059 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
10060 (description "@code{emacs-evil-quickscope} highlights targets for Evil
10061 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
10062 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
10063 features and provides Vim-like key bindings.")
10064 (license license:gpl3+)))
10065
10066 (define-public emacs-bongo
10067 (package
10068 (name "emacs-bongo")
10069 (version "1.0")
10070 (source
10071 (origin
10072 (method git-fetch)
10073 (uri (git-reference
10074 (url "https://github.com/dbrock/bongo.git")
10075 (commit version)))
10076 (file-name (git-file-name name version))
10077 (sha256
10078 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
10079 (build-system emacs-build-system)
10080 (home-page "https://github.com/dbrock/bongo")
10081 (synopsis "Media player for Emacs")
10082 (description
10083 "This package provides a flexible media player for Emacs. @code{Bongo}
10084 supports multiple backends such as @code{vlc}, @code{mpg123},
10085 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
10086 @code{afplay}.")
10087 (license license:gpl2+)))
10088
10089 (define-public emacs-groovy-modes
10090 (package
10091 (name "emacs-groovy-modes")
10092 (version "2.0")
10093 (source (origin
10094 (method url-fetch)
10095 (uri (string-append
10096 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
10097 "/archive/" version ".tar.gz"))
10098 (file-name (string-append name "-" version ".tar.gz"))
10099 (sha256
10100 (base32
10101 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
10102 (build-system emacs-build-system)
10103 (propagated-inputs
10104 `(("emacs-s" ,emacs-s)))
10105 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
10106 (synopsis "Groovy related modes for Emacs")
10107 (description
10108 "This package provides @code{groovy-mode} for syntax highlighting in
10109 Groovy source files, REPL integration with run-groovy and Grails project
10110 navigation with the grails mode.")
10111 (license license:gpl3+)))
10112
10113 (define-public groovy-emacs-modes
10114 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
10115
10116 (define-public emacs-org-tree-slide
10117 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
10118 (revision "0"))
10119 (package
10120 (name "emacs-org-tree-slide")
10121 (version (git-version "0.1" revision commit))
10122 (home-page "https://github.com/takaxp/org-tree-slide")
10123 (source (origin
10124 (method git-fetch)
10125 (uri (git-reference (url home-page) (commit commit)))
10126 (sha256
10127 (base32
10128 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
10129 (file-name (git-file-name name version))))
10130 (build-system emacs-build-system)
10131 (synopsis "Presentation tool for org-mode")
10132 (description
10133 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
10134 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
10135 @kbd{C-<} to jump to the next and previous slide.")
10136 (license license:gpl3+))))
10137
10138 (define-public emacs-scratch-el
10139 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
10140 (revision "1"))
10141 (package
10142 (name "emacs-scratch-el")
10143 (version (git-version "1.2" revision commit))
10144 (source (origin
10145 (method git-fetch)
10146 (uri (git-reference
10147 (url "https://github.com/ieure/scratch-el.git")
10148 (commit commit)))
10149 (file-name (git-file-name name version))
10150 (sha256
10151 (base32
10152 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
10153 (build-system emacs-build-system)
10154 (native-inputs
10155 `(("texinfo" ,texinfo)))
10156 (arguments
10157 '(#:phases
10158 (modify-phases %standard-phases
10159 (add-after 'install 'install-doc
10160 (lambda* (#:key outputs #:allow-other-keys)
10161 (unless (invoke "makeinfo" "scratch.texi")
10162 (error "makeinfo failed"))
10163 (install-file "scratch.info"
10164 (string-append (assoc-ref outputs "out")
10165 "/share/info"))
10166 #t)))))
10167 (home-page "https://github.com/ieure/scratch-el/")
10168 (synopsis "Create scratch buffers with the same mode as current buffer")
10169 (description "Scratch is an extension to Emacs that enables one to create
10170 scratch buffers that are in the same mode as the current buffer. This is
10171 notably useful when working on code in some language; you may grab code into a
10172 scratch buffer, and, by virtue of this extension, do so using the Emacs
10173 formatting rules for that language.")
10174 (license license:bsd-2))))
10175
10176 (define-public emacs-kv
10177 (package
10178 (name "emacs-kv")
10179 (version "0.0.19")
10180 (source
10181 (origin
10182 (method git-fetch)
10183 (uri (git-reference
10184 (url "https://github.com/nicferrier/emacs-kv.git")
10185 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
10186 (file-name (git-file-name name version))
10187 (sha256
10188 (base32
10189 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
10190 (build-system emacs-build-system)
10191 (arguments
10192 `(#:tests? #t
10193 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
10194 "-f" "ert-run-tests-batch-and-exit")))
10195 (home-page "https://github.com/nicferrier/emacs-kv")
10196 (synopsis "Key/Value data structures library for Emacs Lisp")
10197 (description "@code{emacs-kv} is a collection of tools for dealing with
10198 key/value data structures such as plists, alists and hash-tables in Emacs
10199 Lisp.")
10200 (license license:gpl3+)))
10201
10202 (define-public emacs-esxml
10203 (package
10204 (name "emacs-esxml")
10205 (version "0.3.4")
10206 (source (origin
10207 (method git-fetch)
10208 (uri (git-reference
10209 (url "https://github.com/tali713/esxml.git")
10210 (commit version)))
10211 (file-name (git-file-name name version))
10212 (sha256
10213 (base32
10214 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
10215 (build-system emacs-build-system)
10216 (arguments
10217 `(#:phases
10218 (modify-phases %standard-phases
10219 (add-after 'unpack 'fix-sources
10220 (lambda _
10221 ;; See: https://github.com/tali713/esxml/pull/28.
10222 (substitute* "css-lite.el"
10223 ((";;; main interface")
10224 (string-append ";;; main interface\n"
10225 "(require 'cl-lib)"))
10226 (("mapcan")
10227 "cl-mapcan")
10228 (("',\\(cl-mapcan #'process-css-rule rules\\)")
10229 "(cl-mapcan #'process-css-rule ',rules)"))
10230 (substitute* "esxml-form.el"
10231 ((",esxml-form-field-defn")
10232 "#'esxml-form-field-defn"))
10233 ;; See: https://github.com/tali713/esxml/issues/25
10234 (delete-file "esxpath.el")
10235 #t)))))
10236 (propagated-inputs
10237 `(("emacs-kv" ,emacs-kv)))
10238 (home-page "https://github.com/tali713/esxml/")
10239 (synopsis "SXML for EmacsLisp")
10240 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
10241 Simply, this is the easiest way to write HTML or XML in Lisp. This library
10242 uses the native form of XML representation as used by many libraries already
10243 included within Emacs. See @code{esxml-to-xml} for a concise description of
10244 the format.")
10245 (license license:gpl3+)))
10246
10247 (define-public emacs-nov-el
10248 (package
10249 (name "emacs-nov-el")
10250 (version "0.2.6")
10251 (source (origin
10252 (method git-fetch)
10253 (uri (git-reference
10254 (url "https://github.com/wasamasa/nov.el.git")
10255 (commit version)))
10256 (file-name (git-file-name name version))
10257 (sha256
10258 (base32
10259 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
10260 (build-system emacs-build-system)
10261 (arguments
10262 `(#:phases
10263 (modify-phases %standard-phases
10264 (add-after 'unpack 'embed-path-to-unzip
10265 (lambda _
10266 (substitute* "nov.el"
10267 (("\\(executable-find \"unzip\"\\)")
10268 (string-append "\"" (which "unzip") "\"")))
10269 #t)))))
10270 (propagated-inputs
10271 `(("emacs-dash" ,emacs-dash)
10272 ("emacs-esxml" ,emacs-esxml)))
10273 (inputs
10274 `(("unzip" ,unzip)))
10275 (home-page "https://github.com/wasamasa/nov.el/")
10276 (synopsis "Major mode for reading EPUBs in Emacs")
10277 (description "@code{nov.el} provides a major mode for reading EPUB
10278 documents.
10279
10280 Features:
10281
10282 @itemize
10283 @item Basic navigation (jump to TOC, previous/next chapter)
10284 @item Remembering and restoring the last read position
10285 @item Jump to next chapter when scrolling beyond end
10286 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
10287 @item Hyperlinks to internal and external targets
10288 @item Supports textual and image documents
10289 @item View source of document files
10290 @item Metadata display
10291 @item Image rescaling
10292 @end itemize
10293 ")
10294 (license license:gpl3+)))
10295
10296 (define-public epipe
10297 (package
10298 (name "epipe")
10299 (version "0.1.0")
10300 (source
10301 (origin
10302 (method git-fetch)
10303 (uri (git-reference
10304 (url "https://github.com/cute-jumper/epipe.git")
10305 (commit version)))
10306 (file-name (git-file-name name version))
10307 (sha256
10308 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
10309 (build-system trivial-build-system)
10310 (inputs
10311 `(("bash" ,bash)
10312 ("perl" ,perl)))
10313 (arguments
10314 `(#:modules
10315 ((guix build utils))
10316 #:builder
10317 (begin
10318 (use-modules (guix build utils))
10319 ;; Extract source.
10320 (copy-recursively (assoc-ref %build-inputs "source") "source")
10321 (chdir "source")
10322 ;; Patch shebangs.
10323 (substitute* "epipe"
10324 (("/usr/bin/env bash")
10325 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
10326 (patch-shebang "epipe.pl"
10327 (list (string-append (assoc-ref %build-inputs "perl")
10328 "/bin")))
10329 ;; Install.
10330 (for-each (lambda (file)
10331 (install-file file (string-append %output "/bin")))
10332 '("epipe" "epipe.pl"))
10333 #t)))
10334 (home-page "https://github.com/cute-jumper/epipe")
10335 (synopsis "Pipe to the @code{emacsclient}")
10336 (description "@code{epipe} provides an utility to use your editor in
10337 the pipeline, featuring the support for running @code{emacsclient}.")
10338 (license license:gpl3+)))
10339
10340 (define-public emacs-hcl-mode
10341 (package
10342 (name "emacs-hcl-mode")
10343 (version "0.03")
10344 (source
10345 (origin
10346 (method git-fetch)
10347 (uri (git-reference
10348 (url "https://github.com/syohex/emacs-hcl-mode.git")
10349 (commit version)))
10350 (file-name (git-file-name name version))
10351 (sha256
10352 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
10353 (build-system emacs-build-system)
10354 (home-page "https://github.com/syohex/emacs-hcl-mode")
10355 (synopsis "Major mode for the Hashicorp Configuration Language")
10356 (description
10357 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
10358 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
10359 highlighting and indentation support.")
10360 (license license:gpl3+)))
10361
10362 (define-public emacs-terraform-mode
10363 (package
10364 (name "emacs-terraform-mode")
10365 (version "0.06")
10366 (source
10367 (origin
10368 (method git-fetch)
10369 (uri (git-reference
10370 (url "https://github.com/syohex/emacs-terraform-mode.git")
10371 (commit version)))
10372 (file-name (git-file-name name version))
10373 (sha256
10374 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
10375 (build-system emacs-build-system)
10376 (propagated-inputs
10377 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
10378 (home-page "https://github.com/syohex/emacs-terraform-mode")
10379 (synopsis "Major mode for Terraform")
10380 (description
10381 "@code{emacs-terraform-mode} provides a major mode for working with
10382 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
10383 functionality is inherited from @code{hcl-mode}.")
10384 (license license:gpl3+)))
10385
10386 (define-public emacs-exec-path-from-shell
10387 (package
10388 (name "emacs-exec-path-from-shell")
10389 (version "1.12")
10390 (source
10391 (origin
10392 (method git-fetch)
10393 (uri (git-reference
10394 (url "https://github.com/purcell/exec-path-from-shell")
10395 (commit version)))
10396 (sha256
10397 (base32
10398 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
10399 (build-system emacs-build-system)
10400 (home-page "https://github.com/purcell/exec-path-from-shell")
10401 (synopsis "Get environment variables such as @var{PATH} from the shell")
10402 (description
10403 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
10404 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
10405 the like work as expected on systems on which Emacs is not guaranteed to
10406 inherit a login shell's environment variables. It also allows other
10407 environment variables to be retrieved from the shell, so that Emacs will see
10408 the same values you get in a terminal.")
10409 (license license:gpl3+)))
10410
10411 (define-public emacs-frog-menu
10412 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
10413 (revision "1"))
10414 (package
10415 (name "emacs-frog-menu")
10416 (version (git-version "0.2.9" revision commit))
10417 (source
10418 (origin
10419 (method git-fetch)
10420 (uri (git-reference
10421 (url "https://github.com/clemera/frog-menu")
10422 (commit commit)))
10423 (file-name (git-file-name name version))
10424 (sha256
10425 (base32
10426 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
10427 (build-system emacs-build-system)
10428 (propagated-inputs
10429 `(("emacs-posframe" ,emacs-posframe)
10430 ("emacs-avy" ,emacs-avy)))
10431 (home-page "https://github.com/clemera/frog-menu")
10432 (synopsis "Quickly pick items from ad hoc menus")
10433 (description
10434 "This package provides a popup offering a preview of a list of
10435 candidates on which user-defined dispatch actions can act.")
10436 (license license:gpl3+))))
10437
10438 (define-public emacs-frog-jump-buffer
10439 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
10440 (revision "1"))
10441 (package
10442 (name "emacs-frog-jump-buffer")
10443 (version (git-version "0.1.4" revision commit))
10444 (source
10445 (origin
10446 (method git-fetch)
10447 (uri (git-reference
10448 (url "https://github.com/waymondo/frog-jump-buffer")
10449 (commit commit)))
10450 (file-name (git-file-name name version))
10451 (sha256
10452 (base32
10453 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
10454 (build-system emacs-build-system)
10455 (propagated-inputs
10456 `(("emacs-dash" ,emacs-dash)
10457 ("emacs-frog-menu" ,emacs-frog-menu)
10458 ("emacs-avy" ,emacs-avy)))
10459 (home-page "https://github.com/waymondo/frog-jump-buffer")
10460 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
10461 (description
10462 "This package provides a preview window of buffers that can be switched
10463 to with quicklink-style selections.")
10464 (license license:gpl3+))))
10465
10466 (define-public emacs-deft
10467 (package
10468 (name "emacs-deft")
10469 (version "0.8")
10470 (source
10471 (origin
10472 (method url-fetch)
10473 (uri (string-append "https://stable.melpa.org/packages/deft-"
10474 version ".el"))
10475 (sha256
10476 (base32
10477 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
10478 (build-system emacs-build-system)
10479 (home-page "https://jblevins.org/projects/deft/")
10480 (synopsis "Quickly browse, filter, and edit plain text notes")
10481 (description
10482 "Deft is an Emacs mode for quickly browsing, filtering, and editing
10483 directories of plain text notes, inspired by Notational Velocity.")
10484 (license license:bsd-3)))
10485
10486 (define-public emacs-anzu
10487 (package
10488 (name "emacs-anzu")
10489 (version "0.62")
10490 (source
10491 (origin
10492 (method git-fetch)
10493 (uri (git-reference
10494 (url "https://github.com/syohex/emacs-anzu.git")
10495 (commit version)))
10496 (file-name (git-file-name name version))
10497 (sha256
10498 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
10499 (build-system emacs-build-system)
10500 (home-page "https://github.com/syohex/emacs-anzu")
10501 (synopsis "Show number of matches in mode-line while searching")
10502 (description
10503 "Anzu provides a minor mode which displays \"current match/total
10504 matches\" in the mode line in various search modes. This is an Emacs port of
10505 Anzu.zim.")
10506 (license license:gpl3+)))
10507
10508 (define-public emacs-ascii-art-to-unicode
10509 (package
10510 (name "emacs-ascii-art-to-unicode")
10511 (version "1.12")
10512 (source
10513 (origin
10514 (method url-fetch)
10515 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
10516 version ".el"))
10517 (sha256
10518 (base32
10519 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
10520 (build-system emacs-build-system)
10521 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
10522 (synopsis "ASCII to Unicode art converter for Emacs")
10523 (description "This Emacs package provides the commands @command{aa2u} and
10524 @command{aa2u-rectangle}. Both of these commands can be used to convert
10525 simple ASCII art line drawings to Unicode; the former works on the active
10526 region of the buffer, while the latter works on rectangular selections.")
10527 (license license:gpl3+)))
10528
10529 (define-public emacs-emmet-mode
10530 (package
10531 (name "emacs-emmet-mode")
10532 (version "1.0.8")
10533 (source (origin
10534 (method git-fetch)
10535 (uri (git-reference
10536 (url "https://github.com/smihica/emmet-mode.git")
10537 (commit version)))
10538 (file-name (git-file-name name version))
10539 (sha256
10540 (base32
10541 "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
10542 (build-system emacs-build-system)
10543 (home-page "https://github.com/smihica/emmet-mode")
10544 (synopsis "Unofficial Emmet's support for Emacs")
10545 (description
10546 "Unfold CSS-selector-like expressions to markup. It is intended to be
10547 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
10548 (license license:gpl3+)))
10549
10550 (define-public emacs-ergoemacs-mode
10551 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
10552 (revision "1"))
10553 (package
10554 (name "emacs-ergoemacs-mode")
10555 (version (git-version "5.16.10.12" revision commit))
10556 (source
10557 (origin
10558 (method git-fetch)
10559 (uri (git-reference
10560 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
10561 (commit commit)))
10562 (sha256
10563 (base32
10564 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
10565 (build-system emacs-build-system)
10566 (propagated-inputs
10567 `(("emacs-undo-tree" ,emacs-undo-tree)))
10568 (home-page "https://ergoemacs.github.io/")
10569 (synopsis "Emacs mode based on common modern interface and ergonomics")
10570 (description
10571 "This package provides an efficient Emacs keybinding set based on
10572 statistics of command frequency, and supports common shortcuts for open,
10573 close, copy, cut, paste, undo, redo.")
10574 (license license:gpl3+))))
10575
10576 (define-public emacs-password-store
10577 (package
10578 (name "emacs-password-store")
10579 (version "1.7.3")
10580 (source (origin
10581 (method url-fetch)
10582 (uri
10583 (string-append "https://git.zx2c4.com/password-store/snapshot/"
10584 "password-store-" version ".tar.xz"))
10585 (sha256
10586 (base32
10587 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
10588 (build-system emacs-build-system)
10589 (arguments
10590 `(#:phases
10591 (modify-phases %standard-phases
10592 (add-after 'unpack 'extract-el-file
10593 (lambda _
10594 (copy-file "contrib/emacs/password-store.el" "password-store.el")
10595 (delete-file-recursively "contrib")
10596 (delete-file-recursively "man")
10597 (delete-file-recursively "src")
10598 (delete-file-recursively "tests"))))))
10599 (propagated-inputs
10600 `(("emacs-f" ,emacs-f)
10601 ("emacs-s" ,emacs-s)
10602 ("emacs-with-editor" ,emacs-with-editor)
10603 ("password-store" ,password-store)))
10604 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
10605 (synopsis "Password store (pass) support for Emacs")
10606 (description
10607 "This package provides functions for working with pass (\"the
10608 standard Unix password manager\").")
10609 (license license:gpl2+)))
10610
10611 (define-public emacs-pass
10612 (package
10613 (name "emacs-pass")
10614 (version "1.8")
10615 (source
10616 (origin
10617 (method git-fetch)
10618 (uri (git-reference
10619 (url "https://github.com/NicolasPetton/pass.git")
10620 (commit version)))
10621 (file-name (git-file-name name version))
10622 (sha256
10623 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
10624 (build-system emacs-build-system)
10625 (propagated-inputs
10626 `(("emacs-password-store" ,emacs-password-store)
10627 ("emacs-f" ,emacs-f)))
10628 (home-page "https://github.com/NicolasPetton/pass")
10629 (synopsis "Major mode for @file{password-store.el}")
10630 (description "This is a major mode for managing password-store (pass)
10631 keychains. The keychain entries are displayed in a directory-like structure
10632 and can be consulted and modified.")
10633 (license license:gpl3+)))
10634
10635 (define-public emacs-evil-anzu
10636 (package
10637 (name "emacs-evil-anzu")
10638 (version "0.03")
10639 (source
10640 (origin
10641 (method git-fetch)
10642 (uri (git-reference
10643 (url "https://github.com/syohex/emacs-evil-anzu")
10644 (commit version)))
10645 (file-name (git-file-name name version))
10646 (sha256
10647 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
10648 (build-system emacs-build-system)
10649 (propagated-inputs
10650 `(("emacs-evil" ,emacs-evil)
10651 ("emacs-anzu" ,emacs-anzu)))
10652 (home-page "https://github.com/syohex/emacs-evil-anzu")
10653 (synopsis "Anzu for evil-mode")
10654 (description "@code{anzu} provides a minor mode that displays the current
10655 match and total match information in the mode-line in various search modes.")
10656 (license license:gpl3+)))
10657
10658 (define-public emacs-pg
10659 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
10660 (package
10661 (name "emacs-pg")
10662 (version (git-version "0.1" "1" commit))
10663 (source (origin
10664 (method git-fetch)
10665 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
10666 (commit commit)))
10667 (file-name (git-file-name name version))
10668 (sha256
10669 (base32
10670 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
10671 (build-system emacs-build-system)
10672 (home-page "https://github.com/cbbrowne/pg.el")
10673 (synopsis "Emacs Lisp interface for PostgreSQL")
10674 (description
10675 "This package provides an Emacs Lisp interface for PostgreSQL.")
10676 (license license:gpl3+))))
10677
10678 (define-public emacs-cl-generic
10679 (package
10680 (name "emacs-cl-generic")
10681 (version "0.3")
10682 (source
10683 (origin
10684 (method url-fetch)
10685 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
10686 version ".el"))
10687 (sha256
10688 (base32
10689 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
10690 (build-system emacs-build-system)
10691 (home-page "https://elpa.gnu.org/packages/seq.html")
10692 (synopsis
10693 "Forward @code{cl-generic} compatibility for Emacs before version 25")
10694 (description "This package provides a subset of the features of the
10695 @code{cl-generic} package introduced in Emacs-25, for use on previous
10696 @code{emacsen}.")
10697 (license license:gpl3+)))
10698
10699 (define-public emacs-finalize
10700 (package
10701 (name "emacs-finalize")
10702 (version "2.0.0")
10703 (source
10704 (origin
10705 (method git-fetch)
10706 (uri (git-reference
10707 (url "https://github.com/skeeto/elisp-finalize.git")
10708 (commit version)))
10709 (file-name (git-file-name name version))
10710 (sha256
10711 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
10712 (build-system emacs-build-system)
10713 (propagated-inputs
10714 `(("emacs-cl-generic" ,emacs-cl-generic)))
10715 (home-page "https://github.com/skeeto/elisp-finalize")
10716 (synopsis "Finalizers for Emacs Lisp")
10717 (description
10718 "This package will allows to immediately run a callback (a finalizer)
10719 after its registered lisp object has been garbage collected. This allows for
10720 extra resources, such as buffers and processes, to be cleaned up after the
10721 object has been freed.")
10722 (license license:unlicense)))
10723
10724 (define-public emacs-emacsql
10725 (package
10726 (name "emacs-emacsql")
10727 (version "3.0.0")
10728 (source (origin
10729 (method git-fetch)
10730 (uri (git-reference
10731 (url "https://github.com/skeeto/emacsql.git")
10732 (commit (string-append version))))
10733 (file-name (git-file-name name version))
10734 (sha256
10735 (base32
10736 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
10737 (build-system emacs-build-system)
10738 (arguments
10739 `(#:modules ((guix build emacs-build-system)
10740 (guix build utils)
10741 (guix build emacs-utils)
10742 (srfi srfi-26))
10743 #:phases
10744 (modify-phases %standard-phases
10745 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
10746 (add-before 'install 'patch-elisp-shell-shebangs
10747 (lambda _
10748 (substitute* (find-files "." "\\.el")
10749 (("/bin/sh") (which "sh")))
10750 #t))
10751 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
10752 (lambda _
10753 (setenv "SHELL" "sh")))
10754 (add-after 'setenv-shell 'build-emacsql-sqlite
10755 (lambda _
10756 (invoke "make" "binary" "CC=gcc")))
10757 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
10758 ;; This build phase installs emacs-emacsql binary.
10759 (lambda* (#:key outputs #:allow-other-keys)
10760 (install-file "sqlite/emacsql-sqlite"
10761 (string-append (assoc-ref outputs "out")
10762 "/bin"))
10763 #t))
10764 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
10765 ;; This build phase removes interactive prompts
10766 ;; and makes sure Emacs look for binaries in the right places.
10767 (lambda* (#:key outputs #:allow-other-keys)
10768 (let ((file "emacsql-sqlite.el"))
10769 (chmod file #o644)
10770 (emacs-substitute-sexps file
10771 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
10772 ("(executable-find" (which "gcc"))
10773 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
10774 ;; in the right place.
10775 ("(defvar emacsql-sqlite-executable"
10776 (string-append (assoc-ref outputs "out")
10777 "/bin/emacsql-sqlite"))))))
10778 (replace 'install
10779 (lambda* (#:key outputs #:allow-other-keys)
10780 (let* ((out (assoc-ref outputs "out")))
10781 (install-file "sqlite/emacsql-sqlite"
10782 (string-append out "/bin"))
10783 (for-each (cut install-file <>
10784 (string-append out "/share/emacs/site-lisp/guix.d/"
10785 "emacsql" "-" ,version))
10786 (find-files "." "\\.elc*$")))
10787 #t)))))
10788 (inputs
10789 `(("emacs-minimal" ,emacs-minimal)
10790 ("mariadb" ,mariadb)
10791 ("postgresql" ,postgresql)))
10792 (propagated-inputs
10793 `(("emacs-finalize" ,emacs-finalize)
10794 ("emacs-pg" ,emacs-pg)))
10795 (home-page "https://github.com/skeeto/emacsql")
10796 (synopsis "Emacs high-level SQL database front-end")
10797 (description "Any readable Lisp value can be stored as a value in EmacSQL,
10798 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
10799 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
10800 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
10801 (license license:gpl3+)))
10802
10803 (define-public emacs-closql
10804 (package
10805 (name "emacs-closql")
10806 (version "1.0.0")
10807 (source
10808 (origin
10809 (method git-fetch)
10810 (uri (git-reference
10811 (url "https://github.com/emacscollective/closql.git")
10812 (commit (string-append "v" version))))
10813 (file-name (git-file-name name version))
10814 (sha256
10815 (base32
10816 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
10817 (build-system emacs-build-system)
10818 (propagated-inputs
10819 `(("emacs-emacsql" ,emacs-emacsql)))
10820 (home-page "https://github.com/emacscollective/closql")
10821 (synopsis "Store EIEIO objects using EmacSQL")
10822 (description
10823 "This package allows to store uniform EIEIO objects in an EmacSQL
10824 database. SQLite is used as backend. This library imposes some restrictions
10825 on what kind of objects can be stored; it isn't intended to store arbitrary
10826 objects. All objects have to share a common superclass and subclasses cannot
10827 add any additional instance slots.")
10828 (license license:gpl3)))
10829
10830 (define-public emacs-epkg
10831 ;; The release version is to old for the current database scheme.
10832 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
10833 (package
10834 (name "emacs-epkg")
10835 (version (git-version "3.0.0" "1" commit))
10836 (source
10837 (origin
10838 (method git-fetch)
10839 (uri (git-reference
10840 (url "https://github.com/emacscollective/epkg.git")
10841 (commit commit)))
10842 (file-name (git-file-name name version))
10843 (sha256
10844 (base32
10845 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
10846 (build-system emacs-build-system)
10847 (propagated-inputs
10848 `(("emacs-closql" ,emacs-closql)
10849 ("emacs-dash" ,emacs-dash)))
10850 (home-page "https://emacsmirror.net")
10851 (synopsis "Browse the Emacsmirror package database")
10852 (description "This package provides access to a local copy of the
10853 Emacsmirror package database. It provides low-level functions for querying
10854 the database and a @file{package.el} user interface for browsing the database.
10855 Epkg itself is not a package manager.
10856
10857 Getting a local copy:
10858
10859 @example
10860 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
10861 cd ~/.emacs.d/epkgs
10862 git submodule init
10863 git config --global url.https://github.com/.insteadOf git@@github.com:
10864 git submodule update
10865 @end example
10866
10867 Some submodule may be missing. In this case Git will prompt for a GitHub user
10868 name and password. To skip it press a @key{Return} key.
10869
10870 You could get a Epkg package list by invoking @code{epkg-list-packages} in
10871 Emacs.")
10872 (license license:gpl3+))))
10873
10874 (define-public emacs-elisp-slime-nav
10875 (package
10876 (name "emacs-elisp-slime-nav")
10877 (version "0.9")
10878 (source
10879 (origin
10880 (method git-fetch)
10881 (uri (git-reference
10882 (url "https://github.com/purcell/elisp-slime-nav.git")
10883 (commit version)))
10884 (file-name (git-file-name name version))
10885 (sha256
10886 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
10887 (build-system emacs-build-system)
10888 (home-page "https://github.com/purcell/elisp-slime-nav")
10889 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
10890 (description
10891 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
10892 in @code{emacs-lisp-mode}, together with an elisp equivalent of
10893 @code{slime-describe-symbol}.")
10894 (license license:gpl3+)))
10895
10896 (define-public emacs-dedicated
10897 (package
10898 (name "emacs-dedicated")
10899 (version "1.0.0")
10900 (source
10901 (origin
10902 (method git-fetch)
10903 (uri (git-reference
10904 (url "https://github.com/emacsorphanage/dedicated.git")
10905 (commit version)))
10906 (file-name (git-file-name name version))
10907 (sha256
10908 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
10909 (build-system emacs-build-system)
10910 (home-page "https://github.com/emacsorphanage/dedicated")
10911 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
10912 (description
10913 "This simple Emacs minor mode allows you to toggle a window's
10914 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
10915 files into that window. This can be quite handy since many commands will use
10916 another window to show results (compilation mode, starting info, and so on).
10917 A dedicated window won't be used for such a purpose. For details, please read
10918 the source file.")
10919 (license license:gpl2+)))
10920
10921 (define-public emacs-nnreddit
10922 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
10923 (revision "1"))
10924 (package
10925 (name "emacs-nnreddit")
10926 (version (string-append "0.0.1-" revision "."
10927 (string-take commit 7)))
10928 (source (origin
10929 (method git-fetch)
10930 (uri (git-reference
10931 (url "https://github.com/paul-issartel/nnreddit.git")
10932 (commit commit)))
10933 (file-name (git-file-name name version))
10934 (sha256
10935 (base32
10936 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
10937 (build-system emacs-build-system)
10938 (home-page "https://github.com/paul-issartel/nnreddit")
10939 (synopsis "Reddit backend for the Gnus newsreader")
10940 (description "@url{https://www.reddit.com} backend for the Gnus
10941 newsreader.")
10942 (license license:gpl3+))))
10943
10944 (define-public emacs-makey
10945 (package
10946 (name "emacs-makey")
10947 (version "0.3")
10948 (source
10949 (origin
10950 (method git-fetch)
10951 (uri (git-reference
10952 (url "https://github.com/mickeynp/makey.git")
10953 (commit version)))
10954 (file-name (git-file-name name version))
10955 (sha256
10956 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
10957 (build-system emacs-build-system)
10958 (home-page "https://github.com/mickeynp/makey")
10959 (synopsis "Emacs interactive command-line mode")
10960 (description
10961 "This package provides an Emacs interactive command-line mode.")
10962 (license license:gpl3+)))
10963
10964 (define-public emacs-outorg
10965 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
10966 (package
10967 (name "emacs-outorg")
10968 (version (git-version "2.0" "1" commit))
10969 (source
10970 (origin
10971 (method git-fetch)
10972 (uri (git-reference
10973 (url "https://github.com/alphapapa/outorg")
10974 (commit commit)))
10975 (file-name (git-file-name name version))
10976 (sha256
10977 (base32
10978 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
10979 (build-system emacs-build-system)
10980 (home-page "https://github.com/alphapapa/outorg")
10981 (synopsis "Org-style comment editing")
10982 (description "Outorg is for editing comment-sections of source-code
10983 files in temporary Org-mode buffers. It turns conventional
10984 literate-programming upside-down in that the default mode is the
10985 programming-mode, and special action has to be taken to switch to the
10986 text-mode (i.e. Org-mode).")
10987 (license license:gpl3+))))
10988
10989 (define-public emacs-outshine
10990 (package
10991 (name "emacs-outshine")
10992 (version "3.0.1")
10993 (source (origin
10994 (method git-fetch)
10995 (uri (git-reference
10996 (url "https://github.com/alphapapa/outshine.git")
10997 (commit (string-append "v" version))))
10998 (file-name (git-file-name name version))
10999 (sha256
11000 (base32
11001 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
11002 (build-system emacs-build-system)
11003 (propagated-inputs
11004 `(("emacs-outorg" ,emacs-outorg)))
11005 (home-page "https://github.com/alphapapa/outshine")
11006 (synopsis "Emacs outline with outshine")
11007 (description "Outshine attempts to bring the look and feel of
11008 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
11009 of @code{outline-minor-mode} (@code{org-mode} itself derives from
11010 outline-mode), so there is no such thing like an outshine mode, only
11011 @code{outline-minor-mode} with outshine extensions loaded.")
11012 (license license:gpl3+)))
11013
11014 (define-public emacs-frecency
11015 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
11016 (version "0.1-pre")
11017 (revision "1"))
11018 (package
11019 (name "emacs-frecency")
11020 (version (git-version version revision commit))
11021 (source (origin
11022 (method git-fetch)
11023 (uri (git-reference
11024 (url "https://github.com/alphapapa/frecency.el")
11025 (commit commit)))
11026 (sha256
11027 (base32
11028 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
11029 (file-name (git-file-name name version))))
11030 (build-system emacs-build-system)
11031 (propagated-inputs
11032 `(("emacs-a" ,emacs-a)
11033 ("emacs-dash" ,emacs-dash)))
11034 (home-page "https://github.com/alphapapa/frecency.el")
11035 (synopsis "Sort items by frequency and recency of access")
11036 (description "This package provides a way of sorting items via
11037 a heuristic based on frequency and recency.")
11038 (license license:gpl3+))))
11039
11040 (define-public emacs-org-recent-headings
11041 (package
11042 (name "emacs-org-recent-headings")
11043 (version "0.1")
11044 (source (origin
11045 (method git-fetch)
11046 (uri (git-reference
11047 (url "https://github.com/alphapapa/org-recent-headings.git")
11048 (commit version)))
11049 (file-name (git-file-name name version))
11050 (sha256
11051 (base32
11052 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
11053 (build-system emacs-build-system)
11054 (propagated-inputs
11055 `(("emacs-org" ,emacs-org)
11056 ("emacs-dash" ,emacs-dash)
11057 ("emacs-frecency" ,emacs-frecency)))
11058 (home-page "https://github.com/alphapapa/org-recent-headings")
11059 (synopsis "Navigate to recently used Org headings and lists")
11060 (description "This package maintains a list of recently used Org headings,
11061 as well as functions for navigating between these headings.")
11062 (license license:gpl3+)))
11063
11064 (define-public emacs-org-super-agenda
11065 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
11066 (let ((commit "375bde4ca72494ac88a2a9738754f047fe45cc4e")
11067 (revision "1"))
11068 (package
11069 (name "emacs-org-super-agenda")
11070 (version (git-version "1.1.1" revision commit))
11071 (source (origin
11072 (method git-fetch)
11073 (uri (git-reference
11074 (url "https://github.com/alphapapa/org-super-agenda")
11075 (commit commit)))
11076 (file-name (git-file-name name version))
11077 (sha256
11078 (base32
11079 "0hrwf02fqjm0d9gj146ax67ib76093qpqh7066dcxj2gy20625yj"))))
11080 (build-system emacs-build-system)
11081 (propagated-inputs
11082 `(("emacs-org" ,emacs-org)
11083 ("emacs-dash" ,emacs-dash)
11084 ("emacs-ht" ,emacs-ht)
11085 ("emacs-s" ,emacs-s)))
11086 (home-page "https://github.com/alphapapa/org-super-agenda")
11087 (synopsis "Supercharged Org agenda")
11088 (description "This package allows items in the Org agenda to be grouped
11089 into sections while preserving the structure imposed by any timestamps.")
11090 (license license:gpl3+))))
11091
11092 (define-public emacs-org-make-toc
11093 (package
11094 (name "emacs-org-make-toc")
11095 (version "0.3")
11096 (source (origin
11097 (method git-fetch)
11098 (uri (git-reference
11099 (url "https://github.com/alphapapa/org-make-toc")
11100 (commit version)))
11101 (file-name (git-file-name name version))
11102 (sha256
11103 (base32
11104 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
11105 (build-system emacs-build-system)
11106 (propagated-inputs
11107 `(("emacs-org" ,emacs-org)
11108 ("emacs-dash" ,emacs-dash)
11109 ("emacs-s" ,emacs-s)))
11110 (home-page "https://github.com/alphapapa/org-make-toc")
11111 (synopsis "Maintain a table of contents for an Org file")
11112 (description "This package facilitates the creation and maintenance of
11113 tables of contents.")
11114 (license license:gpl3+)))
11115
11116 (define-public emacs-org-ql
11117 (package
11118 (name "emacs-org-ql")
11119 (version "0.1")
11120 (source (origin
11121 (method git-fetch)
11122 (uri (git-reference
11123 (url "https://github.com/alphapapa/org-ql")
11124 (commit version)))
11125 (sha256
11126 (base32
11127 "1nvzirn1lmgmgl7irbsc1n391a2cw8gmvwm3pa228l2c1gcx8kd8"))
11128 (file-name (git-file-name name version))))
11129 (build-system emacs-build-system)
11130 (propagated-inputs
11131 `(("emacs-s" ,emacs-s)
11132 ("emacs-dash" ,emacs-dash)))
11133 (home-page "https://github.com/alphapapa/org-ql/")
11134 (synopsis "Query language for Org buffers")
11135 (description "This package provides a Lispy query language for Org
11136 files, allowing for actions to be performed based on search criteria.")
11137 (license license:gpl3+)))
11138
11139 (define-public emacs-org-auto-expand
11140 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
11141 (revision "1"))
11142 (package
11143 (name "emacs-org-auto-expand")
11144 (version (git-version "0.1" revision commit))
11145 (source (origin
11146 (method git-fetch)
11147 (uri (git-reference
11148 (url "https://github.com/alphapapa/org-auto-expand")
11149 (commit commit)))
11150 (file-name (git-file-name name version))
11151 (sha256
11152 (base32
11153 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
11154 (build-system emacs-build-system)
11155 (propagated-inputs
11156 `(("emacs-org" ,emacs-org)
11157 ("emacs-dash" ,emacs-dash)))
11158 (home-page "https://github.com/alphapapa/org-auto-expand")
11159 (synopsis "Automatically expand certain Org headings")
11160 (description "This package allows a customizable set of headings in Org
11161 files to be expanded upon opening them.")
11162 (license license:gpl3+))))
11163
11164 (define-public emacs-parsebib
11165 (package
11166 (name "emacs-parsebib")
11167 (version "2.3.1")
11168 (source
11169 (origin
11170 (method git-fetch)
11171 (uri (git-reference
11172 (url "https://github.com/joostkremers/parsebib.git")
11173 (commit version)))
11174 (file-name (git-file-name name version))
11175 (sha256
11176 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
11177 (build-system emacs-build-system)
11178 (home-page "https://github.com/joostkremers/parsebib")
11179 (synopsis "Library for parsing bib files")
11180 (description
11181 "This package provides an Emacs library for parsing bib files.")
11182 (license license:gpl3+)))
11183
11184 (define-public emacs-biblio
11185 (package
11186 (name "emacs-biblio")
11187 (version "0.2")
11188 (source
11189 (origin
11190 (method git-fetch)
11191 (uri (git-reference
11192 (url "https://github.com/cpitclaudel/biblio.el.git")
11193 (commit version)))
11194 (file-name (git-file-name name version))
11195 (sha256
11196 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
11197 (build-system emacs-build-system)
11198 (propagated-inputs
11199 `(("emacs-seq" ,emacs-seq)
11200 ("emacs-dash" ,emacs-dash)
11201 ("emacs-let-alist" ,emacs-let-alist)))
11202 (home-page "https://github.com/cpitclaudel/biblio.el")
11203 (synopsis "Browse and import bibliographic references")
11204 (description "This package provides an extensible Emacs package for
11205 browsing and fetching references.
11206
11207 @file{biblio.el} makes it easy to browse and gather bibliographic references
11208 and publications from various sources, by keywords or by DOI. References are
11209 automatically fetched from well-curated sources, and formatted as BibTeX.")
11210 (license license:gpl3+)))
11211
11212 (define-public emacs-helm-bibtex
11213 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
11214 (revision "1"))
11215 (package
11216 (name "emacs-helm-bibtex")
11217 (version (string-append "2.0.0" "-" revision "."
11218 (string-take commit 7)))
11219 (source
11220 (origin
11221 (method git-fetch)
11222 (uri (git-reference
11223 (url "https://github.com/tmalsburg/helm-bibtex.git")
11224 (commit commit)))
11225 (file-name (git-file-name name version))
11226 (sha256
11227 (base32
11228 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
11229 (build-system emacs-build-system)
11230 (propagated-inputs
11231 `(("emacs-helm" ,emacs-helm)
11232 ("emacs-parsebib" ,emacs-parsebib)
11233 ("emacs-s" ,emacs-s)
11234 ("emacs-dash" ,emacs-dash)
11235 ("emacs-f" ,emacs-f)
11236 ("emacs-biblio" ,emacs-biblio)
11237 ("emacs-ivy" ,emacs-ivy)))
11238 (home-page "https://github.com/tmalsburg/helm-bibtex")
11239 (synopsis "Bibliography manager based on Helm")
11240 (description "This package provides bibliography manager for Emacs,
11241 based on Helm and the bibtex-completion backend.
11242
11243 Key features:
11244
11245 @itemize
11246 @item Quick access to your bibliography from within Emacs
11247 @item Powerful search capabilities
11248 @item Provides instant search results as you type
11249 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
11250 @item Open the PDFs, URLs, or DOIs associated with an entry
11251 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
11252 BibTeX entries, or plain text references at point, attach PDFs to emails
11253 @item Support for note taking
11254 @item Quick access to online bibliographic databases such as Pubmed,
11255 arXiv, Google Scholar, Library of Congress, etc.
11256 @item Imports BibTeX entries from CrossRef and other sources.
11257 @end itemize\n")
11258 (license license:gpl3+))))
11259
11260 (define-public emacs-ewmctrl
11261 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
11262 (package
11263 (name "emacs-ewmctrl")
11264 (version (git-version "0.0.1" "1" commit))
11265 (source
11266 (origin
11267 (method git-fetch)
11268 (uri (git-reference
11269 (url "https://github.com/flexibeast/ewmctrl.git")
11270 (commit commit)))
11271 (file-name (git-file-name name version))
11272 (sha256
11273 (base32
11274 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
11275 (build-system emacs-build-system)
11276 (arguments
11277 '(#:phases
11278 (modify-phases %standard-phases
11279 (add-after 'unpack 'patch-ewmctrl
11280 ;; This build phase makes sure ‘ewmctrl’ looks
11281 ;; for ‘wmctrl’ in the right place.
11282 (lambda _
11283 (let ((file "ewmctrl.el"))
11284 (chmod file #o644)
11285 (emacs-substitute-sexps file
11286 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
11287 (inputs
11288 `(("wmctrl" ,wmctrl)))
11289 (home-page "https://github.com/flexibeast/ewmctrl")
11290 (synopsis "Emacs interface to @code{wmctrl}")
11291 (description "@code{ewmctrl} provides an Emacs interface to
11292 @code{wmctrl} command-line window-management program.")
11293 (license license:gpl3+))))
11294
11295 (define-public emacs-erc-image
11296 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
11297 (revision "1"))
11298 (package
11299 (name "emacs-erc-image")
11300 (version (git-version "0" revision commit))
11301 (source
11302 (origin
11303 (method git-fetch)
11304 (uri (git-reference
11305 (url "https://github.com/kidd/erc-image.el")
11306 (commit commit)))
11307 (file-name (git-file-name name version))
11308 (sha256
11309 (base32
11310 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
11311 (build-system emacs-build-system)
11312 (home-page "https://github.com/kidd/erc-image.el")
11313 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
11314 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
11315 and @code{erc-send-modify-hook} to download and show images.")
11316 (license license:gpl3+))))
11317
11318 (define-public emacs-helm-gtags
11319 (package
11320 (name "emacs-helm-gtags")
11321 (version "1.5.6")
11322 (source
11323 (origin
11324 (method git-fetch)
11325 (uri (git-reference
11326 (url "https://github.com/syohex/emacs-helm-gtags.git")
11327 (commit version)))
11328 (file-name (git-file-name name version))
11329 (sha256
11330 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
11331 (build-system emacs-build-system)
11332 (propagated-inputs
11333 `(("emacs-helm" ,emacs-helm)))
11334 (home-page "https://github.com/syohex/emacs-helm-gtags")
11335 (synopsis "Emacs Helm interface to GNU Global")
11336 (description
11337 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
11338 (license license:gpl3+)))
11339
11340 (define-public emacs-list-utils
11341 (package
11342 (name "emacs-list-utils")
11343 (version "0.4.4")
11344 (source
11345 (origin
11346 (method git-fetch)
11347 (uri (git-reference
11348 (url "https://github.com/rolandwalker/list-utils.git")
11349 (commit (string-append "v" version))))
11350 (file-name (git-file-name name version))
11351 (sha256
11352 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
11353 (build-system emacs-build-system)
11354 (home-page "https://github.com/rolandwalker/list-utils")
11355 (synopsis "List-manipulation utility functions")
11356 (description "This package provides a list manipulation library for Emacs.")
11357 (license license:gpl3+)))
11358
11359 (define-public emacs-move-text
11360 (package
11361 (name "emacs-move-text")
11362 (version "2.0.8")
11363 (source
11364 (origin
11365 (method git-fetch)
11366 (uri (git-reference
11367 (url "https://github.com/emacsfodder/move-text.git")
11368 (commit version)))
11369 (file-name (git-file-name name version))
11370 (sha256
11371 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
11372 (build-system emacs-build-system)
11373 (home-page "https://github.com/emacsfodder/move-text")
11374 (synopsis "Move current line or region with M-up or M-down")
11375 (description "This package provide functions to move the current line
11376 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
11377 region instead.")
11378 (license license:gpl3+)))
11379
11380 (define-public emacs-validate
11381 (package
11382 (name "emacs-validate")
11383 (version "1.0.5")
11384 (source (origin
11385 (method url-fetch)
11386 (uri (string-append "https://github.com/Malabarba/validate.el"
11387 "/archive/" version ".tar.gz"))
11388 (file-name (string-append name "-" version ".tar.gz"))
11389 (sha256
11390 (base32
11391 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
11392 (build-system emacs-build-system)
11393 (home-page "https://github.com/Malabarba/validate.el")
11394 (synopsis "Emacs library for scheme validation")
11395 (description "This Emacs library provides two functions that perform
11396 schema validation.")
11397 (license license:gpl3+)))
11398
11399 (define-public emacs-rainbow-blocks
11400 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
11401 (package
11402 (name "emacs-rainbow-blocks")
11403 (version (git-version "1.0.0" "1" commit))
11404 (source (origin
11405 (method git-fetch)
11406 (uri (git-reference
11407 (url "https://github.com/istib/rainbow-blocks.git")
11408 (commit commit)))
11409 (file-name (git-file-name name version))
11410 (sha256
11411 (base32
11412 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
11413 (build-system emacs-build-system)
11414 (home-page "https://github.com/istib/rainbow-blocks")
11415 (synopsis "Highlight sexp blocks")
11416 (description "Rainbow-blocks is an Emacs mode that highlights blocks
11417 made of parentheses, brackets, and braces according to their depth. Each
11418 successive level is highlighted in a different color. This makes it easy to
11419 orient yourself in the code, and tell which statements are at a given level.")
11420 (license license:gpl3+))))
11421
11422 (define-public emacs-hierarchy
11423 (package
11424 (name "emacs-hierarchy")
11425 (version "0.7.0")
11426 (source
11427 (origin
11428 (method git-fetch)
11429 (uri (git-reference
11430 (url "https://github.com/DamienCassou/hierarchy.git")
11431 (commit (string-append "v" version))))
11432 (file-name (git-file-name name version))
11433 (sha256
11434 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
11435 (build-system emacs-build-system)
11436 (home-page "https://github.com/DamienCassou/hierarchy")
11437 (synopsis "Library to create and display hierarchy structures")
11438 (description "This package provides an Emacs library to create, query,
11439 navigate and display hierarchy structures.")
11440 (license license:gpl3+)))
11441
11442 (define-public emacs-tree-mode
11443 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
11444 (revision "1"))
11445 (package
11446 (name "emacs-tree-mode")
11447 (version (string-append "0.0.1" "-" revision "."
11448 (string-take commit 7)))
11449 (source
11450 (origin
11451 (method git-fetch)
11452 (uri (git-reference
11453 (url "https://github.com/emacsorphanage/tree-mode.git")
11454 (commit commit)))
11455 (file-name (git-file-name name version))
11456 (sha256
11457 (base32
11458 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
11459 (build-system emacs-build-system)
11460 (home-page "https://github.com/emacsorphanage/tree-mode")
11461 (synopsis "Emacs mode to manage tree widgets")
11462 (description
11463 "This package provides an Emacs library to manage tree widgets.")
11464 (license license:gpl3+))))
11465
11466 (define-public emacs-md4rd
11467 (package
11468 (name "emacs-md4rd")
11469 (version "0.3.1")
11470 (source (origin
11471 (method git-fetch)
11472 (uri (git-reference
11473 (url "https://github.com/ahungry/md4rd.git")
11474 (commit version)))
11475 (file-name (git-file-name name version))
11476 (sha256
11477 (base32
11478 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
11479 (propagated-inputs
11480 `(("emacs-hierarchy" ,emacs-hierarchy)
11481 ("emacs-request" ,emacs-request)
11482 ("emacs-dash" ,emacs-dash)
11483 ("emacs-s" ,emacs-s)
11484 ("emacs-tree-mode" ,emacs-tree-mode)))
11485 (build-system emacs-build-system)
11486 (home-page "https://github.com/ahungry/md4rd")
11487 (synopsis "Emacs Mode for Reddit")
11488 (description
11489 "This package allows to read Reddit from within Emacs interactively.")
11490 (license license:gpl3+)))
11491
11492 (define-public emacs-pulseaudio-control
11493 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
11494 (revision "3"))
11495 (package
11496 (name "emacs-pulseaudio-control")
11497 (version (git-version "0.0.1" revision commit))
11498 (source
11499 (origin
11500 (method git-fetch)
11501 (uri (git-reference
11502 (url "https://github.com/flexibeast/pulseaudio-control.git")
11503 (commit commit)))
11504 (file-name (git-file-name name version))
11505 (sha256
11506 (base32
11507 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
11508 (build-system emacs-build-system)
11509 (arguments
11510 '(#:phases (modify-phases %standard-phases
11511 (add-after 'unpack 'patch-file-name
11512 (lambda* (#:key inputs #:allow-other-keys)
11513 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
11514 (chmod "pulseaudio-control.el" #o600)
11515 (emacs-substitute-variables "pulseaudio-control.el"
11516 ("pulseaudio-control-pactl-path"
11517 (string-append pulseaudio "/bin/pactl")))
11518 #t))))))
11519 (inputs `(("pulseaudio" ,pulseaudio)))
11520 (home-page "https://github.com/flexibeast/pulseaudio-control")
11521 (synopsis "Control @code{pulseaudio} from Emacs")
11522 (description
11523 "This package allows to control @code{pulseaudio} from Emacs.")
11524 (license license:gpl3+))))
11525
11526 (define-public emacs-datetime
11527 (package
11528 (name "emacs-datetime")
11529 (version "0.3")
11530 (source
11531 (origin
11532 (method git-fetch)
11533 (uri (git-reference
11534 (url "https://github.com/doublep/datetime.git")
11535 (commit version)))
11536 (file-name (git-file-name name version))
11537 (sha256
11538 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
11539 (build-system emacs-build-system)
11540 (home-page "https://github.com/doublep/datetime/")
11541 (synopsis "Library to work with dates in Emacs")
11542 (description "Parsing, formatting, matching and recoding
11543 timestamps and date-time format strings library for Emacs.")
11544 (license license:gpl3+)))
11545
11546 (define-public emacs-org-mind-map
11547 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
11548 (revision "1"))
11549 (package
11550 (name "emacs-org-mind-map")
11551 (version (string-append "0.0.1" "-" revision "."
11552 (string-take commit 7)))
11553 (source
11554 (origin
11555 (method git-fetch)
11556 (uri (git-reference
11557 (url "https://github.com/theodorewiles/org-mind-map.git")
11558 (commit commit)))
11559 (file-name (git-file-name name version))
11560 (sha256
11561 (base32
11562 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
11563 (propagated-inputs
11564 `(("emacs-dash" ,emacs-dash)))
11565 (build-system emacs-build-system)
11566 (home-page "https://github.com/theodorewiles/org-mind-map")
11567 (synopsis "Create Graphviz directed graphs from Org files")
11568 (description
11569 "This package creates Graphviz directed graphs from Org files.")
11570 (license license:gpl3+))))
11571
11572 (define-public emacs-npm-mode
11573 (package
11574 (name "emacs-npm-mode")
11575 (version "0.6.0")
11576 (source
11577 (origin
11578 (method git-fetch)
11579 (uri (git-reference
11580 (url "https://github.com/mojochao/npm-mode.git")
11581 (commit version)))
11582 (file-name (git-file-name name version))
11583 (sha256
11584 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
11585 (build-system emacs-build-system)
11586 (home-page "https://github.com/mojochao/npm-mode")
11587 (synopsis "Minor mode for working with @code{npm} projects")
11588 (description
11589 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
11590 (license license:gpl3+)))
11591
11592 (define-public emacs-seq
11593 (package
11594 (name "emacs-seq")
11595 (version "2.20")
11596 (source
11597 (origin
11598 (method url-fetch)
11599 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
11600 (sha256
11601 (base32
11602 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
11603 (build-system emacs-build-system)
11604 (home-page "http://elpa.gnu.org/packages/seq.html")
11605 (synopsis "Sequence manipulation functions")
11606 (description "Sequence-manipulation functions that complement basic
11607 functions provided by @file{subr.el}.")
11608 (license license:gpl3+)))
11609
11610 (define-public emacs-itail
11611 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
11612 (revision "1"))
11613 (package
11614 (name "emacs-itail")
11615 (version (string-append "0.0.1" "-" revision "."
11616 (string-take commit 7)))
11617 (source
11618 (origin
11619 (method git-fetch)
11620 (uri (git-reference
11621 (url "https://github.com/re5et/itail.git")
11622 (commit commit)))
11623 (file-name (git-file-name name version))
11624 (sha256
11625 (base32
11626 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
11627 (build-system emacs-build-system)
11628 (home-page "https://github.com/re5et/itail")
11629 (synopsis "Interactive @code{tail} Emacs mode")
11630 (description "@code{itail} provides interactive @code{tail} mode
11631 that allows you to filter the tail with unix pipes and highlight the
11632 contents of the tailed file. Works locally or on remote files using
11633 tramp.")
11634 (license license:gpl3+))))
11635
11636 (define-public emacs-loop
11637 (package
11638 (name "emacs-loop")
11639 (version "1.3")
11640 (source
11641 (origin
11642 (method git-fetch)
11643 (uri (git-reference
11644 (url "https://github.com/Wilfred/loop.el.git")
11645 (commit version)))
11646 (file-name (git-file-name name version))
11647 (sha256
11648 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
11649 (build-system emacs-build-system)
11650 (home-page "https://github.com/Wilfred/loop.el")
11651 (synopsis "Imperative loop structures for Emacs")
11652 (description "Loop structures familiar to users of other languages. This
11653 library adds a selection of popular loop structures as well as break and
11654 continue.")
11655 (license license:gpl3+)))
11656
11657 (define-public emacs-elisp-refs
11658 (package
11659 (name "emacs-elisp-refs")
11660 (version "1.3")
11661 (source
11662 (origin
11663 (method git-fetch)
11664 (uri (git-reference
11665 (url "https://github.com/Wilfred/elisp-refs.git")
11666 (commit version)))
11667 (file-name (git-file-name name version))
11668 (sha256
11669 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
11670 (build-system emacs-build-system)
11671 (propagated-inputs
11672 `(("emacs-dash" ,emacs-dash)
11673 ("emacs-f" ,emacs-f)
11674 ("emacs-list-utils" ,emacs-list-utils)
11675 ("emacs-loop" ,emacs-loop)
11676 ("emacs-s" ,emacs-s)
11677 ("emacs-shut-up" ,emacs-shut-up)))
11678 (home-page "https://github.com/Wilfred/elisp-refs")
11679 (synopsis "Find callers of elisp functions or macros")
11680 (description "Find references to functions, macros or variables. Unlike a
11681 dumb text search, @code{elisp-refs} actually parses the code, so it's never
11682 confused by comments or @code{foo-bar} matching @code{foo}.")
11683 (license license:gpl3+)))
11684
11685 (define-public emacs-crux
11686 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
11687 (revision "1"))
11688 (package
11689 (name "emacs-crux")
11690 (version (string-append "0.3.0" "-" revision "."
11691 (string-take commit 7)))
11692 (source
11693 (origin
11694 (method git-fetch)
11695 (uri (git-reference
11696 (url "https://github.com/bbatsov/crux.git")
11697 (commit commit)))
11698 (file-name (git-file-name name version))
11699 (sha256
11700 (base32
11701 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
11702 (build-system emacs-build-system)
11703 (home-page "https://github.com/bbatsov/crux")
11704 (synopsis "Collection of useful functions for Emacs")
11705 (description
11706 "@code{crux} provides a collection of useful functions for Emacs.")
11707 (license license:gpl3+))))
11708
11709 (define-public emacs-edit-server
11710 (package
11711 (name "emacs-edit-server")
11712 (version "1.13")
11713 (source
11714 (origin
11715 (method git-fetch)
11716 (uri (git-reference
11717 (url "https://github.com/stsquad/emacs_chrome.git")
11718 (commit (string-append "v" version))))
11719 (file-name (git-file-name name version))
11720 (sha256
11721 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
11722 (build-system emacs-build-system)
11723 (arguments
11724 `(#:phases
11725 (modify-phases %standard-phases
11726 (add-after 'unpack 'chdir-elisp
11727 ;; Elisp directory is not in root of the source.
11728 (lambda _
11729 (chdir "servers"))))))
11730 (home-page "https://github.com/stsquad/emacs_chrome")
11731 (synopsis "Server that responds to edit requests from Chromium")
11732 (description
11733 "This package provides an edit server to respond to requests from Emacs.")
11734 (license license:gpl3+)))
11735
11736 (define-public emacs-m-buffer-el
11737 (package
11738 (name "emacs-m-buffer-el")
11739 (version "0.15")
11740 (source
11741 (origin
11742 (method url-fetch)
11743 (uri (string-append "https://github.com/phillord/m-buffer-el"
11744 "/archive/" "v" version ".tar.gz"))
11745 (file-name (string-append name "-" version ".tar.gz"))
11746 (sha256
11747 (base32
11748 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
11749 (arguments
11750 `(#:phases
11751 (modify-phases %standard-phases
11752 (add-before 'install 'check
11753 (lambda* (#:key inputs #:allow-other-keys)
11754 (invoke "emacs" "--batch" "-L" "."
11755 "-l" "test/m-buffer-test.el"
11756 "-l" "test/m-buffer-at-test.el"
11757 "-f" "ert-run-tests-batch-and-exit"))))))
11758 (build-system emacs-build-system)
11759 (home-page "https://github.com/phillord/m-buffer-el")
11760 (synopsis "List oriented buffer operations for Emacs")
11761 (description "@code{m-buffer} provides a set of list-orientated functions
11762 for operating over the contents of Emacs buffers.")
11763 (license license:gpl3+)))
11764
11765 (define-public emacs-let-alist
11766 (package
11767 (name "emacs-let-alist")
11768 (version "1.0.5")
11769 (source
11770 (origin
11771 (method url-fetch)
11772 (uri (string-append
11773 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
11774 (sha256
11775 (base32
11776 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
11777 (build-system emacs-build-system)
11778 (home-page "https://elpa.gnu.org/packages/let-alist.html")
11779 (synopsis "Easily let-bind values of an assoc-list by their names")
11780 (description "This package offers a single macro, @code{let-alist}. This
11781 macro takes a first argument (whose value must be an alist) and a body.")
11782 (license license:gpl3+)))
11783
11784 (define-public emacs-esup
11785 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
11786 (revision "1"))
11787 (package
11788 (name "emacs-esup")
11789 (version (string-append "0.6" "-" revision "."
11790 (string-take commit 7)))
11791 (source
11792 (origin
11793 (method git-fetch)
11794 (uri (git-reference
11795 (url "https://github.com/jschaf/esup.git")
11796 (commit commit)))
11797 (file-name (git-file-name name version))
11798 (sha256
11799 (base32
11800 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
11801 ;; TODO: Add tests
11802 (build-system emacs-build-system)
11803 (home-page "https://github.com/jschaf/esup")
11804 (synopsis "Emacs start up profiler")
11805 (description "Benchmark Emacs Startup time without ever leaving
11806 your Emacs.")
11807 (license license:gpl2+))))
11808
11809 (define-public emacs-restart-emacs
11810 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
11811 (revision "1"))
11812 (package
11813 (name "emacs-restart-emacs")
11814 (version (git-version "0.1.1" revision commit))
11815 (source
11816 (origin
11817 (method git-fetch)
11818 (uri (git-reference
11819 (url "https://github.com/iqbalansari/restart-emacs.git")
11820 (commit commit)))
11821 (file-name (git-file-name name version))
11822 (sha256
11823 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
11824 (build-system emacs-build-system)
11825 (home-page "https://github.com/iqbalansari/restart-emacs")
11826 (synopsis "Restart Emacs from within Emacs")
11827 (description "This package provides a simple command to restart Emacs from
11828 within Emacs.")
11829 (license license:gpl3+))))
11830
11831 (define-public emacs-sourcemap
11832 (package
11833 (name "emacs-sourcemap")
11834 (version "0.03")
11835 (source
11836 (origin
11837 (method git-fetch)
11838 (uri (git-reference
11839 (url "https://github.com/syohex/emacs-sourcemap.git")
11840 (commit version)))
11841 (file-name (git-file-name name version))
11842 (sha256
11843 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
11844 (build-system emacs-build-system)
11845 (home-page "https://github.com/syohex/emacs-sourcemap")
11846 (synopsis "Sourcemap parser")
11847 (description "Sourcemap parser")
11848 (license license:gpl3+)))
11849
11850 (define-public emacs-macrostep
11851 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
11852 (package
11853 (name "emacs-macrostep")
11854 (version (git-version "0.9" "1" commit))
11855 (source (origin
11856 (method git-fetch)
11857 (uri (git-reference
11858 (url "https://github.com/joddie/macrostep.git")
11859 (commit commit)))
11860 (file-name (git-file-name name version))
11861 (sha256
11862 (base32
11863 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
11864 (build-system emacs-build-system)
11865 (arguments
11866 '(#:phases
11867 (modify-phases %standard-phases
11868 (add-before 'check 'remove-test
11869 ;; Fails because of requirement ‘/bin/sh’.
11870 (lambda _
11871 (let ((file "macrostep-test.el"))
11872 (chmod file #o644)
11873 (emacs-batch-edit-file file
11874 `(progn (progn (goto-char (point-min))
11875 (re-search-forward
11876 "(ert-deftest macrostep-expand-c-macros")
11877 (beginning-of-line)
11878 (kill-sexp))
11879 (basic-save-buffer))))))
11880 (add-before 'install 'check
11881 (lambda _
11882 (invoke "emacs" "--batch" "-L" "."
11883 "-l" "macrostep-test.el"
11884 "-f" "ert-run-tests-batch-and-exit"))))))
11885 (home-page "https://github.com/joddie/macrostep")
11886 (synopsis "Interactive macro-expander for Emacs")
11887 (description "@code{macrostep} is an Emacs minor mode for interactively
11888 stepping through the expansion of macros in Emacs Lisp source code. It lets
11889 you see exactly what happens at each step of the expansion process by
11890 pretty-printing the expanded forms inline in the source buffer, which is
11891 temporarily read-only while macro expansions are visible. You can expand and
11892 collapse macro forms one step at a time, and evaluate or instrument the
11893 expansions for debugging with Edebug as normal (but see “Bugs and known
11894 limitations”, below). Single-stepping through the expansion is particularly
11895 useful for debugging macros that expand into another macro form. These can be
11896 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
11897 until the top-level form is no longer a macro call.")
11898 (license license:gpl3+))))
11899
11900 (define-public emacs-parent-mode
11901 (package
11902 (name "emacs-parent-mode")
11903 (version "2.3")
11904 (source
11905 (origin
11906 (method git-fetch)
11907 (uri (git-reference
11908 (url "https://github.com/Fanael/parent-mode.git")
11909 (commit version)))
11910 (file-name (git-file-name name version))
11911 (sha256
11912 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
11913 (build-system emacs-build-system)
11914 (home-page "https://github.com/Fanael/parent-mode")
11915 (synopsis "Get major mode's parent modes")
11916 (description "Get major mode's parent modes")
11917 (license license:gpl3+)))
11918
11919 (define-public emacs-lacarte
11920 (package
11921 (name "emacs-lacarte")
11922 (version "0.1")
11923 (source (origin
11924 (method url-fetch)
11925 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
11926 (sha256
11927 (base32
11928 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
11929 (build-system emacs-build-system)
11930 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
11931 (synopsis "Execute menu items as commands, with completion")
11932 (description "Execute menu items as commands, with completion.")
11933 (license license:gpl3)))
11934
11935 (define-public emacs-isearch-prop
11936 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
11937 (revision "1"))
11938 (package
11939 (name "emacs-isearch-prop")
11940 (version (git-version "0" revision commit))
11941 (source
11942 (origin
11943 (method git-fetch)
11944 (uri (git-reference
11945 (url "https://github.com/emacsmirror/isearch-prop.git")
11946 (commit commit)))
11947 (file-name (git-file-name name version))
11948 (sha256
11949 (base32
11950 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
11951 (build-system emacs-build-system)
11952 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
11953 (synopsis "Extensions to @code{isearch.el}")
11954 (description "The Emacs library @code{isearch-prop.el} lets you search within
11955 contexts. You can limit incremental search to a set of zones of
11956 buffer text, search contexts that in effect constitute a multi-region.
11957 These zones can be defined in various ways, including some ways
11958 provided specially by this library.")
11959 (license license:gpl3+))))
11960
11961 (define-public emacs-company-lua
11962 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
11963 (package
11964 (name "emacs-company-lua")
11965 (version (git-version "0.1" "1" commit))
11966 (source
11967 (origin
11968 (method git-fetch)
11969 (uri (git-reference
11970 (url "https://github.com/ptrv/company-lua.git")
11971 (commit commit)))
11972 (file-name (git-file-name name version))
11973 (sha256
11974 (base32
11975 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
11976 (build-system emacs-build-system)
11977 (propagated-inputs
11978 `(("emacs-company" ,emacs-company)
11979 ("emacs-s" ,emacs-s)
11980 ("emacs-f" ,emacs-f)
11981 ("emacs-lua-mode" ,emacs-lua-mode)))
11982 (home-page "https://github.com/ptrv/company-lua")
11983 (synopsis "Company backend for Lua")
11984 (description
11985 "This package provides Company backend for Lua programming language.")
11986 (license license:gpl3+))))
11987
11988 (define-public emacs-beginend
11989 (package
11990 (name "emacs-beginend")
11991 (version "2.0.0")
11992 (source
11993 (origin
11994 (method git-fetch)
11995 (uri (git-reference
11996 (url "https://github.com/DamienCassou/beginend.git")
11997 (commit (string-append "v" version))))
11998 (file-name (git-file-name name version))
11999 (sha256
12000 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
12001 ;; TODO: Run tests.
12002 (build-system emacs-build-system)
12003 (inputs
12004 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
12005 (home-page "https://github.com/DamienCassou/beginend")
12006 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
12007 (description "@code{beginend} redefines @code{M-<} and @code{M->}
12008 keybindings for Emacs modes so that point moves to meaningful
12009 locations. Redefined keys are still accessible by pressing the same
12010 key again.")
12011 (license license:gpl3+)))
12012
12013 (define-public emacs-mbsync
12014 (let ((commit "f549eccde6033449d24cd5b6148599484850c403")
12015 (revision "2"))
12016 (package
12017 (name "emacs-mbsync")
12018 (version (git-version "0.1.2" revision commit))
12019 (source
12020 (origin
12021 (method git-fetch)
12022 (uri (git-reference
12023 (url "https://github.com/dimitri/mbsync-el.git")
12024 (commit commit)))
12025 (file-name (git-file-name name version))
12026 (sha256
12027 (base32
12028 "1pdj41rq3pq4jdb5pma5j495xj7w7jgn8pnz1z1zwg75pn7ydfp0"))))
12029 (build-system emacs-build-system)
12030 (home-page "https://github.com/dimitri/mbsync-el")
12031 (synopsis "Interface to mbsync for Emacs")
12032 (description "This package allows to call the @code{mbsync} from
12033 within Emacs.")
12034 (license license:gpl3+))))
12035
12036 (define-public emacs-ibuffer-projectile
12037 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
12038 (revision "1"))
12039 (package
12040 (name "emacs-ibuffer-projectile")
12041 (version (string-append "0.2" "-" revision "."
12042 (string-take commit 7)))
12043 (source
12044 (origin
12045 (method git-fetch)
12046 (uri (git-reference
12047 (url "https://github.com/purcell/ibuffer-projectile.git")
12048 (commit commit)))
12049 (file-name (git-file-name name version))
12050 (sha256
12051 (base32
12052 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
12053 (build-system emacs-build-system)
12054 (propagated-inputs
12055 `(("emacs-projectile" ,emacs-projectile)))
12056 (home-page "https://github.com/purcell/ibuffer-projectile")
12057 (synopsis "Group ibuffer's list by projectile root")
12058 (description "Adds functionality to Emacs @code{ibuffer} for
12059 grouping buffers by their projectile root directory.")
12060 (license license:gpl3+))))
12061
12062 (define-public emacs-helm-mode-manager
12063 (package
12064 (name "emacs-helm-mode-manager")
12065 (version "1.0.0")
12066 (source
12067 (origin
12068 (method url-fetch)
12069 (uri (string-append "https://github.com/istib/helm-mode-manager/"
12070 "archive/" version ".tar.gz"))
12071 (file-name (string-append name "-" version ".tar.gz"))
12072 (sha256
12073 (base32
12074 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
12075 (build-system emacs-build-system)
12076 (propagated-inputs
12077 `(("emacs-helm" ,emacs-helm)))
12078 (home-page "https://github.com/istib/helm-mode-manager/")
12079 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
12080 (description "This package provides a Helm interface for toggling Emacs
12081 major or minor mode.
12082
12083 @itemize
12084 @item @code{helm-switch-major-mode} list of all major modes
12085 @item @code{helm-enable-minor-mode} list of all inactive minor modes
12086 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
12087 @end itemize\n
12088
12089 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
12090 documentation.")
12091 (license license:gpl3+)))
12092
12093 (define-public emacs-hy-mode
12094 (package
12095 (name "emacs-hy-mode")
12096 (version "1.0.3")
12097 (source
12098 (origin
12099 (method git-fetch)
12100 (uri (git-reference
12101 (url "https://github.com/hylang/hy-mode.git")
12102 (commit (string-append "v" version))))
12103 (file-name (git-file-name name version))
12104 (sha256
12105 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
12106 (build-system emacs-build-system)
12107 (propagated-inputs
12108 `(("emacs-dash" ,emacs-dash)
12109 ("emacs-s" ,emacs-s)))
12110 (home-page "https://github.com/hylang/hy-mode")
12111 (synopsis "Major mode for Hylang")
12112 (description "This package provides a major mode for Hylang.")
12113 (license license:gpl3+)))
12114
12115 (define-public emacs-web-beautify
12116 (package
12117 (name "emacs-web-beautify")
12118 (version "0.3.2")
12119 (source
12120 (origin
12121 (method git-fetch)
12122 (uri (git-reference
12123 (url "https://github.com/yasuyk/web-beautify.git")
12124 (commit version)))
12125 (file-name (git-file-name name version))
12126 (sha256
12127 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
12128 (build-system emacs-build-system)
12129 (home-page "https://github.com/yasuyk/web-beautify")
12130 (synopsis "Format HTML, CSS and JavaScript, JSON")
12131 (description "This package provides an Emacs functions to format HTML,
12132 CSS, JavaScript, JSON.")
12133 (license license:gpl3+)))
12134
12135 (define-public emacs-helm-shell-history
12136 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
12137 (package
12138 (name "emacs-helm-shell-history")
12139 (version (git-version "0.1" "1" commit))
12140 (source
12141 (origin
12142 (method git-fetch)
12143 (uri (git-reference
12144 (url "https://github.com/yuutayamada/helm-shell-history.git")
12145 (commit commit)))
12146 (file-name (git-file-name name version))
12147 (sha256
12148 (base32
12149 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
12150 (build-system emacs-build-system)
12151 (arguments
12152 '(#:phases
12153 (modify-phases %standard-phases
12154 (add-before 'check 'patch-helm-shell-history-file
12155 (lambda _
12156 (let ((file "helm-shell-history.el"))
12157 (chmod file #o644)
12158 (emacs-substitute-sexps file
12159 ("(defvar helm-shell-history-file"
12160 `(expand-file-name "~/.bash_history"))))
12161 #t)))))
12162 (propagated-inputs
12163 `(("emacs-helm" ,emacs-helm)))
12164 (home-page "https://github.com/yuutayamada/helm-shell-history")
12165 (synopsis "Find shell history with Emacs Helm")
12166 (description "This package provides an Emacs Helm interface to search
12167 throw a shell history.")
12168 (license license:gpl3+))))
12169
12170 (define-public emacs-discover-my-major
12171 (package
12172 (name "emacs-discover-my-major")
12173 (version "1.0")
12174 (source
12175 (origin
12176 (method url-fetch)
12177 (uri
12178 (string-append "https://github.com/steckerhalter/discover-my-major"
12179 "/archive/" version ".tar.gz"))
12180 (file-name (string-append name "-" version ".tar.gz"))
12181 (sha256
12182 (base32
12183 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
12184 (build-system emacs-build-system)
12185 (propagated-inputs
12186 `(("emacs-makey" ,emacs-makey)))
12187 (home-page "https://github.com/steckerhalter/discover-my-major")
12188 (synopsis "Discover key bindings for the current Emacs major mode")
12189 (description "This package provides allows to discover key bindings and
12190 their meaning for the current Emacs major-mode.")
12191 (license license:gpl3+)))
12192
12193 (define-public emacs-org-ref
12194 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
12195 (revision "1"))
12196 (package
12197 (name "emacs-org-ref")
12198 (version (string-append "1.1.1" "-" revision "."
12199 (string-take commit 7)))
12200 (source
12201 (origin
12202 (method git-fetch)
12203 (uri (git-reference
12204 (url "https://github.com/jkitchin/org-ref.git")
12205 (commit commit)))
12206 (file-name (git-file-name name version))
12207 (sha256
12208 (base32
12209 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
12210 (build-system emacs-build-system)
12211 (propagated-inputs
12212 `(("emacs-dash" ,emacs-dash)
12213 ("emacs-helm" ,emacs-helm)
12214 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
12215 ("emacs-ivy" ,emacs-ivy)
12216 ("emacs-hydra" ,emacs-hydra)
12217 ("emacs-key-chord" ,emacs-key-chord)
12218 ("emacs-s" ,emacs-s)
12219 ("emacs-f" ,emacs-f)
12220 ("emacs-pdf-tools" ,emacs-pdf-tools)))
12221 (home-page "https://github.com/jkitchin/org-ref")
12222 (synopsis "Citations, cross-references and bibliographies in org-mode")
12223 (description
12224 "Lisp code to setup bibliography, cite, ref and label org-mode links.
12225 Also sets up reftex and helm for org-mode citations. The links are
12226 clickable and do things that are useful.
12227
12228 The default setup uses helm-bibtex.
12229
12230 You should really read org-ref.org in this package for details.")
12231 (license license:gpl3+))))
12232
12233 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
12234 (define-public emacs-org-reveal
12235 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
12236 (package
12237 (name "emacs-org-reveal")
12238 (version (git-version "0.1" "3" commit))
12239 (source (origin
12240 (method git-fetch)
12241 (uri (git-reference
12242 (url "https://github.com/yjwen/org-reveal.git")
12243 (commit commit)))
12244 (file-name (git-file-name name version))
12245 (sha256
12246 (base32
12247 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
12248 (build-system emacs-build-system)
12249 (home-page "https://github.com/yjwen/org-reveal")
12250 (synopsis "Org and Reveal.js powered HTML presentation tool")
12251 (description "Org-Reveal is a command@{org-mode} extension that allows
12252 to create beautiful presentations (slides) with 3D effects from simple but
12253 powerful Org contents.")
12254 (license license:gpl3+))))
12255
12256 (define-public emacs-org-re-reveal
12257 (package
12258 (name "emacs-org-re-reveal")
12259 (version "1.0.3")
12260 (source (origin
12261 (method git-fetch)
12262 (uri (git-reference
12263 (url "https://gitlab.com/oer/org-re-reveal.git")
12264 (commit "50cc6574c77f12d423f6cd096d8f76feb3673abc")))
12265 (file-name (git-file-name name version))
12266 (sha256
12267 (base32
12268 "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8"))))
12269 (build-system emacs-build-system)
12270 (propagated-inputs
12271 `(("emacs-htmlize" ,emacs-htmlize)
12272 ("emacs-org" ,emacs-org)))
12273 (home-page "https://gitlab.com/oer/org-re-reveal")
12274 (synopsis "Build HTML presentations with reveal.js from Org source files")
12275 (description "This project started as fork of org-reveal. It provides an
12276 export back-end for HTML presentations with reveal.js from Org mode source
12277 files.")
12278 (license license:gpl3+)))
12279
12280 (define-public emacs-add-hooks
12281 (package
12282 (name "emacs-add-hooks")
12283 (version "3.1.1")
12284 (source
12285 (origin
12286 (method git-fetch)
12287 (uri (git-reference
12288 (url "https://github.com/nickmccurdy/add-hooks.git")
12289 (commit version)))
12290 (file-name (git-file-name name version))
12291 (sha256
12292 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
12293 (build-system emacs-build-system)
12294 (home-page "https://github.com/nickmccurdy/add-hooks/")
12295 (synopsis "Emacs function for setting multiple hooks")
12296 (description "This package provides a @code{add-hooks} function tidies up
12297 duplicate hook and function names further into a single declarative call.")
12298 (license license:gpl3+)))
12299
12300 (define-public emacs-fancy-narrow
12301 (package
12302 (name "emacs-fancy-narrow")
12303 (version "0.9.5")
12304 (source
12305 (origin
12306 (method git-fetch)
12307 (uri (git-reference
12308 (url "https://github.com/Malabarba/fancy-narrow.git")
12309 (commit version)))
12310 (file-name (git-file-name name version))
12311 (sha256
12312 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
12313 (build-system emacs-build-system)
12314 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
12315 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
12316 (description
12317 "Unlike @code{narrow-to-region}, which completely hides text outside
12318 the narrowed region, this package simply de-emphasizes the text, makes it
12319 read-only, and makes it unreachable. This leads to a much more natural
12320 feeling where the region stays static (instead of being brutally moved to a
12321 blank slate) and is clearly highlighted with respect to the rest of the
12322 buffer.")
12323 (license license:gpl2+)))
12324
12325 (define-public emacs-know-your-http-well
12326 (package
12327 (name "emacs-know-your-http-well")
12328 (version "0.5.0")
12329 (source
12330 (origin
12331 (method git-fetch)
12332 (uri (git-reference
12333 (url "https://github.com/for-GET/know-your-http-well.git")
12334 (commit (string-append "v" version))))
12335 (file-name (git-file-name name version))
12336 (sha256
12337 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
12338 (arguments
12339 `(#:phases
12340 (modify-phases %standard-phases
12341 (add-after 'unpack 'install-json-files
12342 (lambda* (#:key outputs #:allow-other-keys)
12343 (for-each (lambda (directory)
12344 (copy-recursively directory
12345 (string-append
12346 (assoc-ref outputs "out")
12347 directory)))
12348 '("js" "json"))))
12349 (add-after 'unpack 'chdir-elisp
12350 ;; Elisp directory is not in root of the source.
12351 (lambda _
12352 (chdir "emacs"))))))
12353 (build-system emacs-build-system)
12354 (home-page "https://github.com/for-GET/know-your-http-well")
12355 (synopsis "Meaning of HTTP headers codes")
12356 (description "Meaning of HTTP headers codes.")
12357 (license license:gpl3+)))
12358
12359 (define-public emacs-navi-mode
12360 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
12361 (package
12362 (name "emacs-navi-mode")
12363 (version (git-version "2.0" "1" commit))
12364 (source
12365 (origin
12366 (method git-fetch)
12367 (uri (git-reference
12368 (url "https://github.com/alphapapa/navi.git")
12369 (commit commit)))
12370 (file-name (git-file-name name version))
12371 (sha256
12372 (base32
12373 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
12374 (build-system emacs-build-system)
12375 (propagated-inputs
12376 `(("emacs-outshine" ,emacs-outshine)
12377 ("emacs-outorg" ,emacs-outorg)))
12378 (home-page "https://github.com/alphapapa/navi")
12379 (synopsis "Emacs major-mode for easy buffer-navigation")
12380 (description
12381 "This package provides an Emacs major-mode for easy buffer-navigation")
12382 (license license:gpl3+))))
12383
12384 (define-public emacs-download-region
12385 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
12386 (revision "1"))
12387 (package
12388 (name "emacs-download-region")
12389 (version (string-append "0.0.1" "-" revision "."
12390 (string-take commit 7)))
12391 (source
12392 (origin
12393 (method git-fetch)
12394 (uri (git-reference
12395 (url "https://github.com/zk-phi/download-region.git")
12396 (commit commit)))
12397 (file-name (git-file-name name version))
12398 (sha256
12399 (base32
12400 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
12401 (build-system emacs-build-system)
12402 (home-page "https://github.com/zk-phi/download-region")
12403 (synopsis "In buffer download manager for Emacs")
12404 (description "@code{download-region} provides in buffer
12405 downloading manager for Emacs.")
12406 (license license:gpl3+))))
12407
12408 (define-public emacs-helpful
12409 (package
12410 (name "emacs-helpful")
12411 (version "0.17")
12412 (source
12413 (origin
12414 (method git-fetch)
12415 (uri (git-reference
12416 (url "https://github.com/Wilfred/helpful.git")
12417 (commit version)))
12418 (file-name (git-file-name name version))
12419 (sha256
12420 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
12421 (build-system emacs-build-system)
12422 (propagated-inputs
12423 `(("emacs-elisp-refs" ,emacs-elisp-refs)
12424 ("emacs-dash" ,emacs-dash)
12425 ("emacs-s" ,emacs-s)
12426 ("emacs-f" ,emacs-f)
12427 ("emacs-shut-up" ,emacs-shut-up)))
12428 (home-page "https://github.com/Wilfred/helpful")
12429 (synopsis "More contextual information in Emacs help")
12430 (description "@code{helpful} is an alternative to the built-in Emacs help
12431 that provides much more contextual information.
12432
12433 @itemize
12434 @item Show the source code for interactively defined functions (unlike the
12435 built-in Help).
12436 @item Fall back to the raw sexp if no source is available.
12437 @item Show where a function is being called.
12438 @item Docstrings will Highlight the summary (the first sentence), include
12439 cross-references, hide superfluous puncuation.
12440 @item Show you the properties that have been applied to the current
12441 symbol. This provides visibility of features like edebug or byte-code
12442 optimisation.
12443 @item Provide a separate @code{helpful-command} function to view interactive
12444 functions.
12445 @item Display any keybindings that apply to interactive functions.
12446 @item Trace, disassemble functions from inside Helpful. This is discoverable
12447 and doesn't require memorisation of commands.
12448 @end itemize\n")
12449 (license license:gpl3+)))
12450
12451 (define-public emacs-logview
12452 (package
12453 (name "emacs-logview")
12454 (version "0.9")
12455 (source
12456 (origin
12457 (method git-fetch)
12458 (uri (git-reference
12459 (url "https://github.com/doublep/logview.git")
12460 (commit version)))
12461 (file-name (git-file-name name version))
12462 (sha256
12463 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
12464 (propagated-inputs
12465 `(("emacs-datetime" ,emacs-datetime)))
12466 (build-system emacs-build-system)
12467 (home-page "https://github.com/doublep/logview/")
12468 (synopsis "Emacs mode for viewing log files")
12469 (description "@code{logview} provides an Emacs mode to view log files.")
12470 (license license:gpl3+)))
12471
12472 (define-public emacs-suggest
12473 (package
12474 (name "emacs-suggest")
12475 (version "0.7")
12476 (home-page "https://github.com/Wilfred/suggest.el")
12477 (source
12478 (origin
12479 (method git-fetch)
12480 (uri (git-reference
12481 (url home-page)
12482 (commit version)))
12483 (file-name (git-file-name name version))
12484 (sha256
12485 (base32
12486 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
12487 (build-system emacs-build-system)
12488 (propagated-inputs
12489 `(("emacs-loop" ,emacs-loop)
12490 ("emacs-dash" ,emacs-dash)
12491 ("emacs-s" ,emacs-s)
12492 ("emacs-f" ,emacs-f)
12493 ("emacs-spinner" ,emacs-spinner)
12494 ("emacs-shut-up" ,emacs-shut-up)))
12495 (synopsis "Suggest Elisp functions that give the output requested")
12496 (description "Suggest.el will find functions that give the output
12497 requested. It's a great way of exploring list, string and arithmetic
12498 functions.")
12499 (license license:gpl3+)))
12500
12501 (define-public emacs-benchmark-init
12502 (package
12503 (name "emacs-benchmark-init")
12504 (version "1.0")
12505 (source
12506 (origin
12507 (method git-fetch)
12508 (uri (git-reference
12509 (url "https://github.com/dholm/benchmark-init-el.git")
12510 (commit version)))
12511 (file-name (git-file-name name version))
12512 (sha256
12513 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
12514 (build-system emacs-build-system)
12515 (home-page "https://github.com/dholm/benchmark-init-el")
12516 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
12517 (description "@code{benchmark-init} provides a way to keep track of where
12518 time is being spent during Emacs startup in order to optimize startup time.")
12519 (license license:gpl3+)))
12520
12521 (define-public emacs-emms-player-simple-mpv
12522 ;; A new mpv backend is included in Emms from 5.0.
12523 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
12524
12525 (define-public emacs-magit-gerrit
12526 (let ((version "0.3")
12527 (revision "1")
12528 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
12529 (package
12530 (name "emacs-magit-gerrit")
12531 (version (git-version version revision commit))
12532 (source (origin
12533 (method git-fetch)
12534 (uri (git-reference
12535 (url "https://github.com/terranpro/magit-gerrit.git")
12536 (commit commit)))
12537 (file-name (git-file-name name version))
12538 (sha256
12539 (base32
12540 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
12541 (build-system emacs-build-system)
12542 (propagated-inputs
12543 `(("emacs-magit" ,emacs-magit)))
12544 (home-page "https://github.com/terranpro/magit-gerrit")
12545 (synopsis "Magit extension for Gerrit")
12546 (description "This Magit extension provides integration with Gerrit,
12547 which makes it possible to conduct Gerrit code reviews directly from within
12548 Emacs.")
12549 (license license:gpl3+))))
12550
12551 (define-public emacs-magit-org-todos-el
12552 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
12553 (package
12554 (name "emacs-magit-org-todos-el")
12555 (version (git-version "0.1.1" "1" commit))
12556 (source
12557 (origin
12558 (method git-fetch)
12559 (uri (git-reference
12560 (url "https://github.com/danielma/magit-org-todos.el.git")
12561 (commit commit)))
12562 (file-name (git-file-name name version))
12563 (sha256
12564 (base32
12565 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
12566 (propagated-inputs
12567 `(("magit" ,emacs-magit)))
12568 (build-system emacs-build-system)
12569 (home-page "https://github.com/danielma/magit-org-todos.el")
12570 (synopsis "Get todo.org into Emacs Magit status")
12571 (description "This package allows you to get @file{todo.org} into your
12572 magit status.
12573
12574 If you have a @file{todo.org} file with @code{TODO} items in the root of your
12575 repository, @code{magit-org-todos} will create a section in your Magit status
12576 buffer with each of your todos.")
12577 (license license:gpl3+))))
12578
12579 (define-public emacs-f3
12580 (package
12581 (name "emacs-f3")
12582 (version "0.1")
12583 (source
12584 (origin
12585 (method git-fetch)
12586 (uri (git-reference
12587 (url "https://github.com/cosmicexplorer/f3.git")
12588 (commit version)))
12589 (file-name (git-file-name name version))
12590 (sha256
12591 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
12592 (build-system emacs-build-system)
12593 (propagated-inputs
12594 `(("emacs-helm" ,emacs-helm)))
12595 (home-page "https://github.com/cosmicexplorer/f3")
12596 (synopsis "Fantastic File Finder for Emacs")
12597 (description
12598 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
12599 (license license:gpl3+)))
12600
12601 (define-public emacs-lice-el
12602 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
12603 (package
12604 (name "emacs-lice-el")
12605 (version (git-version "0.2" "1" commit))
12606 (source (origin
12607 (method git-fetch)
12608 (uri (git-reference
12609 (url "https://github.com/buzztaiki/lice-el.git")
12610 (commit commit)))
12611 (file-name (git-file-name name version))
12612 (sha256
12613 (base32
12614 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
12615 (build-system emacs-build-system)
12616 (home-page "https://github.com/buzztaiki/lice-el")
12617 (synopsis "License and header template for Emacs")
12618 (description "@code{lice.el} provides following features:
12619
12620 @itemize
12621 @item License template management.
12622 @item File header insertion.
12623 @end itemize\n")
12624 (license license:gpl3+))))
12625
12626 (define-public emacs-academic-phrases
12627 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
12628 (package
12629 (name "emacs-academic-phrases")
12630 (version (git-version "0.1" "1" commit))
12631 (source
12632 (origin
12633 (method git-fetch)
12634 (uri (git-reference
12635 (url "https://github.com/nashamri/academic-phrases.git")
12636 (commit commit)))
12637 (file-name (git-file-name name version))
12638 (sha256
12639 (base32
12640 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
12641 (build-system emacs-build-system)
12642 (propagated-inputs
12643 `(("emacs-dash" ,emacs-dash)
12644 ("emacs-s" ,emacs-s)
12645 ("emacs-ht" ,emacs-ht)))
12646 (home-page "https://github.com/nashamri/academic-phrases")
12647 (synopsis "Bypass that mental block when writing your papers")
12648 (description
12649 "When writing your academic paper, you might get stuck trying to find
12650 the right phrase that captures your intention. This package tries to
12651 alleviate that problem by presenting you with a list of phrases organized by
12652 the topic or by the paper section that you are writing. This package has
12653 around 600 phrases so far.
12654
12655 Using this package is easy, just call @code{academic-phrases} to get a list of
12656 phrases organized by topic, or call @code{academic-phrases-by-section} to
12657 browse the phrases by the paper section and fill-in the blanks if required.")
12658 (license license:gpl3+))))
12659
12660 (define-public emacs-auto-yasnippet
12661 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
12662 (package
12663 (name "emacs-auto-yasnippet")
12664 (version (git-version "0.3.0" "1" commit))
12665 (source (origin
12666 (method git-fetch)
12667 (uri (git-reference
12668 (url "https://github.com/abo-abo/auto-yasnippet.git")
12669 (commit commit)))
12670 (file-name (git-file-name name version))
12671 (sha256
12672 (base32
12673 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
12674 (build-system emacs-build-system)
12675 (arguments
12676 '(#:phases
12677 (modify-phases %standard-phases
12678 (add-before 'install 'check
12679 (lambda _
12680 (invoke "emacs" "--batch"
12681 "-l" "auto-yasnippet.el"
12682 "-l" "auto-yasnippet-test.el"
12683 "-f" "ert-run-tests-batch-and-exit"))))))
12684 (propagated-inputs
12685 `(("emacs-yasnippet" ,emacs-yasnippet)))
12686 (home-page "https://github.com/abo-abo/auto-yasnippet/")
12687 (synopsis "Quickly create disposable yasnippets")
12688 (description "This package provides a hybrid of keyboard macros and
12689 yasnippet. You create the snippet on the go, usually to be used just in the
12690 one place. It's fast, because you're not leaving the current buffer, and all
12691 you do is enter the code you'd enter anyway, just placing ~ where you'd like
12692 yasnippet fields and mirrors to be.")
12693 (license license:gpl3+))))
12694
12695 (define-public emacs-highlight-numbers
12696 (package
12697 (name "emacs-highlight-numbers")
12698 (version "0.2.3")
12699 (source
12700 (origin
12701 (method git-fetch)
12702 (uri (git-reference
12703 (url "https://github.com/Fanael/highlight-numbers.git")
12704 (commit version)))
12705 (file-name (git-file-name name version))
12706 (sha256
12707 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
12708 (build-system emacs-build-system)
12709 (propagated-inputs
12710 `(("emacs-parent-mode" ,emacs-parent-mode)))
12711 (home-page "https://github.com/Fanael/highlight-numbers")
12712 (synopsis "Highlight numbers in source code")
12713 (description "@code{highlight-numbers-mode} provides a minor mode for
12714 syntax highlighting of numeric literals in source code.
12715
12716 It s customizable: it's easy to add or redefine what exactly consitutes a
12717 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
12718 (license license:gpl3+)))
12719
12720 (define-public emacs-darkroom
12721 (package
12722 (name "emacs-darkroom")
12723 (version "0.1")
12724 (source (origin
12725 (method url-fetch)
12726 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
12727 version ".el"))
12728 (sha256
12729 (base32
12730 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
12731 (build-system emacs-build-system)
12732 (home-page "https://elpa.gnu.org/packages/darkroom.html")
12733 (synopsis "Remove visual distractions and focus on writing")
12734 (description "@code{darkroom-mode} makes visual distractions disappear.
12735 The mode-line is temporarily elided, text is enlarged and margins are adjusted
12736 so that it's centered on the window.
12737
12738 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
12739 @code{darkroom-mode}, unless the current buffer lives in the sole window of
12740 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
12741 split to display more windows and more buffers, the buffer exits
12742 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
12743 @code{darkroom-mode}.")
12744 (license license:gpl3+)))
12745
12746 (define-public emacs-rsw-elisp
12747 (package
12748 (name "emacs-rsw-elisp")
12749 (version "1.0.5")
12750 (source (origin
12751 (method url-fetch)
12752 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
12753 "/archive/" version ".tar.gz"))
12754 (file-name (string-append name "-" version ".tar.gz"))
12755 (sha256
12756 (base32
12757 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
12758 (build-system emacs-build-system)
12759 (home-page "https://github.com/rswgnu/rsw-elisp")
12760 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
12761 (description "This package improves and replaces the GNU Emacs commands
12762 that interactively evaluate Emacs Lisp expressions. The new commands replace
12763 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
12764 the same way as the old commands when called non-interactively; only the
12765 interactive behavior should be different.")
12766 (license license:gpl3+)))
12767
12768 (define-public emacs-default-text-scale
12769 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
12770 (revision "1"))
12771 (package
12772 (name "emacs-default-text-scale")
12773 (version (string-append "0.1" "-" revision "."
12774 (string-take commit 7)))
12775 (source (origin
12776 (method git-fetch)
12777 (uri (git-reference
12778 (url "https://github.com/purcell/default-text-scale")
12779 (commit commit)))
12780 (file-name (git-file-name name version))
12781 (sha256
12782 (base32
12783 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
12784 (build-system emacs-build-system)
12785 (home-page "https://github.com/purcell/default-text-scale")
12786 (synopsis "Adjust the font size in all Emacs frames")
12787 (description "This package provides commands for increasing or
12788 decreasing the default font size in all GUI Emacs frames.")
12789 (license license:gpl3+))))
12790
12791 (define-public emacs-mixed-pitch
12792 (package
12793 (name "emacs-mixed-pitch")
12794 (version "1.0.1")
12795 (source
12796 (origin
12797 (method git-fetch)
12798 (uri (git-reference
12799 (url "https://gitlab.com/jabranham/mixed-pitch.git")
12800 (commit version)))
12801 (file-name (git-file-name name version))
12802 (sha256
12803 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
12804 (build-system emacs-build-system)
12805 (home-page "https://gitlab.com/jabranham/mixed-pitch")
12806 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
12807 (description
12808 "@code{mixed-pitch-mode} is a minor mode that enables mixing
12809 variable-pitch and fixed-pitch fonts in the same buffer. The list
12810 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
12811 fixed-pitch,everything else becomes variable-pitch.")
12812 (license license:gpl3+)))
12813
12814 (define-public emacs-visual-regexp
12815 (package
12816 (name "emacs-visual-regexp")
12817 (version "1.1.1")
12818 (source
12819 (origin
12820 (method git-fetch)
12821 (uri (git-reference
12822 (url "https://github.com/benma/visual-regexp.el.git")
12823 (commit (string-append "v" version))))
12824 (file-name (git-file-name name version))
12825 (sha256
12826 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
12827 (build-system emacs-build-system)
12828 (home-page "https://github.com/benma/visual-regexp.el/")
12829 (synopsis "Regexp command with interactive visual feedback")
12830 (description "This package provides an Emacs regexp command with
12831 interactive visual feedback.")
12832 (license license:gpl3+)))
12833
12834 (define-public emacs-faceup
12835 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
12836 (revision "1"))
12837 (package
12838 (name "emacs-faceup")
12839 (version (string-append "0.0.1" "-" revision "."
12840 (string-take commit 7)))
12841 (source
12842 (origin
12843 (method git-fetch)
12844 (uri (git-reference
12845 (url "https://github.com/Lindydancer/faceup.git")
12846 (commit commit)))
12847 (file-name (git-file-name name version))
12848 (sha256
12849 (base32
12850 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
12851 (build-system emacs-build-system)
12852 (home-page "https://github.com/Lindydancer/faceup")
12853 (synopsis "Markup language for faces and font-lock regression testing")
12854 (description "Emacs is capable of highlighting buffers based on
12855 language-specific @code{font-lock} rules. This package makes it possible to
12856 perform regression test for packages that provide font-lock rules.")
12857 (license license:gpl3+))))
12858
12859 (define-public emacs-racket-mode
12860 (let ((commit "5300aa004f08535c3fac99f1af78462f129aca81")
12861 (revision "3"))
12862 (package
12863 (name "emacs-racket-mode")
12864 (version (git-version "0.0.2" revision commit))
12865 (source
12866 (origin
12867 (method git-fetch)
12868 (uri (git-reference
12869 (url "https://github.com/greghendershott/racket-mode")
12870 (commit commit)))
12871 (file-name (git-file-name name version))
12872 (sha256
12873 (base32
12874 "1gkpm4fl1ybsm9qqgrkwyjbd9znddy438x266k27fs90lkxrfray"))))
12875 (build-system emacs-build-system)
12876 (arguments
12877 `(#:include '("\\.el$" "\\.rkt$")))
12878 (propagated-inputs
12879 `(("emacs-faceup" ,emacs-faceup)
12880 ("emacs-s" ,emacs-s)))
12881 (home-page "https://github.com/greghendershott/racket-mode")
12882 (synopsis "Major mode for Racket language")
12883 (description "@code{racket-mode} provides:
12884
12885 @itemize
12886 @item Focus on Racket (not various Schemes).
12887 @item Follow DrRacket concepts where applicable.
12888 @item Thorough font-lock and indent.
12889 @end itemize\n")
12890 (license license:gpl3+))))
12891
12892 (define-public emacs-grep-context
12893 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
12894 (package
12895 (name "emacs-grep-context")
12896 (version (git-version "0.1" "1" commit))
12897 (source
12898 (origin
12899 (method git-fetch)
12900 (uri (git-reference
12901 (url "https://github.com/mkcms/grep-context.git")
12902 (commit commit)))
12903 (file-name (git-file-name name version))
12904 (sha256
12905 (base32
12906 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
12907 (build-system emacs-build-system)
12908 (propagated-inputs
12909 `(("emacs-dash" ,emacs-dash)))
12910 (home-page "https://github.com/nashamri/academic-phrases")
12911 (synopsis "Increase context in compilation and grep buffers")
12912 (description
12913 "This package provides an Emacs package for more context in
12914 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
12915 @code{ivy}.")
12916 (license license:gpl3+))))
12917
12918 (define-public emacs-helm-firefox
12919 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
12920 (revision "1"))
12921 (package
12922 (name "emacs-helm-firefox")
12923 (version (string-append "0.0.1" "-" revision "."
12924 (string-take commit 7)))
12925 (source
12926 (origin
12927 (method git-fetch)
12928 (uri (git-reference
12929 (url "https://github.com/emacs-helm/helm-firefox.git")
12930 (commit commit)))
12931 (file-name (git-file-name name version))
12932 (sha256
12933 (base32
12934 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
12935 (propagated-inputs
12936 `(("emacs-helm" ,emacs-helm)))
12937 (build-system emacs-build-system)
12938 (home-page "https://github.com/emacs-helm/helm-firefox")
12939 (synopsis "Display firefox bookmarks with Emacs Helm interface")
12940 (description "Display firefox bookmarks with Emacs Helm interface")
12941 (license license:gpl3+))))
12942
12943 (define-public emacs-interactive-align
12944 (package
12945 (name "emacs-interactive-align")
12946 (version "0.1.0")
12947 (source
12948 (origin
12949 (method url-fetch)
12950 (uri (string-append "https://github.com/mkcms/interactive-align/"
12951 "archive/" "v" version ".tar.gz"))
12952 (file-name (string-append name "-" version ".tar.gz"))
12953 (sha256
12954 (base32
12955 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
12956 (build-system emacs-build-system)
12957 (home-page "https://github.com/mkcms/interactive-align/")
12958 (synopsis "Interactive align-regexp command in Emacs")
12959 (description "Interactive align-regexp command in Emacs")
12960 (license license:gpl3+)))
12961
12962 (define-public emacs-shift-number
12963 (package
12964 (name "emacs-shift-number")
12965 (version "0.1")
12966 (source
12967 (origin
12968 (method url-fetch)
12969 (uri (string-append "https://github.com/alezost/shift-number.el"
12970 "/archive/" "v" version ".tar.gz"))
12971 (file-name (string-append name "-" version ".tar.gz"))
12972 (sha256
12973 (base32
12974 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
12975 (build-system emacs-build-system)
12976 (home-page "https://github.com/alezost/shift-number.el")
12977 (synopsis "Increase or decrease the number at point")
12978 (description "@code{emacs-shift-number} provides commands
12979 @code{shift-number-up} to increase and @code{shift-number-down} to
12980 decrease the number at point.")
12981 (license license:gpl3+)))
12982
12983 (define-public emacs-highlight-defined
12984 (package
12985 (name "emacs-highlight-defined")
12986 (version "0.1.5")
12987 (source
12988 (origin
12989 (method git-fetch)
12990 (uri (git-reference
12991 (url "https://github.com/Fanael/highlight-defined.git")
12992 (commit version)))
12993 (file-name (git-file-name name version))
12994 (sha256
12995 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
12996 (build-system emacs-build-system)
12997 (home-page "https://github.com/Fanael/highlight-defined")
12998 (synopsis "Syntax highlighting of known Elisp symbols")
12999 (description "Minor mode providing syntax highlighting of known Emacs Lisp
13000 symbols. Currently the code distinguishes Lisp functions, built-in functions,
13001 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
13002 (license license:gpl3+)))
13003
13004 (define-public emacs-parinfer-mode
13005 (package
13006 (name "emacs-parinfer-mode")
13007 (version "0.4.10")
13008 (source
13009 (origin
13010 (method git-fetch)
13011 (uri (git-reference
13012 (url "https://github.com/DogLooksGood/parinfer-mode.git")
13013 (commit (string-append "v" version))))
13014 (file-name (git-file-name name version))
13015 (sha256
13016 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
13017 (propagated-inputs
13018 `(("emacs-dash" ,emacs-dash)
13019 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
13020 ("emacs-company" ,emacs-company)))
13021 (build-system emacs-build-system)
13022 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
13023 (synopsis "Lisp structure editing mode")
13024 (description "@code{parinfer-mode} is a proof-of-concept editor
13025 mode for Lisp programming languages. It will infer some changes to
13026 keep Parens and Indentation inline with one another.")
13027 (license license:gpl3+)))
13028
13029 (define-public emacs-helm-eww
13030 (package
13031 (name "emacs-helm-eww")
13032 (version "1.2")
13033 (source (origin
13034 (method git-fetch)
13035 (uri (git-reference
13036 (url "https://github.com/emacs-helm/helm-eww.git")
13037 (commit version)))
13038 (file-name (git-file-name name version))
13039 (sha256
13040 (base32
13041 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
13042 (propagated-inputs
13043 `(("emacs-helm" ,emacs-helm)))
13044 (build-system emacs-build-system)
13045 (home-page "https://github.com/emacs-helm/helm-eww/")
13046 (synopsis "Helm interface to EWW")
13047 (description "This package provides a Helm interface for EWW buffers,
13048 bookmarks and history.")
13049 (license license:gpl3+)))
13050
13051 (define-public emacs-stumpwm-mode
13052 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
13053 (package
13054 (name "emacs-stumpwm-mode")
13055 (version (git-version "0.0.1" "1" commit))
13056 (source (origin
13057 (method git-fetch)
13058 (uri (git-reference
13059 (url "https://github.com/stumpwm/stumpwm-contrib.git")
13060 (commit commit)))
13061 (file-name (git-file-name name version))
13062 (sha256
13063 (base32
13064 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
13065 (build-system emacs-build-system)
13066 (arguments
13067 `(#:phases
13068 (modify-phases %standard-phases
13069 (add-after 'unpack 'chdir-elisp
13070 ;; Elisp directory is not in root of the source.
13071 (lambda _
13072 (chdir "util/swm-emacs"))))))
13073 (home-page "https://github.com/stumpwm/stumpwm-contrib")
13074 (synopsis "Emacs minor-mode for Stumpwm")
13075 (description "Emacs minor-mode for Stumpwm")
13076 (license license:gpl3+))))
13077
13078 (define-public emacs-irfc
13079 (package
13080 (name "emacs-irfc")
13081 (version "20130824.507-1")
13082 (source
13083 (origin
13084 (method url-fetch)
13085 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
13086 (file-name (string-append "irfc-" version ".el"))
13087 (sha256
13088 (base32
13089 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
13090 (build-system emacs-build-system)
13091 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
13092 (synopsis "Interface for IETF RFC document")
13093 (description
13094 "This package provides an Emacs interface for IETF RFC document.")
13095 (license license:gpl3+)))
13096
13097 (define-public emacs-ido-vertical-mode
13098 (package
13099 (name "emacs-ido-vertical-mode")
13100 (version "0.1.6")
13101 (source
13102 (origin
13103 (method git-fetch)
13104 (uri (git-reference
13105 (url "https://github.com/creichert/ido-vertical-mode.el.git")
13106 (commit (string-append "v" version))))
13107 (file-name (git-file-name name version))
13108 (sha256
13109 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
13110 (build-system emacs-build-system)
13111 (home-page "https://github.com/creichert/ido-vertical-mode.el")
13112 (synopsis "Makes ido-mode display vertically")
13113 (description "Makes ido-mode display prospects vertically.")
13114 (license license:gpl3+)))
13115
13116 (define-public emacs-wordgen
13117 (package
13118 (name "emacs-wordgen")
13119 (version "0.1.4")
13120 (source
13121 (origin
13122 (method git-fetch)
13123 (uri (git-reference
13124 (url "https://github.com/Fanael/wordgen.el.git")
13125 (commit version)))
13126 (file-name (git-file-name name version))
13127 (sha256
13128 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
13129 (build-system emacs-build-system)
13130 (home-page "https://github.com/Fanael/wordgen.el")
13131 (synopsis "Random word generator")
13132 (description "This package provides functions to generate random words
13133 using user-provided rules.")
13134 (license license:gpl3+)))
13135
13136 (define-public emacs-on-screen
13137 (package
13138 (name "emacs-on-screen")
13139 (version "1.3.2")
13140 (source
13141 (origin
13142 (method url-fetch)
13143 (uri (string-append
13144 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
13145 (file-name (string-append name "-" version ".el"))
13146 (sha256
13147 (base32
13148 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
13149 (build-system emacs-build-system)
13150 (home-page
13151 "https://github.com/michael-heerdegen/on-screen.el")
13152 (synopsis "Guide your eyes while scrolling")
13153 (description
13154 "Scrolling can be distracting because your eyes may lose
13155 orientation. This library implements a minor mode that highlights
13156 the previously visible buffer part after each scroll.")
13157 (license license:gpl3+)))
13158
13159 (define-public emacs-highlight-escape-sequences
13160 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
13161 (revision "1"))
13162 (package
13163 (name "emacs-highlight-escape-sequences")
13164 (version (string-append "0.0.1" "-" revision "."
13165 (string-take commit 7)))
13166 (source
13167 (origin
13168 (method git-fetch)
13169 (uri (git-reference
13170 (url "https://github.com/dgutov/highlight-escape-sequences.git")
13171 (commit commit)))
13172 (file-name (git-file-name name version))
13173 (sha256
13174 (base32
13175 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
13176 (build-system emacs-build-system)
13177 (home-page "https://github.com/dgutov/highlight-escape-sequences")
13178 (synopsis "Highlight escape sequences in Emacs")
13179 (description "@code{highlight-escape-sequences} provides an
13180 Emacs minor mode to escape sequences in code.")
13181 (license license:gpl3+))))
13182
13183 (define-public emacs-dashboard
13184 (package
13185 (name "emacs-dashboard")
13186 (version "1.5.0")
13187 (source
13188 (origin
13189 (method git-fetch)
13190 (uri (git-reference
13191 (url "https://github.com/rakanalh/emacs-dashboard.git")
13192 (commit version)))
13193 (file-name (git-file-name name version))
13194 (sha256
13195 (base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
13196 (build-system emacs-build-system)
13197 (propagated-inputs
13198 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
13199 (arguments
13200 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
13201 #:phases
13202 (modify-phases %standard-phases
13203 (add-after 'unpack 'patch-dashboard-widgets
13204 ;; This phase fixes compilation error.
13205 (lambda _
13206 (chmod "dashboard-widgets.el" #o666)
13207 (emacs-substitute-variables "dashboard-widgets.el"
13208 ("dashboard-init-info"
13209 '(format "Loaded in %s" (emacs-init-time))))
13210 #t)))))
13211 (home-page "https://github.com/rakanalh/emacs-dashboard")
13212 (synopsis "Startup screen extracted from Spacemacs")
13213 (description "This package provides an extensible Emacs dashboard, with
13214 sections for bookmarks, projectil projects, org-agenda and more. ")
13215 (license license:gpl3+)))
13216
13217 (define-public emacs-slime-company
13218 (package
13219 (name "emacs-slime-company")
13220 (version "1.1")
13221 (source
13222 (origin
13223 (method git-fetch)
13224 (uri (git-reference
13225 (url "https://github.com/anwyn/slime-company.git")
13226 (commit (string-append "v" version))))
13227 (file-name (git-file-name name version))
13228 (sha256
13229 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
13230 (build-system emacs-build-system)
13231 (propagated-inputs
13232 `(("emacs-slime" ,emacs-slime)
13233 ("emacs-company" ,emacs-company)))
13234 (home-page "https://company-mode.github.io")
13235 (synopsis "SLIME completion backend for @code{company-mode}")
13236 (description
13237 "This is a backend implementation for the completion package
13238 @code{company-mode} which supports the normal and the fuzzy completion
13239 modes of SLIME.")
13240 (license license:gpl3+)))
13241
13242 (define-public emacs-sml-mode
13243 (package
13244 (name "emacs-sml-mode")
13245 (version "6.9")
13246 (source
13247 (origin
13248 (method url-fetch)
13249 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
13250 version ".el"))
13251 (sha256
13252 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
13253 (build-system emacs-build-system)
13254 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
13255 (synopsis "Major mode for editing (Standard) ML")
13256 (description "SML-MODE is a major Emacs mode for editing Standard ML.
13257 It provides syntax highlighting and automatic indentation and
13258 comes with sml-proc which allows interaction with an inferior SML
13259 interactive loop.")
13260 (license license:gpl3+)))
13261
13262 (define-public emacs-eros
13263 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
13264 (revision "1"))
13265 (package
13266 (name "emacs-eros")
13267 (version (string-append "0.0.1" "-" revision "."
13268 (string-take commit 7)))
13269 (source
13270 (origin
13271 (method git-fetch)
13272 (uri (git-reference
13273 (url "https://github.com/xiongtx/eros.git")
13274 (commit commit)))
13275 (file-name (git-file-name name version))
13276 (sha256
13277 (base32
13278 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
13279 (build-system emacs-build-system)
13280 (home-page "https://github.com/xiongtx/eros")
13281 (synopsis "Evaluation result overlays")
13282 (description "@code{eros} provides evaluation result overlays.")
13283 (license license:gpl3+))))
13284
13285 (define-public emacs-stickyfunc-enhance
13286 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
13287 (revision "1"))
13288 (package
13289 (name "emacs-stickyfunc-enhance")
13290 (version "0.1")
13291 (source
13292 (origin
13293 (method git-fetch)
13294 (uri (git-reference
13295 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
13296 (commit commit)))
13297 (file-name (git-file-name name version))
13298 (sha256
13299 (base32
13300 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
13301 (build-system emacs-build-system)
13302 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
13303 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
13304 (description
13305 "@code{semantic-stickyfunc-mode} shows the function point is currently
13306 in at the first line of the current buffer. This is useful when you have a
13307 very long function that spreads more than a screen, and you don't have to
13308 scroll up to read the function name and then scroll down to original position.")
13309 (license license:gpl3+))))
13310
13311 (define-public emacs-git-auto-commit-mode
13312 (package
13313 (name "emacs-git-auto-commit-mode")
13314 (version "4.4.0")
13315 (source
13316 (origin
13317 (method git-fetch)
13318 (uri (git-reference
13319 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
13320 (commit version)))
13321 (file-name (git-file-name name version))
13322 (sha256
13323 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
13324 (build-system emacs-build-system)
13325 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
13326 (synopsis "Emacs Minor mode to automatically commit and push")
13327 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
13328 tries to commit changes to a file after every save.
13329
13330 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
13331 the current upstream.")
13332 (license license:gpl3+)))
13333
13334 (define-public emacs-scroll-on-drag
13335 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
13336 (revision "1"))
13337 (package
13338 (name "emacs-scroll-on-drag")
13339 (version (git-version "0.1" revision commit))
13340 (source
13341 (origin
13342 (method git-fetch)
13343 (uri (git-reference
13344 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
13345 (commit commit)))
13346 (file-name (git-file-name name version))
13347 (sha256
13348 (base32
13349 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
13350 (build-system emacs-build-system)
13351 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
13352 (synopsis "Interactive scrolling")
13353 (description "This package permits scrolling at increasing speeds based
13354 on drag distance.")
13355 (license license:gpl3+))))
13356
13357 (define-public emacs-company-restclient
13358 (package
13359 (name "emacs-company-restclient")
13360 (version "0.3.0")
13361 (source
13362 (origin
13363 (method git-fetch)
13364 (uri (git-reference
13365 (url "https://github.com/iquiw/company-restclient.git")
13366 (commit (string-append "v" version))))
13367 (file-name (git-file-name name version))
13368 (sha256
13369 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
13370 (build-system emacs-build-system)
13371 (propagated-inputs
13372 `(("emacs-company" ,emacs-company)
13373 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
13374 ("emacs-restclient" ,emacs-restclient)))
13375 (home-page "https://github.com/iquiw/company-restclient")
13376 (synopsis "Company-mode completion back-end for restclient-mode")
13377 (description "@code{company-mode} back-end for
13378 @code{restclient-mode}.
13379
13380 It provides auto-completion for HTTP methods and headers in
13381 @code{restclient-mode}. Completion source is given by
13382 @code{know-your-http-well}.")
13383 (license license:gpl3+)))
13384
13385 (define-public emacs-noflet
13386 (let ((version "20170629")
13387 (revision "1")
13388 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
13389 (package
13390 (name "emacs-noflet")
13391 (version (git-version version revision commit))
13392 (source
13393 (origin
13394 (method git-fetch)
13395 (uri (git-reference
13396 (url "https://github.com/nicferrier/emacs-noflet")
13397 (commit commit)))
13398 (file-name (git-file-name name version))
13399 (sha256
13400 (base32
13401 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
13402 (build-system emacs-build-system)
13403 (arguments
13404 `(#:phases
13405 (modify-phases %standard-phases
13406 (add-after 'unpack 'require-dash
13407 ;; noflet.el uses -map from dash, but (require 'dash) is
13408 ;; missing. So, add it.
13409 (lambda _
13410 (substitute* "noflet.el"
13411 ((";;; Code:") ";;; Code:\n(require 'dash)"))
13412 #t)))))
13413 (propagated-inputs
13414 `(("emacs-dash" ,emacs-dash)))
13415 (home-page "https://github.com/nicferrier/emacs-noflet")
13416 (synopsis "Locally override functions")
13417 (description "@code{emacs-noflet} lets you locally override functions,
13418 in the manner of @command{flet}, but with access to the original function
13419 through the symbol: @command{this-fn}.")
13420 (license license:gpl3+))))
13421
13422 (define-public emacs-dumb-jump
13423 (package
13424 (name "emacs-dumb-jump")
13425 (version "0.5.2")
13426 (source
13427 (origin
13428 (method git-fetch)
13429 (uri (git-reference
13430 (url "https://github.com/jacktasia/dumb-jump.git")
13431 (commit (string-append "v" version))))
13432 (file-name (git-file-name name version))
13433 (sha256
13434 (base32 "00ph85vp8sa3k99qrdxfz4l8zx121q9xf47vvspzg26bk9l4nwin"))))
13435 (build-system emacs-build-system)
13436 (arguments
13437 `(#:tests? #f ; FIXME: Tests freeze when run.
13438 #:test-command '("ert-runner")
13439 #:phases
13440 (modify-phases %standard-phases
13441 (add-after 'unpack 'set-shell
13442 (lambda _
13443 ;; Setting the SHELL environment variable is required for the
13444 ;; tests to find sh.
13445 (setenv "SHELL" (which "sh"))
13446 #t)))))
13447 (native-inputs
13448 `(("emacs-el-mock" ,emacs-el-mock)
13449 ("emacs-noflet" ,emacs-noflet)
13450 ("emacs-undercover" ,emacs-undercover)
13451 ("ert-runner" ,emacs-ert-runner)))
13452 (propagated-inputs
13453 `(("emacs-f" ,emacs-f)
13454 ("emacs-popup" ,emacs-popup)))
13455 (home-page "https://github.com/jacktasia/dumb-jump")
13456 (synopsis "Jump to definition for multiple languages without configuration")
13457 (description "Dumb Jump is an Emacs \"jump to definition\" package with
13458 support for multiple programming languages that favors \"just working\" over
13459 speed or accuracy. This means minimal --- and ideally zero --- configuration
13460 with absolutely no stored indexes (tags) or persistent background processes.
13461 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
13462 @command{rg} installed.")
13463 (license license:gpl3+)))
13464
13465 (define-public emacs-dts-mode
13466 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
13467 (revision "1"))
13468 (package
13469 (name "emacs-dts-mode")
13470 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
13471 (source
13472 (origin
13473 (method git-fetch)
13474 (uri (git-reference
13475 (url "https://github.com/bgamari/dts-mode.git")
13476 (commit commit)))
13477 (file-name (git-file-name name version))
13478 (sha256
13479 (base32
13480 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
13481 (build-system emacs-build-system)
13482 (home-page "https://github.com/bgamari/dts-mode.git")
13483 (synopsis "Emacs minor mode for editing device tree files")
13484 (description
13485 "This package provides an Emacs minor mode for highlighting
13486 device tree files.")
13487 (license license:gpl3+))))
13488
13489 (define-public emacs-daemons
13490 (package
13491 (name "emacs-daemons")
13492 (version "2.0.0")
13493 (source
13494 (origin
13495 (method git-fetch)
13496 (uri (git-reference
13497 (url "https://github.com/cbowdon/daemons.el")
13498 (commit version)))
13499 (file-name (git-file-name name version))
13500 (sha256
13501 (base32
13502 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
13503 (build-system emacs-build-system)
13504 (home-page "https://github.com/cbowdon/daemons.el")
13505 (synopsis "Emacs UI for managing init system services")
13506 (description
13507 "This is an Emacs mode to give you a UI for managing init system
13508 daemons (services) for those getting tired of typing out @code{sudo service
13509 my_thing reload} all the time. It offers a consistent UI over different init
13510 systems.")
13511 (license license:gpl3+)))
13512
13513 (define-public emacs-isearch+
13514 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
13515 (revision "1"))
13516 (package
13517 (name "emacs-isearch+")
13518 (version (git-version "0" revision commit))
13519 (source
13520 (origin
13521 (method git-fetch)
13522 (uri (git-reference
13523 (url "https://github.com/emacsmirror/isearch-plus.git")
13524 (commit commit)))
13525 (file-name (git-file-name name version))
13526 (sha256
13527 (base32
13528 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
13529 (build-system emacs-build-system)
13530 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
13531 (synopsis "Extensions to @code{isearch.el}")
13532 (description "This package extends @code{isearch} with advice, dynamic
13533 filters, highlighting of regexp group levels, and more.")
13534 (license license:gpl2+))))
13535
13536 (define-public emacs-eshell-bookmark
13537 (package
13538 (name "emacs-eshell-bookmark")
13539 (version "2.0.0")
13540 (source
13541 (origin
13542 (method git-fetch)
13543 (uri (git-reference
13544 (url "https://github.com/Fuco1/eshell-bookmark")
13545 (commit version)))
13546 (file-name (git-file-name name version))
13547 (sha256
13548 (base32
13549 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
13550 (build-system emacs-build-system)
13551 (home-page "https://github.com/Fuco1/eshell-bookmark")
13552 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
13553 (description
13554 "This package allows for bookmarking @code{eshell} buffers. Upon
13555 visiting the bookmark, a new @code{eshell} session will be opened in the
13556 appropriate directory if no @code{eshell} session is active.")
13557 (license license:gpl3+)))
13558
13559 (define-public emacs-eshell-z
13560 (package
13561 (name "emacs-eshell-z")
13562 (version "0.3.2")
13563 (source
13564 (origin
13565 (method git-fetch)
13566 (uri (git-reference
13567 (url "https://github.com/xuchunyang/eshell-z")
13568 (commit (string-append "v" version))))
13569 (file-name (git-file-name name version))
13570 (sha256
13571 (base32
13572 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
13573 (build-system emacs-build-system)
13574 (home-page "https://github.com/xuchunyang/eshell-z")
13575 (synopsis "Quick navigation to frequently visited directories")
13576 (description
13577 "This package is a port of @code{z}, and keeps track of visited directories
13578 and commands invoked within them in order to enable navigation via input of
13579 matching regexps.")
13580 (license license:gpl3+)))
13581
13582 (define-public emacs-esh-autosuggest
13583 (package
13584 (name "emacs-esh-autosuggest")
13585 (version "2.0.0")
13586 (source
13587 (origin
13588 (method git-fetch)
13589 (uri (git-reference
13590 (url "https://github.com/dieggsy/esh-autosuggest")
13591 (commit version)))
13592 (file-name (git-file-name name version))
13593 (sha256
13594 (base32
13595 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
13596 (build-system emacs-build-system)
13597 (propagated-inputs `(("emacs-company" ,emacs-company)))
13598 (home-page "https://github.com/dieggsy/esh-autosuggest")
13599 (synopsis "Fish-like autosuggestions in Eshell")
13600 (description
13601 "This package assumes you use something other than company for eshell
13602 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
13603 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
13604 for history autosuggestions.
13605
13606 Unless you're using @code{use-package}'s hook keyword, you can enable the
13607 autosuggestions with:
13608 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
13609 (license license:gpl3+)))
13610
13611 (define-public emacs-desktop-environment
13612 (package
13613 (name "emacs-desktop-environment")
13614 (version "0.2.2")
13615 (source
13616 (origin
13617 (method git-fetch)
13618 (uri (git-reference
13619 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
13620 (commit (string-append "v" version))))
13621 (file-name (git-file-name name version))
13622 (sha256
13623 (base32
13624 "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
13625 (build-system emacs-build-system)
13626 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
13627 (synopsis "Control your GNU/Linux desktop environment from Emacs")
13628 (description
13629 "This package helps you control your GNU/Linux desktop from Emacs.
13630 With @code{desktop-environment}, you can control the brightness and volume as
13631 well as take screenshots and lock your screen. The package depends on the
13632 availability of shell commands to do the hard work for us. These commands can
13633 be changed by customizing the appropriate variables.")
13634 (license license:gpl3+)))
13635
13636 (define-public emacs-org-caldav
13637 (package
13638 (name "emacs-org-caldav")
13639 (version "20180403")
13640 (source
13641 (origin
13642 (method url-fetch)
13643 (uri (string-append
13644 "https://github.com/dengste/org-caldav/raw/"
13645 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
13646 "/org-caldav.el"))
13647 (sha256
13648 (base32
13649 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
13650 (build-system emacs-build-system)
13651 (propagated-inputs `(("emacs-org" ,emacs-org)))
13652 (home-page "https://github.com/dengste/org-caldav")
13653 (synopsis
13654 "Sync Org files with external calendars via the CalDAV protocol")
13655 (description
13656 "Synchronize between events in Org-mode files and a CalDAV calendar.
13657 This code is still alpha.")
13658 (license license:gpl3+)))
13659
13660 (define-public emacs-zotxt
13661 (package
13662 (name "emacs-zotxt")
13663 (version "20180518")
13664 (source
13665 (origin
13666 (method git-fetch)
13667 (uri (git-reference
13668 (url "https://github.com/egh/zotxt-emacs.git")
13669 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
13670 (file-name (git-file-name name version))
13671 (sha256
13672 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
13673 (build-system emacs-build-system)
13674 (propagated-inputs
13675 `(("emacs-deferred" ,emacs-deferred)
13676 ("emacs-request" ,emacs-request)))
13677 (home-page "https://github.com/egh/zotxt-emacs")
13678 (synopsis "Integrate Emacs with Zotero")
13679 (description "This package provides two integration features between Emacs
13680 and the Zotero research assistant: Insertion of links to Zotero items into an
13681 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
13682 (license license:gpl3+)))
13683
13684 (define-public emacs-evil-ediff
13685 ;; Evil-Ediff is included in Evil Collection from 20180617.
13686 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
13687
13688 (define-public emacs-evil-magit
13689 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
13690 (package
13691 (name "emacs-evil-magit")
13692 (version (git-version "0.4.2" "2" commit))
13693 (source
13694 (origin
13695 (method git-fetch)
13696 (uri (git-reference
13697 (url "https://github.com/emacs-evil/evil-magit")
13698 (commit commit)))
13699 (file-name (git-file-name name version))
13700 (sha256
13701 (base32
13702 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
13703 (build-system emacs-build-system)
13704 (propagated-inputs
13705 `(("emacs-evil" ,emacs-evil)
13706 ("magit" ,emacs-magit)))
13707 (home-page
13708 "https://github.com/emacs-evil/evil-magit")
13709 (synopsis "Evil-based key bindings for Magit")
13710 (description
13711 "This Emacs library configures Magit and Evil to play well with each other.
13712 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
13713 See the README at @url{https://github.com/justbur/evil-magit} for a table
13714 describing the key binding changes.")
13715 (license license:gpl3+))))
13716
13717 (define-public emacs-evil-mu4e
13718 ;; Evil-mu4e is included in Evil Collection from 20180617.
13719 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
13720
13721 (define-public emacs-evil-multiedit
13722 (package
13723 (name "emacs-evil-multiedit")
13724 (version "1.3.9")
13725 (source
13726 (origin
13727 (method git-fetch)
13728 (uri (git-reference
13729 (url "https://github.com/hlissner/evil-multiedit")
13730 (commit (string-append "v" version))))
13731 (file-name (git-file-name name version))
13732 (sha256
13733 (base32
13734 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
13735 (build-system emacs-build-system)
13736 (propagated-inputs
13737 `(("emacs-evil" ,emacs-evil)
13738 ("emacs-iedit" ,emacs-iedit)))
13739 (home-page
13740 "https://github.com/hlissner/evil-multiedit")
13741 (synopsis "Multiple cursors for Evil mode")
13742 (description
13743 "This plugin was an answer to the lack of proper multiple cursor support
13744 in Emacs+Evil. It allows you to select and edit matches interactively,
13745 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
13746 defaults.")
13747 (license license:gpl3+)))
13748
13749 (define-public emacs-evil-mc
13750 (let ((commit "5205fe671803465149e578849bbbe803c23a8e4e")
13751 (revision "1"))
13752 (package
13753 (name "emacs-evil-mc")
13754 (version (git-version "0.0.3" revision commit))
13755 (source
13756 (origin
13757 (method git-fetch)
13758 (uri (git-reference
13759 (url "https://github.com/gabesoft/evil-mc.git")
13760 (commit commit)))
13761 (file-name (git-file-name name version))
13762 (sha256
13763 (base32 "03pxpjjxbai4dwp84bgxh52ahh0f6ac58xi2mds1kl4v93nm7v42"))))
13764 (build-system emacs-build-system)
13765 (propagated-inputs
13766 `(("emacs-evil" ,emacs-evil)))
13767 (native-inputs
13768 `(("emacs-espuds" ,emacs-espuds)))
13769 (home-page "https://github.com/gabesoft/evil-mc")
13770 (synopsis "Interactive search compatible with @code{multiple-cursors}")
13771 (description "This package can be used with @code{multiple-cursors} to
13772 provide an incremental search that moves all fake cursors in sync.")
13773 (license license:expat))))
13774
13775 (define-public emacs-evil-org
13776 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
13777 (package
13778 (name "emacs-evil-org")
13779 (version (git-version "0.1.1" "1" commit))
13780 (source
13781 (origin
13782 (method git-fetch)
13783 (uri (git-reference
13784 (url "https://github.com/Somelauw/evil-org-mode")
13785 (commit commit)))
13786 (file-name (git-file-name name version))
13787 (sha256
13788 (base32
13789 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
13790 (build-system emacs-build-system)
13791 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
13792 (home-page
13793 "https://github.com/Somelauw/evil-org-mode")
13794 (synopsis "Evil keybindings for Org mode")
13795 (description
13796 "This package adds supplemental Evil mode key-bindings to Emacs
13797 Org-mode. It features:
13798 @itemize
13799 @item normal, visual and insert mode bindings;
13800 @item key bindings organised in key themes;
13801 @item operators like > and < to work on headings;
13802 @item text objects;
13803 @item table support;
13804 @item calendar (date selection) support;
13805 @item agenda support.
13806 @end itemize\n")
13807 (license license:gpl3+))))
13808
13809 (define-public emacs-debpaste
13810 (package
13811 (name "emacs-debpaste")
13812 (version "0.1.5")
13813 (home-page "https://github.com/alezost/debpaste.el")
13814 (source
13815 (origin
13816 (method git-fetch)
13817 (uri (git-reference (url home-page)
13818 (commit (string-append "v" version))))
13819 (file-name (string-append name "-" version ".tar.gz"))
13820 (sha256
13821 (base32
13822 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
13823 (build-system emacs-build-system)
13824 (propagated-inputs
13825 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
13826 (synopsis "Manipulate pastes from the Debian Pastezone")
13827 (description "Debpaste is an Emacs interface for the Debian Pastezone,
13828 allowing you to receive, post, and delete pastes. It communicates with the
13829 server using XML-RPC.")
13830 (license license:gpl3+)))
13831
13832 (define-public emacs-xml-rpc
13833 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
13834 (revision "1"))
13835 (package
13836 (name "emacs-xml-rpc")
13837 (version (git-version "1.6.12" revision commit))
13838 (source
13839 (origin
13840 (method git-fetch)
13841 (uri (git-reference
13842 (url "https://github.com/hexmode/xml-rpc-el")
13843 (commit commit)))
13844 (file-name (git-file-name name version))
13845 (sha256
13846 (base32
13847 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
13848 (build-system emacs-build-system)
13849 (home-page "https://github.com/hexmode/xml-rpc-el")
13850 (synopsis "XML-RPC client for Emacs")
13851 (description "This package provides an XML-RPC client for Emacs capable
13852 of both synchronous and asynchronous method calls using the @code{url}
13853 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
13854 datatypes as Lisp values, automatically converting to and from the XML
13855 datastructures as needed, both for method parameters and return values, making
13856 using XML-RPC methods fairly transparent to the Lisp code.")
13857 (license license:gpl3+))))
13858
13859 (define-public emacs-xpm
13860 (package
13861 (name "emacs-xpm")
13862 (version "1.0.4")
13863 (source
13864 (origin
13865 (method url-fetch)
13866 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
13867 version ".tar"))
13868 (sha256
13869 (base32
13870 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
13871 (build-system emacs-build-system)
13872 (home-page "https://elpa.gnu.org/packages/xpm.html")
13873 (synopsis "XPM image editing mode for Emacs")
13874 (description "This Emacs package makes editing XPM images easy (and maybe
13875 fun). Editing is done directly on the (textual) image format, for maximal
13876 cohesion with the Emacs Way.")
13877 (license license:gpl3+)))
13878
13879 (define-public emacs-fish-completion
13880 (package
13881 (name "emacs-fish-completion")
13882 (version "1.1")
13883 (source
13884 (origin
13885 (method git-fetch)
13886 (uri (git-reference
13887 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
13888 (commit version)))
13889 (file-name (git-file-name name version))
13890 (sha256
13891 (base32
13892 "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021"))))
13893 (build-system emacs-build-system)
13894 (inputs `(("fish" ,fish)))
13895 (arguments
13896 `(#:phases
13897 (modify-phases %standard-phases
13898 (add-after 'unpack 'configure
13899 (lambda* (#:key inputs outputs #:allow-other-keys)
13900 (let ((fish (assoc-ref inputs "fish")))
13901 ;; Specify the absolute file names of the various
13902 ;; programs so that everything works out-of-the-box.
13903 (make-file-writable "fish-completion.el")
13904 (emacs-substitute-variables
13905 "fish-completion.el"
13906 ("fish-completion-command"
13907 (string-append fish "/bin/fish")))))))))
13908 (home-page
13909 "https://gitlab.com/Ambrevar/emacs-fish-completion")
13910 (synopsis "Fish completion for Emacs pcomplete")
13911 (description
13912 "This package provides completion for the Fish shell to pcomplete (used
13913 by shell and Eshell). You can set it up globally with:
13914
13915 @example
13916 (when (and (executable-find \"fish\")
13917 (require 'fish-completion nil t))
13918 (global-fish-completion-mode))
13919 @end example
13920
13921 Alternatively, you can call the @code{fish-completion-mode} manually or in
13922 shell/Eshell mode hook.
13923
13924 The package @code{emacs-bash-completion} is an optional dependency: if available,
13925 @code{fish-completion-complete} can be configured to fall back on bash to further
13926 try completing. See @code{fish-completion-fallback-on-bash-p}.")
13927 (license license:gpl3+)))
13928
13929 (define-public emacs-gif-screencast
13930 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
13931 (package
13932 (name "emacs-gif-screencast")
13933 (version (git-version "20180616" "1" commit))
13934 (source
13935 (origin
13936 (method url-fetch)
13937 (uri (string-append
13938 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
13939 "repository/archive.tar.gz?ref="
13940 commit))
13941 (sha256
13942 (base32
13943 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
13944 (build-system emacs-build-system)
13945 (inputs
13946 `(("scrot" ,scrot)
13947 ("imagemagick" ,imagemagick)
13948 ("gifsicle" ,gifsicle)))
13949 (arguments
13950 `(#:phases
13951 (modify-phases %standard-phases
13952 (add-after 'unpack 'configure
13953 (lambda* (#:key inputs outputs #:allow-other-keys)
13954 (let ((scrot (assoc-ref inputs "scrot"))
13955 (imagemagick (assoc-ref inputs "imagemagick"))
13956 (gifsicle (assoc-ref inputs "gifsicle")))
13957 ;; Specify the absolute file names of the various
13958 ;; programs so that everything works out-of-the-box.
13959 (emacs-substitute-variables
13960 "gif-screencast.el"
13961 ("gif-screencast-program"
13962 (string-append scrot "/bin/scrot"))
13963 ("gif-screencast-convert-program"
13964 (string-append imagemagick "/bin/convert"))
13965 ("gif-screencast-cropping-program"
13966 (string-append imagemagick "/bin/mogrify"))
13967 ("gif-screencast-optimize-program"
13968 (string-append gifsicle "/bin/gifsicle")))))))))
13969 (home-page
13970 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
13971 (synopsis "One-frame-per-action GIF recording")
13972 (description
13973 "Call @code{gif-screencast} to start a recording.
13974 A screenshot is taken for every user action. Call
13975 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
13976 the GIF result.")
13977 (license license:gpl3+))))
13978
13979 (define-public emacs-google-translate
13980 (package
13981 (name "emacs-google-translate")
13982 (version "0.11.18")
13983 (source
13984 (origin
13985 (method git-fetch)
13986 (uri (git-reference
13987 (url "https://github.com/atykhonov/google-translate/")
13988 (commit (string-append "v" version))))
13989 (file-name (git-file-name name version))
13990 (sha256
13991 (base32
13992 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
13993 (build-system emacs-build-system)
13994 (home-page "https://github.com/atykhonov/google-translate")
13995 (synopsis "Emacs interface to Google Translate")
13996 (description
13997 "This package provides an Emacs interface to the Google Translate
13998 on-line service.")
13999 (license license:gpl3+)))
14000
14001 (define-public emacs-helm-company
14002 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
14003 (package
14004 (name "emacs-helm-company")
14005 (version (git-version "0.2.3" "1" commit))
14006 (source
14007 (origin
14008 (method git-fetch)
14009 (uri (git-reference
14010 (url "https://github.com/Sodel-the-Vociferous/helm-company")
14011 (commit commit)))
14012 (file-name (git-file-name name version))
14013 (sha256
14014 (base32
14015 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
14016 (build-system emacs-build-system)
14017 (propagated-inputs
14018 `(("emacs-helm" ,emacs-helm)
14019 ("emacs-company" ,emacs-company)))
14020 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
14021 (synopsis "Helm interface for company-mode")
14022 (description
14023 "This is a Helm interface to company-mode, a text completion
14024 framework.")
14025 (license license:gpl3+))))
14026
14027 (define-public emacs-helm-descbinds
14028 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
14029 (package
14030 (name "emacs-helm-descbinds")
14031 (version (git-version "1.13" "1" commit))
14032 (source
14033 (origin
14034 (method git-fetch)
14035 (uri (git-reference
14036 (url "https://github.com/emacs-helm/helm-descbinds")
14037 (commit commit)))
14038 (file-name (git-file-name name version))
14039 (sha256
14040 (base32
14041 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
14042 (build-system emacs-build-system)
14043 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
14044 (home-page "https://github.com/emacs-helm/helm-descbinds")
14045 (synopsis "Convenient @code{describe-bindings} with Helm")
14046 (description
14047 "This package is a replacement of @code{describe-bindings} for Helm.
14048 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
14049 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
14050 @code{helm-descbinds}. The bindings are presented in a similar way as
14051 @code{describe-bindings} does, but you can use completion to find the command
14052 you searched for and execute it, or view its documentation.")
14053 (license license:gpl3+))))
14054
14055 (define-public emacs-helm-emms
14056 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
14057 (package
14058 (name "emacs-helm-emms")
14059 (version (git-version "1.3" "2" commit))
14060 (source
14061 (origin
14062 (method git-fetch)
14063 (uri (git-reference
14064 (url "https://github.com/emacs-helm/helm-emms")
14065 (commit commit)))
14066 (file-name (git-file-name name version))
14067 (sha256
14068 (base32
14069 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
14070 (build-system emacs-build-system)
14071 (propagated-inputs
14072 `(("emacs-helm" ,emacs-helm)
14073 ("emacs-emms" ,emacs-emms)))
14074 (home-page
14075 "https://github.com/emacs-helm/helm-emms")
14076 (synopsis "Emms for Helm")
14077 (description "Helm interface for Emms to browse all tracks and all folders
14078 from @code{emms-source-file-default-directory}.")
14079 (license license:gpl3+))))
14080
14081 (define-public emacs-helm-exwm
14082 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
14083 (package
14084 (name "emacs-helm-exwm")
14085 (version (git-version "20180703" "2" commit))
14086 (source
14087 (origin
14088 (method git-fetch)
14089 (uri (git-reference
14090 (url "https://github.com/emacs-helm/helm-exwm.git")
14091 (commit commit)))
14092 (sha256
14093 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
14094 (build-system emacs-build-system)
14095 (propagated-inputs
14096 `(("emacs-helm" ,emacs-helm)
14097 ("emacs-exwm" ,emacs-exwm)))
14098 (home-page
14099 "https://github.com/emacs-helm/helm-exwm")
14100 (synopsis "Helm for EXWM buffers")
14101 (description
14102 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
14103 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
14104 switch between the various windows of one or several specific applications.
14105 See @code{helm-exwm-switch-browser} for an example.")
14106 (license license:gpl3+))))
14107
14108 (define-public emacs-helm-flycheck
14109 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
14110 (package
14111 (name "emacs-helm-flycheck")
14112 (version (git-version "0.4" "1" commit))
14113 (source
14114 (origin
14115 (method git-fetch)
14116 (uri (git-reference
14117 (url "https://github.com/yasuyk/helm-flycheck")
14118 (commit commit)))
14119 (file-name (git-file-name name version))
14120 (sha256
14121 (base32
14122 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
14123 (build-system emacs-build-system)
14124 (propagated-inputs
14125 `(("emacs-dash" ,emacs-dash)
14126 ("emacs-flycheck" ,emacs-flycheck)
14127 ("emacs-helm" ,emacs-helm)))
14128 (home-page "https://github.com/yasuyk/helm-flycheck")
14129 (synopsis "Show Flycheck errors with Helm")
14130 (description
14131 "This integrates Flycheck with Helm.")
14132 (license license:gpl3+))))
14133
14134 (define-public emacs-helm-ls-git
14135 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
14136 (package
14137 (name "emacs-helm-ls-git")
14138 (version (git-version "1.9.1" "1" commit))
14139 (source
14140 (origin
14141 (method git-fetch)
14142 (uri (git-reference
14143 (url "https://github.com/emacs-helm/helm-ls-git")
14144 (commit commit)))
14145 (file-name (git-file-name name version))
14146 (sha256
14147 (base32
14148 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
14149 (build-system emacs-build-system)
14150 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
14151 (home-page "https://github.com/emacs-helm/helm-ls-git")
14152 (synopsis "Helm interface for listing the files in a Git repository")
14153 (description
14154 "This package provides a Helm interface for Git files.
14155 @itemize
14156 @item Display the open buffers in project.
14157 @item Display a status source showing state of project (modified files etc.).
14158 @item Display a list of all files in project under git control.
14159 @item Quickly look at diffs of modified files.
14160 @item Allow switching to @code{git status} with your preferred frontend
14161 (vc-dir, Magit,etc.).
14162 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
14163 can use ack-grep instead of grep).
14164 @item Integrate usage of gid from id-utils.
14165 @item Full integration with @code{helm-find-files}, allow you to browse
14166 projects unrelated to current-buffer.
14167 @item In addition, all actions of type files and buffers are provided.
14168 @end itemize\n")
14169 (license license:gpl3+))))
14170
14171 (define-public emacs-helm-mu
14172 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
14173 (package
14174 (name "emacs-helm-mu")
14175 (version (git-version "20180513" "1" commit))
14176 (source
14177 (origin
14178 (method git-fetch)
14179 (uri (git-reference
14180 (url "https://github.com/emacs-helm/helm-mu.git")
14181 (commit commit)))
14182 (sha256
14183 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
14184 (build-system emacs-build-system)
14185 (propagated-inputs
14186 `(("emacs-helm" ,emacs-helm)
14187 ("mu" ,mu)))
14188 (home-page
14189 "https://github.com/emacs-helm/helm-mu")
14190 (synopsis
14191 "Helm sources for searching emails and contacts")
14192 (description
14193 "Helm sources for searching emails and contacts using @code{mu} and
14194 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
14195 Emacs build on top of mu. Mu is highly efficient making it possible to get
14196 instant results even for huge maildirs. It also provides search operators,
14197 e.g: @code{from:Peter to:Anne flag:attach search term}.")
14198 (license license:gpl3+))))
14199
14200 (define-public emacs-helm-pass
14201 (package
14202 (name "emacs-helm-pass")
14203 (version "0.3")
14204 (source
14205 (origin
14206 (method git-fetch)
14207 (uri (git-reference
14208 (url "https://github.com/emacs-helm/helm-pass")
14209 (commit version)))
14210 (file-name (git-file-name name version))
14211 (sha256
14212 (base32
14213 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
14214 (build-system emacs-build-system)
14215 (propagated-inputs
14216 `(("emacs-helm" ,emacs-helm)
14217 ("emacs-password-store" ,emacs-password-store)))
14218 (home-page "https://github.com/emacs-helm/helm-pass")
14219 (synopsis "Helm interface to pass, the standard Unix password manager")
14220 (description
14221 "Users of @code{helm-pass} may also be interested in functionality
14222 provided by other Emacs packages dealing with pass:
14223 @itemize
14224 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
14225 @item @code{emacs-pass}, a major mode for @code{pass}.
14226 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
14227 @code{pass}, included in Emacs 26+).
14228 @end itemize\n")
14229 (license license:gpl3+)))
14230
14231 (define-public emacs-image+
14232 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
14233 (package
14234 (name "emacs-image+")
14235 (version (git-version "0.6.2" "1" commit))
14236 (source
14237 (origin
14238 (method git-fetch)
14239 (uri (git-reference
14240 (url "https://github.com/mhayashi1120/Emacs-imagex")
14241 (commit commit)))
14242 (file-name (git-file-name name version))
14243 (sha256
14244 (base32
14245 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
14246 (build-system emacs-build-system)
14247 (inputs `(("imagemagick" ,imagemagick)))
14248 (arguments
14249 `(#:phases
14250 (modify-phases %standard-phases
14251 (add-after 'unpack 'configure
14252 (lambda* (#:key inputs outputs #:allow-other-keys)
14253 (let ((imagemagick (assoc-ref inputs "imagemagick")))
14254 ;; Specify the absolute file names of the various
14255 ;; programs so that everything works out-of-the-box.
14256 (chmod "image+.el" #o666)
14257 (emacs-substitute-variables
14258 "image+.el"
14259 ("imagex-convert-command"
14260 (string-append imagemagick "/bin/convert"))
14261 ("imagex-identify-command"
14262 (string-append imagemagick "/bin/identify")))))))))
14263 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
14264 (synopsis "Image manipulation extensions for Emacs")
14265 (description
14266 "Image+ provides keybindings allowing you to zoom in or zoom out of an
14267 image, rotate it, save modified images, and more.")
14268 (license license:gpl3+))))
14269
14270 (define-public emacs-package-lint
14271 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
14272 (package
14273 (name "emacs-package-lint")
14274 (version (git-version "0.5" "1" commit))
14275 (source
14276 (origin
14277 (method git-fetch)
14278 (uri (git-reference
14279 (url "https://github.com/purcell/package-lint")
14280 (commit commit)))
14281 (file-name (git-file-name name version))
14282 (sha256
14283 (base32
14284 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
14285 (build-system emacs-build-system)
14286 (home-page "https://github.com/purcell/package-lint")
14287 (synopsis "Linting library for elisp package authors")
14288 (description
14289 "This provides a list of issues with the Emacs package metadata of a file,
14290 e.g. the package dependencies it requires. See function
14291 @code{package-lint-buffer}. Checks will currently be enabled only if a
14292 \"Package-Requires:\" or \"Package-Version:\" header is present in the
14293 file.")
14294 (license license:gpl3+))))
14295
14296 (define-public emacs-picpocket
14297 (let ((version "40")
14298 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
14299 (package
14300 (name "emacs-picpocket")
14301 (version version)
14302 (source
14303 (origin
14304 (method git-fetch)
14305 (uri (git-reference
14306 (url "https://github.com/johanclaesson/picpocket")
14307 (commit commit)))
14308 (file-name (git-file-name name version))
14309 (sha256
14310 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
14311 (build-system emacs-build-system)
14312 (arguments ; needed for running tests
14313 `(#:tests? #t
14314 #:emacs ,emacs
14315 #:test-command '("emacs" "--batch"
14316 "-l" "picpocket-test.el"
14317 "-f" "ert-run-tests-batch-and-exit")))
14318 (home-page "https://github.com/johanclaesson/picpocket")
14319 (synopsis "Image viewer for Emacs")
14320 (description
14321 "Picpocket is an image viewer for GNU Emacs. It has commands for:
14322
14323 @itemize
14324 @item File operations on the picture files (delete, move, copy, hardlink).
14325 @item Scale and rotate the picture.
14326 @item Associate pictures with tags which are saved to disk.
14327 @item Filter pictures according to tags.
14328 @item Customizing keystrokes for quick tagging and file operations.
14329 @item Undo and browse history of undoable commands.
14330 @end itemize")
14331 (license license:gpl3+))))
14332
14333 (define-public emacs-wgrep-helm
14334 ;; `emacs-wgrep-helm' was mistakenly added.
14335 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
14336
14337 (define-public emacs-mu4e-conversation
14338 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
14339 (package
14340 (name "emacs-mu4e-conversation")
14341 (version (git-version "20181126" "4" commit))
14342 (source
14343 (origin
14344 (method url-fetch)
14345 (uri (string-append
14346 "https://gitlab.com/Ambrevar/mu4e-conversation/"
14347 "repository/archive.tar.gz?ref="
14348 commit))
14349 (file-name (git-file-name name version))
14350 (sha256
14351 (base32
14352 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
14353 (build-system emacs-build-system)
14354 (propagated-inputs
14355 `(("mu" ,mu)))
14356 (home-page
14357 "https://gitlab.com/Ambrevar/mu4e-conversation")
14358 (synopsis
14359 "Show a complete thread in a single buffer")
14360 (description
14361 "This package offers an alternate view to mu4e's e-mail display. It
14362 shows all e-mails of a thread in a single view, where each correspondent has
14363 their own face. Threads can be displayed linearly (in which case e-mails are
14364 displayed in chronological order) or as an Org document where the node tree
14365 maps the thread tree.")
14366 (license license:gpl3+))))
14367
14368 (define-public emacs-pinentry
14369 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
14370 (revision "1"))
14371 (package
14372 (name "emacs-pinentry")
14373 (version (git-version "0.1" revision commit))
14374 (source
14375 (origin
14376 (method url-fetch)
14377 (uri (string-append
14378 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
14379 "/packages/pinentry/pinentry.el?id=" commit))
14380 (file-name (string-append "pinentry.el"))
14381 (sha256
14382 (base32
14383 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
14384 (build-system emacs-build-system)
14385 (propagated-inputs
14386 `(("gnupg" ,gnupg)))
14387 (home-page "https://elpa.gnu.org/packages/pinentry.html")
14388 (synopsis "GnuPG Pinentry server implementation")
14389 (description
14390 "This package allows GnuPG passphrase to be prompted through the
14391 minibuffer instead of graphical dialog.
14392
14393 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
14394 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
14395 server with @code{M-x pinentry-start}.")
14396 (license license:gpl3+))))
14397
14398 (define-public emacs-so-long
14399 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
14400 (revision "2"))
14401 (package
14402 (name "emacs-so-long")
14403 (version (git-version "1.0" revision commit))
14404 (source
14405 (origin
14406 (method git-fetch)
14407 (uri (git-reference
14408 (url "https://git.savannah.gnu.org/git/so-long.git")
14409 (commit commit)))
14410 (file-name (git-file-name name version))
14411 (sha256
14412 (base32
14413 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
14414 (build-system emacs-build-system)
14415 (home-page "https://www.emacswiki.org/emacs/SoLong")
14416 (synopsis "Improve performance in files with long lines")
14417 (description "This package improves the performance of Emacs when
14418 viewing files with long lines.")
14419 (license license:gpl3+))))
14420
14421 (define-public emacs-github-review
14422 (let ((commit "9c3ffe30fba5d02e9951e76d1a5be2ed046663da")
14423 (version "0.1")
14424 (revision "1"))
14425 (package
14426 (name "emacs-github-review")
14427 (version (git-version version revision commit))
14428 (source
14429 (origin
14430 (method git-fetch)
14431 (uri (git-reference
14432 (url "https://github.com/charignon/github-review")
14433 (commit commit)))
14434 (file-name (git-file-name name version))
14435 (sha256
14436 (base32
14437 "078rv6f2p3wrznhgvmkhd071bwy72007f5l2m2a0r1k2i3vbfaja"))))
14438 (build-system emacs-build-system)
14439 (inputs
14440 `(("emacs-dash" ,emacs-dash)
14441 ("emacs-s" ,emacs-s)
14442 ("emacs-ghub" ,emacs-ghub)))
14443 (home-page "https://github.com/charignon/github-review")
14444 (synopsis "Review GitHub pull requests within Emacs")
14445 (description "This package provides commands to pull in, comment on, and
14446 accept and reject GitHub pull requests.")
14447 (license license:gpl3+))))
14448
14449 (define-public emacs-deadgrep
14450 ;; We prefer a newer commit (four commits newer than release) because of a
14451 ;; bugfix for globbing.
14452 (let ((commit "329119c65126f7917d3910bc584f4191ba8f21ac")
14453 (revision "1"))
14454 (package
14455 (name "emacs-deadgrep")
14456 (version (git-version "0.8" revision commit))
14457 (source
14458 (origin
14459 (method git-fetch)
14460 (uri (git-reference
14461 (url "https://github.com/Wilfred/deadgrep")
14462 (commit commit)))
14463 (file-name (git-file-name name version))
14464 (sha256
14465 (base32
14466 "0fxf7gq9sjfkgpdfqx10w3l3nd4rwa8kv9plyxk1fqacb3s5m6ai"))))
14467 (build-system emacs-build-system)
14468 (inputs
14469 `(("emacs-dash" ,emacs-dash)
14470 ("emacs-s" ,emacs-s)
14471 ("emacs-spinner" ,emacs-spinner)))
14472 (home-page "https://github.com/Wilfred/deadgrep")
14473 (synopsis "Frontend for @code{ripgrep}")
14474 (description "This package provides an Emacs interface for performing
14475 searches with @code{ripgrep}.")
14476 (license license:gpl3+))))
14477
14478 (define-public emacs-focus
14479 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
14480 (version "0.1.1")
14481 (revision "1"))
14482 (package
14483 (name "emacs-focus")
14484 (version (git-version version revision commit))
14485 (source
14486 (origin
14487 (method git-fetch)
14488 (uri (git-reference
14489 (url "https://github.com/larstvei/Focus")
14490 (commit commit)))
14491 (file-name (git-file-name name version))
14492 (sha256
14493 (base32
14494 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
14495 (build-system emacs-build-system)
14496 (home-page "https://github.com/larstvei/Focus")
14497 (synopsis "Minor mode for focusing in on relevant text")
14498 (description "This package provides a minor mode that dims the color of
14499 text in neighboring sections.")
14500 (license license:gpl3+))))
14501
14502 (define-public emacs-pandoc-mode
14503 (package
14504 (name "emacs-pandoc-mode")
14505 (version "2.27.2")
14506 (source
14507 (origin
14508 (method git-fetch)
14509 (uri (git-reference
14510 (url "https://github.com/joostkremers/pandoc-mode")
14511 (commit version)))
14512 (file-name (git-file-name name version))
14513 (sha256
14514 (base32
14515 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
14516 (build-system emacs-build-system)
14517 (propagated-inputs
14518 `(("emacs-dash" ,emacs-dash)
14519 ("emacs-hydra" ,emacs-hydra)))
14520 (home-page "https://github.com/joostkremers/pandoc-mode")
14521 (synopsis "Minor mode for interacting with Pandoc")
14522 (description "This package provides a Hydra menu for interacting with the
14523 Pandoc, the document-conversion tool.")
14524 (license license:bsd-3)))
14525
14526 (define-public emacs-ccls
14527 (let ((commit "2764ddd57b03646f0327ea680a954b4a67450aef")
14528 (version "0.1")
14529 (revision "1"))
14530 (package
14531 (name "emacs-ccls")
14532 (version (git-version version revision commit))
14533 (source
14534 (origin
14535 (method git-fetch)
14536 (uri (git-reference
14537 (url "https://github.com/MaskRay/emacs-ccls")
14538 (commit commit)))
14539 (file-name (git-file-name name version))
14540 (sha256
14541 (base32
14542 "16427jvzhjy8kpvlgl3qzkzppv98124hkgi8q8pv1h7m46k9lhh3"))))
14543 (build-system emacs-build-system)
14544 (propagated-inputs
14545 `(("emacs-dash" ,emacs-dash)
14546 ("emacs-projectile" ,emacs-projectile)
14547 ("emacs-lsp-mode" ,emacs-lsp-mode)))
14548 (home-page "https://github.com/MaskRay/emacs-ccls")
14549 (synopsis "Emacs support for the @code{ccls} language server")
14550 (description "This package extends @code{lsp-mode} to work with @code{C}
14551 and @code{C++} files through the @code{ccls} language server.")
14552 (license license:bsd-3))))
14553
14554 (define-public emacs-org-brain
14555 (package
14556 (name "emacs-org-brain")
14557 (version "0.5")
14558 (source
14559 (origin
14560 (method git-fetch)
14561 (uri (git-reference
14562 (url "https://github.com/Kungsgeten/org-brain.git")
14563 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
14564 (file-name (git-file-name name version))
14565 (sha256
14566 (base32
14567 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
14568 (build-system emacs-build-system)
14569 (home-page "https://github.com/Kungsgeten/org-brain")
14570 (synopsis "Org-mode wiki and concept-mapping for Emacs")
14571 (description "@code{emacs-org-brain} implements a variant of concept
14572 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
14573 org-mode entries, where each entry is a file or a headline, and you can get a
14574 visual overview of the relationships between the entries: parents, children,
14575 siblings and friends. This visual overview can also be used to browse your
14576 entries. You can think of entries as nodes in a mind map, or pages in a
14577 wiki.")
14578 (license license:expat)))
14579
14580 (define-public emacs-recent-addresses
14581 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
14582 (revision "1"))
14583 (package
14584 (name "emacs-recent-addresses")
14585 (home-page "http://nschum.de/src/emacs/recent-addresses/")
14586 (version (git-version "0.1" revision commit))
14587 (source (origin
14588 (method git-fetch)
14589 (uri (git-reference
14590 ;; Note: Use a branch that works with Helm. Submitted
14591 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
14592 (url "https://github.com/civodul/recent-addresses.el")
14593 (commit commit)))
14594 (sha256
14595 (base32
14596 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
14597 (file-name (git-file-name name version))))
14598 (build-system emacs-build-system)
14599 (synopsis "Record recently-used email addressed and auto-complete them")
14600 (description
14601 "@code{recent-addresses} is an Emacs package that allows you to quickly
14602 look up previously used email addresses. It can be used alongside the Gnus
14603 email client.")
14604 (license license:gpl2+))))
14605
14606 (define-public emacs-fold-dwim
14607 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
14608 (revision "0"))
14609 (package
14610 (name "emacs-fold-dwim")
14611 (version (git-version "1.2" revision commit))
14612 (home-page "https://github.com/emacsattic/fold-dwim")
14613 (source (origin
14614 (method git-fetch)
14615 (uri (git-reference (url home-page) (commit commit)))
14616 (sha256
14617 (base32
14618 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
14619 (file-name (git-file-name name version))))
14620 (build-system emacs-build-system)
14621 (synopsis "Unified user interface for Emacs folding modes")
14622 (description
14623 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
14624 can do different things depending on the context. In this package, it means
14625 that, if the cursor is in a currently hidden folded construction, we want to
14626 show it; if it's not, we want to hide whatever fold the cursor is in.")
14627 (license license:gpl2+))))
14628
14629 (define-public emacs-markup-faces
14630 (package
14631 (name "emacs-markup-faces")
14632 (version "1.0.0")
14633 (source
14634 (origin
14635 (method url-fetch)
14636 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
14637 version ".el"))
14638 (sha256
14639 (base32
14640 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
14641 (build-system emacs-build-system)
14642 (home-page "https://github.com/sensorflo/markup-faces")
14643 (synopsis "Collection of Emacs faces for markup language modes")
14644 (description "emacs-markup-faces is like font-lock-faces, but tailored for
14645 markup languages instead programming languages. The sub group markup-faces-text
14646 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
14647 common look and feel, or let's say theme, across different markup language modes
14648 and 'text viewing modes' respectively.")
14649 (license license:gpl3+)))
14650
14651 (define-public emacs-adoc-mode
14652 (package
14653 (name "emacs-adoc-mode")
14654 (version "0.6.6")
14655 (source
14656 (origin
14657 (method url-fetch)
14658 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
14659 version ".el"))
14660 (sha256
14661 (base32
14662 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
14663 (build-system emacs-build-system)
14664 (propagated-inputs
14665 `(("emacs-markup-faces" ,emacs-markup-faces)))
14666 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
14667 (synopsis "AsciiDoc mode for Emacs")
14668 (description "This package provides an Emacs major mode for editing AsciiDoc
14669 files. It focuses on highlighting the document to improve readability.")
14670 (license license:gpl2+)))
14671
14672 (define-public emacs-rust-mode
14673 (let ((commit
14674 ;; Last release is old (2016), use more recent commit to get bug
14675 ;; fixes.
14676 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
14677 (revision "0"))
14678 (package
14679 (name "emacs-rust-mode")
14680 (version (git-version "0.3.0" revision commit))
14681 (source (origin
14682 (method git-fetch)
14683 (uri
14684 (git-reference
14685 (url "https://github.com/rust-lang/rust-mode")
14686 (commit commit)))
14687 (file-name (git-file-name name version))
14688 (sha256
14689 (base32
14690 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
14691 (build-system emacs-build-system)
14692 (arguments
14693 `(#:phases
14694 (modify-phases %standard-phases
14695 (replace 'check
14696 (lambda _
14697 (invoke "sh" "run_rust_emacs_tests.sh"))))))
14698 (home-page "https://github.com/rust-lang/rust-mode")
14699 (synopsis "Major Emacs mode for editing Rust source code")
14700 (description "This package provides a major Emacs mode for editing Rust
14701 source code.")
14702 (license (list license:expat
14703 license:asl2.0)))))
14704
14705 (define-public emacs-ztree
14706 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
14707 (package
14708 (name "emacs-ztree")
14709 (version (git-version "1.0.5" "1" commit))
14710 (source
14711 (origin
14712 (method git-fetch)
14713 (uri (git-reference
14714 (url "https://github.com/fourier/ztree")
14715 (commit commit)))
14716 (file-name (git-file-name name version))
14717 (sha256
14718 (base32
14719 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
14720 (build-system emacs-build-system)
14721 (home-page "https://github.com/fourier/ztree")
14722 (synopsis "Directory tree comparison mode for Emacs")
14723 (description "Ztree is a project dedicated to implementation of several
14724 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
14725 @command{ztree-diff} and @command{ztree-dir} (the basis of
14726 @command{ztree-diff}).")
14727 (license license:gpl3))))
14728
14729 (define-public emacs-helm-org-contacts
14730 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
14731 (package
14732 (name "emacs-helm-org-contacts")
14733 (version (git-version "20180707" "1" commit))
14734 (source
14735 (origin
14736 (method git-fetch)
14737 (uri (git-reference
14738 (url "https://github.com/tmalsburg/helm-org-contacts")
14739 (commit commit)))
14740 (file-name (git-file-name name version))
14741 (sha256
14742 (base32
14743 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
14744 (build-system emacs-build-system)
14745 (propagated-inputs
14746 `(("emacs-dash" ,emacs-dash)
14747 ("emacs-helm" ,emacs-helm)
14748 ("emacs-s" ,emacs-s)))
14749 (home-page "https://github.com/tmalsburg/helm-org-contacts")
14750 (synopsis "Helm source for org-contacts")
14751 (description "This Helm source can be used to search contacts stored in
14752 org-contacts format. There are actions for inserting postal addresses, email
14753 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
14754 was called.")
14755 (license license:gpl3))))
14756
14757 (define-public emacs-dired-du
14758 (package
14759 (name "emacs-dired-du")
14760 (version "0.5.1")
14761 (source
14762 (origin
14763 (method url-fetch)
14764 (uri (string-append
14765 "https://elpa.gnu.org/packages/dired-du-"
14766 version ".tar"))
14767 (sha256
14768 (base32
14769 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
14770 (build-system emacs-build-system)
14771 (home-page "http://elpa.gnu.org/packages/dired-du.html")
14772 (synopsis "Dired with recursive directory sizes")
14773 (description
14774 "Display the recursive size of directories in Dired.
14775 This file defines a minor mode @command{dired-du-mode} to show the recursive
14776 size of directories in Dired buffers. If @command{du} program is available,
14777 then the directory sizes are obtained with it. Otherwise, the directory sizes
14778 are obtained with Lisp. The former is faster and provide a more precise
14779 value. For directories where the user doesn't have read permission, the
14780 recursive size is not obtained. Once this mode is enabled, every new Dired
14781 buffer displays recursive dir sizes.")
14782 (license license:gpl3+)))
14783
14784 (define-public emacs-dired-rsync
14785 (package
14786 (name "emacs-dired-rsync")
14787 (version "0.4")
14788 (source (origin
14789 (method git-fetch)
14790 (uri (git-reference
14791 (url "https://github.com/stsquad/dired-rsync.git")
14792 (commit version)))
14793 (file-name (git-file-name name version))
14794 (sha256
14795 (base32
14796 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
14797 (build-system emacs-build-system)
14798 (propagated-inputs
14799 `(("emacs-s" ,emacs-s)
14800 ("emacs-dash" ,emacs-dash)))
14801 (home-page "https://github.com/stsquad/dired-rsync/")
14802 (synopsis "Support for rsync from Emacs dired buffers")
14803 (description "This package adds a single command @code{dired-rsync} which
14804 allows the user to copy marked files in a dired buffer via @code{rsync}. This
14805 is useful, especially for large files, because the copy happens in the
14806 background and doesn’t lock up Emacs. It is also more efficient than using
14807 tramps own encoding methods for moving data between systems.")
14808 (license license:gpl3+)))
14809
14810 (define-public emacs-pcre2el
14811 ;; Last release is very old so we get the latest commit.
14812 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
14813 (package
14814 (name "emacs-pcre2el")
14815 (version (git-version "1.8" "1" commit))
14816 (source
14817 (origin
14818 (method git-fetch)
14819 (uri (git-reference
14820 (url "https://github.com/joddie/pcre2el")
14821 (commit commit)))
14822 (file-name (git-file-name name version))
14823 (sha256
14824 (base32
14825 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
14826 (build-system emacs-build-system)
14827 (home-page "https://github.com/joddie/pcre2el")
14828 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
14829 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
14830 Tools) is a utility for working with regular expressions in Emacs, based on a
14831 recursive-descent parser for regexp syntax. In addition to converting (a
14832 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
14833
14834 @itemize
14835 @item convert Emacs syntax to PCRE
14836 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
14837 @item untangle complex regexps by showing the parse tree in @code{rx} form and
14838 highlighting the corresponding chunks of code
14839 @item show the complete list of strings (productions) matching a regexp,
14840 provided the list is finite
14841 @item provide live font-locking of regexp syntax (so far only for Elisp
14842 buffers – other modes on the TODO list).
14843 @end itemize\n")
14844 (license license:gpl3))))
14845
14846 (define-public emacs-magit-todos
14847 (package
14848 (name "emacs-magit-todos")
14849 (version "1.4")
14850 (source
14851 (origin
14852 (method git-fetch)
14853 (uri (git-reference
14854 (url "https://github.com/alphapapa/magit-todos")
14855 (commit version)))
14856 (file-name (git-file-name name version))
14857 (sha256
14858 (base32
14859 "09pjb4k409gc0h51vb5az1shx02c1hx8cnvhi529n7dm4maildg5"))))
14860 (build-system emacs-build-system)
14861 (propagated-inputs
14862 `(("emacs-async" ,emacs-async)
14863 ("emacs-dash" ,emacs-dash)
14864 ("emacs-f" ,emacs-f)
14865 ("emacs-hl-todo" ,emacs-hl-todo)
14866 ("magit" ,emacs-magit)
14867 ("emacs-pcre2el" ,emacs-pcre2el)
14868 ("emacs-s" ,emacs-s)))
14869 (home-page "https://github.com/alphapapa/magit-todos")
14870 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
14871 (description "This package displays keyword entries from source code
14872 comments and Org files in the Magit status buffer. Activating an item jumps
14873 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
14874 few (like NOTE).")
14875 (license license:gpl3)))
14876
14877 (define-public emacs-git-annex
14878 ;; Unreleased version has a fontification fix.
14879 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
14880 (revision "1"))
14881 (package
14882 (name "emacs-git-annex")
14883 (version (string-append "1.1-" revision "." (string-take commit 8)))
14884 (source
14885 (origin
14886 (method git-fetch)
14887 (uri (git-reference
14888 (url "https://github.com/jwiegley/git-annex-el")
14889 (commit commit)))
14890 (file-name (git-file-name name version))
14891 (sha256
14892 (base32
14893 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
14894 (build-system emacs-build-system)
14895 (home-page "https://github.com/jwiegley/git-annex-el")
14896 (synopsis "Emacs integration for git-annex")
14897 (description "Enhances Dired and buffers visiting annex files with
14898 git-annex functionality. In Dired, the names of annex files are shortened by
14899 hiding the symbolic links and fontified based on whether content is present.
14900 Commands for performing some common operations (e.g., unlocking and adding
14901 files) are provided.")
14902 (license license:gpl2+))))
14903
14904 (define-public emacs-hackernews
14905 (let ((commit "916c3da8da45c757f5ec2faeed57fa370513d4ac"))
14906 (package
14907 (name "emacs-hackernews")
14908 (version (git-version "0.5.0" "1" commit))
14909 (source
14910 (origin
14911 (method git-fetch)
14912 (uri (git-reference
14913 (url "https://github.com/clarete/hackernews.el")
14914 (commit commit)))
14915 (file-name (git-file-name name version))
14916 (sha256
14917 (base32
14918 "09bxaaczana1cfvxyk9aagjvdszkj0j1yldl5r4xa60b59lxihsg"))))
14919 (build-system emacs-build-system)
14920 (home-page "https://github.com/clarete/hackernews.el")
14921 (synopsis "Hacker News client for Emacs")
14922 (description "The @command{hackernews} package is able to fetch stories
14923 from six different Hacker News feeds, namely top, new, best, ask, show and job
14924 stories. The default feed is top stories, which corresponds to the Hacker
14925 News homepage.")
14926 (license license:gpl3))))
14927
14928 (define-public emacs-youtube-dl
14929 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
14930 (package
14931 (name "emacs-youtube-dl")
14932 (version (git-version "1.0" "1" commit))
14933 (source
14934 (origin
14935 (method git-fetch)
14936 (uri (git-reference
14937 (url "https://github.com/skeeto/youtube-dl-emacs/")
14938 (commit commit)))
14939 (file-name (git-file-name name version))
14940 (sha256
14941 (base32
14942 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
14943 (build-system emacs-build-system)
14944 (inputs
14945 `(("youtube-dl" ,youtube-dl)))
14946 (arguments
14947 `(#:phases
14948 (modify-phases %standard-phases
14949 (add-after 'unpack 'configure
14950 (lambda* (#:key inputs #:allow-other-keys)
14951 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
14952 ;; .el is read-only in git.
14953 (chmod "youtube-dl.el" #o644)
14954 ;; Specify the absolute file names of the various
14955 ;; programs so that everything works out-of-the-box.
14956 (emacs-substitute-variables
14957 "youtube-dl.el"
14958 ("youtube-dl-program"
14959 (string-append youtube-dl "/bin/youtube-dl")))))))))
14960 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
14961 (synopsis "Emacs youtube-dl download manager")
14962 (description "This package manages a video download queue for
14963 @command{youtube-dl}, which serves as the back end. It manages a single
14964 @command{youtube-dl} subprocess, downloading one video at a time. New videos
14965 can be queued at any time.")
14966 (license license:unlicense))))
14967
14968 (define-public emacs-org-web-tools
14969 (package
14970 (name "emacs-org-web-tools")
14971 (version "1.0")
14972 (source
14973 (origin
14974 (method git-fetch)
14975 (uri (git-reference
14976 (url "https://github.com/alphapapa/org-web-tools")
14977 (commit version)))
14978 (file-name (git-file-name name version))
14979 (sha256
14980 (base32
14981 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
14982 (build-system emacs-build-system)
14983 (propagated-inputs
14984 `(("emacs-dash" ,emacs-dash)
14985 ("emacs-esxml" ,emacs-esxml)
14986 ("emacs-s" ,emacs-s)))
14987 (inputs
14988 `(("pandoc" ,ghc-pandoc)))
14989 (arguments
14990 `(#:phases
14991 (modify-phases %standard-phases
14992 (add-after 'unpack 'patch-exec-paths
14993 (lambda* (#:key inputs #:allow-other-keys)
14994 (let ((pandoc (assoc-ref inputs "pandoc")))
14995 (substitute* "org-web-tools.el"
14996 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
14997 #t))))))
14998 (home-page "https://github.com/alphapapa/org-web-tools")
14999 (synopsis "Display/Process web page as Org-mode content")
15000 (description "This package contains library functions and commands useful
15001 for retrieving web page content and processing it into Org-mode content.
15002
15003 For example, you can copy a URL to the clipboard or kill-ring, then run a
15004 command that downloads the page, isolates the “readable” content with
15005 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
15006 displays it in an Org-mode buffer. Another command does all of that but
15007 inserts it as an Org entry instead of displaying it in a new buffer.")
15008 (license license:gpl3+)))
15009
15010 (define-public emacs-blimp
15011 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
15012 (package
15013 (name "emacs-blimp")
15014 (version (git-version "0.0.0" "1" commit))
15015 (source
15016 (origin
15017 (method git-fetch)
15018 (uri (git-reference
15019 (url "https://github.com/walseb/blimp")
15020 (commit commit)))
15021 (file-name (git-file-name name version))
15022 (sha256
15023 (base32
15024 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
15025 (build-system emacs-build-system)
15026 (propagated-inputs
15027 `(("emacs-eimp" ,emacs-eimp)))
15028 (home-page "https://github.com/walseb/blimp")
15029 (synopsis "Emacs wrapper around all Imagemagick commands")
15030 (description "Blimp (Bustling Image Manipulation Package) is a complete
15031 wrapper around all Imagemagick commands with descriptions, autocompletion (for
15032 some commands) and hints displayed in prompt using @command{eimp.el} to
15033 execute its commands and resize images.")
15034 (license license:gpl3+))))
15035
15036 (define-public emacs-synosaurus
15037 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
15038 (package
15039 (name "emacs-synosaurus")
15040 (version (git-version "0.1.0" "1" commit))
15041 (source
15042 (origin
15043 (method git-fetch)
15044 (uri (git-reference
15045 (url "https://github.com/hpdeifel/synosaurus")
15046 (commit commit)))
15047 (file-name (git-file-name name version))
15048 (sha256
15049 (base32
15050 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
15051 (build-system emacs-build-system)
15052 (propagated-inputs
15053 `(("wordnet" ,wordnet)))
15054 (arguments
15055 `(#:phases
15056 (modify-phases %standard-phases
15057 (add-after 'unpack 'configure
15058 (lambda* (#:key inputs outputs #:allow-other-keys)
15059 (let ((wn (assoc-ref inputs "wordnet")))
15060 ;; .el is read-only in git.
15061 (chmod "synosaurus-wordnet.el" #o644)
15062 ;; Specify the absolute file names of the various
15063 ;; programs so that everything works out-of-the-box.
15064 (emacs-substitute-variables
15065 "synosaurus-wordnet.el"
15066 ("wordnet-command"
15067 (string-append wn "/bin/wn")))))))))
15068 (home-page "https://github.com/hpdeifel/synosaurus")
15069 (synopsis "Extensible thesaurus mode for Emacs")
15070 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
15071 backends, including the @command{wordnet} offline backend.")
15072 (license license:gpl3+))))
15073
15074 (define-public emacs-editorconfig
15075 (package
15076 (name "emacs-editorconfig")
15077 (version "0.8.0")
15078 (source
15079 (origin
15080 (method git-fetch)
15081 (uri (git-reference
15082 (url "https://github.com/editorconfig/editorconfig-emacs")
15083 (commit (string-append "v" version))))
15084 (file-name (git-file-name name version))
15085 (sha256
15086 (base32
15087 "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
15088 (build-system emacs-build-system)
15089 (home-page "https://github.com/editorconfig/editorconfig-emacs")
15090 (synopsis "Define and maintain consistent coding styles between different
15091 editors and IDEs")
15092 (description "The EditorConfig project consists of a file format for
15093 defining coding styles and a collection of text editor plugins that enable
15094 editors to read the file format and adhere to defined styles. EditorConfig
15095 files are easily readable and they work nicely with version control systems.")
15096 (license license:gpl3+)))
15097
15098 (define-public emacs-all-the-icons
15099 (package
15100 (name "emacs-all-the-icons")
15101 (version "3.2.0")
15102 (source
15103 (origin
15104 (method git-fetch)
15105 (uri (git-reference
15106 (url "https://github.com/domtronn/all-the-icons.el.git")
15107 (commit version)))
15108 (file-name (git-file-name name version))
15109 (sha256
15110 (base32
15111 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
15112 (build-system emacs-build-system)
15113 (arguments
15114 `(#:include '("\\.el$" "^data/" "^fonts/")
15115 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
15116 ;; all-the-icons--root-code". Ignoring tests.
15117 #:exclude '("^test/")
15118 #:tests? #f))
15119 (propagated-inputs
15120 `(("f" ,emacs-f)
15121 ("memoize" ,emacs-memoize)))
15122 (home-page "https://github.com/domtronn/all-the-icons.el")
15123 (synopsis "Collect icon fonts and propertize them within Emacs")
15124 (description "All-the-icons is a utility package to collect various icon
15125 fonts and propertize them within Emacs. Icon fonts allow you to propertize
15126 and format icons the same way you would normal text. This enables things such
15127 as better scaling of and anti aliasing of the icons.")
15128 ;; Package is released under Expat license. Elisp files are licensed
15129 ;; under GPL3+. Fonts come with various licenses: Expat for
15130 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
15131 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
15132 ;; "ocitcons.ttf" and "weathericons.ttf".
15133 (license
15134 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
15135
15136 (define-public emacs-powerline
15137 (package
15138 (name "emacs-powerline")
15139 (version "2.4")
15140 (source
15141 (origin
15142 (method git-fetch)
15143 (uri (git-reference
15144 (url "https://github.com/milkypostman/powerline.git")
15145 (commit version)))
15146 (file-name (git-file-name name version))
15147 (sha256
15148 (base32
15149 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
15150 (build-system emacs-build-system)
15151 (home-page "https://github.com/milkypostman/powerline/")
15152 (synopsis "Mode-line plugin for Emacs")
15153 (description "Powerline is a utility plugin which allows you to create
15154 a better-looking, more functional Emacs mode-line. A collection of predefined
15155 themes comes with the package.")
15156 (license license:gpl3+)))
15157
15158 (define-public emacs-spaceline
15159 (package
15160 (name "emacs-spaceline")
15161 (version "2.0.1")
15162 (source
15163 (origin
15164 (method git-fetch)
15165 (uri (git-reference
15166 (url "https://github.com/TheBB/spaceline.git")
15167 (commit (string-append "v" version))))
15168 (file-name (git-file-name name version))
15169 (sha256
15170 (base32
15171 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
15172 (build-system emacs-build-system)
15173 (propagated-inputs
15174 `(("dash" ,emacs-dash)
15175 ("powerline" ,emacs-powerline)
15176 ("s" ,emacs-s)))
15177 (home-page "https://github.com/TheBB/spaceline")
15178 (synopsis "Powerline theme from Spacemacs")
15179 (description "Spaceline provides Spacemacs' mode-line theme.
15180 This package provides features for three kinds of users.
15181
15182 @itemize
15183 @item You just want to use the Spacemacs mode-line theme and forget about it.
15184 @item You want to use something similar to the Spacemacs mode-line theme, but
15185 with a handful of easy tweaks.
15186 @item You want an easy-to-use library for building your own mode-line from
15187 scratch, and you think the Spacemacs theme looks good.
15188 @end itemize")
15189 (license license:gpl3+)))
15190
15191 (define-public emacs-column-marker
15192 (package
15193 (name "emacs-column-marker")
15194 (version "9")
15195 (source
15196 (origin
15197 (method url-fetch)
15198 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
15199 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
15200 (build-system emacs-build-system)
15201 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
15202 (synopsis "Emacs mode for highlighting columns")
15203 (description
15204 "With @code{column-marker.el} you can highlight any number of text columns.
15205 Three such highlight column markers are provided by default. This is
15206 especially useful for languages like COBOL or Fortran where certain columns
15207 have special meaning. It is also handy for aligning text across long vertical
15208 distances. Multi-column characters, such as @kbd{TAB} are treated
15209 correctly.")
15210 (license license:gpl2+)))
15211
15212 (define-public emacs-slime-repl-ansi-color
15213 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
15214 (package
15215 (name "emacs-slime-repl-ansi-color")
15216 (version (git-version "0.0.0" "1" commit))
15217 (source (origin
15218 (method git-fetch)
15219 (uri (git-reference
15220 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
15221 (commit commit)))
15222 (file-name (git-file-name name version))
15223 (sha256
15224 (base32
15225 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
15226 (build-system emacs-build-system)
15227 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
15228 (synopsis "Color ANSI codes in the REPL of SLIME")
15229 (description "Color ANSI codes in the REPL of SLIME")
15230 (license license:gpl2+))))
15231
15232 (define-public emacs-helm-slime
15233 (package
15234 (name "emacs-helm-slime")
15235 (version "0.4.0")
15236 (source (origin
15237 (method git-fetch)
15238 (uri (git-reference
15239 (url "https://github.com/emacs-helm/helm-slime")
15240 (commit version)))
15241 (file-name (git-file-name name version))
15242 (sha256
15243 (base32
15244 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
15245 (build-system emacs-build-system)
15246 (propagated-inputs
15247 `(("emacs-helm" ,emacs-helm)
15248 ("emacs-slime" ,emacs-slime)))
15249 (home-page "https://github.com/emacs-helm/helm-slime")
15250 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
15251 (description "Helm-SLIME defines a few new commands:
15252
15253 @itemize
15254 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
15255 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
15256 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
15257 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
15258 @end itemize\n")
15259 (license license:gpl3+)))
15260
15261 (define-public emacs-gtk-look
15262 (package
15263 (name "emacs-gtk-look")
15264 (version "29")
15265 (source (origin
15266 (method url-fetch)
15267 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
15268 (sha256
15269 (base32
15270 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
15271 (build-system emacs-build-system)
15272 (arguments
15273 `(#:phases
15274 (modify-phases %standard-phases
15275 (add-after 'unpack 'configure
15276 (lambda _
15277 ;; File is read-only.
15278 (chmod "gtk-look.el" #o644)
15279 (emacs-substitute-variables "gtk-look.el"
15280 ("gtk-lookup-devhelp-indices"
15281 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
15282 #t)))))
15283 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
15284 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
15285 (description "@command{gtk-look} finds and displays HTML documentation for
15286 GTK, GNOME and Glib functions and variables in Emacs, similar to what
15287 info-lookup-symbol does for info files (C-h S). The documentation is expected
15288 to be devhelp indexes with HTML files. The location of the indexes can be
15289 customized. In addition to C code development @command{gtk-look} is good for
15290
15291 @itemize
15292 @item @command{perl-gtk2}, recognising class funcs like
15293 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
15294 @item @command{guile-gnome}, recognising methods like @command{set-text} and
15295 classes like @command{<gtk-window>}.
15296 @end itemize\n")
15297 (license license:gpl3+)))
15298
15299 (define-public emacs-ov
15300 (package
15301 (name "emacs-ov")
15302 (version "1.0.6")
15303 (source (origin
15304 (method git-fetch)
15305 (uri (git-reference
15306 (url "https://github.com/ShingoFukuyama/ov.el.git")
15307 (commit version)))
15308 (file-name (git-file-name name version))
15309 (sha256
15310 (base32
15311 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
15312 (build-system emacs-build-system)
15313 (home-page "https://github.com/ShingoFukuyama/ov.el")
15314 (synopsis "Overlay library for Emacs Lisp")
15315 (description "@code{ov.el} provides a simple way to manipulate overlays in
15316 Emacs.")
15317 (license license:gpl3+)))
15318
15319 (define-public emacs-matrix-client
15320 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
15321 (package
15322 (name "emacs-matrix-client")
15323 (version (git-version "0.0.0" "4" commit))
15324 (source (origin
15325 (method git-fetch)
15326 (uri (git-reference
15327 (url "https://github.com/jgkamat/matrix-client-el.git")
15328 (commit commit)))
15329 (file-name (git-file-name name version))
15330 (sha256
15331 (base32
15332 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
15333 (build-system emacs-build-system)
15334 (arguments
15335 `(#:phases
15336 (modify-phases %standard-phases
15337 (add-after 'unpack 'add-missing-require
15338 ;; Fix a filter error at runtime due to a missing require.
15339 ;; Reported upstream:
15340 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
15341 (lambda _
15342 (substitute* "matrix-client-room.el"
15343 (("\\(require 'dash-functional\\)" all)
15344 (string-append all "\n" "(require 'anaphora)")))
15345 #t)))))
15346 (propagated-inputs
15347 `(("a" ,emacs-a)
15348 ("anaphora" ,emacs-anaphora)
15349 ("dash" ,emacs-dash)
15350 ("esxml" ,emacs-esxml)
15351 ("f" ,emacs-f)
15352 ("frame-purpose" ,emacs-frame-purpose)
15353 ("ht" ,emacs-ht)
15354 ("ov" ,emacs-ov)
15355 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
15356 ("request" ,emacs-request)
15357 ("s" ,emacs-s)
15358 ("tracking" ,emacs-tracking)))
15359 (home-page "https://github.com/jgkamat/matrix-client-el")
15360 (synopsis "Matrix client for Emacs")
15361 (description "@code{matrix-client} is a simple chat UI to Matrix.org
15362 rooms. It also provides an API which allows Emacs to seamlessly create
15363 RPC channels with users and other software.")
15364 (license license:gpl3+))))
15365
15366 (define-public emacs-sesman
15367 (package
15368 (name "emacs-sesman")
15369 (version "0.3.4")
15370 (source
15371 (origin
15372 (method git-fetch)
15373 (uri (git-reference
15374 (url "https://github.com/vspinu/sesman.git")
15375 (commit (string-append "v" version))))
15376 (file-name (git-file-name name version))
15377 (sha256
15378 (base32
15379 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
15380 (build-system emacs-build-system)
15381 (arguments
15382 `(#:phases
15383 (modify-phases %standard-phases
15384 (add-after 'unpack 'set-shell
15385 ;; Setting the SHELL environment variable is required for the tests
15386 ;; to find sh.
15387 (lambda _
15388 (setenv "SHELL" (which "sh"))
15389 #t)))
15390 #:tests? #t
15391 #:test-command '("make" "test")))
15392 (home-page "https://github.com/vspinu/sesman")
15393 (synopsis "Session manager for Emacs based IDEs")
15394 (description "Sesman provides facilities for session management and
15395 interactive session association with the current contexts (project, directory,
15396 buffers). While sesman can be used to manage arbitrary sessions, it primary
15397 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
15398 (license license:gpl3+)))
15399
15400 (define-public emacs-buttercup
15401 (package
15402 (name "emacs-buttercup")
15403 (version "1.16")
15404 (source
15405 (origin
15406 (method git-fetch)
15407 (uri (git-reference
15408 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
15409 (commit (string-append "v" version))))
15410 (file-name (git-file-name name version))
15411 (sha256
15412 (base32
15413 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
15414 (build-system emacs-build-system)
15415 (arguments
15416 `(#:tests? #t
15417 #:test-command '("make" "test")
15418 #:phases
15419 (modify-phases %standard-phases
15420 (add-after 'install 'install-bin
15421 (lambda* (#:key outputs #:allow-other-keys)
15422 (install-file "bin/buttercup"
15423 (string-append (assoc-ref outputs "out") "/bin"))
15424 #t)))))
15425 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
15426 (synopsis "Behavior driven emacs lisp testing framework")
15427 (description "Buttercup is a behavior-driven development framework for
15428 testing Emacs Lisp code. It allows to group related tests so they can share
15429 common set-up and tear-down code, and allows the programmer to \"spy\" on
15430 functions to ensure they are called with the right arguments during testing.")
15431 (license license:gpl3+)))
15432
15433 (define-public emacs-wordnut
15434 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
15435 (revision "0"))
15436 (package
15437 (name "emacs-wordnut")
15438 (version (git-version "0.1" revision commit))
15439 (home-page "https://github.com/gromnitsky/wordnut")
15440 (source (origin
15441 (method git-fetch)
15442 (uri (git-reference (url home-page) (commit commit)))
15443 (sha256
15444 (base32
15445 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
15446 (patches
15447 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
15448 (file-name (git-file-name name version))))
15449 (build-system emacs-build-system)
15450 (propagated-inputs
15451 `(("wordnet" ,wordnet)
15452 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
15453 (synopsis "Major mode for WordNet")
15454 (description "This Emacs package provides an interface for
15455 @code{wordnet}. Features include completion, if the query is not found
15456 too ambiguous and navigation in the result buffer.")
15457 (license license:gpl3+))))
15458
15459 (define-public emacs-frame-purpose
15460 (package
15461 (name "emacs-frame-purpose")
15462 (version "1.0")
15463 (source (origin
15464 (method git-fetch)
15465 (uri (git-reference
15466 (url "https://github.com/alphapapa/frame-purpose.el.git")
15467 (commit version)))
15468 (sha256
15469 (base32
15470 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
15471 (file-name (git-file-name name version))))
15472 (build-system emacs-build-system)
15473 (inputs
15474 `(("dash" ,emacs-dash)))
15475 (synopsis "Purpose-specific frames for Emacs")
15476 (description "@code{frame-purpose} makes it easy to open purpose-specific
15477 frames that only show certain buffers, e.g. by buffers’ major mode, their
15478 filename or directory, etc, with custom frame/X-window titles, icons, and
15479 other frame parameters.")
15480 (home-page "https://github.com/alphapapa/frame-purpose.el")
15481 (license license:gpl3+)))
15482
15483 (define-public emacs-arduino-mode
15484 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
15485 (package
15486 (name "emacs-arduino-mode")
15487 (version (git-version "0" "0" commit))
15488 (source (origin
15489 (method git-fetch)
15490 (uri (git-reference
15491 (url "https://github.com/bookest/arduino-mode.git")
15492 (commit commit)))
15493 (sha256
15494 (base32
15495 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
15496 (file-name (git-file-name name version))))
15497 (build-system emacs-build-system)
15498 (synopsis "Emacs major mode for editing Arduino sketches")
15499 (description "Emacs major mode for editing Arduino sketches.")
15500 (home-page "https://github.com/bookest/arduino-mode")
15501 (license license:gpl3+))))
15502
15503 (define-public emacs-general
15504 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
15505 (package
15506 (name "emacs-general")
15507 (version (git-version "0" "0" commit))
15508 (home-page "https://github.com/noctuid/general.el")
15509 (source (origin
15510 (method git-fetch)
15511 (uri (git-reference
15512 (url (string-append home-page ".git"))
15513 (commit commit)))
15514 (sha256
15515 (base32
15516 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
15517 (file-name (git-file-name name version))))
15518 (build-system emacs-build-system)
15519 (synopsis "More convenient key definitions in emacs")
15520 (description "@code{general.el} provides a more convenient method for
15521 binding keys in emacs (for both evil and non-evil users). Like
15522 @code{use-package}, which provides a convenient, unified interface for
15523 managing packages, @code{general.el} is intended to provide a convenient,
15524 unified interface for key definitions. While this package does implement some
15525 completely new functionality (such as the ability to make vim-style
15526 keybindings under non-prefix keys with an optional timeout), its primary
15527 purpose is to build on existing functionality to make key definition more
15528 clear and concise. @code{general-define-key} is user-extensible and supports
15529 defining multiple keys in multiple keymaps at once, implicitly wrapping key
15530 strings with (@code{kbd ...}), using named prefix key sequences (like the
15531 leader key in vim), and much more.")
15532 (license license:gpl3+))))
15533
15534 (define-public emacs-tldr
15535 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
15536 (package
15537 (name "emacs-tldr")
15538 (version (git-version "0" "0" commit))
15539 (home-page "https://github.com/kuanyui/tldr.el")
15540 (source (origin
15541 (method git-fetch)
15542 (uri (git-reference
15543 (url (string-append home-page ".git"))
15544 (commit commit)))
15545 (sha256
15546 (base32
15547 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
15548 (file-name (git-file-name name version))))
15549 (build-system emacs-build-system)
15550 (synopsis "Simplified and community-driven man pages for Emacs")
15551 (description "@code{emacs-tldr} allows the user to access tldr pages
15552 from within emacs. The @code{tldr} pages are a community effort to simplify
15553 the man pages with practical examples.")
15554 (license license:wtfpl2))))
15555
15556 (define-public emacs-window-layout
15557 (package
15558 (name "emacs-window-layout")
15559 (version "1.4")
15560 (home-page "https://github.com/kiwanami/emacs-window-layout")
15561 (source (origin
15562 (method git-fetch)
15563 (uri (git-reference
15564 (url home-page)
15565 (commit (string-append "v" version))))
15566 (sha256
15567 (base32
15568 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
15569 (file-name (git-file-name name version))))
15570 (build-system emacs-build-system)
15571 (synopsis "Simple window layout management framework for emacs")
15572 (description "A window-layout management library that can split a frame
15573 or a window into some windows according to a layout recipe.")
15574 (license license:gpl3+)))
15575
15576 (define-public emacs-e2wm
15577 (package
15578 (name "emacs-e2wm")
15579 (version "1.4")
15580 (home-page "https://github.com/kiwanami/emacs-window-manager")
15581 (source (origin
15582 (method git-fetch)
15583 (uri (git-reference
15584 (url home-page)
15585 (commit (string-append "v" version))))
15586 (sha256
15587 (base32
15588 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
15589 (file-name (git-file-name name version))))
15590 (build-system emacs-build-system)
15591 (propagated-inputs
15592 `(("emacs-window-layout" ,emacs-window-layout)))
15593 (synopsis "Equilibrium Emacs Window Manager")
15594 (description "E2WM is a window manager for Emacs. It enables to
15595 customize the place of pop-up window, how the windows are split, how the
15596 buffers are located in the windows, keybinds to manipulate windows and
15597 buffers, etc. It also has plug-ins to help your Emacs life.")
15598 (license license:gpl3+)))
15599
15600 (define-public emacs-ctable
15601 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
15602 (package
15603 (name "emacs-ctable")
15604 (version (git-version "0.1.2" "1" commit))
15605 (home-page "https://github.com/kiwanami/emacs-ctable")
15606 (source (origin
15607 (method git-fetch)
15608 (uri (git-reference
15609 (url home-page)
15610 (commit commit)))
15611 (sha256
15612 (base32
15613 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
15614 (file-name (git-file-name name version))))
15615 (build-system emacs-build-system)
15616 (synopsis "Table component for Emacs Lisp")
15617 (description "This program is a table component for Emacs Lisp. Other
15618 programs can use this table component for the application UI.")
15619 (license license:gpl3+))))
15620
15621 (define-public emacs-epc
15622 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
15623 (package
15624 (name "emacs-epc")
15625 (version (git-version "0.1.1" "1" commit))
15626 (home-page "https://github.com/kiwanami/emacs-epc")
15627 (source (origin
15628 (method git-fetch)
15629 (uri (git-reference
15630 (url home-page)
15631 (commit commit)))
15632 (sha256
15633 (base32
15634 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
15635 (file-name (git-file-name name version))))
15636 (build-system emacs-build-system)
15637 (propagated-inputs
15638 `(("emacs-deferred" ,emacs-deferred)
15639 ("emacs-ctable" ,emacs-ctable)))
15640 (synopsis "RPC stack for Emacs Lisp")
15641 (description "This program is an asynchronous RPC stack for Emacs.
15642 Using this RPC stack, Emacs can communicate with the peer process
15643 smoothly. Because the protocol employs S-expression encoding and consists of
15644 asynchronous communications, the RPC response is fairly good.")
15645 (license license:gpl3+))))
15646
15647 (define-public emacs-edbi
15648 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
15649 (package
15650 (name "emacs-edbi")
15651 (version (git-version "0.1.3" "1" commit))
15652 (home-page "https://github.com/kiwanami/emacs-edbi")
15653 (source (origin
15654 (method git-fetch)
15655 (uri (git-reference
15656 (url home-page)
15657 (commit commit)))
15658 (sha256
15659 (base32
15660 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
15661 (file-name (git-file-name name version))))
15662 (build-system emacs-build-system)
15663 (inputs
15664 `(("perl" ,perl)
15665 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
15666 ("perl-dbi" ,perl-dbi)
15667 ;; TODO: Adding support for perl-dbd-mysql and others would
15668 ;; dramatically increase the closure size. Make several packages?
15669 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
15670 (propagated-inputs
15671 `(("emacs-e2wm" ,emacs-e2wm)
15672 ("emacs-epc" ,emacs-epc)))
15673 (arguments
15674 `(#:include '("\\.el$" "\\.pl$")
15675 #:phases
15676 (modify-phases %standard-phases
15677 (add-after 'install 'patch-path
15678 (lambda* (#:key inputs outputs #:allow-other-keys)
15679 (let ((perl (assoc-ref inputs "perl"))
15680 (dir (string-append (assoc-ref outputs "out")
15681 "/share/emacs/site-lisp/guix.d/edbi-"
15682 ,version)))
15683 (substitute* (string-append dir "/edbi.el")
15684 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
15685 (chmod (string-append dir "/edbi-bridge.pl") #o555)
15686 (wrap-program (string-append dir "/edbi-bridge.pl")
15687 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
15688 #t))))))
15689 (synopsis "Database Interface for Emacs Lisp")
15690 (description "This program connects the database server through Perl's
15691 DBI, and provides DB-accessing API and the simple management UI.")
15692 (license license:gpl3+))))
15693
15694 (define-public emacs-edbi-sqlite
15695 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
15696 (package
15697 (name "emacs-edbi-sqlite")
15698 (version (git-version "0.1.1" "1" commit))
15699 (home-page "https://github.com/proofit404/edbi-sqlite")
15700 (source (origin
15701 (method git-fetch)
15702 (uri (git-reference
15703 (url home-page)
15704 (commit commit)))
15705 (sha256
15706 (base32
15707 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
15708 (file-name (git-file-name name version))))
15709 (build-system emacs-build-system)
15710 (propagated-inputs
15711 `(("emacs-edbi" ,emacs-edbi)))
15712 (synopsis "Open SQLite files in Emacs")
15713 (description "This package is a convenience wrapper for @command{edbi}
15714 to open SQLite databases.")
15715 (license license:gpl3+))))
15716
15717 (define-public emacs-nix-mode
15718 (package
15719 (name "emacs-nix-mode")
15720 (version "1.4.1")
15721 (source
15722 (origin
15723 (method git-fetch)
15724 (uri (git-reference
15725 (url "https://github.com/NixOS/nix-mode.git")
15726 (commit (string-append "v" version))))
15727 (file-name (git-file-name name version))
15728 (sha256
15729 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
15730 (build-system emacs-build-system)
15731 (inputs
15732 `(("emacs-company" ,emacs-company)
15733 ("emacs-json-mode" ,emacs-json-mode)
15734 ("emacs-mmm-mode" ,emacs-mmm-mode)))
15735 (home-page "https://github.com/NixOS/nix-mode")
15736 (synopsis "Emacs major mode for editing Nix expressions")
15737 (description "@code{nixos-mode} provides an Emacs major mode for editing
15738 Nix expressions. It supports syntax highlighting, indenting and refilling of
15739 comments.")
15740 (license license:lgpl2.1+)))
15741
15742 (define-public emacs-simple-mpc
15743 ;; There have been no releases.
15744 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
15745 (revision "1"))
15746 (package
15747 (name "emacs-simple-mpc")
15748 (version (git-version "0" revision commit))
15749 (source
15750 (origin
15751 (method git-fetch)
15752 (uri (git-reference
15753 (url "https://github.com/jorenvo/simple-mpc.git")
15754 (commit commit)))
15755 (file-name (git-file-name name version))
15756 (sha256
15757 (base32
15758 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
15759 (build-system emacs-build-system)
15760 (propagated-inputs `(("emacs-s" ,emacs-s)))
15761 (home-page "https://github.com/jorenvo/simple-mpc")
15762 (synopsis "Simple Emacs frontend to mpc")
15763 (description "This package provides an Emacs major mode which acts as a
15764 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
15765 (license license:gpl3+))))
15766
15767 (define-public emacs-mkmcc-gnuplot-mode
15768 (package
15769 (name "emacs-mkmcc-gnuplot-mode")
15770 (version "1.2.0")
15771 (source
15772 (origin
15773 (method git-fetch)
15774 (uri (git-reference
15775 (url "https://github.com/mkmcc/gnuplot-mode")
15776 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
15777 (file-name (git-file-name name version))
15778 (sha256
15779 (base32
15780 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
15781 (build-system emacs-build-system)
15782 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
15783 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
15784 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
15785 mode for editing gnuplot scripts. It provides syntax highlighting,
15786 indentation and a command to plot the file.")
15787 (license license:gpl3+)))
15788
15789 (define-public emacs-dtrt-indent
15790 (package
15791 (name "emacs-dtrt-indent")
15792 (version "0.8")
15793 (source (origin
15794 (method git-fetch)
15795 (uri (git-reference
15796 (url "https://github.com/jscheid/dtrt-indent")
15797 (commit version)))
15798 (file-name (git-file-name name version))
15799 (sha256
15800 (base32
15801 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
15802 (build-system emacs-build-system)
15803 (home-page "https://github.com/jscheid/dtrt-indent")
15804 (synopsis "Minor mode that guesses the indentation offset")
15805 (description "This package provides a minor mode that guesses the
15806 indentation offset originally used for creating source code files and
15807 transparently adjusts the corresponding settings in Emacs, making it more
15808 convenient to edit foreign files.")
15809 (license license:gpl2+)))
15810
15811 (define-public emacs-repo
15812 (package
15813 (name "emacs-repo")
15814 (version "0.1.3")
15815 (source (origin
15816 (method git-fetch)
15817 (uri (git-reference
15818 (url "https://github.com/canatella/repo-el")
15819 (commit version)))
15820 (file-name (git-file-name name version))
15821 (sha256
15822 (base32
15823 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
15824 (build-system emacs-build-system)
15825 (native-inputs
15826 `(("emacs-el-mock" ,emacs-el-mock)
15827 ("ert-runner" ,emacs-ert-runner)))
15828 (propagated-inputs
15829 `(("emacs-f" ,emacs-f)
15830 ("magit" ,emacs-magit)))
15831 (home-page "https://github.com/canatella/repo-el")
15832 (synopsis "Emacs interface for the Google Repo tool")
15833 (description "This package provides integration of the Google Repo tool
15834 with emacs. It displays the output of the @code{repo status} command in a
15835 buffer and launches Magit from the status buffer for the project at point.")
15836 (license license:gpl3+)))
15837
15838 (define-public emacs-alect-themes
15839 (package
15840 (name "emacs-alect-themes")
15841 (version "0.9")
15842 (source (origin
15843 (method git-fetch)
15844 (uri (git-reference
15845 (url "https://github.com/alezost/alect-themes")
15846 (commit (string-append "v" version))))
15847 (file-name (git-file-name name version))
15848 (sha256
15849 (base32
15850 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
15851 (build-system emacs-build-system)
15852 (home-page "https://github.com/alezost/alect-themes")
15853 (synopsis "Low contrast, light, dark and black color theme for Emacs")
15854 (description "@code{emacs-alect-themes} provides configurable light, dark
15855 and black color themes for Emacs. The themes are intended to be used with
15856 GUI.")
15857 (license license:gpl3+)))
15858
15859 (define-public emacs-google-c-style
15860 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
15861 (revision "0"))
15862 (package
15863 (name "emacs-google-c-style")
15864 (version (git-version "0.1" revision commit))
15865 (source (origin
15866 (method git-fetch)
15867 (uri (git-reference
15868 (url "https://github.com/google/styleguide")
15869 (commit commit)))
15870 (file-name (git-file-name name version))
15871 (sha256
15872 (base32
15873 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
15874 (build-system emacs-build-system)
15875 (home-page "https://github.com/google/styleguide")
15876 (synopsis "Emacs settings file for Google C/C++ style")
15877 (description "@code{emacs-google-c-style} provides an Emacs settings
15878 file for Google C and C++ style.")
15879 (license license:gpl1+))))
15880
15881 (define-public emacs-redshank
15882 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
15883 (revision "1"))
15884 (package
15885 (name "emacs-redshank")
15886 (version (git-version "0.1" revision commit))
15887 (source (origin
15888 (method git-fetch)
15889 (uri (git-reference
15890 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
15891 (commit commit)))
15892 (file-name (git-file-name name version))
15893 (sha256
15894 (base32
15895 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
15896 (build-system emacs-build-system)
15897 (propagated-inputs
15898 `(("emacs-paredit" ,emacs-paredit)))
15899 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
15900 (synopsis "Common Lisp Editing Extensions (for Emacs)")
15901 (description "Redshank is a collection of code-wrangling Emacs macros
15902 mostly geared towards Common Lisp, but some are useful for other Lisp
15903 dialects, too. Redshank's code transformations aim to be expression-based (as
15904 opposed to character-based).")
15905 (license license:gpl1+))))
15906
15907 (define-public emacs-disk-usage
15908 (package
15909 (name "emacs-disk-usage")
15910 (version "1.3.3")
15911 (source
15912 (origin
15913 (method git-fetch)
15914 (uri (git-reference
15915 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
15916 (commit version)))
15917 (file-name (git-file-name name version))
15918 (sha256
15919 (base32
15920 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
15921 (build-system emacs-build-system)
15922 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
15923 (synopsis "Sort and browse disk usage listings with Emacs")
15924 (description "Disk Usage is a file system analyzer: it offers a tabulated
15925 view of file listings sorted by size. Directory sizes are computed
15926 recursively. The results are cached for speed.")
15927 (license license:gpl3+)))
15928
15929 (define-public emacs-orgit
15930 (package
15931 (name "emacs-orgit")
15932 (version "1.5.3")
15933 (home-page "https://github.com/magit/orgit")
15934 (source (origin
15935 (method git-fetch)
15936 (uri (git-reference
15937 (url home-page)
15938 (commit (string-append "v" version))))
15939 (file-name (git-file-name name version))
15940 (sha256
15941 (base32
15942 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
15943 (build-system emacs-build-system)
15944 (propagated-inputs
15945 `(("emacs-dash" ,emacs-dash)
15946 ("emacs-magit" ,emacs-magit)))
15947 (synopsis "Support for Org links to Magit buffers")
15948 (description "This package defines several Org link types, which can be
15949 used to link to certain Magit buffers. Use the command
15950 @command{org-store-link} while such a buffer is current to store a link.
15951 Later you can insert it into an Org buffer using the command
15952 @code{org-insert-link}.")
15953 (license license:gpl3+)))
15954
15955 (define-public emacs-amx
15956 (package
15957 (name "emacs-amx")
15958 (version "3.2")
15959 (source (origin
15960 (method git-fetch)
15961 (uri (git-reference
15962 (url "https://github.com/DarwinAwardWinner/amx")
15963 (commit (string-append "v" version))))
15964 (file-name (git-file-name name version))
15965 (sha256
15966 (base32
15967 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
15968 (build-system emacs-build-system)
15969 (propagated-inputs `(("emacs-s" ,emacs-s)))
15970 (home-page "https://github.com/DarwinAwardWinner/amx")
15971 (synopsis "Alternative interface for M-x")
15972 (description "Amx is an alternative interface for M-x in Emacs. It
15973 provides several enhancements over the ordinary
15974 @code{execute-extended-command}, such as prioritizing your most-used commands
15975 in the completion list and showing keyboard shortcuts, and it supports several
15976 completion systems for selecting commands, such as ido and ivy.")
15977 (license license:gpl3+)))
15978
15979 (define-public emacs-lorem-ipsum
15980 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
15981 (package
15982 (name "emacs-lorem-ipsum")
15983 (version (git-version "0.2" "1" commit))
15984 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
15985 (source (origin
15986 (method git-fetch)
15987 (uri (git-reference
15988 (url home-page)
15989 (commit commit)))
15990 (file-name (git-file-name name version))
15991 (sha256
15992 (base32
15993 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
15994 (build-system emacs-build-system)
15995 (synopsis "Insert dummy pseudo Latin text in Emacs")
15996 (description "This package provides convenience functions to insert
15997 dummy Latin text into a buffer. This can be useful if you need to produce
15998 paragraphs or pages of text for testing purposes.")
15999 (license license:gpl3+))))
16000
16001 (define-public emacs-lisp-extra-font-lock
16002 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
16003 (package
16004 (name "emacs-lisp-extra-font-lock")
16005 (version (git-version "0.0.6" "1" commit))
16006 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
16007 (source (origin
16008 (method git-fetch)
16009 (uri (git-reference
16010 (url home-page)
16011 (commit commit)))
16012 (file-name (git-file-name name version))
16013 (sha256
16014 (base32
16015 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
16016 (build-system emacs-build-system)
16017 (synopsis "Highlight bound variables and quoted expressions in Emacs")
16018 (description "This package highlight the location where local variables
16019 is created (bound, for example, by let) as well as quoted and backquoted
16020 constant expressions.")
16021 (license license:gpl3+))))
16022
16023 (define-public emacs-docker-tramp
16024 (package
16025 (name "emacs-docker-tramp")
16026 (version "0.1")
16027 (source
16028 (origin
16029 (method git-fetch)
16030 (uri (git-reference
16031 (url "https://github.com/emacs-pe/docker-tramp.el")
16032 (commit (string-append "v" version))))
16033 (file-name (git-file-name name version))
16034 (sha256
16035 (base32
16036 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
16037 (build-system emacs-build-system)
16038 (home-page "https://github.com/emacs-pe/docker-tramp.el")
16039 (synopsis "TRAMP integration for docker containers")
16040 (description
16041 "This package provides a TRAMP method for Docker containers.")
16042 (license license:gpl3+)))
16043
16044 (define-public emacs-docker
16045 (package
16046 (name "emacs-docker")
16047 (version "1.2.0")
16048 (source (origin
16049 (method git-fetch)
16050 (uri (git-reference
16051 (url "https://github.com/Silex/docker.el")
16052 (commit version)))
16053 (file-name (git-file-name name version))
16054 (sha256
16055 (base32
16056 "15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
16057 (inputs
16058 `(("emacs-undercover" ,emacs-undercover)))
16059 (propagated-inputs
16060 `(("emacs-dash" ,emacs-dash)
16061 ("emacs-docker-tramp" ,emacs-docker-tramp)
16062 ("emacs-magit-popup" ,emacs-magit-popup)
16063 ("emacs-s" ,emacs-s)
16064 ("emacs-tablist" ,emacs-tablist)
16065 ("emacs-json-mode" ,emacs-json-mode)))
16066 (arguments
16067 `(#:phases
16068 (modify-phases %standard-phases
16069 (delete 'check)))) ;no tests
16070 (build-system emacs-build-system)
16071 (home-page "https://github.com/Silex/docker.el")
16072 (synopsis "Manage docker from Emacs")
16073 (description "This package provides an Emacs interface for Docker.")
16074 (license license:gpl3+)))
16075
16076 (define-public emacs-dockerfile-mode
16077 ;; Latest upstream release is too old.
16078 (let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
16079 (package
16080 (name "emacs-dockerfile-mode")
16081 (version (git-version "1.2" "1" commit))
16082 (source
16083 (origin
16084 (method git-fetch)
16085 (uri (git-reference
16086 (url "https://github.com/spotify/dockerfile-mode.git")
16087 (commit commit)))
16088 (file-name (git-file-name name version))
16089 (sha256
16090 (base32
16091 "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
16092 (build-system emacs-build-system)
16093 (propagated-inputs
16094 `(("emacs-s" ,emacs-s)))
16095 (home-page "https://github.com/spotify/dockerfile-mode")
16096 (synopsis "Major mode for editing Dockerfile")
16097 (description
16098 "This package provides a major mode @code{dockerfile-mode} for use with
16099 the standard @code{Dockerfile} file format.")
16100 (license license:asl2.0))))
16101
16102 (define-public emacs-lsp-mode
16103 (package
16104 (name "emacs-lsp-mode")
16105 (version "6.1")
16106 (source (origin
16107 (method git-fetch)
16108 (uri (git-reference
16109 (url "https://github.com/emacs-lsp/lsp-mode.git")
16110 (commit version)))
16111 (file-name (git-file-name name version))
16112 (sha256
16113 (base32
16114 "0jn5slhv9zfs446a5966bfg9dq144g22v79wnkx9hxq7if78p652"))))
16115 (build-system emacs-build-system)
16116 (propagated-inputs
16117 `(("emacs-dash" ,emacs-dash)
16118 ("emacs-f" ,emacs-f)
16119 ("emacs-ht" ,emacs-ht)
16120 ("emacs-markdown-mode" ,emacs-markdown-mode)
16121 ("emacs-spinner" ,emacs-spinner)))
16122 (home-page "https://github.com/emacs-lsp/lsp-mode")
16123 (synopsis "Emacs client and library for the Language Server Protocol")
16124 (description "@code{LSP-mode} is a client and library implementation for
16125 the Language Server Protocol. This mode aims to provide an IDE-like
16126 experience by providing optional integration with other popular Emacs packages
16127 like @code{company}, @code{flycheck}, and @code{projectile}.")
16128 (license license:gpl3+)))
16129
16130 (define-public emacs-lsp-ui
16131 (package
16132 (name "emacs-lsp-ui")
16133 (version "6.0")
16134 (source (origin
16135 (method git-fetch)
16136 (uri (git-reference
16137 (url "https://github.com/emacs-lsp/lsp-ui.git")
16138 (commit version)))
16139 (file-name (git-file-name name version))
16140 (sha256
16141 (base32
16142 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
16143 (build-system emacs-build-system)
16144 (propagated-inputs
16145 `(("emacs-dash" ,emacs-dash)
16146 ("emacs-lsp-mode" ,emacs-lsp-mode)
16147 ("emacs-markdown-mode" ,emacs-markdown-mode)
16148 ("emacs-flycheck" ,emacs-flycheck)))
16149 (home-page "https://github.com/emacs-lsp/lsp-ui")
16150 (synopsis "User interface extensions for @code{lsp-mode}")
16151 (description
16152 "@code{LSP-ui} contains several enhancements and integrations for
16153 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
16154 and code peeking.")
16155 (license license:gpl3+)))
16156
16157 (define-public emacs-helm-notmuch
16158 (package
16159 (name "emacs-helm-notmuch")
16160 (version "1.2")
16161 (home-page "https://github.com/emacs-helm/helm-notmuch/")
16162 (source (origin
16163 (method git-fetch)
16164 (uri (git-reference
16165 (url home-page)
16166 (commit version)))
16167 (file-name (git-file-name name version))
16168 (sha256
16169 (base32
16170 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
16171 (build-system emacs-build-system)
16172 (propagated-inputs
16173 `(("emacs-helm" ,emacs-helm)
16174 ("notmuch" ,notmuch)))
16175 (synopsis "Search emails with Emacs Notmuch and Helm")
16176 (description
16177 "This package can be used to search emails in Emacs, searching result
16178 displays as you type thanks to Helm, though @command{notmuch-search} does the
16179 real search.")
16180 (license license:gpl3+)))
16181
16182 (define-public emacs-elmacro
16183 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
16184 (package
16185 (name "emacs-elmacro")
16186 (version (git-version "1.1.0" "1" commit))
16187 (home-page "https://github.com/Silex/elmacro")
16188 (source (origin
16189 (method git-fetch)
16190 (uri (git-reference
16191 (url home-page)
16192 (commit commit)))
16193 (file-name (git-file-name name version))
16194 (sha256
16195 (base32
16196 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
16197 (build-system emacs-build-system)
16198 (propagated-inputs
16199 `(("emacs-s" ,emacs-s)
16200 ("emacs-dash" ,emacs-dash)))
16201 (synopsis "Convert keyboard macros to Emacs Lisp")
16202 (description
16203 "This package displays keyboard macros or latest interactive commands
16204 as Emacs Lisp.")
16205 (license license:gpl3+))))
16206
16207 (define-public emacs-transient
16208 ;; 0.1.0 depends on lv.el but not later versions.
16209 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
16210 (package
16211 (name "emacs-transient")
16212 (version (git-version "0.1.0" "1" commit))
16213 (source (origin
16214 (method git-fetch)
16215 (uri (git-reference
16216 (url "https://github.com/magit/transient")
16217 (commit commit)))
16218 (file-name (git-file-name name version))
16219 (sha256
16220 (base32
16221 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
16222 (build-system gnu-build-system)
16223 (native-inputs `(("texinfo" ,texinfo)
16224 ("emacs" ,emacs-minimal)))
16225 (propagated-inputs
16226 `(("dash" ,emacs-dash)))
16227 (arguments
16228 `(#:modules ((guix build gnu-build-system)
16229 (guix build utils)
16230 (srfi srfi-26)
16231 (guix build emacs-utils))
16232 #:imported-modules (,@%gnu-build-system-modules
16233 (guix build emacs-utils))
16234 #:tests? #f ; tests are not included in the release
16235 #:make-flags (list "lisp" "info"
16236 (string-append "LOAD_PATH=-L . -L "
16237 (assoc-ref %build-inputs "dash")
16238 "/share/emacs/site-lisp/guix.d/dash-"
16239 ,(package-version emacs-dash)))
16240 #:phases
16241 (modify-phases %standard-phases
16242 (delete 'configure)
16243 (replace 'install
16244 (lambda* (#:key inputs outputs #:allow-other-keys)
16245 (let* ((out (assoc-ref outputs "out"))
16246 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
16247 "transient" "-" ,version))
16248 (info (string-append out "/share/info")))
16249 (for-each (cut install-file <> lisp)
16250 (find-files "." "\\.elc*$"))
16251 (install-file "docs/transient.info" (string-append info)))
16252 #t)))))
16253 (home-page "https://magit.vc/manual/transient")
16254 (synopsis "Transient commands in Emacs")
16255 (description
16256 "Taking inspiration from prefix keys and prefix arguments in Emacs,
16257 Transient implements a similar abstraction involving a prefix command, infix
16258 arguments and suffix commands. We could call this abstraction a \"transient
16259 command\", but because it always involves at least two commands (a prefix and
16260 a suffix) we prefer to call it just a \"transient\".")
16261 (license license:gpl3+))))
16262
16263 (define-public emacs-matcha
16264 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
16265 (package
16266 (name "emacs-matcha")
16267 (version (git-version "0.0.1" "1" commit)) ;no upstream release
16268 (source (origin
16269 (method git-fetch)
16270 (uri (git-reference
16271 (url "https://github.com/jojojames/matcha.git")
16272 (commit commit)))
16273 (file-name (git-file-name name version))
16274 (sha256
16275 (base32
16276 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
16277 (propagated-inputs
16278 `(("emacs-hydra" ,emacs-hydra)
16279 ("emacs-transient" ,emacs-transient)))
16280 (build-system emacs-build-system)
16281 (home-page "https://github.com/jojojames/matcha/")
16282 (synopsis "Collection of hydras with a generic interface to launch them")
16283 (description "Matcha provides a collection of transients for various
16284 packages with a consistent way to use them.")
16285 (license license:gpl3+))))
16286
16287 (define-public emacs-undo-propose-el
16288 (let ((commit "21a5cdc8ebfe8113f7039867c4abb0197c0fe71c")
16289 (revision "1"))
16290 (package
16291 (name "emacs-undo-propose-el")
16292 (version (git-version "3.0.0" revision commit))
16293 (source
16294 (origin
16295 (method git-fetch)
16296 (uri (git-reference
16297 (url "https://github.com/jackkamm/undo-propose-el")
16298 (commit commit)))
16299 (file-name (git-file-name name version))
16300 (sha256
16301 (base32
16302 "035hav4lfxwgikg3zpb4cz1nf08qfp27awl87dqbm2ly6d74lpny"))))
16303 (build-system emacs-build-system)
16304 (home-page "https://github.com/jackkamm/undo-propose-el")
16305 (synopsis "Simple and safe navigation of @code{undo} history")
16306 (description "This package permits navigation of @code{undo} history in a
16307 temporary buffer, which is read-only save for @code{undo} commands, and
16308 subsequent committal of a chain of @code{undo} commands as a single edit in
16309 the @code{undo} history.")
16310 (license license:gpl3+))))
16311
16312 (define-public emacs-elisp-docstring-mode
16313 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
16314 (version "0.0.1")
16315 (revision "1"))
16316 (package
16317 (name "emacs-elisp-docstring-mode")
16318 (version (git-version version revision commit))
16319 (source
16320 (origin
16321 (method git-fetch)
16322 (uri (git-reference
16323 (url "https://github.com/Fuco1/elisp-docstring-mode")
16324 (commit commit)))
16325 (file-name (git-file-name name version))
16326 (sha256
16327 (base32
16328 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
16329 (build-system emacs-build-system)
16330 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
16331 (synopsis "Major mode for editing Emacs Lisp docstrings")
16332 (description "This package provides font lock and automatic escaping and
16333 unescaping of quotes.")
16334 (license license:gpl3+))))
16335
16336 (define-public emacs-vimrc-mode
16337 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
16338 (version "0.3.1")
16339 (revision "1"))
16340 (package
16341 (name "emacs-vimrc-mode")
16342 (version (git-version version revision commit))
16343 (source
16344 (origin
16345 (method git-fetch)
16346 (uri (git-reference
16347 (url "https://github.com/mcandre/vimrc-mode")
16348 (commit commit)))
16349 (file-name (git-file-name name version))
16350 (sha256
16351 (base32
16352 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
16353 (build-system emacs-build-system)
16354 (home-page "https://github.com/mcandre/vimrc-mode")
16355 (synopsis "Major mode for Vimscript")
16356 (description "This package provides font lock and @code{beginning-} and
16357 @code{end-of-defun} functions for Vimscript files.")
16358 (license license:gpl3+))))
16359
16360 (define-public emacs-flycheck-haskell
16361 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
16362 (version "0.8")
16363 (revision "79"))
16364 (package
16365 (name "emacs-flycheck-haskell")
16366 (version (git-version version revision commit))
16367 (source
16368 (origin
16369 (method git-fetch)
16370 (uri (git-reference
16371 (url "https://github.com/flycheck/flycheck-haskell")
16372 (commit commit)))
16373 (file-name (git-file-name name version))
16374 (sha256
16375 (base32
16376 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
16377 (build-system emacs-build-system)
16378 (propagated-inputs
16379 `(("emacs-dash" ,emacs-dash)
16380 ("emacs-seq" ,emacs-seq)
16381 ("emacs-flycheck" ,emacs-flycheck)
16382 ("emacs-haskell-mode" ,emacs-haskell-mode)
16383 ("emacs-let-alist" ,emacs-let-alist)))
16384 (home-page "https://github.com/flycheck/flycheck-haskell")
16385 (synopsis "Flycheck for Haskell")
16386 (description "This package configures syntax-checking for Haskell
16387 buffers.")
16388 (license license:gpl3+))))
16389
16390 (define-public emacs-js2-refactor-el
16391 (let ((commit "79124b3274c43ad1f9ec6205fa362576552db02f")
16392 (version "0.9.0")
16393 (revision "27"))
16394 (package
16395 (name "emacs-js2-refactor-el")
16396 (version (git-version version revision commit))
16397 (source
16398 (origin
16399 (method git-fetch)
16400 (uri (git-reference
16401 (url "https://github.com/magnars/js2-refactor.el")
16402 (commit commit)))
16403 (file-name (git-file-name name version))
16404 (sha256
16405 (base32
16406 "1wswhlpbd3airrhyncb9vblqigwnqg9n96z0iis8jnz37q2whica"))))
16407 (build-system emacs-build-system)
16408 (propagated-inputs
16409 `(("emacs-dash" ,emacs-dash)
16410 ("emacs-s" ,emacs-s)
16411 ("emacs-js2-mode" ,emacs-js2-mode)
16412 ("emacs-yasnippet" ,emacs-yasnippet)
16413 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
16414 (native-inputs
16415 `(("emacs-buttercup" ,emacs-buttercup)
16416 ("emacs-espuds" ,emacs-espuds)))
16417 (home-page "https://github.com/magnars/js2-refactor.el")
16418 (synopsis "JavaScript refactoring in Emacs")
16419 (description "This package provides various refactoring functions for
16420 JavaScript.")
16421 (license license:gpl3+))))
16422
16423 (define-public emacs-prettier
16424 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
16425 (version "0.1.0")
16426 (revision "1"))
16427 (package
16428 (name "emacs-prettier")
16429 (version (git-version version revision commit))
16430 (source
16431 (origin
16432 (method git-fetch)
16433 (uri (git-reference
16434 (url "https://github.com/prettier/prettier-emacs")
16435 (commit commit)))
16436 (file-name (git-file-name name version))
16437 (sha256
16438 (base32
16439 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
16440 (build-system emacs-build-system)
16441 (home-page "https://github.com/prettier/prettier-emacs")
16442 (synopsis "Automatic formatting of JavaScript code")
16443 (description "This package integrates Prettier with Emacs, and
16444 provides a minor mode that autoformats the buffer upon saving.")
16445 (license license:expat))))
16446
16447 (define-public emacs-fish-mode
16448 (package
16449 (name "emacs-fish-mode")
16450 (version "0.1.4")
16451 (source
16452 (origin
16453 (method git-fetch)
16454 (uri (git-reference
16455 (url "https://github.com/wwwjfy/emacs-fish")
16456 (commit version)))
16457 (file-name (git-file-name name version))
16458 (sha256
16459 (base32
16460 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
16461 (build-system emacs-build-system)
16462 (home-page "https://github.com/wwwjfy/emacs-fish")
16463 (synopsis "Major mode for Fish shell scripts")
16464 (description "This package provides syntax highlighting and indentation
16465 functions for Fish shell scripts.")
16466 (license license:gpl3+)))
16467
16468 (define-public emacs-eshell-up
16469 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
16470 (version "0.0.3")
16471 (revision "12"))
16472 (package
16473 (name "emacs-eshell-up")
16474 (version (git-version version revision commit))
16475 (source
16476 (origin
16477 (method git-fetch)
16478 (uri (git-reference
16479 (url "https://github.com/peterwvj/eshell-up")
16480 (commit commit)))
16481 (file-name (git-file-name name version))
16482 (sha256
16483 (base32
16484 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
16485 (build-system emacs-build-system)
16486 (home-page "https://github.com/peterwvj/eshell-up")
16487 (synopsis "Quickly go to a parent directory in @code{Eshell}")
16488 (description "This package provides quick navigation to a specific
16489 parent directory using @code{Eshell}.")
16490 (license license:gpl3+))))
16491
16492 (define-public emacs-tco-el
16493 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
16494 (version "0.3")
16495 (revision "1"))
16496 (package
16497 (name "emacs-tco-el")
16498 (version (git-version version revision commit))
16499 (source
16500 (origin
16501 (method git-fetch)
16502 (uri (git-reference
16503 (url "https://github.com/Wilfred/tco.el")
16504 (commit commit)))
16505 (file-name (git-file-name name version))
16506 (sha256
16507 (base32
16508 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
16509 (build-system emacs-build-system)
16510 (propagated-inputs
16511 `(("emacs-dash" ,emacs-dash)))
16512 (home-page "https://github.com/Wilfred/tco.el")
16513 (synopsis "Tail-call optimization for Emacs Lisp")
16514 (description "This package provides tail-call optimization for Emacs
16515 Lisp functions that call themselves in tail position.")
16516 (license license:gpl3+))))
16517
16518 (define-public emacs-equake
16519 (let ((commit "ed15fd55cd4f2276161a6f712ed0b83cd10a8cdc")
16520 (version "0.85")
16521 (revision "1"))
16522 (package
16523 (name "emacs-equake")
16524 (version (git-version version revision commit))
16525 (source
16526 (origin
16527 (method git-fetch)
16528 (uri (git-reference
16529 (url "https://gitlab.com/emacsomancer/equake/")
16530 (commit commit)))
16531 (file-name (git-file-name name version))
16532 (sha256
16533 (base32
16534 "04kj88rlnn22gwmmv2gly2ibi6jka6l2cd4979pi6lhlvqqgjdnj"))))
16535 (build-system emacs-build-system)
16536 (propagated-inputs
16537 `(("emacs-dash" ,emacs-dash)
16538 ("emacs-tco-el" ,emacs-tco-el)))
16539 (home-page "https://gitlab.com/emacsomancer/equake/")
16540 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
16541 (description "This package provides a Quake-style drop-down console
16542 compatible with Emacs' shell modes.")
16543 (license license:gpl3+))))
16544
16545 (define-public emacs-vdiff
16546 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
16547 (version "0.2.3")
16548 (revision "1"))
16549 (package
16550 (name "emacs-vdiff")
16551 (version (git-version version revision commit))
16552 (source
16553 (origin
16554 (method git-fetch)
16555 (uri (git-reference
16556 (url "https://github.com/justbur/emacs-vdiff/")
16557 (commit commit)))
16558 (file-name (git-file-name name version))
16559 (sha256
16560 (base32
16561 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
16562 (build-system emacs-build-system)
16563 (propagated-inputs
16564 `(("emacs-hydra" ,emacs-hydra)))
16565 (home-page "https://github.com/justbur/emacs-vdiff/")
16566 (synopsis "Frontend for diffing based on vimdiff")
16567 (description "This package permits comparisons of two or three buffers
16568 based on diff output.")
16569 (license license:gpl3+))))
16570
16571 (define-public emacs-vdiff-magit
16572 ;; Need to use a more recent commit than the latest release version because
16573 ;; of Magit and Transient
16574 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
16575 (version "0.3.2")
16576 (revision "8"))
16577 (package
16578 (name "emacs-vdiff-magit")
16579 (version (git-version version revision commit))
16580 (source
16581 (origin
16582 (method git-fetch)
16583 (uri (git-reference
16584 (url "https://github.com/justbur/emacs-vdiff-magit/")
16585 (commit commit)))
16586 (file-name (git-file-name name version))
16587 (sha256
16588 (base32
16589 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
16590 (build-system emacs-build-system)
16591 (propagated-inputs
16592 `(("emacs-vdiff" ,emacs-vdiff)
16593 ("emacs-magit" ,emacs-magit)
16594 ("emacs-transient" ,emacs-transient)))
16595 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
16596 (synopsis "Frontend for diffing based on vimdiff")
16597 (description "This package permits comparisons of two or three buffers
16598 based on diff output.")
16599 (license license:gpl3+))))
16600
16601 (define-public emacs-all-the-icons-dired
16602 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
16603 (version "1.0")
16604 (revision "1"))
16605 (package
16606 (name "emacs-all-the-icons-dired")
16607 (version (git-version version revision commit))
16608 (source
16609 (origin
16610 (method git-fetch)
16611 (uri (git-reference
16612 (url "https://github.com/jtbm37/all-the-icons-dired/")
16613 (commit commit)))
16614 (file-name (git-file-name name version))
16615 (sha256
16616 (base32
16617 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
16618 (build-system emacs-build-system)
16619 (propagated-inputs
16620 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
16621 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
16622 (synopsis "Show icons for each file in @code{dired-mode}")
16623 (description "This package allows icons from @file{all-the-icons.el} to
16624 be used in @code{dired-mode}.")
16625 (license license:gpl3+))))
16626
16627 (define-public emacs-exwm-edit
16628 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
16629 (version "0.0.1")
16630 (revision "1"))
16631 (package
16632 (name "emacs-exwm-edit")
16633 (version (git-version version revision commit))
16634 (source
16635 (origin
16636 (method git-fetch)
16637 (uri (git-reference
16638 (url "https://github.com/agzam/exwm-edit/")
16639 (commit commit)))
16640 (file-name (git-file-name name version))
16641 (sha256
16642 (base32
16643 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
16644 (build-system emacs-build-system)
16645 (propagated-inputs
16646 `(("emacs-exwm" ,emacs-exwm)))
16647 (home-page "https://github.com/agzam/exwm-edit/")
16648 (synopsis "Open temp buffers for editing text from EXWM buffers")
16649 (description "This package facilitates editing text from EXWM buffers by
16650 generating a temp buffer in which any useful Emacs utilities and modes can be
16651 invoked.")
16652 (license license:gpl3+))))
16653
16654 (define-public emacs-ert-async
16655 (package
16656 (name "emacs-ert-async")
16657 (version "0.1.2")
16658 (source
16659 (origin
16660 (method git-fetch)
16661 (uri (git-reference
16662 (url "https://github.com/rejeep/ert-async.el")
16663 (commit (string-append "v" version))))
16664 (file-name (git-file-name name version))
16665 (sha256
16666 (base32
16667 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
16668 (build-system emacs-build-system)
16669 (home-page "https://github.com/rejeep/ert-async.el")
16670 (synopsis "Async support for ERT")
16671 (description "This package allows ERT to work with asynchronous tests.")
16672 (license license:gpl3+)))
16673
16674 (define-public emacs-prodigy-el
16675 (let ((commit "701dccaa56de9e6a330c05bde33bce4f3b3d6a97")
16676 (version "0.7.0")
16677 (revision "28"))
16678 (package
16679 (name "emacs-prodigy-el")
16680 (version (git-version version revision commit))
16681 (source
16682 (origin
16683 (method git-fetch)
16684 (uri (git-reference
16685 (url "https://github.com/rejeep/prodigy.el")
16686 (commit commit)))
16687 (file-name (git-file-name name version))
16688 (sha256
16689 (base32
16690 "1vyvxawlayp2nra0q83146q2nzv8qwn5a4nj0sx1jc90a0a83vgj"))))
16691 (build-system emacs-build-system)
16692 (propagated-inputs
16693 `(("emacs-dash" ,emacs-dash)
16694 ("emacs-s" ,emacs-s)
16695 ("emacs-f" ,emacs-f)))
16696 (native-inputs
16697 `(("emacs-el-mock" ,emacs-el-mock)
16698 ("emacs-ert-async" ,emacs-ert-async)))
16699 (home-page "https://github.com/rejeep/prodigy.el")
16700 (synopsis "Manage external services from within Emacs")
16701 (description "This package provides a GUI for defining and monitoring services.")
16702 (license license:gpl3+))))
16703
16704 (define-public emacs-web-server
16705 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
16706 (version "0.1.1")
16707 (revision "1"))
16708 (package
16709 (name "emacs-web-server")
16710 (version (git-version version revision commit))
16711 (source
16712 (origin
16713 (method git-fetch)
16714 (uri (git-reference
16715 (url "https://github.com/eschulte/emacs-web-server/")
16716 (commit commit)))
16717 (file-name (git-file-name name version))
16718 (sha256
16719 (base32
16720 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
16721 (build-system emacs-build-system)
16722 (home-page "https://github.com/eschulte/emacs-web-server/")
16723 (synopsis "Web server with handlers in Emacs Lisp")
16724 (description "This package supports HTTP GET and POST requests with
16725 url-encoded parameters, as well as web sockets.")
16726 (license license:gpl3+))))
16727
16728 (define-public emacs-markdown-preview-mode
16729 (package
16730 (name "emacs-markdown-preview-mode")
16731 (version "0.9.2")
16732 (source
16733 (origin
16734 (method git-fetch)
16735 (uri (git-reference
16736 (url "https://github.com/ancane/markdown-preview-mode")
16737 (commit (string-append "v" version))))
16738 (file-name (git-file-name name version))
16739 (sha256
16740 (base32
16741 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
16742 (build-system emacs-build-system)
16743 (propagated-inputs
16744 `(("emacs-markdown-mode" ,emacs-markdown-mode)
16745 ("emacs-websocket" ,emacs-websocket)
16746 ("emacs-web-server" ,emacs-web-server)))
16747 (arguments '(#:include '("\\.el$" "\\.html$")))
16748 (home-page "https://github.com/ancane/markdown-preview-mode")
16749 (synopsis "Live web development in Emacs")
16750 (description "This package provides a minor mode for preview of Markdown
16751 files, and sends rendered Markdown to a web browser.")
16752 (license license:gpl3+)))
16753
16754 (define-public emacs-dotenv-mode
16755 (package
16756 (name "emacs-dotenv-mode")
16757 (version "0.2.4")
16758 (source
16759 (origin
16760 (method git-fetch)
16761 (uri (git-reference
16762 (url "https://github.com/preetpalS/emacs-dotenv-mode")
16763 (commit (string-append "v" version))))
16764 (file-name (git-file-name name version))
16765 (sha256
16766 (base32
16767 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
16768 (build-system emacs-build-system)
16769 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
16770 (synopsis "Major mode for @file{.env} files")
16771 (description "This package provides syntax highlighting for @file{.env}
16772 files.")
16773 (license license:gpl3+)))
16774
16775 (define-public emacs-add-node-modules-path
16776 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
16777 (version "1.2.0")
16778 (revision "10"))
16779 (package
16780 (name "emacs-add-node-modules-path")
16781 (version (git-version version revision commit))
16782 (source
16783 (origin
16784 (method git-fetch)
16785 (uri (git-reference
16786 (url "https://github.com/codesuki/add-node-modules-path")
16787 (commit commit)))
16788 (file-name (git-file-name name version))
16789 (sha256
16790 (base32
16791 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
16792 (build-system emacs-build-system)
16793 (home-page "https://github.com/codesuki/add-node-modules-path")
16794 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
16795 (description "This package searches the parent directories of the
16796 current file for the project's @file{node_modules/.bin/} directory, allowing
16797 Emacs to find project-specific installations of packages.")
16798 (license license:expat))))
16799
16800 (define-public emacs-flow-minor-mode
16801 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
16802 (version "0.3")
16803 (revision "4"))
16804 (package
16805 (name "emacs-flow-minor-mode")
16806 (version (git-version version revision commit))
16807 (source
16808 (origin
16809 (method git-fetch)
16810 (uri (git-reference
16811 (url "https://github.com/an-sh/flow-minor-mode")
16812 (commit commit)))
16813 (file-name (git-file-name name version))
16814 (sha256
16815 (base32
16816 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
16817 (build-system emacs-build-system)
16818 (home-page "https://github.com/an-sh/flow-minor-mode")
16819 (synopsis "Minor mode for JavaScript Flow files")
16820 (description "This package integrates Flow with Emacs, allowing for
16821 definition-jumping and type-checking on demand.")
16822 (license license:bsd-3))))
16823
16824 (define-public emacs-rjsx-mode
16825 (let ((commit "03dd8d1683501e81b58674d64c3032b7b718402c")
16826 (version "0.4.0")
16827 (revision "35"))
16828 (package
16829 (name "emacs-rjsx-mode")
16830 (version (git-version version revision commit))
16831 (source
16832 (origin
16833 (method git-fetch)
16834 (uri (git-reference
16835 (url "https://github.com/felipeochoa/rjsx-mode")
16836 (commit commit)))
16837 (file-name (git-file-name name version))
16838 (sha256
16839 (base32
16840 "1kc44g9f38klpjklmz9n50a28nqv7prz6ck6ghdr6bnj1s98pb8a"))))
16841 (build-system emacs-build-system)
16842 (propagated-inputs
16843 `(("emacs-js2-mode" ,emacs-js2-mode)))
16844 (home-page "https://github.com/felipeochoa/rjsx-mode")
16845 (synopsis "Major mode for JSX files")
16846 (description "This package extends the parser of @code{js2-mode} to
16847 support JSX syntax.")
16848 (license license:expat))))
16849
16850 (define-public emacs-origami-el
16851 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
16852 (version "1.0")
16853 (revision "1"))
16854 (package
16855 (name "emacs-origami-el")
16856 (version (git-version version revision commit))
16857 (source
16858 (origin
16859 (method git-fetch)
16860 (uri (git-reference
16861 (url "https://github.com/gregsexton/origami.el")
16862 (commit commit)))
16863 (file-name (git-file-name name version))
16864 (sha256
16865 (base32
16866 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
16867 (build-system emacs-build-system)
16868 (propagated-inputs
16869 `(("emacs-dash" ,emacs-dash)
16870 ("emacs-s" ,emacs-s)))
16871 (home-page "https://github.com/gregsexton/origami.el")
16872 (synopsis "Flexible text-folding")
16873 (description "This package provides a minor mode for collapsing and
16874 expanding regions of text without modifying the actual contents.")
16875 (license license:expat))))
16876
16877 (define-public emacs-peep-dired
16878 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
16879 (version "0")
16880 (revision "1"))
16881 (package
16882 (name "emacs-peep-dired")
16883 (version (git-version version revision commit))
16884 (source
16885 (origin
16886 (method git-fetch)
16887 (uri (git-reference
16888 (url "https://github.com/asok/peep-dired")
16889 (commit commit)))
16890 (file-name (git-file-name name version))
16891 (sha256
16892 (base32
16893 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
16894 (build-system emacs-build-system)
16895 (home-page "https://github.com/asok/peep-dired")
16896 (synopsis "Preview files in another window")
16897 (description "This package provides a minor mode that allows files to be
16898 previewed by scrolling up and down within a @code{dired} buffer.")
16899 (license license:gpl3+))))
16900
16901 (define-public emacs-counsel-etags
16902 (package
16903 (name "emacs-counsel-etags")
16904 (version "1.8.9")
16905 (source
16906 (origin
16907 (method git-fetch)
16908 (uri (git-reference
16909 (url "https://github.com/redguardtoo/counsel-etags")
16910 (commit version)))
16911 (file-name (git-file-name name version))
16912 (sha256
16913 (base32
16914 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
16915 (build-system emacs-build-system)
16916 (propagated-inputs
16917 `(("emacs-ivy" ,emacs-ivy)))
16918 (home-page "https://github.com/redguardtoo/counsel-etags")
16919 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
16920 (description "This package uses @code{ivy-mode} to facilitate navigating
16921 and searching through @code{Ctags} files.")
16922 (license license:gpl3+)))
16923
16924 (define-public emacs-org-download
16925 (let ((commit "ac72bf8fce3e855da60687027b6b8601cf1de480")
16926 (version "0.1.0")
16927 (revision "1"))
16928 (package
16929 (name "emacs-org-download")
16930 (version (git-version version revision commit))
16931 (source (origin
16932 (method git-fetch)
16933 (uri (git-reference
16934 (url "https://github.com/abo-abo/org-download")
16935 (commit commit)))
16936 (sha256
16937 (base32
16938 "0ax5wd44765wnwabkam1g2r62gq8crx2qq733s2mg1z72cfvwxqb"))
16939 (file-name (git-file-name name version))))
16940 (build-system emacs-build-system)
16941 (propagated-inputs
16942 `(("emacs-org" ,emacs-org)
16943 ("emacs-async" ,emacs-async)))
16944 (home-page "https://github.com/abo-abo/org-download")
16945 (synopsis "Facilitate moving images")
16946 (description "This package provides utilities for managing image files
16947 copied into @code{org-mode} buffers.")
16948 (license license:gpl3+))))
16949
16950 (define-public emacs-helm-dash
16951 (let ((commit "192b862185df661439a06de644791171e899348a")
16952 (version "1.3.0")
16953 (revision "18"))
16954 (package
16955 (name "emacs-helm-dash")
16956 (version (git-version version revision commit))
16957 (source
16958 (origin
16959 (method git-fetch)
16960 (uri (git-reference
16961 (url "https://github.com/areina/helm-dash")
16962 (commit commit)))
16963 (file-name (git-file-name name version))
16964 (sha256
16965 (base32
16966 "06am5vnr4hsxkvh2b8q8kb80y5x1h3qyv7gwggswwhfa7w2vba3w"))))
16967 (build-system emacs-build-system)
16968 (propagated-inputs
16969 `(("emacs-helm" ,emacs-helm)))
16970 (home-page "https://github.com/areina/helm-dash")
16971 (synopsis "Offline documentation browser for APIs using Dash docsets")
16972 (description "This package uses Helm to install and navigate through
16973 Dash docsets.")
16974 (license license:gpl3+))))
16975
16976 (define-public emacs-counsel-dash
16977 (let ((commit "07fa74a94ff4da5b6c8c4810f5e143e701b480d2")
16978 (version "0.1.3")
16979 (revision "3"))
16980 (package
16981 (name "emacs-counsel-dash")
16982 (version (git-version version revision commit))
16983 (source
16984 (origin
16985 (method git-fetch)
16986 (uri (git-reference
16987 (url "https://github.com/nathankot/counsel-dash")
16988 (commit commit)))
16989 (file-name (git-file-name name version))
16990 (sha256
16991 (base32
16992 "17h2m9zsadq270mkq12kmdzmpbfjiwjbg8n1rg2apqnm1ndgcwf8"))))
16993 (build-system emacs-build-system)
16994 (propagated-inputs
16995 `(("emacs-helm-dash" ,emacs-helm-dash)
16996 ("emacs-dash" ,emacs-dash)
16997 ("emacs-ivy" ,emacs-ivy)))
16998 (home-page "https://github.com/nathankot/counsel-dash")
16999 (synopsis "Offline documentation browser for APIs using Dash docsets")
17000 (description "This package uses @code{ivy-mode} to install and navigate
17001 through Dash docsets.")
17002 (license license:expat))))
17003
17004 (define-public emacs-el-patch
17005 (package
17006 (name "emacs-el-patch")
17007 (version "2.2.3")
17008 (source
17009 (origin
17010 (method git-fetch)
17011 (uri (git-reference
17012 (url "https://github.com/raxod502/el-patch")
17013 (commit version)))
17014 (file-name (git-file-name name version))
17015 (sha256
17016 (base32
17017 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
17018 (build-system emacs-build-system)
17019 (home-page "https://github.com/raxod502/el-patch")
17020 (synopsis "Future-proof your Emacs customizations")
17021 (description "This package allows for an alternate definition of an Elisp
17022 function to be specified and for any differences from the original definition
17023 to be examined using Ediff.")
17024 (license license:expat)))
17025
17026 (define-public emacs-info-plus
17027 (let ((commit "b837d710f7d58db586116cf6f75e75a9a074bc4b")
17028 (version "5101")
17029 (revision "55"))
17030 (package
17031 (name "emacs-info-plus")
17032 (version (git-version version revision commit))
17033 (source
17034 (origin
17035 (method git-fetch)
17036 (uri (git-reference
17037 (url "https://github.com/emacsmirror/info-plus")
17038 (commit commit)))
17039 (file-name (git-file-name name version))
17040 (sha256
17041 (base32
17042 "1knyjkdm4rcs3qrc51jllw46ph7ycq5zxnvl70ydchzfwava43h6"))))
17043 (build-system emacs-build-system)
17044 (home-page "https://github.com/emacsmirror/info-plus")
17045 (synopsis "Extensions to @file{info.el}")
17046 (description "This package extends Emacs' @file{info.el} by allowing
17047 outline-enabled table of contents, additional metadata association for Info
17048 nodes, and more.")
17049 (license license:gpl2+))))
17050
17051 (define-public emacs-eval-sexp-fu-el
17052 (package
17053 (name "emacs-eval-sexp-fu-el")
17054 (version "0.5.0")
17055 (source
17056 (origin
17057 (method git-fetch)
17058 (uri (git-reference
17059 (url "https://github.com/hchbaw/eval-sexp-fu.el")
17060 (commit (string-append "v" version))))
17061 (file-name (git-file-name name version))
17062 (sha256
17063 (base32
17064 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
17065 (build-system emacs-build-system)
17066 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
17067 (synopsis "Enhancements for evaluating s-expressions")
17068 (description "This package provides provides variants of
17069 @code{eval-last-sexp} that work on the containing list or s-expression, as
17070 well as an option for visually flashing evaluated s-expressions.")
17071 (license license:gpl3+)))
17072
17073 (define-public emacs-counsel-tramp
17074 (package
17075 (name "emacs-counsel-tramp")
17076 (version "0.6.3")
17077 (source
17078 (origin
17079 (method git-fetch)
17080 (uri (git-reference
17081 (url "https://github.com/masasam/emacs-counsel-tramp")
17082 (commit version)))
17083 (file-name (git-file-name name version))
17084 (sha256
17085 (base32
17086 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
17087 (build-system emacs-build-system)
17088 (propagated-inputs
17089 `(("emacs-ivy" ,emacs-ivy)))
17090 (home-page "https://github.com/masasam/emacs-counsel-tramp")
17091 (synopsis "Ivy interface for TRAMP")
17092 (description "This package allows @code{ivy-mode} to display and filter
17093 SSH servers.")
17094 (license license:gpl3+)))
17095
17096 (define-public emacs-eacl
17097 (package
17098 (name "emacs-eacl")
17099 (version "2.0.1")
17100 (source
17101 (origin
17102 (method git-fetch)
17103 (uri (git-reference
17104 (url "https://github.com/redguardtoo/eacl")
17105 (commit version)))
17106 (file-name (git-file-name name version))
17107 (sha256
17108 (base32
17109 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
17110 (build-system emacs-build-system)
17111 (propagated-inputs
17112 `(("emacs-ivy" ,emacs-ivy)))
17113 (home-page "https://github.com/redguardtoo/eacl")
17114 (synopsis "Auto-complete lines by using @code{grep} on a project")
17115 (description "This package provides auto-completion cammands for single
17116 and multiple lines of code in a project.")
17117 (license license:gpl3+)))
17118
17119 (define-public emacs-semantic-refactor
17120 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
17121 ;; commits since then.
17122 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
17123 (package
17124 (name "emacs-semantic-refactor")
17125 (version (git-version "0.5" "1" commit))
17126 (source
17127 (origin
17128 (method git-fetch)
17129 (uri (git-reference
17130 (url "https://github.com/tuhdo/semantic-refactor")
17131 (commit commit)))
17132 (file-name (git-file-name name version))
17133 (sha256
17134 (base32
17135 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
17136 (build-system emacs-build-system)
17137 (home-page "https://github.com/tuhdo/semantic-refactor")
17138 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
17139 (description "This package provides a refactoring tool based on the
17140 Emacs Semantic parser framework. For C and C++ it supports operations such as:
17141
17142 @enumerate
17143 @item Generating class implementations
17144 @item Generating function prototypes
17145 @item Converting functions to function pointers
17146 @item Moving semantic units
17147 @item etc...
17148 @end enumerate
17149
17150 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
17151 as:
17152
17153 @enumerate
17154 @item Formatting the whole buffer
17155 @item Converting sexpressions to one or multiple lines
17156 @item etc...
17157 @end enumerate\n")
17158 (license license:gpl3+))))
17159
17160 (define-public emacs-nhexl-mode
17161 (package
17162 (name "emacs-nhexl-mode")
17163 (version "1.2")
17164 (source
17165 (origin
17166 (method url-fetch)
17167 (uri (string-append
17168 "https://elpa.gnu.org/packages/nhexl-mode-"
17169 version ".el"))
17170 (sha256
17171 (base32
17172 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
17173 (build-system emacs-build-system)
17174 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
17175 (synopsis "Minor mode to edit files via hex-dump format")
17176 (description
17177 "This package implements NHexl mode, a minor mode for editing files
17178 in hex dump format. The mode command is called @command{nhexl-mode}.
17179
17180 This minor mode implements similar functionality to @command{hexl-mode},
17181 but using a different implementation technique, which makes it
17182 usable as a \"plain\" minor mode. It works on any buffer, and does
17183 not mess with the undo log or with the major mode.
17184
17185 It also comes with:
17186
17187 @itemize
17188 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
17189 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
17190 (which only work for hex-digits) will only modify the nibble under point.
17191 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
17192 moving text. In this minor mode, not only self-inserting keys overwrite
17193 existing text, but commands like `yank' and @command{kill-region} as well.
17194 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
17195 C-f} to advance by #xa4 characters.
17196 @end itemize\n")
17197 (license license:gpl3+)))
17198
17199 (define-public emacs-helm-wikipedia
17200 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
17201 (package
17202 (name "emacs-helm-wikipedia")
17203 (version (git-version "0.0.0" "1" commit))
17204 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
17205 (source
17206 (origin
17207 (method git-fetch)
17208 (uri (git-reference
17209 (url home-page)
17210 (commit commit)))
17211 (file-name (git-file-name name version))
17212 (sha256
17213 (base32
17214 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
17215 (build-system emacs-build-system)
17216 (inputs
17217 `(("helm" ,emacs-helm)))
17218 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
17219 (description
17220 "This package provides an Emacs Helm interface for search suggestions
17221 and article extracts for Wikipedia.")
17222 (license license:gpl3+))))
17223
17224 (define-public emacs-webfeeder
17225 (package
17226 (name "emacs-webfeeder")
17227 (version "1.0.0")
17228 (source
17229 (origin
17230 (method url-fetch)
17231 (uri (string-append
17232 "https://elpa.gnu.org/packages/webfeeder-"
17233 version
17234 ".tar"))
17235 (sha256
17236 (base32
17237 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
17238 (build-system emacs-build-system)
17239 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
17240 (synopsis "Build RSS and Atom webfeeds from HTML files")
17241 (description
17242 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
17243 files. The various elements of the HTML input are parsed with customizable
17244 functions (e.g. @code{webfeeder-title-function}).")
17245 (license license:gpl3+)))
17246
17247 (define-public emacs-evil-numbers
17248 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
17249 (package
17250 (name "emacs-evil-numbers")
17251 (version (git-version "0.4" "1" commit))
17252 (source (origin
17253 (method git-fetch)
17254 (uri (git-reference
17255 (url "https://github.com/dieggsy/evil-numbers")
17256 (commit commit)))
17257 (file-name (git-file-name name version))
17258 (sha256
17259 (base32
17260 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
17261 (build-system emacs-build-system)
17262 (home-page "https://github.com/dieggsy/evil-numbers")
17263 (synopsis "Increment and decrement numbers in Emacs")
17264 (description "This package increments and decrements binary, octal,
17265 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
17266 number up to EOL and then increments or decrements and keeps zero padding up
17267 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
17268 numbers within that region will be incremented/decremented (unlike in Vim).
17269
17270 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
17271 (license license:gpl3+))))
17272
17273 (define-public emacs-rotate-text
17274 (package
17275 (name "emacs-rotate-text")
17276 (version "0.1")
17277 (source (origin
17278 (method git-fetch)
17279 (uri (git-reference
17280 (url "https://github.com/nschum/rotate-text.el.git")
17281 (commit version)))
17282 (file-name (git-file-name name version))
17283 (sha256
17284 (base32
17285 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
17286 (build-system emacs-build-system)
17287 (home-page "http://nschum.de/src/emacs/rotate-text/")
17288 (synopsis "Cycle through words, symbols and patterns in Emacs")
17289 (description "@code{rotate-text} allows you rotate to commonly
17290 interchanged text with a single keystroke. For example, you can toggle
17291 between \"frame-width\" and \"frame-height\", between \"public\",
17292 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
17293 \"variableN\".")
17294 (license license:gpl2+)))
17295
17296 (define-public emacs-ediprolog
17297 (package
17298 (name "emacs-ediprolog")
17299 (version "1.2")
17300 (source
17301 (origin
17302 (method url-fetch)
17303 (uri (string-append
17304 "https://elpa.gnu.org/packages/ediprolog-"
17305 version
17306 ".el"))
17307 (sha256
17308 (base32
17309 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
17310 (build-system emacs-build-system)
17311 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
17312 (synopsis "Emacs Does Interactive Prolog")
17313 (description "This package provides a major mode that let the user
17314 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
17315 programs and evaluate embedded queries. This mode is focused on the command
17316 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
17317 context, carry out the appropriate action.")
17318 (license license:gpl3+)))
17319
17320 (define-public emacs-evil-cleverparens
17321 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
17322 (revision "1"))
17323 (package
17324 (name "emacs-evil-cleverparens")
17325 (version (git-version "2017-07-17" revision commit))
17326 (source (origin
17327 (method git-fetch)
17328 (uri (git-reference
17329 (url "https://github.com/luxbock/evil-cleverparens.git")
17330 (commit commit)))
17331 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
17332 (file-name (git-file-name name version))))
17333 (build-system emacs-build-system)
17334 (propagated-inputs
17335 `(("emacs-evil" ,emacs-evil)
17336 ("emacs-paredit" ,emacs-paredit)
17337 ("emacs-smartparens" ,emacs-smartparens)))
17338 (home-page "https://github.com/luxbock/evil-cleverparens")
17339 (synopsis "Emacs modal editing optimized for editing Lisp")
17340 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
17341 modal editing with screwing up the structure of Lisp code. Alternatives for
17342 verb commands which would are normally destructive (such as deletion) are
17343 provided. Those alternative commands are and bound by default to their
17344 corresponding Evil keys.")
17345 (license license:expat))))
17346
17347 (define-public emacs-evil-traces
17348 (let ((commit "b41b7432b8110378c199a3d25af464083777f453")
17349 (revision "1"))
17350 (package
17351 (name "emacs-evil-traces")
17352 (version (git-version "0.0.1" revision commit))
17353 (source (origin
17354 (method git-fetch)
17355 (uri (git-reference
17356 (url "https://github.com/mamapanda/evil-traces.git")
17357 (commit commit)))
17358 (file-name (git-file-name name version))
17359 (sha256
17360 (base32
17361 "0a15f2saynz9fws1h5s7py3cshsk4xs1kwgwj1m5rsin36g0j6hc"))))
17362 (build-system emacs-build-system)
17363 (propagated-inputs
17364 `(("emacs-evil" ,emacs-evil)))
17365 (home-page "https://github.com/mamapanda/evil-traces")
17366 (synopsis "Visual hints for @code{evil-ex}")
17367 (description "This package adds visual hints to certain @code{ex}
17368 commands in @code{evil-mode}.")
17369 (license license:gpl3+))))
17370
17371 (define-public emacs-xterm-color
17372 (let ((commit "a452ab38a7cfae97078062ff8885b5d74fd1e5a6")
17373 (version "1.8")
17374 (revision "1"))
17375 (package
17376 (name "emacs-xterm-color")
17377 (version (git-version version revision commit))
17378 (source (origin
17379 (method git-fetch)
17380 (uri (git-reference
17381 (url "https://github.com/atomontage/xterm-color.git")
17382 (commit commit)))
17383 (sha256
17384 (base32
17385 "02kpajb993yshhjhsizpfcbrcndyzkf4dqfipifhxxng50dhp95i"))
17386 (file-name (git-file-name name version))))
17387 (build-system emacs-build-system)
17388 (home-page "https://github.com/atomontage/xterm-color")
17389 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
17390 (description "@code{xterm-color.el} is an ANSI control sequence to
17391 text-property translator.")
17392 (license license:bsd-2))))
17393
17394 (define-public emacs-org-noter
17395 (package
17396 (name "emacs-org-noter")
17397 (version "1.3.0")
17398 (source
17399 (origin
17400 (method url-fetch)
17401 (uri (string-append
17402 "https://stable.melpa.org/packages/org-noter-"
17403 version
17404 ".el"))
17405 (sha256
17406 (base32
17407 "1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
17408 (build-system emacs-build-system)
17409 (propagated-inputs `(("emacs-org" ,emacs-org)))
17410 (home-page "https://github.com/weirdNox/org-noter")
17411 (synopsis "Synchronized, Org-mode, document annotator")
17412 (description
17413 "This package lets you create notes that are kept in sync when you
17414 scroll through the document, but that are external to it---the notes
17415 themselves live in an Org-mode file. As such, this leverages the power of
17416 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
17417 acting like notes that are made @emph{in} the document.")
17418 (license license:gpl3+)))
17419
17420 (define-public emacs-org-redmine
17421 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
17422 (package
17423 (name "emacs-org-redmine")
17424 (version (git-version "0.1" "1" commit))
17425 (source (origin
17426 (method git-fetch)
17427 (uri (git-reference
17428 (url "https://github.com/gongo/org-redmine.git")
17429 (commit commit)))
17430 (file-name (git-file-name name version))
17431 (sha256
17432 (base32
17433 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
17434 (build-system emacs-build-system)
17435 (home-page "https://github.com/gongo/org-redmine/")
17436 (synopsis "Redmine tools using Emacs")
17437 (description "This program provides an Emacs client for Redmine.")
17438 (license license:gpl3+))))
17439
17440 (define-public emacs-multi-term
17441 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
17442 (package
17443 (name "emacs-multi-term")
17444 (version "1.2")
17445 (source (origin
17446 (method git-fetch)
17447 (uri (git-reference
17448 (url "https://github.com/manateelazycat/multi-term.git")
17449 (commit commit)))
17450 (file-name (git-file-name name version))
17451 (sha256
17452 (base32
17453 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
17454 (build-system emacs-build-system)
17455 (inputs `(("zsh" ,zsh)))
17456 (home-page "https://github.com/manateelazycat/multi-term")
17457 (synopsis "Manage multiple terminal buffers in Emacs")
17458 (description
17459 "This package enhances @code{term.el} with the following features:
17460
17461 @enumerate
17462 @item Functions to switch between multiple terminal buffers
17463 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
17464 the underlying terminal
17465 @item Kills the unused buffer left after exiting the terminal
17466 @item Kills the running sub-processes along with the terminal when killing the
17467 it forcibly
17468 @item Dedicated window for debugging program.
17469 @end enumerate")
17470 (license license:gpl3+))))
17471
17472 (define-public emacs-elpher
17473 (package
17474 (name "emacs-elpher")
17475 (version "1.4.6")
17476 (source
17477 (origin
17478 (method git-fetch)
17479 (uri (git-reference
17480 (url "https://github.com/tgvaughan/elpher")
17481 (commit (string-append "v" version))))
17482 (file-name (git-file-name name version))
17483 (sha256
17484 (base32
17485 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
17486 (build-system emacs-build-system)
17487 (native-inputs
17488 `(("texinfo" ,texinfo)))
17489 (arguments
17490 `(#:phases
17491 (modify-phases %standard-phases
17492 (add-before 'install 'build-doc
17493 (lambda _
17494 (invoke "makeinfo" "elpher.texi"))))))
17495 (home-page "https://github.com/tgvaughan/elpher")
17496 (synopsis "Gopher client for Emacs")
17497 (description "Elpher is a full-featured gopher client for Emacs. Its
17498 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
17499 compatibility with evil-mode, clickable web and gopher links in plain text,
17500 caching of visited sites, pleasant and configurable visualization of Gopher
17501 directories, direct visualisation of image files, jumping directly to links by
17502 name (with autocompletion), a simple bookmark management system and
17503 connections using TLS encryption.")
17504 (license license:gpl3+)))
17505
17506 (define-public emacs-zerodark-theme
17507 (package
17508 (name "emacs-zerodark-theme")
17509 (version "4.5")
17510 (source
17511 (origin
17512 (method git-fetch)
17513 (uri (git-reference
17514 (url "https://gitlab.petton.fr/nico/zerodark-theme.git")
17515 (commit version)))
17516 (file-name (git-file-name name version))
17517 (sha256
17518 (base32
17519 "0nnlxzsmhsbszqigcyxak9i1a0digrd13gv6v18ck4h760mihh1m"))))
17520 (build-system emacs-build-system)
17521 (propagated-inputs
17522 `(("emacs-flycheck" ,emacs-flycheck)
17523 ("emacs-all-the-icons" ,emacs-all-the-icons)))
17524 (home-page
17525 "https://gitlab.petton.fr/nico/zerodark-theme")
17526 (synopsis
17527 "Dark, medium contrast theme for Emacs")
17528 (description
17529 "Zerodark is a dark theme inspired from One Dark and Niflheim.
17530 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
17531 (license license:gpl3+)))
17532
17533 (define-public emacs-gnus-alias
17534 (package
17535 (name "emacs-gnus-alias")
17536 (version "20150316")
17537 (source (origin
17538 (method git-fetch)
17539 (uri (git-reference
17540 (url "https://github.com/hexmode/gnus-alias.git")
17541 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
17542 (file-name (git-file-name name version))
17543 (sha256
17544 (base32
17545 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
17546 (build-system emacs-build-system)
17547 (home-page "https://melpa.org/#/gnus-alias")
17548 (synopsis "Alternative to @code{gnus-posting-styles}")
17549 (description "This Emacs add-on provides a simple mechanism to switch
17550 Identities when using a @code{message-mode} or a @code{message-mode} derived
17551 mode. Identities can include @code{From} and @code{Organisation} headers,
17552 extra headers, body and signature. Other features include:
17553
17554 @itemize
17555 @item Switch Identities in a message buffer.
17556 @item Access original message to help determine Identity of the followup/reply
17557 message.
17558 @item Act on a forwarded message as if it were a message being replied to.
17559 @item Start a new message with a given Identity pre-selected.
17560 @end itemize")
17561 (license license:gpl2+)))
17562
17563 (define-public emacs-ox-epub
17564 (package
17565 (name "emacs-ox-epub")
17566 (version "0.3")
17567 (source (origin
17568 (method git-fetch)
17569 (uri (git-reference
17570 (url "https://github.com/ofosos/ox-epub.git")
17571 (commit (string-append "v" version))))
17572 (file-name (git-file-name name version))
17573 (sha256
17574 (base32
17575 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
17576 (build-system emacs-build-system)
17577 (home-page "https://github.com/ofosos/ox-epub")
17578 (synopsis "Export org mode projects to EPUB")
17579 (description "@code{ox-epub} extends the (X)HTML exporter to generate
17580 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
17581 which should give broad compatibility. It should also be relatiely easy to
17582 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
17583 zip utility (default is @code{zip}).")
17584 (license license:gpl3+)))
17585
17586 (define-public emacs-ox-hugo
17587 (package
17588 (name "emacs-ox-hugo")
17589 (version "0.8")
17590 (source
17591 (origin
17592 (method git-fetch)
17593 (uri (git-reference
17594 (url "https://github.com/kaushalmodi/ox-hugo.git")
17595 (commit (string-append "v" version))))
17596 (file-name (git-file-name name version))
17597 (sha256
17598 (base32
17599 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
17600 (build-system emacs-build-system)
17601 (home-page "https://ox-hugo.scripter.co")
17602 (synopsis "Hugo markdown back-end for Org export engine")
17603 (description
17604 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
17605 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
17606 format.")
17607 (license license:gpl3+)))
17608
17609 (define-public emacs-ox-pandoc
17610 (package
17611 (name "emacs-ox-pandoc")
17612 (version "20180510")
17613 (source (origin
17614 (method git-fetch)
17615 (uri (git-reference
17616 (url "https://github.com/kawabata/ox-pandoc.git")
17617 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
17618 (file-name (git-file-name name version))
17619 (sha256
17620 (base32
17621 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
17622 (build-system emacs-build-system)
17623 (inputs
17624 `(("pandoc" ,ghc-pandoc)))
17625 (propagated-inputs
17626 `(("emacs-dash" ,emacs-dash)
17627 ("emacs-ht" ,emacs-ht)))
17628 (home-page "https://github.com/kawabata/ox-pandoc")
17629 (synopsis "Org exporter for Pandoc")
17630 (description "@code{ox-pandoc} is an exporter for converting Org-mode
17631 files to numerous other formats via Pandoc.")
17632 (license license:gpl3+)))
17633
17634 (define-public emacs-wc-mode
17635 (package
17636 (name "emacs-wc-mode")
17637 (version "1.3")
17638 (source (origin
17639 (method git-fetch)
17640 (uri (git-reference
17641 (url "https://github.com/bnbeckwith/wc-mode.git")
17642 (commit (string-append "v" version))))
17643 (file-name (git-file-name name version))
17644 (sha256
17645 (base32
17646 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
17647 (build-system emacs-build-system)
17648 (home-page "https://github.com/bnbeckwith/wc-mode")
17649 (synopsis "Running word count with goals (minor mode)")
17650 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
17651 for Emacs buffers as well as a modeline addition with live word, line and
17652 character counts. Additionally, a user can set specific goals for adding or
17653 deleting words. These goals were partly inspired by 750words.com where the
17654 goal of the site is to encourage writing by setting a goal of 750 words at a
17655 time.")
17656 (license license:gpl3+)))
17657
17658 (define-public emacs-mastodon
17659 (package
17660 (name "emacs-mastodon")
17661 (version "0.9.0")
17662 (source (origin
17663 (method git-fetch)
17664 (uri (git-reference
17665 (url "https://github.com/jdenen/mastodon.el.git")
17666 (commit version)))
17667 (file-name (git-file-name name version))
17668 (sha256
17669 (base32
17670 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
17671 (build-system emacs-build-system)
17672 (arguments
17673 `(#:phases
17674 (modify-phases %standard-phases
17675 ;; Move the source files to the top level, which is included in
17676 ;; the EMACSLOADPATH.
17677 (add-after 'unpack 'move-source-files
17678 (lambda _
17679 (let ((el-files (find-files "./lisp" ".*\\.el$")))
17680 (for-each (lambda (f)
17681 (rename-file f (basename f)))
17682 el-files))
17683 #t)))))
17684 (home-page "https://github.com/jdenen/mastodon.el")
17685 (synopsis "Emacs client for Mastodon")
17686 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
17687 federated microblogging social network.")
17688 (license license:gpl3+)))
17689
17690 ;; The last release tarball is for version 0.6. We pick a commit close to
17691 ;; version 0.6.10, which doesn't have a release tarball.
17692 (define-public emacs-ebdb
17693 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
17694 (revision "0"))
17695 (package
17696 (name "emacs-ebdb")
17697 (version (git-version "0.6.10" revision commit))
17698 (source (origin
17699 (method git-fetch)
17700 (uri (git-reference
17701 (url "https://github.com/girzel/ebdb.git")
17702 (commit commit)))
17703 (file-name (git-file-name name version))
17704 (sha256
17705 (base32
17706 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
17707 (build-system emacs-build-system)
17708 (home-page "https://github.com/girzel/ebdb")
17709 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
17710 (description "EBDB is a contact management/addressbook package for
17711 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
17712 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
17713 (license license:gpl3+))))
17714
17715 (define-public emacs-refactor
17716 (package
17717 (name "emacs-refactor")
17718 (version "0.4")
17719 (source (origin
17720 (method git-fetch)
17721 (uri (git-reference
17722 (url "https://github.com/Wilfred/emacs-refactor.git")
17723 (commit version)))
17724 (file-name (git-file-name name version))
17725 (sha256
17726 (base32
17727 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
17728 (build-system emacs-build-system)
17729 (propagated-inputs
17730 `(("emacs-dash" ,emacs-dash)
17731 ("emacs-s" ,emacs-s)
17732 ("emacs-popup" ,emacs-popup)
17733 ("emacs-list-utils" ,emacs-list-utils)
17734 ("emacs-iedit" ,emacs-iedit)))
17735 (home-page "https://github.com/Wilfred/emacs-refactor/")
17736 (synopsis "Language-specific refactoring in Emacs")
17737 (description "Emacs Refactor (EMR) is a framework for providing
17738 language-specific refactoring in Emacs. It includes refactoring commands for
17739 a variety of languages, including elisp itself.")
17740 (license license:gpl3+)))
17741
17742 (define-public emacs-flyspell-correct
17743 (package
17744 (name "emacs-flyspell-correct")
17745 (version "0.5")
17746 (source
17747 (origin
17748 (method git-fetch)
17749 (uri (git-reference
17750 (url "https://github.com/d12frosted/flyspell-correct.git")
17751 (commit (string-append "v" version))))
17752 (file-name (git-file-name name version))
17753 (sha256
17754 (base32
17755 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
17756 (build-system emacs-build-system)
17757 (propagated-inputs
17758 `(("emacs-helm" ,emacs-helm)
17759 ("emacs-ivy" ,emacs-ivy)
17760 ("emacs-popup" ,emacs-popup)))
17761 (home-page
17762 "https://github.com/d12frosted/flyspell-correct")
17763 (synopsis
17764 "Correcting words with flyspell via custom interfaces")
17765 (description
17766 "This package provides functionality for correcting words via custom
17767 interfaces. Several interfaces are supported beside the classic ido: popup,
17768 helm and ivy.")
17769 (license license:gpl3+)))
17770
17771 (define-public emacs-org-emms
17772 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
17773 (revision "1"))
17774 (package
17775 (name "emacs-org-emms")
17776 (version
17777 (git-version "0.1" revision commit))
17778 (source
17779 (origin
17780 (method git-fetch)
17781 (uri (git-reference
17782 (url "https://gitlab.com/jagrg/org-emms.git")
17783 (commit commit)))
17784 (file-name (git-file-name name commit))
17785 (sha256
17786 (base32
17787 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
17788 (build-system emacs-build-system)
17789 (propagated-inputs
17790 `(("emms" ,emacs-emms)
17791 ("emacs-org" ,emacs-org)))
17792 (home-page "https://gitlab.com/jagrg/org-emms")
17793 (synopsis "Play multimedia files from org-mode")
17794 (description
17795 "This package provides a new org link type for playing back multimedia
17796 files from org-mode using EMMS, The Emacs Multimedia System. If the link
17797 contains a track position, playback will start at the specified position.")
17798 (license license:gpl3+))))
17799
17800 (define-public emacs-org-jira
17801 (package
17802 (name "emacs-org-jira")
17803 (version "4.3.1")
17804 (source
17805 (origin
17806 (method git-fetch)
17807 (uri (git-reference
17808 (url "https://github.com/ahungry/org-jira.git")
17809 (commit version)))
17810 (file-name (git-file-name name version))
17811 (sha256
17812 (base32
17813 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
17814 (build-system emacs-build-system)
17815 (propagated-inputs
17816 `(("emacs-request" ,emacs-request)
17817 ("emacs-s" ,emacs-s)
17818 ("emacs-dash" ,emacs-dash)
17819 ("emacs-org" ,emacs-org)))
17820 (home-page "https://github.com/ahungry/org-jira")
17821 (synopsis "Syncing between Jira and Org-mode")
17822 (description
17823 "This package provides an extension to org-mode for syncing issues with
17824 JIRA issue servers.")
17825 (license license:gpl3+)))
17826
17827 (define-public emacs-systemd-mode
17828 (package
17829 (name "emacs-systemd-mode")
17830 (version "1.6")
17831 (source (origin
17832 (method git-fetch)
17833 (uri (git-reference
17834 (url "https://github.com/holomorph/systemd-mode.git")
17835 (commit (string-append "v" version))))
17836 (file-name (git-file-name name version))
17837 (sha256
17838 (base32
17839 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
17840 (build-system emacs-build-system)
17841 (arguments '(#:include '("\\.el$" "\\.txt$")))
17842 (home-page "https://github.com/holomorph/systemd-mode")
17843 (synopsis
17844 "Major mode for editing systemd units")
17845 (description
17846 "Major mode for editing systemd units in GNU Emacs.")
17847 (license license:gpl3+)))
17848
17849 (define-public emacs-ssh-config-mode
17850 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
17851 (revision "1"))
17852 (package
17853 (name "emacs-ssh-config-mode")
17854 (version (git-version "8.0" revision commit))
17855 (source
17856 (origin
17857 (method git-fetch)
17858 (uri
17859 (git-reference
17860 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
17861 (commit commit)))
17862 (file-name (git-file-name name commit))
17863 (sha256
17864 (base32
17865 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
17866 (build-system emacs-build-system)
17867 (arguments '(#:include '("\\.el$" "\\.txt$")))
17868 (home-page
17869 "https://github.com/jhgorrell/ssh-config-mode-el")
17870 (synopsis
17871 "Mode for fontification of ~/.ssh/config")
17872 (description
17873 "This packages fontifies the ssh config keywords and creates
17874 keybindings for skipping from host section to host section.")
17875 (license license:gpl3+))))