gnu: Add emacs-elpher.
[jackhill/guix/guix.git] / gnu / packages / emacs-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
3 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
6 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
7 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
9 ;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
10 ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11 ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
12 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
13 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
14 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
15 ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
16 ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
17 ;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
19 ;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
20 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
21 ;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
22 ;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
23 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
24 ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
25 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
26 ;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
27 ;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
28 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
29 ;;; Copyright © 2017, 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
30 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
32 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
33 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
34 ;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
35 ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
36 ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org>
37 ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
38 ;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
39 ;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us>
40 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41 ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42 ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43 ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
44 ;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
45 ;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
46 ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
47 ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
48 ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
49 ;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz>
50 ;;; Copyright © 2019 Amar Singh <nly@disroot.org>
51 ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
52 ;;;
53 ;;; This file is part of GNU Guix.
54 ;;;
55 ;;; GNU Guix is free software; you can redistribute it and/or modify it
56 ;;; under the terms of the GNU General Public License as published by
57 ;;; the Free Software Foundation; either version 3 of the License, or (at
58 ;;; your option) any later version.
59 ;;;
60 ;;; GNU Guix is distributed in the hope that it will be useful, but
61 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
62 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
63 ;;; GNU General Public License for more details.
64 ;;;
65 ;;; You should have received a copy of the GNU General Public License
66 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
67
68 (define-module (gnu packages emacs-xyz)
69 #:use-module ((guix licenses) #:prefix license:)
70 #:use-module (guix packages)
71 #:use-module (guix cvs-download)
72 #:use-module (guix download)
73 #:use-module (guix git-download)
74 #:use-module (guix build-system gnu)
75 #:use-module (guix build-system cmake)
76 #:use-module (guix build-system emacs)
77 #:use-module (guix build-system glib-or-gtk)
78 #:use-module (guix build-system perl)
79 #:use-module (guix build-system trivial)
80 #:use-module (gnu packages)
81 #:use-module (gnu packages admin)
82 #:use-module (gnu packages audio)
83 #:use-module (gnu packages bash)
84 #:use-module (gnu packages cmake)
85 #:use-module (gnu packages code)
86 #:use-module (gnu packages databases)
87 #:use-module (gnu packages emacs)
88 #:use-module (gnu packages guile)
89 #:use-module (gnu packages gtk)
90 #:use-module (gnu packages gnome)
91 #:use-module (gnu packages ncurses)
92 #:use-module (gnu packages python)
93 #:use-module (gnu packages python-xyz)
94 #:use-module (gnu packages tex)
95 #:use-module (gnu packages texinfo)
96 #:use-module (gnu packages tcl)
97 #:use-module (gnu packages tls)
98 #:use-module (gnu packages pkg-config)
99 #:use-module (gnu packages xorg)
100 #:use-module (gnu packages lesstif)
101 #:use-module (gnu packages llvm)
102 #:use-module (gnu packages image)
103 #:use-module (gnu packages linux)
104 #:use-module (gnu packages libevent)
105 #:use-module (gnu packages music)
106 #:use-module (gnu packages version-control)
107 #:use-module (gnu packages imagemagick)
108 #:use-module (gnu packages w3m)
109 #:use-module (gnu packages wget)
110 #:use-module (gnu packages autotools)
111 #:use-module (gnu packages base)
112 #:use-module (gnu packages compression)
113 #:use-module (gnu packages xml)
114 #:use-module (gnu packages glib)
115 #:use-module (gnu packages acl)
116 #:use-module (gnu packages mail)
117 #:use-module (gnu packages package-management)
118 #:use-module (gnu packages perl)
119 #:use-module (gnu packages pdf)
120 #:use-module (gnu packages scheme)
121 #:use-module (gnu packages speech)
122 #:use-module (gnu packages xiph)
123 #:use-module (gnu packages mp3)
124 #:use-module (gnu packages gettext)
125 #:use-module (gnu packages fribidi)
126 #:use-module (gnu packages gd)
127 #:use-module (gnu packages fontutils)
128 #:use-module (gnu packages password-utils)
129 #:use-module (gnu packages pulseaudio)
130 #:use-module (gnu packages sphinx)
131 #:use-module (gnu packages xdisorg)
132 #:use-module (gnu packages shells)
133 #:use-module (gnu packages sqlite)
134 #:use-module (gnu packages gnupg)
135 #:use-module (gnu packages video)
136 #:use-module (gnu packages haskell)
137 #:use-module (gnu packages wordnet)
138 #:use-module (guix utils)
139 #:use-module (srfi srfi-1)
140 #:use-module (ice-9 match))
141
142 ;;;
143 ;;; Emacs hacking.
144 ;;;
145
146 (define-public emacs-geiser
147 (package
148 (name "emacs-geiser")
149 (version "0.10")
150 (source (origin
151 (method url-fetch)
152 (uri (string-append "mirror://savannah/geiser/" version
153 "/geiser-" version ".tar.gz"))
154 (sha256
155 (base32
156 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
157 (build-system gnu-build-system)
158 (arguments
159 '(#:phases
160 (modify-phases %standard-phases
161 (add-after 'install 'post-install
162 (lambda* (#:key outputs #:allow-other-keys)
163 (symlink "geiser-install.el"
164 (string-append (assoc-ref outputs "out")
165 "/share/emacs/site-lisp/"
166 "geiser-autoloads.el"))
167 #t)))))
168 (inputs `(("guile" ,guile-2.2)))
169 (native-inputs `(("emacs" ,emacs-minimal)))
170 (home-page "https://nongnu.org/geiser/")
171 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
172 (description
173 "Geiser is a collection of Emacs major and minor modes that conspire with
174 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
175 continuously running Scheme interpreter takes the center of the stage in
176 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
177 implementation, Emacs and, ultimately, the schemer, giving them access to live
178 metadata.")
179 (license license:bsd-3)))
180
181 (define-public geiser
182 (deprecated-package "geiser" emacs-geiser))
183
184 (define-public emacs-paredit
185 (package
186 (name "emacs-paredit")
187 (version "24")
188 (source (origin
189 (method url-fetch)
190 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
191 version ".el"))
192 (sha256
193 (base32
194 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
195 (build-system emacs-build-system)
196 (home-page "http://mumble.net/~campbell/emacs/paredit/")
197 (synopsis "Emacs minor mode for editing parentheses")
198 (description
199 "ParEdit (paredit.el) is a minor mode for performing structured editing
200 of S-expression data. The typical example of this would be Lisp or Scheme
201 source code.
202
203 ParEdit helps **keep parentheses balanced** and adds many keys for moving
204 S-expressions and moving around in S-expressions. Its behavior can be jarring
205 for those who may want transient periods of unbalanced parentheses, such as
206 when typing parentheses directly or commenting out code line by line.")
207 (license license:gpl3+)))
208
209 (define-public paredit
210 (deprecated-package "paredit" emacs-paredit))
211
212 (define-public git-modes
213 (package
214 (name "emacs-git-modes")
215 (version "1.2.8")
216 (source (origin
217 (method git-fetch)
218 (uri (git-reference
219 (url "https://github.com/magit/git-modes")
220 (commit version)))
221 (file-name (git-file-name name version))
222 (sha256
223 (base32
224 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
225 (build-system emacs-build-system)
226 (home-page "https://github.com/magit/git-modes")
227 (synopsis "Emacs major modes for Git configuration files")
228 (description
229 "This package provides Emacs major modes for editing various Git
230 configuration files, such as .gitattributes, .gitignore, and .git/config.")
231 (license license:gpl3+)))
232
233 (define-public git-modes/old-name
234 (deprecated-package "git-modes" git-modes))
235
236 (define-public emacs-with-editor
237 (package
238 (name "emacs-with-editor")
239 (version "2.8.3")
240 (source (origin
241 (method git-fetch)
242 (uri (git-reference
243 (url "https://github.com/magit/with-editor.git")
244 (commit (string-append "v" version))))
245 (file-name (git-file-name name version))
246 (sha256
247 (base32
248 "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"))))
249 (build-system emacs-build-system)
250 (propagated-inputs
251 `(("emacs-dash" ,emacs-dash)))
252 (home-page "https://github.com/magit/with-editor")
253 (synopsis "Emacs library for using Emacsclient as EDITOR")
254 (description
255 "This package provides an Emacs library to use the Emacsclient as
256 @code{$EDITOR} of child processes, making sure they know how to call home.
257 For remote processes a substitute is provided, which communicates with Emacs
258 on stdout instead of using a socket as the Emacsclient does.")
259 (license license:gpl3+)))
260
261 (define-public emacs-magit
262 ;; Version 2.90.1 has trouble loading the transient library,
263 ;; so we use a more recent commit that fixes it.
264 (let ((commit "b4aec016b5577afa8d889f258b499814d1bb1d94"))
265 (package
266 (name "emacs-magit")
267 (version (git-version "2.90.1" "1" commit))
268 (source (origin
269 (method git-fetch)
270 (uri (git-reference
271 (url "https://github.com/magit/magit")
272 (commit commit)))
273 (file-name (git-file-name name version))
274 (sha256
275 (base32
276 "0zl7v6z0y50pcgqsf2r8c1k3r5nwjad9ba7r6sgrnf4rc62br7jv"))))
277 (build-system gnu-build-system)
278 (native-inputs `(("texinfo" ,texinfo)
279 ("emacs" ,emacs-minimal)))
280 (inputs
281 `(("git" ,git)
282 ("perl" ,perl)))
283 (propagated-inputs
284 `(("dash" ,emacs-dash)
285 ("with-editor" ,emacs-with-editor)
286 ("transient" ,emacs-transient)))
287 (arguments
288 `(#:modules ((guix build gnu-build-system)
289 (guix build utils)
290 (guix build emacs-utils))
291 #:imported-modules (,@%gnu-build-system-modules
292 (guix build emacs-utils))
293 #:test-target "test"
294 #:tests? #f ; tests are not included in the release
295
296 #:make-flags
297 (list (string-append "PREFIX=" %output)
298 ;; Don't put .el files in a sub-directory.
299 (string-append "lispdir=" %output "/share/emacs/site-lisp")
300 (string-append "DASH_DIR="
301 (assoc-ref %build-inputs "dash")
302 "/share/emacs/site-lisp/guix.d/dash-"
303 ,(package-version emacs-dash))
304 (string-append "WITH_EDITOR_DIR="
305 (assoc-ref %build-inputs "with-editor")
306 "/share/emacs/site-lisp/guix.d/with-editor-"
307 ,(package-version emacs-with-editor))
308 (string-append "TRANSIENT_DIR="
309 (assoc-ref %build-inputs "transient")
310 "/share/emacs/site-lisp/guix.d/transient-"
311 ,(package-version emacs-transient)))
312
313 #:phases
314 (modify-phases %standard-phases
315 (delete 'configure)
316 (add-before
317 'build 'patch-exec-paths
318 (lambda* (#:key inputs #:allow-other-keys)
319 (let ((perl (assoc-ref inputs "perl")))
320 (make-file-writable "lisp/magit-sequence.el")
321 (emacs-substitute-variables "lisp/magit-sequence.el"
322 ("magit-perl-executable" (string-append perl "/bin/perl")))
323 #t))))))
324 (home-page "https://magit.vc/")
325 (synopsis "Emacs interface for the Git version control system")
326 (description
327 "With Magit, you can inspect and modify your Git repositories with Emacs.
328 You can review and commit the changes you have made to the tracked files, for
329 example, and you can browse the history of past changes. There is support for
330 cherry picking, reverting, merging, rebasing, and other common Git
331 operations.")
332 (license license:gpl3+))))
333
334 (define-public magit
335 (deprecated-package "magit" emacs-magit))
336
337 (define-public emacs-magit-svn
338 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
339 (package
340 (name "emacs-magit-svn")
341 (version (git-version "2.2.1" "1" commit))
342 (source (origin
343 (method git-fetch)
344 (uri (git-reference
345 (url "https://github.com/magit/magit-svn")
346 (commit commit)))
347 (file-name (git-file-name name version))
348 (sha256
349 (base32
350 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
351 (build-system trivial-build-system)
352 (native-inputs `(("emacs" ,emacs-minimal)))
353 (propagated-inputs `(("dash" ,emacs-dash)
354 ("with-editor" ,emacs-with-editor)
355 ("magit" ,emacs-magit)
356 ("transient" ,emacs-transient)))
357 (arguments
358 `(#:modules ((guix build utils)
359 (guix build emacs-utils))
360
361 #:builder
362 (begin
363 (use-modules (guix build utils)
364 (guix build emacs-utils))
365
366 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
367 "/bin/emacs"))
368 (magit (string-append (assoc-ref %build-inputs "magit")
369 "/share/emacs/site-lisp"))
370 (transient (string-append (assoc-ref %build-inputs "transient")
371 "/share/emacs/site-lisp/guix.d/transient-"
372 ,(package-version emacs-transient)))
373 (dash (string-append (assoc-ref %build-inputs "dash")
374 "/share/emacs/site-lisp/guix.d/dash-"
375 ,(package-version emacs-dash)))
376 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
377 "/share/emacs/site-lisp/guix.d/with-editor-"
378 ,(package-version emacs-with-editor)))
379 (source (assoc-ref %build-inputs "source"))
380 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
381
382 (install-file (string-append source "/magit-svn.el")
383 lisp-dir)
384
385 (with-directory-excursion lisp-dir
386 (parameterize ((%emacs emacs))
387 (emacs-generate-autoloads ,name lisp-dir)
388 (setenv "EMACSLOADPATH"
389 (string-append ":" magit ":" transient
390 ":" dash ":" with-editor))
391 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
392 #t))))
393 (home-page "https://github.com/magit/magit-svn")
394 (synopsis "Git-SVN extension to Magit")
395 (description
396 "This package is an extension to Magit, the Git Emacs mode, providing
397 support for Git-SVN.")
398 (license license:gpl3+))))
399
400 (define-public magit-svn
401 (deprecated-package "magit-svn" emacs-magit-svn))
402
403 (define-public emacs-magit-popup
404 (package
405 (name "emacs-magit-popup")
406 (version "2.12.5")
407 (source (origin
408 (method git-fetch)
409 (uri (git-reference
410 (url "https://github.com/magit/magit-popup.git")
411 (commit (string-append "v" version))))
412 (file-name (git-file-name name version))
413 (sha256
414 (base32
415 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
416 (build-system emacs-build-system)
417 (arguments
418 `(#:phases
419 (modify-phases %standard-phases
420 (add-before 'install 'make-info
421 (lambda _
422 (invoke "make" "info"))))))
423 (native-inputs
424 `(("texinfo" ,texinfo)))
425 (propagated-inputs
426 `(("emacs-dash" ,emacs-dash)))
427 (home-page "https://github.com/magit/magit-popup")
428 (synopsis "Define prefix-infix-suffix command combos")
429 (description
430 "This library implements a generic interface for toggling switches and
431 setting options and then invoking an Emacs command which does something with
432 these arguments. The prototypical use is for the command to call an external
433 process, passing on the arguments as command line arguments.")
434 (license license:gpl3+)))
435
436 (define-public emacs-minions
437 (package
438 (name "emacs-minions")
439 (version "0.3.1")
440 (source (origin
441 (method git-fetch)
442 (uri (git-reference
443 (url "https://github.com/tarsius/minions.git")
444 (commit (string-append "v" version))))
445 (file-name (git-file-name name version))
446 (sha256
447 (base32
448 "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s"))))
449 (build-system emacs-build-system)
450 (propagated-inputs
451 `(("emacs-dash" ,emacs-dash)))
452 (home-page "https://github.com/tarsius/minions")
453 (synopsis "Minor-mode menu for the mode line")
454 (description
455 "This package implements a menu that lists enabled minor-modes, as well
456 as commonly but not currently enabled minor-modes. It can be used to toggle
457 local and global minor-modes, to access mode-specific menus, and to get help
458 about modes.
459
460 This menu is intended as a replacement for the incomplete yet wide list of
461 enabled minor-modes that is displayed in the mode line by default. To use the
462 menu like this, enable Minions mode.
463
464 Alternatively the menu can be bound globally, for example:
465 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
466 (license license:gpl3+)))
467
468 (define-public emacs-treepy
469 (package
470 (name "emacs-treepy")
471 (version "0.1.1")
472 (source (origin
473 (method git-fetch)
474 (uri (git-reference
475 (url "https://github.com/volrath/treepy.el.git")
476 (commit version)))
477 (file-name (git-file-name name version))
478 (sha256
479 (base32
480 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
481 (build-system emacs-build-system)
482 (home-page
483 "https://github.com/volrath/treepy.el")
484 (synopsis "Tree traversal tools")
485 (description
486 "Generic tools for recursive and iterative tree traversal based on
487 clojure.walk and clojure.zip respectively.")
488 (license license:gpl3+)))
489
490 (define-public emacs-graphql
491 (package
492 (name "emacs-graphql")
493 (version "0.1.1")
494 (source (origin
495 (modules '((guix build utils)))
496 ;; Remove examples file with references to external packages as
497 ;; they do not exist at compilation time.
498 (snippet
499 '(begin (delete-file "examples.el")
500 #t))
501 (method git-fetch)
502 (uri (git-reference
503 (url "https://github.com/vermiculus/graphql.el.git")
504 (commit version)))
505 (file-name (git-file-name name version))
506 (sha256
507 (base32
508 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
509 (build-system emacs-build-system)
510 (home-page
511 "https://github.com/vermiculus/graphql.el")
512 (synopsis "GraphQL utilities")
513 (description
514 "GraphQL.el provides a generally-applicable domain-specific language for
515 creating and executing GraphQL queries against your favorite web services.
516 GraphQL is a data query language and runtime designed and used to request and
517 deliver data to mobile and web apps.")
518 (license license:gpl3+)))
519
520 (define-public emacs-ghub
521 (package
522 (name "emacs-ghub")
523 (version "3.2.0")
524 (source (origin
525 (method git-fetch)
526 (uri (git-reference
527 (url "https://github.com/magit/ghub")
528 (commit (string-append "v" version))))
529 (file-name (git-file-name name version))
530 (sha256
531 (base32
532 "0lp52qygyavddl1lrgsyb6mq7hcf9h89dy2pzya3mb2va49f0vvl"))))
533 (build-system emacs-build-system)
534 (arguments
535 `(#:phases
536 (modify-phases %standard-phases
537 (add-before 'install 'make-info
538 (lambda _
539 (invoke "make" "info"))))))
540 (native-inputs
541 `(("texinfo" ,texinfo)))
542 (propagated-inputs
543 `(("dash" ,emacs-dash)
544 ("graphql" ,emacs-graphql)
545 ("treepy" ,emacs-treepy)))
546 (home-page "https://github.com/magit/ghub")
547 (synopsis "Emacs client libraries for the APIs of various Git forges")
548 (description
549 "Ghub provides basic support for using the APIs of various Git forges from
550 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
551 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
552 handful of functions that are not resource-specific.")
553 (license license:gpl3+)))
554
555 (define-public emacs-scribble-mode
556 (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
557 (version "0.0")
558 (revision 0))
559 (package
560 (name "emacs-scribble-mode")
561 (version (if (zero? revision)
562 version
563 (string-append version "-"
564 (number->string revision)
565 "." (string-take commit 7))))
566 (source (origin
567 (method git-fetch)
568 (uri (git-reference
569 (url "https://github.com/emacs-pe/scribble-mode.git")
570 (commit commit)))
571 (sha256
572 (base32
573 "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
574 (build-system emacs-build-system)
575 (home-page "https://github.com/emacs-pe/scribble-mode")
576 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
577 (description
578 "This package provides basic syntax highlighting and editing support
579 for editing Racket's Scribble documentation syntax in Emacs.")
580 (license license:gpl3+))))
581
582 (define-public emacs-shroud
583 (package
584 (name "emacs-shroud")
585 (version "1.83.4")
586 (source
587 (origin
588 (method git-fetch)
589 (uri (git-reference
590 (url "https://github.com/o-nly/emacs-shroud.git")
591 (commit version)))
592 (file-name (git-file-name name version))
593 (sha256
594 (base32 "1yvdjx0kp4y8w5yz2cbqq9n6xl5splvmsyyx8ld1xv0q1c9872nf"))))
595 (build-system emacs-build-system)
596 (propagated-inputs
597 `(("emacs-bui" ,emacs-bui)
598 ("emacs-dash" ,emacs-dash)
599 ("emacs-f" ,emacs-f)
600 ("emacs-s" ,emacs-s)
601 ("gnupg" ,gnupg)
602 ("shroud" ,shroud)))
603 (home-page "https://github.com/o-nly/emacs-shroud")
604 (synopsis "Emacs interface to the Shroud password manager")
605 (description
606 "This package provides an Emacs interface to the Shroud password manager,
607 using the Buffers User Interface library. You can view, copy, and edit secrets
608 from within Emacs.")
609 (license license:gpl3+)))
610
611 (define-public emacs-unpackaged-el
612 (let ((commit "f4df7f8dfea715e893b2223adda32545803f5cce")
613 (revision "1"))
614 (package
615 (name "emacs-unpackaged-el")
616 (version (git-version "0" revision commit))
617 (source
618 (origin
619 (method git-fetch)
620 (uri (git-reference
621 (url "https://github.com/alphapapa/unpackaged.el")
622 (commit commit)))
623 (file-name (git-file-name name version))
624 (sha256
625 (base32
626 "1yf3zrgqfhnr0az8gn1kqqwnhfi3nc0vbjkcagwcqwk3sp1jda86"))
627 (patches
628 (search-patches "emacs-unpackaged-req.patch"))))
629 (build-system emacs-build-system)
630 (propagated-inputs
631 `(("emacs-dash" ,emacs-dash)
632 ("emacs-org" ,emacs-org)
633 ("emacs-s" ,emacs-s)
634 ("emacs-hydra" ,emacs-hydra)
635 ("emacs-use-package" ,emacs-use-package)))
636 (home-page "https://github.com/alphapapa/unpackaged.el")
637 (synopsis "Useful snippets of Emacs Lisp code")
638 (description "This package provides Emacs Lisp utilities for a variety
639 of tasks, including version control, task management, and regex-based
640 replacement.")
641 (license license:gpl3+))))
642
643 (define-public emacs-haskell-mode
644 (package
645 (name "emacs-haskell-mode")
646 (version "16.1")
647 (source (origin
648 (method git-fetch)
649 (uri (git-reference
650 (url "https://github.com/haskell/haskell-mode")
651 (commit (string-append "v" version))))
652 (file-name (git-file-name name version))
653 (sha256
654 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
655 (patches
656 (search-patches ; backport test failure fixes
657 "haskell-mode-unused-variables.patch"
658 "haskell-mode-make-check.patch"))))
659 (inputs
660 `(("emacs-el-search" ,emacs-el-search) ; for tests
661 ("emacs-stream" ,emacs-stream))) ; for tests
662 (propagated-inputs
663 `(("emacs-dash" ,emacs-dash)))
664 (native-inputs
665 `(("emacs" ,emacs-minimal)
666 ("texinfo" ,texinfo)))
667 (build-system gnu-build-system)
668 (arguments
669 `(#:make-flags (list (string-append "EMACS="
670 (assoc-ref %build-inputs "emacs")
671 "/bin/emacs"))
672 #:modules ((ice-9 match)
673 (srfi srfi-26)
674 ,@%gnu-build-system-modules)
675 #:phases
676 (modify-phases %standard-phases
677 (delete 'configure)
678 (add-before
679 'build 'pre-build
680 (lambda* (#:key inputs #:allow-other-keys)
681 (define (el-dir store-dir)
682 (match (find-files store-dir "\\.el$")
683 ((f1 f2 ...) (dirname f1))
684 (_ "")))
685
686 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
687 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
688
689 (setenv "SHELL" "sh")
690 (setenv "EMACSLOADPATH"
691 (string-concatenate
692 (map (match-lambda
693 (((? emacs-prefix? name) . dir)
694 (string-append (el-dir dir) ":"))
695 (_ ""))
696 inputs)))
697 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
698 ;; embed filename to fix test failure
699 (let ((file "tests/haskell-cabal-tests.el"))
700 (substitute* file
701 (("\\(buffer-file-name\\)")
702 (format #f "(or (buffer-file-name) ~s)" file))))
703 #t)))
704 (replace
705 'install
706 (lambda* (#:key outputs #:allow-other-keys)
707 (let* ((out (assoc-ref outputs "out"))
708 (el-dir (string-append out "/share/emacs/site-lisp"))
709 (doc (string-append
710 out "/share/doc/haskell-mode-" ,version))
711 (info (string-append out "/share/info")))
712 (define (copy-to-dir dir files)
713 (for-each (lambda (f)
714 (install-file f dir))
715 files))
716
717 (with-directory-excursion "doc"
718 (invoke "makeinfo" "haskell-mode.texi")
719 (install-file "haskell-mode.info" info))
720 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
721 (copy-to-dir el-dir (find-files "." "\\.elc?"))
722 ;; These are part of other packages.
723 (with-directory-excursion el-dir
724 (for-each delete-file '("dash.el" "ert.el")))
725 #t))))))
726 (home-page "https://github.com/haskell/haskell-mode")
727 (synopsis "Haskell mode for Emacs")
728 (description
729 "This is an Emacs mode for editing, debugging and developing Haskell
730 programs.")
731 (license license:gpl3+)))
732
733 (define-public haskell-mode
734 (deprecated-package "haskell-mode" emacs-haskell-mode))
735
736 (define-public emacs-dante
737 (let ((commit "149dded24ca9cdff09a3d859e4b62638db4aadda")
738 (revision "1"))
739 (package
740 (name "emacs-dante")
741 (version (git-version "1.5" revision commit))
742 (source (origin
743 (method git-fetch)
744 (uri (git-reference
745 (url "https://github.com/jyp/dante")
746 (commit commit)))
747 (sha256
748 (base32
749 "0i7kj3d6pfys6si9va5f36qzifyac9mahdl0qh40rya9m0syrkla"))
750 (file-name (git-file-name name version))))
751 (build-system emacs-build-system)
752 (propagated-inputs
753 `(("emacs-dash" ,emacs-dash)
754 ("emacs-f" ,emacs-f)
755 ("emacs-flycheck" ,emacs-flycheck)
756 ("emacs-haskell-mode" ,emacs-haskell-mode)
757 ("emacs-s" ,emacs-s)
758 ("emacs-company" ,emacs-company)
759 ("emacs-lcr" ,emacs-lcr)))
760 (home-page "https://github.com/jyp/dante")
761 (synopsis "Minor mode for interactive Haskell")
762 (description
763 "This package provides a minor mode for Haskell development that
764 supports type hints, definition-jumping, completion, and more.")
765 (license license:gpl3+))))
766
767 (define-public emacs-flycheck
768 (package
769 (name "emacs-flycheck")
770 (version "31")
771 (source (origin
772 (method url-fetch)
773 (uri (string-append
774 "https://github.com/flycheck/flycheck/releases/download/"
775 version "/flycheck-" version ".tar"))
776 (sha256
777 (base32
778 "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))
779 (modules '((guix build utils)))
780 (snippet `(begin
781 ;; Change 'flycheck-version' so that it does not
782 ;; attempt to get its version from pkg-info.el.
783 (substitute* "flycheck.el"
784 (("\\(pkg-info-version-info 'flycheck\\)")
785 (string-append "\"" ,version "\"")))
786 #t))))
787 (build-system emacs-build-system)
788 (propagated-inputs
789 `(("emacs-dash" ,emacs-dash)))
790 (home-page "https://www.flycheck.org")
791 (synopsis "On-the-fly syntax checking")
792 (description
793 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
794 replacement for the older Flymake extension which is part of GNU Emacs, with
795 many improvements and additional features.
796
797 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
798 checking for over 30 programming and markup languages with more than 70
799 different tools. It highlights errors and warnings inline in the buffer, and
800 provides an optional IDE-like error list.")
801 (license license:gpl3+))) ;+GFDLv1.3+ for the manual
802
803 (define-public emacs-a
804 (package
805 (name "emacs-a")
806 (version "0.1.1")
807 (source (origin
808 (method git-fetch)
809 (uri (git-reference
810 (url "https://github.com/plexus/a.el.git")
811 (commit (string-append "v" version))))
812 (file-name (git-file-name name version))
813 (sha256
814 (base32
815 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
816 (build-system emacs-build-system)
817 (home-page "https://github.com/plexus/a.el/")
818 (synopsis
819 "Emacs library for dealing with association lists and hash tables")
820 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
821 with associative structures in a uniform and functional way. These functions
822 can take association lists, hash tables, and in some cases vectors (where the
823 index is considered the key).")
824 (license license:gpl3+)))
825
826 (define-public emacs-ace-jump-mode
827 (package
828 (name "emacs-ace-jump-mode")
829 (version "2.0")
830 (home-page "https://github.com/winterTTr/ace-jump-mode")
831 (source (origin
832 (method git-fetch)
833 (uri (git-reference
834 (url home-page)
835 (commit (string-append "v" version))))
836 (sha256
837 (base32
838 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
839 (file-name (git-file-name name version))))
840 (build-system emacs-build-system)
841 (synopsis "Cursor location minor mode for fast navigation")
842 (description "Ace-jump-mode is a fast/direct cursor location minor
843 mode. It creates an N-Branch search tree internally and marks all
844 the possible position with predefined keys in within the whole Emacs
845 view. This allows you to move to the character, word, or line almost
846 directly.")
847 (license license:gpl3+)))
848
849 (define-public emacs-anaphora
850 (package
851 (name "emacs-anaphora")
852 (version "1.0.4")
853 (source
854 (origin
855 (method git-fetch)
856 (uri (git-reference
857 (url "https://github.com/rolandwalker/anaphora.git")
858 (commit (string-append "v" version))))
859 (file-name (git-file-name name version))
860 (sha256
861 (base32
862 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
863 (build-system emacs-build-system)
864 (home-page "https://github.com/rolandwalker/anaphora/")
865 (synopsis "Anaphoric expressions for Emacs Lisp")
866 (description "@code{emacs-anaphora} implements anaphoric expressions for
867 Emacs Lisp.
868
869 Anaphoric expressions implicitly create one or more temporary variables which
870 can be referred to during the expression. This technique can improve clarity
871 in certain cases. It also enables recursion for anonymous functions.")
872 (license license:public-domain)))
873
874 (define-public emacs-xr
875 (package
876 (name "emacs-xr")
877 (version "1.12")
878 (source
879 (origin
880 (method url-fetch)
881 (uri (string-append
882 "https://elpa.gnu.org/packages/xr-" version ".tar"))
883 (sha256
884 (base32
885 "1vv87h0h8ldc1mbsn45w5z1m6jq8j2js4xz23a9ixdby06g60y3g"))))
886 (build-system emacs-build-system)
887 (home-page "http://elpa.gnu.org/packages/xr.html")
888 (synopsis "Convert string regexp to rx notation")
889 (description
890 "This is an inverse companion to the @code{rx} package for translating
891 regexps in string form to the @code{rx} notation. Its chief uses are:
892
893 @itemize
894 @item Migrating existing code to @code{rx} form, for better readability and
895 maintainability
896 @item Understanding complex regexp strings and finding errors in them
897 @end itemize
898
899 In addition to Emacs regexps, this package can also parse and troubleshoot
900 skip set strings, which are arguments to @code{skip-chars-forward} and
901 @code{skip-chars-backward}.")
902 (license license:gpl3+)))
903
904 (define-public emacs-reformatter
905 (package
906 (name "emacs-reformatter")
907 (version "0.4")
908 (source
909 (origin
910 (method git-fetch)
911 (uri (git-reference
912 (url "https://github.com/purcell/reformatter.el.git")
913 (commit version)))
914 (file-name (git-file-name name version))
915 (sha256
916 (base32
917 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
918 (build-system emacs-build-system)
919 (home-page "https://github.com/purcell/reformatter.el")
920 (synopsis "Define commands which run reformatters on the current buffer")
921 (description
922 "This library lets elisp authors easily define an idiomatic command to
923 reformat the current buffer using a command-line program, together with an
924 optional minor mode which can apply this command automatically on save.")
925 (license license:gpl3+)))
926
927 (define-public emacs-relint
928 (package
929 (name "emacs-relint")
930 (version "1.8")
931 (source
932 (origin
933 (method url-fetch)
934 (uri (string-append
935 "https://elpa.gnu.org/packages/relint-" version ".el"))
936 (sha256
937 (base32
938 "1bl6m2h7131acbmr0kqfnjjpv2syiv2mxfnm61g874ynnvkmmkm3"))))
939 (build-system emacs-build-system)
940 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
941 (home-page "https://github.com/mattiase/relint")
942 (synopsis "Elisp regexp mistake finder")
943 (description
944 "Relint (regular expression lint) scans Elisp files for mistakes in
945 regexps, including deprecated syntax and bad practice. It also checks the
946 regexp-like arguments to @code{skip-chars-forward} and
947 @code{skip-chars-backward}.")
948 (license license:gpl3+)))
949
950 \f
951 ;;;
952 ;;; Web browsing.
953 ;;;
954
955 (define-public emacs-w3m
956 ;; Emacs-w3m follows a "rolling release" model.
957 (package
958 (name "emacs-w3m")
959 (version "2018-11-11")
960 (source (origin
961 (method cvs-fetch)
962 (uri (cvs-reference
963 (root-directory
964 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
965 (module "emacs-w3m")
966 (revision version)))
967 (file-name (string-append name "-" version "-checkout"))
968 (sha256
969 (base32
970 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
971 (build-system gnu-build-system)
972 (native-inputs `(("autoconf" ,autoconf)
973 ("texinfo" ,texinfo)
974 ("emacs" ,emacs-minimal)))
975 (inputs `(("w3m" ,w3m)
976 ("imagemagick" ,imagemagick)))
977 (arguments
978 `(#:modules ((guix build gnu-build-system)
979 (guix build utils)
980 (guix build emacs-utils))
981 #:imported-modules (,@%gnu-build-system-modules
982 (guix build emacs-utils))
983 #:configure-flags
984 (let ((out (assoc-ref %outputs "out")))
985 (list (string-append "--with-lispdir="
986 out "/share/emacs/site-lisp")
987 (string-append "--with-icondir="
988 out "/share/images/emacs-w3m")
989 ;; Leave .el files uncompressed, otherwise GC can't
990 ;; identify run-time dependencies. See
991 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
992 "--without-compress-install"))
993 #:tests? #f ; no check target
994 #:phases
995 (modify-phases %standard-phases
996 (add-after 'unpack 'autoconf
997 (lambda _
998 (invoke "autoconf")))
999 (add-before 'configure 'support-emacs!
1000 (lambda _
1001 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1002 ;; unsupported.
1003 (substitute* "configure"
1004 (("EMACS_FLAVOR=unsupported")
1005 "EMACS_FLAVOR=emacs"))
1006 #t))
1007 (add-before 'build 'patch-exec-paths
1008 (lambda* (#:key inputs outputs #:allow-other-keys)
1009 (let ((out (assoc-ref outputs "out"))
1010 (w3m (assoc-ref inputs "w3m"))
1011 (imagemagick (assoc-ref inputs "imagemagick"))
1012 (coreutils (assoc-ref inputs "coreutils")))
1013 (make-file-writable "w3m.el")
1014 (emacs-substitute-variables "w3m.el"
1015 ("w3m-command" (string-append w3m "/bin/w3m"))
1016 ("w3m-touch-command"
1017 (string-append coreutils "/bin/touch"))
1018 ("w3m-icon-directory"
1019 (string-append out "/share/images/emacs-w3m")))
1020 (make-file-writable "w3m-image.el")
1021 (emacs-substitute-variables "w3m-image.el"
1022 ("w3m-imagick-convert-program"
1023 (string-append imagemagick "/bin/convert"))
1024 ("w3m-imagick-identify-program"
1025 (string-append imagemagick "/bin/identify")))
1026 #t)))
1027 (replace 'install
1028 (lambda* (#:key outputs #:allow-other-keys)
1029 (invoke "make" "install" "install-icons")
1030 (with-directory-excursion
1031 (string-append (assoc-ref outputs "out")
1032 "/share/emacs/site-lisp")
1033 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1034 (symlink "w3m-load.el" "w3m-autoloads.el")
1035 #t))))))
1036 (home-page "http://emacs-w3m.namazu.org/")
1037 (synopsis "Simple Web browser for Emacs based on w3m")
1038 (description
1039 "Emacs-w3m is an emacs interface for the w3m web browser.")
1040 (license license:gpl2+)))
1041
1042 (define-public emacs-wget
1043 (package
1044 (name "emacs-wget")
1045 (version "0.5.0")
1046 (source (origin
1047 (method url-fetch)
1048 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1049 version ".orig.tar.gz"))
1050 (sha256
1051 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1052 (build-system gnu-build-system)
1053 (inputs `(("wget" ,wget)))
1054 (native-inputs `(("emacs" ,emacs-minimal)))
1055 (arguments
1056 `(#:modules ((guix build gnu-build-system)
1057 (guix build utils)
1058 (guix build emacs-utils))
1059 #:imported-modules (,@%gnu-build-system-modules
1060 (guix build emacs-utils))
1061 #:tests? #f ; no check target
1062 #:phases
1063 (modify-phases %standard-phases
1064 (replace 'configure
1065 (lambda* (#:key outputs #:allow-other-keys)
1066 (substitute* "Makefile"
1067 (("/usr/local") (assoc-ref outputs "out"))
1068 (("/site-lisp/emacs-wget") "/site-lisp"))
1069 #t))
1070 (add-before 'build 'patch-exec-paths
1071 (lambda* (#:key inputs outputs #:allow-other-keys)
1072 (let ((wget (assoc-ref inputs "wget")))
1073 (emacs-substitute-variables "wget.el"
1074 ("wget-command" (string-append wget "/bin/wget"))))
1075 #t))
1076 (add-after 'install 'post-install
1077 (lambda* (#:key outputs #:allow-other-keys)
1078 (emacs-generate-autoloads
1079 "wget" (string-append (assoc-ref outputs "out")
1080 "/share/emacs/site-lisp/"))
1081 #t)))))
1082 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
1083 (synopsis "Simple file downloader for Emacs based on wget")
1084 (description
1085 "Emacs-wget is an emacs interface for the wget file downloader.")
1086 (license license:gpl2+)))
1087
1088 \f
1089 ;;;
1090 ;;; Multimedia.
1091 ;;;
1092
1093 (define-public emacs-emms
1094 (package
1095 (name "emacs-emms")
1096 (version "5.2")
1097 (source (origin
1098 (method url-fetch)
1099 (uri (string-append "mirror://gnu/emms/emms-"
1100 version ".tar.gz"))
1101 (sha256
1102 (base32
1103 "0cvpfdkagkpi8g02w8f7wzrpdk2ihas0mn5m9fr882xjdfshl21z"))
1104 (modules '((guix build utils)))
1105 (snippet
1106 '(begin
1107 (substitute* "Makefile"
1108 (("/usr/bin/install-info")
1109 ;; No need to use 'install-info' since it would create a
1110 ;; useless 'dir' file.
1111 "true")
1112 (("^INFODIR=.*")
1113 ;; Install Info files to $out/share/info, not $out/info.
1114 "INFODIR := $(PREFIX)/share/info\n")
1115 (("/site-lisp/emms")
1116 ;; Install directly in share/emacs/site-lisp, not in a
1117 ;; sub-directory.
1118 "/site-lisp")
1119 (("^all: (.*)\n" _ rest)
1120 ;; Build 'emms-print-metadata'.
1121 (string-append "all: " rest " emms-print-metadata\n")))
1122 #t))))
1123 (build-system gnu-build-system)
1124 (arguments
1125 `(#:modules ((guix build gnu-build-system)
1126 (guix build utils)
1127 (guix build emacs-utils)
1128 (ice-9 ftw))
1129 #:imported-modules (,@%gnu-build-system-modules
1130 (guix build emacs-utils))
1131
1132 #:phases
1133 (modify-phases %standard-phases
1134 (replace 'configure
1135 (lambda* (#:key inputs outputs #:allow-other-keys)
1136 (let ((out (assoc-ref outputs "out"))
1137 (flac (assoc-ref inputs "flac"))
1138 (vorbis (assoc-ref inputs "vorbis-tools"))
1139 (alsa (assoc-ref inputs "alsa-utils"))
1140 (mpg321 (assoc-ref inputs "mpg321"))
1141 (mp3info (assoc-ref inputs "mp3info"))
1142 (mutagen (assoc-ref inputs "mutagen"))
1143 (opus (assoc-ref inputs "opus-tools")))
1144 ;; Specify the installation directory.
1145 (substitute* "Makefile"
1146 (("PREFIX=.*$")
1147 (string-append "PREFIX := " out "\n")))
1148
1149 (setenv "SHELL" (which "sh"))
1150 (setenv "CC" "gcc")
1151
1152 ;; Specify the absolute file names of the various
1153 ;; programs so that everything works out-of-the-box.
1154 (with-directory-excursion "lisp"
1155 (emacs-substitute-variables
1156 "emms-player-mpg321-remote.el"
1157 ("emms-player-mpg321-remote-command"
1158 (string-append mpg321 "/bin/mpg321")))
1159 (substitute* "emms-player-simple.el"
1160 (("\"ogg123\"")
1161 (string-append "\"" vorbis "/bin/ogg123\"")))
1162 (substitute* "emms-player-simple.el"
1163 (("\"mpg321\"")
1164 (string-append "\"" mpg321 "/bin/mpg321\"")))
1165 (emacs-substitute-variables "emms-info-ogginfo.el"
1166 ("emms-info-ogginfo-program-name"
1167 (string-append vorbis "/bin/ogginfo")))
1168 (emacs-substitute-variables "emms-info-opusinfo.el"
1169 ("emms-info-opusinfo-program-name"
1170 (string-append opus "/bin/opusinfo")))
1171 (emacs-substitute-variables "emms-info-libtag.el"
1172 ("emms-info-libtag-program-name"
1173 (string-append out "/bin/emms-print-metadata")))
1174 (emacs-substitute-variables "emms-info-mp3info.el"
1175 ("emms-info-mp3info-program-name"
1176 (string-append mp3info "/bin/mp3info")))
1177 (emacs-substitute-variables "emms-info-metaflac.el"
1178 ("emms-info-metaflac-program-name"
1179 (string-append flac "/bin/metaflac")))
1180 (emacs-substitute-variables "emms-source-file.el"
1181 ("emms-source-file-gnu-find" (which "find")))
1182 (substitute* "emms-volume-amixer.el"
1183 (("\"amixer\"")
1184 (string-append "\"" alsa "/bin/amixer\"")))
1185 (substitute* "emms-tag-editor.el"
1186 (("\"mid3v2\"")
1187 (string-append "\"" mutagen "/bin/mid3v2\"")))
1188 #t))))
1189 (add-before 'install 'pre-install
1190 (lambda* (#:key outputs #:allow-other-keys)
1191 ;; The 'install' rule expects the target directories to exist.
1192 (let* ((out (assoc-ref outputs "out"))
1193 (bin (string-append out "/bin"))
1194 (man1 (string-append out "/share/man/man1")))
1195 (mkdir-p bin)
1196 (mkdir-p man1)
1197
1198 ;; Ensure that files are not rejected by gzip
1199 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1200 (ftw "." (lambda (file stat flag)
1201 (unless (<= early-1980 (stat:mtime stat))
1202 (utime file early-1980 early-1980))
1203 #t)))
1204 #t)))
1205 (add-after 'install 'post-install
1206 (lambda* (#:key outputs #:allow-other-keys)
1207 (let ((out (assoc-ref outputs "out")))
1208 (symlink "emms-auto.el"
1209 (string-append out "/share/emacs/site-lisp/"
1210 "emms-autoloads.el")))
1211 #t)))
1212 #:tests? #f))
1213 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1214 ("texinfo" ,texinfo)))
1215 (inputs `(("alsa-utils" ,alsa-utils)
1216 ("flac" ,flac) ;for metaflac
1217 ("vorbis-tools" ,vorbis-tools)
1218 ("mpg321" ,mpg321)
1219 ("taglib" ,taglib)
1220 ("mp3info" ,mp3info)
1221 ("mutagen" ,python-mutagen)
1222 ("opus-tools" ,opus-tools)))
1223 (properties '((upstream-name . "emms")))
1224 (synopsis "Emacs Multimedia System")
1225 (description
1226 "EMMS is the Emacs Multimedia System. It is a small front-end which
1227 can control one of the supported external players. Thus, it supports
1228 whatever formats are supported by your music player. It also
1229 supports tagging and playlist management, all behind a clean and
1230 light user interface.")
1231 (home-page "https://www.gnu.org/software/emms/")
1232 (license license:gpl3+)))
1233
1234 (define-public emacs-emms-player-mpv
1235 ;; A new mpv backend is included in Emms from 5.0.
1236 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1237
1238 (define-public emacs-emms-mode-line-cycle
1239 (package
1240 (name "emacs-emms-mode-line-cycle")
1241 (version "0.2.5")
1242 (source
1243 (origin
1244 (method git-fetch)
1245 (uri (git-reference
1246 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1247 (commit version)))
1248 (file-name (git-file-name name version))
1249 (sha256
1250 (base32
1251 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1252 (build-system emacs-build-system)
1253 (propagated-inputs
1254 `(("emms" ,emacs-emms)))
1255 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1256 (synopsis "Display the EMMS mode line as a ticker")
1257 (description
1258 "This is a minor mode for updating the EMMS mode-line string cyclically
1259 within a specified width. It is useful for displaying long track titles.")
1260 (license license:gpl3+)))
1261
1262 \f
1263 ;;;
1264 ;;; Miscellaneous.
1265 ;;;
1266
1267 (define-public emacs-ace-link
1268 (package
1269 (name "emacs-ace-link")
1270 (version "0.5.0")
1271 (source
1272 (origin
1273 (method git-fetch)
1274 (uri (git-reference
1275 (url "https://github.com/abo-abo/ace-link.git")
1276 (commit version)))
1277 (file-name (git-file-name name version))
1278 (sha256
1279 (base32
1280 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1281 (build-system emacs-build-system)
1282 (propagated-inputs
1283 `(("emacs-avy" ,emacs-avy)))
1284 (home-page "https://github.com/abo-abo/ace-link")
1285 (synopsis "Quickly follow links in Emacs")
1286 (description
1287 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1288 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1289 @code{goto-address-mode} buffer, you can tab through the links to select the
1290 one you want. This is an O(N) operation, where the N is the amount of links.
1291 This package turns this into an O(1) operation. It does so by assigning a
1292 letter to each link using avy.")
1293 (license license:gpl3+)))
1294
1295 (define-public emacs-bbdb
1296 (package
1297 (name "emacs-bbdb")
1298 (version "3.1.2")
1299 (source (origin
1300 (method url-fetch)
1301 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1302 version ".tar.gz"))
1303 (sha256
1304 (base32
1305 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1306 (modules '((guix build utils)))
1307 (snippet
1308 ;; We don't want to build and install the PDF.
1309 '(begin
1310 (substitute* "doc/Makefile.in"
1311 (("^doc_DATA = .*$")
1312 "doc_DATA =\n"))
1313 #t))))
1314 (build-system gnu-build-system)
1315 (arguments
1316 '(#:phases
1317 (modify-phases %standard-phases
1318 (add-after 'install 'post-install
1319 (lambda* (#:key outputs #:allow-other-keys)
1320 ;; Add an autoloads file with the right name for guix.el.
1321 (let* ((out (assoc-ref outputs "out"))
1322 (site (string-append out "/share/emacs/site-lisp")))
1323 (with-directory-excursion site
1324 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1325 #t)))))
1326 (native-inputs `(("emacs" ,emacs-minimal)))
1327 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1328 (synopsis "Contact management utility for Emacs")
1329 (description
1330 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1331 an address book for email and snail mail addresses, phone numbers and the
1332 like. It can be linked with various Emacs mail clients (Message and Mail
1333 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1334 (license license:gpl3+)))
1335
1336 (define-public bbdb
1337 (deprecated-package "bbdb" emacs-bbdb))
1338
1339 (define-public emacs-aggressive-indent
1340 (package
1341 (name "emacs-aggressive-indent")
1342 (version "1.8.3")
1343 (source (origin
1344 (method url-fetch)
1345 (uri (string-append "https://elpa.gnu.org/packages/"
1346 "aggressive-indent-" version ".el"))
1347 (sha256
1348 (base32
1349 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1350 (build-system emacs-build-system)
1351 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1352 (synopsis "Minor mode to aggressively keep your code always indented")
1353 (description
1354 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1355 always indented. It reindents after every change, making it more reliable
1356 than @code{electric-indent-mode}.")
1357 (license license:gpl2+)))
1358
1359 (define-public emacs-link-hint
1360 ;; Last release was in 2015.
1361 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1362 (revision "1"))
1363 (package
1364 (name "emacs-link-hint")
1365 (version (git-version "0.1" revision commit))
1366 (source
1367 (origin
1368 (method git-fetch)
1369 (uri (git-reference
1370 (url "https://github.com/noctuid/link-hint.el")
1371 (commit commit)))
1372 (file-name (git-file-name name version))
1373 (sha256
1374 (base32
1375 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1376 (build-system emacs-build-system)
1377 (propagated-inputs
1378 `(("emacs-avy" ,emacs-avy)))
1379 (home-page "https://github.com/noctuid/link-hint.el")
1380 (synopsis "Vimperator-style link-hinting in Emacs")
1381 (description "This package provides commands for visiting and acting on
1382 links.")
1383 (license license:gpl3+))))
1384
1385 (define-public emacs-ag
1386 (package
1387 (name "emacs-ag")
1388 (version "0.47")
1389 (source (origin
1390 (method git-fetch)
1391 (uri (git-reference
1392 (url "https://github.com/Wilfred/ag.el.git")
1393 (commit version)))
1394 (file-name (git-file-name name version))
1395 (sha256
1396 (base32
1397 "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
1398 (build-system emacs-build-system)
1399 (arguments
1400 `(#:phases
1401 (modify-phases %standard-phases
1402 (add-before 'install 'make-info
1403 (lambda _
1404 (with-directory-excursion "docs"
1405 (invoke "make" "info"))))
1406 (add-after 'install 'install-info
1407 (lambda* (#:key outputs #:allow-other-keys)
1408 (let* ((out (assoc-ref outputs "out"))
1409 (info (string-append out "/share/info")))
1410 (install-file "docs/_build/texinfo/agel.info" info)
1411 #t))))))
1412 (native-inputs
1413 `(("python-sphinx" ,python-sphinx)
1414 ("texinfo" ,texinfo)))
1415 (propagated-inputs
1416 `(("dash" ,emacs-dash)
1417 ("s" ,emacs-s)
1418 ;; We need to use 'ag' as the executable on remote systems.
1419 ("the-silver-searcher" ,the-silver-searcher)))
1420 (home-page "https://github.com/Wilfred/ag.el")
1421 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1422 (description "This package provides the ability to use the silver
1423 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1424 include version control system awareness, use of Perl compatible regular
1425 expressions, editing the search results directly and searching file names
1426 rather than the contents of files.")
1427 (license license:gpl3+)))
1428
1429 (define-public emacs-async
1430 (package
1431 (name "emacs-async")
1432 (home-page "https://github.com/jwiegley/emacs-async")
1433 (version "1.9.3")
1434 (source (origin
1435 (method git-fetch)
1436 (uri (git-reference
1437 (url home-page)
1438 (commit (string-append "v" version))))
1439 (file-name (git-file-name name version))
1440 (sha256
1441 (base32
1442 "1zsnb6dy8p6y68xgidv3dfxaga4biramfw8fq7wac0sc50vc98vq"))))
1443 (build-system emacs-build-system)
1444 (synopsis "Asynchronous processing in Emacs")
1445 (description
1446 "This package provides the ability to call asynchronous functions and
1447 processes. For example, it can be used to run dired commands (for copying,
1448 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1449 as a library for other Emacs packages.")
1450 (license license:gpl3+)))
1451
1452 (define-public emacs-auctex
1453 (package
1454 (name "emacs-auctex")
1455 (version "12.1.2")
1456 (source
1457 (origin
1458 (method url-fetch)
1459 (uri (string-append
1460 "https://elpa.gnu.org/packages/auctex-"
1461 version
1462 ".tar"))
1463 (sha256
1464 (base32
1465 "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n"))))
1466 (build-system emacs-build-system)
1467 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1468 ;; ('emacs-minimal' does not provide dbus).
1469 (arguments
1470 `(#:emacs ,emacs
1471 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1472 #:exclude '("^tests/" "^latex/README")))
1473 (native-inputs
1474 `(("perl" ,perl)))
1475 (home-page "https://www.gnu.org/software/auctex/")
1476 (synopsis "Integrated environment for TeX")
1477 (description
1478 "AUCTeX is a comprehensive customizable integrated environment for
1479 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1480 or XEmacs.")
1481 (license license:gpl3+)))
1482
1483 (define-public emacs-autothemer
1484 (package
1485 (name "emacs-autothemer")
1486 (version "0.2.2")
1487 (source
1488 (origin
1489 (method git-fetch)
1490 (uri (git-reference
1491 (url "https://github.com/sebastiansturm/autothemer.git")
1492 (commit version)))
1493 (file-name (git-file-name name version))
1494 (sha256
1495 (base32
1496 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1497 (build-system emacs-build-system)
1498 (propagated-inputs
1499 `(("emacs-dash" ,emacs-dash)))
1500 (home-page "https://github.com/sebastiansturm/autothemer")
1501 (synopsis "Conveniently create Emacs themes")
1502 (description
1503 "Autothemer provides a thin layer on top of @code{deftheme} and
1504 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1505 a set of simplified face specifications and a user-supplied color palette")
1506 (license license:gpl3+)))
1507
1508 (define-public emacs-howm
1509 (package
1510 (name "emacs-howm")
1511 (version "1.4.4")
1512 (source
1513 (origin
1514 (method url-fetch)
1515 (uri (string-append "http://howm.sourceforge.jp/a/howm-"
1516 version ".tar.gz"))
1517 (sha256
1518 (base32
1519 "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
1520 (build-system gnu-build-system)
1521 (native-inputs
1522 `(("emacs" ,emacs-minimal)))
1523 (arguments
1524 `(#:configure-flags
1525 (list (string-append "--with-howmdir=" %output
1526 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1527 #:modules ((guix build gnu-build-system)
1528 ((guix build emacs-build-system) #:prefix emacs:)
1529 (guix build utils))
1530 #:imported-modules (,@%gnu-build-system-modules
1531 (guix build emacs-build-system)
1532 (guix build emacs-utils))
1533 #:phases
1534 (modify-phases %standard-phases
1535 (add-after 'install 'make-autoloads
1536 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1537 (home-page "http://howm.osdn.jp/")
1538 (synopsis "Note-taking tool for Emacs")
1539 (description "Howm is a note-taking tool for Emacs. Like
1540 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1541 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1542 (license license:gpl1+)))
1543
1544 (define-public emacs-calfw
1545 (package
1546 (name "emacs-calfw")
1547 (version "1.6")
1548 (source
1549 (origin
1550 (method git-fetch)
1551 (uri (git-reference
1552 (url "https://github.com/kiwanami/emacs-calfw.git")
1553 (commit (string-append "v" version))))
1554 (file-name (git-file-name name version))
1555 (sha256
1556 (base32
1557 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1558 (build-system emacs-build-system)
1559 (propagated-inputs
1560 `(("emacs-howm" ,emacs-howm)))
1561 (home-page "https://github.com/kiwanami/emacs-calfw/")
1562 (synopsis "Calendar framework for Emacs")
1563 (description
1564 "This package displays a calendar view with various schedule data in the
1565 Emacs buffer.")
1566 (license license:gpl3+)))
1567
1568 (define-public emacs-direnv
1569 (package
1570 (name "emacs-direnv")
1571 (version "1.5.0")
1572 (source
1573 (origin
1574 (method git-fetch)
1575 (uri (git-reference
1576 (url "https://github.com/wbolster/emacs-direnv.git")
1577 (commit version)))
1578 (file-name (git-file-name name version))
1579 (sha256
1580 (base32
1581 "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la"))))
1582 (build-system emacs-build-system)
1583 (propagated-inputs
1584 `(("dash" ,emacs-dash)
1585 ("with-editor" ,emacs-with-editor)))
1586 (home-page "https://github.com/wbolster/emacs-direnv")
1587 (synopsis "Direnv integration for Emacs")
1588 (description
1589 "This package provides support for invoking direnv to get the environment
1590 for the current file and updating the environment within Emacs to match.
1591
1592 Direnv can be invoked manually, and a global minor mode is included that will
1593 update the environment when the active buffer changes.
1594
1595 Using emacs-direnv means that programs started from Emacs will use the
1596 environment set through Direnv.")
1597 (license license:gpl3+)))
1598
1599 (define-public emacs-ggtags
1600 (package
1601 (name "emacs-ggtags")
1602 (version "0.8.13")
1603 (source
1604 (origin
1605 (method url-fetch)
1606 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1607 version ".el"))
1608 (sha256
1609 (base32
1610 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1611 (build-system emacs-build-system)
1612 (inputs
1613 `(("global" ,global)))
1614 (arguments
1615 `(#:phases
1616 (modify-phases %standard-phases
1617 (add-after 'unpack 'configure
1618 (lambda* (#:key inputs #:allow-other-keys)
1619 (chmod "ggtags.el" #o644)
1620 (emacs-substitute-variables "ggtags.el"
1621 ("ggtags-executable-directory"
1622 (string-append (assoc-ref inputs "global") "/bin")))
1623 #t)))))
1624 (home-page "https://github.com/leoliu/ggtags")
1625 (synopsis "Frontend to the GNU Global source code tagging system")
1626 (description "@code{ggtags} provides a frontend to the GNU Global source
1627 code tagging system.
1628
1629 Features:
1630
1631 @itemize
1632 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1633 @item Automatically update Global's tag files when needed with tuning for
1634 large source trees.
1635 @item Intuitive navigation among multiple matches with mode-line display of
1636 current match, total matches and exit status.
1637 @item Read tag with completion.
1638 @item Show definition at point.
1639 @item Jump to #include files.
1640 @item Support search history and saving a search to register/bookmark.
1641 @item Query replace.
1642 @item Manage Global's environment variables on a per-project basis.
1643 @item Highlight (definition) tag at point.
1644 @item Abbreviated display of file names.
1645 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1646 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1647 @code{pygments} backend.
1648 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1649 @code{cscope} etc.
1650 @item Support projects on remote hosts (e.g. via @code{tramp}).
1651 @item Support eldoc.
1652 @item Search @code{GTAGSLIBPATH} for references and symbols.
1653 @end itemize\n")
1654 (license license:gpl3+)))
1655
1656 (define-public emacs-go-mode
1657 (package
1658 (name "emacs-go-mode")
1659 (version "1.5.0")
1660 (source (origin
1661 (method git-fetch)
1662 (uri (git-reference
1663 (url "https://github.com/dominikh/go-mode.el.git")
1664 (commit (string-append "v" version))))
1665 (file-name (git-file-name name version))
1666 (sha256
1667 (base32
1668 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1669 (build-system emacs-build-system)
1670 (arguments
1671 `(#:phases
1672 (modify-phases %standard-phases
1673 (add-after 'unpack 'make-writable
1674 (lambda _
1675 (for-each make-file-writable (find-files "." "\\.el$"))
1676 #t)))))
1677 (home-page "https://github.com/dominikh/go-mode.el")
1678 (synopsis "Go mode for Emacs")
1679 (description
1680 "This package provides go-mode, an Emacs mode for working with software
1681 written in the Go programming language.")
1682 (license license:bsd-3)))
1683
1684 (define-public emacs-google-maps
1685 (package
1686 (name "emacs-google-maps")
1687 (version "1.0.0")
1688 (source (origin
1689 (method git-fetch)
1690 (uri (git-reference
1691 (url "https://github.com/jd/google-maps.el.git")
1692 (commit version)))
1693 (file-name (git-file-name name version))
1694 (sha256
1695 (base32
1696 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1697 (build-system emacs-build-system)
1698 (home-page "https://github.com/jd/google-maps.el")
1699 (synopsis "Access Google Maps from Emacs")
1700 (description "The @code{google-maps} package allows to display Google
1701 Maps directly inside Emacs.")
1702 (license license:gpl3+)))
1703
1704 (define-public emacs-graphviz-dot-mode
1705 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1706 (revision "1"))
1707 (package
1708 (name "emacs-graphviz-dot-mode")
1709 (version (string-append "0.3.11-" revision "."
1710 (string-take commit 7)))
1711 (source (origin
1712 (method git-fetch)
1713 (uri (git-reference
1714 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1715 (commit commit)))
1716 (file-name (git-file-name name version))
1717 (sha256
1718 (base32
1719 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1720 (build-system emacs-build-system)
1721 (arguments
1722 `(#:phases
1723 (modify-phases %standard-phases
1724 (add-before 'install 'make-info
1725 (lambda* (#:key inputs #:allow-other-keys)
1726 (with-directory-excursion "texinfo"
1727 (substitute* "Makefile"
1728 (("\\/usr\\/bin\\/gzip")
1729 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1730 (invoke "make"
1731 "clean"
1732 "info"
1733 (string-append "TEXINFODIR="
1734 (assoc-ref inputs "texinfo")
1735 "/bin")))))
1736 (add-after 'install 'install-info
1737 (lambda* (#:key outputs #:allow-other-keys)
1738 (let* ((out (assoc-ref outputs "out"))
1739 (info (string-append out "/share/info")))
1740 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1741 #t))))))
1742 (native-inputs
1743 `(("texinfo" ,texinfo)
1744 ("gzip" ,gzip)))
1745 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1746 (synopsis "Major mode for editing Graphviz Dot files")
1747 (description
1748 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1749 files using the dot syntax, and use Graphviz to convert these files to
1750 diagrams.")
1751 (license license:gpl2+))))
1752
1753 (define-public emacs-mmm-mode
1754 (package
1755 (name "emacs-mmm-mode")
1756 (version "0.5.7")
1757 (source
1758 (origin
1759 (method git-fetch)
1760 (uri (git-reference
1761 (url "https://github.com/purcell/mmm-mode.git")
1762 (commit version)))
1763 (file-name (git-file-name name version))
1764 (sha256
1765 (base32
1766 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1767 (build-system gnu-build-system)
1768 (native-inputs
1769 `(("autoconf" ,autoconf)
1770 ("automake" ,automake)
1771 ("emacs" ,emacs-minimal)
1772 ("texinfo" ,texinfo)))
1773 (home-page "https://github.com/purcell/mmm-mode")
1774 (synopsis "Allow multiple major modes in an Emacs buffer")
1775 (description
1776 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1777 single buffer.")
1778 (license license:gpl3+)))
1779
1780 (define-public emacs-tablist
1781 (package
1782 (name "emacs-tablist")
1783 (version "0.70")
1784 (source (origin
1785 (method git-fetch)
1786 (uri (git-reference
1787 (url "https://github.com/politza/tablist.git")
1788 (commit (string-append "v" version))))
1789 (file-name (git-file-name name version))
1790 (sha256
1791 (base32
1792 "0gy9hxm7bca0l1hfy2pzn86avpifrz3bs8xzpicj4kxw5wi4ygns"))))
1793 (build-system emacs-build-system)
1794 (home-page "https://github.com/politza/tablist")
1795 (synopsis "Extension for @code{tabulated-list-mode}")
1796 (description "Tablist is the Emacs package that provides several
1797 additional features to @code{tabulated-list-mode}: it adds marks,
1798 filters, new key bindings and faces. It can be enabled by
1799 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1800 (license license:gpl3+)))
1801
1802 (define-public emacs-pdf-tools
1803 (package
1804 (name "emacs-pdf-tools")
1805 (version "0.90")
1806 (home-page "https://github.com/politza/pdf-tools")
1807 (source (origin
1808 (method git-fetch)
1809 (uri (git-reference (url home-page)
1810 (commit (string-append "v" version))))
1811 (file-name (git-file-name name version))
1812 (sha256
1813 (base32
1814 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
1815 (build-system gnu-build-system)
1816 (arguments
1817 `(#:tests? #f ; there are no tests
1818 #:modules ((guix build gnu-build-system)
1819 ((guix build emacs-build-system) #:prefix emacs:)
1820 (guix build utils)
1821 (guix build emacs-utils))
1822 #:imported-modules (,@%gnu-build-system-modules
1823 (guix build emacs-build-system)
1824 (guix build emacs-utils))
1825 #:phases
1826 (modify-phases %standard-phases
1827 ;; Build server side using 'gnu-build-system'.
1828 (add-after 'unpack 'enter-server-dir
1829 (lambda _ (chdir "server") #t))
1830 (add-after 'enter-server-dir 'autogen
1831 (lambda _
1832 (invoke "bash" "autogen.sh")))
1833
1834 ;; Build emacs side using 'emacs-build-system'.
1835 (add-after 'compress-documentation 'enter-lisp-dir
1836 (lambda _ (chdir "../lisp") #t))
1837 (add-after 'enter-lisp-dir 'emacs-patch-variables
1838 (lambda* (#:key outputs #:allow-other-keys)
1839 (for-each make-file-writable (find-files "."))
1840
1841 ;; Set path to epdfinfo program.
1842 (emacs-substitute-variables "pdf-info.el"
1843 ("pdf-info-epdfinfo-program"
1844 (string-append (assoc-ref outputs "out")
1845 "/bin/epdfinfo")))
1846 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1847 ;; upgrading" that pdf-tools tries to perform.
1848 (emacs-substitute-variables "pdf-tools.el"
1849 ("pdf-tools-handle-upgrades" '()))))
1850 (add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
1851 (assoc-ref emacs:%standard-phases 'set-emacs-load-path))
1852 (add-after 'emacs-set-emacs-load-path 'emacs-install
1853 (assoc-ref emacs:%standard-phases 'install))
1854 (add-after 'emacs-install 'emacs-build
1855 (assoc-ref emacs:%standard-phases 'build))
1856 (add-after 'emacs-install 'emacs-make-autoloads
1857 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1858 (native-inputs `(("autoconf" ,autoconf)
1859 ("automake" ,automake)
1860 ("pkg-config" ,pkg-config)
1861 ("emacs" ,emacs-minimal)))
1862 (inputs `(("poppler" ,poppler)
1863 ("cairo" ,cairo)
1864 ("glib" ,glib)
1865 ("libpng" ,libpng)
1866 ("zlib" ,zlib)))
1867 (propagated-inputs `(("tablist" ,emacs-tablist)))
1868 (synopsis "Emacs support library for PDF files")
1869 (description
1870 "PDF Tools is, among other things, a replacement of DocView for PDF
1871 files. The key difference is that pages are not pre-rendered by
1872 e.g. ghostscript and stored in the file-system, but rather created on-demand
1873 and stored in memory.")
1874 (license license:gpl3+)))
1875
1876 (define-public emacs-dash
1877 (package
1878 (name "emacs-dash")
1879 (version "2.16.0")
1880 (source (origin
1881 (method git-fetch)
1882 (uri (git-reference
1883 (url "https://github.com/magnars/dash.el.git")
1884 (commit version)))
1885 (file-name (git-file-name name version))
1886 (sha256
1887 (base32
1888 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
1889 (build-system emacs-build-system)
1890 (arguments
1891 `(#:tests? #t
1892 #:test-command '("./run-tests.sh")))
1893 (home-page "https://github.com/magnars/dash.el")
1894 (synopsis "Modern list library for Emacs")
1895 (description "This package provides a modern list API library for Emacs.")
1896 (license license:gpl3+)))
1897
1898 (define-public emacs-bui
1899 (package
1900 (name "emacs-bui")
1901 (version "1.2.1")
1902 (source (origin
1903 (method git-fetch)
1904 (uri (git-reference
1905 (url "https://notabug.org/alezost/emacs-bui.git")
1906 (commit (string-append "v" version))))
1907 (file-name (git-file-name name version))
1908 (sha256
1909 (base32
1910 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
1911 (build-system emacs-build-system)
1912 (propagated-inputs
1913 `(("dash" ,emacs-dash)))
1914 (home-page "https://notabug.org/alezost/emacs-bui")
1915 (synopsis "Buffer interface library for Emacs")
1916 (description
1917 "BUI (Buffer User Interface) is a library for making @code{list} and
1918 @code{info} interfaces to display an arbitrary data of the same
1919 type, for example: packages, buffers, files, etc.")
1920 (license license:gpl3+)))
1921
1922 (define-public emacs-guix
1923 (package
1924 (name "emacs-guix")
1925 (version "0.5.1.1")
1926 (source (origin
1927 (method url-fetch)
1928 (uri (string-append "https://emacs-guix.gitlab.io/website/"
1929 "releases/emacs-guix-" version ".tar.gz"))
1930 (sha256
1931 (base32
1932 "1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
1933 (build-system gnu-build-system)
1934 (arguments
1935 `(#:configure-flags
1936 (let ((guix (assoc-ref %build-inputs "guix"))
1937 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
1938 (geiser (assoc-ref %build-inputs "geiser"))
1939 (dash (assoc-ref %build-inputs "dash"))
1940 (bui (assoc-ref %build-inputs "bui"))
1941 (magit-popup (assoc-ref %build-inputs "magit-popup"))
1942 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
1943 (site-lisp "/share/emacs/site-lisp")
1944 (site-scm "/share/guile/site")
1945 (site-go "/lib/guile")
1946 (guile-dir (lambda (dir)
1947 (car (find-files dir
1948 (lambda (file stat)
1949 (string-prefix?
1950 "2." (basename file)))
1951 #:directories? #t)))))
1952 (list (string-append "--with-guix-site-dir="
1953 (guile-dir (string-append guix site-scm)))
1954 (string-append "--with-guix-site-ccache-dir="
1955 (guile-dir (string-append guix site-go))
1956 "/site-ccache")
1957 (string-append "--with-guile-gcrypt-site-dir="
1958 (guile-dir (string-append gcrypt site-scm)))
1959 (string-append "--with-guile-gcrypt-site-ccache-dir="
1960 (guile-dir (string-append gcrypt site-go))
1961 "/site-ccache")
1962 (string-append "--with-geiser-lispdir=" geiser site-lisp)
1963 (string-append "--with-dash-lispdir="
1964 dash site-lisp "/guix.d/dash-"
1965 ,(package-version emacs-dash))
1966 (string-append "--with-bui-lispdir="
1967 bui site-lisp "/guix.d/bui-"
1968 ,(package-version emacs-bui))
1969 (string-append "--with-editindirect-lispdir="
1970 edit-indirect site-lisp "/guix.d/edit-indirect-"
1971 ,(package-version emacs-edit-indirect))
1972 (string-append "--with-popup-lispdir="
1973 magit-popup site-lisp "/guix.d/magit-popup-"
1974 ,(package-version emacs-magit-popup))))))
1975 (native-inputs
1976 `(("pkg-config" ,pkg-config)
1977 ("emacs" ,emacs-minimal)))
1978 (inputs
1979 `(("guile" ,guile-2.2)
1980 ("guix" ,guix)))
1981 (propagated-inputs
1982 `(("geiser" ,emacs-geiser)
1983 ("guile-gcrypt" ,guile-gcrypt)
1984 ("dash" ,emacs-dash)
1985 ("bui" ,emacs-bui)
1986 ("edit-indirect" ,emacs-edit-indirect)
1987 ("magit-popup" ,emacs-magit-popup)))
1988 (home-page "https://emacs-guix.gitlab.io/website/")
1989 (synopsis "Emacs interface for GNU Guix")
1990 (description
1991 "Emacs-Guix provides a visual interface, tools and features for the GNU
1992 Guix package manager. Particularly, it allows you to do various package
1993 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
1994 @code{M-x guix-help} command.")
1995 (license license:gpl3+)))
1996
1997 (define-public emacs-build-farm
1998 (package
1999 (name "emacs-build-farm")
2000 (version "0.2.2")
2001 (source (origin
2002 (method git-fetch)
2003 (uri (git-reference
2004 (url "https://notabug.org/alezost/emacs-build-farm.git")
2005 (commit (string-append "v" version))))
2006 (file-name (git-file-name name version))
2007 (sha256
2008 (base32
2009 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2010 (build-system emacs-build-system)
2011 (propagated-inputs
2012 `(("bui" ,emacs-bui)
2013 ("magit-popup" ,emacs-magit-popup)))
2014 (home-page "https://notabug.org/alezost/emacs-build-farm")
2015 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2016 (description
2017 "This Emacs package provides an interface for Hydra and
2018 Cuirass (build farms used by Nix and Guix). It allows you to look at
2019 various data related to the build farm projects, jobsets, builds and
2020 evaluations. The entry point is @code{M-x build-farm} command.")
2021 (license license:gpl3+)))
2022
2023 (define-public emacs-d-mode
2024 (package
2025 (name "emacs-d-mode")
2026 (version "2.0.9")
2027 (source
2028 (origin
2029 (method git-fetch)
2030 (uri (git-reference
2031 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2032 (commit version)))
2033 (file-name (git-file-name name version))
2034 (sha256
2035 (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"))))
2036 (build-system emacs-build-system)
2037 (propagated-inputs
2038 `(("emacs-undercover" ,emacs-undercover)))
2039 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2040 (synopsis "Emacs major mode for editing D code")
2041 (description "This package provides an Emacs major mode for highlighting
2042 code written in the D programming language. This mode is currently known to
2043 work with Emacs 24 and 25.")
2044 (license license:gpl2+)))
2045
2046 (define-public emacs-keyfreq
2047 (package
2048 (name "emacs-keyfreq")
2049 (version "20160516.716")
2050 (source
2051 (origin
2052 (method url-fetch)
2053 (uri (string-append "http://melpa.org/packages/keyfreq-"
2054 version ".el"))
2055 (sha256
2056 (base32
2057 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2058 (build-system emacs-build-system)
2059 (home-page "https://github.com/dacap/keyfreq")
2060 (synopsis "Track Emacs command frequencies")
2061 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2062 a command.")
2063 (license license:gpl3+)))
2064
2065 (define-public emacs-olivetti
2066 (package
2067 (name "emacs-olivetti")
2068 (version "1.5.7")
2069 (source (origin
2070 (method url-fetch)
2071 (uri (string-append
2072 "https://stable.melpa.org/packages/olivetti-"
2073 version ".el"))
2074 (sha256
2075 (base32
2076 "1yj2ylg46q0pw1xzlv2b0fv9x8p56x25284s9v2smwjr4vf0nwcj"))))
2077 (build-system emacs-build-system)
2078 (home-page "https://github.com/rnkn/olivetti")
2079 (synopsis "Emacs minor mode for a nice writing environment")
2080 (description "This package provides an Emacs minor mode that puts writing
2081 in the center.")
2082 (license license:gpl3+)))
2083
2084 (define-public emacs-undo-tree
2085 (package
2086 (name "emacs-undo-tree")
2087 (version "0.6.6")
2088 (source (origin
2089 (method git-fetch)
2090 (uri (git-reference
2091 (url "http://dr-qubit.org/git/undo-tree.git")
2092 (commit (string-append "release/" version))))
2093 (file-name (git-file-name name version))
2094 (sha256
2095 (base32
2096 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
2097 (build-system emacs-build-system)
2098 (home-page "http://www.dr-qubit.org/emacs.php")
2099 (synopsis "Treat undo history as a tree")
2100 (description "Tree-like interface to Emacs undo system, providing
2101 graphical tree presentation of all previous states of buffer that
2102 allows easily move between them.")
2103 (license license:gpl3+)))
2104
2105 (define-public emacs-s
2106 (package
2107 (name "emacs-s")
2108 (version "1.12.0")
2109 (source
2110 (origin
2111 (method git-fetch)
2112 (uri (git-reference
2113 (url "https://github.com/magnars/s.el.git")
2114 (commit version)))
2115 (file-name (git-file-name name version))
2116 (sha256
2117 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2118 (build-system emacs-build-system)
2119 (arguments
2120 `(#:tests? #t
2121 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2122 #:test-command '("./run-tests.sh")))
2123 (home-page "https://github.com/magnars/s.el")
2124 (synopsis "Emacs string manipulation library")
2125 (description "This package provides an Emacs library for manipulating
2126 strings.")
2127 (license license:gpl3+)))
2128
2129 (define-public emacs-symon
2130 (package
2131 (name "emacs-symon")
2132 (version "20160630")
2133 (source
2134 (origin
2135 (method git-fetch)
2136 (uri (git-reference
2137 (url "https://github.com/zk-phi/symon.git")
2138 (commit version)))
2139 (file-name (git-file-name name version))
2140 (sha256
2141 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2142 (build-system emacs-build-system)
2143 (home-page "https://github.com/zk-phi/symon")
2144 (synopsis "Tiny graphical system monitor")
2145 (description
2146 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2147 (license license:gpl2+)))
2148
2149 (define-public emacs-sx
2150 (let ((version "20180212")
2151 (revision "1")
2152 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2153 (package
2154 (name "emacs-sx")
2155 (version (git-version version revision commit))
2156 (source
2157 (origin
2158 (method git-fetch)
2159 (uri (git-reference
2160 (url "https://github.com/vermiculus/sx.el")
2161 (commit commit)))
2162 (file-name (git-file-name name version))
2163 (sha256
2164 (base32
2165 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2166 (build-system emacs-build-system)
2167 (propagated-inputs
2168 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2169 (home-page "https://github.com/vermiculus/sx.el")
2170 (synopsis "Emacs StackExchange client")
2171 (description
2172 "Emacs StackExchange client. Ask and answer questions on
2173 Stack Overflow, Super User, and other StackExchange sites.")
2174 (license license:gpl3+))))
2175
2176 (define-public emacs-f
2177 (package
2178 (name "emacs-f")
2179 (version "0.20.0")
2180 (source (origin
2181 (method git-fetch)
2182 (uri (git-reference
2183 (url "https://github.com/rejeep/f.el.git")
2184 (commit (string-append "v" version))))
2185 (file-name (git-file-name name version))
2186 (sha256
2187 (base32
2188 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2189 (build-system emacs-build-system)
2190 (propagated-inputs
2191 `(("emacs-s" ,emacs-s)
2192 ("emacs-dash" ,emacs-dash)))
2193 (home-page "https://github.com/rejeep/f.el")
2194 (synopsis "Emacs API for working with files and directories")
2195 (description "This package provides an Emacs library for working with
2196 files and directories.")
2197 (license license:gpl3+)))
2198
2199 (define-public emacs-git-gutter
2200 (package
2201 (name "emacs-git-gutter")
2202 (version "0.90")
2203 (source
2204 (origin
2205 (method git-fetch)
2206 (uri (git-reference
2207 (url "https://github.com/syohex/emacs-git-gutter.git")
2208 (commit version)))
2209 (file-name (git-file-name name version))
2210 (sha256
2211 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2212 (build-system emacs-build-system)
2213 (home-page "https://github.com/syohex/emacs-git-gutter")
2214 (synopsis "See and manage hunks of text in a version control system")
2215 (description
2216 "This package is an Emacs minor mode for displaying and interacting with
2217 hunks of text managed in a version control system. Added modified and deleted
2218 areas can be indicated with symbols on the edge of the buffer, and commands
2219 can be used to move between and perform actions on these hunks.
2220
2221 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2222 display and behaviour is easily customisable.")
2223 (license license:gpl3+)))
2224
2225 (define-public emacs-git-timemachine
2226 (package
2227 (name "emacs-git-timemachine")
2228 (version "4.10")
2229 (source
2230 (origin
2231 (method git-fetch)
2232 (uri (git-reference
2233 (url "https://gitlab.com/pidu/git-timemachine.git")
2234 (commit version)))
2235 (file-name (git-file-name name version))
2236 (sha256
2237 (base32
2238 "08zsn3lsnnf01wkv5ls38jga02s5dnf0j3gigy4qd6im3j3d04m1"))))
2239 (build-system emacs-build-system)
2240 (propagated-inputs
2241 `(("emacs-transient" ,emacs-transient)))
2242 (home-page "https://gitlab.com/pidu/git-timemachine")
2243 (synopsis "Step through historic versions of Git-controlled files")
2244 (description "This package enables you to step through historic versions
2245 of files under Git version control from within Emacs.")
2246 (license license:gpl3+)))
2247
2248 (define-public emacs-minitest
2249 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2250 (revision "1"))
2251 (package
2252 (name "emacs-minitest")
2253 (version (git-version "0.8.0" revision commit))
2254 (source (origin
2255 (method git-fetch)
2256 (uri (git-reference
2257 (url "https://github.com/arthurnn/minitest-emacs")
2258 (commit commit)))
2259 (file-name (git-file-name name commit))
2260 (sha256
2261 (base32
2262 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2263 (build-system emacs-build-system)
2264 (arguments
2265 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2266 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2267 (propagated-inputs
2268 `(("emacs-dash" ,emacs-dash)
2269 ("emacs-f" ,emacs-f)))
2270 (home-page "https://github.com/arthurnn/minitest-emacs")
2271 (synopsis "Emacs minitest mode")
2272 (description
2273 "The minitest mode provides commands to run the tests for the current
2274 file or line, as well as rerunning the previous tests, or all the tests for a
2275 project.
2276
2277 This package also includes relevant snippets for yasnippet.")
2278 (license license:expat))))
2279
2280 (define-public emacs-el-mock
2281 (package
2282 (name "emacs-el-mock")
2283 (version "1.25.1")
2284 (source
2285 (origin
2286 (method git-fetch)
2287 (uri (git-reference
2288 (url "https://github.com/rejeep/el-mock.el.git")
2289 (commit (string-append "v" version))))
2290 (file-name (git-file-name name version))
2291 (sha256
2292 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2293 (build-system emacs-build-system)
2294 (home-page "https://github.com/rejeep/el-mock.el")
2295 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2296 (description
2297 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2298 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2299 Expectations, but it can be used in other contexts.")
2300 (license license:gpl3+)))
2301
2302 (define-public emacs-espuds
2303 (package
2304 (name "emacs-espuds")
2305 (version "0.3.3")
2306 (source
2307 (origin
2308 (method git-fetch)
2309 (uri (git-reference
2310 (url "https://github.com/ecukes/espuds.git")
2311 (commit (string-append "v" version))))
2312 (file-name (git-file-name name version))
2313 (sha256
2314 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2315 (build-system emacs-build-system)
2316 (propagated-inputs
2317 `(("emacs-s" ,emacs-s)
2318 ("emacs-dash" ,emacs-dash)
2319 ("emacs-f" ,emacs-f)))
2320 (home-page "https://github.com/ecukes/espuds")
2321 (synopsis "Common step definitions for Ecukes")
2322 (description "Espuds is a collection of the most commonly used step
2323 definitions for testing with the Ecukes framework.")
2324 (license license:gpl3+)))
2325
2326 (define-public emacs-spark
2327 (let ((version "20160503") ; no proper tag, use date of commit
2328 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2329 (revision "1"))
2330 (package
2331 (name "emacs-spark")
2332 (version (git-version version revision commit))
2333 (source
2334 (origin
2335 (method git-fetch)
2336 (uri (git-reference
2337 (url "https://github.com/alvinfrancis/spark.git")
2338 (commit commit)))
2339 (file-name (git-file-name name version))
2340 (sha256
2341 (base32
2342 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2343 (build-system emacs-build-system)
2344 (home-page "https://github.com/alvinfrancis/spark")
2345 (synopsis "Sparkline generation library for Emacs Lisp")
2346 (description "@code{emacs-spark} is a sparkline generation library for
2347 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2348 port of @code{cl-spark} to Emacs Lisp.")
2349 (license license:expat))))
2350
2351 (define-public emacs-es-mode
2352 (package
2353 (name "emacs-es-mode")
2354 (version "4.3.0")
2355 (source
2356 (origin
2357 (method git-fetch)
2358 (uri (git-reference
2359 (url "https://github.com/dakrone/es-mode.git")
2360 (commit version)))
2361 (file-name (git-file-name name version))
2362 (sha256
2363 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2364 (build-system emacs-build-system)
2365 (propagated-inputs
2366 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2367 ;; to be rendered incorrectly
2368 `(("emacs-dash" ,emacs-dash)
2369 ("emacs-org" ,emacs-org)
2370 ("emacs-spark" ,emacs-spark)))
2371 (home-page "https://github.com/dakrone/es-mode")
2372 (synopsis "Major mode for editing Elasticsearch queries")
2373 (description "@code{es-mode} includes highlighting, completion and
2374 indentation support for Elasticsearch queries. Also supported are
2375 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2376 be processed through @code{jq}, or in the case of aggregations, can be
2377 rendered in to a table. In addition, there is an @code{es-command-center}
2378 mode, which displays information about Elasticsearch clusters.")
2379 (license license:gpl3+)))
2380
2381 (define-public emacs-expand-region
2382 (package
2383 (name "emacs-expand-region")
2384 (version "0.11.0")
2385 (source
2386 (origin
2387 (method git-fetch)
2388 (uri (git-reference
2389 (url "https://github.com/magnars/expand-region.el.git")
2390 (commit version)))
2391 (file-name (git-file-name name version))
2392 (sha256
2393 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2394 (build-system emacs-build-system)
2395 (home-page "https://github.com/magnars/expand-region.el")
2396 (synopsis "Increase selected region by semantic units")
2397 (description
2398 "Expand region increases the selected region by semantic units. Just
2399 keep pressing the key until it selects what you want. There's also
2400 @code{er/contract-region} if you expand too far.")
2401 (license license:gpl3+)))
2402
2403 (define-public emacs-fill-column-indicator
2404 (package
2405 (name "emacs-fill-column-indicator")
2406 (version "1.89")
2407 (source
2408 (origin
2409 (method git-fetch)
2410 (uri (git-reference
2411 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2412 (commit (string-append "v" version))))
2413 (file-name (git-file-name name version))
2414 (sha256
2415 (base32 "010kf8jsly74y7m6mmkn1h6y205kz23zphs50zgy2nag2p88rz9y"))))
2416 (build-system emacs-build-system)
2417 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2418 (synopsis "Graphically indicate the fill column")
2419 (description
2420 "Fill-column-indicator graphically indicates the location of the fill
2421 column by drawing a thin line down the length of the editing window.")
2422 (license license:gpl3+)))
2423
2424 (define-public emacs-grep-a-lot
2425 (package
2426 (name "emacs-grep-a-lot")
2427 (version "1.0.7")
2428 (source
2429 (origin
2430 (method git-fetch)
2431 (uri (git-reference
2432 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2433 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2434 (file-name (git-file-name name version))
2435 (sha256
2436 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2437 (build-system emacs-build-system)
2438 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2439 (synopsis "Enables multiple grep buffers in Emacs")
2440 (description
2441 "This Emacs package allows managing multiple grep buffers.")
2442 (license license:gpl3+)))
2443
2444 (define-public emacs-inf-ruby
2445 (package
2446 (name "emacs-inf-ruby")
2447 (version "2.5.1")
2448 (source
2449 (origin
2450 (method git-fetch)
2451 (uri (git-reference
2452 (url "https://github.com/nonsequitur/inf-ruby.git")
2453 (commit version)))
2454 (file-name (git-file-name name version))
2455 (sha256
2456 (base32 "1r452h6cyypqlc59q8dx5smkwhck4qjcg1pf9qdw539cpva5q77z"))))
2457 (build-system emacs-build-system)
2458 (home-page "https://github.com/nonsequitur/inf-ruby")
2459 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2460 (description
2461 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2462 for easy interaction with a ruby subprocess. Features include support for
2463 detecting specific uses of Ruby, e.g. when using rails, and using a
2464 appropriate console.")
2465 (license license:gpl3+)))
2466
2467 (define-public emacs-znc
2468 (package
2469 (name "emacs-znc")
2470 (version "0.0.2")
2471 (source
2472 (origin
2473 (method url-fetch)
2474 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2475 version ".el"))
2476 (sha256
2477 (base32
2478 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2479 (build-system emacs-build-system)
2480 (home-page "https://github.com/sshirokov/ZNC.el")
2481 (synopsis "Make ERC and ZNC get along better")
2482 (description
2483 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2484 IRC bouncer with ERC.")
2485 (license license:expat)))
2486
2487 (define-public emacs-shut-up
2488 (package
2489 (name "emacs-shut-up")
2490 (version "0.3.2")
2491 (source
2492 (origin
2493 (method git-fetch)
2494 (uri (git-reference
2495 (url "https://github.com/cask/shut-up.git")
2496 (commit (string-append "v" version))))
2497 (file-name (git-file-name name version))
2498 (sha256
2499 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
2500 (build-system emacs-build-system)
2501 (home-page "https://github.com/cask/shut-up")
2502 (synopsis "Silence Emacs")
2503 (description "This package silences most output of Emacs when running an
2504 Emacs shell script.")
2505 (license license:expat)))
2506
2507 (define-public emacs-undercover
2508 (package
2509 (name "emacs-undercover")
2510 (version "0.6.0")
2511 (source
2512 (origin
2513 (method git-fetch)
2514 (uri (git-reference
2515 (url "https://github.com/sviridov/undercover.el.git")
2516 (commit (string-append "v" version))))
2517 (file-name (git-file-name name version))
2518 (sha256
2519 (base32 "06qcvbp5rd0kh3ibrxj5p6r578lwsrgd7yj5c6slwmkdmna2fj33"))))
2520 (build-system emacs-build-system)
2521 (propagated-inputs
2522 `(("emacs-dash" ,emacs-dash)
2523 ("emacs-shut-up" ,emacs-shut-up)))
2524 (home-page "https://github.com/sviridov/undercover.el")
2525 (synopsis "Test coverage library for Emacs Lisp")
2526 (description
2527 "Undercover is a test coverage library for software written in Emacs
2528 Lisp.")
2529 (license license:expat)))
2530
2531 (define-public emacs-paren-face
2532 (package
2533 (name "emacs-paren-face")
2534 (version "1.0.0")
2535 (source
2536 (origin
2537 (method git-fetch)
2538 (uri (git-reference
2539 (url "https://github.com/tarsius/paren-face.git")
2540 (commit version)))
2541 (file-name (git-file-name name version))
2542 (sha256
2543 (base32 "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"))))
2544 (build-system emacs-build-system)
2545 (home-page "https://github.com/tarsius/paren-face")
2546 (synopsis "Face for parentheses in lisp modes")
2547 (description
2548 "This library defines a face named @code{parenthesis} used just for
2549 parentheses. The intended purpose of this face is to make parentheses less
2550 visible in Lisp code by dimming them. Lispers probably don't need to be
2551 constantly made aware of the existence of the parentheses. Dimming them might
2552 be even more useful for people new to lisp who have not yet learned to
2553 subconsciously blend out the parentheses.")
2554 (license license:gpl3+)))
2555
2556 (define-public emacs-page-break-lines
2557 (package
2558 (name "emacs-page-break-lines")
2559 (version "0.11")
2560 (source
2561 (origin
2562 (method git-fetch)
2563 (uri (git-reference
2564 (url "https://github.com/purcell/page-break-lines.git")
2565 (commit version)))
2566 (file-name (git-file-name name version))
2567 (sha256
2568 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
2569 (build-system emacs-build-system)
2570 (home-page "https://github.com/purcell/page-break-lines")
2571 (synopsis "Display page breaks as tidy horizontal lines")
2572 (description
2573 "This library provides a global mode which displays form feed characters
2574 as horizontal rules.")
2575 (license license:gpl3+)))
2576
2577 (define-public emacs-simple-httpd
2578 (package
2579 (name "emacs-simple-httpd")
2580 (version "1.5.1")
2581 (source
2582 (origin
2583 (method git-fetch)
2584 (uri (git-reference
2585 (url "https://github.com/skeeto/emacs-web-server.git")
2586 (commit version)))
2587 (file-name (git-file-name name version))
2588 (sha256
2589 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
2590 (build-system emacs-build-system)
2591 (home-page "https://github.com/skeeto/emacs-web-server")
2592 (synopsis "HTTP server in pure Emacs Lisp")
2593 (description
2594 "This package provides a simple HTTP server written in Emacs Lisp to
2595 serve files and directory listings.")
2596 (license license:unlicense)))
2597
2598 (define-public emacs-skewer-mode
2599 (package
2600 (name "emacs-skewer-mode")
2601 (version "1.8.0")
2602 (source
2603 (origin
2604 (method git-fetch)
2605 (uri (git-reference
2606 (url "https://github.com/skeeto/skewer-mode.git")
2607 (commit version)))
2608 (file-name (git-file-name name version))
2609 (sha256
2610 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
2611 (build-system emacs-build-system)
2612 (propagated-inputs
2613 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2614 ("emacs-js2-mode" ,emacs-js2-mode)))
2615 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2616 (home-page "https://github.com/skeeto/skewer-mode")
2617 (synopsis "Live web development in Emacs")
2618 (description
2619 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2620 a web browser. Expressions are sent on-the-fly from an editing buffer to be
2621 evaluated in the browser, just like Emacs does with an inferior Lisp process
2622 in Lisp modes.")
2623 (license license:unlicense)))
2624
2625 (define-public emacs-litable
2626 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2627 (package
2628 (name "emacs-litable")
2629 (version (git-version "0.1" "0" commit))
2630 (source (origin
2631 (method git-fetch)
2632 (uri (git-reference
2633 (url "https://github.com/Fuco1/litable.git")
2634 (commit commit)))
2635 (file-name (git-file-name name version))
2636 (sha256
2637 (base32
2638 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2639 (build-system emacs-build-system)
2640 (propagated-inputs
2641 `(("emacs-dash" ,emacs-dash)))
2642 (home-page "https://github.com/Fuco1/litable/")
2643 (synopsis "Dynamic evaluation replacement with Emacs")
2644 (description "This packages provides dynamic evaluation in Emacs.")
2645 (license license:gpl3+))))
2646
2647 (define-public emacs-string-inflection
2648 (package
2649 (name "emacs-string-inflection")
2650 (version "1.0.6")
2651 (source (origin
2652 (method git-fetch)
2653 (uri (git-reference
2654 (url "https://github.com/akicho8/string-inflection")
2655 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2656 (file-name (git-file-name name version))
2657 (sha256
2658 (base32
2659 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2660 (build-system emacs-build-system)
2661 (native-inputs
2662 `(("ert-runner" ,emacs-ert-runner)))
2663 (arguments
2664 `(#:tests? #t
2665 #:test-command '("ert-runner")))
2666 (home-page "https://github.com/akicho8/string-inflection")
2667 (synopsis "Convert symbol names between different naming conventions")
2668 (description
2669 "This Emacs package provides convenient methods for manipulating the
2670 naming style of a symbol. It supports different naming conventions such as:
2671
2672 @enumerate
2673 @item camel case
2674 @item Pascal case
2675 @item all upper case
2676 @item lower case separated by underscore
2677 @item etc...
2678 @end enumerate\n")
2679 (license license:gpl2+)))
2680
2681 (define-public emacs-stripe-buffer
2682 (package
2683 (name "emacs-stripe-buffer")
2684 (version "0.2.5")
2685 (source
2686 (origin
2687 (method git-fetch)
2688 (uri (git-reference
2689 (url "https://github.com/sabof/stripe-buffer.git")
2690 (commit version)))
2691 (file-name (git-file-name name version))
2692 (sha256
2693 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
2694 (build-system emacs-build-system)
2695 (home-page "https://github.com/sabof/stripe-buffer/")
2696 (synopsis "Add stripes to list buffers")
2697 (description
2698 "This Emacs package adds faces to add stripes to list buffers and org
2699 tables.")
2700 (license license:gpl2+)))
2701
2702 (define-public emacs-rich-minority
2703 (package
2704 (name "emacs-rich-minority")
2705 (version "1.0.1")
2706 (source
2707 (origin
2708 (method git-fetch)
2709 (uri (git-reference
2710 (url "https://github.com/Malabarba/rich-minority.git")
2711 (commit version)))
2712 (file-name (git-file-name name version))
2713 (sha256
2714 (base32 "11hwf9y5ax207w6rwrsmi3pmn7pn7ap6iys0z8hni2f5zzxjrmx3"))))
2715 (build-system emacs-build-system)
2716 (home-page "https://github.com/Malabarba/rich-minority")
2717 (synopsis "Clean-up and beautify the list of minor modes")
2718 (description
2719 "This Emacs package hides and/or highlights minor modes in the
2720 mode-line.")
2721 (license license:gpl2+)))
2722
2723 (define-public emacs-robe
2724 (package
2725 (name "emacs-robe")
2726 (version "0.8.1")
2727 (source
2728 (origin
2729 (method git-fetch)
2730 (uri (git-reference
2731 (url "https://github.com/dgutov/robe.git")
2732 (commit version)))
2733 (file-name (git-file-name name version))
2734 (sha256
2735 (base32 "0ll7ivxqnglfb0i70ly6qq2yfw9cyi3vq3lmj4s6h6c1c7rm3gcq"))))
2736 (build-system emacs-build-system)
2737 (arguments
2738 '(#:include (cons "^lib\\/" %default-include)))
2739 (propagated-inputs
2740 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
2741 (home-page "https://github.com/dgutov/robe")
2742 (synopsis "Ruby code assistance tool for Emacs")
2743 (description
2744 "Robe can provide information on loaded classes and modules in Ruby code,
2745 as well as where methods are defined. This allows the user to jump to method
2746 definitions, modules and classes, display method documentation and provide
2747 method and constant name completion.")
2748 (license license:gpl3+)))
2749
2750 (define-public emacs-robot-mode
2751 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
2752 (revision "1"))
2753 (package
2754 (name "emacs-robot-mode")
2755 (version (git-version "0.0.0" revision commit))
2756 (source (origin
2757 (method git-fetch)
2758 (uri (git-reference
2759 ;; A better maintained fork of robot-mode.
2760 (url "https://github.com/jvalkeejarvi/robot-mode.git")
2761 (commit commit)))
2762 (file-name (git-file-name name version))
2763 (sha256
2764 (base32
2765 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
2766 (build-system emacs-build-system)
2767 (propagated-inputs `(("emacs-s" ,emacs-s)))
2768 (home-page "https://github.com/jvalkeejarvi/robot-mode")
2769 (synopsis "Emacs mode for Robot Framework")
2770 (description "This major mode facilitates editing Robot Framework source
2771 files with features such as syntax highlighting, comments, finding keywords,
2772 completing keywords and smart indentation.")
2773 (license license:gpl3+))))
2774
2775 (define-public emacs-rspec
2776 (package
2777 (name "emacs-rspec")
2778 (version "1.11")
2779 (source
2780 (origin
2781 (method git-fetch)
2782 (uri (git-reference
2783 (url "https://github.com/pezra/rspec-mode.git")
2784 (commit (string-append "v" version))))
2785 (file-name (git-file-name name version))
2786 (sha256
2787 (base32 "0hrn5n7aaymwimk511kjij44vqaxbmhly1gwmlmsrnbvvma7f2mp"))))
2788 (build-system emacs-build-system)
2789 (home-page "https://github.com/pezra/rspec-mode")
2790 (synopsis "Provides a rspec mode for working with RSpec")
2791 (description
2792 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
2793 verify the spec associated with the current buffer, or entire project, as well
2794 as moving between the spec files, and corresponding code files.
2795
2796 Also included are keybindings for spec files and Dired buffers, as well as
2797 snippets for yasnippet.")
2798 (license license:gpl3+)))
2799
2800 (define-public emacs-smart-mode-line
2801 (package
2802 (name "emacs-smart-mode-line")
2803 (version "2.12.0")
2804 (source
2805 (origin
2806 (method git-fetch)
2807 (uri (git-reference
2808 (url "https://github.com/Malabarba/smart-mode-line.git")
2809 (commit version)))
2810 (file-name (git-file-name name version))
2811 (sha256
2812 (base32 "1gs4ay9hdg8gmia4ir74qawk80pqwv99hp4yhy108kpfry5mrq6z"))))
2813 (build-system emacs-build-system)
2814 (propagated-inputs
2815 `(("emacs-rich-minority" ,emacs-rich-minority)))
2816 (home-page "https://github.com/Malabarba/smart-mode-line")
2817 (synopsis "Color-coded smart mode-line")
2818 (description
2819 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
2820 read from small to large monitors by using colors, a prefix feature, and smart
2821 truncation.")
2822 (license license:gpl2+)))
2823
2824 (define-public emacs-sr-speedbar
2825 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
2826 (revision "0"))
2827 (package
2828 (name "emacs-sr-speedbar")
2829 (version (git-version "20161025" revision commit))
2830 (source
2831 (origin
2832 (method git-fetch)
2833 (uri (git-reference
2834 (url "https://github.com/emacsorphanage/sr-speedbar.git")
2835 (commit commit)))
2836 (file-name (git-file-name name version))
2837 (sha256
2838 (base32
2839 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
2840 (build-system emacs-build-system)
2841 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
2842 (synopsis "Same frame Emacs @code{speedbar}")
2843 (description
2844 "This Emacs package allows you to show @code{M-x speedbar} in the
2845 same frame (in an extra window). You can customize the initial width of
2846 the speedbar window.")
2847 (license license:gpl3+))))
2848
2849 (define-public emacs-shell-switcher
2850 (package
2851 (name "emacs-shell-switcher")
2852 (version "1.0.1")
2853 (source
2854 (origin
2855 (method git-fetch)
2856 (uri (git-reference
2857 (url "https://github.com/DamienCassou/shell-switcher.git")
2858 (commit (string-append "v" version))))
2859 (file-name (git-file-name name version))
2860 (sha256
2861 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
2862 (build-system emacs-build-system)
2863 (home-page "https://github.com/DamienCassou/shell-switcher")
2864 (synopsis "Provide fast switching between shell buffers")
2865 (description
2866 "This package provides commands to quickly switch between shell buffers.")
2867 (license license:gpl3+)))
2868
2869 (define-public emacs-names
2870 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
2871 (version "20151201.0")
2872 (revision "8"))
2873 (package
2874 (name "emacs-names")
2875 (version (git-version version revision commit))
2876 (source
2877 (origin
2878 (method git-fetch)
2879 (uri (git-reference
2880 (url "https://github.com/Malabarba/names")
2881 (commit commit)))
2882 (file-name (git-file-name name version))
2883 (sha256
2884 (base32
2885 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
2886 (build-system emacs-build-system)
2887 (home-page "https://github.com/Malabarba/names/")
2888 (synopsis "Namespace implementation for Emacs Lisp")
2889 (description
2890 "This package provides a macro that writes your namespaces for you.")
2891 (license license:gpl3+))))
2892
2893 (define-public emacs-evil-textobj-syntax
2894 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
2895 (version "0")
2896 (revision "1"))
2897 (package
2898 (name "emacs-evil-textobj-syntax")
2899 (version (git-version version revision commit))
2900 (source
2901 (origin
2902 (method git-fetch)
2903 (uri (git-reference
2904 (url "https://github.com/laishulu/evil-textobj-syntax/")
2905 (commit commit)))
2906 (file-name (git-file-name name version))
2907 (sha256
2908 (base32
2909 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
2910 (build-system emacs-build-system)
2911 (propagated-inputs `(("emacs-evil" ,emacs-evil)
2912 ("emacs-names" ,emacs-names)))
2913 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
2914 (synopsis "Text objects based on syntax highlighting")
2915 (description
2916 "This package provides text objects for @code{evil-mode} with
2917 boundaries defined by syntax highlighting.")
2918 (license license:gpl3+))))
2919
2920 (define-public emacs-flycheck-flow
2921 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
2922 (version "1.1")
2923 (revision "1"))
2924 (package
2925 (name "emacs-flycheck-flow")
2926 (version (git-version version revision commit))
2927 (source
2928 (origin
2929 (method git-fetch)
2930 (uri (git-reference
2931 (url "https://github.com/lbolla/emacs-flycheck-flow")
2932 (commit commit)))
2933 (file-name (git-file-name name version))
2934 (sha256
2935 (base32
2936 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
2937 (build-system emacs-build-system)
2938 (propagated-inputs
2939 `(("emacs-flycheck" ,emacs-flycheck)))
2940 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
2941 (synopsis "Flow support for @code{flycheck-mode}")
2942 (description
2943 "This package allows @code{flycheck-mode} to provide syntax-checking
2944 for Flow files.")
2945 (license license:gpl3+))))
2946
2947 (define-public emacs-elisp-demos
2948 (let ((commit "4c1fbc392668662890b685ab297e950259227e06")
2949 (version "0.1")
2950 (revision "1"))
2951 (package
2952 (name "emacs-elisp-demos")
2953 (version (git-version version revision commit))
2954 (source
2955 (origin
2956 (method git-fetch)
2957 (uri (git-reference
2958 (url "https://github.com/xuchunyang/elisp-demos")
2959 (commit commit)))
2960 (file-name (git-file-name name version))
2961 (sha256
2962 (base32
2963 "01cbkmjgmzxdf02w9xgbf4bhnx1mh53vvpkri13yxfksym5zizp4"))))
2964 (build-system emacs-build-system)
2965 (arguments '(#:include '("\\.el$" "\\.org$")))
2966 (home-page "https://github.com/xuchunyang/elisp-demos/")
2967 (synopsis "Enhance @code{*Help*} buffers with additional examples")
2968 (description
2969 "This package injects example uses of Elisp functions into their
2970 respective @code{*Help*} buffers.")
2971 (license license:gpl3+))))
2972
2973 (define-public emacs-docker-compose-mode
2974 (package
2975 (name "emacs-docker-compose-mode")
2976 (version "1.1.0")
2977 (source
2978 (origin
2979 (method git-fetch)
2980 (uri (git-reference
2981 (url "https://github.com/meqif/docker-compose-mode")
2982 (commit version)))
2983 (file-name (git-file-name name version))
2984 (sha256
2985 (base32
2986 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
2987 (build-system emacs-build-system)
2988 (propagated-inputs
2989 `(("emacs-dash" ,emacs-dash)
2990 ("emacs-f" ,emacs-f)))
2991 (home-page "https://github.com/meqif/docker-compose-mode/")
2992 (synopsis "Major mode for editing @file{docker-compose} files")
2993 (description
2994 "This is a major mode for @file{docker-compose} files that provides
2995 completion of relevant keywords.")
2996 (license license:expat)))
2997
2998 (define-public emacs-sudo-edit
2999 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3000 (version "0.1.0")
3001 (revision "6"))
3002 (package
3003 (name "emacs-sudo-edit")
3004 (version (git-version version revision commit))
3005 (source
3006 (origin
3007 (method git-fetch)
3008 (uri (git-reference
3009 (url "https://github.com/nflath/sudo-edit")
3010 (commit commit)))
3011 (file-name (git-file-name name version))
3012 (sha256
3013 (base32
3014 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3015 (build-system emacs-build-system)
3016 (home-page "https://github.com/nflath/sudo-edit/")
3017 (synopsis "Open files as another user")
3018 (description
3019 "This package allows editing files as another user, including the root
3020 user.")
3021 (license license:gpl3+))))
3022
3023 (define-public emacs-miniedit
3024 (package
3025 (name "emacs-miniedit")
3026 (version "2.0")
3027 (source
3028 (origin
3029 (method git-fetch)
3030 (uri (git-reference
3031 (url "https://github.com/emacsmirror/miniedit")
3032 (commit version)))
3033 (file-name (git-file-name name version))
3034 (sha256
3035 (base32
3036 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3037 (build-system emacs-build-system)
3038 (home-page "https://github.com/emacsmirror/miniedit/")
3039 (synopsis "Enhanced editing for minibuffer fields")
3040 (description
3041 "This package provides a function that can be called from the
3042 minibuffer to enable editing the minibuffer input in another buffer with
3043 @code{text-mode} enabled.")
3044 (license license:gpl2+)))
3045
3046 (define-public emacs-ob-ipython
3047 (package
3048 (name "emacs-ob-ipython")
3049 (version "20150704.8807064693")
3050 (source (origin
3051 (method git-fetch)
3052 (uri (git-reference
3053 (commit "880706469338ab59b5bb7dbe8460016f89755364")
3054 (url "https://github.com/gregsexton/ob-ipython.git")))
3055 (file-name (git-file-name name version))
3056 (sha256
3057 (base32
3058 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
3059 (build-system emacs-build-system)
3060 (propagated-inputs
3061 `(("emacs-f" ,emacs-f)))
3062 (home-page "http://www.gregsexton.org")
3063 (synopsis "Org-Babel functions for IPython evaluation")
3064 (description "This package adds support to Org-Babel for evaluating Python
3065 source code using IPython.")
3066 (license license:gpl3+)))
3067
3068 (define-public emacs-debbugs
3069 (package
3070 (name "emacs-debbugs")
3071 (version "0.18")
3072 (source (origin
3073 (method url-fetch)
3074 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3075 version ".tar"))
3076 (sha256
3077 (base32
3078 "00kich80zdg7v3v613f9prqddkpwpm1nf9sj10f0n6wh15rzwv07"))))
3079 (build-system emacs-build-system)
3080 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3081 (propagated-inputs
3082 `(("emacs-async" ,emacs-async)))
3083 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3084 (synopsis "Access the Debbugs bug tracker in Emacs")
3085 (description
3086 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3087 Tracker} from within Emacs.
3088
3089 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3090 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3091 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3092 @code{M-x debbugs-org} and related commands.
3093
3094 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3095 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3096 (license license:gpl3+)))
3097
3098 (define-public emacs-ert-expectations
3099 (package
3100 (name "emacs-ert-expectations")
3101 (version "0.2")
3102 (source
3103 (origin
3104 (method url-fetch)
3105 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3106 (sha256
3107 (base32
3108 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3109 (build-system emacs-build-system)
3110 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3111 (synopsis "Simple unit test framework for Emacs Lisp")
3112 (description "@code{emacs-ert-expectations} is a simple unit test
3113 framework for Emacs Lisp to be used with @code{ert}.")
3114 (license license:gpl3+)))
3115
3116 (define-public emacs-deferred
3117 (package
3118 (name "emacs-deferred")
3119 (version "0.5.1")
3120 (home-page "https://github.com/kiwanami/emacs-deferred")
3121 (source (origin
3122 (method git-fetch)
3123 (uri (git-reference
3124 (url home-page)
3125 (commit (string-append "v" version))))
3126 (file-name (git-file-name name version))
3127 (sha256
3128 (base32
3129 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3130 (build-system emacs-build-system)
3131 (arguments
3132 `(#:phases
3133 (modify-phases %standard-phases
3134 (add-after 'unpack 'set-shell
3135 ;; Setting the SHELL environment variable is required for the tests
3136 ;; to find sh.
3137 (lambda _
3138 (setenv "SHELL" (which "sh"))
3139 #t))
3140 (add-before 'check 'fix-makefile
3141 (lambda _
3142 (substitute* "Makefile"
3143 (("\\$\\(CASK\\) exec ") ""))
3144 #t)))
3145 #:tests? #t
3146 #:test-command '("make" "test")))
3147 (native-inputs
3148 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3149 ("emacs-undercover" ,emacs-undercover)
3150 ("ert-runner" ,emacs-ert-runner)))
3151 (synopsis "Simple asynchronous functions for Emacs Lisp")
3152 (description
3153 "The @code{deferred.el} library provides support for asynchronous tasks.
3154 The API is almost the same as that of
3155 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3156 for asynchronous tasks.")
3157 (license license:gpl3+)))
3158
3159 (define-public emacs-butler
3160 (package
3161 (name "emacs-butler")
3162 (version "0.2.4")
3163 (home-page "https://github.com/AshtonKem/Butler")
3164 (source (origin
3165 (method git-fetch)
3166 (uri (git-reference
3167 (url home-page)
3168 (commit version)))
3169 (file-name (git-file-name name version))
3170 (sha256
3171 (base32
3172 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3173 (build-system emacs-build-system)
3174 (propagated-inputs
3175 `(("emacs-deferred" ,emacs-deferred)))
3176 (synopsis "Emacs client for Jenkins")
3177 (description
3178 "Butler provides an interface to connect to Jenkins continuous
3179 integration servers. Users can specify a list of server in the
3180 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3181 view the build status of those servers' build jobs, and possibly to trigger
3182 build jobs.")
3183 (license license:gpl3+)))
3184
3185 (define-public emacs-company
3186 (package
3187 (name "emacs-company")
3188 (version "0.9.10")
3189 (source
3190 (origin
3191 (method git-fetch)
3192 (uri (git-reference
3193 (url "https://github.com/company-mode/company-mode.git")
3194 (commit version)))
3195 (file-name (git-file-name name version))
3196 (sha256
3197 (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
3198 (build-system emacs-build-system)
3199 (arguments
3200 `(#:phases
3201 (modify-phases %standard-phases
3202 (add-before 'check 'fix-bin-dir
3203 (lambda _
3204 ;; The company-files-candidates-normal-root test looks
3205 ;; for the /bin directory, but the build environment has
3206 ;; no /bin directory. Modify the test to look for the
3207 ;; /tmp directory.
3208 (substitute* "test/files-tests.el"
3209 (("/bin/") "/tmp/"))
3210 #t)))
3211 #:tests? #t
3212 #:test-command '("make" "test-batch")))
3213 (home-page "http://company-mode.github.io/")
3214 (synopsis "Modular text completion framework")
3215 (description
3216 "Company is a modular completion mechanism. Modules for retrieving
3217 completion candidates are called back-ends, modules for displaying them are
3218 front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3219 These are distributed in separate files and can be used individually.")
3220 (license license:gpl3+)))
3221
3222 (define-public emacs-irony-mode
3223 (package
3224 (name "emacs-irony-mode")
3225 (version "1.2.0")
3226 (home-page "https://github.com/Sarcasm/irony-mode")
3227 (source (origin
3228 (method git-fetch)
3229 (uri (git-reference
3230 (url (string-append home-page ".git"))
3231 (commit (string-append "v" version))))
3232 (file-name (git-file-name name version))
3233 (sha256
3234 (base32
3235 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
3236 (build-system emacs-build-system)
3237 (inputs `(("server" ,emacs-irony-mode-server)))
3238 (arguments `(#:phases
3239 (modify-phases %standard-phases
3240 (add-after 'unpack 'configure
3241 (lambda* (#:key inputs #:allow-other-keys)
3242 (chmod "irony.el" #o644)
3243 (emacs-substitute-variables "irony.el"
3244 ("irony-server-install-prefix"
3245 (assoc-ref inputs "server")))
3246 #t)))))
3247 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3248 (description "Irony-mode provides Clang-assisted syntax checking and
3249 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3250 provide syntax checking and autocompletion on compiler level which is very
3251 resistant against false positives. It also integrates well with other
3252 packages like @code{eldoc-mode} and especially @code{company-mode} as
3253 described on the homepage.")
3254 (license license:gpl3+)))
3255
3256 (define-public emacs-irony-mode-server
3257 (package (inherit emacs-irony-mode)
3258 (name "emacs-irony-mode-server")
3259 (inputs
3260 `(("clang" ,clang)))
3261 (arguments
3262 `(#:phases
3263 (modify-phases %standard-phases
3264 (replace 'configure
3265 (lambda* (#:key outputs #:allow-other-keys)
3266 (let ((out (assoc-ref outputs "out")))
3267 (invoke "cmake"
3268 "server"
3269 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3270 (build-system cmake-build-system)
3271 (synopsis "Server for the Emacs @dfn{irony mode}")))
3272
3273 (define-public emacs-company-irony
3274 (package
3275 (name "emacs-company-irony")
3276 (version "1.1.0")
3277 (source (origin
3278 (method git-fetch)
3279 (uri (git-reference
3280 (url "https://github.com/Sarcasm/company-irony.git")
3281 (commit (string-append "v" version))))
3282 (sha256 (base32
3283 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3284 (file-name (git-file-name name version))))
3285 (build-system emacs-build-system)
3286 (inputs
3287 `(("emacs-irony-mode" ,emacs-irony-mode)
3288 ("emacs-company" ,emacs-company)))
3289 (synopsis "C++ completion backend for Company using irony-mode")
3290 (description "This backend for company-mode allows for C++ code completion
3291 with irony-mode using clang-tooling.")
3292 (home-page "https://github.com/Sarcasm/company-irony")
3293 (license license:gpl3+)))
3294
3295 (define-public emacs-flycheck-irony
3296 (package
3297 (name "emacs-flycheck-irony")
3298 (version "0.1.0")
3299 (source (origin
3300 (method git-fetch)
3301 (uri (git-reference
3302 (url "https://github.com/Sarcasm/flycheck-irony.git")
3303 (commit (string-append "v" version))))
3304 (file-name (git-file-name name version))
3305 (sha256
3306 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3307 (build-system emacs-build-system)
3308 (inputs
3309 `(("irony-mode" ,emacs-irony-mode)
3310 ("flycheck-mode" ,emacs-flycheck)
3311 ("emacs-company" ,emacs-company)))
3312 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3313 (description "This package provides a frontend for Flycheck that lets
3314 irony-mode do the syntax checking.")
3315 (home-page "https://github.com/Sarcasm/flycheck-irony")
3316 (license license:gpl3+)))
3317
3318 (define-public emacs-irony-eldoc
3319 (package
3320 (name "emacs-irony-eldoc")
3321 (version (package-version emacs-irony-mode))
3322 (source
3323 (origin
3324 (method git-fetch)
3325 (uri (git-reference
3326 (url "https://github.com/ikirill/irony-eldoc.git")
3327 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3328 (file-name (git-file-name name version))
3329 (sha256
3330 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3331 (build-system emacs-build-system)
3332 (inputs
3333 `(("irony-mode" ,emacs-irony-mode)))
3334 (synopsis "Eldoc integration for irony-mode")
3335 (description "Irony-eldoc is an eldoc extension that shows documentation
3336 for the current function or variable in the minibuffer.")
3337 (home-page "https://github.com/ikirill/irony-eldoc")
3338 (license license:gpl3+)))
3339
3340 (define-public emacs-company-quickhelp
3341 (package
3342 (name "emacs-company-quickhelp")
3343 (version "2.3.0")
3344 (source
3345 (origin
3346 (method git-fetch)
3347 (uri (git-reference
3348 (url "https://github.com/expez/company-quickhelp.git")
3349 (commit version)))
3350 (file-name (git-file-name name version))
3351 (sha256
3352 (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr"))))
3353 (build-system emacs-build-system)
3354 (propagated-inputs
3355 `(("emacs-pos-tip" ,emacs-pos-tip)
3356 ("emacs-company" ,emacs-company)))
3357 (home-page "https://github.com/expez/company-quickhelp")
3358 (synopsis "Popup documentation for completion candidates")
3359 (description "@code{company-quickhelp} shows documentation for the
3360 completion candidate when using the Company text completion framework.")
3361 (license license:gpl3+)))
3362
3363 (define-public emacs-multiple-cursors
3364 (package
3365 (name "emacs-multiple-cursors")
3366 (version "1.4.0")
3367 (source
3368 (origin
3369 (method git-fetch)
3370 (uri (git-reference
3371 (url "https://github.com/magnars/multiple-cursors.el.git")
3372 (commit version)))
3373 (file-name (git-file-name name version))
3374 (sha256
3375 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
3376 (build-system emacs-build-system)
3377 (home-page "https://github.com/magnars/multiple-cursors.el")
3378 (synopsis "Multiple cursors for Emacs")
3379 (description
3380 "This package adds support to Emacs for editing text with multiple
3381 simultaneous cursors.")
3382 (license license:gpl3+)))
3383
3384 (define-public emacs-typo
3385 (package
3386 (name "emacs-typo")
3387 (version "1.1")
3388 (home-page "https://github.com/jorgenschaefer/typoel")
3389 (source (origin
3390 (method git-fetch)
3391 (uri (git-reference
3392 (url home-page)
3393 (commit (string-append "v" version))))
3394 (file-name (git-file-name name version))
3395 (sha256
3396 (base32
3397 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
3398 (build-system emacs-build-system)
3399 (synopsis "Minor mode for typographic editing")
3400 (description
3401 "This package provides two Emacs modes, @code{typo-mode} and
3402 @code{typo-global-mode}. These modes automatically insert Unicode characters
3403 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
3404 automatically inserts a Unicode opening or closing quotation mark, depending
3405 on context.")
3406 (license license:gpl3+)))
3407
3408 (define-public emacs-company-lsp
3409 (package
3410 (name "emacs-company-lsp")
3411 (version "2.1.0")
3412 (source (origin
3413 (method git-fetch)
3414 (uri (git-reference
3415 (url "https://github.com/tigersoldier/company-lsp.git")
3416 (commit version)))
3417 (file-name (git-file-name name version))
3418 (sha256
3419 (base32
3420 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
3421 (build-system emacs-build-system)
3422 (propagated-inputs
3423 `(("emacs-dash" ,emacs-dash)
3424 ("emacs-lsp-mode" ,emacs-lsp-mode)
3425 ("emacs-company" ,emacs-company)
3426 ("emacs-s" ,emacs-s)
3427 ("emacs-dash" ,emacs-dash)))
3428 (home-page "https://github.com/tigersoldier/company-lsp")
3429 (synopsis "Completion for @code{lsp-mode}")
3430 (description
3431 "This package provides completion features that are not possible with
3432 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
3433 characters and asynchronous fetching of completion candidates.")
3434 (license license:gpl3+)))
3435
3436 (define-public emacs-scheme-complete
3437 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
3438 (package
3439 (name "emacs-scheme-complete")
3440 (version (string-append "20151223." (string-take commit 8)))
3441 (source
3442 (origin
3443 (method git-fetch)
3444 (uri (git-reference
3445 (url "https://github.com/ashinn/scheme-complete.git")
3446 (commit commit)))
3447 (file-name (git-file-name name version))
3448 (sha256
3449 (base32
3450 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
3451 (patches
3452 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
3453 (build-system emacs-build-system)
3454 (home-page "https://github.com/ashinn/scheme-complete")
3455 (synopsis "Smart tab completion for Scheme in Emacs")
3456 (description
3457 "This file provides a single function, @code{scheme-smart-complete},
3458 which you can use for intelligent, context-sensitive completion for any Scheme
3459 implementation in Emacs. To use it just load this file and bind that function
3460 to a key in your preferred mode.")
3461 (license license:public-domain))))
3462
3463 (define-public emacs-scel
3464 (let ((version "20170629")
3465 (revision "1")
3466 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
3467 (package
3468 (name "emacs-scel")
3469 (version (git-version version revision commit))
3470 (source
3471 (origin
3472 (method git-fetch)
3473 (uri (git-reference
3474 (url "https://github.com/supercollider/scel.git")
3475 (commit commit)))
3476 (file-name (git-file-name name version))
3477 (sha256
3478 (base32
3479 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
3480 (build-system emacs-build-system)
3481 (arguments
3482 `(#:modules ((guix build emacs-build-system)
3483 ((guix build cmake-build-system) #:prefix cmake:)
3484 (guix build utils))
3485 #:imported-modules (,@%emacs-build-system-modules
3486 (guix build cmake-build-system))
3487 #:phases
3488 (modify-phases %standard-phases
3489 (add-after 'unpack 'configure
3490 (lambda* (#:key outputs #:allow-other-keys)
3491 (substitute* "el/CMakeLists.txt"
3492 (("share/emacs/site-lisp/SuperCollider")
3493 (string-append
3494 "share/emacs/site-lisp/guix.d/scel-" ,version)))
3495 ((assoc-ref cmake:%standard-phases 'configure)
3496 #:outputs outputs
3497 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
3498 (add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
3499 (lambda _
3500 (setenv "EMACSLOADPATH"
3501 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
3502 #t))
3503 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
3504 (inputs
3505 `(("supercollider" ,supercollider)))
3506 (native-inputs
3507 `(("cmake" ,cmake)))
3508 (home-page "https://github.com/supercollider/scel")
3509 (synopsis "SuperCollider Emacs interface")
3510 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
3511 SuperCollider is a platform for audio synthesis and algorithmic composition.")
3512 (license license:gpl2+))))
3513
3514 (define-public emacs-company-auctex
3515 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
3516 (revision "1"))
3517 (package
3518 (name "emacs-company-auctex")
3519 (version (git-version "0" revision commit))
3520 (source (origin
3521 (method git-fetch)
3522 (uri (git-reference
3523 (url "https://github.com/alexeyr/company-auctex")
3524 (commit commit)))
3525 (file-name (git-file-name name version))
3526 (sha256
3527 (base32
3528 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
3529 (build-system emacs-build-system)
3530 (propagated-inputs
3531 `(("emacs-yasnippet" ,emacs-yasnippet)
3532 ("emacs-auctex" ,emacs-auctex)
3533 ("emacs-company" ,emacs-company)))
3534 (home-page "https://github.com/alexeyr/company-auctex/")
3535 (synopsis "Completion for @code{AUCTeX}")
3536 (description
3537 "This package provides a group of backends permitting auto-completion
3538 for @code{AUCTeX}.")
3539 (license license:gpl3+))))
3540
3541 (define-public emacs-mit-scheme-doc
3542 (package
3543 (name "emacs-mit-scheme-doc")
3544 (version "20140203")
3545 (source
3546 (origin
3547 (modules '((guix build utils)))
3548 (snippet
3549 ;; keep only file of interest
3550 '(begin
3551 (for-each delete-file '("dot-emacs.el" "Makefile"))
3552 (install-file "6.945-config/mit-scheme-doc.el" ".")
3553 (delete-file-recursively "6.945-config")
3554 #t))
3555 (file-name (string-append name "-" version ".tar.bz2"))
3556 (method url-fetch)
3557 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
3558 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
3559 (sha256
3560 (base32
3561 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
3562 (build-system emacs-build-system)
3563 (inputs `(("mit-scheme" ,mit-scheme)))
3564 (arguments
3565 `(#:phases
3566 (modify-phases %standard-phases
3567 (add-after 'unpack 'configure-doc
3568 (lambda* (#:key inputs #:allow-other-keys)
3569 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
3570 (doc-dir (string-append mit-scheme-dir "/share/doc/"
3571 "mit-scheme-"
3572 ,(package-version mit-scheme))))
3573 (substitute* "mit-scheme-doc.el"
3574 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
3575 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
3576 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
3577 (synopsis "MIT-Scheme documentation lookup for Emacs")
3578 (description
3579 "This package provides a set of Emacs functions to search definitions of
3580 identifiers in the MIT-Scheme documentation.")
3581 (license license:gpl2+)))
3582
3583 (define-public emacs-constants
3584 (package
3585 (name "emacs-constants")
3586 (version "2.6")
3587 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
3588 (source
3589 (origin
3590 (method git-fetch)
3591 (uri (git-reference
3592 (url "https://github.com/fedeinthemix/emacs-constants.git")
3593 (commit (string-append "v" version))))
3594 (file-name (git-file-name name version))
3595 (sha256
3596 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
3597 (build-system emacs-build-system)
3598 (synopsis "Enter definition of constants into an Emacs buffer")
3599 (description
3600 "This package provides functions for inserting the definition of natural
3601 constants and units into an Emacs buffer.")
3602 (license license:gpl2+)))
3603
3604 (define-public emacs-tagedit
3605 (package
3606 (name "emacs-tagedit")
3607 (version "1.4.0")
3608 (source
3609 (origin
3610 (method git-fetch)
3611 (uri (git-reference
3612 (url "https://github.com/magnars/tagedit.git")
3613 (commit version)))
3614 (file-name (git-file-name name version))
3615 (sha256
3616 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
3617 (build-system emacs-build-system)
3618 (propagated-inputs
3619 `(("emacs-s" ,emacs-s)
3620 ("emacs-dash" ,emacs-dash)))
3621 (home-page "https://github.com/magnars/tagedit")
3622 (synopsis "Some paredit-like features for html-mode")
3623 (description
3624 "This package provides a collection of paredit-like functions for editing
3625 in @code{html-mode}.")
3626 (license license:gpl3+)))
3627
3628 (define-public emacs-slime
3629 (package
3630 (name "emacs-slime")
3631 (version "2.23")
3632 (source
3633 (origin
3634 (method git-fetch)
3635 (uri (git-reference
3636 (url "https://github.com/slime/slime.git")
3637 (commit (string-append "v" version))))
3638 (file-name (git-file-name name version))
3639 (sha256
3640 (base32 "0i637n0ragpbj39hqx65nx5k99xf0464c4w6w1qpzykm6z42grky"))))
3641 (build-system emacs-build-system)
3642 (native-inputs
3643 `(("texinfo" ,texinfo)))
3644 (arguments
3645 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
3646 #:exclude '("^slime-tests.el" "^contrib/test/"
3647 "^contrib/Makefile$" "^contrib/README.md$")
3648 #:phases
3649 (modify-phases %standard-phases
3650 (add-after 'unpack 'make-git-checkout-writable
3651 (lambda _
3652 (for-each make-file-writable (find-files "."))
3653 #t))
3654 (add-before 'install 'configure
3655 (lambda* _
3656 (emacs-substitute-variables "slime.el"
3657 ("inferior-lisp-program" "sbcl"))
3658 #t))
3659 (add-before 'install 'install-doc
3660 (lambda* (#:key outputs #:allow-other-keys)
3661 (let* ((out (assoc-ref outputs "out"))
3662 (info-dir (string-append out "/share/info"))
3663 (doc-dir (string-append out "/share/doc/"
3664 ,name "-" ,version))
3665 (doc-files '("doc/slime-refcard.pdf"
3666 "README.md" "NEWS" "PROBLEMS"
3667 "CONTRIBUTING.md")))
3668 (with-directory-excursion "doc"
3669 (substitute* "Makefile"
3670 (("infodir=/usr/local/info")
3671 (string-append "infodir=" info-dir)))
3672 (invoke "make" "html/index.html")
3673 (invoke "make" "slime.info")
3674 (install-file "slime.info" info-dir)
3675 (copy-recursively "html" (string-append doc-dir "/html")))
3676 (for-each (lambda (f)
3677 (install-file f doc-dir)
3678 (delete-file f))
3679 doc-files)
3680 (delete-file-recursively "doc")
3681 #t))))))
3682 (home-page "https://github.com/slime/slime")
3683 (synopsis "Superior Lisp Interaction Mode for Emacs")
3684 (description
3685 "SLIME extends Emacs with support for interactive programming in
3686 Common Lisp. The features are centered around @command{slime-mode},
3687 an Emacs minor mode that complements the standard @command{lisp-mode}.
3688 While lisp-mode supports editing Lisp source files, @command{slime-mode}
3689 adds support for interacting with a running Common Lisp process
3690 for compilation, debugging, documentation lookup, and so on.")
3691 (license (list license:gpl2+ license:public-domain))))
3692
3693 (define-public emacs-popup
3694 (package
3695 (name "emacs-popup")
3696 (version "0.5.3")
3697 (source
3698 (origin
3699 (method git-fetch)
3700 (uri (git-reference
3701 (url "https://github.com/auto-complete/popup-el.git")
3702 (commit (string-append "v" version))))
3703 (file-name (git-file-name name version))
3704 (sha256
3705 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
3706 (build-system emacs-build-system)
3707 (home-page "https://github.com/auto-complete/popup-el")
3708 (synopsis "Visual Popup User Interface for Emacs")
3709 (description
3710 "Popup.el is a visual popup user interface library for Emacs.
3711 This provides a basic API and common UI widgets such as popup tooltips
3712 and popup menus.")
3713 (license license:gpl3+)))
3714
3715 (define-public emacs-python-environment
3716 (package
3717 (name "emacs-python-environment")
3718 (version "0.0.2")
3719 (source
3720 (origin
3721 (method git-fetch)
3722 (uri (git-reference
3723 (url "https://github.com/tkf/emacs-python-environment/")
3724 (commit version)))
3725 (file-name (git-file-name name version))
3726 (sha256
3727 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
3728 (build-system emacs-build-system)
3729 (propagated-inputs
3730 `(("emacs-deferred" ,emacs-deferred)))
3731 (home-page "https://github.com/tkf/emacs-python-environment")
3732 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
3733 (description
3734 "This package permits automated installation of tools written in Python.")
3735 (license license:gpl3+)))
3736
3737 (define-public emacs-jedi
3738 (package
3739 (name "emacs-jedi")
3740 (version "0.2.7")
3741 (source (origin
3742 (method git-fetch)
3743 (uri (git-reference
3744 (url "https://github.com/tkf/emacs-jedi/")
3745 (commit (string-append "v" version))))
3746 (file-name (git-file-name name version))
3747 (sha256
3748 (base32
3749 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
3750 (build-system emacs-build-system)
3751 (native-inputs
3752 `(("emacs-mocker" ,emacs-mocker)))
3753 (propagated-inputs
3754 `(("emacs-auto-complete" ,emacs-auto-complete)
3755 ("emacs-python-environment" ,emacs-python-environment)
3756 ("emacs-epc" ,emacs-epc)))
3757 (home-page "https://github.com/tkf/emacs-jedi")
3758 (synopsis "Provides Python completion in Emacs")
3759 (description
3760 "This package provides completion in Python buffers and also helps find
3761 the locations of docstrings, arguments, and functions.")
3762 (license license:gpl3+)))
3763
3764 (define-public emacs-company-jedi
3765 (package
3766 (name "emacs-company-jedi")
3767 (version "0.04")
3768 (source (origin
3769 (method git-fetch)
3770 (uri (git-reference
3771 (url "https://github.com/syohex/emacs-company-jedi")
3772 (commit version)))
3773 (file-name (git-file-name name version))
3774 (sha256
3775 (base32
3776 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
3777 (build-system emacs-build-system)
3778 (propagated-inputs
3779 `(("emacs-jedi" ,emacs-jedi)
3780 ("emacs-company" ,emacs-company)))
3781 (home-page "https://github.com/syohex/emacs-company-jedi")
3782 (synopsis "Provides Python completion in @code{company-mode}")
3783 (description
3784 "This package provides a Company backend for Python.")
3785 (license license:gpl3+)))
3786
3787 (define-public emacs-puppet-mode
3788 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
3789 (revision "1"))
3790 (package
3791 (name "emacs-puppet-mode")
3792 ;; The last release, 0.3 was several years ago, and there have been many
3793 ;; commits since
3794 (version (git-version "0.3" revision commit))
3795 (source
3796 (origin
3797 (method url-fetch)
3798 (uri (string-append
3799 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
3800 commit "/puppet-mode.el"))
3801 (sha256
3802 (base32
3803 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
3804 (build-system emacs-build-system)
3805 (home-page "https://github.com/voxpupuli/puppet-mode")
3806 (synopsis "Emacs major mode for the Puppet configuration language")
3807 (description
3808 "This package provides support for the Puppet configuration language,
3809 including syntax highlighting, indentation of expressions and statements,
3810 linting of manifests and integration with Puppet Debugger.")
3811 ;; Also incorporates work covered by the Apache License, Version 2.0
3812 (license license:gpl3+))))
3813
3814 (define-public emacs-god-mode
3815 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
3816 (revision "1"))
3817 (package
3818 (name "emacs-god-mode")
3819 (version (string-append "20151005.925."
3820 revision "-" (string-take commit 9)))
3821 (source
3822 (origin
3823 (method git-fetch)
3824 (uri (git-reference
3825 (url "https://github.com/chrisdone/god-mode.git")
3826 (commit commit)))
3827 (file-name (git-file-name name version))
3828 (sha256
3829 (base32
3830 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
3831 (build-system emacs-build-system)
3832 (home-page "https://github.com/chrisdone/god-mode")
3833 (synopsis "Minor mode for entering commands without modifier keys")
3834 (description
3835 "This package provides a global minor mode for entering Emacs commands
3836 without modifier keys. It's similar to Vim's separation of commands and
3837 insertion mode. When enabled all keys are implicitly prefixed with
3838 @samp{C-} (among other helpful shortcuts).")
3839 (license license:gpl3+))))
3840
3841 (define-public emacs-jinja2-mode
3842 (package
3843 (name "emacs-jinja2-mode")
3844 (version "0.2")
3845 (source
3846 (origin
3847 (method git-fetch)
3848 (uri (git-reference
3849 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
3850 (commit (string-append "v" version))))
3851 (file-name (git-file-name name version))
3852 (sha256
3853 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
3854 (build-system emacs-build-system)
3855 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
3856 (synopsis "Major mode for jinja2")
3857 (description
3858 "Emacs major mode for jinja2 with: syntax highlighting,
3859 sgml/html integration, and indentation (working with sgml).")
3860 (license license:gpl3+)))
3861
3862 (define-public emacs-company-cabal
3863 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
3864 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
3865 (revision "1"))
3866 (package
3867 (name "emacs-company-cabal")
3868 (version (git-version "0.3.0" revision commit))
3869 (source (origin
3870 (method git-fetch)
3871 (uri (git-reference
3872 (url "https://github.com/iquiw/company-cabal/")
3873 (commit commit)))
3874 (file-name (git-file-name name version))
3875 (sha256
3876 (base32
3877 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
3878 (build-system emacs-build-system)
3879 (propagated-inputs
3880 `(("emacs-company" ,emacs-company)))
3881 (home-page "https://github.com/iquiw/company-cabal/")
3882 (synopsis "Company completion for Haskell Cabal files")
3883 (description
3884 "This package allows for completion of field names, section names,
3885 field values, and more within @code{haskell-cabal-mode}.")
3886 (license license:gpl3+))))
3887
3888 (define-public emacs-rfcview
3889 (package
3890 (name "emacs-rfcview")
3891 (version "0.13")
3892 (home-page "http://www.loveshack.ukfsn.org/emacs")
3893 (source (origin
3894 (method url-fetch)
3895 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
3896 (sha256
3897 (base32
3898 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
3899 (build-system emacs-build-system)
3900 (synopsis "Prettify Request for Comments (RFC) documents")
3901 (description "The Internet Engineering Task Force (IETF) and the Internet
3902 Society (ISOC) publish various Internet-related protocols and specifications
3903 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
3904 documents. RFCs and STDs are published in a simple text form. This package
3905 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
3906 read these documents in Emacs. It prettifies the text and adds
3907 hyperlinks/menus for easier navigation. It also provides functions for
3908 browsing the index of RFC documents and fetching them from remote servers or
3909 local directories.")
3910 (license license:gpl3+)))
3911
3912 (define-public emacs-ffap-rfc-space
3913 (package
3914 (name "emacs-ffap-rfc-space")
3915 (version "12")
3916 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
3917 (source (origin
3918 (method url-fetch)
3919 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
3920 (sha256
3921 (base32
3922 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
3923 (build-system emacs-build-system)
3924 (synopsis "Make ffap recognize an RFC with a space before its number")
3925 (description "The Internet Engineering Task Force (IETF) and the
3926 Internet Society (ISOC) publish various Internet-related protocols and
3927 specifications as \"Request for Comments\" (RFC) documents. The
3928 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
3929 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
3930 and load the appropriate RFC from a remote server. However, it fails
3931 to recognize a name like \"RFC 1234\". This package enhances ffap so
3932 that it correctly finds RFCs even when a space appears before the
3933 number.")
3934 (license license:gpl3+)))
3935
3936 (define-public emacs-org-bullets
3937 (package
3938 (name "emacs-org-bullets")
3939 (version "0.2.4")
3940 (source
3941 (origin
3942 (method git-fetch)
3943 (uri (git-reference
3944 (url "https://github.com/sabof/org-bullets.git")
3945 (commit version)))
3946 (file-name (git-file-name name version))
3947 (sha256
3948 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
3949 (build-system emacs-build-system)
3950 (home-page "https://github.com/sabof/org-bullets")
3951 (synopsis "Show bullets in org-mode as UTF-8 characters")
3952 (description
3953 "This package provides an Emacs minor mode causing bullets in
3954 @code{org-mode} to be rendered as UTF-8 characters.")
3955 (license license:gpl3+)))
3956
3957 (define-public emacs-org-pomodoro
3958 (package
3959 (name "emacs-org-pomodoro")
3960 (version "2.1.0")
3961 (source
3962 (origin
3963 (method git-fetch)
3964 (uri (git-reference
3965 (url "https://github.com/lolownia/org-pomodoro.git")
3966 (commit version)))
3967 (file-name (git-file-name name version))
3968 (sha256
3969 (base32 "0r5shgikm34d66i2hblyknbblpg92lb2zc9x4bcb28xkh7m9d0xv"))))
3970 (build-system emacs-build-system)
3971 (propagated-inputs
3972 `(("emacs-alert" ,emacs-alert)))
3973 (home-page "https://github.com/lolownia/org-pomodoro")
3974 (synopsis "Pomodoro technique for org-mode")
3975 (description "@code{emacs-org-pomodoro} adds very basic support for
3976 Pomodoro technique in Emacs org-mode.
3977
3978 Run @code{M-x org-pomodoro} for the task at point or select one of the
3979 last tasks that you clocked time for. Each clocked-in pomodoro starts
3980 a timer of 25 minutes and after each pomodoro a break timer of 5
3981 minutes is started automatically. Every 4 breaks a long break is
3982 started with 20 minutes. All values are customizable.")
3983 (license license:gpl3+)))
3984
3985 (define-public emacs-org-trello
3986 (package
3987 (name "emacs-org-trello")
3988 (version "0.8.0")
3989 (source
3990 (origin
3991 (method git-fetch)
3992 (uri (git-reference
3993 (url "https://github.com/org-trello/org-trello.git")
3994 (commit version)))
3995 (file-name (git-file-name name version))
3996 (sha256
3997 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
3998 (build-system emacs-build-system)
3999 (propagated-inputs
4000 `(("emacs-dash" ,emacs-dash)
4001 ("emacs-deferred" ,emacs-deferred)
4002 ("emacs-f" ,emacs-f)
4003 ("emacs-helm" ,emacs-helm)
4004 ("emacs-request" ,emacs-request)
4005 ("emacs-s" ,emacs-s)))
4006 (home-page "https://org-trello.github.io")
4007 (synopsis "Emacs minor mode for interacting with Trello")
4008 (description "This package provides an Emacs minor mode to extend
4009 @code{org-mode} with Trello abilities. Trello is an online project
4010 organizer.")
4011 (license license:gpl3+)))
4012
4013 (define-public emacs-company-flow
4014 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4015 (revision "1"))
4016 (package
4017 (name "emacs-company-flow")
4018 (version (git-version "0.1.0" revision commit))
4019 (source (origin
4020 (method git-fetch)
4021 (uri (git-reference
4022 (url "https://github.com/aaronjensen/company-flow/")
4023 (commit commit)))
4024 (file-name (git-file-name name version))
4025 (sha256
4026 (base32
4027 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4028 (build-system emacs-build-system)
4029 (propagated-inputs
4030 `(("emacs-company" ,emacs-company)
4031 ("emacs-dash" ,emacs-dash)))
4032 (home-page "https://github.com/aaronjensen/company-flow/")
4033 (synopsis "Flow backend for @code{company-mode}")
4034 (description
4035 "This package provides completion for JavaScript files utilizing Flow.")
4036 (license license:gpl3+))))
4037
4038 (define-public emacs-atom-one-dark-theme
4039 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4040 (revision "0"))
4041 (package
4042 (name "emacs-atom-one-dark-theme")
4043 (version (git-version "0.4.0" revision commit))
4044 (source (origin
4045 (method git-fetch)
4046 (uri (git-reference
4047 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4048 (commit commit)))
4049 (sha256
4050 (base32
4051 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4052 (file-name (git-file-name name version))))
4053 (build-system emacs-build-system)
4054 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4055 (synopsis "Atom One Dark color theme for Emacs")
4056 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4057 (license license:gpl3+))))
4058
4059 (define-public emacs-zenburn-theme
4060 (package
4061 (name "emacs-zenburn-theme")
4062 (version "2.6")
4063 (source
4064 (origin
4065 (method git-fetch)
4066 (uri (git-reference
4067 (url "https://github.com/bbatsov/zenburn-emacs.git")
4068 (commit (string-append "v" version))))
4069 (file-name (git-file-name name version))
4070 (sha256
4071 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4072 (build-system emacs-build-system)
4073 (home-page "https://github.com/bbatsov/zenburn-emacs")
4074 (synopsis "Low contrast color theme for Emacs")
4075 (description
4076 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4077 It is built on top of the custom theme support in Emacs 24 or later.")
4078 (license license:gpl3+)))
4079
4080 (define-public emacs-moe-theme-el
4081 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4082 (version "1.0")
4083 (revision "1"))
4084 (package
4085 (name "emacs-moe-theme-el")
4086 (version (git-version version revision commit))
4087 (source
4088 (origin
4089 (method git-fetch)
4090 (uri (git-reference
4091 (url "https://github.com/kuanyui/moe-theme.el")
4092 (commit commit)))
4093 (file-name (git-file-name name version))
4094 (sha256
4095 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4096 (build-system emacs-build-system)
4097 (home-page "https://github.com/kuanyui/moe-theme.el")
4098 (synopsis "Anime-inspired color themes")
4099 (description
4100 "This package provides vibrant color schemes with light and dark
4101 variants.")
4102 (license license:gpl3+))))
4103
4104 (define-public emacs-solarized-theme
4105 (package
4106 (name "emacs-solarized-theme")
4107 (version "1.2.2")
4108 (source (origin
4109 (method url-fetch)
4110 (uri (string-append "https://github.com/bbatsov/solarized-emacs/"
4111 "archive/v" version ".tar.gz"))
4112 (file-name (string-append name "-" version ".tar.gz"))
4113 (sha256
4114 (base32
4115 "1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
4116 (build-system emacs-build-system)
4117 (propagated-inputs
4118 `(("emacs-dash" ,emacs-dash)))
4119 (home-page "https://github.com/bbatsov/solarized-emacs")
4120 (synopsis "Port of the Solarized theme for Emacs")
4121 (description
4122 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4123 package provides a light and a dark variant.")
4124 (license license:gpl3+)))
4125
4126 (define-public emacs-ahungry-theme
4127 (package
4128 (name "emacs-ahungry-theme")
4129 (version "1.10.0")
4130 (source
4131 (origin (method url-fetch)
4132 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4133 version ".tar"))
4134 (sha256
4135 (base32
4136 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4137 (build-system emacs-build-system)
4138 (home-page "https://github.com/ahungry/color-theme-ahungry")
4139 (synopsis "Ahungry color theme for Emacs")
4140 (description "Ahungry theme for Emacs provides bright and bold colors.
4141 If you load it from a terminal, you will be able to make use of the
4142 transparent background. If you load it from a GUI, it will default to a
4143 dark background.")
4144 (license license:gpl3+)))
4145
4146 (define-public emacs-gruvbox-theme
4147 (package
4148 (name "emacs-gruvbox-theme")
4149 (version "1.28.0")
4150 (source (origin
4151 (method git-fetch)
4152 (uri (git-reference
4153 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4154 (commit version)))
4155 (file-name (git-file-name name version))
4156 (sha256
4157 (base32
4158 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4159 (build-system emacs-build-system)
4160 (propagated-inputs
4161 `(("emacs-autothemer" ,emacs-autothemer)))
4162 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4163 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4164 (description
4165 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4166
4167 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4168 mode switching in the way of solarized. The main focus when developing gruvbox
4169 is to keep colors easily distinguishable, contrast enough and still pleasant
4170 for the eyes.")
4171 (license license:expat))) ; MIT license
4172
4173 (define-public emacs-2048-game
4174 (package
4175 (name "emacs-2048-game")
4176 (version "20151026.1233")
4177 (source
4178 (origin
4179 (method url-fetch)
4180 (uri (string-append "https://melpa.org/packages/2048-game-"
4181 version ".el"))
4182 (sha256
4183 (base32
4184 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4185 (build-system emacs-build-system)
4186 (home-page "https://bitbucket.org/zck/2048.el")
4187 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4188 (description
4189 "This program is an implementation of 2048 for Emacs.
4190 The goal of this game is to create a tile with value 2048. The size of the
4191 board and goal value can be customized.")
4192 (license license:gpl3+)))
4193
4194 (define-public emacs-base16-theme
4195 (package
4196 (name "emacs-base16-theme")
4197 (version "2.1")
4198 (source
4199 (origin
4200 (method url-fetch)
4201 (uri (string-append "https://stable.melpa.org/packages/base16-theme-"
4202 version ".tar"))
4203 (sha256
4204 (base32
4205 "0z6hrwz2jlz6jbr381rcqcqvx6hss5cad352klx07rark7zccacj"))))
4206 (build-system emacs-build-system)
4207 (home-page "https://github.com/belak/base16-emacs")
4208 (synopsis "Base16 color themes for Emacs")
4209 (description
4210 "Base16 provides carefully chosen syntax highlighting and a default set
4211 of sixteen colors suitable for a wide range of applications. Base16 is not a
4212 single theme but a set of guidelines with numerous implementations.")
4213 (license license:expat)))
4214
4215 (define-public emacs-solaire-mode
4216 (package
4217 (name "emacs-solaire-mode")
4218 (version "1.0.9")
4219 (source
4220 (origin
4221 (method git-fetch)
4222 (uri (git-reference
4223 (url "https://github.com/hlissner/emacs-solaire-mode.git")
4224 (commit (string-append "v" version))))
4225 (file-name (git-file-name name version))
4226 (sha256
4227 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
4228 (build-system emacs-build-system)
4229 (home-page "https://github.com/hlissner/emacs-solaire-mode")
4230 (synopsis "Change background of file-visiting buffers in Emacs")
4231 (description
4232 "@code{solaire-mode} is inspired by editors which visually distinguish
4233 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
4234 background of file-visiting buffers (and certain aspects of the UI) to make
4235 them easier to distinguish from other, less important buffers.")
4236 (license license:expat)))
4237
4238 (define-public emacs-prescient
4239 (package
4240 (name "emacs-prescient")
4241 (version "3.1")
4242 (source (origin
4243 (method git-fetch)
4244 (uri (git-reference
4245 (url "https://github.com/raxod502/prescient.el/")
4246 (commit (string-append "v" version))))
4247 (file-name (git-file-name name version))
4248 (sha256
4249 (base32
4250 "1cdjvlwlvxxazz7hlxgvdp0pznvj1gzqa2r6k4im0cpdrnnng6j6"))))
4251 (build-system emacs-build-system)
4252 (propagated-inputs
4253 `(("emacs-company" ,emacs-company)
4254 ("emacs-ivy" ,emacs-ivy)))
4255 (home-page "https://github.com/raxod502/prescient.el/")
4256 (synopsis "Library that sorts and filters lists of candidates")
4257 (description
4258 "This package provides a library for sorting and filtering, as well as
4259 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
4260 library.")
4261 (license license:gpl3+)))
4262
4263 (define-public emacs-smartparens
4264 (package
4265 (name "emacs-smartparens")
4266 (version "1.11.0")
4267 (source
4268 (origin
4269 (method git-fetch)
4270 (uri (git-reference
4271 (url "https://github.com/Fuco1/smartparens.git")
4272 (commit version)))
4273 (file-name (git-file-name name version))
4274 (sha256
4275 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
4276 (build-system emacs-build-system)
4277 (propagated-inputs
4278 `(("emacs-dash" ,emacs-dash)
4279 ("emacs-markdown-mode" ,emacs-markdown-mode)))
4280 (home-page "https://github.com/Fuco1/smartparens")
4281 (synopsis "Paredit-like insertion, wrapping and navigation with user
4282 defined pairs")
4283 (description
4284 "Smartparens is a minor mode for Emacs that deals with parens pairs
4285 and tries to be smart about it. It started as a unification effort to
4286 combine functionality of several existing packages in a single,
4287 compatible and extensible way to deal with parentheses, delimiters, tags
4288 and the like. Some of these packages include autopair, textmate,
4289 wrap-region, electric-pair-mode, paredit and others. With the basic
4290 features found in other packages it also brings many improvements as
4291 well as completely new features.")
4292 (license license:gpl3+)))
4293
4294 (define-public emacs-highlight-symbol
4295 ;; We prefer a more recent commit that provides an option to squelch
4296 ;; echo-area alerts that can drown out useful information like eldoc
4297 ;; messages.
4298 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
4299 (version "1.3")
4300 (revision "1"))
4301 (package
4302 (name "emacs-highlight-symbol")
4303 (version (git-version version revision commit))
4304 (source
4305 (origin
4306 (method git-fetch)
4307 (uri (git-reference
4308 (url "https://github.com/nschum/highlight-symbol.el.git")
4309 (commit commit)))
4310 (file-name (git-file-name name version))
4311 (sha256
4312 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
4313 (build-system emacs-build-system)
4314 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
4315 (synopsis "Automatic and manual symbol highlighting for Emacs")
4316 (description
4317 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
4318 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
4319 the symbol at point highlighted.
4320
4321 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
4322 @code{highlight-symbol-next-in-defun} and
4323 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
4324 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
4325 bindings @code{M-p} and @code{M-p} for navigation. When
4326 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
4327 regardless of @code{highlight-symbol-idle-delay}.
4328
4329 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
4330 (license license:gpl2+))))
4331
4332 (define-public emacs-hl-todo
4333 (package
4334 (name "emacs-hl-todo")
4335 (version "3.0.0")
4336 (source (origin
4337 (method git-fetch)
4338 (uri (git-reference
4339 (url "https://github.com/tarsius/hl-todo")
4340 (commit (string-append "v" version))))
4341 (file-name (git-file-name name version))
4342 (sha256
4343 (base32
4344 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
4345 (build-system emacs-build-system)
4346 (home-page "https://github.com/tarsius/hl-todo")
4347 (synopsis "Emacs mode to highlight TODO and similar keywords")
4348 (description
4349 "This package provides an Emacs mode to highlight TODO and similar
4350 keywords in comments and strings. This package also provides commands for
4351 moving to the next or previous keyword and to invoke @code{occur} with a
4352 regexp that matches all known keywords.")
4353 (license license:gpl3+)))
4354
4355 (define-public emacs-perspective
4356 (package
4357 (name "emacs-perspective")
4358 (version "2.2")
4359 (source
4360 (origin
4361 (method git-fetch)
4362 (uri (git-reference
4363 (url "https://github.com/nex3/perspective-el.git")
4364 (commit version)))
4365 (file-name (git-file-name name version))
4366 (sha256
4367 (base32
4368 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
4369 (build-system emacs-build-system)
4370 (home-page "https://github.com/nex3/perspective-el")
4371 (synopsis "Switch between named \"perspectives\"")
4372 (description
4373 "This package provides tagged workspaces in Emacs, similar to workspaces in
4374 windows managers such as Awesome and XMonad. @code{perspective.el} provides
4375 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
4376 perspective is composed of a window configuration and a set of buffers.
4377 Switching to a perspective activates its window configuration, and when in a
4378 perspective only its buffers are available by default.")
4379 ;; This package is released under the same license as Emacs (GPLv3+) or
4380 ;; the Expat license.
4381 (license license:gpl3+)))
4382
4383 (define-public emacs-test-simple
4384 (package
4385 (name "emacs-test-simple")
4386 (version "1.3.0")
4387 (source
4388 (origin
4389 (method url-fetch)
4390 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
4391 version ".el"))
4392 (sha256
4393 (base32
4394 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
4395 (build-system emacs-build-system)
4396 (home-page "https://github.com/rocky/emacs-test-simple")
4397 (synopsis "Simple unit test framework for Emacs Lisp")
4398 (description
4399 "Test Simple is a simple unit test framework for Emacs Lisp. It
4400 alleviates the need for context macros, enclosing specifications or required
4401 test tags. It supports both interactive and non-interactive use.")
4402 (license license:gpl3+)))
4403
4404 (define-public emacs-load-relative
4405 (package
4406 (name "emacs-load-relative")
4407 (version "1.3")
4408 (source
4409 (origin
4410 (method url-fetch)
4411 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
4412 version ".el"))
4413 (sha256
4414 (base32
4415 "1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
4416 (build-system emacs-build-system)
4417 (home-page "http://github.com/rocky/emacs-load-relative")
4418 (synopsis "Emacs Lisp relative file loading related functions")
4419 (description
4420 "Provides functions which facilitate writing multi-file Emacs packages
4421 and running from the source tree without having to \"install\" code or fiddle
4422 with @{load-path}.
4423
4424 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
4425 another (presumably currently running) Emacs Lisp file.")
4426 (license license:gpl3+)))
4427
4428 (define-public emacs-loc-changes
4429 (package
4430 (name "emacs-loc-changes")
4431 (version "1.2")
4432 (source
4433 (origin
4434 (method url-fetch)
4435 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
4436 version ".el"))
4437 (sha256
4438 (base32
4439 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
4440 (build-system emacs-build-system)
4441 (home-page "https://github.com/rocky/emacs-loc-changes")
4442 (synopsis "Keeps track of positions even after buffer changes")
4443 (description
4444 "This Emacs package provides a mean to track important buffer positions
4445 after buffer changes.")
4446 (license license:gpl3+)))
4447
4448 (define-public emacs-realgud
4449 (package
4450 (name "emacs-realgud")
4451 (version "1.5.0")
4452 (source
4453 (origin
4454 (method git-fetch)
4455 (uri (git-reference
4456 (url "https://github.com/realgud/realgud/")
4457 (commit version)))
4458 (sha256
4459 (base32
4460 "0xnick9016wxrgi8v0lycvxhyz8l2k4nfvdpjc5yq476vwrjfzbz"))
4461 (file-name (git-file-name name version))))
4462 (build-system emacs-build-system)
4463 (arguments
4464 `(#:tests? #t
4465 #:phases
4466 (modify-phases %standard-phases
4467 (add-after 'set-emacs-load-path 'fix-autogen-script
4468 (lambda _
4469 (substitute* "autogen.sh"
4470 (("./configure") "sh configure"))))
4471 (add-after 'fix-autogen-script 'autogen
4472 (lambda _
4473 (setenv "CONFIG_SHELL" "sh")
4474 (invoke "sh" "autogen.sh")))
4475 (add-after 'fix-autogen-script 'set-home
4476 (lambda _
4477 (setenv "HOME" (getenv "TMPDIR"))))
4478 (add-before 'patch-el-files 'remove-realgud-pkg.el
4479 (lambda _
4480 ;; FIXME: `patch-el-files' crashes on this file with error:
4481 ;; unable to locate "bashdb".
4482 (delete-file "./test/test-regexp-bashdb.el"))))
4483 #:include (cons* ".*\\.el$" %default-include)))
4484 (native-inputs
4485 `(("autoconf" ,autoconf)
4486 ("automake" ,automake)
4487 ("emacs-test-simple" ,emacs-test-simple)))
4488 (propagated-inputs
4489 `(("emacs-load-relative" ,emacs-load-relative)
4490 ("emacs-loc-changes" ,emacs-loc-changes)))
4491 (home-page "https://github.com/realgud/realgud/")
4492 (synopsis
4493 "Modular front-end for interacting with external debuggers")
4494 (description
4495 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
4496 with external debuggers. It integrates various debuggers such as gdb, pdb,
4497 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
4498 sources. Unlike GUD, it also supports running multiple debug sessions in
4499 parallel.")
4500 (license license:gpl3+)))
4501
4502 (define-public emacs-request
4503 (package
4504 (name "emacs-request")
4505 (version "0.3.0")
4506 (source (origin
4507 (method git-fetch)
4508 (uri (git-reference
4509 (url "https://github.com/tkf/emacs-request.git")
4510 (commit (string-append "v" version))))
4511 (file-name (git-file-name name version))
4512 (sha256
4513 (base32
4514 "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
4515 (build-system emacs-build-system)
4516 (propagated-inputs
4517 `(("emacs-deferred" ,emacs-deferred)))
4518 (home-page "https://github.com/tkf/emacs-request")
4519 (synopsis "Package for speaking HTTP in Emacs Lisp")
4520 (description "This package provides a HTTP request library with multiple
4521 backends. It supports url.el which is shipped with Emacs and the curl command
4522 line program.")
4523 (license license:gpl3+)))
4524
4525 (define-public emacs-rudel
4526 (package
4527 (name "emacs-rudel")
4528 (version "0.3.1")
4529 (source
4530 (origin
4531 (method url-fetch)
4532 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
4533 version ".tar"))
4534 (sha256
4535 (base32
4536 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
4537 (build-system emacs-build-system)
4538 (home-page "http://rudel.sourceforge.net/")
4539 (synopsis "Collaborative editing framework")
4540 (description
4541 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
4542 is to share buffers with other users in order to edit the contents of those
4543 buffers collaboratively. Rudel supports multiple backends to enable
4544 communication with other collaborative editors using different protocols,
4545 though currently Obby (for use with the Gobby editor) is the only
4546 fully-functional one.")
4547 (license license:gpl3+)))
4548
4549 (define-public emacs-hydra
4550 (package
4551 (name "emacs-hydra")
4552 (version "0.15.0")
4553 (source
4554 (origin
4555 (method git-fetch)
4556 (uri (git-reference
4557 (url "https://github.com/abo-abo/hydra")
4558 (commit version)))
4559 (file-name (git-file-name name version))
4560 (sha256
4561 (base32
4562 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
4563 (build-system emacs-build-system)
4564 (home-page "https://github.com/abo-abo/hydra")
4565 (synopsis "Make Emacs bindings that stick around")
4566 (description
4567 "This package can be used to tie related commands into a family of short
4568 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
4569 the prefixed binding), all the heads can be called in succession with only a
4570 short extension. Any binding that isn't the Hydra's head vanquishes the
4571 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
4572 serve its original purpose, calling the command assigned to it. This makes
4573 the Hydra very seamless; it's like a minor mode that disables itself
4574 automatically.")
4575 (license license:gpl3+)))
4576
4577 (define-public emacs-ivy
4578 (package
4579 (name "emacs-ivy")
4580 (version "0.11.0")
4581 (source
4582 (origin
4583 (method git-fetch)
4584 (uri (git-reference
4585 (url "https://github.com/abo-abo/swiper.git")
4586 (commit version)))
4587 (file-name (git-file-name name version))
4588 (sha256
4589 (base32
4590 "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
4591 (build-system emacs-build-system)
4592 (arguments
4593 `(#:phases
4594 (modify-phases %standard-phases
4595 (add-after 'install 'install-doc
4596 (lambda* (#:key outputs #:allow-other-keys)
4597 (let* ((out (assoc-ref outputs "out"))
4598 (info (string-append out "/share/info")))
4599 (with-directory-excursion "doc"
4600 (invoke "makeinfo" "ivy.texi")
4601 (install-file "ivy.info" info)
4602 #t)))))))
4603 (propagated-inputs
4604 `(("emacs-hydra" ,emacs-hydra)))
4605 (native-inputs
4606 `(("texinfo" ,texinfo)))
4607 (home-page "http://oremacs.com/swiper/")
4608 (synopsis "Incremental vertical completion for Emacs")
4609 (description
4610 "This package provides @code{ivy-read} as an alternative to
4611 @code{completing-read} and similar functions. No attempt is made to determine
4612 the best candidate. Instead, the user can navigate candidates with
4613 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
4614 splitting the input text by spaces and re-building it into a regular
4615 expression.")
4616 (license license:gpl3+)))
4617
4618 (define-public emacs-ivy-pass
4619 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
4620 (revision "1"))
4621 (package
4622 (name "emacs-ivy-pass")
4623 (version (git-version "0.1" revision commit))
4624 (source
4625 (origin
4626 (method git-fetch)
4627 (uri (git-reference
4628 (url "https://github.com/ecraven/ivy-pass.git")
4629 (commit commit)))
4630 (file-name (git-file-name name version))
4631 (sha256
4632 (base32
4633 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
4634 (build-system emacs-build-system)
4635 (propagated-inputs
4636 `(("emacs-ivy" ,emacs-ivy)
4637 ("emacs-password-store" ,emacs-password-store)
4638 ("password-store" ,password-store)))
4639 (home-page "https://github.com/ecraven/ivy-pass")
4640 (synopsis "Ivy interface for password store (pass)")
4641 (description "This package provides an Ivy interface for working with
4642 the password store @code{pass}.")
4643 (license license:gpl3))))
4644
4645 (define-public emacs-ivy-yasnippet
4646 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
4647 (revision "2"))
4648 (package
4649 (name "emacs-ivy-yasnippet")
4650 (version (git-version "0.1" revision commit))
4651 (source
4652 (origin
4653 (method git-fetch)
4654 (uri (git-reference
4655 (url "https://github.com/mkcms/ivy-yasnippet.git")
4656 (commit commit)))
4657 (file-name (git-file-name name version))
4658 (sha256
4659 (base32
4660 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
4661 (build-system emacs-build-system)
4662 (propagated-inputs
4663 `(("emacs-ivy" ,emacs-ivy)
4664 ("emacs-yasnippet" ,emacs-yasnippet)
4665 ("emacs-dash" ,emacs-dash)))
4666 (home-page "https://github.com/mkcms/ivy-yasnippet")
4667 (synopsis "Preview @code{yasnippets} with @code{ivy}")
4668 (description "This package allows you to select @code{yasnippet}
4669 snippets using @code{ivy} completion. When current selection changes in the
4670 minibuffer, the snippet contents are temporarily expanded in the buffer. To
4671 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
4672 @code{yas-minor-mode} first).")
4673 (license license:gpl3+))))
4674
4675 (define-public emacs-ivy-rich
4676 ;; The latest release version has a small mistake that has since been fixed,
4677 ;; so we use a more recent commit.
4678 (let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08")
4679 (version "0.1.4")
4680 (revision "1"))
4681 (package
4682 (name "emacs-ivy-rich")
4683 (version (git-version version revision commit))
4684 (source
4685 (origin
4686 (method git-fetch)
4687 (uri (git-reference
4688 (url "https://github.com/Yevgnen/ivy-rich.git")
4689 (commit commit)))
4690 (file-name (git-file-name name version))
4691 (sha256
4692 (base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219"))))
4693 (build-system emacs-build-system)
4694 (propagated-inputs
4695 `(("emacs-ivy" ,emacs-ivy)))
4696 (home-page "https://github.com/Yevgnen/ivy-rich")
4697 (synopsis "More friendly interface for @code{ivy}")
4698 (description
4699 "This package extends @code{ivy} by showing more information in the
4700 minibuffer for each candidate. It adds columns showing buffer modes, file
4701 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
4702 show icons as well.")
4703 (license license:gpl3+))))
4704
4705 (define-public emacs-avy
4706 (package
4707 (name "emacs-avy")
4708 (version "0.5.0")
4709 (source
4710 (origin
4711 (method git-fetch)
4712 (uri (git-reference
4713 (url "https://github.com/abo-abo/avy.git")
4714 (commit version)))
4715 (file-name (git-file-name name version))
4716 (sha256
4717 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
4718 (build-system emacs-build-system)
4719 (home-page "https://github.com/abo-abo/avy")
4720 (synopsis "Tree-based completion for Emacs")
4721 (description
4722 "This package provides a generic completion method based on building a
4723 balanced decision tree with each candidate being a leaf. To traverse the tree
4724 from the root to a desired leaf, typically a sequence of @code{read-key} can
4725 be used.
4726
4727 In order for @code{read-key} to make sense, the tree needs to be visualized
4728 appropriately, with a character at each branch node. So this completion
4729 method works only for things that you can see on your screen, all at once,
4730 such as the positions of characters, words, line beginnings, links, or
4731 windows.")
4732 (license license:gpl3+)))
4733
4734 (define-public emacs-ace-window
4735 (package
4736 (name "emacs-ace-window")
4737 (version "0.9.0")
4738 (source
4739 (origin
4740 (method git-fetch)
4741 (uri (git-reference
4742 (url "https://github.com/abo-abo/ace-window.git")
4743 (commit version)))
4744 (file-name (git-file-name name version))
4745 (sha256
4746 (base32 "07mcdzjmgrqdvjs94f2n5bkrf5vrq2fwzz256wbm3wzqxqkfy1q6"))))
4747 (build-system emacs-build-system)
4748 (propagated-inputs
4749 `(("emacs-avy" ,emacs-avy)))
4750 (home-page "https://github.com/abo-abo/ace-window")
4751 (synopsis "Quickly switch windows in Emacs")
4752 (description
4753 "@code{ace-window} is meant to replace @code{other-window}.
4754 In fact, when there are only two windows present, @code{other-window} is
4755 called. If there are more, each window will have its first character
4756 highlighted. Pressing that character will switch to that window.")
4757 (license license:gpl3+)))
4758
4759 (define-public emacs-iedit
4760 (package
4761 (name "emacs-iedit")
4762 (version "0.9.9.9")
4763 (source
4764 (origin
4765 (method git-fetch)
4766 (uri (git-reference
4767 (url "https://github.com/victorhge/iedit.git")
4768 (commit (string-append "v" version))))
4769 (file-name (git-file-name name version))
4770 (sha256
4771 (base32 "1pwkrm98vlpzsy5iwwfksdaz3zzyi7bvdf5fglhsn4ssf47p787g"))))
4772 (build-system emacs-build-system)
4773 (home-page "http://www.emacswiki.org/emacs/Iedit")
4774 (synopsis "Edit multiple regions in the same way simultaneously")
4775 (description
4776 "This package is an Emacs minor mode and allows you to edit one
4777 occurrence of some text in a buffer (possibly narrowed) or region, and
4778 simultaneously have other occurrences edited in the same way.
4779
4780 You can also use Iedit mode as a quick way to temporarily show only the buffer
4781 lines that match the current text being edited. This gives you the effect of
4782 a temporary @code{keep-lines} or @code{occur}.")
4783 (license license:gpl3+)))
4784
4785 (define-public emacs-zoutline
4786 (package
4787 (name "emacs-zoutline")
4788 (version "0.2.0")
4789 (source
4790 (origin
4791 (method git-fetch)
4792 (uri (git-reference
4793 (url "https://github.com/abo-abo/zoutline")
4794 (commit version)))
4795 (sha256
4796 (base32
4797 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
4798 (file-name (git-file-name name version))))
4799 (build-system emacs-build-system)
4800 (home-page "https://github.com/abo-abo/zoutline")
4801 (synopsis "Simple outline library")
4802 (description
4803 "This library provides helpers for outlines. Outlines allow users to
4804 navigate code in a tree-like fashion.")
4805 (license license:gpl3+)))
4806
4807 (define-public emacs-lispy
4808 (package
4809 (name "emacs-lispy")
4810 (version "0.27.0")
4811 (home-page "https://github.com/abo-abo/lispy")
4812 (source (origin
4813 (method git-fetch)
4814 (uri (git-reference
4815 (url "https://github.com/abo-abo/lispy")
4816 (commit version)))
4817 (sha256
4818 (base32
4819 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
4820 (file-name (git-file-name name version))))
4821 (build-system emacs-build-system)
4822 (propagated-inputs
4823 `(("emacs-ace-window" ,emacs-ace-window)
4824 ("emacs-iedit" ,emacs-iedit)
4825 ("emacs-ivy" ,emacs-ivy)
4826 ("emacs-hydra" ,emacs-hydra)
4827 ("emacs-zoutline" ,emacs-zoutline)))
4828 (synopsis "Modal S-expression editing")
4829 (description
4830 "Due to the structure of Lisp syntax it's very rare for the programmer
4831 to want to insert characters right before \"(\" or right after \")\". Thus
4832 unprefixed printable characters can be used to call commands when the point is
4833 at one of these special locations. Lispy provides unprefixed keybindings for
4834 S-expression editing when point is at the beginning or end of an
4835 S-expression.")
4836 (license license:gpl3+)))
4837
4838 (define-public emacs-lispyville
4839 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
4840 (revision "1"))
4841 (package
4842 (name "emacs-lispyville")
4843 (version (git-version "0.1" revision commit))
4844 (home-page "https://github.com/noctuid/lispyville")
4845 (source (origin
4846 (method git-fetch)
4847 (uri (git-reference (url home-page) (commit commit)))
4848 (sha256
4849 (base32
4850 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
4851 (file-name (git-file-name name version))))
4852 (propagated-inputs
4853 `(("emacs-evil" ,emacs-evil)
4854 ("emacs-lispy" ,emacs-lispy)))
4855 (build-system emacs-build-system)
4856 (synopsis "Minor mode for integrating Evil with lispy")
4857 (description
4858 "LispyVille's main purpose is to provide a Lisp editing environment
4859 suited towards Evil users. It can serve as a minimal layer on top of lispy
4860 for better integration with Evil, but it does not require the use of lispy’s
4861 keybinding style. The provided commands allow for editing Lisp in normal
4862 state and will work even without lispy being enabled.")
4863 (license license:gpl3+))))
4864
4865 (define-public emacs-lpy
4866 (let ((commit "553d28f7b6523ae5d44d34852ab770b871b0b0ad")
4867 (version "0.1.0")
4868 (revision "1"))
4869 (package
4870 (name "emacs-lpy")
4871 (version (git-version version revision commit))
4872 (source
4873 (origin
4874 (method git-fetch)
4875 (uri (git-reference
4876 (url "https://github.com/abo-abo/lpy")
4877 (commit commit)))
4878 (sha256
4879 (base32
4880 "0kl9b3gga18cwv5cq4db8i6b7waj6mp3h2l7qjnp7wq6dpvwhn0i"))
4881 (file-name (git-file-name name version))))
4882 (propagated-inputs
4883 `(("emacs-zoutline" ,emacs-zoutline)
4884 ("emacs-lispy" ,emacs-lispy)))
4885 (build-system emacs-build-system)
4886 (home-page "https://github.com/abo-abo/lpy")
4887 (synopsis "Modal editing for Python")
4888 (description
4889 "This package provides a minor mode for Python that binds useful
4890 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
4891 circumstances, and leaves the keys untouched outside of those situations,
4892 allowing unprefixed keys to insert their respective characters as expected.")
4893 (license license:gpl3+))))
4894
4895 (define-public emacs-clojure-mode
4896 (package
4897 (name "emacs-clojure-mode")
4898 (version "5.6.1")
4899 (source
4900 (origin
4901 (method git-fetch)
4902 (uri (git-reference
4903 (url "https://github.com/clojure-emacs/clojure-mode.git")
4904 (commit version)))
4905 (file-name (git-file-name name version))
4906 (sha256
4907 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
4908 (build-system emacs-build-system)
4909 (native-inputs
4910 `(("emacs-dash" ,emacs-dash)
4911 ("emacs-s" ,emacs-s)
4912 ("ert-runner" ,emacs-ert-runner)))
4913 (arguments
4914 `(#:tests? #t
4915 #:test-command '("ert-runner")))
4916 (home-page "https://github.com/clojure-emacs/clojure-mode")
4917 (synopsis "Major mode for Clojure code")
4918 (description
4919 "This Emacs package provides font-lock, indentation, navigation and basic
4920 refactoring for the @uref{http://clojure.org, Clojure programming language}.
4921 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
4922 (license license:gpl3+)))
4923
4924 (define-public emacs-epl
4925 (package
4926 (name "emacs-epl")
4927 (version "0.8")
4928 (source
4929 (origin
4930 (method git-fetch)
4931 (uri (git-reference
4932 (url "https://github.com/cask/epl.git")
4933 (commit version)))
4934 (file-name (git-file-name name version))
4935 (sha256
4936 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
4937 (build-system emacs-build-system)
4938 (home-page "https://github.com/cask/epl")
4939 (synopsis "Emacs Package Library")
4940 (description
4941 "A package management library for Emacs, based on @code{package.el}.
4942
4943 The purpose of this library is to wrap all the quirks and hassle of
4944 @code{package.el} into a sane API.")
4945 (license license:gpl3+)))
4946
4947 (define-public emacs-counsel-projectile
4948 (package
4949 (name "emacs-counsel-projectile")
4950 (version "0.3.0")
4951 (source (origin
4952 (method git-fetch)
4953 (uri (git-reference
4954 (url "https://github.com/ericdanan/counsel-projectile")
4955 (commit version)))
4956 (file-name (git-file-name name version))
4957 (sha256
4958 (base32
4959 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
4960 (build-system emacs-build-system)
4961 (propagated-inputs
4962 `(("emacs-ivy" ,emacs-ivy)
4963 ("emacs-projectile" ,emacs-projectile)))
4964 (home-page "https://github.com/ericdanan/counsel-projectile")
4965 (synopsis "Enhance Projectile with Ivy")
4966 (description
4967 "This package uses Ivy to provide additional actions for Projectile
4968 commands and replacements for existing functions.")
4969 (license license:gpl3+)))
4970
4971 (define-public emacs-queue
4972 (package
4973 (name "emacs-queue")
4974 (version "0.2")
4975 (source (origin
4976 (method url-fetch)
4977 (uri (string-append "https://elpa.gnu.org/packages/queue-"
4978 version ".el"))
4979 (sha256
4980 (base32
4981 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
4982 (build-system emacs-build-system)
4983 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
4984 (synopsis "Queue data structure for Emacs")
4985 (description
4986 "This Emacs library provides queue data structure. These queues can be
4987 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
4988 stack, i.e. elements can be added to the front or back of the queue, and can
4989 be removed from the front. This type of data structure is sometimes called an
4990 \"output-restricted deque\".")
4991 (license license:gpl3+)))
4992
4993 (define-public emacs-pkg-info
4994 (package
4995 (name "emacs-pkg-info")
4996 (version "0.6")
4997 (source
4998 (origin
4999 (method git-fetch)
5000 (uri (git-reference
5001 (url "https://github.com/lunaryorn/pkg-info.el.git")
5002 (commit version)))
5003 (file-name (git-file-name name version))
5004 (sha256
5005 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
5006 (build-system emacs-build-system)
5007 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
5008 (home-page "https://github.com/lunaryorn/pkg-info.el")
5009 (synopsis "Information about Emacs packages")
5010 (description
5011 "This library extracts information from the installed Emacs packages.")
5012 (license license:gpl3+)))
5013
5014 (define-public emacs-spinner
5015 (package
5016 (name "emacs-spinner")
5017 (version "1.7.3")
5018 (source (origin
5019 (method url-fetch)
5020 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
5021 version ".el"))
5022 (sha256
5023 (base32
5024 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
5025 (build-system emacs-build-system)
5026 (home-page "https://github.com/Malabarba/spinner.el")
5027 (synopsis "Emacs mode-line spinner for operations in progress")
5028 (description
5029 "This Emacs package adds spinners and progress-bars to the mode-line for
5030 ongoing operations.")
5031 (license license:gpl3+)))
5032
5033 (define-public emacs-sparql-mode
5034 (package
5035 (name "emacs-sparql-mode")
5036 (version "2.0.1")
5037 (source
5038 (origin
5039 (method git-fetch)
5040 (uri (git-reference
5041 (url "https://github.com/ljos/sparql-mode.git")
5042 (commit (string-append "v" version))))
5043 (file-name (git-file-name name version))
5044 (sha256
5045 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
5046 (build-system emacs-build-system)
5047 (home-page "https://github.com/ljos/sparql-mode")
5048 (synopsis "SPARQL mode for Emacs")
5049 (description "This package provides a major mode for Emacs that provides
5050 syntax highlighting for SPARQL. It also provides a way to execute queries
5051 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
5052 possible to query other endpoints like DBPedia.")
5053 (license license:gpl3+)))
5054
5055 (define-public emacs-better-defaults
5056 (package
5057 (name "emacs-better-defaults")
5058 (version "0.1.3")
5059 (source
5060 (origin
5061 (method url-fetch)
5062 (uri (string-append "https://github.com/technomancy/better-defaults"
5063 "/archive/" version ".tar.gz"))
5064 (file-name (string-append name "-" version ".tar.gz"))
5065 (sha256
5066 (base32
5067 "08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
5068 (build-system emacs-build-system)
5069 (home-page "https://github.com/technomancy/better-defaults")
5070 (synopsis "Better defaults for Emacs")
5071 (description
5072 "Better defaults attempts to address the most obvious deficiencies of the
5073 Emacs default configuration in uncontroversial ways that nearly everyone can
5074 agree upon.")
5075 (license license:gpl3+)))
5076
5077 (define-public emacs-undohist-el
5078 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
5079 (revision "1"))
5080 (package
5081 (name "emacs-undohist-el")
5082 (version (git-version "0" revision commit))
5083 (source
5084 (origin
5085 (method git-fetch)
5086 (uri (git-reference
5087 (url "https://github.com/m2ym/undohist-el")
5088 (commit commit)))
5089 (file-name (git-file-name name version))
5090 (sha256
5091 (base32
5092 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
5093 (patches
5094 (search-patches "emacs-undohist-ignored.patch"))))
5095 (build-system emacs-build-system)
5096 (home-page "https://github.com/m2ym/undohist-el")
5097 (synopsis "Save undo history between sessions")
5098 (description "This package allows persistent use of undo history for
5099 individual file buffers.")
5100 (license license:gpl3+))))
5101
5102 (define-public emacs-eprime
5103 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
5104 (package
5105 (name "emacs-eprime")
5106 (version (string-append "20140513-" (string-take commit 7)))
5107 (source (origin
5108 (method url-fetch)
5109 (uri (string-append "https://raw.githubusercontent.com"
5110 "/AndrewHynes/eprime-mode/"
5111 commit "/eprime-mode.el"))
5112 (file-name (string-append "eprime-" version ".el"))
5113 (sha256
5114 (base32
5115 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
5116 (build-system emacs-build-system)
5117 (home-page "https://github.com/AndrewHynes/eprime-mode")
5118 (synopsis "E-prime checking mode for Emacs")
5119 (description "This package provides an E-prime checking mode for Emacs
5120 that highlights non-conforming text. The subset of the English language called
5121 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
5122 (license license:gpl3+))))
5123
5124 (define-public emacs-julia-mode
5125 ;; XXX: Upstream version remained stuck at 0.3. See
5126 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
5127 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
5128 (revision "1"))
5129 (package
5130 (name "emacs-julia-mode")
5131 (version (string-append "0.3-" revision "." (string-take commit 8)))
5132 (source
5133 (origin
5134 (method git-fetch)
5135 (uri (git-reference
5136 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
5137 (commit commit)))
5138 (file-name (git-file-name name version))
5139 (sha256
5140 (base32
5141 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
5142 (build-system emacs-build-system)
5143 (arguments
5144 `(#:tests? #t
5145 #:test-command '("emacs" "--batch"
5146 "-l" "julia-mode-tests.el"
5147 "-f" "ert-run-tests-batch-and-exit")))
5148 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
5149 (synopsis "Major mode for Julia")
5150 (description "This Emacs package provides a mode for the Julia
5151 programming language.")
5152 (license license:expat))))
5153
5154 (define-public emacs-smex
5155 (package
5156 (name "emacs-smex")
5157 (version "3.0")
5158 (source (origin
5159 (method url-fetch)
5160 (uri (string-append "https://raw.githubusercontent.com"
5161 "/nonsequitur/smex/" version "/smex.el"))
5162 (file-name (string-append "smex-" version ".el"))
5163 (sha256
5164 (base32
5165 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
5166 (build-system emacs-build-system)
5167 (home-page "https://github.com/nonsequitur/smex/")
5168 (synopsis "M-x interface with Ido-style fuzzy matching")
5169 (description
5170 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
5171 convenient interface to your recently and most frequently used commands. And
5172 to all the other commands, too.")
5173 (license license:gpl3+)))
5174
5175 (define-public emacs-js2-mode
5176 (package
5177 (name "emacs-js2-mode")
5178 (version "20190219")
5179 (source
5180 (origin
5181 (method git-fetch)
5182 (uri (git-reference
5183 (url "https://github.com/mooz/js2-mode.git")
5184 (commit version)))
5185 (file-name (git-file-name name version))
5186 (sha256
5187 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
5188 (build-system emacs-build-system)
5189 (home-page "https://github.com/mooz/js2-mode/")
5190 (synopsis "Improved JavaScript editing mode for Emacs")
5191 (description
5192 "Js2-mode provides a JavaScript major mode for Emacs that is more
5193 advanced than the built-in javascript-mode. Features include accurate syntax
5194 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
5195 errors and strict-mode warnings, smart line-wrapping within comments and
5196 strings, and code folding.")
5197 (license license:gpl3+)))
5198
5199 (define-public emacs-nodejs-repl
5200 (package
5201 (name "emacs-nodejs-repl")
5202 (version "0.2.1")
5203 (source (origin
5204 (method git-fetch)
5205 (uri (git-reference
5206 (url "https://github.com/abicky/nodejs-repl.el")
5207 (commit version)))
5208 (file-name (git-file-name name version))
5209 (sha256
5210 (base32
5211 "05ccv87rnw7fss3lib8m9sywjrj6n92fnd7mmhmjh27g2klqc83z"))))
5212 (build-system emacs-build-system)
5213 (home-page "https://github.com/abicky/nodejs-repl.el")
5214 (synopsis "Node.js REPL inside Emacs")
5215 (description
5216 "This program is derived from comint-mode and provides the following
5217 features:
5218
5219 @itemize
5220 @item TAB completion same as Node.js REPL
5221 @item file name completion in string
5222 @item incremental history search
5223 @end itemize")
5224 (license license:gpl3+)))
5225
5226 (define-public emacs-typescript-mode
5227 (package
5228 (name "emacs-typescript-mode")
5229 (version "0.3")
5230 (source (origin
5231 (method git-fetch)
5232 (uri (git-reference
5233 (url "https://github.com/ananthakumaran/typescript.el")
5234 (commit (string-append "v" version))))
5235 (file-name (git-file-name name version))
5236 (sha256
5237 (base32
5238 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
5239 (build-system emacs-build-system)
5240 (home-page "https://github.com/ananthakumaran/typescript.el")
5241 (synopsis "Emacs major mode for editing Typescript code")
5242 (description
5243 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
5244 This is much more robust and works with @code{cc-mode}'s comment
5245 filling (mostly). The modifications to the original @code{javascript.el} mode
5246 mainly consisted in replacing \"javascript\" with \"typescript\"
5247
5248 The main features of this Typescript mode are syntactic highlighting (enabled
5249 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
5250 indentation and filling of comments and C preprocessor fontification.")
5251 (license license:gpl3+)))
5252
5253 (define-public emacs-tide
5254 (package
5255 (name "emacs-tide")
5256 (version "3.2.3")
5257 (source (origin
5258 (method git-fetch)
5259 (uri (git-reference
5260 (url "https://github.com/ananthakumaran/tide")
5261 (commit (string-append "v" version))))
5262 (file-name (git-file-name name version))
5263 (sha256
5264 (base32
5265 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
5266 (build-system emacs-build-system)
5267 (propagated-inputs
5268 `(("emacs-dash" ,emacs-dash)
5269 ("emacs-s" ,emacs-s)
5270 ("emacs-flycheck" ,emacs-flycheck)
5271 ("emacs-typescript-mode" ,emacs-typescript-mode)))
5272 (home-page "https://github.com/ananthakumaran/tide")
5273 (synopsis "Typescript IDE for Emacs")
5274 (description
5275 "Tide is an Interactive Development Environment (IDE) for Emacs which
5276 provides the following features:
5277
5278 @itemize
5279 @item ElDoc
5280 @item Auto complete
5281 @item Flycheck
5282 @item Jump to definition, Jump to type definition
5283 @item Find occurrences
5284 @item Rename symbol
5285 @item Imenu
5286 @item Compile On Save
5287 @item Highlight Identifiers
5288 @item Code Fixes
5289 @item Code Refactor
5290 @item Organize Imports
5291 @end itemize")
5292 (license license:gpl3+)))
5293
5294 (define-public emacs-markdown-mode
5295 (package
5296 (name "emacs-markdown-mode")
5297 (version "2.3")
5298 (source (origin
5299 (method url-fetch)
5300 (uri (string-append "https://raw.githubusercontent.com/jrblevin"
5301 "/markdown-mode/v" version
5302 "/markdown-mode.el"))
5303 (file-name (string-append "markdown-mode-" version ".el"))
5304 (sha256
5305 (base32
5306 "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi"))))
5307 (build-system emacs-build-system)
5308 (home-page "http://jblevins.org/projects/markdown-mode/")
5309 (synopsis "Emacs Major mode for Markdown files")
5310 (description
5311 "Markdown-mode is a major mode for editing Markdown-formatted text files
5312 in Emacs.")
5313 (license license:gpl3+)))
5314
5315 (define-public emacs-edit-indirect
5316 (package
5317 (name "emacs-edit-indirect")
5318 (version "0.1.5")
5319 (source
5320 (origin
5321 (method git-fetch)
5322 (uri (git-reference
5323 (url "https://github.com/Fanael/edit-indirect")
5324 (commit version)))
5325 (file-name (git-file-name name version))
5326 (sha256
5327 (base32
5328 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
5329 (build-system emacs-build-system)
5330 (home-page "https://github.com/Fanael/edit-indirect")
5331 (synopsis "Edit regions in separate buffers")
5332 (description "This package allows you to edit regions in separate buffers,
5333 like @code{org-edit-src-code} but for arbitrary regions.")
5334 (license license:gpl3+)))
5335
5336 (define-public emacs-projectile
5337 (package
5338 (name "emacs-projectile")
5339 (version "2.0.0")
5340 (source (origin
5341 (method url-fetch)
5342 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
5343 "/projectile/v" version "/projectile.el"))
5344 (file-name (string-append "projectile-" version ".el"))
5345 (sha256
5346 (base32
5347 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
5348 (build-system emacs-build-system)
5349 (propagated-inputs
5350 `(("emacs-dash" ,emacs-dash)
5351 ("emacs-pkg-info" ,emacs-pkg-info)))
5352 (home-page "https://github.com/bbatsov/projectile")
5353 (synopsis "Manage and navigate projects in Emacs easily")
5354 (description
5355 "This library provides easy project management and navigation. The
5356 concept of a project is pretty basic - just a folder containing special file.
5357 Currently git, mercurial and bazaar repos are considered projects by default.
5358 If you want to mark a folder manually as a project just create an empty
5359 .projectile file in it.")
5360 (license license:gpl3+)))
5361
5362 (define-public emacs-elfeed
5363 (package
5364 (name "emacs-elfeed")
5365 (version "3.1.0")
5366 (source
5367 (origin
5368 (method git-fetch)
5369 (uri (git-reference
5370 (url "https://github.com/skeeto/elfeed.git")
5371 (commit version)))
5372 (file-name (git-file-name name version))
5373 (sha256
5374 (base32 "1bzpl6lc7kq9bph4bfz1fn19207blrnhjr2g7yinhn0nnnjmxi8i"))))
5375 (build-system emacs-build-system)
5376 (arguments
5377 `(#:tests? #t
5378 #:test-command '("make" "test")))
5379 (home-page "https://github.com/skeeto/elfeed")
5380 (synopsis "Atom/RSS feed reader for Emacs")
5381 (description
5382 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
5383 and RSS, with a user interface inspired by notmuch.")
5384 (license license:gpl3+)))
5385
5386 (define-public emacs-elfeed-org
5387 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
5388 (package
5389 (name "emacs-elfeed-org")
5390 (version (git-version "0.1" "1" commit))
5391 (source
5392 (origin
5393 (method git-fetch)
5394 (uri (git-reference
5395 (url "https://github.com/remyhonig/elfeed-org.git")
5396 (commit commit)))
5397 (file-name (git-file-name name version))
5398 (sha256
5399 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
5400 (build-system emacs-build-system)
5401 (propagated-inputs
5402 `(("emacs-elfeed" ,emacs-elfeed)
5403 ("emacs-org" ,emacs-org)
5404 ("emacs-dash" ,emacs-dash)
5405 ("emacs-s" ,emacs-s)))
5406 (native-inputs
5407 `(("ert-runner" ,emacs-ert-runner)
5408 ("emacs-xtest" ,emacs-xtest)))
5409 (arguments
5410 `(#:tests? #t
5411 #:test-command '("ert-runner" "-L" "org-mode/lisp")
5412 #:phases
5413 (modify-phases %standard-phases
5414 (add-before 'check 'chmod
5415 (lambda _
5416 (chmod "test/fixture-mark-feed-ignore.org" #o644)
5417 #t)))))
5418 (home-page "https://github.com/remyhonig/elfeed-org")
5419 (synopsis "Configure Elfeed with an Org-mode file")
5420 (description
5421 "@code{elfeed-org} lets you manage your Elfeed subscriptions
5422 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
5423 the regular flat list, where there is no hierarchy and tag names are
5424 duplicated a lot. Org-mode makes the book keeping of tags and feeds
5425 much easier.")
5426 (license license:gpl3+))))
5427
5428 (define-public emacs-el-x
5429 (package
5430 (name "emacs-el-x")
5431 (version "0.3.1")
5432 (source (origin
5433 (method git-fetch)
5434 (uri (git-reference
5435 (url "https://github.com/sigma/el-x.git")
5436 (commit (string-append "v" version))))
5437 (file-name (git-file-name name version))
5438 (sha256
5439 (base32
5440 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
5441 (build-system emacs-build-system)
5442 (arguments
5443 `(#:phases
5444 (modify-phases %standard-phases
5445 ;; Move the source files to the top level, which is included in
5446 ;; the EMACSLOADPATH.
5447 (add-after 'unpack 'move-source-files
5448 (lambda _
5449 (let ((el-files (find-files "./lisp" ".*\\.el$")))
5450 (for-each (lambda (f)
5451 (rename-file f (basename f)))
5452 el-files))
5453 #t)))))
5454 (home-page "https://github.com/sigma/el-x")
5455 (synopsis "Emacs Lisp extensions")
5456 (description "command@{emacs-el-x} defines the @code{dflet} macro to
5457 provide the historic behavior of @code{flet}, as well as
5458 @code{declare-function} stub for older Emacs.")
5459 (license license:gpl2+)))
5460
5461 (define-public emacs-mocker
5462 (package
5463 (name "emacs-mocker")
5464 (version "0.3.1")
5465 (source (origin
5466 (method git-fetch)
5467 (uri (git-reference
5468 (url "https://github.com/sigma/mocker.el.git")
5469 (commit (string-append "v" version))))
5470 (file-name (git-file-name name version))
5471 (sha256
5472 (base32
5473 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
5474 (build-system emacs-build-system)
5475 (arguments
5476 `(#:tests? #t
5477 #:test-command '("ert-runner")))
5478 (native-inputs
5479 `(("ert-runner" ,emacs-ert-runner)))
5480 (propagated-inputs
5481 `(("emacs-el-x" ,emacs-el-x)))
5482 (home-page "https://github.com/sigma/mocker.el")
5483 (synopsis "Mocking framework for Emacs Lisp")
5484 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
5485 It uses regular Lisp rather than a domain specific language (DSL), which
5486 maximizes flexibility (at the expense of conciseness).")
5487 (license license:gpl2+)))
5488
5489 (define-public emacs-find-file-in-project
5490 (package
5491 (name "emacs-find-file-in-project")
5492 (version "5.4.7")
5493 (source (origin
5494 (method git-fetch)
5495 (uri (git-reference
5496 (url "https://github.com/technomancy/find-file-in-project.git")
5497 (commit version)))
5498 (file-name (git-file-name name version))
5499 (sha256
5500 (base32
5501 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
5502 (build-system emacs-build-system)
5503 (arguments
5504 `(#:phases
5505 (modify-phases %standard-phases
5506 (add-before 'check 'set-shell
5507 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
5508 ;; work.
5509 (lambda _
5510 (setenv "SHELL" (which "sh"))
5511 #t)))
5512 #:tests? #t
5513 #:test-command '("./tests/test.sh")))
5514 (home-page "https://github.com/technomancy/find-file-in-project")
5515 (synopsis "File/directory finder for Emacs")
5516 (description "@code{find-file-in-project} allows to find files or
5517 directories quickly in the current project. The project root is detected
5518 automatically when Git, Subversion or Mercurial are used. It also provides
5519 functions to assist in reviewing changes on files.")
5520 (license license:gpl3+)))
5521
5522 (define-public emacs-pyvenv
5523 (package
5524 (name "emacs-pyvenv")
5525 (version "1.20")
5526 (source (origin
5527 (method git-fetch)
5528 (uri (git-reference
5529 (url "https://github.com/jorgenschaefer/pyvenv.git")
5530 (commit (string-append "v" version))))
5531 (file-name (git-file-name name version))
5532 (sha256
5533 (base32
5534 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
5535 (build-system emacs-build-system)
5536 (arguments
5537 `(#:phases
5538 (modify-phases %standard-phases
5539 ;; This phase incorrectly attempts to substitute "activate" and fails
5540 ;; doing so.
5541 (delete 'patch-el-files))
5542 #:tests? #t
5543 #:test-command '("ert-runner")))
5544 (native-inputs
5545 `(("ert-runner" ,emacs-ert-runner)
5546 ("emacs-mocker" ,emacs-mocker)))
5547 (home-page "https://github.com/jorgenschaefer/pyvenv")
5548 (synopsis "Python virtual environment interface for Emacs")
5549 (description "pyvenv.el is a minor mode to support using Python virtual
5550 environments (virtualenv) inside Emacs.")
5551 (license license:gpl3+)))
5552
5553 (define-public emacs-highlight-indentation
5554 (package
5555 (name "emacs-highlight-indentation")
5556 (version "0.7.0")
5557 (source (origin
5558 (method git-fetch)
5559 (uri (git-reference
5560 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
5561 (commit (string-append "v" version))))
5562 (file-name (git-file-name name version))
5563 (sha256
5564 (base32
5565 "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"))))
5566 (build-system emacs-build-system)
5567 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
5568 (synopsis "Highlighting indentation for Emacs")
5569 (description "Provides two minor modes to highlight indentation guides in Emacs:
5570 @enumerate
5571 @item @code{highlight-indentation-mode}, which displays guidelines
5572 indentation (space indentation only).
5573 @item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only).
5574 @end enumerate")
5575 (license license:gpl2+)))
5576
5577 (define-public emacs-elpy
5578 (package
5579 (name "emacs-elpy")
5580 (version "1.28.0")
5581 (source (origin
5582 (method git-fetch)
5583 (uri (git-reference
5584 (url "https://github.com/jorgenschaefer/elpy.git")
5585 (commit version)))
5586 (file-name (git-file-name name version))
5587 (sha256
5588 (base32
5589 "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"))))
5590 (build-system emacs-build-system)
5591 (arguments
5592 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
5593 #:phases
5594 ;; TODO: Make `elpy-config' display Guix commands :)
5595 (modify-phases %standard-phases
5596 ;; One elpy test depends on being run inside a Python virtual
5597 ;; environment to pass. We have nothing to gain from doing so here,
5598 ;; so we just trick Elpy into thinking we are (see:
5599 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
5600 (add-before 'check 'fake-virtualenv
5601 (lambda _
5602 (setenv "VIRTUAL_ENV" "/tmp")
5603 #t))
5604 (add-before 'check 'build-doc
5605 (lambda _
5606 (with-directory-excursion "docs"
5607 (invoke "make" "info" "man"))
5608 ;; Move .info file at the root so that it can installed by the
5609 ;; 'move-doc phase.
5610 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
5611 #t))
5612 (add-after 'build-doc 'install-manpage
5613 (lambda* (#:key outputs #:allow-other-keys)
5614 (let* ((out (assoc-ref outputs "out"))
5615 (man1 (string-append out "/share/man/man1")))
5616 (mkdir-p man1)
5617 (copy-file "docs/_build/man/elpy.1"
5618 (string-append man1 "/elpy.1")))
5619 #t)))
5620 #:tests? #t
5621 #:test-command '("ert-runner")))
5622 (propagated-inputs
5623 `(("emacs-company" ,emacs-company)
5624 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
5625 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
5626 ("emacs-yasnippet" ,emacs-yasnippet)
5627 ("pyvenv" ,emacs-pyvenv)
5628 ("s" ,emacs-s)))
5629 (native-inputs
5630 `(("ert-runner" ,emacs-ert-runner)
5631 ("emacs-f" ,emacs-f)
5632 ("python" ,python-wrapper)
5633 ("python-autopep8" ,python-autopep8)
5634 ("python-black" ,python-black)
5635 ("python-flake8" ,python-flake8)
5636 ("python-jedi" ,python-jedi)
5637 ("python-yapf" ,python-yapf)
5638 ;; For documentation.
5639 ("python-sphinx" ,python-sphinx)
5640 ("texinfo" ,texinfo)))
5641 (home-page "https://github.com/jorgenschaefer/elpy")
5642 (synopsis "Python development environment for Emacs")
5643 (description "Elpy brings powerful Python editing to Emacs. It combines
5644 and configures a number of other packages written in Emacs Lisp as well as
5645 Python, together offering features such as navigation, documentation,
5646 completion, interactive development and more.")
5647 (license license:gpl3+)))
5648
5649 (define-public emacs-rainbow-delimiters
5650 (package
5651 (name "emacs-rainbow-delimiters")
5652 (version "2.1.3")
5653 (source (origin
5654 (method url-fetch)
5655 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5656 "/rainbow-delimiters/" version
5657 "/rainbow-delimiters.el"))
5658 (file-name (string-append "rainbow-delimiters-" version ".el"))
5659 (sha256
5660 (base32
5661 "1b3kampwsjabhcqdp0khgff13wc5jqhy3rbvaa12vnv7qy22l9ck"))))
5662 (build-system emacs-build-system)
5663 (home-page "https://github.com/Fanael/rainbow-delimiters")
5664 (synopsis "Highlight brackets according to their depth")
5665 (description
5666 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
5667 highlights parentheses, brackets, and braces according to their depth. Each
5668 successive level is highlighted in a different color, making it easy to spot
5669 matching delimiters, orient yourself in the code, and tell which statements
5670 are at a given level.")
5671 (license license:gpl3+)))
5672
5673 (define-public emacs-rainbow-identifiers
5674 (package
5675 (name "emacs-rainbow-identifiers")
5676 (version "0.2.2")
5677 (source (origin
5678 (method url-fetch)
5679 (uri (string-append "https://raw.githubusercontent.com/Fanael"
5680 "/rainbow-identifiers/" version
5681 "/rainbow-identifiers.el"))
5682 (file-name (string-append "rainbow-identifiers-" version ".el"))
5683 (sha256
5684 (base32
5685 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
5686 (build-system emacs-build-system)
5687 (home-page "https://github.com/Fanael/rainbow-identifiers")
5688 (synopsis "Highlight identifiers in source code")
5689 (description
5690 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
5691 identifiers based on their names. Each identifier gets a color based on a hash
5692 of its name.")
5693 (license license:bsd-2)))
5694
5695 (define-public emacs-rainbow-mode
5696 (package
5697 (name "emacs-rainbow-mode")
5698 (version "1.0.1")
5699 (source (origin
5700 (method url-fetch)
5701 (uri (string-append
5702 "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
5703 (sha256
5704 (base32
5705 "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
5706 (build-system emacs-build-system)
5707 (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
5708 (synopsis "Colorize color names in buffers")
5709 (description
5710 "This minor mode sets background color to strings that match color
5711 names, e.g. #0000ff is displayed in white with a blue background.")
5712 (license license:gpl3+)))
5713
5714 (define-public emacs-visual-fill-column
5715 (package
5716 (name "emacs-visual-fill-column")
5717 (version "1.11")
5718 (source (origin
5719 (method url-fetch)
5720 (uri (string-append "https://codeload.github.com/joostkremers/"
5721 "visual-fill-column/tar.gz/" version))
5722 (file-name (string-append name "-" version ".tar.gz"))
5723 (sha256
5724 (base32
5725 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
5726 (build-system emacs-build-system)
5727 (home-page "https://github.com/joostkremers/visual-fill-column")
5728 (synopsis "Fill-column for visual-line-mode")
5729 (description
5730 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
5731 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
5732 wrapping lines at the window edge, which is the standard behaviour of
5733 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
5734 @code{fill-column} is too large for the window, the text is wrapped at the
5735 window edge.")
5736 (license license:gpl3+)))
5737
5738 (define-public emacs-writeroom
5739 (package
5740 (name "emacs-writeroom")
5741 (version "3.7")
5742 (source
5743 (origin
5744 (method git-fetch)
5745 (uri (git-reference
5746 (url "https://github.com/joostkremers/writeroom-mode.git")
5747 (commit version)))
5748 (file-name (git-file-name name version))
5749 (sha256
5750 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
5751 (build-system emacs-build-system)
5752 (propagated-inputs
5753 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
5754 (home-page "https://github.com/joostkremers/writeroom-mode")
5755 (synopsis "Distraction-free writing for Emacs")
5756 (description
5757 "This package defines a minor mode for distraction-free writing. Some of
5758 the default effects include entering fullscreen, deleting other windows of the
5759 current frame, disabling the mode line, and adding margins to the buffer that
5760 restrict the text width to 80 characters.")
5761 (license license:bsd-3)))
5762
5763 (define-public emacs-ido-completing-read+
5764 (package
5765 (name "emacs-ido-completing-read+")
5766 (version "3.12")
5767 (source (origin
5768 (method url-fetch)
5769 (uri (string-append "https://raw.githubusercontent.com"
5770 "/DarwinAwardWinner/ido-ubiquitous/v"
5771 version "/ido-completing-read+.el"))
5772 (file-name (string-append "ido-completing-read+-" version ".el"))
5773 (sha256
5774 (base32
5775 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
5776 (build-system emacs-build-system)
5777 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5778 (synopsis "Replacement for completing-read using ido")
5779 (description
5780 "The ido-completing-read+ function is a wrapper for ido-completing-read.
5781 Importantly, it detects edge cases that ordinary ido cannot handle and either
5782 adjusts them so ido can handle them, or else simply falls back to the standard
5783 Emacs completion function instead.")
5784 (license license:gpl3+)))
5785
5786 (define-public emacs-ido-ubiquitous
5787 (package
5788 (name "emacs-ido-ubiquitous")
5789 (version "3.12")
5790 (source (origin
5791 (method url-fetch)
5792 (uri (string-append "https://raw.githubusercontent.com"
5793 "/DarwinAwardWinner/ido-ubiquitous/v"
5794 version "/ido-ubiquitous.el"))
5795 (file-name (string-append "ido-ubiquitous-" version ".el"))
5796 (sha256
5797 (base32
5798 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
5799 (build-system emacs-build-system)
5800 (propagated-inputs
5801 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
5802 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
5803 (synopsis "Use ido (nearly) everywhere")
5804 (description
5805 "Ido-ubiquitous enables ido-style completion for almost every function
5806 that uses the standard completion function completing-read.")
5807 (license license:gpl3+)))
5808
5809 (define-public emacs-yaml-mode
5810 (package
5811 (name "emacs-yaml-mode")
5812 (version "0.0.13")
5813 (source (origin
5814 (method url-fetch)
5815 (uri (string-append "https://raw.githubusercontent.com/yoshiki"
5816 "/yaml-mode/v" version "/yaml-mode.el"))
5817 (file-name (string-append "yaml-mode-" version ".el"))
5818 (sha256
5819 (base32
5820 "0im88sk9dqw03x6d6zaspgvg9i0pfpgb8f2zygrmbifh2w4pwmvj"))))
5821 (build-system emacs-build-system)
5822 (home-page "https://github.com/yoshiki/yaml-mode")
5823 (synopsis "Major mode for editing YAML files")
5824 (description
5825 "Yaml-mode is an Emacs major mode for editing files in the YAML data
5826 serialization format. It was initially developed by Yoshiki Kurihara and many
5827 features were added by Marshall Vandegrift. As YAML and Python share the fact
5828 that indentation determines structure, this mode provides indentation and
5829 indentation command behavior very similar to that of python-mode.")
5830 (license license:gpl3+)))
5831
5832 (define-public emacs-gitlab-ci-mode
5833 (package
5834 (name "emacs-gitlab-ci-mode")
5835 (version "20190425.11.10")
5836 (source (origin
5837 (method git-fetch)
5838 (uri (git-reference
5839 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
5840 (commit (string-append "v" version))))
5841 (file-name (git-file-name name version))
5842 (sha256
5843 (base32
5844 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
5845 (build-system emacs-build-system)
5846 (propagated-inputs
5847 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
5848 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
5849 (synopsis "Emacs mode for editing GitLab CI files")
5850 (description
5851 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
5852 files. It provides syntax highlighting and completion for keywords and
5853 special variables. An interface to GitLab’s CI file linter is also provided
5854 via @code{gitlab-ci-lint}.")
5855 (license license:gpl3+)))
5856
5857 (define-public emacs-web-mode
5858 (package
5859 (name "emacs-web-mode")
5860 (version "16")
5861 (source (origin
5862 (method url-fetch)
5863 (uri (string-append "https://raw.githubusercontent.com/fxbois"
5864 "/web-mode/v" version "/web-mode.el"))
5865 (file-name (string-append "web-mode-" version ".el"))
5866 (sha256
5867 (base32
5868 "1hs5w7kdvcyn4ihyw1kfjg48djn5p7lz4rlbhzzdqv1g56xqx3gw"))))
5869 (build-system emacs-build-system)
5870 (synopsis "Major mode for editing web templates")
5871 (description "Web-mode is an Emacs major mode for editing web templates
5872 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
5873 client/server side engines). Web-mode is compatible with many template
5874 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
5875 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
5876 Dust.js, React/JSX, Angularjs, ejs, etc.")
5877 (home-page "http://web-mode.org/")
5878 (license license:gpl3+)))
5879
5880 (define-public emacs-wgrep
5881 (package
5882 (name "emacs-wgrep")
5883 (version "2.3.0")
5884 (source (origin
5885 (method git-fetch)
5886 (uri (git-reference
5887 (url "https://github.com/mhayashi1120/Emacs-wgrep")
5888 (commit version)))
5889 (file-name (git-file-name name version))
5890 (sha256
5891 (base32
5892 "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"))))
5893 (build-system emacs-build-system)
5894 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
5895 (synopsis "Edit a grep buffer and apply those changes to the files")
5896 (description
5897 "Emacs wgrep allows you to edit a grep buffer and apply those changes
5898 to the file buffer. Several backends are supported beside the classic grep:
5899 ack, ag, helm and pt.")
5900 (license license:gpl3+)))
5901
5902 (define-public emacs-helm
5903 (package
5904 (name "emacs-helm")
5905 (version "3.2")
5906 (source
5907 (origin
5908 (method git-fetch)
5909 (uri (git-reference
5910 (url "https://github.com/emacs-helm/helm.git")
5911 (commit (string-append "v" version))))
5912 (file-name (git-file-name name version))
5913 (sha256
5914 (base32 "12yyprpgh2by2pd41i4z9gz55fxg0f90x03bfrsf791xwbhf6931"))))
5915 (build-system emacs-build-system)
5916 (propagated-inputs
5917 `(("emacs-async" ,emacs-async)
5918 ("emacs-popup" ,emacs-popup)))
5919 (home-page "https://emacs-helm.github.io/helm/")
5920 (synopsis "Incremental completion and selection narrowing
5921 framework for Emacs")
5922 (description "Helm is incremental completion and selection narrowing
5923 framework for Emacs. It will help steer you in the right direction when
5924 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
5925 of @code{anything.el} originally written by Tamas Patrovic and can be
5926 considered to be its successor. Helm sets out to clean up the legacy code in
5927 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
5928 not tied in the trap of backward compatibility.")
5929 (license license:gpl3+)))
5930
5931 (define-public emacs-helm-swoop
5932 (package
5933 (name "emacs-helm-swoop")
5934 (version "1.7.4")
5935 (source
5936 (origin
5937 (method git-fetch)
5938 (uri (git-reference
5939 (url "https://github.com/ShingoFukuyama/helm-swoop.git")
5940 (commit version)))
5941 (file-name (git-file-name name version))
5942 (sha256
5943 (base32 "0b23j1bkpg4pm310hqdhgnl4mxsj05gpl08b6kb2ja4fzrg6adsk"))))
5944 (build-system emacs-build-system)
5945 (propagated-inputs
5946 `(("emacs-helm" ,emacs-helm)))
5947 (home-page "https://github.com/ShingoFukuyama/helm-swoop")
5948 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
5949 (description
5950 "This package builds on the Helm interface to provide several commands
5951 for search-based navigation of buffers.")
5952 (license license:gpl2+)))
5953
5954 (define-public emacs-helm-projectile
5955 (package
5956 (name "emacs-helm-projectile")
5957 (version "0.14.0")
5958 (source
5959 (origin
5960 (method git-fetch)
5961 (uri (git-reference
5962 (url "https://github.com/bbatsov/helm-projectile.git")
5963 (commit (string-append "v" version))))
5964 (file-name (git-file-name name version))
5965 (sha256
5966 (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
5967 (build-system emacs-build-system)
5968 (propagated-inputs
5969 `(("emacs-dash" ,emacs-dash)
5970 ("emacs-helm" ,emacs-helm)
5971 ("emacs-projectile" ,emacs-projectile)))
5972 (home-page "https://github.com/bbatsov/helm-projectile")
5973 (synopsis "Helm integration for Projectile")
5974 (description
5975 "This Emacs library provides a Helm interface for Projectile.")
5976 (license license:gpl3+)))
5977
5978 (define-public emacs-helm-make
5979 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
5980 (revision "1"))
5981 (package
5982 (name "emacs-helm-make")
5983 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
5984 (source
5985 (origin
5986 (method git-fetch)
5987 (uri (git-reference
5988 (url "https://github.com/abo-abo/helm-make.git")
5989 (commit commit)))
5990 (file-name (git-file-name name version))
5991 (sha256
5992 (base32
5993 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
5994 (build-system emacs-build-system)
5995 (propagated-inputs
5996 `(("emacs-helm" ,emacs-helm)
5997 ("emacs-projectile" ,emacs-projectile)))
5998 (home-page "https://github.com/abo-abo/helm-make")
5999 (synopsis "Select a Makefile target with helm")
6000 (description "@code{helm-make} or @code{helm-make-projectile} will give
6001 you a @code{helm} selection of directory Makefile's targets. Selecting a
6002 target will call @code{compile} on it.")
6003 (license license:gpl3+))))
6004
6005 (define-public emacs-cider
6006 (package
6007 (name "emacs-cider")
6008 (version "0.21.0")
6009 (source
6010 (origin
6011 (method git-fetch)
6012 (uri (git-reference
6013 (url "https://github.com/clojure-emacs/cider.git")
6014 (commit (string-append "v" version))))
6015 (file-name (git-file-name name version))
6016 (sha256
6017 (base32
6018 "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
6019 (build-system emacs-build-system)
6020 (arguments
6021 '(#:exclude ; Don't exclude 'cider-test.el'.
6022 '("^\\.dir-locals\\.el$" "^test/")))
6023 (propagated-inputs
6024 `(("emacs-clojure-mode" ,emacs-clojure-mode)
6025 ("emacs-sesman" ,emacs-sesman)
6026 ("emacs-spinner" ,emacs-spinner)
6027 ("emacs-pkg-info" ,emacs-pkg-info)
6028 ("emacs-queue" ,emacs-queue)))
6029 (home-page "https://cider.readthedocs.io/")
6030 (synopsis "Clojure development environment for Emacs")
6031 (description
6032 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
6033 provide an interactive development experience similar to the one you'd get
6034 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
6035 Geiser) and Smalltalk.
6036
6037 CIDER is the successor to the now deprecated combination of using SLIME +
6038 swank-clojure for Clojure development.
6039
6040 There are plenty of differences between CIDER and SLIME, but the core ideas
6041 are pretty much the same (and SLIME served as the principle inspiration for
6042 CIDER).")
6043 (license license:gpl3+)))
6044
6045 ;; There hasn't been a tag or release since 2015, so we take the latest
6046 ;; commit.
6047 (define-public emacs-sly
6048 (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
6049 (revision "1"))
6050 (package
6051 (name "emacs-sly")
6052 (version (string-append "1.0.0-" revision "." (string-take commit 9)))
6053 (source
6054 (origin
6055 (method git-fetch)
6056 (uri (git-reference
6057 (url "https://github.com/joaotavora/sly.git")
6058 (commit commit)))
6059 (file-name (git-file-name name version))
6060 (sha256
6061 (base32
6062 "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
6063 (build-system emacs-build-system)
6064 (arguments
6065 `(#:include (cons "^lib\\/" %default-include)
6066 #:phases
6067 ;; The package provides autoloads.
6068 (modify-phases %standard-phases
6069 (delete 'make-autoloads))))
6070 (home-page "https://github.com/joaotavora/sly")
6071 (synopsis "Sylvester the Cat's Common Lisp IDE")
6072 (description
6073 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
6074 contains the following improvements over it:
6075
6076 @enumerate
6077 @item Completely redesigned REPL based on Emacs's own full-featured
6078 @code{comint.el}
6079 @item Live code annotations via a new @code{sly-stickers} contrib
6080 @item Consistent interactive button interface. Everything can be copied to
6081 the REPL.
6082 @item Multiple inspectors with independent history
6083 @item Regexp-capable @code{M-x sly-apropos}
6084 @item Contribs are first class SLY citizens and enabled by default
6085 @item Use ASDF to loads contribs on demand.
6086 @end enumerate
6087
6088 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
6089 xref, etc...) are still available, but with better integration.")
6090 (license license:gpl3+))))
6091
6092 (define-public emacs-lua-mode
6093 (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
6094 (revision "1"))
6095 (package
6096 (name "emacs-lua-mode")
6097 (version (string-append "20151025." revision "-" (string-take commit 9)))
6098 (home-page "https://github.com/immerrr/lua-mode/")
6099 (source (origin
6100 (method git-fetch)
6101 (uri (git-reference
6102 (url home-page)
6103 (commit commit)))
6104 (file-name (string-append name "-" version ".checkout"))
6105 (sha256
6106 (base32
6107 "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9"))))
6108 (build-system emacs-build-system)
6109 (synopsis "Major mode for lua")
6110 (description
6111 "This Emacs package provides a mode for @uref{https://www.lua.org/,
6112 Lua programming language}.")
6113 (license license:gpl2+))))
6114
6115 (define-public emacs-ebuild-mode
6116 (package
6117 (name "emacs-ebuild-mode")
6118 (version "1.37")
6119 (source (origin
6120 (method url-fetch)
6121 (uri (string-append
6122 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
6123 "-" version ".tar.xz"))
6124 (file-name (string-append name "-" version ".tar.xz"))
6125 (sha256
6126 (base32
6127 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
6128 (build-system emacs-build-system)
6129 (home-page "https://devmanual.gentoo.org")
6130 (synopsis "Major modes for Gentoo package files")
6131 (description
6132 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
6133 news items, openrc and runscripts.")
6134 (license license:gpl2+)))
6135
6136 (define-public emacs-evil
6137 (package
6138 (name "emacs-evil")
6139 (version "1.2.14")
6140 (source
6141 (origin
6142 (method git-fetch)
6143 (uri (git-reference
6144 (url "https://github.com/emacs-evil/evil")
6145 (commit version)))
6146 (file-name (git-file-name name version))
6147 (sha256
6148 (base32
6149 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
6150 (build-system emacs-build-system)
6151 (propagated-inputs
6152 `(("emacs-undo-tree" ,emacs-undo-tree)
6153 ("emacs-goto-chg" ,emacs-goto-chg)))
6154 (home-page "https://github.com/emacs-evil/evil")
6155 (synopsis "Extensible Vi layer for Emacs")
6156 (description
6157 "Evil is an extensible vi layer for Emacs. It emulates the
6158 main features of Vim, and provides facilities for writing custom
6159 extensions.")
6160 (license license:gpl3+)))
6161
6162 (define-public emacs-evil-collection
6163 (let ((commit "0748c695dfa89b79eb316da5060360de8c0f04da")
6164 (revision "9"))
6165 (package
6166 (name "emacs-evil-collection")
6167 (version (git-version "0.0.1" revision commit))
6168 (source (origin
6169 (method git-fetch)
6170 (uri (git-reference
6171 (url "https://github.com/emacs-evil/evil-collection")
6172 (commit commit)))
6173 (file-name (git-file-name name version))
6174 (sha256
6175 (base32
6176 "17w8nh3q7ffc7776f3qzixk0c0g6vys3xybgw16ky1f416585kvb"))))
6177 (build-system emacs-build-system)
6178 (propagated-inputs
6179 `(("emacs-evil" ,emacs-evil)))
6180 (home-page "https://github.com/emacs-evil/evil-collection")
6181 (synopsis "Collection of Evil bindings for many major and minor modes")
6182 (description "This is a collection of Evil bindings for the parts of
6183 Emacs that Evil does not cover properly by default, such as @code{help-mode},
6184 @code{M-x calendar}, Eshell and more.")
6185 (license license:gpl3+))))
6186
6187 (define-public emacs-goto-chg
6188 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
6189 (version "1.7.3")
6190 (revision "1"))
6191 (package
6192 (name "emacs-goto-chg")
6193 (version (git-version version revision commit))
6194 (source
6195 (origin
6196 (method git-fetch)
6197 (uri (git-reference
6198 (url "https://github.com/emacs-evil/goto-chg")
6199 (commit commit)))
6200 (file-name (git-file-name name version))
6201 (sha256
6202 (base32
6203 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
6204 (build-system emacs-build-system)
6205 (propagated-inputs
6206 `(("emacs-undo-tree" ,emacs-undo-tree)))
6207 (home-page "https://github.com/emacs-evil/goto-chg")
6208 (synopsis "Go to the last change in the Emacs buffer")
6209 (description
6210 "This package provides @code{M-x goto-last-change} command that goes to
6211 the point of the most recent edit in the current Emacs buffer. When repeated,
6212 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
6213 used for reverse direction.")
6214 (license license:gpl2+))))
6215
6216 (define-public emacs-janpath-evil-numbers
6217 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
6218 (version "0.5")
6219 (revision "1"))
6220 (package
6221 (name "emacs-janpath-evil-numbers")
6222 (version (git-version version revision commit))
6223 (source
6224 (origin
6225 (method git-fetch)
6226 (uri (git-reference
6227 (url "https://github.com/janpath/evil-numbers")
6228 (commit commit)))
6229 (file-name (git-file-name name version))
6230 (sha256
6231 (base32
6232 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
6233 (build-system emacs-build-system)
6234 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6235 (home-page "https://github.com/janpath/evil-numbers")
6236 (synopsis "Increment and decrement numeric literals")
6237 (description
6238 "This package provides functionality to search for a number up to the
6239 end of a line and increment or decrement it.")
6240 (license license:gpl3+))))
6241
6242 (define-public emacs-evil-exchange
6243 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
6244 (version "0.41")
6245 (revision "1"))
6246 (package
6247 (name "emacs-evil-exchange")
6248 (version (git-version version revision commit))
6249 (source
6250 (origin
6251 (method git-fetch)
6252 (uri (git-reference
6253 (url "https://github.com/Dewdrops/evil-exchange")
6254 (commit commit)))
6255 (file-name (git-file-name name version))
6256 (sha256
6257 (base32
6258 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
6259 (build-system emacs-build-system)
6260 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6261 (home-page "https://github.com/Dewdrops/evil-exchange")
6262 (synopsis "Exchange text easily within Evil")
6263 (description
6264 "This package, a port of @code{vim-exchange}, provides an Evil operator
6265 for exchanging text.")
6266 (license license:gpl3+))))
6267
6268 (define-public emacs-evil-replace-with-register
6269 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
6270 (version "0.1")
6271 (revision "1"))
6272 (package
6273 (name "emacs-evil-replace-with-register")
6274 (version (git-version version revision commit))
6275 (source
6276 (origin
6277 (method git-fetch)
6278 (uri (git-reference
6279 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6280 (commit commit)))
6281 (file-name (git-file-name name version))
6282 (sha256
6283 (base32
6284 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
6285 (build-system emacs-build-system)
6286 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6287 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
6288 (synopsis "Quickly replace text with the contents of a register")
6289 (description
6290 "This package provides an Evil operator for replacing text with the
6291 contents of a register.")
6292 (license license:gpl3+))))
6293
6294 (define-public emacs-evil-indent-plus
6295 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
6296 (version "1.0.0")
6297 (revision "1"))
6298 (package
6299 (name "emacs-evil-indent-plus")
6300 (version (git-version version revision commit))
6301 (source
6302 (origin
6303 (method git-fetch)
6304 (uri (git-reference
6305 (url "https://github.com/TheBB/evil-indent-plus")
6306 (commit commit)))
6307 (file-name (git-file-name name version))
6308 (sha256
6309 (base32
6310 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
6311 (build-system emacs-build-system)
6312 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6313 (home-page "https://github.com/TheBB/evil-indent-plus")
6314 (synopsis "Text objects based on indentation")
6315 (description
6316 "This package adds new text objects for @code{evil-mode} based on
6317 blocks having the same or higher indentation, including or excluding
6318 surrounding lines.")
6319 (license license:gpl2+))))
6320
6321 (define-public emacs-evil-text-object-python
6322 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
6323 (version "1.0.1")
6324 (revision "1"))
6325 (package
6326 (name "emacs-evil-text-object-python")
6327 (version (git-version version revision commit))
6328 (source
6329 (origin
6330 (method git-fetch)
6331 (uri (git-reference
6332 (url "https://github.com/wbolster/evil-text-object-python")
6333 (commit commit)))
6334 (file-name (git-file-name name version))
6335 (sha256
6336 (base32
6337 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
6338 (build-system emacs-build-system)
6339 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6340 (home-page "https://github.com/wbolster/evil-text-object-python")
6341 (synopsis "Text objects for Python")
6342 (description
6343 "This package provides @code{evil-mode} text objects for Python.")
6344 (license license:gpl3+))))
6345
6346 (define-public emacs-evil-lion
6347 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
6348 (version "0.0.2")
6349 (revision "1"))
6350 (package
6351 (name "emacs-evil-lion")
6352 (version (git-version version revision commit))
6353 (source
6354 (origin
6355 (method git-fetch)
6356 (uri (git-reference
6357 (url "https://github.com/edkolev/evil-lion")
6358 (commit commit)))
6359 (file-name (git-file-name name version))
6360 (sha256
6361 (base32
6362 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
6363 (build-system emacs-build-system)
6364 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6365 (home-page "https://github.com/edkolev/evil-lion")
6366 (synopsis "Align operator for @code{evil-mode}")
6367 (description
6368 "This package, a port of @code{vim-lion}, provides an operator for
6369 aligning text objects based on separators.")
6370 (license license:gpl3+))))
6371
6372 (define-public emacs-evil-expat
6373 (let ((commit "4c344ea19b789002d759a202ffbf594730d2c59a")
6374 (version "0.0.1")
6375 (revision "1"))
6376 (package
6377 (name "emacs-evil-expat")
6378 (version (git-version version revision commit))
6379 (source
6380 (origin
6381 (method git-fetch)
6382 (uri (git-reference
6383 (url "https://github.com/edkolev/evil-expat")
6384 (commit commit)))
6385 (file-name (git-file-name name version))
6386 (sha256
6387 (base32
6388 "16v7fnldxag6l1lsnrnhdjkga9qi78lbdfbb82k6pmv04991mbkr"))))
6389 (build-system emacs-build-system)
6390 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6391 (home-page "https://github.com/edkolev/evil-expat")
6392 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
6393 (description
6394 "This package provides additional commands for the @code{ex} command
6395 line, including functions for version control with Git and for copying and
6396 pasting into and from @code{tmux} paste buffers.")
6397 (license license:gpl3+))))
6398
6399 (define-public emacs-evil-nerd-commenter
6400 (package
6401 (name "emacs-evil-nerd-commenter")
6402 (version "3.3.7")
6403 (source
6404 (origin
6405 (method git-fetch)
6406 (uri (git-reference
6407 (url "https://github.com/redguardtoo/evil-nerd-commenter")
6408 (commit version)))
6409 (file-name (git-file-name name version))
6410 (sha256
6411 (base32
6412 "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7"))))
6413 (build-system emacs-build-system)
6414 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6415 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
6416 (synopsis "Comment and uncomment lines efficiently")
6417 (description
6418 "This package provides text objects and operators for comments within
6419 @code{evil-mode}.")
6420 (license license:gpl3+)))
6421
6422 (define-public emacs-evil-visual-replace
6423 (package
6424 (name "emacs-evil-visual-replace")
6425 (version "0.0.5")
6426 (source
6427 (origin
6428 (method git-fetch)
6429 (uri (git-reference
6430 (url "https://github.com/troyp/evil-visual-replace")
6431 (commit version)))
6432 (file-name (git-file-name name version))
6433 (sha256
6434 (base32
6435 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
6436 (build-system emacs-build-system)
6437 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6438 (home-page "https://github.com/troyp/evil-visual-replace")
6439 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
6440 (description
6441 "This package provides versions of @code{query-replace} and
6442 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
6443 (license license:gpl2+)))
6444
6445 (define-public emacs-evil-visualstar
6446 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
6447 (version "0.0.2")
6448 (revision "1"))
6449 (package
6450 (name "emacs-evil-visualstar")
6451 (version (git-version version revision commit))
6452 (source
6453 (origin
6454 (method git-fetch)
6455 (uri (git-reference
6456 (url "https://github.com/bling/evil-visualstar")
6457 (commit commit)))
6458 (file-name (git-file-name name version))
6459 (sha256
6460 (base32
6461 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
6462 (build-system emacs-build-system)
6463 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
6464 (home-page "https://github.com/bling/evil-visualstar")
6465 (synopsis "Instantly search using the visual selection")
6466 (description
6467 "This package provides @code{evil-mode} functions for using selected text
6468 to search.")
6469 (license license:gpl3+))))
6470
6471 (define-public emacs-monroe
6472 (package
6473 (name "emacs-monroe")
6474 (version "0.3.1")
6475 (source
6476 (origin
6477 (method git-fetch)
6478 (uri (git-reference
6479 (url "https://github.com/sanel/monroe.git")
6480 (commit version)))
6481 (file-name (git-file-name name version))
6482 (sha256
6483 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
6484 (build-system emacs-build-system)
6485 (home-page "https://github.com/sanel/monroe")
6486 (synopsis "Clojure nREPL client for Emacs")
6487 (description
6488 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
6489 distribution, primarily targeting Clojure users")
6490 (license license:gpl3+)))
6491
6492 (define-public emacs-orgalist
6493 (package
6494 (name "emacs-orgalist")
6495 (version "1.9")
6496 (source
6497 (origin
6498 (method url-fetch)
6499 (uri (string-append "https://elpa.gnu.org/packages/"
6500 "orgalist-" version ".el"))
6501 (sha256
6502 (base32
6503 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
6504 (build-system emacs-build-system)
6505 (home-page "http://elpa.gnu.org/packages/orgalist.html")
6506 (synopsis "Manage Org-like lists in non-Org buffers")
6507 (description "Write Org mode's plain lists in non-Org buffers. More
6508 specifically, Orgalist supports the syntax of Org mode for numbered,
6509 unnumbered, description items, checkboxes, and counter cookies.
6510
6511 The library also implements radio lists, i.e., lists written in Org
6512 syntax later translated into the host format, e.g., LaTeX or HTML.")
6513 (license license:gpl3+)))
6514
6515 (define-public emacs-writegood-mode
6516 (package
6517 (name "emacs-writegood-mode")
6518 (version "2.0.2")
6519 (home-page "https://github.com/bnbeckwith/writegood-mode")
6520 (source (origin
6521 (method git-fetch)
6522 (uri (git-reference
6523 (url home-page)
6524 (commit (string-append "v" version))))
6525 (sha256
6526 (base32
6527 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
6528 (file-name (string-append name "-checkout"))))
6529 (build-system emacs-build-system)
6530 (synopsis "Polish up poor writing on the fly")
6531 (description
6532 "This minor mode tries to find and highlight problems with your writing
6533 in English as you type. It primarily detects \"weasel words\" and abuse of
6534 passive voice.")
6535 (license license:gpl3+)))
6536
6537 (define-public emacs-neotree
6538 (package
6539 (name "emacs-neotree")
6540 (version "0.5.2")
6541 (home-page "https://github.com/jaypei/emacs-neotree")
6542 (source (origin
6543 (method url-fetch)
6544 (uri (string-append
6545 "https://github.com/jaypei/" name
6546 "/archive/" version ".tar.gz"))
6547 (sha256
6548 (base32
6549 "1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
6550 (file-name (string-append name "-" version ".tar.gz"))))
6551 (build-system emacs-build-system)
6552 (synopsis "Folder tree view for Emacs")
6553 (description "This Emacs package provides a folder tree view.")
6554 (license license:gpl3+)))
6555
6556 (define-public emacs-org
6557 (package
6558 (name "emacs-org")
6559 ;; emacs-org-contrib inherits from this package. Please update its sha256
6560 ;; checksum as well.
6561 (version "9.2.3")
6562 (source (origin
6563 (method url-fetch)
6564 (uri (string-append "http://elpa.gnu.org/packages/org-"
6565 version ".tar"))
6566 (sha256
6567 (base32
6568 "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw"))))
6569 (build-system emacs-build-system)
6570 (home-page "https://orgmode.org/")
6571 (synopsis "Outline-based notes management and organizer")
6572 (description "Org is an Emacs mode for keeping notes, maintaining TODO
6573 lists, and project planning with a fast and effective lightweight markup
6574 language. It also is an authoring system with unique support for literate
6575 programming and reproducible research.")
6576 (license license:gpl3+)))
6577
6578 (define-public emacs-org-contrib
6579 (package
6580 (inherit emacs-org)
6581 (name "emacs-org-contrib")
6582 (version "20190402")
6583 (source (origin
6584 (method url-fetch)
6585 (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
6586 version ".tar"))
6587 (sha256
6588 (base32
6589 "0hbrhhq6sa0gz4ylzr54raxandqs4y953894b0hlr553b8sfl1wk"))))
6590 (arguments
6591 `(#:modules ((guix build emacs-build-system)
6592 (guix build utils)
6593 (guix build emacs-utils)
6594 (ice-9 ftw)
6595 (srfi srfi-1))
6596 #:phases
6597 (modify-phases %standard-phases
6598 (add-after 'install 'delete-org-files
6599 (lambda* (#:key inputs outputs #:allow-other-keys)
6600 (let* ((out (assoc-ref outputs "out"))
6601 (org (assoc-ref inputs "org"))
6602 (contrib-files
6603 (map basename (find-files out)))
6604 (org+contrib-files
6605 (map basename (find-files org)))
6606 (duplicates (lset-intersection
6607 string=? contrib-files org+contrib-files)))
6608 (with-directory-excursion
6609 (string-append
6610 out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
6611 (for-each delete-file duplicates))
6612 #t))))))
6613 (propagated-inputs
6614 `(("arduino-mode" ,emacs-arduino-mode)
6615 ("cider" ,emacs-cider)
6616 ("org" ,emacs-org)
6617 ("scel" ,emacs-scel)))
6618 (synopsis "Contributed packages to Org mode")
6619 (description "Org is an Emacs mode for keeping notes, maintaining TODO
6620 lists, and project planning with a fast and effective plain-text system.
6621
6622 This package is equivalent to org-plus-contrib, but only includes additional
6623 files that you would find in @file{contrib/} from the git repository.")))
6624
6625 (define-public emacs-flx
6626 (package
6627 (name "emacs-flx")
6628 (version "0.6.1")
6629 (source
6630 (origin
6631 (method url-fetch)
6632 (uri (string-append "https://github.com/lewang/"
6633 "flx/archive/v" version ".tar.gz"))
6634 (sha256
6635 (base32
6636 "0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
6637 (file-name (string-append name "-" version ".tar.gz"))))
6638 (build-system emacs-build-system)
6639 (home-page "https://github.com/lewang/flx")
6640 (synopsis "Fuzzy matching for Emacs")
6641 (description
6642 "Flx provides fuzzy matching for emacs a la sublime text.
6643 The sorting algorithm is a balance between word beginnings (abbreviation)
6644 and contiguous matches (substring). The longer the substring match,
6645 the higher it scores. This maps well to how we think about matching.
6646 Flx has support for ido (interactively do things) through flx-ido.")
6647 (license license:gpl3+)))
6648
6649 (define-public emacs-cyberpunk-theme
6650 (package
6651 (name "emacs-cyberpunk-theme")
6652 (version "1.19")
6653 (source
6654 (origin
6655 (method url-fetch)
6656 (uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
6657 "archive/" version ".tar.gz"))
6658 (sha256
6659 (base32
6660 "05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
6661 (file-name (string-append name "-" version ".tar.gz"))))
6662 (build-system emacs-build-system)
6663 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
6664 (synopsis "Cyberpunk theme for emacs built-in color theme support")
6665 (description
6666 "Cyberpunk color theme for the emacs 24+ built-in color theme support
6667 known loosely as deftheme. Many mode-specific customizations are included.")
6668 (license license:gpl3+)))
6669
6670 (define-public emacs-danneskjold-theme
6671 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
6672 (revision "1"))
6673 (package
6674 (name "emacs-danneskjold-theme")
6675 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
6676 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
6677 (source
6678 (origin
6679 (method git-fetch)
6680 (uri (git-reference
6681 (url home-page)
6682 (commit commit)))
6683 (file-name (git-file-name name version))
6684 (sha256
6685 (base32
6686 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
6687 (build-system emacs-build-system)
6688 (arguments
6689 `(#:phases
6690 (modify-phases %standard-phases
6691 (add-after 'unpack 'delete-screenshots
6692 (lambda _
6693 (delete-file-recursively "screenshots") #t)))))
6694 (synopsis "High-contrast Emacs theme")
6695 (description
6696 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
6697 (license license:gpl3+))))
6698
6699 (define-public emacs-dream-theme
6700 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
6701 (revision "1"))
6702 (package
6703 (name "emacs-dream-theme")
6704 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
6705 (source
6706 (origin
6707 (method git-fetch)
6708 (uri (git-reference
6709 (url "https://github.com/djcb/dream-theme")
6710 (commit commit)))
6711 (file-name (git-file-name name version))
6712 (sha256
6713 (base32
6714 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
6715 (build-system emacs-build-system)
6716 (home-page "https://github.com/djcb/dream-theme")
6717 (synopsis "High-contrast Emacs theme")
6718 (description
6719 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
6720 by zenburn, sinburn and similar themes, but slowly diverging from them.")
6721 (license license:gpl3+))))
6722
6723 (define-public emacs-auto-complete
6724 (package
6725 (name "emacs-auto-complete")
6726 (version "1.5.1")
6727 (source
6728 (origin
6729 (method url-fetch)
6730 (uri (string-append "https://github.com/auto-complete/"
6731 "auto-complete/archive/v" version ".tar.gz"))
6732 (sha256
6733 (base32
6734 "1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
6735 (file-name (string-append name "-" version ".tar.gz"))))
6736 (build-system emacs-build-system)
6737 (propagated-inputs
6738 `(("emacs-popup" ,emacs-popup)))
6739 (home-page "https://github.com/auto-complete/auto-complete")
6740 (synopsis "Intelligent auto-completion extension for Emacs")
6741 (description
6742 "Auto-Complete is an intelligent auto-completion extension for Emacs.
6743 It extends the standard Emacs completion interface and provides an environment
6744 that allows users to concentrate more on their own work. Its features are:
6745 a visual interface, reduce overhead of completion by using statistic method,
6746 extensibility.")
6747 (license license:gpl3+)))
6748
6749 (define-public emacs-nginx-mode
6750 (package
6751 (name "emacs-nginx-mode")
6752 (version "1.1.9")
6753 (source
6754 (origin
6755 (method git-fetch)
6756 (uri (git-reference
6757 (url "https://github.com/ajc/nginx-mode.git")
6758 (commit (string-append "v" version))))
6759 (file-name (git-file-name name version))
6760 (sha256
6761 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
6762 (build-system emacs-build-system)
6763 (home-page "https://github.com/ajc/nginx-mode")
6764 (synopsis "Emacs major mode for editing nginx config files")
6765 (description "This package provides an Emacs major mode for
6766 editing nginx config files.")
6767 (license license:gpl2+)))
6768
6769 (define-public emacs-stream
6770 (package
6771 (name "emacs-stream")
6772 (version "2.2.0")
6773 (home-page "https://github.com/NicolasPetton/stream")
6774 (source
6775 (origin
6776 (method url-fetch)
6777 (file-name (string-append name "-" version ".tar.gz"))
6778 (uri (string-append home-page "/archive/"version ".tar.gz"))
6779 (sha256
6780 (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
6781 (build-system emacs-build-system)
6782 (synopsis "Implementation of streams for Emacs")
6783 (description "This library provides an implementation of streams for Emacs.
6784 Streams are implemented as delayed evaluation of cons cells.")
6785 (license license:gpl3+)))
6786
6787 (define-public emacs-el-search
6788 (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
6789 (revision "1"))
6790 (package
6791 (name "emacs-el-search")
6792 ;; No ufficial release.
6793 (version (string-append "0.0-" revision "." (string-take commit 7)))
6794 (home-page "https://github.com/emacsmirror/el-search")
6795 (source
6796 (origin
6797 (method git-fetch)
6798 (file-name (string-append name "-" version ".tar.gz"))
6799 (uri (git-reference
6800 (commit commit)
6801 (url (string-append home-page ".git"))))
6802 (sha256
6803 (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
6804 (build-system emacs-build-system)
6805 (inputs `(("emacs-stream" ,emacs-stream)))
6806 (synopsis "Expression based interactive search for emacs-lisp-mode")
6807 (description "This package provides expression based interactive search
6808 procedures for emacs-lisp-mode.")
6809 (license license:gpl3+))))
6810
6811 (define-public emacs-ht
6812 (package
6813 (name "emacs-ht")
6814 (version "2.2")
6815 (source
6816 (origin
6817 (method git-fetch)
6818 (uri (git-reference
6819 (url "https://github.com/Wilfred/ht.el.git")
6820 (commit version)))
6821 (file-name (git-file-name name version))
6822 (sha256
6823 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
6824 (build-system emacs-build-system)
6825 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
6826 (home-page "https://github.com/Wilfred/ht.el")
6827 (synopsis "Hash table library for Emacs")
6828 (description
6829 "This package simplifies the use of hash tables in elisp. It also
6830 provides functions to convert hash tables from and to alists and plists.")
6831 (license license:gpl3+)))
6832
6833 (define-public emacs-log4e
6834 (package
6835 (name "emacs-log4e")
6836 (version "0.3.0")
6837 (source
6838 (origin
6839 (method git-fetch)
6840 (uri (git-reference
6841 (url "https://github.com/aki2o/log4e.git")
6842 (commit (string-append "v" version))))
6843 (file-name (git-file-name name version))
6844 (sha256
6845 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
6846 (build-system emacs-build-system)
6847 (arguments
6848 `(#:phases
6849 (modify-phases %standard-phases
6850 (add-after 'unpack 'remove-tests
6851 ;; Guile builder complains about null characters in some
6852 ;; strings of test files. Remove "test" directory (it is not
6853 ;; needed anyway).
6854 (lambda _
6855 (delete-file-recursively "test"))))))
6856 (home-page "https://github.com/aki2o/log4e")
6857 (synopsis "Logging framework for elisp")
6858 (description
6859 "This package provides a logging framework for elisp. It allows
6860 you to deal with multiple log levels.")
6861 (license license:gpl3+)))
6862
6863 (define-public emacs-gntp
6864 (package
6865 (name "emacs-gntp")
6866 (version "0.1")
6867 (source
6868 (origin
6869 (method git-fetch)
6870 (uri (git-reference
6871 (url "https://github.com/tekai/gntp.el.git")
6872 (commit (string-append "v" version))))
6873 (file-name (git-file-name name version))
6874 (sha256
6875 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
6876 (build-system emacs-build-system)
6877 (home-page "https://github.com/tekai/gntp.el")
6878 (synopsis "Growl Notification Protocol for Emacs")
6879 (description
6880 "This package implements the Growl Notification Protocol GNTP
6881 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
6882 It is incomplete as it only lets you send but not receive
6883 notifications.")
6884 (license license:bsd-3)))
6885
6886 (define-public emacs-alert
6887 (package
6888 (name "emacs-alert")
6889 (version "1.3")
6890 (source
6891 (origin
6892 (method git-fetch)
6893 (uri (git-reference
6894 (url "https://github.com/jwiegley/alert.git")
6895 (commit (string-append "v" version))))
6896 (file-name (git-file-name name version))
6897 (sha256
6898 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
6899 (build-system emacs-build-system)
6900 (propagated-inputs
6901 `(("emacs-gntp" ,emacs-gntp)
6902 ("emacs-log4e" ,emacs-log4e)))
6903 (home-page "https://github.com/jwiegley/alert")
6904 (synopsis "Growl-style notification system for Emacs")
6905 (description
6906 "Alert is a Growl-workalike for Emacs which uses a common notification
6907 interface and multiple, selectable \"styles\", whose use is fully
6908 customizable by the user.")
6909 (license license:gpl2+)))
6910
6911 (define-public emacs-zones
6912 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
6913 (revision "2"))
6914 (package
6915 (name "emacs-zones")
6916 (version (git-version "0" revision commit))
6917 (source
6918 (origin
6919 (method git-fetch)
6920 (uri (git-reference
6921 (url "https://github.com/emacsmirror/zones.git")
6922 (commit commit)))
6923 (file-name (git-file-name name version))
6924 (sha256
6925 (base32
6926 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
6927 (patches
6928 (search-patches
6929 "emacs-zones-called-interactively.patch"))))
6930 (build-system emacs-build-system)
6931 (home-page "https://www.emacswiki.org/emacs/Zones")
6932 (synopsis "Define and act on multiple zones of buffer text")
6933 (description "Library @file{zones.el} lets you easily define and
6934 subsequently act on multiple zones of buffer text. You can think of this as
6935 enlarging the notion of region. In effect, it can remove the requirement of
6936 target text being a contiguous sequence of characters. A set of buffer zones
6937 is, in effect, a (typically) noncontiguous set of text.")
6938 (license license:gpl3+))))
6939
6940 (define-public emacs-mu4e-alert
6941 (package
6942 (name "emacs-mu4e-alert")
6943 (version "1.0")
6944 (source
6945 (origin
6946 (method git-fetch)
6947 (uri (git-reference
6948 (url "https://github.com/iqbalansari/mu4e-alert.git")
6949 (commit (string-append "v" version))))
6950 (file-name (git-file-name name version))
6951 (sha256
6952 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
6953 (build-system emacs-build-system)
6954 (propagated-inputs
6955 `(("emacs-alert" ,emacs-alert)
6956 ("emacs-s" ,emacs-s)
6957 ("emacs-ht" ,emacs-ht)
6958 ("mu" ,mu)))
6959 (home-page "https://github.com/iqbalansari/mu4e-alert")
6960 (synopsis "Desktop notification for mu4e")
6961 (description
6962 "This package provides desktop notifications for mu4e.
6963 Additionally it can display the number of unread emails in the
6964 mode-line.")
6965 (license license:gpl3+)))
6966
6967 (define-public emacs-pretty-mode
6968 (package
6969 (name "emacs-pretty-mode")
6970 (version "2.0.3")
6971 (source
6972 (origin
6973 (method url-fetch)
6974 (uri (string-append "https://github.com/akatov/pretty-mode/"
6975 "archive/" version ".tar.gz"))
6976 (file-name (string-append name "-" version ".tar.gz"))
6977 (sha256
6978 (base32
6979 "1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
6980 (build-system emacs-build-system)
6981 (home-page "https://github.com/akatov/pretty-mode")
6982 (synopsis "Redisplay parts of the buffer as Unicode symbols")
6983 (description
6984 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
6985 (license license:gpl3+)))
6986
6987 (define-public emacs-yasnippet
6988 (package
6989 (name "emacs-yasnippet")
6990 (version "0.13.0")
6991 (source (origin
6992 (method url-fetch)
6993 (uri (string-append "https://github.com/joaotavora/yasnippet/"
6994 "archive/" version ".tar.gz"))
6995 (file-name (string-append name "-" version ".tar.gz"))
6996 (sha256
6997 (base32
6998 "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
6999 (modules '((guix build utils)))
7000 (snippet
7001 '(begin
7002 ;; YASnippet expects a "snippets" subdirectory in the same
7003 ;; directory as yasnippet.el, but we don't install it
7004 ;; because it's a git submodule pointing to an external
7005 ;; repository. Adjust `yas-snippet-dirs' to prevent
7006 ;; warnings about a missing directory.
7007 (substitute* "yasnippet.el"
7008 (("^ +'yas-installed-snippets-dir\\)\\)\n")
7009 "))\n"))
7010 #t))))
7011 (build-system emacs-build-system)
7012 (home-page "https://github.com/joaotavora/yasnippet")
7013 (synopsis "Yet another snippet extension for Emacs")
7014 (description
7015 "YASnippet is a template system for Emacs. It allows you to type an
7016 abbreviation and automatically expand it into function templates.")
7017 (license license:gpl3+)))
7018
7019 (define-public emacs-yasnippet-snippets
7020 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
7021 (revision "1"))
7022 (package
7023 (name "emacs-yasnippet-snippets")
7024 (version (string-append "1-" revision "." (string-take commit 8)))
7025 (source
7026 (origin
7027 (method git-fetch)
7028 (uri (git-reference
7029 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
7030 (commit commit)))
7031 (file-name (git-file-name name version))
7032 (sha256
7033 (base32
7034 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
7035 (build-system trivial-build-system)
7036 (arguments
7037 `(#:modules ((ice-9 ftw)
7038 (ice-9 regex)
7039 (guix build utils))
7040 #:builder
7041 (begin
7042 (use-modules (ice-9 ftw)
7043 (ice-9 regex)
7044 (guix build utils))
7045 (with-directory-excursion (assoc-ref %build-inputs "source")
7046 (for-each (lambda (dir)
7047 (copy-recursively
7048 dir
7049 (string-append %output
7050 "/share/emacs/yasnippet-snippets/"
7051 dir)))
7052 (scandir "." (lambda (fname)
7053 (and (string-match "-mode$" fname)
7054 (directory-exists? fname))))))
7055 #t)))
7056 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
7057 (synopsis "Collection of YASnippet snippets for many languages")
7058 (description
7059 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
7060 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
7061 To make YASnippet aware of these snippets, add the above directory to
7062 @code{yas-snippet-dirs}.")
7063 (license license:expat))))
7064
7065 (define-public emacs-helm-c-yasnippet
7066 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
7067 (revision "1"))
7068 (package
7069 (name "emacs-helm-c-yasnippet")
7070 (version (string-append "0.6.7" "-" revision "."
7071 (string-take commit 7)))
7072 (source (origin
7073 (method git-fetch)
7074 (uri (git-reference
7075 (url "https://github.com/emacs-jp/helm-c-yasnippet")
7076 (commit commit)))
7077 (file-name (git-file-name name version))
7078 (sha256
7079 (base32
7080 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
7081 (build-system emacs-build-system)
7082 (propagated-inputs
7083 `(("emacs-helm" ,emacs-helm)
7084 ("emacs-yasnippet" ,emacs-yasnippet)))
7085 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
7086 (synopsis "Helm integration for Yasnippet")
7087 (description "This Emacs library provides Helm interface for
7088 Yasnippet.")
7089 (license license:gpl2+))))
7090
7091 (define-public emacs-helm-system-packages
7092 ;; There won't be a new release after 1.10.1 until
7093 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
7094 ;; and latest commits fix import issues with Guix.
7095 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
7096 (package
7097 (name "emacs-helm-system-packages")
7098 (version (git-version "1.10.1" "1" commit))
7099 (source (origin
7100 (method git-fetch)
7101 (uri (git-reference
7102 (url "https://github.com/emacs-helm/helm-system-packages")
7103 (commit commit)))
7104 (file-name (git-file-name name version))
7105 (sha256
7106 (base32
7107 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
7108 (build-system emacs-build-system)
7109 (inputs
7110 `(("recutils" ,recutils)))
7111 (propagated-inputs
7112 `(("emacs-helm" ,emacs-helm)))
7113 (arguments
7114 `(#:phases
7115 (modify-phases %standard-phases
7116 (add-after 'unpack 'configure
7117 (lambda* (#:key inputs outputs #:allow-other-keys)
7118 (let ((recutils (assoc-ref inputs "recutils")))
7119 ;; Specify the absolute file names of the various
7120 ;; programs so that everything works out-of-the-box.
7121 (substitute* "helm-system-packages-guix.el"
7122 (("recsel") (string-append recutils "/bin/recsel")))))))))
7123 (home-page "https://github.com/emacs-helm/helm-system-packages")
7124 (synopsis "Helm System Packages is an interface to your package manager")
7125 (description "List all available packages in Helm (with installed
7126 packages displayed in their own respective face). Fuzzy-search, mark and
7127 execute the desired action over any selections of packages: Install,
7128 uninstall, display packages details (in Org Mode) or insert details at point,
7129 find files owned by packages... And much more, including performing all the
7130 above over the network.")
7131 (license license:gpl3+))))
7132
7133 (define-public emacs-memoize
7134 (package
7135 (name "emacs-memoize")
7136 (version "1.1")
7137 (source
7138 (origin
7139 (method git-fetch)
7140 (uri (git-reference
7141 (url "https://github.com/skeeto/emacs-memoize.git")
7142 (commit version)))
7143 (file-name (git-file-name name version))
7144 (sha256
7145 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
7146 (build-system emacs-build-system)
7147 (arguments
7148 `(#:tests? #t
7149 #:test-command '("emacs" "--batch"
7150 "-l" "memoize-test.el"
7151 "-f" "ert-run-tests-batch-and-exit")))
7152 (home-page "https://github.com/skeeto/emacs-memoize")
7153 (synopsis "Emacs lisp memoization library")
7154 (description "@code{emacs-memoize} is an Emacs library for
7155 memoizing functions.")
7156 (license license:unlicense)))
7157
7158 (define-public emacs-linum-relative
7159 (package
7160 (name "emacs-linum-relative")
7161 (version "0.5")
7162 (source
7163 (origin
7164 (method git-fetch)
7165 (uri (git-reference
7166 (url "https://github.com/coldnew/linum-relative.git")
7167 (commit version)))
7168 (file-name (git-file-name name version))
7169 (sha256
7170 (base32 "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s"))))
7171 (build-system emacs-build-system)
7172 (home-page "https://github.com/coldnew/linum-relative")
7173 (synopsis "Relative line numbering for Emacs")
7174 (description "@code{emacs-linum-relative} displays the relative line
7175 number on the left margin in Emacs.")
7176 (license license:gpl2+)))
7177
7178 (define-public emacs-idle-highlight
7179 (package
7180 (name "emacs-idle-highlight")
7181 (version "1.1.3")
7182 (source
7183 (origin
7184 (method git-fetch)
7185 (uri (git-reference
7186 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
7187 (commit version)))
7188 (file-name (git-file-name name version))
7189 (sha256
7190 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
7191 (build-system emacs-build-system)
7192 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
7193 (synopsis "Highlights all occurrences of the word the point is on")
7194 (description
7195 "This Emacs package provides @code{idle-highlight-mode} that sets
7196 an idle timer to highlight all occurrences in the buffer of the word under
7197 the point.")
7198 (license license:gpl3+)))
7199
7200 (define-public emacs-ox-twbs
7201 (package
7202 (name "emacs-ox-twbs")
7203 (version "1.1.1")
7204 (source
7205 (origin
7206 (method git-fetch)
7207 (uri (git-reference
7208 (url "https://github.com/marsmining/ox-twbs.git")
7209 (commit (string-append "v" version))))
7210 (file-name (git-file-name name version))
7211 (sha256
7212 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
7213 (build-system emacs-build-system)
7214 (home-page "https://github.com/marsmining/ox-twbs")
7215 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
7216 (description
7217 "This Emacs package outputs your org-mode docs with a simple, clean and
7218 modern look. It implements a new HTML back-end for exporting org-mode docs as
7219 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
7220 jQuery and Bootstrap resources included via osscdn.")
7221 (license license:gpl3+)))
7222
7223 (define-public emacs-highlight-sexp
7224 (package
7225 (name "emacs-highlight-sexp")
7226 (version "1.0")
7227 (source
7228 (origin
7229 (method git-fetch)
7230 (uri (git-reference
7231 (url "https://github.com/daimrod/highlight-sexp.git")
7232 (commit (string-append "v" version))))
7233 (file-name (git-file-name name version))
7234 (sha256
7235 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
7236 (build-system emacs-build-system)
7237 (home-page "https://github.com/daimrod/highlight-sexp")
7238 (synopsis "Minor mode that highlights the s-exp at the current position")
7239 (description
7240 "This Emacs package highlights the s-exp at the current position.")
7241 (license license:gpl3+)))
7242
7243 (define-public emacs-highlight-stages
7244 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
7245 (revision "1"))
7246 (package
7247 (name "emacs-highlight-stages")
7248 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
7249 (source
7250 (origin
7251 (method git-fetch)
7252 (uri (git-reference
7253 (url "https://github.com/zk-phi/highlight-stages.git")
7254 (commit commit)))
7255 (file-name (git-file-name name version))
7256 (sha256
7257 (base32
7258 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
7259 (patches
7260 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
7261 (build-system emacs-build-system)
7262 (home-page "https://github.com/wigust/highlight-stages")
7263 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
7264 (description "@code{highlight-stages} provides an Emacs minor mode that
7265 highlights quasi-quoted expressions.")
7266 (license license:gpl3+))))
7267
7268 (define-public emacspeak
7269 (package
7270 (name "emacspeak")
7271 (version "50.0")
7272 (source
7273 (origin
7274 (method url-fetch)
7275 (uri (string-append
7276 "https://github.com/tvraman/emacspeak/releases/download/"
7277 version "/emacspeak-" version ".tar.bz2"))
7278 (sha256
7279 (base32
7280 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
7281 (build-system gnu-build-system)
7282 (arguments
7283 '(#:make-flags (list (string-append "prefix="
7284 (assoc-ref %outputs "out")))
7285 #:phases
7286 (modify-phases %standard-phases
7287 (replace 'configure
7288 (lambda _
7289 (setenv "SHELL" (which "sh"))
7290 ;; Configure Emacspeak according to etc/install.org.
7291 (invoke "make" "config")))
7292 (add-after 'build 'build-espeak
7293 (lambda _
7294 (invoke "make" "espeak")))
7295 (replace 'install
7296 (lambda* (#:key inputs outputs #:allow-other-keys)
7297 (let* ((out (assoc-ref outputs "out"))
7298 (bin (string-append out "/bin"))
7299 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
7300 (info (string-append out "/share/info"))
7301 (emacs (string-append (assoc-ref inputs "emacs")
7302 "/bin/emacs")))
7303 ;; According to etc/install.org, the Emacspeak directory should
7304 ;; be copied to its installation destination.
7305 (for-each
7306 (lambda (file)
7307 (copy-recursively file (string-append lisp "/" file)))
7308 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
7309 "stumpwm" "xsl"))
7310 ;; Make sure emacspeak is loaded from the correct directory.
7311 (substitute* "etc/emacspeak.sh"
7312 (("/lisp/emacspeak-setup.el")
7313 (string-append lisp "/lisp/emacspeak-setup.el")))
7314 ;; Install the convenient startup script.
7315 (mkdir-p bin)
7316 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
7317 #t))
7318 (add-after 'install 'wrap-program
7319 (lambda* (#:key inputs outputs #:allow-other-keys)
7320 (let* ((out (assoc-ref outputs "out"))
7321 (emacspeak (string-append out "/bin/emacspeak"))
7322 (espeak (string-append (assoc-ref inputs "espeak")
7323 "/bin/espeak")))
7324 ;; The environment variable DTK_PROGRAM tells emacspeak what
7325 ;; program to use for speech.
7326 (wrap-program emacspeak
7327 `("DTK_PROGRAM" ":" prefix (,espeak)))
7328 #t))))
7329 #:tests? #f)) ; no check target
7330 (inputs
7331 `(("emacs" ,emacs)
7332 ("espeak" ,espeak)
7333 ("perl" ,perl)
7334 ("tcl" ,tcl)
7335 ("tclx" ,tclx)))
7336 (home-page "http://emacspeak.sourceforge.net")
7337 (synopsis "Audio desktop interface for Emacs")
7338 (description
7339 "Emacspeak is a speech interface that allows visually impaired users to
7340 interact independently and efficiently with the computer. Audio formatting
7341 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
7342 allows Emacspeak to produce rich aural presentations of electronic information.
7343 By seamlessly blending all aspects of the Internet such as Web-surfing and
7344 messaging, Emacspeak speech-enables local and remote information via a
7345 consistent and well-integrated user interface.")
7346 (license license:gpl2+)))
7347
7348 (define-public emacs-adaptive-wrap
7349 (package
7350 (name "emacs-adaptive-wrap")
7351 (version "0.5.1")
7352 (source (origin
7353 (method url-fetch)
7354 (uri (string-append
7355 "http://elpa.gnu.org/packages/adaptive-wrap-"
7356 version ".el"))
7357 (sha256
7358 (base32
7359 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
7360 (build-system emacs-build-system)
7361 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
7362 (synopsis "Smart line-wrapping with wrap-prefix")
7363 (description
7364 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
7365 minor mode which sets the wrap-prefix property on the fly so that
7366 single-long-line paragraphs get word-wrapped in a way similar to what
7367 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
7368 actually changing the buffer's text.")
7369 (license license:gpl3+)))
7370
7371 (define-public emacs-diff-hl
7372 (package
7373 (name "emacs-diff-hl")
7374 (version "1.8.6")
7375 (source
7376 (origin
7377 (method git-fetch)
7378 (uri (git-reference
7379 (url "https://github.com/dgutov/diff-hl")
7380 (commit version)))
7381 (sha256
7382 (base32
7383 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
7384 (build-system emacs-build-system)
7385 (home-page "https://github.com/dgutov/diff-hl")
7386 (synopsis
7387 "Highlight uncommitted changes using VC")
7388 (description
7389 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
7390 window (using the fringe, by default), allows you to jump between
7391 the hunks and revert them selectively.")
7392 (license license:gpl3+)))
7393
7394 (define-public emacs-diminish
7395 (package
7396 (name "emacs-diminish")
7397 (version "0.45")
7398 (source
7399 (origin
7400 (method git-fetch)
7401 (uri (git-reference
7402 (url "https://github.com/myrjola/diminish.el.git")
7403 (commit (string-append "v" version))))
7404 (file-name (git-file-name name version))
7405 (sha256
7406 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
7407 (build-system emacs-build-system)
7408 (home-page "https://github.com/myrjola/diminish.el")
7409 (synopsis "Diminish minor modes with no modeline display")
7410 (description "@code{emacs-diminish} implements hiding or
7411 abbreviation of the mode line displays (lighters) of minor modes.")
7412 (license license:gpl2+)))
7413
7414 (define-public emacs-use-package
7415 (package
7416 (name "emacs-use-package")
7417 (version "2.4")
7418 (source (origin
7419 (method git-fetch)
7420 (uri (git-reference
7421 (url "https://github.com/jwiegley/use-package")
7422 (commit version)))
7423 (file-name (git-file-name name version))
7424 (sha256
7425 (base32
7426 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
7427 (build-system emacs-build-system)
7428 (propagated-inputs
7429 `(("emacs-diminish" ,emacs-diminish)))
7430 (arguments
7431 `(#:tests? #t
7432 #:test-command '("emacs" "--batch"
7433 "-l" "use-package-tests.el"
7434 "-f" "ert-run-tests-batch-and-exit")))
7435 (home-page "https://github.com/jwiegley/use-package")
7436 (synopsis "Declaration for simplifying your .emacs")
7437 (description "The use-package macro allows you to isolate package
7438 configuration in your @file{.emacs} file in a way that is both
7439 performance-oriented and tidy.")
7440 (license license:gpl2+)))
7441
7442 (define-public emacs-strace-mode
7443 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
7444 (revision "1"))
7445 (package
7446 (name "emacs-strace-mode")
7447 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
7448 (source (origin
7449 (method git-fetch)
7450 (uri (git-reference
7451 (url "https://github.com/pkmoore/strace-mode")
7452 (commit commit)))
7453 (file-name (git-file-name name version))
7454 (sha256
7455 (base32
7456 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
7457 (build-system emacs-build-system)
7458 (home-page "https://github.com/pkmoore/strace-mode")
7459 (synopsis "Emacs major mode to highlight strace outputs")
7460 (description "@code{emacs-strace-mode} provides an Emacs major mode
7461 highlighting strace outputs.")
7462 (license license:gpl3+))))
7463
7464 (define-public emacs-default-encrypt
7465 (package
7466 (name "emacs-default-encrypt")
7467 (version "4.4")
7468 (source
7469 (origin
7470 (method url-fetch)
7471 (uri (string-append
7472 "https://informationelle-selbstbestimmung-im-internet.de"
7473 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
7474 (file-name (string-append "jl-encrypt-" version ".el"))
7475 (sha256
7476 (base32
7477 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
7478 (build-system emacs-build-system)
7479 (home-page
7480 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
7481 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
7482 (description
7483 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
7484 automatically encrypts messages that you send (e.g., email) when public keys
7485 for all recipients are available, and it protects you from accidentally
7486 sending un-encrypted messages. It can also be configured to automatically
7487 sign messages that you send. For details and instructions on how to use
7488 DefaultEncrypt, please refer to the home page or read the comments in the
7489 source file, @file{jl-encrypt.el}.")
7490 (license license:gpl3+)))
7491
7492 (define-public emacs-extend-smime
7493 (package
7494 (name "emacs-extend-smime")
7495 (version "3.3")
7496 (source
7497 (origin
7498 (method url-fetch)
7499 (uri (string-append
7500 "https://informationelle-selbstbestimmung-im-internet.de"
7501 "/emacs/jl-smime" version "/jl-smime.el"))
7502 (file-name (string-append "jl-smime-" version ".el"))
7503 (sha256
7504 (base32
7505 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
7506 (build-system emacs-build-system)
7507 (home-page
7508 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
7509 (synopsis "Improved S/MIME support for Gnus in Emacs")
7510 (propagated-inputs
7511 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
7512 (description
7513 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
7514 ;; should not be translated. The name "emacs-default-encrypt" refers to
7515 ;; the Guix package that provides DefaultEncrypt.
7516 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
7517 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
7518 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
7519 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
7520 certificates via LDAP and imports them into @code{gpgsm}. When certificates
7521 for all recipients are available, DefaultEncrypt automatically encrypts the
7522 message. For details and instructions on how to use ExtendSMIME, please refer
7523 to the home page or read the comments in the source file,
7524 @file{jl-smime.el}.")
7525 (license license:gpl3+)))
7526
7527 (define-public emacs-htmlize
7528 (package
7529 (name "emacs-htmlize")
7530 (version "1.53")
7531 (source
7532 (origin
7533 (method git-fetch)
7534 (uri (git-reference
7535 (url "https://github.com/hniksic/emacs-htmlize.git")
7536 (commit (string-append "release/" version))))
7537 (file-name (git-file-name name version))
7538 (sha256
7539 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
7540 (build-system emacs-build-system)
7541 (home-page "https://github.com/hniksic/emacs-htmlize")
7542 (synopsis "Convert buffer text and decorations to HTML")
7543 (description "@code{emacs-htmlize} converts the buffer text and
7544 the associated decorations to HTML. Output to CSS, inline CSS and
7545 fonts is supported.")
7546 (license license:gpl2+)))
7547
7548 (define-public emacs-xmlgen
7549 (package
7550 (name "emacs-xmlgen")
7551 (version "0.5")
7552 (source
7553 (origin
7554 (method git-fetch)
7555 (uri (git-reference
7556 (url "https://github.com/philjackson/xmlgen.git")
7557 (commit version)))
7558 (file-name (git-file-name name version))
7559 (sha256
7560 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
7561 (build-system emacs-build-system)
7562 (arguments
7563 `(#:tests? #t
7564 #:test-command '("emacs" "--batch"
7565 "-l" "xmlgen-test.el"
7566 "-f" "ert-run-tests-batch-and-exit")))
7567 (home-page "https://github.com/philjackson/xmlgen")
7568 (synopsis "S-expression to XML domain specific language (DSL) in
7569 Emacs Lisp")
7570 (description "@code{emacs-xmlgen} provides S-expression to XML
7571 conversion for Emacs Lisp.")
7572 (license license:gpl2+)))
7573
7574 (define-public emacs-cdlatex
7575 (package
7576 (name "emacs-cdlatex")
7577 (version "4.7")
7578 (source
7579 (origin
7580 (method git-fetch)
7581 (uri (git-reference
7582 (url "https://github.com/cdominik/cdlatex.git")
7583 (commit version)))
7584 (file-name (git-file-name name version))
7585 (sha256
7586 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
7587 (build-system emacs-build-system)
7588 (propagated-inputs
7589 `(("emacs-auctex" ,emacs-auctex)))
7590 (home-page "https://github.com/cdominik/cdlatex")
7591 (synopsis "Fast Emacs input methods for LaTeX environments and
7592 math")
7593 (description "CDLaTeX is an Emacs minor mode supporting fast
7594 insertion of environment templates and math in LaTeX. Similar
7595 commands are also offered as part of the AUCTeX package, but it is not
7596 the same - CDLaTeX focuses on speediness for inserting LaTeX
7597 constructs.")
7598 (license license:gpl3+)))
7599
7600 (define-public emacs-cnfonts
7601 (package
7602 (name "emacs-cnfonts")
7603 (version "0.9.1")
7604 (source
7605 (origin
7606 (method git-fetch)
7607 (uri (git-reference
7608 (url "https://github.com/tumashu/cnfonts.git")
7609 (commit (string-append "v" version))))
7610 (file-name (git-file-name name version))
7611 (sha256
7612 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
7613 (build-system emacs-build-system)
7614 (home-page "https://github.com/tumashu/cnfonts")
7615 (synopsis "Emacs Chinese fonts setup tool")
7616 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
7617 configuration of Chinese fonts.")
7618 (license license:gpl2+)))
7619
7620 (define-public emacs-php-mode
7621 (package
7622 (name "emacs-php-mode")
7623 (version "20171225.342")
7624 (source (origin
7625 (method url-fetch)
7626 (uri (string-append
7627 "https://melpa.org/packages/php-mode-"
7628 version ".tar"))
7629 (sha256
7630 (base32
7631 "1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
7632 (build-system emacs-build-system)
7633 (home-page "https://github.com/ejmr/php-mode")
7634 (synopsis "Major mode for editing PHP code")
7635 (description "@code{php-mode} is a major mode for editing PHP source
7636 code. It's an extension of C mode; thus it inherits all C mode's navigation
7637 functionality. But it colors according to the PHP grammar and indents
7638 according to the PEAR coding guidelines. It also includes a couple handy
7639 IDE-type features such as documentation search and a source and class
7640 browser.")
7641 (license license:gpl3+)))
7642
7643 (define-public emacs-pos-tip
7644 (package
7645 (name "emacs-pos-tip")
7646 (version "0.4.6")
7647 (source
7648 (origin
7649 (method git-fetch)
7650 (uri (git-reference
7651 (url "https://github.com/pitkali/pos-tip.git")
7652 (commit version)))
7653 (file-name (git-file-name name version))
7654 (sha256
7655 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
7656 (build-system emacs-build-system)
7657 ;; The following functions and variables needed by emacs-pos-tip are
7658 ;; not included in emacs-minimal:
7659 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
7660 (arguments `(#:emacs ,emacs))
7661 (home-page "https://github.com/pitkali/pos-tip")
7662 (synopsis "Show tooltip at point")
7663 (description "The standard library tooltip.el provides a function for
7664 displaying a tooltip at the mouse position. However, locating a tooltip at an
7665 arbitrary buffer position in a window is not easy. Pos-tip provides such a
7666 function to be used by other frontend programs.")
7667 (license license:gpl2+)))
7668
7669 (define-public emacs-pyim-basedict
7670 (package
7671 (name "emacs-pyim-basedict")
7672 (version "0.3.1")
7673 (source
7674 (origin
7675 (method git-fetch)
7676 (uri (git-reference
7677 (url "https://github.com/tumashu/pyim-basedict.git")
7678 (commit (string-append "v" version))))
7679 (file-name (git-file-name name version))
7680 (sha256
7681 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
7682 (build-system emacs-build-system)
7683 (home-page "https://github.com/tumashu/pyim-basedict")
7684 (synopsis "Input method dictionary of pyim")
7685 (description "Pyim-basedict is the default pinyin input method dictionary,
7686 containing words from the rime project.")
7687 (license license:gpl2+)))
7688
7689 (define-public emacs-pyim
7690 (package
7691 (name "emacs-pyim")
7692 (version "1.8")
7693 (source
7694 (origin
7695 (method git-fetch)
7696 (uri (git-reference
7697 (url "https://github.com/tumashu/pyim")
7698 (commit (string-append "v" version))))
7699 (file-name (git-file-name name version))
7700 (sha256
7701 (base32
7702 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
7703 (build-system emacs-build-system)
7704 (propagated-inputs
7705 `(("emacs-async" ,emacs-async)
7706 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
7707 ("emacs-popup" ,emacs-popup)
7708 ("emacs-posframe" ,emacs-posframe)))
7709 (home-page "https://github.com/tumashu/pyim")
7710 (synopsis "Chinese input method")
7711 (description "Chinese input method which supports quanpin, shuangpin, wubi
7712 and cangjie.")
7713 (license license:gpl2+)))
7714
7715 (define-public emacs-posframe
7716 (package
7717 (name "emacs-posframe")
7718 (version "0.5.0")
7719 (source
7720 (origin
7721 (method git-fetch)
7722 (uri (git-reference
7723 (url "https://github.com/tumashu/posframe")
7724 (commit (string-append "v" version))))
7725 (file-name (git-file-name name version))
7726 (sha256
7727 (base32
7728 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
7729 (build-system emacs-build-system)
7730 ;; emacs-minimal does not include the function font-info
7731 (arguments `(#:emacs ,emacs))
7732 (home-page "https://github.com/tumashu/posframe")
7733 (synopsis "Pop a posframe (a child frame) at point")
7734 (description "@code{emacs-posframe} can pop a posframe at point. A
7735 posframe is a child frame displayed within its root window's buffer.
7736 @code{emacs-posframe} is fast and works well with CJK languages.")
7737 (license license:gpl3+)))
7738
7739 (define-public emacs-el2org
7740 (package
7741 (name "emacs-el2org")
7742 (version "0.6.0")
7743 (source
7744 (origin
7745 (method git-fetch)
7746 (uri (git-reference
7747 (url "https://github.com/tumashu/el2org.git")
7748 (commit (string-append "v" version))))
7749 (file-name (git-file-name name version))
7750 (sha256
7751 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
7752 (build-system emacs-build-system)
7753 (home-page "https://github.com/tumashu/el2org")
7754 (synopsis "Convert Emacs-lisp file to org file")
7755 (description "El2org is a simple tool, which can convert Emacs-lisp file
7756 to org file, you can use this tool to write orgify commentary.")
7757 (license license:gpl2+)))
7758
7759 (define-public emacs-mustache
7760 (package
7761 (name "emacs-mustache")
7762 (version "0.23")
7763 (source
7764 (origin
7765 (method git-fetch)
7766 (uri (git-reference
7767 (url "https://github.com/Wilfred/mustache.el.git")
7768 (commit version)))
7769 (file-name (git-file-name name version))
7770 (sha256
7771 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
7772 (build-system emacs-build-system)
7773 (propagated-inputs
7774 `(("emacs-dash" ,emacs-dash)
7775 ("emacs-ht" ,emacs-ht)
7776 ("emacs-s" ,emacs-s)))
7777 (home-page "https://github.com/Wilfred/mustache.el")
7778 (synopsis "Mustache templating library for Emacs")
7779 (description "Mustache templating library for Emacs, mustache is
7780 a simple web template system, which is described as a logic-less system
7781 because it lacks any explicit control flow statements, both looping and
7782 conditional evaluation can be achieved using section tags processing lists
7783 and lambdas.")
7784 (license license:gpl3+)))
7785
7786 (define-public emacs-org2web
7787 (package
7788 (name "emacs-org2web")
7789 (version "0.9.1")
7790 (source
7791 (origin
7792 (method git-fetch)
7793 (uri (git-reference
7794 (url "https://github.com/tumashu/org2web.git")
7795 (commit (string-append "v" version))))
7796 (file-name (git-file-name name version))
7797 (sha256
7798 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
7799 (build-system emacs-build-system)
7800 (propagated-inputs
7801 `(("emacs-dash" ,emacs-dash)
7802 ("emacs-el2org" ,emacs-el2org)
7803 ("emacs-ht" ,emacs-ht)
7804 ("emacs-mustache" ,emacs-mustache)
7805 ("emacs-simple-httpd" ,emacs-simple-httpd)))
7806 (home-page "https://github.com/tumashu/org2web")
7807 (synopsis "Static site generator based on org-mode ")
7808 (description "Org2web is a static site generator based on org-mode,
7809 which code derived from Kelvin H's org-page.")
7810 (license license:gpl2+)))
7811
7812 (define-public emacs-xelb
7813 (package
7814 (name "emacs-xelb")
7815 (version "0.17")
7816 (source (origin
7817 (method url-fetch)
7818 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
7819 version ".tar"))
7820 (sha256
7821 (base32
7822 "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"))))
7823 (build-system emacs-build-system)
7824 ;; The following functions and variables needed by emacs-xelb are
7825 ;; not included in emacs-minimal:
7826 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
7827 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
7828 ;; x-display-pixel-width, x-display-pixel-height
7829 (arguments
7830 `(#:emacs ,emacs
7831 #:phases
7832 (modify-phases %standard-phases
7833 (add-after 'unpack 'regenerate-el-files
7834 (lambda* (#:key inputs #:allow-other-keys)
7835 (invoke "make"
7836 (string-append "PROTO_PATH="
7837 (assoc-ref inputs "xcb-proto")
7838 "/share/xcb")
7839 (string-append "EMACS_BIN="
7840 (assoc-ref inputs "emacs")
7841 "/bin/emacs -Q")))))))
7842 (native-inputs `(("xcb-proto" ,xcb-proto)))
7843 (home-page "https://github.com/ch11ng/xelb")
7844 (synopsis "X protocol Emacs Lisp binding")
7845 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
7846 X11 protocol based on the XML description files from the XCB project. It
7847 features an object-oriented API and permits a certain degree of concurrency.
7848 It should enable you to implement low-level X11 applications.")
7849 (license license:gpl3+)))
7850
7851 (define-public emacs-exwm
7852 (package
7853 (name "emacs-exwm")
7854 (version "0.22")
7855 (synopsis "Emacs X window manager")
7856 (source (origin
7857 (method url-fetch)
7858 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
7859 version ".tar"))
7860 (sha256
7861 (base32
7862 "0lppm8ng37i5s4x7xdrxhjbdcnpl6pyvn4g7w52zbckjsn8qnqh0"))))
7863 (build-system emacs-build-system)
7864 (propagated-inputs
7865 `(("emacs-xelb" ,emacs-xelb)))
7866 (inputs
7867 `(("xhost" ,xhost)
7868 ("dbus" ,dbus)))
7869 ;; The following functions and variables needed by emacs-exwm are
7870 ;; not included in emacs-minimal:
7871 ;; scroll-bar-mode, fringe-mode
7872 ;; x-display-pixel-width, x-display-pixel-height
7873 (arguments
7874 `(#:emacs ,emacs
7875 #:phases
7876 (modify-phases %standard-phases
7877 (add-after 'build 'install-xsession
7878 (lambda* (#:key inputs outputs #:allow-other-keys)
7879 (let* ((out (assoc-ref outputs "out"))
7880 (xsessions (string-append out "/share/xsessions"))
7881 (bin (string-append out "/bin"))
7882 (exwm-executable (string-append bin "/exwm")))
7883 ;; Add a .desktop file to xsessions
7884 (mkdir-p xsessions)
7885 (mkdir-p bin)
7886 (with-output-to-file
7887 (string-append xsessions "/exwm.desktop")
7888 (lambda _
7889 (format #t "[Desktop Entry]~@
7890 Name=~a~@
7891 Comment=~a~@
7892 Exec=~a~@
7893 TryExec=~:*~a~@
7894 Type=Application~%" ,name ,synopsis exwm-executable)))
7895 ;; Add a shell wrapper to bin
7896 (with-output-to-file exwm-executable
7897 (lambda _
7898 (format #t "#!~a ~@
7899 ~a +SI:localuser:$USER ~@
7900 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7901 (string-append (assoc-ref inputs "bash") "/bin/sh")
7902 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7903 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
7904 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
7905 '(cond
7906 ((file-exists-p "~/.exwm")
7907 (load-file "~/.exwm"))
7908 ((not (featurep 'exwm))
7909 (require 'exwm)
7910 (require 'exwm-config)
7911 (exwm-config-default)
7912 (message (concat "exwm configuration not found. "
7913 "Falling back to default configuration...")))))))
7914 (chmod exwm-executable #o555)
7915 #t))))))
7916 (home-page "https://github.com/ch11ng/exwm")
7917 (description "EXWM is a full-featured tiling X window manager for Emacs
7918 built on top of XELB.")
7919 (license license:gpl3+)))
7920
7921 (define-public emacs-switch-window
7922 (package
7923 (name "emacs-switch-window")
7924 (version "1.6.2")
7925 (source
7926 (origin
7927 (method git-fetch)
7928 (uri (git-reference
7929 (url "https://github.com/dimitri/switch-window")
7930 (commit (string-append "v" version))))
7931 (file-name (git-file-name name version))
7932 (sha256
7933 (base32
7934 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
7935 (build-system emacs-build-system)
7936 (home-page "https://github.com/dimitri/switch-window")
7937 (synopsis "Emacs window switch tool")
7938 (description "Switch-window is an emacs window switch tool, which
7939 offer a visual way to choose a window to switch to, delete, split or
7940 other operations.")
7941 (license license:wtfpl2)))
7942
7943 (define-public emacs-exwm-x
7944 (package
7945 (name "emacs-exwm-x")
7946 (version "1.9.0")
7947 (synopsis "Derivative window manager based on EXWM")
7948 (source
7949 (origin
7950 (method git-fetch)
7951 (uri (git-reference
7952 (url "https://github.com/tumashu/exwm-x")
7953 (commit (string-append "v" version))))
7954 (file-name (git-file-name name version))
7955 (sha256
7956 (base32
7957 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
7958 (build-system emacs-build-system)
7959 (propagated-inputs
7960 `(("emacs-exwm" ,emacs-exwm)
7961 ("emacs-switch-window" ,emacs-switch-window)
7962 ("emacs-ivy" ,emacs-ivy)
7963 ("emacs-use-package" ,emacs-use-package)))
7964 (inputs
7965 `(("xhost" ,xhost)
7966 ("dbus" ,dbus)))
7967 ;; Need emacs instead of emacs-minimal,
7968 ;; for emacs's bin path will be inserted into bin/exwm-x file.
7969 (arguments
7970 `(#:emacs ,emacs
7971 #:phases
7972 (modify-phases %standard-phases
7973 (add-after 'build 'install-xsession
7974 (lambda* (#:key inputs outputs #:allow-other-keys)
7975 (let* ((out (assoc-ref outputs "out"))
7976 (xsessions (string-append out "/share/xsessions"))
7977 (bin (string-append out "/bin"))
7978 (exwm-executable (string-append bin "/exwm-x")))
7979 ;; Add a .desktop file to xsessions
7980 (mkdir-p xsessions)
7981 (mkdir-p bin)
7982 (with-output-to-file
7983 (string-append xsessions "/exwm-x.desktop")
7984 (lambda _
7985 (format #t "[Desktop Entry]~@
7986 Name=~a~@
7987 Comment=~a~@
7988 Exec=~a~@
7989 TryExec=~@*~a~@
7990 Type=Application~%" ,name ,synopsis exwm-executable)))
7991 ;; Add a shell wrapper to bin
7992 (with-output-to-file exwm-executable
7993 (lambda _
7994 (format #t "#!~a ~@
7995 ~a +SI:localuser:$USER ~@
7996 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
7997 (string-append (assoc-ref inputs "bash") "/bin/sh")
7998 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
7999 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
8000 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
8001 '(require 'exwmx-loader))))
8002 (chmod exwm-executable #o555)
8003 #t))))))
8004 (home-page "https://github.com/tumashu/exwm-x")
8005 (description "EXWM-X is a derivative window manager based on EXWM, with focus
8006 on mouse-control.")
8007 (license license:gpl3+)))
8008
8009 (define-public emacs-gnugo
8010 (package
8011 (name "emacs-gnugo")
8012 (version "3.1.0")
8013 (source
8014 (origin
8015 (method url-fetch)
8016 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
8017 version ".tar"))
8018 (sha256
8019 (base32
8020 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
8021 (build-system emacs-build-system)
8022 (arguments
8023 `(#:phases (modify-phases %standard-phases
8024 (add-after 'unpack 'configure-default-gnugo-xpms-variable
8025 (lambda _
8026 (substitute* "gnugo.el"
8027 (("defvar gnugo-xpms nil")
8028 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
8029 #t)))))
8030 (propagated-inputs
8031 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
8032 ("emacs-xpm" ,emacs-xpm)))
8033 (home-page "https://elpa.gnu.org/packages/gnugo.html")
8034 (synopsis "Emacs major mode for playing GNU Go")
8035 (description "This package provides an Emacs based interface for GNU Go.
8036 It has a graphical mode where the board and stones are drawn using XPM images
8037 and supports the use of a mouse.")
8038 (license license:gpl3+)))
8039
8040 (define-public emacs-gnuplot
8041 (package
8042 (name "emacs-gnuplot")
8043 (version "0.7.0")
8044 (source
8045 (origin
8046 (method git-fetch)
8047 (uri (git-reference
8048 (url "https://github.com/bruceravel/gnuplot-mode.git")
8049 (commit version)))
8050 (file-name (git-file-name name version))
8051 (sha256
8052 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
8053 (build-system gnu-build-system)
8054 (native-inputs `(("emacs" ,emacs-minimal)))
8055 (arguments
8056 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
8057 "/gnuplot-" version)))
8058 `(#:modules ((guix build gnu-build-system)
8059 (guix build utils)
8060 (guix build emacs-utils))
8061 #:imported-modules (,@%gnu-build-system-modules
8062 (guix build emacs-utils))
8063 #:configure-flags
8064 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
8065 "/bin/emacs")
8066 (string-append "--with-lispdir=" %output ,elisp-dir))
8067 #:phases
8068 (modify-phases %standard-phases
8069 (add-after 'install 'generate-autoloads
8070 (lambda* (#:key outputs #:allow-other-keys)
8071 (emacs-generate-autoloads
8072 "gnuplot"
8073 (string-append (assoc-ref outputs "out") ,elisp-dir))
8074 #t))))))
8075 (home-page "https://github.com/bruceravel/gnuplot-mode")
8076 (synopsis "Emacs major mode for interacting with gnuplot")
8077 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
8078 with gnuplot.")
8079 (license license:gpl2+)))
8080
8081 (define-public emacs-transpose-frame
8082 (package
8083 (name "emacs-transpose-frame")
8084 (version "0.1.0")
8085 (source
8086 (origin
8087 (method url-fetch)
8088 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
8089 (file-name (string-append "transpose-frame-" version ".el"))
8090 (sha256
8091 (base32
8092 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
8093 (build-system emacs-build-system)
8094 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
8095 (synopsis "Transpose window arrangement in current frame")
8096 (description "@code{emacs-transpose-frame} provides some interactive
8097 functions which allows users to transpose windows arrangement in currently
8098 selected frame.")
8099 (license license:bsd-2)))
8100
8101 (define-public emacs-key-chord
8102 (package
8103 (name "emacs-key-chord")
8104 (version "0.6")
8105 (source
8106 (origin
8107 (method url-fetch)
8108 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
8109 (file-name (string-append "key-chord-" version ".el"))
8110 (sha256
8111 (base32
8112 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
8113 (build-system emacs-build-system)
8114 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
8115 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
8116 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
8117 mode for binding key chords to commands. A key chord is defined as two keys
8118 pressed simultaneously or a single key quickly pressed twice.")
8119 (license license:gpl2+)))
8120
8121 (define-public emacs-evil-surround
8122 (package
8123 (name "emacs-evil-surround")
8124 (version "1.0.4")
8125 (source
8126 (origin
8127 (method git-fetch)
8128 (uri (git-reference
8129 (url "https://github.com/emacs-evil/evil-surround")
8130 (commit version)))
8131 (file-name (git-file-name name version))
8132 (sha256
8133 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
8134 (build-system emacs-build-system)
8135 (propagated-inputs
8136 `(("emacs-evil" ,emacs-evil)))
8137 (home-page "https://github.com/emacs-evil/evil-surround")
8138 (synopsis "Easily modify surrounding parentheses and quotes")
8139 (description "@code{emacs-evil-surround} allows easy deletion, change and
8140 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
8141 (license license:gpl3+)))
8142
8143 (define-public emacs-evil-commentary
8144 (package
8145 (name "emacs-evil-commentary")
8146 (version "2.1.1")
8147 (source
8148 (origin
8149 (method git-fetch)
8150 (uri (git-reference
8151 (url "https://github.com/linktohack/evil-commentary.git")
8152 (commit (string-append "v" version))))
8153 (file-name (git-file-name name version))
8154 (sha256
8155 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
8156 (build-system emacs-build-system)
8157 (propagated-inputs
8158 `(("emacs-evil" ,emacs-evil)))
8159 (home-page "https://github.com/linktohack/evil-commentary")
8160 (synopsis "Comment out code in evil mode")
8161 (description "@code{emacs-evil-commentary} adds keybindings to easily
8162 comment out lines of code in evil mode. It provides @code{gcc} to comment out
8163 lines, and @code{gc} to comment out the target of a motion.")
8164 (license license:gpl3+)))
8165
8166 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
8167 ;; therefore cannot be run
8168 (define-public emacs-ansi
8169 (package
8170 (name "emacs-ansi")
8171 (version "0.4.1")
8172 (source
8173 (origin
8174 (method git-fetch)
8175 (uri (git-reference
8176 (url "https://github.com/rejeep/ansi.el.git")
8177 (commit (string-append "v" version))))
8178 (file-name (git-file-name name version))
8179 (sha256
8180 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
8181 (build-system emacs-build-system)
8182 (propagated-inputs
8183 `(("emacs-dash" ,emacs-dash)
8184 ("emacs-s" ,emacs-s)))
8185 (home-page "https://github.com/rejeep/ansi.el")
8186 (synopsis "Convert strings to ANSI")
8187 (description "@code{emacs-ansi} defines functions that turns simple
8188 strings to ANSI strings. Turning a string into an ANSI string can be to add
8189 color to a text, add color in the background of a text or adding a style, such
8190 as bold, underscore or italic.")
8191 (license license:gpl3+)))
8192
8193 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
8194 ;; therefore cannot be run
8195 (define-public emacs-commander
8196 (package
8197 (name "emacs-commander")
8198 (version "0.7.0")
8199 (source
8200 (origin
8201 (method git-fetch)
8202 (uri (git-reference
8203 (url "https://github.com/rejeep/commander.el.git")
8204 (commit (string-append "v" version))))
8205 (file-name (git-file-name name version))
8206 (sha256
8207 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
8208 (build-system emacs-build-system)
8209 (propagated-inputs
8210 `(("emacs-dash" ,emacs-dash)
8211 ("emacs-f" ,emacs-f)
8212 ("emacs-s" ,emacs-s)))
8213 (home-page "https://github.com/rejeep/commander.el")
8214 (synopsis "Emacs command line parser")
8215 (description "@code{emacs-commander} provides command line parsing for
8216 Emacs.")
8217 (license license:gpl3+)))
8218
8219 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
8220 ;; cannot be run
8221 (define-public emacs-ert-runner
8222 (let ((version "0.7.0")
8223 (revision "1")
8224 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
8225 (package
8226 (name "emacs-ert-runner")
8227 (version (git-version "0.7.0" revision commit))
8228 (source
8229 (origin
8230 (method git-fetch)
8231 (uri (git-reference
8232 (url "https://github.com/rejeep/ert-runner.el.git")
8233 (commit commit)))
8234 (file-name (git-file-name name version))
8235 (sha256
8236 (base32
8237 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
8238 (build-system emacs-build-system)
8239 (inputs
8240 `(("emacs-ansi" ,emacs-ansi)
8241 ("emacs-commander" ,emacs-commander)
8242 ("emacs-dash" ,emacs-dash)
8243 ("emacs-f" ,emacs-f)
8244 ("emacs-s" ,emacs-s)
8245 ("emacs-shut-up" ,emacs-shut-up)))
8246 (arguments
8247 `(#:phases
8248 (modify-phases %standard-phases
8249 (add-after 'install 'install-executable
8250 (lambda* (#:key inputs outputs #:allow-other-keys)
8251 (let ((out (assoc-ref outputs "out"))
8252 (source-directory (string-append
8253 (getenv "TMPDIR") "/source")))
8254 (substitute* "bin/ert-runner"
8255 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
8256 (string-append "ERT_RUNNER=\"" out
8257 "/share/emacs/site-lisp/guix.d/ert-runner-"
8258 ,version)))
8259 (install-file "bin/ert-runner" (string-append out "/bin"))
8260 (wrap-program (string-append out "/bin/ert-runner")
8261 (list "EMACSLOADPATH" ":" 'prefix
8262 ;; Do not capture the transient source directory in
8263 ;; the wrapper.
8264 (delete source-directory
8265 (string-split (getenv "EMACSLOADPATH") #\:))))
8266 #t))))
8267 #:include (cons* "^reporters/.*\\.el$" %default-include)))
8268 (home-page "https://github.com/rejeep/ert-runner.el")
8269 (synopsis "Opinionated Ert testing workflow")
8270 (description "@code{ert-runner} is a tool for Emacs projects tested
8271 using ERT. It assumes a certain test structure setup and can therefore make
8272 running tests easier.")
8273 (license license:gpl3+))))
8274
8275 (define-public ert-runner
8276 (deprecated-package "ert-runner" emacs-ert-runner))
8277
8278 (define-public emacs-xtest
8279 (package
8280 (name "emacs-xtest")
8281 (version "1.1.0")
8282 (source (origin
8283 (method git-fetch)
8284 (uri (git-reference
8285 (url "https://github.com/promethial/xtest.git")
8286 (commit (string-append "v" version))))
8287 (file-name (git-file-name name version))
8288 (sha256
8289 (base32
8290 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
8291 (arguments
8292 `(#:exclude '()))
8293 (build-system emacs-build-system)
8294 (home-page "https://github.com/promethial/xtest/")
8295 (synopsis "Simple testing with Emacs")
8296 (description "This package provides a simple testing library for Emacs.")
8297 (license license:gpl3+)))
8298
8299 (define-public emacs-disable-mouse
8300 (package
8301 (name "emacs-disable-mouse")
8302 (version "0.2")
8303 (source
8304 (origin
8305 (method git-fetch)
8306 (uri (git-reference
8307 (url "https://github.com/purcell/disable-mouse.git")
8308 (commit version)))
8309 (file-name (git-file-name name version))
8310 (sha256
8311 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
8312 (build-system emacs-build-system)
8313 (home-page "https://github.com/purcell/disable-mouse")
8314 (synopsis "Disable mouse commands globally")
8315 (description
8316 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
8317 pair of minor modes which suppress all mouse events by intercepting them and
8318 running a customisable handler command (@code{ignore} by default). ")
8319 (license license:gpl3+)))
8320
8321 (define-public emacs-json-reformat
8322 (package
8323 (name "emacs-json-reformat")
8324 (version "0.0.6")
8325 (source
8326 (origin
8327 (method git-fetch)
8328 (uri (git-reference
8329 (url "https://github.com/gongo/json-reformat.git")
8330 (commit version)))
8331 (file-name (git-file-name name version))
8332 (sha256
8333 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
8334 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
8335 (build-system emacs-build-system)
8336 (propagated-inputs
8337 `(("emacs-undercover" ,emacs-undercover)))
8338 (native-inputs
8339 `(("emacs-dash" ,emacs-dash)
8340 ("emacs-shut-up" ,emacs-shut-up)
8341 ("ert-runner" ,emacs-ert-runner)))
8342 (arguments
8343 `(#:tests? #t
8344 #:test-command '("ert-runner")
8345 #:phases
8346 (modify-phases %standard-phases
8347 (add-before 'check 'make-tests-writable
8348 (lambda _
8349 (for-each make-file-writable (find-files "test"))
8350 #t))
8351 (add-before 'check 'delete-json-objects-order-test
8352 (lambda _
8353 (emacs-batch-edit-file "test/json-reformat-test.el"
8354 `(progn (progn (goto-char (point-min))
8355 (re-search-forward
8356 "ert-deftest json-reformat-test:json-reformat-region")
8357 (beginning-of-line)
8358 (kill-sexp))
8359 (basic-save-buffer)))
8360 #t)))))
8361 (home-page "https://github.com/gongo/json-reformat")
8362 (synopsis "Reformatting tool for JSON")
8363 (description "@code{json-reformat} provides a reformatting tool for
8364 @url{http://json.org/, JSON}.")
8365 (license license:gpl3+)))
8366
8367 (define-public emacs-json-snatcher
8368 (package
8369 (name "emacs-json-snatcher")
8370 (version "1.0.0")
8371 (source
8372 (origin
8373 (method git-fetch)
8374 (uri (git-reference
8375 (url "https://github.com/Sterlingg/json-snatcher.git")
8376 (commit version)))
8377 (file-name (git-file-name name version))
8378 (sha256
8379 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
8380 (build-system emacs-build-system)
8381 (home-page "https://github.com/sterlingg/json-snatcher")
8382 (synopsis "Grabs the path to JSON values in a JSON file")
8383 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
8384 a @url{http://json.org/, JSON} file.")
8385 (license license:gpl3+)))
8386
8387 (define-public emacs-json-mode
8388 (package
8389 (name "emacs-json-mode")
8390 (version "1.7.0")
8391 (source
8392 (origin
8393 (method git-fetch)
8394 (uri (git-reference
8395 (url "https://github.com/joshwnj/json-mode.git")
8396 (commit (string-append "v" version))))
8397 (file-name (git-file-name name version))
8398 (sha256
8399 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
8400 (build-system emacs-build-system)
8401 (propagated-inputs
8402 `(("emacs-json-reformat" ,emacs-json-reformat)
8403 ("emacs-json-snatcher" ,emacs-json-snatcher)))
8404 (home-page "https://github.com/joshwnj/json-mode")
8405 (synopsis "Major mode for editing JSON files")
8406 (description "@code{json-mode} extends the builtin js-mode syntax
8407 highlighting.")
8408 (license license:gpl3+)))
8409
8410 (define-public emacs-restclient
8411 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
8412 (version "0")
8413 (revision "2")) ;Guix package revision,
8414 ;upstream doesn't have official releases
8415 (package
8416 (name "emacs-restclient")
8417 (version (git-version version revision commit))
8418 (source (origin
8419 (method git-fetch)
8420 (uri (git-reference
8421 (url "https://github.com/pashky/restclient.el.git")
8422 (commit commit)))
8423 (sha256
8424 (base32
8425 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
8426 (file-name (git-file-name name version))))
8427 (build-system emacs-build-system)
8428 (propagated-inputs
8429 `(("emacs-helm" ,emacs-helm)))
8430 (home-page "https://github.com/pashky/restclient.el")
8431 (synopsis "Explore and test HTTP REST webservices")
8432 (description
8433 "This tool allows for testing and exploration of HTTP REST Web services
8434 from within Emacs. Restclient runs queries from a plan-text query sheet,
8435 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
8436 (license license:public-domain))))
8437
8438 (define-public emacs-whitespace-cleanup-mode
8439 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
8440 (revision "1"))
8441 (package
8442 (name "emacs-whitespace-cleanup-mode")
8443 (version (git-version "0.10" revision commit))
8444 (source (origin
8445 (method git-fetch)
8446 (uri (git-reference
8447 (url "https://github.com/purcell/whitespace-cleanup-mode")
8448 (commit commit)))
8449 (sha256
8450 (base32
8451 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
8452 (file-name (git-file-name name version))))
8453 (build-system emacs-build-system)
8454 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
8455 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
8456 (description
8457 "This package provides a minor mode that calls
8458 @code{whitespace-cleanup} before saving the current buffer only if the
8459 whitespace in the buffer was initially clean.")
8460 (license license:gpl3+))))
8461
8462 (define-public emacs-eimp
8463 (let ((version "1.4.0")
8464 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
8465 (revision "1"))
8466 (package
8467 (name "emacs-eimp")
8468 (version (git-version version revision commit))
8469 (source
8470 (origin
8471 (method git-fetch)
8472 (uri (git-reference
8473 (url "https://github.com/nicferrier/eimp.git")
8474 (commit commit)))
8475 (file-name (git-file-name name version))
8476 (sha256
8477 (base32
8478 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
8479 (build-system emacs-build-system)
8480 (arguments
8481 `(#:phases
8482 (modify-phases %standard-phases
8483 (add-after 'unpack 'configure
8484 (lambda* (#:key inputs #:allow-other-keys)
8485 (let ((imagemagick (assoc-ref inputs "imagemagick")))
8486 ;; eimp.el is read-only in git.
8487 (chmod "eimp.el" #o644)
8488 (emacs-substitute-variables "eimp.el"
8489 ("eimp-mogrify-program"
8490 (string-append imagemagick "/bin/mogrify"))))
8491 #t)))))
8492 (inputs
8493 `(("imagemagick" ,imagemagick)))
8494 (home-page "https://github.com/nicferrier/eimp")
8495 (synopsis "Interactive image manipulation utility for Emacs")
8496 (description "@code{emacs-eimp} allows interactive image manipulation
8497 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
8498 the actual transformations.")
8499 (license license:gpl2+))))
8500
8501 (define-public emacs-dired-hacks
8502 (let ((commit "2c1234592aee91dcd9401bcd67213e6a4a464fd9")
8503 (revision "1"))
8504 (package
8505 (name "emacs-dired-hacks")
8506 (version (string-append "0.0.1-" revision "."
8507 (string-take commit 7)))
8508 (source (origin
8509 (method git-fetch)
8510 (uri (git-reference
8511 (url "https://github.com/Fuco1/dired-hacks.git")
8512 (commit commit)))
8513 (file-name (git-file-name name version))
8514 (sha256
8515 (base32
8516 "1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3"))))
8517 (build-system emacs-build-system)
8518 (propagated-inputs
8519 `(("emacs-dash" ,emacs-dash)
8520 ("emacs-eimp" ,emacs-eimp)
8521 ("emacs-f" ,emacs-f)
8522 ("emacs-s" ,emacs-s)))
8523 (home-page "https://github.com/Fuco1/dired-hacks")
8524 (synopsis
8525 "Collection of useful dired additions")
8526 (description
8527 "Collection of Emacs dired mode additions:
8528 @itemize
8529 @item dired-avfs
8530 @item dired-columns
8531 @item dired-filter
8532 @item dired-hacks-utils
8533 @item dired-images
8534 @item dired-list
8535 @item dired-narrow
8536 @item dired-open
8537 @item dired-rainbow
8538 @item dired-ranger
8539 @item dired-subtree
8540 @item dired-tagsistant
8541 @end itemize\n")
8542 (license license:gpl3+))))
8543
8544 (define-public emacs-dired-sidebar
8545 (let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
8546 (revision "0"))
8547 (package
8548 (name "emacs-dired-sidebar")
8549 (home-page "https://github.com/jojojames/dired-sidebar")
8550 (version (git-version "0.0.1" revision commit))
8551 (source (origin
8552 (method git-fetch)
8553 (uri (git-reference (url home-page) (commit commit)))
8554 (file-name (git-file-name name version))
8555 (sha256
8556 (base32
8557 "0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
8558 (build-system emacs-build-system)
8559 (propagated-inputs
8560 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
8561 (synopsis "Sidebar for Emacs using Dired")
8562 (description
8563 "This package provides a sidebar for Emacs similar to @code{NeoTree}
8564 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
8565 (license license:gpl3+))))
8566
8567 (define-public emacs-which-key
8568 (package
8569 (name "emacs-which-key")
8570 (version "3.3.1")
8571 (source
8572 (origin
8573 (method git-fetch)
8574 (uri (git-reference
8575 (url "https://github.com/justbur/emacs-which-key.git")
8576 (commit (string-append "v" version))))
8577 (file-name (git-file-name name version))
8578 (sha256
8579 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
8580 (build-system emacs-build-system)
8581 (arguments
8582 `(#:tests? #t
8583 #:test-command '("emacs" "--batch"
8584 "-l" "which-key-tests.el"
8585 "-f" "ert-run-tests-batch-and-exit")))
8586 (home-page "https://github.com/justbur/emacs-which-key")
8587 (synopsis "Display available key bindings in popup")
8588 (description
8589 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
8590 bindings following your currently entered incomplete command (a prefix) in a
8591 popup. For example, after enabling the minor mode if you enter C-x and wait
8592 for the default of 1 second, the minibuffer will expand with all of the
8593 available key bindings that follow C-x (or as many as space allows given your
8594 settings).")
8595 (license license:gpl3+)))
8596
8597 (define-public emacs-ws-butler
8598 (package
8599 (name "emacs-ws-butler")
8600 (version "0.6")
8601 (source (origin
8602 (method git-fetch)
8603 (uri (git-reference
8604 (url "https://github.com/lewang/ws-butler.git")
8605 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
8606 (file-name (git-file-name name version))
8607 (sha256
8608 (base32
8609 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
8610 (build-system emacs-build-system)
8611 (native-inputs
8612 `(("ert-runner" ,emacs-ert-runner)))
8613 (arguments
8614 `(#:tests? #t
8615 #:test-command '("ert-runner" "tests")))
8616 (home-page "https://github.com/lewang/ws-butler")
8617 (synopsis "Trim spaces from end of lines")
8618 (description
8619 "This Emacs package automatically and unobtrusively trims whitespace
8620 characters from end of lines.")
8621 (license license:gpl3+)))
8622
8623 (define-public emacs-org-edit-latex
8624 (package
8625 (name "emacs-org-edit-latex")
8626 (version "0.8.0")
8627 (source
8628 (origin
8629 (method git-fetch)
8630 (uri (git-reference
8631 (url "https://github.com/et2010/org-edit-latex.git")
8632 (commit (string-append "v" version))))
8633 (file-name (git-file-name name version))
8634 (sha256
8635 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
8636 (build-system emacs-build-system)
8637 (propagated-inputs
8638 `(("emacs-auctex" ,emacs-auctex)
8639 ;; The version of org in Emacs 25.2 is not sufficient, because the
8640 ;; `org-latex-make-preamble' function is required.
8641 ("emacs-org" ,emacs-org)))
8642 (home-page "https://github.com/et2010/org-edit-latex")
8643 (synopsis "Edit a latex fragment just like editing a src block")
8644 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
8645 It lets you edit a latex fragment in a dedicated buffer just like editing a
8646 src block.")
8647 (license license:gpl3+)))
8648
8649 (define-public emacs-emamux
8650 (package
8651 (name "emacs-emamux")
8652 (version "0.14")
8653 (source
8654 (origin
8655 (method git-fetch)
8656 (uri (git-reference
8657 (url "https://github.com/syohex/emacs-emamux.git")
8658 (commit version)))
8659 (file-name (git-file-name name version))
8660 (sha256
8661 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
8662 (build-system emacs-build-system)
8663 (home-page "https://github.com/syohex/emacs-emamux")
8664 (synopsis "Manipulate Tmux from Emacs")
8665 (description
8666 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
8667 multiplexer.")
8668 (license license:gpl3+)))
8669
8670 (define-public emacs-rpm-spec-mode
8671 (package
8672 (name "emacs-rpm-spec-mode")
8673 (version "0.16")
8674 (source
8675 (origin
8676 (method url-fetch)
8677 ;; URI has the Fedora release number instead of the version
8678 ;; number. This will have to updated manually every new release.
8679 (uri (string-append
8680 "https://src.fedoraproject.org/cgit/rpms"
8681 "/emacs-rpm-spec-mode.git/snapshot"
8682 "/emacs-rpm-spec-mode-f26.tar.gz"))
8683 (sha256
8684 (base32
8685 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
8686 (build-system emacs-build-system)
8687 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
8688 (synopsis "Emacs major mode for editing RPM spec files")
8689 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
8690 editing RPM spec files.")
8691 (license license:gpl2+)))
8692
8693 (define-public emacs-lcr
8694 (package
8695 (name "emacs-lcr")
8696 (version "1.1")
8697 (source
8698 (origin
8699 (method git-fetch)
8700 (uri (git-reference
8701 (url "https://github.com/jyp/lcr")
8702 (commit version)))
8703 (file-name (git-file-name name version))
8704 (sha256
8705 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
8706 (build-system emacs-build-system)
8707 (propagated-inputs
8708 `(("emacs-dash" ,emacs-dash)))
8709 (home-page "https://github.com/jyp/lcr")
8710 (synopsis "Lightweight coroutines in Emacs Lisp")
8711 (description "This package provides macros that can translate code into
8712 equivalent continuation-passing code, as well as miscellaneous utility
8713 functions written in continuation-passing style.")
8714 (license license:gpl3+)))
8715
8716 (define-public emacs-attrap
8717 (let ((commit "3b092bb8f6755a97e6ecb7623b9d2dde58beba4a")
8718 (revision "1"))
8719 (package
8720 (name "emacs-attrap")
8721 (version (git-version "1.0" revision commit))
8722 (source (origin
8723 (method git-fetch)
8724 (uri (git-reference
8725 (url "https://github.com/jyp/attrap")
8726 (commit commit)))
8727 (sha256
8728 (base32
8729 "05d32980saji8ja1pcv65l0s3dq7w0n5hpikbf246hciy1x067pp"))
8730 (file-name (git-file-name name version))))
8731 (build-system emacs-build-system)
8732 (propagated-inputs
8733 `(("emacs-dash" ,emacs-dash)
8734 ("emacs-f" ,emacs-f)
8735 ("emacs-flycheck" ,emacs-flycheck)
8736 ("emacs-s" ,emacs-s)))
8737 (home-page "https://github.com/jyp/attrap")
8738 (synopsis "Fix coding error at point")
8739 (description "This package provides a command to fix the Flycheck error
8740 at point.")
8741 (license license:gpl3+))))
8742
8743 (define-public emacs-git-messenger
8744 (package
8745 (name "emacs-git-messenger")
8746 (version "0.18")
8747 (source
8748 (origin
8749 (method git-fetch)
8750 (uri (git-reference
8751 (url "https://github.com/syohex/emacs-git-messenger.git")
8752 (commit version)))
8753 (file-name (git-file-name name version))
8754 (sha256
8755 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
8756 (build-system emacs-build-system)
8757 (propagated-inputs
8758 `(("emacs-popup" ,emacs-popup)))
8759 (arguments
8760 `(#:tests? #t
8761 #:test-command '("emacs" "--batch" "-l" "test/test.el"
8762 "-f" "ert-run-tests-batch-and-exit")))
8763 (home-page "https://github.com/syohex/emacs-git-messenger")
8764 (synopsis "Popup commit message at current line")
8765 (description "@code{emacs-git-messenger} provides
8766 @code{git-messenger:popup-message}, a function that when called, will popup
8767 the last git commit message for the current line. This uses git-blame
8768 internally.")
8769 (license license:gpl3+)))
8770
8771 (define-public emacs-gitpatch
8772 (package
8773 (name "emacs-gitpatch")
8774 (version "0.5.0")
8775 (source
8776 (origin
8777 (method git-fetch)
8778 (uri (git-reference
8779 (url "https://github.com/tumashu/gitpatch.git")
8780 (commit (string-append "v" version))))
8781 (file-name (git-file-name name version))
8782 (sha256
8783 (base32 "1jj12pjwza6cq8a3kr8nqnmm3vxs0wam8h983irry4xr4ifywsn4"))))
8784 (build-system emacs-build-system)
8785 (home-page "https://github.com/tumashu/gitpatch")
8786 (synopsis "Mail git patch from Emacs")
8787 (description "@code{emacs-gitpatch} lets users easily send git patches,
8788 created by @code{git format-patch}, from @code{magit}, @code{dired} and
8789 @code{ibuffer} buffers.")
8790 (license license:gpl3+)))
8791
8792 (define-public emacs-erc-hl-nicks
8793 (package
8794 (name "emacs-erc-hl-nicks")
8795 (version "1.3.3")
8796 (source
8797 (origin
8798 (method git-fetch)
8799 (uri (git-reference
8800 (url "https://github.com/leathekd/erc-hl-nicks")
8801 (commit version)))
8802 (file-name (git-file-name name version))
8803 (sha256
8804 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
8805 (build-system emacs-build-system)
8806 (synopsis "Nickname highlighting for Emacs ERC")
8807 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
8808 client for Emacs. The main features are:
8809 @itemize
8810 @item Auto-colorizes nicknames without having to specify colors
8811 @item Ignores certain characters that IRC clients add to nicknames to avoid
8812 duplicates (nickname, nickname’, nickname\", etc.)
8813 @item Attempts to produce colors with a sufficient amount of contrast between
8814 the nick color and the background color
8815 @end itemize\n")
8816 (home-page "https://github.com/leathekd/erc-hl-nicks")
8817 (license license:gpl3+)))
8818
8819 (define-public emacs-engine-mode
8820 (package
8821 (name "emacs-engine-mode")
8822 (version "2.0.0")
8823 (source
8824 (origin
8825 (method git-fetch)
8826 (uri (git-reference
8827 (url "https://github.com/hrs/engine-mode.git")
8828 (commit (string-append "v" version))))
8829 (file-name (git-file-name name version))
8830 (sha256
8831 (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"))))
8832 (build-system emacs-build-system)
8833 (synopsis "Minor mode for defining and querying search engines")
8834 (description "@code{engine-mode} is a global minor mode for Emacs. It
8835 enables you to easily define search engines, bind them to keybindings, and
8836 query them from the comfort of your editor.")
8837 (home-page "https://github.com/hrs/engine-mode")
8838 (license license:gpl3+)))
8839
8840 (define-public emacs-prop-menu
8841 (package
8842 (name "emacs-prop-menu")
8843 (version "0.1.2")
8844 (source
8845 (origin
8846 (method url-fetch)
8847 (uri (string-append
8848 "http://stable.melpa.org/packages/prop-menu-"
8849 version ".el"))
8850 (sha256
8851 (base32
8852 "01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
8853 (build-system emacs-build-system)
8854 (home-page
8855 "https://github.com/david-christiansen/prop-menu-el")
8856 (synopsis
8857 "Create and display a context menu based on text and overlay properties")
8858 (description
8859 "This is a library for computing context menus based on text
8860 properties and overlays. The intended use is to have tools that
8861 annotate source code and others that use these annotations, without
8862 requiring a direct coupling between them, but maintaining
8863 discoverability.
8864
8865 Major modes that wish to use this library should first define an
8866 appropriate value for @code{prop-menu-item-functions}. Then, they should
8867 bind @code{prop-menu-by-completing-read} to an appropriate
8868 key. Optionally, a mouse pop-up can be added by binding
8869 @code{prop-menu-show-menu} to a mouse event.")
8870 (license license:gpl3+)))
8871
8872 (define-public emacs-idris-mode
8873 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
8874 (revision "0"))
8875 (package
8876 (name "emacs-idris-mode")
8877 (version (git-version "0.9.19" revision commit))
8878 (source
8879 (origin
8880 (method git-fetch)
8881 (uri (git-reference
8882 (url "https://github.com/idris-hackers/idris-mode.git")
8883 (commit commit)))
8884 (file-name (git-file-name name commit))
8885 (sha256
8886 (base32
8887 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
8888 (build-system emacs-build-system)
8889 (propagated-inputs
8890 `(("emacs-prop-menu" ,emacs-prop-menu)))
8891 (home-page
8892 "https://github.com/idris-hackers/idris-mode")
8893 (synopsis "Major mode for editing Idris code")
8894 (description
8895 "This is an Emacs mode for editing Idris code. It requires the latest
8896 version of Idris, and some features may rely on the latest Git version of
8897 Idris.")
8898 (license license:gpl3+))))
8899
8900 (define-public emacs-browse-at-remote
8901 (package
8902 (name "emacs-browse-at-remote")
8903 (version "0.10.0")
8904 (source
8905 (origin
8906 (method git-fetch)
8907 (uri (git-reference
8908 (url "https://github.com/rmuslimov/browse-at-remote.git")
8909 (commit version)))
8910 (file-name (git-file-name name version))
8911 (sha256
8912 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
8913 (build-system emacs-build-system)
8914 (propagated-inputs
8915 `(("emacs-f" ,emacs-f)
8916 ("emacs-s" ,emacs-s)))
8917 (native-inputs
8918 `(("ert-runner" ,emacs-ert-runner)))
8919 (arguments
8920 `(#:tests? #t
8921 #:test-command '("ert-runner")))
8922 (home-page "https://github.com/rmuslimov/browse-at-remote")
8923 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
8924 (description
8925 "This Emacs package allows you to open a target page on
8926 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
8927 It supports dired buffers and opens them in tree mode at destination.")
8928 (license license:gpl3+)))
8929
8930 (define-public emacs-tiny
8931 (package
8932 (name "emacs-tiny")
8933 (version "0.2.1")
8934 (source
8935 (origin
8936 (method url-fetch)
8937 (uri (string-append "http://elpa.gnu.org/packages/tiny-" version ".tar"))
8938 (sha256
8939 (base32
8940 "1cr73a8gba549ja55x0c2s554f3zywf69zbnd7v82jz5q1k9wd2v"))))
8941 (build-system emacs-build-system)
8942 (home-page "https://github.com/abo-abo/tiny")
8943 (synopsis "Quickly generate linear ranges in Emacs")
8944 (description
8945 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
8946 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
8947 proficiency is an advantage, since you can transform your numeric range with
8948 an elisp expression.")
8949 (license license:gpl3+)))
8950
8951 (define-public emacs-emojify
8952 (package
8953 (name "emacs-emojify")
8954 (version "1.2")
8955 (source
8956 (origin
8957 (method git-fetch)
8958 (uri (git-reference
8959 (url "https://github.com/iqbalansari/emacs-emojify")
8960 (commit (string-append "v" version))))
8961 (file-name (git-file-name name version))
8962 (sha256
8963 (base32
8964 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
8965 (build-system emacs-build-system)
8966 (arguments
8967 `(#:include (cons "^data/" %default-include)))
8968 (propagated-inputs
8969 `(("emacs-ht" ,emacs-ht)))
8970 (home-page "https://github.com/iqbalansari/emacs-emojify")
8971 (synopsis "Display emojis in Emacs")
8972 (description "This package displays emojis in Emacs similar to how Github,
8973 Slack, and other websites do. It can display plain ASCII like @code{:)} as
8974 well as Github-style emojis like @code{:smile:}. It provides a minor mode
8975 @code{emojify-mode} to enable the display of emojis in a buffer.")
8976 (license license:gpl3+)))
8977
8978 (define-public emacs-make-it-so
8979 (let ((commit "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be")
8980 (version "0.1.0")
8981 (revision "1"))
8982 (package
8983 (name "emacs-make-it-so")
8984 (version (git-version version revision commit))
8985 (source
8986 (origin
8987 (method git-fetch)
8988 (uri (git-reference
8989 (url "https://github.com/abo-abo/make-it-so")
8990 (commit commit)))
8991 (sha256
8992 (base32
8993 "0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z"))))
8994 (build-system emacs-build-system)
8995 (arguments
8996 `(#:include (cons "^recipes/" %default-include)))
8997 (propagated-inputs
8998 `(("emacs-ivy" ,emacs-ivy)))
8999 (home-page "https://github.com/abo-abo/make-it-so")
9000 (synopsis "Transform files with Makefile recipes")
9001 (description "This package provides an interface for selecting from
9002 different conversion recipes, often including tools like @code{ffmpeg} or
9003 @code{convert}. The conversion command need only be written once, and
9004 subsequent invocations can be readily customized. Several recipes are
9005 included by default, and more can be readily added.")
9006 (license license:gpl3+))))
9007
9008 (define-public emacs-websocket
9009 (package
9010 (name "emacs-websocket")
9011 (version "1.10")
9012 (source
9013 (origin
9014 (method git-fetch)
9015 (uri (git-reference
9016 (url "https://github.com/ahyatt/emacs-websocket.git")
9017 (commit version)))
9018 (file-name (git-file-name name version))
9019 (sha256
9020 (base32
9021 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
9022 (build-system emacs-build-system)
9023 (home-page "http://elpa.gnu.org/packages/websocket.html")
9024 (synopsis "Emacs WebSocket client and server")
9025 (description "This is an Elisp library for WebSocket clients to talk to
9026 WebSocket servers, and for WebSocket servers to accept connections from
9027 WebSocket clients. This library is designed to be used by other library
9028 writers, to write applications that use WebSockets, and is not useful by
9029 itself.")
9030 (license license:gpl3+)))
9031
9032 (define-public emacs-oauth2
9033 (package
9034 (name "emacs-oauth2")
9035 (version "0.11")
9036 (source
9037 (origin
9038 (method url-fetch)
9039 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
9040 version ".el"))
9041 (sha256
9042 (base32
9043 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
9044 (build-system emacs-build-system)
9045 (home-page "http://elpa.gnu.org/packages/oauth2.html")
9046 (synopsis "OAuth 2.0 authorization protocol implementation")
9047 (description
9048 "This package provides an Elisp implementation of the OAuth 2.0 draft.
9049 The main entry point is @code{oauth2-auth-and-store} which will return a token
9050 structure. This token structure can be then used with
9051 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
9052 retrieve any data that need OAuth authentication to be accessed. If the token
9053 needs to be refreshed, the code handles it automatically and stores the new
9054 value of the access token.")
9055 (license license:gpl3+)))
9056
9057 (define-public emacs-circe
9058 (package
9059 (name "emacs-circe")
9060 (version "2.10")
9061 (source
9062 (origin
9063 (method git-fetch)
9064 (uri (git-reference
9065 (url "https://github.com/jorgenschaefer/circe.git")
9066 (commit (string-append "v" version))))
9067 (file-name (git-file-name name version))
9068 (sha256
9069 (base32
9070 "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
9071 (build-system emacs-build-system)
9072 (arguments
9073 `(#:tests? #t
9074 #:test-command '("buttercup" "-L" ".")
9075 #:phases
9076 (modify-phases %standard-phases
9077 ;; The HOME environment variable should be set to an existing
9078 ;; directory for the tests to succeed.
9079 (add-before 'check 'set-home
9080 (lambda _
9081 (setenv "HOME" "/tmp")
9082 #t)))))
9083 (native-inputs
9084 `(("emacs-buttercup" ,emacs-buttercup)))
9085 ;; In order to securely connect to an IRC server using TLS, Circe requires
9086 ;; the GnuTLS binary.
9087 (propagated-inputs
9088 `(("gnutls" ,gnutls)))
9089 (home-page "https://github.com/jorgenschaefer/circe")
9090 (synopsis "Client for IRC in Emacs")
9091 (description "Circe is a Client for IRC in Emacs. It integrates well with
9092 the rest of the editor, using standard Emacs key bindings and indicating
9093 activity in channels in the status bar so it stays out of your way unless you
9094 want to use it.")
9095 (license license:gpl3+)))
9096
9097 (define-public emacs-tracking
9098 (package
9099 (inherit emacs-circe)
9100 (name "emacs-tracking")
9101 (arguments
9102 ;; "tracking.el" is a library extracted from Circe package. It requires
9103 ;; "shorten.el".
9104 `(#:include '("^shorten.el$" "^tracking.el$")
9105 ,@(package-arguments emacs-circe)))
9106 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
9107 (synopsis "Buffer tracking library")
9108 (description "@code{tracking.el} provides a way for different modes to
9109 notify the user that a buffer needs attention. The user then can cycle
9110 through them using @key{C-c C-SPC}.")
9111 (license license:gpl3+)))
9112
9113 (define-public emacs-slack
9114 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
9115 (revision "6"))
9116 (package
9117 (name "emacs-slack")
9118 (version (git-version "0.0.2" revision commit))
9119 (source (origin
9120 (method git-fetch)
9121 (uri (git-reference
9122 (url "https://github.com/yuya373/emacs-slack.git")
9123 (commit commit)))
9124 (file-name (git-file-name name commit))
9125 (sha256
9126 (base32
9127 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
9128 (build-system emacs-build-system)
9129 (arguments
9130 `(#:phases
9131 (modify-phases %standard-phases
9132 ;; HOME needs to exist for source compilation.
9133 (add-before 'build 'set-HOME
9134 (lambda _ (setenv "HOME" "/tmp") #t)))))
9135 (propagated-inputs
9136 `(("emacs-alert" ,emacs-alert)
9137 ("emacs-emojify" ,emacs-emojify)
9138 ("emacs-helm" ,emacs-helm)
9139 ("emacs-request" ,emacs-request)
9140 ("emacs-websocket" ,emacs-websocket)
9141 ("emacs-oauth2" ,emacs-oauth2)
9142 ("emacs-circe" ,emacs-circe)))
9143 (home-page "https://github.com/yuya373/emacs-slack")
9144 (synopsis "Slack client for Emacs")
9145 (description "This package provides an Emacs client for the Slack
9146 messaging service.")
9147 (license license:gpl3+))))
9148
9149 (define-public emacs-bash-completion
9150 (package
9151 (name "emacs-bash-completion")
9152 (version "2.1.0")
9153 (source
9154 (origin
9155 (method git-fetch)
9156 (uri (git-reference
9157 (url "https://github.com/szermatt/emacs-bash-completion.git")
9158 (commit version)))
9159 (file-name (git-file-name name version))
9160 (sha256
9161 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
9162 (inputs `(("bash" ,bash)))
9163 (build-system emacs-build-system)
9164 (arguments
9165 `(#:phases
9166 (modify-phases %standard-phases
9167 (add-after 'unpack 'make-git-checkout-writable
9168 (λ _
9169 (for-each make-file-writable (find-files "."))
9170 #t))
9171 (add-before 'install 'configure
9172 (lambda* (#:key inputs #:allow-other-keys)
9173 (let ((bash (assoc-ref inputs "bash")))
9174 (emacs-substitute-variables "bash-completion.el"
9175 ("bash-completion-prog" (string-append bash "/bin/bash"))))
9176 #t)))))
9177 (home-page "https://github.com/szermatt/emacs-bash-completion")
9178 (synopsis "Bash completion for the shell buffer")
9179 (description
9180 "@code{bash-completion} defines dynamic completion hooks for shell-mode
9181 and shell-command prompts that are based on Bash completion.")
9182 (license license:gpl2+)))
9183
9184 (define-public emacs-easy-kill
9185 (package
9186 (name "emacs-easy-kill")
9187 (version "0.9.3")
9188 (source (origin
9189 (method url-fetch)
9190 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
9191 version ".tar"))
9192 (sha256
9193 (base32
9194 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
9195 (build-system emacs-build-system)
9196 (home-page "https://github.com/leoliu/easy-kill")
9197 (synopsis "Kill and mark things easily in Emacs")
9198 (description
9199 "This package provides commands @code{easy-kill} and @code{easy-mark} to
9200 let users kill or mark things easily.")
9201 (license license:gpl3+)))
9202
9203 (define-public emacs-csv-mode
9204 (package
9205 (name "emacs-csv-mode")
9206 (version "1.7")
9207 (source
9208 (origin
9209 (method url-fetch)
9210 (uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
9211 version ".el"))
9212 (sha256
9213 (base32
9214 "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
9215 (build-system emacs-build-system)
9216 (home-page
9217 "http://elpa.gnu.org/packages/csv-mode.html")
9218 (synopsis
9219 "Major mode for editing comma/char separated values")
9220 (description
9221 "This Emacs package implements CSV mode, a major mode for editing records
9222 in a generalized CSV (character-separated values) format.")
9223 (license license:gpl3+)))
9224
9225 (define-public emacs-transmission
9226 (package
9227 (name "emacs-transmission")
9228 (version "0.12.1")
9229 (source
9230 (origin
9231 (method git-fetch)
9232 (uri (git-reference
9233 (url "https://github.com/holomorph/transmission.git")
9234 (commit version)))
9235 (file-name (git-file-name name version))
9236 (sha256
9237 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
9238 (build-system emacs-build-system)
9239 (home-page "https://github.com/holomorph/transmission")
9240 (synopsis "Emacs interface to a Transmission session")
9241 (description "This package provides an Emacs interface to interact with a
9242 running session of the Transmission Bittorrent client.
9243
9244 Features:
9245
9246 @itemize
9247 @item List, add, start/stop, verify, remove torrents.
9248 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
9249 @item Navigate to the corresponding file list, torrent info, peer info
9250 contexts.
9251 @item Toggle downloading and set priorities for individual files.
9252 @end itemize\n")
9253 (license license:gpl3+)))
9254
9255 (define-public emacs-polymode
9256 (package
9257 (name "emacs-polymode")
9258 (version "0.2")
9259 (source (origin
9260 (method git-fetch)
9261 (uri (git-reference
9262 (url "https://github.com/polymode/polymode.git")
9263 (commit (string-append "v" version))))
9264 (file-name (git-file-name name version))
9265 (sha256
9266 (base32
9267 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
9268 (build-system emacs-build-system)
9269 (home-page "https://github.com/polymode/polymode")
9270 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
9271 (description
9272 "Polymode is an Emacs package that offers generic support for multiple
9273 major modes inside a single Emacs buffer. It is lightweight, object oriented
9274 and highly extensible. Creating a new polymode typically takes only a few
9275 lines of code. Polymode also provides extensible facilities for external
9276 literate programming tools for exporting, weaving and tangling.")
9277 (license license:gpl3+)))
9278
9279 (define-public emacs-polymode-ansible
9280 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
9281 (package
9282 (name "emacs-polymode-ansible")
9283 ;; No upstream version release yet.
9284 (version (git-version "0.1" "1" commit))
9285 (source
9286 (origin
9287 (method git-fetch)
9288 (uri (git-reference
9289 (url "https://gitlab.com/mavit/poly-ansible")
9290 (commit commit)))
9291 (file-name (git-file-name name version))
9292 (sha256
9293 (base32
9294 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
9295 (build-system emacs-build-system)
9296 (propagated-inputs
9297 `(("emacs-ansible-doc" ,emacs-ansible-doc)
9298 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
9299 ("emacs-polymode" ,emacs-polymode)
9300 ("emacs-yaml-mode" ,emacs-yaml-mode)))
9301 (properties '((upstream-name . "poly-ansible")))
9302 (home-page "https://gitlab.com/mavit/poly-ansible/")
9303 (synopsis "Polymode for Ansible - Jinja2 in YAML")
9304 (description
9305 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
9306 (license license:gpl3+))))
9307
9308 (define-public emacs-polymode-org
9309 (package
9310 (name "emacs-polymode-org")
9311 (version "0.2")
9312 (source
9313 (origin
9314 (method git-fetch)
9315 (uri (git-reference
9316 (url "https://github.com/polymode/poly-org.git")
9317 (commit (string-append "v" version))))
9318 (file-name (git-file-name name version))
9319 (sha256
9320 (base32
9321 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
9322 (build-system emacs-build-system)
9323 (propagated-inputs
9324 `(("emacs-polymode" ,emacs-polymode)))
9325 (properties '((upstream-name . "poly-org")))
9326 (home-page "https://github.com/polymode/poly-org")
9327 (synopsis "Polymode definitions for Org mode buffers")
9328 (description
9329 "Provides definitions for @code{emacs-polymode} to support
9330 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
9331 native modes of the blocks' languages while remaining inside the primary Org
9332 buffer.")
9333 (license license:gpl3+)))
9334
9335 (define-public eless
9336 (package
9337 (name "eless")
9338 (version "0.3")
9339 (source
9340 (origin
9341 (method git-fetch)
9342 (uri (git-reference
9343 (url "https://github.com/kaushalmodi/eless.git")
9344 (commit (string-append "v" version))))
9345 (file-name (git-file-name name version))
9346 (sha256
9347 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
9348 (build-system trivial-build-system)
9349 (inputs
9350 `(("bash" ,bash)))
9351 (arguments
9352 `(#:modules ((guix build utils))
9353 #:builder
9354 (begin
9355 (use-modules (guix build utils))
9356 (copy-recursively (assoc-ref %build-inputs "source") "source")
9357 (chdir "source")
9358 (substitute* "eless" (("/usr/bin/env bash")
9359 (string-append (assoc-ref %build-inputs "bash")
9360 "/bin/bash")))
9361 (install-file "eless" (string-append %output "/bin"))
9362 (install-file "doc/eless.info" (string-append %output "/share/info"))
9363 #t)))
9364 (home-page "https://github.com/kaushalmodi/eless")
9365 (synopsis "Use Emacs as a paginator")
9366 (description "@code{eless} provides a combination of Bash script
9367 and a minimal Emacs view-mode.
9368
9369 Feautures:
9370
9371 @itemize
9372 @item Independent of a user’s Emacs config.
9373 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
9374 @item Not require an Emacs server to be already running.
9375 @item Syntax highlighting.
9376 @item Org-mode file rendering.
9377 @item @code{man} page viewer.
9378 @item Info viewer.
9379 @item Dired, wdired, (batch edit symbolic links).
9380 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
9381 @item Filter log files lines matching a regexp.
9382 @item Auto-revert log files similar to @code{tail -f}.
9383 @item Quickly change frame and font sizes.
9384 @end itemize\n")
9385 (license license:expat)))
9386
9387 (define-public emacs-evil-matchit
9388 (package
9389 (name "emacs-evil-matchit")
9390 (version "2.3.0")
9391 (source
9392 (origin
9393 (method git-fetch)
9394 (uri (git-reference
9395 (url "https://github.com/redguardtoo/evil-matchit.git")
9396 (commit version)))
9397 (file-name (git-file-name name version))
9398 (sha256
9399 (base32 "0y6q42hml7jgf060d83m7hf270h01858g5kxw12na9n4r4jjpdg1"))))
9400 (build-system emacs-build-system)
9401 (propagated-inputs
9402 `(("emacs-evil" ,emacs-evil)))
9403 (home-page "https://github.com/redguardtoo/evil-matchit")
9404 (synopsis "Vim matchit ported into Emacs")
9405 (description
9406 "@code{evil-matchit} is a minor mode for jumping between matching tags in
9407 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
9408 (license license:gpl3+)))
9409
9410 (define-public emacs-evil-smartparens
9411 (package
9412 (name "emacs-evil-smartparens")
9413 (version "0.4.0")
9414 (source
9415 (origin
9416 (method git-fetch)
9417 (uri (git-reference
9418 (url "https://github.com/expez/evil-smartparens.git")
9419 (commit version)))
9420 (file-name (git-file-name name version))
9421 (sha256
9422 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
9423 (build-system emacs-build-system)
9424 (propagated-inputs
9425 `(("emacs-evil" ,emacs-evil)
9426 ("emacs-smartparens" ,emacs-smartparens)))
9427 (home-page "https://github.com/expez/evil-smartparens")
9428 (synopsis "Emacs Evil integration for Smartparens")
9429 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
9430 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
9431 emulates Vim features and provides Vim-like key bindings.")
9432 (license license:gpl3+)))
9433
9434 (define-public emacs-evil-quickscope
9435 (package
9436 (name "emacs-evil-quickscope")
9437 (version "0.1.4")
9438 (source
9439 (origin
9440 (method git-fetch)
9441 (uri (git-reference
9442 (url "https://github.com/blorbx/evil-quickscope.git")
9443 (commit (string-append "v" version))))
9444 (file-name (git-file-name name version))
9445 (sha256
9446 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
9447 (build-system emacs-build-system)
9448 (propagated-inputs
9449 `(("emacs-evil" ,emacs-evil)))
9450 (arguments
9451 `(#:tests? #t
9452 #:test-command '("emacs" "--batch"
9453 "-l" "evil-quickscope-tests.el"
9454 "-f" "ert-run-tests-batch-and-exit")))
9455 (home-page "https://github.com/blorbx/evil-quickscope")
9456 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
9457 (description "@code{emacs-evil-quickscope} highlights targets for Evil
9458 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
9459 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
9460 features and provides Vim-like key bindings.")
9461 (license license:gpl3+)))
9462
9463 (define-public emacs-bongo
9464 (package
9465 (name "emacs-bongo")
9466 (version "1.0")
9467 (source
9468 (origin
9469 (method git-fetch)
9470 (uri (git-reference
9471 (url "https://github.com/dbrock/bongo.git")
9472 (commit version)))
9473 (file-name (git-file-name name version))
9474 (sha256
9475 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
9476 (build-system emacs-build-system)
9477 (home-page "https://github.com/dbrock/bongo")
9478 (synopsis "Media player for Emacs")
9479 (description
9480 "This package provides a flexible media player for Emacs. @code{Bongo}
9481 supports multiple backends such as @code{vlc}, @code{mpg123},
9482 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
9483 @code{afplay}.")
9484 (license license:gpl2+)))
9485
9486 (define-public emacs-groovy-modes
9487 (package
9488 (name "emacs-groovy-modes")
9489 (version "2.0")
9490 (source (origin
9491 (method url-fetch)
9492 (uri (string-append
9493 "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
9494 "/archive/" version ".tar.gz"))
9495 (file-name (string-append name "-" version ".tar.gz"))
9496 (sha256
9497 (base32
9498 "15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
9499 (build-system emacs-build-system)
9500 (propagated-inputs
9501 `(("emacs-s" ,emacs-s)))
9502 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
9503 (synopsis "Groovy related modes for Emacs")
9504 (description
9505 "This package provides @code{groovy-mode} for syntax highlighting in
9506 Groovy source files, REPL integration with run-groovy and Grails project
9507 navigation with the grails mode.")
9508 (license license:gpl3+)))
9509
9510 (define-public groovy-emacs-modes
9511 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
9512
9513 (define-public emacs-org-tree-slide
9514 (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
9515 (revision "0"))
9516 (package
9517 (name "emacs-org-tree-slide")
9518 (version (git-version "0.1" revision commit))
9519 (home-page "https://github.com/takaxp/org-tree-slide")
9520 (source (origin
9521 (method git-fetch)
9522 (uri (git-reference (url home-page) (commit commit)))
9523 (sha256
9524 (base32
9525 "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
9526 (file-name (git-file-name name version))))
9527 (build-system emacs-build-system)
9528 (synopsis "Presentation tool for org-mode")
9529 (description
9530 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
9531 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
9532 @kbd{C-<} to jump to the next and previous slide.")
9533 (license license:gpl3+))))
9534
9535 (define-public emacs-scratch-el
9536 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
9537 (revision "1"))
9538 (package
9539 (name "emacs-scratch-el")
9540 (version (git-version "1.2" revision commit))
9541 (source (origin
9542 (method git-fetch)
9543 (uri (git-reference
9544 (url "https://github.com/ieure/scratch-el.git")
9545 (commit commit)))
9546 (file-name (git-file-name name version))
9547 (sha256
9548 (base32
9549 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
9550 (build-system emacs-build-system)
9551 (native-inputs
9552 `(("texinfo" ,texinfo)))
9553 (arguments
9554 '(#:phases
9555 (modify-phases %standard-phases
9556 (add-after 'install 'install-doc
9557 (lambda* (#:key outputs #:allow-other-keys)
9558 (unless (invoke "makeinfo" "scratch.texi")
9559 (error "makeinfo failed"))
9560 (install-file "scratch.info"
9561 (string-append (assoc-ref outputs "out")
9562 "/share/info"))
9563 #t)))))
9564 (home-page "https://github.com/ieure/scratch-el/")
9565 (synopsis "Create scratch buffers with the same mode as current buffer")
9566 (description "Scratch is an extension to Emacs that enables one to create
9567 scratch buffers that are in the same mode as the current buffer. This is
9568 notably useful when working on code in some language; you may grab code into a
9569 scratch buffer, and, by virtue of this extension, do so using the Emacs
9570 formatting rules for that language.")
9571 (license license:bsd-2))))
9572
9573 (define-public emacs-kv
9574 (package
9575 (name "emacs-kv")
9576 (version "0.0.19")
9577 (source
9578 (origin
9579 (method git-fetch)
9580 (uri (git-reference
9581 (url "https://github.com/nicferrier/emacs-kv.git")
9582 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
9583 (file-name (git-file-name name version))
9584 (sha256
9585 (base32
9586 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
9587 (build-system emacs-build-system)
9588 (arguments
9589 `(#:tests? #t
9590 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
9591 "-f" "ert-run-tests-batch-and-exit")))
9592 (home-page "https://github.com/nicferrier/emacs-kv")
9593 (synopsis "Key/Value data structures library for Emacs Lisp")
9594 (description "@code{emacs-kv} is a collection of tools for dealing with
9595 key/value data structures such as plists, alists and hash-tables in Emacs
9596 Lisp.")
9597 (license license:gpl3+)))
9598
9599 (define-public emacs-esxml
9600 (package
9601 (name "emacs-esxml")
9602 (version "0.3.4")
9603 (source (origin
9604 (method git-fetch)
9605 (uri (git-reference
9606 (url "https://github.com/tali713/esxml.git")
9607 (commit version)))
9608 (file-name (git-file-name name version))
9609 (sha256
9610 (base32
9611 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
9612 (build-system emacs-build-system)
9613 (arguments
9614 `(#:phases
9615 (modify-phases %standard-phases
9616 (add-after 'unpack 'fix-sources
9617 (lambda _
9618 ;; See: https://github.com/tali713/esxml/pull/28.
9619 (substitute* "css-lite.el"
9620 ((";;; main interface")
9621 (string-append ";;; main interface\n"
9622 "(require 'cl-lib)"))
9623 (("mapcan")
9624 "cl-mapcan")
9625 (("',\\(cl-mapcan #'process-css-rule rules\\)")
9626 "(cl-mapcan #'process-css-rule ',rules)"))
9627 (substitute* "esxml-form.el"
9628 ((",esxml-form-field-defn")
9629 "#'esxml-form-field-defn"))
9630 ;; See: https://github.com/tali713/esxml/issues/25
9631 (delete-file "esxpath.el")
9632 #t)))))
9633 (propagated-inputs
9634 `(("emacs-kv" ,emacs-kv)))
9635 (home-page "https://github.com/tali713/esxml/")
9636 (synopsis "SXML for EmacsLisp")
9637 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
9638 Simply, this is the easiest way to write HTML or XML in Lisp. This library
9639 uses the native form of XML representation as used by many libraries already
9640 included within Emacs. See @code{esxml-to-xml} for a concise description of
9641 the format.")
9642 (license license:gpl3+)))
9643
9644 (define-public emacs-nov-el
9645 (package
9646 (name "emacs-nov-el")
9647 (version "0.2.6")
9648 (source (origin
9649 (method git-fetch)
9650 (uri (git-reference
9651 (url "https://github.com/wasamasa/nov.el.git")
9652 (commit version)))
9653 (file-name (git-file-name name version))
9654 (sha256
9655 (base32
9656 "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
9657 (build-system emacs-build-system)
9658 (arguments
9659 `(#:phases
9660 (modify-phases %standard-phases
9661 (add-after 'unpack 'embed-path-to-unzip
9662 (lambda _
9663 (substitute* "nov.el"
9664 (("\\(executable-find \"unzip\"\\)")
9665 (string-append "\"" (which "unzip") "\"")))
9666 #t)))))
9667 (propagated-inputs
9668 `(("emacs-dash" ,emacs-dash)
9669 ("emacs-esxml" ,emacs-esxml)))
9670 (inputs
9671 `(("unzip" ,unzip)))
9672 (home-page "https://github.com/wasamasa/nov.el/")
9673 (synopsis "Major mode for reading EPUBs in Emacs")
9674 (description "@code{nov.el} provides a major mode for reading EPUB
9675 documents.
9676
9677 Features:
9678
9679 @itemize
9680 @item Basic navigation (jump to TOC, previous/next chapter)
9681 @item Remembering and restoring the last read position
9682 @item Jump to next chapter when scrolling beyond end
9683 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
9684 @item Hyperlinks to internal and external targets
9685 @item Supports textual and image documents
9686 @item View source of document files
9687 @item Metadata display
9688 @item Image rescaling
9689 @end itemize
9690 ")
9691 (license license:gpl3+)))
9692
9693 (define-public epipe
9694 (package
9695 (name "epipe")
9696 (version "0.1.0")
9697 (source
9698 (origin
9699 (method git-fetch)
9700 (uri (git-reference
9701 (url "https://github.com/cute-jumper/epipe.git")
9702 (commit version)))
9703 (file-name (git-file-name name version))
9704 (sha256
9705 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
9706 (build-system trivial-build-system)
9707 (inputs
9708 `(("bash" ,bash)
9709 ("perl" ,perl)))
9710 (arguments
9711 `(#:modules
9712 ((guix build utils))
9713 #:builder
9714 (begin
9715 (use-modules (guix build utils))
9716 ;; Extract source.
9717 (copy-recursively (assoc-ref %build-inputs "source") "source")
9718 (chdir "source")
9719 ;; Patch shebangs.
9720 (substitute* "epipe"
9721 (("/usr/bin/env bash")
9722 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
9723 (patch-shebang "epipe.pl"
9724 (list (string-append (assoc-ref %build-inputs "perl")
9725 "/bin")))
9726 ;; Install.
9727 (for-each (lambda (file)
9728 (install-file file (string-append %output "/bin")))
9729 '("epipe" "epipe.pl"))
9730 #t)))
9731 (home-page "https://github.com/cute-jumper/epipe")
9732 (synopsis "Pipe to the @code{emacsclient}")
9733 (description "@code{epipe} provides an utility to use your editor in
9734 the pipeline, featuring the support for running @code{emacsclient}.")
9735 (license license:gpl3+)))
9736
9737 (define-public emacs-hcl-mode
9738 (package
9739 (name "emacs-hcl-mode")
9740 (version "0.03")
9741 (source
9742 (origin
9743 (method git-fetch)
9744 (uri (git-reference
9745 (url "https://github.com/syohex/emacs-hcl-mode.git")
9746 (commit version)))
9747 (file-name (git-file-name name version))
9748 (sha256
9749 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
9750 (build-system emacs-build-system)
9751 (home-page "https://github.com/syohex/emacs-hcl-mode")
9752 (synopsis "Major mode for the Hashicorp Configuration Language")
9753 (description
9754 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
9755 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
9756 highlighting and indentation support.")
9757 (license license:gpl3+)))
9758
9759 (define-public emacs-terraform-mode
9760 (package
9761 (name "emacs-terraform-mode")
9762 (version "0.06")
9763 (source
9764 (origin
9765 (method git-fetch)
9766 (uri (git-reference
9767 (url "https://github.com/syohex/emacs-terraform-mode.git")
9768 (commit version)))
9769 (file-name (git-file-name name version))
9770 (sha256
9771 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
9772 (build-system emacs-build-system)
9773 (propagated-inputs
9774 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
9775 (home-page "https://github.com/syohex/emacs-terraform-mode")
9776 (synopsis "Major mode for Terraform")
9777 (description
9778 "@code{emacs-terraform-mode} provides a major mode for working with
9779 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
9780 functionality is inherited from @code{hcl-mode}.")
9781 (license license:gpl3+)))
9782
9783 (define-public emacs-exec-path-from-shell
9784 (package
9785 (name "emacs-exec-path-from-shell")
9786 (version "1.12")
9787 (source
9788 (origin
9789 (method git-fetch)
9790 (uri (git-reference
9791 (url "https://github.com/purcell/exec-path-from-shell")
9792 (commit version)))
9793 (sha256
9794 (base32
9795 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
9796 (build-system emacs-build-system)
9797 (home-page "https://github.com/purcell/exec-path-from-shell")
9798 (synopsis "Get environment variables such as @var{PATH} from the shell")
9799 (description
9800 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
9801 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
9802 the like work as expected on systems on which Emacs is not guaranteed to
9803 inherit a login shell's environment variables. It also allows other
9804 environment variables to be retrieved from the shell, so that Emacs will see
9805 the same values you get in a terminal.")
9806 (license license:gpl3+)))
9807
9808 (define-public emacs-deft
9809 (package
9810 (name "emacs-deft")
9811 (version "0.8")
9812 (source
9813 (origin
9814 (method url-fetch)
9815 (uri (string-append "https://stable.melpa.org/packages/deft-"
9816 version ".el"))
9817 (sha256
9818 (base32
9819 "1vb9cjxskc7c0yyf9pvxy1fzypg1vrcgwnjz0m3hslinsgdyig58"))))
9820 (build-system emacs-build-system)
9821 (home-page "https://jblevins.org/projects/deft/")
9822 (synopsis "Quickly browse, filter, and edit plain text notes")
9823 (description
9824 "Deft is an Emacs mode for quickly browsing, filtering, and editing
9825 directories of plain text notes, inspired by Notational Velocity.")
9826 (license license:bsd-3)))
9827
9828 (define-public emacs-anzu
9829 (package
9830 (name "emacs-anzu")
9831 (version "0.62")
9832 (source
9833 (origin
9834 (method git-fetch)
9835 (uri (git-reference
9836 (url "https://github.com/syohex/emacs-anzu.git")
9837 (commit version)))
9838 (file-name (git-file-name name version))
9839 (sha256
9840 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
9841 (build-system emacs-build-system)
9842 (home-page "https://github.com/syohex/emacs-anzu")
9843 (synopsis "Show number of matches in mode-line while searching")
9844 (description
9845 "Anzu provides a minor mode which displays \"current match/total
9846 matches\" in the mode line in various search modes. This is an Emacs port of
9847 Anzu.zim.")
9848 (license license:gpl3+)))
9849
9850 (define-public emacs-ascii-art-to-unicode
9851 (package
9852 (name "emacs-ascii-art-to-unicode")
9853 (version "1.12")
9854 (source
9855 (origin
9856 (method url-fetch)
9857 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
9858 version ".el"))
9859 (sha256
9860 (base32
9861 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
9862 (build-system emacs-build-system)
9863 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
9864 (synopsis "ASCII to Unicode art converter for Emacs")
9865 (description "This Emacs package provides the commands @command{aa2u} and
9866 @command{aa2u-rectangle}. Both of these commands can be used to convert
9867 simple ASCII art line drawings to Unicode; the former works on the active
9868 region of the buffer, while the latter works on rectangular selections.")
9869 (license license:gpl3+)))
9870
9871 (define-public emacs-emmet-mode
9872 (package
9873 (name "emacs-emmet-mode")
9874 (version "1.0.8")
9875 (source (origin
9876 (method git-fetch)
9877 (uri (git-reference
9878 (url "https://github.com/smihica/emmet-mode.git")
9879 (commit version)))
9880 (file-name (git-file-name name version))
9881 (sha256
9882 (base32
9883 "1dsa85bk33j90h1ypaz1ylqh9yp2xvlga237h3kwa5y3sb0d5ydi"))))
9884 (build-system emacs-build-system)
9885 (home-page "https://github.com/smihica/emmet-mode")
9886 (synopsis "Unofficial Emmet's support for Emacs")
9887 (description
9888 "Unfold CSS-selector-like expressions to markup. It is intended to be
9889 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
9890 (license license:gpl3+)))
9891
9892 (define-public emacs-ergoemacs-mode
9893 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
9894 (revision "1"))
9895 (package
9896 (name "emacs-ergoemacs-mode")
9897 (version (git-version "5.16.10.12" revision commit))
9898 (source
9899 (origin
9900 (method git-fetch)
9901 (uri (git-reference
9902 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
9903 (commit commit)))
9904 (sha256
9905 (base32
9906 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
9907 (build-system emacs-build-system)
9908 (propagated-inputs
9909 `(("emacs-undo-tree" ,emacs-undo-tree)))
9910 (home-page "https://ergoemacs.github.io/")
9911 (synopsis "Emacs mode based on common modern interface and ergonomics")
9912 (description
9913 "This package provides an efficient Emacs keybinding set based on
9914 statistics of command frequency, and supports common shortcuts for open,
9915 close, copy, cut, paste, undo, redo.")
9916 (license license:gpl3+))))
9917
9918 (define-public emacs-password-store
9919 (package
9920 (name "emacs-password-store")
9921 (version "1.7.3")
9922 (source (origin
9923 (method url-fetch)
9924 (uri
9925 (string-append "https://git.zx2c4.com/password-store/snapshot/"
9926 "password-store-" version ".tar.xz"))
9927 (sha256
9928 (base32
9929 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
9930 (build-system emacs-build-system)
9931 (arguments
9932 `(#:phases
9933 (modify-phases %standard-phases
9934 (add-after 'unpack 'extract-el-file
9935 (lambda _
9936 (copy-file "contrib/emacs/password-store.el" "password-store.el")
9937 (delete-file-recursively "contrib")
9938 (delete-file-recursively "man")
9939 (delete-file-recursively "src")
9940 (delete-file-recursively "tests"))))))
9941 (propagated-inputs
9942 `(("emacs-f" ,emacs-f)
9943 ("emacs-s" ,emacs-s)
9944 ("emacs-with-editor" ,emacs-with-editor)
9945 ("password-store" ,password-store)))
9946 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
9947 (synopsis "Password store (pass) support for Emacs")
9948 (description
9949 "This package provides functions for working with pass (\"the
9950 standard Unix password manager\").")
9951 (license license:gpl2+)))
9952
9953 (define-public emacs-pass
9954 (package
9955 (name "emacs-pass")
9956 (version "1.8")
9957 (source
9958 (origin
9959 (method git-fetch)
9960 (uri (git-reference
9961 (url "https://github.com/NicolasPetton/pass.git")
9962 (commit version)))
9963 (file-name (git-file-name name version))
9964 (sha256
9965 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
9966 (build-system emacs-build-system)
9967 (propagated-inputs
9968 `(("emacs-password-store" ,emacs-password-store)
9969 ("emacs-f" ,emacs-f)))
9970 (home-page "https://github.com/NicolasPetton/pass")
9971 (synopsis "Major mode for @file{password-store.el}")
9972 (description "This is a major mode for managing password-store (pass)
9973 keychains. The keychain entries are displayed in a directory-like structure
9974 and can be consulted and modified.")
9975 (license license:gpl3+)))
9976
9977 (define-public emacs-evil-anzu
9978 (package
9979 (name "emacs-evil-anzu")
9980 (version "0.03")
9981 (source
9982 (origin
9983 (method git-fetch)
9984 (uri (git-reference
9985 (url "https://github.com/syohex/emacs-evil-anzu")
9986 (commit version)))
9987 (file-name (git-file-name name version))
9988 (sha256
9989 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
9990 (build-system emacs-build-system)
9991 (propagated-inputs
9992 `(("emacs-evil" ,emacs-evil)
9993 ("emacs-anzu" ,emacs-anzu)))
9994 (home-page "https://github.com/syohex/emacs-evil-anzu")
9995 (synopsis "Anzu for evil-mode")
9996 (description "@code{anzu} provides a minor mode that displays the current
9997 match and total match information in the mode-line in various search modes.")
9998 (license license:gpl3+)))
9999
10000 (define-public emacs-pg
10001 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
10002 (package
10003 (name "emacs-pg")
10004 (version (git-version "0.1" "1" commit))
10005 (source (origin
10006 (method git-fetch)
10007 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
10008 (commit commit)))
10009 (file-name (git-file-name name version))
10010 (sha256
10011 (base32
10012 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
10013 (build-system emacs-build-system)
10014 (home-page "https://github.com/cbbrowne/pg.el")
10015 (synopsis "Emacs Lisp interface for PostgreSQL")
10016 (description
10017 "This package provides an Emacs Lisp interface for PostgreSQL.")
10018 (license license:gpl3+))))
10019
10020 (define-public emacs-cl-generic
10021 (package
10022 (name "emacs-cl-generic")
10023 (version "0.3")
10024 (source
10025 (origin
10026 (method url-fetch)
10027 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
10028 version ".el"))
10029 (sha256
10030 (base32
10031 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
10032 (build-system emacs-build-system)
10033 (home-page "https://elpa.gnu.org/packages/seq.html")
10034 (synopsis
10035 "Forward @code{cl-generic} compatibility for Emacs before version 25")
10036 (description "This package provides a subset of the features of the
10037 @code{cl-generic} package introduced in Emacs-25, for use on previous
10038 @code{emacsen}.")
10039 (license license:gpl3+)))
10040
10041 (define-public emacs-finalize
10042 (package
10043 (name "emacs-finalize")
10044 (version "2.0.0")
10045 (source
10046 (origin
10047 (method git-fetch)
10048 (uri (git-reference
10049 (url "https://github.com/skeeto/elisp-finalize.git")
10050 (commit version)))
10051 (file-name (git-file-name name version))
10052 (sha256
10053 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
10054 (build-system emacs-build-system)
10055 (propagated-inputs
10056 `(("emacs-cl-generic" ,emacs-cl-generic)))
10057 (home-page "https://github.com/skeeto/elisp-finalize")
10058 (synopsis "Finalizers for Emacs Lisp")
10059 (description
10060 "This package will allows to immediately run a callback (a finalizer)
10061 after its registered lisp object has been garbage collected. This allows for
10062 extra resources, such as buffers and processes, to be cleaned up after the
10063 object has been freed.")
10064 (license license:unlicense)))
10065
10066 (define-public emacs-emacsql
10067 (package
10068 (name "emacs-emacsql")
10069 (version "3.0.0")
10070 (source (origin
10071 (method git-fetch)
10072 (uri (git-reference
10073 (url "https://github.com/skeeto/emacsql.git")
10074 (commit (string-append version))))
10075 (file-name (git-file-name name version))
10076 (sha256
10077 (base32
10078 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
10079 (build-system emacs-build-system)
10080 (arguments
10081 `(#:modules ((guix build emacs-build-system)
10082 (guix build utils)
10083 (guix build emacs-utils)
10084 (srfi srfi-26))
10085 #:phases
10086 (modify-phases %standard-phases
10087 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
10088 (add-before 'install 'patch-elisp-shell-shebangs
10089 (lambda _
10090 (substitute* (find-files "." "\\.el")
10091 (("/bin/sh") (which "sh")))
10092 #t))
10093 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
10094 (lambda _
10095 (setenv "SHELL" "sh")))
10096 (add-after 'setenv-shell 'build-emacsql-sqlite
10097 (lambda _
10098 (invoke "make" "binary" "CC=gcc")))
10099 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
10100 ;; This build phase installs emacs-emacsql binary.
10101 (lambda* (#:key outputs #:allow-other-keys)
10102 (install-file "sqlite/emacsql-sqlite"
10103 (string-append (assoc-ref outputs "out")
10104 "/bin"))
10105 #t))
10106 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
10107 ;; This build phase removes interactive prompts
10108 ;; and makes sure Emacs look for binaries in the right places.
10109 (lambda* (#:key outputs #:allow-other-keys)
10110 (let ((file "emacsql-sqlite.el"))
10111 (chmod file #o644)
10112 (emacs-substitute-sexps file
10113 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
10114 ("(executable-find" (which "gcc"))
10115 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
10116 ;; in the right place.
10117 ("(defvar emacsql-sqlite-executable"
10118 (string-append (assoc-ref outputs "out")
10119 "/bin/emacsql-sqlite"))))))
10120 (replace 'install
10121 (lambda* (#:key outputs #:allow-other-keys)
10122 (let* ((out (assoc-ref outputs "out")))
10123 (install-file "sqlite/emacsql-sqlite"
10124 (string-append out "/bin"))
10125 (for-each (cut install-file <>
10126 (string-append out "/share/emacs/site-lisp/guix.d/"
10127 "emacsql" "-" ,version))
10128 (find-files "." "\\.elc*$")))
10129 #t)))))
10130 (inputs
10131 `(("emacs-minimal" ,emacs-minimal)
10132 ("mariadb" ,mariadb)
10133 ("postgresql" ,postgresql)))
10134 (propagated-inputs
10135 `(("emacs-finalize" ,emacs-finalize)
10136 ("emacs-pg" ,emacs-pg)))
10137 (home-page "https://github.com/skeeto/emacsql")
10138 (synopsis "Emacs high-level SQL database front-end")
10139 (description "Any readable Lisp value can be stored as a value in EmacSQL,
10140 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
10141 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
10142 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
10143 (license license:gpl3+)))
10144
10145 (define-public emacs-closql
10146 (package
10147 (name "emacs-closql")
10148 (version "1.0.0")
10149 (source
10150 (origin
10151 (method git-fetch)
10152 (uri (git-reference
10153 (url "https://github.com/emacscollective/closql.git")
10154 (commit (string-append "v" version))))
10155 (file-name (git-file-name name version))
10156 (sha256
10157 (base32
10158 "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"))))
10159 (build-system emacs-build-system)
10160 (propagated-inputs
10161 `(("emacs-emacsql" ,emacs-emacsql)))
10162 (home-page "https://github.com/emacscollective/closql")
10163 (synopsis "Store EIEIO objects using EmacSQL")
10164 (description
10165 "This package allows to store uniform EIEIO objects in an EmacSQL
10166 database. SQLite is used as backend. This library imposes some restrictions
10167 on what kind of objects can be stored; it isn't intended to store arbitrary
10168 objects. All objects have to share a common superclass and subclasses cannot
10169 add any additional instance slots.")
10170 (license license:gpl3)))
10171
10172 (define-public emacs-epkg
10173 ;; The release version is to old for the current database scheme.
10174 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
10175 (package
10176 (name "emacs-epkg")
10177 (version (git-version "3.0.0" "1" commit))
10178 (source
10179 (origin
10180 (method git-fetch)
10181 (uri (git-reference
10182 (url "https://github.com/emacscollective/epkg.git")
10183 (commit commit)))
10184 (file-name (git-file-name name version))
10185 (sha256
10186 (base32
10187 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
10188 (build-system emacs-build-system)
10189 (propagated-inputs
10190 `(("emacs-closql" ,emacs-closql)
10191 ("emacs-dash" ,emacs-dash)))
10192 (home-page "https://emacsmirror.net")
10193 (synopsis "Browse the Emacsmirror package database")
10194 (description "This package provides access to a local copy of the
10195 Emacsmirror package database. It provides low-level functions for querying
10196 the database and a @file{package.el} user interface for browsing the database.
10197 Epkg itself is not a package manager.
10198
10199 Getting a local copy:
10200
10201 @example
10202 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
10203 cd ~/.emacs.d/epkgs
10204 git submodule init
10205 git config --global url.https://github.com/.insteadOf git@@github.com:
10206 git submodule update
10207 @end example
10208
10209 Some submodule may be missing. In this case Git will prompt for a GitHub user
10210 name and password. To skip it press a @key{Return} key.
10211
10212 You could get a Epkg package list by invoking @code{epkg-list-packages} in
10213 Emacs.")
10214 (license license:gpl3+))))
10215
10216 (define-public emacs-elisp-slime-nav
10217 (package
10218 (name "emacs-elisp-slime-nav")
10219 (version "0.9")
10220 (source
10221 (origin
10222 (method git-fetch)
10223 (uri (git-reference
10224 (url "https://github.com/purcell/elisp-slime-nav.git")
10225 (commit version)))
10226 (file-name (git-file-name name version))
10227 (sha256
10228 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
10229 (build-system emacs-build-system)
10230 (home-page "https://github.com/purcell/elisp-slime-nav")
10231 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
10232 (description
10233 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
10234 in @code{emacs-lisp-mode}, together with an elisp equivalent of
10235 @code{slime-describe-symbol}.")
10236 (license license:gpl3+)))
10237
10238 (define-public emacs-dedicated
10239 (package
10240 (name "emacs-dedicated")
10241 (version "1.0.0")
10242 (source
10243 (origin
10244 (method git-fetch)
10245 (uri (git-reference
10246 (url "https://github.com/emacsorphanage/dedicated.git")
10247 (commit version)))
10248 (file-name (git-file-name name version))
10249 (sha256
10250 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
10251 (build-system emacs-build-system)
10252 (home-page "https://github.com/emacsorphanage/dedicated")
10253 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
10254 (description
10255 "This simple Emacs minor mode allows you to toggle a window's
10256 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
10257 files into that window. This can be quite handy since many commands will use
10258 another window to show results (compilation mode, starting info, and so on).
10259 A dedicated window won't be used for such a purpose. For details, please read
10260 the source file.")
10261 (license license:gpl2+)))
10262
10263 (define-public emacs-nnreddit
10264 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
10265 (revision "1"))
10266 (package
10267 (name "emacs-nnreddit")
10268 (version (string-append "0.0.1-" revision "."
10269 (string-take commit 7)))
10270 (source (origin
10271 (method git-fetch)
10272 (uri (git-reference
10273 (url "https://github.com/paul-issartel/nnreddit.git")
10274 (commit commit)))
10275 (file-name (git-file-name name version))
10276 (sha256
10277 (base32
10278 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
10279 (build-system emacs-build-system)
10280 (home-page "https://github.com/paul-issartel/nnreddit")
10281 (synopsis "Reddit backend for the Gnus newsreader")
10282 (description "@url{https://www.reddit.com} backend for the Gnus
10283 newsreader.")
10284 (license license:gpl3+))))
10285
10286 (define-public emacs-makey
10287 (package
10288 (name "emacs-makey")
10289 (version "0.3")
10290 (source
10291 (origin
10292 (method git-fetch)
10293 (uri (git-reference
10294 (url "https://github.com/mickeynp/makey.git")
10295 (commit version)))
10296 (file-name (git-file-name name version))
10297 (sha256
10298 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
10299 (build-system emacs-build-system)
10300 (home-page "https://github.com/mickeynp/makey")
10301 (synopsis "Emacs interactive command-line mode")
10302 (description
10303 "This package provides an Emacs interactive command-line mode.")
10304 (license license:gpl3+)))
10305
10306 (define-public emacs-outorg
10307 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
10308 (package
10309 (name "emacs-outorg")
10310 (version (git-version "2.0" "1" commit))
10311 (source
10312 (origin
10313 (method git-fetch)
10314 (uri (git-reference
10315 (url "https://github.com/alphapapa/outorg")
10316 (commit commit)))
10317 (file-name (git-file-name name version))
10318 (sha256
10319 (base32
10320 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
10321 (build-system emacs-build-system)
10322 (home-page "https://github.com/alphapapa/outorg")
10323 (synopsis "Org-style comment editing")
10324 (description "Outorg is for editing comment-sections of source-code
10325 files in temporary Org-mode buffers. It turns conventional
10326 literate-programming upside-down in that the default mode is the
10327 programming-mode, and special action has to be taken to switch to the
10328 text-mode (i.e. Org-mode).")
10329 (license license:gpl3+))))
10330
10331 (define-public emacs-outshine
10332 (package
10333 (name "emacs-outshine")
10334 (version "3.0.1")
10335 (source (origin
10336 (method git-fetch)
10337 (uri (git-reference
10338 (url "https://github.com/alphapapa/outshine.git")
10339 (commit (string-append "v" version))))
10340 (file-name (git-file-name name version))
10341 (sha256
10342 (base32
10343 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
10344 (build-system emacs-build-system)
10345 (propagated-inputs
10346 `(("emacs-outorg" ,emacs-outorg)))
10347 (home-page "https://github.com/alphapapa/outshine")
10348 (synopsis "Emacs outline with outshine")
10349 (description "Outshine attempts to bring the look and feel of
10350 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
10351 of @code{outline-minor-mode} (@code{org-mode} itself derives from
10352 outline-mode), so there is no such thing like an outshine mode, only
10353 @code{outline-minor-mode} with outshine extensions loaded.")
10354 (license license:gpl3+)))
10355
10356 (define-public emacs-frecency
10357 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
10358 (version "0.1-pre")
10359 (revision "1"))
10360 (package
10361 (name "emacs-frecency")
10362 (version (git-version version revision commit))
10363 (source (origin
10364 (method git-fetch)
10365 (uri (git-reference
10366 (url "https://github.com/alphapapa/frecency.el")
10367 (commit commit)))
10368 (sha256
10369 (base32
10370 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
10371 (file-name (git-file-name name version))))
10372 (build-system emacs-build-system)
10373 (propagated-inputs
10374 `(("emacs-a" ,emacs-a)
10375 ("emacs-dash" ,emacs-dash)))
10376 (home-page "https://github.com/alphapapa/frecency.el")
10377 (synopsis "Sort items by frequency and recency of access")
10378 (description "This package provides a way of sorting items via
10379 a heuristic based on frequency and recency.")
10380 (license license:gpl3+))))
10381
10382 (define-public emacs-org-recent-headings
10383 (package
10384 (name "emacs-org-recent-headings")
10385 (version "0.1")
10386 (source (origin
10387 (method git-fetch)
10388 (uri (git-reference
10389 (url "https://github.com/alphapapa/org-recent-headings.git")
10390 (commit version)))
10391 (file-name (git-file-name name version))
10392 (sha256
10393 (base32
10394 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
10395 (build-system emacs-build-system)
10396 (propagated-inputs
10397 `(("emacs-org" ,emacs-org)
10398 ("emacs-dash" ,emacs-dash)
10399 ("emacs-frecency" ,emacs-frecency)))
10400 (home-page "https://github.com/alphapapa/org-recent-headings")
10401 (synopsis "Navigate to recently used Org headings and lists")
10402 (description "This package maintains a list of recently used Org headings,
10403 as well as functions for navigating between these headings.")
10404 (license license:gpl3+)))
10405
10406 (define-public emacs-org-super-agenda
10407 (package
10408 (name "emacs-org-super-agenda")
10409 (version "1.1")
10410 (source (origin
10411 (method git-fetch)
10412 (uri (git-reference
10413 (url "https://github.com/alphapapa/org-super-agenda")
10414 (commit version)))
10415 (file-name (git-file-name name version))
10416 (sha256
10417 (base32
10418 "0vzf91lsxnhwf52kvm8ycpf0wb9c8l91689vyhwgv4wz8q6cvjwp"))))
10419 (build-system emacs-build-system)
10420 (propagated-inputs
10421 `(("emacs-org" ,emacs-org)
10422 ("emacs-dash" ,emacs-dash)
10423 ("emacs-ht" ,emacs-ht)
10424 ("emacs-s" ,emacs-s)))
10425 (home-page "https://github.com/alphapapa/org-super-agenda")
10426 (synopsis "Supercharged Org agenda")
10427 (description "This package allows items in the Org agenda to be grouped
10428 into sections while preserving the structure imposed by any timestamps.")
10429 (license license:gpl3+)))
10430
10431 (define-public emacs-org-make-toc
10432 (package
10433 (name "emacs-org-make-toc")
10434 (version "0.3")
10435 (source (origin
10436 (method git-fetch)
10437 (uri (git-reference
10438 (url "https://github.com/alphapapa/org-make-toc")
10439 (commit version)))
10440 (file-name (git-file-name name version))
10441 (sha256
10442 (base32
10443 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
10444 (build-system emacs-build-system)
10445 (propagated-inputs
10446 `(("emacs-org" ,emacs-org)
10447 ("emacs-dash" ,emacs-dash)
10448 ("emacs-s" ,emacs-s)))
10449 (home-page "https://github.com/alphapapa/org-make-toc")
10450 (synopsis "Maintain a table of contents for an Org file")
10451 (description "This package facilitates the creation and maintenance of
10452 tables of contents.")
10453 (license license:gpl3+)))
10454
10455 (define-public emacs-org-ql
10456 (let ((commit "0aec8ec60395197b2ef2b885c216cf84286efed9")
10457 (version "0.1-pre")
10458 (revision "1"))
10459 (package
10460 (name "emacs-org-ql")
10461 (version (git-version version revision commit))
10462 (source (origin
10463 (method git-fetch)
10464 (uri (git-reference
10465 (url "https://github.com/alphapapa/org-ql")
10466 (commit commit)))
10467 (sha256
10468 (base32
10469 "0bj85hxhym7rvkaddcxybxdm7g7w439wij9f2w5ljz1hmvp55991"))
10470 (file-name (git-file-name name version))))
10471 (build-system emacs-build-system)
10472 (propagated-inputs
10473 `(("emacs-s" ,emacs-s)
10474 ("emacs-dash" ,emacs-dash)))
10475 (home-page "https://github.com/alphapapa/org-ql")
10476 (synopsis "Query language for Org buffers")
10477 (description "This package provides a Lispy query language for Org
10478 files, allowing for actions to be performed based on search criteria.")
10479 (license license:gpl3+))))
10480
10481 (define-public emacs-parsebib
10482 (package
10483 (name "emacs-parsebib")
10484 (version "2.3.1")
10485 (source
10486 (origin
10487 (method git-fetch)
10488 (uri (git-reference
10489 (url "https://github.com/joostkremers/parsebib.git")
10490 (commit version)))
10491 (file-name (git-file-name name version))
10492 (sha256
10493 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
10494 (build-system emacs-build-system)
10495 (home-page "https://github.com/joostkremers/parsebib")
10496 (synopsis "Library for parsing bib files")
10497 (description
10498 "This package provides an Emacs library for parsing bib files.")
10499 (license license:gpl3+)))
10500
10501 (define-public emacs-biblio
10502 (package
10503 (name "emacs-biblio")
10504 (version "0.2")
10505 (source
10506 (origin
10507 (method git-fetch)
10508 (uri (git-reference
10509 (url "https://github.com/cpitclaudel/biblio.el.git")
10510 (commit version)))
10511 (file-name (git-file-name name version))
10512 (sha256
10513 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
10514 (build-system emacs-build-system)
10515 (propagated-inputs
10516 `(("emacs-seq" ,emacs-seq)
10517 ("emacs-dash" ,emacs-dash)
10518 ("emacs-let-alist" ,emacs-let-alist)))
10519 (home-page "https://github.com/cpitclaudel/biblio.el")
10520 (synopsis "Browse and import bibliographic references")
10521 (description "This package provides an extensible Emacs package for
10522 browsing and fetching references.
10523
10524 @file{biblio.el} makes it easy to browse and gather bibliographic references
10525 and publications from various sources, by keywords or by DOI. References are
10526 automatically fetched from well-curated sources, and formatted as BibTeX.")
10527 (license license:gpl3+)))
10528
10529 (define-public emacs-helm-bibtex
10530 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
10531 (revision "1"))
10532 (package
10533 (name "emacs-helm-bibtex")
10534 (version (string-append "2.0.0" "-" revision "."
10535 (string-take commit 7)))
10536 (source
10537 (origin
10538 (method git-fetch)
10539 (uri (git-reference
10540 (url "https://github.com/tmalsburg/helm-bibtex.git")
10541 (commit commit)))
10542 (file-name (git-file-name name version))
10543 (sha256
10544 (base32
10545 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
10546 (build-system emacs-build-system)
10547 (propagated-inputs
10548 `(("emacs-helm" ,emacs-helm)
10549 ("emacs-parsebib" ,emacs-parsebib)
10550 ("emacs-s" ,emacs-s)
10551 ("emacs-dash" ,emacs-dash)
10552 ("emacs-f" ,emacs-f)
10553 ("emacs-biblio" ,emacs-biblio)
10554 ("emacs-ivy" ,emacs-ivy)))
10555 (home-page "https://github.com/tmalsburg/helm-bibtex")
10556 (synopsis "Bibliography manager based on Helm")
10557 (description "This package provides bibliography manager for Emacs,
10558 based on Helm and the bibtex-completion backend.
10559
10560 Key features:
10561
10562 @itemize
10563 @item Quick access to your bibliography from within Emacs
10564 @item Powerful search capabilities
10565 @item Provides instant search results as you type
10566 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
10567 @item Open the PDFs, URLs, or DOIs associated with an entry
10568 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
10569 BibTeX entries, or plain text references at point, attach PDFs to emails
10570 @item Support for note taking
10571 @item Quick access to online bibliographic databases such as Pubmed,
10572 arXiv, Google Scholar, Library of Congress, etc.
10573 @item Imports BibTeX entries from CrossRef and other sources.
10574 @end itemize\n")
10575 (license license:gpl3+))))
10576
10577 (define-public emacs-ewmctrl
10578 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
10579 (package
10580 (name "emacs-ewmctrl")
10581 (version (git-version "0.0.1" "1" commit))
10582 (source
10583 (origin
10584 (method git-fetch)
10585 (uri (git-reference
10586 (url "https://github.com/flexibeast/ewmctrl.git")
10587 (commit commit)))
10588 (file-name (git-file-name name version))
10589 (sha256
10590 (base32
10591 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
10592 (build-system emacs-build-system)
10593 (arguments
10594 '(#:phases
10595 (modify-phases %standard-phases
10596 (add-after 'unpack 'patch-ewmctrl
10597 ;; This build phase makes sure ‘ewmctrl’ looks
10598 ;; for ‘wmctrl’ in the right place.
10599 (lambda _
10600 (let ((file "ewmctrl.el"))
10601 (chmod file #o644)
10602 (emacs-substitute-sexps file
10603 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
10604 (inputs
10605 `(("wmctrl" ,wmctrl)))
10606 (home-page "https://github.com/flexibeast/ewmctrl")
10607 (synopsis "Emacs interface to @code{wmctrl}")
10608 (description "@code{ewmctrl} provides an Emacs interface to
10609 @code{wmctrl} command-line window-management program.")
10610 (license license:gpl3+))))
10611
10612 (define-public emacs-erc-image
10613 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
10614 (revision "1"))
10615 (package
10616 (name "emacs-erc-image")
10617 (version (git-version "0" revision commit))
10618 (source
10619 (origin
10620 (method git-fetch)
10621 (uri (git-reference
10622 (url "https://github.com/kidd/erc-image.el")
10623 (commit commit)))
10624 (file-name (git-file-name name version))
10625 (sha256
10626 (base32
10627 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
10628 (build-system emacs-build-system)
10629 (home-page "https://github.com/kidd/erc-image.el")
10630 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
10631 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
10632 and @code{erc-send-modify-hook} to download and show images.")
10633 (license license:gpl3+))))
10634
10635 (define-public emacs-helm-gtags
10636 (package
10637 (name "emacs-helm-gtags")
10638 (version "1.5.6")
10639 (source
10640 (origin
10641 (method git-fetch)
10642 (uri (git-reference
10643 (url "https://github.com/syohex/emacs-helm-gtags.git")
10644 (commit version)))
10645 (file-name (git-file-name name version))
10646 (sha256
10647 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
10648 (build-system emacs-build-system)
10649 (propagated-inputs
10650 `(("emacs-helm" ,emacs-helm)))
10651 (home-page "https://github.com/syohex/emacs-helm-gtags")
10652 (synopsis "Emacs Helm interface to GNU Global")
10653 (description
10654 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
10655 (license license:gpl3+)))
10656
10657 (define-public emacs-list-utils
10658 (package
10659 (name "emacs-list-utils")
10660 (version "0.4.4")
10661 (source
10662 (origin
10663 (method git-fetch)
10664 (uri (git-reference
10665 (url "https://github.com/rolandwalker/list-utils.git")
10666 (commit (string-append "v" version))))
10667 (file-name (git-file-name name version))
10668 (sha256
10669 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
10670 (build-system emacs-build-system)
10671 (home-page "https://github.com/rolandwalker/list-utils")
10672 (synopsis "List-manipulation utility functions")
10673 (description "This package provides a list manipulation library for Emacs.")
10674 (license license:gpl3+)))
10675
10676 (define-public emacs-move-text
10677 (package
10678 (name "emacs-move-text")
10679 (version "2.0.8")
10680 (source
10681 (origin
10682 (method git-fetch)
10683 (uri (git-reference
10684 (url "https://github.com/emacsfodder/move-text.git")
10685 (commit version)))
10686 (file-name (git-file-name name version))
10687 (sha256
10688 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
10689 (build-system emacs-build-system)
10690 (home-page "https://github.com/emacsfodder/move-text")
10691 (synopsis "Move current line or region with M-up or M-down")
10692 (description "This package provide functions to move the current line
10693 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
10694 region instead.")
10695 (license license:gpl3+)))
10696
10697 (define-public emacs-validate
10698 (package
10699 (name "emacs-validate")
10700 (version "1.0.5")
10701 (source (origin
10702 (method url-fetch)
10703 (uri (string-append "https://github.com/Malabarba/validate.el"
10704 "/archive/" version ".tar.gz"))
10705 (file-name (string-append name "-" version ".tar.gz"))
10706 (sha256
10707 (base32
10708 "125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
10709 (build-system emacs-build-system)
10710 (home-page "https://github.com/Malabarba/validate.el")
10711 (synopsis "Emacs library for scheme validation")
10712 (description "This Emacs library provides two functions that perform
10713 schema validation.")
10714 (license license:gpl3+)))
10715
10716 (define-public emacs-rainbow-blocks
10717 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
10718 (package
10719 (name "emacs-rainbow-blocks")
10720 (version (git-version "1.0.0" "1" commit))
10721 (source (origin
10722 (method git-fetch)
10723 (uri (git-reference
10724 (url "https://github.com/istib/rainbow-blocks.git")
10725 (commit commit)))
10726 (file-name (git-file-name name version))
10727 (sha256
10728 (base32
10729 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
10730 (build-system emacs-build-system)
10731 (home-page "https://github.com/istib/rainbow-blocks")
10732 (synopsis "Highlight sexp blocks")
10733 (description "Rainbow-blocks is an Emacs mode that highlights blocks
10734 made of parentheses, brackets, and braces according to their depth. Each
10735 successive level is highlighted in a different color. This makes it easy to
10736 orient yourself in the code, and tell which statements are at a given level.")
10737 (license license:gpl3+))))
10738
10739 (define-public emacs-hierarchy
10740 (package
10741 (name "emacs-hierarchy")
10742 (version "0.7.0")
10743 (source
10744 (origin
10745 (method git-fetch)
10746 (uri (git-reference
10747 (url "https://github.com/DamienCassou/hierarchy.git")
10748 (commit (string-append "v" version))))
10749 (file-name (git-file-name name version))
10750 (sha256
10751 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
10752 (build-system emacs-build-system)
10753 (home-page "https://github.com/DamienCassou/hierarchy")
10754 (synopsis "Library to create and display hierarchy structures")
10755 (description "This package provides an Emacs library to create, query,
10756 navigate and display hierarchy structures.")
10757 (license license:gpl3+)))
10758
10759 (define-public emacs-tree-mode
10760 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
10761 (revision "1"))
10762 (package
10763 (name "emacs-tree-mode")
10764 (version (string-append "0.0.1" "-" revision "."
10765 (string-take commit 7)))
10766 (source
10767 (origin
10768 (method git-fetch)
10769 (uri (git-reference
10770 (url "https://github.com/emacsorphanage/tree-mode.git")
10771 (commit commit)))
10772 (file-name (git-file-name name version))
10773 (sha256
10774 (base32
10775 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
10776 (build-system emacs-build-system)
10777 (home-page "https://github.com/emacsorphanage/tree-mode")
10778 (synopsis "Emacs mode to manage tree widgets")
10779 (description
10780 "This package provides an Emacs library to manage tree widgets.")
10781 (license license:gpl3+))))
10782
10783 (define-public emacs-md4rd
10784 (package
10785 (name "emacs-md4rd")
10786 (version "0.3.1")
10787 (source (origin
10788 (method git-fetch)
10789 (uri (git-reference
10790 (url "https://github.com/ahungry/md4rd.git")
10791 (commit version)))
10792 (file-name (git-file-name name version))
10793 (sha256
10794 (base32
10795 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
10796 (propagated-inputs
10797 `(("emacs-hierarchy" ,emacs-hierarchy)
10798 ("emacs-request" ,emacs-request)
10799 ("emacs-dash" ,emacs-dash)
10800 ("emacs-s" ,emacs-s)
10801 ("emacs-tree-mode" ,emacs-tree-mode)))
10802 (build-system emacs-build-system)
10803 (home-page "https://github.com/ahungry/md4rd")
10804 (synopsis "Emacs Mode for Reddit")
10805 (description
10806 "This package allows to read Reddit from within Emacs interactively.")
10807 (license license:gpl3+)))
10808
10809 (define-public emacs-pulseaudio-control
10810 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
10811 (revision "3"))
10812 (package
10813 (name "emacs-pulseaudio-control")
10814 (version (git-version "0.0.1" revision commit))
10815 (source
10816 (origin
10817 (method git-fetch)
10818 (uri (git-reference
10819 (url "https://github.com/flexibeast/pulseaudio-control.git")
10820 (commit commit)))
10821 (file-name (git-file-name name version))
10822 (sha256
10823 (base32
10824 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
10825 (build-system emacs-build-system)
10826 (arguments
10827 '(#:phases (modify-phases %standard-phases
10828 (add-after 'unpack 'patch-file-name
10829 (lambda* (#:key inputs #:allow-other-keys)
10830 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
10831 (chmod "pulseaudio-control.el" #o600)
10832 (emacs-substitute-variables "pulseaudio-control.el"
10833 ("pulseaudio-control-pactl-path"
10834 (string-append pulseaudio "/bin/pactl")))
10835 #t))))))
10836 (inputs `(("pulseaudio" ,pulseaudio)))
10837 (home-page "https://github.com/flexibeast/pulseaudio-control")
10838 (synopsis "Control @code{pulseaudio} from Emacs")
10839 (description
10840 "This package allows to control @code{pulseaudio} from Emacs.")
10841 (license license:gpl3+))))
10842
10843 (define-public emacs-datetime
10844 (package
10845 (name "emacs-datetime")
10846 (version "0.3")
10847 (source
10848 (origin
10849 (method git-fetch)
10850 (uri (git-reference
10851 (url "https://github.com/doublep/datetime.git")
10852 (commit version)))
10853 (file-name (git-file-name name version))
10854 (sha256
10855 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
10856 (build-system emacs-build-system)
10857 (home-page "https://github.com/doublep/datetime/")
10858 (synopsis "Library to work with dates in Emacs")
10859 (description "Parsing, formatting, matching and recoding
10860 timestamps and date-time format strings library for Emacs.")
10861 (license license:gpl3+)))
10862
10863 (define-public emacs-org-mind-map
10864 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
10865 (revision "1"))
10866 (package
10867 (name "emacs-org-mind-map")
10868 (version (string-append "0.0.1" "-" revision "."
10869 (string-take commit 7)))
10870 (source
10871 (origin
10872 (method git-fetch)
10873 (uri (git-reference
10874 (url "https://github.com/theodorewiles/org-mind-map.git")
10875 (commit commit)))
10876 (file-name (git-file-name name version))
10877 (sha256
10878 (base32
10879 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
10880 (propagated-inputs
10881 `(("emacs-dash" ,emacs-dash)))
10882 (build-system emacs-build-system)
10883 (home-page "https://github.com/theodorewiles/org-mind-map")
10884 (synopsis "Create Graphviz directed graphs from Org files")
10885 (description
10886 "This package creates Graphviz directed graphs from Org files.")
10887 (license license:gpl3+))))
10888
10889 (define-public emacs-npm-mode
10890 (package
10891 (name "emacs-npm-mode")
10892 (version "0.6.0")
10893 (source
10894 (origin
10895 (method git-fetch)
10896 (uri (git-reference
10897 (url "https://github.com/mojochao/npm-mode.git")
10898 (commit version)))
10899 (file-name (git-file-name name version))
10900 (sha256
10901 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
10902 (build-system emacs-build-system)
10903 (home-page "https://github.com/mojochao/npm-mode")
10904 (synopsis "Minor mode for working with @code{npm} projects")
10905 (description
10906 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
10907 (license license:gpl3+)))
10908
10909 (define-public emacs-seq
10910 (package
10911 (name "emacs-seq")
10912 (version "2.20")
10913 (source
10914 (origin
10915 (method url-fetch)
10916 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
10917 (sha256
10918 (base32
10919 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
10920 (build-system emacs-build-system)
10921 (home-page "http://elpa.gnu.org/packages/seq.html")
10922 (synopsis "Sequence manipulation functions")
10923 (description "Sequence-manipulation functions that complement basic
10924 functions provided by @file{subr.el}.")
10925 (license license:gpl3+)))
10926
10927 (define-public emacs-itail
10928 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
10929 (revision "1"))
10930 (package
10931 (name "emacs-itail")
10932 (version (string-append "0.0.1" "-" revision "."
10933 (string-take commit 7)))
10934 (source
10935 (origin
10936 (method git-fetch)
10937 (uri (git-reference
10938 (url "https://github.com/re5et/itail.git")
10939 (commit commit)))
10940 (file-name (git-file-name name version))
10941 (sha256
10942 (base32
10943 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
10944 (build-system emacs-build-system)
10945 (home-page "https://github.com/re5et/itail")
10946 (synopsis "Interactive @code{tail} Emacs mode")
10947 (description "@code{itail} provides interactive @code{tail} mode
10948 that allows you to filter the tail with unix pipes and highlight the
10949 contents of the tailed file. Works locally or on remote files using
10950 tramp.")
10951 (license license:gpl3+))))
10952
10953 (define-public emacs-loop
10954 (package
10955 (name "emacs-loop")
10956 (version "1.3")
10957 (source
10958 (origin
10959 (method git-fetch)
10960 (uri (git-reference
10961 (url "https://github.com/Wilfred/loop.el.git")
10962 (commit version)))
10963 (file-name (git-file-name name version))
10964 (sha256
10965 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
10966 (build-system emacs-build-system)
10967 (home-page "https://github.com/Wilfred/loop.el")
10968 (synopsis "Imperative loop structures for Emacs")
10969 (description "Loop structures familiar to users of other languages. This
10970 library adds a selection of popular loop structures as well as break and
10971 continue.")
10972 (license license:gpl3+)))
10973
10974 (define-public emacs-elisp-refs
10975 (package
10976 (name "emacs-elisp-refs")
10977 (version "1.3")
10978 (source
10979 (origin
10980 (method git-fetch)
10981 (uri (git-reference
10982 (url "https://github.com/Wilfred/elisp-refs.git")
10983 (commit version)))
10984 (file-name (git-file-name name version))
10985 (sha256
10986 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
10987 (build-system emacs-build-system)
10988 (propagated-inputs
10989 `(("emacs-dash" ,emacs-dash)
10990 ("emacs-f" ,emacs-f)
10991 ("emacs-list-utils" ,emacs-list-utils)
10992 ("emacs-loop" ,emacs-loop)
10993 ("emacs-s" ,emacs-s)
10994 ("emacs-shut-up" ,emacs-shut-up)))
10995 (home-page "https://github.com/Wilfred/elisp-refs")
10996 (synopsis "Find callers of elisp functions or macros")
10997 (description "Find references to functions, macros or variables. Unlike a
10998 dumb text search, @code{elisp-refs} actually parses the code, so it's never
10999 confused by comments or @code{foo-bar} matching @code{foo}.")
11000 (license license:gpl3+)))
11001
11002 (define-public emacs-crux
11003 (let ((commit "4f5c8fefd5a6aa52e128c4a0401cc86410d6ac8f")
11004 (revision "1"))
11005 (package
11006 (name "emacs-crux")
11007 (version (string-append "0.3.0" "-" revision "."
11008 (string-take commit 7)))
11009 (source
11010 (origin
11011 (method git-fetch)
11012 (uri (git-reference
11013 (url "https://github.com/bbatsov/crux.git")
11014 (commit commit)))
11015 (file-name (git-file-name name version))
11016 (sha256
11017 (base32
11018 "1fdxvv25cs01sg6fmvmzxpzvs50i6v8n2jya60lbavxqqhi0sbxd"))))
11019 (build-system emacs-build-system)
11020 (home-page "https://github.com/bbatsov/crux")
11021 (synopsis "Collection of useful functions for Emacs")
11022 (description
11023 "@code{crux} provides a collection of useful functions for Emacs.")
11024 (license license:gpl3+))))
11025
11026 (define-public emacs-edit-server
11027 (package
11028 (name "emacs-edit-server")
11029 (version "1.13")
11030 (source
11031 (origin
11032 (method git-fetch)
11033 (uri (git-reference
11034 (url "https://github.com/stsquad/emacs_chrome.git")
11035 (commit (string-append "v" version))))
11036 (file-name (git-file-name name version))
11037 (sha256
11038 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
11039 (build-system emacs-build-system)
11040 (arguments
11041 `(#:phases
11042 (modify-phases %standard-phases
11043 (add-after 'unpack 'chdir-elisp
11044 ;; Elisp directory is not in root of the source.
11045 (lambda _
11046 (chdir "servers"))))))
11047 (home-page "https://github.com/stsquad/emacs_chrome")
11048 (synopsis "Server that responds to edit requests from Chromium")
11049 (description
11050 "This package provides an edit server to respond to requests from Emacs.")
11051 (license license:gpl3+)))
11052
11053 (define-public emacs-m-buffer-el
11054 (package
11055 (name "emacs-m-buffer-el")
11056 (version "0.15")
11057 (source
11058 (origin
11059 (method url-fetch)
11060 (uri (string-append "https://github.com/phillord/m-buffer-el"
11061 "/archive/" "v" version ".tar.gz"))
11062 (file-name (string-append name "-" version ".tar.gz"))
11063 (sha256
11064 (base32
11065 "17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
11066 (arguments
11067 `(#:phases
11068 (modify-phases %standard-phases
11069 (add-before 'install 'check
11070 (lambda* (#:key inputs #:allow-other-keys)
11071 (invoke "emacs" "--batch" "-L" "."
11072 "-l" "test/m-buffer-test.el"
11073 "-l" "test/m-buffer-at-test.el"
11074 "-f" "ert-run-tests-batch-and-exit"))))))
11075 (build-system emacs-build-system)
11076 (home-page "https://github.com/phillord/m-buffer-el")
11077 (synopsis "List oriented buffer operations for Emacs")
11078 (description "@code{m-buffer} provides a set of list-orientated functions
11079 for operating over the contents of Emacs buffers.")
11080 (license license:gpl3+)))
11081
11082 (define-public emacs-let-alist
11083 (package
11084 (name "emacs-let-alist")
11085 (version "1.0.5")
11086 (source
11087 (origin
11088 (method url-fetch)
11089 (uri (string-append
11090 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
11091 (sha256
11092 (base32
11093 "0r7b9jni50la1m79kklml11syg8d2fmdlr83pv005sv1wh02jszw"))))
11094 (build-system emacs-build-system)
11095 (home-page "https://elpa.gnu.org/packages/let-alist.html")
11096 (synopsis "Easily let-bind values of an assoc-list by their names")
11097 (description "This package offers a single macro, @code{let-alist}. This
11098 macro takes a first argument (whose value must be an alist) and a body.")
11099 (license license:gpl3+)))
11100
11101 (define-public emacs-esup
11102 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
11103 (revision "1"))
11104 (package
11105 (name "emacs-esup")
11106 (version (string-append "0.6" "-" revision "."
11107 (string-take commit 7)))
11108 (source
11109 (origin
11110 (method git-fetch)
11111 (uri (git-reference
11112 (url "https://github.com/jschaf/esup.git")
11113 (commit commit)))
11114 (file-name (git-file-name name version))
11115 (sha256
11116 (base32
11117 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
11118 ;; TODO: Add tests
11119 (build-system emacs-build-system)
11120 (home-page "https://github.com/jschaf/esup")
11121 (synopsis "Emacs start up profiler")
11122 (description "Benchmark Emacs Startup time without ever leaving
11123 your Emacs.")
11124 (license license:gpl2+))))
11125
11126 (define-public emacs-restart-emacs
11127 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
11128 (revision "1"))
11129 (package
11130 (name "emacs-restart-emacs")
11131 (version (git-version "0.1.1" revision commit))
11132 (source
11133 (origin
11134 (method git-fetch)
11135 (uri (git-reference
11136 (url "https://github.com/iqbalansari/restart-emacs.git")
11137 (commit commit)))
11138 (file-name (git-file-name name version))
11139 (sha256
11140 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
11141 (build-system emacs-build-system)
11142 (home-page "https://github.com/iqbalansari/restart-emacs")
11143 (synopsis "Restart Emacs from within Emacs")
11144 (description "This package provides a simple command to restart Emacs from
11145 within Emacs.")
11146 (license license:gpl3+))))
11147
11148 (define-public emacs-sourcemap
11149 (package
11150 (name "emacs-sourcemap")
11151 (version "0.03")
11152 (source
11153 (origin
11154 (method git-fetch)
11155 (uri (git-reference
11156 (url "https://github.com/syohex/emacs-sourcemap.git")
11157 (commit version)))
11158 (file-name (git-file-name name version))
11159 (sha256
11160 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
11161 (build-system emacs-build-system)
11162 (home-page "https://github.com/syohex/emacs-sourcemap")
11163 (synopsis "Sourcemap parser")
11164 (description "Sourcemap parser")
11165 (license license:gpl3+)))
11166
11167 (define-public emacs-macrostep
11168 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
11169 (package
11170 (name "emacs-macrostep")
11171 (version (git-version "0.9" "1" commit))
11172 (source (origin
11173 (method git-fetch)
11174 (uri (git-reference
11175 (url "https://github.com/joddie/macrostep.git")
11176 (commit commit)))
11177 (file-name (git-file-name name version))
11178 (sha256
11179 (base32
11180 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
11181 (build-system emacs-build-system)
11182 (arguments
11183 '(#:phases
11184 (modify-phases %standard-phases
11185 (add-before 'check 'remove-test
11186 ;; Fails because of requirement ‘/bin/sh’.
11187 (lambda _
11188 (let ((file "macrostep-test.el"))
11189 (chmod file #o644)
11190 (emacs-batch-edit-file file
11191 `(progn (progn (goto-char (point-min))
11192 (re-search-forward
11193 "(ert-deftest macrostep-expand-c-macros")
11194 (beginning-of-line)
11195 (kill-sexp))
11196 (basic-save-buffer))))))
11197 (add-before 'install 'check
11198 (lambda _
11199 (invoke "emacs" "--batch" "-L" "."
11200 "-l" "macrostep-test.el"
11201 "-f" "ert-run-tests-batch-and-exit"))))))
11202 (home-page "https://github.com/joddie/macrostep")
11203 (synopsis "Interactive macro-expander for Emacs")
11204 (description "@code{macrostep} is an Emacs minor mode for interactively
11205 stepping through the expansion of macros in Emacs Lisp source code. It lets
11206 you see exactly what happens at each step of the expansion process by
11207 pretty-printing the expanded forms inline in the source buffer, which is
11208 temporarily read-only while macro expansions are visible. You can expand and
11209 collapse macro forms one step at a time, and evaluate or instrument the
11210 expansions for debugging with Edebug as normal (but see “Bugs and known
11211 limitations”, below). Single-stepping through the expansion is particularly
11212 useful for debugging macros that expand into another macro form. These can be
11213 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
11214 until the top-level form is no longer a macro call.")
11215 (license license:gpl3+))))
11216
11217 (define-public emacs-parent-mode
11218 (package
11219 (name "emacs-parent-mode")
11220 (version "2.3")
11221 (source
11222 (origin
11223 (method git-fetch)
11224 (uri (git-reference
11225 (url "https://github.com/Fanael/parent-mode.git")
11226 (commit version)))
11227 (file-name (git-file-name name version))
11228 (sha256
11229 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
11230 (build-system emacs-build-system)
11231 (home-page "https://github.com/Fanael/parent-mode")
11232 (synopsis "Get major mode's parent modes")
11233 (description "Get major mode's parent modes")
11234 (license license:gpl3+)))
11235
11236 (define-public emacs-lacarte
11237 (package
11238 (name "emacs-lacarte")
11239 (version "0.1")
11240 (source (origin
11241 (method url-fetch)
11242 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
11243 (sha256
11244 (base32
11245 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
11246 (build-system emacs-build-system)
11247 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
11248 (synopsis "Execute menu items as commands, with completion")
11249 (description "Execute menu items as commands, with completion.")
11250 (license license:gpl3)))
11251
11252 (define-public emacs-isearch-prop
11253 (let ((commit "5e9dc44cf582d998aaa73ccd4d07cbda01248156")
11254 (revision "1"))
11255 (package
11256 (name "emacs-isearch-prop")
11257 (version (git-version "0" revision commit))
11258 (source
11259 (origin
11260 (method git-fetch)
11261 (uri (git-reference
11262 (url "https://github.com/emacsmirror/isearch-prop.git")
11263 (commit commit)))
11264 (file-name (git-file-name name version))
11265 (sha256
11266 (base32
11267 "1xawppy705ybsgx566zvj8zk2aajq0sqvhvfs7nijqq32lx0a2zl"))))
11268 (build-system emacs-build-system)
11269 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
11270 (synopsis "Extensions to @code{isearch.el}")
11271 (description "The Emacs library @code{isearch-prop.el} lets you search within
11272 contexts. You can limit incremental search to a set of zones of
11273 buffer text, search contexts that in effect constitute a multi-region.
11274 These zones can be defined in various ways, including some ways
11275 provided specially by this library.")
11276 (license license:gpl3+))))
11277
11278 (define-public emacs-company-lua
11279 (let ((commit "0be8122f3adf57ad27953bf4b03545d6298d3da4"))
11280 (package
11281 (name "emacs-company-lua")
11282 (version (git-version "0.1" "1" commit))
11283 (source
11284 (origin
11285 (method git-fetch)
11286 (uri (git-reference
11287 (url "https://github.com/ptrv/company-lua.git")
11288 (commit commit)))
11289 (file-name (git-file-name name version))
11290 (sha256
11291 (base32
11292 "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"))))
11293 (build-system emacs-build-system)
11294 (propagated-inputs
11295 `(("emacs-company" ,emacs-company)
11296 ("emacs-s" ,emacs-s)
11297 ("emacs-f" ,emacs-f)
11298 ("emacs-lua-mode" ,emacs-lua-mode)))
11299 (home-page "https://github.com/ptrv/company-lua")
11300 (synopsis "Company backend for Lua")
11301 (description
11302 "This package provides Company backend for Lua programming language.")
11303 (license license:gpl3+))))
11304
11305 (define-public emacs-beginend
11306 (package
11307 (name "emacs-beginend")
11308 (version "2.0.0")
11309 (source
11310 (origin
11311 (method git-fetch)
11312 (uri (git-reference
11313 (url "https://github.com/DamienCassou/beginend.git")
11314 (commit (string-append "v" version))))
11315 (file-name (git-file-name name version))
11316 (sha256
11317 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
11318 ;; TODO: Run tests.
11319 (build-system emacs-build-system)
11320 (inputs
11321 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
11322 (home-page "https://github.com/DamienCassou/beginend")
11323 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
11324 (description "@code{beginend} redefines @code{M-<} and @code{M->}
11325 keybindings for Emacs modes so that point moves to meaningful
11326 locations. Redefined keys are still accessible by pressing the same
11327 key again.")
11328 (license license:gpl3+)))
11329
11330 (define-public emacs-mbsync
11331 (let ((commit "42077e83ae2db778ce0f8e22f8357b40355526b3")
11332 (revision "1"))
11333 (package
11334 (name "emacs-mbsync")
11335 (version (string-append "0.0.1" "-" revision "."
11336 (string-take commit 7)))
11337 (source
11338 (origin
11339 (method git-fetch)
11340 (uri (git-reference
11341 (url "https://github.com/dimitri/mbsync-el.git")
11342 (commit commit)))
11343 (file-name (git-file-name name version))
11344 (sha256
11345 (base32
11346 "0yj93y2mpxlir8x73znlg1slxlv4blm1vjv5h2w3j8lxg8bxvmn6"))))
11347 (build-system emacs-build-system)
11348 (home-page "https://github.com/dimitri/mbsync-el")
11349 (synopsis "Interface to mbsync for Emacs")
11350 (description "This package allows to call the @code{mbsync} from
11351 within Emacs.")
11352 (license license:gpl3+))))
11353
11354 (define-public emacs-ibuffer-projectile
11355 (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
11356 (revision "1"))
11357 (package
11358 (name "emacs-ibuffer-projectile")
11359 (version (string-append "0.2" "-" revision "."
11360 (string-take commit 7)))
11361 (source
11362 (origin
11363 (method git-fetch)
11364 (uri (git-reference
11365 (url "https://github.com/purcell/ibuffer-projectile.git")
11366 (commit commit)))
11367 (file-name (git-file-name name version))
11368 (sha256
11369 (base32
11370 "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
11371 (build-system emacs-build-system)
11372 (propagated-inputs
11373 `(("emacs-projectile" ,emacs-projectile)))
11374 (home-page "https://github.com/purcell/ibuffer-projectile")
11375 (synopsis "Group ibuffer's list by projectile root")
11376 (description "Adds functionality to Emacs @code{ibuffer} for
11377 grouping buffers by their projectile root directory.")
11378 (license license:gpl3+))))
11379
11380 (define-public emacs-helm-mode-manager
11381 (package
11382 (name "emacs-helm-mode-manager")
11383 (version "1.0.0")
11384 (source
11385 (origin
11386 (method url-fetch)
11387 (uri (string-append "https://github.com/istib/helm-mode-manager/"
11388 "archive/" version ".tar.gz"))
11389 (file-name (string-append name "-" version ".tar.gz"))
11390 (sha256
11391 (base32
11392 "0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
11393 (build-system emacs-build-system)
11394 (propagated-inputs
11395 `(("emacs-helm" ,emacs-helm)))
11396 (home-page "https://github.com/istib/helm-mode-manager/")
11397 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
11398 (description "This package provides a Helm interface for toggling Emacs
11399 major or minor mode.
11400
11401 @itemize
11402 @item @code{helm-switch-major-mode} list of all major modes
11403 @item @code{helm-enable-minor-mode} list of all inactive minor modes
11404 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
11405 @end itemize\n
11406
11407 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
11408 documentation.")
11409 (license license:gpl3+)))
11410
11411 (define-public emacs-hy-mode
11412 (package
11413 (name "emacs-hy-mode")
11414 (version "1.0.3")
11415 (source
11416 (origin
11417 (method git-fetch)
11418 (uri (git-reference
11419 (url "https://github.com/hylang/hy-mode.git")
11420 (commit (string-append "v" version))))
11421 (file-name (git-file-name name version))
11422 (sha256
11423 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
11424 (build-system emacs-build-system)
11425 (propagated-inputs
11426 `(("emacs-dash" ,emacs-dash)
11427 ("emacs-s" ,emacs-s)))
11428 (home-page "https://github.com/hylang/hy-mode")
11429 (synopsis "Major mode for Hylang")
11430 (description "This package provides a major mode for Hylang.")
11431 (license license:gpl3+)))
11432
11433 (define-public emacs-web-beautify
11434 (package
11435 (name "emacs-web-beautify")
11436 (version "0.3.2")
11437 (source
11438 (origin
11439 (method git-fetch)
11440 (uri (git-reference
11441 (url "https://github.com/yasuyk/web-beautify.git")
11442 (commit version)))
11443 (file-name (git-file-name name version))
11444 (sha256
11445 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
11446 (build-system emacs-build-system)
11447 (home-page "https://github.com/yasuyk/web-beautify")
11448 (synopsis "Format HTML, CSS and JavaScript, JSON")
11449 (description "This package provides an Emacs functions to format HTML,
11450 CSS, JavaScript, JSON.")
11451 (license license:gpl3+)))
11452
11453 (define-public emacs-helm-shell-history
11454 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
11455 (package
11456 (name "emacs-helm-shell-history")
11457 (version (git-version "0.1" "1" commit))
11458 (source
11459 (origin
11460 (method git-fetch)
11461 (uri (git-reference
11462 (url "https://github.com/yuutayamada/helm-shell-history.git")
11463 (commit commit)))
11464 (file-name (git-file-name name version))
11465 (sha256
11466 (base32
11467 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
11468 (build-system emacs-build-system)
11469 (arguments
11470 '(#:phases
11471 (modify-phases %standard-phases
11472 (add-before 'check 'patch-helm-shell-history-file
11473 (lambda _
11474 (let ((file "helm-shell-history.el"))
11475 (chmod file #o644)
11476 (emacs-substitute-sexps file
11477 ("(defvar helm-shell-history-file"
11478 `(expand-file-name "~/.bash_history"))))
11479 #t)))))
11480 (propagated-inputs
11481 `(("emacs-helm" ,emacs-helm)))
11482 (home-page "https://github.com/yuutayamada/helm-shell-history")
11483 (synopsis "Find shell history with Emacs Helm")
11484 (description "This package provides an Emacs Helm interface to search
11485 throw a shell history.")
11486 (license license:gpl3+))))
11487
11488 (define-public emacs-discover-my-major
11489 (package
11490 (name "emacs-discover-my-major")
11491 (version "1.0")
11492 (source
11493 (origin
11494 (method url-fetch)
11495 (uri
11496 (string-append "https://github.com/steckerhalter/discover-my-major"
11497 "/archive/" version ".tar.gz"))
11498 (file-name (string-append name "-" version ".tar.gz"))
11499 (sha256
11500 (base32
11501 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
11502 (build-system emacs-build-system)
11503 (propagated-inputs
11504 `(("emacs-makey" ,emacs-makey)))
11505 (home-page "https://github.com/steckerhalter/discover-my-major")
11506 (synopsis "Discover key bindings for the current Emacs major mode")
11507 (description "This package provides allows to discover key bindings and
11508 their meaning for the current Emacs major-mode.")
11509 (license license:gpl3+)))
11510
11511 (define-public emacs-org-ref
11512 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
11513 (revision "1"))
11514 (package
11515 (name "emacs-org-ref")
11516 (version (string-append "1.1.1" "-" revision "."
11517 (string-take commit 7)))
11518 (source
11519 (origin
11520 (method git-fetch)
11521 (uri (git-reference
11522 (url "https://github.com/jkitchin/org-ref.git")
11523 (commit commit)))
11524 (file-name (git-file-name name version))
11525 (sha256
11526 (base32
11527 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
11528 (build-system emacs-build-system)
11529 (propagated-inputs
11530 `(("emacs-dash" ,emacs-dash)
11531 ("emacs-helm" ,emacs-helm)
11532 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
11533 ("emacs-ivy" ,emacs-ivy)
11534 ("emacs-hydra" ,emacs-hydra)
11535 ("emacs-key-chord" ,emacs-key-chord)
11536 ("emacs-s" ,emacs-s)
11537 ("emacs-f" ,emacs-f)
11538 ("emacs-pdf-tools" ,emacs-pdf-tools)))
11539 (home-page "https://github.com/jkitchin/org-ref")
11540 (synopsis "Citations, cross-references and bibliographies in org-mode")
11541 (description
11542 "Lisp code to setup bibliography, cite, ref and label org-mode links.
11543 Also sets up reftex and helm for org-mode citations. The links are
11544 clickable and do things that are useful.
11545
11546 The default setup uses helm-bibtex.
11547
11548 You should really read org-ref.org in this package for details.")
11549 (license license:gpl3+))))
11550
11551 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
11552 (define-public emacs-org-reveal
11553 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
11554 (package
11555 (name "emacs-org-reveal")
11556 (version (git-version "0.1" "3" commit))
11557 (source (origin
11558 (method git-fetch)
11559 (uri (git-reference
11560 (url "https://github.com/yjwen/org-reveal.git")
11561 (commit commit)))
11562 (file-name (git-file-name name version))
11563 (sha256
11564 (base32
11565 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
11566 (build-system emacs-build-system)
11567 (home-page "https://github.com/yjwen/org-reveal")
11568 (synopsis "Org and Reveal.js powered HTML presentation tool")
11569 (description "Org-Reveal is a command@{org-mode} extension that allows
11570 to create beautiful presentations (slides) with 3D effects from simple but
11571 powerful Org contents.")
11572 (license license:gpl3+))))
11573
11574 (define-public emacs-org-re-reveal
11575 (package
11576 (name "emacs-org-re-reveal")
11577 (version "1.0.3")
11578 (source (origin
11579 (method git-fetch)
11580 (uri (git-reference
11581 (url "https://gitlab.com/oer/org-re-reveal.git")
11582 (commit "50cc6574c77f12d423f6cd096d8f76feb3673abc")))
11583 (file-name (git-file-name name version))
11584 (sha256
11585 (base32
11586 "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8"))))
11587 (build-system emacs-build-system)
11588 (propagated-inputs
11589 `(("emacs-htmlize" ,emacs-htmlize)
11590 ("emacs-org" ,emacs-org)))
11591 (home-page "https://gitlab.com/oer/org-re-reveal")
11592 (synopsis "Build HTML presentations with reveal.js from Org source files")
11593 (description "This project started as fork of org-reveal. It provides an
11594 export back-end for HTML presentations with reveal.js from Org mode source
11595 files.")
11596 (license license:gpl3+)))
11597
11598 (define-public emacs-add-hooks
11599 (package
11600 (name "emacs-add-hooks")
11601 (version "3.1.1")
11602 (source
11603 (origin
11604 (method git-fetch)
11605 (uri (git-reference
11606 (url "https://github.com/nickmccurdy/add-hooks.git")
11607 (commit version)))
11608 (file-name (git-file-name name version))
11609 (sha256
11610 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
11611 (build-system emacs-build-system)
11612 (home-page "https://github.com/nickmccurdy/add-hooks/")
11613 (synopsis "Emacs function for setting multiple hooks")
11614 (description "This package provides a @code{add-hooks} function tidies up
11615 duplicate hook and function names further into a single declarative call.")
11616 (license license:gpl3+)))
11617
11618 (define-public emacs-fancy-narrow
11619 (package
11620 (name "emacs-fancy-narrow")
11621 (version "0.9.5")
11622 (source
11623 (origin
11624 (method git-fetch)
11625 (uri (git-reference
11626 (url "https://github.com/Malabarba/fancy-narrow.git")
11627 (commit version)))
11628 (file-name (git-file-name name version))
11629 (sha256
11630 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
11631 (build-system emacs-build-system)
11632 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
11633 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
11634 (description
11635 "Unlike @code{narrow-to-region}, which completely hides text outside
11636 the narrowed region, this package simply de-emphasizes the text, makes it
11637 read-only, and makes it unreachable. This leads to a much more natural
11638 feeling where the region stays static (instead of being brutally moved to a
11639 blank slate) and is clearly highlighted with respect to the rest of the
11640 buffer.")
11641 (license license:gpl2+)))
11642
11643 (define-public emacs-know-your-http-well
11644 (package
11645 (name "emacs-know-your-http-well")
11646 (version "0.5.0")
11647 (source
11648 (origin
11649 (method git-fetch)
11650 (uri (git-reference
11651 (url "https://github.com/for-GET/know-your-http-well.git")
11652 (commit (string-append "v" version))))
11653 (file-name (git-file-name name version))
11654 (sha256
11655 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
11656 (arguments
11657 `(#:phases
11658 (modify-phases %standard-phases
11659 (add-after 'unpack 'install-json-files
11660 (lambda* (#:key outputs #:allow-other-keys)
11661 (for-each (lambda (directory)
11662 (copy-recursively directory
11663 (string-append
11664 (assoc-ref outputs "out")
11665 directory)))
11666 '("js" "json"))))
11667 (add-after 'unpack 'chdir-elisp
11668 ;; Elisp directory is not in root of the source.
11669 (lambda _
11670 (chdir "emacs"))))))
11671 (build-system emacs-build-system)
11672 (home-page "https://github.com/for-GET/know-your-http-well")
11673 (synopsis "Meaning of HTTP headers codes")
11674 (description "Meaning of HTTP headers codes.")
11675 (license license:gpl3+)))
11676
11677 (define-public emacs-navi-mode
11678 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
11679 (package
11680 (name "emacs-navi-mode")
11681 (version (git-version "2.0" "1" commit))
11682 (source
11683 (origin
11684 (method git-fetch)
11685 (uri (git-reference
11686 (url "https://github.com/alphapapa/navi.git")
11687 (commit commit)))
11688 (file-name (git-file-name name version))
11689 (sha256
11690 (base32
11691 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
11692 (build-system emacs-build-system)
11693 (propagated-inputs
11694 `(("emacs-outshine" ,emacs-outshine)
11695 ("emacs-outorg" ,emacs-outorg)))
11696 (home-page "https://github.com/alphapapa/navi")
11697 (synopsis "Emacs major-mode for easy buffer-navigation")
11698 (description
11699 "This package provides an Emacs major-mode for easy buffer-navigation")
11700 (license license:gpl3+))))
11701
11702 (define-public emacs-download-region
11703 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
11704 (revision "1"))
11705 (package
11706 (name "emacs-download-region")
11707 (version (string-append "0.0.1" "-" revision "."
11708 (string-take commit 7)))
11709 (source
11710 (origin
11711 (method git-fetch)
11712 (uri (git-reference
11713 (url "https://github.com/zk-phi/download-region.git")
11714 (commit commit)))
11715 (file-name (git-file-name name version))
11716 (sha256
11717 (base32
11718 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
11719 (build-system emacs-build-system)
11720 (home-page "https://github.com/zk-phi/download-region")
11721 (synopsis "In buffer download manager for Emacs")
11722 (description "@code{download-region} provides in buffer
11723 downloading manager for Emacs.")
11724 (license license:gpl3+))))
11725
11726 (define-public emacs-helpful
11727 (package
11728 (name "emacs-helpful")
11729 (version "0.16")
11730 (source
11731 (origin
11732 (method git-fetch)
11733 (uri (git-reference
11734 (url "https://github.com/Wilfred/helpful.git")
11735 (commit version)))
11736 (file-name (git-file-name name version))
11737 (sha256
11738 (base32 "1pzlx3galyryd3hd84hnd7r5s6yl9sdrfhy1s6dgz40glw41wmpr"))))
11739 (build-system emacs-build-system)
11740 (propagated-inputs
11741 `(("emacs-elisp-refs" ,emacs-elisp-refs)
11742 ("emacs-dash" ,emacs-dash)
11743 ("emacs-s" ,emacs-s)
11744 ("emacs-f" ,emacs-f)
11745 ("emacs-shut-up" ,emacs-shut-up)))
11746 (home-page "https://github.com/Wilfred/helpful")
11747 (synopsis "More contextual information in Emacs help")
11748 (description "@code{helpful} is an alternative to the built-in Emacs help
11749 that provides much more contextual information.
11750
11751 @itemize
11752 @item Show the source code for interactively defined functions (unlike the
11753 built-in Help).
11754 @item Fall back to the raw sexp if no source is available.
11755 @item Show where a function is being called.
11756 @item Docstrings will Highlight the summary (the first sentence), include
11757 cross-references, hide superfluous puncuation.
11758 @item Show you the properties that have been applied to the current
11759 symbol. This provides visibility of features like edebug or byte-code
11760 optimisation.
11761 @item Provide a separate @code{helpful-command} function to view interactive
11762 functions.
11763 @item Display any keybindings that apply to interactive functions.
11764 @item Trace, disassemble functions from inside Helpful. This is discoverable
11765 and doesn't require memorisation of commands.
11766 @end itemize\n")
11767 (license license:gpl3+)))
11768
11769 (define-public emacs-logview
11770 (package
11771 (name "emacs-logview")
11772 (version "0.9")
11773 (source
11774 (origin
11775 (method git-fetch)
11776 (uri (git-reference
11777 (url "https://github.com/doublep/logview.git")
11778 (commit version)))
11779 (file-name (git-file-name name version))
11780 (sha256
11781 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
11782 (propagated-inputs
11783 `(("emacs-datetime" ,emacs-datetime)))
11784 (build-system emacs-build-system)
11785 (home-page "https://github.com/doublep/logview/")
11786 (synopsis "Emacs mode for viewing log files")
11787 (description "@code{logview} provides an Emacs mode to view log files.")
11788 (license license:gpl3+)))
11789
11790 (define-public emacs-suggest
11791 (package
11792 (name "emacs-suggest")
11793 (version "0.7")
11794 (home-page "https://github.com/Wilfred/suggest.el")
11795 (source
11796 (origin
11797 (method git-fetch)
11798 (uri (git-reference
11799 (url home-page)
11800 (commit version)))
11801 (file-name (git-file-name name version))
11802 (sha256
11803 (base32
11804 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
11805 (build-system emacs-build-system)
11806 (propagated-inputs
11807 `(("emacs-loop" ,emacs-loop)
11808 ("emacs-dash" ,emacs-dash)
11809 ("emacs-s" ,emacs-s)
11810 ("emacs-f" ,emacs-f)
11811 ("emacs-spinner" ,emacs-spinner)
11812 ("emacs-shut-up" ,emacs-shut-up)))
11813 (synopsis "Suggest Elisp functions that give the output requested")
11814 (description "Suggest.el will find functions that give the output
11815 requested. It's a great way of exploring list, string and arithmetic
11816 functions.")
11817 (license license:gpl3+)))
11818
11819 (define-public emacs-benchmark-init
11820 (package
11821 (name "emacs-benchmark-init")
11822 (version "1.0")
11823 (source
11824 (origin
11825 (method git-fetch)
11826 (uri (git-reference
11827 (url "https://github.com/dholm/benchmark-init-el.git")
11828 (commit version)))
11829 (file-name (git-file-name name version))
11830 (sha256
11831 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
11832 (build-system emacs-build-system)
11833 (home-page "https://github.com/dholm/benchmark-init-el")
11834 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
11835 (description "@code{benchmark-init} provides a way to keep track of where
11836 time is being spent during Emacs startup in order to optimize startup time.")
11837 (license license:gpl3+)))
11838
11839 (define-public emacs-emms-player-simple-mpv
11840 ;; A new mpv backend is included in Emms from 5.0.
11841 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
11842
11843 (define-public emacs-magit-gerrit
11844 (let ((version "0.3")
11845 (revision "1")
11846 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
11847 (package
11848 (name "emacs-magit-gerrit")
11849 (version (git-version version revision commit))
11850 (source (origin
11851 (method git-fetch)
11852 (uri (git-reference
11853 (url "https://github.com/terranpro/magit-gerrit.git")
11854 (commit commit)))
11855 (file-name (git-file-name name version))
11856 (sha256
11857 (base32
11858 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
11859 (build-system emacs-build-system)
11860 (propagated-inputs
11861 `(("emacs-magit" ,emacs-magit)))
11862 (home-page "https://github.com/terranpro/magit-gerrit")
11863 (synopsis "Magit extension for Gerrit")
11864 (description "This Magit extension provides integration with Gerrit,
11865 which makes it possible to conduct Gerrit code reviews directly from within
11866 Emacs.")
11867 (license license:gpl3+))))
11868
11869 (define-public emacs-magit-org-todos-el
11870 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
11871 (package
11872 (name "emacs-magit-org-todos-el")
11873 (version (git-version "0.1.1" "1" commit))
11874 (source
11875 (origin
11876 (method git-fetch)
11877 (uri (git-reference
11878 (url "https://github.com/danielma/magit-org-todos.el.git")
11879 (commit commit)))
11880 (file-name (git-file-name name version))
11881 (sha256
11882 (base32
11883 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
11884 (propagated-inputs
11885 `(("magit" ,emacs-magit)))
11886 (build-system emacs-build-system)
11887 (home-page "https://github.com/danielma/magit-org-todos.el")
11888 (synopsis "Get todo.org into Emacs Magit status")
11889 (description "This package allows you to get @file{todo.org} into your
11890 magit status.
11891
11892 If you have a @file{todo.org} file with @code{TODO} items in the root of your
11893 repository, @code{magit-org-todos} will create a section in your Magit status
11894 buffer with each of your todos.")
11895 (license license:gpl3+))))
11896
11897 (define-public emacs-f3
11898 (package
11899 (name "emacs-f3")
11900 (version "0.1")
11901 (source
11902 (origin
11903 (method git-fetch)
11904 (uri (git-reference
11905 (url "https://github.com/cosmicexplorer/f3.git")
11906 (commit version)))
11907 (file-name (git-file-name name version))
11908 (sha256
11909 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
11910 (build-system emacs-build-system)
11911 (propagated-inputs
11912 `(("emacs-helm" ,emacs-helm)))
11913 (home-page "https://github.com/cosmicexplorer/f3")
11914 (synopsis "Fantastic File Finder for Emacs")
11915 (description
11916 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
11917 (license license:gpl3+)))
11918
11919 (define-public emacs-lice-el
11920 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
11921 (package
11922 (name "emacs-lice-el")
11923 (version (git-version "0.2" "1" commit))
11924 (source (origin
11925 (method git-fetch)
11926 (uri (git-reference
11927 (url "https://github.com/buzztaiki/lice-el.git")
11928 (commit commit)))
11929 (file-name (git-file-name name version))
11930 (sha256
11931 (base32
11932 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
11933 (build-system emacs-build-system)
11934 (home-page "https://github.com/buzztaiki/lice-el")
11935 (synopsis "License and header template for Emacs")
11936 (description "@code{lice.el} provides following features:
11937
11938 @itemize
11939 @item License template management.
11940 @item File header insertion.
11941 @end itemize\n")
11942 (license license:gpl3+))))
11943
11944 (define-public emacs-academic-phrases
11945 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
11946 (package
11947 (name "emacs-academic-phrases")
11948 (version (git-version "0.1" "1" commit))
11949 (source
11950 (origin
11951 (method git-fetch)
11952 (uri (git-reference
11953 (url "https://github.com/nashamri/academic-phrases.git")
11954 (commit commit)))
11955 (file-name (git-file-name name version))
11956 (sha256
11957 (base32
11958 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
11959 (build-system emacs-build-system)
11960 (propagated-inputs
11961 `(("emacs-dash" ,emacs-dash)
11962 ("emacs-s" ,emacs-s)
11963 ("emacs-ht" ,emacs-ht)))
11964 (home-page "https://github.com/nashamri/academic-phrases")
11965 (synopsis "Bypass that mental block when writing your papers")
11966 (description
11967 "When writing your academic paper, you might get stuck trying to find
11968 the right phrase that captures your intention. This package tries to
11969 alleviate that problem by presenting you with a list of phrases organized by
11970 the topic or by the paper section that you are writing. This package has
11971 around 600 phrases so far.
11972
11973 Using this package is easy, just call @code{academic-phrases} to get a list of
11974 phrases organized by topic, or call @code{academic-phrases-by-section} to
11975 browse the phrases by the paper section and fill-in the blanks if required.")
11976 (license license:gpl3+))))
11977
11978 (define-public emacs-auto-yasnippet
11979 (let ((commit "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"))
11980 (package
11981 (name "emacs-auto-yasnippet")
11982 (version (git-version "0.3.0" "1" commit))
11983 (source (origin
11984 (method git-fetch)
11985 (uri (git-reference
11986 (url "https://github.com/abo-abo/auto-yasnippet.git")
11987 (commit commit)))
11988 (file-name (git-file-name name version))
11989 (sha256
11990 (base32
11991 "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"))))
11992 (build-system emacs-build-system)
11993 (arguments
11994 '(#:phases
11995 (modify-phases %standard-phases
11996 (add-before 'install 'check
11997 (lambda _
11998 (invoke "emacs" "--batch"
11999 "-l" "auto-yasnippet.el"
12000 "-l" "auto-yasnippet-test.el"
12001 "-f" "ert-run-tests-batch-and-exit"))))))
12002 (propagated-inputs
12003 `(("emacs-yasnippet" ,emacs-yasnippet)))
12004 (home-page "https://github.com/abo-abo/auto-yasnippet/")
12005 (synopsis "Quickly create disposable yasnippets")
12006 (description "This package provides a hybrid of keyboard macros and
12007 yasnippet. You create the snippet on the go, usually to be used just in the
12008 one place. It's fast, because you're not leaving the current buffer, and all
12009 you do is enter the code you'd enter anyway, just placing ~ where you'd like
12010 yasnippet fields and mirrors to be.")
12011 (license license:gpl3+))))
12012
12013 (define-public emacs-highlight-numbers
12014 (package
12015 (name "emacs-highlight-numbers")
12016 (version "0.2.3")
12017 (source
12018 (origin
12019 (method git-fetch)
12020 (uri (git-reference
12021 (url "https://github.com/Fanael/highlight-numbers.git")
12022 (commit version)))
12023 (file-name (git-file-name name version))
12024 (sha256
12025 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
12026 (build-system emacs-build-system)
12027 (propagated-inputs
12028 `(("emacs-parent-mode" ,emacs-parent-mode)))
12029 (home-page "https://github.com/Fanael/highlight-numbers")
12030 (synopsis "Highlight numbers in source code")
12031 (description "@code{highlight-numbers-mode} provides a minor mode for
12032 syntax highlighting of numeric literals in source code.
12033
12034 It s customizable: it's easy to add or redefine what exactly consitutes a
12035 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
12036 (license license:gpl3+)))
12037
12038 (define-public emacs-darkroom
12039 (package
12040 (name "emacs-darkroom")
12041 (version "0.1")
12042 (source (origin
12043 (method url-fetch)
12044 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
12045 version ".el"))
12046 (sha256
12047 (base32
12048 "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"))))
12049 (build-system emacs-build-system)
12050 (home-page "https://elpa.gnu.org/packages/darkroom.html")
12051 (synopsis "Remove visual distractions and focus on writing")
12052 (description "@code{darkroom-mode} makes visual distractions disappear.
12053 The mode-line is temporarily elided, text is enlarged and margins are adjusted
12054 so that it's centered on the window.
12055
12056 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
12057 @code{darkroom-mode}, unless the current buffer lives in the sole window of
12058 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
12059 split to display more windows and more buffers, the buffer exits
12060 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
12061 @code{darkroom-mode}.")
12062 (license license:gpl3+)))
12063
12064 (define-public emacs-rsw-elisp
12065 (package
12066 (name "emacs-rsw-elisp")
12067 (version "1.0.5")
12068 (source (origin
12069 (method url-fetch)
12070 (uri (string-append "https://github.com/rswgnu/rsw-elisp"
12071 "/archive/" version ".tar.gz"))
12072 (file-name (string-append name "-" version ".tar.gz"))
12073 (sha256
12074 (base32
12075 "1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
12076 (build-system emacs-build-system)
12077 (home-page "https://github.com/rswgnu/rsw-elisp")
12078 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
12079 (description "This package improves and replaces the GNU Emacs commands
12080 that interactively evaluate Emacs Lisp expressions. The new commands replace
12081 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
12082 the same way as the old commands when called non-interactively; only the
12083 interactive behavior should be different.")
12084 (license license:gpl3+)))
12085
12086 (define-public emacs-default-text-scale
12087 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
12088 (revision "1"))
12089 (package
12090 (name "emacs-default-text-scale")
12091 (version (string-append "0.1" "-" revision "."
12092 (string-take commit 7)))
12093 (source (origin
12094 (method git-fetch)
12095 (uri (git-reference
12096 (url "https://github.com/purcell/default-text-scale")
12097 (commit commit)))
12098 (file-name (git-file-name name version))
12099 (sha256
12100 (base32
12101 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
12102 (build-system emacs-build-system)
12103 (home-page "https://github.com/purcell/default-text-scale")
12104 (synopsis "Adjust the font size in all Emacs frames")
12105 (description "This package provides commands for increasing or
12106 decreasing the default font size in all GUI Emacs frames.")
12107 (license license:gpl3+))))
12108
12109 (define-public emacs-mixed-pitch
12110 (package
12111 (name "emacs-mixed-pitch")
12112 (version "1.0.1")
12113 (source
12114 (origin
12115 (method git-fetch)
12116 (uri (git-reference
12117 (url "https://gitlab.com/jabranham/mixed-pitch.git")
12118 (commit version)))
12119 (file-name (git-file-name name version))
12120 (sha256
12121 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
12122 (build-system emacs-build-system)
12123 (home-page "https://gitlab.com/jabranham/mixed-pitch")
12124 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
12125 (description
12126 "@code{mixed-pitch-mode} is a minor mode that enables mixing
12127 variable-pitch and fixed-pitch fonts in the same buffer. The list
12128 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
12129 fixed-pitch,everything else becomes variable-pitch.")
12130 (license license:gpl3+)))
12131
12132 (define-public emacs-visual-regexp
12133 (package
12134 (name "emacs-visual-regexp")
12135 (version "1.1.1")
12136 (source
12137 (origin
12138 (method git-fetch)
12139 (uri (git-reference
12140 (url "https://github.com/benma/visual-regexp.el.git")
12141 (commit (string-append "v" version))))
12142 (file-name (git-file-name name version))
12143 (sha256
12144 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
12145 (build-system emacs-build-system)
12146 (home-page "https://github.com/benma/visual-regexp.el/")
12147 (synopsis "Regexp command with interactive visual feedback")
12148 (description "This package provides an Emacs regexp command with
12149 interactive visual feedback.")
12150 (license license:gpl3+)))
12151
12152 (define-public emacs-faceup
12153 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
12154 (revision "1"))
12155 (package
12156 (name "emacs-faceup")
12157 (version (string-append "0.0.1" "-" revision "."
12158 (string-take commit 7)))
12159 (source
12160 (origin
12161 (method git-fetch)
12162 (uri (git-reference
12163 (url "https://github.com/Lindydancer/faceup.git")
12164 (commit commit)))
12165 (file-name (git-file-name name version))
12166 (sha256
12167 (base32
12168 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
12169 (build-system emacs-build-system)
12170 (home-page "https://github.com/Lindydancer/faceup")
12171 (synopsis "Markup language for faces and font-lock regression testing")
12172 (description "Emacs is capable of highlighting buffers based on
12173 language-specific @code{font-lock} rules. This package makes it possible to
12174 perform regression test for packages that provide font-lock rules.")
12175 (license license:gpl3+))))
12176
12177 (define-public emacs-racket-mode
12178 (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
12179 (revision "2"))
12180 (package
12181 (name "emacs-racket-mode")
12182 (version (string-append "0.0.2" "-" revision "."
12183 (string-take commit 7)))
12184 (source
12185 (origin
12186 (method git-fetch)
12187 (uri (git-reference
12188 (url "https://github.com/greghendershott/racket-mode")
12189 (commit commit)))
12190 (file-name (git-file-name name version))
12191 (sha256
12192 (base32
12193 "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
12194 (build-system emacs-build-system)
12195 (arguments
12196 `(#:include '("\\.el$" "\\.rkt$")))
12197 (propagated-inputs
12198 `(("emacs-faceup" ,emacs-faceup)
12199 ("emacs-s" ,emacs-s)))
12200 (home-page "https://github.com/greghendershott/racket-mode")
12201 (synopsis "Major mode for Racket language")
12202 (description "@code{racket-mode} provides:
12203
12204 @itemize
12205 @item Focus on Racket (not various Schemes).
12206 @item Follow DrRacket concepts where applicable.
12207 @item Thorough font-lock and indent.
12208 @end itemize\n")
12209 (license license:gpl3+))))
12210
12211 (define-public emacs-grep-context
12212 (let ((commit "a17c57e66687a54e195e08afe776bdd60cb6c0a7"))
12213 (package
12214 (name "emacs-grep-context")
12215 (version (git-version "0.1" "1" commit))
12216 (source
12217 (origin
12218 (method git-fetch)
12219 (uri (git-reference
12220 (url "https://github.com/mkcms/grep-context.git")
12221 (commit commit)))
12222 (file-name (git-file-name name version))
12223 (sha256
12224 (base32
12225 "1nqfa6kjzjshww4hnwg1c0vcr90bdjihy3kmixq3c3jkvxg99b62"))))
12226 (build-system emacs-build-system)
12227 (propagated-inputs
12228 `(("emacs-dash" ,emacs-dash)))
12229 (home-page "https://github.com/nashamri/academic-phrases")
12230 (synopsis "Increase context in compilation and grep buffers")
12231 (description
12232 "This package provides an Emacs package for more context in
12233 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
12234 @code{ivy}.")
12235 (license license:gpl3+))))
12236
12237 (define-public emacs-helm-firefox
12238 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
12239 (revision "1"))
12240 (package
12241 (name "emacs-helm-firefox")
12242 (version (string-append "0.0.1" "-" revision "."
12243 (string-take commit 7)))
12244 (source
12245 (origin
12246 (method git-fetch)
12247 (uri (git-reference
12248 (url "https://github.com/emacs-helm/helm-firefox.git")
12249 (commit commit)))
12250 (file-name (git-file-name name version))
12251 (sha256
12252 (base32
12253 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
12254 (propagated-inputs
12255 `(("emacs-helm" ,emacs-helm)))
12256 (build-system emacs-build-system)
12257 (home-page "https://github.com/emacs-helm/helm-firefox")
12258 (synopsis "Display firefox bookmarks with Emacs Helm interface")
12259 (description "Display firefox bookmarks with Emacs Helm interface")
12260 (license license:gpl3+))))
12261
12262 (define-public emacs-interactive-align
12263 (package
12264 (name "emacs-interactive-align")
12265 (version "0.1.0")
12266 (source
12267 (origin
12268 (method url-fetch)
12269 (uri (string-append "https://github.com/mkcms/interactive-align/"
12270 "archive/" "v" version ".tar.gz"))
12271 (file-name (string-append name "-" version ".tar.gz"))
12272 (sha256
12273 (base32
12274 "0sibpgb4lp6yy3pziak8f3hz4b28yj0dqy2nzh51z3d0b63h528m"))))
12275 (build-system emacs-build-system)
12276 (home-page "https://github.com/mkcms/interactive-align/")
12277 (synopsis "Interactive align-regexp command in Emacs")
12278 (description "Interactive align-regexp command in Emacs")
12279 (license license:gpl3+)))
12280
12281 (define-public emacs-shift-number
12282 (package
12283 (name "emacs-shift-number")
12284 (version "0.1")
12285 (source
12286 (origin
12287 (method url-fetch)
12288 (uri (string-append "https://github.com/alezost/shift-number.el"
12289 "/archive/" "v" version ".tar.gz"))
12290 (file-name (string-append name "-" version ".tar.gz"))
12291 (sha256
12292 (base32
12293 "1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
12294 (build-system emacs-build-system)
12295 (home-page "https://github.com/alezost/shift-number.el")
12296 (synopsis "Increase or decrease the number at point")
12297 (description "@code{emacs-shift-number} provides commands
12298 @code{shift-number-up} to increase and @code{shift-number-down} to
12299 decrease the number at point.")
12300 (license license:gpl3+)))
12301
12302 (define-public emacs-highlight-defined
12303 (package
12304 (name "emacs-highlight-defined")
12305 (version "0.1.5")
12306 (source
12307 (origin
12308 (method git-fetch)
12309 (uri (git-reference
12310 (url "https://github.com/Fanael/highlight-defined.git")
12311 (commit version)))
12312 (file-name (git-file-name name version))
12313 (sha256
12314 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
12315 (build-system emacs-build-system)
12316 (home-page "https://github.com/Fanael/highlight-defined")
12317 (synopsis "Syntax highlighting of known Elisp symbols")
12318 (description "Minor mode providing syntax highlighting of known Emacs Lisp
12319 symbols. Currently the code distinguishes Lisp functions, built-in functions,
12320 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
12321 (license license:gpl3+)))
12322
12323 (define-public emacs-parinfer-mode
12324 (package
12325 (name "emacs-parinfer-mode")
12326 (version "0.4.10")
12327 (source
12328 (origin
12329 (method git-fetch)
12330 (uri (git-reference
12331 (url "https://github.com/DogLooksGood/parinfer-mode.git")
12332 (commit (string-append "v" version))))
12333 (file-name (git-file-name name version))
12334 (sha256
12335 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
12336 (propagated-inputs
12337 `(("emacs-dash" ,emacs-dash)
12338 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
12339 ("emacs-company" ,emacs-company)))
12340 (build-system emacs-build-system)
12341 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
12342 (synopsis "Lisp structure editing mode")
12343 (description "@code{parinfer-mode} is a proof-of-concept editor
12344 mode for Lisp programming languages. It will infer some changes to
12345 keep Parens and Indentation inline with one another.")
12346 (license license:gpl3+)))
12347
12348 (define-public emacs-helm-eww
12349 (package
12350 (name "emacs-helm-eww")
12351 (version "1.2")
12352 (source (origin
12353 (method git-fetch)
12354 (uri (git-reference
12355 (url "https://github.com/emacs-helm/helm-eww.git")
12356 (commit version)))
12357 (file-name (git-file-name name version))
12358 (sha256
12359 (base32
12360 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
12361 (propagated-inputs
12362 `(("emacs-helm" ,emacs-helm)))
12363 (build-system emacs-build-system)
12364 (home-page "https://github.com/emacs-helm/helm-eww/")
12365 (synopsis "Helm interface to EWW")
12366 (description "This package provides a Helm interface for EWW buffers,
12367 bookmarks and history.")
12368 (license license:gpl3+)))
12369
12370 (define-public emacs-stumpwm-mode
12371 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
12372 (package
12373 (name "emacs-stumpwm-mode")
12374 (version (git-version "0.0.1" "1" commit))
12375 (source (origin
12376 (method git-fetch)
12377 (uri (git-reference
12378 (url "https://github.com/stumpwm/stumpwm-contrib.git")
12379 (commit commit)))
12380 (file-name (git-file-name name version))
12381 (sha256
12382 (base32
12383 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
12384 (build-system emacs-build-system)
12385 (arguments
12386 `(#:phases
12387 (modify-phases %standard-phases
12388 (add-after 'unpack 'chdir-elisp
12389 ;; Elisp directory is not in root of the source.
12390 (lambda _
12391 (chdir "util/swm-emacs"))))))
12392 (home-page "https://github.com/stumpwm/stumpwm-contrib")
12393 (synopsis "Emacs minor-mode for Stumpwm")
12394 (description "Emacs minor-mode for Stumpwm")
12395 (license license:gpl3+))))
12396
12397 (define-public emacs-irfc
12398 (package
12399 (name "emacs-irfc")
12400 (version "20130824.507-1")
12401 (source
12402 (origin
12403 (method url-fetch)
12404 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
12405 (file-name (string-append "irfc-" version ".el"))
12406 (sha256
12407 (base32
12408 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
12409 (build-system emacs-build-system)
12410 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
12411 (synopsis "Interface for IETF RFC document")
12412 (description
12413 "This package provides an Emacs interface for IETF RFC document.")
12414 (license license:gpl3+)))
12415
12416 (define-public emacs-ido-vertical-mode
12417 (package
12418 (name "emacs-ido-vertical-mode")
12419 (version "0.1.6")
12420 (source
12421 (origin
12422 (method git-fetch)
12423 (uri (git-reference
12424 (url "https://github.com/creichert/ido-vertical-mode.el.git")
12425 (commit (string-append "v" version))))
12426 (file-name (git-file-name name version))
12427 (sha256
12428 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
12429 (build-system emacs-build-system)
12430 (home-page "https://github.com/creichert/ido-vertical-mode.el")
12431 (synopsis "Makes ido-mode display vertically")
12432 (description "Makes ido-mode display prospects vertically.")
12433 (license license:gpl3+)))
12434
12435 (define-public emacs-wordgen
12436 (package
12437 (name "emacs-wordgen")
12438 (version "0.1.4")
12439 (source
12440 (origin
12441 (method git-fetch)
12442 (uri (git-reference
12443 (url "https://github.com/Fanael/wordgen.el.git")
12444 (commit version)))
12445 (file-name (git-file-name name version))
12446 (sha256
12447 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
12448 (build-system emacs-build-system)
12449 (home-page "https://github.com/Fanael/wordgen.el")
12450 (synopsis "Random word generator")
12451 (description "This package provides functions to generate random words
12452 using user-provided rules.")
12453 (license license:gpl3+)))
12454
12455 (define-public emacs-on-screen
12456 (package
12457 (name "emacs-on-screen")
12458 (version "1.3.2")
12459 (source
12460 (origin
12461 (method url-fetch)
12462 (uri (string-append
12463 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
12464 (file-name (string-append name "-" version ".el"))
12465 (sha256
12466 (base32
12467 "15d18mjgv1pnwl6kf3pr5w64q1322p1l1qlfvnckglwmzy5sl2qv"))))
12468 (build-system emacs-build-system)
12469 (home-page
12470 "https://github.com/michael-heerdegen/on-screen.el")
12471 (synopsis "Guide your eyes while scrolling")
12472 (description
12473 "Scrolling can be distracting because your eyes may lose
12474 orientation. This library implements a minor mode that highlights
12475 the previously visible buffer part after each scroll.")
12476 (license license:gpl3+)))
12477
12478 (define-public emacs-highlight-escape-sequences
12479 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
12480 (revision "1"))
12481 (package
12482 (name "emacs-highlight-escape-sequences")
12483 (version (string-append "0.0.1" "-" revision "."
12484 (string-take commit 7)))
12485 (source
12486 (origin
12487 (method git-fetch)
12488 (uri (git-reference
12489 (url "https://github.com/dgutov/highlight-escape-sequences.git")
12490 (commit commit)))
12491 (file-name (git-file-name name version))
12492 (sha256
12493 (base32
12494 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
12495 (build-system emacs-build-system)
12496 (home-page "https://github.com/dgutov/highlight-escape-sequences")
12497 (synopsis "Highlight escape sequences in Emacs")
12498 (description "@code{highlight-escape-sequences} provides an
12499 Emacs minor mode to escape sequences in code.")
12500 (license license:gpl3+))))
12501
12502 (define-public emacs-dashboard
12503 (package
12504 (name "emacs-dashboard")
12505 (version "1.5.0")
12506 (source
12507 (origin
12508 (method git-fetch)
12509 (uri (git-reference
12510 (url "https://github.com/rakanalh/emacs-dashboard.git")
12511 (commit version)))
12512 (file-name (git-file-name name version))
12513 (sha256
12514 (base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
12515 (build-system emacs-build-system)
12516 (propagated-inputs
12517 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
12518 (arguments
12519 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
12520 #:phases
12521 (modify-phases %standard-phases
12522 (add-after 'unpack 'patch-dashboard-widgets
12523 ;; This phase fixes compilation error.
12524 (lambda _
12525 (chmod "dashboard-widgets.el" #o666)
12526 (emacs-substitute-variables "dashboard-widgets.el"
12527 ("dashboard-init-info"
12528 '(format "Loaded in %s" (emacs-init-time))))
12529 #t)))))
12530 (home-page "https://github.com/rakanalh/emacs-dashboard")
12531 (synopsis "Startup screen extracted from Spacemacs")
12532 (description "This package provides an extensible Emacs dashboard, with
12533 sections for bookmarks, projectil projects, org-agenda and more. ")
12534 (license license:gpl3+)))
12535
12536 (define-public emacs-slime-company
12537 (package
12538 (name "emacs-slime-company")
12539 (version "1.1")
12540 (source
12541 (origin
12542 (method git-fetch)
12543 (uri (git-reference
12544 (url "https://github.com/anwyn/slime-company.git")
12545 (commit (string-append "v" version))))
12546 (file-name (git-file-name name version))
12547 (sha256
12548 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
12549 (build-system emacs-build-system)
12550 (propagated-inputs
12551 `(("emacs-slime" ,emacs-slime)
12552 ("emacs-company" ,emacs-company)))
12553 (home-page "https://company-mode.github.io")
12554 (synopsis "SLIME completion backend for @code{company-mode}")
12555 (description
12556 "This is a backend implementation for the completion package
12557 @code{company-mode} which supports the normal and the fuzzy completion
12558 modes of SLIME.")
12559 (license license:gpl3+)))
12560
12561 (define-public emacs-sml-mode
12562 (package
12563 (name "emacs-sml-mode")
12564 (version "6.9")
12565 (source
12566 (origin
12567 (method url-fetch)
12568 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
12569 version ".el"))
12570 (sha256
12571 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
12572 (build-system emacs-build-system)
12573 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
12574 (synopsis "Major mode for editing (Standard) ML")
12575 (description "SML-MODE is a major Emacs mode for editing Standard ML.
12576 It provides syntax highlighting and automatic indentation and
12577 comes with sml-proc which allows interaction with an inferior SML
12578 interactive loop.")
12579 (license license:gpl3+)))
12580
12581 (define-public emacs-eros
12582 (let ((commit "a42e45c9b2397156c684330b0fc90ee0eba773f5")
12583 (revision "1"))
12584 (package
12585 (name "emacs-eros")
12586 (version (string-append "0.0.1" "-" revision "."
12587 (string-take commit 7)))
12588 (source
12589 (origin
12590 (method git-fetch)
12591 (uri (git-reference
12592 (url "https://github.com/xiongtx/eros.git")
12593 (commit commit)))
12594 (file-name (git-file-name name version))
12595 (sha256
12596 (base32
12597 "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"))))
12598 (build-system emacs-build-system)
12599 (home-page "https://github.com/xiongtx/eros")
12600 (synopsis "Evaluation result overlays")
12601 (description "@code{eros} provides evaluation result overlays.")
12602 (license license:gpl3+))))
12603
12604 (define-public emacs-stickyfunc-enhance
12605 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
12606 (revision "1"))
12607 (package
12608 (name "emacs-stickyfunc-enhance")
12609 (version "0.1")
12610 (source
12611 (origin
12612 (method git-fetch)
12613 (uri (git-reference
12614 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
12615 (commit commit)))
12616 (file-name (git-file-name name version))
12617 (sha256
12618 (base32
12619 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
12620 (build-system emacs-build-system)
12621 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
12622 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
12623 (description
12624 "@code{semantic-stickyfunc-mode} shows the function point is currently
12625 in at the first line of the current buffer. This is useful when you have a
12626 very long function that spreads more than a screen, and you don't have to
12627 scroll up to read the function name and then scroll down to original position.")
12628 (license license:gpl3+))))
12629
12630 (define-public emacs-git-auto-commit-mode
12631 (package
12632 (name "emacs-git-auto-commit-mode")
12633 (version "4.4.0")
12634 (source
12635 (origin
12636 (method git-fetch)
12637 (uri (git-reference
12638 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
12639 (commit version)))
12640 (file-name (git-file-name name version))
12641 (sha256
12642 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
12643 (build-system emacs-build-system)
12644 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
12645 (synopsis "Emacs Minor mode to automatically commit and push")
12646 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
12647 tries to commit changes to a file after every save.
12648
12649 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
12650 the current upstream.")
12651 (license license:gpl3+)))
12652
12653 (define-public emacs-company-restclient
12654 (package
12655 (name "emacs-company-restclient")
12656 (version "0.3.0")
12657 (source
12658 (origin
12659 (method git-fetch)
12660 (uri (git-reference
12661 (url "https://github.com/iquiw/company-restclient.git")
12662 (commit (string-append "v" version))))
12663 (file-name (git-file-name name version))
12664 (sha256
12665 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
12666 (build-system emacs-build-system)
12667 (propagated-inputs
12668 `(("emacs-company" ,emacs-company)
12669 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
12670 ("emacs-restclient" ,emacs-restclient)))
12671 (home-page "https://github.com/iquiw/company-restclient")
12672 (synopsis "Company-mode completion back-end for restclient-mode")
12673 (description "@code{company-mode} back-end for
12674 @code{restclient-mode}.
12675
12676 It provides auto-completion for HTTP methods and headers in
12677 @code{restclient-mode}. Completion source is given by
12678 @code{know-your-http-well}.")
12679 (license license:gpl3+)))
12680
12681 (define-public emacs-noflet
12682 (let ((version "20170629")
12683 (revision "1")
12684 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
12685 (package
12686 (name "emacs-noflet")
12687 (version (git-version version revision commit))
12688 (source
12689 (origin
12690 (method git-fetch)
12691 (uri (git-reference
12692 (url "https://github.com/nicferrier/emacs-noflet")
12693 (commit commit)))
12694 (file-name (git-file-name name version))
12695 (sha256
12696 (base32
12697 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
12698 (build-system emacs-build-system)
12699 (arguments
12700 `(#:phases
12701 (modify-phases %standard-phases
12702 (add-after 'unpack 'require-dash
12703 ;; noflet.el uses -map from dash, but (require 'dash) is
12704 ;; missing. So, add it.
12705 (lambda _
12706 (substitute* "noflet.el"
12707 ((";;; Code:") ";;; Code:\n(require 'dash)"))
12708 #t)))))
12709 (propagated-inputs
12710 `(("emacs-dash" ,emacs-dash)))
12711 (home-page "https://github.com/nicferrier/emacs-noflet")
12712 (synopsis "Locally override functions")
12713 (description "@code{emacs-noflet} lets you locally override functions,
12714 in the manner of @command{flet}, but with access to the original function
12715 through the symbol: @command{this-fn}.")
12716 (license license:gpl3+))))
12717
12718 (define-public emacs-dumb-jump
12719 (package
12720 (name "emacs-dumb-jump")
12721 (version "0.5.2")
12722 (source
12723 (origin
12724 (method git-fetch)
12725 (uri (git-reference
12726 (url "https://github.com/jacktasia/dumb-jump.git")
12727 (commit (string-append "v" version))))
12728 (file-name (git-file-name name version))
12729 (sha256
12730 (base32 "00ph85vp8sa3k99qrdxfz4l8zx121q9xf47vvspzg26bk9l4nwin"))))
12731 (build-system emacs-build-system)
12732 (arguments
12733 `(#:tests? #f ; FIXME: Tests freeze when run.
12734 #:test-command '("ert-runner")
12735 #:phases
12736 (modify-phases %standard-phases
12737 (add-after 'unpack 'set-shell
12738 (lambda _
12739 ;; Setting the SHELL environment variable is required for the
12740 ;; tests to find sh.
12741 (setenv "SHELL" (which "sh"))
12742 #t)))))
12743 (native-inputs
12744 `(("emacs-el-mock" ,emacs-el-mock)
12745 ("emacs-noflet" ,emacs-noflet)
12746 ("emacs-undercover" ,emacs-undercover)
12747 ("ert-runner" ,emacs-ert-runner)))
12748 (propagated-inputs
12749 `(("emacs-f" ,emacs-f)
12750 ("emacs-popup" ,emacs-popup)))
12751 (home-page "https://github.com/jacktasia/dumb-jump")
12752 (synopsis "Jump to definition for multiple languages without configuration")
12753 (description "Dumb Jump is an Emacs \"jump to definition\" package with
12754 support for multiple programming languages that favors \"just working\" over
12755 speed or accuracy. This means minimal --- and ideally zero --- configuration
12756 with absolutely no stored indexes (tags) or persistent background processes.
12757 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
12758 @command{rg} installed.")
12759 (license license:gpl3+)))
12760
12761 (define-public emacs-dts-mode
12762 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
12763 (revision "1"))
12764 (package
12765 (name "emacs-dts-mode")
12766 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
12767 (source
12768 (origin
12769 (method git-fetch)
12770 (uri (git-reference
12771 (url "https://github.com/bgamari/dts-mode.git")
12772 (commit commit)))
12773 (file-name (git-file-name name version))
12774 (sha256
12775 (base32
12776 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
12777 (build-system emacs-build-system)
12778 (home-page "https://github.com/bgamari/dts-mode.git")
12779 (synopsis "Emacs minor mode for editing device tree files")
12780 (description
12781 "This package provides an Emacs minor mode for highlighting
12782 device tree files.")
12783 (license license:gpl3+))))
12784
12785 (define-public emacs-daemons
12786 (package
12787 (name "emacs-daemons")
12788 (version "2.0.0")
12789 (source
12790 (origin
12791 (method git-fetch)
12792 (uri (git-reference
12793 (url "https://github.com/cbowdon/daemons.el")
12794 (commit version)))
12795 (file-name (git-file-name name version))
12796 (sha256
12797 (base32
12798 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
12799 (build-system emacs-build-system)
12800 (home-page "https://github.com/cbowdon/daemons.el")
12801 (synopsis "Emacs UI for managing init system services")
12802 (description
12803 "This is an Emacs mode to give you a UI for managing init system
12804 daemons (services) for those getting tired of typing out @code{sudo service
12805 my_thing reload} all the time. It offers a consistent UI over different init
12806 systems.")
12807 (license license:gpl3+)))
12808
12809 (define-public emacs-isearch+
12810 (let ((commit "95e49af9dbf0254e095a11f115e101b52659520a")
12811 (revision "1"))
12812 (package
12813 (name "emacs-isearch+")
12814 (version (git-version "0" revision commit))
12815 (source
12816 (origin
12817 (method git-fetch)
12818 (uri (git-reference
12819 (url "https://github.com/emacsmirror/isearch-plus.git")
12820 (commit commit)))
12821 (file-name (git-file-name name version))
12822 (sha256
12823 (base32
12824 "0xhd9zgknf4lvzyf4apirpd7spb1hbpzkvys00a7pkmd0vvahk0v"))))
12825 (build-system emacs-build-system)
12826 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
12827 (synopsis "Extensions to @code{isearch.el}")
12828 (description "This package extends @code{isearch} with advice, dynamic
12829 filters, highlighting of regexp group levels, and more.")
12830 (license license:gpl2+))))
12831
12832 (define-public emacs-eshell-bookmark
12833 (package
12834 (name "emacs-eshell-bookmark")
12835 (version "2.0.0")
12836 (source
12837 (origin
12838 (method git-fetch)
12839 (uri (git-reference
12840 (url "https://github.com/Fuco1/eshell-bookmark")
12841 (commit version)))
12842 (file-name (git-file-name name version))
12843 (sha256
12844 (base32
12845 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
12846 (build-system emacs-build-system)
12847 (home-page "https://github.com/Fuco1/eshell-bookmark")
12848 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
12849 (description
12850 "This package allows for bookmarking @code{eshell} buffers. Upon
12851 visiting the bookmark, a new @code{eshell} session will be opened in the
12852 appropriate directory if no @code{eshell} session is active.")
12853 (license license:gpl3+)))
12854
12855 (define-public emacs-eshell-z
12856 (package
12857 (name "emacs-eshell-z")
12858 (version "0.3.2")
12859 (source
12860 (origin
12861 (method git-fetch)
12862 (uri (git-reference
12863 (url "https://github.com/xuchunyang/eshell-z")
12864 (commit (string-append "v" version))))
12865 (file-name (git-file-name name version))
12866 (sha256
12867 (base32
12868 "1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
12869 (build-system emacs-build-system)
12870 (home-page "https://github.com/xuchunyang/eshell-z")
12871 (synopsis "Quick navigation to frequently visited directories")
12872 (description
12873 "This package is a port of @code{z}, and keeps track of visited directories
12874 and commands invoked within them in order to enable navigation via input of
12875 matching regexps.")
12876 (license license:gpl3+)))
12877
12878 (define-public emacs-esh-autosuggest
12879 (package
12880 (name "emacs-esh-autosuggest")
12881 (version "2.0.0")
12882 (source
12883 (origin
12884 (method git-fetch)
12885 (uri (git-reference
12886 (url "https://github.com/dieggsy/esh-autosuggest")
12887 (commit version)))
12888 (file-name (git-file-name name version))
12889 (sha256
12890 (base32
12891 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
12892 (build-system emacs-build-system)
12893 (propagated-inputs `(("emacs-company" ,emacs-company)))
12894 (home-page "https://github.com/dieggsy/esh-autosuggest")
12895 (synopsis "Fish-like autosuggestions in Eshell")
12896 (description
12897 "This package assumes you use something other than company for eshell
12898 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
12899 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
12900 for history autosuggestions.
12901
12902 Unless you're using @code{use-package}'s hook keyword, you can enable the
12903 autosuggestions with:
12904 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
12905 (license license:gpl3+)))
12906
12907 (define-public emacs-desktop-environment
12908 (package
12909 (name "emacs-desktop-environment")
12910 (version "0.2.2")
12911 (source
12912 (origin
12913 (method git-fetch)
12914 (uri (git-reference
12915 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
12916 (commit (string-append "v" version))))
12917 (file-name (git-file-name name version))
12918 (sha256
12919 (base32
12920 "14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
12921 (build-system emacs-build-system)
12922 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
12923 (synopsis "Control your GNU/Linux desktop environment from Emacs")
12924 (description
12925 "This package helps you control your GNU/Linux desktop from Emacs.
12926 With @code{desktop-environment}, you can control the brightness and volume as
12927 well as take screenshots and lock your screen. The package depends on the
12928 availability of shell commands to do the hard work for us. These commands can
12929 be changed by customizing the appropriate variables.")
12930 (license license:gpl3+)))
12931
12932 (define-public emacs-org-caldav
12933 (package
12934 (name "emacs-org-caldav")
12935 (version "20180403")
12936 (source
12937 (origin
12938 (method url-fetch)
12939 (uri (string-append
12940 "https://github.com/dengste/org-caldav/raw/"
12941 "8d3492c27a09f437d2d94f2736c56d7652e87aa0"
12942 "/org-caldav.el"))
12943 (sha256
12944 (base32
12945 "1fh4gh68ddj0is99z2ccyh97v6psnyda61n2dsadzqhcxn51amlc"))))
12946 (build-system emacs-build-system)
12947 (propagated-inputs `(("emacs-org" ,emacs-org)))
12948 (home-page "https://github.com/dengste/org-caldav")
12949 (synopsis
12950 "Sync Org files with external calendars via the CalDAV protocol")
12951 (description
12952 "Synchronize between events in Org-mode files and a CalDAV calendar.
12953 This code is still alpha.")
12954 (license license:gpl3+)))
12955
12956 (define-public emacs-zotxt
12957 (package
12958 (name "emacs-zotxt")
12959 (version "20180518")
12960 (source
12961 (origin
12962 (method git-fetch)
12963 (uri (git-reference
12964 (url "https://github.com/egh/zotxt-emacs.git")
12965 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
12966 (file-name (git-file-name name version))
12967 (sha256
12968 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
12969 (build-system emacs-build-system)
12970 (propagated-inputs
12971 `(("emacs-deferred" ,emacs-deferred)
12972 ("emacs-request" ,emacs-request)))
12973 (home-page "https://github.com/egh/zotxt-emacs")
12974 (synopsis "Integrate Emacs with Zotero")
12975 (description "This package provides two integration features between Emacs
12976 and the Zotero research assistant: Insertion of links to Zotero items into an
12977 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
12978 (license license:gpl3+)))
12979
12980 (define-public emacs-evil-ediff
12981 ;; Evil-Ediff is included in Evil Collection from 20180617.
12982 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
12983
12984 (define-public emacs-evil-magit
12985 (let ((commit "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"))
12986 (package
12987 (name "emacs-evil-magit")
12988 (version (git-version "0.4.2" "2" commit))
12989 (source
12990 (origin
12991 (method git-fetch)
12992 (uri (git-reference
12993 (url "https://github.com/emacs-evil/evil-magit")
12994 (commit commit)))
12995 (file-name (git-file-name name version))
12996 (sha256
12997 (base32
12998 "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"))))
12999 (build-system emacs-build-system)
13000 (propagated-inputs
13001 `(("emacs-evil" ,emacs-evil)
13002 ("magit" ,emacs-magit)))
13003 (home-page
13004 "https://github.com/emacs-evil/evil-magit")
13005 (synopsis "Evil-based key bindings for Magit")
13006 (description
13007 "This Emacs library configures Magit and Evil to play well with each other.
13008 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
13009 See the README at @url{https://github.com/justbur/evil-magit} for a table
13010 describing the key binding changes.")
13011 (license license:gpl3+))))
13012
13013 (define-public emacs-evil-mu4e
13014 ;; Evil-mu4e is included in Evil Collection from 20180617.
13015 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
13016
13017 (define-public emacs-evil-multiedit
13018 (package
13019 (name "emacs-evil-multiedit")
13020 (version "1.3.9")
13021 (source
13022 (origin
13023 (method git-fetch)
13024 (uri (git-reference
13025 (url "https://github.com/hlissner/evil-multiedit")
13026 (commit (string-append "v" version))))
13027 (file-name (git-file-name name version))
13028 (sha256
13029 (base32
13030 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
13031 (build-system emacs-build-system)
13032 (propagated-inputs
13033 `(("emacs-evil" ,emacs-evil)
13034 ("emacs-iedit" ,emacs-iedit)))
13035 (home-page
13036 "https://github.com/hlissner/evil-multiedit")
13037 (synopsis "Multiple cursors for Evil mode")
13038 (description
13039 "This plugin was an answer to the lack of proper multiple cursor support
13040 in Emacs+Evil. It allows you to select and edit matches interactively,
13041 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
13042 defaults.")
13043 (license license:gpl3+)))
13044
13045 (define-public emacs-evil-org
13046 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
13047 (package
13048 (name "emacs-evil-org")
13049 (version (git-version "0.1.1" "1" commit))
13050 (source
13051 (origin
13052 (method git-fetch)
13053 (uri (git-reference
13054 (url "https://github.com/Somelauw/evil-org-mode")
13055 (commit commit)))
13056 (file-name (git-file-name name version))
13057 (sha256
13058 (base32
13059 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
13060 (build-system emacs-build-system)
13061 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
13062 (home-page
13063 "https://github.com/Somelauw/evil-org-mode")
13064 (synopsis "Evil keybindings for Org mode")
13065 (description
13066 "This package adds supplemental Evil mode key-bindings to Emacs
13067 Org-mode. It features:
13068 @itemize
13069 @item normal, visual and insert mode bindings;
13070 @item key bindings organised in key themes;
13071 @item operators like > and < to work on headings;
13072 @item text objects;
13073 @item table support;
13074 @item calendar (date selection) support;
13075 @item agenda support.
13076 @end itemize\n")
13077 (license license:gpl3+))))
13078
13079 (define-public emacs-debpaste
13080 (package
13081 (name "emacs-debpaste")
13082 (version "0.1.5")
13083 (home-page "https://github.com/alezost/debpaste.el")
13084 (source
13085 (origin
13086 (method git-fetch)
13087 (uri (git-reference (url home-page)
13088 (commit (string-append "v" version))))
13089 (file-name (string-append name "-" version ".tar.gz"))
13090 (sha256
13091 (base32
13092 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
13093 (build-system emacs-build-system)
13094 (propagated-inputs
13095 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
13096 (synopsis "Manipulate pastes from the Debian Pastezone")
13097 (description "Debpaste is an Emacs interface for the Debian Pastezone,
13098 allowing you to receive, post, and delete pastes. It communicates with the
13099 server using XML-RPC.")
13100 (license license:gpl3+)))
13101
13102 (define-public emacs-xml-rpc
13103 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
13104 (revision "1"))
13105 (package
13106 (name "emacs-xml-rpc")
13107 (version (git-version "1.6.12" revision commit))
13108 (source
13109 (origin
13110 (method git-fetch)
13111 (uri (git-reference
13112 (url "https://github.com/hexmode/xml-rpc-el")
13113 (commit commit)))
13114 (file-name (git-file-name name version))
13115 (sha256
13116 (base32
13117 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
13118 (build-system emacs-build-system)
13119 (home-page "https://github.com/hexmode/xml-rpc-el")
13120 (synopsis "XML-RPC client for Emacs")
13121 (description "This package provides an XML-RPC client for Emacs capable
13122 of both synchronous and asynchronous method calls using the @code{url}
13123 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
13124 datatypes as Lisp values, automatically converting to and from the XML
13125 datastructures as needed, both for method parameters and return values, making
13126 using XML-RPC methods fairly transparent to the Lisp code.")
13127 (license license:gpl3+))))
13128
13129 (define-public emacs-xpm
13130 (package
13131 (name "emacs-xpm")
13132 (version "1.0.4")
13133 (source
13134 (origin
13135 (method url-fetch)
13136 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
13137 version ".tar"))
13138 (sha256
13139 (base32
13140 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
13141 (build-system emacs-build-system)
13142 (home-page "https://elpa.gnu.org/packages/xpm.html")
13143 (synopsis "XPM image editing mode for Emacs")
13144 (description "This Emacs package makes editing XPM images easy (and maybe
13145 fun). Editing is done directly on the (textual) image format, for maximal
13146 cohesion with the Emacs Way.")
13147 (license license:gpl3+)))
13148
13149 (define-public emacs-fish-completion
13150 (package
13151 (name "emacs-fish-completion")
13152 (version "1.1")
13153 (source
13154 (origin
13155 (method git-fetch)
13156 (uri (git-reference
13157 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
13158 (commit version)))
13159 (file-name (git-file-name name version))
13160 (sha256
13161 (base32
13162 "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021"))))
13163 (build-system emacs-build-system)
13164 (inputs `(("fish" ,fish)))
13165 (arguments
13166 `(#:phases
13167 (modify-phases %standard-phases
13168 (add-after 'unpack 'configure
13169 (lambda* (#:key inputs outputs #:allow-other-keys)
13170 (let ((fish (assoc-ref inputs "fish")))
13171 ;; Specify the absolute file names of the various
13172 ;; programs so that everything works out-of-the-box.
13173 (make-file-writable "fish-completion.el")
13174 (emacs-substitute-variables
13175 "fish-completion.el"
13176 ("fish-completion-command"
13177 (string-append fish "/bin/fish")))))))))
13178 (home-page
13179 "https://gitlab.com/Ambrevar/emacs-fish-completion")
13180 (synopsis "Fish completion for Emacs pcomplete")
13181 (description
13182 "This package provides completion for the Fish shell to pcomplete (used
13183 by shell and Eshell). You can set it up globally with:
13184
13185 @example
13186 (when (and (executable-find \"fish\")
13187 (require 'fish-completion nil t))
13188 (global-fish-completion-mode))
13189 @end example
13190
13191 Alternatively, you can call the @code{fish-completion-mode} manually or in
13192 shell/Eshell mode hook.
13193
13194 The package @code{emacs-bash-completion} is an optional dependency: if available,
13195 @code{fish-completion-complete} can be configured to fall back on bash to further
13196 try completing. See @code{fish-completion-fallback-on-bash-p}.")
13197 (license license:gpl3+)))
13198
13199 (define-public emacs-gif-screencast
13200 (let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
13201 (package
13202 (name "emacs-gif-screencast")
13203 (version (git-version "20180616" "1" commit))
13204 (source
13205 (origin
13206 (method url-fetch)
13207 (uri (string-append
13208 "https://gitlab.com/Ambrevar/emacs-gif-screencast/"
13209 "repository/archive.tar.gz?ref="
13210 commit))
13211 (sha256
13212 (base32
13213 "0lc457i78xjkn5idr2aaiadkh76zcsksj84z0qh80a9y775syrgh"))))
13214 (build-system emacs-build-system)
13215 (inputs
13216 `(("scrot" ,scrot)
13217 ("imagemagick" ,imagemagick)
13218 ("gifsicle" ,gifsicle)))
13219 (arguments
13220 `(#:phases
13221 (modify-phases %standard-phases
13222 (add-after 'unpack 'configure
13223 (lambda* (#:key inputs outputs #:allow-other-keys)
13224 (let ((scrot (assoc-ref inputs "scrot"))
13225 (imagemagick (assoc-ref inputs "imagemagick"))
13226 (gifsicle (assoc-ref inputs "gifsicle")))
13227 ;; Specify the absolute file names of the various
13228 ;; programs so that everything works out-of-the-box.
13229 (emacs-substitute-variables
13230 "gif-screencast.el"
13231 ("gif-screencast-program"
13232 (string-append scrot "/bin/scrot"))
13233 ("gif-screencast-convert-program"
13234 (string-append imagemagick "/bin/convert"))
13235 ("gif-screencast-cropping-program"
13236 (string-append imagemagick "/bin/mogrify"))
13237 ("gif-screencast-optimize-program"
13238 (string-append imagemagick "/bin/gifsicle")))))))))
13239 (home-page
13240 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
13241 (synopsis "One-frame-per-action GIF recording")
13242 (description
13243 "Call @code{gif-screencast} to start a recording.
13244 A screenshot is taken for every user action. Call
13245 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
13246 the GIF result.")
13247 (license license:gpl3+))))
13248
13249 (define-public emacs-google-translate
13250 (package
13251 (name "emacs-google-translate")
13252 (version "0.11.17")
13253 (source
13254 (origin
13255 (method git-fetch)
13256 (uri (git-reference
13257 (url "https://github.com/atykhonov/google-translate/")
13258 (commit (string-append "v" version))))
13259 (file-name (git-file-name name version))
13260 (sha256
13261 (base32
13262 "05ljjw7kbnszygw3w085kv57swfiiqxri2b5xvsf5dw3pc3g7j3c"))))
13263 (build-system emacs-build-system)
13264 (home-page "https://github.com/atykhonov/google-translate")
13265 (synopsis "Emacs interface to Google Translate")
13266 (description
13267 "This package provides an Emacs interface to the Google Translate
13268 on-line service.")
13269 (license license:gpl3+)))
13270
13271 (define-public emacs-helm-company
13272 (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
13273 (package
13274 (name "emacs-helm-company")
13275 (version (git-version "0.2.3" "1" commit))
13276 (source
13277 (origin
13278 (method git-fetch)
13279 (uri (git-reference
13280 (url "https://github.com/Sodel-the-Vociferous/helm-company")
13281 (commit commit)))
13282 (file-name (git-file-name name version))
13283 (sha256
13284 (base32
13285 "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
13286 (build-system emacs-build-system)
13287 (propagated-inputs
13288 `(("emacs-helm" ,emacs-helm)
13289 ("emacs-company" ,emacs-company)))
13290 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
13291 (synopsis "Helm interface for company-mode")
13292 (description
13293 "This is a Helm interface to company-mode, a text completion
13294 framework.")
13295 (license license:gpl3+))))
13296
13297 (define-public emacs-helm-descbinds
13298 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
13299 (package
13300 (name "emacs-helm-descbinds")
13301 (version (git-version "1.13" "1" commit))
13302 (source
13303 (origin
13304 (method git-fetch)
13305 (uri (git-reference
13306 (url "https://github.com/emacs-helm/helm-descbinds")
13307 (commit commit)))
13308 (file-name (git-file-name name version))
13309 (sha256
13310 (base32
13311 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
13312 (build-system emacs-build-system)
13313 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
13314 (home-page "https://github.com/emacs-helm/helm-descbinds")
13315 (synopsis "Convenient @code{describe-bindings} with Helm")
13316 (description
13317 "This package is a replacement of @code{describe-bindings} for Helm.
13318 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
13319 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
13320 @code{helm-descbinds}. The bindings are presented in a similar way as
13321 @code{describe-bindings} does, but you can use completion to find the command
13322 you searched for and execute it, or view its documentation.")
13323 (license license:gpl3+))))
13324
13325 (define-public emacs-helm-emms
13326 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
13327 (package
13328 (name "emacs-helm-emms")
13329 (version (git-version "1.3" "2" commit))
13330 (source
13331 (origin
13332 (method git-fetch)
13333 (uri (git-reference
13334 (url "https://github.com/emacs-helm/helm-emms")
13335 (commit commit)))
13336 (file-name (git-file-name name version))
13337 (sha256
13338 (base32
13339 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
13340 (build-system emacs-build-system)
13341 (propagated-inputs
13342 `(("emacs-helm" ,emacs-helm)
13343 ("emacs-emms" ,emacs-emms)))
13344 (home-page
13345 "https://github.com/emacs-helm/helm-emms")
13346 (synopsis "Emms for Helm")
13347 (description "Helm interface for Emms to browse all tracks and all folders
13348 from @code{emms-source-file-default-directory}.")
13349 (license license:gpl3+))))
13350
13351 (define-public emacs-helm-exwm
13352 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
13353 (package
13354 (name "emacs-helm-exwm")
13355 (version (git-version "20180703" "2" commit))
13356 (source
13357 (origin
13358 (method git-fetch)
13359 (uri (git-reference
13360 (url "https://github.com/emacs-helm/helm-exwm.git")
13361 (commit commit)))
13362 (sha256
13363 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
13364 (build-system emacs-build-system)
13365 (propagated-inputs
13366 `(("emacs-helm" ,emacs-helm)
13367 ("emacs-exwm" ,emacs-exwm)))
13368 (home-page
13369 "https://github.com/emacs-helm/helm-exwm")
13370 (synopsis "Helm for EXWM buffers")
13371 (description
13372 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
13373 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
13374 switch between the various windows of one or several specific applications.
13375 See @code{helm-exwm-switch-browser} for an example.")
13376 (license license:gpl3+))))
13377
13378 (define-public emacs-helm-flycheck
13379 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
13380 (package
13381 (name "emacs-helm-flycheck")
13382 (version (git-version "0.4" "1" commit))
13383 (source
13384 (origin
13385 (method git-fetch)
13386 (uri (git-reference
13387 (url "https://github.com/yasuyk/helm-flycheck")
13388 (commit commit)))
13389 (file-name (git-file-name name version))
13390 (sha256
13391 (base32
13392 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
13393 (build-system emacs-build-system)
13394 (propagated-inputs
13395 `(("emacs-dash" ,emacs-dash)
13396 ("emacs-flycheck" ,emacs-flycheck)
13397 ("emacs-helm" ,emacs-helm)))
13398 (home-page "https://github.com/yasuyk/helm-flycheck")
13399 (synopsis "Show Flycheck errors with Helm")
13400 (description
13401 "This integrates Flycheck with Helm.")
13402 (license license:gpl3+))))
13403
13404 (define-public emacs-helm-ls-git
13405 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
13406 (package
13407 (name "emacs-helm-ls-git")
13408 (version (git-version "1.9.1" "1" commit))
13409 (source
13410 (origin
13411 (method git-fetch)
13412 (uri (git-reference
13413 (url "https://github.com/emacs-helm/helm-ls-git")
13414 (commit commit)))
13415 (file-name (git-file-name name version))
13416 (sha256
13417 (base32
13418 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
13419 (build-system emacs-build-system)
13420 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
13421 (home-page "https://github.com/emacs-helm/helm-ls-git")
13422 (synopsis "Helm interface for listing the files in a Git repository")
13423 (description
13424 "This package provides a Helm interface for Git files.
13425 @itemize
13426 @item Display the open buffers in project.
13427 @item Display a status source showing state of project (modified files etc.).
13428 @item Display a list of all files in project under git control.
13429 @item Quickly look at diffs of modified files.
13430 @item Allow switching to @code{git status} with your preferred frontend
13431 (vc-dir, Magit,etc.).
13432 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
13433 can use ack-grep instead of grep).
13434 @item Integrate usage of gid from id-utils.
13435 @item Full integration with @code{helm-find-files}, allow you to browse
13436 projects unrelated to current-buffer.
13437 @item In addition, all actions of type files and buffers are provided.
13438 @end itemize\n")
13439 (license license:gpl3+))))
13440
13441 (define-public emacs-helm-mu
13442 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
13443 (package
13444 (name "emacs-helm-mu")
13445 (version (git-version "20180513" "1" commit))
13446 (source
13447 (origin
13448 (method git-fetch)
13449 (uri (git-reference
13450 (url "https://github.com/emacs-helm/helm-mu.git")
13451 (commit commit)))
13452 (sha256
13453 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
13454 (build-system emacs-build-system)
13455 (propagated-inputs
13456 `(("emacs-helm" ,emacs-helm)
13457 ("mu" ,mu)))
13458 (home-page
13459 "https://github.com/emacs-helm/helm-mu")
13460 (synopsis
13461 "Helm sources for searching emails and contacts")
13462 (description
13463 "Helm sources for searching emails and contacts using @code{mu} and
13464 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
13465 Emacs build on top of mu. Mu is highly efficient making it possible to get
13466 instant results even for huge maildirs. It also provides search operators,
13467 e.g: @code{from:Peter to:Anne flag:attach search term}.")
13468 (license license:gpl3+))))
13469
13470 (define-public emacs-helm-pass
13471 (package
13472 (name "emacs-helm-pass")
13473 (version "0.3")
13474 (source
13475 (origin
13476 (method git-fetch)
13477 (uri (git-reference
13478 (url "https://github.com/emacs-helm/helm-pass")
13479 (commit version)))
13480 (file-name (git-file-name name version))
13481 (sha256
13482 (base32
13483 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
13484 (build-system emacs-build-system)
13485 (propagated-inputs
13486 `(("emacs-helm" ,emacs-helm)
13487 ("emacs-password-store" ,emacs-password-store)))
13488 (home-page "https://github.com/emacs-helm/helm-pass")
13489 (synopsis "Helm interface to pass, the standard Unix password manager")
13490 (description
13491 "Users of @code{helm-pass} may also be interested in functionality
13492 provided by other Emacs packages dealing with pass:
13493 @itemize
13494 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
13495 @item @code{emacs-pass}, a major mode for @code{pass}.
13496 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
13497 @code{pass}, included in Emacs 26+).
13498 @end itemize\n")
13499 (license license:gpl3+)))
13500
13501 (define-public emacs-image+
13502 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
13503 (package
13504 (name "emacs-image+")
13505 (version (git-version "0.6.2" "1" commit))
13506 (source
13507 (origin
13508 (method git-fetch)
13509 (uri (git-reference
13510 (url "https://github.com/mhayashi1120/Emacs-imagex")
13511 (commit commit)))
13512 (file-name (git-file-name name version))
13513 (sha256
13514 (base32
13515 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
13516 (build-system emacs-build-system)
13517 (inputs `(("imagemagick" ,imagemagick)))
13518 (arguments
13519 `(#:phases
13520 (modify-phases %standard-phases
13521 (add-after 'unpack 'configure
13522 (lambda* (#:key inputs outputs #:allow-other-keys)
13523 (let ((imagemagick (assoc-ref inputs "imagemagick")))
13524 ;; Specify the absolute file names of the various
13525 ;; programs so that everything works out-of-the-box.
13526 (chmod "image+.el" #o666)
13527 (emacs-substitute-variables
13528 "image+.el"
13529 ("imagex-convert-command"
13530 (string-append imagemagick "/bin/convert"))
13531 ("imagex-identify-command"
13532 (string-append imagemagick "/bin/identify")))))))))
13533 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
13534 (synopsis "Image manipulation extensions for Emacs")
13535 (description
13536 "Image+ provides keybindings allowing you to zoom in or zoom out of an
13537 image, rotate it, save modified images, and more.")
13538 (license license:gpl3+))))
13539
13540 (define-public emacs-package-lint
13541 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
13542 (package
13543 (name "emacs-package-lint")
13544 (version (git-version "0.5" "1" commit))
13545 (source
13546 (origin
13547 (method git-fetch)
13548 (uri (git-reference
13549 (url "https://github.com/purcell/package-lint")
13550 (commit commit)))
13551 (file-name (git-file-name name version))
13552 (sha256
13553 (base32
13554 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
13555 (build-system emacs-build-system)
13556 (home-page "https://github.com/purcell/package-lint")
13557 (synopsis "Linting library for elisp package authors")
13558 (description
13559 "This provides a list of issues with the Emacs package metadata of a file,
13560 e.g. the package dependencies it requires. See function
13561 @code{package-lint-buffer}. Checks will currently be enabled only if a
13562 \"Package-Requires:\" or \"Package-Version:\" header is present in the
13563 file.")
13564 (license license:gpl3+))))
13565
13566 (define-public emacs-picpocket
13567 (let ((version "40")
13568 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
13569 (package
13570 (name "emacs-picpocket")
13571 (version version)
13572 (source
13573 (origin
13574 (method git-fetch)
13575 (uri (git-reference
13576 (url "https://github.com/johanclaesson/picpocket")
13577 (commit commit)))
13578 (file-name (git-file-name name version))
13579 (sha256
13580 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
13581 (build-system emacs-build-system)
13582 (arguments ; needed for running tests
13583 `(#:tests? #t
13584 #:emacs ,emacs
13585 #:test-command '("emacs" "--batch"
13586 "-l" "picpocket-test.el"
13587 "-f" "ert-run-tests-batch-and-exit")))
13588 (home-page "https://github.com/johanclaesson/picpocket")
13589 (synopsis "Image viewer for Emacs")
13590 (description
13591 "Picpocket is an image viewer for GNU Emacs. It has commands for:
13592
13593 @itemize
13594 @item File operations on the picture files (delete, move, copy, hardlink).
13595 @item Scale and rotate the picture.
13596 @item Associate pictures with tags which are saved to disk.
13597 @item Filter pictures according to tags.
13598 @item Customizing keystrokes for quick tagging and file operations.
13599 @item Undo and browse history of undoable commands.
13600 @end itemize")
13601 (license license:gpl3+))))
13602
13603 (define-public emacs-wgrep-helm
13604 ;; `emacs-wgrep-helm' was mistakenly added.
13605 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
13606
13607 (define-public emacs-mu4e-conversation
13608 (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
13609 (package
13610 (name "emacs-mu4e-conversation")
13611 (version (git-version "20181126" "4" commit))
13612 (source
13613 (origin
13614 (method url-fetch)
13615 (uri (string-append
13616 "https://gitlab.com/Ambrevar/mu4e-conversation/"
13617 "repository/archive.tar.gz?ref="
13618 commit))
13619 (file-name (git-file-name name version))
13620 (sha256
13621 (base32
13622 "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
13623 (build-system emacs-build-system)
13624 (propagated-inputs
13625 `(("mu" ,mu)))
13626 (home-page
13627 "https://gitlab.com/Ambrevar/mu4e-conversation")
13628 (synopsis
13629 "Show a complete thread in a single buffer")
13630 (description
13631 "This package offers an alternate view to mu4e's e-mail display. It
13632 shows all e-mails of a thread in a single view, where each correspondent has
13633 their own face. Threads can be displayed linearly (in which case e-mails are
13634 displayed in chronological order) or as an Org document where the node tree
13635 maps the thread tree.")
13636 (license license:gpl3+))))
13637
13638 (define-public emacs-pinentry
13639 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
13640 (revision "1"))
13641 (package
13642 (name "emacs-pinentry")
13643 (version (git-version "0.1" revision commit))
13644 (source
13645 (origin
13646 (method url-fetch)
13647 (uri (string-append
13648 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
13649 "/packages/pinentry/pinentry.el?id=" commit))
13650 (file-name (string-append "pinentry.el"))
13651 (sha256
13652 (base32
13653 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
13654 (build-system emacs-build-system)
13655 (propagated-inputs
13656 `(("gnupg" ,gnupg)))
13657 (home-page "https://elpa.gnu.org/packages/pinentry.html")
13658 (synopsis "GnuPG Pinentry server implementation")
13659 (description
13660 "This package allows GnuPG passphrase to be prompted through the
13661 minibuffer instead of graphical dialog.
13662
13663 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
13664 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
13665 server with @code{M-x pinentry-start}.")
13666 (license license:gpl3+))))
13667
13668 (define-public emacs-org-brain
13669 (package
13670 (name "emacs-org-brain")
13671 (version "0.5")
13672 (source
13673 (origin
13674 (method git-fetch)
13675 (uri (git-reference
13676 (url "https://github.com/Kungsgeten/org-brain.git")
13677 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
13678 (file-name (git-file-name name version))
13679 (sha256
13680 (base32
13681 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
13682 (build-system emacs-build-system)
13683 (home-page "https://github.com/Kungsgeten/org-brain")
13684 (synopsis "Org-mode wiki and concept-mapping for Emacs")
13685 (description "@code{emacs-org-brain} implements a variant of concept
13686 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
13687 org-mode entries, where each entry is a file or a headline, and you can get a
13688 visual overview of the relationships between the entries: parents, children,
13689 siblings and friends. This visual overview can also be used to browse your
13690 entries. You can think of entries as nodes in a mind map, or pages in a
13691 wiki.")
13692 (license license:expat)))
13693
13694 (define-public emacs-recent-addresses
13695 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
13696 (revision "1"))
13697 (package
13698 (name "emacs-recent-addresses")
13699 (home-page "http://nschum.de/src/emacs/recent-addresses/")
13700 (version (git-version "0.1" revision commit))
13701 (source (origin
13702 (method git-fetch)
13703 (uri (git-reference
13704 ;; Note: Use a branch that works with Helm. Submitted
13705 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
13706 (url "https://github.com/civodul/recent-addresses.el")
13707 (commit commit)))
13708 (sha256
13709 (base32
13710 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
13711 (file-name (git-file-name name version))))
13712 (build-system emacs-build-system)
13713 (synopsis "Record recently-used email addressed and auto-complete them")
13714 (description
13715 "@code{recent-addresses} is an Emacs package that allows you to quickly
13716 look up previously used email addresses. It can be used alongside the Gnus
13717 email client.")
13718 (license license:gpl2+))))
13719
13720 (define-public emacs-fold-dwim
13721 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
13722 (revision "0"))
13723 (package
13724 (name "emacs-fold-dwim")
13725 (version (git-version "1.2" revision commit))
13726 (home-page "https://github.com/emacsattic/fold-dwim")
13727 (source (origin
13728 (method git-fetch)
13729 (uri (git-reference (url home-page) (commit commit)))
13730 (sha256
13731 (base32
13732 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
13733 (file-name (git-file-name name version))))
13734 (build-system emacs-build-system)
13735 (synopsis "Unified user interface for Emacs folding modes")
13736 (description
13737 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
13738 can do different things depending on the context. In this package, it means
13739 that, if the cursor is in a currently hidden folded construction, we want to
13740 show it; if it's not, we want to hide whatever fold the cursor is in.")
13741 (license license:gpl2+))))
13742
13743 (define-public emacs-markup-faces
13744 (package
13745 (name "emacs-markup-faces")
13746 (version "1.0.0")
13747 (source
13748 (origin
13749 (method url-fetch)
13750 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
13751 version ".el"))
13752 (sha256
13753 (base32
13754 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
13755 (build-system emacs-build-system)
13756 (home-page "https://github.com/sensorflo/markup-faces")
13757 (synopsis "Collection of Emacs faces for markup language modes")
13758 (description "emacs-markup-faces is like font-lock-faces, but tailored for
13759 markup languages instead programming languages. The sub group markup-faces-text
13760 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
13761 common look and feel, or let's say theme, across different markup language modes
13762 and 'text viewing modes' respectively.")
13763 (license license:gpl3+)))
13764
13765 (define-public emacs-adoc-mode
13766 (package
13767 (name "emacs-adoc-mode")
13768 (version "0.6.6")
13769 (source
13770 (origin
13771 (method url-fetch)
13772 (uri (string-append "https://stable.melpa.org/packages/adoc-mode-"
13773 version ".el"))
13774 (sha256
13775 (base32
13776 "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy"))))
13777 (build-system emacs-build-system)
13778 (propagated-inputs
13779 `(("emacs-markup-faces" ,emacs-markup-faces)))
13780 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
13781 (synopsis "AsciiDoc mode for Emacs")
13782 (description "This package provides an Emacs major mode for editing AsciiDoc
13783 files. It focuses on highlighting the document to improve readability.")
13784 (license license:gpl2+)))
13785
13786 (define-public emacs-rust-mode
13787 (let ((commit
13788 ;; Last release is old (2016), use more recent commit to get bug
13789 ;; fixes.
13790 "64b4a2450e4d4c47f6307851c9b2598cd2254d68")
13791 (revision "0"))
13792 (package
13793 (name "emacs-rust-mode")
13794 (version (git-version "0.3.0" revision commit))
13795 (source (origin
13796 (method git-fetch)
13797 (uri
13798 (git-reference
13799 (url "https://github.com/rust-lang/rust-mode")
13800 (commit commit)))
13801 (file-name (git-file-name name version))
13802 (sha256
13803 (base32
13804 "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8"))))
13805 (build-system emacs-build-system)
13806 (arguments
13807 `(#:phases
13808 (modify-phases %standard-phases
13809 (replace 'check
13810 (lambda _
13811 (invoke "sh" "run_rust_emacs_tests.sh"))))))
13812 (home-page "https://github.com/rust-lang/rust-mode")
13813 (synopsis "Major Emacs mode for editing Rust source code")
13814 (description "This package provides a major Emacs mode for editing Rust
13815 source code.")
13816 (license (list license:expat
13817 license:asl2.0)))))
13818
13819 (define-public emacs-ztree
13820 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
13821 (package
13822 (name "emacs-ztree")
13823 (version (git-version "1.0.5" "1" commit))
13824 (source
13825 (origin
13826 (method git-fetch)
13827 (uri (git-reference
13828 (url "https://github.com/fourier/ztree")
13829 (commit commit)))
13830 (file-name (git-file-name name version))
13831 (sha256
13832 (base32
13833 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
13834 (build-system emacs-build-system)
13835 (home-page "https://github.com/fourier/ztree")
13836 (synopsis "Directory tree comparison mode for Emacs")
13837 (description "Ztree is a project dedicated to implementation of several
13838 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
13839 @command{ztree-diff} and @command{ztree-dir} (the basis of
13840 @command{ztree-diff}).")
13841 (license license:gpl3))))
13842
13843 (define-public emacs-helm-org-contacts
13844 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
13845 (package
13846 (name "emacs-helm-org-contacts")
13847 (version (git-version "20180707" "1" commit))
13848 (source
13849 (origin
13850 (method git-fetch)
13851 (uri (git-reference
13852 (url "https://github.com/tmalsburg/helm-org-contacts")
13853 (commit commit)))
13854 (file-name (git-file-name name version))
13855 (sha256
13856 (base32
13857 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
13858 (build-system emacs-build-system)
13859 (propagated-inputs
13860 `(("emacs-dash" ,emacs-dash)
13861 ("emacs-helm" ,emacs-helm)
13862 ("emacs-s" ,emacs-s)))
13863 (home-page "https://github.com/tmalsburg/helm-org-contacts")
13864 (synopsis "Helm source for org-contacts")
13865 (description "This Helm source can be used to search contacts stored in
13866 org-contacts format. There are actions for inserting postal addresses, email
13867 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
13868 was called.")
13869 (license license:gpl3))))
13870
13871 (define-public emacs-dired-du
13872 (package
13873 (name "emacs-dired-du")
13874 (version "0.5.1")
13875 (source
13876 (origin
13877 (method url-fetch)
13878 (uri (string-append
13879 "https://elpa.gnu.org/packages/dired-du-"
13880 version ".tar"))
13881 (sha256
13882 (base32
13883 "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
13884 (build-system emacs-build-system)
13885 (home-page "http://elpa.gnu.org/packages/dired-du.html")
13886 (synopsis "Dired with recursive directory sizes")
13887 (description
13888 "Display the recursive size of directories in Dired.
13889 This file defines a minor mode @command{dired-du-mode} to show the recursive
13890 size of directories in Dired buffers. If @command{du} program is available,
13891 then the directory sizes are obtained with it. Otherwise, the directory sizes
13892 are obtained with Lisp. The former is faster and provide a more precise
13893 value. For directories where the user doesn't have read permission, the
13894 recursive size is not obtained. Once this mode is enabled, every new Dired
13895 buffer displays recursive dir sizes.")
13896 (license license:gpl3+)))
13897
13898 (define-public emacs-dired-rsync
13899 (package
13900 (name "emacs-dired-rsync")
13901 (version "0.4")
13902 (source (origin
13903 (method git-fetch)
13904 (uri (git-reference
13905 (url "https://github.com/stsquad/dired-rsync.git")
13906 (commit version)))
13907 (file-name (git-file-name name version))
13908 (sha256
13909 (base32
13910 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
13911 (build-system emacs-build-system)
13912 (propagated-inputs
13913 `(("emacs-s" ,emacs-s)
13914 ("emacs-dash" ,emacs-dash)))
13915 (home-page "https://github.com/stsquad/dired-rsync/")
13916 (synopsis "Support for rsync from Emacs dired buffers")
13917 (description "This package adds a single command @code{dired-rsync} which
13918 allows the user to copy marked files in a dired buffer via @code{rsync}. This
13919 is useful, especially for large files, because the copy happens in the
13920 background and doesn’t lock up Emacs. It is also more efficient than using
13921 tramps own encoding methods for moving data between systems.")
13922 (license license:gpl3+)))
13923
13924 (define-public emacs-pcre2el
13925 ;; Last release is very old so we get the latest commit.
13926 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
13927 (package
13928 (name "emacs-pcre2el")
13929 (version (git-version "1.8" "1" commit))
13930 (source
13931 (origin
13932 (method git-fetch)
13933 (uri (git-reference
13934 (url "https://github.com/joddie/pcre2el")
13935 (commit commit)))
13936 (file-name (git-file-name name version))
13937 (sha256
13938 (base32
13939 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
13940 (build-system emacs-build-system)
13941 (home-page "https://github.com/joddie/pcre2el")
13942 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
13943 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
13944 Tools) is a utility for working with regular expressions in Emacs, based on a
13945 recursive-descent parser for regexp syntax. In addition to converting (a
13946 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
13947
13948 @itemize
13949 @item convert Emacs syntax to PCRE
13950 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
13951 @item untangle complex regexps by showing the parse tree in @code{rx} form and
13952 highlighting the corresponding chunks of code
13953 @item show the complete list of strings (productions) matching a regexp,
13954 provided the list is finite
13955 @item provide live font-locking of regexp syntax (so far only for Elisp
13956 buffers – other modes on the TODO list).
13957 @end itemize\n")
13958 (license license:gpl3))))
13959
13960 (define-public emacs-magit-todos
13961 (package
13962 (name "emacs-magit-todos")
13963 (version "1.2")
13964 (source
13965 (origin
13966 (method git-fetch)
13967 (uri (git-reference
13968 (url "https://github.com/alphapapa/magit-todos")
13969 (commit version)))
13970 (file-name (git-file-name name version))
13971 (sha256
13972 (base32
13973 "17a18gszbypz82bj36xbfyykc4s9rz83vwmpxvlf65svhd51c0nh"))))
13974 (build-system emacs-build-system)
13975 (propagated-inputs
13976 `(("emacs-async" ,emacs-async)
13977 ("emacs-dash" ,emacs-dash)
13978 ("emacs-f" ,emacs-f)
13979 ("emacs-hl-todo" ,emacs-hl-todo)
13980 ("magit" ,emacs-magit)
13981 ("emacs-pcre2el" ,emacs-pcre2el)
13982 ("emacs-s" ,emacs-s)))
13983 (home-page "https://github.com/alphapapa/magit-todos")
13984 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
13985 (description "This package displays keyword entries from source code
13986 comments and Org files in the Magit status buffer. Activating an item jumps
13987 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
13988 few (like NOTE).")
13989 (license license:gpl3)))
13990
13991 (define-public emacs-git-annex
13992 ;; Unreleased version has a fontification fix.
13993 (let ((commit "ebdb44aef1883f1b2b8058e05d30fb9315b03707")
13994 (revision "1"))
13995 (package
13996 (name "emacs-git-annex")
13997 (version (string-append "1.1-" revision "." (string-take commit 8)))
13998 (source
13999 (origin
14000 (method git-fetch)
14001 (uri (git-reference
14002 (url "https://github.com/jwiegley/git-annex-el")
14003 (commit commit)))
14004 (file-name (git-file-name name version))
14005 (sha256
14006 (base32
14007 "1mzv40gj7k10h7h5s43my8msgzjpj680qprqa9pp8nbyhl49v3wh"))))
14008 (build-system emacs-build-system)
14009 (home-page "https://github.com/jwiegley/git-annex-el")
14010 (synopsis "Emacs integration for git-annex")
14011 (description "Enhances Dired and buffers visiting annex files with
14012 git-annex functionality. In Dired, the names of annex files are shortened by
14013 hiding the symbolic links and fontified based on whether content is present.
14014 Commands for performing some common operations (e.g., unlocking and adding
14015 files) are provided.")
14016 (license license:gpl2+))))
14017
14018 (define-public emacs-hackernews
14019 (let ((commit "916c3da8da45c757f5ec2faeed57fa370513d4ac"))
14020 (package
14021 (name "emacs-hackernews")
14022 (version (git-version "0.5.0" "1" commit))
14023 (source
14024 (origin
14025 (method git-fetch)
14026 (uri (git-reference
14027 (url "https://github.com/clarete/hackernews.el")
14028 (commit commit)))
14029 (file-name (git-file-name name version))
14030 (sha256
14031 (base32
14032 "09bxaaczana1cfvxyk9aagjvdszkj0j1yldl5r4xa60b59lxihsg"))))
14033 (build-system emacs-build-system)
14034 (home-page "https://github.com/clarete/hackernews.el")
14035 (synopsis "Hacker News client for Emacs")
14036 (description "The @command{hackernews} package is able to fetch stories
14037 from six different Hacker News feeds, namely top, new, best, ask, show and job
14038 stories. The default feed is top stories, which corresponds to the Hacker
14039 News homepage.")
14040 (license license:gpl3))))
14041
14042 (define-public emacs-youtube-dl
14043 (let ((commit "7c9d7a7d05b72a7d1b1257a36c5e2b2567b185dd"))
14044 (package
14045 (name "emacs-youtube-dl")
14046 (version (git-version "1.0" "1" commit))
14047 (source
14048 (origin
14049 (method git-fetch)
14050 (uri (git-reference
14051 (url "https://github.com/skeeto/youtube-dl-emacs/")
14052 (commit commit)))
14053 (file-name (git-file-name name version))
14054 (sha256
14055 (base32
14056 "0mh4s089a4x8s380agzb2306kdp1hl204px1n5rrrrdcls7imnh6"))))
14057 (build-system emacs-build-system)
14058 (inputs
14059 `(("youtube-dl" ,youtube-dl)))
14060 (arguments
14061 `(#:phases
14062 (modify-phases %standard-phases
14063 (add-after 'unpack 'configure
14064 (lambda* (#:key inputs #:allow-other-keys)
14065 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
14066 ;; .el is read-only in git.
14067 (chmod "youtube-dl.el" #o644)
14068 ;; Specify the absolute file names of the various
14069 ;; programs so that everything works out-of-the-box.
14070 (emacs-substitute-variables
14071 "youtube-dl.el"
14072 ("youtube-dl-program"
14073 (string-append youtube-dl "/bin/youtube-dl")))))))))
14074 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
14075 (synopsis "Emacs youtube-dl download manager")
14076 (description "This package manages a video download queue for
14077 @command{youtube-dl}, which serves as the back end. It manages a single
14078 @command{youtube-dl} subprocess, downloading one video at a time. New videos
14079 can be queued at any time.")
14080 (license license:unlicense))))
14081
14082 (define-public emacs-org-web-tools
14083 (package
14084 (name "emacs-org-web-tools")
14085 (version "1.0")
14086 (source
14087 (origin
14088 (method git-fetch)
14089 (uri (git-reference
14090 (url "https://github.com/alphapapa/org-web-tools")
14091 (commit version)))
14092 (file-name (git-file-name name version))
14093 (sha256
14094 (base32
14095 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
14096 (build-system emacs-build-system)
14097 (propagated-inputs
14098 `(("emacs-dash" ,emacs-dash)
14099 ("emacs-esxml" ,emacs-esxml)
14100 ("emacs-s" ,emacs-s)))
14101 (inputs
14102 `(("pandoc" ,ghc-pandoc)))
14103 (arguments
14104 `(#:phases
14105 (modify-phases %standard-phases
14106 (add-after 'unpack 'patch-exec-paths
14107 (lambda* (#:key inputs #:allow-other-keys)
14108 (let ((pandoc (assoc-ref inputs "pandoc")))
14109 (substitute* "org-web-tools.el"
14110 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
14111 #t))))))
14112 (home-page "https://github.com/alphapapa/org-web-tools")
14113 (synopsis "Display/Process web page as Org-mode content")
14114 (description "This package contains library functions and commands useful
14115 for retrieving web page content and processing it into Org-mode content.
14116
14117 For example, you can copy a URL to the clipboard or kill-ring, then run a
14118 command that downloads the page, isolates the “readable” content with
14119 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
14120 displays it in an Org-mode buffer. Another command does all of that but
14121 inserts it as an Org entry instead of displaying it in a new buffer.")
14122 (license license:gpl3+)))
14123
14124 (define-public emacs-blimp
14125 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
14126 (package
14127 (name "emacs-blimp")
14128 (version (git-version "0.0.0" "1" commit))
14129 (source
14130 (origin
14131 (method git-fetch)
14132 (uri (git-reference
14133 (url "https://github.com/walseb/blimp")
14134 (commit commit)))
14135 (file-name (git-file-name name version))
14136 (sha256
14137 (base32
14138 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
14139 (build-system emacs-build-system)
14140 (propagated-inputs
14141 `(("emacs-eimp" ,emacs-eimp)))
14142 (home-page "https://github.com/walseb/blimp")
14143 (synopsis "Emacs wrapper around all Imagemagick commands")
14144 (description "Blimp (Bustling Image Manipulation Package) is a complete
14145 wrapper around all Imagemagick commands with descriptions, autocompletion (for
14146 some commands) and hints displayed in prompt using @command{eimp.el} to
14147 execute its commands and resize images.")
14148 (license license:gpl3+))))
14149
14150 (define-public emacs-synosaurus
14151 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
14152 (package
14153 (name "emacs-synosaurus")
14154 (version (git-version "0.1.0" "1" commit))
14155 (source
14156 (origin
14157 (method git-fetch)
14158 (uri (git-reference
14159 (url "https://github.com/hpdeifel/synosaurus")
14160 (commit commit)))
14161 (file-name (git-file-name name version))
14162 (sha256
14163 (base32
14164 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
14165 (build-system emacs-build-system)
14166 (propagated-inputs
14167 `(("wordnet" ,wordnet)))
14168 (arguments
14169 `(#:phases
14170 (modify-phases %standard-phases
14171 (add-after 'unpack 'configure
14172 (lambda* (#:key inputs outputs #:allow-other-keys)
14173 (let ((wn (assoc-ref inputs "wordnet")))
14174 ;; .el is read-only in git.
14175 (chmod "synosaurus-wordnet.el" #o644)
14176 ;; Specify the absolute file names of the various
14177 ;; programs so that everything works out-of-the-box.
14178 (emacs-substitute-variables
14179 "synosaurus-wordnet.el"
14180 ("wordnet-command"
14181 (string-append wn "/bin/wn")))))))))
14182 (home-page "https://github.com/hpdeifel/synosaurus")
14183 (synopsis "Extensible thesaurus mode for Emacs")
14184 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
14185 backends, including the @command{wordnet} offline backend.")
14186 (license license:gpl3+))))
14187
14188 (define-public emacs-editorconfig
14189 (package
14190 (name "emacs-editorconfig")
14191 (version "0.8.0")
14192 (source
14193 (origin
14194 (method git-fetch)
14195 (uri (git-reference
14196 (url "https://github.com/editorconfig/editorconfig-emacs")
14197 (commit (string-append "v" version))))
14198 (file-name (git-file-name name version))
14199 (sha256
14200 (base32
14201 "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
14202 (build-system emacs-build-system)
14203 (home-page "https://github.com/editorconfig/editorconfig-emacs")
14204 (synopsis "Define and maintain consistent coding styles between different
14205 editors and IDEs")
14206 (description "The EditorConfig project consists of a file format for
14207 defining coding styles and a collection of text editor plugins that enable
14208 editors to read the file format and adhere to defined styles. EditorConfig
14209 files are easily readable and they work nicely with version control systems.")
14210 (license license:gpl3+)))
14211
14212 (define-public emacs-all-the-icons
14213 (package
14214 (name "emacs-all-the-icons")
14215 (version "3.2.0")
14216 (source
14217 (origin
14218 (method git-fetch)
14219 (uri (git-reference
14220 (url "https://github.com/domtronn/all-the-icons.el.git")
14221 (commit version)))
14222 (file-name (git-file-name name version))
14223 (sha256
14224 (base32
14225 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
14226 (build-system emacs-build-system)
14227 (arguments
14228 `(#:include '("\\.el$" "^data/" "^fonts/")
14229 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
14230 ;; all-the-icons--root-code". Ignoring tests.
14231 #:exclude '("^test/")
14232 #:tests? #f))
14233 (propagated-inputs
14234 `(("f" ,emacs-f)
14235 ("memoize" ,emacs-memoize)))
14236 (home-page "https://github.com/domtronn/all-the-icons.el")
14237 (synopsis "Collect icon fonts and propertize them within Emacs")
14238 (description "All-the-icons is a utility package to collect various icon
14239 fonts and propertize them within Emacs. Icon fonts allow you to propertize
14240 and format icons the same way you would normal text. This enables things such
14241 as better scaling of and anti aliasing of the icons.")
14242 ;; Package is released under Expat license. Elisp files are licensed
14243 ;; under GPL3+. Fonts come with various licenses: Expat for
14244 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
14245 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
14246 ;; "ocitcons.ttf" and "weathericons.ttf".
14247 (license
14248 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
14249
14250 (define-public emacs-powerline
14251 (package
14252 (name "emacs-powerline")
14253 (version "2.4")
14254 (source
14255 (origin
14256 (method git-fetch)
14257 (uri (git-reference
14258 (url "https://github.com/milkypostman/powerline.git")
14259 (commit version)))
14260 (file-name (git-file-name name version))
14261 (sha256
14262 (base32
14263 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
14264 (build-system emacs-build-system)
14265 (home-page "https://github.com/milkypostman/powerline/")
14266 (synopsis "Mode-line plugin for Emacs")
14267 (description "Powerline is a utility plugin which allows you to create
14268 a better-looking, more functional Emacs mode-line. A collection of predefined
14269 themes comes with the package.")
14270 (license license:gpl3+)))
14271
14272 (define-public emacs-spaceline
14273 (package
14274 (name "emacs-spaceline")
14275 (version "2.0.1")
14276 (source
14277 (origin
14278 (method git-fetch)
14279 (uri (git-reference
14280 (url "https://github.com/TheBB/spaceline.git")
14281 (commit (string-append "v" version))))
14282 (file-name (git-file-name name version))
14283 (sha256
14284 (base32
14285 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
14286 (build-system emacs-build-system)
14287 (propagated-inputs
14288 `(("dash" ,emacs-dash)
14289 ("powerline" ,emacs-powerline)
14290 ("s" ,emacs-s)))
14291 (home-page "https://github.com/TheBB/spaceline")
14292 (synopsis "Powerline theme from Spacemacs")
14293 (description "Spaceline provides Spacemacs' mode-line theme.
14294 This package provides features for three kinds of users.
14295
14296 @itemize
14297 @item You just want to use the Spacemacs mode-line theme and forget about it.
14298 @item You want to use something similar to the Spacemacs mode-line theme, but
14299 with a handful of easy tweaks.
14300 @item You want an easy-to-use library for building your own mode-line from
14301 scratch, and you think the Spacemacs theme looks good.
14302 @end itemize")
14303 (license license:gpl3+)))
14304
14305 (define-public emacs-column-marker
14306 (package
14307 (name "emacs-column-marker")
14308 (version "9")
14309 (source
14310 (origin
14311 (method url-fetch)
14312 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
14313 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
14314 (build-system emacs-build-system)
14315 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
14316 (synopsis "Emacs mode for highlighting columns")
14317 (description
14318 "With @code{column-marker.el} you can highlight any number of text columns.
14319 Three such highlight column markers are provided by default. This is
14320 especially useful for languages like COBOL or Fortran where certain columns
14321 have special meaning. It is also handy for aligning text across long vertical
14322 distances. Multi-column characters, such as @kbd{TAB} are treated
14323 correctly.")
14324 (license license:gpl2+)))
14325
14326 (define-public emacs-slime-repl-ansi-color
14327 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
14328 (package
14329 (name "emacs-slime-repl-ansi-color")
14330 (version (git-version "0.0.0" "1" commit))
14331 (source (origin
14332 (method git-fetch)
14333 (uri (git-reference
14334 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
14335 (commit commit)))
14336 (file-name (git-file-name name version))
14337 (sha256
14338 (base32
14339 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
14340 (build-system emacs-build-system)
14341 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
14342 (synopsis "Color ANSI codes in the REPL of SLIME")
14343 (description "Color ANSI codes in the REPL of SLIME")
14344 (license license:gpl2+))))
14345
14346 (define-public emacs-helm-slime
14347 (package
14348 (name "emacs-helm-slime")
14349 (version "0.3.0")
14350 (source (origin
14351 (method git-fetch)
14352 (uri (git-reference
14353 (url "https://github.com/emacs-helm/helm-slime")
14354 (commit version)))
14355 (file-name (git-file-name name version))
14356 (sha256
14357 (base32
14358 "1qhb9446rpj17pm0hi3miy5gs5k3ld43bq29kzy0y26bf7ivfcjv"))))
14359 (build-system emacs-build-system)
14360 (propagated-inputs
14361 `(("emacs-helm" ,emacs-helm)
14362 ("emacs-slime" ,emacs-slime)))
14363 (home-page "https://github.com/emacs-helm/helm-slime")
14364 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
14365 (description "Helm-SLIME defines a few new commands:
14366
14367 @itemize
14368 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
14369 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
14370 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
14371 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
14372 @end itemize\n")
14373 (license license:gpl3+)))
14374
14375 (define-public emacs-gtk-look
14376 (package
14377 (name "emacs-gtk-look")
14378 (version "29")
14379 (source (origin
14380 (method url-fetch)
14381 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
14382 (sha256
14383 (base32
14384 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
14385 (build-system emacs-build-system)
14386 (arguments
14387 `(#:phases
14388 (modify-phases %standard-phases
14389 (add-after 'unpack 'configure
14390 (lambda _
14391 ;; File is read-only.
14392 (chmod "gtk-look.el" #o644)
14393 (emacs-substitute-variables "gtk-look.el"
14394 ("gtk-lookup-devhelp-indices"
14395 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
14396 #t)))))
14397 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
14398 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
14399 (description "@command{gtk-look} finds and displays HTML documentation for
14400 GTK, GNOME and Glib functions and variables in Emacs, similar to what
14401 info-lookup-symbol does for info files (C-h S). The documentation is expected
14402 to be devhelp indexes with HTML files. The location of the indexes can be
14403 customized. In addition to C code development @command{gtk-look} is good for
14404
14405 @itemize
14406 @item @command{perl-gtk2}, recognising class funcs like
14407 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
14408 @item @command{guile-gnome}, recognising methods like @command{set-text} and
14409 classes like @command{<gtk-window>}.
14410 @end itemize\n")
14411 (license license:gpl3+)))
14412
14413 (define-public emacs-ov
14414 (package
14415 (name "emacs-ov")
14416 (version "1.0.6")
14417 (source (origin
14418 (method git-fetch)
14419 (uri (git-reference
14420 (url "https://github.com/ShingoFukuyama/ov.el.git")
14421 (commit version)))
14422 (file-name (git-file-name name version))
14423 (sha256
14424 (base32
14425 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
14426 (build-system emacs-build-system)
14427 (home-page "https://github.com/ShingoFukuyama/ov.el")
14428 (synopsis "Overlay library for Emacs Lisp")
14429 (description "@code{ov.el} provides a simple way to manipulate overlays in
14430 Emacs.")
14431 (license license:gpl3+)))
14432
14433 (define-public emacs-matrix-client
14434 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
14435 (package
14436 (name "emacs-matrix-client")
14437 (version (git-version "0.0.0" "4" commit))
14438 (source (origin
14439 (method git-fetch)
14440 (uri (git-reference
14441 (url "https://github.com/jgkamat/matrix-client-el.git")
14442 (commit commit)))
14443 (file-name (git-file-name name version))
14444 (sha256
14445 (base32
14446 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
14447 (build-system emacs-build-system)
14448 (arguments
14449 `(#:phases
14450 (modify-phases %standard-phases
14451 (add-after 'unpack 'add-missing-require
14452 ;; Fix a filter error at runtime due to a missing require.
14453 ;; Reported upstream:
14454 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
14455 (lambda _
14456 (substitute* "matrix-client-room.el"
14457 (("\\(require 'dash-functional\\)" all)
14458 (string-append all "\n" "(require 'anaphora)")))
14459 #t)))))
14460 (propagated-inputs
14461 `(("a" ,emacs-a)
14462 ("anaphora" ,emacs-anaphora)
14463 ("dash" ,emacs-dash)
14464 ("esxml" ,emacs-esxml)
14465 ("f" ,emacs-f)
14466 ("frame-purpose" ,emacs-frame-purpose)
14467 ("ht" ,emacs-ht)
14468 ("ov" ,emacs-ov)
14469 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
14470 ("request" ,emacs-request)
14471 ("s" ,emacs-s)
14472 ("tracking" ,emacs-tracking)))
14473 (home-page "https://github.com/jgkamat/matrix-client-el")
14474 (synopsis "Matrix client for Emacs")
14475 (description "@code{matrix-client} is a simple chat UI to Matrix.org
14476 rooms. It also provides an API which allows Emacs to seamlessly create
14477 RPC channels with users and other software.")
14478 (license license:gpl3+))))
14479
14480 (define-public emacs-sesman
14481 (package
14482 (name "emacs-sesman")
14483 (version "0.3.3")
14484 (source
14485 (origin
14486 (method git-fetch)
14487 (uri (git-reference
14488 (url "https://github.com/vspinu/sesman.git")
14489 (commit (string-append "v" version))))
14490 (file-name (git-file-name name version))
14491 (sha256
14492 (base32
14493 "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
14494 (build-system emacs-build-system)
14495 (arguments
14496 `(#:tests? #t
14497 #:test-command '("make" "test")))
14498 (home-page "https://github.com/vspinu/sesman")
14499 (synopsis "Session manager for Emacs based IDEs")
14500 (description "Sesman provides facilities for session management and
14501 interactive session association with the current contexts (project, directory,
14502 buffers). While sesman can be used to manage arbitrary sessions, it primary
14503 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
14504 (license license:gpl3+)))
14505
14506 (define-public emacs-buttercup
14507 (package
14508 (name "emacs-buttercup")
14509 (version "1.16")
14510 (source
14511 (origin
14512 (method git-fetch)
14513 (uri (git-reference
14514 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
14515 (commit (string-append "v" version))))
14516 (file-name (git-file-name name version))
14517 (sha256
14518 (base32
14519 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
14520 (build-system emacs-build-system)
14521 (arguments
14522 `(#:tests? #t
14523 #:test-command '("make" "test")
14524 #:phases
14525 (modify-phases %standard-phases
14526 (add-after 'install 'install-bin
14527 (lambda* (#:key outputs #:allow-other-keys)
14528 (install-file "bin/buttercup"
14529 (string-append (assoc-ref outputs "out") "/bin"))
14530 #t)))))
14531 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
14532 (synopsis "Behavior driven emacs lisp testing framework")
14533 (description "Buttercup is a behavior-driven development framework for
14534 testing Emacs Lisp code. It allows to group related tests so they can share
14535 common set-up and tear-down code, and allows the programmer to \"spy\" on
14536 functions to ensure they are called with the right arguments during testing.")
14537 (license license:gpl3+)))
14538
14539 (define-public emacs-wordnut
14540 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
14541 (revision "0"))
14542 (package
14543 (name "emacs-wordnut")
14544 (version (git-version "0.1" revision commit))
14545 (home-page "https://github.com/gromnitsky/wordnut")
14546 (source (origin
14547 (method git-fetch)
14548 (uri (git-reference (url home-page) (commit commit)))
14549 (sha256
14550 (base32
14551 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
14552 (patches
14553 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
14554 (file-name (git-file-name name version))))
14555 (build-system emacs-build-system)
14556 (propagated-inputs
14557 `(("wordnet" ,wordnet)
14558 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
14559 (synopsis "Major mode for WordNet")
14560 (description "This Emacs package provides an interface for
14561 @code{wordnet}. Features include completion, if the query is not found
14562 too ambiguous and navigation in the result buffer.")
14563 (license license:gpl3+))))
14564
14565 (define-public emacs-frame-purpose
14566 (package
14567 (name "emacs-frame-purpose")
14568 (version "1.0")
14569 (source (origin
14570 (method git-fetch)
14571 (uri (git-reference
14572 (url "https://github.com/alphapapa/frame-purpose.el.git")
14573 (commit version)))
14574 (sha256
14575 (base32
14576 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
14577 (file-name (git-file-name name version))))
14578 (build-system emacs-build-system)
14579 (inputs
14580 `(("dash" ,emacs-dash)))
14581 (synopsis "Purpose-specific frames for Emacs")
14582 (description "@code{frame-purpose} makes it easy to open purpose-specific
14583 frames that only show certain buffers, e.g. by buffers’ major mode, their
14584 filename or directory, etc, with custom frame/X-window titles, icons, and
14585 other frame parameters.")
14586 (home-page "https://github.com/alphapapa/frame-purpose.el")
14587 (license license:gpl3+)))
14588
14589 (define-public emacs-arduino-mode
14590 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
14591 (package
14592 (name "emacs-arduino-mode")
14593 (version (git-version "0" "0" commit))
14594 (source (origin
14595 (method git-fetch)
14596 (uri (git-reference
14597 (url "https://github.com/bookest/arduino-mode.git")
14598 (commit commit)))
14599 (sha256
14600 (base32
14601 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
14602 (file-name (git-file-name name version))))
14603 (build-system emacs-build-system)
14604 (synopsis "Emacs major mode for editing Arduino sketches")
14605 (description "Emacs major mode for editing Arduino sketches.")
14606 (home-page "https://github.com/bookest/arduino-mode")
14607 (license license:gpl3+))))
14608
14609 (define-public emacs-general
14610 (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
14611 (package
14612 (name "emacs-general")
14613 (version (git-version "0" "0" commit))
14614 (home-page "https://github.com/noctuid/general.el")
14615 (source (origin
14616 (method git-fetch)
14617 (uri (git-reference
14618 (url (string-append home-page ".git"))
14619 (commit commit)))
14620 (sha256
14621 (base32
14622 "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
14623 (file-name (git-file-name name version))))
14624 (build-system emacs-build-system)
14625 (synopsis "More convenient key definitions in emacs")
14626 (description "@code{general.el} provides a more convenient method for
14627 binding keys in emacs (for both evil and non-evil users). Like
14628 @code{use-package}, which provides a convenient, unified interface for
14629 managing packages, @code{general.el} is intended to provide a convenient,
14630 unified interface for key definitions. While this package does implement some
14631 completely new functionality (such as the ability to make vim-style
14632 keybindings under non-prefix keys with an optional timeout), its primary
14633 purpose is to build on existing functionality to make key definition more
14634 clear and concise. @code{general-define-key} is user-extensible and supports
14635 defining multiple keys in multiple keymaps at once, implicitly wrapping key
14636 strings with (@code{kbd ...}), using named prefix key sequences (like the
14637 leader key in vim), and much more.")
14638 (license license:gpl3+))))
14639
14640 (define-public emacs-tldr
14641 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
14642 (package
14643 (name "emacs-tldr")
14644 (version (git-version "0" "0" commit))
14645 (home-page "https://github.com/kuanyui/tldr.el")
14646 (source (origin
14647 (method git-fetch)
14648 (uri (git-reference
14649 (url (string-append home-page ".git"))
14650 (commit commit)))
14651 (sha256
14652 (base32
14653 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
14654 (file-name (git-file-name name version))))
14655 (build-system emacs-build-system)
14656 (synopsis "Simplified and community-driven man pages for Emacs")
14657 (description "@code{emacs-tldr} allows the user to access tldr pages
14658 from within emacs. The @code{tldr} pages are a community effort to simplify
14659 the man pages with practical examples.")
14660 (license license:wtfpl2))))
14661
14662 (define-public emacs-window-layout
14663 (package
14664 (name "emacs-window-layout")
14665 (version "1.4")
14666 (home-page "https://github.com/kiwanami/emacs-window-layout")
14667 (source (origin
14668 (method git-fetch)
14669 (uri (git-reference
14670 (url home-page)
14671 (commit (string-append "v" version))))
14672 (sha256
14673 (base32
14674 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
14675 (file-name (git-file-name name version))))
14676 (build-system emacs-build-system)
14677 (synopsis "Simple window layout management framework for emacs")
14678 (description "A window-layout management library that can split a frame
14679 or a window into some windows according to a layout recipe.")
14680 (license license:gpl3+)))
14681
14682 (define-public emacs-e2wm
14683 (package
14684 (name "emacs-e2wm")
14685 (version "1.4")
14686 (home-page "https://github.com/kiwanami/emacs-window-manager")
14687 (source (origin
14688 (method git-fetch)
14689 (uri (git-reference
14690 (url home-page)
14691 (commit (string-append "v" version))))
14692 (sha256
14693 (base32
14694 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
14695 (file-name (git-file-name name version))))
14696 (build-system emacs-build-system)
14697 (propagated-inputs
14698 `(("emacs-window-layout" ,emacs-window-layout)))
14699 (synopsis "Equilibrium Emacs Window Manager")
14700 (description "E2WM is a window manager for Emacs. It enables to
14701 customize the place of pop-up window, how the windows are split, how the
14702 buffers are located in the windows, keybinds to manipulate windows and
14703 buffers, etc. It also has plug-ins to help your Emacs life.")
14704 (license license:gpl3+)))
14705
14706 (define-public emacs-ctable
14707 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
14708 (package
14709 (name "emacs-ctable")
14710 (version (git-version "0.1.2" "1" commit))
14711 (home-page "https://github.com/kiwanami/emacs-ctable")
14712 (source (origin
14713 (method git-fetch)
14714 (uri (git-reference
14715 (url home-page)
14716 (commit commit)))
14717 (sha256
14718 (base32
14719 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
14720 (file-name (git-file-name name version))))
14721 (build-system emacs-build-system)
14722 (synopsis "Table component for Emacs Lisp")
14723 (description "This program is a table component for Emacs Lisp. Other
14724 programs can use this table component for the application UI.")
14725 (license license:gpl3+))))
14726
14727 (define-public emacs-epc
14728 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
14729 (package
14730 (name "emacs-epc")
14731 (version (git-version "0.1.1" "1" commit))
14732 (home-page "https://github.com/kiwanami/emacs-epc")
14733 (source (origin
14734 (method git-fetch)
14735 (uri (git-reference
14736 (url home-page)
14737 (commit commit)))
14738 (sha256
14739 (base32
14740 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
14741 (file-name (git-file-name name version))))
14742 (build-system emacs-build-system)
14743 (propagated-inputs
14744 `(("emacs-deferred" ,emacs-deferred)
14745 ("emacs-ctable" ,emacs-ctable)))
14746 (synopsis "RPC stack for Emacs Lisp")
14747 (description "This program is an asynchronous RPC stack for Emacs.
14748 Using this RPC stack, Emacs can communicate with the peer process
14749 smoothly. Because the protocol employs S-expression encoding and consists of
14750 asynchronous communications, the RPC response is fairly good.")
14751 (license license:gpl3+))))
14752
14753 (define-public emacs-edbi
14754 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
14755 (package
14756 (name "emacs-edbi")
14757 (version (git-version "0.1.3" "1" commit))
14758 (home-page "https://github.com/kiwanami/emacs-edbi")
14759 (source (origin
14760 (method git-fetch)
14761 (uri (git-reference
14762 (url home-page)
14763 (commit commit)))
14764 (sha256
14765 (base32
14766 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
14767 (file-name (git-file-name name version))))
14768 (build-system emacs-build-system)
14769 (inputs
14770 `(("perl" ,perl)
14771 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
14772 ("perl-dbi" ,perl-dbi)
14773 ;; TODO: Adding support for perl-dbd-mysql and others would
14774 ;; dramatically increase the closure size. Make several packages?
14775 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
14776 (propagated-inputs
14777 `(("emacs-e2wm" ,emacs-e2wm)
14778 ("emacs-epc" ,emacs-epc)))
14779 (arguments
14780 `(#:include '("\\.el$" "\\.pl$")
14781 #:phases
14782 (modify-phases %standard-phases
14783 (add-after 'install 'patch-path
14784 (lambda* (#:key inputs outputs #:allow-other-keys)
14785 (let ((perl (assoc-ref inputs "perl"))
14786 (dir (string-append (assoc-ref outputs "out")
14787 "/share/emacs/site-lisp/guix.d/edbi-"
14788 ,version)))
14789 (substitute* (string-append dir "/edbi.el")
14790 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
14791 (chmod (string-append dir "/edbi-bridge.pl") #o555)
14792 (wrap-program (string-append dir "/edbi-bridge.pl")
14793 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
14794 #t))))))
14795 (synopsis "Database Interface for Emacs Lisp")
14796 (description "This program connects the database server through Perl's
14797 DBI, and provides DB-accessing API and the simple management UI.")
14798 (license license:gpl3+))))
14799
14800 (define-public emacs-edbi-sqlite
14801 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
14802 (package
14803 (name "emacs-edbi-sqlite")
14804 (version (git-version "0.1.1" "1" commit))
14805 (home-page "https://github.com/proofit404/edbi-sqlite")
14806 (source (origin
14807 (method git-fetch)
14808 (uri (git-reference
14809 (url home-page)
14810 (commit commit)))
14811 (sha256
14812 (base32
14813 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
14814 (file-name (git-file-name name version))))
14815 (build-system emacs-build-system)
14816 (propagated-inputs
14817 `(("emacs-edbi" ,emacs-edbi)))
14818 (synopsis "Open SQLite files in Emacs")
14819 (description "This package is a convenience wrapper for @command{edbi}
14820 to open SQLite databases.")
14821 (license license:gpl3+))))
14822
14823 (define-public emacs-nix-mode
14824 (package
14825 (name "emacs-nix-mode")
14826 (version "1.4.1")
14827 (source
14828 (origin
14829 (method git-fetch)
14830 (uri (git-reference
14831 (url "https://github.com/NixOS/nix-mode.git")
14832 (commit (string-append "v" version))))
14833 (file-name (git-file-name name version))
14834 (sha256
14835 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
14836 (build-system emacs-build-system)
14837 (inputs
14838 `(("emacs-company" ,emacs-company)
14839 ("emacs-json-mode" ,emacs-json-mode)
14840 ("emacs-mmm-mode" ,emacs-mmm-mode)))
14841 (home-page "https://github.com/NixOS/nix-mode")
14842 (synopsis "Emacs major mode for editing Nix expressions")
14843 (description "@code{nixos-mode} provides an Emacs major mode for editing
14844 Nix expressions. It supports syntax highlighting, indenting and refilling of
14845 comments.")
14846 (license license:lgpl2.1+)))
14847
14848 (define-public emacs-simple-mpc
14849 ;; There have been no releases.
14850 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
14851 (revision "1"))
14852 (package
14853 (name "emacs-simple-mpc")
14854 (version (git-version "0" revision commit))
14855 (source
14856 (origin
14857 (method git-fetch)
14858 (uri (git-reference
14859 (url "https://github.com/jorenvo/simple-mpc.git")
14860 (commit commit)))
14861 (file-name (git-file-name name version))
14862 (sha256
14863 (base32
14864 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
14865 (build-system emacs-build-system)
14866 (propagated-inputs `(("emacs-s" ,emacs-s)))
14867 (home-page "https://github.com/jorenvo/simple-mpc")
14868 (synopsis "Simple Emacs frontend to mpc")
14869 (description "This package provides an Emacs major mode which acts as a
14870 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
14871 (license license:gpl3+))))
14872
14873 (define-public emacs-mkmcc-gnuplot-mode
14874 (package
14875 (name "emacs-mkmcc-gnuplot-mode")
14876 (version "1.2.0")
14877 (source
14878 (origin
14879 (method git-fetch)
14880 (uri (git-reference
14881 (url "https://github.com/mkmcc/gnuplot-mode")
14882 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
14883 (file-name (git-file-name name version))
14884 (sha256
14885 (base32
14886 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
14887 (build-system emacs-build-system)
14888 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
14889 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
14890 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
14891 mode for editing gnuplot scripts. It provides syntax highlighting,
14892 indentation and a command to plot the file.")
14893 (license license:gpl3+)))
14894
14895 (define-public emacs-dtrt-indent
14896 (package
14897 (name "emacs-dtrt-indent")
14898 (version "0.8")
14899 (source (origin
14900 (method git-fetch)
14901 (uri (git-reference
14902 (url "https://github.com/jscheid/dtrt-indent")
14903 (commit version)))
14904 (file-name (git-file-name name version))
14905 (sha256
14906 (base32
14907 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
14908 (build-system emacs-build-system)
14909 (home-page "https://github.com/jscheid/dtrt-indent")
14910 (synopsis "Minor mode that guesses the indentation offset")
14911 (description "This package provides a minor mode that guesses the
14912 indentation offset originally used for creating source code files and
14913 transparently adjusts the corresponding settings in Emacs, making it more
14914 convenient to edit foreign files.")
14915 (license license:gpl2+)))
14916
14917 (define-public emacs-repo
14918 (package
14919 (name "emacs-repo")
14920 (version "0.1.3")
14921 (source (origin
14922 (method git-fetch)
14923 (uri (git-reference
14924 (url "https://github.com/canatella/repo-el")
14925 (commit version)))
14926 (file-name (git-file-name name version))
14927 (sha256
14928 (base32
14929 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
14930 (build-system emacs-build-system)
14931 (native-inputs
14932 `(("emacs-el-mock" ,emacs-el-mock)
14933 ("ert-runner" ,emacs-ert-runner)))
14934 (propagated-inputs
14935 `(("emacs-f" ,emacs-f)
14936 ("magit" ,emacs-magit)))
14937 (home-page "https://github.com/canatella/repo-el")
14938 (synopsis "Emacs interface for the Google Repo tool")
14939 (description "This package provides integration of the Google Repo tool
14940 with emacs. It displays the output of the @code{repo status} command in a
14941 buffer and launches Magit from the status buffer for the project at point.")
14942 (license license:gpl3+)))
14943
14944 (define-public emacs-alect-themes
14945 (package
14946 (name "emacs-alect-themes")
14947 (version "0.9")
14948 (source (origin
14949 (method git-fetch)
14950 (uri (git-reference
14951 (url "https://github.com/alezost/alect-themes")
14952 (commit (string-append "v" version))))
14953 (file-name (git-file-name name version))
14954 (sha256
14955 (base32
14956 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
14957 (build-system emacs-build-system)
14958 (home-page "https://github.com/alezost/alect-themes")
14959 (synopsis "Low contrast, light, dark and black color theme for Emacs")
14960 (description "@code{emacs-alect-themes} provides configurable light, dark
14961 and black color themes for Emacs. The themes are intended to be used with
14962 GUI.")
14963 (license license:gpl3+)))
14964
14965 (define-public emacs-google-c-style
14966 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
14967 (revision "0"))
14968 (package
14969 (name "emacs-google-c-style")
14970 (version (git-version "0.1" revision commit))
14971 (source (origin
14972 (method git-fetch)
14973 (uri (git-reference
14974 (url "https://github.com/google/styleguide")
14975 (commit commit)))
14976 (file-name (git-file-name name version))
14977 (sha256
14978 (base32
14979 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
14980 (build-system emacs-build-system)
14981 (home-page "https://github.com/google/styleguide")
14982 (synopsis "Emacs settings file for Google C/C++ style")
14983 (description "@code{emacs-google-c-style} provides an Emacs settings
14984 file for Google C and C++ style.")
14985 (license license:gpl1+))))
14986
14987 (define-public emacs-redshank
14988 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
14989 (revision "1"))
14990 (package
14991 (name "emacs-redshank")
14992 (version (git-version "0.1" revision commit))
14993 (source (origin
14994 (method git-fetch)
14995 (uri (git-reference
14996 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
14997 (commit commit)))
14998 (file-name (git-file-name name version))
14999 (sha256
15000 (base32
15001 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
15002 (build-system emacs-build-system)
15003 (propagated-inputs
15004 `(("emacs-paredit" ,emacs-paredit)))
15005 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
15006 (synopsis "Common Lisp Editing Extensions (for Emacs)")
15007 (description "Redshank is a collection of code-wrangling Emacs macros
15008 mostly geared towards Common Lisp, but some are useful for other Lisp
15009 dialects, too. Redshank's code transformations aim to be expression-based (as
15010 opposed to character-based).")
15011 (license license:gpl1+))))
15012
15013 (define-public emacs-disk-usage
15014 (package
15015 (name "emacs-disk-usage")
15016 (version "1.3.3")
15017 (source
15018 (origin
15019 (method git-fetch)
15020 (uri (git-reference
15021 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
15022 (commit version)))
15023 (file-name (git-file-name name version))
15024 (sha256
15025 (base32
15026 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
15027 (build-system emacs-build-system)
15028 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
15029 (synopsis "Sort and browse disk usage listings with Emacs")
15030 (description "Disk Usage is a file system analyzer: it offers a tabulated
15031 view of file listings sorted by size. Directory sizes are computed
15032 recursively. The results are cached for speed.")
15033 (license license:gpl3+)))
15034
15035 (define-public emacs-orgit
15036 (package
15037 (name "emacs-orgit")
15038 (version "1.5.3")
15039 (home-page "https://github.com/magit/orgit")
15040 (source (origin
15041 (method git-fetch)
15042 (uri (git-reference
15043 (url home-page)
15044 (commit (string-append "v" version))))
15045 (file-name (git-file-name name version))
15046 (sha256
15047 (base32
15048 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
15049 (build-system emacs-build-system)
15050 (propagated-inputs
15051 `(("emacs-dash" ,emacs-dash)
15052 ("emacs-magit" ,emacs-magit)))
15053 (synopsis "Support for Org links to Magit buffers")
15054 (description "This package defines several Org link types, which can be
15055 used to link to certain Magit buffers. Use the command
15056 @command{org-store-link} while such a buffer is current to store a link.
15057 Later you can insert it into an Org buffer using the command
15058 @code{org-insert-link}.")
15059 (license license:gpl3+)))
15060
15061 (define-public emacs-amx
15062 (package
15063 (name "emacs-amx")
15064 (version "3.2")
15065 (source (origin
15066 (method git-fetch)
15067 (uri (git-reference
15068 (url "https://github.com/DarwinAwardWinner/amx")
15069 (commit (string-append "v" version))))
15070 (file-name (git-file-name name version))
15071 (sha256
15072 (base32
15073 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
15074 (build-system emacs-build-system)
15075 (propagated-inputs `(("emacs-s" ,emacs-s)))
15076 (home-page "https://github.com/DarwinAwardWinner/amx")
15077 (synopsis "Alternative interface for M-x")
15078 (description "Amx is an alternative interface for M-x in Emacs. It
15079 provides several enhancements over the ordinary
15080 @code{execute-extended-command}, such as prioritizing your most-used commands
15081 in the completion list and showing keyboard shortcuts, and it supports several
15082 completion systems for selecting commands, such as ido and ivy.")
15083 (license license:gpl3+)))
15084
15085 (define-public emacs-lorem-ipsum
15086 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
15087 (package
15088 (name "emacs-lorem-ipsum")
15089 (version (git-version "0.2" "1" commit))
15090 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
15091 (source (origin
15092 (method git-fetch)
15093 (uri (git-reference
15094 (url home-page)
15095 (commit commit)))
15096 (file-name (git-file-name name version))
15097 (sha256
15098 (base32
15099 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
15100 (build-system emacs-build-system)
15101 (synopsis "Insert dummy pseudo Latin text in Emacs")
15102 (description "This package provides convenience functions to insert
15103 dummy Latin text into a buffer. This can be useful if you need to produce
15104 paragraphs or pages of text for testing purposes.")
15105 (license license:gpl3+))))
15106
15107 (define-public emacs-lisp-extra-font-lock
15108 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
15109 (package
15110 (name "emacs-lisp-extra-font-lock")
15111 (version (git-version "0.0.6" "1" commit))
15112 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
15113 (source (origin
15114 (method git-fetch)
15115 (uri (git-reference
15116 (url home-page)
15117 (commit commit)))
15118 (file-name (git-file-name name version))
15119 (sha256
15120 (base32
15121 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
15122 (build-system emacs-build-system)
15123 (synopsis "Highlight bound variables and quoted expressions in Emacs")
15124 (description "This package highlight the location where local variables
15125 is created (bound, for example, by let) as well as quoted and backquoted
15126 constant expressions.")
15127 (license license:gpl3+))))
15128
15129 (define-public emacs-docker-tramp
15130 (package
15131 (name "emacs-docker-tramp")
15132 (version "0.1")
15133 (source
15134 (origin
15135 (method git-fetch)
15136 (uri (git-reference
15137 (url "https://github.com/emacs-pe/docker-tramp.el")
15138 (commit (string-append "v" version))))
15139 (file-name (git-file-name name version))
15140 (sha256
15141 (base32
15142 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
15143 (build-system emacs-build-system)
15144 (home-page "https://github.com/emacs-pe/docker-tramp.el")
15145 (synopsis "TRAMP integration for docker containers")
15146 (description
15147 "This package provides a TRAMP method for Docker containers.")
15148 (license license:gpl3+)))
15149
15150 (define-public emacs-docker
15151 (package
15152 (name "emacs-docker")
15153 (version "1.2.0")
15154 (source (origin
15155 (method git-fetch)
15156 (uri (git-reference
15157 (url "https://github.com/Silex/docker.el")
15158 (commit version)))
15159 (file-name (git-file-name name version))
15160 (sha256
15161 (base32
15162 "15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
15163 (inputs
15164 `(("emacs-undercover" ,emacs-undercover)))
15165 (propagated-inputs
15166 `(("emacs-dash" ,emacs-dash)
15167 ("emacs-docker-tramp" ,emacs-docker-tramp)
15168 ("emacs-magit-popup" ,emacs-magit-popup)
15169 ("emacs-s" ,emacs-s)
15170 ("emacs-tablist" ,emacs-tablist)
15171 ("emacs-json-mode" ,emacs-json-mode)))
15172 (arguments
15173 `(#:phases
15174 (modify-phases %standard-phases
15175 (delete 'check)))) ;no tests
15176 (build-system emacs-build-system)
15177 (home-page "https://github.com/Silex/docker.el")
15178 (synopsis "Manage docker from Emacs")
15179 (description "This package provides an Emacs interface for Docker.")
15180 (license license:gpl3+)))
15181
15182 (define-public emacs-dockerfile-mode
15183 ;; Latest upstream release is too old.
15184 (let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
15185 (package
15186 (name "emacs-dockerfile-mode")
15187 (version (git-version "1.2" "1" commit))
15188 (source
15189 (origin
15190 (method git-fetch)
15191 (uri (git-reference
15192 (url "https://github.com/spotify/dockerfile-mode.git")
15193 (commit commit)))
15194 (file-name (git-file-name name version))
15195 (sha256
15196 (base32
15197 "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
15198 (build-system emacs-build-system)
15199 (propagated-inputs
15200 `(("emacs-s" ,emacs-s)))
15201 (home-page "https://github.com/spotify/dockerfile-mode")
15202 (synopsis "Major mode for editing Dockerfile")
15203 (description
15204 "This package provides a major mode @code{dockerfile-mode} for use with
15205 the standard @code{Dockerfile} file format.")
15206 (license license:asl2.0))))
15207
15208 (define-public emacs-lsp-mode
15209 (package
15210 (name "emacs-lsp-mode")
15211 (version "6.0")
15212 (source (origin
15213 (method git-fetch)
15214 (uri (git-reference
15215 (url "https://github.com/emacs-lsp/lsp-mode.git")
15216 (commit version)))
15217 (file-name (git-file-name name version))
15218 (sha256
15219 (base32
15220 "1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"))))
15221 (build-system emacs-build-system)
15222 (propagated-inputs
15223 `(("emacs-dash" ,emacs-dash)
15224 ("emacs-f" ,emacs-f)
15225 ("emacs-ht" ,emacs-ht)
15226 ("emacs-spinner" ,emacs-spinner)))
15227 (home-page "https://github.com/emacs-lsp/lsp-mode")
15228 (synopsis "Emacs client and library for the Language Server Protocol")
15229 (description "@code{LSP-mode} is a client and library implementation for
15230 the Language Server Protocol. This mode aims to provide an IDE-like
15231 experience by providing optional integration with other popular Emacs packages
15232 like @code{company}, @code{flycheck}, and @code{projectile}.")
15233 (license license:gpl3+)))
15234
15235 (define-public emacs-lsp-ui
15236 (package
15237 (name "emacs-lsp-ui")
15238 (version "6.0")
15239 (source (origin
15240 (method git-fetch)
15241 (uri (git-reference
15242 (url "https://github.com/emacs-lsp/lsp-ui.git")
15243 (commit version)))
15244 (file-name (git-file-name name version))
15245 (sha256
15246 (base32
15247 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
15248 (build-system emacs-build-system)
15249 (propagated-inputs
15250 `(("emacs-dash" ,emacs-dash)
15251 ("emacs-lsp-mode" ,emacs-lsp-mode)
15252 ("emacs-markdown-mode" ,emacs-markdown-mode)
15253 ("emacs-flycheck" ,emacs-flycheck)))
15254 (home-page "https://github.com/emacs-lsp/lsp-ui")
15255 (synopsis "User interface extensions for @code{lsp-mode}")
15256 (description
15257 "@code{LSP-ui} contains several enhancements and integrations for
15258 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
15259 and code peeking.")
15260 (license license:gpl3+)))
15261
15262 (define-public emacs-helm-notmuch
15263 (package
15264 (name "emacs-helm-notmuch")
15265 (version "1.2")
15266 (home-page "https://github.com/emacs-helm/helm-notmuch/")
15267 (source (origin
15268 (method git-fetch)
15269 (uri (git-reference
15270 (url home-page)
15271 (commit version)))
15272 (file-name (git-file-name name version))
15273 (sha256
15274 (base32
15275 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
15276 (build-system emacs-build-system)
15277 (propagated-inputs
15278 `(("emacs-helm" ,emacs-helm)
15279 ("notmuch" ,notmuch)))
15280 (synopsis "Search emails with Emacs Notmuch and Helm")
15281 (description
15282 "This package can be used to search emails in Emacs, searching result
15283 displays as you type thanks to Helm, though @command{notmuch-search} does the
15284 real search.")
15285 (license license:gpl3+)))
15286
15287 (define-public emacs-elmacro
15288 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
15289 (package
15290 (name "emacs-elmacro")
15291 (version (git-version "1.1.0" "1" commit))
15292 (home-page "https://github.com/Silex/elmacro")
15293 (source (origin
15294 (method git-fetch)
15295 (uri (git-reference
15296 (url home-page)
15297 (commit commit)))
15298 (file-name (git-file-name name version))
15299 (sha256
15300 (base32
15301 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
15302 (build-system emacs-build-system)
15303 (propagated-inputs
15304 `(("emacs-s" ,emacs-s)
15305 ("emacs-dash" ,emacs-dash)))
15306 (synopsis "Convert keyboard macros to Emacs Lisp")
15307 (description
15308 "This package displays keyboard macros or latest interactive commands
15309 as Emacs Lisp.")
15310 (license license:gpl3+))))
15311
15312 (define-public emacs-transient
15313 ;; 0.1.0 depends on lv.el but not later versions.
15314 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
15315 (package
15316 (name "emacs-transient")
15317 (version (git-version "0.1.0" "1" commit))
15318 (source (origin
15319 (method git-fetch)
15320 (uri (git-reference
15321 (url "https://github.com/magit/transient")
15322 (commit commit)))
15323 (file-name (git-file-name name version))
15324 (sha256
15325 (base32
15326 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
15327 (build-system gnu-build-system)
15328 (native-inputs `(("texinfo" ,texinfo)
15329 ("emacs" ,emacs-minimal)))
15330 (propagated-inputs
15331 `(("dash" ,emacs-dash)))
15332 (arguments
15333 `(#:modules ((guix build gnu-build-system)
15334 (guix build utils)
15335 (srfi srfi-26)
15336 (guix build emacs-utils))
15337 #:imported-modules (,@%gnu-build-system-modules
15338 (guix build emacs-utils))
15339 #:tests? #f ; tests are not included in the release
15340 #:make-flags (list "lisp" "info"
15341 (string-append "LOAD_PATH=-L . -L "
15342 (assoc-ref %build-inputs "dash")
15343 "/share/emacs/site-lisp/guix.d/dash-"
15344 ,(package-version emacs-dash)))
15345 #:phases
15346 (modify-phases %standard-phases
15347 (delete 'configure)
15348 (replace 'install
15349 (lambda* (#:key inputs outputs #:allow-other-keys)
15350 (let* ((out (assoc-ref outputs "out"))
15351 (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
15352 "transient" "-" ,version))
15353 (info (string-append out "/share/info")))
15354 (for-each (cut install-file <> lisp)
15355 (find-files "." "\\.elc*$"))
15356 (install-file "docs/transient.info" (string-append info)))
15357 #t)))))
15358 (home-page "https://magit.vc/manual/transient")
15359 (synopsis "Transient commands in Emacs")
15360 (description
15361 "Taking inspiration from prefix keys and prefix arguments in Emacs,
15362 Transient implements a similar abstraction involving a prefix command, infix
15363 arguments and suffix commands. We could call this abstraction a \"transient
15364 command\", but because it always involves at least two commands (a prefix and
15365 a suffix) we prefer to call it just a \"transient\".")
15366 (license license:gpl3+))))
15367
15368 (define-public emacs-matcha
15369 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
15370 (package
15371 (name "emacs-matcha")
15372 (version (git-version "0.0.1" "1" commit)) ;no upstream release
15373 (source (origin
15374 (method git-fetch)
15375 (uri (git-reference
15376 (url "https://github.com/jojojames/matcha.git")
15377 (commit commit)))
15378 (file-name (git-file-name name version))
15379 (sha256
15380 (base32
15381 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
15382 (propagated-inputs
15383 `(("emacs-hydra" ,emacs-hydra)
15384 ("emacs-transient" ,emacs-transient)))
15385 (build-system emacs-build-system)
15386 (home-page "https://github.com/jojojames/matcha/")
15387 (synopsis "Collection of hydras with a generic interface to launch them")
15388 (description "Matcha provides a collection of transients for various
15389 packages with a consistent way to use them.")
15390 (license license:gpl3+))))
15391
15392 (define-public emacs-undo-propose-el
15393 (let ((commit "5f1fa99a04369a959aad01b476fe4f34229f28cd")
15394 (version "1.0.0")
15395 (revision "1"))
15396 (package
15397 (name "emacs-undo-propose-el")
15398 (version (git-version version revision commit))
15399 (source
15400 (origin
15401 (method git-fetch)
15402 (uri (git-reference
15403 (url "https://github.com/jackkamm/undo-propose-el")
15404 (commit commit)))
15405 (file-name (git-file-name name version))
15406 (sha256
15407 (base32
15408 "1p9h1fqmva07mcs46rqrg9vqn537b615as84s9b7xh76k1r8h1c0"))))
15409 (build-system emacs-build-system)
15410 (home-page "https://github.com/jackkamm/undo-propose-el")
15411 (synopsis "Simple and safe navigation of @code{undo} history")
15412 (description "This package permits navigation of @code{undo} history in a
15413 temporary buffer, which is read-only save for @code{undo} commands, and
15414 subsequent committal of a chain of @code{undo} commands as a single edit in
15415 the @code{undo} history.")
15416 (license license:gpl3+))))
15417
15418 (define-public emacs-elisp-docstring-mode
15419 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
15420 (version "0.0.1")
15421 (revision "1"))
15422 (package
15423 (name "emacs-elisp-docstring-mode")
15424 (version (git-version version revision commit))
15425 (source
15426 (origin
15427 (method git-fetch)
15428 (uri (git-reference
15429 (url "https://github.com/Fuco1/elisp-docstring-mode")
15430 (commit commit)))
15431 (file-name (git-file-name name version))
15432 (sha256
15433 (base32
15434 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
15435 (build-system emacs-build-system)
15436 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
15437 (synopsis "Major mode for editing Emacs Lisp docstrings")
15438 (description "This package provides font lock and automatic escaping and
15439 unescaping of quotes.")
15440 (license license:gpl3+))))
15441
15442 (define-public emacs-vimrc-mode
15443 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
15444 (version "0.3.1")
15445 (revision "1"))
15446 (package
15447 (name "emacs-vimrc-mode")
15448 (version (git-version version revision commit))
15449 (source
15450 (origin
15451 (method git-fetch)
15452 (uri (git-reference
15453 (url "https://github.com/mcandre/vimrc-mode")
15454 (commit commit)))
15455 (file-name (git-file-name name version))
15456 (sha256
15457 (base32
15458 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
15459 (build-system emacs-build-system)
15460 (home-page "https://github.com/mcandre/vimrc-mode")
15461 (synopsis "Major mode for Vimscript")
15462 (description "This package provides font lock and @code{beginning-} and
15463 @code{end-of-defun} functions for Vimscript files.")
15464 (license license:gpl3+))))
15465
15466 (define-public emacs-flycheck-haskell
15467 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
15468 (version "0.8")
15469 (revision "79"))
15470 (package
15471 (name "emacs-flycheck-haskell")
15472 (version (git-version version revision commit))
15473 (source
15474 (origin
15475 (method git-fetch)
15476 (uri (git-reference
15477 (url "https://github.com/flycheck/flycheck-haskell")
15478 (commit commit)))
15479 (file-name (git-file-name name version))
15480 (sha256
15481 (base32
15482 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
15483 (build-system emacs-build-system)
15484 (propagated-inputs
15485 `(("emacs-dash" ,emacs-dash)
15486 ("emacs-seq" ,emacs-seq)
15487 ("emacs-flycheck" ,emacs-flycheck)
15488 ("emacs-haskell-mode" ,emacs-haskell-mode)
15489 ("emacs-let-alist" ,emacs-let-alist)))
15490 (home-page "https://github.com/flycheck/flycheck-haskell")
15491 (synopsis "Flycheck for Haskell")
15492 (description "This package configures syntax-checking for Haskell
15493 buffers.")
15494 (license license:gpl3+))))
15495
15496 (define-public emacs-js2-refactor-el
15497 (let ((commit "79124b3274c43ad1f9ec6205fa362576552db02f")
15498 (version "0.9.0")
15499 (revision "27"))
15500 (package
15501 (name "emacs-js2-refactor-el")
15502 (version (git-version version revision commit))
15503 (source
15504 (origin
15505 (method git-fetch)
15506 (uri (git-reference
15507 (url "https://github.com/magnars/js2-refactor.el")
15508 (commit commit)))
15509 (file-name (git-file-name name version))
15510 (sha256
15511 (base32
15512 "1wswhlpbd3airrhyncb9vblqigwnqg9n96z0iis8jnz37q2whica"))))
15513 (build-system emacs-build-system)
15514 (propagated-inputs
15515 `(("emacs-dash" ,emacs-dash)
15516 ("emacs-s" ,emacs-s)
15517 ("emacs-js2-mode" ,emacs-js2-mode)
15518 ("emacs-yasnippet" ,emacs-yasnippet)
15519 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
15520 (native-inputs
15521 `(("emacs-buttercup" ,emacs-buttercup)
15522 ("emacs-espuds" ,emacs-espuds)))
15523 (home-page "https://github.com/magnars/js2-refactor.el")
15524 (synopsis "JavaScript refactoring in Emacs")
15525 (description "This package provides various refactoring functions for
15526 JavaScript.")
15527 (license license:gpl3+))))
15528
15529 (define-public emacs-prettier
15530 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
15531 (version "0.1.0")
15532 (revision "1"))
15533 (package
15534 (name "emacs-prettier")
15535 (version (git-version version revision commit))
15536 (source
15537 (origin
15538 (method git-fetch)
15539 (uri (git-reference
15540 (url "https://github.com/prettier/prettier-emacs")
15541 (commit commit)))
15542 (file-name (git-file-name name version))
15543 (sha256
15544 (base32
15545 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
15546 (build-system emacs-build-system)
15547 (home-page "https://github.com/prettier/prettier-emacs")
15548 (synopsis "Automatic formatting of JavaScript code")
15549 (description "This package integrates Prettier with Emacs, and
15550 provides a minor mode that autoformats the buffer upon saving.")
15551 (license license:expat))))
15552
15553 (define-public emacs-fish-mode
15554 (package
15555 (name "emacs-fish-mode")
15556 (version "0.1.4")
15557 (source
15558 (origin
15559 (method git-fetch)
15560 (uri (git-reference
15561 (url "https://github.com/wwwjfy/emacs-fish")
15562 (commit version)))
15563 (file-name (git-file-name name version))
15564 (sha256
15565 (base32
15566 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
15567 (build-system emacs-build-system)
15568 (home-page "https://github.com/wwwjfy/emacs-fish")
15569 (synopsis "Major mode for Fish shell scripts")
15570 (description "This package provides syntax highlighting and indentation
15571 functions for Fish shell scripts.")
15572 (license license:gpl3+)))
15573
15574 (define-public emacs-eshell-up
15575 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
15576 (version "0.0.3")
15577 (revision "12"))
15578 (package
15579 (name "emacs-eshell-up")
15580 (version (git-version version revision commit))
15581 (source
15582 (origin
15583 (method git-fetch)
15584 (uri (git-reference
15585 (url "https://github.com/peterwvj/eshell-up")
15586 (commit commit)))
15587 (file-name (git-file-name name version))
15588 (sha256
15589 (base32
15590 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
15591 (build-system emacs-build-system)
15592 (home-page "https://github.com/peterwvj/eshell-up")
15593 (synopsis "Quickly go to a parent directory in @code{Eshell}")
15594 (description "This package provides quick navigation to a specific
15595 parent directory using @code{Eshell}.")
15596 (license license:gpl3+))))
15597
15598 (define-public emacs-tco-el
15599 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
15600 (version "0.3")
15601 (revision "1"))
15602 (package
15603 (name "emacs-tco-el")
15604 (version (git-version version revision commit))
15605 (source
15606 (origin
15607 (method git-fetch)
15608 (uri (git-reference
15609 (url "https://github.com/Wilfred/tco.el")
15610 (commit commit)))
15611 (file-name (git-file-name name version))
15612 (sha256
15613 (base32
15614 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
15615 (build-system emacs-build-system)
15616 (propagated-inputs
15617 `(("emacs-dash" ,emacs-dash)))
15618 (home-page "https://github.com/Wilfred/tco.el")
15619 (synopsis "Tail-call optimization for Emacs Lisp")
15620 (description "This package provides tail-call optimization for Emacs
15621 Lisp functions that call themselves in tail position.")
15622 (license license:gpl3+))))
15623
15624 (define-public emacs-equake
15625 (let ((commit "ed15fd55cd4f2276161a6f712ed0b83cd10a8cdc")
15626 (version "0.85")
15627 (revision "1"))
15628 (package
15629 (name "emacs-equake")
15630 (version (git-version version revision commit))
15631 (source
15632 (origin
15633 (method git-fetch)
15634 (uri (git-reference
15635 (url "https://gitlab.com/emacsomancer/equake/")
15636 (commit commit)))
15637 (file-name (git-file-name name version))
15638 (sha256
15639 (base32
15640 "04kj88rlnn22gwmmv2gly2ibi6jka6l2cd4979pi6lhlvqqgjdnj"))))
15641 (build-system emacs-build-system)
15642 (propagated-inputs
15643 `(("emacs-dash" ,emacs-dash)
15644 ("emacs-tco-el" ,emacs-tco-el)))
15645 (home-page "https://gitlab.com/emacsomancer/equake/")
15646 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
15647 (description "This package provides a Quake-style drop-down console
15648 compatible with Emacs' shell modes.")
15649 (license license:gpl3+))))
15650
15651 (define-public emacs-vdiff
15652 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
15653 (version "0.2.3")
15654 (revision "1"))
15655 (package
15656 (name "emacs-vdiff")
15657 (version (git-version version revision commit))
15658 (source
15659 (origin
15660 (method git-fetch)
15661 (uri (git-reference
15662 (url "https://github.com/justbur/emacs-vdiff/")
15663 (commit commit)))
15664 (file-name (git-file-name name version))
15665 (sha256
15666 (base32
15667 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
15668 (build-system emacs-build-system)
15669 (propagated-inputs
15670 `(("emacs-hydra" ,emacs-hydra)))
15671 (home-page "https://github.com/justbur/emacs-vdiff/")
15672 (synopsis "Frontend for diffing based on vimdiff")
15673 (description "This package permits comparisons of two or three buffers
15674 based on diff output.")
15675 (license license:gpl3+))))
15676
15677 (define-public emacs-vdiff-magit
15678 ;; Need to use a more recent commit than the latest release version because
15679 ;; of Magit and Transient
15680 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
15681 (version "0.3.2")
15682 (revision "8"))
15683 (package
15684 (name "emacs-vdiff-magit")
15685 (version (git-version version revision commit))
15686 (source
15687 (origin
15688 (method git-fetch)
15689 (uri (git-reference
15690 (url "https://github.com/justbur/emacs-vdiff-magit/")
15691 (commit commit)))
15692 (file-name (git-file-name name version))
15693 (sha256
15694 (base32
15695 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
15696 (build-system emacs-build-system)
15697 (propagated-inputs
15698 `(("emacs-vdiff" ,emacs-vdiff)
15699 ("emacs-magit" ,emacs-magit)
15700 ("emacs-transient" ,emacs-transient)))
15701 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
15702 (synopsis "Frontend for diffing based on vimdiff")
15703 (description "This package permits comparisons of two or three buffers
15704 based on diff output.")
15705 (license license:gpl3+))))
15706
15707 (define-public emacs-all-the-icons-dired
15708 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
15709 (version "1.0")
15710 (revision "1"))
15711 (package
15712 (name "emacs-all-the-icons-dired")
15713 (version (git-version version revision commit))
15714 (source
15715 (origin
15716 (method git-fetch)
15717 (uri (git-reference
15718 (url "https://github.com/jtbm37/all-the-icons-dired/")
15719 (commit commit)))
15720 (file-name (git-file-name name version))
15721 (sha256
15722 (base32
15723 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
15724 (build-system emacs-build-system)
15725 (propagated-inputs
15726 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
15727 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
15728 (synopsis "Show icons for each file in @code{dired-mode}")
15729 (description "This package allows icons from @file{all-the-icons.el} to
15730 be used in @code{dired-mode}.")
15731 (license license:gpl3+))))
15732
15733 (define-public emacs-exwm-edit
15734 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
15735 (version "0.0.1")
15736 (revision "1"))
15737 (package
15738 (name "emacs-exwm-edit")
15739 (version (git-version version revision commit))
15740 (source
15741 (origin
15742 (method git-fetch)
15743 (uri (git-reference
15744 (url "https://github.com/agzam/exwm-edit/")
15745 (commit commit)))
15746 (file-name (git-file-name name version))
15747 (sha256
15748 (base32
15749 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
15750 (build-system emacs-build-system)
15751 (propagated-inputs
15752 `(("emacs-exwm" ,emacs-exwm)))
15753 (home-page "https://github.com/agzam/exwm-edit/")
15754 (synopsis "Open temp buffers for editing text from EXWM buffers")
15755 (description "This package facilitates editing text from EXWM buffers by
15756 generating a temp buffer in which any useful Emacs utilities and modes can be
15757 invoked.")
15758 (license license:gpl3+))))
15759
15760 (define-public emacs-ert-async
15761 (package
15762 (name "emacs-ert-async")
15763 (version "0.1.2")
15764 (source
15765 (origin
15766 (method git-fetch)
15767 (uri (git-reference
15768 (url "https://github.com/rejeep/ert-async.el")
15769 (commit (string-append "v" version))))
15770 (file-name (git-file-name name version))
15771 (sha256
15772 (base32
15773 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
15774 (build-system emacs-build-system)
15775 (home-page "https://github.com/rejeep/ert-async.el")
15776 (synopsis "Async support for ERT")
15777 (description "This package allows ERT to work with asynchronous tests.")
15778 (license license:gpl3+)))
15779
15780 (define-public emacs-prodigy-el
15781 (let ((commit "701dccaa56de9e6a330c05bde33bce4f3b3d6a97")
15782 (version "0.7.0")
15783 (revision "28"))
15784 (package
15785 (name "emacs-prodigy-el")
15786 (version (git-version version revision commit))
15787 (source
15788 (origin
15789 (method git-fetch)
15790 (uri (git-reference
15791 (url "https://github.com/rejeep/prodigy.el")
15792 (commit commit)))
15793 (file-name (git-file-name name version))
15794 (sha256
15795 (base32
15796 "1vyvxawlayp2nra0q83146q2nzv8qwn5a4nj0sx1jc90a0a83vgj"))))
15797 (build-system emacs-build-system)
15798 (propagated-inputs
15799 `(("emacs-dash" ,emacs-dash)
15800 ("emacs-s" ,emacs-s)
15801 ("emacs-f" ,emacs-f)))
15802 (native-inputs
15803 `(("emacs-el-mock" ,emacs-el-mock)
15804 ("emacs-ert-async" ,emacs-ert-async)))
15805 (home-page "https://github.com/rejeep/prodigy.el")
15806 (synopsis "Manage external services from within Emacs")
15807 (description "This package provides a GUI for defining and monitoring services.")
15808 (license license:gpl3+))))
15809
15810 (define-public emacs-web-server
15811 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
15812 (version "0.1.1")
15813 (revision "1"))
15814 (package
15815 (name "emacs-web-server")
15816 (version (git-version version revision commit))
15817 (source
15818 (origin
15819 (method git-fetch)
15820 (uri (git-reference
15821 (url "https://github.com/eschulte/emacs-web-server/")
15822 (commit commit)))
15823 (file-name (git-file-name name version))
15824 (sha256
15825 (base32
15826 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
15827 (build-system emacs-build-system)
15828 (home-page "https://github.com/eschulte/emacs-web-server/")
15829 (synopsis "Web server with handlers in Emacs Lisp")
15830 (description "This package supports HTTP GET and POST requests with
15831 url-encoded parameters, as well as web sockets.")
15832 (license license:gpl3+))))
15833
15834 (define-public emacs-markdown-preview-mode
15835 (package
15836 (name "emacs-markdown-preview-mode")
15837 (version "0.9.2")
15838 (source
15839 (origin
15840 (method git-fetch)
15841 (uri (git-reference
15842 (url "https://github.com/ancane/markdown-preview-mode")
15843 (commit (string-append "v" version))))
15844 (file-name (git-file-name name version))
15845 (sha256
15846 (base32
15847 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
15848 (build-system emacs-build-system)
15849 (propagated-inputs
15850 `(("emacs-markdown-mode" ,emacs-markdown-mode)
15851 ("emacs-websocket" ,emacs-websocket)
15852 ("emacs-web-server" ,emacs-web-server)))
15853 (arguments '(#:include '("\\.el$" "\\.html$")))
15854 (home-page "https://github.com/ancane/markdown-preview-mode")
15855 (synopsis "Live web development in Emacs")
15856 (description "This package provides a minor mode for preview of Markdown
15857 files, and sends rendered Markdown to a web browser.")
15858 (license license:gpl3+)))
15859
15860 (define-public emacs-dotenv-mode
15861 (package
15862 (name "emacs-dotenv-mode")
15863 (version "0.2.4")
15864 (source
15865 (origin
15866 (method git-fetch)
15867 (uri (git-reference
15868 (url "https://github.com/preetpalS/emacs-dotenv-mode")
15869 (commit (string-append "v" version))))
15870 (file-name (git-file-name name version))
15871 (sha256
15872 (base32
15873 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
15874 (build-system emacs-build-system)
15875 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
15876 (synopsis "Major mode for @file{.env} files")
15877 (description "This package provides syntax highlighting for @file{.env}
15878 files.")
15879 (license license:gpl3+)))
15880
15881 (define-public emacs-add-node-modules-path
15882 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
15883 (version "1.2.0")
15884 (revision "10"))
15885 (package
15886 (name "emacs-add-node-modules-path")
15887 (version (git-version version revision commit))
15888 (source
15889 (origin
15890 (method git-fetch)
15891 (uri (git-reference
15892 (url "https://github.com/codesuki/add-node-modules-path")
15893 (commit commit)))
15894 (file-name (git-file-name name version))
15895 (sha256
15896 (base32
15897 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
15898 (build-system emacs-build-system)
15899 (home-page "https://github.com/codesuki/add-node-modules-path")
15900 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
15901 (description "This package searches the parent directories of the
15902 current file for the project's @file{node_modules/.bin/} directory, allowing
15903 Emacs to find project-specific installations of packages.")
15904 (license license:expat))))
15905
15906 (define-public emacs-flow-minor-mode
15907 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
15908 (version "0.3")
15909 (revision "4"))
15910 (package
15911 (name "emacs-flow-minor-mode")
15912 (version (git-version version revision commit))
15913 (source
15914 (origin
15915 (method git-fetch)
15916 (uri (git-reference
15917 (url "https://github.com/an-sh/flow-minor-mode")
15918 (commit commit)))
15919 (file-name (git-file-name name version))
15920 (sha256
15921 (base32
15922 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
15923 (build-system emacs-build-system)
15924 (home-page "https://github.com/an-sh/flow-minor-mode")
15925 (synopsis "Minor mode for JavaScript Flow files")
15926 (description "This package integrates Flow with Emacs, allowing for
15927 definition-jumping and type-checking on demand.")
15928 (license license:bsd-3))))
15929
15930 (define-public emacs-rjsx-mode
15931 (let ((commit "03dd8d1683501e81b58674d64c3032b7b718402c")
15932 (version "0.4.0")
15933 (revision "35"))
15934 (package
15935 (name "emacs-rjsx-mode")
15936 (version (git-version version revision commit))
15937 (source
15938 (origin
15939 (method git-fetch)
15940 (uri (git-reference
15941 (url "https://github.com/felipeochoa/rjsx-mode")
15942 (commit commit)))
15943 (file-name (git-file-name name version))
15944 (sha256
15945 (base32
15946 "1kc44g9f38klpjklmz9n50a28nqv7prz6ck6ghdr6bnj1s98pb8a"))))
15947 (build-system emacs-build-system)
15948 (propagated-inputs
15949 `(("emacs-js2-mode" ,emacs-js2-mode)))
15950 (home-page "https://github.com/felipeochoa/rjsx-mode")
15951 (synopsis "Major mode for JSX files")
15952 (description "This package extends the parser of @code{js2-mode} to
15953 support JSX syntax.")
15954 (license license:expat))))
15955
15956 (define-public emacs-origami-el
15957 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
15958 (version "1.0")
15959 (revision "1"))
15960 (package
15961 (name "emacs-origami-el")
15962 (version (git-version version revision commit))
15963 (source
15964 (origin
15965 (method git-fetch)
15966 (uri (git-reference
15967 (url "https://github.com/gregsexton/origami.el")
15968 (commit commit)))
15969 (file-name (git-file-name name version))
15970 (sha256
15971 (base32
15972 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
15973 (build-system emacs-build-system)
15974 (propagated-inputs
15975 `(("emacs-dash" ,emacs-dash)
15976 ("emacs-s" ,emacs-s)))
15977 (home-page "https://github.com/gregsexton/origami.el")
15978 (synopsis "Flexible text-folding")
15979 (description "This package provides a minor mode for collapsing and
15980 expanding regions of text without modifying the actual contents.")
15981 (license license:expat))))
15982
15983 (define-public emacs-peep-dired
15984 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
15985 (version "0")
15986 (revision "1"))
15987 (package
15988 (name "emacs-peep-dired")
15989 (version (git-version version revision commit))
15990 (source
15991 (origin
15992 (method git-fetch)
15993 (uri (git-reference
15994 (url "https://github.com/asok/peep-dired")
15995 (commit commit)))
15996 (file-name (git-file-name name version))
15997 (sha256
15998 (base32
15999 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
16000 (build-system emacs-build-system)
16001 (home-page "https://github.com/asok/peep-dired")
16002 (synopsis "Preview files in another window")
16003 (description "This package provides a minor mode that allows files to be
16004 previewed by scrolling up and down within a @code{dired} buffer.")
16005 (license license:gpl3+))))
16006
16007 (define-public emacs-counsel-etags
16008 (package
16009 (name "emacs-counsel-etags")
16010 (version "1.8.4")
16011 (source
16012 (origin
16013 (method git-fetch)
16014 (uri (git-reference
16015 (url "https://github.com/redguardtoo/counsel-etags")
16016 (commit version)))
16017 (file-name (git-file-name name version))
16018 (sha256
16019 (base32
16020 "14my9jvxl26a5yn381h5pi5481y9d9gyk7wnxxd0s4sjc964c5h5"))))
16021 (build-system emacs-build-system)
16022 (propagated-inputs
16023 `(("emacs-ivy" ,emacs-ivy)))
16024 (home-page "https://github.com/redguardtoo/counsel-etags")
16025 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
16026 (description "This package uses @code{ivy-mode} to facilitate navigating
16027 and searching through @code{Ctags} files.")
16028 (license license:gpl3+)))
16029
16030 (define-public emacs-org-download
16031 (let ((commit "ac72bf8fce3e855da60687027b6b8601cf1de480")
16032 (version "0.1.0")
16033 (revision "1"))
16034 (package
16035 (name "emacs-org-download")
16036 (version (git-version version revision commit))
16037 (source (origin
16038 (method git-fetch)
16039 (uri (git-reference
16040 (url "https://github.com/abo-abo/org-download")
16041 (commit commit)))
16042 (sha256
16043 (base32
16044 "0ax5wd44765wnwabkam1g2r62gq8crx2qq733s2mg1z72cfvwxqb"))
16045 (file-name (git-file-name name version))))
16046 (build-system emacs-build-system)
16047 (propagated-inputs
16048 `(("emacs-org" ,emacs-org)
16049 ("emacs-async" ,emacs-async)))
16050 (home-page "https://github.com/abo-abo/org-download")
16051 (synopsis "Facilitate moving images")
16052 (description "This package provides utilities for managing image files
16053 copied into @code{org-mode} buffers.")
16054 (license license:gpl3+))))
16055
16056 (define-public emacs-helm-dash
16057 (let ((commit "192b862185df661439a06de644791171e899348a")
16058 (version "1.3.0")
16059 (revision "18"))
16060 (package
16061 (name "emacs-helm-dash")
16062 (version (git-version version revision commit))
16063 (source
16064 (origin
16065 (method git-fetch)
16066 (uri (git-reference
16067 (url "https://github.com/areina/helm-dash")
16068 (commit commit)))
16069 (file-name (git-file-name name version))
16070 (sha256
16071 (base32
16072 "06am5vnr4hsxkvh2b8q8kb80y5x1h3qyv7gwggswwhfa7w2vba3w"))))
16073 (build-system emacs-build-system)
16074 (propagated-inputs
16075 `(("emacs-helm" ,emacs-helm)))
16076 (home-page "https://github.com/areina/helm-dash")
16077 (synopsis "Offline documentation browser for APIs using Dash docsets")
16078 (description "This package uses Helm to install and navigate through
16079 Dash docsets.")
16080 (license license:gpl3+))))
16081
16082 (define-public emacs-counsel-dash
16083 (let ((commit "07fa74a94ff4da5b6c8c4810f5e143e701b480d2")
16084 (version "0.1.3")
16085 (revision "3"))
16086 (package
16087 (name "emacs-counsel-dash")
16088 (version (git-version version revision commit))
16089 (source
16090 (origin
16091 (method git-fetch)
16092 (uri (git-reference
16093 (url "https://github.com/nathankot/counsel-dash")
16094 (commit commit)))
16095 (file-name (git-file-name name version))
16096 (sha256
16097 (base32
16098 "17h2m9zsadq270mkq12kmdzmpbfjiwjbg8n1rg2apqnm1ndgcwf8"))))
16099 (build-system emacs-build-system)
16100 (propagated-inputs
16101 `(("emacs-helm-dash" ,emacs-helm-dash)
16102 ("emacs-dash" ,emacs-dash)
16103 ("emacs-ivy" ,emacs-ivy)))
16104 (home-page "https://github.com/nathankot/counsel-dash")
16105 (synopsis "Offline documentation browser for APIs using Dash docsets")
16106 (description "This package uses @code{ivy-mode} to install and navigate
16107 through Dash docsets.")
16108 (license license:expat))))
16109
16110 (define-public emacs-el-patch
16111 (package
16112 (name "emacs-el-patch")
16113 (version "2.2.3")
16114 (source
16115 (origin
16116 (method git-fetch)
16117 (uri (git-reference
16118 (url "https://github.com/raxod502/el-patch")
16119 (commit version)))
16120 (file-name (git-file-name name version))
16121 (sha256
16122 (base32
16123 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
16124 (build-system emacs-build-system)
16125 (home-page "https://github.com/raxod502/el-patch")
16126 (synopsis "Future-proof your Emacs customizations")
16127 (description "This package allows for an alternate definition of an Elisp
16128 function to be specified and for any differences from the original definition
16129 to be examined using Ediff.")
16130 (license license:expat)))
16131
16132 (define-public emacs-info-plus
16133 (let ((commit "b837d710f7d58db586116cf6f75e75a9a074bc4b")
16134 (version "5101")
16135 (revision "55"))
16136 (package
16137 (name "emacs-info-plus")
16138 (version (git-version version revision commit))
16139 (source
16140 (origin
16141 (method git-fetch)
16142 (uri (git-reference
16143 (url "https://github.com/emacsmirror/info-plus")
16144 (commit commit)))
16145 (file-name (git-file-name name version))
16146 (sha256
16147 (base32
16148 "1knyjkdm4rcs3qrc51jllw46ph7ycq5zxnvl70ydchzfwava43h6"))))
16149 (build-system emacs-build-system)
16150 (home-page "https://github.com/emacsmirror/info-plus")
16151 (synopsis "Extensions to @file{info.el}")
16152 (description "This package extends Emacs' @file{info.el} by allowing
16153 outline-enabled table of contents, additional metadata association for Info
16154 nodes, and more.")
16155 (license license:gpl2+))))
16156
16157 (define-public emacs-eval-sexp-fu-el
16158 (package
16159 (name "emacs-eval-sexp-fu-el")
16160 (version "0.5.0")
16161 (source
16162 (origin
16163 (method git-fetch)
16164 (uri (git-reference
16165 (url "https://github.com/hchbaw/eval-sexp-fu.el")
16166 (commit (string-append "v" version))))
16167 (file-name (git-file-name name version))
16168 (sha256
16169 (base32
16170 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
16171 (build-system emacs-build-system)
16172 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
16173 (synopsis "Enhancements for evaluating s-expressions")
16174 (description "This package provides provides variants of
16175 @code{eval-last-sexp} that work on the containing list or s-expression, as
16176 well as an option for visually flashing evaluated s-expressions.")
16177 (license license:gpl3+)))
16178
16179 (define-public emacs-counsel-tramp
16180 (package
16181 (name "emacs-counsel-tramp")
16182 (version "0.6.3")
16183 (source
16184 (origin
16185 (method git-fetch)
16186 (uri (git-reference
16187 (url "https://github.com/masasam/emacs-counsel-tramp")
16188 (commit version)))
16189 (file-name (git-file-name name version))
16190 (sha256
16191 (base32
16192 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
16193 (build-system emacs-build-system)
16194 (propagated-inputs
16195 `(("emacs-ivy" ,emacs-ivy)))
16196 (home-page "https://github.com/masasam/emacs-counsel-tramp")
16197 (synopsis "Ivy interface for TRAMP")
16198 (description "This package allows @code{ivy-mode} to display and filter
16199 SSH servers.")
16200 (license license:gpl3+)))
16201
16202 (define-public emacs-eacl
16203 (package
16204 (name "emacs-eacl")
16205 (version "2.0.1")
16206 (source
16207 (origin
16208 (method git-fetch)
16209 (uri (git-reference
16210 (url "https://github.com/redguardtoo/eacl")
16211 (commit version)))
16212 (file-name (git-file-name name version))
16213 (sha256
16214 (base32
16215 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
16216 (build-system emacs-build-system)
16217 (propagated-inputs
16218 `(("emacs-ivy" ,emacs-ivy)))
16219 (home-page "https://github.com/redguardtoo/eacl")
16220 (synopsis "Auto-complete lines by using @code{grep} on a project")
16221 (description "This package provides auto-completion cammands for single
16222 and multiple lines of code in a project.")
16223 (license license:gpl3+)))
16224
16225 (define-public emacs-semantic-refactor
16226 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
16227 ;; commits since then.
16228 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
16229 (package
16230 (name "emacs-semantic-refactor")
16231 (version (git-version "0.5" "1" commit))
16232 (source
16233 (origin
16234 (method git-fetch)
16235 (uri (git-reference
16236 (url "https://github.com/tuhdo/semantic-refactor")
16237 (commit commit)))
16238 (file-name (git-file-name name version))
16239 (sha256
16240 (base32
16241 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
16242 (build-system emacs-build-system)
16243 (home-page "https://github.com/tuhdo/semantic-refactor")
16244 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
16245 (description "This package provides a refactoring tool based on the
16246 Emacs Semantic parser framework. For C and C++ it supports operations such as:
16247
16248 @enumerate
16249 @item Generating class implementations
16250 @item Generating function prototypes
16251 @item Converting functions to function pointers
16252 @item Moving semantic units
16253 @item etc...
16254 @end enumerate
16255
16256 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
16257 as:
16258
16259 @enumerate
16260 @item Formatting the whole buffer
16261 @item Converting sexpressions to one or multiple lines
16262 @item etc...
16263 @end enumerate\n")
16264 (license license:gpl3+))))
16265
16266 (define-public emacs-nhexl-mode
16267 (package
16268 (name "emacs-nhexl-mode")
16269 (version "1.2")
16270 (source
16271 (origin
16272 (method url-fetch)
16273 (uri (string-append
16274 "https://elpa.gnu.org/packages/nhexl-mode-"
16275 version ".el"))
16276 (sha256
16277 (base32
16278 "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"))))
16279 (build-system emacs-build-system)
16280 (home-page "http://elpa.gnu.org/packages/nhexl-mode.html")
16281 (synopsis "Minor mode to edit files via hex-dump format")
16282 (description
16283 "This package implements NHexl mode, a minor mode for editing files
16284 in hex dump format. The mode command is called @command{nhexl-mode}.
16285
16286 This minor mode implements similar functionality to @command{hexl-mode},
16287 but using a different implementation technique, which makes it
16288 usable as a \"plain\" minor mode. It works on any buffer, and does
16289 not mess with the undo log or with the major mode.
16290
16291 It also comes with:
16292
16293 @itemize
16294 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
16295 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
16296 (which only work for hex-digits) will only modify the nibble under point.
16297 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
16298 moving text. In this minor mode, not only self-inserting keys overwrite
16299 existing text, but commands like `yank' and @command{kill-region} as well.
16300 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
16301 C-f} to advance by #xa4 characters.
16302 @end itemize\n")
16303 (license license:gpl3+)))
16304
16305 (define-public emacs-helm-wikipedia
16306 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
16307 (package
16308 (name "emacs-helm-wikipedia")
16309 (version (git-version "0.0.0" "1" commit))
16310 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
16311 (source
16312 (origin
16313 (method git-fetch)
16314 (uri (git-reference
16315 (url home-page)
16316 (commit commit)))
16317 (file-name (git-file-name name version))
16318 (sha256
16319 (base32
16320 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
16321 (build-system emacs-build-system)
16322 (inputs
16323 `(("helm" ,emacs-helm)))
16324 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
16325 (description
16326 "This package provides an Emacs Helm interface for search suggestions
16327 and article extracts for Wikipedia.")
16328 (license license:gpl3+))))
16329
16330 (define-public emacs-webfeeder
16331 (package
16332 (name "emacs-webfeeder")
16333 (version "1.0.0")
16334 (source
16335 (origin
16336 (method url-fetch)
16337 (uri (string-append
16338 "https://elpa.gnu.org/packages/webfeeder-"
16339 version
16340 ".tar"))
16341 (sha256
16342 (base32
16343 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
16344 (build-system emacs-build-system)
16345 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
16346 (synopsis "Build RSS and Atom webfeeds from HTML files")
16347 (description
16348 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
16349 files. The various elements of the HTML input are parsed with customizable
16350 functions (e.g. @code{webfeeder-title-function}).")
16351 (license license:gpl3+)))
16352
16353 (define-public emacs-evil-numbers
16354 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
16355 (package
16356 (name "emacs-evil-numbers")
16357 (version (git-version "0.4" "1" commit))
16358 (source (origin
16359 (method git-fetch)
16360 (uri (git-reference
16361 (url "https://github.com/dieggsy/evil-numbers")
16362 (commit commit)))
16363 (file-name (git-file-name name version))
16364 (sha256
16365 (base32
16366 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
16367 (build-system emacs-build-system)
16368 (home-page "https://github.com/dieggsy/evil-numbers")
16369 (synopsis "Increment and decrement numbers in Emacs")
16370 (description "This package increments and decrements binary, octal,
16371 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
16372 number up to EOL and then increments or decrements and keeps zero padding up
16373 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
16374 numbers within that region will be incremented/decremented (unlike in Vim).
16375
16376 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
16377 (license license:gpl3+))))
16378
16379 (define-public emacs-rotate-text
16380 (package
16381 (name "emacs-rotate-text")
16382 (version "0.1")
16383 (source (origin
16384 (method git-fetch)
16385 (uri (git-reference
16386 (url "https://github.com/nschum/rotate-text.el.git")
16387 (commit version)))
16388 (file-name (git-file-name name version))
16389 (sha256
16390 (base32
16391 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
16392 (build-system emacs-build-system)
16393 (home-page "http://nschum.de/src/emacs/rotate-text/")
16394 (synopsis "Cycle through words, symbols and patterns in Emacs")
16395 (description "@code{rotate-text} allows you rotate to commonly
16396 interchanged text with a single keystroke. For example, you can toggle
16397 between \"frame-width\" and \"frame-height\", between \"public\",
16398 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
16399 \"variableN\".")
16400 (license license:gpl2+)))
16401
16402 (define-public emacs-ediprolog
16403 (package
16404 (name "emacs-ediprolog")
16405 (version "1.2")
16406 (source
16407 (origin
16408 (method url-fetch)
16409 (uri (string-append
16410 "https://elpa.gnu.org/packages/ediprolog-"
16411 version
16412 ".el"))
16413 (sha256
16414 (base32
16415 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
16416 (build-system emacs-build-system)
16417 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
16418 (synopsis "Emacs Does Interactive Prolog")
16419 (description "This package provides a major mode that let the user
16420 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
16421 programs and evaluate embedded queries. This mode is focused on the command
16422 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
16423 context, carry out the appropriate action.")
16424 (license license:gpl3+)))
16425
16426 (define-public emacs-evil-cleverparens
16427 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
16428 (revision "1"))
16429 (package
16430 (name "emacs-evil-cleverparens")
16431 (version (git-version "2017-07-17" revision commit))
16432 (source (origin
16433 (method git-fetch)
16434 (uri (git-reference
16435 (url "https://github.com/luxbock/evil-cleverparens.git")
16436 (commit commit)))
16437 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
16438 (file-name (git-file-name name version))))
16439 (build-system emacs-build-system)
16440 (propagated-inputs
16441 `(("emacs-evil" ,emacs-evil)
16442 ("emacs-paredit" ,emacs-paredit)
16443 ("emacs-smartparens" ,emacs-smartparens)))
16444 (home-page "https://github.com/luxbock/evil-cleverparens")
16445 (synopsis "Emacs modal editing optimized for editing Lisp")
16446 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
16447 modal editing with screwing up the structure of Lisp code. Alternatives for
16448 verb commands which would are normally destructive (such as deletion) are
16449 provided. Those alternative commands are and bound by default to their
16450 corresponding Evil keys.")
16451 (license license:expat))))
16452
16453 (define-public emacs-xterm-color
16454 (let ((commit "a452ab38a7cfae97078062ff8885b5d74fd1e5a6")
16455 (version "1.8")
16456 (revision "1"))
16457 (package
16458 (name "emacs-xterm-color")
16459 (version (git-version version revision commit))
16460 (source (origin
16461 (method git-fetch)
16462 (uri (git-reference
16463 (url "https://github.com/atomontage/xterm-color.git")
16464 (commit commit)))
16465 (sha256
16466 (base32
16467 "02kpajb993yshhjhsizpfcbrcndyzkf4dqfipifhxxng50dhp95i"))
16468 (file-name (git-file-name name version))))
16469 (build-system emacs-build-system)
16470 (home-page "https://github.com/atomontage/xterm-color")
16471 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
16472 (description "@code{xterm-color.el} is an ANSI control sequence to
16473 text-property translator.")
16474 (license license:bsd-2))))
16475
16476 (define-public emacs-org-noter
16477 (package
16478 (name "emacs-org-noter")
16479 (version "1.3.0")
16480 (source
16481 (origin
16482 (method url-fetch)
16483 (uri (string-append
16484 "https://stable.melpa.org/packages/org-noter-"
16485 version
16486 ".el"))
16487 (sha256
16488 (base32
16489 "1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
16490 (build-system emacs-build-system)
16491 (propagated-inputs `(("emacs-org" ,emacs-org)))
16492 (home-page "https://github.com/weirdNox/org-noter")
16493 (synopsis "Synchronized, Org-mode, document annotator")
16494 (description
16495 "This package lets you create notes that are kept in sync when you
16496 scroll through the document, but that are external to it---the notes
16497 themselves live in an Org-mode file. As such, this leverages the power of
16498 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
16499 acting like notes that are made @emph{in} the document.")
16500 (license license:gpl3+)))
16501
16502 (define-public emacs-multi-term
16503 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
16504 (package
16505 (name "emacs-multi-term")
16506 (version "1.2")
16507 (source (origin
16508 (method git-fetch)
16509 (uri (git-reference
16510 (url "https://github.com/manateelazycat/multi-term.git")
16511 (commit commit)))
16512 (file-name (git-file-name name version))
16513 (sha256
16514 (base32
16515 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
16516 (build-system emacs-build-system)
16517 (inputs `(("zsh" ,zsh)))
16518 (home-page "https://github.com/manateelazycat/multi-term")
16519 (synopsis "Manage multiple terminal buffers in Emacs")
16520 (description
16521 "This package enhances @code{term.el} with the following features:
16522
16523 @enumerate
16524 @item Functions to switch between multiple terminal buffers
16525 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
16526 the underlying terminal
16527 @item Kills the unused buffer left after exiting the terminal
16528 @item Kills the running sub-processes along with the terminal when killing the
16529 it forcibly
16530 @item Dedicated window for debugging program.
16531 @end enumerate")
16532 (license license:gpl3+))))
16533
16534 (define-public emacs-elpher
16535 (package
16536 (name "emacs-elpher")
16537 (version "1.4.6")
16538 (source
16539 (origin
16540 (method git-fetch)
16541 (uri (git-reference
16542 (url "https://github.com/tgvaughan/elpher")
16543 (commit (string-append "v" version))))
16544 (file-name (git-file-name name version))
16545 (sha256
16546 (base32
16547 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
16548 (build-system emacs-build-system)
16549 (native-inputs
16550 `(("texinfo" ,texinfo)))
16551 (arguments
16552 `(#:phases
16553 (modify-phases %standard-phases
16554 (add-before 'install 'build-doc
16555 (lambda _
16556 (invoke "makeinfo" "elpher.texi"))))))
16557 (home-page "https://github.com/tgvaughan/elpher")
16558 (synopsis "Gopher client for Emacs")
16559 (description "Elpher is a full-featured gopher client for Emacs. Its
16560 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
16561 compatibility with evil-mode, clickable web and gopher links in plain text,
16562 caching of visited sites, pleasant and configurable visualization of Gopher
16563 directories, direct visualisation of image files, jumping directly to links by
16564 name (with autocompletion), a simple bookmark management system and
16565 connections using TLS encryption.")
16566 (license license:gpl3+)))