gnu: emacs-mbsync: Update to 0.1.2-2.f549ecc.
[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)
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-helm-make
6345 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
6346 (revision "1"))
6347 (package
6348 (name "emacs-helm-make")
6349 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
6350 (source
6351 (origin
6352 (method git-fetch)
6353 (uri (git-reference
6354 (url "https://github.com/abo-abo/helm-make.git")
6355 (commit commit)))
6356 (file-name (git-file-name name version))
6357 (sha256
6358 (base32
6359 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
6360 (build-system emacs-build-system)
6361 (propagated-inputs
6362 `(("emacs-helm" ,emacs-helm)
6363 ("emacs-projectile" ,emacs-projectile)))
6364 (home-page "https://github.com/abo-abo/helm-make")
6365 (synopsis "Select a Makefile target with helm")
6366 (description "@code{helm-make} or @code{helm-make-projectile} will give
6367 you a @code{helm} selection of directory Makefile's targets. Selecting a
6368 target will call @code{compile} on it.")
6369 (license license:gpl3+))))
6370
6371 (define-public emacs-cider
6372 (package
6373 (name "emacs-cider")
6374 (version "0.21.0")
6375 (source
6376 (origin
6377 (method git-fetch)
6378 (uri (git-reference
6379 (url "https://github.com/clojure-emacs/cider.git")
6380 (commit (string-append "v" version))))
6381 (file-name (git-file-name name version))
6382 (sha256
6383 (base32
6384 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
6385 (build-system emacs-build-system)
6386 (arguments
6387 '(#:exclude ; Don't exclude 'cider-test.el'.
6388 '("^\\.dir-locals\\.el$" "^test/")))
6389 (propagated-inputs
6390 `(("emacs-clojure-mode" ,emacs-clojure-mode)
6391 ("emacs-sesman" ,emacs-sesman)
6392 ("emacs-spinner" ,emacs-spinner)
6393 ("emacs-pkg-info" ,emacs-pkg-info)
6394 ("emacs-queue" ,emacs-queue)))
6395 (home-page "https://cider.readthedocs.io/")
6396 (synopsis "Clojure development environment for Emacs")
6397 (description
6398 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
6399 provide an interactive development experience similar to the one you'd get
6400 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
6401 Geiser) and Smalltalk.
6402
6403 CIDER is the successor to the now deprecated combination of using SLIME +
6404 swank-clojure for Clojure development.
6405
6406 There are plenty of differences between CIDER and SLIME, but the core ideas
6407 are pretty much the same (and SLIME served as the principle inspiration for
6408 CIDER).")
6409 (license license:gpl3+)))
6410
6411 ;; There hasn't been a tag or release since 2015, so we take the latest
6412 ;; commit.
6413 (define-public emacs-sly
6414 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
6415 (revision "1"))
6416 (package
6417 (name "emacs-sly")
6418 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
6419 (source
6420 (origin
6421 (method git-fetch)
6422 (uri (git-reference
6423 (url "https://github.com/joaotavora/sly.git")
6424 (commit commit)))
6425 (file-name (git-file-name name version))
6426 (sha256
6427 (base32
6428 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
6429 (build-system emacs-build-system)
6430 (arguments
6431 `(#:include (cons "^lib\\/" %default-include)
6432 #:phases
6433 ;; The package provides autoloads.
6434 (modify-phases %standard-phases
6435 (delete 'make-autoloads))))
6436 (home-page "https://github.com/joaotavora/sly")
6437 (synopsis "Sylvester the Cat's Common Lisp IDE")
6438 (description
6439 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
6440 contains the following improvements over it:
6441
6442 @enumerate
6443 @item Completely redesigned REPL based on Emacs's own full-featured
6444 @code{comint.el}
6445 @item Live code annotations via a new @code{sly-stickers} contrib
6446 @item Consistent interactive button interface. Everything can be copied to
6447 the REPL.
6448 @item Multiple inspectors with independent history
6449 @item Regexp-capable @code{M-x sly-apropos}
6450 @item Contribs are first class SLY citizens and enabled by default
6451 @item Use ASDF to loads contribs on demand.
6452 @end enumerate
6453
6454 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
6455 xref, etc...) are still available, but with better integration.")
6456 (license license:gpl3+))))
6457
6458 (define-public emacs-lua-mode
6459 (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
6460 (revision "2"))
6461 (package
6462 (name "emacs-lua-mode")
6463 (version (git-version "20151025" revision commit))
6464 (home-page "https://github.com/immerrr/lua-mode/")
6465 (source (origin
6466 (method git-fetch)
6467 (uri (git-reference
6468 (url home-page)
6469 (commit commit)))
6470 (file-name (git-file-name name version))
6471 (sha256
6472 (base32
6473 "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
6474 (build-system emacs-build-system)
6475 (synopsis "Major mode for lua")
6476 (description
6477 "This Emacs package provides a mode for @uref{https://www.lua.org/,
6478 Lua programming language}.")
6479 (license license:gpl2+))))
6480
6481 (define-public emacs-ebuild-mode
6482 (package
6483 (name "emacs-ebuild-mode")
6484 (version "1.37")
6485 (source (origin
6486 (method url-fetch)
6487 (uri (string-append
6488 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
6489 "-" version ".tar.xz"))
6490 (file-name (string-append name "-" version ".tar.xz"))
6491 (sha256
6492 (base32
6493 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
6494 (build-system emacs-build-system)
6495 (home-page "https://devmanual.gentoo.org")
6496 (synopsis "Major modes for Gentoo package files")
6497 (description
6498 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
6499 news items, openrc and runscripts.")
6500 (license license:gpl2+)))
6501
6502 (define-public emacs-evil
6503 (package
6504 (name "emacs-evil")
6505 (version "1.2.14")
6506 (source
6507 (origin
6508 (method git-fetch)
6509 (uri (git-reference
6510 (url "https://github.com/emacs-evil/evil")
6511 (commit version)))
6512 (file-name (git-file-name name version))
6513 (sha256
6514 (base32
6515 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
6516 (build-system emacs-build-system)
6517 (propagated-inputs
6518 `(("emacs-undo-tree" ,emacs-undo-tree)
6519 ("emacs-goto-chg" ,emacs-goto-chg)))
6520 (home-page "https://github.com/emacs-evil/evil")
6521 (synopsis "Extensible Vi layer for Emacs")
6522 (description
6523 "Evil is an extensible vi layer for Emacs. It emulates the
6524 main features of Vim, and provides facilities for writing custom
6525 extensions.")
6526 (license license:gpl3+)))
6527
6528 (define-public emacs-evil-collection
6529 (let ((commit "0748c695dfa89b79eb316da5060360de8c0f04da")
6530 (revision "9"))
6531 (package
6532 (name "emacs-evil-collection")
6533 (version (git-version "0.0.1" revision commit))
6534 (source (origin
6535 (method git-fetch)
6536 (uri (git-reference
6537 (url "https://github.com/emacs-evil/evil-collection")
6538 (commit commit)))
6539 (file-name (git-file-name name version))
6540 (sha256
6541 (base32
6542 "17w8nh3q7ffc7776f3qzixk0c0g6vys3xybgw16ky1f416585kvb"))))
6543 (build-system emacs-build-system)
6544 (propagated-inputs
6545 `(("emacs-evil" ,emacs-evil)))
6546 (home-page "https://github.com/emacs-evil/evil-collection")
6547 (synopsis "Collection of Evil bindings for many major and minor modes")
6548 (description "This is a collection of Evil bindings for the parts of
6549 Emacs that Evil does not cover properly by default, such as @code{help-mode},
6550 @code{M-x calendar}, Eshell and more.")
6551 (license license:gpl3+))))
6552
6553 (define-public emacs-goto-chg
6554 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
6555 (version "1.7.3")
6556 (revision "1"))
6557 (package
6558 (name "emacs-goto-chg")
6559 (version (git-version version revision commit))
6560 (source
6561 (origin
6562 (method git-fetch)
6563 (uri (git-reference
6564 (url "https://github.com/emacs-evil/goto-chg")
6565 (commit commit)))
6566 (file-name (git-file-name name version))
6567 (sha256
6568 (base32
6569 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
6570 (build-system emacs-build-system)
6571 (propagated-inputs
6572 `(("emacs-undo-tree" ,emacs-undo-tree)))
6573 (home-page "https://github.com/emacs-evil/goto-chg")
6574 (synopsis "Go to the last change in the Emacs buffer")
6575 (description
6576 "This package provides @code{M-x goto-last-change} command that goes to
6577 the point of the most recent edit in the current Emacs buffer. When repeated,
6578 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
6579 used for reverse direction.")
6580 (license license:gpl2+))))
6581
6582 (define-public emacs-janpath-evil-numbers
6583 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
6584 (version "0.5")
6585 (revision "1"))
6586 (package
6587 (name "emacs-janpath-evil-numbers")
6588 (version (git-version version revision commit))
6589 (source
6590 (origin
6591 (method git-fetch)
6592 (uri (git-reference
6593 (url "https://github.com/janpath/evil-numbers")
6594 (commit commit)))
6595 (file-name (git-file-name name version))
6596 (sha256
6597 (base32
6598 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
6599 (build-system emacs-build-system)
6600 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6601 (home-page "https://github.com/janpath/evil-numbers")
6602 (synopsis "Increment and decrement numeric literals")
6603 (description
6604 "This package provides functionality to search for a number up to the
6605 end of a line and increment or decrement it.")
6606 (license license:gpl3+))))
6607
6608 (define-public emacs-evil-owl
6609 (let ((commit "e8fe5b2f745e36db04cb71eb689bf91c5409614f")
6610 (revision "2"))
6611 (package
6612 (name "emacs-evil-owl")
6613 (version (git-version "0.0.1" revision commit))
6614 (source
6615 (origin
6616 (method git-fetch)
6617 (uri (git-reference
6618 (url "https://github.com/mamapanda/evil-owl")
6619 (commit commit)))
6620 (file-name (git-file-name name version))
6621 (sha256
6622 (base32
6623 "1g7kplna62f271135mnjdbvxk2ayx7m4gvd6l86d2394alx16nhq"))))
6624 (build-system emacs-build-system)
6625 (propagated-inputs
6626 `(("emacs-evil" ,emacs-evil)))
6627 (home-page "https://github.com/mamapanda/evil-owl")
6628 (synopsis "Preview candidates when using Evil registers and marks")
6629 (description
6630 "This package supplements Evil's register- and mark-based commands with
6631 a popup window for previewing candidates.")
6632 (license license:gpl3+))))
6633
6634 (define-public emacs-evil-exchange
6635 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
6636 (version "0.41")
6637 (revision "1"))
6638 (package
6639 (name "emacs-evil-exchange")
6640 (version (git-version version revision commit))
6641 (source
6642 (origin
6643 (method git-fetch)
6644 (uri (git-reference
6645 (url "https://github.com/Dewdrops/evil-exchange")
6646 (commit commit)))
6647 (file-name (git-file-name name version))
6648 (sha256
6649 (base32
6650 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
6651 (build-system emacs-build-system)
6652 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6653 (home-page "https://github.com/Dewdrops/evil-exchange")
6654 (synopsis "Exchange text easily within Evil")
6655 (description
6656 "This package, a port of @code{vim-exchange}, provides an Evil operator
6657 for exchanging text.")
6658 (license license:gpl3+))))
6659
6660 (define-public emacs-evil-replace-with-register
6661 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
6662 (version "0.1")
6663 (revision "1"))
6664 (package
6665 (name "emacs-evil-replace-with-register")
6666 (version (git-version version revision commit))
6667 (source
6668 (origin
6669 (method git-fetch)
6670 (uri (git-reference
6671 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6672 (commit commit)))
6673 (file-name (git-file-name name version))
6674 (sha256
6675 (base32
6676 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
6677 (build-system emacs-build-system)
6678 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6679 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6680 (synopsis "Quickly replace text with the contents of a register")
6681 (description
6682 "This package provides an Evil operator for replacing text with the
6683 contents of a register.")
6684 (license license:gpl3+))))
6685
6686 (define-public emacs-evil-indent-plus
6687 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
6688 (version "1.0.0")
6689 (revision "1"))
6690 (package
6691 (name "emacs-evil-indent-plus")
6692 (version (git-version version revision commit))
6693 (source
6694 (origin
6695 (method git-fetch)
6696 (uri (git-reference
6697 (url "https://github.com/TheBB/evil-indent-plus")
6698 (commit commit)))
6699 (file-name (git-file-name name version))
6700 (sha256
6701 (base32
6702 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
6703 (build-system emacs-build-system)
6704 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6705 (home-page "https://github.com/TheBB/evil-indent-plus")
6706 (synopsis "Text objects based on indentation")
6707 (description
6708 "This package adds new text objects for @code{evil-mode} based on
6709 blocks having the same or higher indentation, including or excluding
6710 surrounding lines.")
6711 (license license:gpl2+))))
6712
6713 (define-public emacs-evil-text-object-python
6714 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
6715 (version "1.0.1")
6716 (revision "1"))
6717 (package
6718 (name "emacs-evil-text-object-python")
6719 (version (git-version version revision commit))
6720 (source
6721 (origin
6722 (method git-fetch)
6723 (uri (git-reference
6724 (url "https://github.com/wbolster/evil-text-object-python")
6725 (commit commit)))
6726 (file-name (git-file-name name version))
6727 (sha256
6728 (base32
6729 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
6730 (build-system emacs-build-system)
6731 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6732 (home-page "https://github.com/wbolster/evil-text-object-python")
6733 (synopsis "Text objects for Python")
6734 (description
6735 "This package provides @code{evil-mode} text objects for Python.")
6736 (license license:gpl3+))))
6737
6738 (define-public emacs-evil-lion
6739 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
6740 (version "0.0.2")
6741 (revision "1"))
6742 (package
6743 (name "emacs-evil-lion")
6744 (version (git-version version revision commit))
6745 (source
6746 (origin
6747 (method git-fetch)
6748 (uri (git-reference
6749 (url "https://github.com/edkolev/evil-lion")
6750 (commit commit)))
6751 (file-name (git-file-name name version))
6752 (sha256
6753 (base32
6754 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
6755 (build-system emacs-build-system)
6756 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6757 (home-page "https://github.com/edkolev/evil-lion")
6758 (synopsis "Align operator for @code{evil-mode}")
6759 (description
6760 "This package, a port of @code{vim-lion}, provides an operator for
6761 aligning text objects based on separators.")
6762 (license license:gpl3+))))
6763
6764 (define-public emacs-evil-expat
6765 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
6766 (revision "1"))
6767 (package
6768 (name "emacs-evil-expat")
6769 (version (git-version "0.0.1" revision commit))
6770 (source
6771 (origin
6772 (method git-fetch)
6773 (uri (git-reference
6774 (url "https://github.com/edkolev/evil-expat")
6775 (commit commit)))
6776 (file-name (git-file-name name version))
6777 (sha256
6778 (base32
6779 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
6780 (build-system emacs-build-system)
6781 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6782 (home-page "https://github.com/edkolev/evil-expat")
6783 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
6784 (description
6785 "This package provides additional commands for the @code{ex} command
6786 line, including functions for version control with Git and for copying and
6787 pasting into and from @code{tmux} paste buffers.")
6788 (license license:gpl3+))))
6789
6790 (define-public emacs-evil-nerd-commenter
6791 (package
6792 (name "emacs-evil-nerd-commenter")
6793 (version "3.3.7")
6794 (source
6795 (origin
6796 (method git-fetch)
6797 (uri (git-reference
6798 (url "https://github.com/redguardtoo/evil-nerd-commenter")
6799 (commit version)))
6800 (file-name (git-file-name name version))
6801 (sha256
6802 (base32
6803 "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7"))))
6804 (build-system emacs-build-system)
6805 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6806 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
6807 (synopsis "Comment and uncomment lines efficiently")
6808 (description
6809 "This package provides text objects and operators for comments within
6810 @code{evil-mode}.")
6811 (license license:gpl3+)))
6812
6813 (define-public emacs-evil-visual-replace
6814 (package
6815 (name "emacs-evil-visual-replace")
6816 (version "0.0.5")
6817 (source
6818 (origin
6819 (method git-fetch)
6820 (uri (git-reference
6821 (url "https://github.com/troyp/evil-visual-replace")
6822 (commit version)))
6823 (file-name (git-file-name name version))
6824 (sha256
6825 (base32
6826 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
6827 (build-system emacs-build-system)
6828 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6829 (home-page "https://github.com/troyp/evil-visual-replace")
6830 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
6831 (description
6832 "This package provides versions of @code{query-replace} and
6833 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
6834 (license license:gpl2+)))
6835
6836 (define-public emacs-evil-visualstar
6837 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
6838 (version "0.0.2")
6839 (revision "1"))
6840 (package
6841 (name "emacs-evil-visualstar")
6842 (version (git-version version revision commit))
6843 (source
6844 (origin
6845 (method git-fetch)
6846 (uri (git-reference
6847 (url "https://github.com/bling/evil-visualstar")
6848 (commit commit)))
6849 (file-name (git-file-name name version))
6850 (sha256
6851 (base32
6852 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
6853 (build-system emacs-build-system)
6854 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6855 (home-page "https://github.com/bling/evil-visualstar")
6856 (synopsis "Instantly search using the visual selection")
6857 (description
6858 "This package provides @code{evil-mode} functions for using selected text
6859 to search.")
6860 (license license:gpl3+))))
6861
6862 (define-public emacs-monroe
6863 (package
6864 (name "emacs-monroe")
6865 (version "0.3.1")
6866 (source
6867 (origin
6868 (method git-fetch)
6869 (uri (git-reference
6870 (url "https://github.com/sanel/monroe.git")
6871 (commit version)))
6872 (file-name (git-file-name name version))
6873 (sha256
6874 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
6875 (build-system emacs-build-system)
6876 (home-page "https://github.com/sanel/monroe")
6877 (synopsis "Clojure nREPL client for Emacs")
6878 (description
6879 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
6880 distribution, primarily targeting Clojure users")
6881 (license license:gpl3+)))
6882
6883 (define-public emacs-orgalist
6884 (package
6885 (name "emacs-orgalist")
6886 (version "1.9")
6887 (source
6888 (origin
6889 (method url-fetch)
6890 (uri (string-append "https://elpa.gnu.org/packages/"
6891 "orgalist-" version ".el"))
6892 (sha256
6893 (base32
6894 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
6895 (build-system emacs-build-system)
6896 (home-page "http://elpa.gnu.org/packages/orgalist.html")
6897 (synopsis "Manage Org-like lists in non-Org buffers")
6898 (description "Write Org mode's plain lists in non-Org buffers. More
6899 specifically, Orgalist supports the syntax of Org mode for numbered,
6900 unnumbered, description items, checkboxes, and counter cookies.
6901
6902 The library also implements radio lists, i.e., lists written in Org
6903 syntax later translated into the host format, e.g., LaTeX or HTML.")
6904 (license license:gpl3+)))
6905
6906 (define-public emacs-writegood-mode
6907 (package
6908 (name "emacs-writegood-mode")
6909 (version "2.0.2")
6910 (home-page "https://github.com/bnbeckwith/writegood-mode")
6911 (source (origin
6912 (method git-fetch)
6913 (uri (git-reference
6914 (url home-page)
6915 (commit (string-append "v" version))))
6916 (sha256
6917 (base32
6918 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
6919 (file-name (string-append name "-checkout"))))
6920 (build-system emacs-build-system)
6921 (synopsis "Polish up poor writing on the fly")
6922 (description
6923 "This minor mode tries to find and highlight problems with your writing
6924 in English as you type. It primarily detects \"weasel words\" and abuse of
6925 passive voice.")
6926 (license license:gpl3+)))
6927
6928 (define-public emacs-neotree
6929 (package
6930 (name "emacs-neotree")
6931 (version "0.5.2")
6932 (home-page "https://github.com/jaypei/emacs-neotree")
6933 (source (origin
6934 (method url-fetch)
6935 (uri (string-append
6936 "https://github.com/jaypei/" name
6937 "/archive/" version ".tar.gz"))
6938 (sha256
6939 (base32
6940 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
6941 (file-name (string-append name "-" version ".tar.gz"))))
6942 (build-system emacs-build-system)
6943 (synopsis "Folder tree view for Emacs")
6944 (description "This Emacs package provides a folder tree view.")
6945 (license license:gpl3+)))
6946
6947 (define-public emacs-org
6948 (package
6949 (name "emacs-org")
6950 ;; emacs-org-contrib inherits from this package. Please update its sha256
6951 ;; checksum as well.
6952 (version "9.2.5")
6953 (source (origin
6954 (method url-fetch)
6955 (uri (string-append "https://elpa.gnu.org/packages/org-"
6956 version ".tar"))
6957 (sha256
6958 (base32
6959 "1pid1sykgz83i4ry5n8f270finag6sm7ckqxn5lkikyya43wlzx1"))))
6960 (build-system emacs-build-system)
6961 (home-page "https://orgmode.org/")
6962 (synopsis "Outline-based notes management and organizer")
6963 (description "Org is an Emacs mode for keeping notes, maintaining TODO
6964 lists, and project planning with a fast and effective lightweight markup
6965 language. It also is an authoring system with unique support for literate
6966 programming and reproducible research.")
6967 (license license:gpl3+)))
6968
6969 (define-public emacs-org-contrib
6970 (package
6971 (inherit emacs-org)
6972 (name "emacs-org-contrib")
6973 (version "20190805")
6974 (source (origin
6975 (method url-fetch)
6976 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
6977 version ".tar"))
6978 (sha256
6979 (base32
6980 "1mw91hwbqyjq5pyz9hzdhvjlc2bphqpi23yqd3sdk1crpc87s40c"))))
6981 (arguments
6982 `(#:modules ((guix build emacs-build-system)
6983 (guix build utils)
6984 (guix build emacs-utils)
6985 (ice-9 ftw)
6986 (srfi srfi-1))
6987 #:phases
6988 (modify-phases %standard-phases
6989 (add-after 'install 'delete-org-files
6990 (lambda* (#:key inputs outputs #:allow-other-keys)
6991 (let* ((out (assoc-ref outputs "out"))
6992 (org (assoc-ref inputs "org"))
6993 (contrib-files
6994 (map basename (find-files out)))
6995 (org+contrib-files
6996 (map basename (find-files org)))
6997 (duplicates (lset-intersection
6998 string=? contrib-files org+contrib-files)))
6999 (with-directory-excursion
7000 (string-append
7001 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
7002 (for-each delete-file duplicates))
7003 #t))))))
7004 (propagated-inputs
7005 `(("arduino-mode" ,emacs-arduino-mode)
7006 ("cider" ,emacs-cider)
7007 ("org" ,emacs-org)
7008 ("scel" ,emacs-scel)))
7009 (synopsis "Contributed packages to Org mode")
7010 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7011 lists, and project planning with a fast and effective plain-text system.
7012
7013 This package is equivalent to org-plus-contrib, but only includes additional
7014 files that you would find in @file{contrib/} from the git repository.")))
7015
7016 (define-public emacs-flx
7017 (package
7018 (name "emacs-flx")
7019 (version "0.6.1")
7020 (source
7021 (origin
7022 (method url-fetch)
7023 (uri (string-append "https://github.com/lewang/"
7024 "flx/archive/v" version ".tar.gz"))
7025 (sha256
7026 (base32
7027 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
7028 (file-name (string-append name "-" version ".tar.gz"))))
7029 (build-system emacs-build-system)
7030 (home-page "https://github.com/lewang/flx")
7031 (synopsis "Fuzzy matching for Emacs")
7032 (description
7033 "Flx provides fuzzy matching for emacs a la sublime text.
7034 The sorting algorithm is a balance between word beginnings (abbreviation)
7035 and contiguous matches (substring). The longer the substring match,
7036 the higher it scores. This maps well to how we think about matching.
7037 Flx has support for ido (interactively do things) through flx-ido.")
7038 (license license:gpl3+)))
7039
7040 (define-public emacs-cyberpunk-theme
7041 (package
7042 (name "emacs-cyberpunk-theme")
7043 (version "1.19")
7044 (source
7045 (origin
7046 (method url-fetch)
7047 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
7048 "archive/" version ".tar.gz"))
7049 (sha256
7050 (base32
7051 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
7052 (file-name (string-append name "-" version ".tar.gz"))))
7053 (build-system emacs-build-system)
7054 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
7055 (synopsis "Cyberpunk theme for emacs built-in color theme support")
7056 (description
7057 "Cyberpunk color theme for the emacs 24+ built-in color theme support
7058 known loosely as deftheme. Many mode-specific customizations are included.")
7059 (license license:gpl3+)))
7060
7061 (define-public emacs-danneskjold-theme
7062 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
7063 (revision "1"))
7064 (package
7065 (name "emacs-danneskjold-theme")
7066 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
7067 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
7068 (source
7069 (origin
7070 (method git-fetch)
7071 (uri (git-reference
7072 (url home-page)
7073 (commit commit)))
7074 (file-name (git-file-name name version))
7075 (sha256
7076 (base32
7077 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
7078 (build-system emacs-build-system)
7079 (arguments
7080 `(#:phases
7081 (modify-phases %standard-phases
7082 (add-after 'unpack 'delete-screenshots
7083 (lambda _
7084 (delete-file-recursively "screenshots") #t)))))
7085 (synopsis "High-contrast Emacs theme")
7086 (description
7087 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
7088 (license license:gpl3+))))
7089
7090 (define-public emacs-dream-theme
7091 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
7092 (revision "1"))
7093 (package
7094 (name "emacs-dream-theme")
7095 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
7096 (source
7097 (origin
7098 (method git-fetch)
7099 (uri (git-reference
7100 (url "https://github.com/djcb/dream-theme")
7101 (commit commit)))
7102 (file-name (git-file-name name version))
7103 (sha256
7104 (base32
7105 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
7106 (build-system emacs-build-system)
7107 (home-page "https://github.com/djcb/dream-theme")
7108 (synopsis "High-contrast Emacs theme")
7109 (description
7110 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
7111 by zenburn, sinburn and similar themes, but slowly diverging from them.")
7112 (license license:gpl3+))))
7113
7114 (define-public emacs-auto-complete
7115 (package
7116 (name "emacs-auto-complete")
7117 (version "1.5.1")
7118 (source
7119 (origin
7120 (method url-fetch)
7121 (uri (string-append "https://github.com/auto-complete/"
7122 "auto-complete/archive/v" version ".tar.gz"))
7123 (sha256
7124 (base32
7125 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
7126 (file-name (string-append name "-" version ".tar.gz"))))
7127 (build-system emacs-build-system)
7128 (propagated-inputs
7129 `(("emacs-popup" ,emacs-popup)))
7130 (home-page "https://github.com/auto-complete/auto-complete")
7131 (synopsis "Intelligent auto-completion extension for Emacs")
7132 (description
7133 "Auto-Complete is an intelligent auto-completion extension for Emacs.
7134 It extends the standard Emacs completion interface and provides an environment
7135 that allows users to concentrate more on their own work. Its features are:
7136 a visual interface, reduce overhead of completion by using statistic method,
7137 extensibility.")
7138 (license license:gpl3+)))
7139
7140 (define-public emacs-nginx-mode
7141 (package
7142 (name "emacs-nginx-mode")
7143 (version "1.1.9")
7144 (source
7145 (origin
7146 (method git-fetch)
7147 (uri (git-reference
7148 (url "https://github.com/ajc/nginx-mode.git")
7149 (commit (string-append "v" version))))
7150 (file-name (git-file-name name version))
7151 (sha256
7152 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
7153 (build-system emacs-build-system)
7154 (home-page "https://github.com/ajc/nginx-mode")
7155 (synopsis "Emacs major mode for editing nginx config files")
7156 (description "This package provides an Emacs major mode for
7157 editing nginx config files.")
7158 (license license:gpl2+)))
7159
7160 (define-public emacs-stream
7161 (package
7162 (name "emacs-stream")
7163 (version "2.2.0")
7164 (home-page "https://github.com/NicolasPetton/stream")
7165 (source
7166 (origin
7167 (method url-fetch)
7168 (file-name (string-append name "-" version ".tar.gz"))
7169 (uri (string-append home-page "/archive/"version ".tar.gz"))
7170 (sha256
7171 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
7172 (build-system emacs-build-system)
7173 (synopsis "Implementation of streams for Emacs")
7174 (description "This library provides an implementation of streams for Emacs.
7175 Streams are implemented as delayed evaluation of cons cells.")
7176 (license license:gpl3+)))
7177
7178 (define-public emacs-el-search
7179 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
7180 (revision "1"))
7181 (package
7182 (name "emacs-el-search")
7183 ;; No ufficial release.
7184 (version (string-append "0.0-" revision "." (string-take commit 7)))
7185 (home-page "https://github.com/emacsmirror/el-search")
7186 (source
7187 (origin
7188 (method git-fetch)
7189 (file-name (string-append name "-" version ".tar.gz"))
7190 (uri (git-reference
7191 (commit commit)
7192 (url (string-append home-page ".git"))))
7193 (sha256
7194 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
7195 (build-system emacs-build-system)
7196 (inputs `(("emacs-stream" ,emacs-stream)))
7197 (synopsis "Expression based interactive search for emacs-lisp-mode")
7198 (description "This package provides expression based interactive search
7199 procedures for emacs-lisp-mode.")
7200 (license license:gpl3+))))
7201
7202 (define-public emacs-ht
7203 (package
7204 (name "emacs-ht")
7205 (version "2.2")
7206 (source
7207 (origin
7208 (method git-fetch)
7209 (uri (git-reference
7210 (url "https://github.com/Wilfred/ht.el.git")
7211 (commit version)))
7212 (file-name (git-file-name name version))
7213 (sha256
7214 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
7215 (build-system emacs-build-system)
7216 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
7217 (home-page "https://github.com/Wilfred/ht.el")
7218 (synopsis "Hash table library for Emacs")
7219 (description
7220 "This package simplifies the use of hash tables in elisp. It also
7221 provides functions to convert hash tables from and to alists and plists.")
7222 (license license:gpl3+)))
7223
7224 (define-public emacs-log4e
7225 (package
7226 (name "emacs-log4e")
7227 (version "0.3.0")
7228 (source
7229 (origin
7230 (method git-fetch)
7231 (uri (git-reference
7232 (url "https://github.com/aki2o/log4e.git")
7233 (commit (string-append "v" version))))
7234 (file-name (git-file-name name version))
7235 (sha256
7236 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
7237 (build-system emacs-build-system)
7238 (arguments
7239 `(#:phases
7240 (modify-phases %standard-phases
7241 (add-after 'unpack 'remove-tests
7242 ;; Guile builder complains about null characters in some
7243 ;; strings of test files. Remove "test" directory (it is not
7244 ;; needed anyway).
7245 (lambda _
7246 (delete-file-recursively "test"))))))
7247 (home-page "https://github.com/aki2o/log4e")
7248 (synopsis "Logging framework for elisp")
7249 (description
7250 "This package provides a logging framework for elisp. It allows
7251 you to deal with multiple log levels.")
7252 (license license:gpl3+)))
7253
7254 (define-public emacs-gntp
7255 (package
7256 (name "emacs-gntp")
7257 (version "0.1")
7258 (source
7259 (origin
7260 (method git-fetch)
7261 (uri (git-reference
7262 (url "https://github.com/tekai/gntp.el.git")
7263 (commit (string-append "v" version))))
7264 (file-name (git-file-name name version))
7265 (sha256
7266 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
7267 (build-system emacs-build-system)
7268 (home-page "https://github.com/tekai/gntp.el")
7269 (synopsis "Growl Notification Protocol for Emacs")
7270 (description
7271 "This package implements the Growl Notification Protocol GNTP
7272 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
7273 It is incomplete as it only lets you send but not receive
7274 notifications.")
7275 (license license:bsd-3)))
7276
7277 (define-public emacs-alert
7278 (package
7279 (name "emacs-alert")
7280 (version "1.3")
7281 (source
7282 (origin
7283 (method git-fetch)
7284 (uri (git-reference
7285 (url "https://github.com/jwiegley/alert.git")
7286 (commit (string-append "v" version))))
7287 (file-name (git-file-name name version))
7288 (sha256
7289 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
7290 (build-system emacs-build-system)
7291 (propagated-inputs
7292 `(("emacs-gntp" ,emacs-gntp)
7293 ("emacs-log4e" ,emacs-log4e)))
7294 (home-page "https://github.com/jwiegley/alert")
7295 (synopsis "Growl-style notification system for Emacs")
7296 (description
7297 "Alert is a Growl-workalike for Emacs which uses a common notification
7298 interface and multiple, selectable \"styles\", whose use is fully
7299 customizable by the user.")
7300 (license license:gpl2+)))
7301
7302 (define-public emacs-zones
7303 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
7304 (revision "2"))
7305 (package
7306 (name "emacs-zones")
7307 (version (git-version "0" revision commit))
7308 (source
7309 (origin
7310 (method git-fetch)
7311 (uri (git-reference
7312 (url "https://github.com/emacsmirror/zones.git")
7313 (commit commit)))
7314 (file-name (git-file-name name version))
7315 (sha256
7316 (base32
7317 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
7318 (patches
7319 (search-patches
7320 "emacs-zones-called-interactively.patch"))))
7321 (build-system emacs-build-system)
7322 (home-page "https://www.emacswiki.org/emacs/Zones")
7323 (synopsis "Define and act on multiple zones of buffer text")
7324 (description "Library @file{zones.el} lets you easily define and
7325 subsequently act on multiple zones of buffer text. You can think of this as
7326 enlarging the notion of region. In effect, it can remove the requirement of
7327 target text being a contiguous sequence of characters. A set of buffer zones
7328 is, in effect, a (typically) noncontiguous set of text.")
7329 (license license:gpl3+))))
7330
7331 (define-public emacs-mu4e-alert
7332 (package
7333 (name "emacs-mu4e-alert")
7334 (version "1.0")
7335 (source
7336 (origin
7337 (method git-fetch)
7338 (uri (git-reference
7339 (url "https://github.com/iqbalansari/mu4e-alert.git")
7340 (commit (string-append "v" version))))
7341 (file-name (git-file-name name version))
7342 (sha256
7343 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
7344 (build-system emacs-build-system)
7345 (propagated-inputs
7346 `(("emacs-alert" ,emacs-alert)
7347 ("emacs-s" ,emacs-s)
7348 ("emacs-ht" ,emacs-ht)
7349 ("mu" ,mu)))
7350 (home-page "https://github.com/iqbalansari/mu4e-alert")
7351 (synopsis "Desktop notification for mu4e")
7352 (description
7353 "This package provides desktop notifications for mu4e.
7354 Additionally it can display the number of unread emails in the
7355 mode-line.")
7356 (license license:gpl3+)))
7357
7358 (define-public emacs-mu4e-jump-to-list
7359 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
7360 (revision "1"))
7361 (package
7362 (name "emacs-mu4e-jump-to-list")
7363 (version (git-version "1.0" revision commit))
7364 (source
7365 (origin
7366 (method git-fetch)
7367 (uri (git-reference
7368 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
7369 (commit commit)))
7370 (file-name (git-file-name name version))
7371 (sha256
7372 (base32
7373 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
7374 (build-system emacs-build-system)
7375 (propagated-inputs
7376 `(("mu" ,mu)))
7377 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
7378 (synopsis "Select and view mailing lists in mu4e")
7379 (description
7380 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
7381 automatically using existing List-ID headers in your mu database. Just press
7382 \"l\" in the headers view and any mailing list you've subscribed to will be
7383 automatically discovered and presented in recency order.")
7384 (license license:gpl3+))))
7385
7386 (define-public emacs-mu4e-patch
7387 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
7388 (revision "1"))
7389 (package
7390 (name "emacs-mu4e-patch")
7391 (version (git-version "0.1.0" revision commit))
7392 (source (origin
7393 (method git-fetch)
7394 (uri (git-reference
7395 (url "https://github.com/seanfarley/mu4e-patch")
7396 (commit commit)))
7397 (file-name (git-file-name name version))
7398 (sha256
7399 (base32
7400 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
7401 (build-system emacs-build-system)
7402 (propagated-inputs
7403 `(("mu" ,mu)))
7404 (home-page "https://github.com/seanfarley/mu4e-patch")
7405 (synopsis "Colorize patch-like emails in mu4e")
7406 (description
7407 "Extension for mu4e to colorize patch-like emails with diff-mode.
7408 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
7409 been adapted to work with mu4e.")
7410 (license license:gpl3+))))
7411
7412 (define-public emacs-pretty-mode
7413 (package
7414 (name "emacs-pretty-mode")
7415 (version "2.0.3")
7416 (source
7417 (origin
7418 (method url-fetch)
7419 (uri (string-append "https://github.com/akatov/pretty-mode/"
7420 "archive/" version ".tar.gz"))
7421 (file-name (string-append name "-" version ".tar.gz"))
7422 (sha256
7423 (base32
7424 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
7425 (build-system emacs-build-system)
7426 (home-page "https://github.com/akatov/pretty-mode")
7427 (synopsis "Redisplay parts of the buffer as Unicode symbols")
7428 (description
7429 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
7430 (license license:gpl3+)))
7431
7432 (define-public emacs-yasnippet
7433 (package
7434 (name "emacs-yasnippet")
7435 (version "0.13.0")
7436 (source (origin
7437 (method url-fetch)
7438 (uri (string-append "https://github.com/joaotavora/yasnippet/"
7439 "archive/" version ".tar.gz"))
7440 (file-name (string-append name "-" version ".tar.gz"))
7441 (sha256
7442 (base32
7443 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
7444 (modules '((guix build utils)))
7445 (snippet
7446 '(begin
7447 ;; YASnippet expects a "snippets" subdirectory in the same
7448 ;; directory as yasnippet.el, but we don't install it
7449 ;; because it's a git submodule pointing to an external
7450 ;; repository. Adjust `yas-snippet-dirs' to prevent
7451 ;; warnings about a missing directory.
7452 (substitute* "yasnippet.el"
7453 (("^ +'yas-installed-snippets-dir\\)\\)\n")
7454 "))\n"))
7455 #t))))
7456 (build-system emacs-build-system)
7457 (home-page "https://github.com/joaotavora/yasnippet")
7458 (synopsis "Yet another snippet extension for Emacs")
7459 (description
7460 "YASnippet is a template system for Emacs. It allows you to type an
7461 abbreviation and automatically expand it into function templates.")
7462 (license license:gpl3+)))
7463
7464 (define-public emacs-yasnippet-snippets
7465 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
7466 (revision "1"))
7467 (package
7468 (name "emacs-yasnippet-snippets")
7469 (version (string-append "1-" revision "." (string-take commit 8)))
7470 (source
7471 (origin
7472 (method git-fetch)
7473 (uri (git-reference
7474 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
7475 (commit commit)))
7476 (file-name (git-file-name name version))
7477 (sha256
7478 (base32
7479 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
7480 (build-system trivial-build-system)
7481 (arguments
7482 `(#:modules ((ice-9 ftw)
7483 (ice-9 regex)
7484 (guix build utils))
7485 #:builder
7486 (begin
7487 (use-modules (ice-9 ftw)
7488 (ice-9 regex)
7489 (guix build utils))
7490 (with-directory-excursion (assoc-ref %build-inputs "source")
7491 (for-each (lambda (dir)
7492 (copy-recursively
7493 dir
7494 (string-append %output
7495 "/share/emacs/yasnippet-snippets/"
7496 dir)))
7497 (scandir "." (lambda (fname)
7498 (and (string-match "-mode$" fname)
7499 (directory-exists? fname))))))
7500 #t)))
7501 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
7502 (synopsis "Collection of YASnippet snippets for many languages")
7503 (description
7504 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
7505 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
7506 To make YASnippet aware of these snippets, add the above directory to
7507 @code{yas-snippet-dirs}.")
7508 (license license:expat))))
7509
7510 (define-public emacs-helm-c-yasnippet
7511 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
7512 (revision "1"))
7513 (package
7514 (name "emacs-helm-c-yasnippet")
7515 (version (string-append "0.6.7" "-" revision "."
7516 (string-take commit 7)))
7517 (source (origin
7518 (method git-fetch)
7519 (uri (git-reference
7520 (url "https://github.com/emacs-jp/helm-c-yasnippet")
7521 (commit commit)))
7522 (file-name (git-file-name name version))
7523 (sha256
7524 (base32
7525 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
7526 (build-system emacs-build-system)
7527 (propagated-inputs
7528 `(("emacs-helm" ,emacs-helm)
7529 ("emacs-yasnippet" ,emacs-yasnippet)))
7530 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
7531 (synopsis "Helm integration for Yasnippet")
7532 (description "This Emacs library provides Helm interface for
7533 Yasnippet.")
7534 (license license:gpl2+))))
7535
7536 (define-public emacs-helm-system-packages
7537 ;; There won't be a new release after 1.10.1 until
7538 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
7539 ;; and latest commits fix import issues with Guix.
7540 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
7541 (package
7542 (name "emacs-helm-system-packages")
7543 (version (git-version "1.10.1" "1" commit))
7544 (source (origin
7545 (method git-fetch)
7546 (uri (git-reference
7547 (url "https://github.com/emacs-helm/helm-system-packages")
7548 (commit commit)))
7549 (file-name (git-file-name name version))
7550 (sha256
7551 (base32
7552 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
7553 (build-system emacs-build-system)
7554 (inputs
7555 `(("recutils" ,recutils)))
7556 (propagated-inputs
7557 `(("emacs-helm" ,emacs-helm)))
7558 (arguments
7559 `(#:phases
7560 (modify-phases %standard-phases
7561 (add-after 'unpack 'configure
7562 (lambda* (#:key inputs outputs #:allow-other-keys)
7563 (let ((recutils (assoc-ref inputs "recutils")))
7564 ;; Specify the absolute file names of the various
7565 ;; programs so that everything works out-of-the-box.
7566 (substitute* "helm-system-packages-guix.el"
7567 (("recsel") (string-append recutils "/bin/recsel")))))))))
7568 (home-page "https://github.com/emacs-helm/helm-system-packages")
7569 (synopsis "Helm System Packages is an interface to your package manager")
7570 (description "List all available packages in Helm (with installed
7571 packages displayed in their own respective face). Fuzzy-search, mark and
7572 execute the desired action over any selections of packages: Install,
7573 uninstall, display packages details (in Org Mode) or insert details at point,
7574 find files owned by packages... And much more, including performing all the
7575 above over the network.")
7576 (license license:gpl3+))))
7577
7578 (define-public emacs-helm-org-rifle
7579 (package
7580 (name "emacs-helm-org-rifle")
7581 (version "1.7.0")
7582 (source
7583 (origin
7584 (method git-fetch)
7585 (uri (git-reference
7586 (url "https://github.com/alphapapa/helm-org-rifle")
7587 (commit version)))
7588 (file-name (git-file-name name version))
7589 (sha256
7590 (base32
7591 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
7592 (build-system emacs-build-system)
7593 (propagated-inputs
7594 `(("emacs-dash" ,emacs-dash)
7595 ("emacs-f" ,emacs-f)
7596 ("emacs-helm" ,emacs-helm)
7597 ("emacs-org" ,emacs-org)
7598 ("emacs-s" ,emacs-s)))
7599 (home-page "https://github.com/alphapapa/helm-org-rifle")
7600 (synopsis "Rifle through Org files")
7601 (description "This package searches both headings and contents of entries
7602 in Org buffers and displays matching entries.")
7603 (license license:gpl3+)))
7604
7605 (define-public emacs-dired-toggle-sudo
7606 (package
7607 (name "emacs-dired-toggle-sudo")
7608 (version "1.0")
7609 (source
7610 (origin
7611 (method git-fetch)
7612 (uri (git-reference
7613 (url "https://github.com/renard/dired-toggle-sudo")
7614 (commit (string-append "v" version))))
7615 (file-name (git-file-name name version))
7616 (sha256
7617 (base32
7618 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
7619 (patches
7620 (search-patches
7621 "emacs-dired-toggle-sudo-emacs-26.patch"))))
7622 (build-system emacs-build-system)
7623 (home-page "https://github.com/renard/dired-toggle-sudo")
7624 (synopsis "Browse directory with @code{sudo} privileges")
7625 (description "This package allows for the use of @code{dired} with
7626 @code{sudo} privileges.")
7627 (license license:wtfpl2)))
7628
7629 (define-public emacs-memoize
7630 (package
7631 (name "emacs-memoize")
7632 (version "1.1")
7633 (source
7634 (origin
7635 (method git-fetch)
7636 (uri (git-reference
7637 (url "https://github.com/skeeto/emacs-memoize.git")
7638 (commit version)))
7639 (file-name (git-file-name name version))
7640 (sha256
7641 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
7642 (build-system emacs-build-system)
7643 (arguments
7644 `(#:tests? #t
7645 #:test-command '("emacs" "--batch"
7646 "-l" "memoize-test.el"
7647 "-f" "ert-run-tests-batch-and-exit")))
7648 (home-page "https://github.com/skeeto/emacs-memoize")
7649 (synopsis "Emacs lisp memoization library")
7650 (description "@code{emacs-memoize} is an Emacs library for
7651 memoizing functions.")
7652 (license license:unlicense)))
7653
7654 (define-public emacs-linum-relative
7655 (package
7656 (name "emacs-linum-relative")
7657 (version "0.5")
7658 (source
7659 (origin
7660 (method git-fetch)
7661 (uri (git-reference
7662 (url "https://github.com/coldnew/linum-relative.git")
7663 (commit version)))
7664 (file-name (git-file-name name version))
7665 (sha256
7666 (base32 "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s"))))
7667 (build-system emacs-build-system)
7668 (home-page "https://github.com/coldnew/linum-relative")
7669 (synopsis "Relative line numbering for Emacs")
7670 (description "@code{emacs-linum-relative} displays the relative line
7671 number on the left margin in Emacs.")
7672 (license license:gpl2+)))
7673
7674 (define-public emacs-idle-highlight
7675 (package
7676 (name "emacs-idle-highlight")
7677 (version "1.1.3")
7678 (source
7679 (origin
7680 (method git-fetch)
7681 (uri (git-reference
7682 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
7683 (commit version)))
7684 (file-name (git-file-name name version))
7685 (sha256
7686 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
7687 (build-system emacs-build-system)
7688 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
7689 (synopsis "Highlights all occurrences of the word the point is on")
7690 (description
7691 "This Emacs package provides @code{idle-highlight-mode} that sets
7692 an idle timer to highlight all occurrences in the buffer of the word under
7693 the point.")
7694 (license license:gpl3+)))
7695
7696 (define-public emacs-ox-twbs
7697 (package
7698 (name "emacs-ox-twbs")
7699 (version "1.1.1")
7700 (source
7701 (origin
7702 (method git-fetch)
7703 (uri (git-reference
7704 (url "https://github.com/marsmining/ox-twbs.git")
7705 (commit (string-append "v" version))))
7706 (file-name (git-file-name name version))
7707 (sha256
7708 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
7709 (build-system emacs-build-system)
7710 (home-page "https://github.com/marsmining/ox-twbs")
7711 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
7712 (description
7713 "This Emacs package outputs your org-mode docs with a simple, clean and
7714 modern look. It implements a new HTML back-end for exporting org-mode docs as
7715 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
7716 jQuery and Bootstrap resources included via osscdn.")
7717 (license license:gpl3+)))
7718
7719 (define-public emacs-highlight-sexp
7720 (package
7721 (name "emacs-highlight-sexp")
7722 (version "1.0")
7723 (source
7724 (origin
7725 (method git-fetch)
7726 (uri (git-reference
7727 (url "https://github.com/daimrod/highlight-sexp.git")
7728 (commit (string-append "v" version))))
7729 (file-name (git-file-name name version))
7730 (sha256
7731 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
7732 (build-system emacs-build-system)
7733 (home-page "https://github.com/daimrod/highlight-sexp")
7734 (synopsis "Minor mode that highlights the s-exp at the current position")
7735 (description
7736 "This Emacs package highlights the s-exp at the current position.")
7737 (license license:gpl3+)))
7738
7739 (define-public emacs-highlight-stages
7740 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
7741 (revision "1"))
7742 (package
7743 (name "emacs-highlight-stages")
7744 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
7745 (source
7746 (origin
7747 (method git-fetch)
7748 (uri (git-reference
7749 (url "https://github.com/zk-phi/highlight-stages.git")
7750 (commit commit)))
7751 (file-name (git-file-name name version))
7752 (sha256
7753 (base32
7754 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
7755 (patches
7756 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
7757 (build-system emacs-build-system)
7758 (home-page "https://github.com/wigust/highlight-stages")
7759 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
7760 (description "@code{highlight-stages} provides an Emacs minor mode that
7761 highlights quasi-quoted expressions.")
7762 (license license:gpl3+))))
7763
7764 (define-public emacspeak
7765 (package
7766 (name "emacspeak")
7767 (version "50.0")
7768 (source
7769 (origin
7770 (method url-fetch)
7771 (uri (string-append
7772 "https://github.com/tvraman/emacspeak/releases/download/"
7773 version "/emacspeak-" version ".tar.bz2"))
7774 (sha256
7775 (base32
7776 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
7777 (build-system gnu-build-system)
7778 (arguments
7779 '(#:make-flags (list (string-append "prefix="
7780 (assoc-ref %outputs "out")))
7781 #:phases
7782 (modify-phases %standard-phases
7783 (replace 'configure
7784 (lambda _
7785 (setenv "SHELL" (which "sh"))
7786 ;; Configure Emacspeak according to etc/install.org.
7787 (invoke "make" "config")))
7788 (add-after 'build 'build-espeak
7789 (lambda _
7790 (invoke "make" "espeak")))
7791 (replace 'install
7792 (lambda* (#:key inputs outputs #:allow-other-keys)
7793 (let* ((out (assoc-ref outputs "out"))
7794 (bin (string-append out "/bin"))
7795 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
7796 (info (string-append out "/share/info"))
7797 (emacs (string-append (assoc-ref inputs "emacs")
7798 "/bin/emacs")))
7799 ;; According to etc/install.org, the Emacspeak directory should
7800 ;; be copied to its installation destination.
7801 (for-each
7802 (lambda (file)
7803 (copy-recursively file (string-append lisp "/" file)))
7804 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
7805 "stumpwm" "xsl"))
7806 ;; Make sure emacspeak is loaded from the correct directory.
7807 (substitute* "etc/emacspeak.sh"
7808 (("/lisp/emacspeak-setup.el")
7809 (string-append lisp "/lisp/emacspeak-setup.el")))
7810 ;; Install the convenient startup script.
7811 (mkdir-p bin)
7812 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
7813 #t))
7814 (add-after 'install 'wrap-program
7815 (lambda* (#:key inputs outputs #:allow-other-keys)
7816 (let* ((out (assoc-ref outputs "out"))
7817 (emacspeak (string-append out "/bin/emacspeak"))
7818 (espeak (string-append (assoc-ref inputs "espeak")
7819 "/bin/espeak")))
7820 ;; The environment variable DTK_PROGRAM tells emacspeak what
7821 ;; program to use for speech.
7822 (wrap-program emacspeak
7823 `("DTK_PROGRAM" ":" prefix (,espeak)))
7824 #t))))
7825 #:tests? #f)) ; no check target
7826 (inputs
7827 `(("emacs" ,emacs)
7828 ("espeak" ,espeak)
7829 ("perl" ,perl)
7830 ("tcl" ,tcl)
7831 ("tclx" ,tclx)))
7832 (home-page "http://emacspeak.sourceforge.net")
7833 (synopsis "Audio desktop interface for Emacs")
7834 (description
7835 "Emacspeak is a speech interface that allows visually impaired users to
7836 interact independently and efficiently with the computer. Audio formatting
7837 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
7838 allows Emacspeak to produce rich aural presentations of electronic information.
7839 By seamlessly blending all aspects of the Internet such as Web-surfing and
7840 messaging, Emacspeak speech-enables local and remote information via a
7841 consistent and well-integrated user interface.")
7842 (license license:gpl2+)))
7843
7844 (define-public emacs-adaptive-wrap
7845 (package
7846 (name "emacs-adaptive-wrap")
7847 (version "0.5.1")
7848 (source (origin
7849 (method url-fetch)
7850 (uri (string-append
7851 "http://elpa.gnu.org/packages/adaptive-wrap-"
7852 version ".el"))
7853 (sha256
7854 (base32
7855 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
7856 (build-system emacs-build-system)
7857 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
7858 (synopsis "Smart line-wrapping with wrap-prefix")
7859 (description
7860 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
7861 minor mode which sets the wrap-prefix property on the fly so that
7862 single-long-line paragraphs get word-wrapped in a way similar to what
7863 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
7864 actually changing the buffer's text.")
7865 (license license:gpl3+)))
7866
7867 (define-public emacs-diff-hl
7868 (package
7869 (name "emacs-diff-hl")
7870 (version "1.8.6")
7871 (source
7872 (origin
7873 (method git-fetch)
7874 (uri (git-reference
7875 (url "https://github.com/dgutov/diff-hl")
7876 (commit version)))
7877 (sha256
7878 (base32
7879 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
7880 (build-system emacs-build-system)
7881 (home-page "https://github.com/dgutov/diff-hl")
7882 (synopsis
7883 "Highlight uncommitted changes using VC")
7884 (description
7885 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
7886 window (using the fringe, by default), allows you to jump between
7887 the hunks and revert them selectively.")
7888 (license license:gpl3+)))
7889
7890 (define-public emacs-diminish
7891 (package
7892 (name "emacs-diminish")
7893 (version "0.45")
7894 (source
7895 (origin
7896 (method git-fetch)
7897 (uri (git-reference
7898 (url "https://github.com/myrjola/diminish.el.git")
7899 (commit (string-append "v" version))))
7900 (file-name (git-file-name name version))
7901 (sha256
7902 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
7903 (build-system emacs-build-system)
7904 (home-page "https://github.com/myrjola/diminish.el")
7905 (synopsis "Diminish minor modes with no modeline display")
7906 (description "@code{emacs-diminish} implements hiding or
7907 abbreviation of the mode line displays (lighters) of minor modes.")
7908 (license license:gpl2+)))
7909
7910 (define-public emacs-use-package
7911 (package
7912 (name "emacs-use-package")
7913 (version "2.4")
7914 (source (origin
7915 (method git-fetch)
7916 (uri (git-reference
7917 (url "https://github.com/jwiegley/use-package")
7918 (commit version)))
7919 (file-name (git-file-name name version))
7920 (sha256
7921 (base32
7922 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
7923 (build-system emacs-build-system)
7924 (propagated-inputs
7925 `(("emacs-diminish" ,emacs-diminish)))
7926 (arguments
7927 `(#:tests? #t
7928 #:test-command '("emacs" "--batch"
7929 "-l" "use-package-tests.el"
7930 "-f" "ert-run-tests-batch-and-exit")))
7931 (home-page "https://github.com/jwiegley/use-package")
7932 (synopsis "Declaration for simplifying your .emacs")
7933 (description "The use-package macro allows you to isolate package
7934 configuration in your @file{.emacs} file in a way that is both
7935 performance-oriented and tidy.")
7936 (license license:gpl2+)))
7937
7938 (define-public emacs-strace-mode
7939 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
7940 (revision "1"))
7941 (package
7942 (name "emacs-strace-mode")
7943 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
7944 (source (origin
7945 (method git-fetch)
7946 (uri (git-reference
7947 (url "https://github.com/pkmoore/strace-mode")
7948 (commit commit)))
7949 (file-name (git-file-name name version))
7950 (sha256
7951 (base32
7952 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
7953 (build-system emacs-build-system)
7954 (home-page "https://github.com/pkmoore/strace-mode")
7955 (synopsis "Emacs major mode to highlight strace outputs")
7956 (description "@code{emacs-strace-mode} provides an Emacs major mode
7957 highlighting strace outputs.")
7958 (license license:gpl3+))))
7959
7960 (define-public emacs-default-encrypt
7961 (package
7962 (name "emacs-default-encrypt")
7963 (version "4.4")
7964 (source
7965 (origin
7966 (method url-fetch)
7967 (uri (string-append
7968 "https://informationelle-selbstbestimmung-im-internet.de"
7969 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
7970 (file-name (string-append "jl-encrypt-" version ".el"))
7971 (sha256
7972 (base32
7973 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
7974 (build-system emacs-build-system)
7975 (home-page
7976 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
7977 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
7978 (description
7979 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
7980 automatically encrypts messages that you send (e.g., email) when public keys
7981 for all recipients are available, and it protects you from accidentally
7982 sending un-encrypted messages. It can also be configured to automatically
7983 sign messages that you send. For details and instructions on how to use
7984 DefaultEncrypt, please refer to the home page or read the comments in the
7985 source file, @file{jl-encrypt.el}.")
7986 (license license:gpl3+)))
7987
7988 (define-public emacs-extend-smime
7989 (package
7990 (name "emacs-extend-smime")
7991 (version "3.3")
7992 (source
7993 (origin
7994 (method url-fetch)
7995 (uri (string-append
7996 "https://informationelle-selbstbestimmung-im-internet.de"
7997 "/emacs/jl-smime" version "/jl-smime.el"))
7998 (file-name (string-append "jl-smime-" version ".el"))
7999 (sha256
8000 (base32
8001 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
8002 (build-system emacs-build-system)
8003 (home-page
8004 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
8005 (synopsis "Improved S/MIME support for Gnus in Emacs")
8006 (propagated-inputs
8007 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
8008 (description
8009 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
8010 ;; should not be translated. The name "emacs-default-encrypt" refers to
8011 ;; the Guix package that provides DefaultEncrypt.
8012 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
8013 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
8014 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
8015 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
8016 certificates via LDAP and imports them into @code{gpgsm}. When certificates
8017 for all recipients are available, DefaultEncrypt automatically encrypts the
8018 message. For details and instructions on how to use ExtendSMIME, please refer
8019 to the home page or read the comments in the source file,
8020 @file{jl-smime.el}.")
8021 (license license:gpl3+)))
8022
8023 (define-public emacs-htmlize
8024 (package
8025 (name "emacs-htmlize")
8026 (version "1.53")
8027 (source
8028 (origin
8029 (method git-fetch)
8030 (uri (git-reference
8031 (url "https://github.com/hniksic/emacs-htmlize.git")
8032 (commit (string-append "release/" version))))
8033 (file-name (git-file-name name version))
8034 (sha256
8035 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
8036 (build-system emacs-build-system)
8037 (home-page "https://github.com/hniksic/emacs-htmlize")
8038 (synopsis "Convert buffer text and decorations to HTML")
8039 (description "@code{emacs-htmlize} converts the buffer text and
8040 the associated decorations to HTML. Output to CSS, inline CSS and
8041 fonts is supported.")
8042 (license license:gpl2+)))
8043
8044 (define-public emacs-xmlgen
8045 (package
8046 (name "emacs-xmlgen")
8047 (version "0.5")
8048 (source
8049 (origin
8050 (method git-fetch)
8051 (uri (git-reference
8052 (url "https://github.com/philjackson/xmlgen.git")
8053 (commit version)))
8054 (file-name (git-file-name name version))
8055 (sha256
8056 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
8057 (build-system emacs-build-system)
8058 (arguments
8059 `(#:tests? #t
8060 #:test-command '("emacs" "--batch"
8061 "-l" "xmlgen-test.el"
8062 "-f" "ert-run-tests-batch-and-exit")))
8063 (home-page "https://github.com/philjackson/xmlgen")
8064 (synopsis "S-expression to XML domain specific language (DSL) in
8065 Emacs Lisp")
8066 (description "@code{emacs-xmlgen} provides S-expression to XML
8067 conversion for Emacs Lisp.")
8068 (license license:gpl2+)))
8069
8070 (define-public emacs-cdlatex
8071 (package
8072 (name "emacs-cdlatex")
8073 (version "4.7")
8074 (source
8075 (origin
8076 (method git-fetch)
8077 (uri (git-reference
8078 (url "https://github.com/cdominik/cdlatex.git")
8079 (commit version)))
8080 (file-name (git-file-name name version))
8081 (sha256
8082 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
8083 (build-system emacs-build-system)
8084 (propagated-inputs
8085 `(("emacs-auctex" ,emacs-auctex)))
8086 (home-page "https://github.com/cdominik/cdlatex")
8087 (synopsis "Fast Emacs input methods for LaTeX environments and
8088 math")
8089 (description "CDLaTeX is an Emacs minor mode supporting fast
8090 insertion of environment templates and math in LaTeX. Similar
8091 commands are also offered as part of the AUCTeX package, but it is not
8092 the same - CDLaTeX focuses on speediness for inserting LaTeX
8093 constructs.")
8094 (license license:gpl3+)))
8095
8096 (define-public emacs-cnfonts
8097 (package
8098 (name "emacs-cnfonts")
8099 (version "0.9.1")
8100 (source
8101 (origin
8102 (method git-fetch)
8103 (uri (git-reference
8104 (url "https://github.com/tumashu/cnfonts.git")
8105 (commit (string-append "v" version))))
8106 (file-name (git-file-name name version))
8107 (sha256
8108 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
8109 (build-system emacs-build-system)
8110 (home-page "https://github.com/tumashu/cnfonts")
8111 (synopsis "Emacs Chinese fonts setup tool")
8112 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
8113 configuration of Chinese fonts.")
8114 (license license:gpl2+)))
8115
8116 (define-public emacs-php-mode
8117 (package
8118 (name "emacs-php-mode")
8119 (version "20171225.342")
8120 (source (origin
8121 (method url-fetch)
8122 (uri (string-append
8123 "https://melpa.org/packages/php-mode-"
8124 version ".tar"))
8125 (sha256
8126 (base32
8127 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
8128 (build-system emacs-build-system)
8129 (home-page "https://github.com/ejmr/php-mode")
8130 (synopsis "Major mode for editing PHP code")
8131 (description "@code{php-mode} is a major mode for editing PHP source
8132 code. It's an extension of C mode; thus it inherits all C mode's navigation
8133 functionality. But it colors according to the PHP grammar and indents
8134 according to the PEAR coding guidelines. It also includes a couple handy
8135 IDE-type features such as documentation search and a source and class
8136 browser.")
8137 (license license:gpl3+)))
8138
8139 (define-public emacs-pos-tip
8140 (package
8141 (name "emacs-pos-tip")
8142 (version "0.4.6")
8143 (source
8144 (origin
8145 (method git-fetch)
8146 (uri (git-reference
8147 (url "https://github.com/pitkali/pos-tip.git")
8148 (commit version)))
8149 (file-name (git-file-name name version))
8150 (sha256
8151 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
8152 (build-system emacs-build-system)
8153 ;; The following functions and variables needed by emacs-pos-tip are
8154 ;; not included in emacs-minimal:
8155 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
8156 (arguments `(#:emacs ,emacs))
8157 (home-page "https://github.com/pitkali/pos-tip")
8158 (synopsis "Show tooltip at point")
8159 (description "The standard library tooltip.el provides a function for
8160 displaying a tooltip at the mouse position. However, locating a tooltip at an
8161 arbitrary buffer position in a window is not easy. Pos-tip provides such a
8162 function to be used by other frontend programs.")
8163 (license license:gpl2+)))
8164
8165 (define-public emacs-pyim-basedict
8166 (package
8167 (name "emacs-pyim-basedict")
8168 (version "0.3.1")
8169 (source
8170 (origin
8171 (method git-fetch)
8172 (uri (git-reference
8173 (url "https://github.com/tumashu/pyim-basedict.git")
8174 (commit (string-append "v" version))))
8175 (file-name (git-file-name name version))
8176 (sha256
8177 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
8178 (build-system emacs-build-system)
8179 (home-page "https://github.com/tumashu/pyim-basedict")
8180 (synopsis "Input method dictionary of pyim")
8181 (description "Pyim-basedict is the default pinyin input method dictionary,
8182 containing words from the rime project.")
8183 (license license:gpl2+)))
8184
8185 (define-public emacs-pyim
8186 (package
8187 (name "emacs-pyim")
8188 (version "1.8")
8189 (source
8190 (origin
8191 (method git-fetch)
8192 (uri (git-reference
8193 (url "https://github.com/tumashu/pyim")
8194 (commit (string-append "v" version))))
8195 (file-name (git-file-name name version))
8196 (sha256
8197 (base32
8198 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
8199 (build-system emacs-build-system)
8200 (propagated-inputs
8201 `(("emacs-async" ,emacs-async)
8202 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
8203 ("emacs-popup" ,emacs-popup)
8204 ("emacs-posframe" ,emacs-posframe)))
8205 (home-page "https://github.com/tumashu/pyim")
8206 (synopsis "Chinese input method")
8207 (description "Chinese input method which supports quanpin, shuangpin, wubi
8208 and cangjie.")
8209 (license license:gpl2+)))
8210
8211 (define-public emacs-posframe
8212 (package
8213 (name "emacs-posframe")
8214 (version "0.5.0")
8215 (source
8216 (origin
8217 (method git-fetch)
8218 (uri (git-reference
8219 (url "https://github.com/tumashu/posframe")
8220 (commit (string-append "v" version))))
8221 (file-name (git-file-name name version))
8222 (sha256
8223 (base32
8224 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
8225 (build-system emacs-build-system)
8226 ;; emacs-minimal does not include the function font-info
8227 (arguments `(#:emacs ,emacs))
8228 (home-page "https://github.com/tumashu/posframe")
8229 (synopsis "Pop a posframe (a child frame) at point")
8230 (description "@code{emacs-posframe} can pop a posframe at point. A
8231 posframe is a child frame displayed within its root window's buffer.
8232 @code{emacs-posframe} is fast and works well with CJK languages.")
8233 (license license:gpl3+)))
8234
8235 (define-public emacs-el2org
8236 (package
8237 (name "emacs-el2org")
8238 (version "0.6.0")
8239 (source
8240 (origin
8241 (method git-fetch)
8242 (uri (git-reference
8243 (url "https://github.com/tumashu/el2org.git")
8244 (commit (string-append "v" version))))
8245 (file-name (git-file-name name version))
8246 (sha256
8247 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
8248 (build-system emacs-build-system)
8249 (home-page "https://github.com/tumashu/el2org")
8250 (synopsis "Convert Emacs-lisp file to org file")
8251 (description "El2org is a simple tool, which can convert Emacs-lisp file
8252 to org file, you can use this tool to write orgify commentary.")
8253 (license license:gpl2+)))
8254
8255 (define-public emacs-mustache
8256 (package
8257 (name "emacs-mustache")
8258 (version "0.23")
8259 (source
8260 (origin
8261 (method git-fetch)
8262 (uri (git-reference
8263 (url "https://github.com/Wilfred/mustache.el.git")
8264 (commit version)))
8265 (file-name (git-file-name name version))
8266 (sha256
8267 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
8268 (build-system emacs-build-system)
8269 (propagated-inputs
8270 `(("emacs-dash" ,emacs-dash)
8271 ("emacs-ht" ,emacs-ht)
8272 ("emacs-s" ,emacs-s)))
8273 (home-page "https://github.com/Wilfred/mustache.el")
8274 (synopsis "Mustache templating library for Emacs")
8275 (description "Mustache templating library for Emacs, mustache is
8276 a simple web template system, which is described as a logic-less system
8277 because it lacks any explicit control flow statements, both looping and
8278 conditional evaluation can be achieved using section tags processing lists
8279 and lambdas.")
8280 (license license:gpl3+)))
8281
8282 (define-public emacs-org2web
8283 (package
8284 (name "emacs-org2web")
8285 (version "0.9.1")
8286 (source
8287 (origin
8288 (method git-fetch)
8289 (uri (git-reference
8290 (url "https://github.com/tumashu/org2web.git")
8291 (commit (string-append "v" version))))
8292 (file-name (git-file-name name version))
8293 (sha256
8294 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
8295 (build-system emacs-build-system)
8296 (propagated-inputs
8297 `(("emacs-dash" ,emacs-dash)
8298 ("emacs-el2org" ,emacs-el2org)
8299 ("emacs-ht" ,emacs-ht)
8300 ("emacs-mustache" ,emacs-mustache)
8301 ("emacs-simple-httpd" ,emacs-simple-httpd)))
8302 (home-page "https://github.com/tumashu/org2web")
8303 (synopsis "Static site generator based on org-mode ")
8304 (description "Org2web is a static site generator based on org-mode,
8305 which code derived from Kelvin H's org-page.")
8306 (license license:gpl2+)))
8307
8308 (define-public emacs-xelb
8309 (package
8310 (name "emacs-xelb")
8311 (version "0.17")
8312 (source (origin
8313 (method url-fetch)
8314 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
8315 version ".tar"))
8316 (sha256
8317 (base32
8318 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
8319 (build-system emacs-build-system)
8320 ;; The following functions and variables needed by emacs-xelb are
8321 ;; not included in emacs-minimal:
8322 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
8323 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
8324 ;; x-display-pixel-width, x-display-pixel-height
8325 (arguments
8326 `(#:emacs ,emacs
8327 #:phases
8328 (modify-phases %standard-phases
8329 (add-after 'unpack 'regenerate-el-files
8330 (lambda* (#:key inputs #:allow-other-keys)
8331 (invoke "make"
8332 (string-append "PROTO_PATH="
8333 (assoc-ref inputs "xcb-proto")
8334 "/share/xcb")
8335 (string-append "EMACS_BIN="
8336 (assoc-ref inputs "emacs")
8337 "/bin/emacs -Q")))))))
8338 (native-inputs `(("xcb-proto" ,xcb-proto)))
8339 (home-page "https://github.com/ch11ng/xelb")
8340 (synopsis "X protocol Emacs Lisp binding")
8341 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
8342 X11 protocol based on the XML description files from the XCB project. It
8343 features an object-oriented API and permits a certain degree of concurrency.
8344 It should enable you to implement low-level X11 applications.")
8345 (license license:gpl3+)))
8346
8347 (define-public emacs-exwm
8348 (package
8349 (name "emacs-exwm")
8350 (version "0.22")
8351 (synopsis "Emacs X window manager")
8352 (source (origin
8353 (method url-fetch)
8354 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
8355 version ".tar"))
8356 (sha256
8357 (base32
8358 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
8359 (build-system emacs-build-system)
8360 (propagated-inputs
8361 `(("emacs-xelb" ,emacs-xelb)))
8362 (inputs
8363 `(("xhost" ,xhost)
8364 ("dbus" ,dbus)))
8365 ;; The following functions and variables needed by emacs-exwm are
8366 ;; not included in emacs-minimal:
8367 ;; scroll-bar-mode, fringe-mode
8368 ;; x-display-pixel-width, x-display-pixel-height
8369 (arguments
8370 `(#:emacs ,emacs
8371 #:phases
8372 (modify-phases %standard-phases
8373 (add-after 'build 'install-xsession
8374 (lambda* (#:key inputs outputs #:allow-other-keys)
8375 (let* ((out (assoc-ref outputs "out"))
8376 (xsessions (string-append out "/share/xsessions"))
8377 (bin (string-append out "/bin"))
8378 (exwm-executable (string-append bin "/exwm")))
8379 ;; Add a .desktop file to xsessions
8380 (mkdir-p xsessions)
8381 (mkdir-p bin)
8382 (with-output-to-file
8383 (string-append xsessions "/exwm.desktop")
8384 (lambda _
8385 (format #t "[Desktop Entry]~@
8386 Name=~a~@
8387 Comment=~a~@
8388 Exec=~a~@
8389 TryExec=~:*~a~@
8390 Type=Application~%" ,name ,synopsis exwm-executable)))
8391 ;; Add a shell wrapper to bin
8392 (with-output-to-file exwm-executable
8393 (lambda _
8394 (format #t "#!~a ~@
8395 ~a +SI:localuser:$USER ~@
8396 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
8397 (string-append (assoc-ref inputs "bash") "/bin/sh")
8398 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
8399 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
8400 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
8401 '(cond
8402 ((file-exists-p "~/.exwm")
8403 (load-file "~/.exwm"))
8404 ((not (featurep 'exwm))
8405 (require 'exwm)
8406 (require 'exwm-config)
8407 (exwm-config-default)
8408 (message (concat "exwm configuration not found. "
8409 "Falling back to default configuration...")))))))
8410 (chmod exwm-executable #o555)
8411 #t))))))
8412 (home-page "https://github.com/ch11ng/exwm")
8413 (description "EXWM is a full-featured tiling X window manager for Emacs
8414 built on top of XELB.")
8415 (license license:gpl3+)))
8416
8417 (define-public emacs-switch-window
8418 (package
8419 (name "emacs-switch-window")
8420 (version "1.6.2")
8421 (source
8422 (origin
8423 (method git-fetch)
8424 (uri (git-reference
8425 (url "https://github.com/dimitri/switch-window")
8426 (commit (string-append "v" version))))
8427 (file-name (git-file-name name version))
8428 (sha256
8429 (base32
8430 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
8431 (build-system emacs-build-system)
8432 (home-page "https://github.com/dimitri/switch-window")
8433 (synopsis "Emacs window switch tool")
8434 (description "Switch-window is an emacs window switch tool, which
8435 offer a visual way to choose a window to switch to, delete, split or
8436 other operations.")
8437 (license license:wtfpl2)))
8438
8439 (define-public emacs-exwm-x
8440 (package
8441 (name "emacs-exwm-x")
8442 (version "1.9.0")
8443 (synopsis "Derivative window manager based on EXWM")
8444 (source
8445 (origin
8446 (method git-fetch)
8447 (uri (git-reference
8448 (url "https://github.com/tumashu/exwm-x")
8449 (commit (string-append "v" version))))
8450 (file-name (git-file-name name version))
8451 (sha256
8452 (base32
8453 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
8454 (build-system emacs-build-system)
8455 (propagated-inputs
8456 `(("emacs-exwm" ,emacs-exwm)
8457 ("emacs-switch-window" ,emacs-switch-window)
8458 ("emacs-ivy" ,emacs-ivy)
8459 ("emacs-use-package" ,emacs-use-package)))
8460 (inputs
8461 `(("xhost" ,xhost)
8462 ("dbus" ,dbus)))
8463 ;; Need emacs instead of emacs-minimal,
8464 ;; for emacs's bin path will be inserted into bin/exwm-x file.
8465 (arguments
8466 `(#:emacs ,emacs
8467 #:phases
8468 (modify-phases %standard-phases
8469 (add-after 'build 'install-xsession
8470 (lambda* (#:key inputs outputs #:allow-other-keys)
8471 (let* ((out (assoc-ref outputs "out"))
8472 (xsessions (string-append out "/share/xsessions"))
8473 (bin (string-append out "/bin"))
8474 (exwm-executable (string-append bin "/exwm-x")))
8475 ;; Add a .desktop file to xsessions
8476 (mkdir-p xsessions)
8477 (mkdir-p bin)
8478 (with-output-to-file
8479 (string-append xsessions "/exwm-x.desktop")
8480 (lambda _
8481 (format #t "[Desktop Entry]~@
8482 Name=~a~@
8483 Comment=~a~@
8484 Exec=~a~@
8485 TryExec=~@*~a~@
8486 Type=Application~%" ,name ,synopsis exwm-executable)))
8487 ;; Add a shell wrapper to bin
8488 (with-output-to-file exwm-executable
8489 (lambda _
8490 (format #t "#!~a ~@
8491 ~a +SI:localuser:$USER ~@
8492 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
8493 (string-append (assoc-ref inputs "bash") "/bin/sh")
8494 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
8495 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
8496 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
8497 '(require 'exwmx-loader))))
8498 (chmod exwm-executable #o555)
8499 #t))))))
8500 (home-page "https://github.com/tumashu/exwm-x")
8501 (description "EXWM-X is a derivative window manager based on EXWM, with focus
8502 on mouse-control.")
8503 (license license:gpl3+)))
8504
8505 (define-public emacs-gnugo
8506 (package
8507 (name "emacs-gnugo")
8508 (version "3.1.0")
8509 (source
8510 (origin
8511 (method url-fetch)
8512 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
8513 version ".tar"))
8514 (sha256
8515 (base32
8516 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
8517 (build-system emacs-build-system)
8518 (arguments
8519 `(#:phases (modify-phases %standard-phases
8520 (add-after 'unpack 'configure-default-gnugo-xpms-variable
8521 (lambda _
8522 (substitute* "gnugo.el"
8523 (("defvar gnugo-xpms nil")
8524 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
8525 #t)))))
8526 (propagated-inputs
8527 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
8528 ("emacs-xpm" ,emacs-xpm)))
8529 (home-page "https://elpa.gnu.org/packages/gnugo.html")
8530 (synopsis "Emacs major mode for playing GNU Go")
8531 (description "This package provides an Emacs based interface for GNU Go.
8532 It has a graphical mode where the board and stones are drawn using XPM images
8533 and supports the use of a mouse.")
8534 (license license:gpl3+)))
8535
8536 (define-public emacs-gnuplot
8537 (package
8538 (name "emacs-gnuplot")
8539 (version "0.7.0")
8540 (source
8541 (origin
8542 (method git-fetch)
8543 (uri (git-reference
8544 (url "https://github.com/bruceravel/gnuplot-mode.git")
8545 (commit version)))
8546 (file-name (git-file-name name version))
8547 (sha256
8548 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
8549 (build-system gnu-build-system)
8550 (native-inputs `(("emacs" ,emacs-minimal)))
8551 (arguments
8552 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
8553 "/gnuplot-" version)))
8554 `(#:modules ((guix build gnu-build-system)
8555 (guix build utils)
8556 (guix build emacs-utils))
8557 #:imported-modules (,@%gnu-build-system-modules
8558 (guix build emacs-utils))
8559 #:configure-flags
8560 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
8561 "/bin/emacs")
8562 (string-append "--with-lispdir=" %output ,elisp-dir))
8563 #:phases
8564 (modify-phases %standard-phases
8565 (add-after 'install 'generate-autoloads
8566 (lambda* (#:key outputs #:allow-other-keys)
8567 (emacs-generate-autoloads
8568 "gnuplot"
8569 (string-append (assoc-ref outputs "out") ,elisp-dir))
8570 #t))))))
8571 (home-page "https://github.com/bruceravel/gnuplot-mode")
8572 (synopsis "Emacs major mode for interacting with gnuplot")
8573 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
8574 with gnuplot.")
8575 (license license:gpl2+)))
8576
8577 (define-public emacs-transpose-frame
8578 (package
8579 (name "emacs-transpose-frame")
8580 (version "0.1.0")
8581 (source
8582 (origin
8583 (method url-fetch)
8584 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
8585 (file-name (string-append "transpose-frame-" version ".el"))
8586 (sha256
8587 (base32
8588 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
8589 (build-system emacs-build-system)
8590 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
8591 (synopsis "Transpose window arrangement in current frame")
8592 (description "@code{emacs-transpose-frame} provides some interactive
8593 functions which allows users to transpose windows arrangement in currently
8594 selected frame.")
8595 (license license:bsd-2)))
8596
8597 (define-public emacs-key-chord
8598 (package
8599 (name "emacs-key-chord")
8600 (version "0.6")
8601 (source
8602 (origin
8603 (method url-fetch)
8604 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
8605 (file-name (string-append "key-chord-" version ".el"))
8606 (sha256
8607 (base32
8608 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
8609 (build-system emacs-build-system)
8610 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
8611 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
8612 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
8613 mode for binding key chords to commands. A key chord is defined as two keys
8614 pressed simultaneously or a single key quickly pressed twice.")
8615 (license license:gpl2+)))
8616
8617 (define-public emacs-evil-surround
8618 (package
8619 (name "emacs-evil-surround")
8620 (version "1.0.4")
8621 (source
8622 (origin
8623 (method git-fetch)
8624 (uri (git-reference
8625 (url "https://github.com/emacs-evil/evil-surround")
8626 (commit version)))
8627 (file-name (git-file-name name version))
8628 (sha256
8629 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
8630 (build-system emacs-build-system)
8631 (propagated-inputs
8632 `(("emacs-evil" ,emacs-evil)))
8633 (home-page "https://github.com/emacs-evil/evil-surround")
8634 (synopsis "Easily modify surrounding parentheses and quotes")
8635 (description "@code{emacs-evil-surround} allows easy deletion, change and
8636 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
8637 (license license:gpl3+)))
8638
8639 (define-public emacs-evil-commentary
8640 (package
8641 (name "emacs-evil-commentary")
8642 (version "2.1.1")
8643 (source
8644 (origin
8645 (method git-fetch)
8646 (uri (git-reference
8647 (url "https://github.com/linktohack/evil-commentary.git")
8648 (commit (string-append "v" version))))
8649 (file-name (git-file-name name version))
8650 (sha256
8651 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
8652 (build-system emacs-build-system)
8653 (propagated-inputs
8654 `(("emacs-evil" ,emacs-evil)))
8655 (home-page "https://github.com/linktohack/evil-commentary")
8656 (synopsis "Comment out code in evil mode")
8657 (description "@code{emacs-evil-commentary} adds keybindings to easily
8658 comment out lines of code in evil mode. It provides @code{gcc} to comment out
8659 lines, and @code{gc} to comment out the target of a motion.")
8660 (license license:gpl3+)))
8661
8662 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
8663 ;; therefore cannot be run
8664 (define-public emacs-ansi
8665 (package
8666 (name "emacs-ansi")
8667 (version "0.4.1")
8668 (source
8669 (origin
8670 (method git-fetch)
8671 (uri (git-reference
8672 (url "https://github.com/rejeep/ansi.el.git")
8673 (commit (string-append "v" version))))
8674 (file-name (git-file-name name version))
8675 (sha256
8676 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
8677 (build-system emacs-build-system)
8678 (propagated-inputs
8679 `(("emacs-dash" ,emacs-dash)
8680 ("emacs-s" ,emacs-s)))
8681 (home-page "https://github.com/rejeep/ansi.el")
8682 (synopsis "Convert strings to ANSI")
8683 (description "@code{emacs-ansi} defines functions that turns simple
8684 strings to ANSI strings. Turning a string into an ANSI string can be to add
8685 color to a text, add color in the background of a text or adding a style, such
8686 as bold, underscore or italic.")
8687 (license license:gpl3+)))
8688
8689 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
8690 ;; therefore cannot be run
8691 (define-public emacs-commander
8692 (package
8693 (name "emacs-commander")
8694 (version "0.7.0")
8695 (source
8696 (origin
8697 (method git-fetch)
8698 (uri (git-reference
8699 (url "https://github.com/rejeep/commander.el.git")
8700 (commit (string-append "v" version))))
8701 (file-name (git-file-name name version))
8702 (sha256
8703 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
8704 (build-system emacs-build-system)
8705 (propagated-inputs
8706 `(("emacs-dash" ,emacs-dash)
8707 ("emacs-f" ,emacs-f)
8708 ("emacs-s" ,emacs-s)))
8709 (home-page "https://github.com/rejeep/commander.el")
8710 (synopsis "Emacs command line parser")
8711 (description "@code{emacs-commander} provides command line parsing for
8712 Emacs.")
8713 (license license:gpl3+)))
8714
8715 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
8716 ;; cannot be run
8717 (define-public emacs-ert-runner
8718 (let ((version "0.7.0")
8719 (revision "1")
8720 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
8721 (package
8722 (name "emacs-ert-runner")
8723 (version (git-version "0.7.0" revision commit))
8724 (source
8725 (origin
8726 (method git-fetch)
8727 (uri (git-reference
8728 (url "https://github.com/rejeep/ert-runner.el.git")
8729 (commit commit)))
8730 (file-name (git-file-name name version))
8731 (sha256
8732 (base32
8733 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
8734 (build-system emacs-build-system)
8735 (inputs
8736 `(("emacs-ansi" ,emacs-ansi)
8737 ("emacs-commander" ,emacs-commander)
8738 ("emacs-dash" ,emacs-dash)
8739 ("emacs-f" ,emacs-f)
8740 ("emacs-s" ,emacs-s)
8741 ("emacs-shut-up" ,emacs-shut-up)))
8742 (arguments
8743 `(#:phases
8744 (modify-phases %standard-phases
8745 (add-after 'install 'install-executable
8746 (lambda* (#:key inputs outputs #:allow-other-keys)
8747 (let ((out (assoc-ref outputs "out"))
8748 (source-directory (string-append
8749 (getenv "TMPDIR") "/source")))
8750 (substitute* "bin/ert-runner"
8751 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
8752 (string-append "ERT_RUNNER=\"" out
8753 "/share/emacs/site-lisp/guix.d/ert-runner-"
8754 ,version)))
8755 (install-file "bin/ert-runner" (string-append out "/bin"))
8756 (wrap-program (string-append out "/bin/ert-runner")
8757 (list "EMACSLOADPATH" ":" 'prefix
8758 ;; Do not capture the transient source directory in
8759 ;; the wrapper.
8760 (delete source-directory
8761 (string-split (getenv "EMACSLOADPATH") #\:))))
8762 #t))))
8763 #:include (cons* "^reporters/.*\\.el$" %default-include)))
8764 (home-page "https://github.com/rejeep/ert-runner.el")
8765 (synopsis "Opinionated Ert testing workflow")
8766 (description "@code{ert-runner} is a tool for Emacs projects tested
8767 using ERT. It assumes a certain test structure setup and can therefore make
8768 running tests easier.")
8769 (license license:gpl3+))))
8770
8771 (define-public ert-runner
8772 (deprecated-package "ert-runner" emacs-ert-runner))
8773
8774 (define-public emacs-xtest
8775 (package
8776 (name "emacs-xtest")
8777 (version "1.1.0")
8778 (source (origin
8779 (method git-fetch)
8780 (uri (git-reference
8781 (url "https://github.com/promethial/xtest.git")
8782 (commit (string-append "v" version))))
8783 (file-name (git-file-name name version))
8784 (sha256
8785 (base32
8786 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
8787 (arguments
8788 `(#:exclude '()))
8789 (build-system emacs-build-system)
8790 (home-page "https://github.com/promethial/xtest/")
8791 (synopsis "Simple testing with Emacs")
8792 (description "This package provides a simple testing library for Emacs.")
8793 (license license:gpl3+)))
8794
8795 (define-public emacs-disable-mouse
8796 (package
8797 (name "emacs-disable-mouse")
8798 (version "0.2")
8799 (source
8800 (origin
8801 (method git-fetch)
8802 (uri (git-reference
8803 (url "https://github.com/purcell/disable-mouse.git")
8804 (commit version)))
8805 (file-name (git-file-name name version))
8806 (sha256
8807 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
8808 (build-system emacs-build-system)
8809 (home-page "https://github.com/purcell/disable-mouse")
8810 (synopsis "Disable mouse commands globally")
8811 (description
8812 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
8813 pair of minor modes which suppress all mouse events by intercepting them and
8814 running a customisable handler command (@code{ignore} by default). ")
8815 (license license:gpl3+)))
8816
8817 (define-public emacs-json-reformat
8818 (package
8819 (name "emacs-json-reformat")
8820 (version "0.0.6")
8821 (source
8822 (origin
8823 (method git-fetch)
8824 (uri (git-reference
8825 (url "https://github.com/gongo/json-reformat.git")
8826 (commit version)))
8827 (file-name (git-file-name name version))
8828 (sha256
8829 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
8830 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
8831 (build-system emacs-build-system)
8832 (propagated-inputs
8833 `(("emacs-undercover" ,emacs-undercover)))
8834 (native-inputs
8835 `(("emacs-dash" ,emacs-dash)
8836 ("emacs-shut-up" ,emacs-shut-up)
8837 ("ert-runner" ,emacs-ert-runner)))
8838 (arguments
8839 `(#:tests? #t
8840 #:test-command '("ert-runner")
8841 #:phases
8842 (modify-phases %standard-phases
8843 (add-before 'check 'make-tests-writable
8844 (lambda _
8845 (for-each make-file-writable (find-files "test"))
8846 #t))
8847 (add-before 'check 'delete-json-objects-order-test
8848 (lambda _
8849 (emacs-batch-edit-file "test/json-reformat-test.el"
8850 `(progn (progn (goto-char (point-min))
8851 (re-search-forward
8852 "ert-deftest json-reformat-test:json-reformat-region")
8853 (beginning-of-line)
8854 (kill-sexp))
8855 (basic-save-buffer)))
8856 #t)))))
8857 (home-page "https://github.com/gongo/json-reformat")
8858 (synopsis "Reformatting tool for JSON")
8859 (description "@code{json-reformat} provides a reformatting tool for
8860 @url{http://json.org/, JSON}.")
8861 (license license:gpl3+)))
8862
8863 (define-public emacs-json-snatcher
8864 (package
8865 (name "emacs-json-snatcher")
8866 (version "1.0.0")
8867 (source
8868 (origin
8869 (method git-fetch)
8870 (uri (git-reference
8871 (url "https://github.com/Sterlingg/json-snatcher.git")
8872 (commit version)))
8873 (file-name (git-file-name name version))
8874 (sha256
8875 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
8876 (build-system emacs-build-system)
8877 (home-page "https://github.com/sterlingg/json-snatcher")
8878 (synopsis "Grabs the path to JSON values in a JSON file")
8879 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
8880 a @url{http://json.org/, JSON} file.")
8881 (license license:gpl3+)))
8882
8883 (define-public emacs-json-mode
8884 (package
8885 (name "emacs-json-mode")
8886 (version "1.7.0")
8887 (source
8888 (origin
8889 (method git-fetch)
8890 (uri (git-reference
8891 (url "https://github.com/joshwnj/json-mode.git")
8892 (commit (string-append "v" version))))
8893 (file-name (git-file-name name version))
8894 (sha256
8895 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
8896 (build-system emacs-build-system)
8897 (propagated-inputs
8898 `(("emacs-json-reformat" ,emacs-json-reformat)
8899 ("emacs-json-snatcher" ,emacs-json-snatcher)))
8900 (home-page "https://github.com/joshwnj/json-mode")
8901 (synopsis "Major mode for editing JSON files")
8902 (description "@code{json-mode} extends the builtin js-mode syntax
8903 highlighting.")
8904 (license license:gpl3+)))
8905
8906 (define-public emacs-restclient
8907 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
8908 (version "0")
8909 (revision "2")) ;Guix package revision,
8910 ;upstream doesn't have official releases
8911 (package
8912 (name "emacs-restclient")
8913 (version (git-version version revision commit))
8914 (source (origin
8915 (method git-fetch)
8916 (uri (git-reference
8917 (url "https://github.com/pashky/restclient.el.git")
8918 (commit commit)))
8919 (sha256
8920 (base32
8921 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
8922 (file-name (git-file-name name version))))
8923 (build-system emacs-build-system)
8924 (propagated-inputs
8925 `(("emacs-helm" ,emacs-helm)))
8926 (home-page "https://github.com/pashky/restclient.el")
8927 (synopsis "Explore and test HTTP REST webservices")
8928 (description
8929 "This tool allows for testing and exploration of HTTP REST Web services
8930 from within Emacs. Restclient runs queries from a plan-text query sheet,
8931 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
8932 (license license:public-domain))))
8933
8934 (define-public emacs-whitespace-cleanup-mode
8935 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
8936 (revision "1"))
8937 (package
8938 (name "emacs-whitespace-cleanup-mode")
8939 (version (git-version "0.10" revision commit))
8940 (source (origin
8941 (method git-fetch)
8942 (uri (git-reference
8943 (url "https://github.com/purcell/whitespace-cleanup-mode")
8944 (commit commit)))
8945 (sha256
8946 (base32
8947 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
8948 (file-name (git-file-name name version))))
8949 (build-system emacs-build-system)
8950 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
8951 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
8952 (description
8953 "This package provides a minor mode that calls
8954 @code{whitespace-cleanup} before saving the current buffer only if the
8955 whitespace in the buffer was initially clean.")
8956 (license license:gpl3+))))
8957
8958 (define-public emacs-eimp
8959 (let ((version "1.4.0")
8960 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
8961 (revision "1"))
8962 (package
8963 (name "emacs-eimp")
8964 (version (git-version version revision commit))
8965 (source
8966 (origin
8967 (method git-fetch)
8968 (uri (git-reference
8969 (url "https://github.com/nicferrier/eimp.git")
8970 (commit commit)))
8971 (file-name (git-file-name name version))
8972 (sha256
8973 (base32
8974 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
8975 (build-system emacs-build-system)
8976 (arguments
8977 `(#:phases
8978 (modify-phases %standard-phases
8979 (add-after 'unpack 'configure
8980 (lambda* (#:key inputs #:allow-other-keys)
8981 (let ((imagemagick (assoc-ref inputs "imagemagick")))
8982 ;; eimp.el is read-only in git.
8983 (chmod "eimp.el" #o644)
8984 (emacs-substitute-variables "eimp.el"
8985 ("eimp-mogrify-program"
8986 (string-append imagemagick "/bin/mogrify"))))
8987 #t)))))
8988 (inputs
8989 `(("imagemagick" ,imagemagick)))
8990 (home-page "https://github.com/nicferrier/eimp")
8991 (synopsis "Interactive image manipulation utility for Emacs")
8992 (description "@code{emacs-eimp} allows interactive image manipulation
8993 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
8994 the actual transformations.")
8995 (license license:gpl2+))))
8996
8997 (define-public emacs-dired-hacks
8998 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
8999 (revision "2"))
9000 (package
9001 (name "emacs-dired-hacks")
9002 (version (git-version "0.0.1" revision commit))
9003 (source (origin
9004 (method git-fetch)
9005 (uri (git-reference
9006 (url "https://github.com/Fuco1/dired-hacks.git")
9007 (commit commit)))
9008 (file-name (git-file-name name version))
9009 (sha256
9010 (base32
9011 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
9012 (build-system emacs-build-system)
9013 (propagated-inputs
9014 `(("emacs-dash" ,emacs-dash)
9015 ("emacs-eimp" ,emacs-eimp)
9016 ("emacs-f" ,emacs-f)
9017 ("emacs-s" ,emacs-s)))
9018 (home-page "https://github.com/Fuco1/dired-hacks")
9019 (synopsis
9020 "Collection of useful dired additions")
9021 (description
9022 "This package provides the following collection of Emacs dired mode
9023 additions:
9024
9025 @itemize
9026 @item dired-avfs
9027 @item dired-columns
9028 @item dired-filter
9029 @item dired-hacks-utils
9030 @item dired-images
9031 @item dired-list
9032 @item dired-narrow
9033 @item dired-open
9034 @item dired-rainbow
9035 @item dired-ranger
9036 @item dired-subtree
9037 @item dired-tagsistant
9038 @end itemize\n")
9039 (license license:gpl3+))))
9040
9041 (define-public emacs-dired-sidebar
9042 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
9043 (revision "0"))
9044 (package
9045 (name "emacs-dired-sidebar")
9046 (home-page "https://github.com/jojojames/dired-sidebar")
9047 (version (git-version "0.0.1" revision commit))
9048 (source (origin
9049 (method git-fetch)
9050 (uri (git-reference (url home-page) (commit commit)))
9051 (file-name (git-file-name name version))
9052 (sha256
9053 (base32
9054 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
9055 (build-system emacs-build-system)
9056 (propagated-inputs
9057 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
9058 (synopsis "Sidebar for Emacs using Dired")
9059 (description
9060 "This package provides a sidebar for Emacs similar to @code{NeoTree}
9061 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
9062 (license license:gpl3+))))
9063
9064 (define-public emacs-which-key
9065 (package
9066 (name "emacs-which-key")
9067 (version "3.3.1")
9068 (source
9069 (origin
9070 (method git-fetch)
9071 (uri (git-reference
9072 (url "https://github.com/justbur/emacs-which-key.git")
9073 (commit (string-append "v" version))))
9074 (file-name (git-file-name name version))
9075 (sha256
9076 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
9077 (build-system emacs-build-system)
9078 (arguments
9079 `(#:tests? #t
9080 #:test-command '("emacs" "--batch"
9081 "-l" "which-key-tests.el"
9082 "-f" "ert-run-tests-batch-and-exit")))
9083 (home-page "https://github.com/justbur/emacs-which-key")
9084 (synopsis "Display available key bindings in popup")
9085 (description
9086 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
9087 bindings following your currently entered incomplete command (a prefix) in a
9088 popup. For example, after enabling the minor mode if you enter C-x and wait
9089 for the default of 1 second, the minibuffer will expand with all of the
9090 available key bindings that follow C-x (or as many as space allows given your
9091 settings).")
9092 (license license:gpl3+)))
9093
9094 (define-public emacs-hercules
9095 (let ((commit "3345904a0dab4c7a4d4478f0766f1d9f5d1bb501")
9096 (revision "1"))
9097 (package
9098 (name "emacs-hercules")
9099 (version (git-version "0.2" revision commit))
9100 (source
9101 (origin
9102 (method git-fetch)
9103 (uri (git-reference
9104 (url "https://gitlab.com/jjzmajic/hercules.el.git")
9105 (commit commit)))
9106 (file-name (git-file-name name version))
9107 (sha256
9108 (base32 "0cpq8h6l47nqhzch6snax5yrhxl8p4wn35q13ci35lj3iq8kmlk8"))))
9109 (build-system emacs-build-system)
9110 (propagated-inputs
9111 `(("emacs-which-key" ,emacs-which-key)))
9112 (home-page "https://gitlab.com/jjzmajic/hercules.el")
9113 (synopsis "Call a chain of related commands without repeated prefix keys")
9114 (description
9115 "This package provides sticky-key-like functionality to obviate the
9116 need for repeated prefix-key sequences, and can reuse existing keymaps. The
9117 list of commands is displayed in a handy popup.")
9118 (license license:gpl3+))))
9119
9120 (define-public emacs-ws-butler
9121 (package
9122 (name "emacs-ws-butler")
9123 (version "0.6")
9124 (source (origin
9125 (method git-fetch)
9126 (uri (git-reference
9127 (url "https://github.com/lewang/ws-butler.git")
9128 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
9129 (file-name (git-file-name name version))
9130 (sha256
9131 (base32
9132 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
9133 (build-system emacs-build-system)
9134 (native-inputs
9135 `(("ert-runner" ,emacs-ert-runner)))
9136 (arguments
9137 `(#:tests? #t
9138 #:test-command '("ert-runner" "tests")))
9139 (home-page "https://github.com/lewang/ws-butler")
9140 (synopsis "Trim spaces from end of lines")
9141 (description
9142 "This Emacs package automatically and unobtrusively trims whitespace
9143 characters from end of lines.")
9144 (license license:gpl3+)))
9145
9146 (define-public emacs-org-edit-latex
9147 (package
9148 (name "emacs-org-edit-latex")
9149 (version "0.8.0")
9150 (source
9151 (origin
9152 (method git-fetch)
9153 (uri (git-reference
9154 (url "https://github.com/et2010/org-edit-latex.git")
9155 (commit (string-append "v" version))))
9156 (file-name (git-file-name name version))
9157 (sha256
9158 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
9159 (build-system emacs-build-system)
9160 (propagated-inputs
9161 `(("emacs-auctex" ,emacs-auctex)
9162 ;; The version of org in Emacs 25.2 is not sufficient, because the
9163 ;; `org-latex-make-preamble' function is required.
9164 ("emacs-org" ,emacs-org)))
9165 (home-page "https://github.com/et2010/org-edit-latex")
9166 (synopsis "Edit a latex fragment just like editing a src block")
9167 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
9168 It lets you edit a latex fragment in a dedicated buffer just like editing a
9169 src block.")
9170 (license license:gpl3+)))
9171
9172 (define-public emacs-emamux
9173 (package
9174 (name "emacs-emamux")
9175 (version "0.14")
9176 (source
9177 (origin
9178 (method git-fetch)
9179 (uri (git-reference
9180 (url "https://github.com/syohex/emacs-emamux.git")
9181 (commit version)))
9182 (file-name (git-file-name name version))
9183 (sha256
9184 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
9185 (build-system emacs-build-system)
9186 (home-page "https://github.com/syohex/emacs-emamux")
9187 (synopsis "Manipulate Tmux from Emacs")
9188 (description
9189 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
9190 multiplexer.")
9191 (license license:gpl3+)))
9192
9193 (define-public emacs-rpm-spec-mode
9194 (package
9195 (name "emacs-rpm-spec-mode")
9196 (version "0.16")
9197 (source
9198 (origin
9199 (method url-fetch)
9200 ;; URI has the Fedora release number instead of the version
9201 ;; number. This will have to updated manually every new release.
9202 (uri (string-append
9203 "https://src.fedoraproject.org/cgit/rpms"
9204 "/emacs-rpm-spec-mode.git/snapshot"
9205 "/emacs-rpm-spec-mode-f26.tar.gz"))
9206 (sha256
9207 (base32
9208 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
9209 (build-system emacs-build-system)
9210 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
9211 (synopsis "Emacs major mode for editing RPM spec files")
9212 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
9213 editing RPM spec files.")
9214 (license license:gpl2+)))
9215
9216 (define-public emacs-lcr
9217 (package
9218 (name "emacs-lcr")
9219 (version "1.1")
9220 (source
9221 (origin
9222 (method git-fetch)
9223 (uri (git-reference
9224 (url "https://github.com/jyp/lcr")
9225 (commit version)))
9226 (file-name (git-file-name name version))
9227 (sha256
9228 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
9229 (build-system emacs-build-system)
9230 (propagated-inputs
9231 `(("emacs-dash" ,emacs-dash)))
9232 (home-page "https://github.com/jyp/lcr")
9233 (synopsis "Lightweight coroutines in Emacs Lisp")
9234 (description "This package provides macros that can translate code into
9235 equivalent continuation-passing code, as well as miscellaneous utility
9236 functions written in continuation-passing style.")
9237 (license license:gpl3+)))
9238
9239 (define-public emacs-attrap
9240 (let ((commit "3b092bb8f6755a97e6ecb7623b9d2dde58beba4a")
9241 (revision "1"))
9242 (package
9243 (name "emacs-attrap")
9244 (version (git-version "1.0" revision commit))
9245 (source (origin
9246 (method git-fetch)
9247 (uri (git-reference
9248 (url "https://github.com/jyp/attrap")
9249 (commit commit)))
9250 (sha256
9251 (base32
9252 "05d32980saji8ja1pcv65l0s3dq7w0n5hpikbf246hciy1x067pp"))
9253 (file-name (git-file-name name version))))
9254 (build-system emacs-build-system)
9255 (propagated-inputs
9256 `(("emacs-dash" ,emacs-dash)
9257 ("emacs-f" ,emacs-f)
9258 ("emacs-flycheck" ,emacs-flycheck)
9259 ("emacs-s" ,emacs-s)))
9260 (home-page "https://github.com/jyp/attrap")
9261 (synopsis "Fix coding error at point")
9262 (description "This package provides a command to fix the Flycheck error
9263 at point.")
9264 (license license:gpl3+))))
9265
9266 (define-public emacs-git-messenger
9267 (package
9268 (name "emacs-git-messenger")
9269 (version "0.18")
9270 (source
9271 (origin
9272 (method git-fetch)
9273 (uri (git-reference
9274 (url "https://github.com/syohex/emacs-git-messenger.git")
9275 (commit version)))
9276 (file-name (git-file-name name version))
9277 (sha256
9278 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
9279 (build-system emacs-build-system)
9280 (propagated-inputs
9281 `(("emacs-popup" ,emacs-popup)))
9282 (arguments
9283 `(#:tests? #t
9284 #:test-command '("emacs" "--batch" "-l" "test/test.el"
9285 "-f" "ert-run-tests-batch-and-exit")))
9286 (home-page "https://github.com/syohex/emacs-git-messenger")
9287 (synopsis "Popup commit message at current line")
9288 (description "@code{emacs-git-messenger} provides
9289 @code{git-messenger:popup-message}, a function that when called, will popup
9290 the last git commit message for the current line. This uses git-blame
9291 internally.")
9292 (license license:gpl3+)))
9293
9294 (define-public emacs-gitpatch
9295 (package
9296 (name "emacs-gitpatch")
9297 (version "0.5.1")
9298 (source
9299 (origin
9300 (method git-fetch)
9301 (uri (git-reference
9302 (url "https://github.com/tumashu/gitpatch.git")
9303 (commit (string-append "v" version))))
9304 (file-name (git-file-name name version))
9305 (sha256
9306 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
9307 (build-system emacs-build-system)
9308 (home-page "https://github.com/tumashu/gitpatch")
9309 (synopsis "Mail git patch from Emacs")
9310 (description "@code{emacs-gitpatch} lets users easily send git patches,
9311 created by @code{git format-patch}, from @code{magit}, @code{dired} and
9312 @code{ibuffer} buffers.")
9313 (license license:gpl3+)))
9314
9315 (define-public emacs-erc-hl-nicks
9316 (package
9317 (name "emacs-erc-hl-nicks")
9318 (version "1.3.3")
9319 (source
9320 (origin
9321 (method git-fetch)
9322 (uri (git-reference
9323 (url "https://github.com/leathekd/erc-hl-nicks")
9324 (commit version)))
9325 (file-name (git-file-name name version))
9326 (sha256
9327 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
9328 (build-system emacs-build-system)
9329 (synopsis "Nickname highlighting for Emacs ERC")
9330 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
9331 client for Emacs. The main features are:
9332 @itemize
9333 @item Auto-colorizes nicknames without having to specify colors
9334 @item Ignores certain characters that IRC clients add to nicknames to avoid
9335 duplicates (nickname, nickname’, nickname\", etc.)
9336 @item Attempts to produce colors with a sufficient amount of contrast between
9337 the nick color and the background color
9338 @end itemize\n")
9339 (home-page "https://github.com/leathekd/erc-hl-nicks")
9340 (license license:gpl3+)))
9341
9342 (define-public emacs-engine-mode
9343 (package
9344 (name "emacs-engine-mode")
9345 (version "2.0.0")
9346 (source
9347 (origin
9348 (method git-fetch)
9349 (uri (git-reference
9350 (url "https://github.com/hrs/engine-mode.git")
9351 (commit (string-append "v" version))))
9352 (file-name (git-file-name name version))
9353 (sha256
9354 (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"))))
9355 (build-system emacs-build-system)
9356 (synopsis "Minor mode for defining and querying search engines")
9357 (description "@code{engine-mode} is a global minor mode for Emacs. It
9358 enables you to easily define search engines, bind them to keybindings, and
9359 query them from the comfort of your editor.")
9360 (home-page "https://github.com/hrs/engine-mode")
9361 (license license:gpl3+)))
9362
9363 (define-public emacs-prop-menu
9364 (package
9365 (name "emacs-prop-menu")
9366 (version "0.1.2")
9367 (source
9368 (origin
9369 (method url-fetch)
9370 (uri (string-append
9371 "http://stable.melpa.org/packages/prop-menu-"
9372 version ".el"))
9373 (sha256
9374 (base32
9375 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
9376 (build-system emacs-build-system)
9377 (home-page
9378 "https://github.com/david-christiansen/prop-menu-el")
9379 (synopsis
9380 "Create and display a context menu based on text and overlay properties")
9381 (description
9382 "This is a library for computing context menus based on text
9383 properties and overlays. The intended use is to have tools that
9384 annotate source code and others that use these annotations, without
9385 requiring a direct coupling between them, but maintaining
9386 discoverability.
9387
9388 Major modes that wish to use this library should first define an
9389 appropriate value for @code{prop-menu-item-functions}. Then, they should
9390 bind @code{prop-menu-by-completing-read} to an appropriate
9391 key. Optionally, a mouse pop-up can be added by binding
9392 @code{prop-menu-show-menu} to a mouse event.")
9393 (license license:gpl3+)))
9394
9395 (define-public emacs-idris-mode
9396 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
9397 (revision "0"))
9398 (package
9399 (name "emacs-idris-mode")
9400 (version (git-version "0.9.19" revision commit))
9401 (source
9402 (origin
9403 (method git-fetch)
9404 (uri (git-reference
9405 (url "https://github.com/idris-hackers/idris-mode.git")
9406 (commit commit)))
9407 (file-name (git-file-name name commit))
9408 (sha256
9409 (base32
9410 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
9411 (build-system emacs-build-system)
9412 (propagated-inputs
9413 `(("emacs-prop-menu" ,emacs-prop-menu)))
9414 (home-page
9415 "https://github.com/idris-hackers/idris-mode")
9416 (synopsis "Major mode for editing Idris code")
9417 (description
9418 "This is an Emacs mode for editing Idris code. It requires the latest
9419 version of Idris, and some features may rely on the latest Git version of
9420 Idris.")
9421 (license license:gpl3+))))
9422
9423 (define-public emacs-browse-at-remote
9424 (package
9425 (name "emacs-browse-at-remote")
9426 (version "0.10.0")
9427 (source
9428 (origin
9429 (method git-fetch)
9430 (uri (git-reference
9431 (url "https://github.com/rmuslimov/browse-at-remote.git")
9432 (commit version)))
9433 (file-name (git-file-name name version))
9434 (sha256
9435 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
9436 (build-system emacs-build-system)
9437 (propagated-inputs
9438 `(("emacs-f" ,emacs-f)
9439 ("emacs-s" ,emacs-s)))
9440 (native-inputs
9441 `(("ert-runner" ,emacs-ert-runner)))
9442 (arguments
9443 `(#:tests? #t
9444 #:test-command '("ert-runner")))
9445 (home-page "https://github.com/rmuslimov/browse-at-remote")
9446 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
9447 (description
9448 "This Emacs package allows you to open a target page on
9449 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
9450 It supports dired buffers and opens them in tree mode at destination.")
9451 (license license:gpl3+)))
9452
9453 (define-public emacs-tiny
9454 (package
9455 (name "emacs-tiny")
9456 (version "0.2.1")
9457 (source
9458 (origin
9459 (method url-fetch)
9460 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
9461 (sha256
9462 (base32
9463 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
9464 (build-system emacs-build-system)
9465 (home-page "https://github.com/abo-abo/tiny")
9466 (synopsis "Quickly generate linear ranges in Emacs")
9467 (description
9468 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
9469 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
9470 proficiency is an advantage, since you can transform your numeric range with
9471 an elisp expression.")
9472 (license license:gpl3+)))
9473
9474 (define-public emacs-emojify
9475 (package
9476 (name "emacs-emojify")
9477 (version "1.2")
9478 (source
9479 (origin
9480 (method git-fetch)
9481 (uri (git-reference
9482 (url "https://github.com/iqbalansari/emacs-emojify")
9483 (commit (string-append "v" version))))
9484 (file-name (git-file-name name version))
9485 (sha256
9486 (base32
9487 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
9488 (build-system emacs-build-system)
9489 (arguments
9490 `(#:include (cons "^data/" %default-include)))
9491 (propagated-inputs
9492 `(("emacs-ht" ,emacs-ht)))
9493 (home-page "https://github.com/iqbalansari/emacs-emojify")
9494 (synopsis "Display emojis in Emacs")
9495 (description "This package displays emojis in Emacs similar to how Github,
9496 Slack, and other websites do. It can display plain ASCII like @code{:)} as
9497 well as Github-style emojis like @code{:smile:}. It provides a minor mode
9498 @code{emojify-mode} to enable the display of emojis in a buffer.")
9499 (license license:gpl3+)))
9500
9501 (define-public emacs-make-it-so
9502 (let ((commit "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be")
9503 (version "0.1.0")
9504 (revision "1"))
9505 (package
9506 (name "emacs-make-it-so")
9507 (version (git-version version revision commit))
9508 (source
9509 (origin
9510 (method git-fetch)
9511 (uri (git-reference
9512 (url "https://github.com/abo-abo/make-it-so")
9513 (commit commit)))
9514 (sha256
9515 (base32
9516 "0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z"))))
9517 (build-system emacs-build-system)
9518 (arguments
9519 `(#:include (cons "^recipes/" %default-include)))
9520 (propagated-inputs
9521 `(("emacs-ivy" ,emacs-ivy)))
9522 (home-page "https://github.com/abo-abo/make-it-so")
9523 (synopsis "Transform files with Makefile recipes")
9524 (description "This package provides an interface for selecting from
9525 different conversion recipes, often including tools like @code{ffmpeg} or
9526 @code{convert}. The conversion command need only be written once, and
9527 subsequent invocations can be readily customized. Several recipes are
9528 included by default, and more can be readily added.")
9529 (license license:gpl3+))))
9530
9531 (define-public emacs-websocket
9532 (package
9533 (name "emacs-websocket")
9534 (version "1.10")
9535 (source
9536 (origin
9537 (method git-fetch)
9538 (uri (git-reference
9539 (url "https://github.com/ahyatt/emacs-websocket.git")
9540 (commit version)))
9541 (file-name (git-file-name name version))
9542 (sha256
9543 (base32
9544 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
9545 (build-system emacs-build-system)
9546 (home-page "http://elpa.gnu.org/packages/websocket.html")
9547 (synopsis "Emacs WebSocket client and server")
9548 (description "This is an Elisp library for WebSocket clients to talk to
9549 WebSocket servers, and for WebSocket servers to accept connections from
9550 WebSocket clients. This library is designed to be used by other library
9551 writers, to write applications that use WebSockets, and is not useful by
9552 itself.")
9553 (license license:gpl3+)))
9554
9555 (define-public emacs-oauth2
9556 (package
9557 (name "emacs-oauth2")
9558 (version "0.11")
9559 (source
9560 (origin
9561 (method url-fetch)
9562 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
9563 version ".el"))
9564 (sha256
9565 (base32
9566 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
9567 (build-system emacs-build-system)
9568 (home-page "http://elpa.gnu.org/packages/oauth2.html")
9569 (synopsis "OAuth 2.0 authorization protocol implementation")
9570 (description
9571 "This package provides an Elisp implementation of the OAuth 2.0 draft.
9572 The main entry point is @code{oauth2-auth-and-store} which will return a token
9573 structure. This token structure can be then used with
9574 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
9575 retrieve any data that need OAuth authentication to be accessed. If the token
9576 needs to be refreshed, the code handles it automatically and stores the new
9577 value of the access token.")
9578 (license license:gpl3+)))
9579
9580 (define-public emacs-circe
9581 (package
9582 (name "emacs-circe")
9583 (version "2.10")
9584 (source
9585 (origin
9586 (method git-fetch)
9587 (uri (git-reference
9588 (url "https://github.com/jorgenschaefer/circe.git")
9589 (commit (string-append "v" version))))
9590 (file-name (git-file-name name version))
9591 (sha256
9592 (base32
9593 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
9594 (build-system emacs-build-system)
9595 (arguments
9596 `(#:tests? #t
9597 #:test-command '("buttercup" "-L" ".")
9598 #:phases
9599 (modify-phases %standard-phases
9600 ;; The HOME environment variable should be set to an existing
9601 ;; directory for the tests to succeed.
9602 (add-before 'check 'set-home
9603 (lambda _
9604 (setenv "HOME" "/tmp")
9605 #t)))))
9606 (native-inputs
9607 `(("emacs-buttercup" ,emacs-buttercup)))
9608 ;; In order to securely connect to an IRC server using TLS, Circe requires
9609 ;; the GnuTLS binary.
9610 (propagated-inputs
9611 `(("gnutls" ,gnutls)))
9612 (home-page "https://github.com/jorgenschaefer/circe")
9613 (synopsis "Client for IRC in Emacs")
9614 (description "Circe is a Client for IRC in Emacs. It integrates well with
9615 the rest of the editor, using standard Emacs key bindings and indicating
9616 activity in channels in the status bar so it stays out of your way unless you
9617 want to use it.")
9618 (license license:gpl3+)))
9619
9620 (define-public emacs-tracking
9621 (package
9622 (inherit emacs-circe)
9623 (name "emacs-tracking")
9624 (arguments
9625 ;; "tracking.el" is a library extracted from Circe package. It requires
9626 ;; "shorten.el".
9627 `(#:include '("^shorten.el$" "^tracking.el$")
9628 ,@(package-arguments emacs-circe)))
9629 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
9630 (synopsis "Buffer tracking library")
9631 (description "@code{tracking.el} provides a way for different modes to
9632 notify the user that a buffer needs attention. The user then can cycle
9633 through them using @key{C-c C-SPC}.")
9634 (license license:gpl3+)))
9635
9636 (define-public emacs-slack
9637 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
9638 (revision "6"))
9639 (package
9640 (name "emacs-slack")
9641 (version (git-version "0.0.2" revision commit))
9642 (source (origin
9643 (method git-fetch)
9644 (uri (git-reference
9645 (url "https://github.com/yuya373/emacs-slack.git")
9646 (commit commit)))
9647 (file-name (git-file-name name commit))
9648 (sha256
9649 (base32
9650 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
9651 (build-system emacs-build-system)
9652 (arguments
9653 `(#:phases
9654 (modify-phases %standard-phases
9655 ;; HOME needs to exist for source compilation.
9656 (add-before 'build 'set-HOME
9657 (lambda _ (setenv "HOME" "/tmp") #t)))))
9658 (propagated-inputs
9659 `(("emacs-alert" ,emacs-alert)
9660 ("emacs-emojify" ,emacs-emojify)
9661 ("emacs-helm" ,emacs-helm)
9662 ("emacs-request" ,emacs-request)
9663 ("emacs-websocket" ,emacs-websocket)
9664 ("emacs-oauth2" ,emacs-oauth2)
9665 ("emacs-circe" ,emacs-circe)))
9666 (home-page "https://github.com/yuya373/emacs-slack")
9667 (synopsis "Slack client for Emacs")
9668 (description "This package provides an Emacs client for the Slack
9669 messaging service.")
9670 (license license:gpl3+))))
9671
9672 (define-public emacs-bash-completion
9673 (package
9674 (name "emacs-bash-completion")
9675 (version "2.1.0")
9676 (source
9677 (origin
9678 (method git-fetch)
9679 (uri (git-reference
9680 (url "https://github.com/szermatt/emacs-bash-completion.git")
9681 (commit version)))
9682 (file-name (git-file-name name version))
9683 (sha256
9684 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
9685 (inputs `(("bash" ,bash)))
9686 (build-system emacs-build-system)
9687 (arguments
9688 `(#:phases
9689 (modify-phases %standard-phases
9690 (add-after 'unpack 'make-git-checkout-writable
9691 (λ _
9692 (for-each make-file-writable (find-files "."))
9693 #t))
9694 (add-before 'install 'configure
9695 (lambda* (#:key inputs #:allow-other-keys)
9696 (let ((bash (assoc-ref inputs "bash")))
9697 (emacs-substitute-variables "bash-completion.el"
9698 ("bash-completion-prog" (string-append bash "/bin/bash"))))
9699 #t)))))
9700 (home-page "https://github.com/szermatt/emacs-bash-completion")
9701 (synopsis "Bash completion for the shell buffer")
9702 (description
9703 "@code{bash-completion} defines dynamic completion hooks for shell-mode
9704 and shell-command prompts that are based on Bash completion.")
9705 (license license:gpl2+)))
9706
9707 (define-public emacs-easy-kill
9708 (package
9709 (name "emacs-easy-kill")
9710 (version "0.9.3")
9711 (source (origin
9712 (method url-fetch)
9713 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
9714 version ".tar"))
9715 (sha256
9716 (base32
9717 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
9718 (build-system emacs-build-system)
9719 (home-page "https://github.com/leoliu/easy-kill")
9720 (synopsis "Kill and mark things easily in Emacs")
9721 (description
9722 "This package provides commands @code{easy-kill} and @code{easy-mark} to
9723 let users kill or mark things easily.")
9724 (license license:gpl3+)))
9725
9726 (define-public emacs-csv-mode
9727 (package
9728 (name "emacs-csv-mode")
9729 (version "1.7")
9730 (source
9731 (origin
9732 (method url-fetch)
9733 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
9734 version ".el"))
9735 (sha256
9736 (base32
9737 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
9738 (build-system emacs-build-system)
9739 (home-page
9740 "http://elpa.gnu.org/packages/csv-mode.html")
9741 (synopsis
9742 "Major mode for editing comma/char separated values")
9743 (description
9744 "This Emacs package implements CSV mode, a major mode for editing records
9745 in a generalized CSV (character-separated values) format.")
9746 (license license:gpl3+)))
9747
9748 (define-public emacs-transmission
9749 (package
9750 (name "emacs-transmission")
9751 (version "0.12.1")
9752 (source
9753 (origin
9754 (method git-fetch)
9755 (uri (git-reference
9756 (url "https://github.com/holomorph/transmission.git")
9757 (commit version)))
9758 (file-name (git-file-name name version))
9759 (sha256
9760 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
9761 (build-system emacs-build-system)
9762 (home-page "https://github.com/holomorph/transmission")
9763 (synopsis "Emacs interface to a Transmission session")
9764 (description "This package provides an Emacs interface to interact with a
9765 running session of the Transmission Bittorrent client.
9766
9767 Features:
9768
9769 @itemize
9770 @item List, add, start/stop, verify, remove torrents.
9771 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
9772 @item Navigate to the corresponding file list, torrent info, peer info
9773 contexts.
9774 @item Toggle downloading and set priorities for individual files.
9775 @end itemize\n")
9776 (license license:gpl3+)))
9777
9778 (define-public emacs-polymode
9779 (package
9780 (name "emacs-polymode")
9781 (version "0.2")
9782 (source (origin
9783 (method git-fetch)
9784 (uri (git-reference
9785 (url "https://github.com/polymode/polymode.git")
9786 (commit (string-append "v" version))))
9787 (file-name (git-file-name name version))
9788 (sha256
9789 (base32
9790 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
9791 (build-system emacs-build-system)
9792 (home-page "https://github.com/polymode/polymode")
9793 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
9794 (description
9795 "Polymode is an Emacs package that offers generic support for multiple
9796 major modes inside a single Emacs buffer. It is lightweight, object oriented
9797 and highly extensible. Creating a new polymode typically takes only a few
9798 lines of code. Polymode also provides extensible facilities for external
9799 literate programming tools for exporting, weaving and tangling.")
9800 (license license:gpl3+)))
9801
9802 (define-public emacs-polymode-ansible
9803 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
9804 (package
9805 (name "emacs-polymode-ansible")
9806 ;; No upstream version release yet.
9807 (version (git-version "0.1" "1" commit))
9808 (source
9809 (origin
9810 (method git-fetch)
9811 (uri (git-reference
9812 (url "https://gitlab.com/mavit/poly-ansible")
9813 (commit commit)))
9814 (file-name (git-file-name name version))
9815 (sha256
9816 (base32
9817 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
9818 (build-system emacs-build-system)
9819 (propagated-inputs
9820 `(("emacs-ansible-doc" ,emacs-ansible-doc)
9821 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
9822 ("emacs-polymode" ,emacs-polymode)
9823 ("emacs-yaml-mode" ,emacs-yaml-mode)))
9824 (properties '((upstream-name . "poly-ansible")))
9825 (home-page "https://gitlab.com/mavit/poly-ansible/")
9826 (synopsis "Polymode for Ansible - Jinja2 in YAML")
9827 (description
9828 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
9829 (license license:gpl3+))))
9830
9831 (define-public emacs-polymode-org
9832 (package
9833 (name "emacs-polymode-org")
9834 (version "0.2")
9835 (source
9836 (origin
9837 (method git-fetch)
9838 (uri (git-reference
9839 (url "https://github.com/polymode/poly-org.git")
9840 (commit (string-append "v" version))))
9841 (file-name (git-file-name name version))
9842 (sha256
9843 (base32
9844 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
9845 (build-system emacs-build-system)
9846 (propagated-inputs
9847 `(("emacs-polymode" ,emacs-polymode)))
9848 (properties '((upstream-name . "poly-org")))
9849 (home-page "https://github.com/polymode/poly-org")
9850 (synopsis "Polymode definitions for Org mode buffers")
9851 (description
9852 "Provides definitions for @code{emacs-polymode} to support
9853 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
9854 native modes of the blocks' languages while remaining inside the primary Org
9855 buffer.")
9856 (license license:gpl3+)))
9857
9858 (define-public eless
9859 (package
9860 (name "eless")
9861 (version "0.3")
9862 (source
9863 (origin
9864 (method git-fetch)
9865 (uri (git-reference
9866 (url "https://github.com/kaushalmodi/eless.git")
9867 (commit (string-append "v" version))))
9868 (file-name (git-file-name name version))
9869 (sha256
9870 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
9871 (build-system trivial-build-system)
9872 (inputs
9873 `(("bash" ,bash)))
9874 (arguments
9875 `(#:modules ((guix build utils))
9876 #:builder
9877 (begin
9878 (use-modules (guix build utils))
9879 (copy-recursively (assoc-ref %build-inputs "source") "source")
9880 (chdir "source")
9881 (substitute* "eless" (("/usr/bin/env bash")
9882 (string-append (assoc-ref %build-inputs "bash")
9883 "/bin/bash")))
9884 (install-file "eless" (string-append %output "/bin"))
9885 (install-file "doc/eless.info" (string-append %output "/share/info"))
9886 #t)))
9887 (home-page "https://github.com/kaushalmodi/eless")
9888 (synopsis "Use Emacs as a paginator")
9889 (description "@code{eless} provides a combination of Bash script
9890 and a minimal Emacs view-mode.
9891
9892 Feautures:
9893
9894 @itemize
9895 @item Independent of a user’s Emacs config.
9896 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
9897 @item Not require an Emacs server to be already running.
9898 @item Syntax highlighting.
9899 @item Org-mode file rendering.
9900 @item @code{man} page viewer.
9901 @item Info viewer.
9902 @item Dired, wdired, (batch edit symbolic links).
9903 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
9904 @item Filter log files lines matching a regexp.
9905 @item Auto-revert log files similar to @code{tail -f}.
9906 @item Quickly change frame and font sizes.
9907 @end itemize\n")
9908 (license license:expat)))
9909
9910 (define-public emacs-evil-matchit
9911 (package
9912 (name "emacs-evil-matchit")
9913 (version "2.3.3")
9914 (source
9915 (origin
9916 (method git-fetch)
9917 (uri (git-reference
9918 (url "https://github.com/redguardtoo/evil-matchit.git")
9919 (commit version)))
9920 (file-name (git-file-name name version))
9921 (sha256
9922 (base32 "04kllxd7vvziwqiff3vx60a0r6805wynsla73j8xkcz4yzk8q91r"))))
9923 (build-system emacs-build-system)
9924 (propagated-inputs
9925 `(("emacs-evil" ,emacs-evil)))
9926 (home-page "https://github.com/redguardtoo/evil-matchit")
9927 (synopsis "Vim matchit ported into Emacs")
9928 (description
9929 "@code{evil-matchit} is a minor mode for jumping between matching tags in
9930 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
9931 (license license:gpl3+)))
9932
9933 (define-public emacs-evil-smartparens
9934 (package
9935 (name "emacs-evil-smartparens")
9936 (version "0.4.0")
9937 (source
9938 (origin
9939 (method git-fetch)
9940 (uri (git-reference
9941 (url "https://github.com/expez/evil-smartparens.git")
9942 (commit version)))
9943 (file-name (git-file-name name version))
9944 (sha256
9945 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
9946 (build-system emacs-build-system)
9947 (propagated-inputs
9948 `(("emacs-evil" ,emacs-evil)
9949 ("emacs-smartparens" ,emacs-smartparens)))
9950 (home-page "https://github.com/expez/evil-smartparens")
9951 (synopsis "Emacs Evil integration for Smartparens")
9952 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
9953 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
9954 emulates Vim features and provides Vim-like key bindings.")
9955 (license license:gpl3+)))
9956
9957 (define-public emacs-evil-quickscope
9958 (package
9959 (name "emacs-evil-quickscope")
9960 (version "0.1.4")
9961 (source
9962 (origin
9963 (method git-fetch)
9964 (uri (git-reference
9965 (url "https://github.com/blorbx/evil-quickscope.git")
9966 (commit (string-append "v" version))))
9967 (file-name (git-file-name name version))
9968 (sha256
9969 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
9970 (build-system emacs-build-system)
9971 (propagated-inputs
9972 `(("emacs-evil" ,emacs-evil)))
9973 (arguments
9974 `(#:tests? #t
9975 #:test-command '("emacs" "--batch"
9976 "-l" "evil-quickscope-tests.el"
9977 "-f" "ert-run-tests-batch-and-exit")))
9978 (home-page "https://github.com/blorbx/evil-quickscope")
9979 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
9980 (description "@code{emacs-evil-quickscope} highlights targets for Evil
9981 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
9982 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
9983 features and provides Vim-like key bindings.")
9984 (license license:gpl3+)))
9985
9986 (define-public emacs-bongo
9987 (package
9988 (name "emacs-bongo")
9989 (version "1.0")
9990 (source
9991 (origin
9992 (method git-fetch)
9993 (uri (git-reference
9994 (url "https://github.com/dbrock/bongo.git")
9995 (commit version)))
9996 (file-name (git-file-name name version))
9997 (sha256
9998 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
9999 (build-system emacs-build-system)
10000 (home-page "https://github.com/dbrock/bongo")
10001 (synopsis "Media player for Emacs")
10002 (description
10003 "This package provides a flexible media player for Emacs. @code{Bongo}
10004 supports multiple backends such as @code{vlc}, @code{mpg123},
10005 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
10006 @code{afplay}.")
10007 (license license:gpl2+)))
10008
10009 (define-public emacs-groovy-modes
10010 (package
10011 (name "emacs-groovy-modes")
10012 (version "2.0")
10013 (source (origin
10014 (method url-fetch)
10015 (uri (string-append
10016 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
10017 "/archive/" version ".tar.gz"))
10018 (file-name (string-append name "-" version ".tar.gz"))
10019 (sha256
10020 (base32
10021 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
10022 (build-system emacs-build-system)
10023 (propagated-inputs
10024 `(("emacs-s" ,emacs-s)))
10025 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
10026 (synopsis "Groovy related modes for Emacs")
10027 (description
10028 "This package provides @code{groovy-mode} for syntax highlighting in
10029 Groovy source files, REPL integration with run-groovy and Grails project
10030 navigation with the grails mode.")
10031 (license license:gpl3+)))
10032
10033 (define-public groovy-emacs-modes
10034 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
10035
10036 (define-public emacs-org-tree-slide
10037 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
10038 (revision "0"))
10039 (package
10040 (name "emacs-org-tree-slide")
10041 (version (git-version "0.1" revision commit))
10042 (home-page "https://github.com/takaxp/org-tree-slide")
10043 (source (origin
10044 (method git-fetch)
10045 (uri (git-reference (url home-page) (commit commit)))
10046 (sha256
10047 (base32
10048 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
10049 (file-name (git-file-name name version))))
10050 (build-system emacs-build-system)
10051 (synopsis "Presentation tool for org-mode")
10052 (description
10053 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
10054 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
10055 @kbd{C-<} to jump to the next and previous slide.")
10056 (license license:gpl3+))))
10057
10058 (define-public emacs-scratch-el
10059 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
10060 (revision "1"))
10061 (package
10062 (name "emacs-scratch-el")
10063 (version (git-version "1.2" revision commit))
10064 (source (origin
10065 (method git-fetch)
10066 (uri (git-reference
10067 (url "https://github.com/ieure/scratch-el.git")
10068 (commit commit)))
10069 (file-name (git-file-name name version))
10070 (sha256
10071 (base32
10072 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
10073 (build-system emacs-build-system)
10074 (native-inputs
10075 `(("texinfo" ,texinfo)))
10076 (arguments
10077 '(#:phases
10078 (modify-phases %standard-phases
10079 (add-after 'install 'install-doc
10080 (lambda* (#:key outputs #:allow-other-keys)
10081 (unless (invoke "makeinfo" "scratch.texi")
10082 (error "makeinfo failed"))
10083 (install-file "scratch.info"
10084 (string-append (assoc-ref outputs "out")
10085 "/share/info"))
10086 #t)))))
10087 (home-page "https://github.com/ieure/scratch-el/")
10088 (synopsis "Create scratch buffers with the same mode as current buffer")
10089 (description "Scratch is an extension to Emacs that enables one to create
10090 scratch buffers that are in the same mode as the current buffer. This is
10091 notably useful when working on code in some language; you may grab code into a
10092 scratch buffer, and, by virtue of this extension, do so using the Emacs
10093 formatting rules for that language.")
10094 (license license:bsd-2))))
10095
10096 (define-public emacs-kv
10097 (package
10098 (name "emacs-kv")
10099 (version "0.0.19")
10100 (source
10101 (origin
10102 (method git-fetch)
10103 (uri (git-reference
10104 (url "https://github.com/nicferrier/emacs-kv.git")
10105 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
10106 (file-name (git-file-name name version))
10107 (sha256
10108 (base32
10109 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
10110 (build-system emacs-build-system)
10111 (arguments
10112 `(#:tests? #t
10113 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
10114 "-f" "ert-run-tests-batch-and-exit")))
10115 (home-page "https://github.com/nicferrier/emacs-kv")
10116 (synopsis "Key/Value data structures library for Emacs Lisp")
10117 (description "@code{emacs-kv} is a collection of tools for dealing with
10118 key/value data structures such as plists, alists and hash-tables in Emacs
10119 Lisp.")
10120 (license license:gpl3+)))
10121
10122 (define-public emacs-esxml
10123 (package
10124 (name "emacs-esxml")
10125 (version "0.3.4")
10126 (source (origin
10127 (method git-fetch)
10128 (uri (git-reference
10129 (url "https://github.com/tali713/esxml.git")
10130 (commit version)))
10131 (file-name (git-file-name name version))
10132 (sha256
10133 (base32
10134 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
10135 (build-system emacs-build-system)
10136 (arguments
10137 `(#:phases
10138 (modify-phases %standard-phases
10139 (add-after 'unpack 'fix-sources
10140 (lambda _
10141 ;; See: https://github.com/tali713/esxml/pull/28.
10142 (substitute* "css-lite.el"
10143 ((";;; main interface")
10144 (string-append ";;; main interface\n"
10145 "(require 'cl-lib)"))
10146 (("mapcan")
10147 "cl-mapcan")
10148 (("',\\(cl-mapcan #'process-css-rule rules\\)")
10149 "(cl-mapcan #'process-css-rule ',rules)"))
10150 (substitute* "esxml-form.el"
10151 ((",esxml-form-field-defn")
10152 "#'esxml-form-field-defn"))
10153 ;; See: https://github.com/tali713/esxml/issues/25
10154 (delete-file "esxpath.el")
10155 #t)))))
10156 (propagated-inputs
10157 `(("emacs-kv" ,emacs-kv)))
10158 (home-page "https://github.com/tali713/esxml/")
10159 (synopsis "SXML for EmacsLisp")
10160 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
10161 Simply, this is the easiest way to write HTML or XML in Lisp. This library
10162 uses the native form of XML representation as used by many libraries already
10163 included within Emacs. See @code{esxml-to-xml} for a concise description of
10164 the format.")
10165 (license license:gpl3+)))
10166
10167 (define-public emacs-nov-el
10168 (package
10169 (name "emacs-nov-el")
10170 (version "0.2.6")
10171 (source (origin
10172 (method git-fetch)
10173 (uri (git-reference
10174 (url "https://github.com/wasamasa/nov.el.git")
10175 (commit version)))
10176 (file-name (git-file-name name version))
10177 (sha256
10178 (base32
10179 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
10180 (build-system emacs-build-system)
10181 (arguments
10182 `(#:phases
10183 (modify-phases %standard-phases
10184 (add-after 'unpack 'embed-path-to-unzip
10185 (lambda _
10186 (substitute* "nov.el"
10187 (("\\(executable-find \"unzip\"\\)")
10188 (string-append "\"" (which "unzip") "\"")))
10189 #t)))))
10190 (propagated-inputs
10191 `(("emacs-dash" ,emacs-dash)
10192 ("emacs-esxml" ,emacs-esxml)))
10193 (inputs
10194 `(("unzip" ,unzip)))
10195 (home-page "https://github.com/wasamasa/nov.el/")
10196 (synopsis "Major mode for reading EPUBs in Emacs")
10197 (description "@code{nov.el} provides a major mode for reading EPUB
10198 documents.
10199
10200 Features:
10201
10202 @itemize
10203 @item Basic navigation (jump to TOC, previous/next chapter)
10204 @item Remembering and restoring the last read position
10205 @item Jump to next chapter when scrolling beyond end
10206 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
10207 @item Hyperlinks to internal and external targets
10208 @item Supports textual and image documents
10209 @item View source of document files
10210 @item Metadata display
10211 @item Image rescaling
10212 @end itemize
10213 ")
10214 (license license:gpl3+)))
10215
10216 (define-public epipe
10217 (package
10218 (name "epipe")
10219 (version "0.1.0")
10220 (source
10221 (origin
10222 (method git-fetch)
10223 (uri (git-reference
10224 (url "https://github.com/cute-jumper/epipe.git")
10225 (commit version)))
10226 (file-name (git-file-name name version))
10227 (sha256
10228 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
10229 (build-system trivial-build-system)
10230 (inputs
10231 `(("bash" ,bash)
10232 ("perl" ,perl)))
10233 (arguments
10234 `(#:modules
10235 ((guix build utils))
10236 #:builder
10237 (begin
10238 (use-modules (guix build utils))
10239 ;; Extract source.
10240 (copy-recursively (assoc-ref %build-inputs "source") "source")
10241 (chdir "source")
10242 ;; Patch shebangs.
10243 (substitute* "epipe"
10244 (("/usr/bin/env bash")
10245 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
10246 (patch-shebang "epipe.pl"
10247 (list (string-append (assoc-ref %build-inputs "perl")
10248 "/bin")))
10249 ;; Install.
10250 (for-each (lambda (file)
10251 (install-file file (string-append %output "/bin")))
10252 '("epipe" "epipe.pl"))
10253 #t)))
10254 (home-page "https://github.com/cute-jumper/epipe")
10255 (synopsis "Pipe to the @code{emacsclient}")
10256 (description "@code{epipe} provides an utility to use your editor in
10257 the pipeline, featuring the support for running @code{emacsclient}.")
10258 (license license:gpl3+)))
10259
10260 (define-public emacs-hcl-mode
10261 (package
10262 (name "emacs-hcl-mode")
10263 (version "0.03")
10264 (source
10265 (origin
10266 (method git-fetch)
10267 (uri (git-reference
10268 (url "https://github.com/syohex/emacs-hcl-mode.git")
10269 (commit version)))
10270 (file-name (git-file-name name version))
10271 (sha256
10272 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
10273 (build-system emacs-build-system)
10274 (home-page "https://github.com/syohex/emacs-hcl-mode")
10275 (synopsis "Major mode for the Hashicorp Configuration Language")
10276 (description
10277 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
10278 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
10279 highlighting and indentation support.")
10280 (license license:gpl3+)))
10281
10282 (define-public emacs-terraform-mode
10283 (package
10284 (name "emacs-terraform-mode")
10285 (version "0.06")
10286 (source
10287 (origin
10288 (method git-fetch)
10289 (uri (git-reference
10290 (url "https://github.com/syohex/emacs-terraform-mode.git")
10291 (commit version)))
10292 (file-name (git-file-name name version))
10293 (sha256
10294 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
10295 (build-system emacs-build-system)
10296 (propagated-inputs
10297 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
10298 (home-page "https://github.com/syohex/emacs-terraform-mode")
10299 (synopsis "Major mode for Terraform")
10300 (description
10301 "@code{emacs-terraform-mode} provides a major mode for working with
10302 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
10303 functionality is inherited from @code{hcl-mode}.")
10304 (license license:gpl3+)))
10305
10306 (define-public emacs-exec-path-from-shell
10307 (package
10308 (name "emacs-exec-path-from-shell")
10309 (version "1.12")
10310 (source
10311 (origin
10312 (method git-fetch)
10313 (uri (git-reference
10314 (url "https://github.com/purcell/exec-path-from-shell")
10315 (commit version)))
10316 (sha256
10317 (base32
10318 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
10319 (build-system emacs-build-system)
10320 (home-page "https://github.com/purcell/exec-path-from-shell")
10321 (synopsis "Get environment variables such as @var{PATH} from the shell")
10322 (description
10323 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
10324 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
10325 the like work as expected on systems on which Emacs is not guaranteed to
10326 inherit a login shell's environment variables. It also allows other
10327 environment variables to be retrieved from the shell, so that Emacs will see
10328 the same values you get in a terminal.")
10329 (license license:gpl3+)))
10330
10331 (define-public emacs-frog-menu
10332 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
10333 (revision "1"))
10334 (package
10335 (name "emacs-frog-menu")
10336 (version (git-version "0.2.9" revision commit))
10337 (source
10338 (origin
10339 (method git-fetch)
10340 (uri (git-reference
10341 (url "https://github.com/clemera/frog-menu")
10342 (commit commit)))
10343 (file-name (git-file-name name version))
10344 (sha256
10345 (base32
10346 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
10347 (build-system emacs-build-system)
10348 (propagated-inputs
10349 `(("emacs-posframe" ,emacs-posframe)
10350 ("emacs-avy" ,emacs-avy)))
10351 (home-page "https://github.com/clemera/frog-menu")
10352 (synopsis "Quickly pick items from ad hoc menus")
10353 (description
10354 "This package provides a popup offering a preview of a list of
10355 candidates on which user-defined dispatch actions can act.")
10356 (license license:gpl3+))))
10357
10358 (define-public emacs-frog-jump-buffer
10359 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
10360 (revision "1"))
10361 (package
10362 (name "emacs-frog-jump-buffer")
10363 (version (git-version "0.1.4" revision commit))
10364 (source
10365 (origin
10366 (method git-fetch)
10367 (uri (git-reference
10368 (url "https://github.com/waymondo/frog-jump-buffer")
10369 (commit commit)))
10370 (file-name (git-file-name name version))
10371 (sha256
10372 (base32
10373 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
10374 (build-system emacs-build-system)
10375 (propagated-inputs
10376 `(("emacs-dash" ,emacs-dash)
10377 ("emacs-frog-menu" ,emacs-frog-menu)
10378 ("emacs-avy" ,emacs-avy)))
10379 (home-page "https://github.com/waymondo/frog-jump-buffer")
10380 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
10381 (description
10382 "This package provides a preview window of buffers that can be switched
10383 to with quicklink-style selections.")
10384 (license license:gpl3+))))
10385
10386 (define-public emacs-deft
10387 (package
10388 (name "emacs-deft")
10389 (version "0.8")
10390 (source
10391 (origin
10392 (method url-fetch)
10393 (uri (string-append "https://stable.melpa.org/packages/deft-"
10394 version ".el"))
10395 (sha256
10396 (base32
10397 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
10398 (build-system emacs-build-system)
10399 (home-page "https://jblevins.org/projects/deft/")
10400 (synopsis "Quickly browse, filter, and edit plain text notes")
10401 (description
10402 "Deft is an Emacs mode for quickly browsing, filtering, and editing
10403 directories of plain text notes, inspired by Notational Velocity.")
10404 (license license:bsd-3)))
10405
10406 (define-public emacs-anzu
10407 (package
10408 (name "emacs-anzu")
10409 (version "0.62")
10410 (source
10411 (origin
10412 (method git-fetch)
10413 (uri (git-reference
10414 (url "https://github.com/syohex/emacs-anzu.git")
10415 (commit version)))
10416 (file-name (git-file-name name version))
10417 (sha256
10418 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
10419 (build-system emacs-build-system)
10420 (home-page "https://github.com/syohex/emacs-anzu")
10421 (synopsis "Show number of matches in mode-line while searching")
10422 (description
10423 "Anzu provides a minor mode which displays \"current match/total
10424 matches\" in the mode line in various search modes. This is an Emacs port of
10425 Anzu.zim.")
10426 (license license:gpl3+)))
10427
10428 (define-public emacs-ascii-art-to-unicode
10429 (package
10430 (name "emacs-ascii-art-to-unicode")
10431 (version "1.12")
10432 (source
10433 (origin
10434 (method url-fetch)
10435 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
10436 version ".el"))
10437 (sha256
10438 (base32
10439 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
10440 (build-system emacs-build-system)
10441 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
10442 (synopsis "ASCII to Unicode art converter for Emacs")
10443 (description "This Emacs package provides the commands @command{aa2u} and
10444 @command{aa2u-rectangle}. Both of these commands can be used to convert
10445 simple ASCII art line drawings to Unicode; the former works on the active
10446 region of the buffer, while the latter works on rectangular selections.")
10447 (license license:gpl3+)))
10448
10449 (define-public emacs-emmet-mode
10450 (package
10451 (name "emacs-emmet-mode")
10452 (version "1.0.8")
10453 (source (origin
10454 (method git-fetch)
10455 (uri (git-reference
10456 (url "https://github.com/smihica/emmet-mode.git")
10457 (commit version)))
10458 (file-name (git-file-name name version))
10459 (sha256
10460 (base32
10461 "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
10462 (build-system emacs-build-system)
10463 (home-page "https://github.com/smihica/emmet-mode")
10464 (synopsis "Unofficial Emmet's support for Emacs")
10465 (description
10466 "Unfold CSS-selector-like expressions to markup. It is intended to be
10467 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
10468 (license license:gpl3+)))
10469
10470 (define-public emacs-ergoemacs-mode
10471 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
10472 (revision "1"))
10473 (package
10474 (name "emacs-ergoemacs-mode")
10475 (version (git-version "5.16.10.12" revision commit))
10476 (source
10477 (origin
10478 (method git-fetch)
10479 (uri (git-reference
10480 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
10481 (commit commit)))
10482 (sha256
10483 (base32
10484 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
10485 (build-system emacs-build-system)
10486 (propagated-inputs
10487 `(("emacs-undo-tree" ,emacs-undo-tree)))
10488 (home-page "https://ergoemacs.github.io/")
10489 (synopsis "Emacs mode based on common modern interface and ergonomics")
10490 (description
10491 "This package provides an efficient Emacs keybinding set based on
10492 statistics of command frequency, and supports common shortcuts for open,
10493 close, copy, cut, paste, undo, redo.")
10494 (license license:gpl3+))))
10495
10496 (define-public emacs-password-store
10497 (package
10498 (name "emacs-password-store")
10499 (version "1.7.3")
10500 (source (origin
10501 (method url-fetch)
10502 (uri
10503 (string-append "https://git.zx2c4.com/password-store/snapshot/"
10504 "password-store-" version ".tar.xz"))
10505 (sha256
10506 (base32
10507 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
10508 (build-system emacs-build-system)
10509 (arguments
10510 `(#:phases
10511 (modify-phases %standard-phases
10512 (add-after 'unpack 'extract-el-file
10513 (lambda _
10514 (copy-file "contrib/emacs/password-store.el" "password-store.el")
10515 (delete-file-recursively "contrib")
10516 (delete-file-recursively "man")
10517 (delete-file-recursively "src")
10518 (delete-file-recursively "tests"))))))
10519 (propagated-inputs
10520 `(("emacs-f" ,emacs-f)
10521 ("emacs-s" ,emacs-s)
10522 ("emacs-with-editor" ,emacs-with-editor)
10523 ("password-store" ,password-store)))
10524 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
10525 (synopsis "Password store (pass) support for Emacs")
10526 (description
10527 "This package provides functions for working with pass (\"the
10528 standard Unix password manager\").")
10529 (license license:gpl2+)))
10530
10531 (define-public emacs-pass
10532 (package
10533 (name "emacs-pass")
10534 (version "1.8")
10535 (source
10536 (origin
10537 (method git-fetch)
10538 (uri (git-reference
10539 (url "https://github.com/NicolasPetton/pass.git")
10540 (commit version)))
10541 (file-name (git-file-name name version))
10542 (sha256
10543 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
10544 (build-system emacs-build-system)
10545 (propagated-inputs
10546 `(("emacs-password-store" ,emacs-password-store)
10547 ("emacs-f" ,emacs-f)))
10548 (home-page "https://github.com/NicolasPetton/pass")
10549 (synopsis "Major mode for @file{password-store.el}")
10550 (description "This is a major mode for managing password-store (pass)
10551 keychains. The keychain entries are displayed in a directory-like structure
10552 and can be consulted and modified.")
10553 (license license:gpl3+)))
10554
10555 (define-public emacs-evil-anzu
10556 (package
10557 (name "emacs-evil-anzu")
10558 (version "0.03")
10559 (source
10560 (origin
10561 (method git-fetch)
10562 (uri (git-reference
10563 (url "https://github.com/syohex/emacs-evil-anzu")
10564 (commit version)))
10565 (file-name (git-file-name name version))
10566 (sha256
10567 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
10568 (build-system emacs-build-system)
10569 (propagated-inputs
10570 `(("emacs-evil" ,emacs-evil)
10571 ("emacs-anzu" ,emacs-anzu)))
10572 (home-page "https://github.com/syohex/emacs-evil-anzu")
10573 (synopsis "Anzu for evil-mode")
10574 (description "@code{anzu} provides a minor mode that displays the current
10575 match and total match information in the mode-line in various search modes.")
10576 (license license:gpl3+)))
10577
10578 (define-public emacs-pg
10579 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
10580 (package
10581 (name "emacs-pg")
10582 (version (git-version "0.1" "1" commit))
10583 (source (origin
10584 (method git-fetch)
10585 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
10586 (commit commit)))
10587 (file-name (git-file-name name version))
10588 (sha256
10589 (base32
10590 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
10591 (build-system emacs-build-system)
10592 (home-page "https://github.com/cbbrowne/pg.el")
10593 (synopsis "Emacs Lisp interface for PostgreSQL")
10594 (description
10595 "This package provides an Emacs Lisp interface for PostgreSQL.")
10596 (license license:gpl3+))))
10597
10598 (define-public emacs-cl-generic
10599 (package
10600 (name "emacs-cl-generic")
10601 (version "0.3")
10602 (source
10603 (origin
10604 (method url-fetch)
10605 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
10606 version ".el"))
10607 (sha256
10608 (base32
10609 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
10610 (build-system emacs-build-system)
10611 (home-page "https://elpa.gnu.org/packages/seq.html")
10612 (synopsis
10613 "Forward @code{cl-generic} compatibility for Emacs before version 25")
10614 (description "This package provides a subset of the features of the
10615 @code{cl-generic} package introduced in Emacs-25, for use on previous
10616 @code{emacsen}.")
10617 (license license:gpl3+)))
10618
10619 (define-public emacs-finalize
10620 (package
10621 (name "emacs-finalize")
10622 (version "2.0.0")
10623 (source
10624 (origin
10625 (method git-fetch)
10626 (uri (git-reference
10627 (url "https://github.com/skeeto/elisp-finalize.git")
10628 (commit version)))
10629 (file-name (git-file-name name version))
10630 (sha256
10631 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
10632 (build-system emacs-build-system)
10633 (propagated-inputs
10634 `(("emacs-cl-generic" ,emacs-cl-generic)))
10635 (home-page "https://github.com/skeeto/elisp-finalize")
10636 (synopsis "Finalizers for Emacs Lisp")
10637 (description
10638 "This package will allows to immediately run a callback (a finalizer)
10639 after its registered lisp object has been garbage collected. This allows for
10640 extra resources, such as buffers and processes, to be cleaned up after the
10641 object has been freed.")
10642 (license license:unlicense)))
10643
10644 (define-public emacs-emacsql
10645 (package
10646 (name "emacs-emacsql")
10647 (version "3.0.0")
10648 (source (origin
10649 (method git-fetch)
10650 (uri (git-reference
10651 (url "https://github.com/skeeto/emacsql.git")
10652 (commit (string-append version))))
10653 (file-name (git-file-name name version))
10654 (sha256
10655 (base32
10656 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
10657 (build-system emacs-build-system)
10658 (arguments
10659 `(#:modules ((guix build emacs-build-system)
10660 (guix build utils)
10661 (guix build emacs-utils)
10662 (srfi srfi-26))
10663 #:phases
10664 (modify-phases %standard-phases
10665 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
10666 (add-before 'install 'patch-elisp-shell-shebangs
10667 (lambda _
10668 (substitute* (find-files "." "\\.el")
10669 (("/bin/sh") (which "sh")))
10670 #t))
10671 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
10672 (lambda _
10673 (setenv "SHELL" "sh")))
10674 (add-after 'setenv-shell 'build-emacsql-sqlite
10675 (lambda _
10676 (invoke "make" "binary" "CC=gcc")))
10677 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
10678 ;; This build phase installs emacs-emacsql binary.
10679 (lambda* (#:key outputs #:allow-other-keys)
10680 (install-file "sqlite/emacsql-sqlite"
10681 (string-append (assoc-ref outputs "out")
10682 "/bin"))
10683 #t))
10684 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
10685 ;; This build phase removes interactive prompts
10686 ;; and makes sure Emacs look for binaries in the right places.
10687 (lambda* (#:key outputs #:allow-other-keys)
10688 (let ((file "emacsql-sqlite.el"))
10689 (chmod file #o644)
10690 (emacs-substitute-sexps file
10691 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
10692 ("(executable-find" (which "gcc"))
10693 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
10694 ;; in the right place.
10695 ("(defvar emacsql-sqlite-executable"
10696 (string-append (assoc-ref outputs "out")
10697 "/bin/emacsql-sqlite"))))))
10698 (replace 'install
10699 (lambda* (#:key outputs #:allow-other-keys)
10700 (let* ((out (assoc-ref outputs "out")))
10701 (install-file "sqlite/emacsql-sqlite"
10702 (string-append out "/bin"))
10703 (for-each (cut install-file <>
10704 (string-append out "/share/emacs/site-lisp/guix.d/"
10705 "emacsql" "-" ,version))
10706 (find-files "." "\\.elc*$")))
10707 #t)))))
10708 (inputs
10709 `(("emacs-minimal" ,emacs-minimal)
10710 ("mariadb" ,mariadb)
10711 ("postgresql" ,postgresql)))
10712 (propagated-inputs
10713 `(("emacs-finalize" ,emacs-finalize)
10714 ("emacs-pg" ,emacs-pg)))
10715 (home-page "https://github.com/skeeto/emacsql")
10716 (synopsis "Emacs high-level SQL database front-end")
10717 (description "Any readable Lisp value can be stored as a value in EmacSQL,
10718 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
10719 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
10720 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
10721 (license license:gpl3+)))
10722
10723 (define-public emacs-closql
10724 (package
10725 (name "emacs-closql")
10726 (version "1.0.0")
10727 (source
10728 (origin
10729 (method git-fetch)
10730 (uri (git-reference
10731 (url "https://github.com/emacscollective/closql.git")
10732 (commit (string-append "v" version))))
10733 (file-name (git-file-name name version))
10734 (sha256
10735 (base32
10736 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
10737 (build-system emacs-build-system)
10738 (propagated-inputs
10739 `(("emacs-emacsql" ,emacs-emacsql)))
10740 (home-page "https://github.com/emacscollective/closql")
10741 (synopsis "Store EIEIO objects using EmacSQL")
10742 (description
10743 "This package allows to store uniform EIEIO objects in an EmacSQL
10744 database. SQLite is used as backend. This library imposes some restrictions
10745 on what kind of objects can be stored; it isn't intended to store arbitrary
10746 objects. All objects have to share a common superclass and subclasses cannot
10747 add any additional instance slots.")
10748 (license license:gpl3)))
10749
10750 (define-public emacs-epkg
10751 ;; The release version is to old for the current database scheme.
10752 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
10753 (package
10754 (name "emacs-epkg")
10755 (version (git-version "3.0.0" "1" commit))
10756 (source
10757 (origin
10758 (method git-fetch)
10759 (uri (git-reference
10760 (url "https://github.com/emacscollective/epkg.git")
10761 (commit commit)))
10762 (file-name (git-file-name name version))
10763 (sha256
10764 (base32
10765 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
10766 (build-system emacs-build-system)
10767 (propagated-inputs
10768 `(("emacs-closql" ,emacs-closql)
10769 ("emacs-dash" ,emacs-dash)))
10770 (home-page "https://emacsmirror.net")
10771 (synopsis "Browse the Emacsmirror package database")
10772 (description "This package provides access to a local copy of the
10773 Emacsmirror package database. It provides low-level functions for querying
10774 the database and a @file{package.el} user interface for browsing the database.
10775 Epkg itself is not a package manager.
10776
10777 Getting a local copy:
10778
10779 @example
10780 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
10781 cd ~/.emacs.d/epkgs
10782 git submodule init
10783 git config --global url.https://github.com/.insteadOf git@@github.com:
10784 git submodule update
10785 @end example
10786
10787 Some submodule may be missing. In this case Git will prompt for a GitHub user
10788 name and password. To skip it press a @key{Return} key.
10789
10790 You could get a Epkg package list by invoking @code{epkg-list-packages} in
10791 Emacs.")
10792 (license license:gpl3+))))
10793
10794 (define-public emacs-elisp-slime-nav
10795 (package
10796 (name "emacs-elisp-slime-nav")
10797 (version "0.9")
10798 (source
10799 (origin
10800 (method git-fetch)
10801 (uri (git-reference
10802 (url "https://github.com/purcell/elisp-slime-nav.git")
10803 (commit version)))
10804 (file-name (git-file-name name version))
10805 (sha256
10806 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
10807 (build-system emacs-build-system)
10808 (home-page "https://github.com/purcell/elisp-slime-nav")
10809 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
10810 (description
10811 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
10812 in @code{emacs-lisp-mode}, together with an elisp equivalent of
10813 @code{slime-describe-symbol}.")
10814 (license license:gpl3+)))
10815
10816 (define-public emacs-dedicated
10817 (package
10818 (name "emacs-dedicated")
10819 (version "1.0.0")
10820 (source
10821 (origin
10822 (method git-fetch)
10823 (uri (git-reference
10824 (url "https://github.com/emacsorphanage/dedicated.git")
10825 (commit version)))
10826 (file-name (git-file-name name version))
10827 (sha256
10828 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
10829 (build-system emacs-build-system)
10830 (home-page "https://github.com/emacsorphanage/dedicated")
10831 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
10832 (description
10833 "This simple Emacs minor mode allows you to toggle a window's
10834 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
10835 files into that window. This can be quite handy since many commands will use
10836 another window to show results (compilation mode, starting info, and so on).
10837 A dedicated window won't be used for such a purpose. For details, please read
10838 the source file.")
10839 (license license:gpl2+)))
10840
10841 (define-public emacs-nnreddit
10842 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
10843 (revision "1"))
10844 (package
10845 (name "emacs-nnreddit")
10846 (version (string-append "0.0.1-" revision "."
10847 (string-take commit 7)))
10848 (source (origin
10849 (method git-fetch)
10850 (uri (git-reference
10851 (url "https://github.com/paul-issartel/nnreddit.git")
10852 (commit commit)))
10853 (file-name (git-file-name name version))
10854 (sha256
10855 (base32
10856 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
10857 (build-system emacs-build-system)
10858 (home-page "https://github.com/paul-issartel/nnreddit")
10859 (synopsis "Reddit backend for the Gnus newsreader")
10860 (description "@url{https://www.reddit.com} backend for the Gnus
10861 newsreader.")
10862 (license license:gpl3+))))
10863
10864 (define-public emacs-makey
10865 (package
10866 (name "emacs-makey")
10867 (version "0.3")
10868 (source
10869 (origin
10870 (method git-fetch)
10871 (uri (git-reference
10872 (url "https://github.com/mickeynp/makey.git")
10873 (commit version)))
10874 (file-name (git-file-name name version))
10875 (sha256
10876 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
10877 (build-system emacs-build-system)
10878 (home-page "https://github.com/mickeynp/makey")
10879 (synopsis "Emacs interactive command-line mode")
10880 (description
10881 "This package provides an Emacs interactive command-line mode.")
10882 (license license:gpl3+)))
10883
10884 (define-public emacs-outorg
10885 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
10886 (package
10887 (name "emacs-outorg")
10888 (version (git-version "2.0" "1" commit))
10889 (source
10890 (origin
10891 (method git-fetch)
10892 (uri (git-reference
10893 (url "https://github.com/alphapapa/outorg")
10894 (commit commit)))
10895 (file-name (git-file-name name version))
10896 (sha256
10897 (base32
10898 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
10899 (build-system emacs-build-system)
10900 (home-page "https://github.com/alphapapa/outorg")
10901 (synopsis "Org-style comment editing")
10902 (description "Outorg is for editing comment-sections of source-code
10903 files in temporary Org-mode buffers. It turns conventional
10904 literate-programming upside-down in that the default mode is the
10905 programming-mode, and special action has to be taken to switch to the
10906 text-mode (i.e. Org-mode).")
10907 (license license:gpl3+))))
10908
10909 (define-public emacs-outshine
10910 (package
10911 (name "emacs-outshine")
10912 (version "3.0.1")
10913 (source (origin
10914 (method git-fetch)
10915 (uri (git-reference
10916 (url "https://github.com/alphapapa/outshine.git")
10917 (commit (string-append "v" version))))
10918 (file-name (git-file-name name version))
10919 (sha256
10920 (base32
10921 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
10922 (build-system emacs-build-system)
10923 (propagated-inputs
10924 `(("emacs-outorg" ,emacs-outorg)))
10925 (home-page "https://github.com/alphapapa/outshine")
10926 (synopsis "Emacs outline with outshine")
10927 (description "Outshine attempts to bring the look and feel of
10928 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
10929 of @code{outline-minor-mode} (@code{org-mode} itself derives from
10930 outline-mode), so there is no such thing like an outshine mode, only
10931 @code{outline-minor-mode} with outshine extensions loaded.")
10932 (license license:gpl3+)))
10933
10934 (define-public emacs-frecency
10935 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
10936 (version "0.1-pre")
10937 (revision "1"))
10938 (package
10939 (name "emacs-frecency")
10940 (version (git-version version revision commit))
10941 (source (origin
10942 (method git-fetch)
10943 (uri (git-reference
10944 (url "https://github.com/alphapapa/frecency.el")
10945 (commit commit)))
10946 (sha256
10947 (base32
10948 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
10949 (file-name (git-file-name name version))))
10950 (build-system emacs-build-system)
10951 (propagated-inputs
10952 `(("emacs-a" ,emacs-a)
10953 ("emacs-dash" ,emacs-dash)))
10954 (home-page "https://github.com/alphapapa/frecency.el")
10955 (synopsis "Sort items by frequency and recency of access")
10956 (description "This package provides a way of sorting items via
10957 a heuristic based on frequency and recency.")
10958 (license license:gpl3+))))
10959
10960 (define-public emacs-org-recent-headings
10961 (package
10962 (name "emacs-org-recent-headings")
10963 (version "0.1")
10964 (source (origin
10965 (method git-fetch)
10966 (uri (git-reference
10967 (url "https://github.com/alphapapa/org-recent-headings.git")
10968 (commit version)))
10969 (file-name (git-file-name name version))
10970 (sha256
10971 (base32
10972 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
10973 (build-system emacs-build-system)
10974 (propagated-inputs
10975 `(("emacs-org" ,emacs-org)
10976 ("emacs-dash" ,emacs-dash)
10977 ("emacs-frecency" ,emacs-frecency)))
10978 (home-page "https://github.com/alphapapa/org-recent-headings")
10979 (synopsis "Navigate to recently used Org headings and lists")
10980 (description "This package maintains a list of recently used Org headings,
10981 as well as functions for navigating between these headings.")
10982 (license license:gpl3+)))
10983
10984 (define-public emacs-org-super-agenda
10985 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
10986 (let ((commit "375bde4ca72494ac88a2a9738754f047fe45cc4e")
10987 (revision "1"))
10988 (package
10989 (name "emacs-org-super-agenda")
10990 (version (git-version "1.1.1" revision commit))
10991 (source (origin
10992 (method git-fetch)
10993 (uri (git-reference
10994 (url "https://github.com/alphapapa/org-super-agenda")
10995 (commit commit)))
10996 (file-name (git-file-name name version))
10997 (sha256
10998 (base32
10999 "0hrwf02fqjm0d9gj146ax67ib76093qpqh7066dcxj2gy20625yj"))))
11000 (build-system emacs-build-system)
11001 (propagated-inputs
11002 `(("emacs-org" ,emacs-org)
11003 ("emacs-dash" ,emacs-dash)
11004 ("emacs-ht" ,emacs-ht)
11005 ("emacs-s" ,emacs-s)))
11006 (home-page "https://github.com/alphapapa/org-super-agenda")
11007 (synopsis "Supercharged Org agenda")
11008 (description "This package allows items in the Org agenda to be grouped
11009 into sections while preserving the structure imposed by any timestamps.")
11010 (license license:gpl3+))))
11011
11012 (define-public emacs-org-make-toc
11013 (package
11014 (name "emacs-org-make-toc")
11015 (version "0.3")
11016 (source (origin
11017 (method git-fetch)
11018 (uri (git-reference
11019 (url "https://github.com/alphapapa/org-make-toc")
11020 (commit version)))
11021 (file-name (git-file-name name version))
11022 (sha256
11023 (base32
11024 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
11025 (build-system emacs-build-system)
11026 (propagated-inputs
11027 `(("emacs-org" ,emacs-org)
11028 ("emacs-dash" ,emacs-dash)
11029 ("emacs-s" ,emacs-s)))
11030 (home-page "https://github.com/alphapapa/org-make-toc")
11031 (synopsis "Maintain a table of contents for an Org file")
11032 (description "This package facilitates the creation and maintenance of
11033 tables of contents.")
11034 (license license:gpl3+)))
11035
11036 (define-public emacs-org-ql
11037 (package
11038 (name "emacs-org-ql")
11039 (version "0.1")
11040 (source (origin
11041 (method git-fetch)
11042 (uri (git-reference
11043 (url "https://github.com/alphapapa/org-ql")
11044 (commit version)))
11045 (sha256
11046 (base32
11047 "1nvzirn1lmgmgl7irbsc1n391a2cw8gmvwm3pa228l2c1gcx8kd8"))
11048 (file-name (git-file-name name version))))
11049 (build-system emacs-build-system)
11050 (propagated-inputs
11051 `(("emacs-s" ,emacs-s)
11052 ("emacs-dash" ,emacs-dash)))
11053 (home-page "https://github.com/alphapapa/org-ql/")
11054 (synopsis "Query language for Org buffers")
11055 (description "This package provides a Lispy query language for Org
11056 files, allowing for actions to be performed based on search criteria.")
11057 (license license:gpl3+)))
11058
11059 (define-public emacs-org-auto-expand
11060 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
11061 (revision "1"))
11062 (package
11063 (name "emacs-org-auto-expand")
11064 (version (git-version "0.1" revision commit))
11065 (source (origin
11066 (method git-fetch)
11067 (uri (git-reference
11068 (url "https://github.com/alphapapa/org-auto-expand")
11069 (commit commit)))
11070 (file-name (git-file-name name version))
11071 (sha256
11072 (base32
11073 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
11074 (build-system emacs-build-system)
11075 (propagated-inputs
11076 `(("emacs-org" ,emacs-org)
11077 ("emacs-dash" ,emacs-dash)))
11078 (home-page "https://github.com/alphapapa/org-auto-expand")
11079 (synopsis "Automatically expand certain Org headings")
11080 (description "This package allows a customizable set of headings in Org
11081 files to be expanded upon opening them.")
11082 (license license:gpl3+))))
11083
11084 (define-public emacs-parsebib
11085 (package
11086 (name "emacs-parsebib")
11087 (version "2.3.1")
11088 (source
11089 (origin
11090 (method git-fetch)
11091 (uri (git-reference
11092 (url "https://github.com/joostkremers/parsebib.git")
11093 (commit version)))
11094 (file-name (git-file-name name version))
11095 (sha256
11096 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
11097 (build-system emacs-build-system)
11098 (home-page "https://github.com/joostkremers/parsebib")
11099 (synopsis "Library for parsing bib files")
11100 (description
11101 "This package provides an Emacs library for parsing bib files.")
11102 (license license:gpl3+)))
11103
11104 (define-public emacs-biblio
11105 (package
11106 (name "emacs-biblio")
11107 (version "0.2")
11108 (source
11109 (origin
11110 (method git-fetch)
11111 (uri (git-reference
11112 (url "https://github.com/cpitclaudel/biblio.el.git")
11113 (commit version)))
11114 (file-name (git-file-name name version))
11115 (sha256
11116 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
11117 (build-system emacs-build-system)
11118 (propagated-inputs
11119 `(("emacs-seq" ,emacs-seq)
11120 ("emacs-dash" ,emacs-dash)
11121 ("emacs-let-alist" ,emacs-let-alist)))
11122 (home-page "https://github.com/cpitclaudel/biblio.el")
11123 (synopsis "Browse and import bibliographic references")
11124 (description "This package provides an extensible Emacs package for
11125 browsing and fetching references.
11126
11127 @file{biblio.el} makes it easy to browse and gather bibliographic references
11128 and publications from various sources, by keywords or by DOI. References are
11129 automatically fetched from well-curated sources, and formatted as BibTeX.")
11130 (license license:gpl3+)))
11131
11132 (define-public emacs-helm-bibtex
11133 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
11134 (revision "1"))
11135 (package
11136 (name "emacs-helm-bibtex")
11137 (version (string-append "2.0.0" "-" revision "."
11138 (string-take commit 7)))
11139 (source
11140 (origin
11141 (method git-fetch)
11142 (uri (git-reference
11143 (url "https://github.com/tmalsburg/helm-bibtex.git")
11144 (commit commit)))
11145 (file-name (git-file-name name version))
11146 (sha256
11147 (base32
11148 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
11149 (build-system emacs-build-system)
11150 (propagated-inputs
11151 `(("emacs-helm" ,emacs-helm)
11152 ("emacs-parsebib" ,emacs-parsebib)
11153 ("emacs-s" ,emacs-s)
11154 ("emacs-dash" ,emacs-dash)
11155 ("emacs-f" ,emacs-f)
11156 ("emacs-biblio" ,emacs-biblio)
11157 ("emacs-ivy" ,emacs-ivy)))
11158 (home-page "https://github.com/tmalsburg/helm-bibtex")
11159 (synopsis "Bibliography manager based on Helm")
11160 (description "This package provides bibliography manager for Emacs,
11161 based on Helm and the bibtex-completion backend.
11162
11163 Key features:
11164
11165 @itemize
11166 @item Quick access to your bibliography from within Emacs
11167 @item Powerful search capabilities
11168 @item Provides instant search results as you type
11169 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
11170 @item Open the PDFs, URLs, or DOIs associated with an entry
11171 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
11172 BibTeX entries, or plain text references at point, attach PDFs to emails
11173 @item Support for note taking
11174 @item Quick access to online bibliographic databases such as Pubmed,
11175 arXiv, Google Scholar, Library of Congress, etc.
11176 @item Imports BibTeX entries from CrossRef and other sources.
11177 @end itemize\n")
11178 (license license:gpl3+))))
11179
11180 (define-public emacs-ewmctrl
11181 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
11182 (package
11183 (name "emacs-ewmctrl")
11184 (version (git-version "0.0.1" "1" commit))
11185 (source
11186 (origin
11187 (method git-fetch)
11188 (uri (git-reference
11189 (url "https://github.com/flexibeast/ewmctrl.git")
11190 (commit commit)))
11191 (file-name (git-file-name name version))
11192 (sha256
11193 (base32
11194 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
11195 (build-system emacs-build-system)
11196 (arguments
11197 '(#:phases
11198 (modify-phases %standard-phases
11199 (add-after 'unpack 'patch-ewmctrl
11200 ;; This build phase makes sure ‘ewmctrl’ looks
11201 ;; for ‘wmctrl’ in the right place.
11202 (lambda _
11203 (let ((file "ewmctrl.el"))
11204 (chmod file #o644)
11205 (emacs-substitute-sexps file
11206 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
11207 (inputs
11208 `(("wmctrl" ,wmctrl)))
11209 (home-page "https://github.com/flexibeast/ewmctrl")
11210 (synopsis "Emacs interface to @code{wmctrl}")
11211 (description "@code{ewmctrl} provides an Emacs interface to
11212 @code{wmctrl} command-line window-management program.")
11213 (license license:gpl3+))))
11214
11215 (define-public emacs-erc-image
11216 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
11217 (revision "1"))
11218 (package
11219 (name "emacs-erc-image")
11220 (version (git-version "0" revision commit))
11221 (source
11222 (origin
11223 (method git-fetch)
11224 (uri (git-reference
11225 (url "https://github.com/kidd/erc-image.el")
11226 (commit commit)))
11227 (file-name (git-file-name name version))
11228 (sha256
11229 (base32
11230 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
11231 (build-system emacs-build-system)
11232 (home-page "https://github.com/kidd/erc-image.el")
11233 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
11234 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
11235 and @code{erc-send-modify-hook} to download and show images.")
11236 (license license:gpl3+))))
11237
11238 (define-public emacs-helm-gtags
11239 (package
11240 (name "emacs-helm-gtags")
11241 (version "1.5.6")
11242 (source
11243 (origin
11244 (method git-fetch)
11245 (uri (git-reference
11246 (url "https://github.com/syohex/emacs-helm-gtags.git")
11247 (commit version)))
11248 (file-name (git-file-name name version))
11249 (sha256
11250 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
11251 (build-system emacs-build-system)
11252 (propagated-inputs
11253 `(("emacs-helm" ,emacs-helm)))
11254 (home-page "https://github.com/syohex/emacs-helm-gtags")
11255 (synopsis "Emacs Helm interface to GNU Global")
11256 (description
11257 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
11258 (license license:gpl3+)))
11259
11260 (define-public emacs-list-utils
11261 (package
11262 (name "emacs-list-utils")
11263 (version "0.4.4")
11264 (source
11265 (origin
11266 (method git-fetch)
11267 (uri (git-reference
11268 (url "https://github.com/rolandwalker/list-utils.git")
11269 (commit (string-append "v" version))))
11270 (file-name (git-file-name name version))
11271 (sha256
11272 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
11273 (build-system emacs-build-system)
11274 (home-page "https://github.com/rolandwalker/list-utils")
11275 (synopsis "List-manipulation utility functions")
11276 (description "This package provides a list manipulation library for Emacs.")
11277 (license license:gpl3+)))
11278
11279 (define-public emacs-move-text
11280 (package
11281 (name "emacs-move-text")
11282 (version "2.0.8")
11283 (source
11284 (origin
11285 (method git-fetch)
11286 (uri (git-reference
11287 (url "https://github.com/emacsfodder/move-text.git")
11288 (commit version)))
11289 (file-name (git-file-name name version))
11290 (sha256
11291 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
11292 (build-system emacs-build-system)
11293 (home-page "https://github.com/emacsfodder/move-text")
11294 (synopsis "Move current line or region with M-up or M-down")
11295 (description "This package provide functions to move the current line
11296 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
11297 region instead.")
11298 (license license:gpl3+)))
11299
11300 (define-public emacs-validate
11301 (package
11302 (name "emacs-validate")
11303 (version "1.0.5")
11304 (source (origin
11305 (method url-fetch)
11306 (uri (string-append "https://github.com/Malabarba/validate.el"
11307 "/archive/" version ".tar.gz"))
11308 (file-name (string-append name "-" version ".tar.gz"))
11309 (sha256
11310 (base32
11311 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
11312 (build-system emacs-build-system)
11313 (home-page "https://github.com/Malabarba/validate.el")
11314 (synopsis "Emacs library for scheme validation")
11315 (description "This Emacs library provides two functions that perform
11316 schema validation.")
11317 (license license:gpl3+)))
11318
11319 (define-public emacs-rainbow-blocks
11320 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
11321 (package
11322 (name "emacs-rainbow-blocks")
11323 (version (git-version "1.0.0" "1" commit))
11324 (source (origin
11325 (method git-fetch)
11326 (uri (git-reference
11327 (url "https://github.com/istib/rainbow-blocks.git")
11328 (commit commit)))
11329 (file-name (git-file-name name version))
11330 (sha256
11331 (base32
11332 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
11333 (build-system emacs-build-system)
11334 (home-page "https://github.com/istib/rainbow-blocks")
11335 (synopsis "Highlight sexp blocks")
11336 (description "Rainbow-blocks is an Emacs mode that highlights blocks
11337 made of parentheses, brackets, and braces according to their depth. Each
11338 successive level is highlighted in a different color. This makes it easy to
11339 orient yourself in the code, and tell which statements are at a given level.")
11340 (license license:gpl3+))))
11341
11342 (define-public emacs-hierarchy
11343 (package
11344 (name "emacs-hierarchy")
11345 (version "0.7.0")
11346 (source
11347 (origin
11348 (method git-fetch)
11349 (uri (git-reference
11350 (url "https://github.com/DamienCassou/hierarchy.git")
11351 (commit (string-append "v" version))))
11352 (file-name (git-file-name name version))
11353 (sha256
11354 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
11355 (build-system emacs-build-system)
11356 (home-page "https://github.com/DamienCassou/hierarchy")
11357 (synopsis "Library to create and display hierarchy structures")
11358 (description "This package provides an Emacs library to create, query,
11359 navigate and display hierarchy structures.")
11360 (license license:gpl3+)))
11361
11362 (define-public emacs-tree-mode
11363 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
11364 (revision "1"))
11365 (package
11366 (name "emacs-tree-mode")
11367 (version (string-append "0.0.1" "-" revision "."
11368 (string-take commit 7)))
11369 (source
11370 (origin
11371 (method git-fetch)
11372 (uri (git-reference
11373 (url "https://github.com/emacsorphanage/tree-mode.git")
11374 (commit commit)))
11375 (file-name (git-file-name name version))
11376 (sha256
11377 (base32
11378 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
11379 (build-system emacs-build-system)
11380 (home-page "https://github.com/emacsorphanage/tree-mode")
11381 (synopsis "Emacs mode to manage tree widgets")
11382 (description
11383 "This package provides an Emacs library to manage tree widgets.")
11384 (license license:gpl3+))))
11385
11386 (define-public emacs-md4rd
11387 (package
11388 (name "emacs-md4rd")
11389 (version "0.3.1")
11390 (source (origin
11391 (method git-fetch)
11392 (uri (git-reference
11393 (url "https://github.com/ahungry/md4rd.git")
11394 (commit version)))
11395 (file-name (git-file-name name version))
11396 (sha256
11397 (base32
11398 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
11399 (propagated-inputs
11400 `(("emacs-hierarchy" ,emacs-hierarchy)
11401 ("emacs-request" ,emacs-request)
11402 ("emacs-dash" ,emacs-dash)
11403 ("emacs-s" ,emacs-s)
11404 ("emacs-tree-mode" ,emacs-tree-mode)))
11405 (build-system emacs-build-system)
11406 (home-page "https://github.com/ahungry/md4rd")
11407 (synopsis "Emacs Mode for Reddit")
11408 (description
11409 "This package allows to read Reddit from within Emacs interactively.")
11410 (license license:gpl3+)))
11411
11412 (define-public emacs-pulseaudio-control
11413 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
11414 (revision "3"))
11415 (package
11416 (name "emacs-pulseaudio-control")
11417 (version (git-version "0.0.1" revision commit))
11418 (source
11419 (origin
11420 (method git-fetch)
11421 (uri (git-reference
11422 (url "https://github.com/flexibeast/pulseaudio-control.git")
11423 (commit commit)))
11424 (file-name (git-file-name name version))
11425 (sha256
11426 (base32
11427 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
11428 (build-system emacs-build-system)
11429 (arguments
11430 '(#:phases (modify-phases %standard-phases
11431 (add-after 'unpack 'patch-file-name
11432 (lambda* (#:key inputs #:allow-other-keys)
11433 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
11434 (chmod "pulseaudio-control.el" #o600)
11435 (emacs-substitute-variables "pulseaudio-control.el"
11436 ("pulseaudio-control-pactl-path"
11437 (string-append pulseaudio "/bin/pactl")))
11438 #t))))))
11439 (inputs `(("pulseaudio" ,pulseaudio)))
11440 (home-page "https://github.com/flexibeast/pulseaudio-control")
11441 (synopsis "Control @code{pulseaudio} from Emacs")
11442 (description
11443 "This package allows to control @code{pulseaudio} from Emacs.")
11444 (license license:gpl3+))))
11445
11446 (define-public emacs-datetime
11447 (package
11448 (name "emacs-datetime")
11449 (version "0.3")
11450 (source
11451 (origin
11452 (method git-fetch)
11453 (uri (git-reference
11454 (url "https://github.com/doublep/datetime.git")
11455 (commit version)))
11456 (file-name (git-file-name name version))
11457 (sha256
11458 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
11459 (build-system emacs-build-system)
11460 (home-page "https://github.com/doublep/datetime/")
11461 (synopsis "Library to work with dates in Emacs")
11462 (description "Parsing, formatting, matching and recoding
11463 timestamps and date-time format strings library for Emacs.")
11464 (license license:gpl3+)))
11465
11466 (define-public emacs-org-mind-map
11467 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
11468 (revision "1"))
11469 (package
11470 (name "emacs-org-mind-map")
11471 (version (string-append "0.0.1" "-" revision "."
11472 (string-take commit 7)))
11473 (source
11474 (origin
11475 (method git-fetch)
11476 (uri (git-reference
11477 (url "https://github.com/theodorewiles/org-mind-map.git")
11478 (commit commit)))
11479 (file-name (git-file-name name version))
11480 (sha256
11481 (base32
11482 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
11483 (propagated-inputs
11484 `(("emacs-dash" ,emacs-dash)))
11485 (build-system emacs-build-system)
11486 (home-page "https://github.com/theodorewiles/org-mind-map")
11487 (synopsis "Create Graphviz directed graphs from Org files")
11488 (description
11489 "This package creates Graphviz directed graphs from Org files.")
11490 (license license:gpl3+))))
11491
11492 (define-public emacs-npm-mode
11493 (package
11494 (name "emacs-npm-mode")
11495 (version "0.6.0")
11496 (source
11497 (origin
11498 (method git-fetch)
11499 (uri (git-reference
11500 (url "https://github.com/mojochao/npm-mode.git")
11501 (commit version)))
11502 (file-name (git-file-name name version))
11503 (sha256
11504 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
11505 (build-system emacs-build-system)
11506 (home-page "https://github.com/mojochao/npm-mode")
11507 (synopsis "Minor mode for working with @code{npm} projects")
11508 (description
11509 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
11510 (license license:gpl3+)))
11511
11512 (define-public emacs-seq
11513 (package
11514 (name "emacs-seq")
11515 (version "2.20")
11516 (source
11517 (origin
11518 (method url-fetch)
11519 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
11520 (sha256
11521 (base32
11522 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
11523 (build-system emacs-build-system)
11524 (home-page "http://elpa.gnu.org/packages/seq.html")
11525 (synopsis "Sequence manipulation functions")
11526 (description "Sequence-manipulation functions that complement basic
11527 functions provided by @file{subr.el}.")
11528 (license license:gpl3+)))
11529
11530 (define-public emacs-itail
11531 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
11532 (revision "1"))
11533 (package
11534 (name "emacs-itail")
11535 (version (string-append "0.0.1" "-" revision "."
11536 (string-take commit 7)))
11537 (source
11538 (origin
11539 (method git-fetch)
11540 (uri (git-reference
11541 (url "https://github.com/re5et/itail.git")
11542 (commit commit)))
11543 (file-name (git-file-name name version))
11544 (sha256
11545 (base32
11546 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
11547 (build-system emacs-build-system)
11548 (home-page "https://github.com/re5et/itail")
11549 (synopsis "Interactive @code{tail} Emacs mode")
11550 (description "@code{itail} provides interactive @code{tail} mode
11551 that allows you to filter the tail with unix pipes and highlight the
11552 contents of the tailed file. Works locally or on remote files using
11553 tramp.")
11554 (license license:gpl3+))))
11555
11556 (define-public emacs-loop
11557 (package
11558 (name "emacs-loop")
11559 (version "1.3")
11560 (source
11561 (origin
11562 (method git-fetch)
11563 (uri (git-reference
11564 (url "https://github.com/Wilfred/loop.el.git")
11565 (commit version)))
11566 (file-name (git-file-name name version))
11567 (sha256
11568 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
11569 (build-system emacs-build-system)
11570 (home-page "https://github.com/Wilfred/loop.el")
11571 (synopsis "Imperative loop structures for Emacs")
11572 (description "Loop structures familiar to users of other languages. This
11573 library adds a selection of popular loop structures as well as break and
11574 continue.")
11575 (license license:gpl3+)))
11576
11577 (define-public emacs-elisp-refs
11578 (package
11579 (name "emacs-elisp-refs")
11580 (version "1.3")
11581 (source
11582 (origin
11583 (method git-fetch)
11584 (uri (git-reference
11585 (url "https://github.com/Wilfred/elisp-refs.git")
11586 (commit version)))
11587 (file-name (git-file-name name version))
11588 (sha256
11589 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
11590 (build-system emacs-build-system)
11591 (propagated-inputs
11592 `(("emacs-dash" ,emacs-dash)
11593 ("emacs-f" ,emacs-f)
11594 ("emacs-list-utils" ,emacs-list-utils)
11595 ("emacs-loop" ,emacs-loop)
11596 ("emacs-s" ,emacs-s)
11597 ("emacs-shut-up" ,emacs-shut-up)))
11598 (home-page "https://github.com/Wilfred/elisp-refs")
11599 (synopsis "Find callers of elisp functions or macros")
11600 (description "Find references to functions, macros or variables. Unlike a
11601 dumb text search, @code{elisp-refs} actually parses the code, so it's never
11602 confused by comments or @code{foo-bar} matching @code{foo}.")
11603 (license license:gpl3+)))
11604
11605 (define-public emacs-crux
11606 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
11607 (revision "1"))
11608 (package
11609 (name "emacs-crux")
11610 (version (string-append "0.3.0" "-" revision "."
11611 (string-take commit 7)))
11612 (source
11613 (origin
11614 (method git-fetch)
11615 (uri (git-reference
11616 (url "https://github.com/bbatsov/crux.git")
11617 (commit commit)))
11618 (file-name (git-file-name name version))
11619 (sha256
11620 (base32
11621 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
11622 (build-system emacs-build-system)
11623 (home-page "https://github.com/bbatsov/crux")
11624 (synopsis "Collection of useful functions for Emacs")
11625 (description
11626 "@code{crux} provides a collection of useful functions for Emacs.")
11627 (license license:gpl3+))))
11628
11629 (define-public emacs-edit-server
11630 (package
11631 (name "emacs-edit-server")
11632 (version "1.13")
11633 (source
11634 (origin
11635 (method git-fetch)
11636 (uri (git-reference
11637 (url "https://github.com/stsquad/emacs_chrome.git")
11638 (commit (string-append "v" version))))
11639 (file-name (git-file-name name version))
11640 (sha256
11641 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
11642 (build-system emacs-build-system)
11643 (arguments
11644 `(#:phases
11645 (modify-phases %standard-phases
11646 (add-after 'unpack 'chdir-elisp
11647 ;; Elisp directory is not in root of the source.
11648 (lambda _
11649 (chdir "servers"))))))
11650 (home-page "https://github.com/stsquad/emacs_chrome")
11651 (synopsis "Server that responds to edit requests from Chromium")
11652 (description
11653 "This package provides an edit server to respond to requests from Emacs.")
11654 (license license:gpl3+)))
11655
11656 (define-public emacs-m-buffer-el
11657 (package
11658 (name "emacs-m-buffer-el")
11659 (version "0.15")
11660 (source
11661 (origin
11662 (method url-fetch)
11663 (uri (string-append "https://github.com/phillord/m-buffer-el"
11664 "/archive/" "v" version ".tar.gz"))
11665 (file-name (string-append name "-" version ".tar.gz"))
11666 (sha256
11667 (base32
11668 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
11669 (arguments
11670 `(#:phases
11671 (modify-phases %standard-phases
11672 (add-before 'install 'check
11673 (lambda* (#:key inputs #:allow-other-keys)
11674 (invoke "emacs" "--batch" "-L" "."
11675 "-l" "test/m-buffer-test.el"
11676 "-l" "test/m-buffer-at-test.el"
11677 "-f" "ert-run-tests-batch-and-exit"))))))
11678 (build-system emacs-build-system)
11679 (home-page "https://github.com/phillord/m-buffer-el")
11680 (synopsis "List oriented buffer operations for Emacs")
11681 (description "@code{m-buffer} provides a set of list-orientated functions
11682 for operating over the contents of Emacs buffers.")
11683 (license license:gpl3+)))
11684
11685 (define-public emacs-let-alist
11686 (package
11687 (name "emacs-let-alist")
11688 (version "1.0.5")
11689 (source
11690 (origin
11691 (method url-fetch)
11692 (uri (string-append
11693 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
11694 (sha256
11695 (base32
11696 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
11697 (build-system emacs-build-system)
11698 (home-page "https://elpa.gnu.org/packages/let-alist.html")
11699 (synopsis "Easily let-bind values of an assoc-list by their names")
11700 (description "This package offers a single macro, @code{let-alist}. This
11701 macro takes a first argument (whose value must be an alist) and a body.")
11702 (license license:gpl3+)))
11703
11704 (define-public emacs-esup
11705 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
11706 (revision "1"))
11707 (package
11708 (name "emacs-esup")
11709 (version (string-append "0.6" "-" revision "."
11710 (string-take commit 7)))
11711 (source
11712 (origin
11713 (method git-fetch)
11714 (uri (git-reference
11715 (url "https://github.com/jschaf/esup.git")
11716 (commit commit)))
11717 (file-name (git-file-name name version))
11718 (sha256
11719 (base32
11720 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
11721 ;; TODO: Add tests
11722 (build-system emacs-build-system)
11723 (home-page "https://github.com/jschaf/esup")
11724 (synopsis "Emacs start up profiler")
11725 (description "Benchmark Emacs Startup time without ever leaving
11726 your Emacs.")
11727 (license license:gpl2+))))
11728
11729 (define-public emacs-restart-emacs
11730 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
11731 (revision "1"))
11732 (package
11733 (name "emacs-restart-emacs")
11734 (version (git-version "0.1.1" revision commit))
11735 (source
11736 (origin
11737 (method git-fetch)
11738 (uri (git-reference
11739 (url "https://github.com/iqbalansari/restart-emacs.git")
11740 (commit commit)))
11741 (file-name (git-file-name name version))
11742 (sha256
11743 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
11744 (build-system emacs-build-system)
11745 (home-page "https://github.com/iqbalansari/restart-emacs")
11746 (synopsis "Restart Emacs from within Emacs")
11747 (description "This package provides a simple command to restart Emacs from
11748 within Emacs.")
11749 (license license:gpl3+))))
11750
11751 (define-public emacs-sourcemap
11752 (package
11753 (name "emacs-sourcemap")
11754 (version "0.03")
11755 (source
11756 (origin
11757 (method git-fetch)
11758 (uri (git-reference
11759 (url "https://github.com/syohex/emacs-sourcemap.git")
11760 (commit version)))
11761 (file-name (git-file-name name version))
11762 (sha256
11763 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
11764 (build-system emacs-build-system)
11765 (home-page "https://github.com/syohex/emacs-sourcemap")
11766 (synopsis "Sourcemap parser")
11767 (description "Sourcemap parser")
11768 (license license:gpl3+)))
11769
11770 (define-public emacs-macrostep
11771 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
11772 (package
11773 (name "emacs-macrostep")
11774 (version (git-version "0.9" "1" commit))
11775 (source (origin
11776 (method git-fetch)
11777 (uri (git-reference
11778 (url "https://github.com/joddie/macrostep.git")
11779 (commit commit)))
11780 (file-name (git-file-name name version))
11781 (sha256
11782 (base32
11783 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
11784 (build-system emacs-build-system)
11785 (arguments
11786 '(#:phases
11787 (modify-phases %standard-phases
11788 (add-before 'check 'remove-test
11789 ;; Fails because of requirement ‘/bin/sh’.
11790 (lambda _
11791 (let ((file "macrostep-test.el"))
11792 (chmod file #o644)
11793 (emacs-batch-edit-file file
11794 `(progn (progn (goto-char (point-min))
11795 (re-search-forward
11796 "(ert-deftest macrostep-expand-c-macros")
11797 (beginning-of-line)
11798 (kill-sexp))
11799 (basic-save-buffer))))))
11800 (add-before 'install 'check
11801 (lambda _
11802 (invoke "emacs" "--batch" "-L" "."
11803 "-l" "macrostep-test.el"
11804 "-f" "ert-run-tests-batch-and-exit"))))))
11805 (home-page "https://github.com/joddie/macrostep")
11806 (synopsis "Interactive macro-expander for Emacs")
11807 (description "@code{macrostep} is an Emacs minor mode for interactively
11808 stepping through the expansion of macros in Emacs Lisp source code. It lets
11809 you see exactly what happens at each step of the expansion process by
11810 pretty-printing the expanded forms inline in the source buffer, which is
11811 temporarily read-only while macro expansions are visible. You can expand and
11812 collapse macro forms one step at a time, and evaluate or instrument the
11813 expansions for debugging with Edebug as normal (but see “Bugs and known
11814 limitations”, below). Single-stepping through the expansion is particularly
11815 useful for debugging macros that expand into another macro form. These can be
11816 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
11817 until the top-level form is no longer a macro call.")
11818 (license license:gpl3+))))
11819
11820 (define-public emacs-parent-mode
11821 (package
11822 (name "emacs-parent-mode")
11823 (version "2.3")
11824 (source
11825 (origin
11826 (method git-fetch)
11827 (uri (git-reference
11828 (url "https://github.com/Fanael/parent-mode.git")
11829 (commit version)))
11830 (file-name (git-file-name name version))
11831 (sha256
11832 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
11833 (build-system emacs-build-system)
11834 (home-page "https://github.com/Fanael/parent-mode")
11835 (synopsis "Get major mode's parent modes")
11836 (description "Get major mode's parent modes")
11837 (license license:gpl3+)))
11838
11839 (define-public emacs-lacarte
11840 (package
11841 (name "emacs-lacarte")
11842 (version "0.1")
11843 (source (origin
11844 (method url-fetch)
11845 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
11846 (sha256
11847 (base32
11848 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
11849 (build-system emacs-build-system)
11850 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
11851 (synopsis "Execute menu items as commands, with completion")
11852 (description "Execute menu items as commands, with completion.")
11853 (license license:gpl3)))
11854
11855 (define-public emacs-isearch-prop
11856 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
11857 (revision "1"))
11858 (package
11859 (name "emacs-isearch-prop")
11860 (version (git-version "0" revision commit))
11861 (source
11862 (origin
11863 (method git-fetch)
11864 (uri (git-reference
11865 (url "https://github.com/emacsmirror/isearch-prop.git")
11866 (commit commit)))
11867 (file-name (git-file-name name version))
11868 (sha256
11869 (base32
11870 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
11871 (build-system emacs-build-system)
11872 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
11873 (synopsis "Extensions to @code{isearch.el}")
11874 (description "The Emacs library @code{isearch-prop.el} lets you search within
11875 contexts. You can limit incremental search to a set of zones of
11876 buffer text, search contexts that in effect constitute a multi-region.
11877 These zones can be defined in various ways, including some ways
11878 provided specially by this library.")
11879 (license license:gpl3+))))
11880
11881 (define-public emacs-company-lua
11882 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
11883 (package
11884 (name "emacs-company-lua")
11885 (version (git-version "0.1" "1" commit))
11886 (source
11887 (origin
11888 (method git-fetch)
11889 (uri (git-reference
11890 (url "https://github.com/ptrv/company-lua.git")
11891 (commit commit)))
11892 (file-name (git-file-name name version))
11893 (sha256
11894 (base32
11895 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
11896 (build-system emacs-build-system)
11897 (propagated-inputs
11898 `(("emacs-company" ,emacs-company)
11899 ("emacs-s" ,emacs-s)
11900 ("emacs-f" ,emacs-f)
11901 ("emacs-lua-mode" ,emacs-lua-mode)))
11902 (home-page "https://github.com/ptrv/company-lua")
11903 (synopsis "Company backend for Lua")
11904 (description
11905 "This package provides Company backend for Lua programming language.")
11906 (license license:gpl3+))))
11907
11908 (define-public emacs-beginend
11909 (package
11910 (name "emacs-beginend")
11911 (version "2.0.0")
11912 (source
11913 (origin
11914 (method git-fetch)
11915 (uri (git-reference
11916 (url "https://github.com/DamienCassou/beginend.git")
11917 (commit (string-append "v" version))))
11918 (file-name (git-file-name name version))
11919 (sha256
11920 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
11921 ;; TODO: Run tests.
11922 (build-system emacs-build-system)
11923 (inputs
11924 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
11925 (home-page "https://github.com/DamienCassou/beginend")
11926 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
11927 (description "@code{beginend} redefines @code{M-<} and @code{M->}
11928 keybindings for Emacs modes so that point moves to meaningful
11929 locations. Redefined keys are still accessible by pressing the same
11930 key again.")
11931 (license license:gpl3+)))
11932
11933 (define-public emacs-mbsync
11934 (let ((commit "f549eccde6033449d24cd5b6148599484850c403")
11935 (revision "2"))
11936 (package
11937 (name "emacs-mbsync")
11938 (version (git-version "0.1.2" revision commit))
11939 (source
11940 (origin
11941 (method git-fetch)
11942 (uri (git-reference
11943 (url "https://github.com/dimitri/mbsync-el.git")
11944 (commit commit)))
11945 (file-name (git-file-name name version))
11946 (sha256
11947 (base32
11948 "1pdj41rq3pq4jdb5pma5j495xj7w7jgn8pnz1z1zwg75pn7ydfp0"))))
11949 (build-system emacs-build-system)
11950 (home-page "https://github.com/dimitri/mbsync-el")
11951 (synopsis "Interface to mbsync for Emacs")
11952 (description "This package allows to call the @code{mbsync} from
11953 within Emacs.")
11954 (license license:gpl3+))))
11955
11956 (define-public emacs-ibuffer-projectile
11957 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
11958 (revision "1"))
11959 (package
11960 (name "emacs-ibuffer-projectile")
11961 (version (string-append "0.2" "-" revision "."
11962 (string-take commit 7)))
11963 (source
11964 (origin
11965 (method git-fetch)
11966 (uri (git-reference
11967 (url "https://github.com/purcell/ibuffer-projectile.git")
11968 (commit commit)))
11969 (file-name (git-file-name name version))
11970 (sha256
11971 (base32
11972 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
11973 (build-system emacs-build-system)
11974 (propagated-inputs
11975 `(("emacs-projectile" ,emacs-projectile)))
11976 (home-page "https://github.com/purcell/ibuffer-projectile")
11977 (synopsis "Group ibuffer's list by projectile root")
11978 (description "Adds functionality to Emacs @code{ibuffer} for
11979 grouping buffers by their projectile root directory.")
11980 (license license:gpl3+))))
11981
11982 (define-public emacs-helm-mode-manager
11983 (package
11984 (name "emacs-helm-mode-manager")
11985 (version "1.0.0")
11986 (source
11987 (origin
11988 (method url-fetch)
11989 (uri (string-append "https://github.com/istib/helm-mode-manager/"
11990 "archive/" version ".tar.gz"))
11991 (file-name (string-append name "-" version ".tar.gz"))
11992 (sha256
11993 (base32
11994 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
11995 (build-system emacs-build-system)
11996 (propagated-inputs
11997 `(("emacs-helm" ,emacs-helm)))
11998 (home-page "https://github.com/istib/helm-mode-manager/")
11999 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
12000 (description "This package provides a Helm interface for toggling Emacs
12001 major or minor mode.
12002
12003 @itemize
12004 @item @code{helm-switch-major-mode} list of all major modes
12005 @item @code{helm-enable-minor-mode} list of all inactive minor modes
12006 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
12007 @end itemize\n
12008
12009 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
12010 documentation.")
12011 (license license:gpl3+)))
12012
12013 (define-public emacs-hy-mode
12014 (package
12015 (name "emacs-hy-mode")
12016 (version "1.0.3")
12017 (source
12018 (origin
12019 (method git-fetch)
12020 (uri (git-reference
12021 (url "https://github.com/hylang/hy-mode.git")
12022 (commit (string-append "v" version))))
12023 (file-name (git-file-name name version))
12024 (sha256
12025 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
12026 (build-system emacs-build-system)
12027 (propagated-inputs
12028 `(("emacs-dash" ,emacs-dash)
12029 ("emacs-s" ,emacs-s)))
12030 (home-page "https://github.com/hylang/hy-mode")
12031 (synopsis "Major mode for Hylang")
12032 (description "This package provides a major mode for Hylang.")
12033 (license license:gpl3+)))
12034
12035 (define-public emacs-web-beautify
12036 (package
12037 (name "emacs-web-beautify")
12038 (version "0.3.2")
12039 (source
12040 (origin
12041 (method git-fetch)
12042 (uri (git-reference
12043 (url "https://github.com/yasuyk/web-beautify.git")
12044 (commit version)))
12045 (file-name (git-file-name name version))
12046 (sha256
12047 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
12048 (build-system emacs-build-system)
12049 (home-page "https://github.com/yasuyk/web-beautify")
12050 (synopsis "Format HTML, CSS and JavaScript, JSON")
12051 (description "This package provides an Emacs functions to format HTML,
12052 CSS, JavaScript, JSON.")
12053 (license license:gpl3+)))
12054
12055 (define-public emacs-helm-shell-history
12056 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
12057 (package
12058 (name "emacs-helm-shell-history")
12059 (version (git-version "0.1" "1" commit))
12060 (source
12061 (origin
12062 (method git-fetch)
12063 (uri (git-reference
12064 (url "https://github.com/yuutayamada/helm-shell-history.git")
12065 (commit commit)))
12066 (file-name (git-file-name name version))
12067 (sha256
12068 (base32
12069 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
12070 (build-system emacs-build-system)
12071 (arguments
12072 '(#:phases
12073 (modify-phases %standard-phases
12074 (add-before 'check 'patch-helm-shell-history-file
12075 (lambda _
12076 (let ((file "helm-shell-history.el"))
12077 (chmod file #o644)
12078 (emacs-substitute-sexps file
12079 ("(defvar helm-shell-history-file"
12080 `(expand-file-name "~/.bash_history"))))
12081 #t)))))
12082 (propagated-inputs
12083 `(("emacs-helm" ,emacs-helm)))
12084 (home-page "https://github.com/yuutayamada/helm-shell-history")
12085 (synopsis "Find shell history with Emacs Helm")
12086 (description "This package provides an Emacs Helm interface to search
12087 throw a shell history.")
12088 (license license:gpl3+))))
12089
12090 (define-public emacs-discover-my-major
12091 (package
12092 (name "emacs-discover-my-major")
12093 (version "1.0")
12094 (source
12095 (origin
12096 (method url-fetch)
12097 (uri
12098 (string-append "https://github.com/steckerhalter/discover-my-major"
12099 "/archive/" version ".tar.gz"))
12100 (file-name (string-append name "-" version ".tar.gz"))
12101 (sha256
12102 (base32
12103 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
12104 (build-system emacs-build-system)
12105 (propagated-inputs
12106 `(("emacs-makey" ,emacs-makey)))
12107 (home-page "https://github.com/steckerhalter/discover-my-major")
12108 (synopsis "Discover key bindings for the current Emacs major mode")
12109 (description "This package provides allows to discover key bindings and
12110 their meaning for the current Emacs major-mode.")
12111 (license license:gpl3+)))
12112
12113 (define-public emacs-org-ref
12114 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
12115 (revision "1"))
12116 (package
12117 (name "emacs-org-ref")
12118 (version (string-append "1.1.1" "-" revision "."
12119 (string-take commit 7)))
12120 (source
12121 (origin
12122 (method git-fetch)
12123 (uri (git-reference
12124 (url "https://github.com/jkitchin/org-ref.git")
12125 (commit commit)))
12126 (file-name (git-file-name name version))
12127 (sha256
12128 (base32
12129 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
12130 (build-system emacs-build-system)
12131 (propagated-inputs
12132 `(("emacs-dash" ,emacs-dash)
12133 ("emacs-helm" ,emacs-helm)
12134 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
12135 ("emacs-ivy" ,emacs-ivy)
12136 ("emacs-hydra" ,emacs-hydra)
12137 ("emacs-key-chord" ,emacs-key-chord)
12138 ("emacs-s" ,emacs-s)
12139 ("emacs-f" ,emacs-f)
12140 ("emacs-pdf-tools" ,emacs-pdf-tools)))
12141 (home-page "https://github.com/jkitchin/org-ref")
12142 (synopsis "Citations, cross-references and bibliographies in org-mode")
12143 (description
12144 "Lisp code to setup bibliography, cite, ref and label org-mode links.
12145 Also sets up reftex and helm for org-mode citations. The links are
12146 clickable and do things that are useful.
12147
12148 The default setup uses helm-bibtex.
12149
12150 You should really read org-ref.org in this package for details.")
12151 (license license:gpl3+))))
12152
12153 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
12154 (define-public emacs-org-reveal
12155 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
12156 (package
12157 (name "emacs-org-reveal")
12158 (version (git-version "0.1" "3" commit))
12159 (source (origin
12160 (method git-fetch)
12161 (uri (git-reference
12162 (url "https://github.com/yjwen/org-reveal.git")
12163 (commit commit)))
12164 (file-name (git-file-name name version))
12165 (sha256
12166 (base32
12167 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
12168 (build-system emacs-build-system)
12169 (home-page "https://github.com/yjwen/org-reveal")
12170 (synopsis "Org and Reveal.js powered HTML presentation tool")
12171 (description "Org-Reveal is a command@{org-mode} extension that allows
12172 to create beautiful presentations (slides) with 3D effects from simple but
12173 powerful Org contents.")
12174 (license license:gpl3+))))
12175
12176 (define-public emacs-org-re-reveal
12177 (package
12178 (name "emacs-org-re-reveal")
12179 (version "1.0.3")
12180 (source (origin
12181 (method git-fetch)
12182 (uri (git-reference
12183 (url "https://gitlab.com/oer/org-re-reveal.git")
12184 (commit "50cc6574c77f12d423f6cd096d8f76feb3673abc")))
12185 (file-name (git-file-name name version))
12186 (sha256
12187 (base32
12188 "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8"))))
12189 (build-system emacs-build-system)
12190 (propagated-inputs
12191 `(("emacs-htmlize" ,emacs-htmlize)
12192 ("emacs-org" ,emacs-org)))
12193 (home-page "https://gitlab.com/oer/org-re-reveal")
12194 (synopsis "Build HTML presentations with reveal.js from Org source files")
12195 (description "This project started as fork of org-reveal. It provides an
12196 export back-end for HTML presentations with reveal.js from Org mode source
12197 files.")
12198 (license license:gpl3+)))
12199
12200 (define-public emacs-add-hooks
12201 (package
12202 (name "emacs-add-hooks")
12203 (version "3.1.1")
12204 (source
12205 (origin
12206 (method git-fetch)
12207 (uri (git-reference
12208 (url "https://github.com/nickmccurdy/add-hooks.git")
12209 (commit version)))
12210 (file-name (git-file-name name version))
12211 (sha256
12212 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
12213 (build-system emacs-build-system)
12214 (home-page "https://github.com/nickmccurdy/add-hooks/")
12215 (synopsis "Emacs function for setting multiple hooks")
12216 (description "This package provides a @code{add-hooks} function tidies up
12217 duplicate hook and function names further into a single declarative call.")
12218 (license license:gpl3+)))
12219
12220 (define-public emacs-fancy-narrow
12221 (package
12222 (name "emacs-fancy-narrow")
12223 (version "0.9.5")
12224 (source
12225 (origin
12226 (method git-fetch)
12227 (uri (git-reference
12228 (url "https://github.com/Malabarba/fancy-narrow.git")
12229 (commit version)))
12230 (file-name (git-file-name name version))
12231 (sha256
12232 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
12233 (build-system emacs-build-system)
12234 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
12235 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
12236 (description
12237 "Unlike @code{narrow-to-region}, which completely hides text outside
12238 the narrowed region, this package simply de-emphasizes the text, makes it
12239 read-only, and makes it unreachable. This leads to a much more natural
12240 feeling where the region stays static (instead of being brutally moved to a
12241 blank slate) and is clearly highlighted with respect to the rest of the
12242 buffer.")
12243 (license license:gpl2+)))
12244
12245 (define-public emacs-know-your-http-well
12246 (package
12247 (name "emacs-know-your-http-well")
12248 (version "0.5.0")
12249 (source
12250 (origin
12251 (method git-fetch)
12252 (uri (git-reference
12253 (url "https://github.com/for-GET/know-your-http-well.git")
12254 (commit (string-append "v" version))))
12255 (file-name (git-file-name name version))
12256 (sha256
12257 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
12258 (arguments
12259 `(#:phases
12260 (modify-phases %standard-phases
12261 (add-after 'unpack 'install-json-files
12262 (lambda* (#:key outputs #:allow-other-keys)
12263 (for-each (lambda (directory)
12264 (copy-recursively directory
12265 (string-append
12266 (assoc-ref outputs "out")
12267 directory)))
12268 '("js" "json"))))
12269 (add-after 'unpack 'chdir-elisp
12270 ;; Elisp directory is not in root of the source.
12271 (lambda _
12272 (chdir "emacs"))))))
12273 (build-system emacs-build-system)
12274 (home-page "https://github.com/for-GET/know-your-http-well")
12275 (synopsis "Meaning of HTTP headers codes")
12276 (description "Meaning of HTTP headers codes.")
12277 (license license:gpl3+)))
12278
12279 (define-public emacs-navi-mode
12280 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
12281 (package
12282 (name "emacs-navi-mode")
12283 (version (git-version "2.0" "1" commit))
12284 (source
12285 (origin
12286 (method git-fetch)
12287 (uri (git-reference
12288 (url "https://github.com/alphapapa/navi.git")
12289 (commit commit)))
12290 (file-name (git-file-name name version))
12291 (sha256
12292 (base32
12293 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
12294 (build-system emacs-build-system)
12295 (propagated-inputs
12296 `(("emacs-outshine" ,emacs-outshine)
12297 ("emacs-outorg" ,emacs-outorg)))
12298 (home-page "https://github.com/alphapapa/navi")
12299 (synopsis "Emacs major-mode for easy buffer-navigation")
12300 (description
12301 "This package provides an Emacs major-mode for easy buffer-navigation")
12302 (license license:gpl3+))))
12303
12304 (define-public emacs-download-region
12305 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
12306 (revision "1"))
12307 (package
12308 (name "emacs-download-region")
12309 (version (string-append "0.0.1" "-" revision "."
12310 (string-take commit 7)))
12311 (source
12312 (origin
12313 (method git-fetch)
12314 (uri (git-reference
12315 (url "https://github.com/zk-phi/download-region.git")
12316 (commit commit)))
12317 (file-name (git-file-name name version))
12318 (sha256
12319 (base32
12320 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
12321 (build-system emacs-build-system)
12322 (home-page "https://github.com/zk-phi/download-region")
12323 (synopsis "In buffer download manager for Emacs")
12324 (description "@code{download-region} provides in buffer
12325 downloading manager for Emacs.")
12326 (license license:gpl3+))))
12327
12328 (define-public emacs-helpful
12329 (package
12330 (name "emacs-helpful")
12331 (version "0.17")
12332 (source
12333 (origin
12334 (method git-fetch)
12335 (uri (git-reference
12336 (url "https://github.com/Wilfred/helpful.git")
12337 (commit version)))
12338 (file-name (git-file-name name version))
12339 (sha256
12340 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
12341 (build-system emacs-build-system)
12342 (propagated-inputs
12343 `(("emacs-elisp-refs" ,emacs-elisp-refs)
12344 ("emacs-dash" ,emacs-dash)
12345 ("emacs-s" ,emacs-s)
12346 ("emacs-f" ,emacs-f)
12347 ("emacs-shut-up" ,emacs-shut-up)))
12348 (home-page "https://github.com/Wilfred/helpful")
12349 (synopsis "More contextual information in Emacs help")
12350 (description "@code{helpful} is an alternative to the built-in Emacs help
12351 that provides much more contextual information.
12352
12353 @itemize
12354 @item Show the source code for interactively defined functions (unlike the
12355 built-in Help).
12356 @item Fall back to the raw sexp if no source is available.
12357 @item Show where a function is being called.
12358 @item Docstrings will Highlight the summary (the first sentence), include
12359 cross-references, hide superfluous puncuation.
12360 @item Show you the properties that have been applied to the current
12361 symbol. This provides visibility of features like edebug or byte-code
12362 optimisation.
12363 @item Provide a separate @code{helpful-command} function to view interactive
12364 functions.
12365 @item Display any keybindings that apply to interactive functions.
12366 @item Trace, disassemble functions from inside Helpful. This is discoverable
12367 and doesn't require memorisation of commands.
12368 @end itemize\n")
12369 (license license:gpl3+)))
12370
12371 (define-public emacs-logview
12372 (package
12373 (name "emacs-logview")
12374 (version "0.9")
12375 (source
12376 (origin
12377 (method git-fetch)
12378 (uri (git-reference
12379 (url "https://github.com/doublep/logview.git")
12380 (commit version)))
12381 (file-name (git-file-name name version))
12382 (sha256
12383 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
12384 (propagated-inputs
12385 `(("emacs-datetime" ,emacs-datetime)))
12386 (build-system emacs-build-system)
12387 (home-page "https://github.com/doublep/logview/")
12388 (synopsis "Emacs mode for viewing log files")
12389 (description "@code{logview} provides an Emacs mode to view log files.")
12390 (license license:gpl3+)))
12391
12392 (define-public emacs-suggest
12393 (package
12394 (name "emacs-suggest")
12395 (version "0.7")
12396 (home-page "https://github.com/Wilfred/suggest.el")
12397 (source
12398 (origin
12399 (method git-fetch)
12400 (uri (git-reference
12401 (url home-page)
12402 (commit version)))
12403 (file-name (git-file-name name version))
12404 (sha256
12405 (base32
12406 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
12407 (build-system emacs-build-system)
12408 (propagated-inputs
12409 `(("emacs-loop" ,emacs-loop)
12410 ("emacs-dash" ,emacs-dash)
12411 ("emacs-s" ,emacs-s)
12412 ("emacs-f" ,emacs-f)
12413 ("emacs-spinner" ,emacs-spinner)
12414 ("emacs-shut-up" ,emacs-shut-up)))
12415 (synopsis "Suggest Elisp functions that give the output requested")
12416 (description "Suggest.el will find functions that give the output
12417 requested. It's a great way of exploring list, string and arithmetic
12418 functions.")
12419 (license license:gpl3+)))
12420
12421 (define-public emacs-benchmark-init
12422 (package
12423 (name "emacs-benchmark-init")
12424 (version "1.0")
12425 (source
12426 (origin
12427 (method git-fetch)
12428 (uri (git-reference
12429 (url "https://github.com/dholm/benchmark-init-el.git")
12430 (commit version)))
12431 (file-name (git-file-name name version))
12432 (sha256
12433 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
12434 (build-system emacs-build-system)
12435 (home-page "https://github.com/dholm/benchmark-init-el")
12436 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
12437 (description "@code{benchmark-init} provides a way to keep track of where
12438 time is being spent during Emacs startup in order to optimize startup time.")
12439 (license license:gpl3+)))
12440
12441 (define-public emacs-emms-player-simple-mpv
12442 ;; A new mpv backend is included in Emms from 5.0.
12443 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
12444
12445 (define-public emacs-magit-gerrit
12446 (let ((version "0.3")
12447 (revision "1")
12448 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
12449 (package
12450 (name "emacs-magit-gerrit")
12451 (version (git-version version revision commit))
12452 (source (origin
12453 (method git-fetch)
12454 (uri (git-reference
12455 (url "https://github.com/terranpro/magit-gerrit.git")
12456 (commit commit)))
12457 (file-name (git-file-name name version))
12458 (sha256
12459 (base32
12460 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
12461 (build-system emacs-build-system)
12462 (propagated-inputs
12463 `(("emacs-magit" ,emacs-magit)))
12464 (home-page "https://github.com/terranpro/magit-gerrit")
12465 (synopsis "Magit extension for Gerrit")
12466 (description "This Magit extension provides integration with Gerrit,
12467 which makes it possible to conduct Gerrit code reviews directly from within
12468 Emacs.")
12469 (license license:gpl3+))))
12470
12471 (define-public emacs-magit-org-todos-el
12472 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
12473 (package
12474 (name "emacs-magit-org-todos-el")
12475 (version (git-version "0.1.1" "1" commit))
12476 (source
12477 (origin
12478 (method git-fetch)
12479 (uri (git-reference
12480 (url "https://github.com/danielma/magit-org-todos.el.git")
12481 (commit commit)))
12482 (file-name (git-file-name name version))
12483 (sha256
12484 (base32
12485 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
12486 (propagated-inputs
12487 `(("magit" ,emacs-magit)))
12488 (build-system emacs-build-system)
12489 (home-page "https://github.com/danielma/magit-org-todos.el")
12490 (synopsis "Get todo.org into Emacs Magit status")
12491 (description "This package allows you to get @file{todo.org} into your
12492 magit status.
12493
12494 If you have a @file{todo.org} file with @code{TODO} items in the root of your
12495 repository, @code{magit-org-todos} will create a section in your Magit status
12496 buffer with each of your todos.")
12497 (license license:gpl3+))))
12498
12499 (define-public emacs-f3
12500 (package
12501 (name "emacs-f3")
12502 (version "0.1")
12503 (source
12504 (origin
12505 (method git-fetch)
12506 (uri (git-reference
12507 (url "https://github.com/cosmicexplorer/f3.git")
12508 (commit version)))
12509 (file-name (git-file-name name version))
12510 (sha256
12511 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
12512 (build-system emacs-build-system)
12513 (propagated-inputs
12514 `(("emacs-helm" ,emacs-helm)))
12515 (home-page "https://github.com/cosmicexplorer/f3")
12516 (synopsis "Fantastic File Finder for Emacs")
12517 (description
12518 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
12519 (license license:gpl3+)))
12520
12521 (define-public emacs-lice-el
12522 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
12523 (package
12524 (name "emacs-lice-el")
12525 (version (git-version "0.2" "1" commit))
12526 (source (origin
12527 (method git-fetch)
12528 (uri (git-reference
12529 (url "https://github.com/buzztaiki/lice-el.git")
12530 (commit commit)))
12531 (file-name (git-file-name name version))
12532 (sha256
12533 (base32
12534 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
12535 (build-system emacs-build-system)
12536 (home-page "https://github.com/buzztaiki/lice-el")
12537 (synopsis "License and header template for Emacs")
12538 (description "@code{lice.el} provides following features:
12539
12540 @itemize
12541 @item License template management.
12542 @item File header insertion.
12543 @end itemize\n")
12544 (license license:gpl3+))))
12545
12546 (define-public emacs-academic-phrases
12547 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
12548 (package
12549 (name "emacs-academic-phrases")
12550 (version (git-version "0.1" "1" commit))
12551 (source
12552 (origin
12553 (method git-fetch)
12554 (uri (git-reference
12555 (url "https://github.com/nashamri/academic-phrases.git")
12556 (commit commit)))
12557 (file-name (git-file-name name version))
12558 (sha256
12559 (base32
12560 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
12561 (build-system emacs-build-system)
12562 (propagated-inputs
12563 `(("emacs-dash" ,emacs-dash)
12564 ("emacs-s" ,emacs-s)
12565 ("emacs-ht" ,emacs-ht)))
12566 (home-page "https://github.com/nashamri/academic-phrases")
12567 (synopsis "Bypass that mental block when writing your papers")
12568 (description
12569 "When writing your academic paper, you might get stuck trying to find
12570 the right phrase that captures your intention. This package tries to
12571 alleviate that problem by presenting you with a list of phrases organized by
12572 the topic or by the paper section that you are writing. This package has
12573 around 600 phrases so far.
12574
12575 Using this package is easy, just call @code{academic-phrases} to get a list of
12576 phrases organized by topic, or call @code{academic-phrases-by-section} to
12577 browse the phrases by the paper section and fill-in the blanks if required.")
12578 (license license:gpl3+))))
12579
12580 (define-public emacs-auto-yasnippet
12581 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
12582 (package
12583 (name "emacs-auto-yasnippet")
12584 (version (git-version "0.3.0" "1" commit))
12585 (source (origin
12586 (method git-fetch)
12587 (uri (git-reference
12588 (url "https://github.com/abo-abo/auto-yasnippet.git")
12589 (commit commit)))
12590 (file-name (git-file-name name version))
12591 (sha256
12592 (base32
12593 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
12594 (build-system emacs-build-system)
12595 (arguments
12596 '(#:phases
12597 (modify-phases %standard-phases
12598 (add-before 'install 'check
12599 (lambda _
12600 (invoke "emacs" "--batch"
12601 "-l" "auto-yasnippet.el"
12602 "-l" "auto-yasnippet-test.el"
12603 "-f" "ert-run-tests-batch-and-exit"))))))
12604 (propagated-inputs
12605 `(("emacs-yasnippet" ,emacs-yasnippet)))
12606 (home-page "https://github.com/abo-abo/auto-yasnippet/")
12607 (synopsis "Quickly create disposable yasnippets")
12608 (description "This package provides a hybrid of keyboard macros and
12609 yasnippet. You create the snippet on the go, usually to be used just in the
12610 one place. It's fast, because you're not leaving the current buffer, and all
12611 you do is enter the code you'd enter anyway, just placing ~ where you'd like
12612 yasnippet fields and mirrors to be.")
12613 (license license:gpl3+))))
12614
12615 (define-public emacs-highlight-numbers
12616 (package
12617 (name "emacs-highlight-numbers")
12618 (version "0.2.3")
12619 (source
12620 (origin
12621 (method git-fetch)
12622 (uri (git-reference
12623 (url "https://github.com/Fanael/highlight-numbers.git")
12624 (commit version)))
12625 (file-name (git-file-name name version))
12626 (sha256
12627 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
12628 (build-system emacs-build-system)
12629 (propagated-inputs
12630 `(("emacs-parent-mode" ,emacs-parent-mode)))
12631 (home-page "https://github.com/Fanael/highlight-numbers")
12632 (synopsis "Highlight numbers in source code")
12633 (description "@code{highlight-numbers-mode} provides a minor mode for
12634 syntax highlighting of numeric literals in source code.
12635
12636 It s customizable: it's easy to add or redefine what exactly consitutes a
12637 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
12638 (license license:gpl3+)))
12639
12640 (define-public emacs-darkroom
12641 (package
12642 (name "emacs-darkroom")
12643 (version "0.1")
12644 (source (origin
12645 (method url-fetch)
12646 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
12647 version ".el"))
12648 (sha256
12649 (base32
12650 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
12651 (build-system emacs-build-system)
12652 (home-page "https://elpa.gnu.org/packages/darkroom.html")
12653 (synopsis "Remove visual distractions and focus on writing")
12654 (description "@code{darkroom-mode} makes visual distractions disappear.
12655 The mode-line is temporarily elided, text is enlarged and margins are adjusted
12656 so that it's centered on the window.
12657
12658 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
12659 @code{darkroom-mode}, unless the current buffer lives in the sole window of
12660 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
12661 split to display more windows and more buffers, the buffer exits
12662 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
12663 @code{darkroom-mode}.")
12664 (license license:gpl3+)))
12665
12666 (define-public emacs-rsw-elisp
12667 (package
12668 (name "emacs-rsw-elisp")
12669 (version "1.0.5")
12670 (source (origin
12671 (method url-fetch)
12672 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
12673 "/archive/" version ".tar.gz"))
12674 (file-name (string-append name "-" version ".tar.gz"))
12675 (sha256
12676 (base32
12677 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
12678 (build-system emacs-build-system)
12679 (home-page "https://github.com/rswgnu/rsw-elisp")
12680 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
12681 (description "This package improves and replaces the GNU Emacs commands
12682 that interactively evaluate Emacs Lisp expressions. The new commands replace
12683 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
12684 the same way as the old commands when called non-interactively; only the
12685 interactive behavior should be different.")
12686 (license license:gpl3+)))
12687
12688 (define-public emacs-default-text-scale
12689 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
12690 (revision "1"))
12691 (package
12692 (name "emacs-default-text-scale")
12693 (version (string-append "0.1" "-" revision "."
12694 (string-take commit 7)))
12695 (source (origin
12696 (method git-fetch)
12697 (uri (git-reference
12698 (url "https://github.com/purcell/default-text-scale")
12699 (commit commit)))
12700 (file-name (git-file-name name version))
12701 (sha256
12702 (base32
12703 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
12704 (build-system emacs-build-system)
12705 (home-page "https://github.com/purcell/default-text-scale")
12706 (synopsis "Adjust the font size in all Emacs frames")
12707 (description "This package provides commands for increasing or
12708 decreasing the default font size in all GUI Emacs frames.")
12709 (license license:gpl3+))))
12710
12711 (define-public emacs-mixed-pitch
12712 (package
12713 (name "emacs-mixed-pitch")
12714 (version "1.0.1")
12715 (source
12716 (origin
12717 (method git-fetch)
12718 (uri (git-reference
12719 (url "https://gitlab.com/jabranham/mixed-pitch.git")
12720 (commit version)))
12721 (file-name (git-file-name name version))
12722 (sha256
12723 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
12724 (build-system emacs-build-system)
12725 (home-page "https://gitlab.com/jabranham/mixed-pitch")
12726 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
12727 (description
12728 "@code{mixed-pitch-mode} is a minor mode that enables mixing
12729 variable-pitch and fixed-pitch fonts in the same buffer. The list
12730 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
12731 fixed-pitch,everything else becomes variable-pitch.")
12732 (license license:gpl3+)))
12733
12734 (define-public emacs-visual-regexp
12735 (package
12736 (name "emacs-visual-regexp")
12737 (version "1.1.1")
12738 (source
12739 (origin
12740 (method git-fetch)
12741 (uri (git-reference
12742 (url "https://github.com/benma/visual-regexp.el.git")
12743 (commit (string-append "v" version))))
12744 (file-name (git-file-name name version))
12745 (sha256
12746 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
12747 (build-system emacs-build-system)
12748 (home-page "https://github.com/benma/visual-regexp.el/")
12749 (synopsis "Regexp command with interactive visual feedback")
12750 (description "This package provides an Emacs regexp command with
12751 interactive visual feedback.")
12752 (license license:gpl3+)))
12753
12754 (define-public emacs-faceup
12755 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
12756 (revision "1"))
12757 (package
12758 (name "emacs-faceup")
12759 (version (string-append "0.0.1" "-" revision "."
12760 (string-take commit 7)))
12761 (source
12762 (origin
12763 (method git-fetch)
12764 (uri (git-reference
12765 (url "https://github.com/Lindydancer/faceup.git")
12766 (commit commit)))
12767 (file-name (git-file-name name version))
12768 (sha256
12769 (base32
12770 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
12771 (build-system emacs-build-system)
12772 (home-page "https://github.com/Lindydancer/faceup")
12773 (synopsis "Markup language for faces and font-lock regression testing")
12774 (description "Emacs is capable of highlighting buffers based on
12775 language-specific @code{font-lock} rules. This package makes it possible to
12776 perform regression test for packages that provide font-lock rules.")
12777 (license license:gpl3+))))
12778
12779 (define-public emacs-racket-mode
12780 (let ((commit "5300aa004f08535c3fac99f1af78462f129aca81")
12781 (revision "3"))
12782 (package
12783 (name "emacs-racket-mode")
12784 (version (git-version "0.0.2" revision commit))
12785 (source
12786 (origin
12787 (method git-fetch)
12788 (uri (git-reference
12789 (url "https://github.com/greghendershott/racket-mode")
12790 (commit commit)))
12791 (file-name (git-file-name name version))
12792 (sha256
12793 (base32
12794 "1gkpm4fl1ybsm9qqgrkwyjbd9znddy438x266k27fs90lkxrfray"))))
12795 (build-system emacs-build-system)
12796 (arguments
12797 `(#:include '("\\.el$" "\\.rkt$")))
12798 (propagated-inputs
12799 `(("emacs-faceup" ,emacs-faceup)
12800 ("emacs-s" ,emacs-s)))
12801 (home-page "https://github.com/greghendershott/racket-mode")
12802 (synopsis "Major mode for Racket language")
12803 (description "@code{racket-mode} provides:
12804
12805 @itemize
12806 @item Focus on Racket (not various Schemes).
12807 @item Follow DrRacket concepts where applicable.
12808 @item Thorough font-lock and indent.
12809 @end itemize\n")
12810 (license license:gpl3+))))
12811
12812 (define-public emacs-grep-context
12813 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
12814 (package
12815 (name "emacs-grep-context")
12816 (version (git-version "0.1" "1" commit))
12817 (source
12818 (origin
12819 (method git-fetch)
12820 (uri (git-reference
12821 (url "https://github.com/mkcms/grep-context.git")
12822 (commit commit)))
12823 (file-name (git-file-name name version))
12824 (sha256
12825 (base32
12826 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
12827 (build-system emacs-build-system)
12828 (propagated-inputs
12829 `(("emacs-dash" ,emacs-dash)))
12830 (home-page "https://github.com/nashamri/academic-phrases")
12831 (synopsis "Increase context in compilation and grep buffers")
12832 (description
12833 "This package provides an Emacs package for more context in
12834 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
12835 @code{ivy}.")
12836 (license license:gpl3+))))
12837
12838 (define-public emacs-helm-firefox
12839 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
12840 (revision "1"))
12841 (package
12842 (name "emacs-helm-firefox")
12843 (version (string-append "0.0.1" "-" revision "."
12844 (string-take commit 7)))
12845 (source
12846 (origin
12847 (method git-fetch)
12848 (uri (git-reference
12849 (url "https://github.com/emacs-helm/helm-firefox.git")
12850 (commit commit)))
12851 (file-name (git-file-name name version))
12852 (sha256
12853 (base32
12854 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
12855 (propagated-inputs
12856 `(("emacs-helm" ,emacs-helm)))
12857 (build-system emacs-build-system)
12858 (home-page "https://github.com/emacs-helm/helm-firefox")
12859 (synopsis "Display firefox bookmarks with Emacs Helm interface")
12860 (description "Display firefox bookmarks with Emacs Helm interface")
12861 (license license:gpl3+))))
12862
12863 (define-public emacs-interactive-align
12864 (package
12865 (name "emacs-interactive-align")
12866 (version "0.1.0")
12867 (source
12868 (origin
12869 (method url-fetch)
12870 (uri (string-append "https://github.com/mkcms/interactive-align/"
12871 "archive/" "v" version ".tar.gz"))
12872 (file-name (string-append name "-" version ".tar.gz"))
12873 (sha256
12874 (base32
12875 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
12876 (build-system emacs-build-system)
12877 (home-page "https://github.com/mkcms/interactive-align/")
12878 (synopsis "Interactive align-regexp command in Emacs")
12879 (description "Interactive align-regexp command in Emacs")
12880 (license license:gpl3+)))
12881
12882 (define-public emacs-shift-number
12883 (package
12884 (name "emacs-shift-number")
12885 (version "0.1")
12886 (source
12887 (origin
12888 (method url-fetch)
12889 (uri (string-append "https://github.com/alezost/shift-number.el"
12890 "/archive/" "v" version ".tar.gz"))
12891 (file-name (string-append name "-" version ".tar.gz"))
12892 (sha256
12893 (base32
12894 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
12895 (build-system emacs-build-system)
12896 (home-page "https://github.com/alezost/shift-number.el")
12897 (synopsis "Increase or decrease the number at point")
12898 (description "@code{emacs-shift-number} provides commands
12899 @code{shift-number-up} to increase and @code{shift-number-down} to
12900 decrease the number at point.")
12901 (license license:gpl3+)))
12902
12903 (define-public emacs-highlight-defined
12904 (package
12905 (name "emacs-highlight-defined")
12906 (version "0.1.5")
12907 (source
12908 (origin
12909 (method git-fetch)
12910 (uri (git-reference
12911 (url "https://github.com/Fanael/highlight-defined.git")
12912 (commit version)))
12913 (file-name (git-file-name name version))
12914 (sha256
12915 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
12916 (build-system emacs-build-system)
12917 (home-page "https://github.com/Fanael/highlight-defined")
12918 (synopsis "Syntax highlighting of known Elisp symbols")
12919 (description "Minor mode providing syntax highlighting of known Emacs Lisp
12920 symbols. Currently the code distinguishes Lisp functions, built-in functions,
12921 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
12922 (license license:gpl3+)))
12923
12924 (define-public emacs-parinfer-mode
12925 (package
12926 (name "emacs-parinfer-mode")
12927 (version "0.4.10")
12928 (source
12929 (origin
12930 (method git-fetch)
12931 (uri (git-reference
12932 (url "https://github.com/DogLooksGood/parinfer-mode.git")
12933 (commit (string-append "v" version))))
12934 (file-name (git-file-name name version))
12935 (sha256
12936 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
12937 (propagated-inputs
12938 `(("emacs-dash" ,emacs-dash)
12939 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
12940 ("emacs-company" ,emacs-company)))
12941 (build-system emacs-build-system)
12942 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
12943 (synopsis "Lisp structure editing mode")
12944 (description "@code{parinfer-mode} is a proof-of-concept editor
12945 mode for Lisp programming languages. It will infer some changes to
12946 keep Parens and Indentation inline with one another.")
12947 (license license:gpl3+)))
12948
12949 (define-public emacs-helm-eww
12950 (package
12951 (name "emacs-helm-eww")
12952 (version "1.2")
12953 (source (origin
12954 (method git-fetch)
12955 (uri (git-reference
12956 (url "https://github.com/emacs-helm/helm-eww.git")
12957 (commit version)))
12958 (file-name (git-file-name name version))
12959 (sha256
12960 (base32
12961 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
12962 (propagated-inputs
12963 `(("emacs-helm" ,emacs-helm)))
12964 (build-system emacs-build-system)
12965 (home-page "https://github.com/emacs-helm/helm-eww/")
12966 (synopsis "Helm interface to EWW")
12967 (description "This package provides a Helm interface for EWW buffers,
12968 bookmarks and history.")
12969 (license license:gpl3+)))
12970
12971 (define-public emacs-stumpwm-mode
12972 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
12973 (package
12974 (name "emacs-stumpwm-mode")
12975 (version (git-version "0.0.1" "1" commit))
12976 (source (origin
12977 (method git-fetch)
12978 (uri (git-reference
12979 (url "https://github.com/stumpwm/stumpwm-contrib.git")
12980 (commit commit)))
12981 (file-name (git-file-name name version))
12982 (sha256
12983 (base32
12984 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
12985 (build-system emacs-build-system)
12986 (arguments
12987 `(#:phases
12988 (modify-phases %standard-phases
12989 (add-after 'unpack 'chdir-elisp
12990 ;; Elisp directory is not in root of the source.
12991 (lambda _
12992 (chdir "util/swm-emacs"))))))
12993 (home-page "https://github.com/stumpwm/stumpwm-contrib")
12994 (synopsis "Emacs minor-mode for Stumpwm")
12995 (description "Emacs minor-mode for Stumpwm")
12996 (license license:gpl3+))))
12997
12998 (define-public emacs-irfc
12999 (package
13000 (name "emacs-irfc")
13001 (version "20130824.507-1")
13002 (source
13003 (origin
13004 (method url-fetch)
13005 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
13006 (file-name (string-append "irfc-" version ".el"))
13007 (sha256
13008 (base32
13009 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
13010 (build-system emacs-build-system)
13011 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
13012 (synopsis "Interface for IETF RFC document")
13013 (description
13014 "This package provides an Emacs interface for IETF RFC document.")
13015 (license license:gpl3+)))
13016
13017 (define-public emacs-ido-vertical-mode
13018 (package
13019 (name "emacs-ido-vertical-mode")
13020 (version "0.1.6")
13021 (source
13022 (origin
13023 (method git-fetch)
13024 (uri (git-reference
13025 (url "https://github.com/creichert/ido-vertical-mode.el.git")
13026 (commit (string-append "v" version))))
13027 (file-name (git-file-name name version))
13028 (sha256
13029 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
13030 (build-system emacs-build-system)
13031 (home-page "https://github.com/creichert/ido-vertical-mode.el")
13032 (synopsis "Makes ido-mode display vertically")
13033 (description "Makes ido-mode display prospects vertically.")
13034 (license license:gpl3+)))
13035
13036 (define-public emacs-wordgen
13037 (package
13038 (name "emacs-wordgen")
13039 (version "0.1.4")
13040 (source
13041 (origin
13042 (method git-fetch)
13043 (uri (git-reference
13044 (url "https://github.com/Fanael/wordgen.el.git")
13045 (commit version)))
13046 (file-name (git-file-name name version))
13047 (sha256
13048 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
13049 (build-system emacs-build-system)
13050 (home-page "https://github.com/Fanael/wordgen.el")
13051 (synopsis "Random word generator")
13052 (description "This package provides functions to generate random words
13053 using user-provided rules.")
13054 (license license:gpl3+)))
13055
13056 (define-public emacs-on-screen
13057 (package
13058 (name "emacs-on-screen")
13059 (version "1.3.2")
13060 (source
13061 (origin
13062 (method url-fetch)
13063 (uri (string-append
13064 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
13065 (file-name (string-append name "-" version ".el"))
13066 (sha256
13067 (base32
13068 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
13069 (build-system emacs-build-system)
13070 (home-page
13071 "https://github.com/michael-heerdegen/on-screen.el")
13072 (synopsis "Guide your eyes while scrolling")
13073 (description
13074 "Scrolling can be distracting because your eyes may lose
13075 orientation. This library implements a minor mode that highlights
13076 the previously visible buffer part after each scroll.")
13077 (license license:gpl3+)))
13078
13079 (define-public emacs-highlight-escape-sequences
13080 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
13081 (revision "1"))
13082 (package
13083 (name "emacs-highlight-escape-sequences")
13084 (version (string-append "0.0.1" "-" revision "."
13085 (string-take commit 7)))
13086 (source
13087 (origin
13088 (method git-fetch)
13089 (uri (git-reference
13090 (url "https://github.com/dgutov/highlight-escape-sequences.git")
13091 (commit commit)))
13092 (file-name (git-file-name name version))
13093 (sha256
13094 (base32
13095 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
13096 (build-system emacs-build-system)
13097 (home-page "https://github.com/dgutov/highlight-escape-sequences")
13098 (synopsis "Highlight escape sequences in Emacs")
13099 (description "@code{highlight-escape-sequences} provides an
13100 Emacs minor mode to escape sequences in code.")
13101 (license license:gpl3+))))
13102
13103 (define-public emacs-dashboard
13104 (package
13105 (name "emacs-dashboard")
13106 (version "1.5.0")
13107 (source
13108 (origin
13109 (method git-fetch)
13110 (uri (git-reference
13111 (url "https://github.com/rakanalh/emacs-dashboard.git")
13112 (commit version)))
13113 (file-name (git-file-name name version))
13114 (sha256
13115 (base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
13116 (build-system emacs-build-system)
13117 (propagated-inputs
13118 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
13119 (arguments
13120 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
13121 #:phases
13122 (modify-phases %standard-phases
13123 (add-after 'unpack 'patch-dashboard-widgets
13124 ;; This phase fixes compilation error.
13125 (lambda _
13126 (chmod "dashboard-widgets.el" #o666)
13127 (emacs-substitute-variables "dashboard-widgets.el"
13128 ("dashboard-init-info"
13129 '(format "Loaded in %s" (emacs-init-time))))
13130 #t)))))
13131 (home-page "https://github.com/rakanalh/emacs-dashboard")
13132 (synopsis "Startup screen extracted from Spacemacs")
13133 (description "This package provides an extensible Emacs dashboard, with
13134 sections for bookmarks, projectil projects, org-agenda and more. ")
13135 (license license:gpl3+)))
13136
13137 (define-public emacs-slime-company
13138 (package
13139 (name "emacs-slime-company")
13140 (version "1.1")
13141 (source
13142 (origin
13143 (method git-fetch)
13144 (uri (git-reference
13145 (url "https://github.com/anwyn/slime-company.git")
13146 (commit (string-append "v" version))))
13147 (file-name (git-file-name name version))
13148 (sha256
13149 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
13150 (build-system emacs-build-system)
13151 (propagated-inputs
13152 `(("emacs-slime" ,emacs-slime)
13153 ("emacs-company" ,emacs-company)))
13154 (home-page "https://company-mode.github.io")
13155 (synopsis "SLIME completion backend for @code{company-mode}")
13156 (description
13157 "This is a backend implementation for the completion package
13158 @code{company-mode} which supports the normal and the fuzzy completion
13159 modes of SLIME.")
13160 (license license:gpl3+)))
13161
13162 (define-public emacs-sml-mode
13163 (package
13164 (name "emacs-sml-mode")
13165 (version "6.9")
13166 (source
13167 (origin
13168 (method url-fetch)
13169 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
13170 version ".el"))
13171 (sha256
13172 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
13173 (build-system emacs-build-system)
13174 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
13175 (synopsis "Major mode for editing (Standard) ML")
13176 (description "SML-MODE is a major Emacs mode for editing Standard ML.
13177 It provides syntax highlighting and automatic indentation and
13178 comes with sml-proc which allows interaction with an inferior SML
13179 interactive loop.")
13180 (license license:gpl3+)))
13181
13182 (define-public emacs-eros
13183 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
13184 (revision "1"))
13185 (package
13186 (name "emacs-eros")
13187 (version (string-append "0.0.1" "-" revision "."
13188 (string-take commit 7)))
13189 (source
13190 (origin
13191 (method git-fetch)
13192 (uri (git-reference
13193 (url "https://github.com/xiongtx/eros.git")
13194 (commit commit)))
13195 (file-name (git-file-name name version))
13196 (sha256
13197 (base32
13198 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
13199 (build-system emacs-build-system)
13200 (home-page "https://github.com/xiongtx/eros")
13201 (synopsis "Evaluation result overlays")
13202 (description "@code{eros} provides evaluation result overlays.")
13203 (license license:gpl3+))))
13204
13205 (define-public emacs-stickyfunc-enhance
13206 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
13207 (revision "1"))
13208 (package
13209 (name "emacs-stickyfunc-enhance")
13210 (version "0.1")
13211 (source
13212 (origin
13213 (method git-fetch)
13214 (uri (git-reference
13215 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
13216 (commit commit)))
13217 (file-name (git-file-name name version))
13218 (sha256
13219 (base32
13220 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
13221 (build-system emacs-build-system)
13222 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
13223 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
13224 (description
13225 "@code{semantic-stickyfunc-mode} shows the function point is currently
13226 in at the first line of the current buffer. This is useful when you have a
13227 very long function that spreads more than a screen, and you don't have to
13228 scroll up to read the function name and then scroll down to original position.")
13229 (license license:gpl3+))))
13230
13231 (define-public emacs-git-auto-commit-mode
13232 (package
13233 (name "emacs-git-auto-commit-mode")
13234 (version "4.4.0")
13235 (source
13236 (origin
13237 (method git-fetch)
13238 (uri (git-reference
13239 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
13240 (commit version)))
13241 (file-name (git-file-name name version))
13242 (sha256
13243 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
13244 (build-system emacs-build-system)
13245 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
13246 (synopsis "Emacs Minor mode to automatically commit and push")
13247 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
13248 tries to commit changes to a file after every save.
13249
13250 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
13251 the current upstream.")
13252 (license license:gpl3+)))
13253
13254 (define-public emacs-scroll-on-drag
13255 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
13256 (revision "1"))
13257 (package
13258 (name "emacs-scroll-on-drag")
13259 (version (git-version "0.1" revision commit))
13260 (source
13261 (origin
13262 (method git-fetch)
13263 (uri (git-reference
13264 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
13265 (commit commit)))
13266 (file-name (git-file-name name version))
13267 (sha256
13268 (base32
13269 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
13270 (build-system emacs-build-system)
13271 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
13272 (synopsis "Interactive scrolling")
13273 (description "This package permits scrolling at increasing speeds based
13274 on drag distance.")
13275 (license license:gpl3+))))
13276
13277 (define-public emacs-company-restclient
13278 (package
13279 (name "emacs-company-restclient")
13280 (version "0.3.0")
13281 (source
13282 (origin
13283 (method git-fetch)
13284 (uri (git-reference
13285 (url "https://github.com/iquiw/company-restclient.git")
13286 (commit (string-append "v" version))))
13287 (file-name (git-file-name name version))
13288 (sha256
13289 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
13290 (build-system emacs-build-system)
13291 (propagated-inputs
13292 `(("emacs-company" ,emacs-company)
13293 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
13294 ("emacs-restclient" ,emacs-restclient)))
13295 (home-page "https://github.com/iquiw/company-restclient")
13296 (synopsis "Company-mode completion back-end for restclient-mode")
13297 (description "@code{company-mode} back-end for
13298 @code{restclient-mode}.
13299
13300 It provides auto-completion for HTTP methods and headers in
13301 @code{restclient-mode}. Completion source is given by
13302 @code{know-your-http-well}.")
13303 (license license:gpl3+)))
13304
13305 (define-public emacs-noflet
13306 (let ((version "20170629")
13307 (revision "1")
13308 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
13309 (package
13310 (name "emacs-noflet")
13311 (version (git-version version revision commit))
13312 (source
13313 (origin
13314 (method git-fetch)
13315 (uri (git-reference
13316 (url "https://github.com/nicferrier/emacs-noflet")
13317 (commit commit)))
13318 (file-name (git-file-name name version))
13319 (sha256
13320 (base32
13321 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
13322 (build-system emacs-build-system)
13323 (arguments
13324 `(#:phases
13325 (modify-phases %standard-phases
13326 (add-after 'unpack 'require-dash
13327 ;; noflet.el uses -map from dash, but (require 'dash) is
13328 ;; missing. So, add it.
13329 (lambda _
13330 (substitute* "noflet.el"
13331 ((";;; Code:") ";;; Code:\n(require 'dash)"))
13332 #t)))))
13333 (propagated-inputs
13334 `(("emacs-dash" ,emacs-dash)))
13335 (home-page "https://github.com/nicferrier/emacs-noflet")
13336 (synopsis "Locally override functions")
13337 (description "@code{emacs-noflet} lets you locally override functions,
13338 in the manner of @command{flet}, but with access to the original function
13339 through the symbol: @command{this-fn}.")
13340 (license license:gpl3+))))
13341
13342 (define-public emacs-dumb-jump
13343 (package
13344 (name "emacs-dumb-jump")
13345 (version "0.5.2")
13346 (source
13347 (origin
13348 (method git-fetch)
13349 (uri (git-reference
13350 (url "https://github.com/jacktasia/dumb-jump.git")
13351 (commit (string-append "v" version))))
13352 (file-name (git-file-name name version))
13353 (sha256
13354 (base32 "00ph85vp8sa3k99qrdxfz4l8zx121q9xf47vvspzg26bk9l4nwin"))))
13355 (build-system emacs-build-system)
13356 (arguments
13357 `(#:tests? #f ; FIXME: Tests freeze when run.
13358 #:test-command '("ert-runner")
13359 #:phases
13360 (modify-phases %standard-phases
13361 (add-after 'unpack 'set-shell
13362 (lambda _
13363 ;; Setting the SHELL environment variable is required for the
13364 ;; tests to find sh.
13365 (setenv "SHELL" (which "sh"))
13366 #t)))))
13367 (native-inputs
13368 `(("emacs-el-mock" ,emacs-el-mock)
13369 ("emacs-noflet" ,emacs-noflet)
13370 ("emacs-undercover" ,emacs-undercover)
13371 ("ert-runner" ,emacs-ert-runner)))
13372 (propagated-inputs
13373 `(("emacs-f" ,emacs-f)
13374 ("emacs-popup" ,emacs-popup)))
13375 (home-page "https://github.com/jacktasia/dumb-jump")
13376 (synopsis "Jump to definition for multiple languages without configuration")
13377 (description "Dumb Jump is an Emacs \"jump to definition\" package with
13378 support for multiple programming languages that favors \"just working\" over
13379 speed or accuracy. This means minimal --- and ideally zero --- configuration
13380 with absolutely no stored indexes (tags) or persistent background processes.
13381 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
13382 @command{rg} installed.")
13383 (license license:gpl3+)))
13384
13385 (define-public emacs-dts-mode
13386 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
13387 (revision "1"))
13388 (package
13389 (name "emacs-dts-mode")
13390 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
13391 (source
13392 (origin
13393 (method git-fetch)
13394 (uri (git-reference
13395 (url "https://github.com/bgamari/dts-mode.git")
13396 (commit commit)))
13397 (file-name (git-file-name name version))
13398 (sha256
13399 (base32
13400 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
13401 (build-system emacs-build-system)
13402 (home-page "https://github.com/bgamari/dts-mode.git")
13403 (synopsis "Emacs minor mode for editing device tree files")
13404 (description
13405 "This package provides an Emacs minor mode for highlighting
13406 device tree files.")
13407 (license license:gpl3+))))
13408
13409 (define-public emacs-daemons
13410 (package
13411 (name "emacs-daemons")
13412 (version "2.0.0")
13413 (source
13414 (origin
13415 (method git-fetch)
13416 (uri (git-reference
13417 (url "https://github.com/cbowdon/daemons.el")
13418 (commit version)))
13419 (file-name (git-file-name name version))
13420 (sha256
13421 (base32
13422 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
13423 (build-system emacs-build-system)
13424 (home-page "https://github.com/cbowdon/daemons.el")
13425 (synopsis "Emacs UI for managing init system services")
13426 (description
13427 "This is an Emacs mode to give you a UI for managing init system
13428 daemons (services) for those getting tired of typing out @code{sudo service
13429 my_thing reload} all the time. It offers a consistent UI over different init
13430 systems.")
13431 (license license:gpl3+)))
13432
13433 (define-public emacs-isearch+
13434 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
13435 (revision "1"))
13436 (package
13437 (name "emacs-isearch+")
13438 (version (git-version "0" revision commit))
13439 (source
13440 (origin
13441 (method git-fetch)
13442 (uri (git-reference
13443 (url "https://github.com/emacsmirror/isearch-plus.git")
13444 (commit commit)))
13445 (file-name (git-file-name name version))
13446 (sha256
13447 (base32
13448 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
13449 (build-system emacs-build-system)
13450 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
13451 (synopsis "Extensions to @code{isearch.el}")
13452 (description "This package extends @code{isearch} with advice, dynamic
13453 filters, highlighting of regexp group levels, and more.")
13454 (license license:gpl2+))))
13455
13456 (define-public emacs-eshell-bookmark
13457 (package
13458 (name "emacs-eshell-bookmark")
13459 (version "2.0.0")
13460 (source
13461 (origin
13462 (method git-fetch)
13463 (uri (git-reference
13464 (url "https://github.com/Fuco1/eshell-bookmark")
13465 (commit version)))
13466 (file-name (git-file-name name version))
13467 (sha256
13468 (base32
13469 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
13470 (build-system emacs-build-system)
13471 (home-page "https://github.com/Fuco1/eshell-bookmark")
13472 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
13473 (description
13474 "This package allows for bookmarking @code{eshell} buffers. Upon
13475 visiting the bookmark, a new @code{eshell} session will be opened in the
13476 appropriate directory if no @code{eshell} session is active.")
13477 (license license:gpl3+)))
13478
13479 (define-public emacs-eshell-z
13480 (package
13481 (name "emacs-eshell-z")
13482 (version "0.3.2")
13483 (source
13484 (origin
13485 (method git-fetch)
13486 (uri (git-reference
13487 (url "https://github.com/xuchunyang/eshell-z")
13488 (commit (string-append "v" version))))
13489 (file-name (git-file-name name version))
13490 (sha256
13491 (base32
13492 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
13493 (build-system emacs-build-system)
13494 (home-page "https://github.com/xuchunyang/eshell-z")
13495 (synopsis "Quick navigation to frequently visited directories")
13496 (description
13497 "This package is a port of @code{z}, and keeps track of visited directories
13498 and commands invoked within them in order to enable navigation via input of
13499 matching regexps.")
13500 (license license:gpl3+)))
13501
13502 (define-public emacs-esh-autosuggest
13503 (package
13504 (name "emacs-esh-autosuggest")
13505 (version "2.0.0")
13506 (source
13507 (origin
13508 (method git-fetch)
13509 (uri (git-reference
13510 (url "https://github.com/dieggsy/esh-autosuggest")
13511 (commit version)))
13512 (file-name (git-file-name name version))
13513 (sha256
13514 (base32
13515 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
13516 (build-system emacs-build-system)
13517 (propagated-inputs `(("emacs-company" ,emacs-company)))
13518 (home-page "https://github.com/dieggsy/esh-autosuggest")
13519 (synopsis "Fish-like autosuggestions in Eshell")
13520 (description
13521 "This package assumes you use something other than company for eshell
13522 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
13523 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
13524 for history autosuggestions.
13525
13526 Unless you're using @code{use-package}'s hook keyword, you can enable the
13527 autosuggestions with:
13528 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
13529 (license license:gpl3+)))
13530
13531 (define-public emacs-desktop-environment
13532 (package
13533 (name "emacs-desktop-environment")
13534 (version "0.2.2")
13535 (source
13536 (origin
13537 (method git-fetch)
13538 (uri (git-reference
13539 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
13540 (commit (string-append "v" version))))
13541 (file-name (git-file-name name version))
13542 (sha256
13543 (base32
13544 "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
13545 (build-system emacs-build-system)
13546 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
13547 (synopsis "Control your GNU/Linux desktop environment from Emacs")
13548 (description
13549 "This package helps you control your GNU/Linux desktop from Emacs.
13550 With @code{desktop-environment}, you can control the brightness and volume as
13551 well as take screenshots and lock your screen. The package depends on the
13552 availability of shell commands to do the hard work for us. These commands can
13553 be changed by customizing the appropriate variables.")
13554 (license license:gpl3+)))
13555
13556 (define-public emacs-org-caldav
13557 (package
13558 (name "emacs-org-caldav")
13559 (version "20180403")
13560 (source
13561 (origin
13562 (method url-fetch)
13563 (uri (string-append
13564 "https://github.com/dengste/org-caldav/raw/"
13565 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
13566 "/org-caldav.el"))
13567 (sha256
13568 (base32
13569 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
13570 (build-system emacs-build-system)
13571 (propagated-inputs `(("emacs-org" ,emacs-org)))
13572 (home-page "https://github.com/dengste/org-caldav")
13573 (synopsis
13574 "Sync Org files with external calendars via the CalDAV protocol")
13575 (description
13576 "Synchronize between events in Org-mode files and a CalDAV calendar.
13577 This code is still alpha.")
13578 (license license:gpl3+)))
13579
13580 (define-public emacs-zotxt
13581 (package
13582 (name "emacs-zotxt")
13583 (version "20180518")
13584 (source
13585 (origin
13586 (method git-fetch)
13587 (uri (git-reference
13588 (url "https://github.com/egh/zotxt-emacs.git")
13589 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
13590 (file-name (git-file-name name version))
13591 (sha256
13592 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
13593 (build-system emacs-build-system)
13594 (propagated-inputs
13595 `(("emacs-deferred" ,emacs-deferred)
13596 ("emacs-request" ,emacs-request)))
13597 (home-page "https://github.com/egh/zotxt-emacs")
13598 (synopsis "Integrate Emacs with Zotero")
13599 (description "This package provides two integration features between Emacs
13600 and the Zotero research assistant: Insertion of links to Zotero items into an
13601 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
13602 (license license:gpl3+)))
13603
13604 (define-public emacs-evil-ediff
13605 ;; Evil-Ediff is included in Evil Collection from 20180617.
13606 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
13607
13608 (define-public emacs-evil-magit
13609 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
13610 (package
13611 (name "emacs-evil-magit")
13612 (version (git-version "0.4.2" "2" commit))
13613 (source
13614 (origin
13615 (method git-fetch)
13616 (uri (git-reference
13617 (url "https://github.com/emacs-evil/evil-magit")
13618 (commit commit)))
13619 (file-name (git-file-name name version))
13620 (sha256
13621 (base32
13622 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
13623 (build-system emacs-build-system)
13624 (propagated-inputs
13625 `(("emacs-evil" ,emacs-evil)
13626 ("magit" ,emacs-magit)))
13627 (home-page
13628 "https://github.com/emacs-evil/evil-magit")
13629 (synopsis "Evil-based key bindings for Magit")
13630 (description
13631 "This Emacs library configures Magit and Evil to play well with each other.
13632 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
13633 See the README at @url{https://github.com/justbur/evil-magit} for a table
13634 describing the key binding changes.")
13635 (license license:gpl3+))))
13636
13637 (define-public emacs-evil-mu4e
13638 ;; Evil-mu4e is included in Evil Collection from 20180617.
13639 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
13640
13641 (define-public emacs-evil-multiedit
13642 (package
13643 (name "emacs-evil-multiedit")
13644 (version "1.3.9")
13645 (source
13646 (origin
13647 (method git-fetch)
13648 (uri (git-reference
13649 (url "https://github.com/hlissner/evil-multiedit")
13650 (commit (string-append "v" version))))
13651 (file-name (git-file-name name version))
13652 (sha256
13653 (base32
13654 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
13655 (build-system emacs-build-system)
13656 (propagated-inputs
13657 `(("emacs-evil" ,emacs-evil)
13658 ("emacs-iedit" ,emacs-iedit)))
13659 (home-page
13660 "https://github.com/hlissner/evil-multiedit")
13661 (synopsis "Multiple cursors for Evil mode")
13662 (description
13663 "This plugin was an answer to the lack of proper multiple cursor support
13664 in Emacs+Evil. It allows you to select and edit matches interactively,
13665 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
13666 defaults.")
13667 (license license:gpl3+)))
13668
13669 (define-public emacs-evil-mc
13670 (let ((commit "5205fe671803465149e578849bbbe803c23a8e4e")
13671 (revision "1"))
13672 (package
13673 (name "emacs-evil-mc")
13674 (version (git-version "0.0.3" revision commit))
13675 (source
13676 (origin
13677 (method git-fetch)
13678 (uri (git-reference
13679 (url "https://github.com/gabesoft/evil-mc.git")
13680 (commit commit)))
13681 (file-name (git-file-name name version))
13682 (sha256
13683 (base32 "03pxpjjxbai4dwp84bgxh52ahh0f6ac58xi2mds1kl4v93nm7v42"))))
13684 (build-system emacs-build-system)
13685 (propagated-inputs
13686 `(("emacs-evil" ,emacs-evil)))
13687 (native-inputs
13688 `(("emacs-espuds" ,emacs-espuds)))
13689 (home-page "https://github.com/gabesoft/evil-mc")
13690 (synopsis "Interactive search compatible with @code{multiple-cursors}")
13691 (description "This package can be used with @code{multiple-cursors} to
13692 provide an incremental search that moves all fake cursors in sync.")
13693 (license license:expat))))
13694
13695 (define-public emacs-evil-org
13696 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
13697 (package
13698 (name "emacs-evil-org")
13699 (version (git-version "0.1.1" "1" commit))
13700 (source
13701 (origin
13702 (method git-fetch)
13703 (uri (git-reference
13704 (url "https://github.com/Somelauw/evil-org-mode")
13705 (commit commit)))
13706 (file-name (git-file-name name version))
13707 (sha256
13708 (base32
13709 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
13710 (build-system emacs-build-system)
13711 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
13712 (home-page
13713 "https://github.com/Somelauw/evil-org-mode")
13714 (synopsis "Evil keybindings for Org mode")
13715 (description
13716 "This package adds supplemental Evil mode key-bindings to Emacs
13717 Org-mode. It features:
13718 @itemize
13719 @item normal, visual and insert mode bindings;
13720 @item key bindings organised in key themes;
13721 @item operators like > and < to work on headings;
13722 @item text objects;
13723 @item table support;
13724 @item calendar (date selection) support;
13725 @item agenda support.
13726 @end itemize\n")
13727 (license license:gpl3+))))
13728
13729 (define-public emacs-debpaste
13730 (package
13731 (name "emacs-debpaste")
13732 (version "0.1.5")
13733 (home-page "https://github.com/alezost/debpaste.el")
13734 (source
13735 (origin
13736 (method git-fetch)
13737 (uri (git-reference (url home-page)
13738 (commit (string-append "v" version))))
13739 (file-name (string-append name "-" version ".tar.gz"))
13740 (sha256
13741 (base32
13742 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
13743 (build-system emacs-build-system)
13744 (propagated-inputs
13745 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
13746 (synopsis "Manipulate pastes from the Debian Pastezone")
13747 (description "Debpaste is an Emacs interface for the Debian Pastezone,
13748 allowing you to receive, post, and delete pastes. It communicates with the
13749 server using XML-RPC.")
13750 (license license:gpl3+)))
13751
13752 (define-public emacs-xml-rpc
13753 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
13754 (revision "1"))
13755 (package
13756 (name "emacs-xml-rpc")
13757 (version (git-version "1.6.12" revision commit))
13758 (source
13759 (origin
13760 (method git-fetch)
13761 (uri (git-reference
13762 (url "https://github.com/hexmode/xml-rpc-el")
13763 (commit commit)))
13764 (file-name (git-file-name name version))
13765 (sha256
13766 (base32
13767 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
13768 (build-system emacs-build-system)
13769 (home-page "https://github.com/hexmode/xml-rpc-el")
13770 (synopsis "XML-RPC client for Emacs")
13771 (description "This package provides an XML-RPC client for Emacs capable
13772 of both synchronous and asynchronous method calls using the @code{url}
13773 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
13774 datatypes as Lisp values, automatically converting to and from the XML
13775 datastructures as needed, both for method parameters and return values, making
13776 using XML-RPC methods fairly transparent to the Lisp code.")
13777 (license license:gpl3+))))
13778
13779 (define-public emacs-xpm
13780 (package
13781 (name "emacs-xpm")
13782 (version "1.0.4")
13783 (source
13784 (origin
13785 (method url-fetch)
13786 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
13787 version ".tar"))
13788 (sha256
13789 (base32
13790 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
13791 (build-system emacs-build-system)
13792 (home-page "https://elpa.gnu.org/packages/xpm.html")
13793 (synopsis "XPM image editing mode for Emacs")
13794 (description "This Emacs package makes editing XPM images easy (and maybe
13795 fun). Editing is done directly on the (textual) image format, for maximal
13796 cohesion with the Emacs Way.")
13797 (license license:gpl3+)))
13798
13799 (define-public emacs-fish-completion
13800 (package
13801 (name "emacs-fish-completion")
13802 (version "1.1")
13803 (source
13804 (origin
13805 (method git-fetch)
13806 (uri (git-reference
13807 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
13808 (commit version)))
13809 (file-name (git-file-name name version))
13810 (sha256
13811 (base32
13812 "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021"))))
13813 (build-system emacs-build-system)
13814 (inputs `(("fish" ,fish)))
13815 (arguments
13816 `(#:phases
13817 (modify-phases %standard-phases
13818 (add-after 'unpack 'configure
13819 (lambda* (#:key inputs outputs #:allow-other-keys)
13820 (let ((fish (assoc-ref inputs "fish")))
13821 ;; Specify the absolute file names of the various
13822 ;; programs so that everything works out-of-the-box.
13823 (make-file-writable "fish-completion.el")
13824 (emacs-substitute-variables
13825 "fish-completion.el"
13826 ("fish-completion-command"
13827 (string-append fish "/bin/fish")))))))))
13828 (home-page
13829 "https://gitlab.com/Ambrevar/emacs-fish-completion")
13830 (synopsis "Fish completion for Emacs pcomplete")
13831 (description
13832 "This package provides completion for the Fish shell to pcomplete (used
13833 by shell and Eshell). You can set it up globally with:
13834
13835 @example
13836 (when (and (executable-find \"fish\")
13837 (require 'fish-completion nil t))
13838 (global-fish-completion-mode))
13839 @end example
13840
13841 Alternatively, you can call the @code{fish-completion-mode} manually or in
13842 shell/Eshell mode hook.
13843
13844 The package @code{emacs-bash-completion} is an optional dependency: if available,
13845 @code{fish-completion-complete} can be configured to fall back on bash to further
13846 try completing. See @code{fish-completion-fallback-on-bash-p}.")
13847 (license license:gpl3+)))
13848
13849 (define-public emacs-gif-screencast
13850 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
13851 (package
13852 (name "emacs-gif-screencast")
13853 (version (git-version "20180616" "1" commit))
13854 (source
13855 (origin
13856 (method url-fetch)
13857 (uri (string-append
13858 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
13859 "repository/archive.tar.gz?ref="
13860 commit))
13861 (sha256
13862 (base32
13863 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
13864 (build-system emacs-build-system)
13865 (inputs
13866 `(("scrot" ,scrot)
13867 ("imagemagick" ,imagemagick)
13868 ("gifsicle" ,gifsicle)))
13869 (arguments
13870 `(#:phases
13871 (modify-phases %standard-phases
13872 (add-after 'unpack 'configure
13873 (lambda* (#:key inputs outputs #:allow-other-keys)
13874 (let ((scrot (assoc-ref inputs "scrot"))
13875 (imagemagick (assoc-ref inputs "imagemagick"))
13876 (gifsicle (assoc-ref inputs "gifsicle")))
13877 ;; Specify the absolute file names of the various
13878 ;; programs so that everything works out-of-the-box.
13879 (emacs-substitute-variables
13880 "gif-screencast.el"
13881 ("gif-screencast-program"
13882 (string-append scrot "/bin/scrot"))
13883 ("gif-screencast-convert-program"
13884 (string-append imagemagick "/bin/convert"))
13885 ("gif-screencast-cropping-program"
13886 (string-append imagemagick "/bin/mogrify"))
13887 ("gif-screencast-optimize-program"
13888 (string-append imagemagick "/bin/gifsicle")))))))))
13889 (home-page
13890 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
13891 (synopsis "One-frame-per-action GIF recording")
13892 (description
13893 "Call @code{gif-screencast} to start a recording.
13894 A screenshot is taken for every user action. Call
13895 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
13896 the GIF result.")
13897 (license license:gpl3+))))
13898
13899 (define-public emacs-google-translate
13900 (package
13901 (name "emacs-google-translate")
13902 (version "0.11.18")
13903 (source
13904 (origin
13905 (method git-fetch)
13906 (uri (git-reference
13907 (url "https://github.com/atykhonov/google-translate/")
13908 (commit (string-append "v" version))))
13909 (file-name (git-file-name name version))
13910 (sha256
13911 (base32
13912 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
13913 (build-system emacs-build-system)
13914 (home-page "https://github.com/atykhonov/google-translate")
13915 (synopsis "Emacs interface to Google Translate")
13916 (description
13917 "This package provides an Emacs interface to the Google Translate
13918 on-line service.")
13919 (license license:gpl3+)))
13920
13921 (define-public emacs-helm-company
13922 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
13923 (package
13924 (name "emacs-helm-company")
13925 (version (git-version "0.2.3" "1" commit))
13926 (source
13927 (origin
13928 (method git-fetch)
13929 (uri (git-reference
13930 (url "https://github.com/Sodel-the-Vociferous/helm-company")
13931 (commit commit)))
13932 (file-name (git-file-name name version))
13933 (sha256
13934 (base32
13935 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
13936 (build-system emacs-build-system)
13937 (propagated-inputs
13938 `(("emacs-helm" ,emacs-helm)
13939 ("emacs-company" ,emacs-company)))
13940 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
13941 (synopsis "Helm interface for company-mode")
13942 (description
13943 "This is a Helm interface to company-mode, a text completion
13944 framework.")
13945 (license license:gpl3+))))
13946
13947 (define-public emacs-helm-descbinds
13948 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
13949 (package
13950 (name "emacs-helm-descbinds")
13951 (version (git-version "1.13" "1" commit))
13952 (source
13953 (origin
13954 (method git-fetch)
13955 (uri (git-reference
13956 (url "https://github.com/emacs-helm/helm-descbinds")
13957 (commit commit)))
13958 (file-name (git-file-name name version))
13959 (sha256
13960 (base32
13961 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
13962 (build-system emacs-build-system)
13963 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
13964 (home-page "https://github.com/emacs-helm/helm-descbinds")
13965 (synopsis "Convenient @code{describe-bindings} with Helm")
13966 (description
13967 "This package is a replacement of @code{describe-bindings} for Helm.
13968 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
13969 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
13970 @code{helm-descbinds}. The bindings are presented in a similar way as
13971 @code{describe-bindings} does, but you can use completion to find the command
13972 you searched for and execute it, or view its documentation.")
13973 (license license:gpl3+))))
13974
13975 (define-public emacs-helm-emms
13976 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
13977 (package
13978 (name "emacs-helm-emms")
13979 (version (git-version "1.3" "2" commit))
13980 (source
13981 (origin
13982 (method git-fetch)
13983 (uri (git-reference
13984 (url "https://github.com/emacs-helm/helm-emms")
13985 (commit commit)))
13986 (file-name (git-file-name name version))
13987 (sha256
13988 (base32
13989 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
13990 (build-system emacs-build-system)
13991 (propagated-inputs
13992 `(("emacs-helm" ,emacs-helm)
13993 ("emacs-emms" ,emacs-emms)))
13994 (home-page
13995 "https://github.com/emacs-helm/helm-emms")
13996 (synopsis "Emms for Helm")
13997 (description "Helm interface for Emms to browse all tracks and all folders
13998 from @code{emms-source-file-default-directory}.")
13999 (license license:gpl3+))))
14000
14001 (define-public emacs-helm-exwm
14002 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
14003 (package
14004 (name "emacs-helm-exwm")
14005 (version (git-version "20180703" "2" commit))
14006 (source
14007 (origin
14008 (method git-fetch)
14009 (uri (git-reference
14010 (url "https://github.com/emacs-helm/helm-exwm.git")
14011 (commit commit)))
14012 (sha256
14013 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
14014 (build-system emacs-build-system)
14015 (propagated-inputs
14016 `(("emacs-helm" ,emacs-helm)
14017 ("emacs-exwm" ,emacs-exwm)))
14018 (home-page
14019 "https://github.com/emacs-helm/helm-exwm")
14020 (synopsis "Helm for EXWM buffers")
14021 (description
14022 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
14023 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
14024 switch between the various windows of one or several specific applications.
14025 See @code{helm-exwm-switch-browser} for an example.")
14026 (license license:gpl3+))))
14027
14028 (define-public emacs-helm-flycheck
14029 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
14030 (package
14031 (name "emacs-helm-flycheck")
14032 (version (git-version "0.4" "1" commit))
14033 (source
14034 (origin
14035 (method git-fetch)
14036 (uri (git-reference
14037 (url "https://github.com/yasuyk/helm-flycheck")
14038 (commit commit)))
14039 (file-name (git-file-name name version))
14040 (sha256
14041 (base32
14042 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
14043 (build-system emacs-build-system)
14044 (propagated-inputs
14045 `(("emacs-dash" ,emacs-dash)
14046 ("emacs-flycheck" ,emacs-flycheck)
14047 ("emacs-helm" ,emacs-helm)))
14048 (home-page "https://github.com/yasuyk/helm-flycheck")
14049 (synopsis "Show Flycheck errors with Helm")
14050 (description
14051 "This integrates Flycheck with Helm.")
14052 (license license:gpl3+))))
14053
14054 (define-public emacs-helm-ls-git
14055 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
14056 (package
14057 (name "emacs-helm-ls-git")
14058 (version (git-version "1.9.1" "1" commit))
14059 (source
14060 (origin
14061 (method git-fetch)
14062 (uri (git-reference
14063 (url "https://github.com/emacs-helm/helm-ls-git")
14064 (commit commit)))
14065 (file-name (git-file-name name version))
14066 (sha256
14067 (base32
14068 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
14069 (build-system emacs-build-system)
14070 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
14071 (home-page "https://github.com/emacs-helm/helm-ls-git")
14072 (synopsis "Helm interface for listing the files in a Git repository")
14073 (description
14074 "This package provides a Helm interface for Git files.
14075 @itemize
14076 @item Display the open buffers in project.
14077 @item Display a status source showing state of project (modified files etc.).
14078 @item Display a list of all files in project under git control.
14079 @item Quickly look at diffs of modified files.
14080 @item Allow switching to @code{git status} with your preferred frontend
14081 (vc-dir, Magit,etc.).
14082 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
14083 can use ack-grep instead of grep).
14084 @item Integrate usage of gid from id-utils.
14085 @item Full integration with @code{helm-find-files}, allow you to browse
14086 projects unrelated to current-buffer.
14087 @item In addition, all actions of type files and buffers are provided.
14088 @end itemize\n")
14089 (license license:gpl3+))))
14090
14091 (define-public emacs-helm-mu
14092 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
14093 (package
14094 (name "emacs-helm-mu")
14095 (version (git-version "20180513" "1" commit))
14096 (source
14097 (origin
14098 (method git-fetch)
14099 (uri (git-reference
14100 (url "https://github.com/emacs-helm/helm-mu.git")
14101 (commit commit)))
14102 (sha256
14103 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
14104 (build-system emacs-build-system)
14105 (propagated-inputs
14106 `(("emacs-helm" ,emacs-helm)
14107 ("mu" ,mu)))
14108 (home-page
14109 "https://github.com/emacs-helm/helm-mu")
14110 (synopsis
14111 "Helm sources for searching emails and contacts")
14112 (description
14113 "Helm sources for searching emails and contacts using @code{mu} and
14114 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
14115 Emacs build on top of mu. Mu is highly efficient making it possible to get
14116 instant results even for huge maildirs. It also provides search operators,
14117 e.g: @code{from:Peter to:Anne flag:attach search term}.")
14118 (license license:gpl3+))))
14119
14120 (define-public emacs-helm-pass
14121 (package
14122 (name "emacs-helm-pass")
14123 (version "0.3")
14124 (source
14125 (origin
14126 (method git-fetch)
14127 (uri (git-reference
14128 (url "https://github.com/emacs-helm/helm-pass")
14129 (commit version)))
14130 (file-name (git-file-name name version))
14131 (sha256
14132 (base32
14133 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
14134 (build-system emacs-build-system)
14135 (propagated-inputs
14136 `(("emacs-helm" ,emacs-helm)
14137 ("emacs-password-store" ,emacs-password-store)))
14138 (home-page "https://github.com/emacs-helm/helm-pass")
14139 (synopsis "Helm interface to pass, the standard Unix password manager")
14140 (description
14141 "Users of @code{helm-pass} may also be interested in functionality
14142 provided by other Emacs packages dealing with pass:
14143 @itemize
14144 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
14145 @item @code{emacs-pass}, a major mode for @code{pass}.
14146 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
14147 @code{pass}, included in Emacs 26+).
14148 @end itemize\n")
14149 (license license:gpl3+)))
14150
14151 (define-public emacs-image+
14152 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
14153 (package
14154 (name "emacs-image+")
14155 (version (git-version "0.6.2" "1" commit))
14156 (source
14157 (origin
14158 (method git-fetch)
14159 (uri (git-reference
14160 (url "https://github.com/mhayashi1120/Emacs-imagex")
14161 (commit commit)))
14162 (file-name (git-file-name name version))
14163 (sha256
14164 (base32
14165 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
14166 (build-system emacs-build-system)
14167 (inputs `(("imagemagick" ,imagemagick)))
14168 (arguments
14169 `(#:phases
14170 (modify-phases %standard-phases
14171 (add-after 'unpack 'configure
14172 (lambda* (#:key inputs outputs #:allow-other-keys)
14173 (let ((imagemagick (assoc-ref inputs "imagemagick")))
14174 ;; Specify the absolute file names of the various
14175 ;; programs so that everything works out-of-the-box.
14176 (chmod "image+.el" #o666)
14177 (emacs-substitute-variables
14178 "image+.el"
14179 ("imagex-convert-command"
14180 (string-append imagemagick "/bin/convert"))
14181 ("imagex-identify-command"
14182 (string-append imagemagick "/bin/identify")))))))))
14183 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
14184 (synopsis "Image manipulation extensions for Emacs")
14185 (description
14186 "Image+ provides keybindings allowing you to zoom in or zoom out of an
14187 image, rotate it, save modified images, and more.")
14188 (license license:gpl3+))))
14189
14190 (define-public emacs-package-lint
14191 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
14192 (package
14193 (name "emacs-package-lint")
14194 (version (git-version "0.5" "1" commit))
14195 (source
14196 (origin
14197 (method git-fetch)
14198 (uri (git-reference
14199 (url "https://github.com/purcell/package-lint")
14200 (commit commit)))
14201 (file-name (git-file-name name version))
14202 (sha256
14203 (base32
14204 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
14205 (build-system emacs-build-system)
14206 (home-page "https://github.com/purcell/package-lint")
14207 (synopsis "Linting library for elisp package authors")
14208 (description
14209 "This provides a list of issues with the Emacs package metadata of a file,
14210 e.g. the package dependencies it requires. See function
14211 @code{package-lint-buffer}. Checks will currently be enabled only if a
14212 \"Package-Requires:\" or \"Package-Version:\" header is present in the
14213 file.")
14214 (license license:gpl3+))))
14215
14216 (define-public emacs-picpocket
14217 (let ((version "40")
14218 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
14219 (package
14220 (name "emacs-picpocket")
14221 (version version)
14222 (source
14223 (origin
14224 (method git-fetch)
14225 (uri (git-reference
14226 (url "https://github.com/johanclaesson/picpocket")
14227 (commit commit)))
14228 (file-name (git-file-name name version))
14229 (sha256
14230 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
14231 (build-system emacs-build-system)
14232 (arguments ; needed for running tests
14233 `(#:tests? #t
14234 #:emacs ,emacs
14235 #:test-command '("emacs" "--batch"
14236 "-l" "picpocket-test.el"
14237 "-f" "ert-run-tests-batch-and-exit")))
14238 (home-page "https://github.com/johanclaesson/picpocket")
14239 (synopsis "Image viewer for Emacs")
14240 (description
14241 "Picpocket is an image viewer for GNU Emacs. It has commands for:
14242
14243 @itemize
14244 @item File operations on the picture files (delete, move, copy, hardlink).
14245 @item Scale and rotate the picture.
14246 @item Associate pictures with tags which are saved to disk.
14247 @item Filter pictures according to tags.
14248 @item Customizing keystrokes for quick tagging and file operations.
14249 @item Undo and browse history of undoable commands.
14250 @end itemize")
14251 (license license:gpl3+))))
14252
14253 (define-public emacs-wgrep-helm
14254 ;; `emacs-wgrep-helm' was mistakenly added.
14255 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
14256
14257 (define-public emacs-mu4e-conversation
14258 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
14259 (package
14260 (name "emacs-mu4e-conversation")
14261 (version (git-version "20181126" "4" commit))
14262 (source
14263 (origin
14264 (method url-fetch)
14265 (uri (string-append
14266 "https://gitlab.com/Ambrevar/mu4e-conversation/"
14267 "repository/archive.tar.gz?ref="
14268 commit))
14269 (file-name (git-file-name name version))
14270 (sha256
14271 (base32
14272 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
14273 (build-system emacs-build-system)
14274 (propagated-inputs
14275 `(("mu" ,mu)))
14276 (home-page
14277 "https://gitlab.com/Ambrevar/mu4e-conversation")
14278 (synopsis
14279 "Show a complete thread in a single buffer")
14280 (description
14281 "This package offers an alternate view to mu4e's e-mail display. It
14282 shows all e-mails of a thread in a single view, where each correspondent has
14283 their own face. Threads can be displayed linearly (in which case e-mails are
14284 displayed in chronological order) or as an Org document where the node tree
14285 maps the thread tree.")
14286 (license license:gpl3+))))
14287
14288 (define-public emacs-pinentry
14289 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
14290 (revision "1"))
14291 (package
14292 (name "emacs-pinentry")
14293 (version (git-version "0.1" revision commit))
14294 (source
14295 (origin
14296 (method url-fetch)
14297 (uri (string-append
14298 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
14299 "/packages/pinentry/pinentry.el?id=" commit))
14300 (file-name (string-append "pinentry.el"))
14301 (sha256
14302 (base32
14303 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
14304 (build-system emacs-build-system)
14305 (propagated-inputs
14306 `(("gnupg" ,gnupg)))
14307 (home-page "https://elpa.gnu.org/packages/pinentry.html")
14308 (synopsis "GnuPG Pinentry server implementation")
14309 (description
14310 "This package allows GnuPG passphrase to be prompted through the
14311 minibuffer instead of graphical dialog.
14312
14313 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
14314 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
14315 server with @code{M-x pinentry-start}.")
14316 (license license:gpl3+))))
14317
14318 (define-public emacs-so-long
14319 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
14320 (revision "2"))
14321 (package
14322 (name "emacs-so-long")
14323 (version (git-version "1.0" revision commit))
14324 (source
14325 (origin
14326 (method git-fetch)
14327 (uri (git-reference
14328 (url "https://git.savannah.gnu.org/git/so-long.git")
14329 (commit commit)))
14330 (file-name (git-file-name name version))
14331 (sha256
14332 (base32
14333 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
14334 (build-system emacs-build-system)
14335 (home-page "https://www.emacswiki.org/emacs/SoLong")
14336 (synopsis "Improve performance in files with long lines")
14337 (description "This package improves the performance of Emacs when
14338 viewing files with long lines.")
14339 (license license:gpl3+))))
14340
14341 (define-public emacs-github-review
14342 (let ((commit "9c3ffe30fba5d02e9951e76d1a5be2ed046663da")
14343 (version "0.1")
14344 (revision "1"))
14345 (package
14346 (name "emacs-github-review")
14347 (version (git-version version revision commit))
14348 (source
14349 (origin
14350 (method git-fetch)
14351 (uri (git-reference
14352 (url "https://github.com/charignon/github-review")
14353 (commit commit)))
14354 (file-name (git-file-name name version))
14355 (sha256
14356 (base32
14357 "078rv6f2p3wrznhgvmkhd071bwy72007f5l2m2a0r1k2i3vbfaja"))))
14358 (build-system emacs-build-system)
14359 (inputs
14360 `(("emacs-dash" ,emacs-dash)
14361 ("emacs-s" ,emacs-s)
14362 ("emacs-ghub" ,emacs-ghub)))
14363 (home-page "https://github.com/charignon/github-review")
14364 (synopsis "Review GitHub pull requests within Emacs")
14365 (description "This package provides commands to pull in, comment on, and
14366 accept and reject GitHub pull requests.")
14367 (license license:gpl3+))))
14368
14369 (define-public emacs-deadgrep
14370 ;; We prefer a newer commit (four commits newer than release) because of a
14371 ;; bugfix for globbing.
14372 (let ((commit "329119c65126f7917d3910bc584f4191ba8f21ac")
14373 (revision "1"))
14374 (package
14375 (name "emacs-deadgrep")
14376 (version (git-version "0.8" revision commit))
14377 (source
14378 (origin
14379 (method git-fetch)
14380 (uri (git-reference
14381 (url "https://github.com/Wilfred/deadgrep")
14382 (commit commit)))
14383 (file-name (git-file-name name version))
14384 (sha256
14385 (base32
14386 "0fxf7gq9sjfkgpdfqx10w3l3nd4rwa8kv9plyxk1fqacb3s5m6ai"))))
14387 (build-system emacs-build-system)
14388 (inputs
14389 `(("emacs-dash" ,emacs-dash)
14390 ("emacs-s" ,emacs-s)
14391 ("emacs-spinner" ,emacs-spinner)))
14392 (home-page "https://github.com/Wilfred/deadgrep")
14393 (synopsis "Frontend for @code{ripgrep}")
14394 (description "This package provides an Emacs interface for performing
14395 searches with @code{ripgrep}.")
14396 (license license:gpl3+))))
14397
14398 (define-public emacs-focus
14399 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
14400 (version "0.1.1")
14401 (revision "1"))
14402 (package
14403 (name "emacs-focus")
14404 (version (git-version version revision commit))
14405 (source
14406 (origin
14407 (method git-fetch)
14408 (uri (git-reference
14409 (url "https://github.com/larstvei/Focus")
14410 (commit commit)))
14411 (file-name (git-file-name name version))
14412 (sha256
14413 (base32
14414 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
14415 (build-system emacs-build-system)
14416 (home-page "https://github.com/larstvei/Focus")
14417 (synopsis "Minor mode for focusing in on relevant text")
14418 (description "This package provides a minor mode that dims the color of
14419 text in neighboring sections.")
14420 (license license:gpl3+))))
14421
14422 (define-public emacs-pandoc-mode
14423 (package
14424 (name "emacs-pandoc-mode")
14425 (version "2.27.2")
14426 (source
14427 (origin
14428 (method git-fetch)
14429 (uri (git-reference
14430 (url "https://github.com/joostkremers/pandoc-mode")
14431 (commit version)))
14432 (file-name (git-file-name name version))
14433 (sha256
14434 (base32
14435 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
14436 (build-system emacs-build-system)
14437 (propagated-inputs
14438 `(("emacs-dash" ,emacs-dash)
14439 ("emacs-hydra" ,emacs-hydra)))
14440 (home-page "https://github.com/joostkremers/pandoc-mode")
14441 (synopsis "Minor mode for interacting with Pandoc")
14442 (description "This package provides a Hydra menu for interacting with the
14443 Pandoc, the document-conversion tool.")
14444 (license license:bsd-3)))
14445
14446 (define-public emacs-ccls
14447 (let ((commit "2764ddd57b03646f0327ea680a954b4a67450aef")
14448 (version "0.1")
14449 (revision "1"))
14450 (package
14451 (name "emacs-ccls")
14452 (version (git-version version revision commit))
14453 (source
14454 (origin
14455 (method git-fetch)
14456 (uri (git-reference
14457 (url "https://github.com/MaskRay/emacs-ccls")
14458 (commit commit)))
14459 (file-name (git-file-name name version))
14460 (sha256
14461 (base32
14462 "16427jvzhjy8kpvlgl3qzkzppv98124hkgi8q8pv1h7m46k9lhh3"))))
14463 (build-system emacs-build-system)
14464 (propagated-inputs
14465 `(("emacs-dash" ,emacs-dash)
14466 ("emacs-projectile" ,emacs-projectile)
14467 ("emacs-lsp-mode" ,emacs-lsp-mode)))
14468 (home-page "https://github.com/MaskRay/emacs-ccls")
14469 (synopsis "Emacs support for the @code{ccls} language server")
14470 (description "This package extends @code{lsp-mode} to work with @code{C}
14471 and @code{C++} files through the @code{ccls} language server.")
14472 (license license:bsd-3))))
14473
14474 (define-public emacs-org-brain
14475 (package
14476 (name "emacs-org-brain")
14477 (version "0.5")
14478 (source
14479 (origin
14480 (method git-fetch)
14481 (uri (git-reference
14482 (url "https://github.com/Kungsgeten/org-brain.git")
14483 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
14484 (file-name (git-file-name name version))
14485 (sha256
14486 (base32
14487 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
14488 (build-system emacs-build-system)
14489 (home-page "https://github.com/Kungsgeten/org-brain")
14490 (synopsis "Org-mode wiki and concept-mapping for Emacs")
14491 (description "@code{emacs-org-brain} implements a variant of concept
14492 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
14493 org-mode entries, where each entry is a file or a headline, and you can get a
14494 visual overview of the relationships between the entries: parents, children,
14495 siblings and friends. This visual overview can also be used to browse your
14496 entries. You can think of entries as nodes in a mind map, or pages in a
14497 wiki.")
14498 (license license:expat)))
14499
14500 (define-public emacs-recent-addresses
14501 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
14502 (revision "1"))
14503 (package
14504 (name "emacs-recent-addresses")
14505 (home-page "http://nschum.de/src/emacs/recent-addresses/")
14506 (version (git-version "0.1" revision commit))
14507 (source (origin
14508 (method git-fetch)
14509 (uri (git-reference
14510 ;; Note: Use a branch that works with Helm. Submitted
14511 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
14512 (url "https://github.com/civodul/recent-addresses.el")
14513 (commit commit)))
14514 (sha256
14515 (base32
14516 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
14517 (file-name (git-file-name name version))))
14518 (build-system emacs-build-system)
14519 (synopsis "Record recently-used email addressed and auto-complete them")
14520 (description
14521 "@code{recent-addresses} is an Emacs package that allows you to quickly
14522 look up previously used email addresses. It can be used alongside the Gnus
14523 email client.")
14524 (license license:gpl2+))))
14525
14526 (define-public emacs-fold-dwim
14527 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
14528 (revision "0"))
14529 (package
14530 (name "emacs-fold-dwim")
14531 (version (git-version "1.2" revision commit))
14532 (home-page "https://github.com/emacsattic/fold-dwim")
14533 (source (origin
14534 (method git-fetch)
14535 (uri (git-reference (url home-page) (commit commit)))
14536 (sha256
14537 (base32
14538 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
14539 (file-name (git-file-name name version))))
14540 (build-system emacs-build-system)
14541 (synopsis "Unified user interface for Emacs folding modes")
14542 (description
14543 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
14544 can do different things depending on the context. In this package, it means
14545 that, if the cursor is in a currently hidden folded construction, we want to
14546 show it; if it's not, we want to hide whatever fold the cursor is in.")
14547 (license license:gpl2+))))
14548
14549 (define-public emacs-markup-faces
14550 (package
14551 (name "emacs-markup-faces")
14552 (version "1.0.0")
14553 (source
14554 (origin
14555 (method url-fetch)
14556 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
14557 version ".el"))
14558 (sha256
14559 (base32
14560 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
14561 (build-system emacs-build-system)
14562 (home-page "https://github.com/sensorflo/markup-faces")
14563 (synopsis "Collection of Emacs faces for markup language modes")
14564 (description "emacs-markup-faces is like font-lock-faces, but tailored for
14565 markup languages instead programming languages. The sub group markup-faces-text
14566 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
14567 common look and feel, or let's say theme, across different markup language modes
14568 and 'text viewing modes' respectively.")
14569 (license license:gpl3+)))
14570
14571 (define-public emacs-adoc-mode
14572 (package
14573 (name "emacs-adoc-mode")
14574 (version "0.6.6")
14575 (source
14576 (origin
14577 (method url-fetch)
14578 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
14579 version ".el"))
14580 (sha256
14581 (base32
14582 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
14583 (build-system emacs-build-system)
14584 (propagated-inputs
14585 `(("emacs-markup-faces" ,emacs-markup-faces)))
14586 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
14587 (synopsis "AsciiDoc mode for Emacs")
14588 (description "This package provides an Emacs major mode for editing AsciiDoc
14589 files. It focuses on highlighting the document to improve readability.")
14590 (license license:gpl2+)))
14591
14592 (define-public emacs-rust-mode
14593 (let ((commit
14594 ;; Last release is old (2016), use more recent commit to get bug
14595 ;; fixes.
14596 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
14597 (revision "0"))
14598 (package
14599 (name "emacs-rust-mode")
14600 (version (git-version "0.3.0" revision commit))
14601 (source (origin
14602 (method git-fetch)
14603 (uri
14604 (git-reference
14605 (url "https://github.com/rust-lang/rust-mode")
14606 (commit commit)))
14607 (file-name (git-file-name name version))
14608 (sha256
14609 (base32
14610 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
14611 (build-system emacs-build-system)
14612 (arguments
14613 `(#:phases
14614 (modify-phases %standard-phases
14615 (replace 'check
14616 (lambda _
14617 (invoke "sh" "run_rust_emacs_tests.sh"))))))
14618 (home-page "https://github.com/rust-lang/rust-mode")
14619 (synopsis "Major Emacs mode for editing Rust source code")
14620 (description "This package provides a major Emacs mode for editing Rust
14621 source code.")
14622 (license (list license:expat
14623 license:asl2.0)))))
14624
14625 (define-public emacs-ztree
14626 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
14627 (package
14628 (name "emacs-ztree")
14629 (version (git-version "1.0.5" "1" commit))
14630 (source
14631 (origin
14632 (method git-fetch)
14633 (uri (git-reference
14634 (url "https://github.com/fourier/ztree")
14635 (commit commit)))
14636 (file-name (git-file-name name version))
14637 (sha256
14638 (base32
14639 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
14640 (build-system emacs-build-system)
14641 (home-page "https://github.com/fourier/ztree")
14642 (synopsis "Directory tree comparison mode for Emacs")
14643 (description "Ztree is a project dedicated to implementation of several
14644 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
14645 @command{ztree-diff} and @command{ztree-dir} (the basis of
14646 @command{ztree-diff}).")
14647 (license license:gpl3))))
14648
14649 (define-public emacs-helm-org-contacts
14650 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
14651 (package
14652 (name "emacs-helm-org-contacts")
14653 (version (git-version "20180707" "1" commit))
14654 (source
14655 (origin
14656 (method git-fetch)
14657 (uri (git-reference
14658 (url "https://github.com/tmalsburg/helm-org-contacts")
14659 (commit commit)))
14660 (file-name (git-file-name name version))
14661 (sha256
14662 (base32
14663 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
14664 (build-system emacs-build-system)
14665 (propagated-inputs
14666 `(("emacs-dash" ,emacs-dash)
14667 ("emacs-helm" ,emacs-helm)
14668 ("emacs-s" ,emacs-s)))
14669 (home-page "https://github.com/tmalsburg/helm-org-contacts")
14670 (synopsis "Helm source for org-contacts")
14671 (description "This Helm source can be used to search contacts stored in
14672 org-contacts format. There are actions for inserting postal addresses, email
14673 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
14674 was called.")
14675 (license license:gpl3))))
14676
14677 (define-public emacs-dired-du
14678 (package
14679 (name "emacs-dired-du")
14680 (version "0.5.1")
14681 (source
14682 (origin
14683 (method url-fetch)
14684 (uri (string-append
14685 "https://elpa.gnu.org/packages/dired-du-"
14686 version ".tar"))
14687 (sha256
14688 (base32
14689 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
14690 (build-system emacs-build-system)
14691 (home-page "http://elpa.gnu.org/packages/dired-du.html")
14692 (synopsis "Dired with recursive directory sizes")
14693 (description
14694 "Display the recursive size of directories in Dired.
14695 This file defines a minor mode @command{dired-du-mode} to show the recursive
14696 size of directories in Dired buffers. If @command{du} program is available,
14697 then the directory sizes are obtained with it. Otherwise, the directory sizes
14698 are obtained with Lisp. The former is faster and provide a more precise
14699 value. For directories where the user doesn't have read permission, the
14700 recursive size is not obtained. Once this mode is enabled, every new Dired
14701 buffer displays recursive dir sizes.")
14702 (license license:gpl3+)))
14703
14704 (define-public emacs-dired-rsync
14705 (package
14706 (name "emacs-dired-rsync")
14707 (version "0.4")
14708 (source (origin
14709 (method git-fetch)
14710 (uri (git-reference
14711 (url "https://github.com/stsquad/dired-rsync.git")
14712 (commit version)))
14713 (file-name (git-file-name name version))
14714 (sha256
14715 (base32
14716 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
14717 (build-system emacs-build-system)
14718 (propagated-inputs
14719 `(("emacs-s" ,emacs-s)
14720 ("emacs-dash" ,emacs-dash)))
14721 (home-page "https://github.com/stsquad/dired-rsync/")
14722 (synopsis "Support for rsync from Emacs dired buffers")
14723 (description "This package adds a single command @code{dired-rsync} which
14724 allows the user to copy marked files in a dired buffer via @code{rsync}. This
14725 is useful, especially for large files, because the copy happens in the
14726 background and doesn’t lock up Emacs. It is also more efficient than using
14727 tramps own encoding methods for moving data between systems.")
14728 (license license:gpl3+)))
14729
14730 (define-public emacs-pcre2el
14731 ;; Last release is very old so we get the latest commit.
14732 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
14733 (package
14734 (name "emacs-pcre2el")
14735 (version (git-version "1.8" "1" commit))
14736 (source
14737 (origin
14738 (method git-fetch)
14739 (uri (git-reference
14740 (url "https://github.com/joddie/pcre2el")
14741 (commit commit)))
14742 (file-name (git-file-name name version))
14743 (sha256
14744 (base32
14745 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
14746 (build-system emacs-build-system)
14747 (home-page "https://github.com/joddie/pcre2el")
14748 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
14749 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
14750 Tools) is a utility for working with regular expressions in Emacs, based on a
14751 recursive-descent parser for regexp syntax. In addition to converting (a
14752 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
14753
14754 @itemize
14755 @item convert Emacs syntax to PCRE
14756 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
14757 @item untangle complex regexps by showing the parse tree in @code{rx} form and
14758 highlighting the corresponding chunks of code
14759 @item show the complete list of strings (productions) matching a regexp,
14760 provided the list is finite
14761 @item provide live font-locking of regexp syntax (so far only for Elisp
14762 buffers – other modes on the TODO list).
14763 @end itemize\n")
14764 (license license:gpl3))))
14765
14766 (define-public emacs-magit-todos
14767 (package
14768 (name "emacs-magit-todos")
14769 (version "1.4")
14770 (source
14771 (origin
14772 (method git-fetch)
14773 (uri (git-reference
14774 (url "https://github.com/alphapapa/magit-todos")
14775 (commit version)))
14776 (file-name (git-file-name name version))
14777 (sha256
14778 (base32
14779 "09pjb4k409gc0h51vb5az1shx02c1hx8cnvhi529n7dm4maildg5"))))
14780 (build-system emacs-build-system)
14781 (propagated-inputs
14782 `(("emacs-async" ,emacs-async)
14783 ("emacs-dash" ,emacs-dash)
14784 ("emacs-f" ,emacs-f)
14785 ("emacs-hl-todo" ,emacs-hl-todo)
14786 ("magit" ,emacs-magit)
14787 ("emacs-pcre2el" ,emacs-pcre2el)
14788 ("emacs-s" ,emacs-s)))
14789 (home-page "https://github.com/alphapapa/magit-todos")
14790 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
14791 (description "This package displays keyword entries from source code
14792 comments and Org files in the Magit status buffer. Activating an item jumps
14793 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
14794 few (like NOTE).")
14795 (license license:gpl3)))
14796
14797 (define-public emacs-git-annex
14798 ;; Unreleased version has a fontification fix.
14799 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
14800 (revision "1"))
14801 (package
14802 (name "emacs-git-annex")
14803 (version (string-append "1.1-" revision "." (string-take commit 8)))
14804 (source
14805 (origin
14806 (method git-fetch)
14807 (uri (git-reference
14808 (url "https://github.com/jwiegley/git-annex-el")
14809 (commit commit)))
14810 (file-name (git-file-name name version))
14811 (sha256
14812 (base32
14813 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
14814 (build-system emacs-build-system)
14815 (home-page "https://github.com/jwiegley/git-annex-el")
14816 (synopsis "Emacs integration for git-annex")
14817 (description "Enhances Dired and buffers visiting annex files with
14818 git-annex functionality. In Dired, the names of annex files are shortened by
14819 hiding the symbolic links and fontified based on whether content is present.
14820 Commands for performing some common operations (e.g., unlocking and adding
14821 files) are provided.")
14822 (license license:gpl2+))))
14823
14824 (define-public emacs-hackernews
14825 (let ((commit "916c3da8da45c757f5ec2faeed57fa370513d4ac"))
14826 (package
14827 (name "emacs-hackernews")
14828 (version (git-version "0.5.0" "1" commit))
14829 (source
14830 (origin
14831 (method git-fetch)
14832 (uri (git-reference
14833 (url "https://github.com/clarete/hackernews.el")
14834 (commit commit)))
14835 (file-name (git-file-name name version))
14836 (sha256
14837 (base32
14838 "09bxaaczana1cfvxyk9aagjvdszkj0j1yldl5r4xa60b59lxihsg"))))
14839 (build-system emacs-build-system)
14840 (home-page "https://github.com/clarete/hackernews.el")
14841 (synopsis "Hacker News client for Emacs")
14842 (description "The @command{hackernews} package is able to fetch stories
14843 from six different Hacker News feeds, namely top, new, best, ask, show and job
14844 stories. The default feed is top stories, which corresponds to the Hacker
14845 News homepage.")
14846 (license license:gpl3))))
14847
14848 (define-public emacs-youtube-dl
14849 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
14850 (package
14851 (name "emacs-youtube-dl")
14852 (version (git-version "1.0" "1" commit))
14853 (source
14854 (origin
14855 (method git-fetch)
14856 (uri (git-reference
14857 (url "https://github.com/skeeto/youtube-dl-emacs/")
14858 (commit commit)))
14859 (file-name (git-file-name name version))
14860 (sha256
14861 (base32
14862 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
14863 (build-system emacs-build-system)
14864 (inputs
14865 `(("youtube-dl" ,youtube-dl)))
14866 (arguments
14867 `(#:phases
14868 (modify-phases %standard-phases
14869 (add-after 'unpack 'configure
14870 (lambda* (#:key inputs #:allow-other-keys)
14871 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
14872 ;; .el is read-only in git.
14873 (chmod "youtube-dl.el" #o644)
14874 ;; Specify the absolute file names of the various
14875 ;; programs so that everything works out-of-the-box.
14876 (emacs-substitute-variables
14877 "youtube-dl.el"
14878 ("youtube-dl-program"
14879 (string-append youtube-dl "/bin/youtube-dl")))))))))
14880 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
14881 (synopsis "Emacs youtube-dl download manager")
14882 (description "This package manages a video download queue for
14883 @command{youtube-dl}, which serves as the back end. It manages a single
14884 @command{youtube-dl} subprocess, downloading one video at a time. New videos
14885 can be queued at any time.")
14886 (license license:unlicense))))
14887
14888 (define-public emacs-org-web-tools
14889 (package
14890 (name "emacs-org-web-tools")
14891 (version "1.0")
14892 (source
14893 (origin
14894 (method git-fetch)
14895 (uri (git-reference
14896 (url "https://github.com/alphapapa/org-web-tools")
14897 (commit version)))
14898 (file-name (git-file-name name version))
14899 (sha256
14900 (base32
14901 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
14902 (build-system emacs-build-system)
14903 (propagated-inputs
14904 `(("emacs-dash" ,emacs-dash)
14905 ("emacs-esxml" ,emacs-esxml)
14906 ("emacs-s" ,emacs-s)))
14907 (inputs
14908 `(("pandoc" ,ghc-pandoc)))
14909 (arguments
14910 `(#:phases
14911 (modify-phases %standard-phases
14912 (add-after 'unpack 'patch-exec-paths
14913 (lambda* (#:key inputs #:allow-other-keys)
14914 (let ((pandoc (assoc-ref inputs "pandoc")))
14915 (substitute* "org-web-tools.el"
14916 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
14917 #t))))))
14918 (home-page "https://github.com/alphapapa/org-web-tools")
14919 (synopsis "Display/Process web page as Org-mode content")
14920 (description "This package contains library functions and commands useful
14921 for retrieving web page content and processing it into Org-mode content.
14922
14923 For example, you can copy a URL to the clipboard or kill-ring, then run a
14924 command that downloads the page, isolates the “readable” content with
14925 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
14926 displays it in an Org-mode buffer. Another command does all of that but
14927 inserts it as an Org entry instead of displaying it in a new buffer.")
14928 (license license:gpl3+)))
14929
14930 (define-public emacs-blimp
14931 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
14932 (package
14933 (name "emacs-blimp")
14934 (version (git-version "0.0.0" "1" commit))
14935 (source
14936 (origin
14937 (method git-fetch)
14938 (uri (git-reference
14939 (url "https://github.com/walseb/blimp")
14940 (commit commit)))
14941 (file-name (git-file-name name version))
14942 (sha256
14943 (base32
14944 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
14945 (build-system emacs-build-system)
14946 (propagated-inputs
14947 `(("emacs-eimp" ,emacs-eimp)))
14948 (home-page "https://github.com/walseb/blimp")
14949 (synopsis "Emacs wrapper around all Imagemagick commands")
14950 (description "Blimp (Bustling Image Manipulation Package) is a complete
14951 wrapper around all Imagemagick commands with descriptions, autocompletion (for
14952 some commands) and hints displayed in prompt using @command{eimp.el} to
14953 execute its commands and resize images.")
14954 (license license:gpl3+))))
14955
14956 (define-public emacs-synosaurus
14957 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
14958 (package
14959 (name "emacs-synosaurus")
14960 (version (git-version "0.1.0" "1" commit))
14961 (source
14962 (origin
14963 (method git-fetch)
14964 (uri (git-reference
14965 (url "https://github.com/hpdeifel/synosaurus")
14966 (commit commit)))
14967 (file-name (git-file-name name version))
14968 (sha256
14969 (base32
14970 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
14971 (build-system emacs-build-system)
14972 (propagated-inputs
14973 `(("wordnet" ,wordnet)))
14974 (arguments
14975 `(#:phases
14976 (modify-phases %standard-phases
14977 (add-after 'unpack 'configure
14978 (lambda* (#:key inputs outputs #:allow-other-keys)
14979 (let ((wn (assoc-ref inputs "wordnet")))
14980 ;; .el is read-only in git.
14981 (chmod "synosaurus-wordnet.el" #o644)
14982 ;; Specify the absolute file names of the various
14983 ;; programs so that everything works out-of-the-box.
14984 (emacs-substitute-variables
14985 "synosaurus-wordnet.el"
14986 ("wordnet-command"
14987 (string-append wn "/bin/wn")))))))))
14988 (home-page "https://github.com/hpdeifel/synosaurus")
14989 (synopsis "Extensible thesaurus mode for Emacs")
14990 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
14991 backends, including the @command{wordnet} offline backend.")
14992 (license license:gpl3+))))
14993
14994 (define-public emacs-editorconfig
14995 (package
14996 (name "emacs-editorconfig")
14997 (version "0.8.0")
14998 (source
14999 (origin
15000 (method git-fetch)
15001 (uri (git-reference
15002 (url "https://github.com/editorconfig/editorconfig-emacs")
15003 (commit (string-append "v" version))))
15004 (file-name (git-file-name name version))
15005 (sha256
15006 (base32
15007 "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
15008 (build-system emacs-build-system)
15009 (home-page "https://github.com/editorconfig/editorconfig-emacs")
15010 (synopsis "Define and maintain consistent coding styles between different
15011 editors and IDEs")
15012 (description "The EditorConfig project consists of a file format for
15013 defining coding styles and a collection of text editor plugins that enable
15014 editors to read the file format and adhere to defined styles. EditorConfig
15015 files are easily readable and they work nicely with version control systems.")
15016 (license license:gpl3+)))
15017
15018 (define-public emacs-all-the-icons
15019 (package
15020 (name "emacs-all-the-icons")
15021 (version "3.2.0")
15022 (source
15023 (origin
15024 (method git-fetch)
15025 (uri (git-reference
15026 (url "https://github.com/domtronn/all-the-icons.el.git")
15027 (commit version)))
15028 (file-name (git-file-name name version))
15029 (sha256
15030 (base32
15031 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
15032 (build-system emacs-build-system)
15033 (arguments
15034 `(#:include '("\\.el$" "^data/" "^fonts/")
15035 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
15036 ;; all-the-icons--root-code". Ignoring tests.
15037 #:exclude '("^test/")
15038 #:tests? #f))
15039 (propagated-inputs
15040 `(("f" ,emacs-f)
15041 ("memoize" ,emacs-memoize)))
15042 (home-page "https://github.com/domtronn/all-the-icons.el")
15043 (synopsis "Collect icon fonts and propertize them within Emacs")
15044 (description "All-the-icons is a utility package to collect various icon
15045 fonts and propertize them within Emacs. Icon fonts allow you to propertize
15046 and format icons the same way you would normal text. This enables things such
15047 as better scaling of and anti aliasing of the icons.")
15048 ;; Package is released under Expat license. Elisp files are licensed
15049 ;; under GPL3+. Fonts come with various licenses: Expat for
15050 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
15051 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
15052 ;; "ocitcons.ttf" and "weathericons.ttf".
15053 (license
15054 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
15055
15056 (define-public emacs-powerline
15057 (package
15058 (name "emacs-powerline")
15059 (version "2.4")
15060 (source
15061 (origin
15062 (method git-fetch)
15063 (uri (git-reference
15064 (url "https://github.com/milkypostman/powerline.git")
15065 (commit version)))
15066 (file-name (git-file-name name version))
15067 (sha256
15068 (base32
15069 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
15070 (build-system emacs-build-system)
15071 (home-page "https://github.com/milkypostman/powerline/")
15072 (synopsis "Mode-line plugin for Emacs")
15073 (description "Powerline is a utility plugin which allows you to create
15074 a better-looking, more functional Emacs mode-line. A collection of predefined
15075 themes comes with the package.")
15076 (license license:gpl3+)))
15077
15078 (define-public emacs-spaceline
15079 (package
15080 (name "emacs-spaceline")
15081 (version "2.0.1")
15082 (source
15083 (origin
15084 (method git-fetch)
15085 (uri (git-reference
15086 (url "https://github.com/TheBB/spaceline.git")
15087 (commit (string-append "v" version))))
15088 (file-name (git-file-name name version))
15089 (sha256
15090 (base32
15091 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
15092 (build-system emacs-build-system)
15093 (propagated-inputs
15094 `(("dash" ,emacs-dash)
15095 ("powerline" ,emacs-powerline)
15096 ("s" ,emacs-s)))
15097 (home-page "https://github.com/TheBB/spaceline")
15098 (synopsis "Powerline theme from Spacemacs")
15099 (description "Spaceline provides Spacemacs' mode-line theme.
15100 This package provides features for three kinds of users.
15101
15102 @itemize
15103 @item You just want to use the Spacemacs mode-line theme and forget about it.
15104 @item You want to use something similar to the Spacemacs mode-line theme, but
15105 with a handful of easy tweaks.
15106 @item You want an easy-to-use library for building your own mode-line from
15107 scratch, and you think the Spacemacs theme looks good.
15108 @end itemize")
15109 (license license:gpl3+)))
15110
15111 (define-public emacs-column-marker
15112 (package
15113 (name "emacs-column-marker")
15114 (version "9")
15115 (source
15116 (origin
15117 (method url-fetch)
15118 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
15119 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
15120 (build-system emacs-build-system)
15121 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
15122 (synopsis "Emacs mode for highlighting columns")
15123 (description
15124 "With @code{column-marker.el} you can highlight any number of text columns.
15125 Three such highlight column markers are provided by default. This is
15126 especially useful for languages like COBOL or Fortran where certain columns
15127 have special meaning. It is also handy for aligning text across long vertical
15128 distances. Multi-column characters, such as @kbd{TAB} are treated
15129 correctly.")
15130 (license license:gpl2+)))
15131
15132 (define-public emacs-slime-repl-ansi-color
15133 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
15134 (package
15135 (name "emacs-slime-repl-ansi-color")
15136 (version (git-version "0.0.0" "1" commit))
15137 (source (origin
15138 (method git-fetch)
15139 (uri (git-reference
15140 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
15141 (commit commit)))
15142 (file-name (git-file-name name version))
15143 (sha256
15144 (base32
15145 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
15146 (build-system emacs-build-system)
15147 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
15148 (synopsis "Color ANSI codes in the REPL of SLIME")
15149 (description "Color ANSI codes in the REPL of SLIME")
15150 (license license:gpl2+))))
15151
15152 (define-public emacs-helm-slime
15153 (package
15154 (name "emacs-helm-slime")
15155 (version "0.4.0")
15156 (source (origin
15157 (method git-fetch)
15158 (uri (git-reference
15159 (url "https://github.com/emacs-helm/helm-slime")
15160 (commit version)))
15161 (file-name (git-file-name name version))
15162 (sha256
15163 (base32
15164 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
15165 (build-system emacs-build-system)
15166 (propagated-inputs
15167 `(("emacs-helm" ,emacs-helm)
15168 ("emacs-slime" ,emacs-slime)))
15169 (home-page "https://github.com/emacs-helm/helm-slime")
15170 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
15171 (description "Helm-SLIME defines a few new commands:
15172
15173 @itemize
15174 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
15175 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
15176 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
15177 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
15178 @end itemize\n")
15179 (license license:gpl3+)))
15180
15181 (define-public emacs-gtk-look
15182 (package
15183 (name "emacs-gtk-look")
15184 (version "29")
15185 (source (origin
15186 (method url-fetch)
15187 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
15188 (sha256
15189 (base32
15190 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
15191 (build-system emacs-build-system)
15192 (arguments
15193 `(#:phases
15194 (modify-phases %standard-phases
15195 (add-after 'unpack 'configure
15196 (lambda _
15197 ;; File is read-only.
15198 (chmod "gtk-look.el" #o644)
15199 (emacs-substitute-variables "gtk-look.el"
15200 ("gtk-lookup-devhelp-indices"
15201 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
15202 #t)))))
15203 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
15204 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
15205 (description "@command{gtk-look} finds and displays HTML documentation for
15206 GTK, GNOME and Glib functions and variables in Emacs, similar to what
15207 info-lookup-symbol does for info files (C-h S). The documentation is expected
15208 to be devhelp indexes with HTML files. The location of the indexes can be
15209 customized. In addition to C code development @command{gtk-look} is good for
15210
15211 @itemize
15212 @item @command{perl-gtk2}, recognising class funcs like
15213 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
15214 @item @command{guile-gnome}, recognising methods like @command{set-text} and
15215 classes like @command{<gtk-window>}.
15216 @end itemize\n")
15217 (license license:gpl3+)))
15218
15219 (define-public emacs-ov
15220 (package
15221 (name "emacs-ov")
15222 (version "1.0.6")
15223 (source (origin
15224 (method git-fetch)
15225 (uri (git-reference
15226 (url "https://github.com/ShingoFukuyama/ov.el.git")
15227 (commit version)))
15228 (file-name (git-file-name name version))
15229 (sha256
15230 (base32
15231 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
15232 (build-system emacs-build-system)
15233 (home-page "https://github.com/ShingoFukuyama/ov.el")
15234 (synopsis "Overlay library for Emacs Lisp")
15235 (description "@code{ov.el} provides a simple way to manipulate overlays in
15236 Emacs.")
15237 (license license:gpl3+)))
15238
15239 (define-public emacs-matrix-client
15240 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
15241 (package
15242 (name "emacs-matrix-client")
15243 (version (git-version "0.0.0" "4" commit))
15244 (source (origin
15245 (method git-fetch)
15246 (uri (git-reference
15247 (url "https://github.com/jgkamat/matrix-client-el.git")
15248 (commit commit)))
15249 (file-name (git-file-name name version))
15250 (sha256
15251 (base32
15252 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
15253 (build-system emacs-build-system)
15254 (arguments
15255 `(#:phases
15256 (modify-phases %standard-phases
15257 (add-after 'unpack 'add-missing-require
15258 ;; Fix a filter error at runtime due to a missing require.
15259 ;; Reported upstream:
15260 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
15261 (lambda _
15262 (substitute* "matrix-client-room.el"
15263 (("\\(require 'dash-functional\\)" all)
15264 (string-append all "\n" "(require 'anaphora)")))
15265 #t)))))
15266 (propagated-inputs
15267 `(("a" ,emacs-a)
15268 ("anaphora" ,emacs-anaphora)
15269 ("dash" ,emacs-dash)
15270 ("esxml" ,emacs-esxml)
15271 ("f" ,emacs-f)
15272 ("frame-purpose" ,emacs-frame-purpose)
15273 ("ht" ,emacs-ht)
15274 ("ov" ,emacs-ov)
15275 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
15276 ("request" ,emacs-request)
15277 ("s" ,emacs-s)
15278 ("tracking" ,emacs-tracking)))
15279 (home-page "https://github.com/jgkamat/matrix-client-el")
15280 (synopsis "Matrix client for Emacs")
15281 (description "@code{matrix-client} is a simple chat UI to Matrix.org
15282 rooms. It also provides an API which allows Emacs to seamlessly create
15283 RPC channels with users and other software.")
15284 (license license:gpl3+))))
15285
15286 (define-public emacs-sesman
15287 (package
15288 (name "emacs-sesman")
15289 (version "0.3.4")
15290 (source
15291 (origin
15292 (method git-fetch)
15293 (uri (git-reference
15294 (url "https://github.com/vspinu/sesman.git")
15295 (commit (string-append "v" version))))
15296 (file-name (git-file-name name version))
15297 (sha256
15298 (base32
15299 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
15300 (build-system emacs-build-system)
15301 (arguments
15302 `(#:phases
15303 (modify-phases %standard-phases
15304 (add-after 'unpack 'set-shell
15305 ;; Setting the SHELL environment variable is required for the tests
15306 ;; to find sh.
15307 (lambda _
15308 (setenv "SHELL" (which "sh"))
15309 #t)))
15310 #:tests? #t
15311 #:test-command '("make" "test")))
15312 (home-page "https://github.com/vspinu/sesman")
15313 (synopsis "Session manager for Emacs based IDEs")
15314 (description "Sesman provides facilities for session management and
15315 interactive session association with the current contexts (project, directory,
15316 buffers). While sesman can be used to manage arbitrary sessions, it primary
15317 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
15318 (license license:gpl3+)))
15319
15320 (define-public emacs-buttercup
15321 (package
15322 (name "emacs-buttercup")
15323 (version "1.16")
15324 (source
15325 (origin
15326 (method git-fetch)
15327 (uri (git-reference
15328 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
15329 (commit (string-append "v" version))))
15330 (file-name (git-file-name name version))
15331 (sha256
15332 (base32
15333 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
15334 (build-system emacs-build-system)
15335 (arguments
15336 `(#:tests? #t
15337 #:test-command '("make" "test")
15338 #:phases
15339 (modify-phases %standard-phases
15340 (add-after 'install 'install-bin
15341 (lambda* (#:key outputs #:allow-other-keys)
15342 (install-file "bin/buttercup"
15343 (string-append (assoc-ref outputs "out") "/bin"))
15344 #t)))))
15345 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
15346 (synopsis "Behavior driven emacs lisp testing framework")
15347 (description "Buttercup is a behavior-driven development framework for
15348 testing Emacs Lisp code. It allows to group related tests so they can share
15349 common set-up and tear-down code, and allows the programmer to \"spy\" on
15350 functions to ensure they are called with the right arguments during testing.")
15351 (license license:gpl3+)))
15352
15353 (define-public emacs-wordnut
15354 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
15355 (revision "0"))
15356 (package
15357 (name "emacs-wordnut")
15358 (version (git-version "0.1" revision commit))
15359 (home-page "https://github.com/gromnitsky/wordnut")
15360 (source (origin
15361 (method git-fetch)
15362 (uri (git-reference (url home-page) (commit commit)))
15363 (sha256
15364 (base32
15365 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
15366 (patches
15367 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
15368 (file-name (git-file-name name version))))
15369 (build-system emacs-build-system)
15370 (propagated-inputs
15371 `(("wordnet" ,wordnet)
15372 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
15373 (synopsis "Major mode for WordNet")
15374 (description "This Emacs package provides an interface for
15375 @code{wordnet}. Features include completion, if the query is not found
15376 too ambiguous and navigation in the result buffer.")
15377 (license license:gpl3+))))
15378
15379 (define-public emacs-frame-purpose
15380 (package
15381 (name "emacs-frame-purpose")
15382 (version "1.0")
15383 (source (origin
15384 (method git-fetch)
15385 (uri (git-reference
15386 (url "https://github.com/alphapapa/frame-purpose.el.git")
15387 (commit version)))
15388 (sha256
15389 (base32
15390 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
15391 (file-name (git-file-name name version))))
15392 (build-system emacs-build-system)
15393 (inputs
15394 `(("dash" ,emacs-dash)))
15395 (synopsis "Purpose-specific frames for Emacs")
15396 (description "@code{frame-purpose} makes it easy to open purpose-specific
15397 frames that only show certain buffers, e.g. by buffers’ major mode, their
15398 filename or directory, etc, with custom frame/X-window titles, icons, and
15399 other frame parameters.")
15400 (home-page "https://github.com/alphapapa/frame-purpose.el")
15401 (license license:gpl3+)))
15402
15403 (define-public emacs-arduino-mode
15404 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
15405 (package
15406 (name "emacs-arduino-mode")
15407 (version (git-version "0" "0" commit))
15408 (source (origin
15409 (method git-fetch)
15410 (uri (git-reference
15411 (url "https://github.com/bookest/arduino-mode.git")
15412 (commit commit)))
15413 (sha256
15414 (base32
15415 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
15416 (file-name (git-file-name name version))))
15417 (build-system emacs-build-system)
15418 (synopsis "Emacs major mode for editing Arduino sketches")
15419 (description "Emacs major mode for editing Arduino sketches.")
15420 (home-page "https://github.com/bookest/arduino-mode")
15421 (license license:gpl3+))))
15422
15423 (define-public emacs-general
15424 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
15425 (package
15426 (name "emacs-general")
15427 (version (git-version "0" "0" commit))
15428 (home-page "https://github.com/noctuid/general.el")
15429 (source (origin
15430 (method git-fetch)
15431 (uri (git-reference
15432 (url (string-append home-page ".git"))
15433 (commit commit)))
15434 (sha256
15435 (base32
15436 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
15437 (file-name (git-file-name name version))))
15438 (build-system emacs-build-system)
15439 (synopsis "More convenient key definitions in emacs")
15440 (description "@code{general.el} provides a more convenient method for
15441 binding keys in emacs (for both evil and non-evil users). Like
15442 @code{use-package}, which provides a convenient, unified interface for
15443 managing packages, @code{general.el} is intended to provide a convenient,
15444 unified interface for key definitions. While this package does implement some
15445 completely new functionality (such as the ability to make vim-style
15446 keybindings under non-prefix keys with an optional timeout), its primary
15447 purpose is to build on existing functionality to make key definition more
15448 clear and concise. @code{general-define-key} is user-extensible and supports
15449 defining multiple keys in multiple keymaps at once, implicitly wrapping key
15450 strings with (@code{kbd ...}), using named prefix key sequences (like the
15451 leader key in vim), and much more.")
15452 (license license:gpl3+))))
15453
15454 (define-public emacs-tldr
15455 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
15456 (package
15457 (name "emacs-tldr")
15458 (version (git-version "0" "0" commit))
15459 (home-page "https://github.com/kuanyui/tldr.el")
15460 (source (origin
15461 (method git-fetch)
15462 (uri (git-reference
15463 (url (string-append home-page ".git"))
15464 (commit commit)))
15465 (sha256
15466 (base32
15467 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
15468 (file-name (git-file-name name version))))
15469 (build-system emacs-build-system)
15470 (synopsis "Simplified and community-driven man pages for Emacs")
15471 (description "@code{emacs-tldr} allows the user to access tldr pages
15472 from within emacs. The @code{tldr} pages are a community effort to simplify
15473 the man pages with practical examples.")
15474 (license license:wtfpl2))))
15475
15476 (define-public emacs-window-layout
15477 (package
15478 (name "emacs-window-layout")
15479 (version "1.4")
15480 (home-page "https://github.com/kiwanami/emacs-window-layout")
15481 (source (origin
15482 (method git-fetch)
15483 (uri (git-reference
15484 (url home-page)
15485 (commit (string-append "v" version))))
15486 (sha256
15487 (base32
15488 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
15489 (file-name (git-file-name name version))))
15490 (build-system emacs-build-system)
15491 (synopsis "Simple window layout management framework for emacs")
15492 (description "A window-layout management library that can split a frame
15493 or a window into some windows according to a layout recipe.")
15494 (license license:gpl3+)))
15495
15496 (define-public emacs-e2wm
15497 (package
15498 (name "emacs-e2wm")
15499 (version "1.4")
15500 (home-page "https://github.com/kiwanami/emacs-window-manager")
15501 (source (origin
15502 (method git-fetch)
15503 (uri (git-reference
15504 (url home-page)
15505 (commit (string-append "v" version))))
15506 (sha256
15507 (base32
15508 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
15509 (file-name (git-file-name name version))))
15510 (build-system emacs-build-system)
15511 (propagated-inputs
15512 `(("emacs-window-layout" ,emacs-window-layout)))
15513 (synopsis "Equilibrium Emacs Window Manager")
15514 (description "E2WM is a window manager for Emacs. It enables to
15515 customize the place of pop-up window, how the windows are split, how the
15516 buffers are located in the windows, keybinds to manipulate windows and
15517 buffers, etc. It also has plug-ins to help your Emacs life.")
15518 (license license:gpl3+)))
15519
15520 (define-public emacs-ctable
15521 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
15522 (package
15523 (name "emacs-ctable")
15524 (version (git-version "0.1.2" "1" commit))
15525 (home-page "https://github.com/kiwanami/emacs-ctable")
15526 (source (origin
15527 (method git-fetch)
15528 (uri (git-reference
15529 (url home-page)
15530 (commit commit)))
15531 (sha256
15532 (base32
15533 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
15534 (file-name (git-file-name name version))))
15535 (build-system emacs-build-system)
15536 (synopsis "Table component for Emacs Lisp")
15537 (description "This program is a table component for Emacs Lisp. Other
15538 programs can use this table component for the application UI.")
15539 (license license:gpl3+))))
15540
15541 (define-public emacs-epc
15542 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
15543 (package
15544 (name "emacs-epc")
15545 (version (git-version "0.1.1" "1" commit))
15546 (home-page "https://github.com/kiwanami/emacs-epc")
15547 (source (origin
15548 (method git-fetch)
15549 (uri (git-reference
15550 (url home-page)
15551 (commit commit)))
15552 (sha256
15553 (base32
15554 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
15555 (file-name (git-file-name name version))))
15556 (build-system emacs-build-system)
15557 (propagated-inputs
15558 `(("emacs-deferred" ,emacs-deferred)
15559 ("emacs-ctable" ,emacs-ctable)))
15560 (synopsis "RPC stack for Emacs Lisp")
15561 (description "This program is an asynchronous RPC stack for Emacs.
15562 Using this RPC stack, Emacs can communicate with the peer process
15563 smoothly. Because the protocol employs S-expression encoding and consists of
15564 asynchronous communications, the RPC response is fairly good.")
15565 (license license:gpl3+))))
15566
15567 (define-public emacs-edbi
15568 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
15569 (package
15570 (name "emacs-edbi")
15571 (version (git-version "0.1.3" "1" commit))
15572 (home-page "https://github.com/kiwanami/emacs-edbi")
15573 (source (origin
15574 (method git-fetch)
15575 (uri (git-reference
15576 (url home-page)
15577 (commit commit)))
15578 (sha256
15579 (base32
15580 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
15581 (file-name (git-file-name name version))))
15582 (build-system emacs-build-system)
15583 (inputs
15584 `(("perl" ,perl)
15585 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
15586 ("perl-dbi" ,perl-dbi)
15587 ;; TODO: Adding support for perl-dbd-mysql and others would
15588 ;; dramatically increase the closure size. Make several packages?
15589 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
15590 (propagated-inputs
15591 `(("emacs-e2wm" ,emacs-e2wm)
15592 ("emacs-epc" ,emacs-epc)))
15593 (arguments
15594 `(#:include '("\\.el$" "\\.pl$")
15595 #:phases
15596 (modify-phases %standard-phases
15597 (add-after 'install 'patch-path
15598 (lambda* (#:key inputs outputs #:allow-other-keys)
15599 (let ((perl (assoc-ref inputs "perl"))
15600 (dir (string-append (assoc-ref outputs "out")
15601 "/share/emacs/site-lisp/guix.d/edbi-"
15602 ,version)))
15603 (substitute* (string-append dir "/edbi.el")
15604 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
15605 (chmod (string-append dir "/edbi-bridge.pl") #o555)
15606 (wrap-program (string-append dir "/edbi-bridge.pl")
15607 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
15608 #t))))))
15609 (synopsis "Database Interface for Emacs Lisp")
15610 (description "This program connects the database server through Perl's
15611 DBI, and provides DB-accessing API and the simple management UI.")
15612 (license license:gpl3+))))
15613
15614 (define-public emacs-edbi-sqlite
15615 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
15616 (package
15617 (name "emacs-edbi-sqlite")
15618 (version (git-version "0.1.1" "1" commit))
15619 (home-page "https://github.com/proofit404/edbi-sqlite")
15620 (source (origin
15621 (method git-fetch)
15622 (uri (git-reference
15623 (url home-page)
15624 (commit commit)))
15625 (sha256
15626 (base32
15627 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
15628 (file-name (git-file-name name version))))
15629 (build-system emacs-build-system)
15630 (propagated-inputs
15631 `(("emacs-edbi" ,emacs-edbi)))
15632 (synopsis "Open SQLite files in Emacs")
15633 (description "This package is a convenience wrapper for @command{edbi}
15634 to open SQLite databases.")
15635 (license license:gpl3+))))
15636
15637 (define-public emacs-nix-mode
15638 (package
15639 (name "emacs-nix-mode")
15640 (version "1.4.1")
15641 (source
15642 (origin
15643 (method git-fetch)
15644 (uri (git-reference
15645 (url "https://github.com/NixOS/nix-mode.git")
15646 (commit (string-append "v" version))))
15647 (file-name (git-file-name name version))
15648 (sha256
15649 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
15650 (build-system emacs-build-system)
15651 (inputs
15652 `(("emacs-company" ,emacs-company)
15653 ("emacs-json-mode" ,emacs-json-mode)
15654 ("emacs-mmm-mode" ,emacs-mmm-mode)))
15655 (home-page "https://github.com/NixOS/nix-mode")
15656 (synopsis "Emacs major mode for editing Nix expressions")
15657 (description "@code{nixos-mode} provides an Emacs major mode for editing
15658 Nix expressions. It supports syntax highlighting, indenting and refilling of
15659 comments.")
15660 (license license:lgpl2.1+)))
15661
15662 (define-public emacs-simple-mpc
15663 ;; There have been no releases.
15664 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
15665 (revision "1"))
15666 (package
15667 (name "emacs-simple-mpc")
15668 (version (git-version "0" revision commit))
15669 (source
15670 (origin
15671 (method git-fetch)
15672 (uri (git-reference
15673 (url "https://github.com/jorenvo/simple-mpc.git")
15674 (commit commit)))
15675 (file-name (git-file-name name version))
15676 (sha256
15677 (base32
15678 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
15679 (build-system emacs-build-system)
15680 (propagated-inputs `(("emacs-s" ,emacs-s)))
15681 (home-page "https://github.com/jorenvo/simple-mpc")
15682 (synopsis "Simple Emacs frontend to mpc")
15683 (description "This package provides an Emacs major mode which acts as a
15684 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
15685 (license license:gpl3+))))
15686
15687 (define-public emacs-mkmcc-gnuplot-mode
15688 (package
15689 (name "emacs-mkmcc-gnuplot-mode")
15690 (version "1.2.0")
15691 (source
15692 (origin
15693 (method git-fetch)
15694 (uri (git-reference
15695 (url "https://github.com/mkmcc/gnuplot-mode")
15696 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
15697 (file-name (git-file-name name version))
15698 (sha256
15699 (base32
15700 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
15701 (build-system emacs-build-system)
15702 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
15703 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
15704 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
15705 mode for editing gnuplot scripts. It provides syntax highlighting,
15706 indentation and a command to plot the file.")
15707 (license license:gpl3+)))
15708
15709 (define-public emacs-dtrt-indent
15710 (package
15711 (name "emacs-dtrt-indent")
15712 (version "0.8")
15713 (source (origin
15714 (method git-fetch)
15715 (uri (git-reference
15716 (url "https://github.com/jscheid/dtrt-indent")
15717 (commit version)))
15718 (file-name (git-file-name name version))
15719 (sha256
15720 (base32
15721 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
15722 (build-system emacs-build-system)
15723 (home-page "https://github.com/jscheid/dtrt-indent")
15724 (synopsis "Minor mode that guesses the indentation offset")
15725 (description "This package provides a minor mode that guesses the
15726 indentation offset originally used for creating source code files and
15727 transparently adjusts the corresponding settings in Emacs, making it more
15728 convenient to edit foreign files.")
15729 (license license:gpl2+)))
15730
15731 (define-public emacs-repo
15732 (package
15733 (name "emacs-repo")
15734 (version "0.1.3")
15735 (source (origin
15736 (method git-fetch)
15737 (uri (git-reference
15738 (url "https://github.com/canatella/repo-el")
15739 (commit version)))
15740 (file-name (git-file-name name version))
15741 (sha256
15742 (base32
15743 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
15744 (build-system emacs-build-system)
15745 (native-inputs
15746 `(("emacs-el-mock" ,emacs-el-mock)
15747 ("ert-runner" ,emacs-ert-runner)))
15748 (propagated-inputs
15749 `(("emacs-f" ,emacs-f)
15750 ("magit" ,emacs-magit)))
15751 (home-page "https://github.com/canatella/repo-el")
15752 (synopsis "Emacs interface for the Google Repo tool")
15753 (description "This package provides integration of the Google Repo tool
15754 with emacs. It displays the output of the @code{repo status} command in a
15755 buffer and launches Magit from the status buffer for the project at point.")
15756 (license license:gpl3+)))
15757
15758 (define-public emacs-alect-themes
15759 (package
15760 (name "emacs-alect-themes")
15761 (version "0.9")
15762 (source (origin
15763 (method git-fetch)
15764 (uri (git-reference
15765 (url "https://github.com/alezost/alect-themes")
15766 (commit (string-append "v" version))))
15767 (file-name (git-file-name name version))
15768 (sha256
15769 (base32
15770 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
15771 (build-system emacs-build-system)
15772 (home-page "https://github.com/alezost/alect-themes")
15773 (synopsis "Low contrast, light, dark and black color theme for Emacs")
15774 (description "@code{emacs-alect-themes} provides configurable light, dark
15775 and black color themes for Emacs. The themes are intended to be used with
15776 GUI.")
15777 (license license:gpl3+)))
15778
15779 (define-public emacs-google-c-style
15780 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
15781 (revision "0"))
15782 (package
15783 (name "emacs-google-c-style")
15784 (version (git-version "0.1" revision commit))
15785 (source (origin
15786 (method git-fetch)
15787 (uri (git-reference
15788 (url "https://github.com/google/styleguide")
15789 (commit commit)))
15790 (file-name (git-file-name name version))
15791 (sha256
15792 (base32
15793 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
15794 (build-system emacs-build-system)
15795 (home-page "https://github.com/google/styleguide")
15796 (synopsis "Emacs settings file for Google C/C++ style")
15797 (description "@code{emacs-google-c-style} provides an Emacs settings
15798 file for Google C and C++ style.")
15799 (license license:gpl1+))))
15800
15801 (define-public emacs-redshank
15802 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
15803 (revision "1"))
15804 (package
15805 (name "emacs-redshank")
15806 (version (git-version "0.1" revision commit))
15807 (source (origin
15808 (method git-fetch)
15809 (uri (git-reference
15810 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
15811 (commit commit)))
15812 (file-name (git-file-name name version))
15813 (sha256
15814 (base32
15815 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
15816 (build-system emacs-build-system)
15817 (propagated-inputs
15818 `(("emacs-paredit" ,emacs-paredit)))
15819 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
15820 (synopsis "Common Lisp Editing Extensions (for Emacs)")
15821 (description "Redshank is a collection of code-wrangling Emacs macros
15822 mostly geared towards Common Lisp, but some are useful for other Lisp
15823 dialects, too. Redshank's code transformations aim to be expression-based (as
15824 opposed to character-based).")
15825 (license license:gpl1+))))
15826
15827 (define-public emacs-disk-usage
15828 (package
15829 (name "emacs-disk-usage")
15830 (version "1.3.3")
15831 (source
15832 (origin
15833 (method git-fetch)
15834 (uri (git-reference
15835 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
15836 (commit version)))
15837 (file-name (git-file-name name version))
15838 (sha256
15839 (base32
15840 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
15841 (build-system emacs-build-system)
15842 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
15843 (synopsis "Sort and browse disk usage listings with Emacs")
15844 (description "Disk Usage is a file system analyzer: it offers a tabulated
15845 view of file listings sorted by size. Directory sizes are computed
15846 recursively. The results are cached for speed.")
15847 (license license:gpl3+)))
15848
15849 (define-public emacs-orgit
15850 (package
15851 (name "emacs-orgit")
15852 (version "1.5.3")
15853 (home-page "https://github.com/magit/orgit")
15854 (source (origin
15855 (method git-fetch)
15856 (uri (git-reference
15857 (url home-page)
15858 (commit (string-append "v" version))))
15859 (file-name (git-file-name name version))
15860 (sha256
15861 (base32
15862 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
15863 (build-system emacs-build-system)
15864 (propagated-inputs
15865 `(("emacs-dash" ,emacs-dash)
15866 ("emacs-magit" ,emacs-magit)))
15867 (synopsis "Support for Org links to Magit buffers")
15868 (description "This package defines several Org link types, which can be
15869 used to link to certain Magit buffers. Use the command
15870 @command{org-store-link} while such a buffer is current to store a link.
15871 Later you can insert it into an Org buffer using the command
15872 @code{org-insert-link}.")
15873 (license license:gpl3+)))
15874
15875 (define-public emacs-amx
15876 (package
15877 (name "emacs-amx")
15878 (version "3.2")
15879 (source (origin
15880 (method git-fetch)
15881 (uri (git-reference
15882 (url "https://github.com/DarwinAwardWinner/amx")
15883 (commit (string-append "v" version))))
15884 (file-name (git-file-name name version))
15885 (sha256
15886 (base32
15887 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
15888 (build-system emacs-build-system)
15889 (propagated-inputs `(("emacs-s" ,emacs-s)))
15890 (home-page "https://github.com/DarwinAwardWinner/amx")
15891 (synopsis "Alternative interface for M-x")
15892 (description "Amx is an alternative interface for M-x in Emacs. It
15893 provides several enhancements over the ordinary
15894 @code{execute-extended-command}, such as prioritizing your most-used commands
15895 in the completion list and showing keyboard shortcuts, and it supports several
15896 completion systems for selecting commands, such as ido and ivy.")
15897 (license license:gpl3+)))
15898
15899 (define-public emacs-lorem-ipsum
15900 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
15901 (package
15902 (name "emacs-lorem-ipsum")
15903 (version (git-version "0.2" "1" commit))
15904 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
15905 (source (origin
15906 (method git-fetch)
15907 (uri (git-reference
15908 (url home-page)
15909 (commit commit)))
15910 (file-name (git-file-name name version))
15911 (sha256
15912 (base32
15913 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
15914 (build-system emacs-build-system)
15915 (synopsis "Insert dummy pseudo Latin text in Emacs")
15916 (description "This package provides convenience functions to insert
15917 dummy Latin text into a buffer. This can be useful if you need to produce
15918 paragraphs or pages of text for testing purposes.")
15919 (license license:gpl3+))))
15920
15921 (define-public emacs-lisp-extra-font-lock
15922 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
15923 (package
15924 (name "emacs-lisp-extra-font-lock")
15925 (version (git-version "0.0.6" "1" commit))
15926 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
15927 (source (origin
15928 (method git-fetch)
15929 (uri (git-reference
15930 (url home-page)
15931 (commit commit)))
15932 (file-name (git-file-name name version))
15933 (sha256
15934 (base32
15935 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
15936 (build-system emacs-build-system)
15937 (synopsis "Highlight bound variables and quoted expressions in Emacs")
15938 (description "This package highlight the location where local variables
15939 is created (bound, for example, by let) as well as quoted and backquoted
15940 constant expressions.")
15941 (license license:gpl3+))))
15942
15943 (define-public emacs-docker-tramp
15944 (package
15945 (name "emacs-docker-tramp")
15946 (version "0.1")
15947 (source
15948 (origin
15949 (method git-fetch)
15950 (uri (git-reference
15951 (url "https://github.com/emacs-pe/docker-tramp.el")
15952 (commit (string-append "v" version))))
15953 (file-name (git-file-name name version))
15954 (sha256
15955 (base32
15956 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
15957 (build-system emacs-build-system)
15958 (home-page "https://github.com/emacs-pe/docker-tramp.el")
15959 (synopsis "TRAMP integration for docker containers")
15960 (description
15961 "This package provides a TRAMP method for Docker containers.")
15962 (license license:gpl3+)))
15963
15964 (define-public emacs-docker
15965 (package
15966 (name "emacs-docker")
15967 (version "1.2.0")
15968 (source (origin
15969 (method git-fetch)
15970 (uri (git-reference
15971 (url "https://github.com/Silex/docker.el")
15972 (commit version)))
15973 (file-name (git-file-name name version))
15974 (sha256
15975 (base32
15976 "15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
15977 (inputs
15978 `(("emacs-undercover" ,emacs-undercover)))
15979 (propagated-inputs
15980 `(("emacs-dash" ,emacs-dash)
15981 ("emacs-docker-tramp" ,emacs-docker-tramp)
15982 ("emacs-magit-popup" ,emacs-magit-popup)
15983 ("emacs-s" ,emacs-s)
15984 ("emacs-tablist" ,emacs-tablist)
15985 ("emacs-json-mode" ,emacs-json-mode)))
15986 (arguments
15987 `(#:phases
15988 (modify-phases %standard-phases
15989 (delete 'check)))) ;no tests
15990 (build-system emacs-build-system)
15991 (home-page "https://github.com/Silex/docker.el")
15992 (synopsis "Manage docker from Emacs")
15993 (description "This package provides an Emacs interface for Docker.")
15994 (license license:gpl3+)))
15995
15996 (define-public emacs-dockerfile-mode
15997 ;; Latest upstream release is too old.
15998 (let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
15999 (package
16000 (name "emacs-dockerfile-mode")
16001 (version (git-version "1.2" "1" commit))
16002 (source
16003 (origin
16004 (method git-fetch)
16005 (uri (git-reference
16006 (url "https://github.com/spotify/dockerfile-mode.git")
16007 (commit commit)))
16008 (file-name (git-file-name name version))
16009 (sha256
16010 (base32
16011 "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
16012 (build-system emacs-build-system)
16013 (propagated-inputs
16014 `(("emacs-s" ,emacs-s)))
16015 (home-page "https://github.com/spotify/dockerfile-mode")
16016 (synopsis "Major mode for editing Dockerfile")
16017 (description
16018 "This package provides a major mode @code{dockerfile-mode} for use with
16019 the standard @code{Dockerfile} file format.")
16020 (license license:asl2.0))))
16021
16022 (define-public emacs-lsp-mode
16023 (package
16024 (name "emacs-lsp-mode")
16025 (version "6.0")
16026 (source (origin
16027 (method git-fetch)
16028 (uri (git-reference
16029 (url "https://github.com/emacs-lsp/lsp-mode.git")
16030 (commit version)))
16031 (file-name (git-file-name name version))
16032 (sha256
16033 (base32
16034 "1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"))))
16035 (build-system emacs-build-system)
16036 (propagated-inputs
16037 `(("emacs-dash" ,emacs-dash)
16038 ("emacs-f" ,emacs-f)
16039 ("emacs-ht" ,emacs-ht)
16040 ("emacs-spinner" ,emacs-spinner)))
16041 (home-page "https://github.com/emacs-lsp/lsp-mode")
16042 (synopsis "Emacs client and library for the Language Server Protocol")
16043 (description "@code{LSP-mode} is a client and library implementation for
16044 the Language Server Protocol. This mode aims to provide an IDE-like
16045 experience by providing optional integration with other popular Emacs packages
16046 like @code{company}, @code{flycheck}, and @code{projectile}.")
16047 (license license:gpl3+)))
16048
16049 (define-public emacs-lsp-ui
16050 (package
16051 (name "emacs-lsp-ui")
16052 (version "6.0")
16053 (source (origin
16054 (method git-fetch)
16055 (uri (git-reference
16056 (url "https://github.com/emacs-lsp/lsp-ui.git")
16057 (commit version)))
16058 (file-name (git-file-name name version))
16059 (sha256
16060 (base32
16061 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
16062 (build-system emacs-build-system)
16063 (propagated-inputs
16064 `(("emacs-dash" ,emacs-dash)
16065 ("emacs-lsp-mode" ,emacs-lsp-mode)
16066 ("emacs-markdown-mode" ,emacs-markdown-mode)
16067 ("emacs-flycheck" ,emacs-flycheck)))
16068 (home-page "https://github.com/emacs-lsp/lsp-ui")
16069 (synopsis "User interface extensions for @code{lsp-mode}")
16070 (description
16071 "@code{LSP-ui} contains several enhancements and integrations for
16072 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
16073 and code peeking.")
16074 (license license:gpl3+)))
16075
16076 (define-public emacs-helm-notmuch
16077 (package
16078 (name "emacs-helm-notmuch")
16079 (version "1.2")
16080 (home-page "https://github.com/emacs-helm/helm-notmuch/")
16081 (source (origin
16082 (method git-fetch)
16083 (uri (git-reference
16084 (url home-page)
16085 (commit version)))
16086 (file-name (git-file-name name version))
16087 (sha256
16088 (base32
16089 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
16090 (build-system emacs-build-system)
16091 (propagated-inputs
16092 `(("emacs-helm" ,emacs-helm)
16093 ("notmuch" ,notmuch)))
16094 (synopsis "Search emails with Emacs Notmuch and Helm")
16095 (description
16096 "This package can be used to search emails in Emacs, searching result
16097 displays as you type thanks to Helm, though @command{notmuch-search} does the
16098 real search.")
16099 (license license:gpl3+)))
16100
16101 (define-public emacs-elmacro
16102 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
16103 (package
16104 (name "emacs-elmacro")
16105 (version (git-version "1.1.0" "1" commit))
16106 (home-page "https://github.com/Silex/elmacro")
16107 (source (origin
16108 (method git-fetch)
16109 (uri (git-reference
16110 (url home-page)
16111 (commit commit)))
16112 (file-name (git-file-name name version))
16113 (sha256
16114 (base32
16115 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
16116 (build-system emacs-build-system)
16117 (propagated-inputs
16118 `(("emacs-s" ,emacs-s)
16119 ("emacs-dash" ,emacs-dash)))
16120 (synopsis "Convert keyboard macros to Emacs Lisp")
16121 (description
16122 "This package displays keyboard macros or latest interactive commands
16123 as Emacs Lisp.")
16124 (license license:gpl3+))))
16125
16126 (define-public emacs-transient
16127 ;; 0.1.0 depends on lv.el but not later versions.
16128 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
16129 (package
16130 (name "emacs-transient")
16131 (version (git-version "0.1.0" "1" commit))
16132 (source (origin
16133 (method git-fetch)
16134 (uri (git-reference
16135 (url "https://github.com/magit/transient")
16136 (commit commit)))
16137 (file-name (git-file-name name version))
16138 (sha256
16139 (base32
16140 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
16141 (build-system gnu-build-system)
16142 (native-inputs `(("texinfo" ,texinfo)
16143 ("emacs" ,emacs-minimal)))
16144 (propagated-inputs
16145 `(("dash" ,emacs-dash)))
16146 (arguments
16147 `(#:modules ((guix build gnu-build-system)
16148 (guix build utils)
16149 (srfi srfi-26)
16150 (guix build emacs-utils))
16151 #:imported-modules (,@%gnu-build-system-modules
16152 (guix build emacs-utils))
16153 #:tests? #f ; tests are not included in the release
16154 #:make-flags (list "lisp" "info"
16155 (string-append "LOAD_PATH=-L . -L "
16156 (assoc-ref %build-inputs "dash")
16157 "/share/emacs/site-lisp/guix.d/dash-"
16158 ,(package-version emacs-dash)))
16159 #:phases
16160 (modify-phases %standard-phases
16161 (delete 'configure)
16162 (replace 'install
16163 (lambda* (#:key inputs outputs #:allow-other-keys)
16164 (let* ((out (assoc-ref outputs "out"))
16165 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
16166 "transient" "-" ,version))
16167 (info (string-append out "/share/info")))
16168 (for-each (cut install-file <> lisp)
16169 (find-files "." "\\.elc*$"))
16170 (install-file "docs/transient.info" (string-append info)))
16171 #t)))))
16172 (home-page "https://magit.vc/manual/transient")
16173 (synopsis "Transient commands in Emacs")
16174 (description
16175 "Taking inspiration from prefix keys and prefix arguments in Emacs,
16176 Transient implements a similar abstraction involving a prefix command, infix
16177 arguments and suffix commands. We could call this abstraction a \"transient
16178 command\", but because it always involves at least two commands (a prefix and
16179 a suffix) we prefer to call it just a \"transient\".")
16180 (license license:gpl3+))))
16181
16182 (define-public emacs-matcha
16183 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
16184 (package
16185 (name "emacs-matcha")
16186 (version (git-version "0.0.1" "1" commit)) ;no upstream release
16187 (source (origin
16188 (method git-fetch)
16189 (uri (git-reference
16190 (url "https://github.com/jojojames/matcha.git")
16191 (commit commit)))
16192 (file-name (git-file-name name version))
16193 (sha256
16194 (base32
16195 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
16196 (propagated-inputs
16197 `(("emacs-hydra" ,emacs-hydra)
16198 ("emacs-transient" ,emacs-transient)))
16199 (build-system emacs-build-system)
16200 (home-page "https://github.com/jojojames/matcha/")
16201 (synopsis "Collection of hydras with a generic interface to launch them")
16202 (description "Matcha provides a collection of transients for various
16203 packages with a consistent way to use them.")
16204 (license license:gpl3+))))
16205
16206 (define-public emacs-undo-propose-el
16207 (let ((commit "21a5cdc8ebfe8113f7039867c4abb0197c0fe71c")
16208 (revision "1"))
16209 (package
16210 (name "emacs-undo-propose-el")
16211 (version (git-version "3.0.0" revision commit))
16212 (source
16213 (origin
16214 (method git-fetch)
16215 (uri (git-reference
16216 (url "https://github.com/jackkamm/undo-propose-el")
16217 (commit commit)))
16218 (file-name (git-file-name name version))
16219 (sha256
16220 (base32
16221 "035hav4lfxwgikg3zpb4cz1nf08qfp27awl87dqbm2ly6d74lpny"))))
16222 (build-system emacs-build-system)
16223 (home-page "https://github.com/jackkamm/undo-propose-el")
16224 (synopsis "Simple and safe navigation of @code{undo} history")
16225 (description "This package permits navigation of @code{undo} history in a
16226 temporary buffer, which is read-only save for @code{undo} commands, and
16227 subsequent committal of a chain of @code{undo} commands as a single edit in
16228 the @code{undo} history.")
16229 (license license:gpl3+))))
16230
16231 (define-public emacs-elisp-docstring-mode
16232 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
16233 (version "0.0.1")
16234 (revision "1"))
16235 (package
16236 (name "emacs-elisp-docstring-mode")
16237 (version (git-version version revision commit))
16238 (source
16239 (origin
16240 (method git-fetch)
16241 (uri (git-reference
16242 (url "https://github.com/Fuco1/elisp-docstring-mode")
16243 (commit commit)))
16244 (file-name (git-file-name name version))
16245 (sha256
16246 (base32
16247 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
16248 (build-system emacs-build-system)
16249 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
16250 (synopsis "Major mode for editing Emacs Lisp docstrings")
16251 (description "This package provides font lock and automatic escaping and
16252 unescaping of quotes.")
16253 (license license:gpl3+))))
16254
16255 (define-public emacs-vimrc-mode
16256 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
16257 (version "0.3.1")
16258 (revision "1"))
16259 (package
16260 (name "emacs-vimrc-mode")
16261 (version (git-version version revision commit))
16262 (source
16263 (origin
16264 (method git-fetch)
16265 (uri (git-reference
16266 (url "https://github.com/mcandre/vimrc-mode")
16267 (commit commit)))
16268 (file-name (git-file-name name version))
16269 (sha256
16270 (base32
16271 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
16272 (build-system emacs-build-system)
16273 (home-page "https://github.com/mcandre/vimrc-mode")
16274 (synopsis "Major mode for Vimscript")
16275 (description "This package provides font lock and @code{beginning-} and
16276 @code{end-of-defun} functions for Vimscript files.")
16277 (license license:gpl3+))))
16278
16279 (define-public emacs-flycheck-haskell
16280 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
16281 (version "0.8")
16282 (revision "79"))
16283 (package
16284 (name "emacs-flycheck-haskell")
16285 (version (git-version version revision commit))
16286 (source
16287 (origin
16288 (method git-fetch)
16289 (uri (git-reference
16290 (url "https://github.com/flycheck/flycheck-haskell")
16291 (commit commit)))
16292 (file-name (git-file-name name version))
16293 (sha256
16294 (base32
16295 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
16296 (build-system emacs-build-system)
16297 (propagated-inputs
16298 `(("emacs-dash" ,emacs-dash)
16299 ("emacs-seq" ,emacs-seq)
16300 ("emacs-flycheck" ,emacs-flycheck)
16301 ("emacs-haskell-mode" ,emacs-haskell-mode)
16302 ("emacs-let-alist" ,emacs-let-alist)))
16303 (home-page "https://github.com/flycheck/flycheck-haskell")
16304 (synopsis "Flycheck for Haskell")
16305 (description "This package configures syntax-checking for Haskell
16306 buffers.")
16307 (license license:gpl3+))))
16308
16309 (define-public emacs-js2-refactor-el
16310 (let ((commit "79124b3274c43ad1f9ec6205fa362576552db02f")
16311 (version "0.9.0")
16312 (revision "27"))
16313 (package
16314 (name "emacs-js2-refactor-el")
16315 (version (git-version version revision commit))
16316 (source
16317 (origin
16318 (method git-fetch)
16319 (uri (git-reference
16320 (url "https://github.com/magnars/js2-refactor.el")
16321 (commit commit)))
16322 (file-name (git-file-name name version))
16323 (sha256
16324 (base32
16325 "1wswhlpbd3airrhyncb9vblqigwnqg9n96z0iis8jnz37q2whica"))))
16326 (build-system emacs-build-system)
16327 (propagated-inputs
16328 `(("emacs-dash" ,emacs-dash)
16329 ("emacs-s" ,emacs-s)
16330 ("emacs-js2-mode" ,emacs-js2-mode)
16331 ("emacs-yasnippet" ,emacs-yasnippet)
16332 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
16333 (native-inputs
16334 `(("emacs-buttercup" ,emacs-buttercup)
16335 ("emacs-espuds" ,emacs-espuds)))
16336 (home-page "https://github.com/magnars/js2-refactor.el")
16337 (synopsis "JavaScript refactoring in Emacs")
16338 (description "This package provides various refactoring functions for
16339 JavaScript.")
16340 (license license:gpl3+))))
16341
16342 (define-public emacs-prettier
16343 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
16344 (version "0.1.0")
16345 (revision "1"))
16346 (package
16347 (name "emacs-prettier")
16348 (version (git-version version revision commit))
16349 (source
16350 (origin
16351 (method git-fetch)
16352 (uri (git-reference
16353 (url "https://github.com/prettier/prettier-emacs")
16354 (commit commit)))
16355 (file-name (git-file-name name version))
16356 (sha256
16357 (base32
16358 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
16359 (build-system emacs-build-system)
16360 (home-page "https://github.com/prettier/prettier-emacs")
16361 (synopsis "Automatic formatting of JavaScript code")
16362 (description "This package integrates Prettier with Emacs, and
16363 provides a minor mode that autoformats the buffer upon saving.")
16364 (license license:expat))))
16365
16366 (define-public emacs-fish-mode
16367 (package
16368 (name "emacs-fish-mode")
16369 (version "0.1.4")
16370 (source
16371 (origin
16372 (method git-fetch)
16373 (uri (git-reference
16374 (url "https://github.com/wwwjfy/emacs-fish")
16375 (commit version)))
16376 (file-name (git-file-name name version))
16377 (sha256
16378 (base32
16379 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
16380 (build-system emacs-build-system)
16381 (home-page "https://github.com/wwwjfy/emacs-fish")
16382 (synopsis "Major mode for Fish shell scripts")
16383 (description "This package provides syntax highlighting and indentation
16384 functions for Fish shell scripts.")
16385 (license license:gpl3+)))
16386
16387 (define-public emacs-eshell-up
16388 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
16389 (version "0.0.3")
16390 (revision "12"))
16391 (package
16392 (name "emacs-eshell-up")
16393 (version (git-version version revision commit))
16394 (source
16395 (origin
16396 (method git-fetch)
16397 (uri (git-reference
16398 (url "https://github.com/peterwvj/eshell-up")
16399 (commit commit)))
16400 (file-name (git-file-name name version))
16401 (sha256
16402 (base32
16403 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
16404 (build-system emacs-build-system)
16405 (home-page "https://github.com/peterwvj/eshell-up")
16406 (synopsis "Quickly go to a parent directory in @code{Eshell}")
16407 (description "This package provides quick navigation to a specific
16408 parent directory using @code{Eshell}.")
16409 (license license:gpl3+))))
16410
16411 (define-public emacs-tco-el
16412 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
16413 (version "0.3")
16414 (revision "1"))
16415 (package
16416 (name "emacs-tco-el")
16417 (version (git-version version revision commit))
16418 (source
16419 (origin
16420 (method git-fetch)
16421 (uri (git-reference
16422 (url "https://github.com/Wilfred/tco.el")
16423 (commit commit)))
16424 (file-name (git-file-name name version))
16425 (sha256
16426 (base32
16427 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
16428 (build-system emacs-build-system)
16429 (propagated-inputs
16430 `(("emacs-dash" ,emacs-dash)))
16431 (home-page "https://github.com/Wilfred/tco.el")
16432 (synopsis "Tail-call optimization for Emacs Lisp")
16433 (description "This package provides tail-call optimization for Emacs
16434 Lisp functions that call themselves in tail position.")
16435 (license license:gpl3+))))
16436
16437 (define-public emacs-equake
16438 (let ((commit "ed15fd55cd4f2276161a6f712ed0b83cd10a8cdc")
16439 (version "0.85")
16440 (revision "1"))
16441 (package
16442 (name "emacs-equake")
16443 (version (git-version version revision commit))
16444 (source
16445 (origin
16446 (method git-fetch)
16447 (uri (git-reference
16448 (url "https://gitlab.com/emacsomancer/equake/")
16449 (commit commit)))
16450 (file-name (git-file-name name version))
16451 (sha256
16452 (base32
16453 "04kj88rlnn22gwmmv2gly2ibi6jka6l2cd4979pi6lhlvqqgjdnj"))))
16454 (build-system emacs-build-system)
16455 (propagated-inputs
16456 `(("emacs-dash" ,emacs-dash)
16457 ("emacs-tco-el" ,emacs-tco-el)))
16458 (home-page "https://gitlab.com/emacsomancer/equake/")
16459 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
16460 (description "This package provides a Quake-style drop-down console
16461 compatible with Emacs' shell modes.")
16462 (license license:gpl3+))))
16463
16464 (define-public emacs-vdiff
16465 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
16466 (version "0.2.3")
16467 (revision "1"))
16468 (package
16469 (name "emacs-vdiff")
16470 (version (git-version version revision commit))
16471 (source
16472 (origin
16473 (method git-fetch)
16474 (uri (git-reference
16475 (url "https://github.com/justbur/emacs-vdiff/")
16476 (commit commit)))
16477 (file-name (git-file-name name version))
16478 (sha256
16479 (base32
16480 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
16481 (build-system emacs-build-system)
16482 (propagated-inputs
16483 `(("emacs-hydra" ,emacs-hydra)))
16484 (home-page "https://github.com/justbur/emacs-vdiff/")
16485 (synopsis "Frontend for diffing based on vimdiff")
16486 (description "This package permits comparisons of two or three buffers
16487 based on diff output.")
16488 (license license:gpl3+))))
16489
16490 (define-public emacs-vdiff-magit
16491 ;; Need to use a more recent commit than the latest release version because
16492 ;; of Magit and Transient
16493 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
16494 (version "0.3.2")
16495 (revision "8"))
16496 (package
16497 (name "emacs-vdiff-magit")
16498 (version (git-version version revision commit))
16499 (source
16500 (origin
16501 (method git-fetch)
16502 (uri (git-reference
16503 (url "https://github.com/justbur/emacs-vdiff-magit/")
16504 (commit commit)))
16505 (file-name (git-file-name name version))
16506 (sha256
16507 (base32
16508 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
16509 (build-system emacs-build-system)
16510 (propagated-inputs
16511 `(("emacs-vdiff" ,emacs-vdiff)
16512 ("emacs-magit" ,emacs-magit)
16513 ("emacs-transient" ,emacs-transient)))
16514 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
16515 (synopsis "Frontend for diffing based on vimdiff")
16516 (description "This package permits comparisons of two or three buffers
16517 based on diff output.")
16518 (license license:gpl3+))))
16519
16520 (define-public emacs-all-the-icons-dired
16521 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
16522 (version "1.0")
16523 (revision "1"))
16524 (package
16525 (name "emacs-all-the-icons-dired")
16526 (version (git-version version revision commit))
16527 (source
16528 (origin
16529 (method git-fetch)
16530 (uri (git-reference
16531 (url "https://github.com/jtbm37/all-the-icons-dired/")
16532 (commit commit)))
16533 (file-name (git-file-name name version))
16534 (sha256
16535 (base32
16536 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
16537 (build-system emacs-build-system)
16538 (propagated-inputs
16539 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
16540 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
16541 (synopsis "Show icons for each file in @code{dired-mode}")
16542 (description "This package allows icons from @file{all-the-icons.el} to
16543 be used in @code{dired-mode}.")
16544 (license license:gpl3+))))
16545
16546 (define-public emacs-exwm-edit
16547 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
16548 (version "0.0.1")
16549 (revision "1"))
16550 (package
16551 (name "emacs-exwm-edit")
16552 (version (git-version version revision commit))
16553 (source
16554 (origin
16555 (method git-fetch)
16556 (uri (git-reference
16557 (url "https://github.com/agzam/exwm-edit/")
16558 (commit commit)))
16559 (file-name (git-file-name name version))
16560 (sha256
16561 (base32
16562 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
16563 (build-system emacs-build-system)
16564 (propagated-inputs
16565 `(("emacs-exwm" ,emacs-exwm)))
16566 (home-page "https://github.com/agzam/exwm-edit/")
16567 (synopsis "Open temp buffers for editing text from EXWM buffers")
16568 (description "This package facilitates editing text from EXWM buffers by
16569 generating a temp buffer in which any useful Emacs utilities and modes can be
16570 invoked.")
16571 (license license:gpl3+))))
16572
16573 (define-public emacs-ert-async
16574 (package
16575 (name "emacs-ert-async")
16576 (version "0.1.2")
16577 (source
16578 (origin
16579 (method git-fetch)
16580 (uri (git-reference
16581 (url "https://github.com/rejeep/ert-async.el")
16582 (commit (string-append "v" version))))
16583 (file-name (git-file-name name version))
16584 (sha256
16585 (base32
16586 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
16587 (build-system emacs-build-system)
16588 (home-page "https://github.com/rejeep/ert-async.el")
16589 (synopsis "Async support for ERT")
16590 (description "This package allows ERT to work with asynchronous tests.")
16591 (license license:gpl3+)))
16592
16593 (define-public emacs-prodigy-el
16594 (let ((commit "701dccaa56de9e6a330c05bde33bce4f3b3d6a97")
16595 (version "0.7.0")
16596 (revision "28"))
16597 (package
16598 (name "emacs-prodigy-el")
16599 (version (git-version version revision commit))
16600 (source
16601 (origin
16602 (method git-fetch)
16603 (uri (git-reference
16604 (url "https://github.com/rejeep/prodigy.el")
16605 (commit commit)))
16606 (file-name (git-file-name name version))
16607 (sha256
16608 (base32
16609 "1vyvxawlayp2nra0q83146q2nzv8qwn5a4nj0sx1jc90a0a83vgj"))))
16610 (build-system emacs-build-system)
16611 (propagated-inputs
16612 `(("emacs-dash" ,emacs-dash)
16613 ("emacs-s" ,emacs-s)
16614 ("emacs-f" ,emacs-f)))
16615 (native-inputs
16616 `(("emacs-el-mock" ,emacs-el-mock)
16617 ("emacs-ert-async" ,emacs-ert-async)))
16618 (home-page "https://github.com/rejeep/prodigy.el")
16619 (synopsis "Manage external services from within Emacs")
16620 (description "This package provides a GUI for defining and monitoring services.")
16621 (license license:gpl3+))))
16622
16623 (define-public emacs-web-server
16624 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
16625 (version "0.1.1")
16626 (revision "1"))
16627 (package
16628 (name "emacs-web-server")
16629 (version (git-version version revision commit))
16630 (source
16631 (origin
16632 (method git-fetch)
16633 (uri (git-reference
16634 (url "https://github.com/eschulte/emacs-web-server/")
16635 (commit commit)))
16636 (file-name (git-file-name name version))
16637 (sha256
16638 (base32
16639 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
16640 (build-system emacs-build-system)
16641 (home-page "https://github.com/eschulte/emacs-web-server/")
16642 (synopsis "Web server with handlers in Emacs Lisp")
16643 (description "This package supports HTTP GET and POST requests with
16644 url-encoded parameters, as well as web sockets.")
16645 (license license:gpl3+))))
16646
16647 (define-public emacs-markdown-preview-mode
16648 (package
16649 (name "emacs-markdown-preview-mode")
16650 (version "0.9.2")
16651 (source
16652 (origin
16653 (method git-fetch)
16654 (uri (git-reference
16655 (url "https://github.com/ancane/markdown-preview-mode")
16656 (commit (string-append "v" version))))
16657 (file-name (git-file-name name version))
16658 (sha256
16659 (base32
16660 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
16661 (build-system emacs-build-system)
16662 (propagated-inputs
16663 `(("emacs-markdown-mode" ,emacs-markdown-mode)
16664 ("emacs-websocket" ,emacs-websocket)
16665 ("emacs-web-server" ,emacs-web-server)))
16666 (arguments '(#:include '("\\.el$" "\\.html$")))
16667 (home-page "https://github.com/ancane/markdown-preview-mode")
16668 (synopsis "Live web development in Emacs")
16669 (description "This package provides a minor mode for preview of Markdown
16670 files, and sends rendered Markdown to a web browser.")
16671 (license license:gpl3+)))
16672
16673 (define-public emacs-dotenv-mode
16674 (package
16675 (name "emacs-dotenv-mode")
16676 (version "0.2.4")
16677 (source
16678 (origin
16679 (method git-fetch)
16680 (uri (git-reference
16681 (url "https://github.com/preetpalS/emacs-dotenv-mode")
16682 (commit (string-append "v" version))))
16683 (file-name (git-file-name name version))
16684 (sha256
16685 (base32
16686 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
16687 (build-system emacs-build-system)
16688 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
16689 (synopsis "Major mode for @file{.env} files")
16690 (description "This package provides syntax highlighting for @file{.env}
16691 files.")
16692 (license license:gpl3+)))
16693
16694 (define-public emacs-add-node-modules-path
16695 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
16696 (version "1.2.0")
16697 (revision "10"))
16698 (package
16699 (name "emacs-add-node-modules-path")
16700 (version (git-version version revision commit))
16701 (source
16702 (origin
16703 (method git-fetch)
16704 (uri (git-reference
16705 (url "https://github.com/codesuki/add-node-modules-path")
16706 (commit commit)))
16707 (file-name (git-file-name name version))
16708 (sha256
16709 (base32
16710 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
16711 (build-system emacs-build-system)
16712 (home-page "https://github.com/codesuki/add-node-modules-path")
16713 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
16714 (description "This package searches the parent directories of the
16715 current file for the project's @file{node_modules/.bin/} directory, allowing
16716 Emacs to find project-specific installations of packages.")
16717 (license license:expat))))
16718
16719 (define-public emacs-flow-minor-mode
16720 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
16721 (version "0.3")
16722 (revision "4"))
16723 (package
16724 (name "emacs-flow-minor-mode")
16725 (version (git-version version revision commit))
16726 (source
16727 (origin
16728 (method git-fetch)
16729 (uri (git-reference
16730 (url "https://github.com/an-sh/flow-minor-mode")
16731 (commit commit)))
16732 (file-name (git-file-name name version))
16733 (sha256
16734 (base32
16735 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
16736 (build-system emacs-build-system)
16737 (home-page "https://github.com/an-sh/flow-minor-mode")
16738 (synopsis "Minor mode for JavaScript Flow files")
16739 (description "This package integrates Flow with Emacs, allowing for
16740 definition-jumping and type-checking on demand.")
16741 (license license:bsd-3))))
16742
16743 (define-public emacs-rjsx-mode
16744 (let ((commit "03dd8d1683501e81b58674d64c3032b7b718402c")
16745 (version "0.4.0")
16746 (revision "35"))
16747 (package
16748 (name "emacs-rjsx-mode")
16749 (version (git-version version revision commit))
16750 (source
16751 (origin
16752 (method git-fetch)
16753 (uri (git-reference
16754 (url "https://github.com/felipeochoa/rjsx-mode")
16755 (commit commit)))
16756 (file-name (git-file-name name version))
16757 (sha256
16758 (base32
16759 "1kc44g9f38klpjklmz9n50a28nqv7prz6ck6ghdr6bnj1s98pb8a"))))
16760 (build-system emacs-build-system)
16761 (propagated-inputs
16762 `(("emacs-js2-mode" ,emacs-js2-mode)))
16763 (home-page "https://github.com/felipeochoa/rjsx-mode")
16764 (synopsis "Major mode for JSX files")
16765 (description "This package extends the parser of @code{js2-mode} to
16766 support JSX syntax.")
16767 (license license:expat))))
16768
16769 (define-public emacs-origami-el
16770 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
16771 (version "1.0")
16772 (revision "1"))
16773 (package
16774 (name "emacs-origami-el")
16775 (version (git-version version revision commit))
16776 (source
16777 (origin
16778 (method git-fetch)
16779 (uri (git-reference
16780 (url "https://github.com/gregsexton/origami.el")
16781 (commit commit)))
16782 (file-name (git-file-name name version))
16783 (sha256
16784 (base32
16785 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
16786 (build-system emacs-build-system)
16787 (propagated-inputs
16788 `(("emacs-dash" ,emacs-dash)
16789 ("emacs-s" ,emacs-s)))
16790 (home-page "https://github.com/gregsexton/origami.el")
16791 (synopsis "Flexible text-folding")
16792 (description "This package provides a minor mode for collapsing and
16793 expanding regions of text without modifying the actual contents.")
16794 (license license:expat))))
16795
16796 (define-public emacs-peep-dired
16797 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
16798 (version "0")
16799 (revision "1"))
16800 (package
16801 (name "emacs-peep-dired")
16802 (version (git-version version revision commit))
16803 (source
16804 (origin
16805 (method git-fetch)
16806 (uri (git-reference
16807 (url "https://github.com/asok/peep-dired")
16808 (commit commit)))
16809 (file-name (git-file-name name version))
16810 (sha256
16811 (base32
16812 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
16813 (build-system emacs-build-system)
16814 (home-page "https://github.com/asok/peep-dired")
16815 (synopsis "Preview files in another window")
16816 (description "This package provides a minor mode that allows files to be
16817 previewed by scrolling up and down within a @code{dired} buffer.")
16818 (license license:gpl3+))))
16819
16820 (define-public emacs-counsel-etags
16821 (package
16822 (name "emacs-counsel-etags")
16823 (version "1.8.9")
16824 (source
16825 (origin
16826 (method git-fetch)
16827 (uri (git-reference
16828 (url "https://github.com/redguardtoo/counsel-etags")
16829 (commit version)))
16830 (file-name (git-file-name name version))
16831 (sha256
16832 (base32
16833 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
16834 (build-system emacs-build-system)
16835 (propagated-inputs
16836 `(("emacs-ivy" ,emacs-ivy)))
16837 (home-page "https://github.com/redguardtoo/counsel-etags")
16838 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
16839 (description "This package uses @code{ivy-mode} to facilitate navigating
16840 and searching through @code{Ctags} files.")
16841 (license license:gpl3+)))
16842
16843 (define-public emacs-org-download
16844 (let ((commit "ac72bf8fce3e855da60687027b6b8601cf1de480")
16845 (version "0.1.0")
16846 (revision "1"))
16847 (package
16848 (name "emacs-org-download")
16849 (version (git-version version revision commit))
16850 (source (origin
16851 (method git-fetch)
16852 (uri (git-reference
16853 (url "https://github.com/abo-abo/org-download")
16854 (commit commit)))
16855 (sha256
16856 (base32
16857 "0ax5wd44765wnwabkam1g2r62gq8crx2qq733s2mg1z72cfvwxqb"))
16858 (file-name (git-file-name name version))))
16859 (build-system emacs-build-system)
16860 (propagated-inputs
16861 `(("emacs-org" ,emacs-org)
16862 ("emacs-async" ,emacs-async)))
16863 (home-page "https://github.com/abo-abo/org-download")
16864 (synopsis "Facilitate moving images")
16865 (description "This package provides utilities for managing image files
16866 copied into @code{org-mode} buffers.")
16867 (license license:gpl3+))))
16868
16869 (define-public emacs-helm-dash
16870 (let ((commit "192b862185df661439a06de644791171e899348a")
16871 (version "1.3.0")
16872 (revision "18"))
16873 (package
16874 (name "emacs-helm-dash")
16875 (version (git-version version revision commit))
16876 (source
16877 (origin
16878 (method git-fetch)
16879 (uri (git-reference
16880 (url "https://github.com/areina/helm-dash")
16881 (commit commit)))
16882 (file-name (git-file-name name version))
16883 (sha256
16884 (base32
16885 "06am5vnr4hsxkvh2b8q8kb80y5x1h3qyv7gwggswwhfa7w2vba3w"))))
16886 (build-system emacs-build-system)
16887 (propagated-inputs
16888 `(("emacs-helm" ,emacs-helm)))
16889 (home-page "https://github.com/areina/helm-dash")
16890 (synopsis "Offline documentation browser for APIs using Dash docsets")
16891 (description "This package uses Helm to install and navigate through
16892 Dash docsets.")
16893 (license license:gpl3+))))
16894
16895 (define-public emacs-counsel-dash
16896 (let ((commit "07fa74a94ff4da5b6c8c4810f5e143e701b480d2")
16897 (version "0.1.3")
16898 (revision "3"))
16899 (package
16900 (name "emacs-counsel-dash")
16901 (version (git-version version revision commit))
16902 (source
16903 (origin
16904 (method git-fetch)
16905 (uri (git-reference
16906 (url "https://github.com/nathankot/counsel-dash")
16907 (commit commit)))
16908 (file-name (git-file-name name version))
16909 (sha256
16910 (base32
16911 "17h2m9zsadq270mkq12kmdzmpbfjiwjbg8n1rg2apqnm1ndgcwf8"))))
16912 (build-system emacs-build-system)
16913 (propagated-inputs
16914 `(("emacs-helm-dash" ,emacs-helm-dash)
16915 ("emacs-dash" ,emacs-dash)
16916 ("emacs-ivy" ,emacs-ivy)))
16917 (home-page "https://github.com/nathankot/counsel-dash")
16918 (synopsis "Offline documentation browser for APIs using Dash docsets")
16919 (description "This package uses @code{ivy-mode} to install and navigate
16920 through Dash docsets.")
16921 (license license:expat))))
16922
16923 (define-public emacs-el-patch
16924 (package
16925 (name "emacs-el-patch")
16926 (version "2.2.3")
16927 (source
16928 (origin
16929 (method git-fetch)
16930 (uri (git-reference
16931 (url "https://github.com/raxod502/el-patch")
16932 (commit version)))
16933 (file-name (git-file-name name version))
16934 (sha256
16935 (base32
16936 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
16937 (build-system emacs-build-system)
16938 (home-page "https://github.com/raxod502/el-patch")
16939 (synopsis "Future-proof your Emacs customizations")
16940 (description "This package allows for an alternate definition of an Elisp
16941 function to be specified and for any differences from the original definition
16942 to be examined using Ediff.")
16943 (license license:expat)))
16944
16945 (define-public emacs-info-plus
16946 (let ((commit "b837d710f7d58db586116cf6f75e75a9a074bc4b")
16947 (version "5101")
16948 (revision "55"))
16949 (package
16950 (name "emacs-info-plus")
16951 (version (git-version version revision commit))
16952 (source
16953 (origin
16954 (method git-fetch)
16955 (uri (git-reference
16956 (url "https://github.com/emacsmirror/info-plus")
16957 (commit commit)))
16958 (file-name (git-file-name name version))
16959 (sha256
16960 (base32
16961 "1knyjkdm4rcs3qrc51jllw46ph7ycq5zxnvl70ydchzfwava43h6"))))
16962 (build-system emacs-build-system)
16963 (home-page "https://github.com/emacsmirror/info-plus")
16964 (synopsis "Extensions to @file{info.el}")
16965 (description "This package extends Emacs' @file{info.el} by allowing
16966 outline-enabled table of contents, additional metadata association for Info
16967 nodes, and more.")
16968 (license license:gpl2+))))
16969
16970 (define-public emacs-eval-sexp-fu-el
16971 (package
16972 (name "emacs-eval-sexp-fu-el")
16973 (version "0.5.0")
16974 (source
16975 (origin
16976 (method git-fetch)
16977 (uri (git-reference
16978 (url "https://github.com/hchbaw/eval-sexp-fu.el")
16979 (commit (string-append "v" version))))
16980 (file-name (git-file-name name version))
16981 (sha256
16982 (base32
16983 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
16984 (build-system emacs-build-system)
16985 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
16986 (synopsis "Enhancements for evaluating s-expressions")
16987 (description "This package provides provides variants of
16988 @code{eval-last-sexp} that work on the containing list or s-expression, as
16989 well as an option for visually flashing evaluated s-expressions.")
16990 (license license:gpl3+)))
16991
16992 (define-public emacs-counsel-tramp
16993 (package
16994 (name "emacs-counsel-tramp")
16995 (version "0.6.3")
16996 (source
16997 (origin
16998 (method git-fetch)
16999 (uri (git-reference
17000 (url "https://github.com/masasam/emacs-counsel-tramp")
17001 (commit version)))
17002 (file-name (git-file-name name version))
17003 (sha256
17004 (base32
17005 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
17006 (build-system emacs-build-system)
17007 (propagated-inputs
17008 `(("emacs-ivy" ,emacs-ivy)))
17009 (home-page "https://github.com/masasam/emacs-counsel-tramp")
17010 (synopsis "Ivy interface for TRAMP")
17011 (description "This package allows @code{ivy-mode} to display and filter
17012 SSH servers.")
17013 (license license:gpl3+)))
17014
17015 (define-public emacs-eacl
17016 (package
17017 (name "emacs-eacl")
17018 (version "2.0.1")
17019 (source
17020 (origin
17021 (method git-fetch)
17022 (uri (git-reference
17023 (url "https://github.com/redguardtoo/eacl")
17024 (commit version)))
17025 (file-name (git-file-name name version))
17026 (sha256
17027 (base32
17028 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
17029 (build-system emacs-build-system)
17030 (propagated-inputs
17031 `(("emacs-ivy" ,emacs-ivy)))
17032 (home-page "https://github.com/redguardtoo/eacl")
17033 (synopsis "Auto-complete lines by using @code{grep} on a project")
17034 (description "This package provides auto-completion cammands for single
17035 and multiple lines of code in a project.")
17036 (license license:gpl3+)))
17037
17038 (define-public emacs-semantic-refactor
17039 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
17040 ;; commits since then.
17041 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
17042 (package
17043 (name "emacs-semantic-refactor")
17044 (version (git-version "0.5" "1" commit))
17045 (source
17046 (origin
17047 (method git-fetch)
17048 (uri (git-reference
17049 (url "https://github.com/tuhdo/semantic-refactor")
17050 (commit commit)))
17051 (file-name (git-file-name name version))
17052 (sha256
17053 (base32
17054 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
17055 (build-system emacs-build-system)
17056 (home-page "https://github.com/tuhdo/semantic-refactor")
17057 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
17058 (description "This package provides a refactoring tool based on the
17059 Emacs Semantic parser framework. For C and C++ it supports operations such as:
17060
17061 @enumerate
17062 @item Generating class implementations
17063 @item Generating function prototypes
17064 @item Converting functions to function pointers
17065 @item Moving semantic units
17066 @item etc...
17067 @end enumerate
17068
17069 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
17070 as:
17071
17072 @enumerate
17073 @item Formatting the whole buffer
17074 @item Converting sexpressions to one or multiple lines
17075 @item etc...
17076 @end enumerate\n")
17077 (license license:gpl3+))))
17078
17079 (define-public emacs-nhexl-mode
17080 (package
17081 (name "emacs-nhexl-mode")
17082 (version "1.2")
17083 (source
17084 (origin
17085 (method url-fetch)
17086 (uri (string-append
17087 "https://elpa.gnu.org/packages/nhexl-mode-"
17088 version ".el"))
17089 (sha256
17090 (base32
17091 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
17092 (build-system emacs-build-system)
17093 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
17094 (synopsis "Minor mode to edit files via hex-dump format")
17095 (description
17096 "This package implements NHexl mode, a minor mode for editing files
17097 in hex dump format. The mode command is called @command{nhexl-mode}.
17098
17099 This minor mode implements similar functionality to @command{hexl-mode},
17100 but using a different implementation technique, which makes it
17101 usable as a \"plain\" minor mode. It works on any buffer, and does
17102 not mess with the undo log or with the major mode.
17103
17104 It also comes with:
17105
17106 @itemize
17107 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
17108 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
17109 (which only work for hex-digits) will only modify the nibble under point.
17110 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
17111 moving text. In this minor mode, not only self-inserting keys overwrite
17112 existing text, but commands like `yank' and @command{kill-region} as well.
17113 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
17114 C-f} to advance by #xa4 characters.
17115 @end itemize\n")
17116 (license license:gpl3+)))
17117
17118 (define-public emacs-helm-wikipedia
17119 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
17120 (package
17121 (name "emacs-helm-wikipedia")
17122 (version (git-version "0.0.0" "1" commit))
17123 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
17124 (source
17125 (origin
17126 (method git-fetch)
17127 (uri (git-reference
17128 (url home-page)
17129 (commit commit)))
17130 (file-name (git-file-name name version))
17131 (sha256
17132 (base32
17133 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
17134 (build-system emacs-build-system)
17135 (inputs
17136 `(("helm" ,emacs-helm)))
17137 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
17138 (description
17139 "This package provides an Emacs Helm interface for search suggestions
17140 and article extracts for Wikipedia.")
17141 (license license:gpl3+))))
17142
17143 (define-public emacs-webfeeder
17144 (package
17145 (name "emacs-webfeeder")
17146 (version "1.0.0")
17147 (source
17148 (origin
17149 (method url-fetch)
17150 (uri (string-append
17151 "https://elpa.gnu.org/packages/webfeeder-"
17152 version
17153 ".tar"))
17154 (sha256
17155 (base32
17156 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
17157 (build-system emacs-build-system)
17158 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
17159 (synopsis "Build RSS and Atom webfeeds from HTML files")
17160 (description
17161 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
17162 files. The various elements of the HTML input are parsed with customizable
17163 functions (e.g. @code{webfeeder-title-function}).")
17164 (license license:gpl3+)))
17165
17166 (define-public emacs-evil-numbers
17167 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
17168 (package
17169 (name "emacs-evil-numbers")
17170 (version (git-version "0.4" "1" commit))
17171 (source (origin
17172 (method git-fetch)
17173 (uri (git-reference
17174 (url "https://github.com/dieggsy/evil-numbers")
17175 (commit commit)))
17176 (file-name (git-file-name name version))
17177 (sha256
17178 (base32
17179 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
17180 (build-system emacs-build-system)
17181 (home-page "https://github.com/dieggsy/evil-numbers")
17182 (synopsis "Increment and decrement numbers in Emacs")
17183 (description "This package increments and decrements binary, octal,
17184 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
17185 number up to EOL and then increments or decrements and keeps zero padding up
17186 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
17187 numbers within that region will be incremented/decremented (unlike in Vim).
17188
17189 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
17190 (license license:gpl3+))))
17191
17192 (define-public emacs-rotate-text
17193 (package
17194 (name "emacs-rotate-text")
17195 (version "0.1")
17196 (source (origin
17197 (method git-fetch)
17198 (uri (git-reference
17199 (url "https://github.com/nschum/rotate-text.el.git")
17200 (commit version)))
17201 (file-name (git-file-name name version))
17202 (sha256
17203 (base32
17204 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
17205 (build-system emacs-build-system)
17206 (home-page "http://nschum.de/src/emacs/rotate-text/")
17207 (synopsis "Cycle through words, symbols and patterns in Emacs")
17208 (description "@code{rotate-text} allows you rotate to commonly
17209 interchanged text with a single keystroke. For example, you can toggle
17210 between \"frame-width\" and \"frame-height\", between \"public\",
17211 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
17212 \"variableN\".")
17213 (license license:gpl2+)))
17214
17215 (define-public emacs-ediprolog
17216 (package
17217 (name "emacs-ediprolog")
17218 (version "1.2")
17219 (source
17220 (origin
17221 (method url-fetch)
17222 (uri (string-append
17223 "https://elpa.gnu.org/packages/ediprolog-"
17224 version
17225 ".el"))
17226 (sha256
17227 (base32
17228 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
17229 (build-system emacs-build-system)
17230 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
17231 (synopsis "Emacs Does Interactive Prolog")
17232 (description "This package provides a major mode that let the user
17233 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
17234 programs and evaluate embedded queries. This mode is focused on the command
17235 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
17236 context, carry out the appropriate action.")
17237 (license license:gpl3+)))
17238
17239 (define-public emacs-evil-cleverparens
17240 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
17241 (revision "1"))
17242 (package
17243 (name "emacs-evil-cleverparens")
17244 (version (git-version "2017-07-17" revision commit))
17245 (source (origin
17246 (method git-fetch)
17247 (uri (git-reference
17248 (url "https://github.com/luxbock/evil-cleverparens.git")
17249 (commit commit)))
17250 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
17251 (file-name (git-file-name name version))))
17252 (build-system emacs-build-system)
17253 (propagated-inputs
17254 `(("emacs-evil" ,emacs-evil)
17255 ("emacs-paredit" ,emacs-paredit)
17256 ("emacs-smartparens" ,emacs-smartparens)))
17257 (home-page "https://github.com/luxbock/evil-cleverparens")
17258 (synopsis "Emacs modal editing optimized for editing Lisp")
17259 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
17260 modal editing with screwing up the structure of Lisp code. Alternatives for
17261 verb commands which would are normally destructive (such as deletion) are
17262 provided. Those alternative commands are and bound by default to their
17263 corresponding Evil keys.")
17264 (license license:expat))))
17265
17266 (define-public emacs-evil-traces
17267 (let ((commit "b41b7432b8110378c199a3d25af464083777f453")
17268 (revision "1"))
17269 (package
17270 (name "emacs-evil-traces")
17271 (version (git-version "0.0.1" revision commit))
17272 (source (origin
17273 (method git-fetch)
17274 (uri (git-reference
17275 (url "https://github.com/mamapanda/evil-traces.git")
17276 (commit commit)))
17277 (file-name (git-file-name name version))
17278 (sha256
17279 (base32
17280 "0a15f2saynz9fws1h5s7py3cshsk4xs1kwgwj1m5rsin36g0j6hc"))))
17281 (build-system emacs-build-system)
17282 (propagated-inputs
17283 `(("emacs-evil" ,emacs-evil)))
17284 (home-page "https://github.com/mamapanda/evil-traces")
17285 (synopsis "Visual hints for @code{evil-ex}")
17286 (description "This package adds visual hints to certain @code{ex}
17287 commands in @code{evil-mode}.")
17288 (license license:gpl3+))))
17289
17290 (define-public emacs-xterm-color
17291 (let ((commit "a452ab38a7cfae97078062ff8885b5d74fd1e5a6")
17292 (version "1.8")
17293 (revision "1"))
17294 (package
17295 (name "emacs-xterm-color")
17296 (version (git-version version revision commit))
17297 (source (origin
17298 (method git-fetch)
17299 (uri (git-reference
17300 (url "https://github.com/atomontage/xterm-color.git")
17301 (commit commit)))
17302 (sha256
17303 (base32
17304 "02kpajb993yshhjhsizpfcbrcndyzkf4dqfipifhxxng50dhp95i"))
17305 (file-name (git-file-name name version))))
17306 (build-system emacs-build-system)
17307 (home-page "https://github.com/atomontage/xterm-color")
17308 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
17309 (description "@code{xterm-color.el} is an ANSI control sequence to
17310 text-property translator.")
17311 (license license:bsd-2))))
17312
17313 (define-public emacs-org-noter
17314 (package
17315 (name "emacs-org-noter")
17316 (version "1.3.0")
17317 (source
17318 (origin
17319 (method url-fetch)
17320 (uri (string-append
17321 "https://stable.melpa.org/packages/org-noter-"
17322 version
17323 ".el"))
17324 (sha256
17325 (base32
17326 "1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
17327 (build-system emacs-build-system)
17328 (propagated-inputs `(("emacs-org" ,emacs-org)))
17329 (home-page "https://github.com/weirdNox/org-noter")
17330 (synopsis "Synchronized, Org-mode, document annotator")
17331 (description
17332 "This package lets you create notes that are kept in sync when you
17333 scroll through the document, but that are external to it---the notes
17334 themselves live in an Org-mode file. As such, this leverages the power of
17335 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
17336 acting like notes that are made @emph{in} the document.")
17337 (license license:gpl3+)))
17338
17339 (define-public emacs-org-redmine
17340 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
17341 (package
17342 (name "emacs-org-redmine")
17343 (version (git-version "0.1" "1" commit))
17344 (source (origin
17345 (method git-fetch)
17346 (uri (git-reference
17347 (url "https://github.com/gongo/org-redmine.git")
17348 (commit commit)))
17349 (file-name (git-file-name name version))
17350 (sha256
17351 (base32
17352 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
17353 (build-system emacs-build-system)
17354 (home-page "https://github.com/gongo/org-redmine/")
17355 (synopsis "Redmine tools using Emacs")
17356 (description "This program provides an Emacs client for Redmine.")
17357 (license license:gpl3+))))
17358
17359 (define-public emacs-multi-term
17360 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
17361 (package
17362 (name "emacs-multi-term")
17363 (version "1.2")
17364 (source (origin
17365 (method git-fetch)
17366 (uri (git-reference
17367 (url "https://github.com/manateelazycat/multi-term.git")
17368 (commit commit)))
17369 (file-name (git-file-name name version))
17370 (sha256
17371 (base32
17372 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
17373 (build-system emacs-build-system)
17374 (inputs `(("zsh" ,zsh)))
17375 (home-page "https://github.com/manateelazycat/multi-term")
17376 (synopsis "Manage multiple terminal buffers in Emacs")
17377 (description
17378 "This package enhances @code{term.el} with the following features:
17379
17380 @enumerate
17381 @item Functions to switch between multiple terminal buffers
17382 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
17383 the underlying terminal
17384 @item Kills the unused buffer left after exiting the terminal
17385 @item Kills the running sub-processes along with the terminal when killing the
17386 it forcibly
17387 @item Dedicated window for debugging program.
17388 @end enumerate")
17389 (license license:gpl3+))))
17390
17391 (define-public emacs-elpher
17392 (package
17393 (name "emacs-elpher")
17394 (version "1.4.6")
17395 (source
17396 (origin
17397 (method git-fetch)
17398 (uri (git-reference
17399 (url "https://github.com/tgvaughan/elpher")
17400 (commit (string-append "v" version))))
17401 (file-name (git-file-name name version))
17402 (sha256
17403 (base32
17404 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
17405 (build-system emacs-build-system)
17406 (native-inputs
17407 `(("texinfo" ,texinfo)))
17408 (arguments
17409 `(#:phases
17410 (modify-phases %standard-phases
17411 (add-before 'install 'build-doc
17412 (lambda _
17413 (invoke "makeinfo" "elpher.texi"))))))
17414 (home-page "https://github.com/tgvaughan/elpher")
17415 (synopsis "Gopher client for Emacs")
17416 (description "Elpher is a full-featured gopher client for Emacs. Its
17417 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
17418 compatibility with evil-mode, clickable web and gopher links in plain text,
17419 caching of visited sites, pleasant and configurable visualization of Gopher
17420 directories, direct visualisation of image files, jumping directly to links by
17421 name (with autocompletion), a simple bookmark management system and
17422 connections using TLS encryption.")
17423 (license license:gpl3+)))
17424
17425 (define-public emacs-zerodark-theme
17426 (package
17427 (name "emacs-zerodark-theme")
17428 (version "4.5")
17429 (source
17430 (origin
17431 (method git-fetch)
17432 (uri (git-reference
17433 (url "https://gitlab.petton.fr/nico/zerodark-theme.git")
17434 (commit version)))
17435 (file-name (git-file-name name version))
17436 (sha256
17437 (base32
17438 "0nnlxzsmhsbszqigcyxak9i1a0digrd13gv6v18ck4h760mihh1m"))))
17439 (build-system emacs-build-system)
17440 (propagated-inputs
17441 `(("emacs-flycheck" ,emacs-flycheck)
17442 ("emacs-all-the-icons" ,emacs-all-the-icons)))
17443 (home-page
17444 "https://gitlab.petton.fr/nico/zerodark-theme")
17445 (synopsis
17446 "Dark, medium contrast theme for Emacs")
17447 (description
17448 "Zerodark is a dark theme inspired from One Dark and Niflheim.
17449 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
17450 (license license:gpl3+)))
17451
17452 (define-public emacs-gnus-alias
17453 (package
17454 (name "emacs-gnus-alias")
17455 (version "20150316")
17456 (source (origin
17457 (method git-fetch)
17458 (uri (git-reference
17459 (url "https://github.com/hexmode/gnus-alias.git")
17460 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
17461 (file-name (git-file-name name version))
17462 (sha256
17463 (base32
17464 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
17465 (build-system emacs-build-system)
17466 (home-page "https://melpa.org/#/gnus-alias")
17467 (synopsis "Alternative to @code{gnus-posting-styles}")
17468 (description "This Emacs add-on provides a simple mechanism to switch
17469 Identities when using a @code{message-mode} or a @code{message-mode} derived
17470 mode. Identities can include @code{From} and @code{Organisation} headers,
17471 extra headers, body and signature. Other features include:
17472
17473 @itemize
17474 @item Switch Identities in a message buffer.
17475 @item Access original message to help determine Identity of the followup/reply
17476 message.
17477 @item Act on a forwarded message as if it were a message being replied to.
17478 @item Start a new message with a given Identity pre-selected.
17479 @end itemize")
17480 (license license:gpl2+)))
17481
17482 (define-public emacs-ox-epub
17483 (package
17484 (name "emacs-ox-epub")
17485 (version "0.3")
17486 (source (origin
17487 (method git-fetch)
17488 (uri (git-reference
17489 (url "https://github.com/ofosos/ox-epub.git")
17490 (commit (string-append "v" version))))
17491 (file-name (git-file-name name version))
17492 (sha256
17493 (base32
17494 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
17495 (build-system emacs-build-system)
17496 (home-page "https://github.com/ofosos/ox-epub")
17497 (synopsis "Export org mode projects to EPUB")
17498 (description "@code{ox-epub} extends the (X)HTML exporter to generate
17499 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
17500 which should give broad compatibility. It should also be relatiely easy to
17501 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
17502 zip utility (default is @code{zip}).")
17503 (license license:gpl3+)))
17504
17505 (define-public emacs-ox-hugo
17506 (package
17507 (name "emacs-ox-hugo")
17508 (version "0.8")
17509 (source
17510 (origin
17511 (method git-fetch)
17512 (uri (git-reference
17513 (url "https://github.com/kaushalmodi/ox-hugo.git")
17514 (commit (string-append "v" version))))
17515 (file-name (git-file-name name version))
17516 (sha256
17517 (base32
17518 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
17519 (build-system emacs-build-system)
17520 (home-page "https://ox-hugo.scripter.co")
17521 (synopsis "Hugo markdown back-end for Org export engine")
17522 (description
17523 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
17524 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
17525 format.")
17526 (license license:gpl3+)))
17527
17528 (define-public emacs-ox-pandoc
17529 (package
17530 (name "emacs-ox-pandoc")
17531 (version "20180510")
17532 (source (origin
17533 (method git-fetch)
17534 (uri (git-reference
17535 (url "https://github.com/kawabata/ox-pandoc.git")
17536 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
17537 (file-name (git-file-name name version))
17538 (sha256
17539 (base32
17540 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
17541 (build-system emacs-build-system)
17542 (inputs
17543 `(("pandoc" ,ghc-pandoc)))
17544 (propagated-inputs
17545 `(("emacs-dash" ,emacs-dash)
17546 ("emacs-ht" ,emacs-ht)))
17547 (home-page "https://github.com/kawabata/ox-pandoc")
17548 (synopsis "Org exporter for Pandoc")
17549 (description "@code{ox-pandoc} is an exporter for converting Org-mode
17550 files to numerous other formats via Pandoc.")
17551 (license license:gpl3+)))
17552
17553 (define-public emacs-wc-mode
17554 (package
17555 (name "emacs-wc-mode")
17556 (version "1.3")
17557 (source (origin
17558 (method git-fetch)
17559 (uri (git-reference
17560 (url "https://github.com/bnbeckwith/wc-mode.git")
17561 (commit (string-append "v" version))))
17562 (file-name (git-file-name name version))
17563 (sha256
17564 (base32
17565 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
17566 (build-system emacs-build-system)
17567 (home-page "https://github.com/bnbeckwith/wc-mode")
17568 (synopsis "Running word count with goals (minor mode)")
17569 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
17570 for Emacs buffers as well as a modeline addition with live word, line and
17571 character counts. Additionally, a user can set specific goals for adding or
17572 deleting words. These goals were partly inspired by 750words.com where the
17573 goal of the site is to encourage writing by setting a goal of 750 words at a
17574 time.")
17575 (license license:gpl3+)))
17576
17577 (define-public emacs-mastodon
17578 (package
17579 (name "emacs-mastodon")
17580 (version "0.9.0")
17581 (source (origin
17582 (method git-fetch)
17583 (uri (git-reference
17584 (url "https://github.com/jdenen/mastodon.el.git")
17585 (commit version)))
17586 (file-name (git-file-name name version))
17587 (sha256
17588 (base32
17589 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
17590 (build-system emacs-build-system)
17591 (arguments
17592 `(#:phases
17593 (modify-phases %standard-phases
17594 ;; Move the source files to the top level, which is included in
17595 ;; the EMACSLOADPATH.
17596 (add-after 'unpack 'move-source-files
17597 (lambda _
17598 (let ((el-files (find-files "./lisp" ".*\\.el$")))
17599 (for-each (lambda (f)
17600 (rename-file f (basename f)))
17601 el-files))
17602 #t)))))
17603 (home-page "https://github.com/jdenen/mastodon.el")
17604 (synopsis "Emacs client for Mastodon")
17605 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
17606 federated microblogging social network.")
17607 (license license:gpl3+)))
17608
17609 ;; The last release tarball is for version 0.6. We pick a commit close to
17610 ;; version 0.6.10, which doesn't have a release tarball.
17611 (define-public emacs-ebdb
17612 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
17613 (revision "0"))
17614 (package
17615 (name "emacs-ebdb")
17616 (version (git-version "0.6.10" revision commit))
17617 (source (origin
17618 (method git-fetch)
17619 (uri (git-reference
17620 (url "https://github.com/girzel/ebdb.git")
17621 (commit commit)))
17622 (file-name (git-file-name name version))
17623 (sha256
17624 (base32
17625 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
17626 (build-system emacs-build-system)
17627 (home-page "https://github.com/girzel/ebdb")
17628 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
17629 (description "EBDB is a contact management/addressbook package for
17630 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
17631 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
17632 (license license:gpl3+))))
17633
17634 (define-public emacs-refactor
17635 (package
17636 (name "emacs-refactor")
17637 (version "0.4")
17638 (source (origin
17639 (method git-fetch)
17640 (uri (git-reference
17641 (url "https://github.com/Wilfred/emacs-refactor.git")
17642 (commit version)))
17643 (file-name (git-file-name name version))
17644 (sha256
17645 (base32
17646 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
17647 (build-system emacs-build-system)
17648 (propagated-inputs
17649 `(("emacs-dash" ,emacs-dash)
17650 ("emacs-s" ,emacs-s)
17651 ("emacs-popup" ,emacs-popup)
17652 ("emacs-list-utils" ,emacs-list-utils)
17653 ("emacs-iedit" ,emacs-iedit)))
17654 (home-page "https://github.com/Wilfred/emacs-refactor/")
17655 (synopsis "Language-specific refactoring in Emacs")
17656 (description "Emacs Refactor (EMR) is a framework for providing
17657 language-specific refactoring in Emacs. It includes refactoring commands for
17658 a variety of languages, including elisp itself.")
17659 (license license:gpl3+)))
17660
17661 (define-public emacs-flyspell-correct
17662 (package
17663 (name "emacs-flyspell-correct")
17664 (version "0.5")
17665 (source
17666 (origin
17667 (method git-fetch)
17668 (uri (git-reference
17669 (url "https://github.com/d12frosted/flyspell-correct.git")
17670 (commit (string-append "v" version))))
17671 (file-name (git-file-name name version))
17672 (sha256
17673 (base32
17674 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
17675 (build-system emacs-build-system)
17676 (propagated-inputs
17677 `(("emacs-helm" ,emacs-helm)
17678 ("emacs-ivy" ,emacs-ivy)
17679 ("emacs-popup" ,emacs-popup)))
17680 (home-page
17681 "https://github.com/d12frosted/flyspell-correct")
17682 (synopsis
17683 "Correcting words with flyspell via custom interfaces")
17684 (description
17685 "This package provides functionality for correcting words via custom
17686 interfaces. Several interfaces are supported beside the classic ido: popup,
17687 helm and ivy.")
17688 (license license:gpl3+)))
17689
17690 (define-public emacs-org-emms
17691 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
17692 (revision "1"))
17693 (package
17694 (name "emacs-org-emms")
17695 (version
17696 (git-version "0.1" revision commit))
17697 (source
17698 (origin
17699 (method git-fetch)
17700 (uri (git-reference
17701 (url "https://gitlab.com/jagrg/org-emms.git")
17702 (commit commit)))
17703 (file-name (git-file-name name commit))
17704 (sha256
17705 (base32
17706 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
17707 (build-system emacs-build-system)
17708 (propagated-inputs
17709 `(("emms" ,emacs-emms)
17710 ("emacs-org" ,emacs-org)))
17711 (home-page "https://gitlab.com/jagrg/org-emms")
17712 (synopsis "Play multimedia files from org-mode")
17713 (description
17714 "This package provides a new org link type for playing back multimedia
17715 files from org-mode using EMMS, The Emacs Multimedia System. If the link
17716 contains a track position, playback will start at the specified position.")
17717 (license license:gpl3+))))
17718
17719 (define-public emacs-org-jira
17720 (package
17721 (name "emacs-org-jira")
17722 (version "4.3.1")
17723 (source
17724 (origin
17725 (method git-fetch)
17726 (uri (git-reference
17727 (url "https://github.com/ahungry/org-jira.git")
17728 (commit version)))
17729 (file-name (git-file-name name version))
17730 (sha256
17731 (base32
17732 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
17733 (build-system emacs-build-system)
17734 (propagated-inputs
17735 `(("emacs-request" ,emacs-request)
17736 ("emacs-s" ,emacs-s)
17737 ("emacs-dash" ,emacs-dash)
17738 ("emacs-org" ,emacs-org)))
17739 (home-page "https://github.com/ahungry/org-jira")
17740 (synopsis "Syncing between Jira and Org-mode")
17741 (description
17742 "This package provides an extension to org-mode for syncing issues with
17743 JIRA issue servers.")
17744 (license license:gpl3+)))
17745
17746 (define-public emacs-systemd-mode
17747 (package
17748 (name "emacs-systemd-mode")
17749 (version "1.6")
17750 (source (origin
17751 (method git-fetch)
17752 (uri (git-reference
17753 (url "https://github.com/holomorph/systemd-mode.git")
17754 (commit (string-append "v" version))))
17755 (file-name (git-file-name name version))
17756 (sha256
17757 (base32
17758 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
17759 (build-system emacs-build-system)
17760 (arguments '(#:include '("\\.el$" "\\.txt$")))
17761 (home-page "https://github.com/holomorph/systemd-mode")
17762 (synopsis
17763 "Major mode for editing systemd units")
17764 (description
17765 "Major mode for editing systemd units in GNU Emacs.")
17766 (license license:gpl3+)))
17767
17768 (define-public emacs-ssh-config-mode
17769 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
17770 (revision "1"))
17771 (package
17772 (name "emacs-ssh-config-mode")
17773 (version (git-version "8.0" revision commit))
17774 (source
17775 (origin
17776 (method git-fetch)
17777 (uri
17778 (git-reference
17779 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
17780 (commit commit)))
17781 (file-name (git-file-name name commit))
17782 (sha256
17783 (base32
17784 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
17785 (build-system emacs-build-system)
17786 (arguments '(#:include '("\\.el$" "\\.txt$")))
17787 (home-page
17788 "https://github.com/jhgorrell/ssh-config-mode-el")
17789 (synopsis
17790 "Mode for fontification of ~/.ssh/config")
17791 (description
17792 "This packages fontifies the ssh config keywords and creates
17793 keybindings for skipping from host section to host section.")
17794 (license license:gpl3+))))