gnu: rust-clang-sys-0.28: Don't hide package.
[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, 2020 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, 2020 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, 2020 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, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
33 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
34 ;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
35 ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
36 ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org>
37 ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
38 ;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
39 ;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us>
40 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41 ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42 ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
44 ;;; Copyright © 2018, 2019, 2020 Brett Gilio <brettg@gnu.org>
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, 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
50 ;;; Copyright © 2019 Amar Singh <nly@disroot.org>
51 ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
52 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
53 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
54 ;;; Copyright © 2019, 2020 Amin Bandali <mab@gnu.org>
55 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
56 ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
57 ;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
58 ;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
59 ;;; Copyright © 2019 David Wilson <david@daviwil.com>
60 ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
61 ;;;
62 ;;; This file is part of GNU Guix.
63 ;;;
64 ;;; GNU Guix is free software; you can redistribute it and/or modify it
65 ;;; under the terms of the GNU General Public License as published by
66 ;;; the Free Software Foundation; either version 3 of the License, or (at
67 ;;; your option) any later version.
68 ;;;
69 ;;; GNU Guix is distributed in the hope that it will be useful, but
70 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
71 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
72 ;;; GNU General Public License for more details.
73 ;;;
74 ;;; You should have received a copy of the GNU General Public License
75 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
76
77 (define-module (gnu packages emacs-xyz)
78 #:use-module ((guix licenses) #:prefix license:)
79 #:use-module (guix packages)
80 #:use-module (guix cvs-download)
81 #:use-module (guix download)
82 #:use-module (guix git-download)
83 #:use-module (guix hg-download)
84 #:use-module (guix build-system gnu)
85 #:use-module (guix build-system cmake)
86 #:use-module (guix build-system emacs)
87 #:use-module (guix build-system glib-or-gtk)
88 #:use-module (guix build-system perl)
89 #:use-module (guix build-system trivial)
90 #:use-module (gnu packages)
91 #:use-module (gnu packages admin)
92 #:use-module (gnu packages audio)
93 #:use-module (gnu packages bash)
94 #:use-module (gnu packages cmake)
95 #:use-module (gnu packages code)
96 #:use-module (gnu packages cpp)
97 #:use-module (gnu packages curl)
98 #:use-module (gnu packages databases)
99 #:use-module (gnu packages dictionaries)
100 #:use-module (gnu packages emacs)
101 #:use-module (gnu packages guile)
102 #:use-module (gnu packages gtk)
103 #:use-module (gnu packages gnome)
104 #:use-module (gnu packages ncurses)
105 #:use-module (gnu packages python)
106 #:use-module (gnu packages python-xyz)
107 #:use-module (gnu packages telephony)
108 #:use-module (gnu packages terminals)
109 #:use-module (gnu packages tex)
110 #:use-module (gnu packages texinfo)
111 #:use-module (gnu packages tcl)
112 #:use-module (gnu packages tls)
113 #:use-module (gnu packages pkg-config)
114 #:use-module (gnu packages xorg)
115 #:use-module (gnu packages lesstif)
116 #:use-module (gnu packages llvm)
117 #:use-module (gnu packages image)
118 #:use-module (gnu packages linux)
119 #:use-module (gnu packages libevent)
120 #:use-module (gnu packages music)
121 #:use-module (gnu packages version-control)
122 #:use-module (gnu packages imagemagick)
123 #:use-module (gnu packages w3m)
124 #:use-module (gnu packages wget)
125 #:use-module (gnu packages autotools)
126 #:use-module (gnu packages base)
127 #:use-module (gnu packages compression)
128 #:use-module (gnu packages node)
129 #:use-module (gnu packages xml)
130 #:use-module (gnu packages glib)
131 #:use-module (gnu packages acl)
132 #:use-module (gnu packages mail)
133 #:use-module (gnu packages messaging)
134 #:use-module (gnu packages package-management)
135 #:use-module (gnu packages perl)
136 #:use-module (gnu packages pdf)
137 #:use-module (gnu packages scheme)
138 #:use-module (gnu packages speech)
139 #:use-module (gnu packages xiph)
140 #:use-module (gnu packages mp3)
141 #:use-module (gnu packages gettext)
142 #:use-module (gnu packages fribidi)
143 #:use-module (gnu packages gd)
144 #:use-module (gnu packages fontutils)
145 #:use-module (gnu packages password-utils)
146 #:use-module (gnu packages pulseaudio)
147 #:use-module (gnu packages sphinx)
148 #:use-module (gnu packages xdisorg)
149 #:use-module (gnu packages shells)
150 #:use-module (gnu packages sqlite)
151 #:use-module (gnu packages gnupg)
152 #:use-module (gnu packages video)
153 #:use-module (gnu packages haskell-xyz)
154 #:use-module (gnu packages wordnet)
155 #:use-module (guix utils)
156 #:use-module (srfi srfi-1)
157 #:use-module (ice-9 match))
158
159 ;;;
160 ;;; Emacs hacking.
161 ;;;
162
163 (define-public emacs-geiser
164 (package
165 (name "emacs-geiser")
166 (version "0.11")
167 (source (origin
168 (method git-fetch)
169 (uri (git-reference
170 (url "https://gitlab.com/jaor/geiser/")
171 (commit version)))
172 (sha256
173 (base32
174 "0fb2h984hn7bnyiziplp7kgk29zdzc9yainsv0k1li436irlp9dd"))))
175 (build-system gnu-build-system)
176 (arguments
177 '(#:phases
178 (modify-phases %standard-phases
179 (add-after 'install 'post-install
180 (lambda* (#:key outputs #:allow-other-keys)
181 (symlink "geiser-install.el"
182 (string-append (assoc-ref outputs "out")
183 "/share/emacs/site-lisp/"
184 "geiser-autoloads.el"))
185 #t)))))
186 (inputs `(("guile" ,guile-2.2)))
187 (native-inputs
188 `(("emacs" ,emacs-minimal)
189 ("autoconf" ,autoconf)
190 ("automake" ,automake)
191 ("texinfo" ,texinfo)))
192 (home-page "https://nongnu.org/geiser/")
193 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
194 (description
195 "Geiser is a collection of Emacs major and minor modes that conspire with
196 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
197 continuously running Scheme interpreter takes the center of the stage in
198 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
199 implementation, Emacs and, ultimately, the schemer, giving them access to live
200 metadata.")
201 (license license:bsd-3)))
202
203 (define-public geiser
204 (deprecated-package "geiser" emacs-geiser))
205
206 (define-public emacs-paredit
207 (package
208 (name "emacs-paredit")
209 (version "24")
210 (source (origin
211 (method url-fetch)
212 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
213 version ".el"))
214 (sha256
215 (base32
216 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
217 (build-system emacs-build-system)
218 (home-page "http://mumble.net/~campbell/emacs/paredit/")
219 (synopsis "Emacs minor mode for editing parentheses")
220 (description
221 "ParEdit (paredit.el) is a minor mode for performing structured editing
222 of S-expression data. The typical example of this would be Lisp or Scheme
223 source code.
224
225 ParEdit helps **keep parentheses balanced** and adds many keys for moving
226 S-expressions and moving around in S-expressions. Its behavior can be jarring
227 for those who may want transient periods of unbalanced parentheses, such as
228 when typing parentheses directly or commenting out code line by line.")
229 (license license:gpl3+)))
230
231 (define-public paredit
232 (deprecated-package "paredit" emacs-paredit))
233
234 (define-public git-modes
235 (package
236 (name "emacs-git-modes")
237 (version "1.2.8")
238 (source (origin
239 (method git-fetch)
240 (uri (git-reference
241 (url "https://github.com/magit/git-modes")
242 (commit version)))
243 (file-name (git-file-name name version))
244 (sha256
245 (base32
246 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
247 (build-system emacs-build-system)
248 (home-page "https://github.com/magit/git-modes")
249 (synopsis "Emacs major modes for Git configuration files")
250 (description
251 "This package provides Emacs major modes for editing various Git
252 configuration files, such as .gitattributes, .gitignore, and .git/config.")
253 (license license:gpl3+)))
254
255 (define-public git-modes/old-name
256 (deprecated-package "git-modes" git-modes))
257
258 (define-public emacs-with-editor
259 (package
260 (name "emacs-with-editor")
261 (version "2.9.0")
262 (source (origin
263 (method git-fetch)
264 (uri (git-reference
265 (url "https://github.com/magit/with-editor.git")
266 (commit (string-append "v" version))))
267 (file-name (git-file-name name version))
268 (sha256
269 (base32
270 "1sjb3qqrn1rhmpkrn14l8rya6c3gwxwmgw74n779s54kvl9gn7a9"))))
271 (build-system emacs-build-system)
272 (propagated-inputs
273 `(("emacs-dash" ,emacs-dash)))
274 (home-page "https://github.com/magit/with-editor")
275 (synopsis "Emacs library for using Emacsclient as EDITOR")
276 (description
277 "This package provides an Emacs library to use the Emacsclient as
278 @code{$EDITOR} of child processes, making sure they know how to call home.
279 For remote processes a substitute is provided, which communicates with Emacs
280 on stdout instead of using a socket as the Emacsclient does.")
281 (license license:gpl3+)))
282
283 (define-public emacs-magit
284 ;; `magit-setup-buffer' macro introduced in c761d28d and required in
285 ;; `emacs-forge'.
286 (let ((commit "c761d28d49e5238037512b898db0ec9b40d85770"))
287 (package
288 (name "emacs-magit")
289 (version (git-version "2.90.1" "2" commit))
290 (source (origin
291 (method git-fetch)
292 (uri (git-reference
293 (url "https://github.com/magit/magit.git")
294 (commit commit)))
295 (file-name (git-file-name name version))
296 (sha256
297 (base32
298 "16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd"))
299 ;; FIXME: emacs-forge uses a function defined in this patch,
300 ;; which is newer than the current commit.
301 (patches
302 (search-patches
303 "emacs-magit-log-format-author-margin.patch"))
304 (modules '((guix build utils)))
305 (snippet
306 '(begin
307 ;; Fix syntax error
308 (substitute* "lisp/magit-extras.el"
309 (("rev\\)\\)\\)\\)\\)\\)") "rev)))))"))
310 #t))))
311 (build-system gnu-build-system)
312 (native-inputs `(("texinfo" ,texinfo)
313 ("emacs" ,emacs-minimal)))
314 (inputs
315 `(("git" ,git)
316 ("perl" ,perl)))
317 (propagated-inputs
318 `(("dash" ,emacs-dash)
319 ("with-editor" ,emacs-with-editor)
320 ("transient" ,emacs-transient)))
321 (arguments
322 `(#:modules ((guix build gnu-build-system)
323 (guix build utils)
324 (guix build emacs-utils))
325 #:imported-modules (,@%gnu-build-system-modules
326 (guix build emacs-utils))
327 #:test-target "test"
328 #:tests? #f ; tests are not included in the release
329
330 #:make-flags
331 (list (string-append "PREFIX=" %output)
332 ;; Don't put .el files in a sub-directory.
333 (string-append "lispdir=" %output "/share/emacs/site-lisp")
334 (string-append "DASH_DIR="
335 (assoc-ref %build-inputs "dash")
336 "/share/emacs/site-lisp/guix.d/dash-"
337 ,(package-version emacs-dash))
338 (string-append "WITH_EDITOR_DIR="
339 (assoc-ref %build-inputs "with-editor")
340 "/share/emacs/site-lisp/guix.d/with-editor-"
341 ,(package-version emacs-with-editor))
342 (string-append "TRANSIENT_DIR="
343 (assoc-ref %build-inputs "transient")
344 "/share/emacs/site-lisp/guix.d/transient-"
345 ,(package-version emacs-transient)))
346
347 #:phases
348 (modify-phases %standard-phases
349 (add-after 'unpack 'patch
350 (lambda _
351 (chmod "lisp/magit-extras.el" #o644)
352 (emacs-batch-edit-file "lisp/magit-extras.el"
353 `(progn (progn
354 (goto-char (point-min))
355 (re-search-forward "(defun magit-copy-buffer-revision ()")
356 (forward-sexp 2)
357 (kill-sexp)
358 (insert ,(format #f "~S"
359 '(if (use-region-p)
360 (copy-region-as-kill nil nil 'region)
361 (when-let ((rev (cl-case major-mode
362 ((magit-cherry-mode
363 magit-log-select-mode
364 magit-reflog-mode
365 magit-refs-mode
366 magit-revision-mode
367 magit-stash-mode
368 magit-stashes-mode)
369 (car magit-refresh-args))
370 ((magit-diff-mode magit-log-mode)
371 (let ((r (caar magit-refresh-args)))
372 (if (string-match "\\.\\.\\.?\\(.+\\)" r)
373 (match-string 1 r)
374 r)))
375 (magit-status-mode "HEAD"))))
376 (when (magit-commit-p rev)
377 (setq rev (magit-rev-parse rev))
378 (push (list rev default-directory) magit-revision-stack)
379 (kill-new (message "%s" rev))))))))
380 (basic-save-buffer)))
381 #t))
382 (delete 'configure)
383 (add-before
384 'build 'patch-exec-paths
385 (lambda* (#:key inputs #:allow-other-keys)
386 (let ((perl (assoc-ref inputs "perl")))
387 (make-file-writable "lisp/magit-sequence.el")
388 (emacs-substitute-variables "lisp/magit-sequence.el"
389 ("magit-perl-executable" (string-append perl "/bin/perl")))
390 #t))))))
391 (home-page "https://magit.vc/")
392 (synopsis "Emacs interface for the Git version control system")
393 (description
394 "With Magit, you can inspect and modify your Git repositories with Emacs.
395 You can review and commit the changes you have made to the tracked files, for
396 example, and you can browse the history of past changes. There is support for
397 cherry picking, reverting, merging, rebasing, and other common Git
398 operations.")
399 (license license:gpl3+))))
400
401 (define-public magit
402 (deprecated-package "magit" emacs-magit))
403
404 (define-public emacs-magit-svn
405 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
406 (package
407 (name "emacs-magit-svn")
408 (version (git-version "2.2.1" "1" commit))
409 (source (origin
410 (method git-fetch)
411 (uri (git-reference
412 (url "https://github.com/magit/magit-svn")
413 (commit commit)))
414 (file-name (git-file-name name version))
415 (sha256
416 (base32
417 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
418 (build-system trivial-build-system)
419 (native-inputs `(("emacs" ,emacs-minimal)))
420 (propagated-inputs `(("dash" ,emacs-dash)
421 ("with-editor" ,emacs-with-editor)
422 ("magit" ,emacs-magit)
423 ("transient" ,emacs-transient)))
424 (arguments
425 `(#:modules ((guix build utils)
426 (guix build emacs-utils))
427
428 #:builder
429 (begin
430 (use-modules (guix build utils)
431 (guix build emacs-utils))
432
433 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
434 "/bin/emacs"))
435 (magit (string-append (assoc-ref %build-inputs "magit")
436 "/share/emacs/site-lisp"))
437 (transient (string-append (assoc-ref %build-inputs "transient")
438 "/share/emacs/site-lisp/guix.d/transient-"
439 ,(package-version emacs-transient)))
440 (dash (string-append (assoc-ref %build-inputs "dash")
441 "/share/emacs/site-lisp/guix.d/dash-"
442 ,(package-version emacs-dash)))
443 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
444 "/share/emacs/site-lisp/guix.d/with-editor-"
445 ,(package-version emacs-with-editor)))
446 (source (assoc-ref %build-inputs "source"))
447 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
448
449 (install-file (string-append source "/magit-svn.el")
450 lisp-dir)
451
452 (with-directory-excursion lisp-dir
453 (parameterize ((%emacs emacs))
454 (emacs-generate-autoloads ,name lisp-dir)
455 (setenv "EMACSLOADPATH"
456 (string-append ":" magit ":" transient
457 ":" dash ":" with-editor))
458 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
459 #t))))
460 (home-page "https://github.com/magit/magit-svn")
461 (synopsis "Git-SVN extension to Magit")
462 (description
463 "This package is an extension to Magit, the Git Emacs mode, providing
464 support for Git-SVN.")
465 (license license:gpl3+))))
466
467 (define-public magit-svn
468 (deprecated-package "magit-svn" emacs-magit-svn))
469
470 (define-public emacs-magit-popup
471 (package
472 (name "emacs-magit-popup")
473 (version "2.12.5")
474 (source (origin
475 (method git-fetch)
476 (uri (git-reference
477 (url "https://github.com/magit/magit-popup.git")
478 (commit (string-append "v" version))))
479 (file-name (git-file-name name version))
480 (sha256
481 (base32
482 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
483 (build-system emacs-build-system)
484 (arguments
485 `(#:phases
486 (modify-phases %standard-phases
487 (add-before 'install 'make-info
488 (lambda _
489 (invoke "make" "info"))))))
490 (native-inputs
491 `(("texinfo" ,texinfo)))
492 (propagated-inputs
493 `(("emacs-dash" ,emacs-dash)))
494 (home-page "https://github.com/magit/magit-popup")
495 (synopsis "Define prefix-infix-suffix command combos")
496 (description
497 "This library implements a generic interface for toggling switches and
498 setting options and then invoking an Emacs command which does something with
499 these arguments. The prototypical use is for the command to call an external
500 process, passing on the arguments as command line arguments.")
501 (license license:gpl3+)))
502
503 (define-public emacs-minions
504 (package
505 (name "emacs-minions")
506 (version "0.3.2")
507 (source (origin
508 (method git-fetch)
509 (uri (git-reference
510 (url "https://github.com/tarsius/minions.git")
511 (commit (string-append "v" version))))
512 (file-name (git-file-name name version))
513 (sha256
514 (base32
515 "16rplpbfy3dnvqqgavk9jb1f1ihr5875zlixd4zxb1pqxs3jkgw3"))))
516 (build-system emacs-build-system)
517 (propagated-inputs
518 `(("emacs-dash" ,emacs-dash)))
519 (home-page "https://github.com/tarsius/minions")
520 (synopsis "Minor-mode menu for the mode line")
521 (description
522 "This package implements a menu that lists enabled minor-modes, as well
523 as commonly but not currently enabled minor-modes. It can be used to toggle
524 local and global minor-modes, to access mode-specific menus, and to get help
525 about modes.
526
527 This menu is intended as a replacement for the incomplete yet wide list of
528 enabled minor-modes that is displayed in the mode line by default. To use the
529 menu like this, enable Minions mode.
530
531 Alternatively the menu can be bound globally, for example:
532 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
533 (license license:gpl3+)))
534
535 (define-public emacs-treepy
536 (package
537 (name "emacs-treepy")
538 (version "0.1.1")
539 (source (origin
540 (method git-fetch)
541 (uri (git-reference
542 (url "https://github.com/volrath/treepy.el.git")
543 (commit version)))
544 (file-name (git-file-name name version))
545 (sha256
546 (base32
547 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
548 (build-system emacs-build-system)
549 (home-page
550 "https://github.com/volrath/treepy.el")
551 (synopsis "Tree traversal tools")
552 (description
553 "Generic tools for recursive and iterative tree traversal based on
554 clojure.walk and clojure.zip respectively.")
555 (license license:gpl3+)))
556
557 (define-public emacs-graphql
558 (package
559 (name "emacs-graphql")
560 (version "0.1.1")
561 (source (origin
562 (modules '((guix build utils)))
563 ;; Remove examples file with references to external packages as
564 ;; they do not exist at compilation time.
565 (snippet
566 '(begin (delete-file "examples.el")
567 #t))
568 (method git-fetch)
569 (uri (git-reference
570 (url "https://github.com/vermiculus/graphql.el.git")
571 (commit version)))
572 (file-name (git-file-name name version))
573 (sha256
574 (base32
575 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
576 (build-system emacs-build-system)
577 (home-page
578 "https://github.com/vermiculus/graphql.el")
579 (synopsis "GraphQL utilities")
580 (description
581 "GraphQL.el provides a generally-applicable domain-specific language for
582 creating and executing GraphQL queries against your favorite web services.
583 GraphQL is a data query language and runtime designed and used to request and
584 deliver data to mobile and web apps.")
585 (license license:gpl3+)))
586
587 (define-public emacs-ghub
588 ;; We need a newer commit to avoid problems in emacs-forge.
589 (let ((commit "e19cd86ca4768a6d89285123933baa3f1460d696")
590 (revision "2"))
591 (package
592 (name "emacs-ghub")
593 (version (git-version "3.2.0" revision commit))
594 (source (origin
595 (method git-fetch)
596 (uri (git-reference
597 (url "https://github.com/magit/ghub")
598 (commit commit)))
599 (file-name (git-file-name name version))
600 (sha256
601 (base32
602 "1d6f8sxlsl0fpkzwbpnaw77d1a5pkg63zfvf6a2fxir357lbdizx"))))
603 (build-system emacs-build-system)
604 (arguments
605 `(#:phases
606 (modify-phases %standard-phases
607 (add-before 'install 'make-info
608 (lambda _
609 (invoke "make" "info"))))))
610 (native-inputs
611 `(("texinfo" ,texinfo)))
612 (propagated-inputs
613 `(("dash" ,emacs-dash)
614 ("emacs-let-alist" ,emacs-let-alist)
615 ("treepy" ,emacs-treepy)))
616 (home-page "https://github.com/magit/ghub")
617 (synopsis "Emacs client libraries for the APIs of various Git forges")
618 (description
619 "Ghub provides basic support for using the APIs of various Git forges from
620 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
621 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
622 handful of functions that are not resource-specific.")
623 (license license:gpl3+))))
624
625 (define-public emacs-scribble-mode
626 (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
627 (revision "2"))
628 (package
629 (name "emacs-scribble-mode")
630 (version (git-version "0.1" revision commit))
631 (source (origin
632 (method git-fetch)
633 (uri (git-reference
634 (url "https://github.com/emacs-pe/scribble-mode.git")
635 (commit commit)))
636 (file-name (git-file-name name version))
637 (sha256
638 (base32
639 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"))))
640 (build-system emacs-build-system)
641 (home-page "https://github.com/emacs-pe/scribble-mode")
642 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
643 (description
644 "This package provides basic syntax highlighting and editing support
645 for editing Racket's Scribble documentation syntax in Emacs.")
646 (license license:gpl3+))))
647
648 (define-public emacs-shroud
649 (package
650 (name "emacs-shroud")
651 (version "1.105")
652 (source
653 (origin
654 (method git-fetch)
655 (uri (git-reference
656 (url "https://git.savannah.gnu.org/git/emacs-shroud.git")
657 (commit version)))
658 (file-name (git-file-name name version))
659 (sha256
660 (base32 "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"))))
661 (build-system gnu-build-system)
662 (native-inputs
663 `(("autoconf" ,autoconf)
664 ("automake" ,automake)
665 ("texinfo" ,texinfo)
666 ("perl" ,perl)
667 ("emacs-minimal" ,emacs-minimal)))
668 (propagated-inputs
669 `(("emacs-bui" ,emacs-bui)
670 ("emacs-dash" ,emacs-dash)
671 ("emacs-f" ,emacs-f)
672 ("emacs-s" ,emacs-s)
673 ("gnupg" ,gnupg)
674 ("shroud" ,shroud)))
675 (home-page "https://www.nongnu.org/emacs-shroud")
676 (synopsis "Emacs interface to the Shroud password manager")
677 (description
678 "This package provides an Emacs interface to the Shroud password manager,
679 using the Buffers User Interface library. You can view, copy, and edit secrets
680 from within Emacs.")
681 (license license:gpl3+)))
682
683 (define-public emacs-unpackaged-el
684 (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
685 (revision "3"))
686 (package
687 (name "emacs-unpackaged-el")
688 (version (git-version "0" revision commit))
689 (source
690 (origin
691 (method git-fetch)
692 (uri (git-reference
693 (url "https://github.com/alphapapa/unpackaged.el")
694 (commit commit)))
695 (file-name (git-file-name name version))
696 (sha256
697 (base32
698 "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
699 (build-system emacs-build-system)
700 (propagated-inputs
701 `(("emacs-dash" ,emacs-dash)
702 ("emacs-org" ,emacs-org)
703 ("emacs-s" ,emacs-s)
704 ("emacs-hydra" ,emacs-hydra)
705 ("emacs-use-package" ,emacs-use-package)))
706 (arguments
707 `(#:phases
708 (modify-phases %standard-phases
709 (add-after 'unpack 'require-hydra
710 (lambda _
711 (substitute* "unpackaged.el"
712 ((";;; Code:") ";;; Code:\n(require 'hydra)"))
713 #t)))))
714 (home-page "https://github.com/alphapapa/unpackaged.el")
715 (synopsis "Useful snippets of Emacs Lisp code")
716 (description "This package provides Emacs Lisp utilities for a variety
717 of tasks, including version control, task management, and regex-based
718 replacement.")
719 (license license:gpl3+))))
720
721 (define-public emacs-haskell-mode
722 (package
723 (name "emacs-haskell-mode")
724 (version "16.1")
725 (source (origin
726 (method git-fetch)
727 (uri (git-reference
728 (url "https://github.com/haskell/haskell-mode")
729 (commit (string-append "v" version))))
730 (file-name (git-file-name name version))
731 (sha256
732 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
733 (patches
734 (search-patches ; backport test failure fixes
735 "haskell-mode-unused-variables.patch"
736 "haskell-mode-make-check.patch"))))
737 (inputs
738 `(("emacs-el-search" ,emacs-el-search) ; for tests
739 ("emacs-stream" ,emacs-stream))) ; for tests
740 (propagated-inputs
741 `(("emacs-dash" ,emacs-dash)))
742 (native-inputs
743 `(("emacs" ,emacs-minimal)
744 ("texinfo" ,texinfo)))
745 (build-system gnu-build-system)
746 (arguments
747 `(#:make-flags (list (string-append "EMACS="
748 (assoc-ref %build-inputs "emacs")
749 "/bin/emacs"))
750 #:modules ((ice-9 match)
751 (srfi srfi-26)
752 ,@%gnu-build-system-modules)
753 #:phases
754 (modify-phases %standard-phases
755 (delete 'configure)
756 (add-before
757 'build 'pre-build
758 (lambda* (#:key inputs #:allow-other-keys)
759 (define (el-dir store-dir)
760 (match (find-files store-dir "\\.el$")
761 ((f1 f2 ...) (dirname f1))
762 (_ "")))
763
764 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
765 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
766
767 (setenv "SHELL" "sh")
768 (setenv "EMACSLOADPATH"
769 (string-concatenate
770 (map (match-lambda
771 (((? emacs-prefix? name) . dir)
772 (string-append (el-dir dir) ":"))
773 (_ ""))
774 inputs)))
775 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
776 ;; embed filename to fix test failure
777 (let ((file "tests/haskell-cabal-tests.el"))
778 (substitute* file
779 (("\\(buffer-file-name\\)")
780 (format #f "(or (buffer-file-name) ~s)" file))))
781 #t)))
782 (replace
783 'install
784 (lambda* (#:key outputs #:allow-other-keys)
785 (let* ((out (assoc-ref outputs "out"))
786 (el-dir (string-append out "/share/emacs/site-lisp"))
787 (doc (string-append
788 out "/share/doc/haskell-mode-" ,version))
789 (info (string-append out "/share/info")))
790 (define (copy-to-dir dir files)
791 (for-each (lambda (f)
792 (install-file f dir))
793 files))
794
795 (with-directory-excursion "doc"
796 (invoke "makeinfo" "haskell-mode.texi")
797 (install-file "haskell-mode.info" info))
798 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
799 (copy-to-dir el-dir (find-files "." "\\.elc?"))
800 ;; These are part of other packages.
801 (with-directory-excursion el-dir
802 (for-each delete-file '("dash.el" "ert.el")))
803 #t))))))
804 (home-page "https://github.com/haskell/haskell-mode")
805 (synopsis "Haskell mode for Emacs")
806 (description
807 "This is an Emacs mode for editing, debugging and developing Haskell
808 programs.")
809 (license license:gpl3+)))
810
811 (define-public haskell-mode
812 (deprecated-package "haskell-mode" emacs-haskell-mode))
813
814 (define-public emacs-dante
815 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
816 (revision "1"))
817 (package
818 (name "emacs-dante")
819 (version (git-version "1.6" revision commit))
820 (source (origin
821 (method git-fetch)
822 (uri (git-reference
823 (url "https://github.com/jyp/dante")
824 (commit commit)))
825 (sha256
826 (base32
827 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
828 (file-name (git-file-name name version))))
829 (build-system emacs-build-system)
830 (propagated-inputs
831 `(("emacs-dash" ,emacs-dash)
832 ("emacs-f" ,emacs-f)
833 ("emacs-flycheck" ,emacs-flycheck)
834 ("emacs-haskell-mode" ,emacs-haskell-mode)
835 ("emacs-s" ,emacs-s)
836 ("emacs-company" ,emacs-company)
837 ("emacs-lcr" ,emacs-lcr)))
838 (home-page "https://github.com/jyp/dante")
839 (synopsis "Minor mode for interactive Haskell")
840 (description
841 "This package provides a minor mode for Haskell development that
842 supports type hints, definition-jumping, completion, and more.")
843 (license license:gpl3+))))
844
845 (define-public emacs-flycheck
846 ;; last release version was more than 300 commits ago
847 (let ((commit "0006a59259ebd02c9199ddc87f0e3ce22793a2ea")
848 (revision "1"))
849 (package
850 (name "emacs-flycheck")
851 (version (git-version "31" revision commit))
852 (source (origin
853 (method git-fetch)
854 (uri (git-reference
855 (url "https://github.com/flycheck/flycheck/")
856 (commit commit)))
857 (sha256
858 (base32
859 "09q3h6ldpg528cfbmsbb1x2vf5hmzgm3fshqn6kdy144jxcdjlf1"))
860 (file-name (git-file-name name version))))
861 (build-system emacs-build-system)
862 (propagated-inputs
863 `(("emacs-dash" ,emacs-dash)))
864 (native-inputs
865 `(("emacs-shut-up" ,emacs-shut-up)))
866 (arguments
867 `(#:phases
868 (modify-phases %standard-phases
869 (add-after 'unpack 'change-flycheck-version
870 (lambda _
871 (substitute* "flycheck.el"
872 (("\\(pkg-info-version-info 'flycheck\\)")
873 (string-append "\"" ,version "\"")))
874 #t)))
875 ;; TODO: many failing tests
876 #:tests? #f
877 #:test-command '("emacs" "-Q" "--batch" "-L" "."
878 "--load" "test/flycheck-test"
879 "--load" "test/run.el"
880 "-f" "flycheck-run-tests-main")))
881 (home-page "https://www.flycheck.org")
882 (synopsis "On-the-fly syntax checking")
883 (description
884 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
885 replacement for the older Flymake extension which is part of GNU Emacs, with
886 many improvements and additional features.
887
888 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
889 checking for over 30 programming and markup languages with more than 70
890 different tools. It highlights errors and warnings inline in the buffer, and
891 provides an optional IDE-like error list.")
892 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
893
894 (define-public emacs-a
895 (package
896 (name "emacs-a")
897 (version "0.1.1")
898 (source (origin
899 (method git-fetch)
900 (uri (git-reference
901 (url "https://github.com/plexus/a.el.git")
902 (commit (string-append "v" version))))
903 (file-name (git-file-name name version))
904 (sha256
905 (base32
906 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
907 (build-system emacs-build-system)
908 (home-page "https://github.com/plexus/a.el/")
909 (synopsis
910 "Emacs library for dealing with association lists and hash tables")
911 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
912 with associative structures in a uniform and functional way. These functions
913 can take association lists, hash tables, and in some cases vectors (where the
914 index is considered the key).")
915 (license license:gpl3+)))
916
917 (define-public emacs-ace-jump-mode
918 (package
919 (name "emacs-ace-jump-mode")
920 (version "2.0")
921 (home-page "https://github.com/winterTTr/ace-jump-mode")
922 (source (origin
923 (method git-fetch)
924 (uri (git-reference
925 (url home-page)
926 (commit (string-append "v" version))))
927 (sha256
928 (base32
929 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
930 (file-name (git-file-name name version))))
931 (build-system emacs-build-system)
932 (synopsis "Cursor location minor mode for fast navigation")
933 (description "Ace-jump-mode is a fast/direct cursor location minor
934 mode. It creates an N-Branch search tree internally and marks all
935 the possible position with predefined keys in within the whole Emacs
936 view. This allows you to move to the character, word, or line almost
937 directly.")
938 (license license:gpl3+)))
939
940 (define-public emacs-anaphora
941 (package
942 (name "emacs-anaphora")
943 (version "1.0.4")
944 (source
945 (origin
946 (method git-fetch)
947 (uri (git-reference
948 (url "https://github.com/rolandwalker/anaphora.git")
949 (commit (string-append "v" version))))
950 (file-name (git-file-name name version))
951 (sha256
952 (base32
953 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
954 (build-system emacs-build-system)
955 (home-page "https://github.com/rolandwalker/anaphora/")
956 (synopsis "Anaphoric expressions for Emacs Lisp")
957 (description "@code{emacs-anaphora} implements anaphoric expressions for
958 Emacs Lisp.
959
960 Anaphoric expressions implicitly create one or more temporary variables which
961 can be referred to during the expression. This technique can improve clarity
962 in certain cases. It also enables recursion for anonymous functions.")
963 (license license:public-domain)))
964
965 (define-public emacs-xr
966 (package
967 (name "emacs-xr")
968 (version "1.15")
969 (source
970 (origin
971 (method url-fetch)
972 (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
973 (sha256
974 (base32 "0pxzr6n0qa29ly8j3cl46rv9a65ajfcgahrhdylg4yfb9gh1x4ly"))))
975 (build-system emacs-build-system)
976 (home-page "https://elpa.gnu.org/packages/xr.html")
977 (synopsis "Convert string regexp to rx notation")
978 (description
979 "This is an inverse companion to the @code{rx} package for translating
980 regexps in string form to the @code{rx} notation. Its chief uses are:
981
982 @itemize
983 @item Migrating existing code to @code{rx} form, for better readability and
984 maintainability
985 @item Understanding complex regexp strings and finding errors in them
986 @end itemize
987
988 In addition to Emacs regexps, this package can also parse and troubleshoot
989 skip set strings, which are arguments to @code{skip-chars-forward} and
990 @code{skip-chars-backward}.")
991 (license license:gpl3+)))
992
993 (define-public emacs-ample-regexps
994 (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
995 (revision "1"))
996 (package
997 (name "emacs-ample-regexps")
998 (version (git-version "0.1" revision commit))
999 (source
1000 (origin
1001 (method git-fetch)
1002 (uri (git-reference
1003 (url "https://github.com/immerrr/ample-regexps.el")
1004 (commit commit)))
1005 (file-name (git-file-name name version))
1006 (sha256
1007 (base32
1008 "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
1009 (build-system emacs-build-system)
1010 (native-inputs
1011 `(("ert-runner" ,emacs-ert-runner)))
1012 (arguments
1013 `(#:tests? #t
1014 #:test-command '("ert-runner" "-l" "ample-regexps")))
1015 (home-page "https://github.com/immerrr/ample-regexps.el")
1016 (synopsis "Compose and reuse Emacs regexps")
1017 (description
1018 "This package allows common parts of regexps to be easily picked out
1019 and reused.")
1020 (license license:gpl3+))))
1021
1022 (define-public emacs-ample-theme
1023 (let ((commit "536966adf882446165a1f756830028faa792c7a9")
1024 (revision "1"))
1025 (package
1026 (name "emacs-ample-theme")
1027 (version (git-version "0.0.0" revision commit))
1028 (source (origin
1029 (method git-fetch)
1030 (uri (git-reference
1031 (url "https://github.com/jordonbiondo/ample-theme")
1032 (commit commit)))
1033 (file-name (git-file-name name version))
1034 (sha256
1035 (base32
1036 "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
1037 (build-system emacs-build-system)
1038 (home-page "https://github.com/jordonbiondo/ample-theme")
1039 (synopsis "Theme for Emacs providing dark, light, and flat versions")
1040 (description "Ample themes is a collection of three themes sharing a
1041 similar pallet with a light, dark and flat versions with a focus on being easy
1042 on the eyes during night and day. They only support GUI and 256 colour
1043 terminals.")
1044 (license license:gpl3+))))
1045
1046 (define-public emacs-reformatter
1047 (package
1048 (name "emacs-reformatter")
1049 (version "0.4")
1050 (source
1051 (origin
1052 (method git-fetch)
1053 (uri (git-reference
1054 (url "https://github.com/purcell/reformatter.el.git")
1055 (commit version)))
1056 (file-name (git-file-name name version))
1057 (sha256
1058 (base32
1059 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
1060 (build-system emacs-build-system)
1061 (home-page "https://github.com/purcell/reformatter.el")
1062 (synopsis "Define commands which run reformatters on the current buffer")
1063 (description
1064 "This library lets elisp authors easily define an idiomatic command to
1065 reformat the current buffer using a command-line program, together with an
1066 optional minor mode which can apply this command automatically on save.")
1067 (license license:gpl3+)))
1068
1069 (define-public emacs-relint
1070 (package
1071 (name "emacs-relint")
1072 (version "1.13")
1073 (source
1074 (origin
1075 (method url-fetch)
1076 (uri (string-append
1077 "https://elpa.gnu.org/packages/relint-" version ".tar"))
1078 (sha256
1079 (base32 "1kzzlixhd6kp0mkmgn02b7pqv6m55g708xsys7vjskdxbfb6jjib"))))
1080 (build-system emacs-build-system)
1081 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
1082 (home-page "https://github.com/mattiase/relint")
1083 (synopsis "Elisp regexp mistake finder")
1084 (description
1085 "Relint (regular expression lint) scans Elisp files for mistakes in
1086 regexps, including deprecated syntax and bad practice. It also checks the
1087 regexp-like arguments to @code{skip-chars-forward} and
1088 @code{skip-chars-backward}.")
1089 (license license:gpl3+)))
1090
1091 (define-public emacs-bug-hunter
1092 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1093 (revision "1"))
1094 (package
1095 (name "emacs-bug-hunter")
1096 (version (git-version "1.3.1" revision commit))
1097 (source
1098 (origin
1099 (method git-fetch)
1100 (uri (git-reference
1101 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
1102 (commit commit)))
1103 (file-name (git-file-name name commit))
1104 (sha256
1105 (base32
1106 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1107 (build-system emacs-build-system)
1108 (propagated-inputs
1109 `(("emacs-seq" ,emacs-seq)))
1110 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1111 (synopsis "Hunt down errors by bisecting elisp files")
1112 (description
1113 "The Bug Hunter is an Emacs library that finds the source of an error
1114 or unexpected behavior inside an elisp configuration file (typically
1115 @file{init.el} or @file{.emacs}).")
1116 (license license:gpl3+))))
1117
1118 \f
1119 ;;;
1120 ;;; Web browsing.
1121 ;;;
1122
1123 (define-public emacs-w3m
1124 ;; Emacs-w3m follows a "rolling release" model.
1125 (package
1126 (name "emacs-w3m")
1127 (version "2018-11-11")
1128 (source (origin
1129 (method cvs-fetch)
1130 (uri (cvs-reference
1131 (root-directory
1132 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1133 (module "emacs-w3m")
1134 (revision version)))
1135 (file-name (string-append name "-" version "-checkout"))
1136 (sha256
1137 (base32
1138 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1139 (build-system gnu-build-system)
1140 (native-inputs `(("autoconf" ,autoconf)
1141 ("texinfo" ,texinfo)
1142 ("emacs" ,emacs-minimal)))
1143 (inputs `(("w3m" ,w3m)
1144 ("imagemagick" ,imagemagick)))
1145 (arguments
1146 `(#:modules ((guix build gnu-build-system)
1147 (guix build utils)
1148 (guix build emacs-utils))
1149 #:imported-modules (,@%gnu-build-system-modules
1150 (guix build emacs-utils))
1151 #:configure-flags
1152 (let ((out (assoc-ref %outputs "out")))
1153 (list (string-append "--with-lispdir="
1154 out "/share/emacs/site-lisp")
1155 (string-append "--with-icondir="
1156 out "/share/images/emacs-w3m")
1157 ;; Leave .el files uncompressed, otherwise GC can't
1158 ;; identify run-time dependencies. See
1159 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1160 "--without-compress-install"))
1161 #:tests? #f ; no check target
1162 #:phases
1163 (modify-phases %standard-phases
1164 (add-after 'unpack 'autoconf
1165 (lambda _
1166 (invoke "autoconf")))
1167 (add-before 'configure 'support-emacs!
1168 (lambda _
1169 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1170 ;; unsupported.
1171 (substitute* "configure"
1172 (("EMACS_FLAVOR=unsupported")
1173 "EMACS_FLAVOR=emacs"))
1174 #t))
1175 (add-before 'build 'patch-exec-paths
1176 (lambda* (#:key inputs outputs #:allow-other-keys)
1177 (let ((out (assoc-ref outputs "out"))
1178 (w3m (assoc-ref inputs "w3m"))
1179 (imagemagick (assoc-ref inputs "imagemagick"))
1180 (coreutils (assoc-ref inputs "coreutils")))
1181 (make-file-writable "w3m.el")
1182 (emacs-substitute-variables "w3m.el"
1183 ("w3m-command" (string-append w3m "/bin/w3m"))
1184 ("w3m-touch-command"
1185 (string-append coreutils "/bin/touch"))
1186 ("w3m-icon-directory"
1187 (string-append out "/share/images/emacs-w3m")))
1188 (make-file-writable "w3m-image.el")
1189 (emacs-substitute-variables "w3m-image.el"
1190 ("w3m-imagick-convert-program"
1191 (string-append imagemagick "/bin/convert"))
1192 ("w3m-imagick-identify-program"
1193 (string-append imagemagick "/bin/identify")))
1194 #t)))
1195 (replace 'install
1196 (lambda* (#:key outputs #:allow-other-keys)
1197 (invoke "make" "install" "install-icons")
1198 (with-directory-excursion
1199 (string-append (assoc-ref outputs "out")
1200 "/share/emacs/site-lisp")
1201 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1202 (symlink "w3m-load.el" "w3m-autoloads.el")
1203 #t))))))
1204 (home-page "http://emacs-w3m.namazu.org/")
1205 (synopsis "Simple Web browser for Emacs based on w3m")
1206 (description
1207 "Emacs-w3m is an emacs interface for the w3m web browser.")
1208 (license license:gpl2+)))
1209
1210 (define-public emacs-wget
1211 (package
1212 (name "emacs-wget")
1213 (version "0.5.0")
1214 (source (origin
1215 (method url-fetch)
1216 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1217 version ".orig.tar.gz"))
1218 (sha256
1219 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1220 (build-system gnu-build-system)
1221 (inputs `(("wget" ,wget)))
1222 (native-inputs `(("emacs" ,emacs-minimal)))
1223 (arguments
1224 `(#:modules ((guix build gnu-build-system)
1225 (guix build utils)
1226 (guix build emacs-utils))
1227 #:imported-modules (,@%gnu-build-system-modules
1228 (guix build emacs-utils))
1229 #:tests? #f ; no check target
1230 #:phases
1231 (modify-phases %standard-phases
1232 (replace 'configure
1233 (lambda* (#:key outputs #:allow-other-keys)
1234 (substitute* "Makefile"
1235 (("/usr/local") (assoc-ref outputs "out"))
1236 (("/site-lisp/emacs-wget") "/site-lisp"))
1237 #t))
1238 (add-before 'build 'patch-exec-paths
1239 (lambda* (#:key inputs outputs #:allow-other-keys)
1240 (let ((wget (assoc-ref inputs "wget")))
1241 (emacs-substitute-variables "wget.el"
1242 ("wget-command" (string-append wget "/bin/wget"))))
1243 #t))
1244 (add-after 'install 'post-install
1245 (lambda* (#:key outputs #:allow-other-keys)
1246 (emacs-generate-autoloads
1247 "wget" (string-append (assoc-ref outputs "out")
1248 "/share/emacs/site-lisp/"))
1249 #t)))))
1250 (home-page "https://www.emacswiki.org/emacs/EmacsWget")
1251 (synopsis "Simple file downloader for Emacs based on wget")
1252 (description
1253 "Emacs-wget is an emacs interface for the wget file downloader.")
1254 (license license:gpl2+)))
1255
1256 (define-public emacs-eww-lnum
1257 (package
1258 (name "emacs-eww-lnum")
1259 (version "1.1")
1260 (source (origin
1261 (method git-fetch)
1262 (uri (git-reference
1263 (url "https://github.com/m00natic/eww-lnum.git")
1264 (commit version)))
1265 (file-name (git-file-name name version))
1266 (sha256
1267 (base32
1268 "0gs6bi3s2sszc6v2b26929azmn5513kvyin99n4d0ark1jdbjmv2"))))
1269 (build-system emacs-build-system)
1270 (home-page "https://github.com/m00natic/eww-lnum")
1271 (synopsis "Conkeror-like functionality for Eww")
1272 (description "This is extension to the Emacs browser Eww that adds
1273 Conkeror-like functionality. In short, currently visible links, forms,
1274 buttons are temporarily assigned numbers with which the former can be
1275 immediately activated. Also filtering can be applied so selection can be
1276 incrementally confined in Isearch manner.")
1277 (license license:gpl3+)))
1278
1279
1280 \f
1281 ;;;
1282 ;;; Multimedia.
1283 ;;;
1284
1285 (define-public emacs-emms
1286 (package
1287 (name "emacs-emms")
1288 (version "5.3")
1289 (source (origin
1290 (method url-fetch)
1291 (uri (string-append "mirror://gnu/emms/emms-"
1292 version ".tar.gz"))
1293 (sha256
1294 (base32
1295 "00hnv7jjgb2simgrf7gf2y1cyg2syk7kj1hkbac146hlgxk8ngj1"))
1296 (modules '((guix build utils)))
1297 (snippet
1298 '(begin
1299 (substitute* "Makefile"
1300 (("/usr/bin/install-info")
1301 ;; No need to use 'install-info' since it would create a
1302 ;; useless 'dir' file.
1303 "true")
1304 (("^INFODIR=.*")
1305 ;; Install Info files to $out/share/info, not $out/info.
1306 "INFODIR := $(PREFIX)/share/info\n")
1307 (("/site-lisp/emms")
1308 ;; Install directly in share/emacs/site-lisp, not in a
1309 ;; sub-directory.
1310 "/site-lisp")
1311 (("^all: (.*)\n" _ rest)
1312 ;; Build 'emms-print-metadata'.
1313 (string-append "all: " rest " emms-print-metadata\n")))
1314 #t))))
1315 (build-system gnu-build-system)
1316 (arguments
1317 `(#:modules ((guix build gnu-build-system)
1318 (guix build utils)
1319 (guix build emacs-utils)
1320 (ice-9 ftw))
1321 #:imported-modules (,@%gnu-build-system-modules
1322 (guix build emacs-utils))
1323
1324 #:phases
1325 (modify-phases %standard-phases
1326 (replace 'configure
1327 (lambda* (#:key inputs outputs #:allow-other-keys)
1328 (let ((out (assoc-ref outputs "out"))
1329 (flac (assoc-ref inputs "flac"))
1330 (vorbis (assoc-ref inputs "vorbis-tools"))
1331 (alsa (assoc-ref inputs "alsa-utils"))
1332 (mpg321 (assoc-ref inputs "mpg321"))
1333 (mp3info (assoc-ref inputs "mp3info"))
1334 (mutagen (assoc-ref inputs "mutagen"))
1335 (opus (assoc-ref inputs "opus-tools")))
1336 ;; Specify the installation directory.
1337 (substitute* "Makefile"
1338 (("PREFIX=.*$")
1339 (string-append "PREFIX := " out "\n")))
1340
1341 (setenv "SHELL" (which "sh"))
1342 (setenv "CC" "gcc")
1343
1344 ;; Specify the absolute file names of the various
1345 ;; programs so that everything works out-of-the-box.
1346 (with-directory-excursion "lisp"
1347 (emacs-substitute-variables
1348 "emms-player-mpg321-remote.el"
1349 ("emms-player-mpg321-remote-command"
1350 (string-append mpg321 "/bin/mpg321")))
1351 (substitute* "emms-player-simple.el"
1352 (("\"ogg123\"")
1353 (string-append "\"" vorbis "/bin/ogg123\"")))
1354 (substitute* "emms-player-simple.el"
1355 (("\"mpg321\"")
1356 (string-append "\"" mpg321 "/bin/mpg321\"")))
1357 (emacs-substitute-variables "emms-info-ogginfo.el"
1358 ("emms-info-ogginfo-program-name"
1359 (string-append vorbis "/bin/ogginfo")))
1360 (emacs-substitute-variables "emms-info-opusinfo.el"
1361 ("emms-info-opusinfo-program-name"
1362 (string-append opus "/bin/opusinfo")))
1363 (emacs-substitute-variables "emms-info-libtag.el"
1364 ("emms-info-libtag-program-name"
1365 (string-append out "/bin/emms-print-metadata")))
1366 (emacs-substitute-variables "emms-info-mp3info.el"
1367 ("emms-info-mp3info-program-name"
1368 (string-append mp3info "/bin/mp3info")))
1369 (emacs-substitute-variables "emms-info-metaflac.el"
1370 ("emms-info-metaflac-program-name"
1371 (string-append flac "/bin/metaflac")))
1372 (emacs-substitute-variables "emms-source-file.el"
1373 ("emms-source-file-gnu-find" (which "find")))
1374 (substitute* "emms-volume-amixer.el"
1375 (("\"amixer\"")
1376 (string-append "\"" alsa "/bin/amixer\"")))
1377 (substitute* "emms-tag-editor.el"
1378 (("\"mid3v2\"")
1379 (string-append "\"" mutagen "/bin/mid3v2\"")))
1380 #t))))
1381 (add-before 'install 'pre-install
1382 (lambda* (#:key outputs #:allow-other-keys)
1383 ;; The 'install' rule expects the target directories to exist.
1384 (let* ((out (assoc-ref outputs "out"))
1385 (bin (string-append out "/bin"))
1386 (man1 (string-append out "/share/man/man1")))
1387 (mkdir-p bin)
1388 (mkdir-p man1)
1389
1390 ;; Ensure that files are not rejected by gzip
1391 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1392 (ftw "." (lambda (file stat flag)
1393 (unless (<= early-1980 (stat:mtime stat))
1394 (utime file early-1980 early-1980))
1395 #t)))
1396 #t)))
1397 (add-after 'install 'post-install
1398 (lambda* (#:key outputs #:allow-other-keys)
1399 (let ((out (assoc-ref outputs "out")))
1400 (symlink "emms-auto.el"
1401 (string-append out "/share/emacs/site-lisp/"
1402 "emms-autoloads.el")))
1403 #t)))
1404 #:tests? #f))
1405 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1406 ("texinfo" ,texinfo)))
1407 (inputs `(("alsa-utils" ,alsa-utils)
1408 ("flac" ,flac) ;for metaflac
1409 ("vorbis-tools" ,vorbis-tools)
1410 ("mpg321" ,mpg321)
1411 ("taglib" ,taglib)
1412 ("mp3info" ,mp3info)
1413 ("mutagen" ,python-mutagen)
1414 ("opus-tools" ,opus-tools)))
1415 (properties '((upstream-name . "emms")))
1416 (synopsis "Emacs Multimedia System")
1417 (description
1418 "EMMS is the Emacs Multimedia System. It is a small front-end which
1419 can control one of the supported external players. Thus, it supports
1420 whatever formats are supported by your music player. It also
1421 supports tagging and playlist management, all behind a clean and
1422 light user interface.")
1423 (home-page "https://www.gnu.org/software/emms/")
1424 (license license:gpl3+)))
1425
1426 (define-public emacs-emms-player-mpv
1427 ;; A new mpv backend is included in Emms from 5.0.
1428 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1429
1430 (define-public emacs-emms-mode-line-cycle
1431 (package
1432 (name "emacs-emms-mode-line-cycle")
1433 (version "0.2.5")
1434 (source
1435 (origin
1436 (method git-fetch)
1437 (uri (git-reference
1438 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1439 (commit version)))
1440 (file-name (git-file-name name version))
1441 (sha256
1442 (base32
1443 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1444 (build-system emacs-build-system)
1445 (propagated-inputs
1446 `(("emms" ,emacs-emms)))
1447 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1448 (synopsis "Display the EMMS mode line as a ticker")
1449 (description
1450 "This is a minor mode for updating the EMMS mode-line string cyclically
1451 within a specified width. It is useful for displaying long track titles.")
1452 (license license:gpl3+)))
1453
1454 \f
1455 ;;;
1456 ;;; Miscellaneous.
1457 ;;;
1458
1459 (define-public emacs-ace-link
1460 (package
1461 (name "emacs-ace-link")
1462 (version "0.5.0")
1463 (source
1464 (origin
1465 (method git-fetch)
1466 (uri (git-reference
1467 (url "https://github.com/abo-abo/ace-link.git")
1468 (commit version)))
1469 (file-name (git-file-name name version))
1470 (sha256
1471 (base32
1472 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1473 (build-system emacs-build-system)
1474 (propagated-inputs
1475 `(("emacs-avy" ,emacs-avy)))
1476 (home-page "https://github.com/abo-abo/ace-link")
1477 (synopsis "Quickly follow links in Emacs")
1478 (description
1479 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1480 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1481 @code{goto-address-mode} buffer, you can tab through the links to select the
1482 one you want. This is an O(N) operation, where the N is the amount of links.
1483 This package turns this into an O(1) operation. It does so by assigning a
1484 letter to each link using avy.")
1485 (license license:gpl3+)))
1486
1487 (define-public emacs-bbdb
1488 (package
1489 (name "emacs-bbdb")
1490 (version "3.1.2")
1491 (source (origin
1492 (method url-fetch)
1493 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1494 version ".tar.gz"))
1495 (sha256
1496 (base32
1497 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1498 (modules '((guix build utils)))
1499 (snippet
1500 ;; We don't want to build and install the PDF.
1501 '(begin
1502 (substitute* "doc/Makefile.in"
1503 (("^doc_DATA = .*$")
1504 "doc_DATA =\n"))
1505 #t))))
1506 (build-system gnu-build-system)
1507 (arguments
1508 '(#:phases
1509 (modify-phases %standard-phases
1510 (add-after 'install 'post-install
1511 (lambda* (#:key outputs #:allow-other-keys)
1512 ;; Add an autoloads file with the right name for guix.el.
1513 (let* ((out (assoc-ref outputs "out"))
1514 (site (string-append out "/share/emacs/site-lisp")))
1515 (with-directory-excursion site
1516 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1517 #t)))))
1518 (native-inputs `(("emacs" ,emacs-minimal)))
1519 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1520 (synopsis "Contact management utility for Emacs")
1521 (description
1522 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1523 an address book for email and snail mail addresses, phone numbers and the
1524 like. It can be linked with various Emacs mail clients (Message and Mail
1525 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1526 (license license:gpl3+)))
1527
1528 (define-public bbdb
1529 (deprecated-package "bbdb" emacs-bbdb))
1530
1531 (define-public emacs-aggressive-indent
1532 (package
1533 (name "emacs-aggressive-indent")
1534 (version "1.8.3")
1535 (source (origin
1536 (method url-fetch)
1537 (uri (string-append "https://elpa.gnu.org/packages/"
1538 "aggressive-indent-" version ".el"))
1539 (sha256
1540 (base32
1541 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1542 (build-system emacs-build-system)
1543 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1544 (synopsis "Minor mode to aggressively keep your code always indented")
1545 (description
1546 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1547 always indented. It reindents after every change, making it more reliable
1548 than @code{electric-indent-mode}.")
1549 (license license:gpl2+)))
1550
1551 (define-public emacs-link-hint
1552 ;; Last release was in 2015.
1553 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1554 (revision "1"))
1555 (package
1556 (name "emacs-link-hint")
1557 (version (git-version "0.1" revision commit))
1558 (source
1559 (origin
1560 (method git-fetch)
1561 (uri (git-reference
1562 (url "https://github.com/noctuid/link-hint.el")
1563 (commit commit)))
1564 (file-name (git-file-name name version))
1565 (sha256
1566 (base32
1567 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1568 (build-system emacs-build-system)
1569 (propagated-inputs
1570 `(("emacs-avy" ,emacs-avy)))
1571 (home-page "https://github.com/noctuid/link-hint.el")
1572 (synopsis "Vimperator-style link-hinting in Emacs")
1573 (description "This package provides commands for visiting and acting on
1574 links.")
1575 (license license:gpl3+))))
1576
1577 (define-public emacs-ag
1578 (package
1579 (name "emacs-ag")
1580 (version "0.48")
1581 (source (origin
1582 (method git-fetch)
1583 (uri (git-reference
1584 (url "https://github.com/Wilfred/ag.el.git")
1585 (commit version)))
1586 (file-name (git-file-name name version))
1587 (sha256
1588 (base32
1589 "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
1590 (build-system emacs-build-system)
1591 (arguments
1592 `(#:phases
1593 (modify-phases %standard-phases
1594 (add-before 'install 'make-info
1595 (lambda _
1596 (with-directory-excursion "docs"
1597 (invoke "make" "info"))))
1598 (add-after 'install 'install-info
1599 (lambda* (#:key outputs #:allow-other-keys)
1600 (let* ((out (assoc-ref outputs "out"))
1601 (info (string-append out "/share/info")))
1602 (install-file "docs/_build/texinfo/agel.info" info)
1603 #t))))))
1604 (native-inputs
1605 `(("python-sphinx" ,python-sphinx)
1606 ("texinfo" ,texinfo)))
1607 (propagated-inputs
1608 `(("dash" ,emacs-dash)
1609 ("s" ,emacs-s)
1610 ;; We need to use 'ag' as the executable on remote systems.
1611 ("the-silver-searcher" ,the-silver-searcher)))
1612 (home-page "https://github.com/Wilfred/ag.el")
1613 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1614 (description "This package provides the ability to use the silver
1615 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1616 include version control system awareness, use of Perl compatible regular
1617 expressions, editing the search results directly and searching file names
1618 rather than the contents of files.")
1619 (license license:gpl3+)))
1620
1621 (define-public emacs-async
1622 (package
1623 (name "emacs-async")
1624 (home-page "https://github.com/jwiegley/emacs-async")
1625 (version "1.9.4")
1626 (source (origin
1627 (method git-fetch)
1628 (uri (git-reference
1629 (url home-page)
1630 (commit (string-append "v" version))))
1631 (file-name (git-file-name name version))
1632 (sha256
1633 (base32
1634 "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7"))))
1635 (build-system emacs-build-system)
1636 (synopsis "Asynchronous processing in Emacs")
1637 (description
1638 "This package provides the ability to call asynchronous functions and
1639 processes. For example, it can be used to run dired commands (for copying,
1640 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1641 as a library for other Emacs packages.")
1642 (license license:gpl3+)))
1643
1644 (define-public emacs-auctex
1645 (package
1646 (name "emacs-auctex")
1647 (version "12.2.0")
1648 (source
1649 (origin
1650 (method url-fetch)
1651 (uri (string-append "https://elpa.gnu.org/packages/auctex-"
1652 version ".tar"))
1653 (sha256
1654 (base32 "0j919l3q5sq6h1k1kmk4kyv0vkzl4f98fxcd64v34x5q1ahjhg48"))))
1655 (build-system emacs-build-system)
1656 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1657 ;; ('emacs-minimal' does not provide dbus).
1658 (arguments
1659 `(#:emacs ,emacs
1660 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1661 #:exclude '("^tests/" "^latex/README")))
1662 (native-inputs
1663 `(("perl" ,perl)))
1664 (home-page "https://www.gnu.org/software/auctex/")
1665 (synopsis "Integrated environment for TeX")
1666 (description
1667 "AUCTeX is a comprehensive customizable integrated environment for
1668 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1669 or XEmacs.")
1670 (license license:gpl3+)))
1671
1672 (define-public emacs-autothemer
1673 (package
1674 (name "emacs-autothemer")
1675 (version "0.2.2")
1676 (source
1677 (origin
1678 (method git-fetch)
1679 (uri (git-reference
1680 (url "https://github.com/sebastiansturm/autothemer.git")
1681 (commit version)))
1682 (file-name (git-file-name name version))
1683 (sha256
1684 (base32
1685 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1686 (build-system emacs-build-system)
1687 (propagated-inputs
1688 `(("emacs-dash" ,emacs-dash)))
1689 (home-page "https://github.com/sebastiansturm/autothemer")
1690 (synopsis "Conveniently create Emacs themes")
1691 (description
1692 "Autothemer provides a thin layer on top of @code{deftheme} and
1693 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1694 a set of simplified face specifications and a user-supplied color palette")
1695 (license license:gpl3+)))
1696
1697 (define-public emacs-howm
1698 (package
1699 (name "emacs-howm")
1700 (version "1.4.5")
1701 (source
1702 (origin
1703 (method url-fetch)
1704 (uri (string-append "https://howm.sourceforge.jp/a/howm-"
1705 version ".tar.gz"))
1706 (sha256
1707 (base32 "1kvr5pxpc9rwhkza9025mdi0wvh0f0rpawl21rzirjk1x10903yi"))))
1708 (build-system gnu-build-system)
1709 (native-inputs
1710 `(("emacs" ,emacs-minimal)))
1711 (arguments
1712 `(#:configure-flags
1713 (list (string-append "--with-howmdir=" %output
1714 "/share/emacs/site-lisp/"))
1715 #:modules ((guix build gnu-build-system)
1716 ((guix build emacs-build-system) #:prefix emacs:)
1717 (guix build utils))
1718 #:imported-modules (,@%gnu-build-system-modules
1719 (guix build emacs-build-system)
1720 (guix build emacs-utils))
1721 #:phases
1722 (modify-phases %standard-phases
1723 (add-after 'install 'make-autoloads
1724 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1725 (home-page "https://howm.osdn.jp/")
1726 (synopsis "Note-taking tool for Emacs")
1727 (description "Howm is a note-taking tool for Emacs. Like
1728 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1729 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1730 (license license:gpl1+)))
1731
1732 (define-public emacs-calfw
1733 (package
1734 (name "emacs-calfw")
1735 (version "1.6")
1736 (source
1737 (origin
1738 (method git-fetch)
1739 (uri (git-reference
1740 (url "https://github.com/kiwanami/emacs-calfw.git")
1741 (commit (string-append "v" version))))
1742 (file-name (git-file-name name version))
1743 (sha256
1744 (base32
1745 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1746 (build-system emacs-build-system)
1747 (propagated-inputs
1748 `(("emacs-howm" ,emacs-howm)))
1749 (home-page "https://github.com/kiwanami/emacs-calfw/")
1750 (synopsis "Calendar framework for Emacs")
1751 (description
1752 "This package displays a calendar view with various schedule data in the
1753 Emacs buffer.")
1754 (license license:gpl3+)))
1755
1756 (define-public emacs-direnv
1757 (package
1758 (name "emacs-direnv")
1759 (version "2.0.0")
1760 (source
1761 (origin
1762 (method git-fetch)
1763 (uri (git-reference
1764 (url "https://github.com/wbolster/emacs-direnv.git")
1765 (commit version)))
1766 (file-name (git-file-name name version))
1767 (sha256
1768 (base32
1769 "005ibyzsx1fdyrl5iyhqpb1bg83mphzahq7zvw58x00syyqi2z49"))))
1770 (build-system emacs-build-system)
1771 (propagated-inputs
1772 `(("dash" ,emacs-dash)
1773 ("with-editor" ,emacs-with-editor)))
1774 (home-page "https://github.com/wbolster/emacs-direnv")
1775 (synopsis "Direnv integration for Emacs")
1776 (description
1777 "This package provides support for invoking direnv to get the environment
1778 for the current file and updating the environment within Emacs to match.
1779
1780 Direnv can be invoked manually, and a global minor mode is included that will
1781 update the environment when the active buffer changes.
1782
1783 Using emacs-direnv means that programs started from Emacs will use the
1784 environment set through Direnv.")
1785 (license license:gpl3+)))
1786
1787 (define-public emacs-ggtags
1788 (package
1789 (name "emacs-ggtags")
1790 (version "0.8.13")
1791 (source
1792 (origin
1793 (method url-fetch)
1794 (uri (string-append "https://elpa.gnu.org/packages/ggtags-"
1795 version ".el"))
1796 (sha256
1797 (base32
1798 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1799 (build-system emacs-build-system)
1800 (inputs
1801 `(("global" ,global)))
1802 (arguments
1803 `(#:phases
1804 (modify-phases %standard-phases
1805 (add-after 'unpack 'configure
1806 (lambda* (#:key inputs #:allow-other-keys)
1807 (chmod "ggtags.el" #o644)
1808 (emacs-substitute-variables "ggtags.el"
1809 ("ggtags-executable-directory"
1810 (string-append (assoc-ref inputs "global") "/bin")))
1811 #t)))))
1812 (home-page "https://github.com/leoliu/ggtags")
1813 (synopsis "Frontend to the GNU Global source code tagging system")
1814 (description "@code{ggtags} provides a frontend to the GNU Global source
1815 code tagging system.
1816
1817 Features:
1818
1819 @itemize
1820 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1821 @item Automatically update Global's tag files when needed with tuning for
1822 large source trees.
1823 @item Intuitive navigation among multiple matches with mode-line display of
1824 current match, total matches and exit status.
1825 @item Read tag with completion.
1826 @item Show definition at point.
1827 @item Jump to #include files.
1828 @item Support search history and saving a search to register/bookmark.
1829 @item Query replace.
1830 @item Manage Global's environment variables on a per-project basis.
1831 @item Highlight (definition) tag at point.
1832 @item Abbreviated display of file names.
1833 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1834 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1835 @code{pygments} backend.
1836 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1837 @code{cscope} etc.
1838 @item Support projects on remote hosts (e.g. via @code{tramp}).
1839 @item Support eldoc.
1840 @item Search @code{GTAGSLIBPATH} for references and symbols.
1841 @end itemize\n")
1842 (license license:gpl3+)))
1843
1844 (define-public emacs-go-mode
1845 (package
1846 (name "emacs-go-mode")
1847 (version "1.5.0")
1848 (source (origin
1849 (method git-fetch)
1850 (uri (git-reference
1851 (url "https://github.com/dominikh/go-mode.el.git")
1852 (commit (string-append "v" version))))
1853 (file-name (git-file-name name version))
1854 (sha256
1855 (base32
1856 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1857 (build-system emacs-build-system)
1858 (arguments
1859 `(#:phases
1860 (modify-phases %standard-phases
1861 (add-after 'unpack 'make-writable
1862 (lambda _
1863 (for-each make-file-writable (find-files "." "\\.el$"))
1864 #t)))))
1865 (home-page "https://github.com/dominikh/go-mode.el")
1866 (synopsis "Go mode for Emacs")
1867 (description
1868 "This package provides go-mode, an Emacs mode for working with software
1869 written in the Go programming language.")
1870 (license license:bsd-3)))
1871
1872 (define-public emacs-google-maps
1873 (package
1874 (name "emacs-google-maps")
1875 (version "1.0.0")
1876 (source (origin
1877 (method git-fetch)
1878 (uri (git-reference
1879 (url "https://github.com/jd/google-maps.el.git")
1880 (commit version)))
1881 (file-name (git-file-name name version))
1882 (sha256
1883 (base32
1884 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1885 (build-system emacs-build-system)
1886 (home-page "https://github.com/jd/google-maps.el")
1887 (synopsis "Access Google Maps from Emacs")
1888 (description "The @code{google-maps} package allows to display Google
1889 Maps directly inside Emacs.")
1890 (license license:gpl3+)))
1891
1892 (define-public emacs-graphviz-dot-mode
1893 (let ((commit "1574c504d9810f34a85e2ff49b6f7648c2be5f27")
1894 (revision "1"))
1895 (package
1896 (name "emacs-graphviz-dot-mode")
1897 (version (string-append "0.4.1-" revision "."
1898 (string-take commit 7)))
1899 (source (origin
1900 (method git-fetch)
1901 (uri (git-reference
1902 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1903 (commit commit)))
1904 (file-name (git-file-name name version))
1905 (sha256
1906 (base32
1907 "03l6zkkxhbcxj5i13hzjv6ypmzaw70zqqagh7ix1kdn33kpp37jj"))))
1908 (build-system emacs-build-system)
1909 (arguments
1910 `(#:phases
1911 (modify-phases %standard-phases
1912 (add-before 'install 'make-info
1913 (lambda* (#:key inputs #:allow-other-keys)
1914 (with-directory-excursion "texinfo"
1915 (substitute* "Makefile"
1916 (("\\/usr\\/bin\\/gzip")
1917 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1918 (invoke "make"
1919 "clean"
1920 "info"
1921 (string-append "TEXINFODIR="
1922 (assoc-ref inputs "texinfo")
1923 "/bin")))))
1924 (add-after 'install 'install-info
1925 (lambda* (#:key outputs #:allow-other-keys)
1926 (let* ((out (assoc-ref outputs "out"))
1927 (info (string-append out "/share/info")))
1928 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1929 #t))))))
1930 (native-inputs
1931 `(("texinfo" ,texinfo)
1932 ("gzip" ,gzip)))
1933 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1934 (synopsis "Major mode for editing Graphviz Dot files")
1935 (description
1936 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1937 files using the dot syntax, and use Graphviz to convert these files to
1938 diagrams.")
1939 (license license:gpl2+))))
1940
1941 (define-public emacs-mmm-mode
1942 (package
1943 (name "emacs-mmm-mode")
1944 (version "0.5.7")
1945 (source
1946 (origin
1947 (method git-fetch)
1948 (uri (git-reference
1949 (url "https://github.com/purcell/mmm-mode.git")
1950 (commit version)))
1951 (file-name (git-file-name name version))
1952 (sha256
1953 (base32
1954 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1955 (build-system gnu-build-system)
1956 (native-inputs
1957 `(("autoconf" ,autoconf)
1958 ("automake" ,automake)
1959 ("emacs" ,emacs-minimal)
1960 ("texinfo" ,texinfo)))
1961 (home-page "https://github.com/purcell/mmm-mode")
1962 (synopsis "Allow multiple major modes in an Emacs buffer")
1963 (description
1964 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1965 single buffer.")
1966 (license license:gpl3+)))
1967
1968 (define-public emacs-tablist
1969 (package
1970 (name "emacs-tablist")
1971 (version "1.0")
1972 (source (origin
1973 (method git-fetch)
1974 (uri (git-reference
1975 (url "https://github.com/politza/tablist.git")
1976 (commit (string-append "v" version))))
1977 (file-name (git-file-name name version))
1978 (sha256
1979 (base32
1980 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
1981 (build-system emacs-build-system)
1982 (home-page "https://github.com/politza/tablist")
1983 (synopsis "Extension for @code{tabulated-list-mode}")
1984 (description "Tablist is the Emacs package that provides several
1985 additional features to @code{tabulated-list-mode}: it adds marks,
1986 filters, new key bindings and faces. It can be enabled by
1987 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1988 (license license:gpl3+)))
1989
1990 (define-public emacs-djvu
1991 (package
1992 (name "emacs-djvu")
1993 (version "1.1")
1994 (source
1995 (origin
1996 (method url-fetch)
1997 (uri (string-append "https://elpa.gnu.org/packages/"
1998 "djvu-" version ".el"))
1999 (sha256
2000 (base32 "0njgyx09q225hliacsnjk8wallg5i6xkz6bj501pb05nwqfbvfk7"))))
2001 (build-system emacs-build-system)
2002 (home-page "http://elpa.gnu.org/packages/djvu.html")
2003 (synopsis "Edit and view Djvu files via djvused")
2004 (description
2005 "This package is a front end for the command-line program djvused from
2006 DjVuLibre, see @url{http://djvu.sourceforge.net/}. It assumes you have the
2007 programs @command{djvused}, @command{djview}, @command{ddjvu}, and
2008 @command{djvm} installed.")
2009 (license license:gpl3+)))
2010
2011 (define-public emacs-pdf-tools
2012 (package
2013 (name "emacs-pdf-tools")
2014 (version "0.90")
2015 (home-page "https://github.com/politza/pdf-tools")
2016 (source (origin
2017 (method git-fetch)
2018 (uri (git-reference (url home-page)
2019 (commit (string-append "v" version))))
2020 (file-name (git-file-name name version))
2021 (sha256
2022 (base32
2023 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
2024 (build-system gnu-build-system)
2025 (arguments
2026 `(#:tests? #f ; there are no tests
2027 #:modules ((guix build gnu-build-system)
2028 ((guix build emacs-build-system) #:prefix emacs:)
2029 (guix build utils)
2030 (guix build emacs-utils))
2031 #:imported-modules (,@%gnu-build-system-modules
2032 (guix build emacs-build-system)
2033 (guix build emacs-utils))
2034 #:phases
2035 (modify-phases %standard-phases
2036 ;; Build server side using 'gnu-build-system'.
2037 (add-after 'unpack 'enter-server-dir
2038 (lambda _ (chdir "server") #t))
2039 (add-after 'enter-server-dir 'autogen
2040 (lambda _
2041 (invoke "bash" "autogen.sh")))
2042
2043 ;; Build emacs side using 'emacs-build-system'.
2044 (add-after 'compress-documentation 'enter-lisp-dir
2045 (lambda _ (chdir "../lisp") #t))
2046 (add-after 'enter-lisp-dir 'emacs-patch-variables
2047 (lambda* (#:key outputs #:allow-other-keys)
2048 (for-each make-file-writable (find-files "."))
2049
2050 ;; Set path to epdfinfo program.
2051 (emacs-substitute-variables "pdf-info.el"
2052 ("pdf-info-epdfinfo-program"
2053 (string-append (assoc-ref outputs "out")
2054 "/bin/epdfinfo")))
2055 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
2056 ;; upgrading" that pdf-tools tries to perform.
2057 (emacs-substitute-variables "pdf-tools.el"
2058 ("pdf-tools-handle-upgrades" '()))))
2059 (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
2060 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
2061 (add-after 'emacs-add-source-to-load-path 'emacs-install
2062 (assoc-ref emacs:%standard-phases 'install))
2063 (add-after 'emacs-install 'emacs-build
2064 (assoc-ref emacs:%standard-phases 'build))
2065 (add-after 'emacs-install 'emacs-make-autoloads
2066 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
2067 (native-inputs `(("autoconf" ,autoconf)
2068 ("automake" ,automake)
2069 ("pkg-config" ,pkg-config)
2070 ("emacs" ,emacs-minimal)))
2071 (inputs `(("poppler" ,poppler)
2072 ("cairo" ,cairo)
2073 ("glib" ,glib)
2074 ("libpng" ,libpng)
2075 ("zlib" ,zlib)))
2076 (propagated-inputs `(("tablist" ,emacs-tablist)))
2077 (synopsis "Emacs support library for PDF files")
2078 (description
2079 "PDF Tools is, among other things, a replacement of DocView for PDF
2080 files. The key difference is that pages are not pre-rendered by
2081 e.g. ghostscript and stored in the file-system, but rather created on-demand
2082 and stored in memory.")
2083 (license license:gpl3+)))
2084
2085 (define-public emacs-dash
2086 (package
2087 (name "emacs-dash")
2088 (version "2.16.0")
2089 (source (origin
2090 (method git-fetch)
2091 (uri (git-reference
2092 (url "https://github.com/magnars/dash.el.git")
2093 (commit version)))
2094 (file-name (git-file-name name version))
2095 (sha256
2096 (base32
2097 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
2098 (build-system emacs-build-system)
2099 (arguments
2100 `(#:tests? #t
2101 #:test-command '("./run-tests.sh")))
2102 (home-page "https://github.com/magnars/dash.el")
2103 (synopsis "Modern list library for Emacs")
2104 (description "This package provides a modern list API library for Emacs.")
2105 (license license:gpl3+)))
2106
2107 (define-public emacs-bui
2108 (package
2109 (name "emacs-bui")
2110 (version "1.2.1")
2111 (source (origin
2112 (method git-fetch)
2113 (uri (git-reference
2114 (url "https://notabug.org/alezost/emacs-bui.git")
2115 (commit (string-append "v" version))))
2116 (file-name (git-file-name name version))
2117 (sha256
2118 (base32
2119 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
2120 (build-system emacs-build-system)
2121 (propagated-inputs
2122 `(("dash" ,emacs-dash)))
2123 (home-page "https://notabug.org/alezost/emacs-bui")
2124 (synopsis "Buffer interface library for Emacs")
2125 (description
2126 "BUI (Buffer User Interface) is a library for making @code{list} and
2127 @code{info} interfaces to display an arbitrary data of the same
2128 type, for example: packages, buffers, files, etc.")
2129 (license license:gpl3+)))
2130
2131 (define-public emacs-guix
2132 (package
2133 (name "emacs-guix")
2134 (version "0.5.2")
2135 (source (origin
2136 (method url-fetch)
2137 (uri (string-append "https://emacs-guix.gitlab.io/website/"
2138 "releases/emacs-guix-" version ".tar.gz"))
2139 (sha256
2140 (base32
2141 "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps"))))
2142 (build-system gnu-build-system)
2143 (arguments
2144 `(#:configure-flags
2145 (let ((guix (assoc-ref %build-inputs "guix"))
2146 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
2147 (geiser (assoc-ref %build-inputs "geiser"))
2148 (dash (assoc-ref %build-inputs "dash"))
2149 (bui (assoc-ref %build-inputs "bui"))
2150 (magit-popup (assoc-ref %build-inputs "magit-popup"))
2151 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
2152 (site-lisp "/share/emacs/site-lisp")
2153 (site-scm "/share/guile/site")
2154 (site-go "/lib/guile")
2155 (guile-dir (lambda (dir)
2156 (car (find-files dir
2157 (lambda (file stat)
2158 (string-prefix?
2159 "2." (basename file)))
2160 #:directories? #t)))))
2161 (list (string-append "--with-guix-site-dir="
2162 (guile-dir (string-append guix site-scm)))
2163 (string-append "--with-guix-site-ccache-dir="
2164 (guile-dir (string-append guix site-go))
2165 "/site-ccache")
2166 (string-append "--with-guile-gcrypt-site-dir="
2167 (guile-dir (string-append gcrypt site-scm)))
2168 (string-append "--with-guile-gcrypt-site-ccache-dir="
2169 (guile-dir (string-append gcrypt site-go))
2170 "/site-ccache")
2171 (string-append "--with-geiser-lispdir=" geiser site-lisp)
2172 (string-append "--with-dash-lispdir="
2173 dash site-lisp "/guix.d/dash-"
2174 ,(package-version emacs-dash))
2175 (string-append "--with-bui-lispdir="
2176 bui site-lisp "/guix.d/bui-"
2177 ,(package-version emacs-bui))
2178 (string-append "--with-editindirect-lispdir="
2179 edit-indirect site-lisp "/guix.d/edit-indirect-"
2180 ,(package-version emacs-edit-indirect))
2181 (string-append "--with-popup-lispdir="
2182 magit-popup site-lisp "/guix.d/magit-popup-"
2183 ,(package-version emacs-magit-popup))))))
2184 (native-inputs
2185 `(("pkg-config" ,pkg-config)
2186 ("emacs" ,emacs-minimal)))
2187 (inputs
2188 `(("guile" ,guile-2.2)
2189 ("guix" ,guix)))
2190 (propagated-inputs
2191 `(("geiser" ,emacs-geiser)
2192 ("guile-gcrypt" ,guile-gcrypt)
2193 ("dash" ,emacs-dash)
2194 ("bui" ,emacs-bui)
2195 ("edit-indirect" ,emacs-edit-indirect)
2196 ("magit-popup" ,emacs-magit-popup)))
2197 (home-page "https://emacs-guix.gitlab.io/website/")
2198 (synopsis "Emacs interface for GNU Guix")
2199 (description
2200 "Emacs-Guix provides a visual interface, tools and features for the GNU
2201 Guix package manager. Particularly, it allows you to do various package
2202 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2203 @code{M-x guix-help} command.")
2204 (license license:gpl3+)))
2205
2206 (define-public emacs-build-farm
2207 (package
2208 (name "emacs-build-farm")
2209 (version "0.2.2")
2210 (source (origin
2211 (method git-fetch)
2212 (uri (git-reference
2213 (url "https://notabug.org/alezost/emacs-build-farm.git")
2214 (commit (string-append "v" version))))
2215 (file-name (git-file-name name version))
2216 (sha256
2217 (base32
2218 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2219 (build-system emacs-build-system)
2220 (propagated-inputs
2221 `(("bui" ,emacs-bui)
2222 ("magit-popup" ,emacs-magit-popup)))
2223 (home-page "https://notabug.org/alezost/emacs-build-farm")
2224 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2225 (description
2226 "This Emacs package provides an interface for Hydra and
2227 Cuirass (build farms used by Nix and Guix). It allows you to look at
2228 various data related to the build farm projects, jobsets, builds and
2229 evaluations. The entry point is @code{M-x build-farm} command.")
2230 (license license:gpl3+)))
2231
2232 (define-public emacs-d-mode
2233 (package
2234 (name "emacs-d-mode")
2235 (version "2.0.10")
2236 (source
2237 (origin
2238 (method git-fetch)
2239 (uri (git-reference
2240 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2241 (commit version)))
2242 (file-name (git-file-name name version))
2243 (sha256
2244 (base32 "0915kb9jcaixgindhj85fmykkhvj31ckp1yg6746fznwdgfrlifv"))))
2245 (build-system emacs-build-system)
2246 (propagated-inputs
2247 `(("emacs-undercover" ,emacs-undercover)))
2248 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2249 (synopsis "Emacs major mode for editing D code")
2250 (description "This package provides an Emacs major mode for highlighting
2251 code written in the D programming language. This mode is currently known to
2252 work with Emacs 24 and 25.")
2253 (license license:gpl2+)))
2254
2255 (define-public emacs-extempore-mode
2256 ;; Use the latest commit at time of packaging. There are no releases or tags.
2257 (let ((commit "848ad0084f27b92d1cf98dabffbad29f959a642d")
2258 (revision "1"))
2259 (package
2260 (name "emacs-extempore-mode")
2261 (version (git-version "0.0.0" revision commit))
2262 (source
2263 (origin
2264 (method git-fetch)
2265 (uri (git-reference
2266 (url "https://github.com/extemporelang/extempore-emacs-mode.git")
2267 (commit commit)))
2268 (file-name (git-file-name name version))
2269 (sha256
2270 (base32 "00wr025php7nl33x541s9rjm99hj0jbdcmnw9ljx5hqpm04aqm7c"))))
2271 (build-system emacs-build-system)
2272 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
2273 (synopsis "Emacs major mode for Extempore source files")
2274 (description
2275 "This package provides a major mode for editing Extempore code. It can
2276 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
2277 running Extempore process, and more.")
2278 (license license:bsd-2))))
2279
2280 (define-public emacs-keyfreq
2281 (package
2282 (name "emacs-keyfreq")
2283 (version "20160516.716")
2284 (source
2285 (origin
2286 (method url-fetch)
2287 (uri (string-append "http://melpa.org/packages/keyfreq-"
2288 version ".el"))
2289 (sha256
2290 (base32
2291 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2292 (build-system emacs-build-system)
2293 (home-page "https://github.com/dacap/keyfreq")
2294 (synopsis "Track Emacs command frequencies")
2295 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2296 a command.")
2297 (license license:gpl3+)))
2298
2299 (define-public emacs-olivetti
2300 (package
2301 (name "emacs-olivetti")
2302 (version "1.8.1")
2303 (source (origin
2304 (method git-fetch)
2305 (uri (git-reference
2306 (url "https://github.com/rnkn/olivetti.git")
2307 (commit (string-append "v" version))))
2308 (file-name (git-file-name name version))
2309 (sha256
2310 (base32
2311 "1fbj9s49y5yx5i429awv9rybacfgvhwp7v5h0zw67bpgx4qs44pa"))))
2312 (build-system emacs-build-system)
2313 (home-page "https://github.com/rnkn/olivetti")
2314 (synopsis "Emacs minor mode for a nice writing environment")
2315 (description "This package provides an Emacs minor mode that puts writing
2316 in the center.")
2317 (license license:gpl3+)))
2318
2319 (define-public emacs-undo-tree
2320 (package
2321 (name "emacs-undo-tree")
2322 (version "0.7.1")
2323 (source (origin
2324 (method git-fetch)
2325 (uri (git-reference
2326 (url "http://dr-qubit.org/git/undo-tree.git")
2327 (commit (string-append "release/" version))))
2328 (file-name (git-file-name name version))
2329 (sha256
2330 (base32
2331 "1nr0149y2nvrxj56gc12jqnfl01g6z9ypfsgl6pfg85cw73hnggk"))))
2332 (build-system emacs-build-system)
2333 (home-page "http://www.dr-qubit.org/emacs.php")
2334 (synopsis "Treat undo history as a tree")
2335 (description "Tree-like interface to Emacs undo system, providing
2336 graphical tree presentation of all previous states of buffer that
2337 allows easily move between them.")
2338 (license license:gpl3+)))
2339
2340 (define-public emacs-s
2341 (package
2342 (name "emacs-s")
2343 (version "1.12.0")
2344 (source
2345 (origin
2346 (method git-fetch)
2347 (uri (git-reference
2348 (url "https://github.com/magnars/s.el.git")
2349 (commit version)))
2350 (file-name (git-file-name name version))
2351 (sha256
2352 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2353 (build-system emacs-build-system)
2354 (arguments
2355 `(#:tests? #t
2356 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2357 #:test-command '("./run-tests.sh")))
2358 (home-page "https://github.com/magnars/s.el")
2359 (synopsis "Emacs string manipulation library")
2360 (description "This package provides an Emacs library for manipulating
2361 strings.")
2362 (license license:gpl3+)))
2363
2364 (define-public emacs-symon
2365 (package
2366 (name "emacs-symon")
2367 (version "20160630")
2368 (source
2369 (origin
2370 (method git-fetch)
2371 (uri (git-reference
2372 (url "https://github.com/zk-phi/symon.git")
2373 (commit version)))
2374 (file-name (git-file-name name version))
2375 (sha256
2376 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2377 (build-system emacs-build-system)
2378 (home-page "https://github.com/zk-phi/symon")
2379 (synopsis "Tiny graphical system monitor")
2380 (description
2381 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2382 (license license:gpl2+)))
2383
2384 (define-public emacs-sx
2385 (let ((version "20180212")
2386 (revision "1")
2387 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2388 (package
2389 (name "emacs-sx")
2390 (version (git-version version revision commit))
2391 (source
2392 (origin
2393 (method git-fetch)
2394 (uri (git-reference
2395 (url "https://github.com/vermiculus/sx.el")
2396 (commit commit)))
2397 (file-name (git-file-name name version))
2398 (sha256
2399 (base32
2400 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2401 (build-system emacs-build-system)
2402 (propagated-inputs
2403 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2404 (home-page "https://github.com/vermiculus/sx.el")
2405 (synopsis "Emacs StackExchange client")
2406 (description
2407 "Emacs StackExchange client. Ask and answer questions on
2408 Stack Overflow, Super User, and other StackExchange sites.")
2409 (license license:gpl3+))))
2410
2411 (define-public emacs-f
2412 (package
2413 (name "emacs-f")
2414 (version "0.20.0")
2415 (source (origin
2416 (method git-fetch)
2417 (uri (git-reference
2418 (url "https://github.com/rejeep/f.el.git")
2419 (commit (string-append "v" version))))
2420 (file-name (git-file-name name version))
2421 (sha256
2422 (base32
2423 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2424 (build-system emacs-build-system)
2425 (propagated-inputs
2426 `(("emacs-s" ,emacs-s)
2427 ("emacs-dash" ,emacs-dash)))
2428 (home-page "https://github.com/rejeep/f.el")
2429 (synopsis "Emacs API for working with files and directories")
2430 (description "This package provides an Emacs library for working with
2431 files and directories.")
2432 (license license:gpl3+)))
2433
2434 (define-public emacs-fringe-helper
2435 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
2436 (revision "1"))
2437 (package
2438 (name "emacs-fringe-helper")
2439 (version (git-version "1.0.1" revision commit))
2440 (source
2441 (origin
2442 (method git-fetch)
2443 (uri (git-reference
2444 (url "https://github.com/nschum/fringe-helper.el.git")
2445 (commit commit)))
2446 (file-name (git-file-name name version))
2447 (sha256
2448 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
2449 (build-system emacs-build-system)
2450 (arguments
2451 `(#:tests? #t
2452 #:test-command '("emacs" "--batch"
2453 "-l" "tests.el"
2454 "-f" "ert-run-tests-batch-and-exit")))
2455 (home-page "https://github.com/nschum/fringe-helper.el")
2456 (synopsis "Helper functions for fringe bitmaps")
2457 (description
2458 "This package allows fringe bitmaps to be defined with a visual string
2459 representation.")
2460 (license license:gpl2+))))
2461
2462 (define-public emacs-git-gutter
2463 (package
2464 (name "emacs-git-gutter")
2465 (version "0.90")
2466 (source
2467 (origin
2468 (method git-fetch)
2469 (uri (git-reference
2470 (url "https://github.com/syohex/emacs-git-gutter.git")
2471 (commit version)))
2472 (file-name (git-file-name name version))
2473 (sha256
2474 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2475 (build-system emacs-build-system)
2476 (home-page "https://github.com/syohex/emacs-git-gutter")
2477 (synopsis "See and manage hunks of text in a version control system")
2478 (description
2479 "This package is an Emacs minor mode for displaying and interacting with
2480 hunks of text managed in a version control system. Added modified and deleted
2481 areas can be indicated with symbols on the edge of the buffer, and commands
2482 can be used to move between and perform actions on these hunks.
2483
2484 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2485 display and behaviour is easily customisable.")
2486 (license license:gpl3+)))
2487
2488 (define-public emacs-git-gutter-fringe
2489 (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
2490 (revision "1"))
2491 (package
2492 (name "emacs-git-gutter-fringe")
2493 (version (git-version "0.23" revision commit))
2494 (source
2495 (origin
2496 (method git-fetch)
2497 (uri (git-reference
2498 (url "https://github.com/syohex/git-gutter-fringe.git")
2499 (commit commit)))
2500 (file-name (git-file-name name version))
2501 (sha256
2502 (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
2503 (build-system emacs-build-system)
2504 (propagated-inputs
2505 `(("emacs-git-gutter" ,emacs-git-gutter)
2506 ("emacs-fringe-helper" ,emacs-fringe-helper)))
2507 (home-page "https://github.com/syohex/git-gutter-fringe")
2508 (synopsis "See and manage hunks of text in a version control system")
2509 (description
2510 "This package extends @code{git-gutter} to use the fringe area of a
2511 window.")
2512 (license license:gpl3+))))
2513
2514 (define-public emacs-git-link
2515 (package
2516 (name "emacs-git-link")
2517 (version "0.7.5")
2518 (source
2519 (origin
2520 (method git-fetch)
2521 (uri (git-reference
2522 (url "https://github.com/sshaw/git-link.git")
2523 (commit (string-append "v" version))))
2524 (file-name (git-file-name name version))
2525 (sha256
2526 (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
2527 (build-system emacs-build-system)
2528 (arguments
2529 `(#:tests? #t
2530 #:test-command '("make" "test")))
2531 (home-page "https://github.com/sshaw/git-link")
2532 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
2533 (description
2534 "@code{git-link} returns the URL for the current buffer's file location
2535 at the current line number or active region. @code{git-link-commit} returns
2536 the URL for a commit. URLs are added to the kill ring.")
2537 (license license:gpl3+)))
2538
2539 (define-public emacs-apheleia
2540 (package
2541 (name "emacs-apheleia")
2542 (version "1.0")
2543 (source
2544 (origin
2545 (method git-fetch)
2546 (uri (git-reference
2547 (url "https://github.com/raxod502/apheleia.git")
2548 (commit (string-append "v" version))))
2549 (file-name (git-file-name name version))
2550 (sha256
2551 (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
2552 (build-system emacs-build-system)
2553 (home-page "https://github.com/raxod502/apheleia")
2554 (synopsis "Reformat buffer stably")
2555 (description
2556 "This package allows for a buffer to be reformatted without moving point,
2557 so that running a formatting tool like @code{Prettier} or @code{Black} upon
2558 saving won't move point back to the beginning of the buffer.")
2559 (license license:gpl3+)))
2560
2561 (define-public emacs-git-timemachine
2562 (package
2563 (name "emacs-git-timemachine")
2564 (version "4.11")
2565 (source
2566 (origin
2567 (method git-fetch)
2568 (uri (git-reference
2569 (url "https://gitlab.com/pidu/git-timemachine.git")
2570 (commit version)))
2571 (file-name (git-file-name name version))
2572 (sha256
2573 (base32
2574 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
2575 (build-system emacs-build-system)
2576 (propagated-inputs
2577 `(("emacs-transient" ,emacs-transient)))
2578 (home-page "https://gitlab.com/pidu/git-timemachine")
2579 (synopsis "Step through historic versions of Git-controlled files")
2580 (description "This package enables you to step through historic versions
2581 of files under Git version control from within Emacs.")
2582 (license license:gpl3+)))
2583
2584 (define-public emacs-minitest
2585 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2586 (revision "1"))
2587 (package
2588 (name "emacs-minitest")
2589 (version (git-version "0.8.0" revision commit))
2590 (source (origin
2591 (method git-fetch)
2592 (uri (git-reference
2593 (url "https://github.com/arthurnn/minitest-emacs")
2594 (commit commit)))
2595 (file-name (git-file-name name commit))
2596 (sha256
2597 (base32
2598 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2599 (build-system emacs-build-system)
2600 (arguments
2601 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2602 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2603 (propagated-inputs
2604 `(("emacs-dash" ,emacs-dash)
2605 ("emacs-f" ,emacs-f)))
2606 (home-page "https://github.com/arthurnn/minitest-emacs")
2607 (synopsis "Emacs minitest mode")
2608 (description
2609 "The minitest mode provides commands to run the tests for the current
2610 file or line, as well as rerunning the previous tests, or all the tests for a
2611 project.
2612
2613 This package also includes relevant snippets for yasnippet.")
2614 (license license:expat))))
2615
2616 (define-public emacs-el-mock
2617 (package
2618 (name "emacs-el-mock")
2619 (version "1.25.1")
2620 (source
2621 (origin
2622 (method git-fetch)
2623 (uri (git-reference
2624 (url "https://github.com/rejeep/el-mock.el.git")
2625 (commit (string-append "v" version))))
2626 (file-name (git-file-name name version))
2627 (sha256
2628 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2629 (build-system emacs-build-system)
2630 (home-page "https://github.com/rejeep/el-mock.el")
2631 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2632 (description
2633 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2634 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2635 Expectations, but it can be used in other contexts.")
2636 (license license:gpl3+)))
2637
2638 (define-public emacs-espuds
2639 (package
2640 (name "emacs-espuds")
2641 (version "0.3.3")
2642 (source
2643 (origin
2644 (method git-fetch)
2645 (uri (git-reference
2646 (url "https://github.com/ecukes/espuds.git")
2647 (commit (string-append "v" version))))
2648 (file-name (git-file-name name version))
2649 (sha256
2650 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2651 (build-system emacs-build-system)
2652 (propagated-inputs
2653 `(("emacs-s" ,emacs-s)
2654 ("emacs-dash" ,emacs-dash)
2655 ("emacs-f" ,emacs-f)))
2656 (home-page "https://github.com/ecukes/espuds")
2657 (synopsis "Common step definitions for Ecukes")
2658 (description "Espuds is a collection of the most commonly used step
2659 definitions for testing with the Ecukes framework.")
2660 (license license:gpl3+)))
2661
2662 (define-public emacs-spark
2663 (let ((version "20160503") ; no proper tag, use date of commit
2664 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2665 (revision "1"))
2666 (package
2667 (name "emacs-spark")
2668 (version (git-version version revision commit))
2669 (source
2670 (origin
2671 (method git-fetch)
2672 (uri (git-reference
2673 (url "https://github.com/alvinfrancis/spark.git")
2674 (commit commit)))
2675 (file-name (git-file-name name version))
2676 (sha256
2677 (base32
2678 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2679 (build-system emacs-build-system)
2680 (home-page "https://github.com/alvinfrancis/spark")
2681 (synopsis "Sparkline generation library for Emacs Lisp")
2682 (description "@code{emacs-spark} is a sparkline generation library for
2683 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2684 port of @code{cl-spark} to Emacs Lisp.")
2685 (license license:expat))))
2686
2687 (define-public emacs-es-mode
2688 (package
2689 (name "emacs-es-mode")
2690 (version "4.3.0")
2691 (source
2692 (origin
2693 (method git-fetch)
2694 (uri (git-reference
2695 (url "https://github.com/dakrone/es-mode.git")
2696 (commit version)))
2697 (file-name (git-file-name name version))
2698 (sha256
2699 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2700 (build-system emacs-build-system)
2701 (propagated-inputs
2702 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2703 ;; to be rendered incorrectly
2704 `(("emacs-dash" ,emacs-dash)
2705 ("emacs-org" ,emacs-org)
2706 ("emacs-spark" ,emacs-spark)))
2707 (home-page "https://github.com/dakrone/es-mode")
2708 (synopsis "Major mode for editing Elasticsearch queries")
2709 (description "@code{es-mode} includes highlighting, completion and
2710 indentation support for Elasticsearch queries. Also supported are
2711 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2712 be processed through @code{jq}, or in the case of aggregations, can be
2713 rendered in to a table. In addition, there is an @code{es-command-center}
2714 mode, which displays information about Elasticsearch clusters.")
2715 (license license:gpl3+)))
2716
2717 (define-public emacs-expand-region
2718 (package
2719 (name "emacs-expand-region")
2720 (version "0.11.0")
2721 (source
2722 (origin
2723 (method git-fetch)
2724 (uri (git-reference
2725 (url "https://github.com/magnars/expand-region.el.git")
2726 (commit version)))
2727 (file-name (git-file-name name version))
2728 (sha256
2729 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2730 (build-system emacs-build-system)
2731 (home-page "https://github.com/magnars/expand-region.el")
2732 (synopsis "Increase selected region by semantic units")
2733 (description
2734 "Expand region increases the selected region by semantic units. Just
2735 keep pressing the key until it selects what you want. There's also
2736 @code{er/contract-region} if you expand too far.")
2737 (license license:gpl3+)))
2738
2739 (define-public emacs-fill-column-indicator
2740 (package
2741 (name "emacs-fill-column-indicator")
2742 (version "1.90")
2743 (source
2744 (origin
2745 (method git-fetch)
2746 (uri (git-reference
2747 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2748 (commit version)))
2749 (file-name (git-file-name name version))
2750 (sha256
2751 (base32 "0snjznxdwwfdgccdcvrnk467416r244r2r5qcm2sga8l0ha9gw9z"))))
2752 (build-system emacs-build-system)
2753 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2754 (synopsis "Graphically indicate the fill column")
2755 (description
2756 "Fill-column-indicator graphically indicates the location of the fill
2757 column by drawing a thin line down the length of the editing window.")
2758 (license license:gpl3+)))
2759
2760 (define-public emacs-grep-a-lot
2761 (package
2762 (name "emacs-grep-a-lot")
2763 (version "1.0.7")
2764 (source
2765 (origin
2766 (method git-fetch)
2767 (uri (git-reference
2768 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2769 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2770 (file-name (git-file-name name version))
2771 (sha256
2772 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2773 (build-system emacs-build-system)
2774 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2775 (synopsis "Enables multiple grep buffers in Emacs")
2776 (description
2777 "This Emacs package allows managing multiple grep buffers.")
2778 (license license:gpl3+)))
2779
2780 (define-public emacs-inf-ruby
2781 (package
2782 (name "emacs-inf-ruby")
2783 (version "2.5.2")
2784 (source
2785 (origin
2786 (method git-fetch)
2787 (uri (git-reference
2788 (url "https://github.com/nonsequitur/inf-ruby.git")
2789 (commit version)))
2790 (file-name (git-file-name name version))
2791 (sha256
2792 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
2793 (build-system emacs-build-system)
2794 (home-page "https://github.com/nonsequitur/inf-ruby")
2795 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2796 (description
2797 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2798 for easy interaction with a ruby subprocess. Features include support for
2799 detecting specific uses of Ruby, e.g. when using rails, and using a
2800 appropriate console.")
2801 (license license:gpl3+)))
2802
2803 (define-public emacs-znc
2804 (package
2805 (name "emacs-znc")
2806 (version "0.0.2")
2807 (source
2808 (origin
2809 (method url-fetch)
2810 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2811 version ".el"))
2812 (sha256
2813 (base32
2814 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2815 (build-system emacs-build-system)
2816 (home-page "https://github.com/sshirokov/ZNC.el")
2817 (synopsis "Make ERC and ZNC get along better")
2818 (description
2819 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2820 IRC bouncer with ERC.")
2821 (license license:expat)))
2822
2823 (define-public emacs-shut-up
2824 (package
2825 (name "emacs-shut-up")
2826 (version "0.3.2")
2827 (source
2828 (origin
2829 (method git-fetch)
2830 (uri (git-reference
2831 (url "https://github.com/cask/shut-up.git")
2832 (commit (string-append "v" version))))
2833 (file-name (git-file-name name version))
2834 (sha256
2835 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
2836 (build-system emacs-build-system)
2837 (home-page "https://github.com/cask/shut-up")
2838 (synopsis "Silence Emacs")
2839 (description "This package silences most output of Emacs when running an
2840 Emacs shell script.")
2841 (license license:expat)))
2842
2843 (define-public emacs-undercover
2844 (package
2845 (name "emacs-undercover")
2846 (version "0.6.1")
2847 (source
2848 (origin
2849 (method git-fetch)
2850 (uri (git-reference
2851 (url "https://github.com/sviridov/undercover.el.git")
2852 (commit version)))
2853 (file-name (git-file-name name version))
2854 (sha256
2855 (base32 "080bmfwyfi8663y8x594770hqz7mff7zvj2v03qdfwbhdr9w9y29"))))
2856 (build-system emacs-build-system)
2857 (propagated-inputs
2858 `(("emacs-dash" ,emacs-dash)
2859 ("emacs-shut-up" ,emacs-shut-up)))
2860 (home-page "https://github.com/sviridov/undercover.el")
2861 (synopsis "Test coverage library for Emacs Lisp")
2862 (description
2863 "Undercover is a test coverage library for software written in Emacs
2864 Lisp.")
2865 (license license:expat)))
2866
2867 (define-public emacs-paren-face
2868 (package
2869 (name "emacs-paren-face")
2870 (version "1.0.5")
2871 (source
2872 (origin
2873 (method git-fetch)
2874 (uri (git-reference
2875 (url "https://github.com/tarsius/paren-face.git")
2876 (commit version)))
2877 (file-name (git-file-name name version))
2878 (sha256
2879 (base32
2880 "04vkg8fhdn8x02dydxbwpizh2yn3sbmn9432v770vbbq6b62k2lx"))))
2881 (build-system emacs-build-system)
2882 (home-page "https://github.com/tarsius/paren-face")
2883 (synopsis "Face for parentheses in lisp modes")
2884 (description
2885 "This library defines a face named @code{parenthesis} used just for
2886 parentheses. The intended purpose of this face is to make parentheses less
2887 visible in Lisp code by dimming them. Lispers probably don't need to be
2888 constantly made aware of the existence of the parentheses. Dimming them might
2889 be even more useful for people new to lisp who have not yet learned to
2890 subconsciously blend out the parentheses.")
2891 (license license:gpl3+)))
2892
2893 (define-public emacs-page-break-lines
2894 (package
2895 (name "emacs-page-break-lines")
2896 (version "0.11")
2897 (source
2898 (origin
2899 (method git-fetch)
2900 (uri (git-reference
2901 (url "https://github.com/purcell/page-break-lines.git")
2902 (commit version)))
2903 (file-name (git-file-name name version))
2904 (sha256
2905 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
2906 (build-system emacs-build-system)
2907 (home-page "https://github.com/purcell/page-break-lines")
2908 (synopsis "Display page breaks as tidy horizontal lines")
2909 (description
2910 "This library provides a global mode which displays form feed characters
2911 as horizontal rules.")
2912 (license license:gpl3+)))
2913
2914 (define-public emacs-simple-httpd
2915 (package
2916 (name "emacs-simple-httpd")
2917 (version "1.5.1")
2918 (source
2919 (origin
2920 (method git-fetch)
2921 (uri (git-reference
2922 (url "https://github.com/skeeto/emacs-web-server.git")
2923 (commit version)))
2924 (file-name (git-file-name name version))
2925 (sha256
2926 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
2927 (build-system emacs-build-system)
2928 (home-page "https://github.com/skeeto/emacs-web-server")
2929 (synopsis "HTTP server in pure Emacs Lisp")
2930 (description
2931 "This package provides a simple HTTP server written in Emacs Lisp to
2932 serve files and directory listings.")
2933 (license license:unlicense)))
2934
2935 (define-public emacs-skewer-mode
2936 (package
2937 (name "emacs-skewer-mode")
2938 (version "1.8.0")
2939 (source
2940 (origin
2941 (method git-fetch)
2942 (uri (git-reference
2943 (url "https://github.com/skeeto/skewer-mode.git")
2944 (commit version)))
2945 (file-name (git-file-name name version))
2946 (sha256
2947 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
2948 (build-system emacs-build-system)
2949 (propagated-inputs
2950 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2951 ("emacs-js2-mode" ,emacs-js2-mode)))
2952 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2953 (home-page "https://github.com/skeeto/skewer-mode")
2954 (synopsis "Live web development in Emacs")
2955 (description
2956 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2957 a web browser. Expressions are sent on-the-fly from an editing buffer to be
2958 evaluated in the browser, just like Emacs does with an inferior Lisp process
2959 in Lisp modes.")
2960 (license license:unlicense)))
2961
2962 (define-public emacs-litable
2963 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2964 (package
2965 (name "emacs-litable")
2966 (version (git-version "0.1" "0" commit))
2967 (source (origin
2968 (method git-fetch)
2969 (uri (git-reference
2970 (url "https://github.com/Fuco1/litable.git")
2971 (commit commit)))
2972 (file-name (git-file-name name version))
2973 (sha256
2974 (base32
2975 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2976 (build-system emacs-build-system)
2977 (propagated-inputs
2978 `(("emacs-dash" ,emacs-dash)))
2979 (home-page "https://github.com/Fuco1/litable/")
2980 (synopsis "Dynamic evaluation replacement with Emacs")
2981 (description "This package provides dynamic evaluation in Emacs.")
2982 (license license:gpl3+))))
2983
2984 (define-public emacs-string-inflection
2985 (package
2986 (name "emacs-string-inflection")
2987 (version "1.0.6")
2988 (source (origin
2989 (method git-fetch)
2990 (uri (git-reference
2991 (url "https://github.com/akicho8/string-inflection")
2992 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2993 (file-name (git-file-name name version))
2994 (sha256
2995 (base32
2996 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2997 (build-system emacs-build-system)
2998 (native-inputs
2999 `(("ert-runner" ,emacs-ert-runner)))
3000 (arguments
3001 `(#:tests? #t
3002 #:test-command '("ert-runner")))
3003 (home-page "https://github.com/akicho8/string-inflection")
3004 (synopsis "Convert symbol names between different naming conventions")
3005 (description
3006 "This Emacs package provides convenient methods for manipulating the
3007 naming style of a symbol. It supports different naming conventions such as:
3008
3009 @enumerate
3010 @item camel case
3011 @item Pascal case
3012 @item all upper case
3013 @item lower case separated by underscore
3014 @item etc...
3015 @end enumerate\n")
3016 (license license:gpl2+)))
3017
3018 (define-public emacs-stripe-buffer
3019 (package
3020 (name "emacs-stripe-buffer")
3021 (version "0.2.5")
3022 (source
3023 (origin
3024 (method git-fetch)
3025 (uri (git-reference
3026 (url "https://github.com/sabof/stripe-buffer.git")
3027 (commit version)))
3028 (file-name (git-file-name name version))
3029 (sha256
3030 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
3031 (build-system emacs-build-system)
3032 (home-page "https://github.com/sabof/stripe-buffer/")
3033 (synopsis "Add stripes to list buffers")
3034 (description
3035 "This Emacs package adds faces to add stripes to list buffers and org
3036 tables.")
3037 (license license:gpl2+)))
3038
3039 (define-public emacs-org-rich-yank
3040 (package
3041 (name "emacs-org-rich-yank")
3042 (version "0.2.1")
3043 (source
3044 (origin
3045 (method git-fetch)
3046 (uri (git-reference
3047 (url "https://github.com/unhammer/org-rich-yank.git")
3048 (commit (string-append "v" version))))
3049 (file-name (git-file-name name version))
3050 (sha256
3051 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
3052 (build-system emacs-build-system)
3053 (home-page "https://github.com/unhammer/org-rich-yank")
3054 (synopsis "Automatically surround source code pasted into Org with
3055 @code{#+BEGIN_SRC} blocks")
3056 (description
3057 "This package provides a utility function for Org buffers that makes a
3058 @code{_SRC} block with the appropriate language annotation for code that has
3059 been copied from an Emacs major mode.")
3060 (license license:gpl2+)))
3061
3062 (define-public emacs-ob-restclient
3063 (let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
3064 (package
3065 (name "emacs-ob-restclient")
3066 (version (git-version "0.02" "1" commit))
3067 (source
3068 (origin
3069 (method git-fetch)
3070 (uri (git-reference
3071 (url "https://github.com/alf/ob-restclient.el.git")
3072 (commit commit)))
3073 (file-name (git-file-name name version))
3074 (sha256
3075 (base32 "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"))))
3076 (propagated-inputs
3077 `(("emacs-restclient" ,emacs-restclient)))
3078 (build-system emacs-build-system)
3079 (home-page "https://github.com/alf/ob-restclient.el")
3080 (synopsis "Org-babel functionality for @code{restclient-mode}")
3081 (description
3082 "This package integrates @code{restclient-mode} with Org.")
3083 (license license:gpl3+))))
3084
3085 (define-public emacs-org-now
3086 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
3087 (package
3088 (name "emacs-org-now")
3089 (version (git-version "0.1-pre" "1" commit))
3090 (source
3091 (origin
3092 (method git-fetch)
3093 (uri (git-reference
3094 (url "https://github.com/alphapapa/org-now.git")
3095 (commit commit)))
3096 (file-name (git-file-name name version))
3097 (sha256
3098 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
3099 (propagated-inputs
3100 `(("emacs-dash" ,emacs-dash)))
3101 (build-system emacs-build-system)
3102 (home-page "https://github.com/alphapapa/org-now")
3103 (synopsis "Show current Org tasks in a sidebar")
3104 (description
3105 "This package provides commands to show Org headings in a sidebar
3106 window while working on them. After defining one heading as the \"now\"
3107 heading, other headings can be refiled to it with one command, and back to
3108 their original location with another.")
3109 (license license:gpl3+))))
3110
3111 (define-public emacs-rich-minority
3112 (package
3113 (name "emacs-rich-minority")
3114 (version "1.0.3")
3115 (source
3116 (origin
3117 (method git-fetch)
3118 (uri (git-reference
3119 (url "https://github.com/Malabarba/rich-minority.git")
3120 (commit version)))
3121 (file-name (git-file-name name version))
3122 (sha256
3123 (base32
3124 "1kn7c9qr9ykj68iqffzzmjsr6aazwac8cxb7j960sjb282rq0yyj"))))
3125 (build-system emacs-build-system)
3126 (home-page "https://github.com/Malabarba/rich-minority")
3127 (synopsis "Clean-up and beautify the list of minor modes")
3128 (description
3129 "This Emacs package hides and/or highlights minor modes in the
3130 mode-line.")
3131 (license license:gpl2+)))
3132
3133 (define-public emacs-robe
3134 (package
3135 (name "emacs-robe")
3136 (version "0.8.2")
3137 (source
3138 (origin
3139 (method git-fetch)
3140 (uri (git-reference
3141 (url "https://github.com/dgutov/robe.git")
3142 (commit version)))
3143 (file-name (git-file-name name version))
3144 (sha256
3145 (base32 "0qw18wi54yg971n4wnjqkd8lqj5lbs9ra8bvmngif2bzhqlfdsbn"))))
3146 (build-system emacs-build-system)
3147 (arguments
3148 '(#:include (cons "^lib\\/" %default-include)))
3149 (propagated-inputs
3150 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
3151 (home-page "https://github.com/dgutov/robe")
3152 (synopsis "Ruby code assistance tool for Emacs")
3153 (description
3154 "Robe can provide information on loaded classes and modules in Ruby code,
3155 as well as where methods are defined. This allows the user to jump to method
3156 definitions, modules and classes, display method documentation and provide
3157 method and constant name completion.")
3158 (license license:gpl3+)))
3159
3160 (define-public emacs-robot-mode
3161 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
3162 (revision "1"))
3163 (package
3164 (name "emacs-robot-mode")
3165 (version (git-version "0.0.0" revision commit))
3166 (source (origin
3167 (method git-fetch)
3168 (uri (git-reference
3169 ;; A better maintained fork of robot-mode.
3170 (url "https://github.com/jvalkeejarvi/robot-mode.git")
3171 (commit commit)))
3172 (file-name (git-file-name name version))
3173 (sha256
3174 (base32
3175 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
3176 (build-system emacs-build-system)
3177 (propagated-inputs `(("emacs-s" ,emacs-s)))
3178 (home-page "https://github.com/jvalkeejarvi/robot-mode")
3179 (synopsis "Emacs mode for Robot Framework")
3180 (description "This major mode facilitates editing Robot Framework source
3181 files with features such as syntax highlighting, comments, finding keywords,
3182 completing keywords and smart indentation.")
3183 (license license:gpl3+))))
3184
3185 (define-public emacs-rspec
3186 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
3187 (revision "1"))
3188 (package
3189 (name "emacs-rspec")
3190 (version (git-version "1.11" revision commit))
3191 (source
3192 (origin
3193 (method git-fetch)
3194 (uri (git-reference
3195 (url "https://github.com/pezra/rspec-mode.git")
3196 (commit commit)))
3197 (file-name (git-file-name name version))
3198 (sha256
3199 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
3200 (build-system emacs-build-system)
3201 (arguments
3202 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
3203 #:tests? #t
3204 #:test-command '("make" "test")))
3205 (home-page "https://github.com/pezra/rspec-mode")
3206 (synopsis "Provides a rspec mode for working with RSpec")
3207 (description
3208 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
3209 verify the spec associated with the current buffer, or entire project, as well
3210 as moving between the spec files, and corresponding code files.
3211
3212 Also included are keybindings for spec files and Dired buffers, as well as
3213 snippets for yasnippet.")
3214 (license license:gpl3+))))
3215
3216 (define-public emacs-smart-mode-line
3217 (package
3218 (name "emacs-smart-mode-line")
3219 (version "2.13")
3220 (source
3221 (origin
3222 (method git-fetch)
3223 (uri (git-reference
3224 (url "https://github.com/Malabarba/smart-mode-line.git")
3225 (commit version)))
3226 (file-name (git-file-name name version))
3227 (sha256
3228 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
3229 (build-system emacs-build-system)
3230 (propagated-inputs
3231 `(("emacs-rich-minority" ,emacs-rich-minority)))
3232 (home-page "https://github.com/Malabarba/smart-mode-line")
3233 (synopsis "Color-coded smart mode-line")
3234 (description
3235 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
3236 read from small to large monitors by using colors, a prefix feature, and smart
3237 truncation.")
3238 (license license:gpl2+)))
3239
3240 (define-public emacs-sr-speedbar
3241 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
3242 (revision "0"))
3243 (package
3244 (name "emacs-sr-speedbar")
3245 (version (git-version "20161025" revision commit))
3246 (source
3247 (origin
3248 (method git-fetch)
3249 (uri (git-reference
3250 (url "https://github.com/emacsorphanage/sr-speedbar.git")
3251 (commit commit)))
3252 (file-name (git-file-name name version))
3253 (sha256
3254 (base32
3255 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
3256 (build-system emacs-build-system)
3257 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
3258 (synopsis "Same frame Emacs @code{speedbar}")
3259 (description
3260 "This Emacs package allows you to show @code{M-x speedbar} in the
3261 same frame (in an extra window). You can customize the initial width of
3262 the speedbar window.")
3263 (license license:gpl3+))))
3264
3265 (define-public emacs-shell-switcher
3266 (package
3267 (name "emacs-shell-switcher")
3268 (version "1.0.1")
3269 (source
3270 (origin
3271 (method git-fetch)
3272 (uri (git-reference
3273 (url "https://github.com/DamienCassou/shell-switcher.git")
3274 (commit (string-append "v" version))))
3275 (file-name (git-file-name name version))
3276 (sha256
3277 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
3278 (build-system emacs-build-system)
3279 (home-page "https://github.com/DamienCassou/shell-switcher")
3280 (synopsis "Provide fast switching between shell buffers")
3281 (description
3282 "This package provides commands to quickly switch between shell buffers.")
3283 (license license:gpl3+)))
3284
3285 (define-public emacs-names
3286 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
3287 (version "20151201.0")
3288 (revision "8"))
3289 (package
3290 (name "emacs-names")
3291 (version (git-version version revision commit))
3292 (source
3293 (origin
3294 (method git-fetch)
3295 (uri (git-reference
3296 (url "https://github.com/Malabarba/names")
3297 (commit commit)))
3298 (file-name (git-file-name name version))
3299 (sha256
3300 (base32
3301 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
3302 (build-system emacs-build-system)
3303 (home-page "https://github.com/Malabarba/names/")
3304 (synopsis "Namespace implementation for Emacs Lisp")
3305 (description
3306 "This package provides a macro that writes your namespaces for you.")
3307 (license license:gpl3+))))
3308
3309 (define-public emacs-evil-textobj-syntax
3310 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
3311 (version "0")
3312 (revision "1"))
3313 (package
3314 (name "emacs-evil-textobj-syntax")
3315 (version (git-version version revision commit))
3316 (source
3317 (origin
3318 (method git-fetch)
3319 (uri (git-reference
3320 (url "https://github.com/laishulu/evil-textobj-syntax/")
3321 (commit commit)))
3322 (file-name (git-file-name name version))
3323 (sha256
3324 (base32
3325 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
3326 (build-system emacs-build-system)
3327 (propagated-inputs `(("emacs-evil" ,emacs-evil)
3328 ("emacs-names" ,emacs-names)))
3329 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
3330 (synopsis "Text objects based on syntax highlighting")
3331 (description
3332 "This package provides text objects for @code{evil-mode} with
3333 boundaries defined by syntax highlighting.")
3334 (license license:gpl3+))))
3335
3336 (define-public emacs-flycheck-flow
3337 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
3338 (version "1.1")
3339 (revision "1"))
3340 (package
3341 (name "emacs-flycheck-flow")
3342 (version (git-version version revision commit))
3343 (source
3344 (origin
3345 (method git-fetch)
3346 (uri (git-reference
3347 (url "https://github.com/lbolla/emacs-flycheck-flow")
3348 (commit commit)))
3349 (file-name (git-file-name name version))
3350 (sha256
3351 (base32
3352 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
3353 (build-system emacs-build-system)
3354 (propagated-inputs
3355 `(("emacs-flycheck" ,emacs-flycheck)))
3356 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
3357 (synopsis "Flow support for @code{flycheck-mode}")
3358 (description
3359 "This package allows @code{flycheck-mode} to provide syntax-checking
3360 for Flow files.")
3361 (license license:gpl3+))))
3362
3363 (define-public emacs-flycheck-grammalecte
3364 (package
3365 (name "emacs-flycheck-grammalecte")
3366 (version "0.9")
3367 (source (origin
3368 (method url-fetch)
3369 (uri (string-append "https://git.deparis.io/"
3370 "flycheck-grammalecte/snapshot/"
3371 "flycheck-grammalecte-" version ".tar.xz"))
3372 (sha256
3373 (base32
3374 "0wjm9xyra870pci4bcrbnc9x66x18mi7iz08rkxa4clxv28xzryb"))))
3375 (build-system emacs-build-system)
3376 (arguments
3377 `(#:include '("\\.(el|py)$")
3378 #:phases
3379 (modify-phases %standard-phases
3380 (add-after 'unpack 'fix-python
3381 ;; Hardcode python3 executable in the Emacs library.
3382 (lambda* (#:key inputs #:allow-other-keys)
3383 (let ((python3 (string-append (assoc-ref inputs "python")
3384 "/bin/python3")))
3385 (substitute* "flycheck-grammalecte.el"
3386 (("python3") python3))
3387 #t)))
3388 (add-after 'install 'link-to-grammalecte
3389 ;; The package expects grammalecte to be in a sub-directory.
3390 ;; Symlink it there from the store.
3391 (lambda* (#:key inputs outputs #:allow-other-keys)
3392 (let ((grammalecte (assoc-ref inputs "grammalecte"))
3393 (out (assoc-ref outputs "out"))
3394 (version ,(version-major+minor (package-version python))))
3395 (with-directory-excursion
3396 (string-append out
3397 "/share/emacs/site-lisp/guix.d/"
3398 "flycheck-grammalecte-" ,version)
3399 (symlink (string-append grammalecte "/lib/"
3400 "python" version "/site-packages/"
3401 "grammalecte")
3402 "grammalecte"))
3403 #t))))))
3404 (inputs
3405 `(("grammalecte" ,grammalecte)
3406 ("python" ,python)))
3407 (propagated-inputs
3408 `(("emacs-flycheck" ,emacs-flycheck)))
3409 (home-page "https://git.deparis.io/flycheck-grammalecte/")
3410 (synopsis "Integrate Grammalecte with Flycheck")
3411 (description "Integrate the French grammar and typography checker
3412 Grammalecte with Flycheck to automatically look for mistakes in your writings.
3413 It also provides an easy way to find synonyms and antonyms for a given
3414 word (to avoid repetitions for example).")
3415 (license license:gpl3+)))
3416
3417 (define-public emacs-elisp-demos
3418 (package
3419 (name "emacs-elisp-demos")
3420 (version "2019.12.01")
3421 (source
3422 (origin
3423 (method git-fetch)
3424 (uri (git-reference
3425 (url "https://github.com/xuchunyang/elisp-demos")
3426 (commit version)))
3427 (file-name (git-file-name name version))
3428 (sha256
3429 (base32
3430 "097d8xhvq0770z96wlhiv4gz98cq89pwx5fa42zpfh4p85qj4q9z"))))
3431 (build-system emacs-build-system)
3432 (arguments
3433 `(#:include '("\\.el$" "\\.org$")
3434 #:tests? #t
3435 #:test-command '("make" "test")))
3436 (home-page "https://github.com/xuchunyang/elisp-demos/")
3437 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3438 (description
3439 "This package injects example uses of Elisp functions into their
3440 respective @code{*Help*} buffers.")
3441 (license license:gpl3+)))
3442
3443 (define-public emacs-docker-compose-mode
3444 (package
3445 (name "emacs-docker-compose-mode")
3446 (version "1.1.0")
3447 (source
3448 (origin
3449 (method git-fetch)
3450 (uri (git-reference
3451 (url "https://github.com/meqif/docker-compose-mode")
3452 (commit version)))
3453 (file-name (git-file-name name version))
3454 (sha256
3455 (base32
3456 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3457 (build-system emacs-build-system)
3458 (propagated-inputs
3459 `(("emacs-dash" ,emacs-dash)
3460 ("emacs-f" ,emacs-f)))
3461 (home-page "https://github.com/meqif/docker-compose-mode/")
3462 (synopsis "Major mode for editing @file{docker-compose} files")
3463 (description
3464 "This is a major mode for @file{docker-compose} files that provides
3465 completion of relevant keywords.")
3466 (license license:expat)))
3467
3468 (define-public emacs-sudo-edit
3469 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3470 (revision "6"))
3471 (package
3472 (name "emacs-sudo-edit")
3473 (version (git-version "0.1.0" revision commit))
3474 (source
3475 (origin
3476 (method git-fetch)
3477 (uri (git-reference
3478 (url "https://github.com/nflath/sudo-edit")
3479 (commit commit)))
3480 (file-name (git-file-name name version))
3481 (sha256
3482 (base32
3483 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3484 (build-system emacs-build-system)
3485 (native-inputs
3486 `(("emacs-undercover" ,emacs-undercover)))
3487 (arguments
3488 `(#:phases
3489 (modify-phases %standard-phases
3490 (add-before 'check 'fix-makefile
3491 (lambda _
3492 (substitute* "Makefile"
3493 (("\\$\\(CASK\\) exec ") ""))
3494 #t)))
3495 #:tests? #t
3496 #:test-command '("make" "test")))
3497 (home-page "https://github.com/nflath/sudo-edit/")
3498 (synopsis "Open files as another user")
3499 (description
3500 "This package allows editing files as another user, including the root
3501 user.")
3502 (license license:gpl3+))))
3503
3504 (define-public emacs-miniedit
3505 (package
3506 (name "emacs-miniedit")
3507 (version "2.0")
3508 (source
3509 (origin
3510 (method git-fetch)
3511 (uri (git-reference
3512 (url "https://github.com/emacsmirror/miniedit")
3513 (commit version)))
3514 (file-name (git-file-name name version))
3515 (sha256
3516 (base32
3517 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3518 (build-system emacs-build-system)
3519 (home-page "https://github.com/emacsmirror/miniedit/")
3520 (synopsis "Enhanced editing for minibuffer fields")
3521 (description
3522 "This package provides a function that can be called from the
3523 minibuffer to enable editing the minibuffer input in another buffer with
3524 @code{text-mode} enabled.")
3525 (license license:gpl2+)))
3526
3527 (define-public emacs-ob-ipython
3528 (package
3529 (name "emacs-ob-ipython")
3530 (version "20180224")
3531 (source (origin
3532 (method git-fetch)
3533 (uri (git-reference
3534 (commit "7147455230841744fb5b95dcbe03320313a77124")
3535 (url "https://github.com/gregsexton/ob-ipython.git")))
3536 (file-name (git-file-name name version))
3537 (sha256
3538 (base32
3539 "1a10fc2jk37ni5sjjvf87s5nyaz2a6h2mlj5dxh4dhv5sd3bb85p"))))
3540 (build-system emacs-build-system)
3541 (propagated-inputs
3542 `(("emacs-f" ,emacs-f)))
3543 (home-page "http://www.gregsexton.org")
3544 (synopsis "Org-Babel functions for IPython evaluation")
3545 (description "This package adds support to Org-Babel for evaluating Python
3546 source code using IPython.")
3547 (license license:gpl3+)))
3548
3549 (define-public emacs-debbugs
3550 (package
3551 (name "emacs-debbugs")
3552 (version "0.21")
3553 (source (origin
3554 (method url-fetch)
3555 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3556 version ".tar"))
3557 (sha256
3558 (base32
3559 "1xx1wjfpsnwx2fpydqhwy9k1b5kjk8dqbkzf8lqaj9c4rvjbn50a"))))
3560 (build-system emacs-build-system)
3561 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3562 (propagated-inputs
3563 `(("emacs-async" ,emacs-async)))
3564 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3565 (synopsis "Access the Debbugs bug tracker in Emacs")
3566 (description
3567 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3568 Tracker} from within Emacs.
3569
3570 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3571 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3572 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3573 @code{M-x debbugs-org} and related commands.
3574
3575 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3576 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3577 (license license:gpl3+)))
3578
3579 (define-public emacs-ert-expectations
3580 (package
3581 (name "emacs-ert-expectations")
3582 (version "0.2")
3583 (source
3584 (origin
3585 (method url-fetch)
3586 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3587 (sha256
3588 (base32
3589 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3590 (build-system emacs-build-system)
3591 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3592 (synopsis "Simple unit test framework for Emacs Lisp")
3593 (description "@code{emacs-ert-expectations} is a simple unit test
3594 framework for Emacs Lisp to be used with @code{ert}.")
3595 (license license:gpl3+)))
3596
3597 (define-public emacs-deferred
3598 (package
3599 (name "emacs-deferred")
3600 (version "0.5.1")
3601 (home-page "https://github.com/kiwanami/emacs-deferred")
3602 (source (origin
3603 (method git-fetch)
3604 (uri (git-reference
3605 (url home-page)
3606 (commit (string-append "v" version))))
3607 (file-name (git-file-name name version))
3608 (sha256
3609 (base32
3610 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3611 (build-system emacs-build-system)
3612 (arguments
3613 `(#:phases
3614 (modify-phases %standard-phases
3615 (add-after 'unpack 'set-shell
3616 ;; Setting the SHELL environment variable is required for the tests
3617 ;; to find sh.
3618 (lambda _
3619 (setenv "SHELL" (which "sh"))
3620 #t))
3621 (add-before 'check 'fix-makefile
3622 (lambda _
3623 (substitute* "Makefile"
3624 (("\\$\\(CASK\\) exec ") ""))
3625 #t)))
3626 #:tests? #t
3627 #:test-command '("make" "test")))
3628 (native-inputs
3629 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3630 ("emacs-undercover" ,emacs-undercover)
3631 ("ert-runner" ,emacs-ert-runner)))
3632 (synopsis "Simple asynchronous functions for Emacs Lisp")
3633 (description
3634 "The @code{deferred.el} library provides support for asynchronous tasks.
3635 The API is almost the same as that of
3636 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3637 for asynchronous tasks.")
3638 (license license:gpl3+)))
3639
3640 (define-public emacs-butler
3641 (package
3642 (name "emacs-butler")
3643 (version "0.2.4")
3644 (home-page "https://github.com/AshtonKem/Butler")
3645 (source (origin
3646 (method git-fetch)
3647 (uri (git-reference
3648 (url home-page)
3649 (commit version)))
3650 (file-name (git-file-name name version))
3651 (sha256
3652 (base32
3653 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3654 (build-system emacs-build-system)
3655 (propagated-inputs
3656 `(("emacs-deferred" ,emacs-deferred)))
3657 (synopsis "Emacs client for Jenkins")
3658 (description
3659 "Butler provides an interface to connect to Jenkins continuous
3660 integration servers. Users can specify a list of server in the
3661 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3662 view the build status of those servers' build jobs, and possibly to trigger
3663 build jobs.")
3664 (license license:gpl3+)))
3665
3666 (define-public emacs-company
3667 (package
3668 (name "emacs-company")
3669 (version "0.9.11")
3670 (source
3671 (origin
3672 (method git-fetch)
3673 (uri (git-reference
3674 (url "https://github.com/company-mode/company-mode.git")
3675 (commit version)))
3676 (file-name (git-file-name name version))
3677 (sha256
3678 (base32 "0x7ag716jp4xb7kmcmr8pqlxx1v0f2gkjx5gx34wxxqfrndwyx8i"))))
3679 (build-system emacs-build-system)
3680 (arguments
3681 `(#:phases
3682 (modify-phases %standard-phases
3683 (add-before 'check 'fix-bin-dir
3684 (lambda _
3685 ;; The company-files-candidates-normal-root test looks
3686 ;; for the /bin directory, but the build environment has
3687 ;; no /bin directory. Modify the test to look for the
3688 ;; /tmp directory.
3689 (substitute* "test/files-tests.el"
3690 (("/bin/") "/tmp/"))
3691 #t)))
3692 #:tests? #t
3693 #:test-command '("make" "test-batch")))
3694 (home-page "http://company-mode.github.io/")
3695 (synopsis "Modular text completion framework")
3696 (description
3697 "Company is a modular completion mechanism. Modules for retrieving
3698 completion candidates are called back-ends, modules for displaying them are
3699 front-ends. Company comes with many back-ends, e.g., @code{company-elisp}.
3700 These are distributed in separate files and can be used individually.")
3701 (license license:gpl3+)))
3702
3703 (define-public emacs-company-posframe
3704 (let ((version "0.1.0")
3705 (revision "1")
3706 (commit "67d899502384fb9ab2870aba0af41523dea7b64f"))
3707 (package
3708 (name "emacs-company-posframe")
3709 (version (git-version version revision commit))
3710 (source (origin
3711 (method git-fetch)
3712 (uri (git-reference
3713 (url "https://github.com/tumashu/company-posframe.git")
3714 (commit commit)))
3715 (file-name (git-file-name name version))
3716 (sha256
3717 (base32
3718 "051smlvz1siwglsd9k9l0m20mygrx4niflmyshha0064287aysxr"))))
3719 (build-system emacs-build-system)
3720 (propagated-inputs
3721 `(("emacs-company" ,emacs-company)
3722 ("emacs-posframe" ,emacs-posframe)))
3723 (home-page "https://github.com/tumashu/company-posframe")
3724 (synopsis "Use a posframe for @code{emacs-company}'s candidate menu")
3725 (description
3726 "Allows @code{emacs-company} to use child frames for its candidate menus.
3727
3728 @code{emacs-company-posframe} is fast enough for daily use and supports CJK
3729 languages.")
3730 (license license:gpl3+))))
3731
3732 (define-public emacs-irony-mode
3733 (package
3734 (name "emacs-irony-mode")
3735 (version "1.4.0")
3736 (home-page "https://github.com/Sarcasm/irony-mode")
3737 (source (origin
3738 (method git-fetch)
3739 (uri (git-reference
3740 (url (string-append home-page ".git"))
3741 (commit (string-append "v" version))))
3742 (file-name (git-file-name name version))
3743 (sha256
3744 (base32
3745 "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"))))
3746 (build-system emacs-build-system)
3747 (inputs `(("server" ,emacs-irony-mode-server)))
3748 (arguments `(#:phases
3749 (modify-phases %standard-phases
3750 (add-after 'unpack 'configure
3751 (lambda* (#:key inputs #:allow-other-keys)
3752 (chmod "irony.el" #o644)
3753 (emacs-substitute-variables "irony.el"
3754 ("irony-server-install-prefix"
3755 (assoc-ref inputs "server")))
3756 #t)))))
3757 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3758 (description "Irony-mode provides Clang-assisted syntax checking and
3759 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3760 provide syntax checking and autocompletion on compiler level which is very
3761 resistant against false positives. It also integrates well with other
3762 packages like @code{eldoc-mode} and especially @code{company-mode} as
3763 described on the homepage.")
3764 (license license:gpl3+)))
3765
3766 (define-public emacs-irony-mode-server
3767 (package (inherit emacs-irony-mode)
3768 (name "emacs-irony-mode-server")
3769 (inputs
3770 `(("clang" ,clang)))
3771 (arguments
3772 `(#:phases
3773 (modify-phases %standard-phases
3774 (replace 'configure
3775 (lambda* (#:key outputs #:allow-other-keys)
3776 (let ((out (assoc-ref outputs "out")))
3777 (invoke "cmake"
3778 "server"
3779 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3780 (build-system cmake-build-system)
3781 (synopsis "Server for the Emacs @dfn{irony mode}")))
3782
3783 (define-public emacs-company-irony
3784 (package
3785 (name "emacs-company-irony")
3786 (version "1.1.0")
3787 (source (origin
3788 (method git-fetch)
3789 (uri (git-reference
3790 (url "https://github.com/Sarcasm/company-irony.git")
3791 (commit (string-append "v" version))))
3792 (sha256 (base32
3793 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3794 (file-name (git-file-name name version))))
3795 (build-system emacs-build-system)
3796 (inputs
3797 `(("emacs-irony-mode" ,emacs-irony-mode)
3798 ("emacs-company" ,emacs-company)))
3799 (synopsis "C++ completion backend for Company using irony-mode")
3800 (description "This backend for company-mode allows for C++ code completion
3801 with irony-mode using clang-tooling.")
3802 (home-page "https://github.com/Sarcasm/company-irony")
3803 (license license:gpl3+)))
3804
3805 (define-public emacs-flycheck-irony
3806 (package
3807 (name "emacs-flycheck-irony")
3808 (version "0.1.0")
3809 (source (origin
3810 (method git-fetch)
3811 (uri (git-reference
3812 (url "https://github.com/Sarcasm/flycheck-irony.git")
3813 (commit (string-append "v" version))))
3814 (file-name (git-file-name name version))
3815 (sha256
3816 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3817 (build-system emacs-build-system)
3818 (inputs
3819 `(("irony-mode" ,emacs-irony-mode)
3820 ("flycheck-mode" ,emacs-flycheck)
3821 ("emacs-company" ,emacs-company)))
3822 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3823 (description "This package provides a frontend for Flycheck that lets
3824 irony-mode do the syntax checking.")
3825 (home-page "https://github.com/Sarcasm/flycheck-irony")
3826 (license license:gpl3+)))
3827
3828 (define-public emacs-irony-eldoc
3829 (package
3830 (name "emacs-irony-eldoc")
3831 (version (package-version emacs-irony-mode))
3832 (source
3833 (origin
3834 (method git-fetch)
3835 (uri (git-reference
3836 (url "https://github.com/ikirill/irony-eldoc.git")
3837 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3838 (file-name (git-file-name name version))
3839 (sha256
3840 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3841 (build-system emacs-build-system)
3842 (inputs
3843 `(("irony-mode" ,emacs-irony-mode)))
3844 (synopsis "Eldoc integration for irony-mode")
3845 (description "Irony-eldoc is an eldoc extension that shows documentation
3846 for the current function or variable in the minibuffer.")
3847 (home-page "https://github.com/ikirill/irony-eldoc")
3848 (license license:gpl3+)))
3849
3850 (define-public emacs-company-quickhelp
3851 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
3852 ;; so we use the latest 2.2.0 commit instead
3853 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
3854 (revision "1"))
3855 (package
3856 (name "emacs-company-quickhelp")
3857 (version (git-version "2.2.0" revision commit))
3858 (source
3859 (origin
3860 (method git-fetch)
3861 (uri (git-reference
3862 (url "https://github.com/expez/company-quickhelp.git")
3863 (commit commit)))
3864 (file-name (git-file-name name version))
3865 (sha256
3866 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
3867 (build-system emacs-build-system)
3868 (propagated-inputs
3869 `(("emacs-pos-tip" ,emacs-pos-tip)
3870 ("emacs-company" ,emacs-company)))
3871 (home-page "https://github.com/expez/company-quickhelp")
3872 (synopsis "Popup documentation for completion candidates")
3873 (description "@code{company-quickhelp} shows documentation for the
3874 completion candidate when using the Company text completion framework.")
3875 (license license:gpl3+))))
3876
3877 (define-public emacs-math-symbol-lists
3878 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
3879 (revision "1"))
3880 (package
3881 (name "emacs-math-symbol-lists")
3882 (version (git-version "1.2.1" revision commit))
3883 (source
3884 (origin
3885 (method git-fetch)
3886 (uri (git-reference
3887 (url "https://github.com/vspinu/math-symbol-lists.git")
3888 (commit commit)))
3889 (file-name (git-file-name name version))
3890 (sha256
3891 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
3892 (build-system emacs-build-system)
3893 (home-page "https://github.com/vspinu/math-symbol-lists")
3894 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
3895 (description "This is a storage package used by completion engines like
3896 @code{company-math}.")
3897 (license license:gpl3+))))
3898
3899 (define-public emacs-company-math
3900 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
3901 (revision "1"))
3902 (package
3903 (name "emacs-company-math")
3904 (version (git-version "1.3" revision commit))
3905 (source
3906 (origin
3907 (method git-fetch)
3908 (uri (git-reference
3909 (url "https://github.com/vspinu/company-math.git")
3910 (commit commit)))
3911 (file-name (git-file-name name version))
3912 (sha256
3913 (base32
3914 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
3915 (build-system emacs-build-system)
3916 (propagated-inputs
3917 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
3918 ("emacs-company" ,emacs-company)))
3919 (home-page "https://github.com/vspinu/company-math")
3920 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
3921 (description "This package provides a backend for use with
3922 @code{company-mode} allowing for completion of common math symbols.")
3923 (license license:gpl3+))))
3924
3925 (define-public emacs-compdef
3926 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
3927 (revision "2"))
3928 (package
3929 (name "emacs-compdef")
3930 (version (git-version "0.2" revision commit))
3931 (source
3932 (origin
3933 (method git-fetch)
3934 (uri (git-reference
3935 (url "https://gitlab.com/jjzmajic/compdef.git")
3936 (commit commit)))
3937 (file-name (git-file-name name version))
3938 (sha256
3939 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
3940 (build-system emacs-build-system)
3941 (home-page "https://gitlab.com/jjzmajic/compdef")
3942 (synopsis "Set local completion backends")
3943 (description "This package provides a function to cleanly set local
3944 completion backends according to mode, and integrates with
3945 @code{use-package}.")
3946 (license license:gpl3+))))
3947
3948 (define-public emacs-handle
3949 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
3950 (revision "2"))
3951 (package
3952 (name "emacs-handle")
3953 (version (git-version "0.1" revision commit))
3954 (source
3955 (origin
3956 (method git-fetch)
3957 (uri (git-reference
3958 (url "https://gitlab.com/jjzmajic/handle.git")
3959 (commit commit)))
3960 (file-name (git-file-name name version))
3961 (sha256
3962 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
3963 (build-system emacs-build-system)
3964 (propagated-inputs
3965 `(("emacs-parent-mode" ,emacs-parent-mode)))
3966 (home-page "https://gitlab.com/jjzmajic/handle")
3967 (synopsis "Handle generic functions across related major modes")
3968 (description "This package provides generic functions that specialize on
3969 major modes and intended purpose rather than on arguments. Different
3970 callables for tasks like expression evaluation, definition-jumping, and more
3971 can now be grouped accordingly and tried in sequence until one of them
3972 succeeds.")
3973 (license license:gpl3+))))
3974
3975 (define-public emacs-nswbuff
3976 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
3977 (revision "1"))
3978 (package
3979 (name "emacs-nswbuff")
3980 (version (git-version "1.0" revision commit))
3981 (source
3982 (origin
3983 (method git-fetch)
3984 (uri (git-reference
3985 (url "https://github.com/joostkremers/nswbuff.git")
3986 (commit commit)))
3987 (file-name (git-file-name name version))
3988 (sha256
3989 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
3990 (build-system emacs-build-system)
3991 (home-page "https://github.com/joostkremers/nswbuff")
3992 (synopsis "Quickly switch between buffers")
3993 (description "This package allows for navigating between buffers within
3994 a customizable list.")
3995 (license license:gpl3+))))
3996
3997 (define-public emacs-phi-search
3998 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
3999 (revision "1"))
4000 (package
4001 (name "emacs-phi-search")
4002 (version (git-version "20160630" revision commit))
4003 (source
4004 (origin
4005 (method git-fetch)
4006 (uri (git-reference
4007 (url "https://github.com/zk-phi/phi-search.git")
4008 (commit commit)))
4009 (file-name (git-file-name name version))
4010 (sha256
4011 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
4012 (build-system emacs-build-system)
4013 (home-page "https://github.com/zk-phi/phi-search")
4014 (synopsis "Interactive search compatible with @code{multiple-cursors}")
4015 (description "This package can be used with @code{multiple-cursors} to
4016 provide an incremental search that moves all fake cursors in sync.")
4017 (license license:gpl2+))))
4018
4019 (define-public emacs-phi-search-mc
4020 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
4021 (revision "1"))
4022 (package
4023 (name "emacs-phi-search-mc")
4024 (version (git-version "2.2.1" revision commit))
4025 (source
4026 (origin
4027 (method git-fetch)
4028 (uri (git-reference
4029 (url "https://github.com/knu/phi-search-mc.el.git")
4030 (commit commit)))
4031 (file-name (git-file-name name version))
4032 (sha256
4033 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
4034 (build-system emacs-build-system)
4035 (propagated-inputs
4036 `(("emacs-phi-search" ,emacs-phi-search)
4037 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
4038 (home-page "https://github.com/knu/phi-search-mc.el")
4039 (synopsis "Extend @code{phi-search} with additional
4040 @code{multiple-cursors} functionality")
4041 (description "This package provides further integration between
4042 @code{multiple-cursors} and @code{phi-search}, a package that allows for
4043 interactive searches to move multiple fake cursors.")
4044 (license license:bsd-2))))
4045
4046 (define-public emacs-multiple-cursors
4047 (package
4048 (name "emacs-multiple-cursors")
4049 (version "1.4.0")
4050 (source
4051 (origin
4052 (method git-fetch)
4053 (uri (git-reference
4054 (url "https://github.com/magnars/multiple-cursors.el.git")
4055 (commit version)))
4056 (file-name (git-file-name name version))
4057 (sha256
4058 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
4059 (build-system emacs-build-system)
4060 (home-page "https://github.com/magnars/multiple-cursors.el")
4061 (synopsis "Multiple cursors for Emacs")
4062 (description
4063 "This package adds support to Emacs for editing text with multiple
4064 simultaneous cursors.")
4065 (license license:gpl3+)))
4066
4067 (define-public emacs-mc-extras
4068 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
4069 (revision "1"))
4070 (package
4071 (name "emacs-mc-extras")
4072 (version (git-version "1.2.4" revision commit))
4073 (source
4074 (origin
4075 (method git-fetch)
4076 (uri (git-reference
4077 (url "https://github.com/knu/mc-extras.el.git")
4078 (commit commit)))
4079 (file-name (git-file-name name version))
4080 (sha256
4081 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
4082 (build-system emacs-build-system)
4083 (propagated-inputs
4084 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
4085 (home-page "https://github.com/knu/mc-extras.el")
4086 (synopsis "Extra functions for manipulating multiple cursors")
4087 (description
4088 "This package provides additional functions for
4089 @code{multiple-cursors}, including functions for marking s-expressions,
4090 comparing characters, removing cursors, and more.")
4091 (license license:bsd-2))))
4092
4093 (define-public emacs-typo
4094 (package
4095 (name "emacs-typo")
4096 (version "1.1")
4097 (home-page "https://github.com/jorgenschaefer/typoel")
4098 (source (origin
4099 (method git-fetch)
4100 (uri (git-reference
4101 (url home-page)
4102 (commit (string-append "v" version))))
4103 (file-name (git-file-name name version))
4104 (sha256
4105 (base32
4106 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
4107 (build-system emacs-build-system)
4108 (synopsis "Minor mode for typographic editing")
4109 (description
4110 "This package provides two Emacs modes, @code{typo-mode} and
4111 @code{typo-global-mode}. These modes automatically insert Unicode characters
4112 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
4113 automatically inserts a Unicode opening or closing quotation mark, depending
4114 on context.")
4115 (license license:gpl3+)))
4116
4117 (define-public emacs-company-lsp
4118 (package
4119 (name "emacs-company-lsp")
4120 (version "2.1.0")
4121 (source (origin
4122 (method git-fetch)
4123 (uri (git-reference
4124 (url "https://github.com/tigersoldier/company-lsp.git")
4125 (commit version)))
4126 (file-name (git-file-name name version))
4127 (sha256
4128 (base32
4129 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
4130 (build-system emacs-build-system)
4131 (propagated-inputs
4132 `(("emacs-dash" ,emacs-dash)
4133 ("emacs-lsp-mode" ,emacs-lsp-mode)
4134 ("emacs-company" ,emacs-company)
4135 ("emacs-s" ,emacs-s)
4136 ("emacs-dash" ,emacs-dash)))
4137 (native-inputs
4138 `(("emacs-buttercup" ,emacs-buttercup)))
4139 (arguments
4140 `(#:tests? #t
4141 #:test-command '("buttercup" "-L" ".")))
4142 (home-page "https://github.com/tigersoldier/company-lsp")
4143 (synopsis "Completion for @code{lsp-mode}")
4144 (description
4145 "This package provides completion features that are not possible with
4146 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
4147 characters and asynchronous fetching of completion candidates.")
4148 (license license:gpl3+)))
4149
4150 (define-public emacs-scheme-complete
4151 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
4152 (package
4153 (name "emacs-scheme-complete")
4154 (version (string-append "20151223." (string-take commit 8)))
4155 (source
4156 (origin
4157 (method git-fetch)
4158 (uri (git-reference
4159 (url "https://github.com/ashinn/scheme-complete.git")
4160 (commit commit)))
4161 (file-name (git-file-name name version))
4162 (sha256
4163 (base32
4164 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
4165 (patches
4166 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
4167 (build-system emacs-build-system)
4168 (home-page "https://github.com/ashinn/scheme-complete")
4169 (synopsis "Smart tab completion for Scheme in Emacs")
4170 (description
4171 "This file provides a single function, @code{scheme-smart-complete},
4172 which you can use for intelligent, context-sensitive completion for any Scheme
4173 implementation in Emacs. To use it just load this file and bind that function
4174 to a key in your preferred mode.")
4175 (license license:public-domain))))
4176
4177 (define-public emacs-scel
4178 (let ((version "20170629")
4179 (revision "1")
4180 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
4181 (package
4182 (name "emacs-scel")
4183 (version (git-version version revision commit))
4184 (source
4185 (origin
4186 (method git-fetch)
4187 (uri (git-reference
4188 (url "https://github.com/supercollider/scel.git")
4189 (commit commit)))
4190 (file-name (git-file-name name version))
4191 (sha256
4192 (base32
4193 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
4194 (build-system emacs-build-system)
4195 (arguments
4196 `(#:modules ((guix build emacs-build-system)
4197 ((guix build cmake-build-system) #:prefix cmake:)
4198 (guix build utils))
4199 #:imported-modules (,@%emacs-build-system-modules
4200 (guix build cmake-build-system))
4201 #:phases
4202 (modify-phases %standard-phases
4203 (add-after 'unpack 'configure
4204 (lambda* (#:key outputs #:allow-other-keys)
4205 (substitute* "el/CMakeLists.txt"
4206 (("share/emacs/site-lisp/SuperCollider")
4207 (string-append
4208 "share/emacs/site-lisp")))
4209 ((assoc-ref cmake:%standard-phases 'configure)
4210 #:outputs outputs
4211 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
4212 (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
4213 (lambda _
4214 (setenv "EMACSLOADPATH"
4215 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
4216 #t))
4217 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
4218 (inputs
4219 `(("supercollider" ,supercollider)))
4220 (native-inputs
4221 `(("cmake" ,cmake-minimal)))
4222 (home-page "https://github.com/supercollider/scel")
4223 (synopsis "SuperCollider Emacs interface")
4224 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
4225 SuperCollider is a platform for audio synthesis and algorithmic composition.")
4226 (license license:gpl2+))))
4227
4228 (define-public emacs-company-auctex
4229 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
4230 (revision "1"))
4231 (package
4232 (name "emacs-company-auctex")
4233 (version (git-version "0" revision commit))
4234 (source (origin
4235 (method git-fetch)
4236 (uri (git-reference
4237 (url "https://github.com/alexeyr/company-auctex")
4238 (commit commit)))
4239 (file-name (git-file-name name version))
4240 (sha256
4241 (base32
4242 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
4243 (build-system emacs-build-system)
4244 (propagated-inputs
4245 `(("emacs-yasnippet" ,emacs-yasnippet)
4246 ("emacs-auctex" ,emacs-auctex)
4247 ("emacs-company" ,emacs-company)))
4248 (home-page "https://github.com/alexeyr/company-auctex/")
4249 (synopsis "Completion for @code{AUCTeX}")
4250 (description
4251 "This package provides a group of backends permitting auto-completion
4252 for @code{AUCTeX}.")
4253 (license license:gpl3+))))
4254
4255 (define-public emacs-mit-scheme-doc
4256 (package
4257 (name "emacs-mit-scheme-doc")
4258 (version "20140203")
4259 (source
4260 (origin
4261 (modules '((guix build utils)))
4262 (snippet
4263 ;; keep only file of interest
4264 '(begin
4265 (for-each delete-file '("dot-emacs.el" "Makefile"))
4266 (install-file "6.945-config/mit-scheme-doc.el" ".")
4267 (delete-file-recursively "6.945-config")
4268 #t))
4269 (file-name (string-append name "-" version ".tar.bz2"))
4270 (method url-fetch)
4271 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
4272 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
4273 (sha256
4274 (base32
4275 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
4276 (build-system emacs-build-system)
4277 (inputs `(("mit-scheme" ,mit-scheme)))
4278 (arguments
4279 `(#:phases
4280 (modify-phases %standard-phases
4281 (add-after 'unpack 'configure-doc
4282 (lambda* (#:key inputs #:allow-other-keys)
4283 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
4284 (doc-dir (string-append mit-scheme-dir "/share/doc/"
4285 "mit-scheme-"
4286 ,(package-version mit-scheme))))
4287 (substitute* "mit-scheme-doc.el"
4288 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
4289 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
4290 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
4291 (synopsis "MIT-Scheme documentation lookup for Emacs")
4292 (description
4293 "This package provides a set of Emacs functions to search definitions of
4294 identifiers in the MIT-Scheme documentation.")
4295 (license license:gpl2+)))
4296
4297 (define-public emacs-constants
4298 (package
4299 (name "emacs-constants")
4300 (version "2.6")
4301 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
4302 (source
4303 (origin
4304 (method git-fetch)
4305 (uri (git-reference
4306 (url "https://github.com/fedeinthemix/emacs-constants.git")
4307 (commit (string-append "v" version))))
4308 (file-name (git-file-name name version))
4309 (sha256
4310 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
4311 (build-system emacs-build-system)
4312 (synopsis "Enter definition of constants into an Emacs buffer")
4313 (description
4314 "This package provides functions for inserting the definition of natural
4315 constants and units into an Emacs buffer.")
4316 (license license:gpl2+)))
4317
4318 (define-public emacs-tagedit
4319 (package
4320 (name "emacs-tagedit")
4321 (version "1.4.0")
4322 (source
4323 (origin
4324 (method git-fetch)
4325 (uri (git-reference
4326 (url "https://github.com/magnars/tagedit.git")
4327 (commit version)))
4328 (file-name (git-file-name name version))
4329 (sha256
4330 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
4331 (build-system emacs-build-system)
4332 (propagated-inputs
4333 `(("emacs-s" ,emacs-s)
4334 ("emacs-dash" ,emacs-dash)))
4335 (home-page "https://github.com/magnars/tagedit")
4336 (synopsis "Some paredit-like features for html-mode")
4337 (description
4338 "This package provides a collection of paredit-like functions for editing
4339 in @code{html-mode}.")
4340 (license license:gpl3+)))
4341
4342 (define-public emacs-slime
4343 (package
4344 (name "emacs-slime")
4345 (version "2.24")
4346 (source
4347 (origin
4348 (method git-fetch)
4349 (uri (git-reference
4350 (url "https://github.com/slime/slime.git")
4351 (commit (string-append "v" version))))
4352 (file-name (git-file-name name version))
4353 (sha256
4354 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
4355 (build-system emacs-build-system)
4356 (native-inputs
4357 `(("texinfo" ,texinfo)))
4358 (arguments
4359 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
4360 #:exclude '("^slime-tests.el" "^contrib/test/"
4361 "^contrib/Makefile$" "^contrib/README.md$")
4362 #:phases
4363 (modify-phases %standard-phases
4364 (add-after 'unpack 'make-git-checkout-writable
4365 (lambda _
4366 (for-each make-file-writable (find-files "."))
4367 #t))
4368 (add-before 'install 'configure
4369 (lambda* _
4370 (emacs-substitute-variables "slime.el"
4371 ("inferior-lisp-program" "sbcl"))
4372 #t))
4373 (add-before 'install 'install-doc
4374 (lambda* (#:key outputs #:allow-other-keys)
4375 (let* ((out (assoc-ref outputs "out"))
4376 (info-dir (string-append out "/share/info"))
4377 (doc-dir (string-append out "/share/doc/"
4378 ,name "-" ,version))
4379 (doc-files '("doc/slime-refcard.pdf"
4380 "README.md" "NEWS" "PROBLEMS"
4381 "CONTRIBUTING.md")))
4382 (with-directory-excursion "doc"
4383 (substitute* "Makefile"
4384 (("infodir=/usr/local/info")
4385 (string-append "infodir=" info-dir)))
4386 (invoke "make" "html/index.html")
4387 (invoke "make" "slime.info")
4388 (install-file "slime.info" info-dir)
4389 (copy-recursively "html" (string-append doc-dir "/html")))
4390 (for-each (lambda (f)
4391 (install-file f doc-dir)
4392 (delete-file f))
4393 doc-files)
4394 (delete-file-recursively "doc")
4395 #t))))))
4396 (home-page "https://github.com/slime/slime")
4397 (synopsis "Superior Lisp Interaction Mode for Emacs")
4398 (description
4399 "SLIME extends Emacs with support for interactive programming in
4400 Common Lisp. The features are centered around @command{slime-mode},
4401 an Emacs minor mode that complements the standard @command{lisp-mode}.
4402 While lisp-mode supports editing Lisp source files, @command{slime-mode}
4403 adds support for interacting with a running Common Lisp process
4404 for compilation, debugging, documentation lookup, and so on.")
4405 (license (list license:gpl2+ license:public-domain))))
4406
4407 (define-public emacs-popup
4408 (package
4409 (name "emacs-popup")
4410 (version "0.5.3")
4411 (source
4412 (origin
4413 (method git-fetch)
4414 (uri (git-reference
4415 (url "https://github.com/auto-complete/popup-el.git")
4416 (commit (string-append "v" version))))
4417 (file-name (git-file-name name version))
4418 (sha256
4419 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
4420 (build-system emacs-build-system)
4421 (home-page "https://github.com/auto-complete/popup-el")
4422 (synopsis "Visual Popup User Interface for Emacs")
4423 (description
4424 "Popup.el is a visual popup user interface library for Emacs.
4425 This provides a basic API and common UI widgets such as popup tooltips
4426 and popup menus.")
4427 (license license:gpl3+)))
4428
4429 (define-public emacs-python-environment
4430 (package
4431 (name "emacs-python-environment")
4432 (version "0.0.2")
4433 (source
4434 (origin
4435 (method git-fetch)
4436 (uri (git-reference
4437 (url "https://github.com/tkf/emacs-python-environment/")
4438 (commit version)))
4439 (file-name (git-file-name name version))
4440 (sha256
4441 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
4442 (build-system emacs-build-system)
4443 (propagated-inputs
4444 `(("emacs-deferred" ,emacs-deferred)))
4445 (home-page "https://github.com/tkf/emacs-python-environment")
4446 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
4447 (description
4448 "This package permits automated installation of tools written in Python.")
4449 (license license:gpl3+)))
4450
4451 (define-public emacs-jedi
4452 (package
4453 (name "emacs-jedi")
4454 (version "0.2.8")
4455 (source (origin
4456 (method git-fetch)
4457 (uri (git-reference
4458 (url "https://github.com/tkf/emacs-jedi/")
4459 (commit (string-append "v" version))))
4460 (file-name (git-file-name name version))
4461 (sha256
4462 (base32
4463 "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"))))
4464 (build-system emacs-build-system)
4465 (native-inputs
4466 `(("emacs-mocker" ,emacs-mocker)))
4467 (propagated-inputs
4468 `(("emacs-auto-complete" ,emacs-auto-complete)
4469 ("emacs-python-environment" ,emacs-python-environment)
4470 ("emacs-epc" ,emacs-epc)))
4471 (home-page "https://github.com/tkf/emacs-jedi")
4472 (synopsis "Provides Python completion in Emacs")
4473 (description
4474 "This package provides completion in Python buffers and also helps find
4475 the locations of docstrings, arguments, and functions.")
4476 (license license:gpl3+)))
4477
4478 (define-public emacs-company-jedi
4479 (package
4480 (name "emacs-company-jedi")
4481 (version "0.04")
4482 (source (origin
4483 (method git-fetch)
4484 (uri (git-reference
4485 (url "https://github.com/syohex/emacs-company-jedi")
4486 (commit version)))
4487 (file-name (git-file-name name version))
4488 (sha256
4489 (base32
4490 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
4491 (build-system emacs-build-system)
4492 (propagated-inputs
4493 `(("emacs-jedi" ,emacs-jedi)
4494 ("emacs-company" ,emacs-company)))
4495 (home-page "https://github.com/syohex/emacs-company-jedi")
4496 (synopsis "Provides Python completion in @code{company-mode}")
4497 (description
4498 "This package provides a Company backend for Python.")
4499 (license license:gpl3+)))
4500
4501 (define-public emacs-puppet-mode
4502 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
4503 (revision "1"))
4504 (package
4505 (name "emacs-puppet-mode")
4506 ;; The last release, 0.3 was several years ago, and there have been many
4507 ;; commits since
4508 (version (git-version "0.3" revision commit))
4509 (source
4510 (origin
4511 (method url-fetch)
4512 (uri (string-append
4513 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
4514 commit "/puppet-mode.el"))
4515 (sha256
4516 (base32
4517 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
4518 (build-system emacs-build-system)
4519 (home-page "https://github.com/voxpupuli/puppet-mode")
4520 (synopsis "Emacs major mode for the Puppet configuration language")
4521 (description
4522 "This package provides support for the Puppet configuration language,
4523 including syntax highlighting, indentation of expressions and statements,
4524 linting of manifests and integration with Puppet Debugger.")
4525 ;; Also incorporates work covered by the Apache License, Version 2.0
4526 (license license:gpl3+))))
4527
4528 (define-public emacs-god-mode
4529 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
4530 (revision "1"))
4531 (package
4532 (name "emacs-god-mode")
4533 (version (string-append "20151005.925."
4534 revision "-" (string-take commit 9)))
4535 (source
4536 (origin
4537 (method git-fetch)
4538 (uri (git-reference
4539 (url "https://github.com/chrisdone/god-mode.git")
4540 (commit commit)))
4541 (file-name (git-file-name name version))
4542 (sha256
4543 (base32
4544 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
4545 (build-system emacs-build-system)
4546 (home-page "https://github.com/chrisdone/god-mode")
4547 (synopsis "Minor mode for entering commands without modifier keys")
4548 (description
4549 "This package provides a global minor mode for entering Emacs commands
4550 without modifier keys. It's similar to Vim's separation of commands and
4551 insertion mode. When enabled all keys are implicitly prefixed with
4552 @samp{C-} (among other helpful shortcuts).")
4553 (license license:gpl3+))))
4554
4555 (define-public emacs-jinja2-mode
4556 (package
4557 (name "emacs-jinja2-mode")
4558 (version "0.2")
4559 (source
4560 (origin
4561 (method git-fetch)
4562 (uri (git-reference
4563 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
4564 (commit (string-append "v" version))))
4565 (file-name (git-file-name name version))
4566 (sha256
4567 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
4568 (build-system emacs-build-system)
4569 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
4570 (synopsis "Major mode for jinja2")
4571 (description
4572 "Emacs major mode for jinja2 with: syntax highlighting,
4573 sgml/html integration, and indentation (working with sgml).")
4574 (license license:gpl3+)))
4575
4576 (define-public emacs-company-cabal
4577 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
4578 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
4579 (revision "1"))
4580 (package
4581 (name "emacs-company-cabal")
4582 (version (git-version "0.3.0" revision commit))
4583 (source (origin
4584 (method git-fetch)
4585 (uri (git-reference
4586 (url "https://github.com/iquiw/company-cabal/")
4587 (commit commit)))
4588 (file-name (git-file-name name version))
4589 (sha256
4590 (base32
4591 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
4592 (build-system emacs-build-system)
4593 (propagated-inputs
4594 `(("emacs-company" ,emacs-company)))
4595 (arguments
4596 `(#:include (cons "^tools\\/" %default-include)))
4597 (home-page "https://github.com/iquiw/company-cabal/")
4598 (synopsis "Company completion for Haskell Cabal files")
4599 (description
4600 "This package allows for completion of field names, section names,
4601 field values, and more within @code{haskell-cabal-mode}.")
4602 (license license:gpl3+))))
4603
4604 (define-public emacs-rfcview
4605 (package
4606 (name "emacs-rfcview")
4607 (version "0.13")
4608 (home-page "http://www.loveshack.ukfsn.org/emacs")
4609 (source (origin
4610 (method url-fetch)
4611 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
4612 (sha256
4613 (base32
4614 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
4615 (build-system emacs-build-system)
4616 (synopsis "Prettify Request for Comments (RFC) documents")
4617 (description "The Internet Engineering Task Force (IETF) and the Internet
4618 Society (ISOC) publish various Internet-related protocols and specifications
4619 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
4620 documents. RFCs and STDs are published in a simple text form. This package
4621 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
4622 read these documents in Emacs. It prettifies the text and adds
4623 hyperlinks/menus for easier navigation. It also provides functions for
4624 browsing the index of RFC documents and fetching them from remote servers or
4625 local directories.")
4626 (license license:gpl3+)))
4627
4628 (define-public emacs-ffap-rfc-space
4629 (package
4630 (name "emacs-ffap-rfc-space")
4631 (version "12")
4632 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
4633 (source (origin
4634 (method url-fetch)
4635 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
4636 (sha256
4637 (base32
4638 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
4639 (build-system emacs-build-system)
4640 (synopsis "Make ffap recognize an RFC with a space before its number")
4641 (description "The Internet Engineering Task Force (IETF) and the
4642 Internet Society (ISOC) publish various Internet-related protocols and
4643 specifications as \"Request for Comments\" (RFC) documents. The
4644 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
4645 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
4646 and load the appropriate RFC from a remote server. However, it fails
4647 to recognize a name like \"RFC 1234\". This package enhances ffap so
4648 that it correctly finds RFCs even when a space appears before the
4649 number.")
4650 (license license:gpl3+)))
4651
4652 (define-public emacs-org-bullets
4653 (package
4654 (name "emacs-org-bullets")
4655 (version "0.2.4")
4656 (source
4657 (origin
4658 (method git-fetch)
4659 (uri (git-reference
4660 (url "https://github.com/sabof/org-bullets.git")
4661 (commit version)))
4662 (file-name (git-file-name name version))
4663 (sha256
4664 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
4665 (build-system emacs-build-system)
4666 (home-page "https://github.com/sabof/org-bullets")
4667 (synopsis "Show bullets in org-mode as UTF-8 characters")
4668 (description
4669 "This package provides an Emacs minor mode causing bullets in
4670 @code{org-mode} to be rendered as UTF-8 characters.")
4671 (license license:gpl3+)))
4672
4673 (define-public emacs-org-pomodoro
4674 ;; Last release version was from 2016.
4675 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
4676 (revision "1"))
4677 (package
4678 (name "emacs-org-pomodoro")
4679 (version (git-version "2.1.0" revision commit))
4680 (source
4681 (origin
4682 (method git-fetch)
4683 (uri (git-reference
4684 (url "https://github.com/marcinkoziej/org-pomodoro.git")
4685 (commit commit)))
4686 (file-name (git-file-name name version))
4687 (sha256
4688 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
4689 (build-system emacs-build-system)
4690 (propagated-inputs
4691 `(("emacs-alert" ,emacs-alert)))
4692 (arguments
4693 `(#:include (cons "^resources\\/" %default-include)
4694 #:tests? #t
4695 #:test-command '("emacs" "--batch"
4696 "-l" "org-pomodoro-tests.el"
4697 "-f" "ert-run-tests-batch-and-exit")
4698 #:phases
4699 (modify-phases %standard-phases
4700 (add-before 'check 'make-tests-writable
4701 (lambda _
4702 (make-file-writable "org-pomodoro-tests.el")
4703 #t))
4704 (add-before 'check 'add-require
4705 (lambda _
4706 (emacs-batch-edit-file "org-pomodoro-tests.el"
4707 `(progn (progn (goto-char (point-min))
4708 (re-search-forward
4709 "ert-deftest")
4710 (beginning-of-line)
4711 (forward-line -1)
4712 (insert "(require 'org-pomodoro)"))
4713 (basic-save-buffer)))
4714 #t)))))
4715 (home-page "https://github.com/marcinkoziej/org-pomodoro")
4716 (synopsis "Pomodoro technique for org-mode")
4717 (description "@code{emacs-org-pomodoro} adds very basic support for
4718 Pomodoro technique in Emacs org-mode.
4719
4720 Run @code{M-x org-pomodoro} for the task at point or select one of the
4721 last tasks that you clocked time for. Each clocked-in pomodoro starts
4722 a timer of 25 minutes and after each pomodoro a break timer of 5
4723 minutes is started automatically. Every 4 breaks a long break is
4724 started with 20 minutes. All values are customizable.")
4725 (license license:gpl3+))))
4726
4727 (define-public emacs-org-sidebar
4728 (package
4729 (name "emacs-org-sidebar")
4730 (version "0.2")
4731 (source
4732 (origin
4733 (method git-fetch)
4734 (uri (git-reference
4735 (url "https://github.com/alphapapa/org-sidebar.git")
4736 (commit version)))
4737 (file-name (git-file-name name version))
4738 (sha256
4739 (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03"))))
4740 (build-system emacs-build-system)
4741 (propagated-inputs
4742 `(("emacs-dash" ,emacs-dash)
4743 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
4744 ("emacs-org" ,emacs-org)
4745 ("emacs-org-ql" ,emacs-org-ql)
4746 ("emacs-s" ,emacs-s)))
4747 (home-page "https://github.com/alphapapa/org-sidebar")
4748 (synopsis "Helpful sidebar for Org buffers")
4749 (description "This package provides a sidebar for Org buffers. At the
4750 top is a chronological list of scheduled and deadlined tasks in the current
4751 buffer (similar to the Org agenda ,but without all its features), and below
4752 that is a list of all other non-done to-do items. If the buffer is narrowed,
4753 the sidebar only shows items in the narrowed portion; this allows seeing an
4754 overview of tasks in a subtree.")
4755 (license license:gpl3+)))
4756
4757 (define-public emacs-org-trello
4758 (package
4759 (name "emacs-org-trello")
4760 (version "0.8.1")
4761 (source
4762 (origin
4763 (method git-fetch)
4764 (uri (git-reference
4765 (url "https://github.com/org-trello/org-trello.git")
4766 (commit version)))
4767 (file-name (git-file-name name version))
4768 (sha256
4769 (base32
4770 "02gx3kv4mkij69ln8x8wf9n28x17pbb4kv85v78d3lxph7ykqimc"))))
4771 (build-system emacs-build-system)
4772 (propagated-inputs
4773 `(("emacs-dash" ,emacs-dash)
4774 ("emacs-deferred" ,emacs-deferred)
4775 ("emacs-f" ,emacs-f)
4776 ("emacs-helm" ,emacs-helm)
4777 ("emacs-request" ,emacs-request)
4778 ("emacs-s" ,emacs-s)))
4779 (home-page "https://org-trello.github.io")
4780 (synopsis "Emacs minor mode for interacting with Trello")
4781 (description "This package provides an Emacs minor mode to extend
4782 @code{org-mode} with Trello abilities. Trello is an online project
4783 organizer.")
4784 (license license:gpl3+)))
4785
4786 (define-public emacs-org-tanglesync
4787 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
4788 (revision "2"))
4789 (package
4790 (name "emacs-org-tanglesync")
4791 (version (git-version "0.6" revision commit))
4792 (source
4793 (origin
4794 (method git-fetch)
4795 (uri (git-reference
4796 (url "https://github.com/mtekman/org-tanglesync.el.git")
4797 (commit commit)))
4798 (file-name (git-file-name name version))
4799 (sha256
4800 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
4801 (build-system emacs-build-system)
4802 (propagated-inputs
4803 `(("emacs-org" ,emacs-org)))
4804 (home-page "https://github.com/mtekman/org-tanglesync.el")
4805 (synopsis "Sync Org source blocks with tangled external files")
4806 (description "This package automatically pulls changes from source code
4807 to their corresponding tangled blocks.")
4808 (license license:gpl3+))))
4809
4810 (define-public emacs-company-flow
4811 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4812 (revision "1"))
4813 (package
4814 (name "emacs-company-flow")
4815 (version (git-version "0.1.0" revision commit))
4816 (source (origin
4817 (method git-fetch)
4818 (uri (git-reference
4819 (url "https://github.com/aaronjensen/company-flow/")
4820 (commit commit)))
4821 (file-name (git-file-name name version))
4822 (sha256
4823 (base32
4824 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4825 (build-system emacs-build-system)
4826 (propagated-inputs
4827 `(("emacs-company" ,emacs-company)
4828 ("emacs-dash" ,emacs-dash)))
4829 (home-page "https://github.com/aaronjensen/company-flow/")
4830 (synopsis "Flow backend for @code{company-mode}")
4831 (description
4832 "This package provides completion for JavaScript files utilizing Flow.")
4833 (license license:gpl3+))))
4834
4835 (define-public emacs-atom-one-dark-theme
4836 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4837 (revision "0"))
4838 (package
4839 (name "emacs-atom-one-dark-theme")
4840 (version (git-version "0.4.0" revision commit))
4841 (source (origin
4842 (method git-fetch)
4843 (uri (git-reference
4844 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4845 (commit commit)))
4846 (sha256
4847 (base32
4848 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4849 (file-name (git-file-name name version))))
4850 (build-system emacs-build-system)
4851 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4852 (synopsis "Atom One Dark color theme for Emacs")
4853 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4854 (license license:gpl3+))))
4855
4856 (define-public emacs-zenburn-theme
4857 (package
4858 (name "emacs-zenburn-theme")
4859 (version "2.6")
4860 (source
4861 (origin
4862 (method git-fetch)
4863 (uri (git-reference
4864 (url "https://github.com/bbatsov/zenburn-emacs.git")
4865 (commit (string-append "v" version))))
4866 (file-name (git-file-name name version))
4867 (sha256
4868 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4869 (build-system emacs-build-system)
4870 (home-page "https://github.com/bbatsov/zenburn-emacs")
4871 (synopsis "Low contrast color theme for Emacs")
4872 (description
4873 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4874 It is built on top of the custom theme support in Emacs 24 or later.")
4875 (license license:gpl3+)))
4876
4877 (define-public emacs-moe-theme-el
4878 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4879 (version "1.0")
4880 (revision "1"))
4881 (package
4882 (name "emacs-moe-theme-el")
4883 (version (git-version version revision commit))
4884 (source
4885 (origin
4886 (method git-fetch)
4887 (uri (git-reference
4888 (url "https://github.com/kuanyui/moe-theme.el")
4889 (commit commit)))
4890 (file-name (git-file-name name version))
4891 (sha256
4892 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4893 (build-system emacs-build-system)
4894 (home-page "https://github.com/kuanyui/moe-theme.el")
4895 (synopsis "Anime-inspired color themes")
4896 (description
4897 "This package provides vibrant color schemes with light and dark
4898 variants.")
4899 (license license:gpl3+))))
4900
4901 (define-public emacs-solarized-theme
4902 (package
4903 (name "emacs-solarized-theme")
4904 (version "1.2.2")
4905 (source (origin
4906 (method git-fetch)
4907 (uri (git-reference
4908 (url "https://github.com/bbatsov/solarized-emacs/")
4909 (commit (string-append "v" version))))
4910 (file-name (git-file-name name version))
4911 (sha256
4912 (base32
4913 "0zcj9jf8nlsj9vms888z2vs76q54n8g8r9sh381xad3x8d6lrlb3"))))
4914 (build-system emacs-build-system)
4915 (propagated-inputs
4916 `(("emacs-dash" ,emacs-dash)))
4917 (home-page "https://github.com/bbatsov/solarized-emacs")
4918 (synopsis "Port of the Solarized theme for Emacs")
4919 (description
4920 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4921 package provides a light and a dark variant.")
4922 (license license:gpl3+)))
4923
4924 (define-public emacs-poet-theme
4925 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
4926 (revision "0"))
4927 (package
4928 (name "emacs-poet-theme")
4929 (version (git-version "0" revision commit))
4930 (source
4931 (origin
4932 (method git-fetch)
4933 (uri (git-reference
4934 (url "https://github.com/kunalb/poet.git")
4935 (commit commit)))
4936 (file-name (git-file-name name version))
4937 (sha256
4938 (base32
4939 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
4940 (build-system emacs-build-system)
4941 (home-page "https://github.com/kunalb/poet/")
4942 (synopsis "Emacs theme for prose")
4943 (description
4944 "Emacs has very good support for multiple fonts in a single file. Poet
4945 uses this support to make it much more convenient to write prose within Emacs,
4946 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
4947 Code blocks, tables, etc are formatted in monospace text with the appropriate
4948 backgrounds.")
4949 (license license:expat))))
4950
4951 (define-public emacs-ahungry-theme
4952 (package
4953 (name "emacs-ahungry-theme")
4954 (version "1.10.0")
4955 (source
4956 (origin (method url-fetch)
4957 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4958 version ".tar"))
4959 (sha256
4960 (base32
4961 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4962 (build-system emacs-build-system)
4963 (home-page "https://github.com/ahungry/color-theme-ahungry")
4964 (synopsis "Ahungry color theme for Emacs")
4965 (description "Ahungry theme for Emacs provides bright and bold colors.
4966 If you load it from a terminal, you will be able to make use of the
4967 transparent background. If you load it from a GUI, it will default to a
4968 dark background.")
4969 (license license:gpl3+)))
4970
4971 (define-public emacs-gruvbox-theme
4972 (package
4973 (name "emacs-gruvbox-theme")
4974 (version "1.28.0")
4975 (source (origin
4976 (method git-fetch)
4977 (uri (git-reference
4978 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4979 (commit version)))
4980 (file-name (git-file-name name version))
4981 (sha256
4982 (base32
4983 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4984 (build-system emacs-build-system)
4985 (propagated-inputs
4986 `(("emacs-autothemer" ,emacs-autothemer)))
4987 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4988 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4989 (description
4990 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4991
4992 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4993 mode switching in the way of solarized. The main focus when developing gruvbox
4994 is to keep colors easily distinguishable, contrast enough and still pleasant
4995 for the eyes.")
4996 (license license:expat))) ; MIT license
4997
4998 (define-public emacs-spacegray-theme
4999 (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
5000 (revision "0"))
5001 (package
5002 (name "emacs-spacegray-theme")
5003 (version (git-version "0" revision commit))
5004 (source (origin
5005 (method git-fetch)
5006 (uri (git-reference
5007 (url "https://github.com/bruce/emacs-spacegray-theme.git")
5008 (commit commit)))
5009 (file-name (git-file-name name version))
5010 (sha256
5011 (base32
5012 "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"))))
5013 (build-system emacs-build-system)
5014 (home-page "https://github.com/bruce/emacs-spacegray-theme")
5015 (synopsis "Port of Sublime Text's Spacegray theme for Emacs")
5016 (description
5017 "@code{spacegray-theme} is an Emacs port of the Spacegray theme from
5018 Sublime Text. It features a dark blue/gray background and soft blue, green,
5019 orange and red as accent colors.")
5020 (license license:expat)))) ; MIT license
5021
5022 (define-public emacs-2048-game
5023 (package
5024 (name "emacs-2048-game")
5025 (version "20151026.1233")
5026 (source
5027 (origin
5028 (method url-fetch)
5029 (uri (string-append "https://melpa.org/packages/2048-game-"
5030 version ".el"))
5031 (sha256
5032 (base32
5033 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
5034 (build-system emacs-build-system)
5035 (home-page "https://bitbucket.org/zck/2048.el")
5036 (synopsis "Implementation of the game 2048 in Emacs Lisp")
5037 (description
5038 "This program is an implementation of 2048 for Emacs.
5039 The goal of this game is to create a tile with value 2048. The size of the
5040 board and goal value can be customized.")
5041 (license license:gpl3+)))
5042
5043 (define-public emacs-base16-theme
5044 (package
5045 (name "emacs-base16-theme")
5046 (version "2.2")
5047 (source
5048 (origin
5049 (method git-fetch)
5050 (uri (git-reference
5051 (url "https://github.com/belak/base16-emacs.git")
5052 (commit version)))
5053 (file-name (git-file-name name version))
5054 (sha256
5055 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
5056 (build-system emacs-build-system)
5057 (home-page "https://github.com/belak/base16-emacs")
5058 (synopsis "Base16 color themes for Emacs")
5059 (description
5060 "Base16 provides carefully chosen syntax highlighting and a default set
5061 of sixteen colors suitable for a wide range of applications. Base16 is not a
5062 single theme but a set of guidelines with numerous implementations.")
5063 (license license:expat)))
5064
5065 (define-public emacs-solaire-mode
5066 (package
5067 (name "emacs-solaire-mode")
5068 (version "1.0.9")
5069 (source
5070 (origin
5071 (method git-fetch)
5072 (uri (git-reference
5073 (url "https://github.com/hlissner/emacs-solaire-mode.git")
5074 (commit (string-append "v" version))))
5075 (file-name (git-file-name name version))
5076 (sha256
5077 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
5078 (build-system emacs-build-system)
5079 (home-page "https://github.com/hlissner/emacs-solaire-mode")
5080 (synopsis "Change background of file-visiting buffers in Emacs")
5081 (description
5082 "@code{solaire-mode} is inspired by editors which visually distinguish
5083 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
5084 background of file-visiting buffers (and certain aspects of the UI) to make
5085 them easier to distinguish from other, less important buffers.")
5086 (license license:expat)))
5087
5088 (define-public emacs-prescient
5089 ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x
5090 ;; by default, so we use a non-release version ahead by one commit
5091 (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d")
5092 (revision "1"))
5093 (package
5094 (name "emacs-prescient")
5095 (version (git-version "3.3" revision commit))
5096 (source (origin
5097 (method git-fetch)
5098 (uri (git-reference
5099 (url "https://github.com/raxod502/prescient.el/")
5100 (commit commit)))
5101 (file-name (git-file-name name version))
5102 (sha256
5103 (base32
5104 "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7"))))
5105 (build-system emacs-build-system)
5106 (propagated-inputs
5107 `(("emacs-company" ,emacs-company)
5108 ("emacs-ivy" ,emacs-ivy)))
5109 (home-page "https://github.com/raxod502/prescient.el/")
5110 (synopsis "Library that sorts and filters lists of candidates")
5111 (description
5112 "This package provides a library for sorting and filtering, as well as
5113 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
5114 library.")
5115 (license license:gpl3+))))
5116
5117 (define-public emacs-smartparens
5118 (package
5119 (name "emacs-smartparens")
5120 (version "1.11.0")
5121 (source
5122 (origin
5123 (method git-fetch)
5124 (uri (git-reference
5125 (url "https://github.com/Fuco1/smartparens.git")
5126 (commit version)))
5127 (file-name (git-file-name name version))
5128 (sha256
5129 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
5130 (build-system emacs-build-system)
5131 (propagated-inputs
5132 `(("emacs-dash" ,emacs-dash)
5133 ("emacs-markdown-mode" ,emacs-markdown-mode)))
5134 (home-page "https://github.com/Fuco1/smartparens")
5135 (synopsis "Paredit-like insertion, wrapping and navigation with user
5136 defined pairs")
5137 (description
5138 "Smartparens is a minor mode for Emacs that deals with parens pairs
5139 and tries to be smart about it. It started as a unification effort to
5140 combine functionality of several existing packages in a single,
5141 compatible and extensible way to deal with parentheses, delimiters, tags
5142 and the like. Some of these packages include autopair, textmate,
5143 wrap-region, electric-pair-mode, paredit and others. With the basic
5144 features found in other packages it also brings many improvements as
5145 well as completely new features.")
5146 (license license:gpl3+)))
5147
5148 (define-public emacs-highlight-symbol
5149 ;; We prefer a more recent commit that provides an option to squelch
5150 ;; echo-area alerts that can drown out useful information like eldoc
5151 ;; messages.
5152 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
5153 (version "1.3")
5154 (revision "1"))
5155 (package
5156 (name "emacs-highlight-symbol")
5157 (version (git-version version revision commit))
5158 (source
5159 (origin
5160 (method git-fetch)
5161 (uri (git-reference
5162 (url "https://github.com/nschum/highlight-symbol.el.git")
5163 (commit commit)))
5164 (file-name (git-file-name name version))
5165 (sha256
5166 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
5167 (build-system emacs-build-system)
5168 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
5169 (synopsis "Automatic and manual symbol highlighting for Emacs")
5170 (description
5171 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
5172 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
5173 the symbol at point highlighted.
5174
5175 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
5176 @code{highlight-symbol-next-in-defun} and
5177 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
5178 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
5179 bindings @code{M-p} and @code{M-p} for navigation. When
5180 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
5181 regardless of @code{highlight-symbol-idle-delay}.
5182
5183 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
5184 (license license:gpl2+))))
5185
5186 (define-public emacs-symbol-overlay
5187 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
5188 (revision "1"))
5189 (package
5190 (name "emacs-symbol-overlay")
5191 (version (git-version "4.1" revision commit))
5192 (source
5193 (origin
5194 (method git-fetch)
5195 (uri (git-reference
5196 (url "https://github.com/wolray/symbol-overlay.git")
5197 (commit commit)))
5198 (file-name (git-file-name name version))
5199 (sha256
5200 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
5201 (build-system emacs-build-system)
5202 (home-page "https://github.com/wolray/symbol-overlay")
5203 (synopsis "Highlight symbols and perform various search operations on them")
5204 (description
5205 "This package provides functions for highlighting and navigating
5206 between symbols.")
5207 (license license:gpl3+))))
5208
5209 (define-public emacs-hl-todo
5210 (package
5211 (name "emacs-hl-todo")
5212 (version "3.0.0")
5213 (source (origin
5214 (method git-fetch)
5215 (uri (git-reference
5216 (url "https://github.com/tarsius/hl-todo")
5217 (commit (string-append "v" version))))
5218 (file-name (git-file-name name version))
5219 (sha256
5220 (base32
5221 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
5222 (build-system emacs-build-system)
5223 (home-page "https://github.com/tarsius/hl-todo")
5224 (synopsis "Emacs mode to highlight TODO and similar keywords")
5225 (description
5226 "This package provides an Emacs mode to highlight TODO and similar
5227 keywords in comments and strings. This package also provides commands for
5228 moving to the next or previous keyword and to invoke @code{occur} with a
5229 regexp that matches all known keywords.")
5230 (license license:gpl3+)))
5231
5232 (define-public emacs-perspective
5233 (package
5234 (name "emacs-perspective")
5235 (version "2.2")
5236 (source
5237 (origin
5238 (method git-fetch)
5239 (uri (git-reference
5240 (url "https://github.com/nex3/perspective-el.git")
5241 (commit version)))
5242 (file-name (git-file-name name version))
5243 (sha256
5244 (base32
5245 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
5246 (build-system emacs-build-system)
5247 (home-page "https://github.com/nex3/perspective-el")
5248 (synopsis "Switch between named \"perspectives\"")
5249 (description
5250 "This package provides tagged workspaces in Emacs, similar to workspaces in
5251 windows managers such as Awesome and XMonad. @code{perspective.el} provides
5252 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
5253 perspective is composed of a window configuration and a set of buffers.
5254 Switching to a perspective activates its window configuration, and when in a
5255 perspective only its buffers are available by default.")
5256 ;; This package is released under the same license as Emacs (GPLv3+) or
5257 ;; the Expat license.
5258 (license license:gpl3+)))
5259
5260 (define-public emacs-test-simple
5261 (package
5262 (name "emacs-test-simple")
5263 (version "1.3.0")
5264 (source
5265 (origin
5266 (method url-fetch)
5267 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
5268 version ".el"))
5269 (sha256
5270 (base32
5271 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
5272 (build-system emacs-build-system)
5273 (home-page "https://github.com/rocky/emacs-test-simple")
5274 (synopsis "Simple unit test framework for Emacs Lisp")
5275 (description
5276 "Test Simple is a simple unit test framework for Emacs Lisp. It
5277 alleviates the need for context macros, enclosing specifications or required
5278 test tags. It supports both interactive and non-interactive use.")
5279 (license license:gpl3+)))
5280
5281 (define-public emacs-load-relative
5282 (package
5283 (name "emacs-load-relative")
5284 (version "1.3.1")
5285 (source
5286 (origin
5287 (method url-fetch)
5288 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
5289 version ".el"))
5290 (sha256
5291 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
5292 (build-system emacs-build-system)
5293 (home-page "http://github.com/rocky/emacs-load-relative")
5294 (synopsis "Emacs Lisp relative file loading related functions")
5295 (description
5296 "Provides functions which facilitate writing multi-file Emacs packages
5297 and running from the source tree without having to \"install\" code or fiddle
5298 with @{load-path}.
5299
5300 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
5301 another (presumably currently running) Emacs Lisp file.")
5302 (license license:gpl3+)))
5303
5304 (define-public emacs-loc-changes
5305 (package
5306 (name "emacs-loc-changes")
5307 (version "1.2")
5308 (source
5309 (origin
5310 (method url-fetch)
5311 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
5312 version ".el"))
5313 (sha256
5314 (base32
5315 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
5316 (build-system emacs-build-system)
5317 (home-page "https://github.com/rocky/emacs-loc-changes")
5318 (synopsis "Keeps track of positions even after buffer changes")
5319 (description
5320 "This Emacs package provides a mean to track important buffer positions
5321 after buffer changes.")
5322 (license license:gpl3+)))
5323
5324 (define-public emacs-realgud
5325 (package
5326 (name "emacs-realgud")
5327 (version "1.5.1")
5328 (source
5329 (origin
5330 (method git-fetch)
5331 (uri (git-reference
5332 (url "https://github.com/realgud/realgud/")
5333 (commit version)))
5334 (sha256
5335 (base32
5336 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
5337 (file-name (git-file-name name version))))
5338 (build-system emacs-build-system)
5339 (arguments
5340 `(#:tests? #t
5341 #:phases
5342 (modify-phases %standard-phases
5343 (add-after 'unpack 'fix-autogen-script
5344 (lambda _
5345 (substitute* "autogen.sh"
5346 (("./configure") "sh configure"))))
5347 (add-after 'fix-autogen-script 'autogen
5348 (lambda _
5349 (setenv "CONFIG_SHELL" "sh")
5350 (invoke "sh" "autogen.sh")))
5351 (add-after 'fix-autogen-script 'set-home
5352 (lambda _
5353 (setenv "HOME" (getenv "TMPDIR"))))
5354 (add-before 'patch-el-files 'remove-realgud-pkg.el
5355 (lambda _
5356 ;; FIXME: `patch-el-files' crashes on this file with error:
5357 ;; unable to locate "bashdb".
5358 (delete-file "./test/test-regexp-bashdb.el"))))
5359 #:include (cons* ".*\\.el$" %default-include)))
5360 (native-inputs
5361 `(("autoconf" ,autoconf)
5362 ("automake" ,automake)
5363 ("emacs-test-simple" ,emacs-test-simple)))
5364 (propagated-inputs
5365 `(("emacs-load-relative" ,emacs-load-relative)
5366 ("emacs-loc-changes" ,emacs-loc-changes)))
5367 (home-page "https://github.com/realgud/realgud/")
5368 (synopsis
5369 "Modular front-end for interacting with external debuggers")
5370 (description
5371 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
5372 with external debuggers. It integrates various debuggers such as gdb, pdb,
5373 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
5374 sources. Unlike GUD, it also supports running multiple debug sessions in
5375 parallel.")
5376 (license license:gpl3+)))
5377
5378 (define-public emacs-request
5379 (package
5380 (name "emacs-request")
5381 (version "0.3.2")
5382 (source (origin
5383 (method git-fetch)
5384 (uri (git-reference
5385 (url "https://github.com/tkf/emacs-request.git")
5386 (commit (string-append "v" version))))
5387 (file-name (git-file-name name version))
5388 (sha256
5389 (base32
5390 "1djywhvvb6kwdj0nd3axjvb7k2g06dzkc6hsf29w9rsk96vr8ryl"))))
5391 (build-system emacs-build-system)
5392 (arguments
5393 `(#:tests? #f)) ; requires network access.
5394 (propagated-inputs
5395 `(("emacs-deferred" ,emacs-deferred)))
5396 (home-page "https://github.com/tkf/emacs-request")
5397 (synopsis "Package for speaking HTTP in Emacs Lisp")
5398 (description "This package provides a HTTP request library with multiple
5399 backends. It supports url.el which is shipped with Emacs and the curl command
5400 line program.")
5401 (license license:gpl3+)))
5402
5403 (define-public emacs-rudel
5404 (package
5405 (name "emacs-rudel")
5406 (version "0.3.1")
5407 (source
5408 (origin
5409 (method url-fetch)
5410 (uri (string-append "https://elpa.gnu.org/packages/rudel-"
5411 version ".tar"))
5412 (sha256
5413 (base32
5414 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
5415 (build-system emacs-build-system)
5416 (home-page "http://rudel.sourceforge.net/")
5417 (synopsis "Collaborative editing framework")
5418 (description
5419 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
5420 is to share buffers with other users in order to edit the contents of those
5421 buffers collaboratively. Rudel supports multiple backends to enable
5422 communication with other collaborative editors using different protocols,
5423 though currently Obby (for use with the Gobby editor) is the only
5424 fully-functional one.")
5425 (license license:gpl3+)))
5426
5427 (define-public emacs-hydra
5428 (package
5429 (name "emacs-hydra")
5430 (version "0.15.0")
5431 (source
5432 (origin
5433 (method git-fetch)
5434 (uri (git-reference
5435 (url "https://github.com/abo-abo/hydra")
5436 (commit version)))
5437 (file-name (git-file-name name version))
5438 (sha256
5439 (base32
5440 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
5441 (build-system emacs-build-system)
5442 (arguments
5443 `(#:tests? #t
5444 #:test-command '("make" "test")))
5445 (home-page "https://github.com/abo-abo/hydra")
5446 (synopsis "Make Emacs bindings that stick around")
5447 (description
5448 "This package can be used to tie related commands into a family of short
5449 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
5450 the prefixed binding), all the heads can be called in succession with only a
5451 short extension. Any binding that isn't the Hydra's head vanquishes the
5452 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
5453 serve its original purpose, calling the command assigned to it. This makes
5454 the Hydra very seamless; it's like a minor mode that disables itself
5455 automatically.")
5456 (license license:gpl3+)))
5457
5458 (define-public emacs-ivy
5459 (package
5460 (name "emacs-ivy")
5461 (version "0.13.0")
5462 (source
5463 (origin
5464 (method git-fetch)
5465 (uri (git-reference
5466 (url "https://github.com/abo-abo/swiper.git")
5467 (commit version)))
5468 (file-name (git-file-name name version))
5469 (sha256
5470 (base32
5471 "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"))))
5472 (build-system emacs-build-system)
5473 (arguments
5474 `(#:phases
5475 (modify-phases %standard-phases
5476 (add-after 'install 'install-doc
5477 (lambda* (#:key outputs #:allow-other-keys)
5478 (let* ((out (assoc-ref outputs "out"))
5479 (info (string-append out "/share/info")))
5480 (with-directory-excursion "doc"
5481 (invoke "makeinfo" "ivy.texi")
5482 (install-file "ivy.info" info)
5483 #t))))
5484 (add-before 'check 'make-dummy-git-directory
5485 (lambda _
5486 (mkdir-p ".git")))
5487 (add-after 'check 'delete-dummy-git-directory
5488 (lambda _
5489 (delete-file-recursively ".git"))))
5490 #:tests? #t
5491 #:test-command '("make" "test")))
5492 (propagated-inputs
5493 `(("emacs-hydra" ,emacs-hydra)))
5494 (native-inputs
5495 `(("texinfo" ,texinfo)
5496 ("emacs-wgrep" ,emacs-wgrep)))
5497 (home-page "http://oremacs.com/swiper/")
5498 (synopsis "Incremental vertical completion for Emacs")
5499 (description
5500 "This package provides @code{ivy-read} as an alternative to
5501 @code{completing-read} and similar functions. No attempt is made to determine
5502 the best candidate. Instead, the user can navigate candidates with
5503 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
5504 splitting the input text by spaces and re-building it into a regular
5505 expression.")
5506 (license license:gpl3+)))
5507
5508 (define-public emacs-ivy-xref
5509 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
5510 (revision "1"))
5511 (package
5512 (name "emacs-ivy-xref")
5513 (version (git-version "0.1" revision commit))
5514 (source
5515 (origin
5516 (method git-fetch)
5517 (uri (git-reference
5518 (url "https://github.com/alexmurray/ivy-xref.git")
5519 (commit commit)))
5520 (file-name (git-file-name name version))
5521 (sha256
5522 (base32
5523 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
5524 (build-system emacs-build-system)
5525 (propagated-inputs
5526 `(("emacs-ivy" ,emacs-ivy)))
5527 (home-page "https://github.com/alexmurray/ivy-xref")
5528 (synopsis "Ivy interface for @code{xref}")
5529 (description "This package provides an Ivy interface for selecting from
5530 @code{xref} results.")
5531 (license license:gpl3))))
5532
5533 (define-public emacs-ivy-pass
5534 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
5535 (revision "1"))
5536 (package
5537 (name "emacs-ivy-pass")
5538 (version (git-version "0.1" revision commit))
5539 (source
5540 (origin
5541 (method git-fetch)
5542 (uri (git-reference
5543 (url "https://github.com/ecraven/ivy-pass.git")
5544 (commit commit)))
5545 (file-name (git-file-name name version))
5546 (sha256
5547 (base32
5548 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
5549 (build-system emacs-build-system)
5550 (propagated-inputs
5551 `(("emacs-ivy" ,emacs-ivy)
5552 ("emacs-password-store" ,emacs-password-store)
5553 ("password-store" ,password-store)))
5554 (home-page "https://github.com/ecraven/ivy-pass")
5555 (synopsis "Ivy interface for password store (pass)")
5556 (description "This package provides an Ivy interface for working with
5557 the password store @code{pass}.")
5558 (license license:gpl3))))
5559
5560 (define-public emacs-ivy-yasnippet
5561 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
5562 (revision "2"))
5563 (package
5564 (name "emacs-ivy-yasnippet")
5565 (version (git-version "0.1" revision commit))
5566 (source
5567 (origin
5568 (method git-fetch)
5569 (uri (git-reference
5570 (url "https://github.com/mkcms/ivy-yasnippet.git")
5571 (commit commit)))
5572 (file-name (git-file-name name version))
5573 (sha256
5574 (base32
5575 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
5576 (build-system emacs-build-system)
5577 (propagated-inputs
5578 `(("emacs-ivy" ,emacs-ivy)
5579 ("emacs-yasnippet" ,emacs-yasnippet)
5580 ("emacs-dash" ,emacs-dash)))
5581 (home-page "https://github.com/mkcms/ivy-yasnippet")
5582 (synopsis "Preview @code{yasnippets} with @code{ivy}")
5583 (description "This package allows you to select @code{yasnippet}
5584 snippets using @code{ivy} completion. When current selection changes in the
5585 minibuffer, the snippet contents are temporarily expanded in the buffer. To
5586 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
5587 @code{yas-minor-mode} first).")
5588 (license license:gpl3+))))
5589
5590 (define-public emacs-ivy-rich
5591 ;; The latest release version has a small mistake that has since been fixed,
5592 ;; so we use a more recent commit.
5593 (let ((commit "7a667b135983a1f3ad33d6db8514638e2a3bdfb3")
5594 (revision "2"))
5595 (package
5596 (name "emacs-ivy-rich")
5597 (version (git-version "0.1.4" revision commit))
5598 (source
5599 (origin
5600 (method git-fetch)
5601 (uri (git-reference
5602 (url "https://github.com/Yevgnen/ivy-rich.git")
5603 (commit commit)))
5604 (file-name (git-file-name name version))
5605 (sha256
5606 (base32 "1v5j6pak2j1wjw19y7rx9rhxif0bj2h47xyl2knfcl6fi4qiqm9y"))))
5607 (build-system emacs-build-system)
5608 (propagated-inputs
5609 `(("emacs-ivy" ,emacs-ivy)))
5610 (home-page "https://github.com/Yevgnen/ivy-rich")
5611 (synopsis "More friendly interface for @code{ivy}")
5612 (description
5613 "This package extends @code{ivy} by showing more information in the
5614 minibuffer for each candidate. It adds columns showing buffer modes, file
5615 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
5616 show icons as well.")
5617 (license license:gpl3+))))
5618
5619 (define-public emacs-avy
5620 (package
5621 (name "emacs-avy")
5622 (version "0.5.0")
5623 (source
5624 (origin
5625 (method git-fetch)
5626 (uri (git-reference
5627 (url "https://github.com/abo-abo/avy.git")
5628 (commit version)))
5629 (file-name (git-file-name name version))
5630 (sha256
5631 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
5632 (build-system emacs-build-system)
5633 (arguments
5634 `(#:tests? #t
5635 #:test-command '("make" "test")))
5636 (home-page "https://github.com/abo-abo/avy")
5637 (synopsis "Tree-based completion for Emacs")
5638 (description
5639 "This package provides a generic completion method based on building a
5640 balanced decision tree with each candidate being a leaf. To traverse the tree
5641 from the root to a desired leaf, typically a sequence of @code{read-key} can
5642 be used.
5643
5644 In order for @code{read-key} to make sense, the tree needs to be visualized
5645 appropriately, with a character at each branch node. So this completion
5646 method works only for things that you can see on your screen, all at once,
5647 such as the positions of characters, words, line beginnings, links, or
5648 windows.")
5649 (license license:gpl3+)))
5650
5651 (define-public emacs-ace-window
5652 ;; last release version is from 2015
5653 (let ((commit "a5344925e399e1f015721cda6cf5db03c90ab87a")
5654 (revision "1"))
5655 (package
5656 (name "emacs-ace-window")
5657 (version (git-version "0.9.0" revision commit))
5658 (source
5659 (origin
5660 (method git-fetch)
5661 (uri (git-reference
5662 (url "https://github.com/abo-abo/ace-window.git")
5663 (commit commit)))
5664 (file-name (git-file-name name version))
5665 (sha256
5666 (base32
5667 "18jm8gfgnf6ja9aarws5650lw2zfi3wdwc5j8r5ijn5fcqhfy7rc"))))
5668 (build-system emacs-build-system)
5669 (propagated-inputs
5670 `(("emacs-avy" ,emacs-avy)))
5671 (home-page "https://github.com/abo-abo/ace-window")
5672 (synopsis "Quickly switch windows in Emacs")
5673 (description
5674 "@code{ace-window} is meant to replace @code{other-window}.
5675 In fact, when there are only two windows present, @code{other-window} is
5676 called. If there are more, each window will have its first character
5677 highlighted. Pressing that character will switch to that window.")
5678 (license license:gpl3+))))
5679
5680 (define-public emacs-iedit
5681 ;; Last release version was in 2016.
5682 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
5683 (revision "1"))
5684 (package
5685 (name "emacs-iedit")
5686 (version (git-version "0.9.9.9" revision commit))
5687 (source
5688 (origin
5689 (method git-fetch)
5690 (uri (git-reference
5691 (url "https://github.com/victorhge/iedit.git")
5692 (commit commit)))
5693 (file-name (git-file-name name version))
5694 (sha256
5695 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
5696 (build-system emacs-build-system)
5697 (home-page "https://www.emacswiki.org/emacs/Iedit")
5698 (synopsis "Edit multiple regions in the same way simultaneously")
5699 (description
5700 "This package is an Emacs minor mode and allows you to edit one
5701 occurrence of some text in a buffer (possibly narrowed) or region, and
5702 simultaneously have other occurrences edited in the same way.
5703
5704 You can also use Iedit mode as a quick way to temporarily show only the buffer
5705 lines that match the current text being edited. This gives you the effect of
5706 a temporary @code{keep-lines} or @code{occur}.")
5707 (license license:gpl3+))))
5708
5709 (define-public emacs-zoutline
5710 (package
5711 (name "emacs-zoutline")
5712 (version "0.2.0")
5713 (source
5714 (origin
5715 (method git-fetch)
5716 (uri (git-reference
5717 (url "https://github.com/abo-abo/zoutline")
5718 (commit version)))
5719 (sha256
5720 (base32
5721 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
5722 (file-name (git-file-name name version))))
5723 (build-system emacs-build-system)
5724 (home-page "https://github.com/abo-abo/zoutline")
5725 (synopsis "Simple outline library")
5726 (description
5727 "This library provides helpers for outlines. Outlines allow users to
5728 navigate code in a tree-like fashion.")
5729 (license license:gpl3+)))
5730
5731 (define-public emacs-lispy
5732 (package
5733 (name "emacs-lispy")
5734 (version "0.27.0")
5735 (home-page "https://github.com/abo-abo/lispy")
5736 (source (origin
5737 (method git-fetch)
5738 (uri (git-reference
5739 (url "https://github.com/abo-abo/lispy")
5740 (commit version)))
5741 (sha256
5742 (base32
5743 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
5744 (file-name (git-file-name name version))))
5745 (build-system emacs-build-system)
5746 (propagated-inputs
5747 `(("emacs-ace-window" ,emacs-ace-window)
5748 ("emacs-iedit" ,emacs-iedit)
5749 ("emacs-ivy" ,emacs-ivy)
5750 ("emacs-hydra" ,emacs-hydra)
5751 ("emacs-zoutline" ,emacs-zoutline)))
5752 (native-inputs
5753 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5754 ("emacs-undercover" ,emacs-undercover)))
5755 (arguments
5756 `(#:include (cons* "^lispy-clojure\\.clj$"
5757 "^lispy-python\\.py$"
5758 %default-include)
5759 #:phases
5760 ;; XXX: one failing test involving python evaluation
5761 (modify-phases %standard-phases
5762 (add-before 'check 'make-test-writable
5763 (lambda _
5764 (make-file-writable "lispy-test.el")
5765 #t))
5766 (add-before 'check 'remove-python-eval-test
5767 (lambda _
5768 (emacs-batch-edit-file "lispy-test.el"
5769 `(progn
5770 (progn
5771 (goto-char (point-min))
5772 (re-search-forward
5773 "ert-deftest lispy-eval-python-str")
5774 (beginning-of-line)
5775 (kill-sexp))
5776 (basic-save-buffer)))
5777 #t)))
5778 #:tests? #t
5779 #:test-command '("make" "test")))
5780 (synopsis "Modal S-expression editing")
5781 (description
5782 "Due to the structure of Lisp syntax it's very rare for the programmer
5783 to want to insert characters right before \"(\" or right after \")\". Thus
5784 unprefixed printable characters can be used to call commands when the point is
5785 at one of these special locations. Lispy provides unprefixed keybindings for
5786 S-expression editing when point is at the beginning or end of an
5787 S-expression.")
5788 (license license:gpl3+)))
5789
5790 (define-public emacs-lispyville
5791 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
5792 (revision "1"))
5793 (package
5794 (name "emacs-lispyville")
5795 (version (git-version "0.1" revision commit))
5796 (home-page "https://github.com/noctuid/lispyville")
5797 (source (origin
5798 (method git-fetch)
5799 (uri (git-reference (url home-page) (commit commit)))
5800 (sha256
5801 (base32
5802 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
5803 (file-name (git-file-name name version))))
5804 (propagated-inputs
5805 `(("emacs-evil" ,emacs-evil)
5806 ("emacs-lispy" ,emacs-lispy)))
5807 (build-system emacs-build-system)
5808 (arguments
5809 `(#:phases
5810 ;; XXX: mysterious whitespace issue with one test
5811 (modify-phases %standard-phases
5812 (add-before 'check 'make-test-writable
5813 (lambda _
5814 (make-file-writable "lispyville-test.el")
5815 #t))
5816 (add-after 'make-test-writable 'remove-test
5817 (lambda _
5818 (emacs-batch-edit-file "lispyville-test.el"
5819 `(progn (progn (goto-char (point-min))
5820 (re-search-forward
5821 "ert-deftest lispyville-comment-and-clone-dwim")
5822 (beginning-of-line)
5823 (kill-sexp))
5824 (basic-save-buffer))))))
5825 #:tests? #t
5826 #:test-command '("make" "test")))
5827 (synopsis "Minor mode for integrating Evil with lispy")
5828 (description
5829 "LispyVille's main purpose is to provide a Lisp editing environment
5830 suited towards Evil users. It can serve as a minimal layer on top of lispy
5831 for better integration with Evil, but it does not require the use of lispy’s
5832 keybinding style. The provided commands allow for editing Lisp in normal
5833 state and will work even without lispy being enabled.")
5834 (license license:gpl3+))))
5835
5836 (define-public emacs-lpy
5837 (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
5838 (revision "3"))
5839 (package
5840 (name "emacs-lpy")
5841 (version (git-version "0.1.0" revision commit))
5842 (source
5843 (origin
5844 (method git-fetch)
5845 (uri (git-reference
5846 (url "https://github.com/abo-abo/lpy")
5847 (commit commit)))
5848 (sha256
5849 (base32
5850 "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
5851 (file-name (git-file-name name version))))
5852 (propagated-inputs
5853 `(("emacs-zoutline" ,emacs-zoutline)
5854 ("emacs-lispy" ,emacs-lispy)))
5855 (build-system emacs-build-system)
5856 (home-page "https://github.com/abo-abo/lpy")
5857 (synopsis "Modal editing for Python")
5858 (description
5859 "This package provides a minor mode for Python that binds useful
5860 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
5861 circumstances, and leaves the keys untouched outside of those situations,
5862 allowing unprefixed keys to insert their respective characters as expected.")
5863 (license license:gpl3+))))
5864
5865 (define-public emacs-clojure-mode
5866 (package
5867 (name "emacs-clojure-mode")
5868 (version "5.6.1")
5869 (source
5870 (origin
5871 (method git-fetch)
5872 (uri (git-reference
5873 (url "https://github.com/clojure-emacs/clojure-mode.git")
5874 (commit version)))
5875 (file-name (git-file-name name version))
5876 (sha256
5877 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
5878 (build-system emacs-build-system)
5879 (native-inputs
5880 `(("emacs-dash" ,emacs-dash)
5881 ("emacs-s" ,emacs-s)
5882 ("ert-runner" ,emacs-ert-runner)))
5883 (arguments
5884 `(#:tests? #t
5885 #:test-command '("ert-runner")))
5886 (home-page "https://github.com/clojure-emacs/clojure-mode")
5887 (synopsis "Major mode for Clojure code")
5888 (description
5889 "This Emacs package provides font-lock, indentation, navigation and basic
5890 refactoring for the @uref{http://clojure.org, Clojure programming language}.
5891 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
5892 (license license:gpl3+)))
5893
5894 (define-public emacs-epl
5895 (package
5896 (name "emacs-epl")
5897 (version "0.8")
5898 (source
5899 (origin
5900 (method git-fetch)
5901 (uri (git-reference
5902 (url "https://github.com/cask/epl.git")
5903 (commit version)))
5904 (file-name (git-file-name name version))
5905 (sha256
5906 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
5907 (build-system emacs-build-system)
5908 (home-page "https://github.com/cask/epl")
5909 (synopsis "Emacs Package Library")
5910 (description
5911 "A package management library for Emacs, based on @code{package.el}.
5912
5913 The purpose of this library is to wrap all the quirks and hassle of
5914 @code{package.el} into a sane API.")
5915 (license license:gpl3+)))
5916
5917 (define-public emacs-counsel-projectile
5918 (package
5919 (name "emacs-counsel-projectile")
5920 (version "0.3.0")
5921 (source (origin
5922 (method git-fetch)
5923 (uri (git-reference
5924 (url "https://github.com/ericdanan/counsel-projectile")
5925 (commit version)))
5926 (file-name (git-file-name name version))
5927 (sha256
5928 (base32
5929 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
5930 (build-system emacs-build-system)
5931 (propagated-inputs
5932 `(("emacs-ivy" ,emacs-ivy)
5933 ("emacs-projectile" ,emacs-projectile)))
5934 (home-page "https://github.com/ericdanan/counsel-projectile")
5935 (synopsis "Enhance Projectile with Ivy")
5936 (description
5937 "This package uses Ivy to provide additional actions for Projectile
5938 commands and replacements for existing functions.")
5939 (license license:gpl3+)))
5940
5941 (define-public emacs-queue
5942 (package
5943 (name "emacs-queue")
5944 (version "0.2")
5945 (source (origin
5946 (method url-fetch)
5947 (uri (string-append "https://elpa.gnu.org/packages/queue-"
5948 version ".el"))
5949 (sha256
5950 (base32
5951 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
5952 (build-system emacs-build-system)
5953 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
5954 (synopsis "Queue data structure for Emacs")
5955 (description
5956 "This Emacs library provides queue data structure. These queues can be
5957 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
5958 stack, i.e. elements can be added to the front or back of the queue, and can
5959 be removed from the front. This type of data structure is sometimes called an
5960 \"output-restricted deque\".")
5961 (license license:gpl3+)))
5962
5963 (define-public emacs-pkg-info
5964 (package
5965 (name "emacs-pkg-info")
5966 (version "0.6")
5967 (source
5968 (origin
5969 (method git-fetch)
5970 (uri (git-reference
5971 (url "https://github.com/lunaryorn/pkg-info.el.git")
5972 (commit version)))
5973 (file-name (git-file-name name version))
5974 (sha256
5975 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
5976 (build-system emacs-build-system)
5977 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
5978 (home-page "https://github.com/lunaryorn/pkg-info.el")
5979 (synopsis "Information about Emacs packages")
5980 (description
5981 "This library extracts information from the installed Emacs packages.")
5982 (license license:gpl3+)))
5983
5984 (define-public emacs-spinner
5985 (package
5986 (name "emacs-spinner")
5987 (version "1.7.3")
5988 (source (origin
5989 (method url-fetch)
5990 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
5991 version ".el"))
5992 (sha256
5993 (base32
5994 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
5995 (build-system emacs-build-system)
5996 (home-page "https://github.com/Malabarba/spinner.el")
5997 (synopsis "Emacs mode-line spinner for operations in progress")
5998 (description
5999 "This Emacs package adds spinners and progress-bars to the mode-line for
6000 ongoing operations.")
6001 (license license:gpl3+)))
6002
6003 (define-public emacs-sparql-mode
6004 (package
6005 (name "emacs-sparql-mode")
6006 (version "2.0.1")
6007 (source
6008 (origin
6009 (method git-fetch)
6010 (uri (git-reference
6011 (url "https://github.com/ljos/sparql-mode.git")
6012 (commit (string-append "v" version))))
6013 (file-name (git-file-name name version))
6014 (sha256
6015 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
6016 (build-system emacs-build-system)
6017 (home-page "https://github.com/ljos/sparql-mode")
6018 (synopsis "SPARQL mode for Emacs")
6019 (description "This package provides a major mode for Emacs that provides
6020 syntax highlighting for SPARQL. It also provides a way to execute queries
6021 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
6022 possible to query other endpoints like DBPedia.")
6023 (license license:gpl3+)))
6024
6025 (define-public emacs-better-defaults
6026 (package
6027 (name "emacs-better-defaults")
6028 (version "0.1.3")
6029 (source
6030 (origin
6031 (method git-fetch)
6032 (uri (git-reference
6033 (url "https://github.com/technomancy/better-defaults")
6034 (commit version)))
6035 (file-name (git-file-name name version))
6036 (sha256
6037 (base32
6038 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
6039 (build-system emacs-build-system)
6040 (home-page "https://github.com/technomancy/better-defaults")
6041 (synopsis "Better defaults for Emacs")
6042 (description
6043 "Better defaults attempts to address the most obvious deficiencies of the
6044 Emacs default configuration in uncontroversial ways that nearly everyone can
6045 agree upon.")
6046 (license license:gpl3+)))
6047
6048 (define-public emacs-undohist-el
6049 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
6050 (revision "1"))
6051 (package
6052 (name "emacs-undohist-el")
6053 (version (git-version "0" revision commit))
6054 (source
6055 (origin
6056 (method git-fetch)
6057 (uri (git-reference
6058 (url "https://github.com/m2ym/undohist-el")
6059 (commit commit)))
6060 (file-name (git-file-name name version))
6061 (sha256
6062 (base32
6063 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
6064 (patches
6065 (search-patches "emacs-undohist-ignored.patch"))))
6066 (build-system emacs-build-system)
6067 (home-page "https://github.com/m2ym/undohist-el")
6068 (synopsis "Save undo history between sessions")
6069 (description "This package allows persistent use of undo history for
6070 individual file buffers.")
6071 (license license:gpl3+))))
6072
6073 (define-public emacs-eprime
6074 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
6075 (package
6076 (name "emacs-eprime")
6077 (version (string-append "20140513-" (string-take commit 7)))
6078 (source (origin
6079 (method url-fetch)
6080 (uri (string-append "https://raw.githubusercontent.com"
6081 "/AndrewHynes/eprime-mode/"
6082 commit "/eprime-mode.el"))
6083 (file-name (string-append "eprime-" version ".el"))
6084 (sha256
6085 (base32
6086 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
6087 (build-system emacs-build-system)
6088 (home-page "https://github.com/AndrewHynes/eprime-mode")
6089 (synopsis "E-prime checking mode for Emacs")
6090 (description "This package provides an E-prime checking mode for Emacs
6091 that highlights non-conforming text. The subset of the English language called
6092 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
6093 (license license:gpl3+))))
6094
6095 (define-public emacs-julia-mode
6096 ;; XXX: Upstream version remained stuck at 0.3. See
6097 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
6098 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
6099 (revision "1"))
6100 (package
6101 (name "emacs-julia-mode")
6102 (version (string-append "0.3-" revision "." (string-take commit 8)))
6103 (source
6104 (origin
6105 (method git-fetch)
6106 (uri (git-reference
6107 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
6108 (commit commit)))
6109 (file-name (git-file-name name version))
6110 (sha256
6111 (base32
6112 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
6113 (build-system emacs-build-system)
6114 (arguments
6115 `(#:tests? #t
6116 #:test-command '("emacs" "--batch"
6117 "-l" "julia-mode-tests.el"
6118 "-f" "ert-run-tests-batch-and-exit")))
6119 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
6120 (synopsis "Major mode for Julia")
6121 (description "This Emacs package provides a mode for the Julia
6122 programming language.")
6123 (license license:expat))))
6124
6125 (define-public emacs-smex
6126 (package
6127 (name "emacs-smex")
6128 (version "3.0")
6129 (source (origin
6130 (method url-fetch)
6131 (uri (string-append "https://raw.githubusercontent.com"
6132 "/nonsequitur/smex/" version "/smex.el"))
6133 (file-name (string-append "smex-" version ".el"))
6134 (sha256
6135 (base32
6136 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
6137 (build-system emacs-build-system)
6138 (home-page "https://github.com/nonsequitur/smex/")
6139 (synopsis "M-x interface with Ido-style fuzzy matching")
6140 (description
6141 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
6142 convenient interface to your recently and most frequently used commands. And
6143 to all the other commands, too.")
6144 (license license:gpl3+)))
6145
6146 (define-public emacs-js2-mode
6147 (package
6148 (name "emacs-js2-mode")
6149 (version "20190219")
6150 (source
6151 (origin
6152 (method git-fetch)
6153 (uri (git-reference
6154 (url "https://github.com/mooz/js2-mode.git")
6155 (commit version)))
6156 (file-name (git-file-name name version))
6157 (sha256
6158 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
6159 (build-system emacs-build-system)
6160 (arguments
6161 `(#:tests? #t
6162 #:test-command '("make" "test")))
6163 (home-page "https://github.com/mooz/js2-mode/")
6164 (synopsis "Improved JavaScript editing mode for Emacs")
6165 (description
6166 "Js2-mode provides a JavaScript major mode for Emacs that is more
6167 advanced than the built-in javascript-mode. Features include accurate syntax
6168 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
6169 errors and strict-mode warnings, smart line-wrapping within comments and
6170 strings, and code folding.")
6171 (license license:gpl3+)))
6172
6173 (define-public emacs-nodejs-repl
6174 (package
6175 (name "emacs-nodejs-repl")
6176 (version "0.2.2")
6177 (source (origin
6178 (method git-fetch)
6179 (uri (git-reference
6180 (url "https://github.com/abicky/nodejs-repl.el")
6181 (commit version)))
6182 (file-name (git-file-name name version))
6183 (sha256
6184 (base32
6185 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
6186 (build-system emacs-build-system)
6187 (inputs
6188 `(("node" ,node)))
6189 (native-inputs
6190 `(("emacs-ert-expectations" ,emacs-ert-expectations)))
6191 (arguments
6192 `(#:phases
6193 (modify-phases %standard-phases
6194 (add-after 'unpack 'set-shell
6195 ;; Setting the SHELL environment variable is required for the tests
6196 ;; to find sh.
6197 (lambda _
6198 (setenv "SHELL" (which "sh"))
6199 #t))
6200 (add-after 'unpack 'configure
6201 (lambda* (#:key inputs outputs #:allow-other-keys)
6202 (let ((node (assoc-ref inputs "node")))
6203 ;; Specify the absolute file names of the various
6204 ;; programs so that everything works out-of-the-box.
6205 (make-file-writable "nodejs-repl.el")
6206 (emacs-substitute-variables
6207 "nodejs-repl.el"
6208 ("nodejs-repl-command"
6209 (string-append node "/bin/node")))))))
6210 #:tests? #t
6211 #:test-command '("emacs" "-Q" "--batch"
6212 "-L" "."
6213 "-l" "test/test.el"
6214 "-f" "ert-run-tests-batch-and-exit")))
6215 (home-page "https://github.com/abicky/nodejs-repl.el")
6216 (synopsis "Node.js REPL inside Emacs")
6217 (description
6218 "This program is derived from comint-mode and provides the following
6219 features:
6220
6221 @itemize
6222 @item TAB completion same as Node.js REPL
6223 @item file name completion in string
6224 @item incremental history search
6225 @end itemize")
6226 (license license:gpl3+)))
6227
6228 (define-public emacs-typescript-mode
6229 (package
6230 (name "emacs-typescript-mode")
6231 (version "0.3")
6232 (source (origin
6233 (method git-fetch)
6234 (uri (git-reference
6235 (url "https://github.com/ananthakumaran/typescript.el")
6236 (commit (string-append "v" version))))
6237 (file-name (git-file-name name version))
6238 (sha256
6239 (base32
6240 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
6241 (build-system emacs-build-system)
6242 (home-page "https://github.com/ananthakumaran/typescript.el")
6243 (synopsis "Emacs major mode for editing Typescript code")
6244 (description
6245 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
6246 This is much more robust and works with @code{cc-mode}'s comment
6247 filling (mostly). The modifications to the original @code{javascript.el} mode
6248 mainly consisted in replacing \"javascript\" with \"typescript\"
6249
6250 The main features of this Typescript mode are syntactic highlighting (enabled
6251 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
6252 indentation and filling of comments and C preprocessor fontification.")
6253 (license license:gpl3+)))
6254
6255 (define-public emacs-tide
6256 (package
6257 (name "emacs-tide")
6258 (version "3.2.3")
6259 (source (origin
6260 (method git-fetch)
6261 (uri (git-reference
6262 (url "https://github.com/ananthakumaran/tide")
6263 (commit (string-append "v" version))))
6264 (file-name (git-file-name name version))
6265 (sha256
6266 (base32
6267 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
6268 (build-system emacs-build-system)
6269 (propagated-inputs
6270 `(("emacs-dash" ,emacs-dash)
6271 ("emacs-s" ,emacs-s)
6272 ("emacs-flycheck" ,emacs-flycheck)
6273 ("emacs-typescript-mode" ,emacs-typescript-mode)))
6274 (home-page "https://github.com/ananthakumaran/tide")
6275 (synopsis "Typescript IDE for Emacs")
6276 (description
6277 "Tide is an Interactive Development Environment (IDE) for Emacs which
6278 provides the following features:
6279
6280 @itemize
6281 @item ElDoc
6282 @item Auto complete
6283 @item Flycheck
6284 @item Jump to definition, Jump to type definition
6285 @item Find occurrences
6286 @item Rename symbol
6287 @item Imenu
6288 @item Compile On Save
6289 @item Highlight Identifiers
6290 @item Code Fixes
6291 @item Code Refactor
6292 @item Organize Imports
6293 @end itemize")
6294 (license license:gpl3+)))
6295
6296 (define-public emacs-markdown-mode
6297 (package
6298 (name "emacs-markdown-mode")
6299 (version "2.3")
6300 (source (origin
6301 (method git-fetch)
6302 (uri (git-reference
6303 (url "https://github.com/jrblevin/markdown-mode.git")
6304 (commit (string-append "v" version))))
6305 (file-name (git-file-name name version))
6306 (sha256
6307 (base32
6308 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7"))))
6309 (build-system emacs-build-system)
6310 (home-page "http://jblevins.org/projects/markdown-mode/")
6311 (synopsis "Emacs Major mode for Markdown files")
6312 (description
6313 "Markdown-mode is a major mode for editing Markdown-formatted text files
6314 in Emacs.")
6315 (license license:gpl3+)))
6316
6317 (define-public emacs-evil-markdown
6318 (let ((commit "46cd81b37991c4325fc24015a610f832b0ff995d")
6319 (revision "1"))
6320 (package
6321 (name "emacs-evil-markdown")
6322 (version (git-version "0.0.2" revision commit))
6323 (source (origin
6324 (method git-fetch)
6325 (uri (git-reference
6326 (url "https://github.com/Somelauw/evil-markdown.git")
6327 (commit commit)))
6328 (file-name (git-file-name name version))
6329 (sha256
6330 (base32
6331 "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4"))))
6332 (build-system emacs-build-system)
6333 (propagated-inputs
6334 `(("emacs-markdown-mode" ,emacs-markdown-mode)
6335 ("emacs-evil" ,emacs-evil)))
6336 (home-page "http://jblevins.org/projects/evil-markdown/")
6337 (synopsis "Evil keybindings for @code{markdown-mode}")
6338 (description
6339 "This package provides custom text objects and bindings for
6340 @code{markdown-mode}.")
6341 (license license:gpl3+))))
6342
6343 (define-public emacs-edit-indirect
6344 (package
6345 (name "emacs-edit-indirect")
6346 (version "0.1.5")
6347 (source
6348 (origin
6349 (method git-fetch)
6350 (uri (git-reference
6351 (url "https://github.com/Fanael/edit-indirect")
6352 (commit version)))
6353 (file-name (git-file-name name version))
6354 (sha256
6355 (base32
6356 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
6357 (build-system emacs-build-system)
6358 (home-page "https://github.com/Fanael/edit-indirect")
6359 (synopsis "Edit regions in separate buffers")
6360 (description "This package allows you to edit regions in separate buffers,
6361 like @code{org-edit-src-code} but for arbitrary regions.")
6362 (license license:gpl3+)))
6363
6364 (define-public emacs-projectile
6365 (package
6366 (name "emacs-projectile")
6367 (version "2.0.0")
6368 (source (origin
6369 (method url-fetch)
6370 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
6371 "/projectile/v" version "/projectile.el"))
6372 (file-name (string-append "projectile-" version ".el"))
6373 (sha256
6374 (base32
6375 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
6376 (build-system emacs-build-system)
6377 (propagated-inputs
6378 `(("emacs-dash" ,emacs-dash)
6379 ("emacs-pkg-info" ,emacs-pkg-info)))
6380 (home-page "https://github.com/bbatsov/projectile")
6381 (synopsis "Manage and navigate projects in Emacs easily")
6382 (description
6383 "This library provides easy project management and navigation. The
6384 concept of a project is pretty basic - just a folder containing special file.
6385 Currently git, mercurial and bazaar repos are considered projects by default.
6386 If you want to mark a folder manually as a project just create an empty
6387 .projectile file in it.")
6388 (license license:gpl3+)))
6389
6390 (define-public emacs-skeletor
6391 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
6392 (revision "1"))
6393 (package
6394 (name "emacs-skeletor")
6395 (version (git-version "1.6.1" revision commit))
6396 (source (origin
6397 (method git-fetch)
6398 (uri (git-reference
6399 (url "https://github.com/chrisbarrett/skeletor.el.git")
6400 (commit commit)))
6401 (file-name (git-file-name name version))
6402 (sha256
6403 (base32
6404 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
6405 (build-system emacs-build-system)
6406 (propagated-inputs
6407 `(("emacs-s" ,emacs-s)
6408 ("emacs-f" ,emacs-f)
6409 ("emacs-dash" ,emacs-dash)
6410 ("emacs-let-alist" ,emacs-let-alist)))
6411 (native-inputs
6412 `(("emacs-ert-runner" ,emacs-ert-runner)))
6413 (arguments
6414 `(#:include (cons "^project-skeletons\\/" %default-include)
6415 ;; XXX: one failing test involving initializing a git repo
6416 #:phases
6417 (modify-phases %standard-phases
6418 (add-before 'check 'make-test-writable
6419 (lambda _
6420 (make-file-writable "test/skeletor-test.el")
6421 #t))
6422 (add-before 'check 'remove-git-test
6423 (lambda _
6424 (emacs-batch-edit-file "test/skeletor-test.el"
6425 `(progn
6426 (progn
6427 (goto-char (point-min))
6428 (re-search-forward
6429 "ert-deftest initialises-git-repo")
6430 (beginning-of-line)
6431 (kill-sexp))
6432 (basic-save-buffer)))
6433 #t)))
6434 #:tests? #t
6435 #:test-command '("ert-runner")))
6436 (home-page "https://github.com/chrisbarrett/skeletor.el")
6437 (synopsis "Project skeletons for Emacs")
6438 (description "This package provides project templates and automates the
6439 mundane parts of setting up a new project, such as version control, licenses,
6440 and tooling.")
6441 (license license:gpl3+))))
6442
6443 (define-public emacs-elfeed
6444 (package
6445 (name "emacs-elfeed")
6446 (version "3.3.0")
6447 (source
6448 (origin
6449 (method git-fetch)
6450 (uri (git-reference
6451 (url "https://github.com/skeeto/elfeed.git")
6452 (commit version)))
6453 (file-name (git-file-name name version))
6454 (sha256
6455 (base32 "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5"))))
6456 (build-system emacs-build-system)
6457 (arguments
6458 `(#:tests? #t
6459 #:test-command '("make" "test")))
6460 (home-page "https://github.com/skeeto/elfeed")
6461 (synopsis "Atom/RSS feed reader for Emacs")
6462 (description
6463 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
6464 and RSS, with a user interface inspired by notmuch.")
6465 (license license:gpl3+)))
6466
6467 (define-public emacs-elfeed-org
6468 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
6469 (package
6470 (name "emacs-elfeed-org")
6471 (version (git-version "0.1" "1" commit))
6472 (source
6473 (origin
6474 (method git-fetch)
6475 (uri (git-reference
6476 (url "https://github.com/remyhonig/elfeed-org.git")
6477 (commit commit)))
6478 (file-name (git-file-name name version))
6479 (sha256
6480 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
6481 (build-system emacs-build-system)
6482 (propagated-inputs
6483 `(("emacs-elfeed" ,emacs-elfeed)
6484 ("emacs-org" ,emacs-org)
6485 ("emacs-dash" ,emacs-dash)
6486 ("emacs-s" ,emacs-s)))
6487 (native-inputs
6488 `(("ert-runner" ,emacs-ert-runner)
6489 ("emacs-xtest" ,emacs-xtest)))
6490 (arguments
6491 `(#:tests? #t
6492 #:test-command '("ert-runner" "-L" "org-mode/lisp")
6493 #:phases
6494 (modify-phases %standard-phases
6495 (add-before 'check 'chmod
6496 (lambda _
6497 (chmod "test/fixture-mark-feed-ignore.org" #o644)
6498 #t)))))
6499 (home-page "https://github.com/remyhonig/elfeed-org")
6500 (synopsis "Configure Elfeed with an Org-mode file")
6501 (description
6502 "@code{elfeed-org} lets you manage your Elfeed subscriptions
6503 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
6504 the regular flat list, where there is no hierarchy and tag names are
6505 duplicated a lot. Org-mode makes the book keeping of tags and feeds
6506 much easier.")
6507 (license license:gpl3+))))
6508
6509 (define-public emacs-el-x
6510 (package
6511 (name "emacs-el-x")
6512 (version "0.3.1")
6513 (source (origin
6514 (method git-fetch)
6515 (uri (git-reference
6516 (url "https://github.com/sigma/el-x.git")
6517 (commit (string-append "v" version))))
6518 (file-name (git-file-name name version))
6519 (sha256
6520 (base32
6521 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
6522 (build-system emacs-build-system)
6523 (arguments
6524 `(#:phases
6525 (modify-phases %standard-phases
6526 ;; Move the source files to the top level, which is included in
6527 ;; the EMACSLOADPATH.
6528 (add-after 'unpack 'move-source-files
6529 (lambda _
6530 (let ((el-files (find-files "./lisp" ".*\\.el$")))
6531 (for-each (lambda (f)
6532 (rename-file f (basename f)))
6533 el-files))
6534 #t)))))
6535 (home-page "https://github.com/sigma/el-x")
6536 (synopsis "Emacs Lisp extensions")
6537 (description "command@{emacs-el-x} defines the @code{dflet} macro to
6538 provide the historic behavior of @code{flet}, as well as
6539 @code{declare-function} stub for older Emacs.")
6540 (license license:gpl2+)))
6541
6542 (define-public emacs-mocker
6543 (package
6544 (name "emacs-mocker")
6545 (version "0.3.1")
6546 (source (origin
6547 (method git-fetch)
6548 (uri (git-reference
6549 (url "https://github.com/sigma/mocker.el.git")
6550 (commit (string-append "v" version))))
6551 (file-name (git-file-name name version))
6552 (sha256
6553 (base32
6554 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
6555 (build-system emacs-build-system)
6556 (arguments
6557 `(#:tests? #t
6558 #:test-command '("ert-runner")))
6559 (native-inputs
6560 `(("ert-runner" ,emacs-ert-runner)))
6561 (propagated-inputs
6562 `(("emacs-el-x" ,emacs-el-x)))
6563 (home-page "https://github.com/sigma/mocker.el")
6564 (synopsis "Mocking framework for Emacs Lisp")
6565 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
6566 It uses regular Lisp rather than a domain specific language (DSL), which
6567 maximizes flexibility (at the expense of conciseness).")
6568 (license license:gpl2+)))
6569
6570 (define-public emacs-find-file-in-project
6571 (package
6572 (name "emacs-find-file-in-project")
6573 (version "5.7.7")
6574 (source (origin
6575 (method git-fetch)
6576 (uri (git-reference
6577 (url "https://github.com/technomancy/find-file-in-project.git")
6578 (commit version)))
6579 (file-name (git-file-name name version))
6580 (sha256
6581 (base32
6582 "1skjbh7m0cck2rwmgzrrds51gipqf1jqghyfx15drc1n6kwivx3h"))))
6583 (build-system emacs-build-system)
6584 (arguments
6585 `(#:tests? #t
6586 #:test-command '("ert-runner" "tests")))
6587 (native-inputs
6588 `(("ert-runner" ,emacs-ert-runner)))
6589 (home-page "https://github.com/technomancy/find-file-in-project")
6590 (synopsis "File/directory finder for Emacs")
6591 (description "@code{find-file-in-project} allows to find files or
6592 directories quickly in the current project. The project root is detected
6593 automatically when Git, Subversion or Mercurial are used. It also provides
6594 functions to assist in reviewing changes on files.")
6595 (license license:gpl3+)))
6596
6597 (define-public emacs-pyvenv
6598 (package
6599 (name "emacs-pyvenv")
6600 (version "1.21")
6601 (source (origin
6602 (method git-fetch)
6603 (uri (git-reference
6604 (url "https://github.com/jorgenschaefer/pyvenv.git")
6605 (commit (string-append "v" version))))
6606 (file-name (git-file-name name version))
6607 (sha256
6608 (base32
6609 "055sgk8zf4wb5nqsf3qasf5gg861zlb1831733f1qcrd2ij5gzxx"))))
6610 (build-system emacs-build-system)
6611 (arguments
6612 `(#:phases
6613 (modify-phases %standard-phases
6614 ;; This phase incorrectly attempts to substitute "activate" and fails
6615 ;; doing so.
6616 (delete 'patch-el-files))
6617 #:tests? #t
6618 #:test-command '("ert-runner")))
6619 (native-inputs
6620 `(("ert-runner" ,emacs-ert-runner)
6621 ("emacs-mocker" ,emacs-mocker)))
6622 (home-page "https://github.com/jorgenschaefer/pyvenv")
6623 (synopsis "Python virtual environment interface for Emacs")
6624 (description "pyvenv.el is a minor mode to support using Python virtual
6625 environments (virtualenv) inside Emacs.")
6626 (license license:gpl3+)))
6627
6628 (define-public emacs-highlight-indentation
6629 ;; Last release version is from 2015.
6630 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
6631 (revision "1"))
6632 (package
6633 (name "emacs-highlight-indentation")
6634 (version (git-version "0.7.0" revision commit))
6635 (source
6636 (origin
6637 (method git-fetch)
6638 (uri (git-reference
6639 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
6640 (commit commit)))
6641 (file-name (git-file-name name version))
6642 (sha256
6643 (base32
6644 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
6645 (build-system emacs-build-system)
6646 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
6647 (synopsis "Highlighting indentation for Emacs")
6648 (description "This package provides two minor modes to highlight
6649 indentation guides in Emacs:
6650
6651 @enumerate
6652 @item @code{highlight-indentation-mode}, which displays guidelines
6653 indentation (space indentation only).
6654 @item @code{highlight-indentation-current-column-mode}, which displays
6655 guidelines for the current-point indentation (space indentation only).
6656 @end enumerate")
6657 (license license:gpl2+))))
6658
6659 (define-public emacs-elpy
6660 (package
6661 (name "emacs-elpy")
6662 (version "1.31.0")
6663 (source (origin
6664 (method git-fetch)
6665 (uri (git-reference
6666 (url "https://github.com/jorgenschaefer/elpy.git")
6667 (commit version)))
6668 (file-name (git-file-name name version))
6669 (sha256
6670 (base32
6671 "0bvmgqs3c80bhs9v5ymgadv7vk4iamha10y7rl09pixmjm4mzagk"))))
6672 (build-system emacs-build-system)
6673 (arguments
6674 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
6675 #:phases
6676 ;; TODO: Make `elpy-config' display Guix commands :)
6677 (modify-phases %standard-phases
6678 ;; One elpy test depends on being run inside a Python virtual
6679 ;; environment to pass. We have nothing to gain from doing so here,
6680 ;; so we just trick Elpy into thinking we are (see:
6681 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
6682 (add-before 'check 'fake-virtualenv
6683 (lambda _
6684 (setenv "VIRTUAL_ENV" "/tmp")
6685 #t))
6686 (add-before 'check 'build-doc
6687 (lambda _
6688 (with-directory-excursion "docs"
6689 (invoke "make" "info" "man"))
6690 ;; Move .info file at the root so that it can installed by the
6691 ;; 'move-doc phase.
6692 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
6693 #t))
6694 (add-after 'build-doc 'install-manpage
6695 (lambda* (#:key outputs #:allow-other-keys)
6696 (let* ((out (assoc-ref outputs "out"))
6697 (man1 (string-append out "/share/man/man1")))
6698 (mkdir-p man1)
6699 (copy-file "docs/_build/man/elpy.1"
6700 (string-append man1 "/elpy.1")))
6701 #t)))
6702 #:tests? #t
6703 #:test-command '("ert-runner")))
6704 (propagated-inputs
6705 `(("emacs-company" ,emacs-company)
6706 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
6707 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
6708 ("emacs-yasnippet" ,emacs-yasnippet)
6709 ("pyvenv" ,emacs-pyvenv)
6710 ("s" ,emacs-s)))
6711 (native-inputs
6712 `(("ert-runner" ,emacs-ert-runner)
6713 ("emacs-f" ,emacs-f)
6714 ("python" ,python-wrapper)
6715 ("python-autopep8" ,python-autopep8)
6716 ("python-black" ,python-black)
6717 ("python-flake8" ,python-flake8)
6718 ("python-jedi" ,python-jedi)
6719 ("python-yapf" ,python-yapf)
6720 ;; For documentation.
6721 ("python-sphinx" ,python-sphinx)
6722 ("texinfo" ,texinfo)))
6723 (home-page "https://github.com/jorgenschaefer/elpy")
6724 (synopsis "Python development environment for Emacs")
6725 (description "Elpy brings powerful Python editing to Emacs. It combines
6726 and configures a number of other packages written in Emacs Lisp as well as
6727 Python, together offering features such as navigation, documentation,
6728 completion, interactive development and more.")
6729 (license license:gpl3+)))
6730
6731 (define-public emacs-rainbow-delimiters
6732 (package
6733 (name "emacs-rainbow-delimiters")
6734 (version "2.1.4")
6735 (source (origin
6736 (method git-fetch)
6737 (uri (git-reference
6738 (url "https://github.com/Fanael/rainbow-delimiters.git")
6739 (commit version)))
6740 (file-name (git-file-name name version))
6741 (sha256
6742 (base32
6743 "1zr2669savnmkc68hiqsq9wccm6bs1j6jbmlac1xqh6nq7xgq36g"))))
6744 (build-system emacs-build-system)
6745 (home-page "https://github.com/Fanael/rainbow-delimiters")
6746 (arguments
6747 `(#:tests? #t
6748 #:test-command '("emacs" "-Q" "-batch"
6749 "-l" "rainbow-delimiters-test.el"
6750 "-f" "ert-run-tests-batch-and-exit")))
6751 (synopsis "Highlight brackets according to their depth")
6752 (description
6753 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
6754 highlights parentheses, brackets, and braces according to their depth. Each
6755 successive level is highlighted in a different color, making it easy to spot
6756 matching delimiters, orient yourself in the code, and tell which statements
6757 are at a given level.")
6758 (license license:gpl3+)))
6759
6760 (define-public emacs-rainbow-identifiers
6761 (package
6762 (name "emacs-rainbow-identifiers")
6763 (version "0.2.2")
6764 (source (origin
6765 (method url-fetch)
6766 (uri (string-append "https://raw.githubusercontent.com/Fanael"
6767 "/rainbow-identifiers/" version
6768 "/rainbow-identifiers.el"))
6769 (file-name (string-append "rainbow-identifiers-" version ".el"))
6770 (sha256
6771 (base32
6772 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
6773 (build-system emacs-build-system)
6774 (home-page "https://github.com/Fanael/rainbow-identifiers")
6775 (synopsis "Highlight identifiers in source code")
6776 (description
6777 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
6778 identifiers based on their names. Each identifier gets a color based on a hash
6779 of its name.")
6780 (license license:bsd-2)))
6781
6782 (define-public emacs-rainbow-mode
6783 (package
6784 (name "emacs-rainbow-mode")
6785 (version "1.0.2")
6786 (source (origin
6787 (method url-fetch)
6788 (uri (string-append
6789 "https://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
6790 (sha256
6791 (base32
6792 "1zfqj63sr07pdlwy7caz4fxsjhmbhh939n81z6jxq9xggm8ajxkd"))))
6793 (build-system emacs-build-system)
6794 (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
6795 (synopsis "Colorize color names in buffers")
6796 (description
6797 "This minor mode sets background color to strings that match color
6798 names, e.g. #0000ff is displayed in white with a blue background.")
6799 (license license:gpl3+)))
6800
6801 (define-public emacs-visual-fill-column
6802 (package
6803 (name "emacs-visual-fill-column")
6804 (version "1.11")
6805 (source (origin
6806 (method url-fetch)
6807 (uri (string-append "https://codeload.github.com/joostkremers/"
6808 "visual-fill-column/tar.gz/" version))
6809 (file-name (string-append name "-" version ".tar.gz"))
6810 (sha256
6811 (base32
6812 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
6813 (build-system emacs-build-system)
6814 (home-page "https://github.com/joostkremers/visual-fill-column")
6815 (synopsis "Fill-column for visual-line-mode")
6816 (description
6817 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
6818 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
6819 wrapping lines at the window edge, which is the standard behaviour of
6820 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
6821 @code{fill-column} is too large for the window, the text is wrapped at the
6822 window edge.")
6823 (license license:gpl3+)))
6824
6825 (define-public emacs-writeroom
6826 (package
6827 (name "emacs-writeroom")
6828 (version "3.9")
6829 (source
6830 (origin
6831 (method git-fetch)
6832 (uri (git-reference
6833 (url "https://github.com/joostkremers/writeroom-mode.git")
6834 (commit version)))
6835 (file-name (git-file-name name version))
6836 (sha256
6837 (base32
6838 "1nrppnfqsaki6myp58w8jhmzb94rzskh5n98glcn4ghr8sqnafi8"))))
6839 (build-system emacs-build-system)
6840 (propagated-inputs
6841 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
6842 (home-page "https://github.com/joostkremers/writeroom-mode")
6843 (synopsis "Distraction-free writing for Emacs")
6844 (description
6845 "This package defines a minor mode for distraction-free writing. Some of
6846 the default effects include entering fullscreen, deleting other windows of the
6847 current frame, disabling the mode line, and adding margins to the buffer that
6848 restrict the text width to 80 characters.")
6849 (license license:bsd-3)))
6850
6851 (define-public emacs-ido-completing-read+
6852 (package
6853 (name "emacs-ido-completing-read+")
6854 (version "3.12")
6855 (source (origin
6856 (method url-fetch)
6857 (uri (string-append "https://raw.githubusercontent.com"
6858 "/DarwinAwardWinner/ido-ubiquitous/v"
6859 version "/ido-completing-read+.el"))
6860 (file-name (string-append "ido-completing-read+-" version ".el"))
6861 (sha256
6862 (base32
6863 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
6864 (build-system emacs-build-system)
6865 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6866 (synopsis "Replacement for completing-read using ido")
6867 (description
6868 "The ido-completing-read+ function is a wrapper for ido-completing-read.
6869 Importantly, it detects edge cases that ordinary ido cannot handle and either
6870 adjusts them so ido can handle them, or else simply falls back to the standard
6871 Emacs completion function instead.")
6872 (license license:gpl3+)))
6873
6874 (define-public emacs-ido-ubiquitous
6875 (package
6876 (name "emacs-ido-ubiquitous")
6877 (version "3.12")
6878 (source (origin
6879 (method url-fetch)
6880 (uri (string-append "https://raw.githubusercontent.com"
6881 "/DarwinAwardWinner/ido-ubiquitous/v"
6882 version "/ido-ubiquitous.el"))
6883 (file-name (string-append "ido-ubiquitous-" version ".el"))
6884 (sha256
6885 (base32
6886 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
6887 (build-system emacs-build-system)
6888 (propagated-inputs
6889 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
6890 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6891 (synopsis "Use ido (nearly) everywhere")
6892 (description
6893 "Ido-ubiquitous enables ido-style completion for almost every function
6894 that uses the standard completion function completing-read.")
6895 (license license:gpl3+)))
6896
6897 (define-public emacs-yaml-mode
6898 (package
6899 (name "emacs-yaml-mode")
6900 (version "0.0.14")
6901 (source (origin
6902 (method git-fetch)
6903 (uri (git-reference
6904 (url "https://github.com/yoshiki/yaml-mode.git")
6905 (commit version)))
6906 (file-name (git-file-name name version))
6907 (sha256
6908 (base32
6909 "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
6910 (build-system emacs-build-system)
6911 (home-page "https://github.com/yoshiki/yaml-mode")
6912 (synopsis "Major mode for editing YAML files")
6913 (description
6914 "Yaml-mode is an Emacs major mode for editing files in the YAML data
6915 serialization format. It was initially developed by Yoshiki Kurihara and many
6916 features were added by Marshall Vandegrift. As YAML and Python share the fact
6917 that indentation determines structure, this mode provides indentation and
6918 indentation command behavior very similar to that of python-mode.")
6919 (license license:gpl3+)))
6920
6921 (define-public emacs-gitlab-ci-mode
6922 (package
6923 (name "emacs-gitlab-ci-mode")
6924 (version "20190425.11.10")
6925 (source (origin
6926 (method git-fetch)
6927 (uri (git-reference
6928 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
6929 (commit (string-append "v" version))))
6930 (file-name (git-file-name name version))
6931 (sha256
6932 (base32
6933 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
6934 (build-system emacs-build-system)
6935 (propagated-inputs
6936 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
6937 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
6938 (synopsis "Emacs mode for editing GitLab CI files")
6939 (description
6940 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
6941 files. It provides syntax highlighting and completion for keywords and
6942 special variables. An interface to GitLab’s CI file linter is also provided
6943 via @code{gitlab-ci-lint}.")
6944 (license license:gpl3+)))
6945
6946 (define-public emacs-web-mode
6947 (package
6948 (name "emacs-web-mode")
6949 (version "16")
6950 (source (origin
6951 (method git-fetch)
6952 (uri (git-reference
6953 (url "https://github.com/fxbois/web-mode.git")
6954 (commit (string-append "v" version))))
6955 (file-name (git-file-name name version))
6956 (sha256
6957 (base32
6958 "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0"))))
6959 (build-system emacs-build-system)
6960 (synopsis "Major mode for editing web templates")
6961 (description "Web-mode is an Emacs major mode for editing web templates
6962 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
6963 client/server side engines). Web-mode is compatible with many template
6964 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
6965 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
6966 Dust.js, React/JSX, Angularjs, ejs, etc.")
6967 (home-page "http://web-mode.org/")
6968 (license license:gpl3+)))
6969
6970 (define-public emacs-wgrep
6971 (package
6972 (name "emacs-wgrep")
6973 (version "2.3.2")
6974 (source (origin
6975 (method git-fetch)
6976 (uri (git-reference
6977 (url "https://github.com/mhayashi1120/Emacs-wgrep")
6978 (commit version)))
6979 (file-name (git-file-name name version))
6980 (sha256
6981 (base32
6982 "00cwqzb94jlq4mwgv8z7r3mn0a6mhq95z6j189kacq9g4473zh8d"))))
6983 (build-system emacs-build-system)
6984 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
6985 (synopsis "Edit a grep buffer and apply those changes to the files")
6986 (description
6987 "Emacs wgrep allows you to edit a grep buffer and apply those changes
6988 to the file buffer. Several backends are supported beside the classic grep:
6989 ack, ag, helm and pt.")
6990 (license license:gpl3+)))
6991
6992 (define-public emacs-helm
6993 (package
6994 (name "emacs-helm")
6995 (version "3.6.0")
6996 (source
6997 (origin
6998 (method git-fetch)
6999 (uri (git-reference
7000 (url "https://github.com/emacs-helm/helm.git")
7001 (commit (string-append "v" version))))
7002 (file-name (git-file-name name version))
7003 (sha256
7004 (base32 "0miq2q52pbicijp7pmj0widk252qixswywc03d120s4hya2b7vd7"))))
7005 (build-system emacs-build-system)
7006 (propagated-inputs
7007 `(("emacs-async" ,emacs-async)
7008 ("emacs-popup" ,emacs-popup)))
7009 (home-page "https://emacs-helm.github.io/helm/")
7010 (synopsis "Incremental completion and selection narrowing
7011 framework for Emacs")
7012 (description "Helm is incremental completion and selection narrowing
7013 framework for Emacs. It will help steer you in the right direction when
7014 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
7015 of @code{anything.el} originally written by Tamas Patrovic and can be
7016 considered to be its successor. Helm sets out to clean up the legacy code in
7017 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
7018 not tied in the trap of backward compatibility.")
7019 (license license:gpl3+)))
7020
7021 (define-public emacs-helm-org
7022 (let ((commit "8457e1e46227bf87726e05c42cec5a4b51c2ef7b")
7023 (revision "3"))
7024 (package
7025 (name "emacs-helm-org")
7026 (version (git-version "1.0" revision commit))
7027 (source
7028 (origin
7029 (method git-fetch)
7030 (uri (git-reference
7031 (url "https://github.com/emacs-helm/helm-org.git")
7032 (commit commit)))
7033 (file-name (git-file-name name version))
7034 (sha256
7035 (base32 "0kcjhwwi492n9m2w894hvdavfvhj45zygy7bwvx103wvpay5h6h6"))))
7036 (build-system emacs-build-system)
7037 (propagated-inputs
7038 `(("emacs-helm" ,emacs-helm)))
7039 (home-page "https://github.com/emacs-helm/helm-org")
7040 (synopsis "Helm interface to the Silver Searcher")
7041 (description
7042 "This package provides a frontend for grepping tools like ag and ack,
7043 as well as features for editing search results.")
7044 (license license:gpl3+))))
7045
7046 (define-public emacs-helm-swoop
7047 (package
7048 (name "emacs-helm-swoop")
7049 (version "2.0.0")
7050 (source
7051 (origin
7052 (method git-fetch)
7053 (uri (git-reference
7054 (url "https://github.com/emacsorphanage/helm-swoop.git")
7055 (commit version)))
7056 (file-name (git-file-name name version))
7057 (sha256
7058 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
7059 (build-system emacs-build-system)
7060 (propagated-inputs
7061 `(("emacs-helm" ,emacs-helm)))
7062 (home-page "https://github.com/emacsorphanage/helm-swoop")
7063 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
7064 (description
7065 "This package builds on the Helm interface to provide several commands
7066 for search-based navigation of buffers.")
7067 (license license:gpl2+)))
7068
7069 (define-public emacs-helm-ag
7070 (let ((commit "2fc02c4ead29bf0db06fd70740cc7c364cb650ac")
7071 (revision "1"))
7072 (package
7073 (name "emacs-helm-ag")
7074 (version (git-version "0.58" revision commit))
7075 (source
7076 (origin
7077 (method git-fetch)
7078 (uri (git-reference
7079 (url "https://github.com/syohex/emacs-helm-ag.git")
7080 (commit commit)))
7081 (file-name (git-file-name name version))
7082 (sha256
7083 (base32 "1gnn0byywbld6afcq1vp92cjvy4wlag9d1wgymnqn86c3b1bcf21"))))
7084 (build-system emacs-build-system)
7085 (propagated-inputs
7086 `(("emacs-helm" ,emacs-helm)))
7087 (home-page "https://github.com/syohex/emacs-helm-ag")
7088 (synopsis "Helm interface to the Silver Searcher")
7089 (description
7090 "This package provides a frontend for grepping tools like ag and ack,
7091 as well as features for editing search results.")
7092 (license license:gpl3+))))
7093
7094 ;; There hasn't been a tag or release since 2016, so we take the latest
7095 ;; commit.
7096 (define-public emacs-helm-projectile
7097 (let ((commit "5328b74dddcee8d1913803ca8167868831a07463")
7098 (version "0.14.0")
7099 (revision "1"))
7100 (package
7101 (name "emacs-helm-projectile")
7102 (version (git-version version revision commit))
7103 (source
7104 (origin
7105 (method git-fetch)
7106 (uri (git-reference
7107 (url "https://github.com/bbatsov/helm-projectile.git")
7108 (commit commit)))
7109 (file-name (git-file-name name version))
7110 (sha256
7111 (base32 "0a811cblrvc8llpv771b8dppgxs6bwjyvjy3qn2xns4nigvn93s0"))))
7112 (build-system emacs-build-system)
7113 (propagated-inputs
7114 `(("emacs-helm" ,emacs-helm)
7115 ("emacs-projectile" ,emacs-projectile)))
7116 (home-page "https://github.com/bbatsov/helm-projectile")
7117 (synopsis "Helm integration for Projectile")
7118 (description
7119 "This Emacs library provides a Helm interface for Projectile.")
7120 (license license:gpl3+))))
7121
7122 (define-public emacs-taskrunner
7123 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
7124 (revision "1"))
7125 (package
7126 (name "emacs-taskrunner")
7127 (version (git-version "0.6" revision commit))
7128 (source
7129 (origin
7130 (method git-fetch)
7131 (uri (git-reference
7132 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
7133 (commit commit)))
7134 (file-name (git-file-name name version))
7135 (sha256
7136 (base32
7137 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
7138 (build-system emacs-build-system)
7139 (propagated-inputs
7140 `(("emacs-async" ,emacs-async)
7141 ("emacs-projectile" ,emacs-projectile)))
7142 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
7143 (synopsis "Retrieve tasks from various build systems and task-runners")
7144 (description "This package parses Makefiles and build-system files for
7145 multiple project types.")
7146 (license license:gpl3+))))
7147
7148 (define-public emacs-ivy-taskrunner
7149 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
7150 (revision "1"))
7151 (package
7152 (name "emacs-ivy-taskrunner")
7153 (version (git-version "0.9" revision commit))
7154 (source
7155 (origin
7156 (method git-fetch)
7157 (uri (git-reference
7158 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
7159 (commit commit)))
7160 (file-name (git-file-name name version))
7161 (sha256
7162 (base32
7163 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
7164 (build-system emacs-build-system)
7165 (propagated-inputs
7166 `(("emacs-ivy" ,emacs-ivy)
7167 ("emacs-taskrunner" ,emacs-taskrunner)
7168 ("emacs-projectile" ,emacs-projectile)))
7169 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
7170 (synopsis "Retrieve build-system tasks using Ivy")
7171 (description "This package provides an Ivy interface for selecting
7172 Makefile targets.")
7173 (license license:gpl3+))))
7174
7175 (define-public emacs-helm-taskrunner
7176 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
7177 (revision "1"))
7178 (package
7179 (name "emacs-helm-taskrunner")
7180 (version (git-version "0.9" revision commit))
7181 (source
7182 (origin
7183 (method git-fetch)
7184 (uri (git-reference
7185 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
7186 (commit commit)))
7187 (file-name (git-file-name name version))
7188 (sha256
7189 (base32
7190 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
7191 (build-system emacs-build-system)
7192 (propagated-inputs
7193 `(("emacs-helm" ,emacs-helm)
7194 ("emacs-taskrunner" ,emacs-taskrunner)
7195 ("emacs-projectile" ,emacs-projectile)))
7196 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
7197 (synopsis "Retrieve build-system tasks using Helm")
7198 (description "This package provides a Helm interface for selecting
7199 Makefile targets.")
7200 (license license:gpl3+))))
7201
7202 (define-public emacs-helm-make
7203 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
7204 (revision "1"))
7205 (package
7206 (name "emacs-helm-make")
7207 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
7208 (source
7209 (origin
7210 (method git-fetch)
7211 (uri (git-reference
7212 (url "https://github.com/abo-abo/helm-make.git")
7213 (commit commit)))
7214 (file-name (git-file-name name version))
7215 (sha256
7216 (base32
7217 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
7218 (build-system emacs-build-system)
7219 (propagated-inputs
7220 `(("emacs-helm" ,emacs-helm)
7221 ("emacs-projectile" ,emacs-projectile)))
7222 (home-page "https://github.com/abo-abo/helm-make")
7223 (synopsis "Select a Makefile target with helm")
7224 (description "@code{helm-make} or @code{helm-make-projectile} will give
7225 you a @code{helm} selection of directory Makefile's targets. Selecting a
7226 target will call @code{compile} on it.")
7227 (license license:gpl3+))))
7228
7229 (define-public emacs-cider
7230 (package
7231 (name "emacs-cider")
7232 (version "0.23.0")
7233 (source
7234 (origin
7235 (method git-fetch)
7236 (uri (git-reference
7237 (url "https://github.com/clojure-emacs/cider.git")
7238 (commit (string-append "v" version))))
7239 (file-name (git-file-name name version))
7240 (sha256
7241 (base32
7242 "05yjkqc6d4grq9z5pxmv3anqh4zlhfg4v46jlccp6ynh030g7axs"))))
7243 (build-system emacs-build-system)
7244 (arguments
7245 '(#:exclude ; Don't exclude 'cider-test.el'.
7246 '("^\\.dir-locals\\.el$" "^test/")))
7247 (propagated-inputs
7248 `(("emacs-clojure-mode" ,emacs-clojure-mode)
7249 ("emacs-sesman" ,emacs-sesman)
7250 ("emacs-seq" ,emacs-seq)
7251 ("emacs-spinner" ,emacs-spinner)
7252 ("emacs-parseedn" ,emacs-parseedn)
7253 ("emacs-pkg-info" ,emacs-pkg-info)
7254 ("emacs-queue" ,emacs-queue)))
7255 (home-page "https://cider.mx/")
7256 (synopsis "Clojure development environment for Emacs")
7257 (description
7258 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
7259 provide an interactive development experience similar to the one you'd get
7260 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
7261 Geiser) and Smalltalk.
7262
7263 CIDER is the successor to the now deprecated combination of using SLIME +
7264 swank-clojure for Clojure development.
7265
7266 There are plenty of differences between CIDER and SLIME, but the core ideas
7267 are pretty much the same (and SLIME served as the principle inspiration for
7268 CIDER).")
7269 (license license:gpl3+)))
7270
7271 ;; There hasn't been a tag or release since 2016, so we take the latest
7272 ;; commit.
7273 (define-public emacs-sly
7274 (let ((commit "0a3b81770e46b93b9ffd8b9ac5254e0b88d1b13d")
7275 (revision "3"))
7276 (package
7277 (name "emacs-sly")
7278 (version (git-version "1.0.0" revision commit))
7279 (source
7280 (origin
7281 (method git-fetch)
7282 (uri (git-reference
7283 (url "https://github.com/joaotavora/sly.git")
7284 (commit commit)))
7285 (file-name (git-file-name name version))
7286 (sha256
7287 (base32
7288 "1q5ga4mxa0ffa4zb2y0zfwmgzjggx4fn1y4bl2x7ac6ynvb32zkj"))))
7289 (build-system emacs-build-system)
7290 (native-inputs
7291 `(("texinfo" ,texinfo)))
7292 (arguments
7293 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
7294 #:phases
7295 ;; The package provides autoloads.
7296 (modify-phases %standard-phases
7297 (delete 'make-autoloads)
7298 (add-before 'install 'install-doc
7299 (lambda* (#:key outputs #:allow-other-keys)
7300 (let* ((out (assoc-ref outputs "out"))
7301 (info-dir (string-append out "/share/info"))
7302 (doc-dir (string-append out "/share/doc/"
7303 ,name "-" ,version))
7304 (doc-files '(;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
7305 "README.md" "NEWS.md" "PROBLEMS.md"
7306 "CONTRIBUTING.md")))
7307 (with-directory-excursion "doc"
7308 (substitute* "Makefile"
7309 (("infodir=/usr/local/info")
7310 (string-append "infodir=" info-dir))
7311 ;; Don't rebuild contributors.texi since we are not in
7312 ;; the git repo.
7313 (("contributors.texi: Makefile texinfo-tabulate.awk")
7314 "contributors.texi:"))
7315 (invoke "make" "html/index.html")
7316 (invoke "make" "sly.info")
7317 ;; TODO: We need minimal texlive with "preprint" package
7318 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
7319 (install-file "sly.info" info-dir)
7320 (copy-recursively "html" (string-append doc-dir "/html")))
7321 (for-each (lambda (f)
7322 (install-file f doc-dir)
7323 (delete-file f))
7324 doc-files)
7325 (delete-file-recursively "doc")
7326 #t))))))
7327 (home-page "https://github.com/joaotavora/sly")
7328 (synopsis "Sylvester the Cat's Common Lisp IDE")
7329 (description
7330 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
7331 contains the following improvements over it:
7332
7333 @enumerate
7334 @item Completely redesigned REPL based on Emacs's own full-featured
7335 @code{comint.el}.
7336 @item Live code annotations via a new @code{sly-stickers} contrib.
7337 @item Consistent interactive button interface. Everything can be copied to
7338 the REPL.
7339 @item Multiple inspectors with independent history.
7340 @item Regexp-capable @code{M-x sly-apropos}.
7341 @item Contribs are first class SLY citizens and enabled by default.
7342 @item Use ASDF to loads contribs on demand.
7343 @end enumerate
7344
7345 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
7346 xref, etc...) are still available, but with better integration.")
7347 (license license:gpl3+))))
7348
7349 (define-public emacs-sly-quicklisp
7350 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
7351 (revision "1"))
7352 (package
7353 (name "emacs-sly-quicklisp")
7354 (version (git-version "0.0.0" revision commit))
7355 (home-page "https://github.com/joaotavora/sly-quicklisp")
7356 (source
7357 (origin
7358 (method git-fetch)
7359 (uri (git-reference
7360 (url home-page)
7361 (commit commit)))
7362 (file-name (git-file-name name version))
7363 (sha256
7364 (base32
7365 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
7366 (build-system emacs-build-system)
7367 (propagated-inputs
7368 `(("emacs-sly" ,emacs-sly)))
7369 (arguments
7370 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7371 #:phases
7372 ;; The package provides autoloads.
7373 (modify-phases %standard-phases
7374 (delete 'make-autoloads))))
7375 (synopsis "Quicklisp support for SLY")
7376 (description
7377 "@command{sly-quicklisp} is an external contrib for SLY that provides a
7378 sly-quickload command that prompts the user for a package to install. ")
7379 (license license:gpl3+))))
7380
7381 (define-public emacs-sly-asdf
7382 (let ((commit "4e323bc28da2f07fd799b6a31b94fd93848b5f3c")
7383 (revision "2"))
7384 (package
7385 (name "emacs-sly-asdf")
7386 (version (git-version "0.1.0" revision commit))
7387 (home-page "https://github.com/mmgeorge/sly-asdf")
7388 (source
7389 (origin
7390 (method git-fetch)
7391 (uri (git-reference
7392 (url home-page)
7393 (commit commit)))
7394 (file-name (git-file-name name version))
7395 (sha256
7396 (base32
7397 "16sc33jhc6ik4ilsyqc3cjpi6v0wdmwjlwrzjwd6yym11bscsmad"))))
7398 (build-system emacs-build-system)
7399 (propagated-inputs
7400 `(("emacs-sly" ,emacs-sly)))
7401 (arguments
7402 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
7403 (synopsis "ASDF contrib for SLY")
7404 (description
7405 "@command{sly-asdf} is an external contrib for SLY that provides
7406 additional support for working with ASDF projects.")
7407 (license license:gpl3+))))
7408
7409 (define-public emacs-sly-named-readtables
7410 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
7411 (revision "1"))
7412 (package
7413 (name "emacs-sly-named-readtables")
7414 (version (git-version "0.1" revision commit))
7415 (home-page "https://github.com/joaotavora/sly-named-readtables")
7416 (source
7417 (origin
7418 (method git-fetch)
7419 (uri (git-reference
7420 (url home-page)
7421 (commit commit)))
7422 (file-name (git-file-name name version))
7423 (sha256
7424 (base32
7425 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
7426 (build-system emacs-build-system)
7427 (propagated-inputs
7428 `(("emacs-sly" ,emacs-sly)))
7429 (arguments
7430 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
7431 (synopsis "Named-readtables support for SLY")
7432 (description
7433 "@command{sly-named-readtables} is an external contrib for SLY that
7434 enables different readtables to be active in different parts of the same
7435 file.")
7436 (license license:gpl3+))))
7437
7438 (define-public emacs-sly-macrostep
7439 (let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
7440 (revision "1"))
7441 (package
7442 (name "emacs-sly-macrostep")
7443 (version (git-version "0.1" revision commit))
7444 (home-page "https://github.com/joaotavora/sly-macrostep")
7445 (source
7446 (origin
7447 (method git-fetch)
7448 (uri (git-reference
7449 (url home-page)
7450 (commit commit)))
7451 (file-name (git-file-name name version))
7452 (sha256
7453 (base32
7454 "0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
7455 (build-system emacs-build-system)
7456 (propagated-inputs
7457 `(("emacs-sly" ,emacs-sly)
7458 ("emacs-macrostep" ,emacs-macrostep)))
7459 (arguments
7460 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7461 #:phases
7462 ;; The package provides autoloads.
7463 (modify-phases %standard-phases
7464 (delete 'make-autoloads))))
7465 (synopsis "Expand Common Lisp macros inside source files with SLY")
7466 (description
7467 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
7468 inside the source file.")
7469 (license license:gpl3+))))
7470
7471 (define-public emacs-sly-package-inferred
7472 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
7473 (revision "1"))
7474 (package
7475 (name "emacs-sly-package-inferred")
7476 (version (git-version "0.1" revision commit))
7477 (home-page "https://github.com/40ants/sly-package-inferred")
7478 (source
7479 (origin
7480 (method git-fetch)
7481 (uri (git-reference
7482 (url home-page)
7483 (commit commit)))
7484 (file-name (git-file-name name version))
7485 (sha256
7486 (base32
7487 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
7488 (build-system emacs-build-system)
7489 (propagated-inputs
7490 `(("emacs-sly" ,emacs-sly)))
7491 (arguments
7492 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7493 #:phases
7494 ;; The package provides autoloads.
7495 (modify-phases %standard-phases
7496 (delete 'make-autoloads))))
7497 (synopsis "Improved package inferred systems support for SLY")
7498 (description
7499 "@command{sly-package-inferred} is an external contrib for SLY that
7500 replaces its completion with a function which is better suited for systems
7501 using package inferred style.")
7502 (license license:gpl3+))))
7503
7504 (define-public emacs-lua-mode
7505 (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
7506 (revision "2"))
7507 (package
7508 (name "emacs-lua-mode")
7509 (version (git-version "20151025" revision commit))
7510 (home-page "https://github.com/immerrr/lua-mode/")
7511 (source (origin
7512 (method git-fetch)
7513 (uri (git-reference
7514 (url home-page)
7515 (commit commit)))
7516 (file-name (git-file-name name version))
7517 (sha256
7518 (base32
7519 "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
7520 (build-system emacs-build-system)
7521 (synopsis "Major mode for lua")
7522 (description
7523 "This Emacs package provides a mode for @uref{https://www.lua.org/,
7524 Lua programming language}.")
7525 (license license:gpl2+))))
7526
7527 (define-public emacs-ebuild-mode
7528 (package
7529 (name "emacs-ebuild-mode")
7530 (version "1.37")
7531 (source (origin
7532 (method url-fetch)
7533 (uri (string-append
7534 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
7535 "-" version ".tar.xz"))
7536 (file-name (string-append name "-" version ".tar.xz"))
7537 (sha256
7538 (base32
7539 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
7540 (build-system emacs-build-system)
7541 (home-page "https://devmanual.gentoo.org")
7542 (synopsis "Major modes for Gentoo package files")
7543 (description
7544 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
7545 news items, openrc and runscripts.")
7546 (license license:gpl2+)))
7547
7548 (define-public emacs-evil
7549 (package
7550 (name "emacs-evil")
7551 (version "1.2.14")
7552 (source
7553 (origin
7554 (method git-fetch)
7555 (uri (git-reference
7556 (url "https://github.com/emacs-evil/evil")
7557 (commit version)))
7558 (file-name (git-file-name name version))
7559 (sha256
7560 (base32
7561 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
7562 (arguments
7563 `(#:phases
7564 (modify-phases %standard-phases
7565 (add-before 'check 'fix-test-helpers
7566 (lambda _
7567 (substitute* "evil-test-helpers.el"
7568 (("\\(undo-tree-mode 1\\)") ""))
7569 #t)))))
7570 (build-system emacs-build-system)
7571 (home-page "https://github.com/emacs-evil/evil")
7572 (synopsis "Extensible Vi layer for Emacs")
7573 (description
7574 "Evil is an extensible vi layer for Emacs. It emulates the
7575 main features of Vim, and provides facilities for writing custom
7576 extensions.")
7577 (license license:gpl3+)))
7578
7579 (define-public emacs-evil-collection
7580 (let ((commit "eb36c82a84d313e961777dc78fd4ff1d718efdf6")
7581 (revision "13"))
7582 (package
7583 (name "emacs-evil-collection")
7584 (version (git-version "0.0.3" revision commit))
7585 (source (origin
7586 (method git-fetch)
7587 (uri (git-reference
7588 (url "https://github.com/emacs-evil/evil-collection")
7589 (commit commit)))
7590 (file-name (git-file-name name version))
7591 (sha256
7592 (base32
7593 "0wi84x9176y4xjl7zpn882achfamx3a2ixlj4nvflxfh6q1qg7bz"))))
7594 (build-system emacs-build-system)
7595 (propagated-inputs
7596 `(("emacs-evil" ,emacs-evil)
7597 ("emacs-annalist" ,emacs-annalist)))
7598 (arguments
7599 `(#:include (cons* "^modes\\/" %default-include)))
7600 (home-page "https://github.com/emacs-evil/evil-collection")
7601 (synopsis "Collection of Evil bindings for many major and minor modes")
7602 (description "This is a collection of Evil bindings for the parts of
7603 Emacs that Evil does not cover properly by default, such as @code{help-mode},
7604 @code{M-x calendar}, Eshell and more.")
7605 (license license:gpl3+))))
7606
7607 (define-public emacs-goto-chg
7608 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
7609 (version "1.7.3")
7610 (revision "1"))
7611 (package
7612 (name "emacs-goto-chg")
7613 (version (git-version version revision commit))
7614 (source
7615 (origin
7616 (method git-fetch)
7617 (uri (git-reference
7618 (url "https://github.com/emacs-evil/goto-chg")
7619 (commit commit)))
7620 (file-name (git-file-name name version))
7621 (sha256
7622 (base32
7623 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
7624 (build-system emacs-build-system)
7625 (propagated-inputs
7626 `(("emacs-undo-tree" ,emacs-undo-tree)))
7627 (home-page "https://github.com/emacs-evil/goto-chg")
7628 (synopsis "Go to the last change in the Emacs buffer")
7629 (description
7630 "This package provides @code{M-x goto-last-change} command that goes to
7631 the point of the most recent edit in the current Emacs buffer. When repeated,
7632 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
7633 used for reverse direction.")
7634 (license license:gpl2+))))
7635
7636 (define-public emacs-janpath-evil-numbers
7637 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
7638 (version "0.5")
7639 (revision "1"))
7640 (package
7641 (name "emacs-janpath-evil-numbers")
7642 (version (git-version version revision commit))
7643 (source
7644 (origin
7645 (method git-fetch)
7646 (uri (git-reference
7647 (url "https://github.com/janpath/evil-numbers")
7648 (commit commit)))
7649 (file-name (git-file-name name version))
7650 (sha256
7651 (base32
7652 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
7653 (build-system emacs-build-system)
7654 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7655 (home-page "https://github.com/janpath/evil-numbers")
7656 (synopsis "Increment and decrement numeric literals")
7657 (description
7658 "This package provides functionality to search for a number up to the
7659 end of a line and increment or decrement it.")
7660 (license license:gpl3+))))
7661
7662 (define-public emacs-evil-owl
7663 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
7664 (revision "3"))
7665 (package
7666 (name "emacs-evil-owl")
7667 (version (git-version "0.0.1" revision commit))
7668 (source
7669 (origin
7670 (method git-fetch)
7671 (uri (git-reference
7672 (url "https://github.com/mamapanda/evil-owl")
7673 (commit commit)))
7674 (file-name (git-file-name name version))
7675 (sha256
7676 (base32
7677 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
7678 (build-system emacs-build-system)
7679 (propagated-inputs
7680 `(("emacs-evil" ,emacs-evil)))
7681 (arguments
7682 `(#:tests? #t
7683 #:test-command '("make" "test")))
7684 (home-page "https://github.com/mamapanda/evil-owl")
7685 (synopsis "Preview candidates when using Evil registers and marks")
7686 (description
7687 "This package supplements Evil's register- and mark-based commands with
7688 a popup window for previewing candidates.")
7689 (license license:gpl3+))))
7690
7691 (define-public emacs-evil-args
7692 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
7693 (revision "1"))
7694 (package
7695 (name "emacs-evil-args")
7696 (version (git-version "1.0" revision commit))
7697 (source
7698 (origin
7699 (method git-fetch)
7700 (uri (git-reference
7701 (url "https://github.com/wcsmith/evil-args.git")
7702 (commit commit)))
7703 (file-name (git-file-name name version))
7704 (sha256
7705 (base32
7706 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
7707 (build-system emacs-build-system)
7708 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7709 (home-page "https://github.com/wcsmith/evil-args")
7710 (synopsis "Motions and text objects for delimited arguments in Evil")
7711 (description
7712 "This package provides motions and text objects for delimited
7713 arguments, such as arguments separated by commas and semicolons.")
7714 (license license:expat))))
7715
7716 (define-public emacs-evil-exchange
7717 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
7718 (version "0.41")
7719 (revision "1"))
7720 (package
7721 (name "emacs-evil-exchange")
7722 (version (git-version version revision commit))
7723 (source
7724 (origin
7725 (method git-fetch)
7726 (uri (git-reference
7727 (url "https://github.com/Dewdrops/evil-exchange")
7728 (commit commit)))
7729 (file-name (git-file-name name version))
7730 (sha256
7731 (base32
7732 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
7733 (build-system emacs-build-system)
7734 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7735 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
7736 (arguments
7737 `(#:phases
7738 (modify-phases %standard-phases
7739 (add-before 'check 'fix-makefile
7740 (lambda _
7741 (substitute* "Makefile"
7742 (("cask exec ") ""))
7743 #t)))
7744 #:tests? #t
7745 #:test-command '("make" "test")))
7746 (home-page "https://github.com/Dewdrops/evil-exchange")
7747 (synopsis "Exchange text easily within Evil")
7748 (description
7749 "This package, a port of @code{vim-exchange}, provides an Evil operator
7750 for exchanging text.")
7751 (license license:gpl3+))))
7752
7753 (define-public emacs-evil-replace-with-register
7754 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
7755 (version "0.1")
7756 (revision "1"))
7757 (package
7758 (name "emacs-evil-replace-with-register")
7759 (version (git-version version revision commit))
7760 (source
7761 (origin
7762 (method git-fetch)
7763 (uri (git-reference
7764 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7765 (commit commit)))
7766 (file-name (git-file-name name version))
7767 (sha256
7768 (base32
7769 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
7770 (build-system emacs-build-system)
7771 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7772 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7773 (synopsis "Quickly replace text with the contents of a register")
7774 (description
7775 "This package provides an Evil operator for replacing text with the
7776 contents of a register.")
7777 (license license:gpl3+))))
7778
7779 (define-public emacs-evil-indent-plus
7780 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
7781 (version "1.0.0")
7782 (revision "1"))
7783 (package
7784 (name "emacs-evil-indent-plus")
7785 (version (git-version version revision commit))
7786 (source
7787 (origin
7788 (method git-fetch)
7789 (uri (git-reference
7790 (url "https://github.com/TheBB/evil-indent-plus")
7791 (commit commit)))
7792 (file-name (git-file-name name version))
7793 (sha256
7794 (base32
7795 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
7796 (build-system emacs-build-system)
7797 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7798 (home-page "https://github.com/TheBB/evil-indent-plus")
7799 (synopsis "Text objects based on indentation")
7800 (description
7801 "This package adds new text objects for @code{evil-mode} based on
7802 blocks having the same or higher indentation, including or excluding
7803 surrounding lines.")
7804 (license license:gpl2+))))
7805
7806 (define-public emacs-evil-text-object-python
7807 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
7808 (version "1.0.1")
7809 (revision "1"))
7810 (package
7811 (name "emacs-evil-text-object-python")
7812 (version (git-version version revision commit))
7813 (source
7814 (origin
7815 (method git-fetch)
7816 (uri (git-reference
7817 (url "https://github.com/wbolster/evil-text-object-python")
7818 (commit commit)))
7819 (file-name (git-file-name name version))
7820 (sha256
7821 (base32
7822 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
7823 (build-system emacs-build-system)
7824 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7825 (home-page "https://github.com/wbolster/evil-text-object-python")
7826 (synopsis "Text objects for Python")
7827 (description
7828 "This package provides @code{evil-mode} text objects for Python.")
7829 (license license:gpl3+))))
7830
7831 (define-public emacs-evil-lion
7832 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
7833 (revision "1"))
7834 (package
7835 (name "emacs-evil-lion")
7836 (version (git-version "0.0.2" revision commit))
7837 (source
7838 (origin
7839 (method git-fetch)
7840 (uri (git-reference
7841 (url "https://github.com/edkolev/evil-lion")
7842 (commit commit)))
7843 (file-name (git-file-name name version))
7844 (sha256
7845 (base32
7846 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
7847 (build-system emacs-build-system)
7848 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7849 (arguments
7850 `(#:tests? #t
7851 #:test-command '("make" "test")))
7852 (home-page "https://github.com/edkolev/evil-lion")
7853 (synopsis "Align operator for @code{evil-mode}")
7854 (description
7855 "This package, a port of @code{vim-lion}, provides an operator for
7856 aligning text objects based on separators.")
7857 (license license:gpl3+))))
7858
7859 (define-public emacs-evil-expat
7860 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
7861 (revision "1"))
7862 (package
7863 (name "emacs-evil-expat")
7864 (version (git-version "0.0.1" revision commit))
7865 (source
7866 (origin
7867 (method git-fetch)
7868 (uri (git-reference
7869 (url "https://github.com/edkolev/evil-expat")
7870 (commit commit)))
7871 (file-name (git-file-name name version))
7872 (sha256
7873 (base32
7874 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
7875 (build-system emacs-build-system)
7876 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7877 (arguments
7878 `(#:tests? #t
7879 #:test-command '("make" "test")))
7880 (home-page "https://github.com/edkolev/evil-expat")
7881 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
7882 (description
7883 "This package provides additional commands for the @code{ex} command
7884 line, including functions for version control with Git and for copying and
7885 pasting into and from @code{tmux} paste buffers.")
7886 (license license:gpl3+))))
7887
7888 (define-public emacs-evil-nerd-commenter
7889 (package
7890 (name "emacs-evil-nerd-commenter")
7891 (version "3.3.8")
7892 (source
7893 (origin
7894 (method git-fetch)
7895 (uri (git-reference
7896 (url "https://github.com/redguardtoo/evil-nerd-commenter")
7897 (commit version)))
7898 (file-name (git-file-name name version))
7899 (sha256
7900 (base32
7901 "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"))))
7902 (build-system emacs-build-system)
7903 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7904 (arguments
7905 `(#:tests? #t
7906 #:test-command '("make" "test")))
7907 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
7908 (synopsis "Comment and uncomment lines efficiently")
7909 (description
7910 "This package provides text objects and operators for comments within
7911 @code{evil-mode}.")
7912 (license license:gpl3+)))
7913
7914 (define-public emacs-evil-visual-replace
7915 (package
7916 (name "emacs-evil-visual-replace")
7917 (version "0.0.5")
7918 (source
7919 (origin
7920 (method git-fetch)
7921 (uri (git-reference
7922 (url "https://github.com/troyp/evil-visual-replace")
7923 (commit version)))
7924 (file-name (git-file-name name version))
7925 (sha256
7926 (base32
7927 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
7928 (build-system emacs-build-system)
7929 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7930 (home-page "https://github.com/troyp/evil-visual-replace")
7931 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
7932 (description
7933 "This package provides versions of @code{query-replace} and
7934 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
7935 (license license:gpl2+)))
7936
7937 (define-public emacs-evil-visualstar
7938 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
7939 (version "0.0.2")
7940 (revision "1"))
7941 (package
7942 (name "emacs-evil-visualstar")
7943 (version (git-version version revision commit))
7944 (source
7945 (origin
7946 (method git-fetch)
7947 (uri (git-reference
7948 (url "https://github.com/bling/evil-visualstar")
7949 (commit commit)))
7950 (file-name (git-file-name name version))
7951 (sha256
7952 (base32
7953 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
7954 (build-system emacs-build-system)
7955 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7956 (home-page "https://github.com/bling/evil-visualstar")
7957 (synopsis "Instantly search using the visual selection")
7958 (description
7959 "This package provides @code{evil-mode} functions for using selected text
7960 to search.")
7961 (license license:gpl3+))))
7962
7963 (define-public emacs-monky
7964 (package
7965 (name "emacs-monky")
7966 (version "0.1")
7967 (source (origin
7968 (method git-fetch)
7969 (uri (git-reference
7970 (url "https://github.com/ananthakumaran/monky.git")
7971 (commit version)))
7972 (file-name (git-file-name name version))
7973 (sha256
7974 (base32
7975 "1fgn7al4zwz2k5wb5dy3byqg9lsrjk9fra341mxh5ma2pfwxjgps"))))
7976 (build-system emacs-build-system)
7977 (home-page "https://ananthakumaran.in/monky/index.html")
7978 (arguments
7979 `(#:tests? #t
7980 #:test-command '("emacs" "--batch"
7981 "-l" "test/monky-unit-test.el"
7982 "-f" "ert-run-tests-batch-and-exit")))
7983 (synopsis "Interactive interface for the Mercurial version control system")
7984 (description
7985 "Monky provides an Emacs interface for Mercurial (Hg). Using Monky, you
7986 can selectively commit files, view the diffs, and other things.")
7987 (license license:gpl3+)))
7988
7989 (define-public emacs-monroe
7990 (package
7991 (name "emacs-monroe")
7992 (version "0.3.1")
7993 (source
7994 (origin
7995 (method git-fetch)
7996 (uri (git-reference
7997 (url "https://github.com/sanel/monroe.git")
7998 (commit version)))
7999 (file-name (git-file-name name version))
8000 (sha256
8001 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
8002 (build-system emacs-build-system)
8003 (home-page "https://github.com/sanel/monroe")
8004 (synopsis "Clojure nREPL client for Emacs")
8005 (description
8006 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
8007 distribution, primarily targeting Clojure users")
8008 (license license:gpl3+)))
8009
8010 (define-public emacs-orgalist
8011 (package
8012 (name "emacs-orgalist")
8013 (version "1.11")
8014 (source
8015 (origin
8016 (method url-fetch)
8017 (uri (string-append "https://elpa.gnu.org/packages/"
8018 "orgalist-" version ".el"))
8019 (sha256
8020 (base32
8021 "0zbqkk540rax32s8szp5zgz3a02zw88fc1dmjmyw6h3ls04m91kl"))))
8022 (build-system emacs-build-system)
8023 (home-page "https://elpa.gnu.org/packages/orgalist.html")
8024 (synopsis "Manage Org-like lists in non-Org buffers")
8025 (description "Write Org mode's plain lists in non-Org buffers. More
8026 specifically, Orgalist supports the syntax of Org mode for numbered,
8027 unnumbered, description items, checkboxes, and counter cookies.
8028
8029 The library also implements radio lists, i.e., lists written in Org
8030 syntax later translated into the host format, e.g., LaTeX or HTML.")
8031 (license license:gpl3+)))
8032
8033 (define-public emacs-writegood-mode
8034 (package
8035 (name "emacs-writegood-mode")
8036 (version "2.0.2")
8037 (home-page "https://github.com/bnbeckwith/writegood-mode")
8038 (source (origin
8039 (method git-fetch)
8040 (uri (git-reference
8041 (url home-page)
8042 (commit (string-append "v" version))))
8043 (sha256
8044 (base32
8045 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
8046 (file-name (string-append name "-checkout"))))
8047 (build-system emacs-build-system)
8048 (synopsis "Polish up poor writing on the fly")
8049 (description
8050 "This minor mode tries to find and highlight problems with your writing
8051 in English as you type. It primarily detects \"weasel words\" and abuse of
8052 passive voice.")
8053 (license license:gpl3+)))
8054
8055 (define-public emacs-neotree
8056 (package
8057 (name "emacs-neotree")
8058 (version "0.5.2")
8059 (home-page "https://github.com/jaypei/emacs-neotree")
8060 (source (origin
8061 (method git-fetch)
8062 (uri (git-reference
8063 (url home-page)
8064 (commit version)))
8065 (sha256
8066 (base32
8067 "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
8068 (file-name (git-file-name name version))))
8069 (build-system emacs-build-system)
8070 (synopsis "Folder tree view for Emacs")
8071 (description "This Emacs package provides a folder tree view.")
8072 (license license:gpl3+)))
8073
8074 (define-public emacs-org
8075 (package
8076 (name "emacs-org")
8077 ;; emacs-org-contrib inherits from this package. Please update it as
8078 ;; well.
8079 (version "9.3.3")
8080 (source
8081 (origin
8082 (method url-fetch)
8083 (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar"))
8084 (sha256
8085 (base32 "0yafckcx5ka2rpmv24x7ns6f3s1h216x2lbgaxsf1dmklbjcfvwv"))))
8086 (build-system emacs-build-system)
8087 (home-page "https://orgmode.org/")
8088 (synopsis "Outline-based notes management and organizer")
8089 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8090 lists, and project planning with a fast and effective lightweight markup
8091 language. It also is an authoring system with unique support for literate
8092 programming and reproducible research.")
8093 (license license:gpl3+)))
8094
8095 (define-public emacs-org-contrib
8096 (package
8097 (inherit emacs-org)
8098 (name "emacs-org-contrib")
8099 (version "20200206")
8100 (source
8101 (origin
8102 (method url-fetch)
8103 (uri (string-append "https://orgmode.org/elpa/"
8104 "org-plus-contrib-" version ".tar"))
8105 (sha256
8106 (base32 "1fdxh8zgjnb500wkcl0bc0fdzbsln6p044b4s4nz85wkfw0jkfs5"))))
8107 (arguments
8108 `(#:modules ((guix build emacs-build-system)
8109 (guix build utils)
8110 (guix build emacs-utils)
8111 (ice-9 ftw)
8112 (srfi srfi-1))
8113 #:phases
8114 (modify-phases %standard-phases
8115 (add-after 'install 'delete-org-files
8116 (lambda* (#:key inputs outputs #:allow-other-keys)
8117 (let* ((out (assoc-ref outputs "out"))
8118 (org (assoc-ref inputs "org"))
8119 (contrib-files
8120 (map basename (find-files out)))
8121 (org+contrib-files
8122 (map basename (find-files org)))
8123 (duplicates (lset-intersection string=?
8124 contrib-files
8125 org+contrib-files)))
8126 (with-directory-excursion
8127 (string-append out "/share/emacs/site-lisp")
8128 (for-each delete-file duplicates))
8129 #t))))))
8130 (propagated-inputs
8131 `(("arduino-mode" ,emacs-arduino-mode)
8132 ("cider" ,emacs-cider)
8133 ("org" ,emacs-org)
8134 ("scel" ,emacs-scel)))
8135 (synopsis "Contributed packages to Org mode")
8136 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8137 lists, and project planning with a fast and effective plain-text system.
8138
8139 This package is equivalent to org-plus-contrib, but only includes additional
8140 files that you would find in @file{contrib/} from the git repository.")))
8141
8142 (define-public emacs-flx
8143 (package
8144 (name "emacs-flx")
8145 (version "0.6.1")
8146 (source
8147 (origin
8148 (method git-fetch)
8149 (uri (git-reference
8150 (url "https://github.com/lewang/flx.git")
8151 (commit (string-append "v" version))))
8152 (sha256
8153 (base32
8154 "0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
8155 (file-name (git-file-name name version))))
8156 (build-system emacs-build-system)
8157 (home-page "https://github.com/lewang/flx")
8158 (synopsis "Fuzzy matching for Emacs")
8159 (description
8160 "Flx provides fuzzy matching for emacs a la sublime text.
8161 The sorting algorithm is a balance between word beginnings (abbreviation)
8162 and contiguous matches (substring). The longer the substring match,
8163 the higher it scores. This maps well to how we think about matching.
8164 Flx has support for ido (interactively do things) through flx-ido.")
8165 (license license:gpl3+)))
8166
8167 (define-public emacs-cyberpunk-theme
8168 (package
8169 (name "emacs-cyberpunk-theme")
8170 (version "1.21")
8171 (source
8172 (origin
8173 (method git-fetch)
8174 (uri (git-reference
8175 (url "https://github.com/n3mo/cyberpunk-theme.el/")
8176 (commit version)))
8177 (sha256
8178 (base32
8179 "05mfgr9aj7knn7niadv9p6z3qrfpq2lbbi2wxxx62xywim9maw2y"))
8180 (file-name (git-file-name name version))))
8181 (build-system emacs-build-system)
8182 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
8183 (synopsis "Cyberpunk theme for Emacs built-in color theme support")
8184 (description
8185 "Cyberpunk color theme for the Emacs 24+ built-in color theme support
8186 known loosely as deftheme. Many mode-specific customizations are included.")
8187 (license license:gpl3+)))
8188
8189 (define-public emacs-danneskjold-theme
8190 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
8191 (revision "1"))
8192 (package
8193 (name "emacs-danneskjold-theme")
8194 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8195 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
8196 (source
8197 (origin
8198 (method git-fetch)
8199 (uri (git-reference
8200 (url home-page)
8201 (commit commit)))
8202 (file-name (git-file-name name version))
8203 (sha256
8204 (base32
8205 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
8206 (build-system emacs-build-system)
8207 (arguments
8208 `(#:phases
8209 (modify-phases %standard-phases
8210 (add-after 'unpack 'delete-screenshots
8211 (lambda _
8212 (delete-file-recursively "screenshots") #t)))))
8213 (synopsis "High-contrast Emacs theme")
8214 (description
8215 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
8216 (license license:gpl3+))))
8217
8218 (define-public emacs-dream-theme
8219 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
8220 (revision "1"))
8221 (package
8222 (name "emacs-dream-theme")
8223 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8224 (source
8225 (origin
8226 (method git-fetch)
8227 (uri (git-reference
8228 (url "https://github.com/djcb/dream-theme")
8229 (commit commit)))
8230 (file-name (git-file-name name version))
8231 (sha256
8232 (base32
8233 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
8234 (build-system emacs-build-system)
8235 (home-page "https://github.com/djcb/dream-theme")
8236 (synopsis "High-contrast Emacs theme")
8237 (description
8238 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
8239 by zenburn, sinburn and similar themes, but slowly diverging from them.")
8240 (license license:gpl3+))))
8241
8242 (define-public emacs-auto-complete
8243 (package
8244 (name "emacs-auto-complete")
8245 (version "1.5.1")
8246 (source
8247 (origin
8248 (method git-fetch)
8249 (uri (git-reference
8250 (url "https://github.com/auto-complete/auto-complete.git")
8251 (commit (string-append "v" version))))
8252 (sha256
8253 (base32
8254 "04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
8255 (file-name (git-file-name name version))))
8256 (build-system emacs-build-system)
8257 (propagated-inputs
8258 `(("emacs-popup" ,emacs-popup)))
8259 (home-page "https://github.com/auto-complete/auto-complete")
8260 (synopsis "Intelligent auto-completion extension for Emacs")
8261 (description
8262 "Auto-Complete is an intelligent auto-completion extension for Emacs.
8263 It extends the standard Emacs completion interface and provides an environment
8264 that allows users to concentrate more on their own work. Its features are:
8265 a visual interface, reduce overhead of completion by using statistic method,
8266 extensibility.")
8267 (license license:gpl3+)))
8268
8269 (define-public emacs-nginx-mode
8270 (package
8271 (name "emacs-nginx-mode")
8272 (version "1.1.9")
8273 (source
8274 (origin
8275 (method git-fetch)
8276 (uri (git-reference
8277 (url "https://github.com/ajc/nginx-mode.git")
8278 (commit (string-append "v" version))))
8279 (file-name (git-file-name name version))
8280 (sha256
8281 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
8282 (build-system emacs-build-system)
8283 (home-page "https://github.com/ajc/nginx-mode")
8284 (synopsis "Emacs major mode for editing nginx config files")
8285 (description "This package provides an Emacs major mode for
8286 editing nginx config files.")
8287 (license license:gpl2+)))
8288
8289 (define-public emacs-stream
8290 (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7")
8291 (revision "1"))
8292 (package
8293 (name "emacs-stream")
8294 (version (git-version "2.2.4" revision commit))
8295 (source
8296 (origin
8297 (method git-fetch)
8298 (uri (git-reference
8299 (url "https://github.com/Emacsmirror/stream.git")
8300 (commit commit)))
8301 (file-name (git-file-name name version))
8302 (sha256
8303 (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332"))))
8304 (build-system emacs-build-system)
8305 (arguments
8306 `(#:tests? #t
8307 #:test-command '("emacs" "--batch"
8308 "-l" "tests/stream-tests.el"
8309 "-f" "ert-run-tests-batch-and-exit")))
8310 (home-page "https://github.com/Emacsmirror/stream")
8311 (synopsis "Implementation of streams for Emacs")
8312 (description "This library provides an implementation of streams for Emacs.
8313 Streams are implemented as delayed evaluation of cons cells.")
8314 (license license:gpl3+))))
8315
8316 (define-public emacs-cl-print
8317 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
8318 (revision "1"))
8319 (package
8320 (name "emacs-cl-print")
8321 (version (git-version "1.0" revision commit))
8322 (source
8323 (origin
8324 (method git-fetch)
8325 (uri (git-reference
8326 (url "https://github.com/emacsmirror/cl-print.git")
8327 (commit commit)))
8328 (file-name (git-file-name name version))
8329 (sha256
8330 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
8331 (build-system emacs-build-system)
8332 (home-page "https://github.com/emacsmirror/cl-print")
8333 (synopsis "CL-style generic printing")
8334 (description "This package provides a generic function,
8335 @code{cl-print-object}, to which the programmer can add any method they
8336 please.")
8337 (license license:gpl3+))))
8338
8339 (define-public emacs-el-search
8340 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
8341 (revision "2"))
8342 (package
8343 (name "emacs-el-search")
8344 (version (git-version "1.12.6.1" revision commit))
8345 (source
8346 (origin
8347 (method git-fetch)
8348 (uri (git-reference
8349 (url "https://github.com/emacsmirror/el-search.git")
8350 (commit commit)))
8351 (file-name (git-file-name name version))
8352 (sha256
8353 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
8354 (build-system emacs-build-system)
8355 (inputs
8356 `(("emacs-stream" ,emacs-stream)
8357 ("emacs-cl-print" ,emacs-cl-print)))
8358 (home-page "https://github.com/emacsmirror/el-search")
8359 (synopsis "Expression based interactive search for emacs-lisp-mode")
8360 (description "This package provides expression based interactive search
8361 procedures for emacs-lisp-mode.")
8362 (license license:gpl3+))))
8363
8364 (define-public emacs-ht
8365 (package
8366 (name "emacs-ht")
8367 (version "2.2")
8368 (source
8369 (origin
8370 (method git-fetch)
8371 (uri (git-reference
8372 (url "https://github.com/Wilfred/ht.el.git")
8373 (commit version)))
8374 (file-name (git-file-name name version))
8375 (sha256
8376 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
8377 (build-system emacs-build-system)
8378 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
8379 (native-inputs
8380 `(("emacs-ert-runner" ,emacs-ert-runner)))
8381 (arguments
8382 `(#:tests? #t
8383 #:test-command '("ert-runner")))
8384 (home-page "https://github.com/Wilfred/ht.el")
8385 (synopsis "Hash table library for Emacs")
8386 (description
8387 "This package simplifies the use of hash tables in elisp. It also
8388 provides functions to convert hash tables from and to alists and plists.")
8389 (license license:gpl3+)))
8390
8391 (define-public emacs-log4e
8392 (package
8393 (name "emacs-log4e")
8394 (version "0.3.0")
8395 (source
8396 (origin
8397 (method git-fetch)
8398 (uri (git-reference
8399 (url "https://github.com/aki2o/log4e.git")
8400 (commit (string-append "v" version))))
8401 (file-name (git-file-name name version))
8402 (sha256
8403 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
8404 (build-system emacs-build-system)
8405 (arguments
8406 `(#:phases
8407 (modify-phases %standard-phases
8408 (add-after 'unpack 'remove-tests
8409 ;; Guile builder complains about null characters in some
8410 ;; strings of test files. Remove "test" directory (it is not
8411 ;; needed anyway).
8412 (lambda _
8413 (delete-file-recursively "test"))))))
8414 (home-page "https://github.com/aki2o/log4e")
8415 (synopsis "Logging framework for elisp")
8416 (description
8417 "This package provides a logging framework for elisp. It allows
8418 you to deal with multiple log levels.")
8419 (license license:gpl3+)))
8420
8421 (define-public emacs-gntp
8422 (package
8423 (name "emacs-gntp")
8424 (version "0.1")
8425 (source
8426 (origin
8427 (method git-fetch)
8428 (uri (git-reference
8429 (url "https://github.com/tekai/gntp.el.git")
8430 (commit (string-append "v" version))))
8431 (file-name (git-file-name name version))
8432 (sha256
8433 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
8434 (build-system emacs-build-system)
8435 (home-page "https://github.com/tekai/gntp.el")
8436 (synopsis "Growl Notification Protocol for Emacs")
8437 (description
8438 "This package implements the Growl Notification Protocol GNTP
8439 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
8440 It is incomplete as it only lets you send but not receive
8441 notifications.")
8442 (license license:bsd-3)))
8443
8444 (define-public emacs-alert
8445 (package
8446 (name "emacs-alert")
8447 (version "1.3")
8448 (source
8449 (origin
8450 (method git-fetch)
8451 (uri (git-reference
8452 (url "https://github.com/jwiegley/alert.git")
8453 (commit (string-append "v" version))))
8454 (file-name (git-file-name name version))
8455 (sha256
8456 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
8457 (build-system emacs-build-system)
8458 (propagated-inputs
8459 `(("emacs-gntp" ,emacs-gntp)
8460 ("emacs-log4e" ,emacs-log4e)))
8461 (home-page "https://github.com/jwiegley/alert")
8462 (synopsis "Growl-style notification system for Emacs")
8463 (description
8464 "Alert is a Growl-workalike for Emacs which uses a common notification
8465 interface and multiple, selectable \"styles\", whose use is fully
8466 customizable by the user.")
8467 (license license:gpl2+)))
8468
8469 (define-public emacs-zones
8470 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
8471 (revision "2"))
8472 (package
8473 (name "emacs-zones")
8474 (version (git-version "0" revision commit))
8475 (source
8476 (origin
8477 (method git-fetch)
8478 (uri (git-reference
8479 (url "https://github.com/emacsmirror/zones.git")
8480 (commit commit)))
8481 (file-name (git-file-name name version))
8482 (sha256
8483 (base32
8484 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
8485 (patches
8486 (search-patches
8487 "emacs-zones-called-interactively.patch"))))
8488 (build-system emacs-build-system)
8489 (home-page "https://www.emacswiki.org/emacs/Zones")
8490 (synopsis "Define and act on multiple zones of buffer text")
8491 (description "Library @file{zones.el} lets you easily define and
8492 subsequently act on multiple zones of buffer text. You can think of this as
8493 enlarging the notion of region. In effect, it can remove the requirement of
8494 target text being a contiguous sequence of characters. A set of buffer zones
8495 is, in effect, a (typically) noncontiguous set of text.")
8496 (license license:gpl3+))))
8497
8498 (define-public emacs-mu4e-alert
8499 (package
8500 (name "emacs-mu4e-alert")
8501 (version "1.0")
8502 (source
8503 (origin
8504 (method git-fetch)
8505 (uri (git-reference
8506 (url "https://github.com/iqbalansari/mu4e-alert.git")
8507 (commit (string-append "v" version))))
8508 (file-name (git-file-name name version))
8509 (sha256
8510 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
8511 (build-system emacs-build-system)
8512 (propagated-inputs
8513 `(("emacs-alert" ,emacs-alert)
8514 ("emacs-s" ,emacs-s)
8515 ("emacs-ht" ,emacs-ht)
8516 ("mu" ,mu)))
8517 (home-page "https://github.com/iqbalansari/mu4e-alert")
8518 (synopsis "Desktop notification for mu4e")
8519 (description
8520 "This package provides desktop notifications for mu4e.
8521 Additionally it can display the number of unread emails in the
8522 mode-line.")
8523 (license license:gpl3+)))
8524
8525 (define-public emacs-mu4e-jump-to-list
8526 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
8527 (revision "1"))
8528 (package
8529 (name "emacs-mu4e-jump-to-list")
8530 (version (git-version "1.0" revision commit))
8531 (source
8532 (origin
8533 (method git-fetch)
8534 (uri (git-reference
8535 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
8536 (commit commit)))
8537 (file-name (git-file-name name version))
8538 (sha256
8539 (base32
8540 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
8541 (build-system emacs-build-system)
8542 (propagated-inputs
8543 `(("mu" ,mu)))
8544 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
8545 (synopsis "Select and view mailing lists in mu4e")
8546 (description
8547 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
8548 automatically using existing List-ID headers in your mu database. Just press
8549 \"l\" in the headers view and any mailing list you've subscribed to will be
8550 automatically discovered and presented in recency order.")
8551 (license license:gpl3+))))
8552
8553 (define-public emacs-mu4e-patch
8554 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
8555 (revision "1"))
8556 (package
8557 (name "emacs-mu4e-patch")
8558 (version (git-version "0.1.0" revision commit))
8559 (source (origin
8560 (method git-fetch)
8561 (uri (git-reference
8562 (url "https://github.com/seanfarley/mu4e-patch")
8563 (commit commit)))
8564 (file-name (git-file-name name version))
8565 (sha256
8566 (base32
8567 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
8568 (build-system emacs-build-system)
8569 (propagated-inputs
8570 `(("mu" ,mu)))
8571 (home-page "https://github.com/seanfarley/mu4e-patch")
8572 (synopsis "Colorize patch-like emails in mu4e")
8573 (description
8574 "Extension for mu4e to colorize patch-like emails with diff-mode.
8575 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
8576 been adapted to work with mu4e.")
8577 (license license:gpl3+))))
8578
8579 (define-public emacs-pretty-mode
8580 (package
8581 (name "emacs-pretty-mode")
8582 (version "2.0.3")
8583 (source
8584 (origin
8585 (method git-fetch)
8586 (uri (git-reference
8587 (url "https://github.com/akatov/pretty-mode/")
8588 (commit version)))
8589 (file-name (git-file-name name version))
8590 (sha256
8591 (base32
8592 "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
8593 (build-system emacs-build-system)
8594 (home-page "https://github.com/akatov/pretty-mode")
8595 (synopsis "Redisplay parts of the buffer as Unicode symbols")
8596 (description
8597 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
8598 (license license:gpl3+)))
8599
8600 (define-public emacs-yasnippet
8601 (package
8602 (name "emacs-yasnippet")
8603 (version "0.14.0")
8604 (source
8605 (origin
8606 (method git-fetch)
8607 (uri (git-reference
8608 (url "https://github.com/joaotavora/yasnippet.git")
8609 (commit version)))
8610 (file-name (string-append name "-" version ".tar.gz"))
8611 (sha256
8612 (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
8613 (modules '((guix build utils)))
8614 (snippet
8615 '(begin
8616 ;; YASnippet expects a "snippets" subdirectory in the same
8617 ;; directory as yasnippet.el, but we don't install it because it's
8618 ;; a git submodule pointing to an external repository. Adjust
8619 ;; `yas-snippet-dirs' to prevent warnings about a missing
8620 ;; directory.
8621 (substitute* "yasnippet.el"
8622 (("^ +'yas-installed-snippets-dir\\)\\)\n")
8623 "))\n"))
8624 #t))))
8625 (build-system emacs-build-system)
8626 (arguments
8627 `(#:tests? #t
8628 #:test-command '("emacs" "--batch"
8629 "-l" "yasnippet-tests.el"
8630 "-f" "ert-run-tests-batch-and-exit")
8631 ;; FIXME: one failing test.
8632 #:phases
8633 (modify-phases %standard-phases
8634 (add-before 'check 'make-tests-writable
8635 (lambda _
8636 (make-file-writable "yasnippet-tests.el")
8637 #t))
8638 (add-before 'check 'delete-rebinding-test
8639 (lambda _
8640 (emacs-batch-edit-file "yasnippet-tests.el"
8641 `(progn (goto-char (point-min))
8642 (re-search-forward "ert-deftest test-rebindings")
8643 (beginning-of-line)
8644 (kill-sexp)
8645 (basic-save-buffer)))
8646 #t)))))
8647 (home-page "https://github.com/joaotavora/yasnippet")
8648 (synopsis "Yet another snippet extension for Emacs")
8649 (description
8650 "YASnippet is a template system for Emacs. It allows you to type an
8651 abbreviation and automatically expand it into function templates.")
8652 (license license:gpl3+)))
8653
8654 (define-public emacs-yasnippet-snippets
8655 (package
8656 (name "emacs-yasnippet-snippets")
8657 (version "0.20")
8658 (source
8659 (origin
8660 (method git-fetch)
8661 (uri (git-reference
8662 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
8663 (commit version)))
8664 (file-name (git-file-name name version))
8665 (sha256
8666 (base32 "095w7cdmfwmmr6426mbq15n0a5izgbmv9408m9yh1pqz5x3v3vsx"))))
8667 (build-system trivial-build-system)
8668 (arguments
8669 `(#:modules ((guix build utils))
8670 #:builder
8671 (begin
8672 (use-modules (guix build utils))
8673 (let* ((source (assoc-ref %build-inputs "source"))
8674 (out (assoc-ref %outputs "out"))
8675 (snippet-dir
8676 (string-append out "/share/emacs/yasnippet-snippets/")))
8677 (with-directory-excursion source
8678 (mkdir-p snippet-dir)
8679 (copy-recursively "snippets" snippet-dir)))
8680 #t)))
8681 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
8682 (synopsis "Collection of YASnippet snippets for many languages")
8683 (description
8684 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
8685 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
8686 To make YASnippet aware of these snippets, add the above directory to
8687 @code{yas-snippet-dirs}.")
8688 (license license:gpl3+)))
8689
8690 (define-public emacs-helm-c-yasnippet
8691 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
8692 (revision "1"))
8693 (package
8694 (name "emacs-helm-c-yasnippet")
8695 (version (string-append "0.6.7" "-" revision "."
8696 (string-take commit 7)))
8697 (source (origin
8698 (method git-fetch)
8699 (uri (git-reference
8700 (url "https://github.com/emacs-jp/helm-c-yasnippet")
8701 (commit commit)))
8702 (file-name (git-file-name name version))
8703 (sha256
8704 (base32
8705 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
8706 (build-system emacs-build-system)
8707 (propagated-inputs
8708 `(("emacs-helm" ,emacs-helm)
8709 ("emacs-yasnippet" ,emacs-yasnippet)))
8710 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
8711 (synopsis "Helm integration for Yasnippet")
8712 (description "This Emacs library provides Helm interface for
8713 Yasnippet.")
8714 (license license:gpl2+))))
8715
8716 (define-public emacs-helm-system-packages
8717 ;; There won't be a new release after 1.10.1 until
8718 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
8719 ;; and latest commits fix import issues with Guix.
8720 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
8721 (package
8722 (name "emacs-helm-system-packages")
8723 (version (git-version "1.10.1" "1" commit))
8724 (source (origin
8725 (method git-fetch)
8726 (uri (git-reference
8727 (url "https://github.com/emacs-helm/helm-system-packages")
8728 (commit commit)))
8729 (file-name (git-file-name name version))
8730 (sha256
8731 (base32
8732 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
8733 (build-system emacs-build-system)
8734 (inputs
8735 `(("recutils" ,recutils)))
8736 (propagated-inputs
8737 `(("emacs-helm" ,emacs-helm)))
8738 (arguments
8739 `(#:phases
8740 (modify-phases %standard-phases
8741 (add-after 'unpack 'configure
8742 (lambda* (#:key inputs outputs #:allow-other-keys)
8743 (let ((recutils (assoc-ref inputs "recutils")))
8744 ;; Specify the absolute file names of the various
8745 ;; programs so that everything works out-of-the-box.
8746 (substitute* "helm-system-packages-guix.el"
8747 (("recsel") (string-append recutils "/bin/recsel")))))))))
8748 (home-page "https://github.com/emacs-helm/helm-system-packages")
8749 (synopsis "Helm System Packages is an interface to your package manager")
8750 (description "List all available packages in Helm (with installed
8751 packages displayed in their own respective face). Fuzzy-search, mark and
8752 execute the desired action over any selections of packages: Install,
8753 uninstall, display packages details (in Org Mode) or insert details at point,
8754 find files owned by packages... And much more, including performing all the
8755 above over the network.")
8756 (license license:gpl3+))))
8757
8758 (define-public emacs-helm-org-rifle
8759 (package
8760 (name "emacs-helm-org-rifle")
8761 (version "1.7.0")
8762 (source
8763 (origin
8764 (method git-fetch)
8765 (uri (git-reference
8766 (url "https://github.com/alphapapa/helm-org-rifle")
8767 (commit version)))
8768 (file-name (git-file-name name version))
8769 (sha256
8770 (base32
8771 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
8772 (build-system emacs-build-system)
8773 (propagated-inputs
8774 `(("emacs-dash" ,emacs-dash)
8775 ("emacs-f" ,emacs-f)
8776 ("emacs-helm" ,emacs-helm)
8777 ("emacs-org" ,emacs-org)
8778 ("emacs-s" ,emacs-s)))
8779 (home-page "https://github.com/alphapapa/helm-org-rifle")
8780 (synopsis "Rifle through Org files")
8781 (description "This package searches both headings and contents of entries
8782 in Org buffers and displays matching entries.")
8783 (license license:gpl3+)))
8784
8785 (define-public emacs-dired-toggle-sudo
8786 (package
8787 (name "emacs-dired-toggle-sudo")
8788 (version "1.0")
8789 (source
8790 (origin
8791 (method git-fetch)
8792 (uri (git-reference
8793 (url "https://github.com/renard/dired-toggle-sudo")
8794 (commit (string-append "v" version))))
8795 (file-name (git-file-name name version))
8796 (sha256
8797 (base32
8798 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
8799 (patches
8800 (search-patches
8801 "emacs-dired-toggle-sudo-emacs-26.patch"))))
8802 (build-system emacs-build-system)
8803 (home-page "https://github.com/renard/dired-toggle-sudo")
8804 (synopsis "Browse directory with @code{sudo} privileges")
8805 (description "This package allows for the use of @code{dired} with
8806 @code{sudo} privileges.")
8807 (license license:wtfpl2)))
8808
8809 (define-public emacs-memoize
8810 (package
8811 (name "emacs-memoize")
8812 (version "1.1")
8813 (source
8814 (origin
8815 (method git-fetch)
8816 (uri (git-reference
8817 (url "https://github.com/skeeto/emacs-memoize.git")
8818 (commit version)))
8819 (file-name (git-file-name name version))
8820 (sha256
8821 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
8822 (build-system emacs-build-system)
8823 (arguments
8824 `(#:tests? #t
8825 #:test-command '("emacs" "--batch"
8826 "-l" "memoize-test.el"
8827 "-f" "ert-run-tests-batch-and-exit")))
8828 (home-page "https://github.com/skeeto/emacs-memoize")
8829 (synopsis "Emacs lisp memoization library")
8830 (description "@code{emacs-memoize} is an Emacs library for
8831 memoizing functions.")
8832 (license license:unlicense)))
8833
8834 (define-public emacs-linum-relative
8835 (package
8836 (name "emacs-linum-relative")
8837 (version "0.6")
8838 (source
8839 (origin
8840 (method git-fetch)
8841 (uri (git-reference
8842 (url "https://github.com/coldnew/linum-relative.git")
8843 (commit version)))
8844 (file-name (git-file-name name version))
8845 (sha256
8846 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
8847 (build-system emacs-build-system)
8848 (home-page "https://github.com/coldnew/linum-relative")
8849 (synopsis "Relative line numbering for Emacs")
8850 (description "@code{emacs-linum-relative} displays the relative line
8851 number on the left margin in Emacs.")
8852 (license license:gpl2+)))
8853
8854 (define-public emacs-idle-highlight
8855 (package
8856 (name "emacs-idle-highlight")
8857 (version "1.1.3")
8858 (source
8859 (origin
8860 (method git-fetch)
8861 (uri (git-reference
8862 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
8863 (commit version)))
8864 (file-name (git-file-name name version))
8865 (sha256
8866 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
8867 (build-system emacs-build-system)
8868 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
8869 (synopsis "Highlights all occurrences of the word the point is on")
8870 (description
8871 "This Emacs package provides @code{idle-highlight-mode} that sets
8872 an idle timer to highlight all occurrences in the buffer of the word under
8873 the point.")
8874 (license license:gpl3+)))
8875
8876 (define-public emacs-ox-twbs
8877 (package
8878 (name "emacs-ox-twbs")
8879 (version "1.1.1")
8880 (source
8881 (origin
8882 (method git-fetch)
8883 (uri (git-reference
8884 (url "https://github.com/marsmining/ox-twbs.git")
8885 (commit (string-append "v" version))))
8886 (file-name (git-file-name name version))
8887 (sha256
8888 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
8889 (build-system emacs-build-system)
8890 (home-page "https://github.com/marsmining/ox-twbs")
8891 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
8892 (description
8893 "This Emacs package outputs your org-mode docs with a simple, clean and
8894 modern look. It implements a new HTML back-end for exporting org-mode docs as
8895 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
8896 jQuery and Bootstrap resources included via osscdn.")
8897 (license license:gpl3+)))
8898
8899 (define-public emacs-highlight-sexp
8900 (package
8901 (name "emacs-highlight-sexp")
8902 (version "1.0")
8903 (source
8904 (origin
8905 (method git-fetch)
8906 (uri (git-reference
8907 (url "https://github.com/daimrod/highlight-sexp.git")
8908 (commit (string-append "v" version))))
8909 (file-name (git-file-name name version))
8910 (sha256
8911 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
8912 (build-system emacs-build-system)
8913 (home-page "https://github.com/daimrod/highlight-sexp")
8914 (synopsis "Minor mode that highlights the s-exp at the current position")
8915 (description
8916 "This Emacs package highlights the s-exp at the current position.")
8917 (license license:gpl3+)))
8918
8919 (define-public emacs-highlight-stages
8920 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
8921 (revision "1"))
8922 (package
8923 (name "emacs-highlight-stages")
8924 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
8925 (source
8926 (origin
8927 (method git-fetch)
8928 (uri (git-reference
8929 (url "https://github.com/zk-phi/highlight-stages.git")
8930 (commit commit)))
8931 (file-name (git-file-name name version))
8932 (sha256
8933 (base32
8934 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
8935 (patches
8936 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
8937 (build-system emacs-build-system)
8938 (home-page "https://github.com/wigust/highlight-stages")
8939 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
8940 (description "@code{highlight-stages} provides an Emacs minor mode that
8941 highlights quasi-quoted expressions.")
8942 (license license:gpl3+))))
8943
8944 (define-public emacspeak
8945 (package
8946 (name "emacspeak")
8947 (version "50.0")
8948 (source
8949 (origin
8950 (method url-fetch)
8951 (uri (string-append
8952 "https://github.com/tvraman/emacspeak/releases/download/"
8953 version "/emacspeak-" version ".tar.bz2"))
8954 (sha256
8955 (base32
8956 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
8957 (build-system gnu-build-system)
8958 (arguments
8959 '(#:make-flags (list (string-append "prefix="
8960 (assoc-ref %outputs "out")))
8961 #:phases
8962 (modify-phases %standard-phases
8963 (replace 'configure
8964 (lambda _
8965 (setenv "SHELL" (which "sh"))
8966 ;; Configure Emacspeak according to etc/install.org.
8967 (invoke "make" "config")))
8968 (add-after 'build 'build-espeak
8969 (lambda _
8970 (invoke "make" "espeak")))
8971 (replace 'install
8972 (lambda* (#:key inputs outputs #:allow-other-keys)
8973 (let* ((out (assoc-ref outputs "out"))
8974 (bin (string-append out "/bin"))
8975 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
8976 (info (string-append out "/share/info"))
8977 (emacs (string-append (assoc-ref inputs "emacs")
8978 "/bin/emacs")))
8979 ;; According to etc/install.org, the Emacspeak directory should
8980 ;; be copied to its installation destination.
8981 (for-each
8982 (lambda (file)
8983 (copy-recursively file (string-append lisp "/" file)))
8984 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
8985 "stumpwm" "xsl"))
8986 ;; Make sure emacspeak is loaded from the correct directory.
8987 (substitute* "etc/emacspeak.sh"
8988 (("/lisp/emacspeak-setup.el")
8989 (string-append lisp "/lisp/emacspeak-setup.el")))
8990 ;; Install the convenient startup script.
8991 (mkdir-p bin)
8992 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
8993 #t))
8994 (add-after 'install 'wrap-program
8995 (lambda* (#:key inputs outputs #:allow-other-keys)
8996 (let* ((out (assoc-ref outputs "out"))
8997 (emacspeak (string-append out "/bin/emacspeak"))
8998 (espeak (string-append (assoc-ref inputs "espeak")
8999 "/bin/espeak")))
9000 ;; The environment variable DTK_PROGRAM tells emacspeak what
9001 ;; program to use for speech.
9002 (wrap-program emacspeak
9003 `("DTK_PROGRAM" ":" prefix (,espeak)))
9004 #t))))
9005 #:tests? #f)) ; no check target
9006 (inputs
9007 `(("emacs" ,emacs)
9008 ("espeak" ,espeak)
9009 ("perl" ,perl)
9010 ("tcl" ,tcl)
9011 ("tclx" ,tclx)))
9012 (home-page "http://emacspeak.sourceforge.net")
9013 (synopsis "Audio desktop interface for Emacs")
9014 (description
9015 "Emacspeak is a speech interface that allows visually impaired users to
9016 interact independently and efficiently with the computer. Audio formatting
9017 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
9018 allows Emacspeak to produce rich aural presentations of electronic information.
9019 By seamlessly blending all aspects of the Internet such as Web-surfing and
9020 messaging, Emacspeak speech-enables local and remote information via a
9021 consistent and well-integrated user interface.")
9022 (license license:gpl2+)))
9023
9024 (define-public emacs-adaptive-wrap
9025 (package
9026 (name "emacs-adaptive-wrap")
9027 (version "0.5.1")
9028 (source (origin
9029 (method url-fetch)
9030 (uri (string-append
9031 "https://elpa.gnu.org/packages/adaptive-wrap-"
9032 version ".el"))
9033 (sha256
9034 (base32
9035 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
9036 (build-system emacs-build-system)
9037 (home-page "https://elpa.gnu.org/packages/adaptive-wrap.html")
9038 (synopsis "Smart line-wrapping with wrap-prefix")
9039 (description
9040 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
9041 minor mode which sets the wrap-prefix property on the fly so that
9042 single-long-line paragraphs get word-wrapped in a way similar to what
9043 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
9044 actually changing the buffer's text.")
9045 (license license:gpl3+)))
9046
9047 (define-public emacs-diff-hl
9048 (package
9049 (name "emacs-diff-hl")
9050 (version "1.8.7")
9051 (source
9052 (origin
9053 (method git-fetch)
9054 (uri (git-reference
9055 (url "https://github.com/dgutov/diff-hl")
9056 (commit version)))
9057 (file-name (git-file-name name version))
9058 (sha256
9059 (base32 "0i7x6qgr3nydcwhw72sbc8z9x9dfhgkf0dqj9nakvx36vn1bblbq"))))
9060 (build-system emacs-build-system)
9061 (home-page "https://github.com/dgutov/diff-hl")
9062 (synopsis
9063 "Highlight uncommitted changes using VC")
9064 (description
9065 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
9066 window (using the fringe, by default), allows you to jump between
9067 the hunks and revert them selectively.")
9068 (license license:gpl3+)))
9069
9070 (define-public emacs-diminish
9071 (package
9072 (name "emacs-diminish")
9073 (version "0.45")
9074 (source
9075 (origin
9076 (method git-fetch)
9077 (uri (git-reference
9078 (url "https://github.com/myrjola/diminish.el.git")
9079 (commit (string-append "v" version))))
9080 (file-name (git-file-name name version))
9081 (sha256
9082 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
9083 (build-system emacs-build-system)
9084 (home-page "https://github.com/myrjola/diminish.el")
9085 (synopsis "Diminish minor modes with no modeline display")
9086 (description "@code{emacs-diminish} implements hiding or
9087 abbreviation of the mode line displays (lighters) of minor modes.")
9088 (license license:gpl2+)))
9089
9090 (define-public emacs-use-package
9091 (package
9092 (name "emacs-use-package")
9093 (version "2.4")
9094 (source (origin
9095 (method git-fetch)
9096 (uri (git-reference
9097 (url "https://github.com/jwiegley/use-package")
9098 (commit version)))
9099 (file-name (git-file-name name version))
9100 (sha256
9101 (base32
9102 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
9103 (build-system emacs-build-system)
9104 (propagated-inputs
9105 `(("emacs-diminish" ,emacs-diminish)))
9106 (arguments
9107 `(#:tests? #t
9108 #:test-command '("emacs" "--batch"
9109 "-l" "use-package-tests.el"
9110 "-f" "ert-run-tests-batch-and-exit")))
9111 (home-page "https://github.com/jwiegley/use-package")
9112 (synopsis "Declaration for simplifying your .emacs")
9113 (description "The use-package macro allows you to isolate package
9114 configuration in your @file{.emacs} file in a way that is both
9115 performance-oriented and tidy.")
9116 (license license:gpl2+)))
9117
9118 (define-public emacs-leaf
9119 (package
9120 (name "emacs-leaf")
9121 (version "3.5.0")
9122 (source
9123 (origin
9124 (method git-fetch)
9125 (uri (git-reference
9126 (url "https://github.com/conao3/leaf.el.git")
9127 (commit (string-append "v" version))))
9128 (file-name (git-file-name name version))
9129 (sha256
9130 (base32
9131 "1rgd59146wad92yc64las0qgx67k2ifgsw1vwhp40xvkd7kb0r6d"))))
9132 (build-system emacs-build-system)
9133 (home-page "https://github.com/conao3/leaf.el")
9134 (arguments
9135 `(#:tests? #t
9136 #:test-command '("emacs" "--batch"
9137 "-l" "leaf-tests.el"
9138 "-f" "cort-test-run")))
9139 (synopsis
9140 "Simplify your init.el configuration, extended use-package")
9141 (description
9142 "This package provides macros that allows you to declaratively configure
9143 settings typical of an Elisp package with various keywords. The syntax is
9144 similar, but not identical to use-package -- overall, leaf aims at a cleaner
9145 and more predictable implementation.")
9146 (license license:agpl3+)))
9147
9148 (define-public emacs-strace-mode
9149 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
9150 (revision "1"))
9151 (package
9152 (name "emacs-strace-mode")
9153 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
9154 (source (origin
9155 (method git-fetch)
9156 (uri (git-reference
9157 (url "https://github.com/pkmoore/strace-mode")
9158 (commit commit)))
9159 (file-name (git-file-name name version))
9160 (sha256
9161 (base32
9162 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
9163 (build-system emacs-build-system)
9164 (home-page "https://github.com/pkmoore/strace-mode")
9165 (synopsis "Emacs major mode to highlight strace outputs")
9166 (description "@code{emacs-strace-mode} provides an Emacs major mode
9167 highlighting strace outputs.")
9168 (license license:gpl3+))))
9169
9170 (define-public emacs-default-encrypt
9171 (package
9172 (name "emacs-default-encrypt")
9173 (version "4.4")
9174 (source
9175 (origin
9176 (method url-fetch)
9177 (uri (string-append
9178 "https://informationelle-selbstbestimmung-im-internet.de"
9179 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
9180 (file-name (string-append "jl-encrypt-" version ".el"))
9181 (sha256
9182 (base32
9183 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
9184 (build-system emacs-build-system)
9185 (home-page
9186 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
9187 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
9188 (description
9189 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
9190 automatically encrypts messages that you send (e.g., email) when public keys
9191 for all recipients are available, and it protects you from accidentally
9192 sending un-encrypted messages. It can also be configured to automatically
9193 sign messages that you send. For details and instructions on how to use
9194 DefaultEncrypt, please refer to the home page or read the comments in the
9195 source file, @file{jl-encrypt.el}.")
9196 (license license:gpl3+)))
9197
9198 (define-public emacs-extend-smime
9199 (package
9200 (name "emacs-extend-smime")
9201 (version "3.3")
9202 (source
9203 (origin
9204 (method url-fetch)
9205 (uri (string-append
9206 "https://informationelle-selbstbestimmung-im-internet.de"
9207 "/emacs/jl-smime" version "/jl-smime.el"))
9208 (file-name (string-append "jl-smime-" version ".el"))
9209 (sha256
9210 (base32
9211 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
9212 (build-system emacs-build-system)
9213 (home-page
9214 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
9215 (synopsis "Improved S/MIME support for Gnus in Emacs")
9216 (propagated-inputs
9217 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
9218 (description
9219 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
9220 ;; should not be translated. The name "emacs-default-encrypt" refers to
9221 ;; the Guix package that provides DefaultEncrypt.
9222 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
9223 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
9224 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
9225 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
9226 certificates via LDAP and imports them into @code{gpgsm}. When certificates
9227 for all recipients are available, DefaultEncrypt automatically encrypts the
9228 message. For details and instructions on how to use ExtendSMIME, please refer
9229 to the home page or read the comments in the source file,
9230 @file{jl-smime.el}.")
9231 (license license:gpl3+)))
9232
9233 (define-public emacs-htmlize
9234 (package
9235 (name "emacs-htmlize")
9236 (version "1.55")
9237 (source
9238 (origin
9239 (method git-fetch)
9240 (uri (git-reference
9241 (url "https://github.com/hniksic/emacs-htmlize.git")
9242 (commit (string-append "release/" version))))
9243 (file-name (git-file-name name version))
9244 (sha256
9245 (base32 "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x"))))
9246 (build-system emacs-build-system)
9247 (home-page "https://github.com/hniksic/emacs-htmlize")
9248 (synopsis "Convert buffer text and decorations to HTML")
9249 (description "@code{emacs-htmlize} converts the buffer text and
9250 the associated decorations to HTML. Output to CSS, inline CSS and
9251 fonts is supported.")
9252 (license license:gpl2+)))
9253
9254 (define-public emacs-xmlgen
9255 (package
9256 (name "emacs-xmlgen")
9257 (version "0.5")
9258 (source
9259 (origin
9260 (method git-fetch)
9261 (uri (git-reference
9262 (url "https://github.com/philjackson/xmlgen.git")
9263 (commit version)))
9264 (file-name (git-file-name name version))
9265 (sha256
9266 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
9267 (build-system emacs-build-system)
9268 (arguments
9269 `(#:tests? #t
9270 #:test-command '("emacs" "--batch"
9271 "-l" "xmlgen-test.el"
9272 "-f" "ert-run-tests-batch-and-exit")))
9273 (home-page "https://github.com/philjackson/xmlgen")
9274 (synopsis "S-expression to XML domain specific language (DSL) in
9275 Emacs Lisp")
9276 (description "@code{emacs-xmlgen} provides S-expression to XML
9277 conversion for Emacs Lisp.")
9278 (license license:gpl2+)))
9279
9280 (define-public emacs-cdlatex
9281 (package
9282 (name "emacs-cdlatex")
9283 (version "4.7")
9284 (source
9285 (origin
9286 (method git-fetch)
9287 (uri (git-reference
9288 (url "https://github.com/cdominik/cdlatex.git")
9289 (commit version)))
9290 (file-name (git-file-name name version))
9291 (sha256
9292 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
9293 (build-system emacs-build-system)
9294 (propagated-inputs
9295 `(("emacs-auctex" ,emacs-auctex)))
9296 (home-page "https://github.com/cdominik/cdlatex")
9297 (synopsis "Fast Emacs input methods for LaTeX environments and
9298 math")
9299 (description "CDLaTeX is an Emacs minor mode supporting fast
9300 insertion of environment templates and math in LaTeX. Similar
9301 commands are also offered as part of the AUCTeX package, but it is not
9302 the same - CDLaTeX focuses on speediness for inserting LaTeX
9303 constructs.")
9304 (license license:gpl3+)))
9305
9306 (define-public emacs-cnfonts
9307 (package
9308 (name "emacs-cnfonts")
9309 (version "0.9.1")
9310 (source
9311 (origin
9312 (method git-fetch)
9313 (uri (git-reference
9314 (url "https://github.com/tumashu/cnfonts.git")
9315 (commit (string-append "v" version))))
9316 (file-name (git-file-name name version))
9317 (sha256
9318 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
9319 (build-system emacs-build-system)
9320 (home-page "https://github.com/tumashu/cnfonts")
9321 (synopsis "Emacs Chinese fonts setup tool")
9322 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
9323 configuration of Chinese fonts.")
9324 (license license:gpl2+)))
9325
9326 (define-public emacs-php-mode
9327 (package
9328 (name "emacs-php-mode")
9329 (version "1.22.2")
9330 (source (origin
9331 (method git-fetch)
9332 (uri (git-reference
9333 (url "https://github.com/ejmr/php-mode.git")
9334 (commit (string-append "v" version))))
9335 (file-name (git-file-name name version))
9336 (sha256
9337 (base32
9338 "1r4bpyavlndd4c78cv5cc97bc0gkd4cggiyz4kd2vg6zlyc1nld3"))))
9339 (build-system emacs-build-system)
9340 (home-page "https://github.com/ejmr/php-mode")
9341 (synopsis "Major mode for editing PHP code")
9342 (description "@code{php-mode} is a major mode for editing PHP source
9343 code. It's an extension of C mode; thus it inherits all C mode's navigation
9344 functionality. But it colors according to the PHP grammar and indents
9345 according to the PEAR coding guidelines. It also includes a couple handy
9346 IDE-type features such as documentation search and a source and class
9347 browser.")
9348 (license license:gpl3+)))
9349
9350 (define-public emacs-pos-tip
9351 (package
9352 (name "emacs-pos-tip")
9353 (version "0.4.6")
9354 (source
9355 (origin
9356 (method git-fetch)
9357 (uri (git-reference
9358 (url "https://github.com/pitkali/pos-tip.git")
9359 (commit version)))
9360 (file-name (git-file-name name version))
9361 (sha256
9362 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
9363 (build-system emacs-build-system)
9364 ;; The following functions and variables needed by emacs-pos-tip are
9365 ;; not included in emacs-minimal:
9366 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
9367 (arguments `(#:emacs ,emacs))
9368 (home-page "https://github.com/pitkali/pos-tip")
9369 (synopsis "Show tooltip at point")
9370 (description "The standard library tooltip.el provides a function for
9371 displaying a tooltip at the mouse position. However, locating a tooltip at an
9372 arbitrary buffer position in a window is not easy. Pos-tip provides such a
9373 function to be used by other frontend programs.")
9374 (license license:gpl2+)))
9375
9376 (define-public emacs-pyim-basedict
9377 (package
9378 (name "emacs-pyim-basedict")
9379 (version "0.3.1")
9380 (source
9381 (origin
9382 (method git-fetch)
9383 (uri (git-reference
9384 (url "https://github.com/tumashu/pyim-basedict.git")
9385 (commit (string-append "v" version))))
9386 (file-name (git-file-name name version))
9387 (sha256
9388 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
9389 (build-system emacs-build-system)
9390 (home-page "https://github.com/tumashu/pyim-basedict")
9391 (synopsis "Input method dictionary of pyim")
9392 (description "Pyim-basedict is the default pinyin input method dictionary,
9393 containing words from the rime project.")
9394 (license license:gpl2+)))
9395
9396 (define-public emacs-pyim
9397 (package
9398 (name "emacs-pyim")
9399 (version "1.8")
9400 (source
9401 (origin
9402 (method git-fetch)
9403 (uri (git-reference
9404 (url "https://github.com/tumashu/pyim")
9405 (commit (string-append "v" version))))
9406 (file-name (git-file-name name version))
9407 (sha256
9408 (base32
9409 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
9410 (build-system emacs-build-system)
9411 (propagated-inputs
9412 `(("emacs-async" ,emacs-async)
9413 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
9414 ("emacs-popup" ,emacs-popup)
9415 ("emacs-posframe" ,emacs-posframe)))
9416 (home-page "https://github.com/tumashu/pyim")
9417 (synopsis "Chinese input method")
9418 (description "Chinese input method which supports quanpin, shuangpin, wubi
9419 and cangjie.")
9420 (license license:gpl2+)))
9421
9422 (define-public emacs-posframe
9423 (package
9424 (name "emacs-posframe")
9425 (version "0.5.0")
9426 (source
9427 (origin
9428 (method git-fetch)
9429 (uri (git-reference
9430 (url "https://github.com/tumashu/posframe")
9431 (commit (string-append "v" version))))
9432 (file-name (git-file-name name version))
9433 (sha256
9434 (base32
9435 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
9436 (build-system emacs-build-system)
9437 ;; emacs-minimal does not include the function font-info
9438 (arguments `(#:emacs ,emacs))
9439 (home-page "https://github.com/tumashu/posframe")
9440 (synopsis "Pop a posframe (a child frame) at point")
9441 (description "@code{emacs-posframe} can pop a posframe at point. A
9442 posframe is a child frame displayed within its root window's buffer.
9443 @code{emacs-posframe} is fast and works well with CJK languages.")
9444 (license license:gpl3+)))
9445
9446 (define-public emacs-el2org
9447 (package
9448 (name "emacs-el2org")
9449 (version "0.6.0")
9450 (source
9451 (origin
9452 (method git-fetch)
9453 (uri (git-reference
9454 (url "https://github.com/tumashu/el2org.git")
9455 (commit (string-append "v" version))))
9456 (file-name (git-file-name name version))
9457 (sha256
9458 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
9459 (build-system emacs-build-system)
9460 (home-page "https://github.com/tumashu/el2org")
9461 (synopsis "Convert Emacs-lisp file to org file")
9462 (description "El2org is a simple tool, which can convert Emacs-lisp file
9463 to org file, you can use this tool to write orgify commentary.")
9464 (license license:gpl2+)))
9465
9466 (define-public emacs-mustache
9467 (package
9468 (name "emacs-mustache")
9469 (version "0.23")
9470 (source
9471 (origin
9472 (method git-fetch)
9473 (uri (git-reference
9474 (url "https://github.com/Wilfred/mustache.el.git")
9475 (commit version)))
9476 (file-name (git-file-name name version))
9477 (sha256
9478 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
9479 (build-system emacs-build-system)
9480 (propagated-inputs
9481 `(("emacs-dash" ,emacs-dash)
9482 ("emacs-ht" ,emacs-ht)
9483 ("emacs-s" ,emacs-s)))
9484 (home-page "https://github.com/Wilfred/mustache.el")
9485 (synopsis "Mustache templating library for Emacs")
9486 (description "Mustache templating library for Emacs, mustache is
9487 a simple web template system, which is described as a logic-less system
9488 because it lacks any explicit control flow statements, both looping and
9489 conditional evaluation can be achieved using section tags processing lists
9490 and lambdas.")
9491 (license license:gpl3+)))
9492
9493 (define-public emacs-org2web
9494 (package
9495 (name "emacs-org2web")
9496 (version "0.9.1")
9497 (source
9498 (origin
9499 (method git-fetch)
9500 (uri (git-reference
9501 (url "https://github.com/tumashu/org2web.git")
9502 (commit (string-append "v" version))))
9503 (file-name (git-file-name name version))
9504 (sha256
9505 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
9506 (build-system emacs-build-system)
9507 (propagated-inputs
9508 `(("emacs-dash" ,emacs-dash)
9509 ("emacs-el2org" ,emacs-el2org)
9510 ("emacs-ht" ,emacs-ht)
9511 ("emacs-mustache" ,emacs-mustache)
9512 ("emacs-simple-httpd" ,emacs-simple-httpd)))
9513 (home-page "https://github.com/tumashu/org2web")
9514 (synopsis "Static site generator based on org-mode ")
9515 (description "Org2web is a static site generator based on org-mode,
9516 which code derived from Kelvin H's org-page.")
9517 (license license:gpl2+)))
9518
9519 (define-public emacs-xelb
9520 (package
9521 (name "emacs-xelb")
9522 (version "0.18")
9523 (source (origin
9524 (method url-fetch)
9525 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
9526 version ".tar"))
9527 (sha256
9528 (base32
9529 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
9530 (build-system emacs-build-system)
9531 ;; The following functions and variables needed by emacs-xelb are
9532 ;; not included in emacs-minimal:
9533 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
9534 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
9535 ;; x-display-pixel-width, x-display-pixel-height
9536 (arguments
9537 `(#:emacs ,emacs
9538 #:phases
9539 (modify-phases %standard-phases
9540 (add-after 'unpack 'regenerate-el-files
9541 (lambda* (#:key inputs #:allow-other-keys)
9542 (invoke "make"
9543 (string-append "PROTO_PATH="
9544 (assoc-ref inputs "xcb-proto")
9545 "/share/xcb")
9546 (string-append "EMACS_BIN="
9547 (assoc-ref inputs "emacs")
9548 "/bin/emacs -Q")))))))
9549 (native-inputs `(("xcb-proto" ,xcb-proto)))
9550 (home-page "https://github.com/ch11ng/xelb")
9551 (synopsis "X protocol Emacs Lisp binding")
9552 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
9553 X11 protocol based on the XML description files from the XCB project. It
9554 features an object-oriented API and permits a certain degree of concurrency.
9555 It should enable you to implement low-level X11 applications.")
9556 (license license:gpl3+)))
9557
9558 (define-public emacs-exwm
9559 (package
9560 (name "emacs-exwm")
9561 (version "0.23")
9562 (synopsis "Emacs X window manager")
9563 (source (origin
9564 (method url-fetch)
9565 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
9566 version ".tar"))
9567 (sha256
9568 (base32
9569 "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
9570 (build-system emacs-build-system)
9571 (propagated-inputs
9572 `(("emacs-xelb" ,emacs-xelb)))
9573 (inputs
9574 `(("xhost" ,xhost)
9575 ("dbus" ,dbus)))
9576 ;; The following functions and variables needed by emacs-exwm are
9577 ;; not included in emacs-minimal:
9578 ;; scroll-bar-mode, fringe-mode
9579 ;; x-display-pixel-width, x-display-pixel-height
9580 (arguments
9581 `(#:emacs ,emacs
9582 #:phases
9583 (modify-phases %standard-phases
9584 (add-after 'build 'install-xsession
9585 (lambda* (#:key inputs outputs #:allow-other-keys)
9586 (let* ((out (assoc-ref outputs "out"))
9587 (xsessions (string-append out "/share/xsessions"))
9588 (bin (string-append out "/bin"))
9589 (exwm-executable (string-append bin "/exwm")))
9590 ;; Add a .desktop file to xsessions
9591 (mkdir-p xsessions)
9592 (mkdir-p bin)
9593 (with-output-to-file
9594 (string-append xsessions "/exwm.desktop")
9595 (lambda _
9596 (format #t "[Desktop Entry]~@
9597 Name=~a~@
9598 Comment=~a~@
9599 Exec=~a~@
9600 TryExec=~:*~a~@
9601 Type=Application~%" ,name ,synopsis exwm-executable)))
9602 ;; Add a shell wrapper to bin
9603 (with-output-to-file exwm-executable
9604 (lambda _
9605 (format #t "#!~a ~@
9606 ~a +SI:localuser:$USER ~@
9607 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9608 (string-append (assoc-ref inputs "bash") "/bin/sh")
9609 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9610 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9611 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9612 '(cond
9613 ((file-exists-p "~/.exwm")
9614 (load-file "~/.exwm"))
9615 ((not (featurep 'exwm))
9616 (require 'exwm)
9617 (require 'exwm-config)
9618 (exwm-config-default)
9619 (message (concat "exwm configuration not found. "
9620 "Falling back to default configuration...")))))))
9621 (chmod exwm-executable #o555)
9622 #t))))))
9623 (home-page "https://github.com/ch11ng/exwm")
9624 (description "EXWM is a full-featured tiling X window manager for Emacs
9625 built on top of XELB.")
9626 (license license:gpl3+)))
9627
9628 (define-public emacs-switch-window
9629 (package
9630 (name "emacs-switch-window")
9631 (version "1.6.2")
9632 (source
9633 (origin
9634 (method git-fetch)
9635 (uri (git-reference
9636 (url "https://github.com/dimitri/switch-window")
9637 (commit (string-append "v" version))))
9638 (file-name (git-file-name name version))
9639 (sha256
9640 (base32
9641 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
9642 (build-system emacs-build-system)
9643 (home-page "https://github.com/dimitri/switch-window")
9644 (synopsis "Emacs window switch tool")
9645 (description "Switch-window is an emacs window switch tool, which
9646 offer a visual way to choose a window to switch to, delete, split or
9647 other operations.")
9648 (license license:wtfpl2)))
9649
9650 (define-public emacs-exwm-x
9651 (package
9652 (name "emacs-exwm-x")
9653 (version "1.9.0")
9654 (synopsis "Derivative window manager based on EXWM")
9655 (source
9656 (origin
9657 (method git-fetch)
9658 (uri (git-reference
9659 (url "https://github.com/tumashu/exwm-x")
9660 (commit (string-append "v" version))))
9661 (file-name (git-file-name name version))
9662 (sha256
9663 (base32
9664 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
9665 (build-system emacs-build-system)
9666 (propagated-inputs
9667 `(("emacs-exwm" ,emacs-exwm)
9668 ("emacs-switch-window" ,emacs-switch-window)
9669 ("emacs-ivy" ,emacs-ivy)
9670 ("emacs-use-package" ,emacs-use-package)))
9671 (inputs
9672 `(("xhost" ,xhost)
9673 ("dbus" ,dbus)))
9674 ;; Need emacs instead of emacs-minimal,
9675 ;; for emacs's bin path will be inserted into bin/exwm-x file.
9676 (arguments
9677 `(#:emacs ,emacs
9678 #:phases
9679 (modify-phases %standard-phases
9680 (add-after 'build 'install-xsession
9681 (lambda* (#:key inputs outputs #:allow-other-keys)
9682 (let* ((out (assoc-ref outputs "out"))
9683 (xsessions (string-append out "/share/xsessions"))
9684 (bin (string-append out "/bin"))
9685 (exwm-executable (string-append bin "/exwm-x")))
9686 ;; Add a .desktop file to xsessions
9687 (mkdir-p xsessions)
9688 (mkdir-p bin)
9689 (with-output-to-file
9690 (string-append xsessions "/exwm-x.desktop")
9691 (lambda _
9692 (format #t "[Desktop Entry]~@
9693 Name=~a~@
9694 Comment=~a~@
9695 Exec=~a~@
9696 TryExec=~@*~a~@
9697 Type=Application~%" ,name ,synopsis exwm-executable)))
9698 ;; Add a shell wrapper to bin
9699 (with-output-to-file exwm-executable
9700 (lambda _
9701 (format #t "#!~a ~@
9702 ~a +SI:localuser:$USER ~@
9703 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9704 (string-append (assoc-ref inputs "bash") "/bin/sh")
9705 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9706 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9707 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9708 '(require 'exwmx-loader))))
9709 (chmod exwm-executable #o555)
9710 #t))))))
9711 (home-page "https://github.com/tumashu/exwm-x")
9712 (description "EXWM-X is a derivative window manager based on EXWM, with focus
9713 on mouse-control.")
9714 (license license:gpl3+)))
9715
9716 (define-public emacs-gnugo
9717 (package
9718 (name "emacs-gnugo")
9719 (version "3.1.0")
9720 (source
9721 (origin
9722 (method url-fetch)
9723 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
9724 version ".tar"))
9725 (sha256
9726 (base32
9727 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
9728 (build-system emacs-build-system)
9729 (arguments
9730 `(#:phases (modify-phases %standard-phases
9731 (add-after 'unpack 'configure-default-gnugo-xpms-variable
9732 (lambda _
9733 (substitute* "gnugo.el"
9734 (("defvar gnugo-xpms nil")
9735 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
9736 #t)))))
9737 (propagated-inputs
9738 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
9739 ("emacs-xpm" ,emacs-xpm)))
9740 (home-page "https://elpa.gnu.org/packages/gnugo.html")
9741 (synopsis "Emacs major mode for playing GNU Go")
9742 (description "This package provides an Emacs based interface for GNU Go.
9743 It has a graphical mode where the board and stones are drawn using XPM images
9744 and supports the use of a mouse.")
9745 (license license:gpl3+)))
9746
9747 (define-public emacs-gnuplot
9748 (package
9749 (name "emacs-gnuplot")
9750 (version "0.7.0")
9751 (source
9752 (origin
9753 (method git-fetch)
9754 (uri (git-reference
9755 (url "https://github.com/bruceravel/gnuplot-mode.git")
9756 (commit version)))
9757 (file-name (git-file-name name version))
9758 (sha256
9759 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
9760 (build-system gnu-build-system)
9761 (native-inputs `(("emacs" ,emacs-minimal)))
9762 (arguments
9763 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
9764 "/gnuplot-" version)))
9765 `(#:modules ((guix build gnu-build-system)
9766 (guix build utils)
9767 (guix build emacs-utils))
9768 #:imported-modules (,@%gnu-build-system-modules
9769 (guix build emacs-utils))
9770 #:configure-flags
9771 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
9772 "/bin/emacs")
9773 (string-append "--with-lispdir=" %output ,elisp-dir))
9774 #:phases
9775 (modify-phases %standard-phases
9776 (add-after 'install 'generate-autoloads
9777 (lambda* (#:key outputs #:allow-other-keys)
9778 (emacs-generate-autoloads
9779 "gnuplot"
9780 (string-append (assoc-ref outputs "out") ,elisp-dir))
9781 #t))))))
9782 (home-page "https://github.com/bruceravel/gnuplot-mode")
9783 (synopsis "Emacs major mode for interacting with gnuplot")
9784 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
9785 with gnuplot.")
9786 (license license:gpl2+)))
9787
9788 (define-public emacs-transpose-frame
9789 (package
9790 (name "emacs-transpose-frame")
9791 (version "0.1.0")
9792 (source
9793 (origin
9794 (method url-fetch)
9795 (uri "https://www.emacswiki.org/emacs/download/transpose-frame.el")
9796 (file-name (string-append "transpose-frame-" version ".el"))
9797 (sha256
9798 (base32
9799 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
9800 (build-system emacs-build-system)
9801 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
9802 (synopsis "Transpose window arrangement in current frame")
9803 (description "@code{emacs-transpose-frame} provides some interactive
9804 functions which allows users to transpose windows arrangement in currently
9805 selected frame.")
9806 (license license:bsd-2)))
9807
9808 (define-public emacs-key-chord
9809 (package
9810 (name "emacs-key-chord")
9811 (version "0.6")
9812 (source
9813 (origin
9814 (method url-fetch)
9815 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
9816 (file-name (string-append "key-chord-" version ".el"))
9817 (sha256
9818 (base32
9819 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
9820 (build-system emacs-build-system)
9821 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
9822 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
9823 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
9824 mode for binding key chords to commands. A key chord is defined as two keys
9825 pressed simultaneously or a single key quickly pressed twice.")
9826 (license license:gpl2+)))
9827
9828 (define-public emacs-evil-surround
9829 (package
9830 (name "emacs-evil-surround")
9831 (version "1.0.4")
9832 (source
9833 (origin
9834 (method git-fetch)
9835 (uri (git-reference
9836 (url "https://github.com/emacs-evil/evil-surround")
9837 (commit version)))
9838 (file-name (git-file-name name version))
9839 (sha256
9840 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
9841 (build-system emacs-build-system)
9842 (propagated-inputs
9843 `(("emacs-evil" ,emacs-evil)))
9844 (arguments
9845 `(#:tests? #t
9846 #:test-command '("make" "test")))
9847 (home-page "https://github.com/emacs-evil/evil-surround")
9848 (synopsis "Easily modify surrounding parentheses and quotes")
9849 (description "@code{emacs-evil-surround} allows easy deletion, change and
9850 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
9851 (license license:gpl3+)))
9852
9853 (define-public emacs-evil-commentary
9854 (package
9855 (name "emacs-evil-commentary")
9856 (version "2.1.1")
9857 (source
9858 (origin
9859 (method git-fetch)
9860 (uri (git-reference
9861 (url "https://github.com/linktohack/evil-commentary.git")
9862 (commit (string-append "v" version))))
9863 (file-name (git-file-name name version))
9864 (sha256
9865 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
9866 (build-system emacs-build-system)
9867 (propagated-inputs
9868 `(("emacs-evil" ,emacs-evil)))
9869 (home-page "https://github.com/linktohack/evil-commentary")
9870 (synopsis "Comment out code in evil mode")
9871 (description "@code{emacs-evil-commentary} adds keybindings to easily
9872 comment out lines of code in evil mode. It provides @code{gcc} to comment out
9873 lines, and @code{gc} to comment out the target of a motion.")
9874 (license license:gpl3+)))
9875
9876 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
9877 ;; therefore cannot be run
9878 (define-public emacs-ansi
9879 (package
9880 (name "emacs-ansi")
9881 (version "0.4.1")
9882 (source
9883 (origin
9884 (method git-fetch)
9885 (uri (git-reference
9886 (url "https://github.com/rejeep/ansi.el.git")
9887 (commit (string-append "v" version))))
9888 (file-name (git-file-name name version))
9889 (sha256
9890 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
9891 (build-system emacs-build-system)
9892 (propagated-inputs
9893 `(("emacs-dash" ,emacs-dash)
9894 ("emacs-s" ,emacs-s)))
9895 (home-page "https://github.com/rejeep/ansi.el")
9896 (synopsis "Convert strings to ANSI")
9897 (description "@code{emacs-ansi} defines functions that turns simple
9898 strings to ANSI strings. Turning a string into an ANSI string can be to add
9899 color to a text, add color in the background of a text or adding a style, such
9900 as bold, underscore or italic.")
9901 (license license:gpl3+)))
9902
9903 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
9904 ;; therefore cannot be run
9905 (define-public emacs-commander
9906 (package
9907 (name "emacs-commander")
9908 (version "0.7.0")
9909 (source
9910 (origin
9911 (method git-fetch)
9912 (uri (git-reference
9913 (url "https://github.com/rejeep/commander.el.git")
9914 (commit (string-append "v" version))))
9915 (file-name (git-file-name name version))
9916 (sha256
9917 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
9918 (build-system emacs-build-system)
9919 (propagated-inputs
9920 `(("emacs-dash" ,emacs-dash)
9921 ("emacs-f" ,emacs-f)
9922 ("emacs-s" ,emacs-s)))
9923 (home-page "https://github.com/rejeep/commander.el")
9924 (synopsis "Emacs command line parser")
9925 (description "@code{emacs-commander} provides command line parsing for
9926 Emacs.")
9927 (license license:gpl3+)))
9928
9929 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
9930 ;; cannot be run
9931 (define-public emacs-ert-runner
9932 (let ((version "0.7.0")
9933 (revision "1")
9934 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
9935 (package
9936 (name "emacs-ert-runner")
9937 (version (git-version "0.7.0" revision commit))
9938 (source
9939 (origin
9940 (method git-fetch)
9941 (uri (git-reference
9942 (url "https://github.com/rejeep/ert-runner.el.git")
9943 (commit commit)))
9944 (file-name (git-file-name name version))
9945 (sha256
9946 (base32
9947 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
9948 (build-system emacs-build-system)
9949 (inputs
9950 `(("emacs-ansi" ,emacs-ansi)
9951 ("emacs-commander" ,emacs-commander)
9952 ("emacs-dash" ,emacs-dash)
9953 ("emacs-f" ,emacs-f)
9954 ("emacs-s" ,emacs-s)
9955 ("emacs-shut-up" ,emacs-shut-up)))
9956 (arguments
9957 `(#:phases
9958 (modify-phases %standard-phases
9959 (add-after 'install 'install-executable
9960 (lambda* (#:key inputs outputs #:allow-other-keys)
9961 (let ((out (assoc-ref outputs "out"))
9962 (source-directory (string-append
9963 (getenv "TMPDIR") "/source")))
9964 (substitute* "bin/ert-runner"
9965 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
9966 (string-append "ERT_RUNNER=\"" out
9967 "/share/emacs/site-lisp")))
9968 (install-file "bin/ert-runner" (string-append out "/bin"))
9969 (wrap-program (string-append out "/bin/ert-runner")
9970 (list "EMACSLOADPATH" ":" 'prefix
9971 ;; Do not capture the transient source directory in
9972 ;; the wrapper.
9973 (delete source-directory
9974 (string-split (getenv "EMACSLOADPATH") #\:))))
9975 #t))))
9976 #:include (cons* "^reporters/.*\\.el$" %default-include)))
9977 (home-page "https://github.com/rejeep/ert-runner.el")
9978 (synopsis "Opinionated Ert testing workflow")
9979 (description "@code{ert-runner} is a tool for Emacs projects tested
9980 using ERT. It assumes a certain test structure setup and can therefore make
9981 running tests easier.")
9982 (license license:gpl3+))))
9983
9984 (define-public ert-runner
9985 (deprecated-package "ert-runner" emacs-ert-runner))
9986
9987 (define-public emacs-xtest
9988 (package
9989 (name "emacs-xtest")
9990 (version "1.1.0")
9991 (source (origin
9992 (method git-fetch)
9993 (uri (git-reference
9994 (url "https://github.com/promethial/xtest.git")
9995 (commit (string-append "v" version))))
9996 (file-name (git-file-name name version))
9997 (sha256
9998 (base32
9999 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
10000 (arguments
10001 `(#:exclude '()))
10002 (build-system emacs-build-system)
10003 (home-page "https://github.com/promethial/xtest/")
10004 (synopsis "Simple testing with Emacs")
10005 (description "This package provides a simple testing library for Emacs.")
10006 (license license:gpl3+)))
10007
10008 (define-public emacs-disable-mouse
10009 (package
10010 (name "emacs-disable-mouse")
10011 (version "0.2")
10012 (source
10013 (origin
10014 (method git-fetch)
10015 (uri (git-reference
10016 (url "https://github.com/purcell/disable-mouse.git")
10017 (commit version)))
10018 (file-name (git-file-name name version))
10019 (sha256
10020 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
10021 (build-system emacs-build-system)
10022 (home-page "https://github.com/purcell/disable-mouse")
10023 (synopsis "Disable mouse commands globally")
10024 (description
10025 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
10026 pair of minor modes which suppress all mouse events by intercepting them and
10027 running a customisable handler command (@code{ignore} by default). ")
10028 (license license:gpl3+)))
10029
10030 (define-public emacs-json-reformat
10031 (package
10032 (name "emacs-json-reformat")
10033 (version "0.0.6")
10034 (source
10035 (origin
10036 (method git-fetch)
10037 (uri (git-reference
10038 (url "https://github.com/gongo/json-reformat.git")
10039 (commit version)))
10040 (file-name (git-file-name name version))
10041 (sha256
10042 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
10043 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
10044 (build-system emacs-build-system)
10045 (propagated-inputs
10046 `(("emacs-undercover" ,emacs-undercover)))
10047 (native-inputs
10048 `(("emacs-dash" ,emacs-dash)
10049 ("emacs-shut-up" ,emacs-shut-up)
10050 ("ert-runner" ,emacs-ert-runner)))
10051 (arguments
10052 `(#:tests? #t
10053 #:test-command '("ert-runner")
10054 #:phases
10055 (modify-phases %standard-phases
10056 (add-before 'check 'make-tests-writable
10057 (lambda _
10058 (for-each make-file-writable (find-files "test"))
10059 #t))
10060 (add-before 'check 'delete-json-objects-order-test
10061 (lambda _
10062 (emacs-batch-edit-file "test/json-reformat-test.el"
10063 `(progn (progn (goto-char (point-min))
10064 (re-search-forward
10065 "ert-deftest json-reformat-test:json-reformat-region")
10066 (beginning-of-line)
10067 (kill-sexp))
10068 (basic-save-buffer)))
10069 #t)))))
10070 (home-page "https://github.com/gongo/json-reformat")
10071 (synopsis "Reformatting tool for JSON")
10072 (description "@code{json-reformat} provides a reformatting tool for
10073 @url{http://json.org/, JSON}.")
10074 (license license:gpl3+)))
10075
10076 (define-public emacs-json-snatcher
10077 (package
10078 (name "emacs-json-snatcher")
10079 (version "1.0.0")
10080 (source
10081 (origin
10082 (method git-fetch)
10083 (uri (git-reference
10084 (url "https://github.com/Sterlingg/json-snatcher.git")
10085 (commit version)))
10086 (file-name (git-file-name name version))
10087 (sha256
10088 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
10089 (build-system emacs-build-system)
10090 (home-page "https://github.com/sterlingg/json-snatcher")
10091 (synopsis "Grabs the path to JSON values in a JSON file")
10092 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
10093 a @url{http://json.org/, JSON} file.")
10094 (license license:gpl3+)))
10095
10096 (define-public emacs-json-mode
10097 (package
10098 (name "emacs-json-mode")
10099 (version "1.7.0")
10100 (source
10101 (origin
10102 (method git-fetch)
10103 (uri (git-reference
10104 (url "https://github.com/joshwnj/json-mode.git")
10105 (commit (string-append "v" version))))
10106 (file-name (git-file-name name version))
10107 (sha256
10108 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
10109 (build-system emacs-build-system)
10110 (propagated-inputs
10111 `(("emacs-json-reformat" ,emacs-json-reformat)
10112 ("emacs-json-snatcher" ,emacs-json-snatcher)))
10113 (home-page "https://github.com/joshwnj/json-mode")
10114 (synopsis "Major mode for editing JSON files")
10115 (description "@code{json-mode} extends the builtin js-mode syntax
10116 highlighting.")
10117 (license license:gpl3+)))
10118
10119 (define-public emacs-restclient
10120 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
10121 (version "0")
10122 (revision "2")) ;Guix package revision,
10123 ;upstream doesn't have official releases
10124 (package
10125 (name "emacs-restclient")
10126 (version (git-version version revision commit))
10127 (source (origin
10128 (method git-fetch)
10129 (uri (git-reference
10130 (url "https://github.com/pashky/restclient.el.git")
10131 (commit commit)))
10132 (sha256
10133 (base32
10134 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
10135 (file-name (git-file-name name version))))
10136 (build-system emacs-build-system)
10137 (propagated-inputs
10138 `(("emacs-helm" ,emacs-helm)))
10139 (home-page "https://github.com/pashky/restclient.el")
10140 (synopsis "Explore and test HTTP REST webservices")
10141 (description
10142 "This tool allows for testing and exploration of HTTP REST Web services
10143 from within Emacs. Restclient runs queries from a plan-text query sheet,
10144 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
10145 (license license:public-domain))))
10146
10147 (define-public emacs-whitespace-cleanup-mode
10148 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
10149 (revision "1"))
10150 (package
10151 (name "emacs-whitespace-cleanup-mode")
10152 (version (git-version "0.10" revision commit))
10153 (source (origin
10154 (method git-fetch)
10155 (uri (git-reference
10156 (url "https://github.com/purcell/whitespace-cleanup-mode")
10157 (commit commit)))
10158 (sha256
10159 (base32
10160 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
10161 (file-name (git-file-name name version))))
10162 (build-system emacs-build-system)
10163 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
10164 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
10165 (description
10166 "This package provides a minor mode that calls
10167 @code{whitespace-cleanup} before saving the current buffer only if the
10168 whitespace in the buffer was initially clean.")
10169 (license license:gpl3+))))
10170
10171 (define-public emacs-eimp
10172 (let ((version "1.4.0")
10173 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
10174 (revision "1"))
10175 (package
10176 (name "emacs-eimp")
10177 (version (git-version version revision commit))
10178 (source
10179 (origin
10180 (method git-fetch)
10181 (uri (git-reference
10182 (url "https://github.com/nicferrier/eimp.git")
10183 (commit commit)))
10184 (file-name (git-file-name name version))
10185 (sha256
10186 (base32
10187 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
10188 (build-system emacs-build-system)
10189 (arguments
10190 `(#:phases
10191 (modify-phases %standard-phases
10192 (add-after 'unpack 'configure
10193 (lambda* (#:key inputs #:allow-other-keys)
10194 (let ((imagemagick (assoc-ref inputs "imagemagick")))
10195 ;; eimp.el is read-only in git.
10196 (chmod "eimp.el" #o644)
10197 (emacs-substitute-variables "eimp.el"
10198 ("eimp-mogrify-program"
10199 (string-append imagemagick "/bin/mogrify"))))
10200 #t)))))
10201 (inputs
10202 `(("imagemagick" ,imagemagick)))
10203 (home-page "https://github.com/nicferrier/eimp")
10204 (synopsis "Interactive image manipulation utility for Emacs")
10205 (description "@code{emacs-eimp} allows interactive image manipulation
10206 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
10207 the actual transformations.")
10208 (license license:gpl2+))))
10209
10210 (define-public emacs-dired-hacks
10211 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
10212 (revision "2"))
10213 (package
10214 (name "emacs-dired-hacks")
10215 (version (git-version "0.0.1" revision commit))
10216 (source (origin
10217 (method git-fetch)
10218 (uri (git-reference
10219 (url "https://github.com/Fuco1/dired-hacks.git")
10220 (commit commit)))
10221 (file-name (git-file-name name version))
10222 (sha256
10223 (base32
10224 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
10225 (build-system emacs-build-system)
10226 (propagated-inputs
10227 `(("emacs-dash" ,emacs-dash)
10228 ("emacs-eimp" ,emacs-eimp)
10229 ("emacs-f" ,emacs-f)
10230 ("emacs-s" ,emacs-s)))
10231 (home-page "https://github.com/Fuco1/dired-hacks")
10232 (synopsis
10233 "Collection of useful dired additions")
10234 (description
10235 "This package provides the following collection of Emacs dired mode
10236 additions:
10237
10238 @itemize
10239 @item dired-avfs
10240 @item dired-columns
10241 @item dired-filter
10242 @item dired-hacks-utils
10243 @item dired-images
10244 @item dired-list
10245 @item dired-narrow
10246 @item dired-open
10247 @item dired-rainbow
10248 @item dired-ranger
10249 @item dired-subtree
10250 @item dired-tagsistant
10251 @end itemize\n")
10252 (license license:gpl3+))))
10253
10254 (define-public emacs-dired-sidebar
10255 (let ((commit "21ccb6723bea69f2e2ca25998268d8a039f904cc")
10256 (revision "1"))
10257 (package
10258 (name "emacs-dired-sidebar")
10259 (home-page "https://github.com/jojojames/dired-sidebar")
10260 (version (git-version "0.1.0" revision commit))
10261 (source (origin
10262 (method git-fetch)
10263 (uri (git-reference (url home-page) (commit commit)))
10264 (file-name (git-file-name name version))
10265 (sha256
10266 (base32
10267 "0mck4qk6srbbf8xnn2sg11j822z4ybxvgavvy402d5sli515i8ca"))))
10268 (build-system emacs-build-system)
10269 (propagated-inputs
10270 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
10271 (synopsis "Sidebar for Emacs using Dired")
10272 (description
10273 "This package provides a sidebar for Emacs similar to @code{NeoTree}
10274 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
10275 (license license:gpl3+))))
10276
10277 (define-public emacs-which-key
10278 (package
10279 (name "emacs-which-key")
10280 (version "3.3.1")
10281 (source
10282 (origin
10283 (method git-fetch)
10284 (uri (git-reference
10285 (url "https://github.com/justbur/emacs-which-key.git")
10286 (commit (string-append "v" version))))
10287 (file-name (git-file-name name version))
10288 (sha256
10289 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
10290 (build-system emacs-build-system)
10291 (arguments
10292 `(#:tests? #t
10293 #:test-command '("emacs" "--batch"
10294 "-l" "which-key-tests.el"
10295 "-f" "ert-run-tests-batch-and-exit")))
10296 (home-page "https://github.com/justbur/emacs-which-key")
10297 (synopsis "Display available key bindings in popup")
10298 (description
10299 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
10300 bindings following your currently entered incomplete command (a prefix) in a
10301 popup. For example, after enabling the minor mode if you enter C-x and wait
10302 for the default of 1 second, the minibuffer will expand with all of the
10303 available key bindings that follow C-x (or as many as space allows given your
10304 settings).")
10305 (license license:gpl3+)))
10306
10307 (define-public emacs-hercules
10308 (package
10309 (name "emacs-hercules")
10310 (version "0.2.1")
10311 (source
10312 (origin
10313 (method git-fetch)
10314 (uri (git-reference
10315 (url "https://gitlab.com/jjzmajic/hercules.el.git")
10316 (commit (string-append "v" version))))
10317 (file-name (git-file-name name version))
10318 (sha256
10319 (base32
10320 "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"))))
10321 (build-system emacs-build-system)
10322 (propagated-inputs
10323 `(("emacs-which-key" ,emacs-which-key)))
10324 (home-page "https://gitlab.com/jjzmajic/hercules.el")
10325 (synopsis "Call a chain of related commands without repeated prefix keys")
10326 (description
10327 "This package provides sticky-key-like functionality to obviate the
10328 need for repeated prefix-key sequences, and can reuse existing keymaps. The
10329 list of commands is displayed in a handy popup.")
10330 (license license:gpl3+)))
10331
10332 (define-public emacs-ws-butler
10333 (package
10334 (name "emacs-ws-butler")
10335 (version "0.6")
10336 (source (origin
10337 (method git-fetch)
10338 (uri (git-reference
10339 (url "https://github.com/lewang/ws-butler.git")
10340 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
10341 (file-name (git-file-name name version))
10342 (sha256
10343 (base32
10344 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
10345 (build-system emacs-build-system)
10346 (native-inputs
10347 `(("ert-runner" ,emacs-ert-runner)))
10348 (arguments
10349 `(#:tests? #t
10350 #:test-command '("ert-runner" "tests")))
10351 (home-page "https://github.com/lewang/ws-butler")
10352 (synopsis "Trim spaces from end of lines")
10353 (description
10354 "This Emacs package automatically and unobtrusively trims whitespace
10355 characters from end of lines.")
10356 (license license:gpl3+)))
10357
10358 (define-public emacs-openwith
10359 (let ((changeset "aeb78782ec87680ea9f082a3f20a3675b3770cf9")
10360 (revision "0"))
10361 (package
10362 (name "emacs-openwith")
10363 (home-page "https://bitbucket.org/jpkotta/openwith")
10364 (version (git-version "0.0.1" revision changeset))
10365 (source (origin
10366 (method hg-fetch)
10367 (uri (hg-reference (url home-page) (changeset changeset)))
10368 (file-name (git-file-name name version))
10369 (sha256
10370 (base32
10371 "1wl6gnxsyhaad4cl9bxjc0qbc5jzvlwbwjbajs0n1s6qr07d6r01"))))
10372 (build-system emacs-build-system)
10373 (synopsis "Open external applications for files with Emacs")
10374 (description
10375 "This package enables you to associate file name patterns with external
10376 applications that are automatically invoked when you use commands like
10377 @code{find-file}. For example, you can have it open @code{png} files with
10378 @code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
10379 when browsing files with Dired.")
10380 (license license:gpl2+))))
10381
10382 (define-public emacs-org-edit-latex
10383 (package
10384 (name "emacs-org-edit-latex")
10385 (version "0.8.0")
10386 (source
10387 (origin
10388 (method git-fetch)
10389 (uri (git-reference
10390 (url "https://github.com/et2010/org-edit-latex.git")
10391 (commit (string-append "v" version))))
10392 (file-name (git-file-name name version))
10393 (sha256
10394 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
10395 (build-system emacs-build-system)
10396 (propagated-inputs
10397 `(("emacs-auctex" ,emacs-auctex)
10398 ;; The version of org in Emacs 25.2 is not sufficient, because the
10399 ;; `org-latex-make-preamble' function is required.
10400 ("emacs-org" ,emacs-org)))
10401 (home-page "https://github.com/et2010/org-edit-latex")
10402 (synopsis "Edit a latex fragment just like editing a src block")
10403 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
10404 It lets you edit a latex fragment in a dedicated buffer just like editing a
10405 src block.")
10406 (license license:gpl3+)))
10407
10408 (define-public emacs-emamux
10409 (package
10410 (name "emacs-emamux")
10411 (version "0.14")
10412 (source
10413 (origin
10414 (method git-fetch)
10415 (uri (git-reference
10416 (url "https://github.com/syohex/emacs-emamux.git")
10417 (commit version)))
10418 (file-name (git-file-name name version))
10419 (sha256
10420 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
10421 (build-system emacs-build-system)
10422 (home-page "https://github.com/syohex/emacs-emamux")
10423 (synopsis "Manipulate Tmux from Emacs")
10424 (description
10425 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
10426 multiplexer.")
10427 (license license:gpl3+)))
10428
10429 (define-public emacs-rpm-spec-mode
10430 (package
10431 (name "emacs-rpm-spec-mode")
10432 (version "0.16")
10433 (source
10434 (origin
10435 (method url-fetch)
10436 ;; URI has the Fedora release number instead of the version
10437 ;; number. This will have to updated manually every new release.
10438 (uri (string-append
10439 "https://src.fedoraproject.org/cgit/rpms"
10440 "/emacs-rpm-spec-mode.git/snapshot"
10441 "/emacs-rpm-spec-mode-f26.tar.gz"))
10442 (sha256
10443 (base32
10444 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
10445 (build-system emacs-build-system)
10446 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
10447 (synopsis "Emacs major mode for editing RPM spec files")
10448 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
10449 editing RPM spec files.")
10450 (license license:gpl2+)))
10451
10452 (define-public emacs-lcr
10453 (package
10454 (name "emacs-lcr")
10455 (version "1.1")
10456 (source
10457 (origin
10458 (method git-fetch)
10459 (uri (git-reference
10460 (url "https://github.com/jyp/lcr")
10461 (commit version)))
10462 (file-name (git-file-name name version))
10463 (sha256
10464 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
10465 (build-system emacs-build-system)
10466 (propagated-inputs
10467 `(("emacs-dash" ,emacs-dash)))
10468 (home-page "https://github.com/jyp/lcr")
10469 (synopsis "Lightweight coroutines in Emacs Lisp")
10470 (description "This package provides macros that can translate code into
10471 equivalent continuation-passing code, as well as miscellaneous utility
10472 functions written in continuation-passing style.")
10473 (license license:gpl3+)))
10474
10475 (define-public emacs-attrap
10476 (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
10477 (revision "2"))
10478 (package
10479 (name "emacs-attrap")
10480 (version (git-version "1.0" revision commit))
10481 (source (origin
10482 (method git-fetch)
10483 (uri (git-reference
10484 (url "https://github.com/jyp/attrap")
10485 (commit commit)))
10486 (sha256
10487 (base32
10488 "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
10489 (file-name (git-file-name name version))))
10490 (build-system emacs-build-system)
10491 (propagated-inputs
10492 `(("emacs-dash" ,emacs-dash)
10493 ("emacs-f" ,emacs-f)
10494 ("emacs-flycheck" ,emacs-flycheck)
10495 ("emacs-s" ,emacs-s)))
10496 (home-page "https://github.com/jyp/attrap")
10497 (synopsis "Fix coding error at point")
10498 (description "This package provides a command to fix the Flycheck error
10499 at point.")
10500 (license license:gpl3+))))
10501
10502 (define-public emacs-git-messenger
10503 (package
10504 (name "emacs-git-messenger")
10505 (version "0.18")
10506 (source
10507 (origin
10508 (method git-fetch)
10509 (uri (git-reference
10510 (url "https://github.com/syohex/emacs-git-messenger.git")
10511 (commit version)))
10512 (file-name (git-file-name name version))
10513 (sha256
10514 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
10515 (build-system emacs-build-system)
10516 (propagated-inputs
10517 `(("emacs-popup" ,emacs-popup)))
10518 (arguments
10519 `(#:tests? #t
10520 #:test-command '("emacs" "--batch" "-l" "test/test.el"
10521 "-f" "ert-run-tests-batch-and-exit")))
10522 (home-page "https://github.com/syohex/emacs-git-messenger")
10523 (synopsis "Popup commit message at current line")
10524 (description "@code{emacs-git-messenger} provides
10525 @code{git-messenger:popup-message}, a function that when called, will popup
10526 the last git commit message for the current line. This uses git-blame
10527 internally.")
10528 (license license:gpl3+)))
10529
10530 (define-public emacs-gitpatch
10531 (package
10532 (name "emacs-gitpatch")
10533 (version "0.5.1")
10534 (source
10535 (origin
10536 (method git-fetch)
10537 (uri (git-reference
10538 (url "https://github.com/tumashu/gitpatch.git")
10539 (commit (string-append "v" version))))
10540 (file-name (git-file-name name version))
10541 (sha256
10542 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
10543 (build-system emacs-build-system)
10544 (home-page "https://github.com/tumashu/gitpatch")
10545 (synopsis "Mail git patch from Emacs")
10546 (description "@code{emacs-gitpatch} lets users easily send git patches,
10547 created by @code{git format-patch}, from @code{magit}, @code{dired} and
10548 @code{ibuffer} buffers.")
10549 (license license:gpl3+)))
10550
10551 (define-public emacs-erc-hl-nicks
10552 (package
10553 (name "emacs-erc-hl-nicks")
10554 (version "1.3.3")
10555 (source
10556 (origin
10557 (method git-fetch)
10558 (uri (git-reference
10559 (url "https://github.com/leathekd/erc-hl-nicks")
10560 (commit version)))
10561 (file-name (git-file-name name version))
10562 (sha256
10563 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
10564 (build-system emacs-build-system)
10565 (synopsis "Nickname highlighting for Emacs ERC")
10566 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
10567 client for Emacs. The main features are:
10568 @itemize
10569 @item Auto-colorizes nicknames without having to specify colors
10570 @item Ignores certain characters that IRC clients add to nicknames to avoid
10571 duplicates (nickname, nickname’, nickname\", etc.)
10572 @item Attempts to produce colors with a sufficient amount of contrast between
10573 the nick color and the background color
10574 @end itemize\n")
10575 (home-page "https://github.com/leathekd/erc-hl-nicks")
10576 (license license:gpl3+)))
10577
10578 (define-public emacs-engine-mode
10579 (package
10580 (name "emacs-engine-mode")
10581 (version "2.1.1")
10582 (source
10583 (origin
10584 (method git-fetch)
10585 (uri (git-reference
10586 (url "https://github.com/hrs/engine-mode.git")
10587 (commit (string-append "v" version))))
10588 (file-name (git-file-name name version))
10589 (sha256
10590 (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"))))
10591 (build-system emacs-build-system)
10592 (synopsis "Minor mode for defining and querying search engines")
10593 (description "@code{engine-mode} is a global minor mode for Emacs. It
10594 enables you to easily define search engines, bind them to keybindings, and
10595 query them from the comfort of your editor.")
10596 (home-page "https://github.com/hrs/engine-mode")
10597 (license license:gpl3+)))
10598
10599 (define-public emacs-prop-menu
10600 (package
10601 (name "emacs-prop-menu")
10602 (version "0.1.2")
10603 (source
10604 (origin
10605 (method git-fetch)
10606 (uri (git-reference
10607 (url "https://github.com/david-christiansen/prop-menu-el.git")
10608 (commit version)))
10609 (file-name (git-file-name name version))
10610 (sha256
10611 (base32
10612 "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
10613 (build-system emacs-build-system)
10614 (home-page
10615 "https://github.com/david-christiansen/prop-menu-el")
10616 (synopsis
10617 "Create and display a context menu based on text and overlay properties")
10618 (description
10619 "This is a library for computing context menus based on text
10620 properties and overlays. The intended use is to have tools that
10621 annotate source code and others that use these annotations, without
10622 requiring a direct coupling between them, but maintaining
10623 discoverability.
10624
10625 Major modes that wish to use this library should first define an
10626 appropriate value for @code{prop-menu-item-functions}. Then, they should
10627 bind @code{prop-menu-by-completing-read} to an appropriate
10628 key. Optionally, a mouse pop-up can be added by binding
10629 @code{prop-menu-show-menu} to a mouse event.")
10630 (license license:gpl3+)))
10631
10632 (define-public emacs-idris-mode
10633 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
10634 (revision "0"))
10635 (package
10636 (name "emacs-idris-mode")
10637 (version (git-version "0.9.19" revision commit))
10638 (source
10639 (origin
10640 (method git-fetch)
10641 (uri (git-reference
10642 (url "https://github.com/idris-hackers/idris-mode.git")
10643 (commit commit)))
10644 (file-name (git-file-name name commit))
10645 (sha256
10646 (base32
10647 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
10648 (build-system emacs-build-system)
10649 (propagated-inputs
10650 `(("emacs-prop-menu" ,emacs-prop-menu)))
10651 (home-page
10652 "https://github.com/idris-hackers/idris-mode")
10653 (synopsis "Major mode for editing Idris code")
10654 (description
10655 "This is an Emacs mode for editing Idris code. It requires the latest
10656 version of Idris, and some features may rely on the latest Git version of
10657 Idris.")
10658 (license license:gpl3+))))
10659
10660 (define-public emacs-browse-at-remote
10661 (package
10662 (name "emacs-browse-at-remote")
10663 (version "0.10.0")
10664 (source
10665 (origin
10666 (method git-fetch)
10667 (uri (git-reference
10668 (url "https://github.com/rmuslimov/browse-at-remote.git")
10669 (commit version)))
10670 (file-name (git-file-name name version))
10671 (sha256
10672 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
10673 (build-system emacs-build-system)
10674 (propagated-inputs
10675 `(("emacs-f" ,emacs-f)
10676 ("emacs-s" ,emacs-s)))
10677 (native-inputs
10678 `(("ert-runner" ,emacs-ert-runner)))
10679 (arguments
10680 `(#:tests? #t
10681 #:test-command '("ert-runner")))
10682 (home-page "https://github.com/rmuslimov/browse-at-remote")
10683 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
10684 (description
10685 "This Emacs package allows you to open a target page on
10686 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
10687 It supports dired buffers and opens them in tree mode at destination.")
10688 (license license:gpl3+)))
10689
10690 (define-public emacs-tiny
10691 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
10692 (revision "1"))
10693 (package
10694 (name "emacs-tiny")
10695 (version (git-version "0.2.1" revision commit))
10696 (source
10697 (origin
10698 (method git-fetch)
10699 (uri (git-reference
10700 (url "https://github.com/abo-abo/tiny.git")
10701 (commit commit)))
10702 (file-name (git-file-name name version))
10703 (sha256
10704 (base32
10705 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
10706 (build-system emacs-build-system)
10707 (arguments
10708 `(#:tests? #t
10709 #:test-command '("make" "test")))
10710 (home-page "https://github.com/abo-abo/tiny")
10711 (synopsis "Quickly generate linear ranges in Emacs")
10712 (description
10713 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
10714 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
10715 proficiency is an advantage, since you can transform your numeric range with
10716 an elisp expression.")
10717 (license license:gpl3+))))
10718
10719 (define-public emacs-emojify
10720 (package
10721 (name "emacs-emojify")
10722 (version "1.2")
10723 (source
10724 (origin
10725 (method git-fetch)
10726 (uri (git-reference
10727 (url "https://github.com/iqbalansari/emacs-emojify")
10728 (commit (string-append "v" version))))
10729 (file-name (git-file-name name version))
10730 (sha256
10731 (base32
10732 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
10733 (build-system emacs-build-system)
10734 (arguments
10735 `(#:include (cons "^data/" %default-include)))
10736 (propagated-inputs
10737 `(("emacs-ht" ,emacs-ht)))
10738 (home-page "https://github.com/iqbalansari/emacs-emojify")
10739 (synopsis "Display emojis in Emacs")
10740 (description "This package displays emojis in Emacs similar to how Github,
10741 Slack, and other websites do. It can display plain ASCII like @code{:)} as
10742 well as Github-style emojis like @code{:smile:}. It provides a minor mode
10743 @code{emojify-mode} to enable the display of emojis in a buffer.")
10744 (license license:gpl3+)))
10745
10746 (define-public emacs-make-it-so
10747 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
10748 (revision "2"))
10749 (package
10750 (name "emacs-make-it-so")
10751 (version (git-version "0.1.0" revision commit))
10752 (source
10753 (origin
10754 (method git-fetch)
10755 (uri (git-reference
10756 (url "https://github.com/abo-abo/make-it-so")
10757 (commit commit)))
10758 (file-name (git-file-name name version))
10759 (sha256
10760 (base32
10761 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
10762 (build-system emacs-build-system)
10763 (arguments
10764 `(#:include (cons "^recipes/" %default-include)))
10765 (propagated-inputs
10766 `(("emacs-ivy" ,emacs-ivy)))
10767 (home-page "https://github.com/abo-abo/make-it-so")
10768 (synopsis "Transform files with Makefile recipes")
10769 (description "This package provides an interface for selecting from
10770 different conversion recipes, often including tools like @code{ffmpeg} or
10771 @code{convert}. The conversion command need only be written once, and
10772 subsequent invocations can be readily customized. Several recipes are
10773 included by default, and more can be readily added.")
10774 (license license:gpl3+))))
10775
10776 (define-public emacs-unidecode
10777 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
10778 (revision "1"))
10779 (package
10780 (name "emacs-unidecode")
10781 (version (git-version "0.2" revision commit))
10782 (source
10783 (origin
10784 (method git-fetch)
10785 (uri (git-reference
10786 (url "https://github.com/sindikat/unidecode")
10787 (commit commit)))
10788 (file-name (git-file-name name version))
10789 (sha256
10790 (base32
10791 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
10792 (build-system emacs-build-system)
10793 (arguments
10794 `(#:include (cons* "^tools/" "^data/" %default-include)
10795 #:tests? #t
10796 #:test-command '("emacs" "--batch"
10797 "-l" "unidecode-test.el"
10798 "-f" "ert-run-tests-batch-and-exit")
10799 #:phases
10800 (modify-phases %standard-phases
10801 (add-before 'check 'make-tests-writable
10802 (lambda _
10803 (make-file-writable "unidecode-test.el")
10804 #t))
10805 (add-before 'check 'add-require
10806 (lambda _
10807 (emacs-batch-edit-file "unidecode-test.el"
10808 `(progn (progn (goto-char (point-min))
10809 (re-search-forward
10810 "ert-deftest")
10811 (forward-line -1)
10812 (insert "(require 'unidecode)"))
10813 (basic-save-buffer)))
10814 #t)))))
10815 (home-page "https://github.com/sindikat/unidecode")
10816 (synopsis "Transliterate Unicode text to ASCII")
10817 (description "This package provides functions for converting Unicode to ASCII.")
10818 (license license:gpl2+))))
10819
10820 (define-public emacs-pubmed
10821 (package
10822 (name "emacs-pubmed")
10823 (version "0.2.1")
10824 (source
10825 (origin
10826 (method git-fetch)
10827 (uri (git-reference
10828 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
10829 (commit (string-append "v" version))))
10830 (file-name (git-file-name name version))
10831 (sha256
10832 (base32
10833 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
10834 (build-system emacs-build-system)
10835 (propagated-inputs
10836 `(("emacs-deferred" ,emacs-deferred)
10837 ("emacs-esxml" ,emacs-esxml)
10838 ("emacs-s" ,emacs-s)
10839 ("emacs-unidecode" ,emacs-unidecode)))
10840 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
10841 (synopsis "Interface to PubMed")
10842 (description "This package provides an Emacs interface to the PubMed
10843 database of references on life sciences.")
10844 (license license:gpl3+)))
10845
10846 (define-public emacs-websocket
10847 (package
10848 (name "emacs-websocket")
10849 (version "1.10")
10850 (source
10851 (origin
10852 (method git-fetch)
10853 (uri (git-reference
10854 (url "https://github.com/ahyatt/emacs-websocket.git")
10855 (commit version)))
10856 (file-name (git-file-name name version))
10857 (sha256
10858 (base32
10859 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
10860 (build-system emacs-build-system)
10861 (arguments
10862 `(#:tests? #t
10863 ;; TODO: also enable websocket-functional-test.el
10864 #:test-command '("emacs" "--batch"
10865 "-l" "websocket-test.el"
10866 "-f" "ert-run-tests-batch-and-exit")))
10867 (home-page "https://elpa.gnu.org/packages/websocket.html")
10868 (synopsis "Emacs WebSocket client and server")
10869 (description "This is an Elisp library for WebSocket clients to talk to
10870 WebSocket servers, and for WebSocket servers to accept connections from
10871 WebSocket clients. This library is designed to be used by other library
10872 writers, to write applications that use WebSockets, and is not useful by
10873 itself.")
10874 (license license:gpl3+)))
10875
10876 (define-public emacs-oauth2
10877 (package
10878 (name "emacs-oauth2")
10879 (version "0.11")
10880 (source
10881 (origin
10882 (method url-fetch)
10883 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
10884 version ".el"))
10885 (sha256
10886 (base32
10887 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
10888 (build-system emacs-build-system)
10889 (home-page "https://elpa.gnu.org/packages/oauth2.html")
10890 (synopsis "OAuth 2.0 authorization protocol implementation")
10891 (description
10892 "This package provides an Elisp implementation of the OAuth 2.0 draft.
10893 The main entry point is @code{oauth2-auth-and-store} which will return a token
10894 structure. This token structure can be then used with
10895 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
10896 retrieve any data that need OAuth authentication to be accessed. If the token
10897 needs to be refreshed, the code handles it automatically and stores the new
10898 value of the access token.")
10899 (license license:gpl3+)))
10900
10901 (define-public emacs-circe
10902 (package
10903 (name "emacs-circe")
10904 (version "2.11")
10905 (source
10906 (origin
10907 (method git-fetch)
10908 (uri (git-reference
10909 (url "https://github.com/jorgenschaefer/circe.git")
10910 (commit (string-append "v" version))))
10911 (file-name (git-file-name name version))
10912 (sha256
10913 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
10914 (build-system emacs-build-system)
10915 (arguments
10916 `(#:tests? #t
10917 #:test-command '("buttercup" "-L" ".")
10918 #:phases
10919 (modify-phases %standard-phases
10920 ;; The HOME environment variable should be set to an existing
10921 ;; directory for the tests to succeed.
10922 (add-before 'check 'set-home
10923 (lambda _
10924 (setenv "HOME" "/tmp")
10925 #t)))))
10926 (native-inputs
10927 `(("emacs-buttercup" ,emacs-buttercup)))
10928 ;; In order to securely connect to an IRC server using TLS, Circe requires
10929 ;; the GnuTLS binary.
10930 (propagated-inputs
10931 `(("gnutls" ,gnutls)))
10932 (home-page "https://github.com/jorgenschaefer/circe")
10933 (synopsis "Client for IRC in Emacs")
10934 (description "Circe is a Client for IRC in Emacs. It integrates well with
10935 the rest of the editor, using standard Emacs key bindings and indicating
10936 activity in channels in the status bar so it stays out of your way unless you
10937 want to use it.")
10938 (license license:gpl3+)))
10939
10940 (define-public emacs-tracking
10941 (package
10942 (inherit emacs-circe)
10943 (name "emacs-tracking")
10944 (arguments
10945 ;; "tracking.el" is a library extracted from Circe package. It requires
10946 ;; "shorten.el".
10947 `(#:include '("^shorten.el$" "^tracking.el$")
10948 ,@(package-arguments emacs-circe)))
10949 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
10950 (synopsis "Buffer tracking library")
10951 (description "@code{tracking.el} provides a way for different modes to
10952 notify the user that a buffer needs attention. The user then can cycle
10953 through them using @key{C-c C-SPC}.")
10954 (license license:gpl3+)))
10955
10956 (define-public emacs-slack
10957 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
10958 (revision "6"))
10959 (package
10960 (name "emacs-slack")
10961 (version (git-version "0.0.2" revision commit))
10962 (source (origin
10963 (method git-fetch)
10964 (uri (git-reference
10965 (url "https://github.com/yuya373/emacs-slack.git")
10966 (commit commit)))
10967 (file-name (git-file-name name commit))
10968 (sha256
10969 (base32
10970 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
10971 (build-system emacs-build-system)
10972 (arguments
10973 `(#:phases
10974 (modify-phases %standard-phases
10975 ;; HOME needs to exist for source compilation.
10976 (add-before 'build 'set-HOME
10977 (lambda _ (setenv "HOME" "/tmp") #t)))))
10978 (propagated-inputs
10979 `(("emacs-alert" ,emacs-alert)
10980 ("emacs-emojify" ,emacs-emojify)
10981 ("emacs-helm" ,emacs-helm)
10982 ("emacs-request" ,emacs-request)
10983 ("emacs-websocket" ,emacs-websocket)
10984 ("emacs-oauth2" ,emacs-oauth2)
10985 ("emacs-circe" ,emacs-circe)))
10986 (home-page "https://github.com/yuya373/emacs-slack")
10987 (synopsis "Slack client for Emacs")
10988 (description "This package provides an Emacs client for the Slack
10989 messaging service.")
10990 (license license:gpl3+))))
10991
10992 (define-public emacs-bash-completion
10993 (package
10994 (name "emacs-bash-completion")
10995 (version "2.1.0")
10996 (source
10997 (origin
10998 (method git-fetch)
10999 (uri (git-reference
11000 (url "https://github.com/szermatt/emacs-bash-completion.git")
11001 (commit version)))
11002 (file-name (git-file-name name version))
11003 (sha256
11004 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
11005 (inputs `(("bash" ,bash)))
11006 (build-system emacs-build-system)
11007 (arguments
11008 `(#:phases
11009 (modify-phases %standard-phases
11010 (add-after 'unpack 'make-git-checkout-writable
11011 (λ _
11012 (for-each make-file-writable (find-files "."))
11013 #t))
11014 (add-before 'install 'configure
11015 (lambda* (#:key inputs #:allow-other-keys)
11016 (let ((bash (assoc-ref inputs "bash")))
11017 (emacs-substitute-variables "bash-completion.el"
11018 ("bash-completion-prog" (string-append bash "/bin/bash"))))
11019 #t)))))
11020 (home-page "https://github.com/szermatt/emacs-bash-completion")
11021 (synopsis "Bash completion for the shell buffer")
11022 (description
11023 "@code{bash-completion} defines dynamic completion hooks for shell-mode
11024 and shell-command prompts that are based on Bash completion.")
11025 (license license:gpl2+)))
11026
11027 (define-public emacs-easy-kill
11028 (package
11029 (name "emacs-easy-kill")
11030 (version "0.9.3")
11031 (source (origin
11032 (method url-fetch)
11033 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
11034 version ".tar"))
11035 (sha256
11036 (base32
11037 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
11038 (build-system emacs-build-system)
11039 (home-page "https://github.com/leoliu/easy-kill")
11040 (synopsis "Kill and mark things easily in Emacs")
11041 (description
11042 "This package provides commands @code{easy-kill} and @code{easy-mark} to
11043 let users kill or mark things easily.")
11044 (license license:gpl3+)))
11045
11046 (define-public emacs-csv-mode
11047 (package
11048 (name "emacs-csv-mode")
11049 (version "1.10")
11050 (source
11051 (origin
11052 (method url-fetch)
11053 (uri (string-append "https://elpa.gnu.org/packages/csv-mode-"
11054 version ".el"))
11055 (sha256
11056 (base32 "0q7j2cmj7vs6hz8cnf7j7lmlcjmig3jn2p6az345z96agl8a5xsq"))))
11057 (build-system emacs-build-system)
11058 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
11059 (synopsis "Major mode for editing comma/char separated values")
11060 (description
11061 "This Emacs package implements CSV mode, a major mode for editing records
11062 in a generalized CSV (character-separated values) format.")
11063 (license license:gpl3+)))
11064
11065 (define-public emacs-transmission
11066 (package
11067 (name "emacs-transmission")
11068 (version "0.12.1")
11069 (source
11070 (origin
11071 (method git-fetch)
11072 (uri (git-reference
11073 (url "https://github.com/holomorph/transmission.git")
11074 (commit version)))
11075 (file-name (git-file-name name version))
11076 (sha256
11077 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
11078 (build-system emacs-build-system)
11079 (home-page "https://github.com/holomorph/transmission")
11080 (synopsis "Emacs interface to a Transmission session")
11081 (description "This package provides an Emacs interface to interact with a
11082 running session of the Transmission Bittorrent client.
11083
11084 Features:
11085
11086 @itemize
11087 @item List, add, start/stop, verify, remove torrents.
11088 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
11089 @item Navigate to the corresponding file list, torrent info, peer info
11090 contexts.
11091 @item Toggle downloading and set priorities for individual files.
11092 @end itemize\n")
11093 (license license:gpl3+)))
11094
11095 (define-public emacs-polymode
11096 (package
11097 (name "emacs-polymode")
11098 (version "0.2")
11099 (source (origin
11100 (method git-fetch)
11101 (uri (git-reference
11102 (url "https://github.com/polymode/polymode.git")
11103 (commit (string-append "v" version))))
11104 (file-name (git-file-name name version))
11105 (sha256
11106 (base32
11107 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
11108 (build-system emacs-build-system)
11109 (home-page "https://github.com/polymode/polymode")
11110 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
11111 (description
11112 "Polymode is an Emacs package that offers generic support for multiple
11113 major modes inside a single Emacs buffer. It is lightweight, object oriented
11114 and highly extensible. Creating a new polymode typically takes only a few
11115 lines of code. Polymode also provides extensible facilities for external
11116 literate programming tools for exporting, weaving and tangling.")
11117 (license license:gpl3+)))
11118
11119 (define-public emacs-polymode-ansible
11120 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
11121 (package
11122 (name "emacs-polymode-ansible")
11123 ;; No upstream version release yet.
11124 (version (git-version "0.1" "1" commit))
11125 (source
11126 (origin
11127 (method git-fetch)
11128 (uri (git-reference
11129 (url "https://gitlab.com/mavit/poly-ansible")
11130 (commit commit)))
11131 (file-name (git-file-name name version))
11132 (sha256
11133 (base32
11134 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
11135 (build-system emacs-build-system)
11136 (propagated-inputs
11137 `(("emacs-ansible-doc" ,emacs-ansible-doc)
11138 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
11139 ("emacs-polymode" ,emacs-polymode)
11140 ("emacs-yaml-mode" ,emacs-yaml-mode)))
11141 (properties '((upstream-name . "poly-ansible")))
11142 (home-page "https://gitlab.com/mavit/poly-ansible/")
11143 (synopsis "Polymode for Ansible - Jinja2 in YAML")
11144 (description
11145 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
11146 (license license:gpl3+))))
11147
11148 (define-public emacs-polymode-org
11149 (package
11150 (name "emacs-polymode-org")
11151 (version "0.2")
11152 (source
11153 (origin
11154 (method git-fetch)
11155 (uri (git-reference
11156 (url "https://github.com/polymode/poly-org.git")
11157 (commit (string-append "v" version))))
11158 (file-name (git-file-name name version))
11159 (sha256
11160 (base32
11161 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
11162 (build-system emacs-build-system)
11163 (propagated-inputs
11164 `(("emacs-polymode" ,emacs-polymode)))
11165 (properties '((upstream-name . "poly-org")))
11166 (home-page "https://github.com/polymode/poly-org")
11167 (synopsis "Polymode definitions for Org mode buffers")
11168 (description
11169 "Provides definitions for @code{emacs-polymode} to support
11170 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
11171 native modes of the blocks' languages while remaining inside the primary Org
11172 buffer.")
11173 (license license:gpl3+)))
11174
11175 (define-public eless
11176 (package
11177 (name "eless")
11178 (version "0.3")
11179 (source
11180 (origin
11181 (method git-fetch)
11182 (uri (git-reference
11183 (url "https://github.com/kaushalmodi/eless.git")
11184 (commit (string-append "v" version))))
11185 (file-name (git-file-name name version))
11186 (sha256
11187 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
11188 (build-system trivial-build-system)
11189 (inputs
11190 `(("bash" ,bash)))
11191 (arguments
11192 `(#:modules ((guix build utils))
11193 #:builder
11194 (begin
11195 (use-modules (guix build utils))
11196 (copy-recursively (assoc-ref %build-inputs "source") "source")
11197 (chdir "source")
11198 (substitute* "eless" (("/usr/bin/env bash")
11199 (string-append (assoc-ref %build-inputs "bash")
11200 "/bin/bash")))
11201 (install-file "eless" (string-append %output "/bin"))
11202 (install-file "doc/eless.info" (string-append %output "/share/info"))
11203 #t)))
11204 (home-page "https://github.com/kaushalmodi/eless")
11205 (synopsis "Use Emacs as a paginator")
11206 (description "@code{eless} provides a combination of Bash script
11207 and a minimal Emacs view-mode.
11208
11209 Feautures:
11210
11211 @itemize
11212 @item Independent of a user’s Emacs config.
11213 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
11214 @item Not require an Emacs server to be already running.
11215 @item Syntax highlighting.
11216 @item Org-mode file rendering.
11217 @item @code{man} page viewer.
11218 @item Info viewer.
11219 @item Dired, wdired, (batch edit symbolic links).
11220 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
11221 @item Filter log files lines matching a regexp.
11222 @item Auto-revert log files similar to @code{tail -f}.
11223 @item Quickly change frame and font sizes.
11224 @end itemize\n")
11225 (license license:expat)))
11226
11227 (define-public emacs-evil-matchit
11228 (package
11229 (name "emacs-evil-matchit")
11230 (version "2.3.4")
11231 (source
11232 (origin
11233 (method git-fetch)
11234 (uri (git-reference
11235 (url "https://github.com/redguardtoo/evil-matchit.git")
11236 (commit version)))
11237 (file-name (git-file-name name version))
11238 (sha256
11239 (base32 "1nflkmx08n3ya5vaipy1xg19hnqcp6f7ddsx9xjh5gl6ix2iz0az"))))
11240 (build-system emacs-build-system)
11241 (propagated-inputs
11242 `(("emacs-evil" ,emacs-evil)))
11243 (home-page "https://github.com/redguardtoo/evil-matchit")
11244 (synopsis "Vim matchit ported into Emacs")
11245 (description
11246 "@code{evil-matchit} is a minor mode for jumping between matching tags in
11247 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
11248 (license license:gpl3+)))
11249
11250 (define-public emacs-evil-smartparens
11251 (package
11252 (name "emacs-evil-smartparens")
11253 (version "0.4.0")
11254 (source
11255 (origin
11256 (method git-fetch)
11257 (uri (git-reference
11258 (url "https://github.com/expez/evil-smartparens.git")
11259 (commit version)))
11260 (file-name (git-file-name name version))
11261 (sha256
11262 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
11263 (build-system emacs-build-system)
11264 (propagated-inputs
11265 `(("emacs-evil" ,emacs-evil)
11266 ("emacs-smartparens" ,emacs-smartparens)))
11267 (home-page "https://github.com/expez/evil-smartparens")
11268 (synopsis "Emacs Evil integration for Smartparens")
11269 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
11270 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
11271 emulates Vim features and provides Vim-like key bindings.")
11272 (license license:gpl3+)))
11273
11274 (define-public emacs-evil-quickscope
11275 (package
11276 (name "emacs-evil-quickscope")
11277 (version "0.1.4")
11278 (source
11279 (origin
11280 (method git-fetch)
11281 (uri (git-reference
11282 (url "https://github.com/blorbx/evil-quickscope.git")
11283 (commit (string-append "v" version))))
11284 (file-name (git-file-name name version))
11285 (sha256
11286 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
11287 (build-system emacs-build-system)
11288 (propagated-inputs
11289 `(("emacs-evil" ,emacs-evil)))
11290 (arguments
11291 `(#:tests? #t
11292 #:test-command '("emacs" "--batch"
11293 "-l" "evil-quickscope-tests.el"
11294 "-f" "ert-run-tests-batch-and-exit")))
11295 (home-page "https://github.com/blorbx/evil-quickscope")
11296 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
11297 (description "@code{emacs-evil-quickscope} highlights targets for Evil
11298 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
11299 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
11300 features and provides Vim-like key bindings.")
11301 (license license:gpl3+)))
11302
11303 (define-public emacs-bongo
11304 (package
11305 (name "emacs-bongo")
11306 (version "1.0")
11307 (source
11308 (origin
11309 (method git-fetch)
11310 (uri (git-reference
11311 (url "https://github.com/dbrock/bongo.git")
11312 (commit version)))
11313 (file-name (git-file-name name version))
11314 (sha256
11315 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
11316 (build-system emacs-build-system)
11317 (home-page "https://github.com/dbrock/bongo")
11318 (synopsis "Media player for Emacs")
11319 (description
11320 "This package provides a flexible media player for Emacs. @code{Bongo}
11321 supports multiple backends such as @code{vlc}, @code{mpg123},
11322 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
11323 @code{afplay}.")
11324 (license license:gpl2+)))
11325
11326 (define-public emacs-groovy-modes
11327 (package
11328 (name "emacs-groovy-modes")
11329 (version "2.0")
11330 (source (origin
11331 (method git-fetch)
11332 (uri (git-reference
11333 (url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
11334 (commit version)))
11335 (file-name (git-file-name name version))
11336 (sha256
11337 (base32
11338 "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2"))))
11339 (build-system emacs-build-system)
11340 (propagated-inputs
11341 `(("emacs-s" ,emacs-s)))
11342 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
11343 (synopsis "Groovy related modes for Emacs")
11344 (description
11345 "This package provides @code{groovy-mode} for syntax highlighting in
11346 Groovy source files, REPL integration with run-groovy and Grails project
11347 navigation with the grails mode.")
11348 (license license:gpl3+)))
11349
11350 (define-public groovy-emacs-modes
11351 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
11352
11353 (define-public emacs-org-tree-slide
11354 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
11355 (revision "2"))
11356 (package
11357 (name "emacs-org-tree-slide")
11358 (version (git-version "2.8.4" revision commit))
11359 (source (origin
11360 (method git-fetch)
11361 (uri (git-reference
11362 (url "https://github.com/takaxp/org-tree-slide.git")
11363 (commit commit)))
11364 (sha256
11365 (base32
11366 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
11367 (file-name (git-file-name name version))))
11368 (build-system emacs-build-system)
11369 (home-page "https://github.com/takaxp/org-tree-slide")
11370 (synopsis "Presentation tool for org-mode")
11371 (description
11372 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
11373 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
11374 @kbd{C-<} to jump to the next and previous slide.")
11375 (license license:gpl3+))))
11376
11377 (define-public emacs-scratch-el
11378 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
11379 (revision "1"))
11380 (package
11381 (name "emacs-scratch-el")
11382 (version (git-version "1.2" revision commit))
11383 (source (origin
11384 (method git-fetch)
11385 (uri (git-reference
11386 (url "https://github.com/ieure/scratch-el.git")
11387 (commit commit)))
11388 (file-name (git-file-name name version))
11389 (sha256
11390 (base32
11391 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
11392 (build-system emacs-build-system)
11393 (native-inputs
11394 `(("texinfo" ,texinfo)))
11395 (arguments
11396 '(#:phases
11397 (modify-phases %standard-phases
11398 (add-after 'install 'install-doc
11399 (lambda* (#:key outputs #:allow-other-keys)
11400 (unless (invoke "makeinfo" "scratch.texi")
11401 (error "makeinfo failed"))
11402 (install-file "scratch.info"
11403 (string-append (assoc-ref outputs "out")
11404 "/share/info"))
11405 #t)))))
11406 (home-page "https://github.com/ieure/scratch-el/")
11407 (synopsis "Create scratch buffers with the same mode as current buffer")
11408 (description "Scratch is an extension to Emacs that enables one to create
11409 scratch buffers that are in the same mode as the current buffer. This is
11410 notably useful when working on code in some language; you may grab code into a
11411 scratch buffer, and, by virtue of this extension, do so using the Emacs
11412 formatting rules for that language.")
11413 (license license:bsd-2))))
11414
11415 (define-public emacs-kv
11416 (package
11417 (name "emacs-kv")
11418 (version "0.0.19")
11419 (source
11420 (origin
11421 (method git-fetch)
11422 (uri (git-reference
11423 (url "https://github.com/nicferrier/emacs-kv.git")
11424 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
11425 (file-name (git-file-name name version))
11426 (sha256
11427 (base32
11428 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
11429 (build-system emacs-build-system)
11430 (arguments
11431 `(#:tests? #t
11432 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
11433 "-f" "ert-run-tests-batch-and-exit")))
11434 (home-page "https://github.com/nicferrier/emacs-kv")
11435 (synopsis "Key/Value data structures library for Emacs Lisp")
11436 (description "@code{emacs-kv} is a collection of tools for dealing with
11437 key/value data structures such as plists, alists and hash-tables in Emacs
11438 Lisp.")
11439 (license license:gpl3+)))
11440
11441 (define-public emacs-esxml
11442 (package
11443 (name "emacs-esxml")
11444 (version "0.3.4")
11445 (source (origin
11446 (method git-fetch)
11447 (uri (git-reference
11448 (url "https://github.com/tali713/esxml.git")
11449 (commit version)))
11450 (file-name (git-file-name name version))
11451 (sha256
11452 (base32
11453 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
11454 (build-system emacs-build-system)
11455 (arguments
11456 `(#:phases
11457 (modify-phases %standard-phases
11458 (add-after 'unpack 'fix-sources
11459 (lambda _
11460 ;; See: https://github.com/tali713/esxml/pull/28.
11461 (substitute* "css-lite.el"
11462 ((";;; main interface")
11463 (string-append ";;; main interface\n"
11464 "(require 'cl-lib)"))
11465 (("mapcan")
11466 "cl-mapcan")
11467 (("',\\(cl-mapcan #'process-css-rule rules\\)")
11468 "(cl-mapcan #'process-css-rule ',rules)"))
11469 (substitute* "esxml-form.el"
11470 ((",esxml-form-field-defn")
11471 "#'esxml-form-field-defn"))
11472 ;; See: https://github.com/tali713/esxml/issues/25
11473 (delete-file "esxpath.el")
11474 #t)))))
11475 (propagated-inputs
11476 `(("emacs-kv" ,emacs-kv)))
11477 (home-page "https://github.com/tali713/esxml/")
11478 (synopsis "SXML for EmacsLisp")
11479 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
11480 Simply, this is the easiest way to write HTML or XML in Lisp. This library
11481 uses the native form of XML representation as used by many libraries already
11482 included within Emacs. See @code{esxml-to-xml} for a concise description of
11483 the format.")
11484 (license license:gpl3+)))
11485
11486 (define-public emacs-nov-el
11487 (package
11488 (name "emacs-nov-el")
11489 (version "0.2.9")
11490 (source (origin
11491 (method git-fetch)
11492 (uri (git-reference
11493 (url "https://github.com/wasamasa/nov.el.git")
11494 (commit version)))
11495 (file-name (git-file-name name version))
11496 (sha256
11497 (base32
11498 "0v01l1p35mcigixs6j4c5bpc7n7bd51kxa0p3l1xl0gr92774yq3"))))
11499 (build-system emacs-build-system)
11500 (arguments
11501 `(#:phases
11502 (modify-phases %standard-phases
11503 (add-after 'unpack 'embed-path-to-unzip
11504 (lambda _
11505 (substitute* "nov.el"
11506 (("\\(executable-find \"unzip\"\\)")
11507 (string-append "\"" (which "unzip") "\"")))
11508 #t)))))
11509 (propagated-inputs
11510 `(("emacs-dash" ,emacs-dash)
11511 ("emacs-esxml" ,emacs-esxml)))
11512 (inputs
11513 `(("unzip" ,unzip)))
11514 (home-page "https://github.com/wasamasa/nov.el/")
11515 (synopsis "Major mode for reading EPUBs in Emacs")
11516 (description "@code{nov.el} provides a major mode for reading EPUB
11517 documents.
11518
11519 Features:
11520
11521 @itemize
11522 @item Basic navigation (jump to TOC, previous/next chapter)
11523 @item Remembering and restoring the last read position
11524 @item Jump to next chapter when scrolling beyond end
11525 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
11526 @item Hyperlinks to internal and external targets
11527 @item Supports textual and image documents
11528 @item View source of document files
11529 @item Metadata display
11530 @item Image rescaling
11531 @end itemize
11532 ")
11533 (license license:gpl3+)))
11534
11535 (define-public epipe
11536 (package
11537 (name "epipe")
11538 (version "0.1.0")
11539 (source
11540 (origin
11541 (method git-fetch)
11542 (uri (git-reference
11543 (url "https://github.com/cute-jumper/epipe.git")
11544 (commit version)))
11545 (file-name (git-file-name name version))
11546 (sha256
11547 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
11548 (build-system trivial-build-system)
11549 (inputs
11550 `(("bash" ,bash)
11551 ("perl" ,perl)))
11552 (arguments
11553 `(#:modules
11554 ((guix build utils))
11555 #:builder
11556 (begin
11557 (use-modules (guix build utils))
11558 ;; Extract source.
11559 (copy-recursively (assoc-ref %build-inputs "source") "source")
11560 (chdir "source")
11561 ;; Patch shebangs.
11562 (substitute* "epipe"
11563 (("/usr/bin/env bash")
11564 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
11565 (patch-shebang "epipe.pl"
11566 (list (string-append (assoc-ref %build-inputs "perl")
11567 "/bin")))
11568 ;; Install.
11569 (for-each (lambda (file)
11570 (install-file file (string-append %output "/bin")))
11571 '("epipe" "epipe.pl"))
11572 #t)))
11573 (home-page "https://github.com/cute-jumper/epipe")
11574 (synopsis "Pipe to the @code{emacsclient}")
11575 (description "@code{epipe} provides an utility to use your editor in
11576 the pipeline, featuring the support for running @code{emacsclient}.")
11577 (license license:gpl3+)))
11578
11579 (define-public emacs-hcl-mode
11580 (package
11581 (name "emacs-hcl-mode")
11582 (version "0.03")
11583 (source
11584 (origin
11585 (method git-fetch)
11586 (uri (git-reference
11587 (url "https://github.com/syohex/emacs-hcl-mode.git")
11588 (commit version)))
11589 (file-name (git-file-name name version))
11590 (sha256
11591 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
11592 (build-system emacs-build-system)
11593 (home-page "https://github.com/syohex/emacs-hcl-mode")
11594 (synopsis "Major mode for the Hashicorp Configuration Language")
11595 (description
11596 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
11597 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
11598 highlighting and indentation support.")
11599 (license license:gpl3+)))
11600
11601 (define-public emacs-terraform-mode
11602 (package
11603 (name "emacs-terraform-mode")
11604 (version "0.06")
11605 (source
11606 (origin
11607 (method git-fetch)
11608 (uri (git-reference
11609 (url "https://github.com/syohex/emacs-terraform-mode.git")
11610 (commit version)))
11611 (file-name (git-file-name name version))
11612 (sha256
11613 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
11614 (build-system emacs-build-system)
11615 (propagated-inputs
11616 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
11617 (home-page "https://github.com/syohex/emacs-terraform-mode")
11618 (synopsis "Major mode for Terraform")
11619 (description
11620 "@code{emacs-terraform-mode} provides a major mode for working with
11621 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
11622 functionality is inherited from @code{hcl-mode}.")
11623 (license license:gpl3+)))
11624
11625 (define-public emacs-exec-path-from-shell
11626 (package
11627 (name "emacs-exec-path-from-shell")
11628 (version "1.12")
11629 (source
11630 (origin
11631 (method git-fetch)
11632 (uri (git-reference
11633 (url "https://github.com/purcell/exec-path-from-shell")
11634 (commit version)))
11635 (file-name (git-file-name name version))
11636 (sha256
11637 (base32
11638 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
11639 (build-system emacs-build-system)
11640 (home-page "https://github.com/purcell/exec-path-from-shell")
11641 (synopsis "Get environment variables such as @var{PATH} from the shell")
11642 (description
11643 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
11644 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
11645 the like work as expected on systems on which Emacs is not guaranteed to
11646 inherit a login shell's environment variables. It also allows other
11647 environment variables to be retrieved from the shell, so that Emacs will see
11648 the same values you get in a terminal.")
11649 (license license:gpl3+)))
11650
11651 (define-public emacs-frog-menu
11652 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
11653 (revision "1"))
11654 (package
11655 (name "emacs-frog-menu")
11656 (version (git-version "0.2.9" revision commit))
11657 (source
11658 (origin
11659 (method git-fetch)
11660 (uri (git-reference
11661 (url "https://github.com/clemera/frog-menu")
11662 (commit commit)))
11663 (file-name (git-file-name name version))
11664 (sha256
11665 (base32
11666 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
11667 (build-system emacs-build-system)
11668 (propagated-inputs
11669 `(("emacs-posframe" ,emacs-posframe)
11670 ("emacs-avy" ,emacs-avy)))
11671 (home-page "https://github.com/clemera/frog-menu")
11672 (synopsis "Quickly pick items from ad hoc menus")
11673 (description
11674 "This package provides a popup offering a preview of a list of
11675 candidates on which user-defined dispatch actions can act.")
11676 (license license:gpl3+))))
11677
11678 (define-public emacs-frog-jump-buffer
11679 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
11680 (revision "1"))
11681 (package
11682 (name "emacs-frog-jump-buffer")
11683 (version (git-version "0.1.4" revision commit))
11684 (source
11685 (origin
11686 (method git-fetch)
11687 (uri (git-reference
11688 (url "https://github.com/waymondo/frog-jump-buffer")
11689 (commit commit)))
11690 (file-name (git-file-name name version))
11691 (sha256
11692 (base32
11693 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
11694 (build-system emacs-build-system)
11695 (propagated-inputs
11696 `(("emacs-dash" ,emacs-dash)
11697 ("emacs-frog-menu" ,emacs-frog-menu)
11698 ("emacs-avy" ,emacs-avy)))
11699 (home-page "https://github.com/waymondo/frog-jump-buffer")
11700 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
11701 (description
11702 "This package provides a preview window of buffers that can be switched
11703 to with quicklink-style selections.")
11704 (license license:gpl3+))))
11705
11706 (define-public emacs-deft
11707 (package
11708 (name "emacs-deft")
11709 (version "0.8")
11710 (source
11711 (origin
11712 (method git-fetch)
11713 (uri (git-reference
11714 (url "https://github.com/jrblevin/deft.git")
11715 (commit (string-append "v" version))))
11716 (file-name (git-file-name name version))
11717 (sha256
11718 (base32
11719 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
11720 (build-system emacs-build-system)
11721 (home-page "https://jblevins.org/projects/deft/")
11722 (synopsis "Quickly browse, filter, and edit plain text notes")
11723 (description
11724 "Deft is an Emacs mode for quickly browsing, filtering, and editing
11725 directories of plain text notes, inspired by Notational Velocity.")
11726 (license license:bsd-3)))
11727
11728 (define-public emacs-anzu
11729 (package
11730 (name "emacs-anzu")
11731 (version "0.62")
11732 (source
11733 (origin
11734 (method git-fetch)
11735 (uri (git-reference
11736 (url "https://github.com/syohex/emacs-anzu.git")
11737 (commit version)))
11738 (file-name (git-file-name name version))
11739 (sha256
11740 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
11741 (build-system emacs-build-system)
11742 (home-page "https://github.com/syohex/emacs-anzu")
11743 (synopsis "Show number of matches in mode-line while searching")
11744 (description
11745 "Anzu provides a minor mode which displays \"current match/total
11746 matches\" in the mode line in various search modes. This is an Emacs port of
11747 Anzu.zim.")
11748 (license license:gpl3+)))
11749
11750 (define-public emacs-ascii-art-to-unicode
11751 (package
11752 (name "emacs-ascii-art-to-unicode")
11753 (version "1.12")
11754 (source
11755 (origin
11756 (method url-fetch)
11757 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
11758 version ".el"))
11759 (sha256
11760 (base32
11761 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
11762 (build-system emacs-build-system)
11763 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
11764 (synopsis "ASCII to Unicode art converter for Emacs")
11765 (description "This Emacs package provides the commands @command{aa2u} and
11766 @command{aa2u-rectangle}. Both of these commands can be used to convert
11767 simple ASCII art line drawings to Unicode; the former works on the active
11768 region of the buffer, while the latter works on rectangular selections.")
11769 (license license:gpl3+)))
11770
11771 (define-public emacs-emmet-mode
11772 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
11773 (revision "1"))
11774 (package
11775 (name "emacs-emmet-mode")
11776 (version (git-version "1.0.8" revision commit))
11777 (source (origin
11778 (method git-fetch)
11779 (uri (git-reference
11780 (url "https://github.com/smihica/emmet-mode.git")
11781 (commit commit)))
11782 (file-name (git-file-name name version))
11783 (sha256
11784 (base32
11785 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
11786 (build-system emacs-build-system)
11787 (home-page "https://github.com/smihica/emmet-mode")
11788 (synopsis "Unofficial Emmet's support for Emacs")
11789 (description
11790 "Unfold CSS-selector-like expressions to markup. It is intended to be
11791 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
11792 (license license:gpl3+))))
11793
11794 (define-public emacs-ergoemacs-mode
11795 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
11796 (revision "1"))
11797 (package
11798 (name "emacs-ergoemacs-mode")
11799 (version (git-version "5.16.10.12" revision commit))
11800 (source
11801 (origin
11802 (method git-fetch)
11803 (uri (git-reference
11804 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
11805 (commit commit)))
11806 (file-name (git-file-name name version))
11807 (sha256
11808 (base32
11809 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
11810 (build-system emacs-build-system)
11811 (propagated-inputs
11812 `(("emacs-undo-tree" ,emacs-undo-tree)))
11813 (home-page "https://ergoemacs.github.io/")
11814 (synopsis "Emacs mode based on common modern interface and ergonomics")
11815 (description
11816 "This package provides an efficient Emacs keybinding set based on
11817 statistics of command frequency, and supports common shortcuts for open,
11818 close, copy, cut, paste, undo, redo.")
11819 (license license:gpl3+))))
11820
11821 (define-public emacs-password-store
11822 (package
11823 (name "emacs-password-store")
11824 (version "1.7.3")
11825 (source (origin
11826 (method url-fetch)
11827 (uri
11828 (string-append "https://git.zx2c4.com/password-store/snapshot/"
11829 "password-store-" version ".tar.xz"))
11830 (sha256
11831 (base32
11832 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
11833 (build-system emacs-build-system)
11834 (arguments
11835 `(#:phases
11836 (modify-phases %standard-phases
11837 (add-after 'unpack 'extract-el-file
11838 (lambda _
11839 (copy-file "contrib/emacs/password-store.el" "password-store.el")
11840 (delete-file-recursively "contrib")
11841 (delete-file-recursively "man")
11842 (delete-file-recursively "src")
11843 (delete-file-recursively "tests"))))))
11844 (propagated-inputs
11845 `(("emacs-f" ,emacs-f)
11846 ("emacs-s" ,emacs-s)
11847 ("emacs-with-editor" ,emacs-with-editor)
11848 ("password-store" ,password-store)))
11849 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
11850 (synopsis "Password store (pass) support for Emacs")
11851 (description
11852 "This package provides functions for working with pass (\"the
11853 standard Unix password manager\").")
11854 (license license:gpl2+)))
11855
11856 (define-public emacs-auth-source-pass
11857 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
11858 (revision "2"))
11859 (package
11860 (name "emacs-auth-source-pass")
11861 (version (git-version "5.0.0" revision commit))
11862 (source
11863 (origin
11864 (method git-fetch)
11865 (uri (git-reference
11866 (url "https://github.com/DamienCassou/auth-password-store.git")
11867 (commit commit)))
11868 (file-name (git-file-name name version))
11869 (sha256
11870 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
11871 (build-system emacs-build-system)
11872 (arguments
11873 `(#:tests? #t
11874 #:test-command '("emacs" "--batch"
11875 "-L" "."
11876 "-l" "test/auth-source-pass-tests.el"
11877 "-f" "ert-run-tests-batch-and-exit")))
11878 (home-page "https://github.com/DamienCassou/auth-password-store")
11879 (synopsis "Integrate @code{auth-source} with @code{password-store}")
11880 (description "This package helps Emacs integrate with the Unix
11881 @code{password-store} application.")
11882 (license license:gpl3+))))
11883
11884 (define-public emacs-pass
11885 (package
11886 (name "emacs-pass")
11887 (version "1.8")
11888 (source
11889 (origin
11890 (method git-fetch)
11891 (uri (git-reference
11892 (url "https://github.com/NicolasPetton/pass.git")
11893 (commit version)))
11894 (file-name (git-file-name name version))
11895 (sha256
11896 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
11897 (build-system emacs-build-system)
11898 (propagated-inputs
11899 `(("emacs-password-store" ,emacs-password-store)
11900 ("emacs-f" ,emacs-f)))
11901 (home-page "https://github.com/NicolasPetton/pass")
11902 (synopsis "Major mode for @file{password-store.el}")
11903 (description "This is a major mode for managing password-store (pass)
11904 keychains. The keychain entries are displayed in a directory-like structure
11905 and can be consulted and modified.")
11906 (license license:gpl3+)))
11907
11908 (define-public emacs-evil-anzu
11909 (package
11910 (name "emacs-evil-anzu")
11911 (version "0.03")
11912 (source
11913 (origin
11914 (method git-fetch)
11915 (uri (git-reference
11916 (url "https://github.com/syohex/emacs-evil-anzu")
11917 (commit version)))
11918 (file-name (git-file-name name version))
11919 (sha256
11920 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
11921 (build-system emacs-build-system)
11922 (propagated-inputs
11923 `(("emacs-evil" ,emacs-evil)
11924 ("emacs-anzu" ,emacs-anzu)))
11925 (home-page "https://github.com/syohex/emacs-evil-anzu")
11926 (synopsis "Anzu for evil-mode")
11927 (description "@code{anzu} provides a minor mode that displays the current
11928 match and total match information in the mode-line in various search modes.")
11929 (license license:gpl3+)))
11930
11931 (define-public emacs-pg
11932 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
11933 (package
11934 (name "emacs-pg")
11935 (version (git-version "0.1" "1" commit))
11936 (source (origin
11937 (method git-fetch)
11938 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
11939 (commit commit)))
11940 (file-name (git-file-name name version))
11941 (sha256
11942 (base32
11943 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
11944 (build-system emacs-build-system)
11945 (home-page "https://github.com/cbbrowne/pg.el")
11946 (synopsis "Emacs Lisp interface for PostgreSQL")
11947 (description
11948 "This package provides an Emacs Lisp interface for PostgreSQL.")
11949 (license license:gpl3+))))
11950
11951 (define-public emacs-cl-generic
11952 (package
11953 (name "emacs-cl-generic")
11954 (version "0.3")
11955 (source
11956 (origin
11957 (method url-fetch)
11958 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
11959 version ".el"))
11960 (sha256
11961 (base32
11962 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
11963 (build-system emacs-build-system)
11964 (home-page "https://elpa.gnu.org/packages/seq.html")
11965 (synopsis
11966 "Forward @code{cl-generic} compatibility for Emacs before version 25")
11967 (description "This package provides a subset of the features of the
11968 @code{cl-generic} package introduced in Emacs-25, for use on previous
11969 @code{emacsen}.")
11970 (license license:gpl3+)))
11971
11972 (define-public emacs-finalize
11973 (package
11974 (name "emacs-finalize")
11975 (version "2.0.0")
11976 (source
11977 (origin
11978 (method git-fetch)
11979 (uri (git-reference
11980 (url "https://github.com/skeeto/elisp-finalize.git")
11981 (commit version)))
11982 (file-name (git-file-name name version))
11983 (sha256
11984 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
11985 (build-system emacs-build-system)
11986 (propagated-inputs
11987 `(("emacs-cl-generic" ,emacs-cl-generic)))
11988 (home-page "https://github.com/skeeto/elisp-finalize")
11989 (synopsis "Finalizers for Emacs Lisp")
11990 (description
11991 "This package will allows to immediately run a callback (a finalizer)
11992 after its registered lisp object has been garbage collected. This allows for
11993 extra resources, such as buffers and processes, to be cleaned up after the
11994 object has been freed.")
11995 (license license:unlicense)))
11996
11997 (define-public emacs-emacsql
11998 (package
11999 (name "emacs-emacsql")
12000 (version "3.0.0")
12001 (source (origin
12002 (method git-fetch)
12003 (uri (git-reference
12004 (url "https://github.com/skeeto/emacsql.git")
12005 (commit (string-append version))))
12006 (file-name (git-file-name name version))
12007 (sha256
12008 (base32
12009 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
12010 (build-system emacs-build-system)
12011 (arguments
12012 `(#:modules ((guix build emacs-build-system)
12013 (guix build utils)
12014 (guix build emacs-utils)
12015 (srfi srfi-26))
12016 #:phases
12017 (modify-phases %standard-phases
12018 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
12019 (add-before 'install 'patch-elisp-shell-shebangs
12020 (lambda _
12021 (substitute* (find-files "." "\\.el")
12022 (("/bin/sh") (which "sh")))
12023 #t))
12024 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
12025 (lambda _
12026 (setenv "SHELL" "sh")))
12027 (add-after 'setenv-shell 'build-emacsql-sqlite
12028 (lambda _
12029 (invoke "make" "binary" "CC=gcc")))
12030 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
12031 ;; This build phase installs emacs-emacsql binary.
12032 (lambda* (#:key outputs #:allow-other-keys)
12033 (install-file "sqlite/emacsql-sqlite"
12034 (string-append (assoc-ref outputs "out")
12035 "/bin"))
12036 #t))
12037 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
12038 ;; This build phase removes interactive prompts
12039 ;; and makes sure Emacs look for binaries in the right places.
12040 (lambda* (#:key outputs #:allow-other-keys)
12041 (let ((file "emacsql-sqlite.el"))
12042 (chmod file #o644)
12043 (emacs-substitute-sexps file
12044 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
12045 ("(executable-find" (which "gcc"))
12046 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
12047 ;; in the right place.
12048 ("(defvar emacsql-sqlite-executable"
12049 (string-append (assoc-ref outputs "out")
12050 "/bin/emacsql-sqlite"))))))
12051 (replace 'install
12052 (lambda* (#:key outputs #:allow-other-keys)
12053 (let* ((out (assoc-ref outputs "out")))
12054 (install-file "sqlite/emacsql-sqlite"
12055 (string-append out "/bin"))
12056 (for-each (cut install-file <>
12057 (string-append out "/share/emacs/site-lisp"))
12058 (find-files "." "\\.elc*$")))
12059 #t)))))
12060 (inputs
12061 `(("emacs-minimal" ,emacs-minimal)
12062 ("mariadb" ,mariadb "lib")
12063 ("mariadb-dev" ,mariadb "dev")
12064 ("postgresql" ,postgresql)))
12065 (propagated-inputs
12066 `(("emacs-finalize" ,emacs-finalize)
12067 ("emacs-pg" ,emacs-pg)))
12068 (home-page "https://github.com/skeeto/emacsql")
12069 (synopsis "Emacs high-level SQL database front-end")
12070 (description "Any readable Lisp value can be stored as a value in EmacSQL,
12071 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
12072 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
12073 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
12074 (license license:gpl3+)))
12075
12076 (define-public emacs-closql
12077 ;; Take a commit newer than 1.0.0 release because of Emacs upgrade to 26.3.
12078 (let ((commit "70b98dbae53611d10a461d9b4a6f71086910dcef"))
12079 (package
12080 (name "emacs-closql")
12081 (version (git-version "1.0.0" "1" commit))
12082 (source
12083 (origin
12084 (method git-fetch)
12085 (uri (git-reference
12086 (url "https://github.com/emacscollective/closql.git")
12087 (commit commit)))
12088 (file-name (git-file-name name version))
12089 (sha256
12090 (base32
12091 "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh"))))
12092 (build-system emacs-build-system)
12093 (propagated-inputs
12094 `(("emacs-emacsql" ,emacs-emacsql)))
12095 (home-page "https://github.com/emacscollective/closql")
12096 (synopsis "Store EIEIO objects using EmacSQL")
12097 (description
12098 "This package allows to store uniform EIEIO objects in an EmacSQL
12099 database. SQLite is used as backend. This library imposes some restrictions
12100 on what kind of objects can be stored; it isn't intended to store arbitrary
12101 objects. All objects have to share a common superclass and subclasses cannot
12102 add any additional instance slots.")
12103 (license license:gpl3))))
12104
12105 (define-public emacs-epkg
12106 ;; The release version is to old for the current database scheme.
12107 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
12108 (package
12109 (name "emacs-epkg")
12110 (version (git-version "3.0.0" "1" commit))
12111 (source
12112 (origin
12113 (method git-fetch)
12114 (uri (git-reference
12115 (url "https://github.com/emacscollective/epkg.git")
12116 (commit commit)))
12117 (file-name (git-file-name name version))
12118 (sha256
12119 (base32
12120 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
12121 (build-system emacs-build-system)
12122 (propagated-inputs
12123 `(("emacs-closql" ,emacs-closql)
12124 ("emacs-dash" ,emacs-dash)))
12125 (home-page "https://emacsmirror.net")
12126 (synopsis "Browse the Emacsmirror package database")
12127 (description "This package provides access to a local copy of the
12128 Emacsmirror package database. It provides low-level functions for querying
12129 the database and a @file{package.el} user interface for browsing the database.
12130 Epkg itself is not a package manager.
12131
12132 Getting a local copy:
12133
12134 @example
12135 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
12136 cd ~/.emacs.d/epkgs
12137 git submodule init
12138 git config --global url.https://github.com/.insteadOf git@@github.com:
12139 git submodule update
12140 @end example
12141
12142 Some submodule may be missing. In this case Git will prompt for a GitHub user
12143 name and password. To skip it press a @key{Return} key.
12144
12145 You could get a Epkg package list by invoking @code{epkg-list-packages} in
12146 Emacs.")
12147 (license license:gpl3+))))
12148
12149 (define-public emacs-elisp-slime-nav
12150 (package
12151 (name "emacs-elisp-slime-nav")
12152 (version "0.9")
12153 (source
12154 (origin
12155 (method git-fetch)
12156 (uri (git-reference
12157 (url "https://github.com/purcell/elisp-slime-nav.git")
12158 (commit version)))
12159 (file-name (git-file-name name version))
12160 (sha256
12161 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
12162 (build-system emacs-build-system)
12163 (home-page "https://github.com/purcell/elisp-slime-nav")
12164 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
12165 (description
12166 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
12167 in @code{emacs-lisp-mode}, together with an elisp equivalent of
12168 @code{slime-describe-symbol}.")
12169 (license license:gpl3+)))
12170
12171 (define-public emacs-dedicated
12172 (package
12173 (name "emacs-dedicated")
12174 (version "1.0.0")
12175 (source
12176 (origin
12177 (method git-fetch)
12178 (uri (git-reference
12179 (url "https://github.com/emacsorphanage/dedicated.git")
12180 (commit version)))
12181 (file-name (git-file-name name version))
12182 (sha256
12183 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
12184 (build-system emacs-build-system)
12185 (home-page "https://github.com/emacsorphanage/dedicated")
12186 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
12187 (description
12188 "This simple Emacs minor mode allows you to toggle a window's
12189 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
12190 files into that window. This can be quite handy since many commands will use
12191 another window to show results (compilation mode, starting info, and so on).
12192 A dedicated window won't be used for such a purpose. For details, please read
12193 the source file.")
12194 (license license:gpl2+)))
12195
12196 (define-public emacs-nnreddit
12197 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
12198 (revision "1"))
12199 (package
12200 (name "emacs-nnreddit")
12201 (version (string-append "0.0.1-" revision "."
12202 (string-take commit 7)))
12203 (source (origin
12204 (method git-fetch)
12205 (uri (git-reference
12206 (url "https://github.com/paul-issartel/nnreddit.git")
12207 (commit commit)))
12208 (file-name (git-file-name name version))
12209 (sha256
12210 (base32
12211 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
12212 (build-system emacs-build-system)
12213 (home-page "https://github.com/paul-issartel/nnreddit")
12214 (synopsis "Reddit backend for the Gnus newsreader")
12215 (description "@url{https://www.reddit.com} backend for the Gnus
12216 newsreader.")
12217 (license license:gpl3+))))
12218
12219 (define-public emacs-makey
12220 (package
12221 (name "emacs-makey")
12222 (version "0.3")
12223 (source
12224 (origin
12225 (method git-fetch)
12226 (uri (git-reference
12227 (url "https://github.com/mickeynp/makey.git")
12228 (commit version)))
12229 (file-name (git-file-name name version))
12230 (sha256
12231 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
12232 (build-system emacs-build-system)
12233 (home-page "https://github.com/mickeynp/makey")
12234 (synopsis "Emacs interactive command-line mode")
12235 (description
12236 "This package provides an Emacs interactive command-line mode.")
12237 (license license:gpl3+)))
12238
12239 (define-public emacs-outorg
12240 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
12241 (package
12242 (name "emacs-outorg")
12243 (version (git-version "2.0" "1" commit))
12244 (source
12245 (origin
12246 (method git-fetch)
12247 (uri (git-reference
12248 (url "https://github.com/alphapapa/outorg")
12249 (commit commit)))
12250 (file-name (git-file-name name version))
12251 (sha256
12252 (base32
12253 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
12254 (build-system emacs-build-system)
12255 (home-page "https://github.com/alphapapa/outorg")
12256 (synopsis "Org-style comment editing")
12257 (description "Outorg is for editing comment-sections of source-code
12258 files in temporary Org-mode buffers. It turns conventional
12259 literate-programming upside-down in that the default mode is the
12260 programming-mode, and special action has to be taken to switch to the
12261 text-mode (i.e. Org-mode).")
12262 (license license:gpl3+))))
12263
12264 (define-public emacs-outshine
12265 (package
12266 (name "emacs-outshine")
12267 (version "3.0.1")
12268 (source (origin
12269 (method git-fetch)
12270 (uri (git-reference
12271 (url "https://github.com/alphapapa/outshine.git")
12272 (commit (string-append "v" version))))
12273 (file-name (git-file-name name version))
12274 (sha256
12275 (base32
12276 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
12277 (build-system emacs-build-system)
12278 (propagated-inputs
12279 `(("emacs-outorg" ,emacs-outorg)))
12280 (home-page "https://github.com/alphapapa/outshine")
12281 (synopsis "Emacs outline with outshine")
12282 (description "Outshine attempts to bring the look and feel of
12283 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
12284 of @code{outline-minor-mode} (@code{org-mode} itself derives from
12285 outline-mode), so there is no such thing like an outshine mode, only
12286 @code{outline-minor-mode} with outshine extensions loaded.")
12287 (license license:gpl3+)))
12288
12289 (define-public emacs-frecency
12290 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
12291 (version "0.1-pre")
12292 (revision "1"))
12293 (package
12294 (name "emacs-frecency")
12295 (version (git-version version revision commit))
12296 (source (origin
12297 (method git-fetch)
12298 (uri (git-reference
12299 (url "https://github.com/alphapapa/frecency.el")
12300 (commit commit)))
12301 (sha256
12302 (base32
12303 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
12304 (file-name (git-file-name name version))))
12305 (build-system emacs-build-system)
12306 (propagated-inputs
12307 `(("emacs-a" ,emacs-a)
12308 ("emacs-dash" ,emacs-dash)))
12309 (home-page "https://github.com/alphapapa/frecency.el")
12310 (synopsis "Sort items by frequency and recency of access")
12311 (description "This package provides a way of sorting items via
12312 a heuristic based on frequency and recency.")
12313 (license license:gpl3+))))
12314
12315 (define-public emacs-org-recent-headings
12316 (package
12317 (name "emacs-org-recent-headings")
12318 (version "0.1")
12319 (source (origin
12320 (method git-fetch)
12321 (uri (git-reference
12322 (url "https://github.com/alphapapa/org-recent-headings.git")
12323 (commit version)))
12324 (file-name (git-file-name name version))
12325 (sha256
12326 (base32
12327 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
12328 (build-system emacs-build-system)
12329 (propagated-inputs
12330 `(("emacs-org" ,emacs-org)
12331 ("emacs-dash" ,emacs-dash)
12332 ("emacs-frecency" ,emacs-frecency)))
12333 (home-page "https://github.com/alphapapa/org-recent-headings")
12334 (synopsis "Navigate to recently used Org headings and lists")
12335 (description "This package maintains a list of recently used Org headings,
12336 as well as functions for navigating between these headings.")
12337 (license license:gpl3+)))
12338
12339 (define-public emacs-org-super-agenda
12340 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
12341 (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba")
12342 (revision "3"))
12343 (package
12344 (name "emacs-org-super-agenda")
12345 (version (git-version "1.1.1" revision commit))
12346 (source (origin
12347 (method git-fetch)
12348 (uri (git-reference
12349 (url "https://github.com/alphapapa/org-super-agenda")
12350 (commit commit)))
12351 (file-name (git-file-name name version))
12352 (sha256
12353 (base32
12354 "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff"))))
12355 (build-system emacs-build-system)
12356 (propagated-inputs
12357 `(("emacs-org" ,emacs-org)
12358 ("emacs-dash" ,emacs-dash)
12359 ("emacs-ts" ,emacs-ts)
12360 ("emacs-ht" ,emacs-ht)
12361 ("emacs-s" ,emacs-s)))
12362 (home-page "https://github.com/alphapapa/org-super-agenda")
12363 (synopsis "Supercharged Org agenda")
12364 (description "This package allows items in the Org agenda to be grouped
12365 into sections while preserving the structure imposed by any timestamps.")
12366 (license license:gpl3+))))
12367
12368 (define-public emacs-org-make-toc
12369 (package
12370 (name "emacs-org-make-toc")
12371 (version "0.4")
12372 (source (origin
12373 (method git-fetch)
12374 (uri (git-reference
12375 (url "https://github.com/alphapapa/org-make-toc")
12376 (commit version)))
12377 (file-name (git-file-name name version))
12378 (sha256
12379 (base32
12380 "0348iq3bc3rxs5bqdvskyly4agqxiapamqkfm0323620kxl70agw"))))
12381 (build-system emacs-build-system)
12382 (propagated-inputs
12383 `(("emacs-org" ,emacs-org)
12384 ("emacs-dash" ,emacs-dash)
12385 ("emacs-s" ,emacs-s)))
12386 (home-page "https://github.com/alphapapa/org-make-toc")
12387 (synopsis "Maintain a table of contents for an Org file")
12388 (description "This package facilitates the creation and maintenance of
12389 tables of contents.")
12390 (license license:gpl3+)))
12391
12392 (define-public emacs-ts
12393 (let ((commit "395649a2f2ba79028331bb1fa9ec08b218950ff6")
12394 (revision "2"))
12395 (package
12396 (name "emacs-ts")
12397 (version (git-version "0.1" revision commit))
12398 (source (origin
12399 (method git-fetch)
12400 (uri (git-reference
12401 (url "https://github.com/alphapapa/ts.el")
12402 (commit commit)))
12403 (sha256
12404 (base32
12405 "02603wv66fplsigxd87jy23hrb5g9vigszcpdqrdv0ypaqaxlr3a"))
12406 (file-name (git-file-name name version))))
12407 (build-system emacs-build-system)
12408 (propagated-inputs
12409 `(("emacs-s" ,emacs-s)
12410 ("emacs-dash" ,emacs-dash)))
12411 (arguments
12412 ;; XXX: Three tests are failing because of a timezone-related issue
12413 ;; with how they're written. On my machine, all the failing test
12414 ;; results are 18000 seconds (5 hours) off.
12415
12416 ;; The ts-parse-org function accepts a string without any timezone
12417 ;; info, not assumed to be in Unix time, and converts it to a so-called
12418 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
12419 ;; then seems to assume the struct's corresponding time is in terms of
12420 ;; the user's current time zone, before returning a Unix time in
12421 ;; seconds.
12422
12423 ;; The failing tests all have similar problems, but nothing else about
12424 ;; the library seems particularly off.
12425
12426 `(#:tests? #t
12427 #:test-command '("emacs" "--batch"
12428 "-l" "test/test.el"
12429 "-f" "ert-run-tests-batch-and-exit")
12430 #:phases
12431 (modify-phases %standard-phases
12432 (add-before 'check 'make-tests-writable
12433 (lambda _
12434 (make-file-writable "test/test.el")
12435 #t))
12436 (add-before 'check 'delete-failing-tests
12437 (lambda _
12438 (emacs-batch-edit-file "test/test.el"
12439 `(progn (progn
12440 (goto-char (point-min))
12441 (dolist (test-regexp '("ert-deftest ts-format"
12442 "ert-deftest ts-parse-org\\_>"
12443 "ert-deftest ts-parse-org-element"))
12444 (re-search-forward test-regexp)
12445 (beginning-of-line)
12446 (kill-sexp)))
12447 (basic-save-buffer)))
12448 #t)))))
12449 (home-page "https://github.com/alphapapa/ts.el")
12450 (synopsis "Timestamp and date/time library")
12451 (description "This package facilitates manipulating dates, times, and
12452 timestamps by providing a @code{ts} struct.")
12453 (license license:gpl3+))))
12454
12455 (define-public emacs-peg
12456 (package
12457 (name "emacs-peg")
12458 (version "0.6")
12459 (source (origin
12460 (method git-fetch)
12461 (uri (git-reference
12462 (url "https://github.com/emacsmirror/peg")
12463 (commit version)))
12464 (sha256
12465 (base32
12466 "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n"))
12467 (file-name (git-file-name name version))))
12468 (build-system emacs-build-system)
12469 (home-page "https://github.com/emacsmirror/peg/")
12470 (synopsis "Parsing Expression Grammars in Elisp")
12471 (description "This package provides a macro that parses the current buffer
12472 according to a parsing expression grammar.")
12473 (license license:gpl3+)))
12474
12475 (define-public emacs-org-ql
12476 (package
12477 (name "emacs-org-ql")
12478 (version "0.3.2")
12479 (source (origin
12480 (method git-fetch)
12481 (uri (git-reference
12482 (url "https://github.com/alphapapa/org-ql")
12483 (commit version)))
12484 (sha256
12485 (base32
12486 "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"))
12487 (file-name (git-file-name name version))))
12488 (build-system emacs-build-system)
12489 (propagated-inputs
12490 `(("emacs-s" ,emacs-s)
12491 ("emacs-f" ,emacs-f)
12492 ("emacs-ov" ,emacs-ov)
12493 ("emacs-peg" ,emacs-peg)
12494 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
12495 ("emacs-ts" ,emacs-ts)
12496 ("emacs-org" ,emacs-org)
12497 ("emacs-helm" ,emacs-helm)
12498 ("emacs-helm-org" ,emacs-helm-org)
12499 ("emacs-dash" ,emacs-dash)))
12500 (native-inputs
12501 `(("emacs-buttercup" ,emacs-buttercup)))
12502 (arguments
12503 `(#:phases
12504 (modify-phases %standard-phases
12505 (add-after 'unpack 'require-helm
12506 (lambda _
12507 (substitute* "helm-org-ql.el"
12508 (("^;;;; Requirements")
12509 ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
12510 #t)))
12511 #:tests? #t
12512 #:test-command '("buttercup" "-L" ".")))
12513 (home-page "https://github.com/alphapapa/org-ql/")
12514 (synopsis "Query language for Org buffers")
12515 (description "This package provides a Lispy query language for Org
12516 files, allowing for actions to be performed based on search criteria.")
12517 (license license:gpl3+)))
12518
12519 (define-public emacs-org-auto-expand
12520 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
12521 (revision "1"))
12522 (package
12523 (name "emacs-org-auto-expand")
12524 (version (git-version "0.1" revision commit))
12525 (source (origin
12526 (method git-fetch)
12527 (uri (git-reference
12528 (url "https://github.com/alphapapa/org-auto-expand")
12529 (commit commit)))
12530 (file-name (git-file-name name version))
12531 (sha256
12532 (base32
12533 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
12534 (build-system emacs-build-system)
12535 (propagated-inputs
12536 `(("emacs-org" ,emacs-org)
12537 ("emacs-dash" ,emacs-dash)))
12538 (home-page "https://github.com/alphapapa/org-auto-expand")
12539 (synopsis "Automatically expand certain Org headings")
12540 (description "This package allows a customizable set of headings in Org
12541 files to be expanded upon opening them.")
12542 (license license:gpl3+))))
12543
12544 (define-public emacs-parsebib
12545 (package
12546 (name "emacs-parsebib")
12547 (version "2.3.1")
12548 (source
12549 (origin
12550 (method git-fetch)
12551 (uri (git-reference
12552 (url "https://github.com/joostkremers/parsebib.git")
12553 (commit version)))
12554 (file-name (git-file-name name version))
12555 (sha256
12556 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
12557 (build-system emacs-build-system)
12558 (home-page "https://github.com/joostkremers/parsebib")
12559 (synopsis "Library for parsing bib files")
12560 (description
12561 "This package provides an Emacs library for parsing bib files.")
12562 (license license:gpl3+)))
12563
12564 (define-public emacs-ebib
12565 (let ((commit "99bd909f47f71e024ce324981109b73a50e82fba"))
12566 (package
12567 (name "emacs-ebib")
12568 (version "2.21")
12569 (source
12570 (origin
12571 (method git-fetch)
12572 (uri (git-reference
12573 (url "https://github.com/joostkremers/ebib.git")
12574 (commit commit)))
12575 (file-name (git-file-name name version))
12576 (sha256
12577 (base32
12578 "131vgl4d1j9s4055x88409w19q52x2m0x08b961hylp7yb5ljzgh"))))
12579 (build-system emacs-build-system)
12580 (propagated-inputs
12581 `(("emacs-parsebib" ,emacs-parsebib)))
12582 (home-page "http://joostkremers.github.io/ebib/")
12583 (synopsis "BibTeX database manager for Emacs")
12584 (description
12585 "Ebib is a BibTeX database manager that runs in GNU Emacs.
12586 With Ebib you can create, sort and manage your .bib database files,
12587 all within Emacs. It supports searching, multi-line field values and
12588 @@String and @@Preamble definitions. Ebib integrates with (La)TeX
12589 mode, Org mode and other Emacs editing modes.")
12590 ;; The Ebib source files are released under a BSD license with
12591 ;; the exception of org-ebib.el, which is released under the GNU
12592 ;; GPL.
12593 (license (list license:bsd-3
12594 license:gpl3+)))))
12595
12596 (define-public emacs-biblio
12597 (package
12598 (name "emacs-biblio")
12599 (version "0.2")
12600 (source
12601 (origin
12602 (method git-fetch)
12603 (uri (git-reference
12604 (url "https://github.com/cpitclaudel/biblio.el.git")
12605 (commit version)))
12606 (file-name (git-file-name name version))
12607 (sha256
12608 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
12609 (build-system emacs-build-system)
12610 (propagated-inputs
12611 `(("emacs-seq" ,emacs-seq)
12612 ("emacs-dash" ,emacs-dash)
12613 ("emacs-let-alist" ,emacs-let-alist)))
12614 (home-page "https://github.com/cpitclaudel/biblio.el")
12615 (synopsis "Browse and import bibliographic references")
12616 (description "This package provides an extensible Emacs package for
12617 browsing and fetching references.
12618
12619 @file{biblio.el} makes it easy to browse and gather bibliographic references
12620 and publications from various sources, by keywords or by DOI. References are
12621 automatically fetched from well-curated sources, and formatted as BibTeX.")
12622 (license license:gpl3+)))
12623
12624 (define-public emacs-helm-bibtex
12625 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
12626 (revision "1"))
12627 (package
12628 (name "emacs-helm-bibtex")
12629 (version (string-append "2.0.0" "-" revision "."
12630 (string-take commit 7)))
12631 (source
12632 (origin
12633 (method git-fetch)
12634 (uri (git-reference
12635 (url "https://github.com/tmalsburg/helm-bibtex.git")
12636 (commit commit)))
12637 (file-name (git-file-name name version))
12638 (sha256
12639 (base32
12640 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
12641 (build-system emacs-build-system)
12642 (propagated-inputs
12643 `(("emacs-helm" ,emacs-helm)
12644 ("emacs-parsebib" ,emacs-parsebib)
12645 ("emacs-s" ,emacs-s)
12646 ("emacs-dash" ,emacs-dash)
12647 ("emacs-f" ,emacs-f)
12648 ("emacs-biblio" ,emacs-biblio)
12649 ("emacs-ivy" ,emacs-ivy)))
12650 (home-page "https://github.com/tmalsburg/helm-bibtex")
12651 (synopsis "Bibliography manager based on Helm")
12652 (description "This package provides bibliography manager for Emacs,
12653 based on Helm and the bibtex-completion backend.
12654
12655 Key features:
12656
12657 @itemize
12658 @item Quick access to your bibliography from within Emacs
12659 @item Powerful search capabilities
12660 @item Provides instant search results as you type
12661 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
12662 @item Open the PDFs, URLs, or DOIs associated with an entry
12663 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
12664 BibTeX entries, or plain text references at point, attach PDFs to emails
12665 @item Support for note taking
12666 @item Quick access to online bibliographic databases such as Pubmed,
12667 arXiv, Google Scholar, Library of Congress, etc.
12668 @item Imports BibTeX entries from CrossRef and other sources.
12669 @end itemize\n")
12670 (license license:gpl3+))))
12671
12672 (define-public emacs-ewmctrl
12673 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
12674 (package
12675 (name "emacs-ewmctrl")
12676 (version (git-version "0.0.1" "1" commit))
12677 (source
12678 (origin
12679 (method git-fetch)
12680 (uri (git-reference
12681 (url "https://github.com/flexibeast/ewmctrl.git")
12682 (commit commit)))
12683 (file-name (git-file-name name version))
12684 (sha256
12685 (base32
12686 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
12687 (build-system emacs-build-system)
12688 (arguments
12689 '(#:phases
12690 (modify-phases %standard-phases
12691 (add-after 'unpack 'patch-ewmctrl
12692 ;; This build phase makes sure ‘ewmctrl’ looks
12693 ;; for ‘wmctrl’ in the right place.
12694 (lambda _
12695 (let ((file "ewmctrl.el"))
12696 (chmod file #o644)
12697 (emacs-substitute-sexps file
12698 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
12699 (inputs
12700 `(("wmctrl" ,wmctrl)))
12701 (home-page "https://github.com/flexibeast/ewmctrl")
12702 (synopsis "Emacs interface to @code{wmctrl}")
12703 (description "@code{ewmctrl} provides an Emacs interface to
12704 @code{wmctrl} command-line window-management program.")
12705 (license license:gpl3+))))
12706
12707 (define-public emacs-erc-image
12708 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
12709 (revision "1"))
12710 (package
12711 (name "emacs-erc-image")
12712 (version (git-version "0" revision commit))
12713 (source
12714 (origin
12715 (method git-fetch)
12716 (uri (git-reference
12717 (url "https://github.com/kidd/erc-image.el")
12718 (commit commit)))
12719 (file-name (git-file-name name version))
12720 (sha256
12721 (base32
12722 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
12723 (build-system emacs-build-system)
12724 (home-page "https://github.com/kidd/erc-image.el")
12725 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
12726 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
12727 and @code{erc-send-modify-hook} to download and show images.")
12728 (license license:gpl3+))))
12729
12730 (define-public emacs-helm-gtags
12731 (package
12732 (name "emacs-helm-gtags")
12733 (version "1.5.6")
12734 (source
12735 (origin
12736 (method git-fetch)
12737 (uri (git-reference
12738 (url "https://github.com/syohex/emacs-helm-gtags.git")
12739 (commit version)))
12740 (file-name (git-file-name name version))
12741 (sha256
12742 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
12743 (build-system emacs-build-system)
12744 (propagated-inputs
12745 `(("emacs-helm" ,emacs-helm)))
12746 (home-page "https://github.com/syohex/emacs-helm-gtags")
12747 (synopsis "Emacs Helm interface to GNU Global")
12748 (description
12749 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
12750 (license license:gpl3+)))
12751
12752 (define-public emacs-list-utils
12753 (package
12754 (name "emacs-list-utils")
12755 (version "0.4.4")
12756 (source
12757 (origin
12758 (method git-fetch)
12759 (uri (git-reference
12760 (url "https://github.com/rolandwalker/list-utils.git")
12761 (commit (string-append "v" version))))
12762 (file-name (git-file-name name version))
12763 (sha256
12764 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
12765 (build-system emacs-build-system)
12766 (home-page "https://github.com/rolandwalker/list-utils")
12767 (synopsis "List-manipulation utility functions")
12768 (description "This package provides a list manipulation library for Emacs.")
12769 (license license:gpl3+)))
12770
12771 (define-public emacs-move-text
12772 (package
12773 (name "emacs-move-text")
12774 (version "2.0.8")
12775 (source
12776 (origin
12777 (method git-fetch)
12778 (uri (git-reference
12779 (url "https://github.com/emacsfodder/move-text.git")
12780 (commit version)))
12781 (file-name (git-file-name name version))
12782 (sha256
12783 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
12784 (build-system emacs-build-system)
12785 (home-page "https://github.com/emacsfodder/move-text")
12786 (synopsis "Move current line or region with M-up or M-down")
12787 (description "This package provide functions to move the current line
12788 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
12789 region instead.")
12790 (license license:gpl3+)))
12791
12792 (define-public emacs-validate
12793 (package
12794 (name "emacs-validate")
12795 (version "1.0.5")
12796 (source (origin
12797 (method git-fetch)
12798 (uri (git-reference
12799 (url "https://github.com/Malabarba/validate.el")
12800 (commit version)))
12801 (file-name (git-file-name name version))
12802 (sha256
12803 (base32
12804 "1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
12805 (build-system emacs-build-system)
12806 (home-page "https://github.com/Malabarba/validate.el")
12807 (synopsis "Emacs library for scheme validation")
12808 (description "This Emacs library provides two functions that perform
12809 schema validation.")
12810 (license license:gpl3+)))
12811
12812 (define-public emacs-rainbow-blocks
12813 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
12814 (package
12815 (name "emacs-rainbow-blocks")
12816 (version (git-version "1.0.0" "1" commit))
12817 (source (origin
12818 (method git-fetch)
12819 (uri (git-reference
12820 (url "https://github.com/istib/rainbow-blocks.git")
12821 (commit commit)))
12822 (file-name (git-file-name name version))
12823 (sha256
12824 (base32
12825 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
12826 (build-system emacs-build-system)
12827 (home-page "https://github.com/istib/rainbow-blocks")
12828 (synopsis "Highlight sexp blocks")
12829 (description "Rainbow-blocks is an Emacs mode that highlights blocks
12830 made of parentheses, brackets, and braces according to their depth. Each
12831 successive level is highlighted in a different color. This makes it easy to
12832 orient yourself in the code, and tell which statements are at a given level.")
12833 (license license:gpl3+))))
12834
12835 (define-public emacs-hierarchy
12836 (package
12837 (name "emacs-hierarchy")
12838 (version "0.7.0")
12839 (source
12840 (origin
12841 (method git-fetch)
12842 (uri (git-reference
12843 (url "https://github.com/DamienCassou/hierarchy.git")
12844 (commit (string-append "v" version))))
12845 (file-name (git-file-name name version))
12846 (sha256
12847 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
12848 (build-system emacs-build-system)
12849 (native-inputs
12850 `(("emacs-buttercup" ,emacs-buttercup)))
12851 (arguments
12852 `(#:tests? #t
12853 #:test-command '("buttercup" "-L" ".")))
12854 (home-page "https://github.com/DamienCassou/hierarchy")
12855 (synopsis "Library to create and display hierarchy structures")
12856 (description "This package provides an Emacs library to create, query,
12857 navigate and display hierarchy structures.")
12858 (license license:gpl3+)))
12859
12860 (define-public emacs-tree-mode
12861 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
12862 (revision "1"))
12863 (package
12864 (name "emacs-tree-mode")
12865 (version (string-append "0.0.1" "-" revision "."
12866 (string-take commit 7)))
12867 (source
12868 (origin
12869 (method git-fetch)
12870 (uri (git-reference
12871 (url "https://github.com/emacsorphanage/tree-mode.git")
12872 (commit commit)))
12873 (file-name (git-file-name name version))
12874 (sha256
12875 (base32
12876 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
12877 (build-system emacs-build-system)
12878 (home-page "https://github.com/emacsorphanage/tree-mode")
12879 (synopsis "Emacs mode to manage tree widgets")
12880 (description
12881 "This package provides an Emacs library to manage tree widgets.")
12882 (license license:gpl3+))))
12883
12884 (define-public emacs-md4rd
12885 (package
12886 (name "emacs-md4rd")
12887 (version "0.3.1")
12888 (source (origin
12889 (method git-fetch)
12890 (uri (git-reference
12891 (url "https://github.com/ahungry/md4rd.git")
12892 (commit version)))
12893 (file-name (git-file-name name version))
12894 (sha256
12895 (base32
12896 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
12897 (propagated-inputs
12898 `(("emacs-hierarchy" ,emacs-hierarchy)
12899 ("emacs-request" ,emacs-request)
12900 ("emacs-dash" ,emacs-dash)
12901 ("emacs-s" ,emacs-s)
12902 ("emacs-tree-mode" ,emacs-tree-mode)))
12903 (build-system emacs-build-system)
12904 (home-page "https://github.com/ahungry/md4rd")
12905 (synopsis "Emacs Mode for Reddit")
12906 (description
12907 "This package allows to read Reddit from within Emacs interactively.")
12908 (license license:gpl3+)))
12909
12910 (define-public emacs-pulseaudio-control
12911 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
12912 (revision "3"))
12913 (package
12914 (name "emacs-pulseaudio-control")
12915 (version (git-version "0.0.1" revision commit))
12916 (source
12917 (origin
12918 (method git-fetch)
12919 (uri (git-reference
12920 (url "https://github.com/flexibeast/pulseaudio-control.git")
12921 (commit commit)))
12922 (file-name (git-file-name name version))
12923 (sha256
12924 (base32
12925 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
12926 (build-system emacs-build-system)
12927 (arguments
12928 '(#:phases (modify-phases %standard-phases
12929 (add-after 'unpack 'patch-file-name
12930 (lambda* (#:key inputs #:allow-other-keys)
12931 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
12932 (chmod "pulseaudio-control.el" #o600)
12933 (emacs-substitute-variables "pulseaudio-control.el"
12934 ("pulseaudio-control-pactl-path"
12935 (string-append pulseaudio "/bin/pactl")))
12936 #t))))))
12937 (inputs `(("pulseaudio" ,pulseaudio)))
12938 (home-page "https://github.com/flexibeast/pulseaudio-control")
12939 (synopsis "Control @code{pulseaudio} from Emacs")
12940 (description
12941 "This package allows to control @code{pulseaudio} from Emacs.")
12942 (license license:gpl3+))))
12943
12944 (define-public emacs-datetime
12945 (package
12946 (name "emacs-datetime")
12947 (version "0.3")
12948 (source
12949 (origin
12950 (method git-fetch)
12951 (uri (git-reference
12952 (url "https://github.com/doublep/datetime.git")
12953 (commit version)))
12954 (file-name (git-file-name name version))
12955 (sha256
12956 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
12957 (build-system emacs-build-system)
12958 (home-page "https://github.com/doublep/datetime/")
12959 (synopsis "Library to work with dates in Emacs")
12960 (description "Parsing, formatting, matching and recoding
12961 timestamps and date-time format strings library for Emacs.")
12962 (license license:gpl3+)))
12963
12964 (define-public emacs-org-mind-map
12965 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
12966 (revision "1"))
12967 (package
12968 (name "emacs-org-mind-map")
12969 (version (string-append "0.0.1" "-" revision "."
12970 (string-take commit 7)))
12971 (source
12972 (origin
12973 (method git-fetch)
12974 (uri (git-reference
12975 (url "https://github.com/theodorewiles/org-mind-map.git")
12976 (commit commit)))
12977 (file-name (git-file-name name version))
12978 (sha256
12979 (base32
12980 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
12981 (propagated-inputs
12982 `(("emacs-dash" ,emacs-dash)))
12983 (build-system emacs-build-system)
12984 (home-page "https://github.com/theodorewiles/org-mind-map")
12985 (synopsis "Create Graphviz directed graphs from Org files")
12986 (description
12987 "This package creates Graphviz directed graphs from Org files.")
12988 (license license:gpl3+))))
12989
12990 (define-public emacs-npm-mode
12991 (package
12992 (name "emacs-npm-mode")
12993 (version "0.6.0")
12994 (source
12995 (origin
12996 (method git-fetch)
12997 (uri (git-reference
12998 (url "https://github.com/mojochao/npm-mode.git")
12999 (commit version)))
13000 (file-name (git-file-name name version))
13001 (sha256
13002 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
13003 (build-system emacs-build-system)
13004 (home-page "https://github.com/mojochao/npm-mode")
13005 (synopsis "Minor mode for working with @code{npm} projects")
13006 (description
13007 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
13008 (license license:gpl3+)))
13009
13010 (define-public emacs-seq
13011 (package
13012 (name "emacs-seq")
13013 (version "2.20")
13014 (source
13015 (origin
13016 (method url-fetch)
13017 (uri (string-append "https://elpa.gnu.org/packages/seq-" version ".tar"))
13018 (sha256
13019 (base32
13020 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
13021 (build-system emacs-build-system)
13022 (home-page "https://elpa.gnu.org/packages/seq.html")
13023 (synopsis "Sequence manipulation functions")
13024 (description "Sequence-manipulation functions that complement basic
13025 functions provided by @file{subr.el}.")
13026 (license license:gpl3+)))
13027
13028 (define-public emacs-itail
13029 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
13030 (revision "1"))
13031 (package
13032 (name "emacs-itail")
13033 (version (string-append "0.0.1" "-" revision "."
13034 (string-take commit 7)))
13035 (source
13036 (origin
13037 (method git-fetch)
13038 (uri (git-reference
13039 (url "https://github.com/re5et/itail.git")
13040 (commit commit)))
13041 (file-name (git-file-name name version))
13042 (sha256
13043 (base32
13044 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
13045 (build-system emacs-build-system)
13046 (home-page "https://github.com/re5et/itail")
13047 (synopsis "Interactive @code{tail} Emacs mode")
13048 (description "@code{itail} provides interactive @code{tail} mode
13049 that allows you to filter the tail with unix pipes and highlight the
13050 contents of the tailed file. Works locally or on remote files using
13051 tramp.")
13052 (license license:gpl3+))))
13053
13054 (define-public emacs-loop
13055 (package
13056 (name "emacs-loop")
13057 (version "1.3")
13058 (source
13059 (origin
13060 (method git-fetch)
13061 (uri (git-reference
13062 (url "https://github.com/Wilfred/loop.el.git")
13063 (commit version)))
13064 (file-name (git-file-name name version))
13065 (sha256
13066 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
13067 (build-system emacs-build-system)
13068 (native-inputs
13069 `(("emacs-ert-runner" ,emacs-ert-runner)
13070 ("emacs-undercover" ,emacs-undercover)))
13071 (arguments
13072 `(#:tests? #t
13073 #:test-command '("ert-runner")))
13074 (home-page "https://github.com/Wilfred/loop.el")
13075 (synopsis "Imperative loop structures for Emacs")
13076 (description "Loop structures familiar to users of other languages. This
13077 library adds a selection of popular loop structures as well as break and
13078 continue.")
13079 (license license:gpl3+)))
13080
13081 (define-public emacs-elisp-refs
13082 (package
13083 (name "emacs-elisp-refs")
13084 (version "1.3")
13085 (source
13086 (origin
13087 (method git-fetch)
13088 (uri (git-reference
13089 (url "https://github.com/Wilfred/elisp-refs.git")
13090 (commit version)))
13091 (file-name (git-file-name name version))
13092 (sha256
13093 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
13094 (build-system emacs-build-system)
13095 (propagated-inputs
13096 `(("emacs-dash" ,emacs-dash)
13097 ("emacs-f" ,emacs-f)
13098 ("emacs-list-utils" ,emacs-list-utils)
13099 ("emacs-loop" ,emacs-loop)
13100 ("emacs-s" ,emacs-s)
13101 ("emacs-shut-up" ,emacs-shut-up)))
13102 (native-inputs
13103 `(("emacs-ert-runner" ,emacs-ert-runner)
13104 ("emacs-undercover" ,emacs-undercover)))
13105 (arguments
13106 `(#:tests? #t
13107 #:test-command '("ert-runner")))
13108 (home-page "https://github.com/Wilfred/elisp-refs")
13109 (synopsis "Find callers of elisp functions or macros")
13110 (description "Find references to functions, macros or variables. Unlike a
13111 dumb text search, @code{elisp-refs} actually parses the code, so it's never
13112 confused by comments or @code{foo-bar} matching @code{foo}.")
13113 (license license:gpl3+)))
13114
13115 (define-public emacs-crux
13116 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
13117 (revision "2"))
13118 (package
13119 (name "emacs-crux")
13120 (version (git-version "0.3.0" revision commit))
13121 (source
13122 (origin
13123 (method git-fetch)
13124 (uri (git-reference
13125 (url "https://github.com/bbatsov/crux.git")
13126 (commit commit)))
13127 (file-name (git-file-name name version))
13128 (sha256
13129 (base32
13130 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
13131 (build-system emacs-build-system)
13132 (home-page "https://github.com/bbatsov/crux")
13133 (synopsis "Collection of useful functions for Emacs")
13134 (description
13135 "@code{crux} provides a collection of useful functions for Emacs.")
13136 (license license:gpl3+))))
13137
13138 (define-public emacs-edit-server
13139 (package
13140 (name "emacs-edit-server")
13141 (version "1.13")
13142 (source
13143 (origin
13144 (method git-fetch)
13145 (uri (git-reference
13146 (url "https://github.com/stsquad/emacs_chrome.git")
13147 (commit (string-append "v" version))))
13148 (file-name (git-file-name name version))
13149 (sha256
13150 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
13151 (build-system emacs-build-system)
13152 (arguments
13153 `(#:phases
13154 (modify-phases %standard-phases
13155 (add-after 'unpack 'chdir-elisp
13156 ;; Elisp directory is not in root of the source.
13157 (lambda _
13158 (chdir "servers"))))))
13159 (home-page "https://github.com/stsquad/emacs_chrome")
13160 (synopsis "Server that responds to edit requests from Chromium")
13161 (description
13162 "This package provides an edit server to respond to requests from Emacs.")
13163 (license license:gpl3+)))
13164
13165 (define-public emacs-m-buffer-el
13166 (package
13167 (name "emacs-m-buffer-el")
13168 (version "0.15")
13169 (source
13170 (origin
13171 (method git-fetch)
13172 (uri (git-reference
13173 (url "https://github.com/phillord/m-buffer-el")
13174 (commit (string-append "v" version))))
13175 (file-name (git-file-name name version))
13176 (sha256
13177 (base32
13178 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
13179 (arguments
13180 `(#:phases
13181 (modify-phases %standard-phases
13182 (add-before 'install 'check
13183 (lambda* (#:key inputs #:allow-other-keys)
13184 (invoke "emacs" "--batch" "-L" "."
13185 "-l" "test/m-buffer-test.el"
13186 "-l" "test/m-buffer-at-test.el"
13187 "-f" "ert-run-tests-batch-and-exit"))))))
13188 (build-system emacs-build-system)
13189 (home-page "https://github.com/phillord/m-buffer-el")
13190 (synopsis "List oriented buffer operations for Emacs")
13191 (description "@code{m-buffer} provides a set of list-orientated functions
13192 for operating over the contents of Emacs buffers.")
13193 (license license:gpl3+)))
13194
13195 (define-public emacs-let-alist
13196 (package
13197 (name "emacs-let-alist")
13198 (version "1.0.6")
13199 (source
13200 (origin
13201 (method url-fetch)
13202 (uri (string-append
13203 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
13204 (sha256
13205 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
13206 (build-system emacs-build-system)
13207 (home-page "https://elpa.gnu.org/packages/let-alist.html")
13208 (synopsis "Easily let-bind values of an assoc-list by their names")
13209 (description "This package offers a single macro, @code{let-alist}. This
13210 macro takes a first argument (whose value must be an alist) and a body.")
13211 (license license:gpl3+)))
13212
13213 (define-public emacs-esup
13214 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
13215 (revision "1"))
13216 (package
13217 (name "emacs-esup")
13218 (version (string-append "0.6" "-" revision "."
13219 (string-take commit 7)))
13220 (source
13221 (origin
13222 (method git-fetch)
13223 (uri (git-reference
13224 (url "https://github.com/jschaf/esup.git")
13225 (commit commit)))
13226 (file-name (git-file-name name version))
13227 (sha256
13228 (base32
13229 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
13230 ;; TODO: Add tests
13231 (build-system emacs-build-system)
13232 (home-page "https://github.com/jschaf/esup")
13233 (synopsis "Emacs start up profiler")
13234 (description "Benchmark Emacs Startup time without ever leaving
13235 your Emacs.")
13236 (license license:gpl2+))))
13237
13238 (define-public emacs-restart-emacs
13239 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
13240 (revision "1"))
13241 (package
13242 (name "emacs-restart-emacs")
13243 (version (git-version "0.1.1" revision commit))
13244 (source
13245 (origin
13246 (method git-fetch)
13247 (uri (git-reference
13248 (url "https://github.com/iqbalansari/restart-emacs.git")
13249 (commit commit)))
13250 (file-name (git-file-name name version))
13251 (sha256
13252 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
13253 (build-system emacs-build-system)
13254 (home-page "https://github.com/iqbalansari/restart-emacs")
13255 (synopsis "Restart Emacs from within Emacs")
13256 (description "This package provides a simple command to restart Emacs from
13257 within Emacs.")
13258 (license license:gpl3+))))
13259
13260 (define-public emacs-sourcemap
13261 (package
13262 (name "emacs-sourcemap")
13263 (version "0.03")
13264 (source
13265 (origin
13266 (method git-fetch)
13267 (uri (git-reference
13268 (url "https://github.com/syohex/emacs-sourcemap.git")
13269 (commit version)))
13270 (file-name (git-file-name name version))
13271 (sha256
13272 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
13273 (build-system emacs-build-system)
13274 (home-page "https://github.com/syohex/emacs-sourcemap")
13275 (synopsis "Sourcemap parser")
13276 (description "Sourcemap parser")
13277 (license license:gpl3+)))
13278
13279 (define-public emacs-macrostep
13280 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
13281 (package
13282 (name "emacs-macrostep")
13283 (version (git-version "0.9" "1" commit))
13284 (source (origin
13285 (method git-fetch)
13286 (uri (git-reference
13287 (url "https://github.com/joddie/macrostep.git")
13288 (commit commit)))
13289 (file-name (git-file-name name version))
13290 (sha256
13291 (base32
13292 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
13293 (build-system emacs-build-system)
13294 (arguments
13295 '(#:phases
13296 (modify-phases %standard-phases
13297 (add-before 'check 'remove-test
13298 ;; Fails because of requirement ‘/bin/sh’.
13299 (lambda _
13300 (let ((file "macrostep-test.el"))
13301 (chmod file #o644)
13302 (emacs-batch-edit-file file
13303 `(progn (progn (goto-char (point-min))
13304 (re-search-forward
13305 "(ert-deftest macrostep-expand-c-macros")
13306 (beginning-of-line)
13307 (kill-sexp))
13308 (basic-save-buffer))))))
13309 (add-before 'install 'check
13310 (lambda _
13311 (invoke "emacs" "--batch" "-L" "."
13312 "-l" "macrostep-test.el"
13313 "-f" "ert-run-tests-batch-and-exit"))))))
13314 (home-page "https://github.com/joddie/macrostep")
13315 (synopsis "Interactive macro-expander for Emacs")
13316 (description "@code{macrostep} is an Emacs minor mode for interactively
13317 stepping through the expansion of macros in Emacs Lisp source code. It lets
13318 you see exactly what happens at each step of the expansion process by
13319 pretty-printing the expanded forms inline in the source buffer, which is
13320 temporarily read-only while macro expansions are visible. You can expand and
13321 collapse macro forms one step at a time, and evaluate or instrument the
13322 expansions for debugging with Edebug as normal (but see “Bugs and known
13323 limitations”, below). Single-stepping through the expansion is particularly
13324 useful for debugging macros that expand into another macro form. These can be
13325 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
13326 until the top-level form is no longer a macro call.")
13327 (license license:gpl3+))))
13328
13329 (define-public emacs-parent-mode
13330 (package
13331 (name "emacs-parent-mode")
13332 (version "2.3")
13333 (source
13334 (origin
13335 (method git-fetch)
13336 (uri (git-reference
13337 (url "https://github.com/Fanael/parent-mode.git")
13338 (commit version)))
13339 (file-name (git-file-name name version))
13340 (sha256
13341 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
13342 (build-system emacs-build-system)
13343 (home-page "https://github.com/Fanael/parent-mode")
13344 (synopsis "Get major mode's parent modes")
13345 (description "Get major mode's parent modes")
13346 (license license:gpl3+)))
13347
13348 (define-public emacs-lacarte
13349 (package
13350 (name "emacs-lacarte")
13351 (version "0.1")
13352 (source (origin
13353 (method url-fetch)
13354 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
13355 (sha256
13356 (base32
13357 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
13358 (build-system emacs-build-system)
13359 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
13360 (synopsis "Execute menu items as commands, with completion")
13361 (description "Execute menu items as commands, with completion.")
13362 (license license:gpl3)))
13363
13364 (define-public emacs-isearch-prop
13365 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
13366 (revision "2"))
13367 (package
13368 (name "emacs-isearch-prop")
13369 (version (git-version "0" revision commit))
13370 (source
13371 (origin
13372 (method git-fetch)
13373 (uri (git-reference
13374 (url "https://github.com/emacsmirror/isearch-prop.git")
13375 (commit commit)))
13376 (file-name (git-file-name name version))
13377 (sha256
13378 (base32
13379 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
13380 (build-system emacs-build-system)
13381 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
13382 (synopsis "Extensions to @code{isearch.el}")
13383 (description "The Emacs library @code{isearch-prop.el} lets you search within
13384 contexts. You can limit incremental search to a set of zones of
13385 buffer text, search contexts that in effect constitute a multi-region.
13386 These zones can be defined in various ways, including some ways
13387 provided specially by this library.")
13388 (license license:gpl3+))))
13389
13390 (define-public emacs-company-lua
13391 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
13392 (revision "2"))
13393 (package
13394 (name "emacs-company-lua")
13395 (version (git-version "0.1" "2" commit))
13396 (source
13397 (origin
13398 (method git-fetch)
13399 (uri (git-reference
13400 (url "https://github.com/ptrv/company-lua.git")
13401 (commit commit)))
13402 (file-name (git-file-name name version))
13403 (sha256
13404 (base32
13405 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
13406 (build-system emacs-build-system)
13407 (propagated-inputs
13408 `(("emacs-company" ,emacs-company)
13409 ("emacs-s" ,emacs-s)
13410 ("emacs-f" ,emacs-f)
13411 ("emacs-lua-mode" ,emacs-lua-mode)))
13412 (arguments
13413 `(#:include (cons* "^lua\\/" %default-include)))
13414 (home-page "https://github.com/ptrv/company-lua")
13415 (synopsis "Company backend for Lua")
13416 (description
13417 "This package provides Company backend for Lua programming language.")
13418 (license license:gpl3+))))
13419
13420 (define-public emacs-beginend
13421 (package
13422 (name "emacs-beginend")
13423 (version "2.0.0")
13424 (source
13425 (origin
13426 (method git-fetch)
13427 (uri (git-reference
13428 (url "https://github.com/DamienCassou/beginend.git")
13429 (commit (string-append "v" version))))
13430 (file-name (git-file-name name version))
13431 (sha256
13432 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
13433 ;; TODO: Run tests.
13434 (build-system emacs-build-system)
13435 (inputs
13436 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
13437 (home-page "https://github.com/DamienCassou/beginend")
13438 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
13439 (description "@code{beginend} redefines @code{M-<} and @code{M->}
13440 keybindings for Emacs modes so that point moves to meaningful
13441 locations. Redefined keys are still accessible by pressing the same
13442 key again.")
13443 (license license:gpl3+)))
13444
13445 (define-public emacs-mbsync
13446 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
13447 (revision "4"))
13448 (package
13449 (name "emacs-mbsync")
13450 (version (git-version "0.1.2" revision commit))
13451 (source
13452 (origin
13453 (method git-fetch)
13454 (uri (git-reference
13455 (url "https://github.com/dimitri/mbsync-el.git")
13456 (commit commit)))
13457 (file-name (git-file-name name version))
13458 (sha256
13459 (base32
13460 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
13461 (build-system emacs-build-system)
13462 (home-page "https://github.com/dimitri/mbsync-el")
13463 (synopsis "Interface to mbsync for Emacs")
13464 (description "This package allows to call the @code{mbsync} from
13465 within Emacs.")
13466 (license license:gpl3+))))
13467
13468 (define-public emacs-ibuffer-projectile
13469 (let ((commit "76496214144687cee0b5139be2e61b1e400cac87")
13470 (revision "2"))
13471 (package
13472 (name "emacs-ibuffer-projectile")
13473 (version (git-version "0.2" revision commit))
13474 (source
13475 (origin
13476 (method git-fetch)
13477 (uri (git-reference
13478 (url "https://github.com/purcell/ibuffer-projectile.git")
13479 (commit commit)))
13480 (file-name (git-file-name name version))
13481 (sha256
13482 (base32
13483 "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav"))))
13484 (build-system emacs-build-system)
13485 (propagated-inputs
13486 `(("emacs-projectile" ,emacs-projectile)))
13487 (home-page "https://github.com/purcell/ibuffer-projectile")
13488 (synopsis "Group ibuffer's list by projectile root")
13489 (description "Adds functionality to Emacs @code{ibuffer} for
13490 grouping buffers by their projectile root directory.")
13491 (license license:gpl3+))))
13492
13493 (define-public emacs-helm-mode-manager
13494 (package
13495 (name "emacs-helm-mode-manager")
13496 (version "1.0.0")
13497 (source
13498 (origin
13499 (method git-fetch)
13500 (uri (git-reference
13501 (url "https://github.com/istib/helm-mode-manager")
13502 (commit version)))
13503 (file-name (git-file-name name version))
13504 (sha256
13505 (base32
13506 "1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
13507 (build-system emacs-build-system)
13508 (propagated-inputs
13509 `(("emacs-helm" ,emacs-helm)))
13510 (home-page "https://github.com/istib/helm-mode-manager/")
13511 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
13512 (description "This package provides a Helm interface for toggling Emacs
13513 major or minor mode.
13514
13515 @itemize
13516 @item @code{helm-switch-major-mode} list of all major modes
13517 @item @code{helm-enable-minor-mode} list of all inactive minor modes
13518 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
13519 @end itemize\n
13520
13521 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
13522 documentation.")
13523 (license license:gpl3+)))
13524
13525 (define-public emacs-hy-mode
13526 (package
13527 (name "emacs-hy-mode")
13528 (version "1.0.3")
13529 (source
13530 (origin
13531 (method git-fetch)
13532 (uri (git-reference
13533 (url "https://github.com/hylang/hy-mode.git")
13534 (commit (string-append "v" version))))
13535 (file-name (git-file-name name version))
13536 (sha256
13537 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
13538 (build-system emacs-build-system)
13539 (propagated-inputs
13540 `(("emacs-dash" ,emacs-dash)
13541 ("emacs-s" ,emacs-s)))
13542 (home-page "https://github.com/hylang/hy-mode")
13543 (synopsis "Major mode for Hylang")
13544 (description "This package provides a major mode for Hylang.")
13545 (license license:gpl3+)))
13546
13547 (define-public emacs-web-beautify
13548 (package
13549 (name "emacs-web-beautify")
13550 (version "0.3.2")
13551 (source
13552 (origin
13553 (method git-fetch)
13554 (uri (git-reference
13555 (url "https://github.com/yasuyk/web-beautify.git")
13556 (commit version)))
13557 (file-name (git-file-name name version))
13558 (sha256
13559 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
13560 (build-system emacs-build-system)
13561 (home-page "https://github.com/yasuyk/web-beautify")
13562 (synopsis "Format HTML, CSS and JavaScript, JSON")
13563 (description "This package provides an Emacs functions to format HTML,
13564 CSS, JavaScript, JSON.")
13565 (license license:gpl3+)))
13566
13567 (define-public emacs-helm-shell-history
13568 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
13569 (package
13570 (name "emacs-helm-shell-history")
13571 (version (git-version "0.1" "1" commit))
13572 (source
13573 (origin
13574 (method git-fetch)
13575 (uri (git-reference
13576 (url "https://github.com/yuutayamada/helm-shell-history.git")
13577 (commit commit)))
13578 (file-name (git-file-name name version))
13579 (sha256
13580 (base32
13581 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
13582 (build-system emacs-build-system)
13583 (arguments
13584 '(#:phases
13585 (modify-phases %standard-phases
13586 (add-before 'check 'patch-helm-shell-history-file
13587 (lambda _
13588 (let ((file "helm-shell-history.el"))
13589 (chmod file #o644)
13590 (emacs-substitute-sexps file
13591 ("(defvar helm-shell-history-file"
13592 `(expand-file-name "~/.bash_history"))))
13593 #t)))))
13594 (propagated-inputs
13595 `(("emacs-helm" ,emacs-helm)))
13596 (home-page "https://github.com/yuutayamada/helm-shell-history")
13597 (synopsis "Find shell history with Emacs Helm")
13598 (description "This package provides an Emacs Helm interface to search
13599 throw a shell history.")
13600 (license license:gpl3+))))
13601
13602 (define-public emacs-discover-my-major
13603 (package
13604 (name "emacs-discover-my-major")
13605 (version "1.0")
13606 (source
13607 (origin
13608 (method url-fetch)
13609 (uri
13610 (string-append "https://github.com/steckerhalter/discover-my-major"
13611 "/archive/" version ".tar.gz"))
13612 (file-name (string-append name "-" version ".tar.gz"))
13613 (sha256
13614 (base32
13615 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
13616 (build-system emacs-build-system)
13617 (propagated-inputs
13618 `(("emacs-makey" ,emacs-makey)))
13619 (home-page "https://github.com/steckerhalter/discover-my-major")
13620 (synopsis "Discover key bindings for the current Emacs major mode")
13621 (description "This package provides allows to discover key bindings and
13622 their meaning for the current Emacs major-mode.")
13623 (license license:gpl3+)))
13624
13625 (define-public emacs-org-ref
13626 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
13627 (revision "1"))
13628 (package
13629 (name "emacs-org-ref")
13630 (version (string-append "1.1.1" "-" revision "."
13631 (string-take commit 7)))
13632 (source
13633 (origin
13634 (method git-fetch)
13635 (uri (git-reference
13636 (url "https://github.com/jkitchin/org-ref.git")
13637 (commit commit)))
13638 (file-name (git-file-name name version))
13639 (sha256
13640 (base32
13641 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
13642 (build-system emacs-build-system)
13643 (propagated-inputs
13644 `(("emacs-dash" ,emacs-dash)
13645 ("emacs-helm" ,emacs-helm)
13646 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
13647 ("emacs-ivy" ,emacs-ivy)
13648 ("emacs-hydra" ,emacs-hydra)
13649 ("emacs-key-chord" ,emacs-key-chord)
13650 ("emacs-s" ,emacs-s)
13651 ("emacs-f" ,emacs-f)
13652 ("emacs-pdf-tools" ,emacs-pdf-tools)))
13653 (home-page "https://github.com/jkitchin/org-ref")
13654 (synopsis "Citations, cross-references and bibliographies in org-mode")
13655 (description
13656 "Lisp code to setup bibliography, cite, ref and label org-mode links.
13657 Also sets up reftex and helm for org-mode citations. The links are
13658 clickable and do things that are useful.
13659
13660 The default setup uses helm-bibtex.
13661
13662 You should really read org-ref.org in this package for details.")
13663 (license license:gpl3+))))
13664
13665 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
13666 (define-public emacs-org-reveal
13667 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
13668 (package
13669 (name "emacs-org-reveal")
13670 (version (git-version "0.1" "3" commit))
13671 (source (origin
13672 (method git-fetch)
13673 (uri (git-reference
13674 (url "https://github.com/yjwen/org-reveal.git")
13675 (commit commit)))
13676 (file-name (git-file-name name version))
13677 (sha256
13678 (base32
13679 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
13680 (build-system emacs-build-system)
13681 (home-page "https://github.com/yjwen/org-reveal")
13682 (synopsis "Org and Reveal.js powered HTML presentation tool")
13683 (description "Org-Reveal is a command@{org-mode} extension that allows
13684 to create beautiful presentations (slides) with 3D effects from simple but
13685 powerful Org contents.")
13686 (license license:gpl3+))))
13687
13688 (define-public emacs-org-re-reveal
13689 (package
13690 (name "emacs-org-re-reveal")
13691 (version "2.5.1")
13692 (source (origin
13693 (method git-fetch)
13694 (uri (git-reference
13695 (url "https://gitlab.com/oer/org-re-reveal.git")
13696 (commit version)))
13697 (file-name (git-file-name name version))
13698 (sha256
13699 (base32
13700 "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2"))))
13701 (build-system emacs-build-system)
13702 (propagated-inputs
13703 `(("emacs-htmlize" ,emacs-htmlize)
13704 ("emacs-org" ,emacs-org)))
13705 (home-page "https://gitlab.com/oer/org-re-reveal")
13706 (synopsis "Build HTML presentations with reveal.js from Org source files")
13707 (description "This project started as fork of org-reveal. It provides an
13708 export back-end for HTML presentations with reveal.js from Org mode source
13709 files.")
13710 (license license:gpl3+)))
13711
13712 (define-public emacs-add-hooks
13713 (package
13714 (name "emacs-add-hooks")
13715 (version "3.1.1")
13716 (source
13717 (origin
13718 (method git-fetch)
13719 (uri (git-reference
13720 (url "https://github.com/nickmccurdy/add-hooks.git")
13721 (commit version)))
13722 (file-name (git-file-name name version))
13723 (sha256
13724 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
13725 (build-system emacs-build-system)
13726 (home-page "https://github.com/nickmccurdy/add-hooks/")
13727 (synopsis "Emacs function for setting multiple hooks")
13728 (description "This package provides a @code{add-hooks} function tidies up
13729 duplicate hook and function names further into a single declarative call.")
13730 (license license:gpl3+)))
13731
13732 (define-public emacs-fancy-narrow
13733 (package
13734 (name "emacs-fancy-narrow")
13735 (version "0.9.5")
13736 (source
13737 (origin
13738 (method git-fetch)
13739 (uri (git-reference
13740 (url "https://github.com/Malabarba/fancy-narrow.git")
13741 (commit version)))
13742 (file-name (git-file-name name version))
13743 (sha256
13744 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
13745 (build-system emacs-build-system)
13746 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
13747 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
13748 (description
13749 "Unlike @code{narrow-to-region}, which completely hides text outside
13750 the narrowed region, this package simply de-emphasizes the text, makes it
13751 read-only, and makes it unreachable. This leads to a much more natural
13752 feeling where the region stays static (instead of being brutally moved to a
13753 blank slate) and is clearly highlighted with respect to the rest of the
13754 buffer.")
13755 (license license:gpl2+)))
13756
13757 (define-public emacs-know-your-http-well
13758 (package
13759 (name "emacs-know-your-http-well")
13760 (version "0.5.0")
13761 (source
13762 (origin
13763 (method git-fetch)
13764 (uri (git-reference
13765 (url "https://github.com/for-GET/know-your-http-well.git")
13766 (commit (string-append "v" version))))
13767 (file-name (git-file-name name version))
13768 (sha256
13769 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
13770 (arguments
13771 `(#:phases
13772 (modify-phases %standard-phases
13773 (add-after 'unpack 'install-json-files
13774 (lambda* (#:key outputs #:allow-other-keys)
13775 (for-each (lambda (directory)
13776 (copy-recursively directory
13777 (string-append
13778 (assoc-ref outputs "out")
13779 directory)))
13780 '("js" "json"))))
13781 (add-after 'unpack 'chdir-elisp
13782 ;; Elisp directory is not in root of the source.
13783 (lambda _
13784 (chdir "emacs"))))))
13785 (build-system emacs-build-system)
13786 (home-page "https://github.com/for-GET/know-your-http-well")
13787 (synopsis "Meaning of HTTP headers codes")
13788 (description "Meaning of HTTP headers codes.")
13789 (license license:gpl3+)))
13790
13791 (define-public emacs-navi-mode
13792 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
13793 (package
13794 (name "emacs-navi-mode")
13795 (version (git-version "2.0" "1" commit))
13796 (source
13797 (origin
13798 (method git-fetch)
13799 (uri (git-reference
13800 (url "https://github.com/alphapapa/navi.git")
13801 (commit commit)))
13802 (file-name (git-file-name name version))
13803 (sha256
13804 (base32
13805 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
13806 (build-system emacs-build-system)
13807 (propagated-inputs
13808 `(("emacs-outshine" ,emacs-outshine)
13809 ("emacs-outorg" ,emacs-outorg)))
13810 (home-page "https://github.com/alphapapa/navi")
13811 (synopsis "Emacs major-mode for easy buffer-navigation")
13812 (description
13813 "This package provides an Emacs major-mode for easy buffer-navigation")
13814 (license license:gpl3+))))
13815
13816 (define-public emacs-download-region
13817 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
13818 (revision "1"))
13819 (package
13820 (name "emacs-download-region")
13821 (version (string-append "0.0.1" "-" revision "."
13822 (string-take commit 7)))
13823 (source
13824 (origin
13825 (method git-fetch)
13826 (uri (git-reference
13827 (url "https://github.com/zk-phi/download-region.git")
13828 (commit commit)))
13829 (file-name (git-file-name name version))
13830 (sha256
13831 (base32
13832 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
13833 (build-system emacs-build-system)
13834 (home-page "https://github.com/zk-phi/download-region")
13835 (synopsis "In buffer download manager for Emacs")
13836 (description "@code{download-region} provides in buffer
13837 downloading manager for Emacs.")
13838 (license license:gpl3+))))
13839
13840 (define-public emacs-helpful
13841 (package
13842 (name "emacs-helpful")
13843 (version "0.17")
13844 (source
13845 (origin
13846 (method git-fetch)
13847 (uri (git-reference
13848 (url "https://github.com/Wilfred/helpful.git")
13849 (commit version)))
13850 (file-name (git-file-name name version))
13851 (sha256
13852 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
13853 (build-system emacs-build-system)
13854 (propagated-inputs
13855 `(("emacs-elisp-refs" ,emacs-elisp-refs)
13856 ("emacs-dash" ,emacs-dash)
13857 ("emacs-s" ,emacs-s)
13858 ("emacs-f" ,emacs-f)
13859 ("emacs-shut-up" ,emacs-shut-up)))
13860 (native-inputs
13861 `(("emacs-ert-runner" ,emacs-ert-runner)
13862 ("emacs-undercover" ,emacs-undercover)))
13863 (arguments
13864 `(#:tests? #t
13865 #:test-command '("ert-runner")))
13866 (home-page "https://github.com/Wilfred/helpful")
13867 (synopsis "More contextual information in Emacs help")
13868 (description "@code{helpful} is an alternative to the built-in Emacs help
13869 that provides much more contextual information.
13870
13871 @itemize
13872 @item Show the source code for interactively defined functions (unlike the
13873 built-in Help).
13874 @item Fall back to the raw sexp if no source is available.
13875 @item Show where a function is being called.
13876 @item Docstrings will Highlight the summary (the first sentence), include
13877 cross-references, hide superfluous puncuation.
13878 @item Show you the properties that have been applied to the current
13879 symbol. This provides visibility of features like edebug or byte-code
13880 optimisation.
13881 @item Provide a separate @code{helpful-command} function to view interactive
13882 functions.
13883 @item Display any keybindings that apply to interactive functions.
13884 @item Trace, disassemble functions from inside Helpful. This is discoverable
13885 and doesn't require memorisation of commands.
13886 @end itemize\n")
13887 (license license:gpl3+)))
13888
13889 (define-public emacs-logview
13890 (package
13891 (name "emacs-logview")
13892 (version "0.9")
13893 (source
13894 (origin
13895 (method git-fetch)
13896 (uri (git-reference
13897 (url "https://github.com/doublep/logview.git")
13898 (commit version)))
13899 (file-name (git-file-name name version))
13900 (sha256
13901 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
13902 (propagated-inputs
13903 `(("emacs-datetime" ,emacs-datetime)))
13904 (build-system emacs-build-system)
13905 (home-page "https://github.com/doublep/logview/")
13906 (synopsis "Emacs mode for viewing log files")
13907 (description "@code{logview} provides an Emacs mode to view log files.")
13908 (license license:gpl3+)))
13909
13910 (define-public emacs-suggest
13911 (package
13912 (name "emacs-suggest")
13913 (version "0.7")
13914 (home-page "https://github.com/Wilfred/suggest.el")
13915 (source
13916 (origin
13917 (method git-fetch)
13918 (uri (git-reference
13919 (url home-page)
13920 (commit version)))
13921 (file-name (git-file-name name version))
13922 (sha256
13923 (base32
13924 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
13925 (build-system emacs-build-system)
13926 (propagated-inputs
13927 `(("emacs-loop" ,emacs-loop)
13928 ("emacs-dash" ,emacs-dash)
13929 ("emacs-s" ,emacs-s)
13930 ("emacs-f" ,emacs-f)
13931 ("emacs-spinner" ,emacs-spinner)
13932 ("emacs-shut-up" ,emacs-shut-up)))
13933 (native-inputs
13934 `(("emacs-ert-runner" ,emacs-ert-runner)
13935 ("emacs-undercover" ,emacs-undercover)))
13936 (arguments
13937 `(#:tests? #t
13938 #:test-command '("ert-runner")))
13939 (synopsis "Suggest Elisp functions that give the output requested")
13940 (description "Suggest.el will find functions that give the output
13941 requested. It's a great way of exploring list, string and arithmetic
13942 functions.")
13943 (license license:gpl3+)))
13944
13945 (define-public emacs-benchmark-init
13946 (package
13947 (name "emacs-benchmark-init")
13948 (version "1.0")
13949 (source
13950 (origin
13951 (method git-fetch)
13952 (uri (git-reference
13953 (url "https://github.com/dholm/benchmark-init-el.git")
13954 (commit version)))
13955 (file-name (git-file-name name version))
13956 (sha256
13957 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
13958 (build-system emacs-build-system)
13959 (home-page "https://github.com/dholm/benchmark-init-el")
13960 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
13961 (description "@code{benchmark-init} provides a way to keep track of where
13962 time is being spent during Emacs startup in order to optimize startup time.")
13963 (license license:gpl3+)))
13964
13965 (define-public emacs-emms-player-simple-mpv
13966 ;; A new mpv backend is included in Emms from 5.0.
13967 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
13968
13969 (define-public emacs-magit-gerrit
13970 (let ((version "0.3")
13971 (revision "1")
13972 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
13973 (package
13974 (name "emacs-magit-gerrit")
13975 (version (git-version version revision commit))
13976 (source (origin
13977 (method git-fetch)
13978 (uri (git-reference
13979 (url "https://github.com/terranpro/magit-gerrit.git")
13980 (commit commit)))
13981 (file-name (git-file-name name version))
13982 (sha256
13983 (base32
13984 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
13985 (build-system emacs-build-system)
13986 (propagated-inputs
13987 `(("emacs-magit" ,emacs-magit)))
13988 (home-page "https://github.com/terranpro/magit-gerrit")
13989 (synopsis "Magit extension for Gerrit")
13990 (description "This Magit extension provides integration with Gerrit,
13991 which makes it possible to conduct Gerrit code reviews directly from within
13992 Emacs.")
13993 (license license:gpl3+))))
13994
13995 (define-public emacs-magit-org-todos-el
13996 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
13997 (package
13998 (name "emacs-magit-org-todos-el")
13999 (version (git-version "0.1.1" "1" commit))
14000 (source
14001 (origin
14002 (method git-fetch)
14003 (uri (git-reference
14004 (url "https://github.com/danielma/magit-org-todos.el.git")
14005 (commit commit)))
14006 (file-name (git-file-name name version))
14007 (sha256
14008 (base32
14009 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
14010 (propagated-inputs
14011 `(("magit" ,emacs-magit)))
14012 (build-system emacs-build-system)
14013 (home-page "https://github.com/danielma/magit-org-todos.el")
14014 (synopsis "Get todo.org into Emacs Magit status")
14015 (description "This package allows you to get @file{todo.org} into your
14016 magit status.
14017
14018 If you have a @file{todo.org} file with @code{TODO} items in the root of your
14019 repository, @code{magit-org-todos} will create a section in your Magit status
14020 buffer with each of your todos.")
14021 (license license:gpl3+))))
14022
14023 (define-public emacs-f3
14024 (package
14025 (name "emacs-f3")
14026 (version "0.1")
14027 (source
14028 (origin
14029 (method git-fetch)
14030 (uri (git-reference
14031 (url "https://github.com/cosmicexplorer/f3.git")
14032 (commit version)))
14033 (file-name (git-file-name name version))
14034 (sha256
14035 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
14036 (build-system emacs-build-system)
14037 (propagated-inputs
14038 `(("emacs-helm" ,emacs-helm)))
14039 (home-page "https://github.com/cosmicexplorer/f3")
14040 (synopsis "Fantastic File Finder for Emacs")
14041 (description
14042 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
14043 (license license:gpl3+)))
14044
14045 (define-public emacs-lice-el
14046 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
14047 (package
14048 (name "emacs-lice-el")
14049 (version (git-version "0.2" "1" commit))
14050 (source (origin
14051 (method git-fetch)
14052 (uri (git-reference
14053 (url "https://github.com/buzztaiki/lice-el.git")
14054 (commit commit)))
14055 (file-name (git-file-name name version))
14056 (sha256
14057 (base32
14058 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
14059 (build-system emacs-build-system)
14060 (home-page "https://github.com/buzztaiki/lice-el")
14061 (synopsis "License and header template for Emacs")
14062 (description "@code{lice.el} provides following features:
14063
14064 @itemize
14065 @item License template management.
14066 @item File header insertion.
14067 @end itemize\n")
14068 (license license:gpl3+))))
14069
14070 (define-public emacs-academic-phrases
14071 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
14072 (package
14073 (name "emacs-academic-phrases")
14074 (version (git-version "0.1" "1" commit))
14075 (source
14076 (origin
14077 (method git-fetch)
14078 (uri (git-reference
14079 (url "https://github.com/nashamri/academic-phrases.git")
14080 (commit commit)))
14081 (file-name (git-file-name name version))
14082 (sha256
14083 (base32
14084 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
14085 (build-system emacs-build-system)
14086 (propagated-inputs
14087 `(("emacs-dash" ,emacs-dash)
14088 ("emacs-s" ,emacs-s)
14089 ("emacs-ht" ,emacs-ht)))
14090 (home-page "https://github.com/nashamri/academic-phrases")
14091 (synopsis "Bypass that mental block when writing your papers")
14092 (description
14093 "When writing your academic paper, you might get stuck trying to find
14094 the right phrase that captures your intention. This package tries to
14095 alleviate that problem by presenting you with a list of phrases organized by
14096 the topic or by the paper section that you are writing. This package has
14097 around 600 phrases so far.
14098
14099 Using this package is easy, just call @code{academic-phrases} to get a list of
14100 phrases organized by topic, or call @code{academic-phrases-by-section} to
14101 browse the phrases by the paper section and fill-in the blanks if required.")
14102 (license license:gpl3+))))
14103
14104 (define-public emacs-auto-yasnippet
14105 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
14106 (revision "2"))
14107 (package
14108 (name "emacs-auto-yasnippet")
14109 (version (git-version "0.3.0" revision commit))
14110 (source (origin
14111 (method git-fetch)
14112 (uri (git-reference
14113 (url "https://github.com/abo-abo/auto-yasnippet.git")
14114 (commit commit)))
14115 (file-name (git-file-name name version))
14116 (sha256
14117 (base32
14118 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
14119 (build-system emacs-build-system)
14120 (arguments
14121 '(#:tests? #t
14122 #:test-command '("make" "test")))
14123 (propagated-inputs
14124 `(("emacs-yasnippet" ,emacs-yasnippet)))
14125 (home-page "https://github.com/abo-abo/auto-yasnippet/")
14126 (synopsis "Quickly create disposable yasnippets")
14127 (description "This package provides a hybrid of keyboard macros and
14128 yasnippet. You create the snippet on the go, usually to be used just in the
14129 one place. It's fast, because you're not leaving the current buffer, and all
14130 you do is enter the code you'd enter anyway, just placing ~ where you'd like
14131 yasnippet fields and mirrors to be.")
14132 (license license:gpl3+))))
14133
14134 (define-public emacs-highlight-numbers
14135 (package
14136 (name "emacs-highlight-numbers")
14137 (version "0.2.3")
14138 (source
14139 (origin
14140 (method git-fetch)
14141 (uri (git-reference
14142 (url "https://github.com/Fanael/highlight-numbers.git")
14143 (commit version)))
14144 (file-name (git-file-name name version))
14145 (sha256
14146 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
14147 (build-system emacs-build-system)
14148 (propagated-inputs
14149 `(("emacs-parent-mode" ,emacs-parent-mode)))
14150 (home-page "https://github.com/Fanael/highlight-numbers")
14151 (synopsis "Highlight numbers in source code")
14152 (description "@code{highlight-numbers-mode} provides a minor mode for
14153 syntax highlighting of numeric literals in source code.
14154
14155 It s customizable: it's easy to add or redefine what exactly consitutes a
14156 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
14157 (license license:gpl3+)))
14158
14159 (define-public emacs-darkroom
14160 (package
14161 (name "emacs-darkroom")
14162 (version "0.2")
14163 (source (origin
14164 (method url-fetch)
14165 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
14166 version ".el"))
14167 (sha256
14168 (base32
14169 "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0"))))
14170 (build-system emacs-build-system)
14171 (home-page "https://elpa.gnu.org/packages/darkroom.html")
14172 (synopsis "Remove visual distractions and focus on writing")
14173 (description "@code{darkroom-mode} makes visual distractions disappear.
14174 The mode-line is temporarily elided, text is enlarged and margins are adjusted
14175 so that it's centered on the window.
14176
14177 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
14178 @code{darkroom-mode}, unless the current buffer lives in the sole window of
14179 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
14180 split to display more windows and more buffers, the buffer exits
14181 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
14182 @code{darkroom-mode}.")
14183 (license license:gpl3+)))
14184
14185 (define-public emacs-rsw-elisp
14186 (package
14187 (name "emacs-rsw-elisp")
14188 (version "1.0.5")
14189 (source (origin
14190 (method git-fetch)
14191 (uri (git-reference
14192 (url "https://github.com/rswgnu/rsw-elisp")
14193 (commit version)))
14194 (file-name (git-file-name name version))
14195 (sha256
14196 (base32
14197 "0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
14198 (build-system emacs-build-system)
14199 (home-page "https://github.com/rswgnu/rsw-elisp")
14200 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
14201 (description "This package improves and replaces the GNU Emacs commands
14202 that interactively evaluate Emacs Lisp expressions. The new commands replace
14203 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
14204 the same way as the old commands when called non-interactively; only the
14205 interactive behavior should be different.")
14206 (license license:gpl3+)))
14207
14208 (define-public emacs-default-text-scale
14209 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
14210 (revision "1"))
14211 (package
14212 (name "emacs-default-text-scale")
14213 (version (string-append "0.1" "-" revision "."
14214 (string-take commit 7)))
14215 (source (origin
14216 (method git-fetch)
14217 (uri (git-reference
14218 (url "https://github.com/purcell/default-text-scale")
14219 (commit commit)))
14220 (file-name (git-file-name name version))
14221 (sha256
14222 (base32
14223 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
14224 (build-system emacs-build-system)
14225 (home-page "https://github.com/purcell/default-text-scale")
14226 (synopsis "Adjust the font size in all Emacs frames")
14227 (description "This package provides commands for increasing or
14228 decreasing the default font size in all GUI Emacs frames.")
14229 (license license:gpl3+))))
14230
14231 (define-public emacs-mixed-pitch
14232 (package
14233 (name "emacs-mixed-pitch")
14234 (version "1.0.1")
14235 (source
14236 (origin
14237 (method git-fetch)
14238 (uri (git-reference
14239 (url "https://gitlab.com/jabranham/mixed-pitch.git")
14240 (commit version)))
14241 (file-name (git-file-name name version))
14242 (sha256
14243 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
14244 (build-system emacs-build-system)
14245 (home-page "https://gitlab.com/jabranham/mixed-pitch")
14246 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
14247 (description
14248 "@code{mixed-pitch-mode} is a minor mode that enables mixing
14249 variable-pitch and fixed-pitch fonts in the same buffer. The list
14250 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
14251 fixed-pitch,everything else becomes variable-pitch.")
14252 (license license:gpl3+)))
14253
14254 (define-public emacs-visual-regexp
14255 (package
14256 (name "emacs-visual-regexp")
14257 (version "1.1.1")
14258 (source
14259 (origin
14260 (method git-fetch)
14261 (uri (git-reference
14262 (url "https://github.com/benma/visual-regexp.el.git")
14263 (commit (string-append "v" version))))
14264 (file-name (git-file-name name version))
14265 (sha256
14266 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
14267 (build-system emacs-build-system)
14268 (home-page "https://github.com/benma/visual-regexp.el/")
14269 (synopsis "Regexp command with interactive visual feedback")
14270 (description "This package provides an Emacs regexp command with
14271 interactive visual feedback.")
14272 (license license:gpl3+)))
14273
14274 (define-public emacs-faceup
14275 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
14276 (revision "1"))
14277 (package
14278 (name "emacs-faceup")
14279 (version (string-append "0.0.1" "-" revision "."
14280 (string-take commit 7)))
14281 (source
14282 (origin
14283 (method git-fetch)
14284 (uri (git-reference
14285 (url "https://github.com/Lindydancer/faceup.git")
14286 (commit commit)))
14287 (file-name (git-file-name name version))
14288 (sha256
14289 (base32
14290 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
14291 (build-system emacs-build-system)
14292 (home-page "https://github.com/Lindydancer/faceup")
14293 (synopsis "Markup language for faces and font-lock regression testing")
14294 (description "Emacs is capable of highlighting buffers based on
14295 language-specific @code{font-lock} rules. This package makes it possible to
14296 perform regression test for packages that provide font-lock rules.")
14297 (license license:gpl3+))))
14298
14299 (define-public emacs-racket-mode
14300 (let ((commit "2a9a102a097d04fbcd2a443fec84078036c2e277")
14301 (revision "4"))
14302 (package
14303 (name "emacs-racket-mode")
14304 (version (git-version "0.0.2" revision commit))
14305 (source
14306 (origin
14307 (method git-fetch)
14308 (uri (git-reference
14309 (url "https://github.com/greghendershott/racket-mode")
14310 (commit commit)))
14311 (file-name (git-file-name name version))
14312 (sha256
14313 (base32
14314 "1n71dxxh62jixq20b5haapv651dxc0zyrxpl1d0yqsg8ncp726bl"))))
14315 (build-system emacs-build-system)
14316 (arguments
14317 `(#:include '("\\.el$" "\\.rkt$")))
14318 (propagated-inputs
14319 `(("emacs-faceup" ,emacs-faceup)
14320 ("emacs-s" ,emacs-s)))
14321 (home-page "https://github.com/greghendershott/racket-mode")
14322 (synopsis "Major mode for Racket language")
14323 (description "@code{racket-mode} provides:
14324
14325 @itemize
14326 @item Focus on Racket (not various Schemes).
14327 @item Follow DrRacket concepts where applicable.
14328 @item Thorough font-lock and indent.
14329 @end itemize\n")
14330 (license license:gpl3+))))
14331
14332 (define-public emacs-grep-context
14333 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
14334 (revision "1"))
14335 (package
14336 (name "emacs-grep-context")
14337 (version (git-version "0.1.0" revision commit))
14338 (source
14339 (origin
14340 (method git-fetch)
14341 (uri (git-reference
14342 (url "https://github.com/mkcms/grep-context.git")
14343 (commit commit)))
14344 (file-name (git-file-name name version))
14345 (sha256
14346 (base32
14347 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
14348 (build-system emacs-build-system)
14349 (propagated-inputs
14350 `(("emacs-dash" ,emacs-dash)))
14351 (home-page "https://github.com/mkcms/grep-context")
14352 (synopsis "Increase context in compilation and grep buffers")
14353 (description
14354 "This package provides an Emacs package for more context in
14355 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
14356 @code{ivy}.")
14357 (license license:gpl3+))))
14358
14359 (define-public emacs-helm-firefox
14360 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
14361 (revision "1"))
14362 (package
14363 (name "emacs-helm-firefox")
14364 (version (string-append "0.0.1" "-" revision "."
14365 (string-take commit 7)))
14366 (source
14367 (origin
14368 (method git-fetch)
14369 (uri (git-reference
14370 (url "https://github.com/emacs-helm/helm-firefox.git")
14371 (commit commit)))
14372 (file-name (git-file-name name version))
14373 (sha256
14374 (base32
14375 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
14376 (propagated-inputs
14377 `(("emacs-helm" ,emacs-helm)))
14378 (build-system emacs-build-system)
14379 (home-page "https://github.com/emacs-helm/helm-firefox")
14380 (synopsis "Display firefox bookmarks with Emacs Helm interface")
14381 (description "Display firefox bookmarks with Emacs Helm interface")
14382 (license license:gpl3+))))
14383
14384 (define-public emacs-interactive-align
14385 (package
14386 (name "emacs-interactive-align")
14387 (version "0.4.2")
14388 (source
14389 (origin
14390 (method git-fetch)
14391 (uri (git-reference
14392 (url "https://github.com/mkcms/interactive-align.git")
14393 (commit (string-append "v" version))))
14394 (file-name (git-file-name name version))
14395 (sha256
14396 (base32
14397 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
14398 (build-system emacs-build-system)
14399 (home-page "https://github.com/mkcms/interactive-align/")
14400 (synopsis "Interactive align-regexp command in Emacs")
14401 (description "Interactive align-regexp command in Emacs")
14402 (license license:gpl3+)))
14403
14404 (define-public emacs-shift-number
14405 (package
14406 (name "emacs-shift-number")
14407 (version "0.1")
14408 (source
14409 (origin
14410 (method git-fetch)
14411 (uri (git-reference
14412 (url "https://github.com/alezost/shift-number.el")
14413 (commit (string-append "v" version))))
14414 (file-name (git-file-name name version))
14415 (sha256
14416 (base32
14417 "0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
14418 (build-system emacs-build-system)
14419 (home-page "https://github.com/alezost/shift-number.el")
14420 (synopsis "Increase or decrease the number at point")
14421 (description "@code{emacs-shift-number} provides commands
14422 @code{shift-number-up} to increase and @code{shift-number-down} to
14423 decrease the number at point.")
14424 (license license:gpl3+)))
14425
14426 (define-public emacs-highlight-defined
14427 (package
14428 (name "emacs-highlight-defined")
14429 (version "0.1.5")
14430 (source
14431 (origin
14432 (method git-fetch)
14433 (uri (git-reference
14434 (url "https://github.com/Fanael/highlight-defined.git")
14435 (commit version)))
14436 (file-name (git-file-name name version))
14437 (sha256
14438 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
14439 (build-system emacs-build-system)
14440 (home-page "https://github.com/Fanael/highlight-defined")
14441 (synopsis "Syntax highlighting of known Elisp symbols")
14442 (description "Minor mode providing syntax highlighting of known Emacs Lisp
14443 symbols. Currently the code distinguishes Lisp functions, built-in functions,
14444 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
14445 (license license:gpl3+)))
14446
14447 (define-public emacs-parinfer-mode
14448 (package
14449 (name "emacs-parinfer-mode")
14450 (version "0.4.10")
14451 (source
14452 (origin
14453 (method git-fetch)
14454 (uri (git-reference
14455 (url "https://github.com/DogLooksGood/parinfer-mode.git")
14456 (commit (string-append "v" version))))
14457 (file-name (git-file-name name version))
14458 (sha256
14459 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
14460 (propagated-inputs
14461 `(("emacs-dash" ,emacs-dash)
14462 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
14463 ("emacs-company" ,emacs-company)))
14464 (build-system emacs-build-system)
14465 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
14466 (synopsis "Lisp structure editing mode")
14467 (description "@code{parinfer-mode} is a proof-of-concept editor
14468 mode for Lisp programming languages. It will infer some changes to
14469 keep Parens and Indentation inline with one another.")
14470 (license license:gpl3+)))
14471
14472 (define-public emacs-helm-eww
14473 (package
14474 (name "emacs-helm-eww")
14475 (version "1.2")
14476 (source (origin
14477 (method git-fetch)
14478 (uri (git-reference
14479 (url "https://github.com/emacs-helm/helm-eww.git")
14480 (commit version)))
14481 (file-name (git-file-name name version))
14482 (sha256
14483 (base32
14484 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
14485 (propagated-inputs
14486 `(("emacs-helm" ,emacs-helm)))
14487 (build-system emacs-build-system)
14488 (home-page "https://github.com/emacs-helm/helm-eww/")
14489 (synopsis "Helm interface to EWW")
14490 (description "This package provides a Helm interface for EWW buffers,
14491 bookmarks and history.")
14492 (license license:gpl3+)))
14493
14494 (define-public emacs-stumpwm-mode
14495 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
14496 (package
14497 (name "emacs-stumpwm-mode")
14498 (version (git-version "0.0.1" "1" commit))
14499 (source (origin
14500 (method git-fetch)
14501 (uri (git-reference
14502 (url "https://github.com/stumpwm/stumpwm-contrib.git")
14503 (commit commit)))
14504 (file-name (git-file-name name version))
14505 (sha256
14506 (base32
14507 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
14508 (build-system emacs-build-system)
14509 (arguments
14510 `(#:phases
14511 (modify-phases %standard-phases
14512 (add-after 'unpack 'chdir-elisp
14513 ;; Elisp directory is not in root of the source.
14514 (lambda _
14515 (chdir "util/swm-emacs"))))))
14516 (home-page "https://github.com/stumpwm/stumpwm-contrib")
14517 (synopsis "Emacs minor-mode for Stumpwm")
14518 (description "Emacs minor-mode for Stumpwm")
14519 (license license:gpl3+))))
14520
14521 (define-public emacs-irfc
14522 (package
14523 (name "emacs-irfc")
14524 (version "20130824.507-1")
14525 (source
14526 (origin
14527 (method url-fetch)
14528 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
14529 (file-name (string-append "irfc-" version ".el"))
14530 (sha256
14531 (base32
14532 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
14533 (build-system emacs-build-system)
14534 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
14535 (synopsis "Interface for IETF RFC document")
14536 (description
14537 "This package provides an Emacs interface for IETF RFC document.")
14538 (license license:gpl3+)))
14539
14540 (define-public emacs-ido-vertical-mode
14541 (package
14542 (name "emacs-ido-vertical-mode")
14543 (version "0.1.6")
14544 (source
14545 (origin
14546 (method git-fetch)
14547 (uri (git-reference
14548 (url "https://github.com/creichert/ido-vertical-mode.el.git")
14549 (commit (string-append "v" version))))
14550 (file-name (git-file-name name version))
14551 (sha256
14552 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
14553 (build-system emacs-build-system)
14554 (home-page "https://github.com/creichert/ido-vertical-mode.el")
14555 (synopsis "Makes ido-mode display vertically")
14556 (description "Makes ido-mode display prospects vertically.")
14557 (license license:gpl3+)))
14558
14559 (define-public emacs-wordgen
14560 (package
14561 (name "emacs-wordgen")
14562 (version "0.1.4")
14563 (source
14564 (origin
14565 (method git-fetch)
14566 (uri (git-reference
14567 (url "https://github.com/Fanael/wordgen.el.git")
14568 (commit version)))
14569 (file-name (git-file-name name version))
14570 (sha256
14571 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
14572 (build-system emacs-build-system)
14573 (home-page "https://github.com/Fanael/wordgen.el")
14574 (synopsis "Random word generator")
14575 (description "This package provides functions to generate random words
14576 using user-provided rules.")
14577 (license license:gpl3+)))
14578
14579 (define-public emacs-on-screen
14580 (package
14581 (name "emacs-on-screen")
14582 (version "1.3.3")
14583 (source
14584 (origin
14585 (method url-fetch)
14586 (uri (string-append
14587 "https://elpa.gnu.org/packages/on-screen-" version ".el"))
14588 (file-name (string-append name "-" version ".el"))
14589 (sha256
14590 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
14591 (build-system emacs-build-system)
14592 (home-page "https://github.com/michael-heerdegen/on-screen.el")
14593 (synopsis "Guide your eyes while scrolling")
14594 (description
14595 "Scrolling can be distracting because your eyes may lose
14596 orientation. This library implements a minor mode that highlights
14597 the previously visible buffer part after each scroll.")
14598 (license license:gpl3+)))
14599
14600 (define-public emacs-highlight-escape-sequences
14601 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
14602 (revision "1"))
14603 (package
14604 (name "emacs-highlight-escape-sequences")
14605 (version (string-append "0.0.1" "-" revision "."
14606 (string-take commit 7)))
14607 (source
14608 (origin
14609 (method git-fetch)
14610 (uri (git-reference
14611 (url "https://github.com/dgutov/highlight-escape-sequences.git")
14612 (commit commit)))
14613 (file-name (git-file-name name version))
14614 (sha256
14615 (base32
14616 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
14617 (build-system emacs-build-system)
14618 (home-page "https://github.com/dgutov/highlight-escape-sequences")
14619 (synopsis "Highlight escape sequences in Emacs")
14620 (description "@code{highlight-escape-sequences} provides an
14621 Emacs minor mode to escape sequences in code.")
14622 (license license:gpl3+))))
14623
14624 (define-public emacs-dashboard
14625 (package
14626 (name "emacs-dashboard")
14627 (version "1.6.0")
14628 (source
14629 (origin
14630 (method git-fetch)
14631 (uri (git-reference
14632 (url "https://github.com/rakanalh/emacs-dashboard.git")
14633 (commit version)))
14634 (file-name (git-file-name name version))
14635 (sha256
14636 (base32 "1g6g8vad1kdmv1zxp95a8sn70idl26isqjb3xk1r95pqnx1cn591"))))
14637 (build-system emacs-build-system)
14638 (propagated-inputs
14639 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
14640 (arguments
14641 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
14642 #:phases
14643 (modify-phases %standard-phases
14644 (add-after 'unpack 'patch-dashboard-widgets
14645 ;; This phase fixes compilation error.
14646 (lambda _
14647 (chmod "dashboard-widgets.el" #o666)
14648 (emacs-substitute-variables "dashboard-widgets.el"
14649 ("dashboard-init-info"
14650 '(format "Loaded in %s" (emacs-init-time))))
14651 #t)))))
14652 (home-page "https://github.com/rakanalh/emacs-dashboard")
14653 (synopsis "Startup screen extracted from Spacemacs")
14654 (description "This package provides an extensible Emacs dashboard, with
14655 sections for bookmarks, projectil projects, org-agenda and more. ")
14656 (license license:gpl3+)))
14657
14658 (define-public emacs-slime-company
14659 (package
14660 (name "emacs-slime-company")
14661 (version "1.1")
14662 (source
14663 (origin
14664 (method git-fetch)
14665 (uri (git-reference
14666 (url "https://github.com/anwyn/slime-company.git")
14667 (commit (string-append "v" version))))
14668 (file-name (git-file-name name version))
14669 (sha256
14670 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
14671 (build-system emacs-build-system)
14672 (propagated-inputs
14673 `(("emacs-slime" ,emacs-slime)
14674 ("emacs-company" ,emacs-company)))
14675 (home-page "https://company-mode.github.io")
14676 (synopsis "SLIME completion backend for @code{company-mode}")
14677 (description
14678 "This is a backend implementation for the completion package
14679 @code{company-mode} which supports the normal and the fuzzy completion
14680 modes of SLIME.")
14681 (license license:gpl3+)))
14682
14683 (define-public emacs-sml-mode
14684 (package
14685 (name "emacs-sml-mode")
14686 (version "6.9")
14687 (source
14688 (origin
14689 (method url-fetch)
14690 (uri (string-append "https://elpa.gnu.org/packages/sml-mode-"
14691 version ".el"))
14692 (sha256
14693 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
14694 (build-system emacs-build-system)
14695 (home-page "https://elpa.gnu.org/packages/sml-mode.html")
14696 (synopsis "Major mode for editing (Standard) ML")
14697 (description "SML-MODE is a major Emacs mode for editing Standard ML.
14698 It provides syntax highlighting and automatic indentation and
14699 comes with sml-proc which allows interaction with an inferior SML
14700 interactive loop.")
14701 (license license:gpl3+)))
14702
14703 (define-public emacs-eros
14704 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
14705 (revision "2"))
14706 (package
14707 (name "emacs-eros")
14708 (version (git-version "0.0.1" revision commit))
14709 (source
14710 (origin
14711 (method git-fetch)
14712 (uri (git-reference
14713 (url "https://github.com/xiongtx/eros.git")
14714 (commit commit)))
14715 (file-name (git-file-name name version))
14716 (sha256
14717 (base32
14718 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
14719 (build-system emacs-build-system)
14720 (home-page "https://github.com/xiongtx/eros")
14721 (synopsis "Evaluation result overlays")
14722 (description "@code{eros} provides evaluation result overlays.")
14723 (license license:gpl3+))))
14724
14725 (define-public emacs-stickyfunc-enhance
14726 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
14727 (revision "1"))
14728 (package
14729 (name "emacs-stickyfunc-enhance")
14730 (version "0.1")
14731 (source
14732 (origin
14733 (method git-fetch)
14734 (uri (git-reference
14735 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
14736 (commit commit)))
14737 (file-name (git-file-name name version))
14738 (sha256
14739 (base32
14740 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
14741 (build-system emacs-build-system)
14742 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
14743 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
14744 (description
14745 "@code{semantic-stickyfunc-mode} shows the function point is currently
14746 in at the first line of the current buffer. This is useful when you have a
14747 very long function that spreads more than a screen, and you don't have to
14748 scroll up to read the function name and then scroll down to original position.")
14749 (license license:gpl3+))))
14750
14751 (define-public emacs-git-auto-commit-mode
14752 (package
14753 (name "emacs-git-auto-commit-mode")
14754 (version "4.5.0")
14755 (source
14756 (origin
14757 (method git-fetch)
14758 (uri (git-reference
14759 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
14760 (commit version)))
14761 (file-name (git-file-name name version))
14762 (sha256
14763 (base32 "1w3v9pmlmdxl4pglsb6j0igp13lbzg5bhbr1rv2vll93m6zxmyma"))))
14764 (build-system emacs-build-system)
14765 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
14766 (synopsis "Emacs Minor mode to automatically commit and push")
14767 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
14768 tries to commit changes to a file after every save.
14769
14770 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
14771 the current upstream.")
14772 (license license:gpl3+)))
14773
14774 (define-public emacs-scroll-on-drag
14775 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
14776 (revision "1"))
14777 (package
14778 (name "emacs-scroll-on-drag")
14779 (version (git-version "0.1" revision commit))
14780 (source
14781 (origin
14782 (method git-fetch)
14783 (uri (git-reference
14784 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
14785 (commit commit)))
14786 (file-name (git-file-name name version))
14787 (sha256
14788 (base32
14789 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
14790 (build-system emacs-build-system)
14791 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
14792 (synopsis "Interactive scrolling")
14793 (description "This package permits scrolling at increasing speeds based
14794 on drag distance.")
14795 (license license:gpl3+))))
14796
14797 (define-public emacs-company-restclient
14798 (package
14799 (name "emacs-company-restclient")
14800 (version "0.3.0")
14801 (source
14802 (origin
14803 (method git-fetch)
14804 (uri (git-reference
14805 (url "https://github.com/iquiw/company-restclient.git")
14806 (commit (string-append "v" version))))
14807 (file-name (git-file-name name version))
14808 (sha256
14809 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
14810 (build-system emacs-build-system)
14811 (propagated-inputs
14812 `(("emacs-company" ,emacs-company)
14813 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
14814 ("emacs-restclient" ,emacs-restclient)))
14815 (home-page "https://github.com/iquiw/company-restclient")
14816 (synopsis "Company-mode completion back-end for restclient-mode")
14817 (description "@code{company-mode} back-end for
14818 @code{restclient-mode}.
14819
14820 It provides auto-completion for HTTP methods and headers in
14821 @code{restclient-mode}. Completion source is given by
14822 @code{know-your-http-well}.")
14823 (license license:gpl3+)))
14824
14825 (define-public emacs-noflet
14826 (let ((version "20170629")
14827 (revision "1")
14828 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
14829 (package
14830 (name "emacs-noflet")
14831 (version (git-version version revision commit))
14832 (source
14833 (origin
14834 (method git-fetch)
14835 (uri (git-reference
14836 (url "https://github.com/nicferrier/emacs-noflet")
14837 (commit commit)))
14838 (file-name (git-file-name name version))
14839 (sha256
14840 (base32
14841 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
14842 (build-system emacs-build-system)
14843 (arguments
14844 `(#:phases
14845 (modify-phases %standard-phases
14846 (add-after 'unpack 'require-dash
14847 ;; noflet.el uses -map from dash, but (require 'dash) is
14848 ;; missing. So, add it.
14849 (lambda _
14850 (substitute* "noflet.el"
14851 ((";;; Code:") ";;; Code:\n(require 'dash)"))
14852 #t)))))
14853 (propagated-inputs
14854 `(("emacs-dash" ,emacs-dash)))
14855 (home-page "https://github.com/nicferrier/emacs-noflet")
14856 (synopsis "Locally override functions")
14857 (description "@code{emacs-noflet} lets you locally override functions,
14858 in the manner of @command{flet}, but with access to the original function
14859 through the symbol: @command{this-fn}.")
14860 (license license:gpl3+))))
14861
14862 (define-public emacs-dumb-jump
14863 (package
14864 (name "emacs-dumb-jump")
14865 (version "0.5.3")
14866 (source
14867 (origin
14868 (method git-fetch)
14869 (uri (git-reference
14870 (url "https://github.com/jacktasia/dumb-jump.git")
14871 (commit (string-append "v" version))))
14872 (file-name (git-file-name name version))
14873 (sha256
14874 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
14875 (build-system emacs-build-system)
14876 (arguments
14877 `(#:tests? #f ; FIXME: Tests freeze when run.
14878 #:test-command '("ert-runner")
14879 #:phases
14880 (modify-phases %standard-phases
14881 (add-after 'unpack 'set-shell
14882 (lambda _
14883 ;; Setting the SHELL environment variable is required for the
14884 ;; tests to find sh.
14885 (setenv "SHELL" (which "sh"))
14886 #t)))))
14887 (native-inputs
14888 `(("emacs-el-mock" ,emacs-el-mock)
14889 ("emacs-noflet" ,emacs-noflet)
14890 ("emacs-undercover" ,emacs-undercover)
14891 ("ert-runner" ,emacs-ert-runner)))
14892 (propagated-inputs
14893 `(("emacs-f" ,emacs-f)
14894 ("emacs-popup" ,emacs-popup)))
14895 (home-page "https://github.com/jacktasia/dumb-jump")
14896 (synopsis "Jump to definition for multiple languages without configuration")
14897 (description "Dumb Jump is an Emacs \"jump to definition\" package with
14898 support for multiple programming languages that favors \"just working\" over
14899 speed or accuracy. This means minimal --- and ideally zero --- configuration
14900 with absolutely no stored indexes (tags) or persistent background processes.
14901 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
14902 @command{rg} installed.")
14903 (license license:gpl3+)))
14904
14905 (define-public emacs-dts-mode
14906 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
14907 (revision "1"))
14908 (package
14909 (name "emacs-dts-mode")
14910 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
14911 (source
14912 (origin
14913 (method git-fetch)
14914 (uri (git-reference
14915 (url "https://github.com/bgamari/dts-mode.git")
14916 (commit commit)))
14917 (file-name (git-file-name name version))
14918 (sha256
14919 (base32
14920 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
14921 (build-system emacs-build-system)
14922 (home-page "https://github.com/bgamari/dts-mode.git")
14923 (synopsis "Emacs minor mode for editing device tree files")
14924 (description
14925 "This package provides an Emacs minor mode for highlighting
14926 device tree files.")
14927 (license license:gpl3+))))
14928
14929 (define-public emacs-daemons
14930 (package
14931 (name "emacs-daemons")
14932 (version "2.0.0")
14933 (source
14934 (origin
14935 (method git-fetch)
14936 (uri (git-reference
14937 (url "https://github.com/cbowdon/daemons.el")
14938 (commit version)))
14939 (file-name (git-file-name name version))
14940 (sha256
14941 (base32
14942 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
14943 (build-system emacs-build-system)
14944 (home-page "https://github.com/cbowdon/daemons.el")
14945 (synopsis "Emacs UI for managing init system services")
14946 (description
14947 "This is an Emacs mode to give you a UI for managing init system
14948 daemons (services) for those getting tired of typing out @code{sudo service
14949 my_thing reload} all the time. It offers a consistent UI over different init
14950 systems.")
14951 (license license:gpl3+)))
14952
14953 (define-public emacs-isearch+
14954 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
14955 (revision "2"))
14956 (package
14957 (name "emacs-isearch+")
14958 (version (git-version "0" revision commit))
14959 (source
14960 (origin
14961 (method git-fetch)
14962 (uri (git-reference
14963 (url "https://github.com/emacsmirror/isearch-plus.git")
14964 (commit commit)))
14965 (file-name (git-file-name name version))
14966 (sha256
14967 (base32
14968 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
14969 (build-system emacs-build-system)
14970 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
14971 (synopsis "Extensions to @code{isearch.el}")
14972 (description "This package extends @code{isearch} with advice, dynamic
14973 filters, highlighting of regexp group levels, and more.")
14974 (license license:gpl2+))))
14975
14976 (define-public emacs-eshell-bookmark
14977 (package
14978 (name "emacs-eshell-bookmark")
14979 (version "2.0.0")
14980 (source
14981 (origin
14982 (method git-fetch)
14983 (uri (git-reference
14984 (url "https://github.com/Fuco1/eshell-bookmark")
14985 (commit version)))
14986 (file-name (git-file-name name version))
14987 (sha256
14988 (base32
14989 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
14990 (build-system emacs-build-system)
14991 (home-page "https://github.com/Fuco1/eshell-bookmark")
14992 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
14993 (description
14994 "This package allows for bookmarking @code{eshell} buffers. Upon
14995 visiting the bookmark, a new @code{eshell} session will be opened in the
14996 appropriate directory if no @code{eshell} session is active.")
14997 (license license:gpl3+)))
14998
14999 (define-public emacs-eshell-z
15000 (package
15001 (name "emacs-eshell-z")
15002 (version "0.4")
15003 (source
15004 (origin
15005 (method git-fetch)
15006 (uri (git-reference
15007 (url "https://github.com/xuchunyang/eshell-z")
15008 (commit (string-append "v" version))))
15009 (file-name (git-file-name name version))
15010 (sha256
15011 (base32
15012 "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
15013 (build-system emacs-build-system)
15014 (home-page "https://github.com/xuchunyang/eshell-z")
15015 (synopsis "Quick navigation to frequently visited directories")
15016 (description
15017 "This package is a port of @code{z}, and keeps track of visited directories
15018 and commands invoked within them in order to enable navigation via input of
15019 matching regexps.")
15020 (license license:gpl3+)))
15021
15022 (define-public emacs-esh-autosuggest
15023 (package
15024 (name "emacs-esh-autosuggest")
15025 (version "2.0.0")
15026 (source
15027 (origin
15028 (method git-fetch)
15029 (uri (git-reference
15030 (url "https://github.com/dieggsy/esh-autosuggest")
15031 (commit version)))
15032 (file-name (git-file-name name version))
15033 (sha256
15034 (base32
15035 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
15036 (build-system emacs-build-system)
15037 (propagated-inputs `(("emacs-company" ,emacs-company)))
15038 (home-page "https://github.com/dieggsy/esh-autosuggest")
15039 (synopsis "Fish-like autosuggestions in Eshell")
15040 (description
15041 "This package assumes you use something other than company for eshell
15042 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
15043 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
15044 for history autosuggestions.
15045
15046 Unless you're using @code{use-package}'s hook keyword, you can enable the
15047 autosuggestions with:
15048 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
15049 (license license:gpl3+)))
15050
15051 (define-public emacs-desktop-environment
15052 (package
15053 (name "emacs-desktop-environment")
15054 (version "0.3.0")
15055 (source
15056 (origin
15057 (method git-fetch)
15058 (uri (git-reference
15059 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
15060 (commit (string-append "v" version))))
15061 (file-name (git-file-name name version))
15062 (sha256
15063 (base32
15064 "195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2"))))
15065 (build-system emacs-build-system)
15066 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
15067 (synopsis "Control your GNU/Linux desktop environment from Emacs")
15068 (description
15069 "This package helps you control your GNU/Linux desktop from Emacs.
15070 With @code{desktop-environment}, you can control the brightness and volume as
15071 well as take screenshots and lock your screen. The package depends on the
15072 availability of shell commands to do the hard work for us. These commands can
15073 be changed by customizing the appropriate variables.")
15074 (license license:gpl3+)))
15075
15076 (define-public emacs-org-caldav
15077 (let ((commit "a563500c9884f38ce08793e2964f8274adde163d"))
15078 (package
15079 (name "emacs-org-caldav")
15080 (version (git-version "0.0.0" "1" commit))
15081 (source
15082 (origin
15083 (method git-fetch)
15084 (uri (git-reference
15085 (url "https://github.com/dengste/org-caldav.git")
15086 (commit commit)))
15087 (file-name (git-file-name name version))
15088 (sha256
15089 (base32
15090 "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"))))
15091 (build-system emacs-build-system)
15092 (arguments
15093 ;; Tests require to have two specific calendars on a test server.
15094 `(#:exclude '("^org-caldav-testsuite\\.el")))
15095 (propagated-inputs
15096 `(("emacs-org" ,emacs-org)))
15097 (home-page "https://github.com/dengste/org-caldav")
15098 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
15099 (description "Synchronize between events in Org files and a CalDAV
15100 calendar.")
15101 (license license:gpl3+))))
15102
15103 (define-public emacs-zotxt
15104 (package
15105 (name "emacs-zotxt")
15106 (version "20180518")
15107 (source
15108 (origin
15109 (method git-fetch)
15110 (uri (git-reference
15111 (url "https://github.com/egh/zotxt-emacs.git")
15112 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
15113 (file-name (git-file-name name version))
15114 (sha256
15115 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
15116 (build-system emacs-build-system)
15117 (propagated-inputs
15118 `(("emacs-deferred" ,emacs-deferred)
15119 ("emacs-request" ,emacs-request)))
15120 (home-page "https://github.com/egh/zotxt-emacs")
15121 (synopsis "Integrate Emacs with Zotero")
15122 (description "This package provides two integration features between Emacs
15123 and the Zotero research assistant: Insertion of links to Zotero items into an
15124 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
15125 (license license:gpl3+)))
15126
15127 (define-public emacs-evil-ediff
15128 ;; Evil-Ediff is included in Evil Collection from 20180617.
15129 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
15130
15131 (define-public emacs-evil-magit
15132 (let ((commit "4b66a1db8285457147a5436f209391016a819ea1")
15133 (revision "3"))
15134 (package
15135 (name "emacs-evil-magit")
15136 (version (git-version "0.4.2" revision commit))
15137 (source
15138 (origin
15139 (method git-fetch)
15140 (uri (git-reference
15141 (url "https://github.com/emacs-evil/evil-magit")
15142 (commit commit)))
15143 (file-name (git-file-name name version))
15144 (sha256
15145 (base32
15146 "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h"))))
15147 (build-system emacs-build-system)
15148 (propagated-inputs
15149 `(("emacs-evil" ,emacs-evil)
15150 ("magit" ,emacs-magit)))
15151 (arguments
15152 `(#:tests? #t
15153 #:test-command '("emacs" "-Q" "-batch"
15154 "-L" "."
15155 "-l" "evil-magit-tests"
15156 "-f" "ert-run-tests-batch-and-exit")))
15157 (home-page
15158 "https://github.com/emacs-evil/evil-magit")
15159 (synopsis "Evil-based key bindings for Magit")
15160 (description
15161 "This Emacs library configures Magit and Evil to play well with each other.
15162 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
15163 See the README at @url{https://github.com/justbur/evil-magit} for a table
15164 describing the key binding changes.")
15165 (license license:gpl3+))))
15166
15167 (define-public emacs-evil-mu4e
15168 ;; Evil-mu4e is included in Evil Collection from 20180617.
15169 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
15170
15171 (define-public emacs-evil-multiedit
15172 (package
15173 (name "emacs-evil-multiedit")
15174 (version "1.3.9")
15175 (source
15176 (origin
15177 (method git-fetch)
15178 (uri (git-reference
15179 (url "https://github.com/hlissner/evil-multiedit")
15180 (commit (string-append "v" version))))
15181 (file-name (git-file-name name version))
15182 (sha256
15183 (base32
15184 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
15185 (build-system emacs-build-system)
15186 (propagated-inputs
15187 `(("emacs-evil" ,emacs-evil)
15188 ("emacs-iedit" ,emacs-iedit)))
15189 (native-inputs
15190 `(("emacs-ert-runner" ,emacs-ert-runner)))
15191 (arguments
15192 `(#:phases
15193 (modify-phases %standard-phases
15194 (add-before 'check 'fix-makefile
15195 (lambda _
15196 (substitute* "Makefile"
15197 (("@cask exec ") ""))
15198 #t)))
15199 #:tests? #t
15200 #:test-command '("make" "test")))
15201 (home-page
15202 "https://github.com/hlissner/evil-multiedit")
15203 (synopsis "Multiple cursors for Evil mode")
15204 (description
15205 "This plugin was an answer to the lack of proper multiple cursor support
15206 in Emacs+Evil. It allows you to select and edit matches interactively,
15207 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
15208 defaults.")
15209 (license license:gpl3+)))
15210
15211 (define-public emacs-evil-mc
15212 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
15213 (revision "2"))
15214 (package
15215 (name "emacs-evil-mc")
15216 (version (git-version "0.0.3" revision commit))
15217 (source
15218 (origin
15219 (method git-fetch)
15220 (uri (git-reference
15221 (url "https://github.com/gabesoft/evil-mc.git")
15222 (commit commit)))
15223 (file-name (git-file-name name version))
15224 (sha256
15225 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
15226 (build-system emacs-build-system)
15227 (propagated-inputs
15228 `(("emacs-evil" ,emacs-evil)))
15229 (native-inputs
15230 `(("emacs-espuds" ,emacs-espuds)))
15231 (home-page "https://github.com/gabesoft/evil-mc")
15232 (synopsis "Interactive search compatible with @code{multiple-cursors}")
15233 (description "This package can be used with @code{multiple-cursors} to
15234 provide an incremental search that moves all fake cursors in sync.")
15235 (license license:expat))))
15236
15237 (define-public emacs-evil-org
15238 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
15239 (package
15240 (name "emacs-evil-org")
15241 (version (git-version "0.1.1" "1" commit))
15242 (source
15243 (origin
15244 (method git-fetch)
15245 (uri (git-reference
15246 (url "https://github.com/Somelauw/evil-org-mode")
15247 (commit commit)))
15248 (file-name (git-file-name name version))
15249 (sha256
15250 (base32
15251 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
15252 (build-system emacs-build-system)
15253 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
15254 (home-page
15255 "https://github.com/Somelauw/evil-org-mode")
15256 (synopsis "Evil keybindings for Org mode")
15257 (description
15258 "This package adds supplemental Evil mode key-bindings to Emacs
15259 Org-mode. It features:
15260 @itemize
15261 @item normal, visual and insert mode bindings;
15262 @item key bindings organised in key themes;
15263 @item operators like > and < to work on headings;
15264 @item text objects;
15265 @item table support;
15266 @item calendar (date selection) support;
15267 @item agenda support.
15268 @end itemize\n")
15269 (license license:gpl3+))))
15270
15271 (define-public emacs-debpaste
15272 (package
15273 (name "emacs-debpaste")
15274 (version "0.1.5")
15275 (home-page "https://github.com/alezost/debpaste.el")
15276 (source
15277 (origin
15278 (method git-fetch)
15279 (uri (git-reference (url home-page)
15280 (commit (string-append "v" version))))
15281 (file-name (git-file-name name version))
15282 (sha256
15283 (base32
15284 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
15285 (build-system emacs-build-system)
15286 (propagated-inputs
15287 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
15288 (synopsis "Manipulate pastes from the Debian Pastezone")
15289 (description "Debpaste is an Emacs interface for the Debian Pastezone,
15290 allowing you to receive, post, and delete pastes. It communicates with the
15291 server using XML-RPC.")
15292 (license license:gpl3+)))
15293
15294 (define-public emacs-xml-rpc
15295 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
15296 (revision "1"))
15297 (package
15298 (name "emacs-xml-rpc")
15299 (version (git-version "1.6.12" revision commit))
15300 (source
15301 (origin
15302 (method git-fetch)
15303 (uri (git-reference
15304 (url "https://github.com/hexmode/xml-rpc-el")
15305 (commit commit)))
15306 (file-name (git-file-name name version))
15307 (sha256
15308 (base32
15309 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
15310 (build-system emacs-build-system)
15311 (home-page "https://github.com/hexmode/xml-rpc-el")
15312 (synopsis "XML-RPC client for Emacs")
15313 (description "This package provides an XML-RPC client for Emacs capable
15314 of both synchronous and asynchronous method calls using the @code{url}
15315 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
15316 datatypes as Lisp values, automatically converting to and from the XML
15317 datastructures as needed, both for method parameters and return values, making
15318 using XML-RPC methods fairly transparent to the Lisp code.")
15319 (license license:gpl3+))))
15320
15321 (define-public emacs-xpm
15322 (package
15323 (name "emacs-xpm")
15324 (version "1.0.4")
15325 (source
15326 (origin
15327 (method url-fetch)
15328 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
15329 version ".tar"))
15330 (sha256
15331 (base32
15332 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
15333 (build-system emacs-build-system)
15334 (home-page "https://elpa.gnu.org/packages/xpm.html")
15335 (synopsis "XPM image editing mode for Emacs")
15336 (description "This Emacs package makes editing XPM images easy (and maybe
15337 fun). Editing is done directly on the (textual) image format, for maximal
15338 cohesion with the Emacs Way.")
15339 (license license:gpl3+)))
15340
15341 (define-public emacs-fish-completion
15342 (package
15343 (name "emacs-fish-completion")
15344 (version "1.2")
15345 (source
15346 (origin
15347 (method git-fetch)
15348 (uri (git-reference
15349 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
15350 (commit version)))
15351 (file-name (git-file-name name version))
15352 (sha256
15353 (base32
15354 "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"))))
15355 (build-system emacs-build-system)
15356 (inputs `(("fish" ,fish)))
15357 (arguments
15358 `(#:phases
15359 (modify-phases %standard-phases
15360 (add-after 'unpack 'configure
15361 (lambda* (#:key inputs outputs #:allow-other-keys)
15362 (let ((fish (assoc-ref inputs "fish")))
15363 ;; Specify the absolute file names of the various
15364 ;; programs so that everything works out-of-the-box.
15365 (make-file-writable "fish-completion.el")
15366 (emacs-substitute-variables
15367 "fish-completion.el"
15368 ("fish-completion-command"
15369 (string-append fish "/bin/fish")))))))))
15370 (home-page
15371 "https://gitlab.com/Ambrevar/emacs-fish-completion")
15372 (synopsis "Fish completion for Emacs pcomplete")
15373 (description
15374 "This package provides completion for the Fish shell to pcomplete (used
15375 by shell and Eshell). You can set it up globally with:
15376
15377 @example
15378 (when (and (executable-find \"fish\")
15379 (require 'fish-completion nil t))
15380 (global-fish-completion-mode))
15381 @end example
15382
15383 Alternatively, you can call the @code{fish-completion-mode} manually or in
15384 shell/Eshell mode hook.
15385
15386 The package @code{emacs-bash-completion} is an optional dependency: if available,
15387 @code{fish-completion-complete} can be configured to fall back on bash to further
15388 try completing. See @code{fish-completion-fallback-on-bash-p}.")
15389 (license license:gpl3+)))
15390
15391 (define-public emacs-gif-screencast
15392 (package
15393 (name "emacs-gif-screencast")
15394 (version "1.1")
15395 (source
15396 (origin
15397 (method git-fetch)
15398 (uri (git-reference
15399 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
15400 (commit version)))
15401 (file-name (git-file-name name version))
15402 (sha256
15403 (base32
15404 "1g1by8lvf8c9vzm4wwsi5kp285kaj0ahsl54048ympin4pi0njw9"))))
15405 (build-system emacs-build-system)
15406 (inputs
15407 `(("scrot" ,scrot)
15408 ("imagemagick" ,imagemagick)
15409 ("gifsicle" ,gifsicle)))
15410 (arguments
15411 `(#:phases
15412 (modify-phases %standard-phases
15413 (add-after 'unpack 'configure
15414 (lambda* (#:key inputs outputs #:allow-other-keys)
15415 (let ((scrot (assoc-ref inputs "scrot"))
15416 (imagemagick (assoc-ref inputs "imagemagick"))
15417 (gifsicle (assoc-ref inputs "gifsicle")))
15418 (make-file-writable "gif-screencast.el")
15419 ;; Specify the absolute file names of the various
15420 ;; programs so that everything works out-of-the-box.
15421 (emacs-substitute-variables
15422 "gif-screencast.el"
15423 ("gif-screencast-program"
15424 (string-append scrot "/bin/scrot"))
15425 ("gif-screencast-convert-program"
15426 (string-append imagemagick "/bin/convert"))
15427 ("gif-screencast-cropping-program"
15428 (string-append imagemagick "/bin/mogrify"))
15429 ("gif-screencast-optimize-program"
15430 (string-append gifsicle "/bin/gifsicle")))))))))
15431 (home-page
15432 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
15433 (synopsis "One-frame-per-action GIF recording")
15434 (description
15435 "Call @code{gif-screencast} to start a recording.
15436 A screenshot is taken for every user action. Call
15437 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
15438 the GIF result.")
15439 (license license:gpl3+)))
15440
15441 (define-public emacs-google-translate
15442 (package
15443 (name "emacs-google-translate")
15444 (version "0.11.18")
15445 (source
15446 (origin
15447 (method git-fetch)
15448 (uri (git-reference
15449 (url "https://github.com/atykhonov/google-translate/")
15450 (commit (string-append "v" version))))
15451 (file-name (git-file-name name version))
15452 (sha256
15453 (base32
15454 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
15455 (build-system emacs-build-system)
15456 (home-page "https://github.com/atykhonov/google-translate")
15457 (synopsis "Emacs interface to Google Translate")
15458 (description
15459 "This package provides an Emacs interface to the Google Translate
15460 on-line service.")
15461 (license license:gpl3+)))
15462
15463 (define-public emacs-helm-company
15464 (package
15465 (name "emacs-helm-company")
15466 (version "0.2.5")
15467 (source
15468 (origin
15469 (method git-fetch)
15470 (uri (git-reference
15471 (url "https://github.com/Sodel-the-Vociferous/helm-company")
15472 (commit (string-append "v" version))))
15473 (file-name (git-file-name name version))
15474 (sha256
15475 (base32
15476 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
15477 (build-system emacs-build-system)
15478 (propagated-inputs
15479 `(("emacs-helm" ,emacs-helm)
15480 ("emacs-company" ,emacs-company)))
15481 (native-inputs
15482 `(("emacs-ert-runner" ,emacs-ert-runner)))
15483 (arguments
15484 `(#:tests? #t
15485 #:test-command '("ert-runner")))
15486 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
15487 (synopsis "Helm interface for company-mode")
15488 (description
15489 "This is a Helm interface to company-mode, a text completion
15490 framework.")
15491 (license license:gpl3+)))
15492
15493 (define-public emacs-helm-descbinds
15494 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
15495 (package
15496 (name "emacs-helm-descbinds")
15497 (version (git-version "1.13" "1" commit))
15498 (source
15499 (origin
15500 (method git-fetch)
15501 (uri (git-reference
15502 (url "https://github.com/emacs-helm/helm-descbinds")
15503 (commit commit)))
15504 (file-name (git-file-name name version))
15505 (sha256
15506 (base32
15507 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
15508 (build-system emacs-build-system)
15509 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15510 (home-page "https://github.com/emacs-helm/helm-descbinds")
15511 (synopsis "Convenient @code{describe-bindings} with Helm")
15512 (description
15513 "This package is a replacement of @code{describe-bindings} for Helm.
15514 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
15515 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
15516 @code{helm-descbinds}. The bindings are presented in a similar way as
15517 @code{describe-bindings} does, but you can use completion to find the command
15518 you searched for and execute it, or view its documentation.")
15519 (license license:gpl3+))))
15520
15521 (define-public emacs-helm-emms
15522 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
15523 (package
15524 (name "emacs-helm-emms")
15525 (version (git-version "1.3" "2" commit))
15526 (source
15527 (origin
15528 (method git-fetch)
15529 (uri (git-reference
15530 (url "https://github.com/emacs-helm/helm-emms")
15531 (commit commit)))
15532 (file-name (git-file-name name version))
15533 (sha256
15534 (base32
15535 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
15536 (build-system emacs-build-system)
15537 (propagated-inputs
15538 `(("emacs-helm" ,emacs-helm)
15539 ("emacs-emms" ,emacs-emms)))
15540 (home-page
15541 "https://github.com/emacs-helm/helm-emms")
15542 (synopsis "Emms for Helm")
15543 (description "Helm interface for Emms to browse all tracks and all folders
15544 from @code{emms-source-file-default-directory}.")
15545 (license license:gpl3+))))
15546
15547 (define-public emacs-helm-exwm
15548 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
15549 (package
15550 (name "emacs-helm-exwm")
15551 (version (git-version "20180703" "2" commit))
15552 (source
15553 (origin
15554 (method git-fetch)
15555 (uri (git-reference
15556 (url "https://github.com/emacs-helm/helm-exwm.git")
15557 (commit commit)))
15558 (file-name (git-file-name name version))
15559 (sha256
15560 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
15561 (build-system emacs-build-system)
15562 (propagated-inputs
15563 `(("emacs-helm" ,emacs-helm)
15564 ("emacs-exwm" ,emacs-exwm)))
15565 (home-page
15566 "https://github.com/emacs-helm/helm-exwm")
15567 (synopsis "Helm for EXWM buffers")
15568 (description
15569 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
15570 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
15571 switch between the various windows of one or several specific applications.
15572 See @code{helm-exwm-switch-browser} for an example.")
15573 (license license:gpl3+))))
15574
15575 (define-public emacs-helm-flycheck
15576 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
15577 (package
15578 (name "emacs-helm-flycheck")
15579 (version (git-version "0.4" "1" commit))
15580 (source
15581 (origin
15582 (method git-fetch)
15583 (uri (git-reference
15584 (url "https://github.com/yasuyk/helm-flycheck")
15585 (commit commit)))
15586 (file-name (git-file-name name version))
15587 (sha256
15588 (base32
15589 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
15590 (build-system emacs-build-system)
15591 (propagated-inputs
15592 `(("emacs-dash" ,emacs-dash)
15593 ("emacs-flycheck" ,emacs-flycheck)
15594 ("emacs-helm" ,emacs-helm)))
15595 (home-page "https://github.com/yasuyk/helm-flycheck")
15596 (synopsis "Show Flycheck errors with Helm")
15597 (description
15598 "This integrates Flycheck with Helm.")
15599 (license license:gpl3+))))
15600
15601 (define-public emacs-helm-ls-git
15602 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
15603 (package
15604 (name "emacs-helm-ls-git")
15605 (version (git-version "1.9.1" "1" commit))
15606 (source
15607 (origin
15608 (method git-fetch)
15609 (uri (git-reference
15610 (url "https://github.com/emacs-helm/helm-ls-git")
15611 (commit commit)))
15612 (file-name (git-file-name name version))
15613 (sha256
15614 (base32
15615 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
15616 (build-system emacs-build-system)
15617 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15618 (home-page "https://github.com/emacs-helm/helm-ls-git")
15619 (synopsis "Helm interface for listing the files in a Git repository")
15620 (description
15621 "This package provides a Helm interface for Git files.
15622 @itemize
15623 @item Display the open buffers in project.
15624 @item Display a status source showing state of project (modified files etc.).
15625 @item Display a list of all files in project under git control.
15626 @item Quickly look at diffs of modified files.
15627 @item Allow switching to @code{git status} with your preferred frontend
15628 (vc-dir, Magit,etc.).
15629 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
15630 can use ack-grep instead of grep).
15631 @item Integrate usage of gid from id-utils.
15632 @item Full integration with @code{helm-find-files}, allow you to browse
15633 projects unrelated to current-buffer.
15634 @item In addition, all actions of type files and buffers are provided.
15635 @end itemize\n")
15636 (license license:gpl3+))))
15637
15638 (define-public emacs-helm-mu
15639 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
15640 (package
15641 (name "emacs-helm-mu")
15642 (version (git-version "20180513" "1" commit))
15643 (source
15644 (origin
15645 (method git-fetch)
15646 (uri (git-reference
15647 (url "https://github.com/emacs-helm/helm-mu.git")
15648 (commit commit)))
15649 (file-name (git-file-name name version))
15650 (sha256
15651 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
15652 (build-system emacs-build-system)
15653 (propagated-inputs
15654 `(("emacs-helm" ,emacs-helm)
15655 ("mu" ,mu)))
15656 (home-page
15657 "https://github.com/emacs-helm/helm-mu")
15658 (synopsis
15659 "Helm sources for searching emails and contacts")
15660 (description
15661 "Helm sources for searching emails and contacts using @code{mu} and
15662 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
15663 Emacs build on top of mu. Mu is highly efficient making it possible to get
15664 instant results even for huge maildirs. It also provides search operators,
15665 e.g: @code{from:Peter to:Anne flag:attach search term}.")
15666 (license license:gpl3+))))
15667
15668 (define-public emacs-helm-pass
15669 (package
15670 (name "emacs-helm-pass")
15671 (version "0.3")
15672 (source
15673 (origin
15674 (method git-fetch)
15675 (uri (git-reference
15676 (url "https://github.com/emacs-helm/helm-pass")
15677 (commit version)))
15678 (file-name (git-file-name name version))
15679 (sha256
15680 (base32
15681 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
15682 (build-system emacs-build-system)
15683 (propagated-inputs
15684 `(("emacs-helm" ,emacs-helm)
15685 ("emacs-password-store" ,emacs-password-store)))
15686 (home-page "https://github.com/emacs-helm/helm-pass")
15687 (synopsis "Helm interface to pass, the standard Unix password manager")
15688 (description
15689 "Users of @code{helm-pass} may also be interested in functionality
15690 provided by other Emacs packages dealing with pass:
15691 @itemize
15692 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
15693 @item @code{emacs-pass}, a major mode for @code{pass}.
15694 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
15695 @code{pass}, included in Emacs 26+).
15696 @end itemize\n")
15697 (license license:gpl3+)))
15698
15699 (define-public emacs-image+
15700 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
15701 (package
15702 (name "emacs-image+")
15703 (version (git-version "0.6.2" "1" commit))
15704 (source
15705 (origin
15706 (method git-fetch)
15707 (uri (git-reference
15708 (url "https://github.com/mhayashi1120/Emacs-imagex")
15709 (commit commit)))
15710 (file-name (git-file-name name version))
15711 (sha256
15712 (base32
15713 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
15714 (build-system emacs-build-system)
15715 (inputs `(("imagemagick" ,imagemagick)))
15716 (arguments
15717 `(#:phases
15718 (modify-phases %standard-phases
15719 (add-after 'unpack 'configure
15720 (lambda* (#:key inputs outputs #:allow-other-keys)
15721 (let ((imagemagick (assoc-ref inputs "imagemagick")))
15722 ;; Specify the absolute file names of the various
15723 ;; programs so that everything works out-of-the-box.
15724 (chmod "image+.el" #o666)
15725 (emacs-substitute-variables
15726 "image+.el"
15727 ("imagex-convert-command"
15728 (string-append imagemagick "/bin/convert"))
15729 ("imagex-identify-command"
15730 (string-append imagemagick "/bin/identify")))))))))
15731 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
15732 (synopsis "Image manipulation extensions for Emacs")
15733 (description
15734 "Image+ provides keybindings allowing you to zoom in or zoom out of an
15735 image, rotate it, save modified images, and more.")
15736 (license license:gpl3+))))
15737
15738 (define-public emacs-package-lint
15739 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
15740 (package
15741 (name "emacs-package-lint")
15742 (version (git-version "0.5" "1" commit))
15743 (source
15744 (origin
15745 (method git-fetch)
15746 (uri (git-reference
15747 (url "https://github.com/purcell/package-lint")
15748 (commit commit)))
15749 (file-name (git-file-name name version))
15750 (sha256
15751 (base32
15752 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
15753 (build-system emacs-build-system)
15754 (home-page "https://github.com/purcell/package-lint")
15755 (synopsis "Linting library for elisp package authors")
15756 (description
15757 "This provides a list of issues with the Emacs package metadata of a file,
15758 e.g. the package dependencies it requires. See function
15759 @code{package-lint-buffer}. Checks will currently be enabled only if a
15760 \"Package-Requires:\" or \"Package-Version:\" header is present in the
15761 file.")
15762 (license license:gpl3+))))
15763
15764 (define-public emacs-picpocket
15765 (let ((version "40")
15766 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
15767 (package
15768 (name "emacs-picpocket")
15769 (version version)
15770 (source
15771 (origin
15772 (method git-fetch)
15773 (uri (git-reference
15774 (url "https://github.com/johanclaesson/picpocket")
15775 (commit commit)))
15776 (file-name (git-file-name name version))
15777 (sha256
15778 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
15779 (build-system emacs-build-system)
15780 (arguments ; needed for running tests
15781 `(#:tests? #t
15782 #:emacs ,emacs
15783 #:test-command '("emacs" "--batch"
15784 "-l" "picpocket-test.el"
15785 "-f" "ert-run-tests-batch-and-exit")))
15786 (home-page "https://github.com/johanclaesson/picpocket")
15787 (synopsis "Image viewer for Emacs")
15788 (description
15789 "Picpocket is an image viewer for GNU Emacs. It has commands for:
15790
15791 @itemize
15792 @item File operations on the picture files (delete, move, copy, hardlink).
15793 @item Scale and rotate the picture.
15794 @item Associate pictures with tags which are saved to disk.
15795 @item Filter pictures according to tags.
15796 @item Customizing keystrokes for quick tagging and file operations.
15797 @item Undo and browse history of undoable commands.
15798 @end itemize")
15799 (license license:gpl3+))))
15800
15801 (define-public emacs-wgrep-helm
15802 ;; `emacs-wgrep-helm' was mistakenly added.
15803 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
15804
15805 (define-public emacs-mu4e-conversation
15806 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
15807 (revision "5"))
15808 (package
15809 (name "emacs-mu4e-conversation")
15810 (version (git-version "0.0.1" revision commit))
15811 (source
15812 (origin
15813 (method git-fetch)
15814 (uri (git-reference
15815 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
15816 (commit commit)))
15817 (file-name (git-file-name name version))
15818 (sha256
15819 (base32
15820 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
15821 (build-system emacs-build-system)
15822 (propagated-inputs
15823 `(("mu" ,mu)))
15824 (home-page
15825 "https://gitlab.com/Ambrevar/mu4e-conversation")
15826 (synopsis
15827 "Show a complete thread in a single buffer")
15828 (description
15829 "This package offers an alternate view to mu4e's e-mail display. It
15830 shows all e-mails of a thread in a single view, where each correspondent has
15831 their own face. Threads can be displayed linearly (in which case e-mails are
15832 displayed in chronological order) or as an Org document where the node tree
15833 maps the thread tree.")
15834 (license license:gpl3+))))
15835
15836 (define-public emacs-pinentry
15837 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
15838 (revision "1"))
15839 (package
15840 (name "emacs-pinentry")
15841 (version (git-version "0.1" revision commit))
15842 (source
15843 (origin
15844 (method url-fetch)
15845 (uri (string-append
15846 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
15847 "/packages/pinentry/pinentry.el?id=" commit))
15848 (file-name (string-append "pinentry.el"))
15849 (sha256
15850 (base32
15851 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
15852 (build-system emacs-build-system)
15853 (propagated-inputs
15854 `(("gnupg" ,gnupg)))
15855 (home-page "https://elpa.gnu.org/packages/pinentry.html")
15856 (synopsis "GnuPG Pinentry server implementation")
15857 (description
15858 "This package allows GnuPG passphrase to be prompted through the
15859 minibuffer instead of graphical dialog.
15860
15861 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
15862 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
15863 server with @code{M-x pinentry-start}.")
15864 (license license:gpl3+))))
15865
15866 (define-public emacs-so-long
15867 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
15868 (revision "2"))
15869 (package
15870 (name "emacs-so-long")
15871 (version (git-version "1.0" revision commit))
15872 (source
15873 (origin
15874 (method git-fetch)
15875 (uri (git-reference
15876 (url "https://git.savannah.gnu.org/git/so-long.git")
15877 (commit commit)))
15878 (file-name (git-file-name name version))
15879 (sha256
15880 (base32
15881 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
15882 (build-system emacs-build-system)
15883 (home-page "https://www.emacswiki.org/emacs/SoLong")
15884 (synopsis "Improve performance in files with long lines")
15885 (description "This package improves the performance of Emacs when
15886 viewing files with long lines.")
15887 (license license:gpl3+))))
15888
15889 (define-public emacs-github-review
15890 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
15891 (revision "2"))
15892 (package
15893 (name "emacs-github-review")
15894 (version (git-version "0.1" revision commit))
15895 (source
15896 (origin
15897 (method git-fetch)
15898 (uri (git-reference
15899 (url "https://github.com/charignon/github-review")
15900 (commit commit)))
15901 (file-name (git-file-name name version))
15902 (sha256
15903 (base32
15904 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
15905 (build-system emacs-build-system)
15906 (inputs
15907 `(("emacs-dash" ,emacs-dash)
15908 ("emacs-s" ,emacs-s)
15909 ("emacs-ghub" ,emacs-ghub)))
15910 (native-inputs
15911 `(("emacs-buttercup" ,emacs-buttercup)
15912 ("emacs-undercover" ,emacs-undercover)))
15913 (arguments
15914 `(#:tests? #t
15915 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
15916 (home-page "https://github.com/charignon/github-review")
15917 (synopsis "Review GitHub pull requests within Emacs")
15918 (description "This package provides commands to pull in, comment on, and
15919 accept and reject GitHub pull requests.")
15920 (license license:gpl3+))))
15921
15922 (define-public emacs-deadgrep
15923 (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
15924 (revision "2"))
15925 (package
15926 (name "emacs-deadgrep")
15927 (version (git-version "0.8" revision commit))
15928 (source
15929 (origin
15930 (method git-fetch)
15931 (uri (git-reference
15932 (url "https://github.com/Wilfred/deadgrep")
15933 (commit commit)))
15934 (file-name (git-file-name name version))
15935 (sha256
15936 (base32
15937 "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
15938 (build-system emacs-build-system)
15939 (inputs
15940 `(("emacs-dash" ,emacs-dash)
15941 ("emacs-s" ,emacs-s)
15942 ("emacs-spinner" ,emacs-spinner)))
15943 (home-page "https://github.com/Wilfred/deadgrep")
15944 (synopsis "Frontend for @code{ripgrep}")
15945 (description "This package provides an Emacs interface for performing
15946 searches with @code{ripgrep}.")
15947 (license license:gpl3+))))
15948
15949 (define-public emacs-focus
15950 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
15951 (version "0.1.1")
15952 (revision "1"))
15953 (package
15954 (name "emacs-focus")
15955 (version (git-version version revision commit))
15956 (source
15957 (origin
15958 (method git-fetch)
15959 (uri (git-reference
15960 (url "https://github.com/larstvei/Focus")
15961 (commit commit)))
15962 (file-name (git-file-name name version))
15963 (sha256
15964 (base32
15965 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
15966 (build-system emacs-build-system)
15967 (home-page "https://github.com/larstvei/Focus")
15968 (synopsis "Minor mode for focusing in on relevant text")
15969 (description "This package provides a minor mode that dims the color of
15970 text in neighboring sections.")
15971 (license license:gpl3+))))
15972
15973 (define-public emacs-pandoc-mode
15974 (package
15975 (name "emacs-pandoc-mode")
15976 (version "2.27.2")
15977 (source
15978 (origin
15979 (method git-fetch)
15980 (uri (git-reference
15981 (url "https://github.com/joostkremers/pandoc-mode")
15982 (commit version)))
15983 (file-name (git-file-name name version))
15984 (sha256
15985 (base32
15986 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
15987 (build-system emacs-build-system)
15988 (propagated-inputs
15989 `(("emacs-dash" ,emacs-dash)
15990 ("emacs-hydra" ,emacs-hydra)))
15991 (home-page "https://github.com/joostkremers/pandoc-mode")
15992 (synopsis "Minor mode for interacting with Pandoc")
15993 (description "This package provides a Hydra menu for interacting with the
15994 Pandoc, the document-conversion tool.")
15995 (license license:bsd-3)))
15996
15997 (define-public emacs-ccls
15998 (let ((commit "aab3e31fd716daf59f9794e62d473357263e8cc0")
15999 (revision "4"))
16000 (package
16001 (name "emacs-ccls")
16002 (version (git-version "0.1" revision commit))
16003 (source
16004 (origin
16005 (method git-fetch)
16006 (uri (git-reference
16007 (url "https://github.com/MaskRay/emacs-ccls")
16008 (commit commit)))
16009 (file-name (git-file-name name version))
16010 (sha256
16011 (base32
16012 "1ykgw21ypyhwlyflppjcgqrj1xw4d9rld4z65qvwhk3f12cv113j"))))
16013 (build-system emacs-build-system)
16014 (propagated-inputs
16015 `(("ccls" ,ccls)
16016 ("emacs-dash" ,emacs-dash)
16017 ("emacs-projectile" ,emacs-projectile)
16018 ("emacs-lsp-mode" ,emacs-lsp-mode)))
16019 (home-page "https://github.com/MaskRay/emacs-ccls")
16020 (synopsis "Emacs support for the @code{ccls} language server")
16021 (description "This package extends @code{lsp-mode} to work with @code{C}
16022 and @code{C++} files through the @code{ccls} language server.")
16023 (license license:expat))))
16024
16025 (define-public emacs-org-brain
16026 (package
16027 (name "emacs-org-brain")
16028 (version "0.5")
16029 (source
16030 (origin
16031 (method git-fetch)
16032 (uri (git-reference
16033 (url "https://github.com/Kungsgeten/org-brain.git")
16034 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
16035 (file-name (git-file-name name version))
16036 (sha256
16037 (base32
16038 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
16039 (build-system emacs-build-system)
16040 (home-page "https://github.com/Kungsgeten/org-brain")
16041 (synopsis "Org-mode wiki and concept-mapping for Emacs")
16042 (description "@code{emacs-org-brain} implements a variant of concept
16043 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
16044 org-mode entries, where each entry is a file or a headline, and you can get a
16045 visual overview of the relationships between the entries: parents, children,
16046 siblings and friends. This visual overview can also be used to browse your
16047 entries. You can think of entries as nodes in a mind map, or pages in a
16048 wiki.")
16049 (license license:expat)))
16050
16051 (define-public emacs-recent-addresses
16052 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
16053 (revision "1"))
16054 (package
16055 (name "emacs-recent-addresses")
16056 (home-page "http://nschum.de/src/emacs/recent-addresses/")
16057 (version (git-version "0.1" revision commit))
16058 (source (origin
16059 (method git-fetch)
16060 (uri (git-reference
16061 ;; Note: Use a branch that works with Helm. Submitted
16062 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
16063 (url "https://github.com/civodul/recent-addresses.el")
16064 (commit commit)))
16065 (sha256
16066 (base32
16067 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
16068 (file-name (git-file-name name version))))
16069 (build-system emacs-build-system)
16070 (synopsis "Record recently-used email addressed and auto-complete them")
16071 (description
16072 "@code{recent-addresses} is an Emacs package that allows you to quickly
16073 look up previously used email addresses. It can be used alongside the Gnus
16074 email client.")
16075 (license license:gpl2+))))
16076
16077 (define-public emacs-fold-dwim
16078 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
16079 (revision "0"))
16080 (package
16081 (name "emacs-fold-dwim")
16082 (version (git-version "1.2" revision commit))
16083 (home-page "https://github.com/emacsattic/fold-dwim")
16084 (source (origin
16085 (method git-fetch)
16086 (uri (git-reference (url home-page) (commit commit)))
16087 (sha256
16088 (base32
16089 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
16090 (file-name (git-file-name name version))))
16091 (build-system emacs-build-system)
16092 (synopsis "Unified user interface for Emacs folding modes")
16093 (description
16094 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
16095 can do different things depending on the context. In this package, it means
16096 that, if the cursor is in a currently hidden folded construction, we want to
16097 show it; if it's not, we want to hide whatever fold the cursor is in.")
16098 (license license:gpl2+))))
16099
16100 (define-public emacs-markup-faces
16101 (package
16102 (name "emacs-markup-faces")
16103 (version "1.0.0")
16104 (source
16105 (origin
16106 (method url-fetch)
16107 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
16108 version ".el"))
16109 (sha256
16110 (base32
16111 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
16112 (build-system emacs-build-system)
16113 (home-page "https://github.com/sensorflo/markup-faces")
16114 (synopsis "Collection of Emacs faces for markup language modes")
16115 (description "emacs-markup-faces is like font-lock-faces, but tailored for
16116 markup languages instead programming languages. The sub group markup-faces-text
16117 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
16118 common look and feel, or let's say theme, across different markup language modes
16119 and 'text viewing modes' respectively.")
16120 (license license:gpl3+)))
16121
16122 (define-public emacs-adoc-mode
16123 (package
16124 (name "emacs-adoc-mode")
16125 (version "0.6.6")
16126 (source
16127 (origin
16128 (method git-fetch)
16129 (uri (git-reference
16130 (url "https://github.com/sensorflo/adoc-mode.git")
16131 (commit (string-append "V" version))))
16132 (file-name (git-file-name name version))
16133 (sha256
16134 (base32
16135 "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm"))))
16136 (build-system emacs-build-system)
16137 (arguments
16138 `(#:phases
16139 (modify-phases %standard-phases
16140 ;; See: https://github.com/sensorflo/adoc-mode/issues/39.
16141 (add-after 'unpack 'disable-failing-tests
16142 (lambda _
16143 (let-syntax
16144 ((disable-tests
16145 (syntax-rules ()
16146 ((_ file ())
16147 (syntax-error "test names list must not be empty"))
16148 ((_ file (test-name ...))
16149 (substitute* file
16150 (((string-append "^\\(ert-deftest " test-name ".*") all)
16151 (string-append all "(skip-unless nil)\n")) ...)))))
16152 (disable-tests "adoc-mode-test.el"
16153 ("adoctest-test-tempo-delimited-blocks"
16154 "adoctest-test-tempo-macros"
16155 "adoctest-test-tempo-paragraphs"
16156 "adoctest-test-tempo-passthroug-macros"
16157 "adoctest-test-tempo-quotes")))
16158 #t)))
16159 #:tests? #t
16160 #:test-command '("emacs" "-Q" "-batch"
16161 "-l" "adoc-mode-test.el"
16162 "-f" "ert-run-tests-batch-and-exit")))
16163 (propagated-inputs
16164 `(("emacs-markup-faces" ,emacs-markup-faces)))
16165 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
16166 (synopsis "AsciiDoc mode for Emacs")
16167 (description "This package provides an Emacs major mode for editing AsciiDoc
16168 files. It focuses on highlighting the document to improve readability.")
16169 (license license:gpl2+)))
16170
16171 (define-public emacs-rust-mode
16172 (package
16173 (name "emacs-rust-mode")
16174 (version "0.4.0")
16175 (source (origin
16176 (method git-fetch)
16177 (uri (git-reference
16178 (url "https://github.com/rust-lang/rust-mode")
16179 (commit version)))
16180 (file-name (git-file-name name version))
16181 (sha256
16182 (base32
16183 "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"))))
16184 (build-system emacs-build-system)
16185 (arguments
16186 `(#:phases
16187 (modify-phases %standard-phases
16188 (replace 'check
16189 (lambda _
16190 (invoke "sh" "run_rust_emacs_tests.sh"))))))
16191 (home-page "https://github.com/rust-lang/rust-mode")
16192 (synopsis "Major Emacs mode for editing Rust source code")
16193 (description "This package provides a major Emacs mode for editing Rust
16194 source code.")
16195 (license (list license:expat
16196 license:asl2.0))))
16197
16198 (define-public emacs-ztree
16199 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
16200 (package
16201 (name "emacs-ztree")
16202 (version (git-version "1.0.5" "1" commit))
16203 (source
16204 (origin
16205 (method git-fetch)
16206 (uri (git-reference
16207 (url "https://github.com/fourier/ztree")
16208 (commit commit)))
16209 (file-name (git-file-name name version))
16210 (sha256
16211 (base32
16212 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
16213 (build-system emacs-build-system)
16214 (home-page "https://github.com/fourier/ztree")
16215 (synopsis "Directory tree comparison mode for Emacs")
16216 (description "Ztree is a project dedicated to implementation of several
16217 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
16218 @command{ztree-diff} and @command{ztree-dir} (the basis of
16219 @command{ztree-diff}).")
16220 (license license:gpl3))))
16221
16222 (define-public emacs-helm-org-contacts
16223 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
16224 (package
16225 (name "emacs-helm-org-contacts")
16226 (version (git-version "20180707" "1" commit))
16227 (source
16228 (origin
16229 (method git-fetch)
16230 (uri (git-reference
16231 (url "https://github.com/tmalsburg/helm-org-contacts")
16232 (commit commit)))
16233 (file-name (git-file-name name version))
16234 (sha256
16235 (base32
16236 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
16237 (build-system emacs-build-system)
16238 (propagated-inputs
16239 `(("emacs-dash" ,emacs-dash)
16240 ("emacs-helm" ,emacs-helm)
16241 ("emacs-s" ,emacs-s)))
16242 (home-page "https://github.com/tmalsburg/helm-org-contacts")
16243 (synopsis "Helm source for org-contacts")
16244 (description "This Helm source can be used to search contacts stored in
16245 org-contacts format. There are actions for inserting postal addresses, email
16246 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
16247 was called.")
16248 (license license:gpl3))))
16249
16250 (define-public emacs-dired-du
16251 (package
16252 (name "emacs-dired-du")
16253 (version "0.5.2")
16254 (source
16255 (origin
16256 (method url-fetch)
16257 (uri (string-append
16258 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
16259 (sha256
16260 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
16261 (build-system emacs-build-system)
16262 (home-page "https://elpa.gnu.org/packages/dired-du.html")
16263 (synopsis "Dired with recursive directory sizes")
16264 (description
16265 "Display the recursive size of directories in Dired.
16266 This file defines a minor mode @command{dired-du-mode} to show the recursive
16267 size of directories in Dired buffers. If @command{du} program is available,
16268 then the directory sizes are obtained with it. Otherwise, the directory sizes
16269 are obtained with Lisp. The former is faster and provide a more precise
16270 value. For directories where the user doesn't have read permission, the
16271 recursive size is not obtained. Once this mode is enabled, every new Dired
16272 buffer displays recursive dir sizes.")
16273 (license license:gpl3+)))
16274
16275 (define-public emacs-dired-rsync
16276 (package
16277 (name "emacs-dired-rsync")
16278 (version "0.4")
16279 (source (origin
16280 (method git-fetch)
16281 (uri (git-reference
16282 (url "https://github.com/stsquad/dired-rsync.git")
16283 (commit version)))
16284 (file-name (git-file-name name version))
16285 (sha256
16286 (base32
16287 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
16288 (build-system emacs-build-system)
16289 (propagated-inputs
16290 `(("emacs-s" ,emacs-s)
16291 ("emacs-dash" ,emacs-dash)))
16292 (home-page "https://github.com/stsquad/dired-rsync/")
16293 (synopsis "Support for rsync from Emacs dired buffers")
16294 (description "This package adds a single command @code{dired-rsync} which
16295 allows the user to copy marked files in a dired buffer via @code{rsync}. This
16296 is useful, especially for large files, because the copy happens in the
16297 background and doesn’t lock up Emacs. It is also more efficient than using
16298 tramps own encoding methods for moving data between systems.")
16299 (license license:gpl3+)))
16300
16301 (define-public emacs-pcre2el
16302 ;; Last release is very old so we get the latest commit.
16303 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
16304 (package
16305 (name "emacs-pcre2el")
16306 (version (git-version "1.8" "1" commit))
16307 (source
16308 (origin
16309 (method git-fetch)
16310 (uri (git-reference
16311 (url "https://github.com/joddie/pcre2el")
16312 (commit commit)))
16313 (file-name (git-file-name name version))
16314 (sha256
16315 (base32
16316 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
16317 (build-system emacs-build-system)
16318 (home-page "https://github.com/joddie/pcre2el")
16319 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
16320 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
16321 Tools) is a utility for working with regular expressions in Emacs, based on a
16322 recursive-descent parser for regexp syntax. In addition to converting (a
16323 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
16324
16325 @itemize
16326 @item convert Emacs syntax to PCRE
16327 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
16328 @item untangle complex regexps by showing the parse tree in @code{rx} form and
16329 highlighting the corresponding chunks of code
16330 @item show the complete list of strings (productions) matching a regexp,
16331 provided the list is finite
16332 @item provide live font-locking of regexp syntax (so far only for Elisp
16333 buffers – other modes on the TODO list).
16334 @end itemize\n")
16335 (license license:gpl3))))
16336
16337 (define-public emacs-magit-todos
16338 (package
16339 (name "emacs-magit-todos")
16340 (version "1.4.1")
16341 (source
16342 (origin
16343 (method git-fetch)
16344 (uri (git-reference
16345 (url "https://github.com/alphapapa/magit-todos")
16346 (commit version)))
16347 (file-name (git-file-name name version))
16348 (sha256
16349 (base32
16350 "1rcl6j53yabxqk3jzgaxvm3wqq7rayf1hdib2v2fapw5b0layym6"))))
16351 (build-system emacs-build-system)
16352 (propagated-inputs
16353 `(("emacs-async" ,emacs-async)
16354 ("emacs-dash" ,emacs-dash)
16355 ("emacs-f" ,emacs-f)
16356 ("emacs-hl-todo" ,emacs-hl-todo)
16357 ("magit" ,emacs-magit)
16358 ("emacs-pcre2el" ,emacs-pcre2el)
16359 ("emacs-s" ,emacs-s)))
16360 (home-page "https://github.com/alphapapa/magit-todos")
16361 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
16362 (description "This package displays keyword entries from source code
16363 comments and Org files in the Magit status buffer. Activating an item jumps
16364 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
16365 few (like NOTE).")
16366 (license license:gpl3)))
16367
16368 (define-public emacs-git-annex
16369 ;; Unreleased version has a fontification fix.
16370 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
16371 (revision "2"))
16372 (package
16373 (name "emacs-git-annex")
16374 (version (git-version "1.1" revision commit))
16375 (source
16376 (origin
16377 (method git-fetch)
16378 (uri (git-reference
16379 (url "https://github.com/jwiegley/git-annex-el")
16380 (commit commit)))
16381 (file-name (git-file-name name version))
16382 (sha256
16383 (base32
16384 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
16385 (build-system emacs-build-system)
16386 (home-page "https://github.com/jwiegley/git-annex-el")
16387 (synopsis "Emacs integration for git-annex")
16388 (description "Enhances Dired and buffers visiting annex files with
16389 git-annex functionality. In Dired, the names of annex files are shortened by
16390 hiding the symbolic links and fontified based on whether content is present.
16391 Commands for performing some common operations (e.g., unlocking and adding
16392 files) are provided.")
16393 (license license:gpl2+))))
16394
16395 (define-public emacs-hackernews
16396 (let ((commit "2362d7b00e59da7caddc8c0adc24dccb42fddef9")
16397 (revision "2"))
16398 (package
16399 (name "emacs-hackernews")
16400 (version (git-version "0.5.0" revision commit))
16401 (source
16402 (origin
16403 (method git-fetch)
16404 (uri (git-reference
16405 (url "https://github.com/clarete/hackernews.el")
16406 (commit commit)))
16407 (file-name (git-file-name name version))
16408 (sha256
16409 (base32
16410 "1hcc5b173yzcvvd2ls3jxrmsw2w9bi21m9hcpcirkn0nh93ywadv"))))
16411 (build-system emacs-build-system)
16412 (home-page "https://github.com/clarete/hackernews.el")
16413 (synopsis "Hacker News client for Emacs")
16414 (description "The @command{hackernews} package is able to fetch stories
16415 from six different Hacker News feeds, namely top, new, best, ask, show and job
16416 stories. The default feed is top stories, which corresponds to the Hacker
16417 News homepage.")
16418 (license license:gpl3))))
16419
16420 (define-public emacs-youtube-dl
16421 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
16422 (revision "2"))
16423 (package
16424 (name "emacs-youtube-dl")
16425 (version (git-version "1.0" "2" commit))
16426 (source
16427 (origin
16428 (method git-fetch)
16429 (uri (git-reference
16430 (url "https://github.com/skeeto/youtube-dl-emacs/")
16431 (commit commit)))
16432 (file-name (git-file-name name version))
16433 (sha256
16434 (base32
16435 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
16436 (build-system emacs-build-system)
16437 (inputs
16438 `(("youtube-dl" ,youtube-dl)))
16439 (arguments
16440 `(#:phases
16441 (modify-phases %standard-phases
16442 (add-after 'unpack 'configure
16443 (lambda* (#:key inputs #:allow-other-keys)
16444 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
16445 ;; .el is read-only in git.
16446 (chmod "youtube-dl.el" #o644)
16447 ;; Specify the absolute file names of the various
16448 ;; programs so that everything works out-of-the-box.
16449 (emacs-substitute-variables
16450 "youtube-dl.el"
16451 ("youtube-dl-program"
16452 (string-append youtube-dl "/bin/youtube-dl")))))))))
16453 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
16454 (synopsis "Emacs youtube-dl download manager")
16455 (description "This package manages a video download queue for
16456 @command{youtube-dl}, which serves as the back end. It manages a single
16457 @command{youtube-dl} subprocess, downloading one video at a time. New videos
16458 can be queued at any time.")
16459 (license license:unlicense))))
16460
16461 (define-public emacs-org-web-tools
16462 (package
16463 (name "emacs-org-web-tools")
16464 (version "1.0")
16465 (source
16466 (origin
16467 (method git-fetch)
16468 (uri (git-reference
16469 (url "https://github.com/alphapapa/org-web-tools")
16470 (commit version)))
16471 (file-name (git-file-name name version))
16472 (sha256
16473 (base32
16474 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
16475 (build-system emacs-build-system)
16476 (propagated-inputs
16477 `(("emacs-dash" ,emacs-dash)
16478 ("emacs-esxml" ,emacs-esxml)
16479 ("emacs-s" ,emacs-s)))
16480 (inputs
16481 `(("pandoc" ,ghc-pandoc)))
16482 (arguments
16483 `(#:phases
16484 (modify-phases %standard-phases
16485 (add-after 'unpack 'patch-exec-paths
16486 (lambda* (#:key inputs #:allow-other-keys)
16487 (let ((pandoc (assoc-ref inputs "pandoc")))
16488 (substitute* "org-web-tools.el"
16489 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
16490 #t))))))
16491 (home-page "https://github.com/alphapapa/org-web-tools")
16492 (synopsis "Display/Process web page as Org-mode content")
16493 (description "This package contains library functions and commands useful
16494 for retrieving web page content and processing it into Org-mode content.
16495
16496 For example, you can copy a URL to the clipboard or kill-ring, then run a
16497 command that downloads the page, isolates the “readable” content with
16498 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
16499 displays it in an Org-mode buffer. Another command does all of that but
16500 inserts it as an Org entry instead of displaying it in a new buffer.")
16501 (license license:gpl3+)))
16502
16503 (define-public emacs-blimp
16504 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
16505 (package
16506 (name "emacs-blimp")
16507 (version (git-version "0.0.0" "1" commit))
16508 (source
16509 (origin
16510 (method git-fetch)
16511 (uri (git-reference
16512 (url "https://github.com/walseb/blimp")
16513 (commit commit)))
16514 (file-name (git-file-name name version))
16515 (sha256
16516 (base32
16517 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
16518 (build-system emacs-build-system)
16519 (propagated-inputs
16520 `(("emacs-eimp" ,emacs-eimp)))
16521 (home-page "https://github.com/walseb/blimp")
16522 (synopsis "Emacs wrapper around all Imagemagick commands")
16523 (description "Blimp (Bustling Image Manipulation Package) is a complete
16524 wrapper around all Imagemagick commands with descriptions, autocompletion (for
16525 some commands) and hints displayed in prompt using @command{eimp.el} to
16526 execute its commands and resize images.")
16527 (license license:gpl3+))))
16528
16529 (define-public emacs-synosaurus
16530 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
16531 (package
16532 (name "emacs-synosaurus")
16533 (version (git-version "0.1.0" "1" commit))
16534 (source
16535 (origin
16536 (method git-fetch)
16537 (uri (git-reference
16538 (url "https://github.com/hpdeifel/synosaurus")
16539 (commit commit)))
16540 (file-name (git-file-name name version))
16541 (sha256
16542 (base32
16543 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
16544 (build-system emacs-build-system)
16545 (propagated-inputs
16546 `(("wordnet" ,wordnet)))
16547 (arguments
16548 `(#:phases
16549 (modify-phases %standard-phases
16550 (add-after 'unpack 'configure
16551 (lambda* (#:key inputs outputs #:allow-other-keys)
16552 (let ((wn (assoc-ref inputs "wordnet")))
16553 ;; .el is read-only in git.
16554 (chmod "synosaurus-wordnet.el" #o644)
16555 ;; Specify the absolute file names of the various
16556 ;; programs so that everything works out-of-the-box.
16557 (emacs-substitute-variables
16558 "synosaurus-wordnet.el"
16559 ("wordnet-command"
16560 (string-append wn "/bin/wn")))))))))
16561 (home-page "https://github.com/hpdeifel/synosaurus")
16562 (synopsis "Extensible thesaurus mode for Emacs")
16563 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
16564 backends, including the @command{wordnet} offline backend.")
16565 (license license:gpl3+))))
16566
16567 (define-public emacs-editorconfig
16568 (package
16569 (name "emacs-editorconfig")
16570 (version "0.8.1")
16571 (source
16572 (origin
16573 (method git-fetch)
16574 (uri (git-reference
16575 (url "https://github.com/editorconfig/editorconfig-emacs")
16576 (commit (string-append "v" version))))
16577 (file-name (git-file-name name version))
16578 (sha256
16579 (base32
16580 "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
16581 (build-system emacs-build-system)
16582 (home-page "https://github.com/editorconfig/editorconfig-emacs")
16583 (synopsis "Define and maintain consistent coding styles between different
16584 editors and IDEs")
16585 (description "The EditorConfig project consists of a file format for
16586 defining coding styles and a collection of text editor plugins that enable
16587 editors to read the file format and adhere to defined styles. EditorConfig
16588 files are easily readable and they work nicely with version control systems.")
16589 (license license:gpl3+)))
16590
16591 (define-public emacs-all-the-icons
16592 (package
16593 (name "emacs-all-the-icons")
16594 (version "3.2.0")
16595 (source
16596 (origin
16597 (method git-fetch)
16598 (uri (git-reference
16599 (url "https://github.com/domtronn/all-the-icons.el.git")
16600 (commit version)))
16601 (file-name (git-file-name name version))
16602 (sha256
16603 (base32
16604 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
16605 (build-system emacs-build-system)
16606 (arguments
16607 `(#:include '("\\.el$" "^data/" "^fonts/")
16608 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
16609 ;; all-the-icons--root-code". Ignoring tests.
16610 #:exclude '("^test/")
16611 #:tests? #f))
16612 (propagated-inputs
16613 `(("f" ,emacs-f)
16614 ("memoize" ,emacs-memoize)))
16615 (home-page "https://github.com/domtronn/all-the-icons.el")
16616 (synopsis "Collect icon fonts and propertize them within Emacs")
16617 (description "All-the-icons is a utility package to collect various icon
16618 fonts and propertize them within Emacs. Icon fonts allow you to propertize
16619 and format icons the same way you would normal text. This enables things such
16620 as better scaling of and anti aliasing of the icons.")
16621 ;; Package is released under Expat license. Elisp files are licensed
16622 ;; under GPL3+. Fonts come with various licenses: Expat for
16623 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
16624 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
16625 ;; "ocitcons.ttf" and "weathericons.ttf".
16626 (license
16627 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
16628
16629 (define-public emacs-wttrin
16630 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
16631 (revision "1"))
16632 (package
16633 (name "emacs-wttrin")
16634 (version (git-version "0.2.0" revision commit))
16635 (source (origin
16636 (method git-fetch)
16637 (uri (git-reference
16638 (url "https://github.com/bcbcarl/emacs-wttrin.git")
16639 (commit commit)))
16640 (file-name (git-file-name name version))
16641 (sha256
16642 (base32
16643 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
16644 (build-system emacs-build-system)
16645 (propagated-inputs
16646 `(("emacs-xterm-color" ,emacs-xterm-color)))
16647 (home-page "https://github.com/bcbcarl/emacs-wttrin")
16648 (synopsis "Frontend for weather web service @url{wttr.in}")
16649 (description "This package provides local weather information from
16650 @url{wttr.in}.")
16651 (license license:expat))))
16652
16653 (define-public emacs-powerline
16654 (package
16655 (name "emacs-powerline")
16656 (version "2.4")
16657 (source
16658 (origin
16659 (method git-fetch)
16660 (uri (git-reference
16661 (url "https://github.com/milkypostman/powerline.git")
16662 (commit version)))
16663 (file-name (git-file-name name version))
16664 (sha256
16665 (base32
16666 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
16667 (build-system emacs-build-system)
16668 (home-page "https://github.com/milkypostman/powerline/")
16669 (synopsis "Mode-line plugin for Emacs")
16670 (description "Powerline is a utility plugin which allows you to create
16671 a better-looking, more functional Emacs mode-line. A collection of predefined
16672 themes comes with the package.")
16673 (license license:gpl3+)))
16674
16675 (define-public emacs-spaceline
16676 (package
16677 (name "emacs-spaceline")
16678 (version "2.0.1")
16679 (source
16680 (origin
16681 (method git-fetch)
16682 (uri (git-reference
16683 (url "https://github.com/TheBB/spaceline.git")
16684 (commit (string-append "v" version))))
16685 (file-name (git-file-name name version))
16686 (sha256
16687 (base32
16688 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
16689 (build-system emacs-build-system)
16690 (propagated-inputs
16691 `(("dash" ,emacs-dash)
16692 ("powerline" ,emacs-powerline)
16693 ("s" ,emacs-s)))
16694 (home-page "https://github.com/TheBB/spaceline")
16695 (synopsis "Powerline theme from Spacemacs")
16696 (description "Spaceline provides Spacemacs' mode-line theme.
16697 This package provides features for three kinds of users.
16698
16699 @itemize
16700 @item You just want to use the Spacemacs mode-line theme and forget about it.
16701 @item You want to use something similar to the Spacemacs mode-line theme, but
16702 with a handful of easy tweaks.
16703 @item You want an easy-to-use library for building your own mode-line from
16704 scratch, and you think the Spacemacs theme looks good.
16705 @end itemize")
16706 (license license:gpl3+)))
16707
16708 (define-public emacs-column-marker
16709 (package
16710 (name "emacs-column-marker")
16711 (version "9")
16712 (source
16713 (origin
16714 (method url-fetch)
16715 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
16716 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
16717 (build-system emacs-build-system)
16718 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
16719 (synopsis "Emacs mode for highlighting columns")
16720 (description
16721 "With @code{column-marker.el} you can highlight any number of text columns.
16722 Three such highlight column markers are provided by default. This is
16723 especially useful for languages like COBOL or Fortran where certain columns
16724 have special meaning. It is also handy for aligning text across long vertical
16725 distances. Multi-column characters, such as @kbd{TAB} are treated
16726 correctly.")
16727 (license license:gpl2+)))
16728
16729 (define-public emacs-slime-repl-ansi-color
16730 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
16731 (package
16732 (name "emacs-slime-repl-ansi-color")
16733 (version (git-version "0.0.0" "1" commit))
16734 (source (origin
16735 (method git-fetch)
16736 (uri (git-reference
16737 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
16738 (commit commit)))
16739 (file-name (git-file-name name version))
16740 (sha256
16741 (base32
16742 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
16743 (build-system emacs-build-system)
16744 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
16745 (synopsis "Color ANSI codes in the REPL of SLIME")
16746 (description "Color ANSI codes in the REPL of SLIME")
16747 (license license:gpl2+))))
16748
16749 (define-public emacs-helm-slime
16750 (package
16751 (name "emacs-helm-slime")
16752 (version "0.4.0")
16753 (source (origin
16754 (method git-fetch)
16755 (uri (git-reference
16756 (url "https://github.com/emacs-helm/helm-slime")
16757 (commit version)))
16758 (file-name (git-file-name name version))
16759 (sha256
16760 (base32
16761 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
16762 (build-system emacs-build-system)
16763 (propagated-inputs
16764 `(("emacs-helm" ,emacs-helm)
16765 ("emacs-slime" ,emacs-slime)))
16766 (home-page "https://github.com/emacs-helm/helm-slime")
16767 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
16768 (description "Helm-SLIME defines a few new commands:
16769
16770 @itemize
16771 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
16772 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
16773 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
16774 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
16775 @end itemize\n")
16776 (license license:gpl3+)))
16777
16778 (define-public emacs-helm-sly
16779 (package
16780 (name "emacs-helm-sly")
16781 (version "0.4.1")
16782 (source (origin
16783 (method git-fetch)
16784 (uri (git-reference
16785 (url "https://github.com/emacs-helm/helm-sly")
16786 (commit version)))
16787 (file-name (git-file-name name version))
16788 (sha256
16789 (base32
16790 "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"))))
16791 (build-system emacs-build-system)
16792 (propagated-inputs
16793 `(("emacs-helm" ,emacs-helm)
16794 ("emacs-sly" ,emacs-sly)))
16795 (home-page "https://github.com/emacs-helm/helm-sly")
16796 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
16797 (description "Helm-SLY defines a few new commands:
16798
16799 @itemize
16800 @item helm-sly-list-connections: Yet another Lisp connection list with Helm.
16801 @item: helm-sly-apropos: Yet another @command{apropos} with Helm.
16802 @item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an
16803 extra source of Lisp-related buffers, like the events buffer or the scratch
16804 buffer.
16805 @end itemize\n")
16806 (license license:gpl3+)))
16807
16808 (define-public emacs-gtk-look
16809 (package
16810 (name "emacs-gtk-look")
16811 (version "29")
16812 (source (origin
16813 (method url-fetch)
16814 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
16815 (sha256
16816 (base32
16817 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
16818 (build-system emacs-build-system)
16819 (arguments
16820 `(#:phases
16821 (modify-phases %standard-phases
16822 (add-after 'unpack 'configure
16823 (lambda _
16824 ;; File is read-only.
16825 (chmod "gtk-look.el" #o644)
16826 (emacs-substitute-variables "gtk-look.el"
16827 ("gtk-lookup-devhelp-indices"
16828 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
16829 #t)))))
16830 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
16831 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
16832 (description "@command{gtk-look} finds and displays HTML documentation for
16833 GTK, GNOME and Glib functions and variables in Emacs, similar to what
16834 info-lookup-symbol does for info files (C-h S). The documentation is expected
16835 to be devhelp indexes with HTML files. The location of the indexes can be
16836 customized. In addition to C code development @command{gtk-look} is good for
16837
16838 @itemize
16839 @item @command{perl-gtk2}, recognising class funcs like
16840 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
16841 @item @command{guile-gnome}, recognising methods like @command{set-text} and
16842 classes like @command{<gtk-window>}.
16843 @end itemize\n")
16844 (license license:gpl3+)))
16845
16846 (define-public emacs-ov
16847 (package
16848 (name "emacs-ov")
16849 (version "1.0.6")
16850 (source (origin
16851 (method git-fetch)
16852 (uri (git-reference
16853 (url "https://github.com/ShingoFukuyama/ov.el.git")
16854 (commit version)))
16855 (file-name (git-file-name name version))
16856 (sha256
16857 (base32
16858 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
16859 (build-system emacs-build-system)
16860 (home-page "https://github.com/ShingoFukuyama/ov.el")
16861 (synopsis "Overlay library for Emacs Lisp")
16862 (description "@code{ov.el} provides a simple way to manipulate overlays in
16863 Emacs.")
16864 (license license:gpl3+)))
16865
16866 (define-public emacs-matrix-client
16867 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
16868 (package
16869 (name "emacs-matrix-client")
16870 (version (git-version "0.0.0" "4" commit))
16871 (source (origin
16872 (method git-fetch)
16873 (uri (git-reference
16874 (url "https://github.com/jgkamat/matrix-client-el.git")
16875 (commit commit)))
16876 (file-name (git-file-name name version))
16877 (sha256
16878 (base32
16879 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
16880 (build-system emacs-build-system)
16881 (arguments
16882 `(#:phases
16883 (modify-phases %standard-phases
16884 (add-after 'unpack 'add-missing-require
16885 ;; Fix a filter error at runtime due to a missing require.
16886 ;; Reported upstream:
16887 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
16888 (lambda _
16889 (substitute* "matrix-client-room.el"
16890 (("\\(require 'dash-functional\\)" all)
16891 (string-append all "\n" "(require 'anaphora)")))
16892 #t)))))
16893 (propagated-inputs
16894 `(("a" ,emacs-a)
16895 ("anaphora" ,emacs-anaphora)
16896 ("dash" ,emacs-dash)
16897 ("esxml" ,emacs-esxml)
16898 ("f" ,emacs-f)
16899 ("frame-purpose" ,emacs-frame-purpose)
16900 ("ht" ,emacs-ht)
16901 ("ov" ,emacs-ov)
16902 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
16903 ("request" ,emacs-request)
16904 ("s" ,emacs-s)
16905 ("tracking" ,emacs-tracking)))
16906 (home-page "https://github.com/jgkamat/matrix-client-el")
16907 (synopsis "Matrix client for Emacs")
16908 (description "@code{matrix-client} is a simple chat UI to Matrix.org
16909 rooms. It also provides an API which allows Emacs to seamlessly create
16910 RPC channels with users and other software.")
16911 (license license:gpl3+))))
16912
16913 (define-public emacs-sesman
16914 (package
16915 (name "emacs-sesman")
16916 (version "0.3.4")
16917 (source
16918 (origin
16919 (method git-fetch)
16920 (uri (git-reference
16921 (url "https://github.com/vspinu/sesman.git")
16922 (commit (string-append "v" version))))
16923 (file-name (git-file-name name version))
16924 (sha256
16925 (base32
16926 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
16927 (build-system emacs-build-system)
16928 (arguments
16929 `(#:phases
16930 (modify-phases %standard-phases
16931 (add-after 'unpack 'set-shell
16932 ;; Setting the SHELL environment variable is required for the tests
16933 ;; to find sh.
16934 (lambda _
16935 (setenv "SHELL" (which "sh"))
16936 #t)))
16937 #:tests? #t
16938 #:test-command '("make" "test")))
16939 (home-page "https://github.com/vspinu/sesman")
16940 (synopsis "Session manager for Emacs based IDEs")
16941 (description "Sesman provides facilities for session management and
16942 interactive session association with the current contexts (project, directory,
16943 buffers). While sesman can be used to manage arbitrary sessions, it primary
16944 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
16945 (license license:gpl3+)))
16946
16947 (define-public emacs-buttercup
16948 (package
16949 (name "emacs-buttercup")
16950 (version "1.16")
16951 (source
16952 (origin
16953 (method git-fetch)
16954 (uri (git-reference
16955 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
16956 (commit (string-append "v" version))))
16957 (file-name (git-file-name name version))
16958 (sha256
16959 (base32
16960 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
16961 (build-system emacs-build-system)
16962 (arguments
16963 `(#:tests? #t
16964 #:test-command '("make" "test")
16965 #:phases
16966 (modify-phases %standard-phases
16967 (add-after 'install 'install-bin
16968 (lambda* (#:key outputs #:allow-other-keys)
16969 (install-file "bin/buttercup"
16970 (string-append (assoc-ref outputs "out") "/bin"))
16971 #t)))))
16972 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
16973 (synopsis "Behavior driven emacs lisp testing framework")
16974 (description "Buttercup is a behavior-driven development framework for
16975 testing Emacs Lisp code. It allows to group related tests so they can share
16976 common set-up and tear-down code, and allows the programmer to \"spy\" on
16977 functions to ensure they are called with the right arguments during testing.")
16978 (license license:gpl3+)))
16979
16980 (define-public emacs-wordnut
16981 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
16982 (revision "0"))
16983 (package
16984 (name "emacs-wordnut")
16985 (version (git-version "0.1" revision commit))
16986 (home-page "https://github.com/gromnitsky/wordnut")
16987 (source (origin
16988 (method git-fetch)
16989 (uri (git-reference (url home-page) (commit commit)))
16990 (sha256
16991 (base32
16992 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
16993 (patches
16994 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
16995 (file-name (git-file-name name version))))
16996 (build-system emacs-build-system)
16997 (propagated-inputs
16998 `(("wordnet" ,wordnet)
16999 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
17000 (synopsis "Major mode for WordNet")
17001 (description "This Emacs package provides an interface for
17002 @code{wordnet}. Features include completion, if the query is not found
17003 too ambiguous and navigation in the result buffer.")
17004 (license license:gpl3+))))
17005
17006 (define-public emacs-frame-purpose
17007 (package
17008 (name "emacs-frame-purpose")
17009 (version "1.0")
17010 (source (origin
17011 (method git-fetch)
17012 (uri (git-reference
17013 (url "https://github.com/alphapapa/frame-purpose.el.git")
17014 (commit version)))
17015 (sha256
17016 (base32
17017 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
17018 (file-name (git-file-name name version))))
17019 (build-system emacs-build-system)
17020 (inputs
17021 `(("dash" ,emacs-dash)))
17022 (synopsis "Purpose-specific frames for Emacs")
17023 (description "@code{frame-purpose} makes it easy to open purpose-specific
17024 frames that only show certain buffers, e.g. by buffers’ major mode, their
17025 filename or directory, etc, with custom frame/X-window titles, icons, and
17026 other frame parameters.")
17027 (home-page "https://github.com/alphapapa/frame-purpose.el")
17028 (license license:gpl3+)))
17029
17030 (define-public emacs-arduino-mode
17031 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
17032 (package
17033 (name "emacs-arduino-mode")
17034 (version (git-version "0" "0" commit))
17035 (source (origin
17036 (method git-fetch)
17037 (uri (git-reference
17038 (url "https://github.com/bookest/arduino-mode.git")
17039 (commit commit)))
17040 (sha256
17041 (base32
17042 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
17043 (file-name (git-file-name name version))))
17044 (build-system emacs-build-system)
17045 (synopsis "Emacs major mode for editing Arduino sketches")
17046 (description "Emacs major mode for editing Arduino sketches.")
17047 (home-page "https://github.com/bookest/arduino-mode")
17048 (license license:gpl3+))))
17049
17050 (define-public emacs-annalist
17051 (let ((commit "e0601539c9ac0171a684ea3ff6266d215d1d08e6")
17052 (revision "1"))
17053 (package
17054 (name "emacs-annalist")
17055 (version (git-version "1.0.0" revision commit))
17056 (source (origin
17057 (method git-fetch)
17058 (uri (git-reference
17059 (url "https://github.com/noctuid/annalist.el.git")
17060 (commit commit)))
17061 (sha256
17062 (base32
17063 "10bmimdzpi6cql4sb2hbgdvrza83xbac50bi9qng4z662pfnlaam"))
17064 (file-name (git-file-name name version))))
17065 (build-system emacs-build-system)
17066 (native-inputs
17067 `(("emacs-buttercup" ,emacs-buttercup)
17068 ("emacs-lispy" ,emacs-lispy)
17069 ("emacs-evil" ,emacs-evil)))
17070 (arguments
17071 `(#:phases
17072 (modify-phases %standard-phases
17073 (add-before 'check 'fix-makefile
17074 (lambda _
17075 (substitute* "Makefile"
17076 (("cask exec ") ""))
17077 #t)))
17078 #:tests? #t
17079 #:test-command '("make" "test")))
17080 (home-page "https://github.com/noctuid/annalist.el")
17081 (synopsis "Record and display information with Org headings and tables")
17082 (description "This package allows for keybindings, settings, hooks, and
17083 advice to be recorded and displayed.")
17084 (license license:gpl3+))))
17085
17086 (define-public emacs-general
17087 (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e")
17088 (revision "3"))
17089 (package
17090 (name "emacs-general")
17091 (version (git-version "0" revision commit))
17092 (source (origin
17093 (method git-fetch)
17094 (uri (git-reference
17095 (url "https://github.com/noctuid/general.el.git")
17096 (commit commit)))
17097 (sha256
17098 (base32
17099 "1aqi5axkwfng6rm52sblf738c7rffp10sqs69dvkh2fv3ps8q28i"))
17100 (file-name (git-file-name name version))))
17101 (build-system emacs-build-system)
17102 (native-inputs
17103 `(("emacs-buttercup" ,emacs-buttercup)
17104 ("emacs-evil" ,emacs-evil)
17105 ("emacs-which-key" ,emacs-which-key)
17106 ("emacs-use-package" ,emacs-use-package)))
17107 (arguments
17108 `(#:phases
17109 (modify-phases %standard-phases
17110 (add-before 'check 'fix-makefile
17111 (lambda _
17112 (substitute* "Makefile"
17113 (("cask exec ") ""))
17114 #t)))
17115 #:tests? #t
17116 #:test-command '("make" "test")))
17117 (home-page "https://github.com/noctuid/general.el")
17118 (synopsis "More convenient key definitions in emacs")
17119 (description "@code{general.el} provides a more convenient method for
17120 binding keys in emacs (for both evil and non-evil users). Like
17121 @code{use-package}, which provides a convenient, unified interface for
17122 managing packages, @code{general.el} is intended to provide a convenient,
17123 unified interface for key definitions. While this package does implement some
17124 completely new functionality (such as the ability to make vim-style
17125 keybindings under non-prefix keys with an optional timeout), its primary
17126 purpose is to build on existing functionality to make key definition more
17127 clear and concise. @code{general-define-key} is user-extensible and supports
17128 defining multiple keys in multiple keymaps at once, implicitly wrapping key
17129 strings with (@code{kbd ...}), using named prefix key sequences (like the
17130 leader key in vim), and much more.")
17131 (license license:gpl3+))))
17132
17133 (define-public emacs-tldr
17134 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
17135 (package
17136 (name "emacs-tldr")
17137 (version (git-version "0" "0" commit))
17138 (home-page "https://github.com/kuanyui/tldr.el")
17139 (source (origin
17140 (method git-fetch)
17141 (uri (git-reference
17142 (url (string-append home-page ".git"))
17143 (commit commit)))
17144 (sha256
17145 (base32
17146 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
17147 (file-name (git-file-name name version))))
17148 (build-system emacs-build-system)
17149 (synopsis "Simplified and community-driven man pages for Emacs")
17150 (description "@code{emacs-tldr} allows the user to access tldr pages
17151 from within emacs. The @code{tldr} pages are a community effort to simplify
17152 the man pages with practical examples.")
17153 (license license:wtfpl2))))
17154
17155 (define-public emacs-window-layout
17156 (package
17157 (name "emacs-window-layout")
17158 (version "1.4")
17159 (home-page "https://github.com/kiwanami/emacs-window-layout")
17160 (source (origin
17161 (method git-fetch)
17162 (uri (git-reference
17163 (url home-page)
17164 (commit (string-append "v" version))))
17165 (sha256
17166 (base32
17167 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
17168 (file-name (git-file-name name version))))
17169 (build-system emacs-build-system)
17170 (synopsis "Simple window layout management framework for emacs")
17171 (description "A window-layout management library that can split a frame
17172 or a window into some windows according to a layout recipe.")
17173 (license license:gpl3+)))
17174
17175 (define-public emacs-e2wm
17176 (package
17177 (name "emacs-e2wm")
17178 (version "1.4")
17179 (home-page "https://github.com/kiwanami/emacs-window-manager")
17180 (source (origin
17181 (method git-fetch)
17182 (uri (git-reference
17183 (url home-page)
17184 (commit (string-append "v" version))))
17185 (sha256
17186 (base32
17187 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
17188 (file-name (git-file-name name version))))
17189 (build-system emacs-build-system)
17190 (propagated-inputs
17191 `(("emacs-window-layout" ,emacs-window-layout)))
17192 (synopsis "Equilibrium Emacs Window Manager")
17193 (description "E2WM is a window manager for Emacs. It enables to
17194 customize the place of pop-up window, how the windows are split, how the
17195 buffers are located in the windows, keybinds to manipulate windows and
17196 buffers, etc. It also has plug-ins to help your Emacs life.")
17197 (license license:gpl3+)))
17198
17199 (define-public emacs-ctable
17200 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
17201 (package
17202 (name "emacs-ctable")
17203 (version (git-version "0.1.2" "1" commit))
17204 (home-page "https://github.com/kiwanami/emacs-ctable")
17205 (source (origin
17206 (method git-fetch)
17207 (uri (git-reference
17208 (url home-page)
17209 (commit commit)))
17210 (sha256
17211 (base32
17212 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
17213 (file-name (git-file-name name version))))
17214 (build-system emacs-build-system)
17215 (synopsis "Table component for Emacs Lisp")
17216 (description "This program is a table component for Emacs Lisp. Other
17217 programs can use this table component for the application UI.")
17218 (license license:gpl3+))))
17219
17220 (define-public emacs-leetcode
17221 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
17222 (revision "1"))
17223 (package
17224 (name "emacs-leetcode")
17225 (version (git-version "0" "1" commit))
17226 (home-page "https://github.com/ginqi7/leetcode-emacs.git")
17227 (source (origin
17228 (method git-fetch)
17229 (uri (git-reference
17230 (url "https://github.com/ginqi7/leetcode-emacs")
17231 (commit commit)))
17232 (sha256
17233 (base32
17234 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
17235 (file-name (git-file-name name version))))
17236 (build-system emacs-build-system)
17237 (propagated-inputs
17238 `(("emacs-names" ,emacs-names)
17239 ("emacs-ctable" ,emacs-ctable)))
17240 (synopsis "Solve and submit LeetCode problems from within Emacs")
17241 (description "This package provides an Emacs interface to LeetCode
17242 allowing users to log in and solve problems of their choice using Emacs.")
17243 (license license:unlicense))))
17244
17245 (define-public emacs-epc
17246 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
17247 (package
17248 (name "emacs-epc")
17249 (version (git-version "0.1.1" "1" commit))
17250 (home-page "https://github.com/kiwanami/emacs-epc")
17251 (source (origin
17252 (method git-fetch)
17253 (uri (git-reference
17254 (url home-page)
17255 (commit commit)))
17256 (sha256
17257 (base32
17258 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
17259 (file-name (git-file-name name version))))
17260 (build-system emacs-build-system)
17261 (propagated-inputs
17262 `(("emacs-deferred" ,emacs-deferred)
17263 ("emacs-ctable" ,emacs-ctable)))
17264 (synopsis "RPC stack for Emacs Lisp")
17265 (description "This program is an asynchronous RPC stack for Emacs.
17266 Using this RPC stack, Emacs can communicate with the peer process
17267 smoothly. Because the protocol employs S-expression encoding and consists of
17268 asynchronous communications, the RPC response is fairly good.")
17269 (license license:gpl3+))))
17270
17271 (define-public emacs-edbi
17272 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
17273 (package
17274 (name "emacs-edbi")
17275 (version (git-version "0.1.3" "1" commit))
17276 (home-page "https://github.com/kiwanami/emacs-edbi")
17277 (source (origin
17278 (method git-fetch)
17279 (uri (git-reference
17280 (url home-page)
17281 (commit commit)))
17282 (sha256
17283 (base32
17284 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
17285 (file-name (git-file-name name version))))
17286 (build-system emacs-build-system)
17287 (inputs
17288 `(("perl" ,perl)
17289 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
17290 ("perl-dbi" ,perl-dbi)
17291 ;; TODO: Adding support for perl-dbd-mysql and others would
17292 ;; dramatically increase the closure size. Make several packages?
17293 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
17294 (propagated-inputs
17295 `(("emacs-e2wm" ,emacs-e2wm)
17296 ("emacs-epc" ,emacs-epc)))
17297 (arguments
17298 `(#:include '("\\.el$" "\\.pl$")
17299 #:phases
17300 (modify-phases %standard-phases
17301 (add-after 'install 'patch-path
17302 (lambda* (#:key inputs outputs #:allow-other-keys)
17303 (let ((perl (assoc-ref inputs "perl"))
17304 (dir (string-append (assoc-ref outputs "out")
17305 "/share/emacs/site-lisp/guix.d/edbi-"
17306 ,version)))
17307 (substitute* (string-append dir "/edbi.el")
17308 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
17309 (chmod (string-append dir "/edbi-bridge.pl") #o555)
17310 (wrap-program (string-append dir "/edbi-bridge.pl")
17311 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
17312 #t))))))
17313 (synopsis "Database Interface for Emacs Lisp")
17314 (description "This program connects the database server through Perl's
17315 DBI, and provides DB-accessing API and the simple management UI.")
17316 (license license:gpl3+))))
17317
17318 (define-public emacs-edbi-sqlite
17319 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
17320 (package
17321 (name "emacs-edbi-sqlite")
17322 (version (git-version "0.1.1" "1" commit))
17323 (home-page "https://github.com/proofit404/edbi-sqlite")
17324 (source (origin
17325 (method git-fetch)
17326 (uri (git-reference
17327 (url home-page)
17328 (commit commit)))
17329 (sha256
17330 (base32
17331 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
17332 (file-name (git-file-name name version))))
17333 (build-system emacs-build-system)
17334 (propagated-inputs
17335 `(("emacs-edbi" ,emacs-edbi)))
17336 (synopsis "Open SQLite files in Emacs")
17337 (description "This package is a convenience wrapper for @command{edbi}
17338 to open SQLite databases.")
17339 (license license:gpl3+))))
17340
17341 (define-public emacs-nix-mode
17342 (package
17343 (name "emacs-nix-mode")
17344 (version "1.4.1")
17345 (source
17346 (origin
17347 (method git-fetch)
17348 (uri (git-reference
17349 (url "https://github.com/NixOS/nix-mode.git")
17350 (commit (string-append "v" version))))
17351 (file-name (git-file-name name version))
17352 (sha256
17353 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
17354 (build-system emacs-build-system)
17355 (inputs
17356 `(("emacs-company" ,emacs-company)
17357 ("emacs-json-mode" ,emacs-json-mode)
17358 ("emacs-mmm-mode" ,emacs-mmm-mode)))
17359 (home-page "https://github.com/NixOS/nix-mode")
17360 (synopsis "Emacs major mode for editing Nix expressions")
17361 (description "@code{nixos-mode} provides an Emacs major mode for editing
17362 Nix expressions. It supports syntax highlighting, indenting and refilling of
17363 comments.")
17364 (license license:lgpl2.1+)))
17365
17366 (define-public emacs-libmpdel
17367 (package
17368 (name "emacs-libmpdel")
17369 (version "1.1.2")
17370 (source (origin
17371 (method git-fetch)
17372 (uri (git-reference
17373 (url "https://gitea.petton.fr/mpdel/libmpdel.git")
17374 (commit (string-append "v" version))))
17375 (file-name (git-file-name name version))
17376 (sha256
17377 (base32
17378 "0dnjndpv6bmz5blfs75ynmbm32g23l4slg5p3941b1i94a08qzpy"))))
17379 (build-system emacs-build-system)
17380 (home-page "https://gitea.petton.fr/mpdel/libmpdel")
17381 (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
17382 (description
17383 "An Emacs library client to communicate with Music Player Daemon (MPD), a
17384 flexible, powerful, server-side application for playing music.")
17385 (license license:gpl3+)))
17386
17387 (define-public emacs-mpdel
17388 (package
17389 (name "emacs-mpdel")
17390 (version "1.0.0")
17391 (source
17392 (origin
17393 (method git-fetch)
17394 (uri (git-reference
17395 (url "https://gitea.petton.fr/mpdel/mpdel.git")
17396 (commit (string-append "v" version))))
17397 (file-name (git-file-name name version))
17398 (sha256
17399 (base32
17400 "0pyyvbzskr44dxbmlp3y0r6s459fd51cvwjmnjaqxfxflr5v891g"))))
17401 (build-system emacs-build-system)
17402 (inputs
17403 `(("emacs-libmpdel" ,emacs-libmpdel)))
17404 (home-page "https://gitea.petton.fr/mpdel/mpdel")
17405 (synopsis "Emacs user interface for Music Player Daemon (MPD)")
17406 (description
17407 "MPDel provides an Emacs user interface to control playback (play, pause,
17408 next, volume) and display and control the current playlist as well as your
17409 stored playlists.")
17410 (license license:gpl3+)))
17411
17412 (define-public emacs-vterm
17413 (let ((version "0")
17414 (revision "1")
17415 (commit "7d7381fa8104b55b70148cf147523d9ab7f01fcd"))
17416 (package
17417 (name "emacs-vterm")
17418 (version (git-version version revision commit))
17419 (source (origin
17420 (method git-fetch)
17421 (uri (git-reference
17422 (url "https://github.com/akermu/emacs-libvterm.git")
17423 (commit commit)))
17424 (file-name (git-file-name name version))
17425 (sha256
17426 (base32
17427 "04a2jlhmr20ipgzpnba3yryw3ly7qdxjgaw10dwn9wxy1yqmapz1"))))
17428 (build-system emacs-build-system)
17429 (arguments
17430 `(#:modules ((guix build emacs-build-system)
17431 ((guix build cmake-build-system) #:prefix cmake:)
17432 (guix build emacs-utils)
17433 (guix build utils))
17434 #:imported-modules (,@%emacs-build-system-modules
17435 (guix build cmake-build-system))
17436 #:phases
17437 (modify-phases %standard-phases
17438 (add-before 'add-source-to-load-path 'remove-vterm-module-make
17439 (lambda* (#:key outputs #:allow-other-keys)
17440 ;; Remove the Emacs Lisp file.
17441 (delete-file "vterm-module-make.el")
17442 ;; Remove references to the removed file.
17443 (make-file-writable "vterm.el")
17444 (emacs-substitute-sexps "vterm.el"
17445 ("(or (require 'vterm-module nil t)"
17446 `(module-load
17447 ,(string-append (assoc-ref outputs "out")
17448 "/lib/vterm-module.so"))))
17449 #t))
17450 (add-after 'build 'configure
17451 ;; Run cmake.
17452 (lambda* (#:key outputs #:allow-other-keys)
17453 ((assoc-ref cmake:%standard-phases 'configure)
17454 #:outputs outputs
17455 #:out-of-source? #f
17456 #:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON"))
17457 #t))
17458 (add-after 'configure 'make
17459 ;; Run make.
17460 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
17461 ;; Compile the shared object file.
17462 (apply invoke "make" "all" make-flags)
17463 ;; Move the file into /lib.
17464 (install-file
17465 "vterm-module.so"
17466 (string-append (assoc-ref outputs "out") "/lib"))
17467 #t)))
17468 #:tests? #f))
17469 (native-inputs
17470 `(("cmake" ,cmake-minimal)
17471 ("libtool" ,libtool)
17472 ("libvterm" ,libvterm)))
17473 (home-page "https://github.com/akermu/emacs-libvterm")
17474 (synopsis "Emacs libvterm integration")
17475 (description "This package implements a bridge to @code{libvterm} to
17476 display a terminal in an Emacs buffer.")
17477 (license license:gpl3+))))
17478
17479 (define-public emacs-simple-mpc
17480 ;; There have been no releases.
17481 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
17482 (revision "1"))
17483 (package
17484 (name "emacs-simple-mpc")
17485 (version (git-version "0" revision commit))
17486 (source
17487 (origin
17488 (method git-fetch)
17489 (uri (git-reference
17490 (url "https://github.com/jorenvo/simple-mpc.git")
17491 (commit commit)))
17492 (file-name (git-file-name name version))
17493 (sha256
17494 (base32
17495 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
17496 (build-system emacs-build-system)
17497 (propagated-inputs `(("emacs-s" ,emacs-s)))
17498 (home-page "https://github.com/jorenvo/simple-mpc")
17499 (synopsis "Simple Emacs frontend to mpc")
17500 (description "This package provides an Emacs major mode which acts as a
17501 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
17502 (license license:gpl3+))))
17503
17504 (define-public emacs-mkmcc-gnuplot-mode
17505 (package
17506 (name "emacs-mkmcc-gnuplot-mode")
17507 (version "1.2.0")
17508 (source
17509 (origin
17510 (method git-fetch)
17511 (uri (git-reference
17512 (url "https://github.com/mkmcc/gnuplot-mode")
17513 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
17514 (file-name (git-file-name name version))
17515 (sha256
17516 (base32
17517 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
17518 (build-system emacs-build-system)
17519 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
17520 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
17521 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
17522 mode for editing gnuplot scripts. It provides syntax highlighting,
17523 indentation and a command to plot the file.")
17524 (license license:gpl3+)))
17525
17526 (define-public emacs-cmake-font-lock
17527 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
17528 (revision "1"))
17529 (package
17530 (name "emacs-cmake-font-lock")
17531 (version (git-version "0.1.5" revision commit))
17532 (source (origin
17533 (method git-fetch)
17534 (uri (git-reference
17535 (url "https://github.com/Lindydancer/cmake-font-lock.git")
17536 (commit commit)))
17537 (file-name (git-file-name name version))
17538 (sha256
17539 (base32
17540 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
17541 (build-system emacs-build-system)
17542 (native-inputs
17543 `(("emacs-faceup" ,emacs-faceup)))
17544 (arguments
17545 `(#:include (cons "^admin\\/" %default-include)))
17546 (home-page "https://github.com/Lindydancer/cmake-font-lock")
17547 (synopsis "Advanced type-aware syntax-highlighting for CMake")
17548 (description "This package highlights function arguments in CMake
17549 according to their use.")
17550 (license license:gpl3+))))
17551
17552 (define-public emacs-dtrt-indent
17553 (package
17554 (name "emacs-dtrt-indent")
17555 (version "0.8")
17556 (source (origin
17557 (method git-fetch)
17558 (uri (git-reference
17559 (url "https://github.com/jscheid/dtrt-indent")
17560 (commit version)))
17561 (file-name (git-file-name name version))
17562 (sha256
17563 (base32
17564 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
17565 (build-system emacs-build-system)
17566 (home-page "https://github.com/jscheid/dtrt-indent")
17567 (synopsis "Minor mode that guesses the indentation offset")
17568 (description "This package provides a minor mode that guesses the
17569 indentation offset originally used for creating source code files and
17570 transparently adjusts the corresponding settings in Emacs, making it more
17571 convenient to edit foreign files.")
17572 (license license:gpl2+)))
17573
17574 (define-public emacs-repo
17575 (package
17576 (name "emacs-repo")
17577 (version "0.1.3")
17578 (source (origin
17579 (method git-fetch)
17580 (uri (git-reference
17581 (url "https://github.com/canatella/repo-el")
17582 (commit version)))
17583 (file-name (git-file-name name version))
17584 (sha256
17585 (base32
17586 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
17587 (build-system emacs-build-system)
17588 (native-inputs
17589 `(("emacs-el-mock" ,emacs-el-mock)
17590 ("ert-runner" ,emacs-ert-runner)))
17591 (propagated-inputs
17592 `(("emacs-f" ,emacs-f)
17593 ("magit" ,emacs-magit)))
17594 (home-page "https://github.com/canatella/repo-el")
17595 (synopsis "Emacs interface for the Google Repo tool")
17596 (description "This package provides integration of the Google Repo tool
17597 with emacs. It displays the output of the @code{repo status} command in a
17598 buffer and launches Magit from the status buffer for the project at point.")
17599 (license license:gpl3+)))
17600
17601 (define-public emacs-alect-themes
17602 (package
17603 (name "emacs-alect-themes")
17604 (version "0.9")
17605 (source (origin
17606 (method git-fetch)
17607 (uri (git-reference
17608 (url "https://github.com/alezost/alect-themes")
17609 (commit (string-append "v" version))))
17610 (file-name (git-file-name name version))
17611 (sha256
17612 (base32
17613 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
17614 (build-system emacs-build-system)
17615 (home-page "https://github.com/alezost/alect-themes")
17616 (synopsis "Low contrast, light, dark and black color theme for Emacs")
17617 (description "@code{emacs-alect-themes} provides configurable light, dark
17618 and black color themes for Emacs. The themes are intended to be used with
17619 GUI.")
17620 (license license:gpl3+)))
17621
17622 (define-public emacs-google-c-style
17623 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
17624 (revision "0"))
17625 (package
17626 (name "emacs-google-c-style")
17627 (version (git-version "0.1" revision commit))
17628 (source (origin
17629 (method git-fetch)
17630 (uri (git-reference
17631 (url "https://github.com/google/styleguide")
17632 (commit commit)))
17633 (file-name (git-file-name name version))
17634 (sha256
17635 (base32
17636 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
17637 (build-system emacs-build-system)
17638 (home-page "https://github.com/google/styleguide")
17639 (synopsis "Emacs settings file for Google C/C++ style")
17640 (description "@code{emacs-google-c-style} provides an Emacs settings
17641 file for Google C and C++ style.")
17642 (license license:gpl1+))))
17643
17644 (define-public emacs-redshank
17645 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
17646 (revision "1"))
17647 (package
17648 (name "emacs-redshank")
17649 (version (git-version "0.1" revision commit))
17650 (source (origin
17651 (method git-fetch)
17652 (uri (git-reference
17653 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
17654 (commit commit)))
17655 (file-name (git-file-name name version))
17656 (sha256
17657 (base32
17658 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
17659 (build-system emacs-build-system)
17660 (propagated-inputs
17661 `(("emacs-paredit" ,emacs-paredit)))
17662 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
17663 (synopsis "Common Lisp Editing Extensions (for Emacs)")
17664 (description "Redshank is a collection of code-wrangling Emacs macros
17665 mostly geared towards Common Lisp, but some are useful for other Lisp
17666 dialects, too. Redshank's code transformations aim to be expression-based (as
17667 opposed to character-based).")
17668 (license license:gpl1+))))
17669
17670 (define-public emacs-disk-usage
17671 (package
17672 (name "emacs-disk-usage")
17673 (version "1.3.3")
17674 (source
17675 (origin
17676 (method git-fetch)
17677 (uri (git-reference
17678 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
17679 (commit version)))
17680 (file-name (git-file-name name version))
17681 (sha256
17682 (base32
17683 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
17684 (build-system emacs-build-system)
17685 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
17686 (synopsis "Sort and browse disk usage listings with Emacs")
17687 (description "Disk Usage is a file system analyzer: it offers a tabulated
17688 view of file listings sorted by size. Directory sizes are computed
17689 recursively. The results are cached for speed.")
17690 (license license:gpl3+)))
17691
17692 (define-public emacs-orgit
17693 (package
17694 (name "emacs-orgit")
17695 (version "1.5.3")
17696 (home-page "https://github.com/magit/orgit")
17697 (source (origin
17698 (method git-fetch)
17699 (uri (git-reference
17700 (url home-page)
17701 (commit (string-append "v" version))))
17702 (file-name (git-file-name name version))
17703 (sha256
17704 (base32
17705 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
17706 (build-system emacs-build-system)
17707 (propagated-inputs
17708 `(("emacs-dash" ,emacs-dash)
17709 ("emacs-magit" ,emacs-magit)))
17710 (synopsis "Support for Org links to Magit buffers")
17711 (description "This package defines several Org link types, which can be
17712 used to link to certain Magit buffers. Use the command
17713 @command{org-store-link} while such a buffer is current to store a link.
17714 Later you can insert it into an Org buffer using the command
17715 @code{org-insert-link}.")
17716 (license license:gpl3+)))
17717
17718 (define-public emacs-amx
17719 (package
17720 (name "emacs-amx")
17721 (version "3.2")
17722 (source (origin
17723 (method git-fetch)
17724 (uri (git-reference
17725 (url "https://github.com/DarwinAwardWinner/amx")
17726 (commit (string-append "v" version))))
17727 (file-name (git-file-name name version))
17728 (sha256
17729 (base32
17730 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
17731 (build-system emacs-build-system)
17732 (propagated-inputs `(("emacs-s" ,emacs-s)))
17733 (home-page "https://github.com/DarwinAwardWinner/amx")
17734 (synopsis "Alternative interface for M-x")
17735 (description "Amx is an alternative interface for M-x in Emacs. It
17736 provides several enhancements over the ordinary
17737 @code{execute-extended-command}, such as prioritizing your most-used commands
17738 in the completion list and showing keyboard shortcuts, and it supports several
17739 completion systems for selecting commands, such as ido and ivy.")
17740 (license license:gpl3+)))
17741
17742 (define-public emacs-lorem-ipsum
17743 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
17744 (package
17745 (name "emacs-lorem-ipsum")
17746 (version (git-version "0.2" "1" commit))
17747 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
17748 (source (origin
17749 (method git-fetch)
17750 (uri (git-reference
17751 (url home-page)
17752 (commit commit)))
17753 (file-name (git-file-name name version))
17754 (sha256
17755 (base32
17756 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
17757 (build-system emacs-build-system)
17758 (synopsis "Insert dummy pseudo Latin text in Emacs")
17759 (description "This package provides convenience functions to insert
17760 dummy Latin text into a buffer. This can be useful if you need to produce
17761 paragraphs or pages of text for testing purposes.")
17762 (license license:gpl3+))))
17763
17764 (define-public emacs-lisp-extra-font-lock
17765 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
17766 (package
17767 (name "emacs-lisp-extra-font-lock")
17768 (version (git-version "0.0.6" "1" commit))
17769 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
17770 (source (origin
17771 (method git-fetch)
17772 (uri (git-reference
17773 (url home-page)
17774 (commit commit)))
17775 (file-name (git-file-name name version))
17776 (sha256
17777 (base32
17778 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
17779 (build-system emacs-build-system)
17780 (synopsis "Highlight bound variables and quoted expressions in Emacs")
17781 (description "This package highlight the location where local variables
17782 is created (bound, for example, by let) as well as quoted and backquoted
17783 constant expressions.")
17784 (license license:gpl3+))))
17785
17786 (define-public emacs-docker-tramp
17787 (package
17788 (name "emacs-docker-tramp")
17789 (version "0.1")
17790 (source
17791 (origin
17792 (method git-fetch)
17793 (uri (git-reference
17794 (url "https://github.com/emacs-pe/docker-tramp.el")
17795 (commit (string-append "v" version))))
17796 (file-name (git-file-name name version))
17797 (sha256
17798 (base32
17799 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
17800 (build-system emacs-build-system)
17801 (home-page "https://github.com/emacs-pe/docker-tramp.el")
17802 (synopsis "TRAMP integration for docker containers")
17803 (description
17804 "This package provides a TRAMP method for Docker containers.")
17805 (license license:gpl3+)))
17806
17807 (define-public emacs-docker
17808 (package
17809 (name "emacs-docker")
17810 (version "1.3.0")
17811 (source (origin
17812 (method git-fetch)
17813 (uri (git-reference
17814 (url "https://github.com/Silex/docker.el")
17815 (commit version)))
17816 (file-name (git-file-name name version))
17817 (sha256
17818 (base32
17819 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
17820 (inputs
17821 `(("emacs-undercover" ,emacs-undercover)))
17822 (propagated-inputs
17823 `(("emacs-dash" ,emacs-dash)
17824 ("emacs-docker-tramp" ,emacs-docker-tramp)
17825 ("emacs-magit-popup" ,emacs-magit-popup)
17826 ("emacs-s" ,emacs-s)
17827 ("emacs-tablist" ,emacs-tablist)
17828 ("emacs-json-mode" ,emacs-json-mode)))
17829 (arguments
17830 `(#:phases
17831 (modify-phases %standard-phases
17832 (delete 'check)))) ;no tests
17833 (build-system emacs-build-system)
17834 (home-page "https://github.com/Silex/docker.el")
17835 (synopsis "Manage docker from Emacs")
17836 (description "This package provides an Emacs interface for Docker.")
17837 (license license:gpl3+)))
17838
17839 (define-public emacs-dockerfile-mode
17840 ;; Latest upstream release is too old.
17841 (let ((commit "ed73e82dcc636dad00d1a8c3b32a49136d25ee60"))
17842 (package
17843 (name "emacs-dockerfile-mode")
17844 (version (git-version "1.2" "2" commit))
17845 (source
17846 (origin
17847 (method git-fetch)
17848 (uri (git-reference
17849 (url "https://github.com/spotify/dockerfile-mode.git")
17850 (commit commit)))
17851 (file-name (git-file-name name version))
17852 (sha256
17853 (base32
17854 "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"))))
17855 (build-system emacs-build-system)
17856 (propagated-inputs
17857 `(("emacs-s" ,emacs-s)))
17858 (home-page "https://github.com/spotify/dockerfile-mode")
17859 (synopsis "Major mode for editing Dockerfile")
17860 (description
17861 "This package provides a major mode @code{dockerfile-mode} for use with
17862 the standard @code{Dockerfile} file format.")
17863 (license license:asl2.0))))
17864
17865 (define-public emacs-lsp-mode
17866 (package
17867 (name "emacs-lsp-mode")
17868 (version "6.2.1")
17869 (source (origin
17870 (method git-fetch)
17871 (uri (git-reference
17872 (url "https://github.com/emacs-lsp/lsp-mode.git")
17873 (commit version)))
17874 (file-name (git-file-name name version))
17875 (sha256
17876 (base32
17877 "0f9d0zhblcjzrpggqclww2g7fyjky5rzpp7zj424005ahv0zd3xf"))))
17878 (build-system emacs-build-system)
17879 (propagated-inputs
17880 `(("emacs-dash" ,emacs-dash)
17881 ("emacs-f" ,emacs-f)
17882 ("emacs-ht" ,emacs-ht)
17883 ("emacs-markdown-mode" ,emacs-markdown-mode)
17884 ("emacs-spinner" ,emacs-spinner)
17885 ("emacs-hydra" ,emacs-hydra)))
17886 (home-page "https://github.com/emacs-lsp/lsp-mode")
17887 (synopsis "Emacs client and library for the Language Server Protocol")
17888 (description "@code{LSP-mode} is a client and library implementation for
17889 the Language Server Protocol. This mode aims to provide an IDE-like
17890 experience by providing optional integration with other popular Emacs packages
17891 like @code{company}, @code{flycheck}, and @code{projectile}.")
17892 (license license:gpl3+)))
17893
17894 (define-public emacs-pfuture
17895 (let ((commit "368254ee30692c709400db413c347e18e76a8a55"))
17896 (package
17897 (name "emacs-pfuture")
17898 (version (git-version "1.6" "1" commit))
17899 (source (origin
17900 (method git-fetch)
17901 (uri (git-reference
17902 (url "https://github.com/Alexander-Miller/pfuture.git")
17903 (commit commit)))
17904 (file-name (git-file-name name version))
17905 (sha256
17906 (base32
17907 "096raqpjx84njws85r7pqq1wi9w9bjwkr0ga1mbbhlna1mfn3mg4"))))
17908 (build-system emacs-build-system)
17909 (home-page
17910 "https://github.com/Alexander-Miller/pfuture")
17911 (synopsis "Simple wrapper around asynchronous processes for Emacs")
17912 (description "This package provides a simple wrapper around asynchronous
17913 processes for Emacs")
17914 (license license:gpl3+))))
17915
17916 (define-public emacs-treemacs
17917 (package
17918 (name "emacs-treemacs")
17919 (version "2.6")
17920 (source (origin
17921 (method git-fetch)
17922 (uri (git-reference
17923 (url "https://github.com/Alexander-Miller/treemacs.git")
17924 (commit version)))
17925 (file-name (git-file-name name version))
17926 (sha256
17927 (base32
17928 "13gs8g05xj7np3i2q3bbxg6zgdiazzn1spxii4x0cyd4pg83c0i1"))))
17929 (build-system emacs-build-system)
17930 (propagated-inputs
17931 `(("emacs-dash" ,emacs-dash)
17932 ("emacs-s" ,emacs-s)
17933 ("emacs-f" ,emacs-f)
17934 ("emacs-ace-window" ,emacs-ace-window)
17935 ("emacs-pfuture" ,emacs-pfuture)
17936 ("emacs-hydra" ,emacs-hydra)
17937 ("emacs-ht" ,emacs-ht)))
17938 (native-inputs
17939 `(("emacs-buttercup" ,emacs-buttercup)
17940 ("emacs-el-mock" ,emacs-el-mock)))
17941 (inputs
17942 `(("python" ,python)))
17943 (arguments
17944 `(#:tests? #t ;TODO: Investigate ‘treemacs--parse-collapsed-dirs’ test failure.
17945 #:phases
17946 (modify-phases %standard-phases
17947 (add-after 'unpack 'fix-makefile
17948 (lambda _
17949 (substitute* "Makefile"
17950 (("@\\$\\(CASK\\) exec ") ""))
17951 #t))
17952 (add-after 'fix-makefile 'chdir-elisp
17953 ;; Elisp directory is not in root of the source.
17954 (lambda _
17955 (chdir "src/elisp")))
17956 (replace 'check
17957 (lambda _
17958 (with-directory-excursion "../.." ;treemacs root
17959 (chmod "test/test-treemacs.el" #o644)
17960 (emacs-substitute-sexps "test/test-treemacs.el"
17961 ("(describe \"treemacs--parse-collapsed-dirs\""
17962 ""))
17963 (invoke "make" "test"))))
17964 (add-before 'install 'patch-paths
17965 (lambda* (#:key inputs outputs #:allow-other-keys)
17966 (with-directory-excursion "../.." ;treemacs root
17967 (chmod "src/elisp/treemacs-core-utils.el" #o644)
17968 (emacs-substitute-variables "src/elisp/treemacs-core-utils.el"
17969 ("treemacs-dir"
17970 (string-append (assoc-ref outputs "out") "/")))
17971 (chmod "src/elisp/treemacs-icons.el" #o644)
17972 (substitute* "src/elisp/treemacs-icons.el"
17973 (("icons/default") "share/emacs-treemacs/images"))
17974 (chmod "src/elisp/treemacs-customization.el" #o644)
17975 (emacs-substitute-variables "src/elisp/treemacs-customization.el"
17976 ("treemacs-python-executable"
17977 (string-append (assoc-ref inputs "python") "/bin/python3")))
17978 (chmod "src/elisp/treemacs-async.el" #o644)
17979 (substitute* "src/elisp/treemacs-async.el"
17980 (("src/scripts") (string-append "share/" ,name "/scripts"))))
17981 #t))
17982 (add-after 'install 'install-data
17983 (lambda* (#:key outputs #:allow-other-keys)
17984 (let ((out (assoc-ref outputs "out")))
17985 (with-directory-excursion "../.." ;treemacs root
17986 (copy-recursively "icons/default"
17987 (string-append out "/share/" ,name "/images"))
17988 (copy-recursively
17989 "src/scripts"
17990 (string-append out "/share/" ,name "/scripts"))
17991 #t)))))))
17992 (home-page "https://github.com/Alexander-Miller/treemacs")
17993 (synopsis "Emacs tree style file explorer")
17994 (description "Powerful and flexible file tree project explorer.")
17995 (license license:gpl3+)))
17996
17997 (define-public emacs-treemacs-extra
17998 (package
17999 (inherit emacs-treemacs)
18000 (name "emacs-treemacs-extra")
18001 (propagated-inputs
18002 `(,@(package-propagated-inputs emacs-treemacs)
18003 ("emacs-evil" ,emacs-evil)
18004 ("emacs-magit" ,emacs-magit)
18005 ("emacs-projectile" ,emacs-projectile)))
18006 (arguments
18007 (substitute-keyword-arguments
18008 (package-arguments emacs-treemacs)
18009 ((#:phases phases)
18010 `(modify-phases ,phases
18011 (add-after 'chdir-elisp 'copy-extra
18012 (lambda _
18013 (copy-recursively "../extra" ".")))))))))
18014
18015 (define-public emacs-lsp-java
18016 (package
18017 (name "emacs-lsp-java")
18018 (version "2.2")
18019 (source (origin
18020 (method git-fetch)
18021 (uri (git-reference
18022 (url "https://github.com/emacs-lsp/lsp-java.git")
18023 (commit version)))
18024 (file-name (git-file-name name version))
18025 (sha256
18026 (base32
18027 "0hcnvbyaqyypgby1bfj4zbrbq97amk8hfx0sj4w73rl46yf4jk3j"))))
18028 (build-system emacs-build-system)
18029 (propagated-inputs
18030 `(("emacs-lsp-mode" ,emacs-lsp-mode)
18031 ("emacs-markdown-mode" ,emacs-markdown-mode)
18032 ("emacs-dash" ,emacs-dash)
18033 ("emacs-f" ,emacs-f)
18034 ("emacs-ht" ,emacs-ht)
18035 ("emacs-request" ,emacs-request)
18036 ("emacs-treemacs" ,emacs-treemacs)))
18037 (home-page "https://github.com/emacs-lsp/lsp-java/")
18038 (synopsis "Java support for lsp-mode")
18039 (description "Emacs Java IDE using Eclipse JDT Language Server.")
18040 (license license:gpl3+)))
18041
18042 (define-public emacs-lsp-ui
18043 (package
18044 (name "emacs-lsp-ui")
18045 (version "6.0")
18046 (source (origin
18047 (method git-fetch)
18048 (uri (git-reference
18049 (url "https://github.com/emacs-lsp/lsp-ui.git")
18050 (commit version)))
18051 (file-name (git-file-name name version))
18052 (sha256
18053 (base32
18054 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
18055 (build-system emacs-build-system)
18056 (propagated-inputs
18057 `(("emacs-dash" ,emacs-dash)
18058 ("emacs-lsp-mode" ,emacs-lsp-mode)
18059 ("emacs-markdown-mode" ,emacs-markdown-mode)
18060 ("emacs-flycheck" ,emacs-flycheck)))
18061 (home-page "https://github.com/emacs-lsp/lsp-ui")
18062 (synopsis "User interface extensions for @code{lsp-mode}")
18063 (description
18064 "@code{LSP-ui} contains several enhancements and integrations for
18065 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
18066 and code peeking.")
18067 (license license:gpl3+)))
18068
18069 (define-public emacs-lsp-lua-emmy
18070 (let ((commit "ab53fb2a8b8942804eb75bab5624fd19f1d360bf"))
18071 (package
18072 (name "emacs-lsp-lua-emmy")
18073 (version (git-version "0.1.0" "1" commit))
18074 (source (origin
18075 (method git-fetch)
18076 (uri (git-reference
18077 (url "https://github.com/phenix3443/lsp-lua-emmy.git")
18078 (commit commit)))
18079 (file-name (git-file-name name version))
18080 (sha256
18081 (base32
18082 "0rbizis73n1w5ig07fj1han74chbc1zpbp5bn37rj0gz608aqka8"))))
18083 (build-system emacs-build-system)
18084 (propagated-inputs
18085 `(("emacs-lsp-mode" ,emacs-lsp-mode)))
18086 (home-page "https://github.com/phenix3443/lsp-lua-emmy/")
18087 (synopsis "Lua support in @code{lsp-mode} client for Emacs")
18088 (description "This package provides a Lua language support in
18089 @code{lsp-mode} client for Emacs.")
18090 (license license:gpl3+))))
18091
18092 (define-public emacs-lsp-ivy
18093 (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288")
18094 (revision "2"))
18095 (package
18096 (name "emacs-lsp-ivy")
18097 (version (git-version "0.1" revision commit))
18098 (source (origin
18099 (method git-fetch)
18100 (uri (git-reference
18101 (url "https://github.com/emacs-lsp/lsp-ivy.git")
18102 (commit commit)))
18103 (file-name (git-file-name name version))
18104 (sha256
18105 (base32
18106 "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z"))))
18107 (build-system emacs-build-system)
18108 (propagated-inputs
18109 `(("emacs-ivy" ,emacs-ivy)
18110 ("emacs-lsp-mode" ,emacs-lsp-mode)
18111 ("emacs-dash" ,emacs-dash)))
18112 (home-page "https://github.com/emacs-lsp/lsp-ivy")
18113 (synopsis "Provide LSP-enhanced completion for symbols")
18114 (description
18115 "This package enhances @code{ivy} with completion for symbols from
18116 workspaces with a LSP-compliant server running.")
18117 (license license:gpl3+))))
18118
18119 (define-public emacs-helm-lsp
18120 (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b")
18121 (revision "1"))
18122 (package
18123 (name "emacs-helm-lsp")
18124 (version (git-version "0.1" revision commit))
18125 (source (origin
18126 (method git-fetch)
18127 (uri (git-reference
18128 (url "https://github.com/emacs-lsp/helm-lsp.git")
18129 (commit commit)))
18130 (file-name (git-file-name name version))
18131 (sha256
18132 (base32
18133 "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"))))
18134 (build-system emacs-build-system)
18135 (propagated-inputs
18136 `(("emacs-helm" ,emacs-helm)
18137 ("emacs-lsp-mode" ,emacs-lsp-mode)
18138 ("emacs-dash" ,emacs-dash)))
18139 (home-page "https://github.com/emacs-lsp/helm-lsp")
18140 (synopsis "Provide LSP-enhanced completion for symbols")
18141 (description
18142 "This package enhances @code{helm} with completion for symbols from
18143 workspaces with a LSP-compliant server running.")
18144 (license license:gpl3+))))
18145
18146 (define-public emacs-helm-notmuch
18147 (package
18148 (name "emacs-helm-notmuch")
18149 (version "1.2")
18150 (home-page "https://github.com/emacs-helm/helm-notmuch/")
18151 (source (origin
18152 (method git-fetch)
18153 (uri (git-reference
18154 (url home-page)
18155 (commit version)))
18156 (file-name (git-file-name name version))
18157 (sha256
18158 (base32
18159 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
18160 (build-system emacs-build-system)
18161 (propagated-inputs
18162 `(("emacs-helm" ,emacs-helm)
18163 ("notmuch" ,notmuch)))
18164 (synopsis "Search emails with Emacs Notmuch and Helm")
18165 (description
18166 "This package can be used to search emails in Emacs, searching result
18167 displays as you type thanks to Helm, though @command{notmuch-search} does the
18168 real search.")
18169 (license license:gpl3+)))
18170
18171 (define-public emacs-elmacro
18172 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
18173 (package
18174 (name "emacs-elmacro")
18175 (version (git-version "1.1.0" "1" commit))
18176 (home-page "https://github.com/Silex/elmacro")
18177 (source (origin
18178 (method git-fetch)
18179 (uri (git-reference
18180 (url home-page)
18181 (commit commit)))
18182 (file-name (git-file-name name version))
18183 (sha256
18184 (base32
18185 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
18186 (build-system emacs-build-system)
18187 (propagated-inputs
18188 `(("emacs-s" ,emacs-s)
18189 ("emacs-dash" ,emacs-dash)))
18190 (synopsis "Convert keyboard macros to Emacs Lisp")
18191 (description
18192 "This package displays keyboard macros or latest interactive commands
18193 as Emacs Lisp.")
18194 (license license:gpl3+))))
18195
18196 (define-public emacs-transient
18197 ;; 0.1.0 depends on lv.el but not later versions.
18198 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
18199 (package
18200 (name "emacs-transient")
18201 (version (git-version "0.1.0" "1" commit))
18202 (source (origin
18203 (method git-fetch)
18204 (uri (git-reference
18205 (url "https://github.com/magit/transient")
18206 (commit commit)))
18207 (file-name (git-file-name name version))
18208 (sha256
18209 (base32
18210 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
18211 (build-system gnu-build-system)
18212 (native-inputs `(("texinfo" ,texinfo)
18213 ("emacs" ,emacs-minimal)))
18214 (propagated-inputs
18215 `(("dash" ,emacs-dash)))
18216 (arguments
18217 `(#:modules ((guix build gnu-build-system)
18218 (guix build utils)
18219 (srfi srfi-26)
18220 (guix build emacs-utils))
18221 #:imported-modules (,@%gnu-build-system-modules
18222 (guix build emacs-utils))
18223 #:tests? #f ; tests are not included in the release
18224 #:make-flags (list "lisp" "info")
18225 #:phases
18226 (modify-phases %standard-phases
18227 (delete 'configure)
18228 (replace 'install
18229 (lambda* (#:key inputs outputs #:allow-other-keys)
18230 (let* ((out (assoc-ref outputs "out"))
18231 (lisp (string-append out "/share/emacs/site-lisp"))
18232 (info (string-append out "/share/info")))
18233 (for-each (cut install-file <> lisp)
18234 (find-files "." "\\.elc*$"))
18235 (install-file "docs/transient.info" (string-append info)))
18236 #t)))))
18237 (home-page "https://magit.vc/manual/transient")
18238 (synopsis "Transient commands in Emacs")
18239 (description
18240 "Taking inspiration from prefix keys and prefix arguments in Emacs,
18241 Transient implements a similar abstraction involving a prefix command, infix
18242 arguments and suffix commands. We could call this abstraction a \"transient
18243 command\", but because it always involves at least two commands (a prefix and
18244 a suffix) we prefer to call it just a \"transient\".")
18245 (license license:gpl3+))))
18246
18247 (define-public emacs-forge
18248 (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb"))
18249 (package
18250 (name "emacs-forge")
18251 (version (git-version "0.1.0" "2" commit))
18252 (source
18253 (origin
18254 (method git-fetch)
18255 (uri (git-reference
18256 (url "https://github.com/magit/forge.git")
18257 (commit commit)))
18258 (file-name (git-file-name name version))
18259 (sha256
18260 (base32
18261 "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83"))))
18262 (build-system gnu-build-system)
18263 (native-inputs
18264 `(("texinfo" ,texinfo)
18265 ("emacs" ,emacs-minimal)))
18266 (propagated-inputs
18267 `(("emacs-closql" ,emacs-closql)
18268 ("emacs-dash" ,emacs-dash)
18269 ("emacs-emacsql-sqlite" ,emacs-emacsql)
18270 ("emacs-ghub" ,emacs-ghub)
18271 ("emacs-let-alist" ,emacs-let-alist)
18272 ("emacs-magit" ,emacs-magit)
18273 ("emacs-markdown-mode" ,emacs-markdown-mode)
18274 ("emacs-transient" ,emacs-transient)))
18275 (arguments
18276 `(#:tests? #f ;no tests
18277 #:modules ((srfi srfi-26)
18278 (guix build gnu-build-system)
18279 ((guix build emacs-build-system) #:prefix emacs:)
18280 (guix build utils)
18281 (guix build emacs-utils))
18282 #:imported-modules (,@%gnu-build-system-modules
18283 (guix build emacs-build-system)
18284 (guix build emacs-utils))
18285 #:phases
18286 (modify-phases %standard-phases
18287 (delete 'configure)
18288 (delete 'install)
18289 (add-after 'unpack 'delete-doc-targets
18290 (lambda _
18291 (substitute* "./Makefile"
18292 (("lisp docs") "lisp"))))
18293 (add-after 'delete-doc-targets 'chdir-lisp
18294 (lambda _
18295 (chdir "lisp")))
18296 (add-after 'chdir-lisp 'emacs-install
18297 (assoc-ref emacs:%standard-phases 'install))
18298 (add-after 'emacs-install 'emacs-make-autoloads
18299 (assoc-ref emacs:%standard-phases 'make-autoloads))
18300 (add-after 'build 'install-elc
18301 (lambda* (#:key outputs #:allow-other-keys)
18302 (let* ((out (assoc-ref outputs "out"))
18303 (el-dir (string-append
18304 out "/share/emacs/site-lisp/guix.d/forge-"
18305 ,version)))
18306 (for-each (cut install-file <> el-dir)
18307 (find-files "." "\\.elc"))
18308 #t)))
18309 (add-after 'install-elc 'install-doc
18310 (lambda* (#:key outputs #:allow-other-keys)
18311 (let* ((out (assoc-ref outputs "out"))
18312 (info (string-append out "/share/info")))
18313 (with-directory-excursion "../docs"
18314 (invoke "makeinfo" "forge.texi")
18315 (install-file "forge.info" info)
18316 #t)))))))
18317 (home-page "https://github.com/magit/forge/")
18318 (synopsis "Access Git forges from Magit")
18319 (description
18320 "Work with Git forges, such as Github and Gitlab, from the comfort of
18321 Magit and the rest of Emacs.")
18322 (license license:gpl3+))))
18323
18324 (define-public emacs-matcha
18325 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
18326 (package
18327 (name "emacs-matcha")
18328 (version (git-version "0.0.1" "1" commit)) ;no upstream release
18329 (source (origin
18330 (method git-fetch)
18331 (uri (git-reference
18332 (url "https://github.com/jojojames/matcha.git")
18333 (commit commit)))
18334 (file-name (git-file-name name version))
18335 (sha256
18336 (base32
18337 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
18338 (propagated-inputs
18339 `(("emacs-hydra" ,emacs-hydra)
18340 ("emacs-transient" ,emacs-transient)))
18341 (build-system emacs-build-system)
18342 (home-page "https://github.com/jojojames/matcha/")
18343 (synopsis "Collection of hydras with a generic interface to launch them")
18344 (description "Matcha provides a collection of transients for various
18345 packages with a consistent way to use them.")
18346 (license license:gpl3+))))
18347
18348 (define-public emacs-undo-propose-el
18349 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
18350 (revision "3"))
18351 (package
18352 (name "emacs-undo-propose-el")
18353 (version (git-version "3.0.0" revision commit))
18354 (source
18355 (origin
18356 (method git-fetch)
18357 (uri (git-reference
18358 (url "https://github.com/jackkamm/undo-propose-el")
18359 (commit commit)))
18360 (file-name (git-file-name name version))
18361 (sha256
18362 (base32
18363 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
18364 (build-system emacs-build-system)
18365 (arguments
18366 `(#:tests? #t
18367 #:test-command '("make" "test")))
18368 (home-page "https://github.com/jackkamm/undo-propose-el")
18369 (synopsis "Simple and safe navigation of @code{undo} history")
18370 (description "This package permits navigation of @code{undo} history in a
18371 temporary buffer, which is read-only save for @code{undo} commands, and
18372 subsequent committal of a chain of @code{undo} commands as a single edit in
18373 the @code{undo} history.")
18374 (license license:gpl3+))))
18375
18376 (define-public emacs-elisp-docstring-mode
18377 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
18378 (version "0.0.1")
18379 (revision "1"))
18380 (package
18381 (name "emacs-elisp-docstring-mode")
18382 (version (git-version version revision commit))
18383 (source
18384 (origin
18385 (method git-fetch)
18386 (uri (git-reference
18387 (url "https://github.com/Fuco1/elisp-docstring-mode")
18388 (commit commit)))
18389 (file-name (git-file-name name version))
18390 (sha256
18391 (base32
18392 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
18393 (build-system emacs-build-system)
18394 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
18395 (synopsis "Major mode for editing Emacs Lisp docstrings")
18396 (description "This package provides font lock and automatic escaping and
18397 unescaping of quotes.")
18398 (license license:gpl3+))))
18399
18400 (define-public emacs-vimrc-mode
18401 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
18402 (version "0.3.1")
18403 (revision "1"))
18404 (package
18405 (name "emacs-vimrc-mode")
18406 (version (git-version version revision commit))
18407 (source
18408 (origin
18409 (method git-fetch)
18410 (uri (git-reference
18411 (url "https://github.com/mcandre/vimrc-mode")
18412 (commit commit)))
18413 (file-name (git-file-name name version))
18414 (sha256
18415 (base32
18416 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
18417 (build-system emacs-build-system)
18418 (home-page "https://github.com/mcandre/vimrc-mode")
18419 (synopsis "Major mode for Vimscript")
18420 (description "This package provides font lock and @code{beginning-} and
18421 @code{end-of-defun} functions for Vimscript files.")
18422 (license license:gpl3+))))
18423
18424 (define-public emacs-flycheck-haskell
18425 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
18426 (revision "2"))
18427 (package
18428 (name "emacs-flycheck-haskell")
18429 (version (git-version "0.8" revision commit))
18430 (source
18431 (origin
18432 (method git-fetch)
18433 (uri (git-reference
18434 (url "https://github.com/flycheck/flycheck-haskell")
18435 (commit commit)))
18436 (file-name (git-file-name name version))
18437 (sha256
18438 (base32
18439 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
18440 (build-system emacs-build-system)
18441 (propagated-inputs
18442 `(("emacs-dash" ,emacs-dash)
18443 ("emacs-seq" ,emacs-seq)
18444 ("emacs-flycheck" ,emacs-flycheck)
18445 ("emacs-haskell-mode" ,emacs-haskell-mode)
18446 ("emacs-let-alist" ,emacs-let-alist)))
18447 (arguments
18448 `(#:include '("\\.el$" "\\.hs$")))
18449 (home-page "https://github.com/flycheck/flycheck-haskell")
18450 (synopsis "Flycheck for Haskell")
18451 (description "This package configures syntax-checking for Haskell
18452 buffers.")
18453 (license license:gpl3+))))
18454
18455 (define-public emacs-js2-refactor-el
18456 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
18457 (revision "2"))
18458 (package
18459 (name "emacs-js2-refactor-el")
18460 (version (git-version "0.9.0" revision commit))
18461 (source
18462 (origin
18463 (method git-fetch)
18464 (uri (git-reference
18465 (url "https://github.com/magnars/js2-refactor.el")
18466 (commit commit)))
18467 (file-name (git-file-name name version))
18468 (sha256
18469 (base32
18470 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
18471 (build-system emacs-build-system)
18472 (propagated-inputs
18473 `(("emacs-dash" ,emacs-dash)
18474 ("emacs-s" ,emacs-s)
18475 ("emacs-js2-mode" ,emacs-js2-mode)
18476 ("emacs-yasnippet" ,emacs-yasnippet)
18477 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
18478 (native-inputs
18479 `(("emacs-buttercup" ,emacs-buttercup)
18480 ("emacs-espuds" ,emacs-espuds)))
18481 (home-page "https://github.com/magnars/js2-refactor.el")
18482 (synopsis "JavaScript refactoring in Emacs")
18483 (description "This package provides various refactoring functions for
18484 JavaScript.")
18485 (license license:gpl3+))))
18486
18487 (define-public emacs-prettier
18488 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
18489 (version "0.1.0")
18490 (revision "1"))
18491 (package
18492 (name "emacs-prettier")
18493 (version (git-version version revision commit))
18494 (source
18495 (origin
18496 (method git-fetch)
18497 (uri (git-reference
18498 (url "https://github.com/prettier/prettier-emacs")
18499 (commit commit)))
18500 (file-name (git-file-name name version))
18501 (sha256
18502 (base32
18503 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
18504 (build-system emacs-build-system)
18505 (home-page "https://github.com/prettier/prettier-emacs")
18506 (synopsis "Automatic formatting of JavaScript code")
18507 (description "This package integrates Prettier with Emacs, and
18508 provides a minor mode that autoformats the buffer upon saving.")
18509 (license license:expat))))
18510
18511 (define-public emacs-fish-mode
18512 (package
18513 (name "emacs-fish-mode")
18514 (version "0.1.4")
18515 (source
18516 (origin
18517 (method git-fetch)
18518 (uri (git-reference
18519 (url "https://github.com/wwwjfy/emacs-fish")
18520 (commit version)))
18521 (file-name (git-file-name name version))
18522 (sha256
18523 (base32
18524 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
18525 (build-system emacs-build-system)
18526 (home-page "https://github.com/wwwjfy/emacs-fish")
18527 (synopsis "Major mode for Fish shell scripts")
18528 (description "This package provides syntax highlighting and indentation
18529 functions for Fish shell scripts.")
18530 (license license:gpl3+)))
18531
18532 (define-public emacs-eshell-up
18533 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
18534 (version "0.0.3")
18535 (revision "12"))
18536 (package
18537 (name "emacs-eshell-up")
18538 (version (git-version version revision commit))
18539 (source
18540 (origin
18541 (method git-fetch)
18542 (uri (git-reference
18543 (url "https://github.com/peterwvj/eshell-up")
18544 (commit commit)))
18545 (file-name (git-file-name name version))
18546 (sha256
18547 (base32
18548 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
18549 (build-system emacs-build-system)
18550 (home-page "https://github.com/peterwvj/eshell-up")
18551 (synopsis "Quickly go to a parent directory in @code{Eshell}")
18552 (description "This package provides quick navigation to a specific
18553 parent directory using @code{Eshell}.")
18554 (license license:gpl3+))))
18555
18556 (define-public emacs-tco-el
18557 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
18558 (revision "1"))
18559 (package
18560 (name "emacs-tco-el")
18561 (version (git-version "0.3" revision commit))
18562 (source
18563 (origin
18564 (method git-fetch)
18565 (uri (git-reference
18566 (url "https://github.com/Wilfred/tco.el")
18567 (commit commit)))
18568 (file-name (git-file-name name version))
18569 (sha256
18570 (base32
18571 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
18572 (build-system emacs-build-system)
18573 (propagated-inputs
18574 `(("emacs-dash" ,emacs-dash)))
18575 (native-inputs
18576 `(("emacs-ert-runner" ,emacs-ert-runner)
18577 ("emacs-undercover" ,emacs-undercover)))
18578 (arguments
18579 `(#:tests? #t
18580 #:test-command '("ert-runner")))
18581 (home-page "https://github.com/Wilfred/tco.el")
18582 (synopsis "Tail-call optimization for Emacs Lisp")
18583 (description "This package provides tail-call optimization for Emacs
18584 Lisp functions that call themselves in tail position.")
18585 (license license:gpl3+))))
18586
18587 (define-public emacs-equake
18588 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
18589 (revision "2"))
18590 (package
18591 (name "emacs-equake")
18592 (version (git-version "0.85" revision commit))
18593 (source
18594 (origin
18595 (method git-fetch)
18596 (uri (git-reference
18597 (url "https://gitlab.com/emacsomancer/equake/")
18598 (commit commit)))
18599 (file-name (git-file-name name version))
18600 (sha256
18601 (base32
18602 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
18603 (build-system emacs-build-system)
18604 (propagated-inputs
18605 `(("emacs-dash" ,emacs-dash)
18606 ("emacs-tco-el" ,emacs-tco-el)))
18607 (home-page "https://gitlab.com/emacsomancer/equake/")
18608 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
18609 (description "This package provides a Quake-style drop-down console
18610 compatible with Emacs' shell modes.")
18611 (license license:gpl3+))))
18612
18613 (define-public emacs-vdiff
18614 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
18615 (revision "1"))
18616 (package
18617 (name "emacs-vdiff")
18618 (version (git-version "0.2.3" revision commit))
18619 (source
18620 (origin
18621 (method git-fetch)
18622 (uri (git-reference
18623 (url "https://github.com/justbur/emacs-vdiff.git")
18624 (commit commit)))
18625 (file-name (git-file-name name version))
18626 (sha256
18627 (base32
18628 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
18629 (build-system emacs-build-system)
18630 (propagated-inputs
18631 `(("emacs-hydra" ,emacs-hydra)))
18632 (arguments
18633 `(#:tests? #t
18634 #:test-command '("emacs" "-Q" "-batch" "-L" "."
18635 "-l" "vdiff-test.el"
18636 "-f" "ert-run-tests-batch-and-exit")))
18637 (home-page "https://github.com/justbur/emacs-vdiff/")
18638 (synopsis "Frontend for diffing based on vimdiff")
18639 (description "This package permits comparisons of two or three buffers
18640 based on diff output.")
18641 (license license:gpl3+))))
18642
18643 (define-public emacs-vdiff-magit
18644 ;; Need to use a more recent commit than the latest release version because
18645 ;; of Magit and Transient
18646 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
18647 (version "0.3.2")
18648 (revision "8"))
18649 (package
18650 (name "emacs-vdiff-magit")
18651 (version (git-version version revision commit))
18652 (source
18653 (origin
18654 (method git-fetch)
18655 (uri (git-reference
18656 (url "https://github.com/justbur/emacs-vdiff-magit/")
18657 (commit commit)))
18658 (file-name (git-file-name name version))
18659 (sha256
18660 (base32
18661 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
18662 (build-system emacs-build-system)
18663 (propagated-inputs
18664 `(("emacs-vdiff" ,emacs-vdiff)
18665 ("emacs-magit" ,emacs-magit)
18666 ("emacs-transient" ,emacs-transient)))
18667 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
18668 (synopsis "Frontend for diffing based on vimdiff")
18669 (description "This package permits comparisons of two or three buffers
18670 based on diff output.")
18671 (license license:gpl3+))))
18672
18673 (define-public emacs-all-the-icons-dired
18674 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
18675 (version "1.0")
18676 (revision "1"))
18677 (package
18678 (name "emacs-all-the-icons-dired")
18679 (version (git-version version revision commit))
18680 (source
18681 (origin
18682 (method git-fetch)
18683 (uri (git-reference
18684 (url "https://github.com/jtbm37/all-the-icons-dired/")
18685 (commit commit)))
18686 (file-name (git-file-name name version))
18687 (sha256
18688 (base32
18689 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
18690 (build-system emacs-build-system)
18691 (propagated-inputs
18692 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
18693 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
18694 (synopsis "Show icons for each file in @code{dired-mode}")
18695 (description "This package allows icons from @file{all-the-icons.el} to
18696 be used in @code{dired-mode}.")
18697 (license license:gpl3+))))
18698
18699 (define-public emacs-exwm-edit
18700 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
18701 (version "0.0.1")
18702 (revision "1"))
18703 (package
18704 (name "emacs-exwm-edit")
18705 (version (git-version version revision commit))
18706 (source
18707 (origin
18708 (method git-fetch)
18709 (uri (git-reference
18710 (url "https://github.com/agzam/exwm-edit/")
18711 (commit commit)))
18712 (file-name (git-file-name name version))
18713 (sha256
18714 (base32
18715 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
18716 (build-system emacs-build-system)
18717 (propagated-inputs
18718 `(("emacs-exwm" ,emacs-exwm)))
18719 (home-page "https://github.com/agzam/exwm-edit/")
18720 (synopsis "Open temp buffers for editing text from EXWM buffers")
18721 (description "This package facilitates editing text from EXWM buffers by
18722 generating a temp buffer in which any useful Emacs utilities and modes can be
18723 invoked.")
18724 (license license:gpl3+))))
18725
18726 (define-public emacs-ert-async
18727 (package
18728 (name "emacs-ert-async")
18729 (version "0.1.2")
18730 (source
18731 (origin
18732 (method git-fetch)
18733 (uri (git-reference
18734 (url "https://github.com/rejeep/ert-async.el")
18735 (commit (string-append "v" version))))
18736 (file-name (git-file-name name version))
18737 (sha256
18738 (base32
18739 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
18740 (build-system emacs-build-system)
18741 (home-page "https://github.com/rejeep/ert-async.el")
18742 (synopsis "Async support for ERT")
18743 (description "This package allows ERT to work with asynchronous tests.")
18744 (license license:gpl3+)))
18745
18746 (define-public emacs-prodigy-el
18747 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
18748 (revision "2"))
18749 (package
18750 (name "emacs-prodigy-el")
18751 (version (git-version "0.7.0" revision commit))
18752 (source
18753 (origin
18754 (method git-fetch)
18755 (uri (git-reference
18756 (url "https://github.com/rejeep/prodigy.el")
18757 (commit commit)))
18758 (file-name (git-file-name name version))
18759 (sha256
18760 (base32
18761 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
18762 (build-system emacs-build-system)
18763 (propagated-inputs
18764 `(("emacs-dash" ,emacs-dash)
18765 ("emacs-s" ,emacs-s)
18766 ("emacs-f" ,emacs-f)))
18767 (native-inputs
18768 `(("emacs-el-mock" ,emacs-el-mock)
18769 ("emacs-ert-async" ,emacs-ert-async)))
18770 (home-page "https://github.com/rejeep/prodigy.el")
18771 (synopsis "Manage external services from within Emacs")
18772 (description "This package provides a GUI for defining and monitoring services.")
18773 (license license:gpl3+))))
18774
18775 (define-public emacs-web-server
18776 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
18777 (revision "1"))
18778 (package
18779 (name "emacs-web-server")
18780 (version (git-version "0.1.0" revision commit))
18781 (source
18782 (origin
18783 (method git-fetch)
18784 (uri (git-reference
18785 (url "https://github.com/eschulte/emacs-web-server/")
18786 (commit commit)))
18787 (file-name (git-file-name name version))
18788 (sha256
18789 (base32
18790 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
18791 (build-system emacs-build-system)
18792 (native-inputs
18793 `(("curl" ,curl)))
18794 (arguments
18795 `(#:phases
18796 (modify-phases %standard-phases
18797 (add-after 'unpack 'set-shell
18798 ;; Setting the SHELL environment variable is required for the tests
18799 ;; to find sh.
18800 (lambda _
18801 (setenv "SHELL" (which "sh"))
18802 #t)))
18803 #:tests? #t
18804 #:test-command '("make" "check")))
18805 (home-page "https://github.com/eschulte/emacs-web-server/")
18806 (synopsis "Web server with handlers in Emacs Lisp")
18807 (description "This package supports HTTP GET and POST requests with
18808 url-encoded parameters, as well as web sockets.")
18809 (license license:gpl3+))))
18810
18811 (define-public emacs-markdown-preview-mode
18812 (package
18813 (name "emacs-markdown-preview-mode")
18814 (version "0.9.2")
18815 (source
18816 (origin
18817 (method git-fetch)
18818 (uri (git-reference
18819 (url "https://github.com/ancane/markdown-preview-mode")
18820 (commit (string-append "v" version))))
18821 (file-name (git-file-name name version))
18822 (sha256
18823 (base32
18824 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
18825 (build-system emacs-build-system)
18826 (propagated-inputs
18827 `(("emacs-markdown-mode" ,emacs-markdown-mode)
18828 ("emacs-websocket" ,emacs-websocket)
18829 ("emacs-web-server" ,emacs-web-server)))
18830 (arguments '(#:include '("\\.el$" "\\.html$")))
18831 (home-page "https://github.com/ancane/markdown-preview-mode")
18832 (synopsis "Preview Markdown files")
18833 (description "This package provides a minor mode for preview of Markdown
18834 files, and sends rendered Markdown to a web browser.")
18835 (license license:gpl3+)))
18836
18837 (define-public emacs-dotenv-mode
18838 (package
18839 (name "emacs-dotenv-mode")
18840 (version "0.2.4")
18841 (source
18842 (origin
18843 (method git-fetch)
18844 (uri (git-reference
18845 (url "https://github.com/preetpalS/emacs-dotenv-mode")
18846 (commit (string-append "v" version))))
18847 (file-name (git-file-name name version))
18848 (sha256
18849 (base32
18850 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
18851 (build-system emacs-build-system)
18852 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
18853 (synopsis "Major mode for @file{.env} files")
18854 (description "This package provides syntax highlighting for @file{.env}
18855 files.")
18856 (license license:gpl3+)))
18857
18858 (define-public emacs-add-node-modules-path
18859 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
18860 (version "1.2.0")
18861 (revision "10"))
18862 (package
18863 (name "emacs-add-node-modules-path")
18864 (version (git-version version revision commit))
18865 (source
18866 (origin
18867 (method git-fetch)
18868 (uri (git-reference
18869 (url "https://github.com/codesuki/add-node-modules-path")
18870 (commit commit)))
18871 (file-name (git-file-name name version))
18872 (sha256
18873 (base32
18874 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
18875 (build-system emacs-build-system)
18876 (home-page "https://github.com/codesuki/add-node-modules-path")
18877 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
18878 (description "This package searches the parent directories of the
18879 current file for the project's @file{node_modules/.bin/} directory, allowing
18880 Emacs to find project-specific installations of packages.")
18881 (license license:expat))))
18882
18883 (define-public emacs-flow-minor-mode
18884 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
18885 (version "0.3")
18886 (revision "4"))
18887 (package
18888 (name "emacs-flow-minor-mode")
18889 (version (git-version version revision commit))
18890 (source
18891 (origin
18892 (method git-fetch)
18893 (uri (git-reference
18894 (url "https://github.com/an-sh/flow-minor-mode")
18895 (commit commit)))
18896 (file-name (git-file-name name version))
18897 (sha256
18898 (base32
18899 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
18900 (build-system emacs-build-system)
18901 (home-page "https://github.com/an-sh/flow-minor-mode")
18902 (synopsis "Minor mode for JavaScript Flow files")
18903 (description "This package integrates Flow with Emacs, allowing for
18904 definition-jumping and type-checking on demand.")
18905 (license license:bsd-3))))
18906
18907 (define-public emacs-rjsx-mode
18908 (let ((commit "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5")
18909 (revision "2"))
18910 (package
18911 (name "emacs-rjsx-mode")
18912 (version (git-version "0.4" revision commit))
18913 (source
18914 (origin
18915 (method git-fetch)
18916 (uri (git-reference
18917 (url "https://github.com/felipeochoa/rjsx-mode")
18918 (commit commit)))
18919 (file-name (git-file-name name version))
18920 (sha256
18921 (base32
18922 "0s0871sx3ch09kgvbcp9na4zdrfrda62xjq8m9knbq5vnj8q8qpi"))))
18923 (build-system emacs-build-system)
18924 (propagated-inputs
18925 `(("emacs-js2-mode" ,emacs-js2-mode)))
18926 (arguments
18927 `(#:tests? #t
18928 #:test-command '("make" "test")))
18929 (home-page "https://github.com/felipeochoa/rjsx-mode")
18930 (synopsis "Major mode for JSX files")
18931 (description "This package extends the parser of @code{js2-mode} to
18932 support JSX syntax.")
18933 (license license:expat))))
18934
18935 (define-public emacs-origami-el
18936 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
18937 (version "1.0")
18938 (revision "1"))
18939 (package
18940 (name "emacs-origami-el")
18941 (version (git-version version revision commit))
18942 (source
18943 (origin
18944 (method git-fetch)
18945 (uri (git-reference
18946 (url "https://github.com/gregsexton/origami.el")
18947 (commit commit)))
18948 (file-name (git-file-name name version))
18949 (sha256
18950 (base32
18951 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
18952 (build-system emacs-build-system)
18953 (propagated-inputs
18954 `(("emacs-dash" ,emacs-dash)
18955 ("emacs-s" ,emacs-s)))
18956 (home-page "https://github.com/gregsexton/origami.el")
18957 (synopsis "Flexible text-folding")
18958 (description "This package provides a minor mode for collapsing and
18959 expanding regions of text without modifying the actual contents.")
18960 (license license:expat))))
18961
18962 (define-public emacs-peep-dired
18963 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
18964 (version "0")
18965 (revision "1"))
18966 (package
18967 (name "emacs-peep-dired")
18968 (version (git-version version revision commit))
18969 (source
18970 (origin
18971 (method git-fetch)
18972 (uri (git-reference
18973 (url "https://github.com/asok/peep-dired")
18974 (commit commit)))
18975 (file-name (git-file-name name version))
18976 (sha256
18977 (base32
18978 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
18979 (build-system emacs-build-system)
18980 (home-page "https://github.com/asok/peep-dired")
18981 (synopsis "Preview files in another window")
18982 (description "This package provides a minor mode that allows files to be
18983 previewed by scrolling up and down within a @code{dired} buffer.")
18984 (license license:gpl3+))))
18985
18986 (define-public emacs-counsel-etags
18987 (package
18988 (name "emacs-counsel-etags")
18989 (version "1.8.9")
18990 (source
18991 (origin
18992 (method git-fetch)
18993 (uri (git-reference
18994 (url "https://github.com/redguardtoo/counsel-etags")
18995 (commit version)))
18996 (file-name (git-file-name name version))
18997 (sha256
18998 (base32
18999 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
19000 (build-system emacs-build-system)
19001 (propagated-inputs
19002 `(("emacs-ivy" ,emacs-ivy)))
19003 (arguments
19004 `(#:tests? #t
19005 #:test-command '("make" "test")))
19006 (home-page "https://github.com/redguardtoo/counsel-etags")
19007 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
19008 (description "This package uses @code{ivy-mode} to facilitate navigating
19009 and searching through @code{Ctags} files.")
19010 (license license:gpl3+)))
19011
19012 (define-public emacs-ivy-clipmenu
19013 (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc"))
19014 (package
19015 (name "emacs-ivy-clipmenu")
19016 (version (git-version "0.0.1" "1" commit))
19017 (source (origin
19018 (method git-fetch)
19019 (uri (git-reference
19020 (url "https://github.com/wpcarro/ivy-clipmenu.el.git")
19021 (commit commit)))
19022 (file-name (git-file-name name version))
19023 (sha256
19024 (base32
19025 "0npd8glzk5z4n7y9mzbsbzi0cf3by19fqcki052jr3dga363lds7"))))
19026 (propagated-inputs
19027 `(("emacs-f" ,emacs-f)
19028 ("emacs-ivy" ,emacs-ivy)))
19029 (build-system emacs-build-system)
19030 (home-page "https://github.com/wpcarro/ivy-clipmenu.el")
19031 (synopsis "Ivy integration with clipmenu")
19032 (description "Ivy integration with the clipboard manager, clipmenu.")
19033 (license license:expat))))
19034
19035 (define-public emacs-org-download
19036 (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
19037 (revision "2"))
19038 (package
19039 (name "emacs-org-download")
19040 (version (git-version "0.1.0" revision commit))
19041 (source (origin
19042 (method git-fetch)
19043 (uri (git-reference
19044 (url "https://github.com/abo-abo/org-download")
19045 (commit commit)))
19046 (sha256
19047 (base32
19048 "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
19049 (file-name (git-file-name name version))))
19050 (build-system emacs-build-system)
19051 (propagated-inputs
19052 `(("emacs-org" ,emacs-org)
19053 ("emacs-async" ,emacs-async)))
19054 (home-page "https://github.com/abo-abo/org-download")
19055 (synopsis "Facilitate moving images")
19056 (description "This package provides utilities for managing image files
19057 copied into @code{org-mode} buffers.")
19058 (license license:gpl3+))))
19059
19060 (define-public emacs-dash-docs
19061 (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a")
19062 (revision "1"))
19063 (package
19064 (name "emacs-dash-docs")
19065 (version (git-version "1.4.0" revision commit))
19066 (source
19067 (origin
19068 (method git-fetch)
19069 (uri (git-reference
19070 (url "https://github.com/dash-docs-el/dash-docs.git")
19071 (commit commit)))
19072 (file-name (git-file-name name version))
19073 (sha256
19074 (base32
19075 "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng"))))
19076 (build-system emacs-build-system)
19077 (propagated-inputs
19078 `(("emacs-async" ,emacs-async)))
19079 (native-inputs
19080 `(("emacs-undercover" ,emacs-undercover)
19081 ("emacs-ert-runner" ,emacs-ert-runner)))
19082 (arguments
19083 `(#:tests? #t
19084 #:test-command '("ert-runner")
19085 #:phases
19086 ;; this test requires network access, so remove it
19087 (modify-phases %standard-phases
19088 (add-before 'check 'make-tests-writable
19089 (lambda _
19090 (make-file-writable "test/dash-docs-test.el")
19091 #t))
19092 (add-before 'check 'delete-test
19093 (lambda _
19094 (emacs-batch-edit-file "test/dash-docs-test.el"
19095 `(progn (progn
19096 (goto-char (point-min))
19097 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
19098 (beginning-of-line)
19099 (kill-sexp))
19100 (basic-save-buffer)))
19101 #t)))))
19102 (home-page "https://github.com/dash-docs-el/dash-docs")
19103 (synopsis "Offline documentation browser for APIs using Dash docsets")
19104 (description "This package exposes functionality to work with Dash docsets.")
19105 (license license:gpl3+))))
19106
19107 (define-public emacs-helm-dash
19108 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
19109 (revision "2"))
19110 (package
19111 (name "emacs-helm-dash")
19112 (version (git-version "1.3.0" revision commit))
19113 (source
19114 (origin
19115 (method git-fetch)
19116 (uri (git-reference
19117 (url "https://github.com/areina/helm-dash.git")
19118 (commit commit)))
19119 (file-name (git-file-name name version))
19120 (sha256
19121 (base32
19122 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
19123 (build-system emacs-build-system)
19124 (propagated-inputs
19125 `(("emacs-helm" ,emacs-helm)
19126 ("emacs-dash-docs" ,emacs-dash-docs)))
19127 (home-page "https://github.com/areina/helm-dash")
19128 (synopsis "Offline documentation browser for APIs using Dash docsets")
19129 (description "This package uses Helm to install and navigate through
19130 Dash docsets.")
19131 (license license:gpl3+))))
19132
19133 (define-public emacs-counsel-dash
19134 (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
19135 (revision "3"))
19136 (package
19137 (name "emacs-counsel-dash")
19138 (version (git-version "0.1.3" revision commit))
19139 (source
19140 (origin
19141 (method git-fetch)
19142 (uri (git-reference
19143 (url "https://github.com/dash-docs-el/counsel-dash.git")
19144 (commit commit)))
19145 (file-name (git-file-name name version))
19146 (sha256
19147 (base32
19148 "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
19149 (build-system emacs-build-system)
19150 (propagated-inputs
19151 `(("emacs-dash-docs" ,emacs-dash-docs)
19152 ("emacs-ivy" ,emacs-ivy)))
19153 (arguments
19154 `(#:phases
19155 (modify-phases %standard-phases
19156 (add-after 'unpack 'require-ivy
19157 (lambda _
19158 (substitute* "counsel-dash.el"
19159 (("^\\(require 'cl-lib\\)")
19160 "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
19161 #t)))))
19162 (home-page "https://github.com/dash-docs-el/counsel-dash")
19163 (synopsis "Offline documentation browser for APIs using Dash docsets")
19164 (description "This package uses @code{ivy-mode} to install and navigate
19165 through Dash docsets.")
19166 (license license:expat))))
19167
19168 (define-public emacs-el-patch
19169 (package
19170 (name "emacs-el-patch")
19171 (version "2.2.3")
19172 (source
19173 (origin
19174 (method git-fetch)
19175 (uri (git-reference
19176 (url "https://github.com/raxod502/el-patch")
19177 (commit version)))
19178 (file-name (git-file-name name version))
19179 (sha256
19180 (base32
19181 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
19182 (build-system emacs-build-system)
19183 (home-page "https://github.com/raxod502/el-patch")
19184 (synopsis "Future-proof your Emacs customizations")
19185 (description "This package allows for an alternate definition of an Elisp
19186 function to be specified and for any differences from the original definition
19187 to be examined using Ediff.")
19188 (license license:expat)))
19189
19190 (define-public emacs-info-plus
19191 (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da")
19192 (revision "2"))
19193 (package
19194 (name "emacs-info-plus")
19195 (version (git-version "0" revision commit))
19196 (source
19197 (origin
19198 (method git-fetch)
19199 (uri (git-reference
19200 (url "https://github.com/emacsmirror/info-plus")
19201 (commit commit)))
19202 (file-name (git-file-name name version))
19203 (sha256
19204 (base32
19205 "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0"))))
19206 (build-system emacs-build-system)
19207 (home-page "https://github.com/emacsmirror/info-plus")
19208 (synopsis "Extensions to @file{info.el}")
19209 (description "This package extends Emacs' @file{info.el} by allowing
19210 outline-enabled table of contents, additional metadata association for Info
19211 nodes, and more.")
19212 (license license:gpl2+))))
19213
19214 (define-public emacs-eval-sexp-fu-el
19215 (package
19216 (name "emacs-eval-sexp-fu-el")
19217 (version "0.5.0")
19218 (source
19219 (origin
19220 (method git-fetch)
19221 (uri (git-reference
19222 (url "https://github.com/hchbaw/eval-sexp-fu.el")
19223 (commit (string-append "v" version))))
19224 (file-name (git-file-name name version))
19225 (sha256
19226 (base32
19227 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
19228 (build-system emacs-build-system)
19229 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
19230 (synopsis "Enhancements for evaluating s-expressions")
19231 (description "This package provides provides variants of
19232 @code{eval-last-sexp} that work on the containing list or s-expression, as
19233 well as an option for visually flashing evaluated s-expressions.")
19234 (license license:gpl3+)))
19235
19236 (define-public emacs-counsel-tramp
19237 (package
19238 (name "emacs-counsel-tramp")
19239 (version "0.6.3")
19240 (source
19241 (origin
19242 (method git-fetch)
19243 (uri (git-reference
19244 (url "https://github.com/masasam/emacs-counsel-tramp")
19245 (commit version)))
19246 (file-name (git-file-name name version))
19247 (sha256
19248 (base32
19249 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
19250 (build-system emacs-build-system)
19251 (propagated-inputs
19252 `(("emacs-ivy" ,emacs-ivy)))
19253 (home-page "https://github.com/masasam/emacs-counsel-tramp")
19254 (synopsis "Ivy interface for TRAMP")
19255 (description "This package allows @code{ivy-mode} to display and filter
19256 SSH servers.")
19257 (license license:gpl3+)))
19258
19259 (define-public emacs-tramp-auto-auth
19260 (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
19261 (package
19262 (name "emacs-tramp-auto-auth")
19263 (version (git-version "20191027" "1" commit))
19264 (source
19265 (origin
19266 (method git-fetch)
19267 (uri (git-reference
19268 (url "https://github.com/oitofelix/tramp-auto-auth.git")
19269 (commit commit)))
19270 (file-name (git-file-name name version))
19271 (sha256
19272 (base32
19273 "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"))))
19274 (build-system emacs-build-system)
19275 (home-page "https://github.com/oitofelix/tramp-auto-auth")
19276 (synopsis "TRAMP automatic authentication library")
19277 (description "This package provides @code{tramp-auto-auth-mode} Emacs
19278 global minor mode whose purpose is to automatically feed TRAMP sub-processes
19279 with passwords for paths matching regexps.")
19280 (license license:gpl3+))))
19281
19282 (define-public emacs-eacl
19283 (package
19284 (name "emacs-eacl")
19285 (version "2.0.1")
19286 (source
19287 (origin
19288 (method git-fetch)
19289 (uri (git-reference
19290 (url "https://github.com/redguardtoo/eacl")
19291 (commit version)))
19292 (file-name (git-file-name name version))
19293 (sha256
19294 (base32
19295 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
19296 (build-system emacs-build-system)
19297 (propagated-inputs
19298 `(("emacs-ivy" ,emacs-ivy)))
19299 (home-page "https://github.com/redguardtoo/eacl")
19300 (synopsis "Auto-complete lines by using @code{grep} on a project")
19301 (description "This package provides auto-completion cammands for single
19302 and multiple lines of code in a project.")
19303 (license license:gpl3+)))
19304
19305 (define-public emacs-semantic-refactor
19306 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
19307 ;; commits since then.
19308 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
19309 (package
19310 (name "emacs-semantic-refactor")
19311 (version (git-version "0.5" "1" commit))
19312 (source
19313 (origin
19314 (method git-fetch)
19315 (uri (git-reference
19316 (url "https://github.com/tuhdo/semantic-refactor")
19317 (commit commit)))
19318 (file-name (git-file-name name version))
19319 (sha256
19320 (base32
19321 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
19322 (build-system emacs-build-system)
19323 (home-page "https://github.com/tuhdo/semantic-refactor")
19324 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
19325 (description "This package provides a refactoring tool based on the
19326 Emacs Semantic parser framework. For C and C++ it supports operations such as:
19327
19328 @enumerate
19329 @item Generating class implementations
19330 @item Generating function prototypes
19331 @item Converting functions to function pointers
19332 @item Moving semantic units
19333 @item etc...
19334 @end enumerate
19335
19336 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
19337 as:
19338
19339 @enumerate
19340 @item Formatting the whole buffer
19341 @item Converting sexpressions to one or multiple lines
19342 @item etc...
19343 @end enumerate\n")
19344 (license license:gpl3+))))
19345
19346 (define-public emacs-nhexl-mode
19347 (package
19348 (name "emacs-nhexl-mode")
19349 (version "1.4")
19350 (source
19351 (origin
19352 (method url-fetch)
19353 (uri (string-append
19354 "https://elpa.gnu.org/packages/nhexl-mode-"
19355 version ".el"))
19356 (sha256
19357 (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8"))))
19358 (build-system emacs-build-system)
19359 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
19360 (synopsis "Minor mode to edit files via hex-dump format")
19361 (description
19362 "This package implements NHexl mode, a minor mode for editing files
19363 in hex dump format. The mode command is called @command{nhexl-mode}.
19364
19365 This minor mode implements similar functionality to @command{hexl-mode},
19366 but using a different implementation technique, which makes it
19367 usable as a \"plain\" minor mode. It works on any buffer, and does
19368 not mess with the undo log or with the major mode.
19369
19370 It also comes with:
19371
19372 @itemize
19373 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
19374 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
19375 (which only work for hex-digits) will only modify the nibble under point.
19376 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
19377 moving text. In this minor mode, not only self-inserting keys overwrite
19378 existing text, but commands like `yank' and @command{kill-region} as well.
19379 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
19380 C-f} to advance by #xa4 characters.
19381 @end itemize\n")
19382 (license license:gpl3+)))
19383
19384 (define-public emacs-helm-wikipedia
19385 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
19386 (package
19387 (name "emacs-helm-wikipedia")
19388 (version (git-version "0.0.0" "1" commit))
19389 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
19390 (source
19391 (origin
19392 (method git-fetch)
19393 (uri (git-reference
19394 (url home-page)
19395 (commit commit)))
19396 (file-name (git-file-name name version))
19397 (sha256
19398 (base32
19399 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
19400 (build-system emacs-build-system)
19401 (inputs
19402 `(("helm" ,emacs-helm)))
19403 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
19404 (description
19405 "This package provides an Emacs Helm interface for search suggestions
19406 and article extracts for Wikipedia.")
19407 (license license:gpl3+))))
19408
19409 (define-public emacs-webfeeder
19410 (package
19411 (name "emacs-webfeeder")
19412 (version "1.0.0")
19413 (source
19414 (origin
19415 (method url-fetch)
19416 (uri (string-append
19417 "https://elpa.gnu.org/packages/webfeeder-"
19418 version
19419 ".tar"))
19420 (sha256
19421 (base32
19422 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
19423 (build-system emacs-build-system)
19424 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
19425 (synopsis "Build RSS and Atom webfeeds from HTML files")
19426 (description
19427 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
19428 files. The various elements of the HTML input are parsed with customizable
19429 functions (e.g. @code{webfeeder-title-function}).")
19430 (license license:gpl3+)))
19431
19432 (define-public emacs-evil-numbers
19433 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
19434 (package
19435 (name "emacs-evil-numbers")
19436 (version (git-version "0.4" "1" commit))
19437 (source (origin
19438 (method git-fetch)
19439 (uri (git-reference
19440 (url "https://github.com/dieggsy/evil-numbers")
19441 (commit commit)))
19442 (file-name (git-file-name name version))
19443 (sha256
19444 (base32
19445 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
19446 (build-system emacs-build-system)
19447 (home-page "https://github.com/dieggsy/evil-numbers")
19448 (synopsis "Increment and decrement numbers in Emacs")
19449 (description "This package increments and decrements binary, octal,
19450 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
19451 number up to EOL and then increments or decrements and keeps zero padding up
19452 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
19453 numbers within that region will be incremented/decremented (unlike in Vim).
19454
19455 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
19456 (license license:gpl3+))))
19457
19458 (define-public emacs-rotate-text
19459 (package
19460 (name "emacs-rotate-text")
19461 (version "0.1")
19462 (source (origin
19463 (method git-fetch)
19464 (uri (git-reference
19465 (url "https://github.com/nschum/rotate-text.el.git")
19466 (commit version)))
19467 (file-name (git-file-name name version))
19468 (sha256
19469 (base32
19470 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
19471 (build-system emacs-build-system)
19472 (home-page "http://nschum.de/src/emacs/rotate-text/")
19473 (synopsis "Cycle through words, symbols and patterns in Emacs")
19474 (description "@code{rotate-text} allows you rotate to commonly
19475 interchanged text with a single keystroke. For example, you can toggle
19476 between \"frame-width\" and \"frame-height\", between \"public\",
19477 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
19478 \"variableN\".")
19479 (license license:gpl2+)))
19480
19481 (define-public emacs-ediprolog
19482 (package
19483 (name "emacs-ediprolog")
19484 (version "1.2")
19485 (source
19486 (origin
19487 (method url-fetch)
19488 (uri (string-append
19489 "https://elpa.gnu.org/packages/ediprolog-"
19490 version
19491 ".el"))
19492 (sha256
19493 (base32
19494 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
19495 (build-system emacs-build-system)
19496 (home-page "https://elpa.gnu.org/packages/ediprolog.html")
19497 (synopsis "Emacs Does Interactive Prolog")
19498 (description "This package provides a major mode that let the user
19499 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
19500 programs and evaluate embedded queries. This mode is focused on the command
19501 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
19502 context, carry out the appropriate action.")
19503 (license license:gpl3+)))
19504
19505 (define-public emacs-evil-cleverparens
19506 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
19507 (revision "1"))
19508 (package
19509 (name "emacs-evil-cleverparens")
19510 (version (git-version "2017-07-17" revision commit))
19511 (source (origin
19512 (method git-fetch)
19513 (uri (git-reference
19514 (url "https://github.com/luxbock/evil-cleverparens.git")
19515 (commit commit)))
19516 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
19517 (file-name (git-file-name name version))))
19518 (build-system emacs-build-system)
19519 (propagated-inputs
19520 `(("emacs-evil" ,emacs-evil)
19521 ("emacs-paredit" ,emacs-paredit)
19522 ("emacs-smartparens" ,emacs-smartparens)))
19523 (home-page "https://github.com/luxbock/evil-cleverparens")
19524 (synopsis "Emacs modal editing optimized for editing Lisp")
19525 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
19526 modal editing with screwing up the structure of Lisp code. Alternatives for
19527 verb commands which would are normally destructive (such as deletion) are
19528 provided. Those alternative commands are and bound by default to their
19529 corresponding Evil keys.")
19530 (license license:expat))))
19531
19532 (define-public emacs-evil-traces
19533 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
19534 (revision "2"))
19535 (package
19536 (name "emacs-evil-traces")
19537 (version (git-version "0.0.1" revision commit))
19538 (source (origin
19539 (method git-fetch)
19540 (uri (git-reference
19541 (url "https://github.com/mamapanda/evil-traces.git")
19542 (commit commit)))
19543 (file-name (git-file-name name version))
19544 (sha256
19545 (base32
19546 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
19547 (build-system emacs-build-system)
19548 (propagated-inputs
19549 `(("emacs-evil" ,emacs-evil)))
19550 (arguments
19551 `(#:phases
19552 (modify-phases %standard-phases
19553 (add-after 'unpack 'set-shell
19554 ;; Setting the SHELL environment variable is required for the tests
19555 ;; to find sh.
19556 (lambda _
19557 (setenv "SHELL" (which "sh"))
19558 #t)))
19559 #:tests? #t
19560 #:test-command '("make" "test")))
19561 (home-page "https://github.com/mamapanda/evil-traces")
19562 (synopsis "Visual hints for @code{evil-ex}")
19563 (description "This package adds visual hints to certain @code{ex}
19564 commands in @code{evil-mode}.")
19565 (license license:gpl3+))))
19566
19567 (define-public emacs-xterm-color
19568 (package
19569 (name "emacs-xterm-color")
19570 (version "1.9")
19571 (source (origin
19572 (method git-fetch)
19573 (uri (git-reference
19574 (url "https://github.com/atomontage/xterm-color.git")
19575 (commit version)))
19576 (file-name (git-file-name name version))
19577 (sha256
19578 (base32
19579 "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"))))
19580 (build-system emacs-build-system)
19581 (home-page "https://github.com/atomontage/xterm-color")
19582 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
19583 (description "@code{xterm-color.el} is an ANSI control sequence to
19584 text-property translator.")
19585 (license license:bsd-2)))
19586
19587 (define-public emacs-org-noter
19588 (package
19589 (name "emacs-org-noter")
19590 (version "1.4.1")
19591 (source
19592 (origin
19593 (method git-fetch)
19594 (uri (git-reference
19595 (url "https://github.com/weirdNox/org-noter.git")
19596 (commit version)))
19597 (file-name (git-file-name name version))
19598 (sha256
19599 (base32
19600 "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
19601 (build-system emacs-build-system)
19602 (propagated-inputs `(("emacs-org" ,emacs-org)))
19603 (home-page "https://github.com/weirdNox/org-noter")
19604 (synopsis "Synchronized, Org-mode, document annotator")
19605 (description
19606 "This package lets you create notes that are kept in sync when you
19607 scroll through the document, but that are external to it---the notes
19608 themselves live in an Org-mode file. As such, this leverages the power of
19609 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
19610 acting like notes that are made @emph{in} the document.")
19611 (license license:gpl3+)))
19612
19613 (define-public emacs-org-redmine
19614 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
19615 (package
19616 (name "emacs-org-redmine")
19617 (version (git-version "0.1" "1" commit))
19618 (source (origin
19619 (method git-fetch)
19620 (uri (git-reference
19621 (url "https://github.com/gongo/org-redmine.git")
19622 (commit commit)))
19623 (file-name (git-file-name name version))
19624 (sha256
19625 (base32
19626 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
19627 (build-system emacs-build-system)
19628 (home-page "https://github.com/gongo/org-redmine/")
19629 (synopsis "Redmine tools using Emacs")
19630 (description "This program provides an Emacs client for Redmine.")
19631 (license license:gpl3+))))
19632
19633 (define-public emacs-multi-term
19634 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
19635 (package
19636 (name "emacs-multi-term")
19637 (version "1.2")
19638 (source (origin
19639 (method git-fetch)
19640 (uri (git-reference
19641 (url "https://github.com/manateelazycat/multi-term.git")
19642 (commit commit)))
19643 (file-name (git-file-name name version))
19644 (sha256
19645 (base32
19646 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
19647 (build-system emacs-build-system)
19648 (inputs `(("zsh" ,zsh)))
19649 (home-page "https://github.com/manateelazycat/multi-term")
19650 (synopsis "Manage multiple terminal buffers in Emacs")
19651 (description
19652 "This package enhances @code{term.el} with the following features:
19653
19654 @enumerate
19655 @item Functions to switch between multiple terminal buffers
19656 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
19657 the underlying terminal
19658 @item Kills the unused buffer left after exiting the terminal
19659 @item Kills the running sub-processes along with the terminal when killing the
19660 it forcibly
19661 @item Dedicated window for debugging program.
19662 @end enumerate")
19663 (license license:gpl3+))))
19664
19665 (define-public emacs-elpher
19666 (package
19667 (name "emacs-elpher")
19668 (version "1.4.6")
19669 (source
19670 (origin
19671 (method git-fetch)
19672 (uri (git-reference
19673 (url "https://github.com/tgvaughan/elpher")
19674 (commit (string-append "v" version))))
19675 (file-name (git-file-name name version))
19676 (sha256
19677 (base32
19678 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
19679 (build-system emacs-build-system)
19680 (native-inputs
19681 `(("texinfo" ,texinfo)))
19682 (arguments
19683 `(#:phases
19684 (modify-phases %standard-phases
19685 (add-before 'install 'build-doc
19686 (lambda _
19687 (invoke "makeinfo" "elpher.texi"))))))
19688 (home-page "https://github.com/tgvaughan/elpher")
19689 (synopsis "Gopher client for Emacs")
19690 (description "Elpher is a full-featured gopher client for Emacs. Its
19691 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
19692 compatibility with evil-mode, clickable web and gopher links in plain text,
19693 caching of visited sites, pleasant and configurable visualization of Gopher
19694 directories, direct visualisation of image files, jumping directly to links by
19695 name (with autocompletion), a simple bookmark management system and
19696 connections using TLS encryption.")
19697 (license license:gpl3+)))
19698
19699 (define-public emacs-zerodark-theme
19700 (package
19701 (name "emacs-zerodark-theme")
19702 (version "4.6")
19703 (source
19704 (origin
19705 (method git-fetch)
19706 (uri (git-reference
19707 (url "https://github.com/NicolasPetton/zerodark-theme")
19708 (commit version)))
19709 (file-name (git-file-name name version))
19710 (sha256
19711 (base32
19712 "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"))))
19713 (build-system emacs-build-system)
19714 (propagated-inputs
19715 `(("emacs-flycheck" ,emacs-flycheck)
19716 ("emacs-all-the-icons" ,emacs-all-the-icons)))
19717 (home-page
19718 "https://gitlab.petton.fr/nico/zerodark-theme")
19719 (synopsis
19720 "Dark, medium contrast theme for Emacs")
19721 (description
19722 "Zerodark is a dark theme inspired from One Dark and Niflheim.
19723 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
19724 (license license:gpl3+)))
19725
19726 (define-public emacs-gnus-alias
19727 (package
19728 (name "emacs-gnus-alias")
19729 (version "20150316")
19730 (source (origin
19731 (method git-fetch)
19732 (uri (git-reference
19733 (url "https://github.com/hexmode/gnus-alias.git")
19734 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
19735 (file-name (git-file-name name version))
19736 (sha256
19737 (base32
19738 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
19739 (build-system emacs-build-system)
19740 (home-page "https://melpa.org/#/gnus-alias")
19741 (synopsis "Alternative to @code{gnus-posting-styles}")
19742 (description "This Emacs add-on provides a simple mechanism to switch
19743 Identities when using a @code{message-mode} or a @code{message-mode} derived
19744 mode. Identities can include @code{From} and @code{Organisation} headers,
19745 extra headers, body and signature. Other features include:
19746
19747 @itemize
19748 @item Switch Identities in a message buffer.
19749 @item Access original message to help determine Identity of the followup/reply
19750 message.
19751 @item Act on a forwarded message as if it were a message being replied to.
19752 @item Start a new message with a given Identity pre-selected.
19753 @end itemize")
19754 (license license:gpl2+)))
19755
19756 (define-public emacs-ox-epub
19757 (package
19758 (name "emacs-ox-epub")
19759 (version "0.3")
19760 (source (origin
19761 (method git-fetch)
19762 (uri (git-reference
19763 (url "https://github.com/ofosos/ox-epub.git")
19764 (commit (string-append "v" version))))
19765 (file-name (git-file-name name version))
19766 (sha256
19767 (base32
19768 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
19769 (build-system emacs-build-system)
19770 (home-page "https://github.com/ofosos/ox-epub")
19771 (synopsis "Export org mode projects to EPUB")
19772 (description "@code{ox-epub} extends the (X)HTML exporter to generate
19773 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
19774 which should give broad compatibility. It should also be relatiely easy to
19775 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
19776 zip utility (default is @code{zip}).")
19777 (license license:gpl3+)))
19778
19779 (define-public emacs-ox-hugo
19780 (package
19781 (name "emacs-ox-hugo")
19782 (version "0.8")
19783 (source
19784 (origin
19785 (method git-fetch)
19786 (uri (git-reference
19787 (url "https://github.com/kaushalmodi/ox-hugo.git")
19788 (commit (string-append "v" version))))
19789 (file-name (git-file-name name version))
19790 (sha256
19791 (base32
19792 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
19793 (build-system emacs-build-system)
19794 (home-page "https://ox-hugo.scripter.co")
19795 (synopsis "Hugo markdown back-end for Org export engine")
19796 (description
19797 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
19798 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
19799 format.")
19800 (license license:gpl3+)))
19801
19802 (define-public emacs-ox-pandoc
19803 (package
19804 (name "emacs-ox-pandoc")
19805 (version "20180510")
19806 (source (origin
19807 (method git-fetch)
19808 (uri (git-reference
19809 (url "https://github.com/kawabata/ox-pandoc.git")
19810 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
19811 (file-name (git-file-name name version))
19812 (sha256
19813 (base32
19814 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
19815 (build-system emacs-build-system)
19816 (inputs
19817 `(("pandoc" ,ghc-pandoc)))
19818 (propagated-inputs
19819 `(("emacs-dash" ,emacs-dash)
19820 ("emacs-ht" ,emacs-ht)))
19821 (home-page "https://github.com/kawabata/ox-pandoc")
19822 (synopsis "Org exporter for Pandoc")
19823 (description "@code{ox-pandoc} is an exporter for converting Org-mode
19824 files to numerous other formats via Pandoc.")
19825 (license license:gpl3+)))
19826
19827 (define-public emacs-wc-mode
19828 (package
19829 (name "emacs-wc-mode")
19830 (version "1.3")
19831 (source (origin
19832 (method git-fetch)
19833 (uri (git-reference
19834 (url "https://github.com/bnbeckwith/wc-mode.git")
19835 (commit (string-append "v" version))))
19836 (file-name (git-file-name name version))
19837 (sha256
19838 (base32
19839 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
19840 (build-system emacs-build-system)
19841 (home-page "https://github.com/bnbeckwith/wc-mode")
19842 (synopsis "Running word count with goals (minor mode)")
19843 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
19844 for Emacs buffers as well as a modeline addition with live word, line and
19845 character counts. Additionally, a user can set specific goals for adding or
19846 deleting words. These goals were partly inspired by 750words.com where the
19847 goal of the site is to encourage writing by setting a goal of 750 words at a
19848 time.")
19849 (license license:gpl3+)))
19850
19851 (define-public emacs-mastodon
19852 (package
19853 (name "emacs-mastodon")
19854 (version "0.9.0")
19855 (source (origin
19856 (method git-fetch)
19857 (uri (git-reference
19858 (url "https://github.com/jdenen/mastodon.el.git")
19859 (commit version)))
19860 (file-name (git-file-name name version))
19861 (sha256
19862 (base32
19863 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
19864 (build-system emacs-build-system)
19865 (arguments
19866 `(#:phases
19867 (modify-phases %standard-phases
19868 ;; Move the source files to the top level, which is included in
19869 ;; the EMACSLOADPATH.
19870 (add-after 'unpack 'move-source-files
19871 (lambda _
19872 (let ((el-files (find-files "./lisp" ".*\\.el$")))
19873 (for-each (lambda (f)
19874 (rename-file f (basename f)))
19875 el-files))
19876 #t)))))
19877 (home-page "https://github.com/jdenen/mastodon.el")
19878 (synopsis "Emacs client for Mastodon")
19879 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
19880 federated microblogging social network.")
19881 (license license:gpl3+)))
19882
19883 ;; The last release tarball is for version 0.6. We pick a commit close to
19884 ;; version 0.6.10, which doesn't have a release tarball.
19885 (define-public emacs-ebdb
19886 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
19887 (revision "0"))
19888 (package
19889 (name "emacs-ebdb")
19890 (version (git-version "0.6.10" revision commit))
19891 (source (origin
19892 (method git-fetch)
19893 (uri (git-reference
19894 (url "https://github.com/girzel/ebdb.git")
19895 (commit commit)))
19896 (file-name (git-file-name name version))
19897 (sha256
19898 (base32
19899 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
19900 (build-system emacs-build-system)
19901 (home-page "https://github.com/girzel/ebdb")
19902 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
19903 (description "EBDB is a contact management/addressbook package for
19904 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
19905 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
19906 (license license:gpl3+))))
19907
19908 (define-public emacs-refactor
19909 (package
19910 (name "emacs-refactor")
19911 (version "0.4")
19912 (source (origin
19913 (method git-fetch)
19914 (uri (git-reference
19915 (url "https://github.com/Wilfred/emacs-refactor.git")
19916 (commit version)))
19917 (file-name (git-file-name name version))
19918 (sha256
19919 (base32
19920 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
19921 (build-system emacs-build-system)
19922 (propagated-inputs
19923 `(("emacs-dash" ,emacs-dash)
19924 ("emacs-s" ,emacs-s)
19925 ("emacs-popup" ,emacs-popup)
19926 ("emacs-list-utils" ,emacs-list-utils)
19927 ("emacs-iedit" ,emacs-iedit)))
19928 (home-page "https://github.com/Wilfred/emacs-refactor/")
19929 (synopsis "Language-specific refactoring in Emacs")
19930 (description "Emacs Refactor (EMR) is a framework for providing
19931 language-specific refactoring in Emacs. It includes refactoring commands for
19932 a variety of languages, including elisp itself.")
19933 (license license:gpl3+)))
19934
19935 (define-public emacs-flyspell-correct
19936 (package
19937 (name "emacs-flyspell-correct")
19938 (version "0.5")
19939 (source
19940 (origin
19941 (method git-fetch)
19942 (uri (git-reference
19943 (url "https://github.com/d12frosted/flyspell-correct.git")
19944 (commit (string-append "v" version))))
19945 (file-name (git-file-name name version))
19946 (sha256
19947 (base32
19948 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
19949 (build-system emacs-build-system)
19950 (propagated-inputs
19951 `(("emacs-helm" ,emacs-helm)
19952 ("emacs-ivy" ,emacs-ivy)
19953 ("emacs-popup" ,emacs-popup)))
19954 (home-page
19955 "https://github.com/d12frosted/flyspell-correct")
19956 (synopsis
19957 "Correcting words with flyspell via custom interfaces")
19958 (description
19959 "This package provides functionality for correcting words via custom
19960 interfaces. Several interfaces are supported beside the classic ido: popup,
19961 helm and ivy.")
19962 (license license:gpl3+)))
19963
19964 (define-public emacs-org-emms
19965 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
19966 (revision "1"))
19967 (package
19968 (name "emacs-org-emms")
19969 (version
19970 (git-version "0.1" revision commit))
19971 (source
19972 (origin
19973 (method git-fetch)
19974 (uri (git-reference
19975 (url "https://gitlab.com/jagrg/org-emms.git")
19976 (commit commit)))
19977 (file-name (git-file-name name commit))
19978 (sha256
19979 (base32
19980 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
19981 (build-system emacs-build-system)
19982 (propagated-inputs
19983 `(("emms" ,emacs-emms)
19984 ("emacs-org" ,emacs-org)))
19985 (home-page "https://gitlab.com/jagrg/org-emms")
19986 (synopsis "Play multimedia files from org-mode")
19987 (description
19988 "This package provides a new org link type for playing back multimedia
19989 files from org-mode using EMMS, The Emacs Multimedia System. If the link
19990 contains a track position, playback will start at the specified position.")
19991 (license license:gpl3+))))
19992
19993 (define-public emacs-org-jira
19994 (package
19995 (name "emacs-org-jira")
19996 (version "4.3.1")
19997 (source
19998 (origin
19999 (method git-fetch)
20000 (uri (git-reference
20001 (url "https://github.com/ahungry/org-jira.git")
20002 (commit version)))
20003 (file-name (git-file-name name version))
20004 (sha256
20005 (base32
20006 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
20007 (build-system emacs-build-system)
20008 (propagated-inputs
20009 `(("emacs-request" ,emacs-request)
20010 ("emacs-s" ,emacs-s)
20011 ("emacs-dash" ,emacs-dash)
20012 ("emacs-org" ,emacs-org)))
20013 (home-page "https://github.com/ahungry/org-jira")
20014 (synopsis "Syncing between Jira and Org-mode")
20015 (description
20016 "This package provides an extension to org-mode for syncing issues with
20017 JIRA issue servers.")
20018 (license license:gpl3+)))
20019
20020 (define-public emacs-systemd-mode
20021 (package
20022 (name "emacs-systemd-mode")
20023 (version "1.6")
20024 (source (origin
20025 (method git-fetch)
20026 (uri (git-reference
20027 (url "https://github.com/holomorph/systemd-mode.git")
20028 (commit (string-append "v" version))))
20029 (file-name (git-file-name name version))
20030 (sha256
20031 (base32
20032 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
20033 (build-system emacs-build-system)
20034 (arguments '(#:include '("\\.el$" "\\.txt$")))
20035 (home-page "https://github.com/holomorph/systemd-mode")
20036 (synopsis
20037 "Major mode for editing systemd units")
20038 (description
20039 "Major mode for editing systemd units in GNU Emacs.")
20040 (license license:gpl3+)))
20041
20042 (define-public emacs-ssh-config-mode
20043 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
20044 (revision "1"))
20045 (package
20046 (name "emacs-ssh-config-mode")
20047 (version (git-version "8.0" revision commit))
20048 (source
20049 (origin
20050 (method git-fetch)
20051 (uri
20052 (git-reference
20053 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
20054 (commit commit)))
20055 (file-name (git-file-name name commit))
20056 (sha256
20057 (base32
20058 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
20059 (build-system emacs-build-system)
20060 (arguments '(#:include '("\\.el$" "\\.txt$")))
20061 (home-page
20062 "https://github.com/jhgorrell/ssh-config-mode-el")
20063 (synopsis
20064 "Mode for fontification of ~/.ssh/config")
20065 (description
20066 "This package fontifies the ssh config keywords and creates
20067 keybindings for skipping from host section to host section.")
20068 (license license:gpl3+))))
20069
20070 (define-public emacs-ssh-agency
20071 (package
20072 (name "emacs-ssh-agency")
20073 (version "0.4")
20074 (source (origin
20075 (method git-fetch)
20076 (uri (git-reference
20077 (url "https://github.com/magit/ssh-agency.git")
20078 (commit version)))
20079 (file-name (git-file-name name version))
20080 (sha256
20081 (base32
20082 "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"))))
20083 (build-system emacs-build-system)
20084 (propagated-inputs
20085 `(("dash" ,emacs-dash)))
20086 (home-page "https://github.com/magit/ssh-agency")
20087 (synopsis "Manage @code{ssh-agent} from Emacs")
20088 (description
20089 "This package provides functions to startup @code{ssh-agent}, set the
20090 needed environment variables in Emacs, and prompt for passphrases from within
20091 Emacs so that pushes and pulls from @code{magit} will not require entering any
20092 passphrase.
20093
20094 It can also be useful on Unix-like platforms to delay having to enter your
20095 passphrase until the first time you push to a remote.")
20096 (license license:gpl3+)))
20097
20098 (define-public emacs-tao-theme
20099 (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c")
20100 (revision "0"))
20101 (package
20102 (name "emacs-tao-theme")
20103 (version (git-version "0" revision commit))
20104 (source
20105 (origin
20106 (method git-fetch)
20107 (uri (git-reference
20108 (url "https://github.com/11111000000/tao-theme-emacs.git")
20109 (commit commit)))
20110 (file-name (git-file-name name version))
20111 (sha256
20112 (base32
20113 "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"))))
20114 (build-system emacs-build-system)
20115 (home-page "https://github.com/11111000000/tao-theme-emacs")
20116 (synopsis "Parameterized uncolored color themes for Emacs")
20117 (description
20118 "This package provides two parameterized uncolored color themes for
20119 Emacs: @code{tao-yin} and @code{tao-yang}. The default
20120 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
20121
20122 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
20123 @code{tao-theme-scale-filter-fn}, for edge filter; and
20124 @code{tao-theme-use-height}.")
20125 (license license:gpl3+))))
20126
20127 (define-public emacs-almost-mono-themes
20128 (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
20129 (revision "0"))
20130 (package
20131 (name "emacs-almost-mono-themes")
20132 (version (git-version "0" revision commit))
20133 (source
20134 (origin
20135 (method git-fetch)
20136 (uri (git-reference
20137 (url "https://github.com/cryon/almost-mono-themes.git")
20138 (commit commit)))
20139 (file-name (git-file-name name version))
20140 (sha256
20141 (base32
20142 "034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
20143 (build-system emacs-build-system)
20144 (home-page "https://github.com/cryon/almost-mono-themes")
20145 (synopsis "Almost monochromatic themes for emacs in a few variants")
20146 (description
20147 "This package provides a collection of almost monochrome Emacs themes:
20148 @code{almost-mono-black} and @code{almost-mono-white}.")
20149 (license license:gpl3+))))
20150
20151 (define-public emacs-quasi-monochrome
20152 (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
20153 (revision "0"))
20154 (package
20155 (name "emacs-quasi-monochrome")
20156 (version (git-version "1.2" revision commit))
20157 (source
20158 (origin
20159 (method git-fetch)
20160 (uri (git-reference
20161 (url "https://github.com/lbolla/emacs-quasi-monochrome.git")
20162 (commit commit)))
20163 (file-name (git-file-name name version))
20164 (sha256
20165 (base32
20166 "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
20167 (build-system emacs-build-system)
20168 (home-page "https://github.com/lbolla/emacs-quasi-monochrome")
20169 (synopsis "Dark color theme for Emacs")
20170 (description
20171 "This package provides a dark color theme with a black background, high
20172 contrast and few colors.")
20173 (license license:gpl3+))))
20174
20175 (define-public emacs-doom-themes
20176 (let ((commit "54039c5171e3f8c9cef1f82122549b66cd8c8f7b")
20177 (revision "4")
20178 (version "2.1.6"))
20179 (package
20180 (name "emacs-doom-themes")
20181 (version (git-version version revision commit))
20182 (source (origin
20183 (method git-fetch)
20184 (uri (git-reference
20185 (url "https://github.com/hlissner/emacs-doom-themes.git")
20186 (commit commit)))
20187 (file-name (git-file-name name version))
20188 (sha256
20189 (base32 "1iwdjq4q2gkhi6jwas3ywgmdz5dg14sfb3fzhqd7wih6j3i2l3cr"))))
20190 (build-system emacs-build-system)
20191 (native-inputs
20192 `(("emacs-ert-runner" ,emacs-ert-runner)))
20193 (arguments
20194 `(#:tests? #t
20195 #:test-command '("ert-runner")
20196 #:modules ((guix build emacs-build-system)
20197 (guix build utils)
20198 (guix build emacs-utils)
20199 (srfi srfi-1))
20200 #:phases
20201 (modify-phases %standard-phases
20202 (add-after 'unpack 'move-themes
20203 (lambda _
20204 ;; Move the source files to the top level, which is in the
20205 ;; EMACSLOADPATH.
20206 (for-each (lambda (f)
20207 (rename-file f (basename f)))
20208 (find-files "./themes" ".*\\.el$"))
20209 #t))
20210 ;; There is a byte-code overflow issue in the latest checkout
20211 ;; which affects byte-compilation for several (read `most') theme
20212 ;; files. In order to cope with this issue, we disable
20213 ;; byte-compilation until this issue is resolved.
20214 ;; <https://github.com/hlissner/emacs-doom-themes/issues/314>
20215 ;;
20216 ;; NOTE: Byte-comp has been disabled in/after commit 9cd6872.
20217 ;; However our method of selective disabling is preferential to
20218 ;; just widely disabling byte-compilation.
20219 (add-after 'move-themes 'disable-breaking-compilation
20220 (lambda _
20221 (for-each (lambda (file)
20222 (chmod file #o600) ; needed to write changes.
20223 (emacs-batch-disable-compilation file))
20224 (cons "doom-themes-ext-neotree.el"
20225 ;; NOTE: When updating this package, determine
20226 ;; whether changed theme files can byte-compile.
20227 ;; If they can successfully byte-compile, add them
20228 ;; to this list of exceptions.
20229 (lset-difference string-contains
20230 (find-files "." ".*-theme.el")
20231 '("material"
20232 "snazzy"
20233 "tomorrow-day"))))
20234 #t)))))
20235 (synopsis "Wide collection of color themes for Emacs")
20236 (description "Emacs-doom-themes contains numerous popular color themes for
20237 Emacs that integrate with major modes like Org-mode.")
20238 (home-page "https://github.com/hlissner/emacs-doom-themes")
20239 (license license:expat))))
20240
20241 (define-public emacs-modus-themes
20242 (package
20243 (name "emacs-modus-themes")
20244 (version "0.4.0")
20245 (source
20246 (origin
20247 (method git-fetch)
20248 (uri (git-reference
20249 (url "https://gitlab.com/protesilaos/modus-themes.git")
20250 (commit version)))
20251 (file-name (git-file-name name version))
20252 (sha256
20253 (base32 "0c4y3y9mjf6x2b9087fk6nkxvgvm9f5l1p2vdwqny80vp4krsb8r"))))
20254 (build-system emacs-build-system)
20255 (home-page "https://gitlab.com/protesilaos/modus-themes")
20256 (synopsis "Emacs themes designed for colour-contrast accessibility")
20257 (description
20258 "This is a set of accessible themes for GNU Emacs. The contrast ratio
20259 between foreground and background values should always be >= 7:1, which
20260 conforms with the WCAG AAA accessibility standard.
20261
20262 The Modus themes project consists of two standalone items, one where dark text
20263 is cast on a light backdrop (Modus Operandi) and another where light text is
20264 displayed against a dark background (Modus Vivendi).")
20265 (license license:gpl3+)))
20266
20267 (define-public emacs-punpun-theme
20268 (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65")
20269 (revision "0"))
20270 (package
20271 (name "emacs-punpun-theme")
20272 (version (git-version "0" revision commit))
20273 (source
20274 (origin
20275 (method git-fetch)
20276 (uri (git-reference
20277 (url "https://github.com/wasamasa/punpun-theme.git")
20278 (commit commit)))
20279 (file-name (git-file-name name version))
20280 (sha256
20281 (base32
20282 "1sgxrj3igzq86h3whfymxf4qzv9kpvcrlhbvjmnp7fwrplys0n7d"))))
20283 (build-system emacs-build-system)
20284 (home-page "https://github.com/wasamasa/punpun-theme")
20285 (synopsis "Bleak Emacs theme")
20286 (description
20287 "A bleak theme. Uses shades of gray and the occasional splash of
20288 color. Designed for 256-color terminals. Comes in light and dark!")
20289 (license license:gpl3+))))
20290
20291 (define-public emacs-elixir-mode
20292 (package
20293 (name "emacs-elixir-mode")
20294 (version "2.3.1")
20295 (source
20296 (origin
20297 (method git-fetch)
20298 (uri (git-reference
20299 (url "https://github.com/elixir-editors/emacs-elixir.git")
20300 (commit (string-append "v" version))))
20301 (file-name (git-file-name name version))
20302 (sha256
20303 (base32 "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"))))
20304 (build-system emacs-build-system)
20305 (propagated-inputs
20306 `(("emacs-pkg-info" ,emacs-pkg-info)))
20307 (home-page
20308 "https://github.com/elixir-editors/emacs-elixir")
20309 (synopsis "Major mode for editing Elixir files")
20310 (description
20311 "Elixir-Mode Provides font-locking, indentation and navigation support
20312 for the Elixir programming language.")
20313 (license license:gpl3+)))
20314
20315 (define-public emacs-dimmer
20316 (package
20317 (name "emacs-dimmer")
20318 (version "0.3.0")
20319 (source
20320 (origin
20321 (method git-fetch)
20322 (uri (git-reference
20323 (url "https://github.com/gonewest818/dimmer.el.git")
20324 (commit version)))
20325 (file-name (git-file-name name version))
20326 (sha256
20327 (base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"))))
20328 (build-system emacs-build-system)
20329 (home-page "https://github.com/gonewest818/dimmer.el")
20330 (synopsis "Visually highlights the selected buffer in Emacs")
20331 (description "Dimmer provides a minor mode that indicates which buffer is
20332 currently active by dimming the faces in the other buffers. It does this
20333 nondestructively, and computes the dimmed faces dynamically such that your
20334 overall color scheme is shown in a muted form without requiring you to define
20335 what is a \"dim\" version of every face.")
20336 (license license:gpl3+)))
20337
20338 (define-public emacs-minibuffer-line
20339 (package
20340 (name "emacs-minibuffer-line")
20341 (version "0.1")
20342 (source
20343 (origin
20344 (method url-fetch)
20345 (uri (string-append
20346 "https://elpa.gnu.org/packages/minibuffer-line-"
20347 version
20348 ".el"))
20349 (sha256
20350 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
20351 (build-system emacs-build-system)
20352 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
20353 (synopsis "Display status info in the minibuffer window")
20354 (description
20355 "This package lets you display various status information in the
20356 minibuffer window instead of the mode-line. Of course, this is only displayed
20357 when the minibuffer window is not already used for other things (e.g. a
20358 minibuffer or an each area message).
20359
20360 The contents and aspect is controlled by the @code{minibuffer-line-format}
20361 variable and the @code{minibuffer-line} face.")
20362 (license license:gpl3+)))
20363
20364 (define-public emacs-eshell-prompt-extras
20365 (package
20366 (name "emacs-eshell-prompt-extras")
20367 (version "1.0")
20368 (home-page "https://github.com/zwild/eshell-prompt-extras")
20369 (source
20370 (origin
20371 (method git-fetch)
20372 (uri (git-reference
20373 (url home-page)
20374 (commit version)))
20375 (file-name (git-file-name name version))
20376 (sha256
20377 (base32
20378 "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"))))
20379 (build-system emacs-build-system)
20380 (synopsis "Display extra information and color for your Eshell prompt")
20381 (description "This library displays various customizable elements for
20382 @code{eshell} prompts: remote user, remote host, python virtual environment
20383 info, git branch, git dirty info and git unpushed number. Multiple themes are
20384 available.")
20385 (license license:gpl3+)))
20386
20387 (define-public emacs-eshell-did-you-mean
20388 (package
20389 (name "emacs-eshell-did-you-mean")
20390 (version "0.1")
20391 (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
20392 (source
20393 (origin
20394 (method git-fetch)
20395 (uri (git-reference
20396 (url home-page)
20397 (commit (string-append "v" version))))
20398 (file-name (git-file-name name version))
20399 (sha256
20400 (base32
20401 "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg"))))
20402 (build-system emacs-build-system)
20403 (synopsis "Display suggestions on 'command not found' in Eshell")
20404 (description "This library adds a list of 'Did you mean...' suggestions
20405 when the command was not found in Eshell. The suggestions are found after the
20406 commands that bear resemblance to the input command.")
20407 (license license:gpl3+)))
20408
20409 (define-public emacs-unfill
20410 (package
20411 (name "emacs-unfill")
20412 (version "0.2")
20413 (home-page "https://github.com/purcell/unfill")
20414 (source
20415 (origin
20416 (method git-fetch)
20417 (uri (git-reference
20418 (url home-page)
20419 (commit version)))
20420 (file-name (git-file-name name version))
20421 (sha256
20422 (base32 "0wyradin5igp25nsd3n22i2ppxhmy49ac1iq1w2715v8pfmiydnc"))))
20423 (build-system emacs-build-system)
20424 (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}")
20425 (description
20426 "The functions in this package provide the inverse of Emacs'
20427 @code{fill-paragraph} and @code{fill-region}.")
20428 (license license:gpl3+)))
20429
20430 (define-public emacs-windower
20431 (package
20432 (name "emacs-windower")
20433 (version "0.0.1")
20434 (home-page "https://gitlab.com/ambrevar/emacs-windower")
20435 (source
20436 (origin
20437 (method git-fetch)
20438 (uri (git-reference
20439 (url home-page)
20440 (commit version)))
20441 (file-name (git-file-name name version))
20442 (sha256
20443 (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy"))))
20444 (build-system emacs-build-system)
20445 (synopsis "Helper functions for window manipulation in Emacs")
20446 (description
20447 "This package provides helper functions for window manipulation in Emacs,
20448 such as:
20449
20450 @itemize
20451 - switch to last buffer,
20452 - toggle single window display,
20453 - toggle between horizontal and vertical splits,
20454 - move borders more naturally,
20455 - swap windows à-la @code{windmove}.
20456 @end itemize\n")
20457 (license license:gpl3+)))
20458
20459 (define-public emacs-flycheck-cpplint
20460 (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2")
20461 (revision "1"))
20462 (package
20463 (name "emacs-flycheck-cpplint")
20464 (version (git-version "0.1" revision commit))
20465 (source
20466 (origin
20467 (method git-fetch)
20468 (uri (git-reference
20469 (url "https://github.com/flycheck/flycheck-google-cpplint")
20470 (commit commit)))
20471 (file-name (git-file-name name version))
20472 (sha256
20473 (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx"))))
20474 (build-system emacs-build-system)
20475 (arguments
20476 `(#:phases
20477 (modify-phases %standard-phases
20478 (add-after 'unpack 'set-cpplint-path
20479 (lambda _
20480 (substitute* "flycheck-google-cpplint.el"
20481 (("\"cpplint.py\"")
20482 (string-append "\"" (which "cpplint") "\"")))
20483 #t)))))
20484 (inputs
20485 `(("cpplint" ,cpplint)))
20486 (propagated-inputs
20487 `(("flycheck-mode" ,emacs-flycheck)))
20488 (synopsis "Google C++ checker for Flycheck")
20489 (description "This package provides a interface for @code{cpplint} over
20490 Flycheck plugin. @code{cpplint} is a static code checker for C++, following
20491 Google guidelines.")
20492 (home-page "https://github.com/flycheck/flycheck-google-cpplint")
20493 (license license:gpl3+))))
20494
20495 (define-public emacs-helm-fish-completion
20496 (package
20497 (name "emacs-helm-fish-completion")
20498 (version "0.2")
20499 (home-page "https://github.com/emacs-helm/helm-fish-completion")
20500 (source
20501 (origin
20502 (method git-fetch)
20503 (uri (git-reference
20504 (url home-page)
20505 (commit version)))
20506 (file-name (git-file-name name version))
20507 (sha256
20508 (base32 "089gp2k22xwn33z8brpyb7r18vpyralq2cwxj1xsc8b2sj9s4896"))))
20509 (build-system emacs-build-system)
20510 (propagated-inputs
20511 `(("helm" ,emacs-helm)
20512 ("fish-completion" ,emacs-fish-completion)))
20513 (synopsis "Helm interface for Emacs fish-completion")
20514 (description "Helm Fish Completion is a Helm interface for Emacs
20515 fish-completion. It can be used in both Eshell and M-x shell.")
20516 (license license:gpl3+)))
20517
20518 (define-public emacs-telega
20519 ;; This package has versions newer than indicated on MELPA.
20520 ;; Get the current version from `telega-version` in telega.el.
20521 ;; or by running M-x telega-version.
20522 (let ((commit "ae09592498ce380e57fbb76725fd4c89ae248864")
20523 (revision "0")
20524 (version "0.6.0"))
20525 (package
20526 (name "emacs-telega")
20527 (version (git-version version revision commit))
20528 (source
20529 (origin
20530 (method git-fetch)
20531 (uri (git-reference
20532 (url "https://github.com/zevlg/telega.el.git")
20533 (commit commit)))
20534 (sha256
20535 (base32
20536 "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3"))
20537 (file-name (git-file-name name version))))
20538 (build-system gnu-build-system)
20539 (arguments
20540 `(#:modules ((guix build gnu-build-system)
20541 ((guix build emacs-build-system) #:prefix emacs:)
20542 (guix build utils)
20543 (guix build emacs-utils))
20544 #:imported-modules (,@%gnu-build-system-modules
20545 (guix build emacs-build-system)
20546 (guix build emacs-utils))
20547 #:test-target "test"
20548 #:make-flags (list "WITH_VOIP=t")
20549 #:phases
20550 (modify-phases %standard-phases
20551 (add-after 'unpack 'prefix-patch
20552 (lambda _
20553 (substitute* "server/Makefile"
20554 (("CC=cc")
20555 "CC=gcc")
20556 (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
20557 (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
20558 "/bin"))
20559 ;; Manually invoke `run_tests.py` after install phase.
20560 (("python3 run_tests.py")
20561 ""))
20562 #t))
20563 (add-after 'unpack 'telega-paths-patch
20564 (lambda* (#:key inputs #:allow-other-keys)
20565 ;; Hard-code paths to `ffplay` and `ffmpeg`.
20566 (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
20567 "/bin/ffplay"))
20568 (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
20569 "/bin/ffmpeg")))
20570 (substitute* "telega-ffplay.el"
20571 (("\\(executable-find \"ffplay\"\\)")
20572 (string-append
20573 "(and (file-executable-p \"" ffplay-bin "\")"
20574 "\"" ffplay-bin "\")"))
20575 (("\\(executable-find \"ffmpeg\"\\)")
20576 (string-append
20577 "(and (file-executable-p \"" ffmpeg-bin "\")"
20578 "\"" ffmpeg-bin "\")"))))
20579 ;; Modify telega-util to reflect unique dir name in
20580 ;; `telega-install-data' phase.
20581 (substitute* "telega-util.el"
20582 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
20583 "(concat \"telega-data/\" filename)
20584 (locate-dominating-file telega--lib-directory
20585 \"telega-data\")"))
20586 #t))
20587 ;; The server test suite has a hardcoded path.
20588 ;; Reset this behavior to use the proper path.
20589 (add-after 'unpack 'server-suite-patch
20590 (lambda _
20591 (substitute* "server/run_tests.py"
20592 (("~/.telega/telega-server")
20593 (string-append (assoc-ref %outputs "out")
20594 "/bin/telega-server")))
20595 #t))
20596 (add-after 'install 'run-server-suite
20597 (lambda _
20598 (invoke "python3" "server/run_tests.py")
20599 #t))
20600 (delete 'configure)
20601 ;; Build emacs-side using `emacs-build-system'
20602 (add-after 'compress-documentation 'emacs-add-source-to-load-path
20603 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
20604 (add-after 'emacs-add-source-to-load-path 'emacs-install
20605 (assoc-ref emacs:%standard-phases 'install))
20606 ;; This step installs subdir /etc, which contains images, sounds and
20607 ;; various other data, next to the site-lisp dir.
20608 (add-after 'emacs-install 'telega-install-data
20609 (lambda* (#:key outputs #:allow-other-keys)
20610 (copy-recursively
20611 "etc"
20612 (string-append (assoc-ref outputs "out")
20613 "/share/emacs/telega-data/"))
20614 #t))
20615 (add-after 'telega-install-data 'emacs-build
20616 (assoc-ref emacs:%standard-phases 'build))
20617 (add-after 'emacs-build 'emacs-make-autoloads
20618 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
20619 (inputs
20620 `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
20621 (propagated-inputs
20622 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
20623 ("emacs-company" ,emacs-company)
20624 ("libwebp" ,libwebp))) ; sticker support.
20625 (native-inputs
20626 `(("tdlib" ,tdlib)
20627 ("libtgvoip" ,libtgvoip) ; VoIP support.
20628 ("emacs" ,emacs)
20629 ("python" ,python)))
20630 (synopsis "GNU Emacs client for the Telegram messenger")
20631 (description
20632 "Telega is a full-featured, unofficial GNU Emacs-based client for the
20633 Telegram messaging platform.")
20634 (home-page "https://github.com/zevlg/telega.el")
20635 (license license:gpl3+))))
20636
20637 (define-public emacs-doom-modeline
20638 (package
20639 (name "emacs-doom-modeline")
20640 (version "2.8.2")
20641 (source (origin
20642 (method git-fetch)
20643 (uri (git-reference
20644 (url "https://github.com/seagle0128/doom-modeline.git")
20645 (commit (string-append "v" version))))
20646 (sha256
20647 (base32
20648 "11srz1mr821axggs2jcmdhihxx09a2dniqv3n039wbdfaimfaidz"))
20649 (file-name (git-file-name name version))))
20650 (build-system emacs-build-system)
20651 (arguments
20652 `(#:test-command '("ert-runner")))
20653 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
20654 (propagated-inputs
20655 `(("emacs-all-the-icons" ,emacs-all-the-icons)
20656 ("emacs-shrink-path" ,emacs-shrink-path)))
20657 (synopsis "Fancy and fast mode-line inspired by minimalism design")
20658 (description "Doom modeline is a complete modeline for GNU Emacs inspired
20659 by the Doom theme collection. This modeline features support for mode-specific
20660 icon support, git integration, and several other utilities.")
20661 (home-page "https://github.com/seagle0128/doom-modeline/")
20662 (license license:gpl3+)))
20663
20664 (define-public emacs-shrink-path
20665 (package
20666 (name "emacs-shrink-path")
20667 (version "0.3.1")
20668 (source
20669 (origin
20670 (method git-fetch)
20671 (uri (git-reference
20672 (url "https://gitlab.com/bennya/shrink-path.el.git")
20673 (commit (string-append "v" version))))
20674 (sha256
20675 (base32
20676 "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
20677 (file-name (git-file-name name version))))
20678 (build-system emacs-build-system)
20679 (propagated-inputs
20680 `(("emacs-s" ,emacs-s)
20681 ("emacs-dash" ,emacs-dash)
20682 ("emacs-f" ,emacs-f)))
20683 (home-page "https://gitlab.com/bennya/shrink-path.el")
20684 (synopsis "Fish-style path truncation in emacs-lisp")
20685 (description "This package provides utility functions that allow for
20686 Fish-style truncated directories in eshell and various modelines.")
20687 (license license:gpl3+)))
20688
20689 (define-public emacs-org-present
20690 (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
20691 (package
20692 (name "emacs-org-present")
20693 (version "0.0.1")
20694 (source
20695 (origin
20696 (method git-fetch)
20697 (uri (git-reference
20698 (url "https://github.com/rlister/org-present.git")
20699 (commit commit)))
20700 (file-name (git-file-name name version))
20701 (sha256
20702 (base32
20703 "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
20704 (build-system emacs-build-system)
20705 (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
20706 (description "Org-present is an extremely minimalist presentation tool
20707 for Emacs org-mode. Simply layout your presentation with each slide under a
20708 top-level header, start the minor mode with @code{org-present}, and page through
20709 each slide with left/right keys.")
20710 (home-page "https://github.com/rlister/org-present")
20711 (license license:gpl2))))
20712
20713 (define-public emacs-fullframe
20714 (package
20715 (name "emacs-fullframe")
20716 (version "0.5.0")
20717 (source
20718 (origin
20719 (method git-fetch)
20720 (uri (git-reference
20721 (url "https://github.com/tomterl/fullframe.git")
20722 (commit version)))
20723 (sha256
20724 (base32
20725 "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
20726 (file-name (git-file-name name version))))
20727 (build-system emacs-build-system)
20728 (home-page "https://github.com/tomterl/fullframe")
20729 (synopsis "Generalized automatic execution in a single frame")
20730 (description "This library provides helpers for single-window-per-frame
20731 execution of buffer-exposing commands.")
20732 (license license:gpl3+)))
20733
20734 (define-public emacs-eshell-toggle
20735 (let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033")
20736 (revision "1"))
20737 (package
20738 (name "emacs-eshell-toggle")
20739 (version (git-version "0.10.0" revision commit))
20740 (source
20741 (origin
20742 (method git-fetch)
20743 (uri (git-reference
20744 (url "https://github.com/4DA/eshell-toggle.git")
20745 (commit commit)))
20746 (sha256
20747 (base32
20748 "0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws"))
20749 (file-name (git-file-name name version))))
20750 (build-system emacs-build-system)
20751 (propagated-inputs
20752 `(("emacs-dash" ,emacs-dash)))
20753 (home-page "https://github.com/4DA/eshell-toggle")
20754 (synopsis "Show and hide an @code{eshell} instance")
20755 (description "This package toggles an @code{eshell} instance for the
20756 current buffer.")
20757 (license license:gpl3+))))
20758
20759 (define-public emacs-repl-toggle
20760 (package
20761 (name "emacs-repl-toggle")
20762 (version "0.6.1")
20763 (source
20764 (origin
20765 (method git-fetch)
20766 (uri (git-reference
20767 (url "https://github.com/tomterl/repl-toggle.git")
20768 (commit version)))
20769 (sha256
20770 (base32
20771 "12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"))
20772 (file-name (git-file-name name version))))
20773 (build-system emacs-build-system)
20774 (propagated-inputs
20775 `(("emacs-fullframe" ,emacs-fullframe)))
20776 (home-page "https://github.com/tomterl/repl-toggle")
20777 (synopsis "Switch to and from current major mode's REPL")
20778 (description "This package provides a function to switch to and from a
20779 REPL appropriate to the current major mode.")
20780 (license license:gpl3+)))
20781
20782 (define-public emacs-blackout
20783 (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
20784 (revision "1"))
20785 (package
20786 (name "emacs-blackout")
20787 (version (git-version "1.0" revision commit))
20788 (source
20789 (origin
20790 (method git-fetch)
20791 (uri (git-reference
20792 (url "https://github.com/raxod502/blackout.git")
20793 (commit commit)))
20794 (sha256
20795 (base32
20796 "1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
20797 (file-name (git-file-name name version))))
20798 (build-system emacs-build-system)
20799 (home-page "https://github.com/raxod502/blackout")
20800 (synopsis "Clean up mode lighters")
20801 (description "This package provides a function for hiding and customizing
20802 display of major and minor modes in the mode line.")
20803 (license license:gpl3+))))
20804
20805 (define-public emacs-ivy-omni-org
20806 (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
20807 (revision "1"))
20808 (package
20809 (name "emacs-ivy-omni-org")
20810 (version (git-version "0.2.1" revision commit))
20811 (source
20812 (origin
20813 (method git-fetch)
20814 (uri (git-reference
20815 (url "https://github.com/akirak/ivy-omni-org.git")
20816 (commit commit)))
20817 (file-name (git-file-name name version))
20818 (sha256
20819 (base32
20820 "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
20821 (build-system emacs-build-system)
20822 (propagated-inputs
20823 `(("emacs-ivy" ,emacs-ivy)
20824 ("emacs-dash" ,emacs-dash)))
20825 (synopsis "Browse anything in Org mode")
20826 (description "This package allows Org items to be accessed via the Ivy
20827 interface.")
20828 (home-page "https://github.com/akirak/ivy-omni-org")
20829 (license license:gpl3+))))
20830
20831 (define-public emacs-shackle
20832 (let ((commit "7ccbe513852a1d1700b698547efca14b8940319d")
20833 (revision "1"))
20834 (package
20835 (name "emacs-shackle")
20836 (version (git-version "1.0.3" revision commit))
20837 (source
20838 (origin
20839 (method git-fetch)
20840 (uri (git-reference
20841 (url "https://github.com/wasamasa/shackle.git")
20842 (commit commit)))
20843 (file-name (git-file-name name version))
20844 (sha256
20845 (base32
20846 "0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"))))
20847 (build-system emacs-build-system)
20848 (synopsis "Enforce rules for popups")
20849 (description "This package provides a global minor mode in which users
20850 can specify how popup-displaying functions occupy the screen.")
20851 (home-page "https://github.com/wasamasa/shackle")
20852 (license license:gpl3+))))
20853
20854 (define-public emacs-helm-lacarte
20855 (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
20856 (revision "1"))
20857 (package
20858 (name "emacs-helm-lacarte")
20859 (version (git-version "0" revision commit))
20860 (source
20861 (origin
20862 (method git-fetch)
20863 (uri (git-reference
20864 (url "https://github.com/emacs-helm/helm-lacarte.git")
20865 (commit commit)))
20866 (file-name (git-file-name name version))
20867 (sha256
20868 (base32
20869 "0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
20870 (build-system emacs-build-system)
20871 (propagated-inputs
20872 `(("emacs-helm" ,emacs-helm)
20873 ("emacs-lacarte" ,emacs-lacarte)))
20874 (synopsis "Helm interface to @code{lacarte.el}")
20875 (description "This package provides a Helm interface to
20876 @code{lacarte.el}, a package that displays mode-specific commands as menu
20877 items.")
20878 (home-page "https://github.com/emacs-helm/helm-lacarte")
20879 (license license:gpl3+))))
20880
20881 (define-public emacs-esh-help
20882 (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
20883 (revision "1"))
20884 (package
20885 (name "emacs-esh-help")
20886 (version (git-version "1.0.1" revision commit))
20887 (source
20888 (origin
20889 (method git-fetch)
20890 (uri (git-reference
20891 (url "https://github.com/tom-tan/esh-help.git")
20892 (commit commit)))
20893 (file-name (git-file-name name version))
20894 (sha256
20895 (base32
20896 "0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
20897 (build-system emacs-build-system)
20898 (propagated-inputs
20899 `(("emacs-dash" ,emacs-dash)))
20900 (synopsis "Help functions for Eshell")
20901 (description "This package provides a @code{run-help} function inspired
20902 by @code{zsh} as well as @code{eldoc} support.")
20903 (home-page "https://github.com/tom-tan/esh-help")
20904 (license license:gpl3+))))
20905
20906 (define-public emacs-isearch-dabbrev
20907 (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
20908 (revision "1"))
20909 (package
20910 (name "emacs-isearch-dabbrev")
20911 (version (git-version "0.1" revision commit))
20912 (source
20913 (origin
20914 (method git-fetch)
20915 (uri (git-reference
20916 (url "https://github.com/Dewdrops/isearch-dabbrev.git")
20917 (commit commit)))
20918 (file-name (git-file-name name version))
20919 (sha256
20920 (base32
20921 "17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
20922 (build-system emacs-build-system)
20923 (synopsis "Use @code{dabbrev} within @code{isearch}")
20924 (description "This package allows @code{dabbrev-expand} to be used
20925 within @code{isearch-mode}.")
20926 (home-page "https://github.com/Dewdrops/isearch-dabbrev")
20927 (license license:gpl3+))))
20928
20929 (define-public emacs-helm-linux-disks
20930 (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
20931 (revision "1"))
20932 (package
20933 (name "emacs-helm-linux-disks")
20934 (version (git-version "0.1" revision commit))
20935 (source
20936 (origin
20937 (method git-fetch)
20938 (uri (git-reference
20939 (url "https://github.com/Akirak/helm-linux-disks.git")
20940 (commit commit)))
20941 (file-name (git-file-name name version))
20942 (sha256
20943 (base32
20944 "1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
20945 (build-system emacs-build-system)
20946 (propagated-inputs
20947 `(("emacs-helm" ,emacs-helm)))
20948 (synopsis "Mount/unmount volumes in Linux via Helm")
20949 (description "This package provides a Helm interface to run operations
20950 on removable volumes in Linux.")
20951 (home-page "https://github.com/Akirak/helm-linux-disks")
20952 (license license:gpl3+))))
20953
20954 (define-public emacs-psession
20955 (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
20956 (revision "1"))
20957 (package
20958 (name "emacs-psession")
20959 (version (git-version "1.5" revision commit))
20960 (source
20961 (origin
20962 (method git-fetch)
20963 (uri (git-reference
20964 (url "https://github.com/thierryvolpiatto/psession.git")
20965 (commit commit)))
20966 (file-name (git-file-name name version))
20967 (sha256
20968 (base32
20969 "15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
20970 (build-system emacs-build-system)
20971 (propagated-inputs
20972 `(("emacs-async" ,emacs-async)))
20973 (synopsis "Persistent save of @code{elisp} objects.")
20974 (description "This package provides minor modes for saving Emacs session
20975 data, including buffers, window configuration, variables, and more.")
20976 (home-page "https://github.com/thierryvolpiatto/psession")
20977 (license license:gpl3+))))
20978
20979 (define-public emacs-parseedn
20980 (package
20981 (name "emacs-parseedn")
20982 (version "0.1.0")
20983 (source
20984 (origin
20985 (method git-fetch)
20986 (uri (git-reference
20987 (url "https://github.com/clojure-emacs/parseedn.git")
20988 (commit (string-append "v" version))))
20989 (file-name (git-file-name name version))
20990 (sha256
20991 (base32
20992 "11wi3hwcgmy54p6ivpijqm7v0hj6j75a19qk5z779bqfrp79b4pc"))))
20993 (build-system emacs-build-system)
20994 (propagated-inputs
20995 `(("emacs-a" ,emacs-a)
20996 ("emacs-parseclj" ,emacs-parseclj)))
20997 (home-page "https://cider.mx")
20998 (synopsis "EDN parser for Emacs Lisp")
20999 (description
21000 "An Emacs Lisp library for parsing EDN (Clojure) data.
21001 It uses parseclj's shift-reduce parser internally.")
21002 (license license:gpl3+)))
21003
21004 (define-public emacs-parseclj
21005 (package
21006 (name "emacs-parseclj")
21007 (version "0.1.0")
21008 (source
21009 (origin
21010 (method git-fetch)
21011 (uri (git-reference
21012 (url "https://github.com/clojure-emacs/parseclj.git")
21013 (commit (string-append "v" version))))
21014 (file-name (git-file-name name version))
21015 (sha256
21016 (base32
21017 "03bm5dm4hmkqimv4wqxjjh5814pxysmm7z54bv2rf7zwv1x7dggr"))))
21018 (build-system emacs-build-system)
21019 (propagated-inputs `(("emacs-a" ,emacs-a)))
21020 (home-page "https://cider.mx")
21021 (synopsis "Clojure parser for Emacs Lisp")
21022 (description
21023 "An Emacs Lisp library for parsing Clojure code and EDN data.
21024 It supports several input and output formats, all powered by the
21025 same shift-reduce parser function.")
21026 (license license:gpl3+)))
21027
21028 (define-public emacs-hide-mode-line
21029 (package
21030 (name "emacs-hide-mode-line")
21031 (version "1.0.2")
21032 (source (origin
21033 (method git-fetch)
21034 (uri (git-reference
21035 (url "https://github.com/hlissner/emacs-hide-mode-line.git")
21036 (commit (string-append "v" version))))
21037 (file-name (git-file-name name version))
21038 (sha256
21039 (base32
21040 "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"))))
21041 (build-system emacs-build-system)
21042 (synopsis "Emacs plugin that hides the mode-line")
21043 (description "A minor mode that hides the mode-line in your current
21044 buffer. It can be used to toggle an alternative mode-line, toggle its visibility,
21045 or simply disable the mode-line in buffers where it is not very useful.")
21046 (home-page "https://github.com/hlissner/emacs-hide-mode-line")
21047 (license license:expat)))
21048
21049 (define-public emacs-helm-cider
21050 ;; No new release since March 2018.
21051 (let ((commit "9363cc537f06233345aa3af5cd46aa5681ad607b"))
21052 (package
21053 (name "emacs-helm-cider")
21054 (version (git-version "0.4.0" "1" commit))
21055 (home-page "https://github.com/clojure-emacs/helm-cider")
21056 (source (origin
21057 (method git-fetch)
21058 (uri (git-reference
21059 (url home-page)
21060 (commit commit)))
21061 (file-name (git-file-name name version))
21062 (sha256
21063 (base32
21064 "0vfn4smqba1vsshz48ggkj8gs94la0sxb1sq4shrb41qj2x3dci7"))))
21065 (build-system emacs-build-system)
21066 (propagated-inputs
21067 `(("emacs-helm" ,emacs-helm)
21068 ("emacs-cider" ,emacs-cider)))
21069 (synopsis "Helm interface to Clojure's CIDER")
21070 (description "Helm-CIDER adds Helm interfaces to
21071 @command{cider-apropos}, @command{cider-apropos-documentation},
21072 @command{cider-browse-ns} (namespaces).
21073
21074 It also provides original Helm commands: @command{helm-cider-spec},
21075 @command{helm-cider-spec-ns}, @command{helm-cider-repl-history},
21076 @command{helm-cider-cheatsheet}.")
21077 (license license:gpl3+))))
21078
21079 (define-public emacs-edn
21080 ;; No release since February 2016
21081 (let ((commit "be9e32d1b49e35247b263b0243df7cfdc8d413ab"))
21082 (package
21083 (name "emacs-edn")
21084 (version (git-version "1.1.2" "1" commit))
21085 (home-page "https://github.com/expez/edn.el")
21086 (source (origin
21087 (method git-fetch)
21088 (uri (git-reference
21089 (url home-page)
21090 (commit commit)))
21091 (file-name (git-file-name name version))
21092 (sha256
21093 (base32
21094 "1xp2hjhn52k6l1g6ypva6dsklpawni7gvjafbz6404f9dyxflh7l"))))
21095 (build-system emacs-build-system)
21096 (propagated-inputs
21097 `(("emacs-peg" ,emacs-peg)))
21098 (synopsis "Read and write EDN from Elisp")
21099 (description "This is an Emacs Lisp library for reading and writing the
21100 data format @code{edn}. See @url{https://github.com/edn-format/edn}.")
21101 (license license:gpl3+))))
21102
21103 (define-public emacs-helm-clojuredocs
21104 (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea"))
21105 (package
21106 (name "emacs-helm-clojuredocs")
21107 (version (git-version "0.3" "1" commit))
21108 (home-page "https://github.com/mbuczko/helm-clojuredocs")
21109 (source (origin
21110 (method git-fetch)
21111 (uri (git-reference
21112 (url home-page)
21113 (commit commit)))
21114 (file-name (git-file-name name version))
21115 (sha256
21116 (base32
21117 "015b8zxh91ljhqvn6z43gy08di54xcw9skw0i7frj3d7gk984qhl"))))
21118 (build-system emacs-build-system)
21119 (propagated-inputs
21120 `(("emacs-helm" ,emacs-helm)
21121 ("emacs-edn" ,emacs-edn)))
21122 (synopsis "Search help on clojuredocs.org with Helm")
21123 (description "This package provides a Helm interface to lookup Clojure
21124 documentation on @url{https://clojuredocs.org} with Helm.
21125
21126 Two function are exposed:
21127 @itemize
21128 @item @command{helm-clojuredocs}: opens a Helm session with no initial
21129 pattern. Searching starts with minimal 3 characters entered.
21130 @item @command{helm-clojuredocs-at-point}: opens a Helm session with initial
21131 pattern guessed from thing under current cursor position.
21132 @end itemize\n")
21133 (license license:gpl3+))))
21134
21135 (define-public emacs-metal-mercury-mode
21136 (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8")
21137 (revision "1")
21138 (version "0.0.0"))
21139 (package
21140 (name "emacs-metal-mercury-mode")
21141 (version (git-version version revision commit))
21142 (source
21143 (origin
21144 (method git-fetch)
21145 (uri (git-reference
21146 (url "https://github.com/ahungry/metal-mercury-mode.git")
21147 (commit commit)))
21148 (sha256
21149 (base32
21150 "0iil5k3rgifz2vqwsy12rbv5rzyvidq4sgwazsb2hzys8xynmfn5"))
21151 (file-name (git-file-name name version))))
21152 (build-system emacs-build-system)
21153 (propagated-inputs
21154 `(("emacs-dash" ,emacs-dash)))
21155 (synopsis "Major mode for editing Mercury files")
21156 (description
21157 "Major mode for editing Mercury files. This is a rewrite of the original
21158 mercury-mode provided by Emacs as a wrapper around prolog-mode.")
21159 (home-page "https://github.com/ahungry/metal-mercury-mode")
21160 (license license:gpl3+))))
21161
21162 (define-public emacs-boxquote
21163 ;; The following commit is 2.1 release with a switch to GPL3+ license.
21164 (let ((commit "7e47e0e2853bc1215739b2e28f260e9eed93b2c5")
21165 (revision "0"))
21166 (package
21167 (name "emacs-boxquote")
21168 (version (git-version "2.1" revision commit))
21169 (source
21170 (origin
21171 (method git-fetch)
21172 (uri (git-reference
21173 (url "https://github.com/davep/boxquote.el.git")
21174 (commit commit)))
21175 (file-name (git-file-name name version))
21176 (sha256
21177 (base32 "1aqhg24gajvllbqxb0zxrnx6sddas37k2ldfinqyszd856sjhsg3"))))
21178 (build-system emacs-build-system)
21179 (home-page "https://github.com/davep/boxquote.el")
21180 (synopsis "Quote text with different kinds of boxes")
21181 (description "@code{boxquote} provides a set of functions for using
21182 a text quoting style that partially boxes in the left hand side of an area of
21183 text, such a marking style might be used to show externally included text or
21184 example code.")
21185 (license license:gpl3+))))
21186
21187 (define-public emacs-company-ebdb
21188 (package
21189 (name "emacs-company-ebdb")
21190 (version "1.1")
21191 (source
21192 (origin
21193 (method url-fetch)
21194 (uri (string-append "https://elpa.gnu.org/packages/"
21195 "company-ebdb-" version ".el"))
21196 (sha256
21197 (base32 "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9"))))
21198 (build-system emacs-build-system)
21199 (propagated-inputs
21200 `(("emacs-company" ,emacs-company)))
21201 (home-page "https://elpa.gnu.org/packages/company-ebdb.html")
21202 (synopsis "Company completion backend for EBDB in Message mode")
21203 (description "@code{company-ebdb} provides Company mode integration for
21204 EBDB. It is copied more or less intact from @code{company-bbdb}, originally
21205 by Jan Tatarik.")
21206 (license license:gpl3+)))
21207
21208 (define-public emacs-mwim
21209 ;; Use the latest commit not in a release version as of yet, since it
21210 ;; contains a bug fix for the cases where `comment-start-skip' is nil.
21211 (let ((commit "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85")
21212 (revision "0"))
21213 (package
21214 (name "emacs-mwim")
21215 (version (git-version "0.4" revision commit))
21216 (source
21217 (origin
21218 (method git-fetch)
21219 (uri (git-reference
21220 (url "https://github.com/alezost/mwim.el.git")
21221 (commit commit)))
21222 (file-name (git-file-name name version))
21223 (sha256
21224 (base32 "0l3k611gp9g2x2vfmh92wnhnda81dslpwwpb8mxmzk308man77ya"))))
21225 (build-system emacs-build-system)
21226 (home-page "https://github.com/alezost/mwim.el")
21227 (synopsis "Move to the beginning/end of line, code or comment")
21228 (description "@code{mwim} provides several commands to switch between
21229 various line positions, like moving to the beginning/end of code, line, or
21230 comment.")
21231 (license license:gpl3+))))
21232
21233 (define-public emacs-delight
21234 (package
21235 (name "emacs-delight")
21236 (version "1.5")
21237 (source
21238 (origin
21239 (method url-fetch)
21240 (uri (string-append "https://elpa.gnu.org/packages/"
21241 "delight-" version ".el"))
21242 (sha256
21243 (base32 "0kzlvzwmn6zj0874086q2xw0pclyi7wlkq48zh2lkd2796xm8vw7"))))
21244 (build-system emacs-build-system)
21245 (home-page "https://elpa.gnu.org/packages/delight.html")
21246 (synopsis "Dimmer switch for your mode-line lighter text")
21247 (description "@code{delight} enables customizing or hiding the
21248 mode-line text (lighter) of major and minor modes.")
21249 (license license:gpl3+)))
21250
21251 (define-public emacs-unkillable-scratch
21252 ;; Use the latest (unreleased) commit as of now, since it contains a handy
21253 ;; `unkillable-scratch-do-not-reset-scratch-buffer' customization to not
21254 ;; repopulate the scratch buffer with `initial-scratch-message'.
21255 (let ((commit "b24c2a760529833f230c14cb02ff6e7ec92288ab")
21256 (revision "0"))
21257 (package
21258 (name "emacs-unkillable-scratch")
21259 (version (git-version "1.0.0" revision commit))
21260 (source
21261 (origin
21262 (method git-fetch)
21263 (uri (git-reference
21264 (url "https://github.com/EricCrosson/unkillable-scratch.git")
21265 (commit commit)))
21266 (file-name (git-file-name name version))
21267 (sha256
21268 (base32 "13wjbcxr3km4s96yhpavgs5acs5pvqv3ih1p84diqb3x3i6wd4pa"))))
21269 (build-system emacs-build-system)
21270 (home-page "https://github.com/EricCrosson/unkillable-scratch")
21271 (synopsis "Prevents the *scratch* buffer from being killed")
21272 (description "@code{unkillable-scratch} helps prevent killing buffers
21273 matching a given regexp.")
21274 (license license:gpl2+))))
21275
21276 (define-public emacs-switch-buffer-functions
21277 (package
21278 (name "emacs-switch-buffer-functions")
21279 (version "0.0.1")
21280 (source
21281 (origin
21282 (method git-fetch)
21283 (uri (git-reference
21284 (url "https://github.com/10sr/switch-buffer-functions-el.git")
21285 (commit (string-append "v" version))))
21286 (file-name (git-file-name name version))
21287 (sha256
21288 (base32 "0pq53b8wrjbrxd5hnrcdi0z7mffp4bax55hn90k9ca3j76lhbn1k"))))
21289 (build-system emacs-build-system)
21290 (home-page "https://github.com/10sr/switch-buffer-functions-el")
21291 (synopsis "Hooks run when switching current buffer")
21292 (description "This package provides a hook variable
21293 @code{switch-buffer-functions}. The hooks will be run when the current buffer
21294 is changed after an interactive command, i.e., when @code{post-command-hook}
21295 hooks are run. The hooked functions will be called with both the previous and
21296 the current buffer.")
21297 (license license:unlicense)))
21298
21299 (define-public emacs-erc-scrolltoplace
21300 (package
21301 (name "emacs-erc-scrolltoplace")
21302 (version "0.1.0")
21303 (source
21304 (origin
21305 (method git-fetch)
21306 (uri (git-reference
21307 (url "https://gitlab.com/jgkamat/erc-scrolltoplace.git")
21308 (commit version)))
21309 (file-name (git-file-name name version))
21310 (sha256
21311 (base32 "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"))))
21312 (build-system emacs-build-system)
21313 (propagated-inputs
21314 `(("emacs-switch-buffer-functions" ,emacs-switch-buffer-functions)))
21315 (home-page "https://gitlab.com/jgkamat/erc-scrolltoplace")
21316 (synopsis "ERC module to replace scrolltobottom while using keep-place")
21317 (description "@code{erc-scrolltoplace} is an ERC module to try
21318 to emulate @code{scrolltobottom} while @code{keep-place} is enabled.")
21319 (license license:gpl3+)))
21320
21321 (define-public emacs-dmenu
21322 ;; Use the latest commit, as there are no tagged releases.
21323 (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
21324 (revision "0"))
21325 (package
21326 (name "emacs-dmenu")
21327 (version (git-version "0.1" revision commit))
21328 (source
21329 (origin
21330 (method git-fetch)
21331 (uri (git-reference
21332 (url "https://github.com/lujun9972/el-dmenu.git")
21333 (commit commit)))
21334 (file-name (git-file-name name version))
21335 (sha256
21336 (base32 "098ncygms1r33zhjlq4fj2p4jc91v5whqrm3fazzdk7sd6dilf25"))))
21337 (build-system emacs-build-system)
21338 (home-page "https://github.com/lujun9972/el-dmenu")
21339 (synopsis "Simulate the @command{dmenu} command line program")
21340 (description "This package provides a @command{dmenu} command for
21341 launching other commands/applications from within Emacs, similar to the
21342 @command{dmenu} program. This is especially useful when using EXWM.")
21343 (license license:gpl3+))))
21344
21345 (define-public emacs-no-littering
21346 (package
21347 (name "emacs-no-littering")
21348 (version "1.0.3")
21349 (source
21350 (origin
21351 (method git-fetch)
21352 (uri (git-reference
21353 (url "https://github.com/emacscollective/no-littering.git")
21354 (commit (string-append "v" version))))
21355 (file-name (git-file-name name version))
21356 (sha256
21357 (base32 "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir"))))
21358 (build-system emacs-build-system)
21359 (home-page "https://github.com/emacscollective/no-littering")
21360 (synopsis "Help keep ~/.emacs.d/ clean")
21361 (description "The default paths used to store configuration files and
21362 persistent data are not consistent across Emacs packages, be them built-in or
21363 third-party ones. @code{no-littering} sets out to help clean
21364 @file{~/.emacs.d/} by putting configuration files and persistent data files in
21365 two user-defined directories, as well as using more descriptive names for
21366 files and subdirectories when appropriate.")
21367 (license license:gpl3+)))
21368
21369 (define-public emacs-message-x
21370 ;; Use the latest commit, as there are no tagged releases.
21371 (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133")
21372 (revision "0"))
21373 (package
21374 (name "emacs-message-x")
21375 (version (git-version "1.23" revision commit))
21376 (source
21377 (origin
21378 (method git-fetch)
21379 (uri (git-reference
21380 (url "https://github.com/emacsmirror/message-x.git")
21381 (commit commit)))
21382 (file-name (git-file-name name version))
21383 (sha256
21384 (base32 "0qy1xf11j357lsnbb829hnbg7fq1cii4cx54fwf0wgjh1bv2abvj"))))
21385 (build-system emacs-build-system)
21386 (home-page "https://www.emacswiki.org/emacs/message-x.el")
21387 (synopsis "Customizable completion in message headers")
21388 (description "@code{message-x} assigns a context-sensitive function to
21389 the TAB key in Message mode. When on a header line, it performs completion
21390 based on which header we are in (for example, newsgroup name completion makes
21391 sense on the @samp{Newsgroups} header, whereas mail alias expansion makes
21392 sense in the @samp{To} and @samp{Cc} headers). When in the message body, this
21393 executes a different function (default: @code{indent-relative}).")
21394 (license license:gpl2+))))
21395
21396 (define-public emacs-gnus-harvest
21397 (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d")
21398 (revision "0"))
21399 (package
21400 (name "emacs-gnus-harvest")
21401 (version (git-version "1.0" revision commit))
21402 (source
21403 (origin
21404 (method git-fetch)
21405 (uri (git-reference
21406 (url "https://github.com/jwiegley/gnus-harvest.git")
21407 (commit commit)))
21408 (file-name (git-file-name name version))
21409 (sha256
21410 (base32 "08zb7vc3v3wdxkzgi902vlc5ybfvm8fxrvm5drnwfsjj9873pbcb"))))
21411 (build-system emacs-build-system)
21412 (inputs
21413 `(("sqlite" ,sqlite)))
21414 (arguments
21415 `(#:phases
21416 (modify-phases %standard-phases
21417 (add-before 'build 'patch-exec-paths
21418 (lambda* (#:key inputs #:allow-other-keys)
21419 (let ((sqlite (assoc-ref inputs "sqlite"))
21420 (file "gnus-harvest.el"))
21421 (make-file-writable file)
21422 (emacs-substitute-variables file
21423 ("gnus-harvest-sqlite-program"
21424 (string-append sqlite "/bin/sqlite3"))))
21425 #t)))))
21426 (home-page "https://github.com/jwiegley/gnus-harvest")
21427 (synopsis
21428 "Harvest email addresses from read/written Gnus articles")
21429 (description "@code{gnus-harvest} notices email address in every message
21430 or post you read or write, and collects them in a SQLite database, which can
21431 be easily and quickly queried to determine the completion list. It optionally
21432 uses BBDB and Message-X.")
21433 (license license:gpl3+))))
21434
21435 (define-public emacs-auto-dictionary-mode
21436 (package
21437 (name "emacs-auto-dictionary-mode")
21438 (version "1.1")
21439 (source
21440 (origin
21441 (method git-fetch)
21442 (uri (git-reference
21443 (url "https://github.com/nschum/auto-dictionary-mode")
21444 (commit version)))
21445 (file-name (git-file-name name version))
21446 (sha256
21447 (base32 "191294k92qp8gmfypf0q8j8qrym96aqikzvyb9p03wqvbr3r1dsk"))))
21448 (build-system emacs-build-system)
21449 (home-page "http://nschum.de/src/emacs/auto-dictionary/")
21450 (synopsis "Automatic dictionary switcher for Emacs spell checking")
21451 (description "@code{auto-dictionary} is a minor mode that hooks into
21452 Flyspell's on-the-fly spell checking and extends these checks to also detect
21453 language. Auto-dictionary then sets @code{ispell-dictionary} to use the
21454 detected language.")
21455 (license license:gpl2+)))