db5b24220aeb32ae2da19b4c89ff9412ad986866
[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, 2020 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, 2020 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, 2020 Dimakakos Dimos <bendersteed@teknik.io>
46 ;;; Copyright © 2019, 2020 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 <bandali@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 ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
62 ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
63 ;;; Copyright © 2020 Masaya Tojo <masaya@tojo.tokyo>
64 ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
65 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
66 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
67 ;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc>
68 ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
69 ;;;
70 ;;; This file is part of GNU Guix.
71 ;;;
72 ;;; GNU Guix is free software; you can redistribute it and/or modify it
73 ;;; under the terms of the GNU General Public License as published by
74 ;;; the Free Software Foundation; either version 3 of the License, or (at
75 ;;; your option) any later version.
76 ;;;
77 ;;; GNU Guix is distributed in the hope that it will be useful, but
78 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
79 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
80 ;;; GNU General Public License for more details.
81 ;;;
82 ;;; You should have received a copy of the GNU General Public License
83 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
84
85 (define-module (gnu packages emacs-xyz)
86 #:use-module ((guix licenses) #:prefix license:)
87 #:use-module (guix packages)
88 #:use-module (guix cvs-download)
89 #:use-module (guix download)
90 #:use-module (guix git-download)
91 #:use-module (guix hg-download)
92 #:use-module (guix build-system gnu)
93 #:use-module (guix build-system cmake)
94 #:use-module (guix build-system emacs)
95 #:use-module (guix build-system glib-or-gtk)
96 #:use-module (guix build-system perl)
97 #:use-module (guix build-system trivial)
98 #:use-module (gnu packages)
99 #:use-module (gnu packages admin)
100 #:use-module (gnu packages audio)
101 #:use-module (gnu packages bash)
102 #:use-module (gnu packages cmake)
103 #:use-module (gnu packages code)
104 #:use-module (gnu packages cpp)
105 #:use-module (gnu packages curl)
106 #:use-module (gnu packages databases)
107 #:use-module (gnu packages dictionaries)
108 #:use-module (gnu packages emacs)
109 #:use-module (gnu packages guile)
110 #:use-module (gnu packages gtk)
111 #:use-module (gnu packages gnome)
112 #:use-module (gnu packages haskell-apps)
113 #:use-module (gnu packages ncurses)
114 #:use-module (gnu packages python)
115 #:use-module (gnu packages python-xyz)
116 #:use-module (gnu packages telephony)
117 #:use-module (gnu packages terminals)
118 #:use-module (gnu packages tex)
119 #:use-module (gnu packages texinfo)
120 #:use-module (gnu packages tcl)
121 #:use-module (gnu packages tls)
122 #:use-module (gnu packages pkg-config)
123 #:use-module (gnu packages xorg)
124 #:use-module (gnu packages lesstif)
125 #:use-module (gnu packages llvm)
126 #:use-module (gnu packages image)
127 #:use-module (gnu packages linux)
128 #:use-module (gnu packages libevent)
129 #:use-module (gnu packages lua)
130 #:use-module (gnu packages music)
131 #:use-module (gnu packages version-control)
132 #:use-module (gnu packages imagemagick)
133 #:use-module (gnu packages w3m)
134 #:use-module (gnu packages wget)
135 #:use-module (gnu packages autotools)
136 #:use-module (gnu packages base)
137 #:use-module (gnu packages compression)
138 #:use-module (gnu packages node)
139 #:use-module (gnu packages xml)
140 #:use-module (gnu packages glib)
141 #:use-module (gnu packages acl)
142 #:use-module (gnu packages mail)
143 #:use-module (gnu packages messaging)
144 #:use-module (gnu packages package-management)
145 #:use-module (gnu packages perl)
146 #:use-module (gnu packages pdf)
147 #:use-module (gnu packages rust-apps)
148 #:use-module (gnu packages scheme)
149 #:use-module (gnu packages speech)
150 #:use-module (gnu packages xiph)
151 #:use-module (gnu packages mp3)
152 #:use-module (gnu packages gettext)
153 #:use-module (gnu packages fribidi)
154 #:use-module (gnu packages gd)
155 #:use-module (gnu packages fontutils)
156 #:use-module (gnu packages password-utils)
157 #:use-module (gnu packages pulseaudio)
158 #:use-module (gnu packages sphinx)
159 #:use-module (gnu packages xdisorg)
160 #:use-module (gnu packages shells)
161 #:use-module (gnu packages sqlite)
162 #:use-module (gnu packages gnupg)
163 #:use-module (gnu packages video)
164 #:use-module (gnu packages haskell-xyz)
165 #:use-module (gnu packages wordnet)
166 #:use-module (gnu packages photo)
167 #:use-module (guix utils)
168 #:use-module (srfi srfi-1)
169 #:use-module (ice-9 match))
170
171 ;;;
172 ;;; Emacs hacking.
173 ;;;
174
175 (define-public emacs-geiser
176 (package
177 (name "emacs-geiser")
178 (version "0.11.2")
179 (source (origin
180 (method git-fetch)
181 (uri (git-reference
182 (url "https://gitlab.com/jaor/geiser/")
183 (commit version)))
184 (file-name (git-file-name name version))
185 (sha256
186 (base32
187 "1khi1bghsjx6cs5acizmlbw9z19s4qycnji9krdbn42cbpv0rysv"))))
188 (build-system gnu-build-system)
189 (arguments
190 '(#:phases
191 (modify-phases %standard-phases
192 (add-after 'install 'post-install
193 (lambda* (#:key outputs #:allow-other-keys)
194 (symlink "geiser-install.el"
195 (string-append (assoc-ref outputs "out")
196 "/share/emacs/site-lisp/"
197 "geiser-autoloads.el"))
198 #t)))))
199 (inputs `(("guile" ,guile-2.2)))
200 (native-inputs
201 `(("emacs" ,emacs-minimal)
202 ("autoconf" ,autoconf)
203 ("automake" ,automake)
204 ("texinfo" ,texinfo)))
205 (home-page "https://nongnu.org/geiser/")
206 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
207 (description
208 "Geiser is a collection of Emacs major and minor modes that conspire with
209 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
210 continuously running Scheme interpreter takes the center of the stage in
211 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
212 implementation, Emacs and, ultimately, the schemer, giving them access to live
213 metadata.")
214 (license license:bsd-3)))
215
216 (define-public emacs-paredit
217 (package
218 (name "emacs-paredit")
219 (version "24")
220 (source (origin
221 (method url-fetch)
222 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
223 version ".el"))
224 (sha256
225 (base32
226 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
227 (build-system emacs-build-system)
228 (home-page "http://mumble.net/~campbell/emacs/paredit/")
229 (synopsis "Emacs minor mode for editing parentheses")
230 (description
231 "ParEdit (paredit.el) is a minor mode for performing structured editing
232 of S-expression data. The typical example of this would be Lisp or Scheme
233 source code.
234
235 ParEdit helps **keep parentheses balanced** and adds many keys for moving
236 S-expressions and moving around in S-expressions. Its behavior can be jarring
237 for those who may want transient periods of unbalanced parentheses, such as
238 when typing parentheses directly or commenting out code line by line.")
239 (license license:gpl3+)))
240
241 (define-public git-modes
242 (package
243 (name "emacs-git-modes")
244 (version "1.2.8")
245 (source (origin
246 (method git-fetch)
247 (uri (git-reference
248 (url "https://github.com/magit/git-modes")
249 (commit version)))
250 (file-name (git-file-name name version))
251 (sha256
252 (base32
253 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
254 (build-system emacs-build-system)
255 (home-page "https://github.com/magit/git-modes")
256 (synopsis "Emacs major modes for Git configuration files")
257 (description
258 "This package provides Emacs major modes for editing various Git
259 configuration files, such as .gitattributes, .gitignore, and .git/config.")
260 (license license:gpl3+)))
261
262 (define-public emacs-with-editor
263 (package
264 (name "emacs-with-editor")
265 (version "2.9.0")
266 (source (origin
267 (method git-fetch)
268 (uri (git-reference
269 (url "https://github.com/magit/with-editor.git")
270 (commit (string-append "v" version))))
271 (file-name (git-file-name name version))
272 (sha256
273 (base32
274 "1sjb3qqrn1rhmpkrn14l8rya6c3gwxwmgw74n779s54kvl9gn7a9"))))
275 (build-system emacs-build-system)
276 (propagated-inputs
277 `(("emacs-dash" ,emacs-dash)))
278 (home-page "https://github.com/magit/with-editor")
279 (synopsis "Emacs library for using Emacsclient as EDITOR")
280 (description
281 "This package provides an Emacs library to use the Emacsclient as
282 @code{$EDITOR} of child processes, making sure they know how to call home.
283 For remote processes a substitute is provided, which communicates with Emacs
284 on stdout instead of using a socket as the Emacsclient does.")
285 (license license:gpl3+)))
286
287 (define-public emacs-magit
288 ;; `magit-setup-buffer' macro introduced in c761d28d and required in
289 ;; `emacs-forge'.
290 (let ((commit "c761d28d49e5238037512b898db0ec9b40d85770"))
291 (package
292 (name "emacs-magit")
293 (version (git-version "2.90.1" "3" commit))
294 (source (origin
295 (method git-fetch)
296 (uri (git-reference
297 (url "https://github.com/magit/magit.git")
298 (commit commit)))
299 (file-name (git-file-name name version))
300 (sha256
301 (base32
302 "16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd"))
303 ;; FIXME: emacs-forge uses a function defined in this patch,
304 ;; which is newer than the current commit.
305 (patches
306 (search-patches
307 "emacs-magit-log-format-author-margin.patch"))
308 (modules '((guix build utils)))
309 (snippet
310 '(begin
311 ;; Fix syntax error
312 (substitute* "lisp/magit-extras.el"
313 (("rev\\)\\)\\)\\)\\)\\)") "rev)))))"))
314 #t))))
315 (build-system gnu-build-system)
316 (native-inputs `(("texinfo" ,texinfo)
317 ("emacs" ,emacs-minimal)))
318 (inputs
319 `(("git" ,git)
320 ("perl" ,perl)))
321 (propagated-inputs
322 `(("dash" ,emacs-dash)
323 ("with-editor" ,emacs-with-editor)
324 ("transient" ,emacs-transient)))
325 (arguments
326 `(#:modules ((guix build gnu-build-system)
327 (guix build utils)
328 (guix build emacs-utils))
329 #:imported-modules (,@%gnu-build-system-modules
330 (guix build emacs-utils))
331 #:test-target "test"
332 #:tests? #f ; tests are not included in the release
333 #:make-flags
334 (list (string-append "PREFIX=" %output)
335 ;; Don't put .el files in a sub-directory.
336 (string-append "lispdir=" %output "/share/emacs/site-lisp"))
337 #:phases
338 (modify-phases %standard-phases
339 (add-after 'unpack 'patch
340 (lambda _
341 (chmod "lisp/magit-extras.el" #o644)
342 (emacs-batch-edit-file "lisp/magit-extras.el"
343 `(progn (progn
344 (goto-char (point-min))
345 (re-search-forward "(defun magit-copy-buffer-revision ()")
346 (forward-sexp 2)
347 (kill-sexp)
348 (insert ,(format #f "~S"
349 '(if (use-region-p)
350 (copy-region-as-kill nil nil 'region)
351 (when-let ((rev (cl-case major-mode
352 ((magit-cherry-mode
353 magit-log-select-mode
354 magit-reflog-mode
355 magit-refs-mode
356 magit-revision-mode
357 magit-stash-mode
358 magit-stashes-mode)
359 (car magit-refresh-args))
360 ((magit-diff-mode magit-log-mode)
361 (let ((r (caar magit-refresh-args)))
362 (if (string-match "\\.\\.\\.?\\(.+\\)" r)
363 (match-string 1 r)
364 r)))
365 (magit-status-mode "HEAD"))))
366 (when (magit-commit-p rev)
367 (setq rev (magit-rev-parse rev))
368 (push (list rev default-directory) magit-revision-stack)
369 (kill-new (message "%s" rev))))))))
370 (basic-save-buffer)))
371 #t))
372 (delete 'configure)
373 (add-before
374 'build 'patch-exec-paths
375 (lambda* (#:key inputs #:allow-other-keys)
376 (let ((perl (assoc-ref inputs "perl")))
377 (make-file-writable "lisp/magit-sequence.el")
378 (emacs-substitute-variables "lisp/magit-sequence.el"
379 ("magit-perl-executable" (string-append perl "/bin/perl")))
380 #t))))))
381 (home-page "https://magit.vc/")
382 (synopsis "Emacs interface for the Git version control system")
383 (description
384 "With Magit, you can inspect and modify your Git repositories with Emacs.
385 You can review and commit the changes you have made to the tracked files, for
386 example, and you can browse the history of past changes. There is support for
387 cherry picking, reverting, merging, rebasing, and other common Git
388 operations.")
389 (license license:gpl3+))))
390
391 (define-public emacs-magit-svn
392 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
393 (package
394 (name "emacs-magit-svn")
395 (version (git-version "2.2.1" "2" commit))
396 (source (origin
397 (method git-fetch)
398 (uri (git-reference
399 (url "https://github.com/magit/magit-svn")
400 (commit commit)))
401 (file-name (git-file-name name version))
402 (sha256
403 (base32
404 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
405 (build-system emacs-build-system)
406 (propagated-inputs `(("dash" ,emacs-dash)
407 ("with-editor" ,emacs-with-editor)
408 ("magit" ,emacs-magit)
409 ("transient" ,emacs-transient)))
410 (home-page "https://github.com/magit/magit-svn")
411 (synopsis "Git-SVN extension to Magit")
412 (description
413 "This package is an extension to Magit, the Git Emacs mode, providing
414 support for Git-SVN.")
415 (license license:gpl3+))))
416
417 (define-public emacs-magit-popup
418 (package
419 (name "emacs-magit-popup")
420 (version "2.12.5")
421 (source (origin
422 (method git-fetch)
423 (uri (git-reference
424 (url "https://github.com/magit/magit-popup.git")
425 (commit (string-append "v" version))))
426 (file-name (git-file-name name version))
427 (sha256
428 (base32
429 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
430 (build-system emacs-build-system)
431 (arguments
432 `(#:phases
433 (modify-phases %standard-phases
434 (add-before 'install 'make-info
435 (lambda _
436 (invoke "make" "info"))))))
437 (native-inputs
438 `(("texinfo" ,texinfo)))
439 (propagated-inputs
440 `(("emacs-dash" ,emacs-dash)))
441 (home-page "https://github.com/magit/magit-popup")
442 (synopsis "Define prefix-infix-suffix command combos")
443 (description
444 "This library implements a generic interface for toggling switches and
445 setting options and then invoking an Emacs command which does something with
446 these arguments. The prototypical use is for the command to call an external
447 process, passing on the arguments as command line arguments.")
448 (license license:gpl3+)))
449
450 (define-public emacs-minions
451 (package
452 (name "emacs-minions")
453 (version "0.3.2")
454 (source (origin
455 (method git-fetch)
456 (uri (git-reference
457 (url "https://github.com/tarsius/minions.git")
458 (commit (string-append "v" version))))
459 (file-name (git-file-name name version))
460 (sha256
461 (base32
462 "16rplpbfy3dnvqqgavk9jb1f1ihr5875zlixd4zxb1pqxs3jkgw3"))))
463 (build-system emacs-build-system)
464 (propagated-inputs
465 `(("emacs-dash" ,emacs-dash)))
466 (home-page "https://github.com/tarsius/minions")
467 (synopsis "Minor-mode menu for the mode line")
468 (description
469 "This package implements a menu that lists enabled minor-modes, as well
470 as commonly but not currently enabled minor-modes. It can be used to toggle
471 local and global minor-modes, to access mode-specific menus, and to get help
472 about modes.
473
474 This menu is intended as a replacement for the incomplete yet wide list of
475 enabled minor-modes that is displayed in the mode line by default. To use the
476 menu like this, enable Minions mode.
477
478 Alternatively the menu can be bound globally, for example:
479 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
480 (license license:gpl3+)))
481
482 (define-public emacs-treepy
483 (package
484 (name "emacs-treepy")
485 (version "0.1.1")
486 (source (origin
487 (method git-fetch)
488 (uri (git-reference
489 (url "https://github.com/volrath/treepy.el.git")
490 (commit version)))
491 (file-name (git-file-name name version))
492 (sha256
493 (base32
494 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
495 (build-system emacs-build-system)
496 (home-page
497 "https://github.com/volrath/treepy.el")
498 (synopsis "Tree traversal tools")
499 (description
500 "Generic tools for recursive and iterative tree traversal based on
501 clojure.walk and clojure.zip respectively.")
502 (license license:gpl3+)))
503
504 (define-public emacs-graphql
505 (package
506 (name "emacs-graphql")
507 (version "0.1.1")
508 (source (origin
509 (modules '((guix build utils)))
510 ;; Remove examples file with references to external packages as
511 ;; they do not exist at compilation time.
512 (snippet
513 '(begin (delete-file "examples.el")
514 #t))
515 (method git-fetch)
516 (uri (git-reference
517 (url "https://github.com/vermiculus/graphql.el.git")
518 (commit version)))
519 (file-name (git-file-name name version))
520 (sha256
521 (base32
522 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
523 (build-system emacs-build-system)
524 (home-page
525 "https://github.com/vermiculus/graphql.el")
526 (synopsis "GraphQL utilities")
527 (description
528 "GraphQL.el provides a generally-applicable domain-specific language for
529 creating and executing GraphQL queries against your favorite web services.
530 GraphQL is a data query language and runtime designed and used to request and
531 deliver data to mobile and web apps.")
532 (license license:gpl3+)))
533
534 (define-public emacs-ghub
535 ;; We need a newer commit to avoid problems in emacs-forge.
536 (let ((commit "e19cd86ca4768a6d89285123933baa3f1460d696")
537 (revision "2"))
538 (package
539 (name "emacs-ghub")
540 (version (git-version "3.2.0" revision commit))
541 (source (origin
542 (method git-fetch)
543 (uri (git-reference
544 (url "https://github.com/magit/ghub")
545 (commit commit)))
546 (file-name (git-file-name name version))
547 (sha256
548 (base32
549 "1d6f8sxlsl0fpkzwbpnaw77d1a5pkg63zfvf6a2fxir357lbdizx"))))
550 (build-system emacs-build-system)
551 (arguments
552 `(#:phases
553 (modify-phases %standard-phases
554 (add-before 'install 'make-info
555 (lambda _
556 (invoke "make" "info"))))))
557 (native-inputs
558 `(("texinfo" ,texinfo)))
559 (propagated-inputs
560 `(("dash" ,emacs-dash)
561 ("emacs-let-alist" ,emacs-let-alist)
562 ("treepy" ,emacs-treepy)))
563 (home-page "https://github.com/magit/ghub")
564 (synopsis "Emacs client libraries for the APIs of various Git forges")
565 (description
566 "Ghub provides basic support for using the APIs of various Git forges from
567 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
568 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
569 handful of functions that are not resource-specific.")
570 (license license:gpl3+))))
571
572 (define-public emacs-scribble-mode
573 (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
574 (revision "2"))
575 (package
576 (name "emacs-scribble-mode")
577 (version (git-version "0.1" revision commit))
578 (source (origin
579 (method git-fetch)
580 (uri (git-reference
581 (url "https://github.com/emacs-pe/scribble-mode.git")
582 (commit commit)))
583 (file-name (git-file-name name version))
584 (sha256
585 (base32
586 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"))))
587 (build-system emacs-build-system)
588 (home-page "https://github.com/emacs-pe/scribble-mode")
589 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
590 (description
591 "This package provides basic syntax highlighting and editing support
592 for editing Racket's Scribble documentation syntax in Emacs.")
593 (license license:gpl3+))))
594
595 (define-public emacs-shroud
596 (package
597 (name "emacs-shroud")
598 (version "1.105")
599 (source
600 (origin
601 (method git-fetch)
602 (uri (git-reference
603 (url "https://git.savannah.gnu.org/git/emacs-shroud.git")
604 (commit version)))
605 (file-name (git-file-name name version))
606 (sha256
607 (base32 "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"))))
608 (build-system gnu-build-system)
609 (native-inputs
610 `(("autoconf" ,autoconf)
611 ("automake" ,automake)
612 ("texinfo" ,texinfo)
613 ("perl" ,perl)
614 ("emacs-minimal" ,emacs-minimal)))
615 (propagated-inputs
616 `(("emacs-bui" ,emacs-bui)
617 ("emacs-dash" ,emacs-dash)
618 ("emacs-f" ,emacs-f)
619 ("emacs-s" ,emacs-s)
620 ("gnupg" ,gnupg)
621 ("shroud" ,shroud)))
622 (home-page "https://www.nongnu.org/emacs-shroud")
623 (synopsis "Emacs interface to the Shroud password manager")
624 (description
625 "This package provides an Emacs interface to the Shroud password manager,
626 using the Buffers User Interface library. You can view, copy, and edit secrets
627 from within Emacs.")
628 (license license:gpl3+)))
629
630 (define-public emacs-unpackaged-el
631 (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
632 (revision "3"))
633 (package
634 (name "emacs-unpackaged-el")
635 (version (git-version "0" revision commit))
636 (source
637 (origin
638 (method git-fetch)
639 (uri (git-reference
640 (url "https://github.com/alphapapa/unpackaged.el")
641 (commit commit)))
642 (file-name (git-file-name name version))
643 (sha256
644 (base32
645 "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
646 (build-system emacs-build-system)
647 (propagated-inputs
648 `(("emacs-dash" ,emacs-dash)
649 ("emacs-org" ,emacs-org)
650 ("emacs-s" ,emacs-s)
651 ("emacs-hydra" ,emacs-hydra)
652 ("emacs-use-package" ,emacs-use-package)))
653 (arguments
654 `(#:phases
655 (modify-phases %standard-phases
656 (add-after 'unpack 'require-hydra
657 (lambda _
658 (substitute* "unpackaged.el"
659 ((";;; Code:") ";;; Code:\n(require 'hydra)"))
660 #t)))))
661 (home-page "https://github.com/alphapapa/unpackaged.el")
662 (synopsis "Useful snippets of Emacs Lisp code")
663 (description "This package provides Emacs Lisp utilities for a variety
664 of tasks, including version control, task management, and regex-based
665 replacement.")
666 (license license:gpl3+))))
667
668 (define-public emacs-haskell-mode
669 (package
670 (name "emacs-haskell-mode")
671 (version "16.1")
672 (source (origin
673 (method git-fetch)
674 (uri (git-reference
675 (url "https://github.com/haskell/haskell-mode")
676 (commit (string-append "v" version))))
677 (file-name (git-file-name name version))
678 (sha256
679 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
680 (patches
681 (search-patches ; backport test failure fixes
682 "haskell-mode-unused-variables.patch"
683 "haskell-mode-make-check.patch"))))
684 (inputs
685 `(("emacs-el-search" ,emacs-el-search) ; for tests
686 ("emacs-stream" ,emacs-stream))) ; for tests
687 (propagated-inputs
688 `(("emacs-dash" ,emacs-dash)))
689 (native-inputs
690 `(("emacs" ,emacs-minimal)
691 ("texinfo" ,texinfo)))
692 (build-system gnu-build-system)
693 (arguments
694 `(#:make-flags (list (string-append "EMACS="
695 (assoc-ref %build-inputs "emacs")
696 "/bin/emacs"))
697 #:modules ((ice-9 match)
698 (srfi srfi-26)
699 ,@%gnu-build-system-modules)
700 #:phases
701 (modify-phases %standard-phases
702 (delete 'configure)
703 (add-before
704 'build 'pre-build
705 (lambda* (#:key inputs #:allow-other-keys)
706 (define (el-dir store-dir)
707 (match (find-files store-dir "\\.el$")
708 ((f1 f2 ...) (dirname f1))
709 (_ "")))
710
711 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
712 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
713
714 (setenv "SHELL" "sh")
715 (setenv "EMACSLOADPATH"
716 (string-concatenate
717 (map (match-lambda
718 (((? emacs-prefix? name) . dir)
719 (string-append (el-dir dir) ":"))
720 (_ ""))
721 inputs)))
722 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
723 ;; embed filename to fix test failure
724 (let ((file "tests/haskell-cabal-tests.el"))
725 (substitute* file
726 (("\\(buffer-file-name\\)")
727 (format #f "(or (buffer-file-name) ~s)" file))))
728 #t)))
729 (replace
730 'install
731 (lambda* (#:key outputs #:allow-other-keys)
732 (let* ((out (assoc-ref outputs "out"))
733 (el-dir (string-append out "/share/emacs/site-lisp"))
734 (doc (string-append
735 out "/share/doc/haskell-mode-" ,version))
736 (info (string-append out "/share/info")))
737 (define (copy-to-dir dir files)
738 (for-each (lambda (f)
739 (install-file f dir))
740 files))
741
742 (with-directory-excursion "doc"
743 (invoke "makeinfo" "haskell-mode.texi")
744 (install-file "haskell-mode.info" info))
745 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
746 (copy-to-dir el-dir (find-files "." "\\.elc?"))
747 ;; These are part of other packages.
748 (with-directory-excursion el-dir
749 (for-each delete-file '("dash.el" "ert.el")))
750 #t))))))
751 (home-page "https://github.com/haskell/haskell-mode")
752 (synopsis "Haskell mode for Emacs")
753 (description
754 "This is an Emacs mode for editing, debugging and developing Haskell
755 programs.")
756 (license license:gpl3+)))
757
758 (define-public emacs-dante
759 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
760 (revision "1"))
761 (package
762 (name "emacs-dante")
763 (version (git-version "1.6" revision commit))
764 (source (origin
765 (method git-fetch)
766 (uri (git-reference
767 (url "https://github.com/jyp/dante")
768 (commit commit)))
769 (sha256
770 (base32
771 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
772 (file-name (git-file-name name version))))
773 (build-system emacs-build-system)
774 (propagated-inputs
775 `(("emacs-dash" ,emacs-dash)
776 ("emacs-f" ,emacs-f)
777 ("emacs-flycheck" ,emacs-flycheck)
778 ("emacs-haskell-mode" ,emacs-haskell-mode)
779 ("emacs-s" ,emacs-s)
780 ("emacs-company" ,emacs-company)
781 ("emacs-lcr" ,emacs-lcr)))
782 (home-page "https://github.com/jyp/dante")
783 (synopsis "Minor mode for interactive Haskell")
784 (description
785 "This package provides a minor mode for Haskell development that
786 supports type hints, definition-jumping, completion, and more.")
787 (license license:gpl3+))))
788
789 (define-public emacs-flycheck
790 ;; last release version was more than 300 commits ago
791 (let ((commit "0006a59259ebd02c9199ddc87f0e3ce22793a2ea")
792 (revision "1"))
793 (package
794 (name "emacs-flycheck")
795 (version (git-version "31" revision commit))
796 (source (origin
797 (method git-fetch)
798 (uri (git-reference
799 (url "https://github.com/flycheck/flycheck/")
800 (commit commit)))
801 (sha256
802 (base32
803 "09q3h6ldpg528cfbmsbb1x2vf5hmzgm3fshqn6kdy144jxcdjlf1"))
804 (file-name (git-file-name name version))))
805 (build-system emacs-build-system)
806 (propagated-inputs
807 `(("emacs-dash" ,emacs-dash)))
808 (native-inputs
809 `(("emacs-shut-up" ,emacs-shut-up)))
810 (arguments
811 `(#:phases
812 (modify-phases %standard-phases
813 (add-after 'unpack 'change-flycheck-version
814 (lambda _
815 (substitute* "flycheck.el"
816 (("\\(pkg-info-version-info 'flycheck\\)")
817 (string-append "\"" ,version "\"")))
818 #t)))
819 ;; TODO: many failing tests
820 #:tests? #f
821 #:test-command '("emacs" "-Q" "--batch" "-L" "."
822 "--load" "test/flycheck-test"
823 "--load" "test/run.el"
824 "-f" "flycheck-run-tests-main")))
825 (home-page "https://www.flycheck.org")
826 (synopsis "On-the-fly syntax checking")
827 (description
828 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
829 replacement for the older Flymake extension which is part of GNU Emacs, with
830 many improvements and additional features.
831
832 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
833 checking for over 30 programming and markup languages with more than 70
834 different tools. It highlights errors and warnings inline in the buffer, and
835 provides an optional IDE-like error list.")
836 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
837
838 (define-public emacs-a
839 (package
840 (name "emacs-a")
841 (version "0.1.1")
842 (source (origin
843 (method git-fetch)
844 (uri (git-reference
845 (url "https://github.com/plexus/a.el.git")
846 (commit (string-append "v" version))))
847 (file-name (git-file-name name version))
848 (sha256
849 (base32
850 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
851 (build-system emacs-build-system)
852 (home-page "https://github.com/plexus/a.el/")
853 (synopsis
854 "Emacs library for dealing with association lists and hash tables")
855 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
856 with associative structures in a uniform and functional way. These functions
857 can take association lists, hash tables, and in some cases vectors (where the
858 index is considered the key).")
859 (license license:gpl3+)))
860
861 (define-public emacs-ace-jump-mode
862 (package
863 (name "emacs-ace-jump-mode")
864 (version "2.0")
865 (home-page "https://github.com/winterTTr/ace-jump-mode")
866 (source (origin
867 (method git-fetch)
868 (uri (git-reference
869 (url home-page)
870 (commit (string-append "v" version))))
871 (sha256
872 (base32
873 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
874 (file-name (git-file-name name version))))
875 (build-system emacs-build-system)
876 (synopsis "Cursor location minor mode for fast navigation")
877 (description "Ace-jump-mode is a fast/direct cursor location minor
878 mode. It creates an N-Branch search tree internally and marks all
879 the possible position with predefined keys in within the whole Emacs
880 view. This allows you to move to the character, word, or line almost
881 directly.")
882 (license license:gpl3+)))
883
884 (define-public emacs-anaphora
885 (package
886 (name "emacs-anaphora")
887 (version "1.0.4")
888 (source
889 (origin
890 (method git-fetch)
891 (uri (git-reference
892 (url "https://github.com/rolandwalker/anaphora.git")
893 (commit (string-append "v" version))))
894 (file-name (git-file-name name version))
895 (sha256
896 (base32
897 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
898 (build-system emacs-build-system)
899 (home-page "https://github.com/rolandwalker/anaphora/")
900 (synopsis "Anaphoric expressions for Emacs Lisp")
901 (description "@code{emacs-anaphora} implements anaphoric expressions for
902 Emacs Lisp.
903
904 Anaphoric expressions implicitly create one or more temporary variables which
905 can be referred to during the expression. This technique can improve clarity
906 in certain cases. It also enables recursion for anonymous functions.")
907 (license license:public-domain)))
908
909 (define-public emacs-xr
910 (package
911 (name "emacs-xr")
912 (version "1.18")
913 (source
914 (origin
915 (method url-fetch)
916 (uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
917 (sha256
918 (base32 "1nq9pj47sxgpkw97c2xrkhgcwh3zsfd2a22qiqbl4i9zf2l9yy91"))))
919 (build-system emacs-build-system)
920 (home-page "https://elpa.gnu.org/packages/xr.html")
921 (synopsis "Convert string regexp to rx notation")
922 (description
923 "This is an inverse companion to the @code{rx} package for translating
924 regexps in string form to the @code{rx} notation. Its chief uses are:
925
926 @itemize
927 @item Migrating existing code to @code{rx} form, for better readability and
928 maintainability
929 @item Understanding complex regexp strings and finding errors in them
930 @end itemize
931
932 In addition to Emacs regexps, this package can also parse and troubleshoot
933 skip set strings, which are arguments to @code{skip-chars-forward} and
934 @code{skip-chars-backward}.")
935 (license license:gpl3+)))
936
937 (define-public emacs-ample-regexps
938 (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
939 (revision "1"))
940 (package
941 (name "emacs-ample-regexps")
942 (version (git-version "0.1" revision commit))
943 (source
944 (origin
945 (method git-fetch)
946 (uri (git-reference
947 (url "https://github.com/immerrr/ample-regexps.el")
948 (commit commit)))
949 (file-name (git-file-name name version))
950 (sha256
951 (base32
952 "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
953 (build-system emacs-build-system)
954 (native-inputs
955 `(("ert-runner" ,emacs-ert-runner)))
956 (arguments
957 `(#:tests? #t
958 #:test-command '("ert-runner" "-l" "ample-regexps")))
959 (home-page "https://github.com/immerrr/ample-regexps.el")
960 (synopsis "Compose and reuse Emacs regexps")
961 (description
962 "This package allows common parts of regexps to be easily picked out
963 and reused.")
964 (license license:gpl3+))))
965
966 (define-public emacs-ample-theme
967 (let ((commit "536966adf882446165a1f756830028faa792c7a9")
968 (revision "1"))
969 (package
970 (name "emacs-ample-theme")
971 (version (git-version "0.0.0" revision commit))
972 (source (origin
973 (method git-fetch)
974 (uri (git-reference
975 (url "https://github.com/jordonbiondo/ample-theme")
976 (commit commit)))
977 (file-name (git-file-name name version))
978 (sha256
979 (base32
980 "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
981 (build-system emacs-build-system)
982 (home-page "https://github.com/jordonbiondo/ample-theme")
983 (synopsis "Theme for Emacs providing dark, light, and flat versions")
984 (description "Ample themes is a collection of three themes sharing a
985 similar pallet with a light, dark and flat versions with a focus on being easy
986 on the eyes during night and day. They only support GUI and 256 colour
987 terminals.")
988 (license license:gpl3+))))
989
990 (define-public emacs-reformatter
991 (package
992 (name "emacs-reformatter")
993 (version "0.4")
994 (source
995 (origin
996 (method git-fetch)
997 (uri (git-reference
998 (url "https://github.com/purcell/reformatter.el.git")
999 (commit version)))
1000 (file-name (git-file-name name version))
1001 (sha256
1002 (base32
1003 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
1004 (build-system emacs-build-system)
1005 (home-page "https://github.com/purcell/reformatter.el")
1006 (synopsis "Define commands which run reformatters on the current buffer")
1007 (description
1008 "This library lets elisp authors easily define an idiomatic command to
1009 reformat the current buffer using a command-line program, together with an
1010 optional minor mode which can apply this command automatically on save.")
1011 (license license:gpl3+)))
1012
1013 (define-public emacs-relint
1014 (package
1015 (name "emacs-relint")
1016 (version "1.15")
1017 (source
1018 (origin
1019 (method url-fetch)
1020 (uri (string-append
1021 "https://elpa.gnu.org/packages/relint-" version ".tar"))
1022 (sha256
1023 (base32 "0sxmdsacj8my942k8j76m2y68nzab7190acv7cwgflc5n4f07yxa"))))
1024 (build-system emacs-build-system)
1025 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
1026 (home-page "https://github.com/mattiase/relint")
1027 (synopsis "Elisp regexp mistake finder")
1028 (description
1029 "Relint (regular expression lint) scans Elisp files for mistakes in
1030 regexps, including deprecated syntax and bad practice. It also checks the
1031 regexp-like arguments to @code{skip-chars-forward} and
1032 @code{skip-chars-backward}.")
1033 (license license:gpl3+)))
1034
1035 (define-public emacs-bug-hunter
1036 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1037 (revision "1"))
1038 (package
1039 (name "emacs-bug-hunter")
1040 (version (git-version "1.3.1" revision commit))
1041 (source
1042 (origin
1043 (method git-fetch)
1044 (uri (git-reference
1045 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
1046 (commit commit)))
1047 (file-name (git-file-name name commit))
1048 (sha256
1049 (base32
1050 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1051 (build-system emacs-build-system)
1052 (propagated-inputs
1053 `(("emacs-seq" ,emacs-seq)))
1054 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1055 (synopsis "Hunt down errors by bisecting elisp files")
1056 (description
1057 "The Bug Hunter is an Emacs library that finds the source of an error
1058 or unexpected behavior inside an elisp configuration file (typically
1059 @file{init.el} or @file{.emacs}).")
1060 (license license:gpl3+))))
1061
1062 \f
1063 ;;;
1064 ;;; Web browsing.
1065 ;;;
1066
1067 (define-public emacs-w3m
1068 ;; Emacs-w3m follows a "rolling release" model.
1069 (package
1070 (name "emacs-w3m")
1071 (version "2018-11-11")
1072 (source (origin
1073 (method cvs-fetch)
1074 (uri (cvs-reference
1075 (root-directory
1076 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1077 (module "emacs-w3m")
1078 (revision version)))
1079 (file-name (string-append name "-" version "-checkout"))
1080 (sha256
1081 (base32
1082 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1083 (build-system gnu-build-system)
1084 (native-inputs `(("autoconf" ,autoconf)
1085 ("texinfo" ,texinfo)
1086 ("emacs" ,emacs-minimal)))
1087 (inputs `(("w3m" ,w3m)
1088 ("imagemagick" ,imagemagick)))
1089 (arguments
1090 `(#:modules ((guix build gnu-build-system)
1091 (guix build utils)
1092 (guix build emacs-utils))
1093 #:imported-modules (,@%gnu-build-system-modules
1094 (guix build emacs-utils))
1095 #:configure-flags
1096 (let ((out (assoc-ref %outputs "out")))
1097 (list (string-append "--with-lispdir="
1098 out "/share/emacs/site-lisp")
1099 (string-append "--with-icondir="
1100 out "/share/images/emacs-w3m")
1101 ;; Leave .el files uncompressed, otherwise GC can't
1102 ;; identify run-time dependencies. See
1103 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1104 "--without-compress-install"))
1105 #:tests? #f ; no check target
1106 #:phases
1107 (modify-phases %standard-phases
1108 (add-after 'unpack 'autoconf
1109 (lambda _
1110 (invoke "autoconf")))
1111 (add-before 'configure 'support-emacs!
1112 (lambda _
1113 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1114 ;; unsupported.
1115 (substitute* "configure"
1116 (("EMACS_FLAVOR=unsupported")
1117 "EMACS_FLAVOR=emacs"))
1118 #t))
1119 (add-before 'build 'patch-exec-paths
1120 (lambda* (#:key inputs outputs #:allow-other-keys)
1121 (let ((out (assoc-ref outputs "out"))
1122 (w3m (assoc-ref inputs "w3m"))
1123 (imagemagick (assoc-ref inputs "imagemagick"))
1124 (coreutils (assoc-ref inputs "coreutils")))
1125 (make-file-writable "w3m.el")
1126 (emacs-substitute-variables "w3m.el"
1127 ("w3m-command" (string-append w3m "/bin/w3m"))
1128 ("w3m-touch-command"
1129 (string-append coreutils "/bin/touch"))
1130 ("w3m-icon-directory"
1131 (string-append out "/share/images/emacs-w3m")))
1132 (make-file-writable "w3m-image.el")
1133 (emacs-substitute-variables "w3m-image.el"
1134 ("w3m-imagick-convert-program"
1135 (string-append imagemagick "/bin/convert"))
1136 ("w3m-imagick-identify-program"
1137 (string-append imagemagick "/bin/identify")))
1138 #t)))
1139 (replace 'install
1140 (lambda* (#:key outputs #:allow-other-keys)
1141 (invoke "make" "install" "install-icons")
1142 (with-directory-excursion
1143 (string-append (assoc-ref outputs "out")
1144 "/share/emacs/site-lisp")
1145 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1146 (symlink "w3m-load.el" "w3m-autoloads.el")
1147 #t))))))
1148 (home-page "http://emacs-w3m.namazu.org/")
1149 (synopsis "Simple Web browser for Emacs based on w3m")
1150 (description
1151 "Emacs-w3m is an emacs interface for the w3m web browser.")
1152 (license license:gpl2+)))
1153
1154 (define-public emacs-wget
1155 (package
1156 (name "emacs-wget")
1157 (version "0.5.0")
1158 (source (origin
1159 (method url-fetch)
1160 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1161 version ".orig.tar.gz"))
1162 (sha256
1163 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1164 (build-system gnu-build-system)
1165 (inputs `(("wget" ,wget)))
1166 (native-inputs `(("emacs" ,emacs-minimal)))
1167 (arguments
1168 `(#:modules ((guix build gnu-build-system)
1169 (guix build utils)
1170 (guix build emacs-utils))
1171 #:imported-modules (,@%gnu-build-system-modules
1172 (guix build emacs-utils))
1173 #:tests? #f ; no check target
1174 #:phases
1175 (modify-phases %standard-phases
1176 (replace 'configure
1177 (lambda* (#:key outputs #:allow-other-keys)
1178 (substitute* "Makefile"
1179 (("/usr/local") (assoc-ref outputs "out"))
1180 (("/site-lisp/emacs-wget") "/site-lisp"))
1181 #t))
1182 (add-before 'build 'patch-exec-paths
1183 (lambda* (#:key inputs outputs #:allow-other-keys)
1184 (let ((wget (assoc-ref inputs "wget")))
1185 (emacs-substitute-variables "wget.el"
1186 ("wget-command" (string-append wget "/bin/wget"))))
1187 #t))
1188 (add-after 'install 'post-install
1189 (lambda* (#:key outputs #:allow-other-keys)
1190 (emacs-generate-autoloads
1191 "wget" (string-append (assoc-ref outputs "out")
1192 "/share/emacs/site-lisp/"))
1193 #t)))))
1194 (home-page "https://www.emacswiki.org/emacs/EmacsWget")
1195 (synopsis "Simple file downloader for Emacs based on wget")
1196 (description
1197 "Emacs-wget is an emacs interface for the wget file downloader.")
1198 (license license:gpl2+)))
1199
1200 (define-public emacs-eww-lnum
1201 (package
1202 (name "emacs-eww-lnum")
1203 (version "1.1")
1204 (source (origin
1205 (method git-fetch)
1206 (uri (git-reference
1207 (url "https://github.com/m00natic/eww-lnum.git")
1208 (commit version)))
1209 (file-name (git-file-name name version))
1210 (sha256
1211 (base32
1212 "0gs6bi3s2sszc6v2b26929azmn5513kvyin99n4d0ark1jdbjmv2"))))
1213 (build-system emacs-build-system)
1214 (home-page "https://github.com/m00natic/eww-lnum")
1215 (synopsis "Conkeror-like functionality for Eww")
1216 (description "This is extension to the Emacs browser Eww that adds
1217 Conkeror-like functionality. In short, currently visible links, forms,
1218 buttons are temporarily assigned numbers with which the former can be
1219 immediately activated. Also filtering can be applied so selection can be
1220 incrementally confined in Isearch manner.")
1221 (license license:gpl3+)))
1222
1223
1224 \f
1225 ;;;
1226 ;;; Multimedia.
1227 ;;;
1228
1229 (define-public emacs-emms
1230 (package
1231 (name "emacs-emms")
1232 (version "5.3")
1233 (source (origin
1234 (method url-fetch)
1235 (uri (string-append "mirror://gnu/emms/emms-"
1236 version ".tar.gz"))
1237 (sha256
1238 (base32
1239 "00hnv7jjgb2simgrf7gf2y1cyg2syk7kj1hkbac146hlgxk8ngj1"))
1240 (modules '((guix build utils)))
1241 (snippet
1242 '(begin
1243 (substitute* "Makefile"
1244 (("/usr/bin/install-info")
1245 ;; No need to use 'install-info' since it would create a
1246 ;; useless 'dir' file.
1247 "true")
1248 (("^INFODIR=.*")
1249 ;; Install Info files to $out/share/info, not $out/info.
1250 "INFODIR := $(PREFIX)/share/info\n")
1251 (("/site-lisp/emms")
1252 ;; Install directly in share/emacs/site-lisp, not in a
1253 ;; sub-directory.
1254 "/site-lisp")
1255 (("^all: (.*)\n" _ rest)
1256 ;; Build 'emms-print-metadata'.
1257 (string-append "all: " rest " emms-print-metadata\n")))
1258 #t))))
1259 (build-system gnu-build-system)
1260 (arguments
1261 `(#:modules ((guix build gnu-build-system)
1262 (guix build utils)
1263 (guix build emacs-utils)
1264 (ice-9 ftw))
1265 #:imported-modules (,@%gnu-build-system-modules
1266 (guix build emacs-utils))
1267
1268 #:phases
1269 (modify-phases %standard-phases
1270 (replace 'configure
1271 (lambda* (#:key inputs outputs #:allow-other-keys)
1272 (let ((out (assoc-ref outputs "out"))
1273 (flac (assoc-ref inputs "flac"))
1274 (vorbis (assoc-ref inputs "vorbis-tools"))
1275 (alsa (assoc-ref inputs "alsa-utils"))
1276 (mpg321 (assoc-ref inputs "mpg321"))
1277 (mp3info (assoc-ref inputs "mp3info"))
1278 (mutagen (assoc-ref inputs "mutagen"))
1279 (opus (assoc-ref inputs "opus-tools")))
1280 ;; Specify the installation directory.
1281 (substitute* "Makefile"
1282 (("PREFIX=.*$")
1283 (string-append "PREFIX := " out "\n")))
1284
1285 (setenv "SHELL" (which "sh"))
1286 (setenv "CC" "gcc")
1287
1288 ;; Specify the absolute file names of the various
1289 ;; programs so that everything works out-of-the-box.
1290 (with-directory-excursion "lisp"
1291 (emacs-substitute-variables
1292 "emms-player-mpg321-remote.el"
1293 ("emms-player-mpg321-remote-command"
1294 (string-append mpg321 "/bin/mpg321")))
1295 (substitute* "emms-player-simple.el"
1296 (("\"ogg123\"")
1297 (string-append "\"" vorbis "/bin/ogg123\"")))
1298 (substitute* "emms-player-simple.el"
1299 (("\"mpg321\"")
1300 (string-append "\"" mpg321 "/bin/mpg321\"")))
1301 (emacs-substitute-variables "emms-info-ogginfo.el"
1302 ("emms-info-ogginfo-program-name"
1303 (string-append vorbis "/bin/ogginfo")))
1304 (emacs-substitute-variables "emms-info-opusinfo.el"
1305 ("emms-info-opusinfo-program-name"
1306 (string-append opus "/bin/opusinfo")))
1307 (emacs-substitute-variables "emms-info-libtag.el"
1308 ("emms-info-libtag-program-name"
1309 (string-append out "/bin/emms-print-metadata")))
1310 (emacs-substitute-variables "emms-info-mp3info.el"
1311 ("emms-info-mp3info-program-name"
1312 (string-append mp3info "/bin/mp3info")))
1313 (emacs-substitute-variables "emms-info-metaflac.el"
1314 ("emms-info-metaflac-program-name"
1315 (string-append flac "/bin/metaflac")))
1316 (emacs-substitute-variables "emms-source-file.el"
1317 ("emms-source-file-gnu-find" (which "find")))
1318 (substitute* "emms-volume-amixer.el"
1319 (("\"amixer\"")
1320 (string-append "\"" alsa "/bin/amixer\"")))
1321 (substitute* "emms-tag-editor.el"
1322 (("\"mid3v2\"")
1323 (string-append "\"" mutagen "/bin/mid3v2\"")))
1324 #t))))
1325 (add-before 'install 'pre-install
1326 (lambda* (#:key outputs #:allow-other-keys)
1327 ;; The 'install' rule expects the target directories to exist.
1328 (let* ((out (assoc-ref outputs "out"))
1329 (bin (string-append out "/bin"))
1330 (man1 (string-append out "/share/man/man1")))
1331 (mkdir-p bin)
1332 (mkdir-p man1)
1333
1334 ;; Ensure that files are not rejected by gzip
1335 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1336 (ftw "." (lambda (file stat flag)
1337 (unless (<= early-1980 (stat:mtime stat))
1338 (utime file early-1980 early-1980))
1339 #t)))
1340 #t)))
1341 (add-after 'install 'post-install
1342 (lambda* (#:key outputs #:allow-other-keys)
1343 (let ((out (assoc-ref outputs "out")))
1344 (symlink "emms-auto.el"
1345 (string-append out "/share/emacs/site-lisp/"
1346 "emms-autoloads.el")))
1347 #t)))
1348 #:tests? #f))
1349 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1350 ("texinfo" ,texinfo)))
1351 (inputs `(("alsa-utils" ,alsa-utils)
1352 ("flac" ,flac) ;for metaflac
1353 ("vorbis-tools" ,vorbis-tools)
1354 ("mpg321" ,mpg321)
1355 ("taglib" ,taglib)
1356 ("mp3info" ,mp3info)
1357 ("mutagen" ,python-mutagen)
1358 ("opus-tools" ,opus-tools)))
1359 (properties '((upstream-name . "emms")))
1360 (synopsis "Emacs Multimedia System")
1361 (description
1362 "EMMS is the Emacs Multimedia System. It is a small front-end which
1363 can control one of the supported external players. Thus, it supports
1364 whatever formats are supported by your music player. It also
1365 supports tagging and playlist management, all behind a clean and
1366 light user interface.")
1367 (home-page "https://www.gnu.org/software/emms/")
1368 (license license:gpl3+)))
1369
1370 (define-public emacs-emms-mode-line-cycle
1371 (package
1372 (name "emacs-emms-mode-line-cycle")
1373 (version "0.2.5")
1374 (source
1375 (origin
1376 (method git-fetch)
1377 (uri (git-reference
1378 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1379 (commit version)))
1380 (file-name (git-file-name name version))
1381 (sha256
1382 (base32
1383 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1384 (build-system emacs-build-system)
1385 (propagated-inputs
1386 `(("emms" ,emacs-emms)))
1387 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1388 (synopsis "Display the EMMS mode line as a ticker")
1389 (description
1390 "This is a minor mode for updating the EMMS mode-line string cyclically
1391 within a specified width. It is useful for displaying long track titles.")
1392 (license license:gpl3+)))
1393
1394 \f
1395 ;;;
1396 ;;; Miscellaneous.
1397 ;;;
1398
1399 (define-public emacs-ace-link
1400 (package
1401 (name "emacs-ace-link")
1402 (version "0.5.0")
1403 (source
1404 (origin
1405 (method git-fetch)
1406 (uri (git-reference
1407 (url "https://github.com/abo-abo/ace-link.git")
1408 (commit version)))
1409 (file-name (git-file-name name version))
1410 (sha256
1411 (base32
1412 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1413 (build-system emacs-build-system)
1414 (propagated-inputs
1415 `(("emacs-avy" ,emacs-avy)))
1416 (home-page "https://github.com/abo-abo/ace-link")
1417 (synopsis "Quickly follow links in Emacs")
1418 (description
1419 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1420 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1421 @code{goto-address-mode} buffer, you can tab through the links to select the
1422 one you want. This is an O(N) operation, where the N is the amount of links.
1423 This package turns this into an O(1) operation. It does so by assigning a
1424 letter to each link using avy.")
1425 (license license:gpl3+)))
1426
1427 (define-public emacs-bbdb
1428 (package
1429 (name "emacs-bbdb")
1430 (version "3.1.2")
1431 (source (origin
1432 (method url-fetch)
1433 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1434 version ".tar.gz"))
1435 (sha256
1436 (base32
1437 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1438 (modules '((guix build utils)))
1439 (snippet
1440 ;; We don't want to build and install the PDF.
1441 '(begin
1442 (substitute* "doc/Makefile.in"
1443 (("^doc_DATA = .*$")
1444 "doc_DATA =\n"))
1445 #t))))
1446 (build-system gnu-build-system)
1447 (arguments
1448 '(#:phases
1449 (modify-phases %standard-phases
1450 (add-after 'install 'post-install
1451 (lambda* (#:key outputs #:allow-other-keys)
1452 ;; Add an autoloads file with the right name for guix.el.
1453 (let* ((out (assoc-ref outputs "out"))
1454 (site (string-append out "/share/emacs/site-lisp")))
1455 (with-directory-excursion site
1456 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1457 #t)))))
1458 (native-inputs `(("emacs" ,emacs-minimal)))
1459 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1460 (synopsis "Contact management utility for Emacs")
1461 (description
1462 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1463 an address book for email and snail mail addresses, phone numbers and the
1464 like. It can be linked with various Emacs mail clients (Message and Mail
1465 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1466 (license license:gpl3+)))
1467
1468 (define-public emacs-aggressive-indent
1469 (package
1470 (name "emacs-aggressive-indent")
1471 (version "1.8.3")
1472 (source (origin
1473 (method url-fetch)
1474 (uri (string-append "https://elpa.gnu.org/packages/"
1475 "aggressive-indent-" version ".el"))
1476 (sha256
1477 (base32
1478 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1479 (build-system emacs-build-system)
1480 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1481 (synopsis "Minor mode to aggressively keep your code always indented")
1482 (description
1483 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1484 always indented. It reindents after every change, making it more reliable
1485 than @code{electric-indent-mode}.")
1486 (license license:gpl2+)))
1487
1488 (define-public emacs-link-hint
1489 ;; Last release was in 2015.
1490 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1491 (revision "1"))
1492 (package
1493 (name "emacs-link-hint")
1494 (version (git-version "0.1" revision commit))
1495 (source
1496 (origin
1497 (method git-fetch)
1498 (uri (git-reference
1499 (url "https://github.com/noctuid/link-hint.el")
1500 (commit commit)))
1501 (file-name (git-file-name name version))
1502 (sha256
1503 (base32
1504 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1505 (build-system emacs-build-system)
1506 (propagated-inputs
1507 `(("emacs-avy" ,emacs-avy)))
1508 (home-page "https://github.com/noctuid/link-hint.el")
1509 (synopsis "Vimperator-style link-hinting in Emacs")
1510 (description "This package provides commands for visiting and acting on
1511 links.")
1512 (license license:gpl3+))))
1513
1514 (define-public emacs-ag
1515 (package
1516 (name "emacs-ag")
1517 (version "0.48")
1518 (source (origin
1519 (method git-fetch)
1520 (uri (git-reference
1521 (url "https://github.com/Wilfred/ag.el.git")
1522 (commit version)))
1523 (file-name (git-file-name name version))
1524 (sha256
1525 (base32
1526 "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
1527 (build-system emacs-build-system)
1528 (arguments
1529 `(#:phases
1530 (modify-phases %standard-phases
1531 (add-before 'install 'make-info
1532 (lambda _
1533 (with-directory-excursion "docs"
1534 (invoke "make" "info"))))
1535 (add-after 'install 'install-info
1536 (lambda* (#:key outputs #:allow-other-keys)
1537 (let* ((out (assoc-ref outputs "out"))
1538 (info (string-append out "/share/info")))
1539 (install-file "docs/_build/texinfo/agel.info" info)
1540 #t))))))
1541 (native-inputs
1542 `(("python-sphinx" ,python-sphinx)
1543 ("texinfo" ,texinfo)))
1544 (propagated-inputs
1545 `(("dash" ,emacs-dash)
1546 ("s" ,emacs-s)
1547 ;; We need to use 'ag' as the executable on remote systems.
1548 ("the-silver-searcher" ,the-silver-searcher)))
1549 (home-page "https://github.com/Wilfred/ag.el")
1550 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1551 (description "This package provides the ability to use the silver
1552 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1553 include version control system awareness, use of Perl compatible regular
1554 expressions, editing the search results directly and searching file names
1555 rather than the contents of files.")
1556 (license license:gpl3+)))
1557
1558 (define-public emacs-async
1559 (package
1560 (name "emacs-async")
1561 (home-page "https://github.com/jwiegley/emacs-async")
1562 (version "1.9.4")
1563 (source (origin
1564 (method git-fetch)
1565 (uri (git-reference
1566 (url home-page)
1567 (commit (string-append "v" version))))
1568 (file-name (git-file-name name version))
1569 (sha256
1570 (base32
1571 "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7"))))
1572 (build-system emacs-build-system)
1573 (synopsis "Asynchronous processing in Emacs")
1574 (description
1575 "This package provides the ability to call asynchronous functions and
1576 processes. For example, it can be used to run dired commands (for copying,
1577 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1578 as a library for other Emacs packages.")
1579 (license license:gpl3+)))
1580
1581 (define-public emacs-auctex
1582 (package
1583 (name "emacs-auctex")
1584 (version "12.2.0")
1585 (source
1586 (origin
1587 (method url-fetch)
1588 (uri (string-append "https://elpa.gnu.org/packages/auctex-"
1589 version ".tar"))
1590 (sha256
1591 (base32 "0j919l3q5sq6h1k1kmk4kyv0vkzl4f98fxcd64v34x5q1ahjhg48"))))
1592 (build-system emacs-build-system)
1593 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1594 ;; ('emacs-minimal' does not provide dbus).
1595 (arguments
1596 `(#:emacs ,emacs
1597 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1598 #:exclude '("^tests/" "^latex/README")
1599 #:phases
1600 (modify-phases %standard-phases
1601 (add-after 'install 'install-doc
1602 (lambda* (#:key outputs #:allow-other-keys)
1603 (let* ((out (assoc-ref outputs "out"))
1604 (etc-dir (string-append out "/share/" ,name "/"
1605 ,version "/etc")))
1606 (with-directory-excursion "doc"
1607 (setenv "HOME" (getenv "TMPDIR")) ; for mktextfm
1608 (invoke "pdftex" "tex-ref")
1609 (install-file "tex-ref.pdf" (string-append etc-dir
1610 "/refcards")))
1611 #t))))))
1612 (native-inputs
1613 `(("perl" ,perl)))
1614 (inputs
1615 `(("texlive" ,(texlive-union (list texlive-amsfonts)))))
1616 (home-page "https://www.gnu.org/software/auctex/")
1617 (synopsis "Integrated environment for TeX")
1618 (description
1619 "AUCTeX is a comprehensive customizable integrated environment for
1620 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1621 or XEmacs.")
1622 (license license:gpl3+)))
1623
1624 (define-public emacs-autothemer
1625 (package
1626 (name "emacs-autothemer")
1627 (version "0.2.2")
1628 (source
1629 (origin
1630 (method git-fetch)
1631 (uri (git-reference
1632 (url "https://github.com/sebastiansturm/autothemer.git")
1633 (commit version)))
1634 (file-name (git-file-name name version))
1635 (sha256
1636 (base32
1637 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1638 (build-system emacs-build-system)
1639 (propagated-inputs
1640 `(("emacs-dash" ,emacs-dash)))
1641 (home-page "https://github.com/sebastiansturm/autothemer")
1642 (synopsis "Conveniently create Emacs themes")
1643 (description
1644 "Autothemer provides a thin layer on top of @code{deftheme} and
1645 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1646 a set of simplified face specifications and a user-supplied color palette")
1647 (license license:gpl3+)))
1648
1649 (define-public emacs-howm
1650 (package
1651 (name "emacs-howm")
1652 (version "1.4.5")
1653 (source
1654 (origin
1655 (method url-fetch)
1656 (uri (string-append "https://howm.sourceforge.jp/a/howm-"
1657 version ".tar.gz"))
1658 (sha256
1659 (base32 "1kvr5pxpc9rwhkza9025mdi0wvh0f0rpawl21rzirjk1x10903yi"))))
1660 (build-system gnu-build-system)
1661 (native-inputs
1662 `(("emacs" ,emacs-minimal)))
1663 (arguments
1664 `(#:configure-flags
1665 (list (string-append "--with-howmdir=" %output
1666 "/share/emacs/site-lisp/"))
1667 #:modules ((guix build gnu-build-system)
1668 ((guix build emacs-build-system) #:prefix emacs:)
1669 (guix build utils))
1670 #:imported-modules (,@%gnu-build-system-modules
1671 (guix build emacs-build-system)
1672 (guix build emacs-utils))
1673 #:phases
1674 (modify-phases %standard-phases
1675 (add-after 'install 'make-autoloads
1676 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1677 (home-page "https://howm.osdn.jp/")
1678 (synopsis "Note-taking tool for Emacs")
1679 (description "Howm is a note-taking tool for Emacs. Like
1680 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1681 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1682 (license license:gpl1+)))
1683
1684 (define-public emacs-calfw
1685 (package
1686 (name "emacs-calfw")
1687 (version "1.6")
1688 (source
1689 (origin
1690 (method git-fetch)
1691 (uri (git-reference
1692 (url "https://github.com/kiwanami/emacs-calfw.git")
1693 (commit (string-append "v" version))))
1694 (file-name (git-file-name name version))
1695 (sha256
1696 (base32
1697 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1698 (build-system emacs-build-system)
1699 (propagated-inputs
1700 `(("emacs-howm" ,emacs-howm)))
1701 (home-page "https://github.com/kiwanami/emacs-calfw/")
1702 (synopsis "Calendar framework for Emacs")
1703 (description
1704 "This package displays a calendar view with various schedule data in the
1705 Emacs buffer.")
1706 (license license:gpl3+)))
1707
1708 (define-public emacs-caps-lock
1709 (package
1710 (name "emacs-caps-lock")
1711 (version "1.0")
1712 (source
1713 (origin
1714 (method url-fetch)
1715 (uri (string-append "https://elpa.gnu.org/packages/"
1716 "caps-lock-" version ".el"))
1717 (sha256
1718 (base32 "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva"))))
1719 (build-system emacs-build-system)
1720 (home-page "http://elpa.gnu.org/packages/caps-lock.html")
1721 (synopsis "Caps Lock as a minor mode")
1722 (description
1723 "This package provides a minor mode to emulate the behavior of a Caps
1724 Lock key.")
1725 (license license:gpl3+)))
1726
1727 (define-public emacs-chronometrist
1728 (package
1729 (name "emacs-chronometrist")
1730 (version "0.4.2")
1731 (source
1732 (origin
1733 (method git-fetch)
1734 (uri (git-reference
1735 (url "https://framagit.org/contrapunctus/chronometrist.git")
1736 (commit (string-append "v" version))))
1737 (file-name (git-file-name name version))
1738 (sha256
1739 (base32 "1ccy7qz1wcmggqlf3hwigbqq4wrx1amds4x9bxz9py6bypglyjc5"))))
1740 (build-system emacs-build-system)
1741 (propagated-inputs
1742 `(("emacs-dash" ,emacs-dash)
1743 ("emacs-s" ,emacs-s)))
1744 (home-page "https://framagit.org/contrapunctus/chronometrist")
1745 (synopsis "Time tracker for Emacs")
1746 (description "Chronometrist is a time tracker in Emacs, largely modelled
1747 after the Android application, @emph{A Time Tracker}.
1748
1749 Its features are:
1750 @itemize
1751 @item Simple and efficient to use,
1752 @item Displays useful information about your time usage,
1753 @item Support for both mouse and keyboard,
1754 @item Human errors in tracking are easily fixed by editing a plain text file,
1755 @item Hooks to let you perform arbitrary actions when starting/stopping tasks.
1756 @end itemize")
1757 ;; Software is dual-licensed.
1758 (license (list license:unlicense license:wtfpl2))))
1759
1760 (define-public emacs-direnv
1761 (package
1762 (name "emacs-direnv")
1763 (version "2.0.0")
1764 (source
1765 (origin
1766 (method git-fetch)
1767 (uri (git-reference
1768 (url "https://github.com/wbolster/emacs-direnv.git")
1769 (commit version)))
1770 (file-name (git-file-name name version))
1771 (sha256
1772 (base32
1773 "005ibyzsx1fdyrl5iyhqpb1bg83mphzahq7zvw58x00syyqi2z49"))))
1774 (build-system emacs-build-system)
1775 (propagated-inputs
1776 `(("dash" ,emacs-dash)
1777 ("with-editor" ,emacs-with-editor)))
1778 (home-page "https://github.com/wbolster/emacs-direnv")
1779 (synopsis "Direnv integration for Emacs")
1780 (description
1781 "This package provides support for invoking direnv to get the environment
1782 for the current file and updating the environment within Emacs to match.
1783
1784 Direnv can be invoked manually, and a global minor mode is included that will
1785 update the environment when the active buffer changes.
1786
1787 Using emacs-direnv means that programs started from Emacs will use the
1788 environment set through Direnv.")
1789 (license license:gpl3+)))
1790
1791 (define-public emacs-ggtags
1792 (package
1793 (name "emacs-ggtags")
1794 (version "0.8.13")
1795 (source
1796 (origin
1797 (method url-fetch)
1798 (uri (string-append "https://elpa.gnu.org/packages/ggtags-"
1799 version ".el"))
1800 (sha256
1801 (base32
1802 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1803 (build-system emacs-build-system)
1804 (inputs
1805 `(("global" ,global)))
1806 (arguments
1807 `(#:phases
1808 (modify-phases %standard-phases
1809 (add-after 'unpack 'configure
1810 (lambda* (#:key inputs #:allow-other-keys)
1811 (chmod "ggtags.el" #o644)
1812 (emacs-substitute-variables "ggtags.el"
1813 ("ggtags-executable-directory"
1814 (string-append (assoc-ref inputs "global") "/bin")))
1815 #t)))))
1816 (home-page "https://github.com/leoliu/ggtags")
1817 (synopsis "Frontend to the GNU Global source code tagging system")
1818 (description "@code{ggtags} provides a frontend to the GNU Global source
1819 code tagging system.
1820
1821 Features:
1822
1823 @itemize
1824 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1825 @item Automatically update Global's tag files when needed with tuning for
1826 large source trees.
1827 @item Intuitive navigation among multiple matches with mode-line display of
1828 current match, total matches and exit status.
1829 @item Read tag with completion.
1830 @item Show definition at point.
1831 @item Jump to #include files.
1832 @item Support search history and saving a search to register/bookmark.
1833 @item Query replace.
1834 @item Manage Global's environment variables on a per-project basis.
1835 @item Highlight (definition) tag at point.
1836 @item Abbreviated display of file names.
1837 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1838 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1839 @code{pygments} backend.
1840 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1841 @code{cscope} etc.
1842 @item Support projects on remote hosts (e.g. via @code{tramp}).
1843 @item Support eldoc.
1844 @item Search @code{GTAGSLIBPATH} for references and symbols.
1845 @end itemize\n")
1846 (license license:gpl3+)))
1847
1848 (define-public emacs-go-mode
1849 (package
1850 (name "emacs-go-mode")
1851 (version "1.5.0")
1852 (source (origin
1853 (method git-fetch)
1854 (uri (git-reference
1855 (url "https://github.com/dominikh/go-mode.el.git")
1856 (commit (string-append "v" version))))
1857 (file-name (git-file-name name version))
1858 (sha256
1859 (base32
1860 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1861 (build-system emacs-build-system)
1862 (arguments
1863 `(#:phases
1864 (modify-phases %standard-phases
1865 (add-after 'unpack 'make-writable
1866 (lambda _
1867 (for-each make-file-writable (find-files "." "\\.el$"))
1868 #t)))))
1869 (home-page "https://github.com/dominikh/go-mode.el")
1870 (synopsis "Go mode for Emacs")
1871 (description
1872 "This package provides go-mode, an Emacs mode for working with software
1873 written in the Go programming language.")
1874 (license license:bsd-3)))
1875
1876 (define-public emacs-google-maps
1877 (package
1878 (name "emacs-google-maps")
1879 (version "1.0.0")
1880 (source (origin
1881 (method git-fetch)
1882 (uri (git-reference
1883 (url "https://github.com/jd/google-maps.el.git")
1884 (commit version)))
1885 (file-name (git-file-name name version))
1886 (sha256
1887 (base32
1888 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1889 (build-system emacs-build-system)
1890 (home-page "https://github.com/jd/google-maps.el")
1891 (synopsis "Access Google Maps from Emacs")
1892 (description "The @code{google-maps} package allows to display Google
1893 Maps directly inside Emacs.")
1894 (license license:gpl3+)))
1895
1896 (define-public emacs-graphviz-dot-mode
1897 (let ((commit "1574c504d9810f34a85e2ff49b6f7648c2be5f27")
1898 (revision "1"))
1899 (package
1900 (name "emacs-graphviz-dot-mode")
1901 (version (string-append "0.4.1-" revision "."
1902 (string-take commit 7)))
1903 (source (origin
1904 (method git-fetch)
1905 (uri (git-reference
1906 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1907 (commit commit)))
1908 (file-name (git-file-name name version))
1909 (sha256
1910 (base32
1911 "03l6zkkxhbcxj5i13hzjv6ypmzaw70zqqagh7ix1kdn33kpp37jj"))))
1912 (build-system emacs-build-system)
1913 (arguments
1914 `(#:phases
1915 (modify-phases %standard-phases
1916 (add-before 'install 'make-info
1917 (lambda* (#:key inputs #:allow-other-keys)
1918 (with-directory-excursion "texinfo"
1919 (substitute* "Makefile"
1920 (("\\/usr\\/bin\\/gzip")
1921 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1922 (invoke "make"
1923 "clean"
1924 "info"
1925 (string-append "TEXINFODIR="
1926 (assoc-ref inputs "texinfo")
1927 "/bin")))))
1928 (add-after 'install 'install-info
1929 (lambda* (#:key outputs #:allow-other-keys)
1930 (let* ((out (assoc-ref outputs "out"))
1931 (info (string-append out "/share/info")))
1932 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1933 #t))))))
1934 (native-inputs
1935 `(("texinfo" ,texinfo)
1936 ("gzip" ,gzip)))
1937 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1938 (synopsis "Major mode for editing Graphviz Dot files")
1939 (description
1940 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1941 files using the dot syntax, and use Graphviz to convert these files to
1942 diagrams.")
1943 (license license:gpl2+))))
1944
1945 (define-public emacs-mmm-mode
1946 (package
1947 (name "emacs-mmm-mode")
1948 (version "0.5.7")
1949 (source
1950 (origin
1951 (method git-fetch)
1952 (uri (git-reference
1953 (url "https://github.com/purcell/mmm-mode.git")
1954 (commit version)))
1955 (file-name (git-file-name name version))
1956 (sha256
1957 (base32
1958 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1959 (build-system gnu-build-system)
1960 (native-inputs
1961 `(("autoconf" ,autoconf)
1962 ("automake" ,automake)
1963 ("emacs" ,emacs-minimal)
1964 ("texinfo" ,texinfo)))
1965 (home-page "https://github.com/purcell/mmm-mode")
1966 (synopsis "Allow multiple major modes in an Emacs buffer")
1967 (description
1968 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1969 single buffer.")
1970 (license license:gpl3+)))
1971
1972 (define-public emacs-tablist
1973 (package
1974 (name "emacs-tablist")
1975 (version "1.0")
1976 (source (origin
1977 (method git-fetch)
1978 (uri (git-reference
1979 (url "https://github.com/politza/tablist.git")
1980 (commit (string-append "v" version))))
1981 (file-name (git-file-name name version))
1982 (sha256
1983 (base32
1984 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
1985 (build-system emacs-build-system)
1986 (home-page "https://github.com/politza/tablist")
1987 (synopsis "Extension for @code{tabulated-list-mode}")
1988 (description "Tablist is the Emacs package that provides several
1989 additional features to @code{tabulated-list-mode}: it adds marks,
1990 filters, new key bindings and faces. It can be enabled by
1991 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1992 (license license:gpl3+)))
1993
1994 (define-public emacs-djvu
1995 (package
1996 (name "emacs-djvu")
1997 (version "1.1")
1998 (source
1999 (origin
2000 (method url-fetch)
2001 (uri (string-append "https://elpa.gnu.org/packages/"
2002 "djvu-" version ".el"))
2003 (sha256
2004 (base32 "0njgyx09q225hliacsnjk8wallg5i6xkz6bj501pb05nwqfbvfk7"))))
2005 (build-system emacs-build-system)
2006 (home-page "http://elpa.gnu.org/packages/djvu.html")
2007 (synopsis "Edit and view Djvu files via djvused")
2008 (description
2009 "This package is a front end for the command-line program djvused from
2010 DjVuLibre, see @url{http://djvu.sourceforge.net/}. It assumes you have the
2011 programs @command{djvused}, @command{djview}, @command{ddjvu}, and
2012 @command{djvm} installed.")
2013 (license license:gpl3+)))
2014
2015 (define-public emacs-pdf-tools
2016 (package
2017 (name "emacs-pdf-tools")
2018 (version "0.90")
2019 (home-page "https://github.com/politza/pdf-tools")
2020 (source (origin
2021 (method git-fetch)
2022 (uri (git-reference (url home-page)
2023 (commit (string-append "v" version))))
2024 (file-name (git-file-name name version))
2025 (sha256
2026 (base32
2027 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
2028 (build-system gnu-build-system)
2029 (arguments
2030 `(#:tests? #f ; there are no tests
2031 #:modules ((guix build gnu-build-system)
2032 ((guix build emacs-build-system) #:prefix emacs:)
2033 (guix build utils)
2034 (guix build emacs-utils))
2035 #:imported-modules (,@%gnu-build-system-modules
2036 (guix build emacs-build-system)
2037 (guix build emacs-utils))
2038 #:phases
2039 (modify-phases %standard-phases
2040 ;; Build server side using 'gnu-build-system'.
2041 (add-after 'unpack 'enter-server-dir
2042 (lambda _ (chdir "server") #t))
2043 (add-after 'enter-server-dir 'autogen
2044 (lambda _
2045 (invoke "bash" "autogen.sh")))
2046
2047 ;; Build emacs side using 'emacs-build-system'.
2048 (add-after 'compress-documentation 'enter-lisp-dir
2049 (lambda _ (chdir "../lisp") #t))
2050 (add-after 'enter-lisp-dir 'emacs-patch-variables
2051 (lambda* (#:key outputs #:allow-other-keys)
2052 (for-each make-file-writable (find-files "."))
2053
2054 ;; Set path to epdfinfo program.
2055 (emacs-substitute-variables "pdf-info.el"
2056 ("pdf-info-epdfinfo-program"
2057 (string-append (assoc-ref outputs "out")
2058 "/bin/epdfinfo")))
2059 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
2060 ;; upgrading" that pdf-tools tries to perform.
2061 (emacs-substitute-variables "pdf-tools.el"
2062 ("pdf-tools-handle-upgrades" '()))))
2063 (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
2064 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
2065 (add-after 'emacs-add-source-to-load-path 'emacs-install
2066 (assoc-ref emacs:%standard-phases 'install))
2067 (add-after 'emacs-install 'emacs-build
2068 (assoc-ref emacs:%standard-phases 'build))
2069 (add-after 'emacs-install 'emacs-make-autoloads
2070 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
2071 (native-inputs `(("autoconf" ,autoconf)
2072 ("automake" ,automake)
2073 ("pkg-config" ,pkg-config)
2074 ("emacs" ,emacs-minimal)))
2075 (inputs `(("poppler" ,poppler)
2076 ("cairo" ,cairo)
2077 ("glib" ,glib)
2078 ("libpng" ,libpng)
2079 ("zlib" ,zlib)))
2080 (propagated-inputs `(("tablist" ,emacs-tablist)))
2081 (synopsis "Emacs support library for PDF files")
2082 (description
2083 "PDF Tools is, among other things, a replacement of DocView for PDF
2084 files. The key difference is that pages are not pre-rendered by
2085 e.g. ghostscript and stored in the file-system, but rather created on-demand
2086 and stored in memory.")
2087 (license license:gpl3+)))
2088
2089 (define-public emacs-dash
2090 (package
2091 (name "emacs-dash")
2092 (version "2.17.0")
2093 (source (origin
2094 (method git-fetch)
2095 (uri (git-reference
2096 (url "https://github.com/magnars/dash.el.git")
2097 (commit version)))
2098 (file-name (git-file-name name version))
2099 (sha256
2100 (base32
2101 "153f55dqkhs8w2xlf6b88wp5vlkap7h8vjd9wxh4jp2ram5g4l1n"))))
2102 (build-system emacs-build-system)
2103 (arguments
2104 `(#:tests? #t
2105 #:test-command '("./run-tests.sh")))
2106 (home-page "https://github.com/magnars/dash.el")
2107 (synopsis "Modern list library for Emacs")
2108 (description "This package provides a modern list API library for Emacs.")
2109 (license license:gpl3+)))
2110
2111 (define-public emacs-bui
2112 (package
2113 (name "emacs-bui")
2114 (version "1.2.1")
2115 (source (origin
2116 (method git-fetch)
2117 (uri (git-reference
2118 (url "https://notabug.org/alezost/emacs-bui.git")
2119 (commit (string-append "v" version))))
2120 (file-name (git-file-name name version))
2121 (sha256
2122 (base32
2123 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
2124 (build-system emacs-build-system)
2125 (propagated-inputs
2126 `(("dash" ,emacs-dash)))
2127 (home-page "https://notabug.org/alezost/emacs-bui")
2128 (synopsis "Buffer interface library for Emacs")
2129 (description
2130 "BUI (Buffer User Interface) is a library for making @code{list} and
2131 @code{info} interfaces to display an arbitrary data of the same
2132 type, for example: packages, buffers, files, etc.")
2133 (license license:gpl3+)))
2134
2135 (define-public emacs-guix
2136 (package
2137 (name "emacs-guix")
2138 (version "0.5.2")
2139 (source (origin
2140 (method url-fetch)
2141 (uri (string-append "https://emacs-guix.gitlab.io/website/"
2142 "releases/emacs-guix-" version ".tar.gz"))
2143 (sha256
2144 (base32
2145 "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps"))))
2146 (build-system gnu-build-system)
2147 (native-inputs
2148 `(("pkg-config" ,pkg-config)
2149 ("emacs" ,emacs-minimal)))
2150 (inputs
2151 `(("guile" ,guile-2.2)
2152 ("guix" ,guix)))
2153 (propagated-inputs
2154 `(("geiser" ,emacs-geiser)
2155 ("guile-gcrypt" ,guile-gcrypt)
2156 ("dash" ,emacs-dash)
2157 ("bui" ,emacs-bui)
2158 ("edit-indirect" ,emacs-edit-indirect)
2159 ("magit-popup" ,emacs-magit-popup)))
2160 (home-page "https://emacs-guix.gitlab.io/website/")
2161 (synopsis "Emacs interface for GNU Guix")
2162 (description
2163 "Emacs-Guix provides a visual interface, tools and features for the GNU
2164 Guix package manager. Particularly, it allows you to do various package
2165 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2166 @code{M-x guix-help} command.")
2167 (license license:gpl3+)))
2168
2169 (define-public emacs-build-farm
2170 (package
2171 (name "emacs-build-farm")
2172 (version "0.2.2")
2173 (source (origin
2174 (method git-fetch)
2175 (uri (git-reference
2176 (url "https://notabug.org/alezost/emacs-build-farm.git")
2177 (commit (string-append "v" version))))
2178 (file-name (git-file-name name version))
2179 (sha256
2180 (base32
2181 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2182 (build-system emacs-build-system)
2183 (propagated-inputs
2184 `(("bui" ,emacs-bui)
2185 ("magit-popup" ,emacs-magit-popup)))
2186 (home-page "https://notabug.org/alezost/emacs-build-farm")
2187 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2188 (description
2189 "This Emacs package provides an interface for Hydra and
2190 Cuirass (build farms used by Nix and Guix). It allows you to look at
2191 various data related to the build farm projects, jobsets, builds and
2192 evaluations. The entry point is @code{M-x build-farm} command.")
2193 (license license:gpl3+)))
2194
2195 (define-public emacs-d-mode
2196 (package
2197 (name "emacs-d-mode")
2198 (version "2.0.10")
2199 (source
2200 (origin
2201 (method git-fetch)
2202 (uri (git-reference
2203 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2204 (commit version)))
2205 (file-name (git-file-name name version))
2206 (sha256
2207 (base32 "0915kb9jcaixgindhj85fmykkhvj31ckp1yg6746fznwdgfrlifv"))))
2208 (build-system emacs-build-system)
2209 (propagated-inputs
2210 `(("emacs-undercover" ,emacs-undercover)))
2211 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2212 (synopsis "Emacs major mode for editing D code")
2213 (description "This package provides an Emacs major mode for highlighting
2214 code written in the D programming language. This mode is currently known to
2215 work with Emacs 24 and 25.")
2216 (license license:gpl2+)))
2217
2218 (define-public emacs-extempore-mode
2219 ;; Use the latest commit at time of packaging. There are no releases or tags.
2220 (let ((commit "848ad0084f27b92d1cf98dabffbad29f959a642d")
2221 (revision "1"))
2222 (package
2223 (name "emacs-extempore-mode")
2224 (version (git-version "0.0.0" revision commit))
2225 (source
2226 (origin
2227 (method git-fetch)
2228 (uri (git-reference
2229 (url "https://github.com/extemporelang/extempore-emacs-mode.git")
2230 (commit commit)))
2231 (file-name (git-file-name name version))
2232 (sha256
2233 (base32 "00wr025php7nl33x541s9rjm99hj0jbdcmnw9ljx5hqpm04aqm7c"))))
2234 (build-system emacs-build-system)
2235 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
2236 (synopsis "Emacs major mode for Extempore source files")
2237 (description
2238 "This package provides a major mode for editing Extempore code. It can
2239 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
2240 running Extempore process, and more.")
2241 (license license:bsd-2))))
2242
2243 (define-public emacs-keyfreq
2244 (package
2245 (name "emacs-keyfreq")
2246 (version "20160516.716")
2247 (source
2248 (origin
2249 (method url-fetch)
2250 (uri (string-append "http://melpa.org/packages/keyfreq-"
2251 version ".el"))
2252 (sha256
2253 (base32
2254 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2255 (build-system emacs-build-system)
2256 (home-page "https://github.com/dacap/keyfreq")
2257 (synopsis "Track Emacs command frequencies")
2258 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2259 a command.")
2260 (license license:gpl3+)))
2261
2262 (define-public emacs-olivetti
2263 (package
2264 (name "emacs-olivetti")
2265 (version "1.8.1")
2266 (source (origin
2267 (method git-fetch)
2268 (uri (git-reference
2269 (url "https://github.com/rnkn/olivetti.git")
2270 (commit (string-append "v" version))))
2271 (file-name (git-file-name name version))
2272 (sha256
2273 (base32
2274 "1fbj9s49y5yx5i429awv9rybacfgvhwp7v5h0zw67bpgx4qs44pa"))))
2275 (build-system emacs-build-system)
2276 (home-page "https://github.com/rnkn/olivetti")
2277 (synopsis "Emacs minor mode for a nice writing environment")
2278 (description "This package provides an Emacs minor mode that puts writing
2279 in the center.")
2280 (license license:gpl3+)))
2281
2282 (define-public emacs-undo-tree
2283 (package
2284 (name "emacs-undo-tree")
2285 (version "0.7.1")
2286 (source (origin
2287 (method git-fetch)
2288 (uri (git-reference
2289 (url "http://dr-qubit.org/git/undo-tree.git")
2290 (commit (string-append "release/" version))))
2291 (file-name (git-file-name name version))
2292 (sha256
2293 (base32
2294 "1nr0149y2nvrxj56gc12jqnfl01g6z9ypfsgl6pfg85cw73hnggk"))))
2295 (build-system emacs-build-system)
2296 (home-page "http://www.dr-qubit.org/emacs.php")
2297 (synopsis "Treat undo history as a tree")
2298 (description "Tree-like interface to Emacs undo system, providing
2299 graphical tree presentation of all previous states of buffer that
2300 allows easily move between them.")
2301 (license license:gpl3+)))
2302
2303 (define-public emacs-s
2304 (package
2305 (name "emacs-s")
2306 (version "1.12.0")
2307 (source
2308 (origin
2309 (method git-fetch)
2310 (uri (git-reference
2311 (url "https://github.com/magnars/s.el.git")
2312 (commit version)))
2313 (file-name (git-file-name name version))
2314 (sha256
2315 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2316 (build-system emacs-build-system)
2317 (arguments
2318 `(#:tests? #t
2319 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2320 #:test-command '("./run-tests.sh")))
2321 (home-page "https://github.com/magnars/s.el")
2322 (synopsis "Emacs string manipulation library")
2323 (description "This package provides an Emacs library for manipulating
2324 strings.")
2325 (license license:gpl3+)))
2326
2327 (define-public emacs-symon
2328 (package
2329 (name "emacs-symon")
2330 (version "20160630")
2331 (source
2332 (origin
2333 (method git-fetch)
2334 (uri (git-reference
2335 (url "https://github.com/zk-phi/symon.git")
2336 (commit version)))
2337 (file-name (git-file-name name version))
2338 (sha256
2339 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2340 (build-system emacs-build-system)
2341 (home-page "https://github.com/zk-phi/symon")
2342 (synopsis "Tiny graphical system monitor")
2343 (description
2344 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2345 (license license:gpl2+)))
2346
2347 (define-public emacs-sx
2348 (let ((version "20180212")
2349 (revision "1")
2350 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2351 (package
2352 (name "emacs-sx")
2353 (version (git-version version revision commit))
2354 (source
2355 (origin
2356 (method git-fetch)
2357 (uri (git-reference
2358 (url "https://github.com/vermiculus/sx.el")
2359 (commit commit)))
2360 (file-name (git-file-name name version))
2361 (sha256
2362 (base32
2363 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2364 (build-system emacs-build-system)
2365 (propagated-inputs
2366 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2367 (home-page "https://github.com/vermiculus/sx.el")
2368 (synopsis "Emacs StackExchange client")
2369 (description
2370 "Emacs StackExchange client. Ask and answer questions on
2371 Stack Overflow, Super User, and other StackExchange sites.")
2372 (license license:gpl3+))))
2373
2374 (define-public emacs-f
2375 (package
2376 (name "emacs-f")
2377 (version "0.20.0")
2378 (source (origin
2379 (method git-fetch)
2380 (uri (git-reference
2381 (url "https://github.com/rejeep/f.el.git")
2382 (commit (string-append "v" version))))
2383 (file-name (git-file-name name version))
2384 (sha256
2385 (base32
2386 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2387 (build-system emacs-build-system)
2388 (propagated-inputs
2389 `(("emacs-s" ,emacs-s)
2390 ("emacs-dash" ,emacs-dash)))
2391 (home-page "https://github.com/rejeep/f.el")
2392 (synopsis "Emacs API for working with files and directories")
2393 (description "This package provides an Emacs library for working with
2394 files and directories.")
2395 (license license:gpl3+)))
2396
2397 (define-public emacs-fringe-helper
2398 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
2399 (revision "1"))
2400 (package
2401 (name "emacs-fringe-helper")
2402 (version (git-version "1.0.1" revision commit))
2403 (source
2404 (origin
2405 (method git-fetch)
2406 (uri (git-reference
2407 (url "https://github.com/nschum/fringe-helper.el.git")
2408 (commit commit)))
2409 (file-name (git-file-name name version))
2410 (sha256
2411 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
2412 (build-system emacs-build-system)
2413 (arguments
2414 `(#:tests? #t
2415 #:test-command '("emacs" "--batch"
2416 "-l" "tests.el"
2417 "-f" "ert-run-tests-batch-and-exit")))
2418 (home-page "https://github.com/nschum/fringe-helper.el")
2419 (synopsis "Helper functions for fringe bitmaps")
2420 (description
2421 "This package allows fringe bitmaps to be defined with a visual string
2422 representation.")
2423 (license license:gpl2+))))
2424
2425 (define-public emacs-git-gutter
2426 (package
2427 (name "emacs-git-gutter")
2428 (version "0.90")
2429 (source
2430 (origin
2431 (method git-fetch)
2432 (uri (git-reference
2433 (url "https://github.com/syohex/emacs-git-gutter.git")
2434 (commit version)))
2435 (file-name (git-file-name name version))
2436 (sha256
2437 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2438 (build-system emacs-build-system)
2439 (home-page "https://github.com/syohex/emacs-git-gutter")
2440 (synopsis "See and manage hunks of text in a version control system")
2441 (description
2442 "This package is an Emacs minor mode for displaying and interacting with
2443 hunks of text managed in a version control system. Added modified and deleted
2444 areas can be indicated with symbols on the edge of the buffer, and commands
2445 can be used to move between and perform actions on these hunks.
2446
2447 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2448 display and behaviour is easily customisable.")
2449 (license license:gpl3+)))
2450
2451 (define-public emacs-git-gutter-fringe
2452 (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
2453 (revision "1"))
2454 (package
2455 (name "emacs-git-gutter-fringe")
2456 (version (git-version "0.23" revision commit))
2457 (source
2458 (origin
2459 (method git-fetch)
2460 (uri (git-reference
2461 (url "https://github.com/syohex/git-gutter-fringe.git")
2462 (commit commit)))
2463 (file-name (git-file-name name version))
2464 (sha256
2465 (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
2466 (build-system emacs-build-system)
2467 (propagated-inputs
2468 `(("emacs-git-gutter" ,emacs-git-gutter)
2469 ("emacs-fringe-helper" ,emacs-fringe-helper)))
2470 (home-page "https://github.com/syohex/git-gutter-fringe")
2471 (synopsis "See and manage hunks of text in a version control system")
2472 (description
2473 "This package extends @code{git-gutter} to use the fringe area of a
2474 window.")
2475 (license license:gpl3+))))
2476
2477 (define-public emacs-git-link
2478 (package
2479 (name "emacs-git-link")
2480 (version "0.7.5")
2481 (source
2482 (origin
2483 (method git-fetch)
2484 (uri (git-reference
2485 (url "https://github.com/sshaw/git-link.git")
2486 (commit (string-append "v" version))))
2487 (file-name (git-file-name name version))
2488 (sha256
2489 (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
2490 (build-system emacs-build-system)
2491 (arguments
2492 `(#:tests? #t
2493 #:test-command '("make" "test")))
2494 (home-page "https://github.com/sshaw/git-link")
2495 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
2496 (description
2497 "@code{git-link} returns the URL for the current buffer's file location
2498 at the current line number or active region. @code{git-link-commit} returns
2499 the URL for a commit. URLs are added to the kill ring.")
2500 (license license:gpl3+)))
2501
2502 (define-public emacs-apheleia
2503 (package
2504 (name "emacs-apheleia")
2505 (version "1.0")
2506 (source
2507 (origin
2508 (method git-fetch)
2509 (uri (git-reference
2510 (url "https://github.com/raxod502/apheleia.git")
2511 (commit (string-append "v" version))))
2512 (file-name (git-file-name name version))
2513 (sha256
2514 (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
2515 (build-system emacs-build-system)
2516 (home-page "https://github.com/raxod502/apheleia")
2517 (synopsis "Reformat buffer stably")
2518 (description
2519 "This package allows for a buffer to be reformatted without moving point,
2520 so that running a formatting tool like @code{Prettier} or @code{Black} upon
2521 saving won't move point back to the beginning of the buffer.")
2522 (license license:gpl3+)))
2523
2524 (define-public emacs-git-timemachine
2525 (package
2526 (name "emacs-git-timemachine")
2527 (version "4.11")
2528 (source
2529 (origin
2530 (method git-fetch)
2531 (uri (git-reference
2532 (url "https://gitlab.com/pidu/git-timemachine.git")
2533 (commit version)))
2534 (file-name (git-file-name name version))
2535 (sha256
2536 (base32
2537 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
2538 (build-system emacs-build-system)
2539 (propagated-inputs
2540 `(("emacs-transient" ,emacs-transient)))
2541 (home-page "https://gitlab.com/pidu/git-timemachine")
2542 (synopsis "Step through historic versions of Git-controlled files")
2543 (description "This package enables you to step through historic versions
2544 of files under Git version control from within Emacs.")
2545 (license license:gpl3+)))
2546
2547 (define-public emacs-minitest
2548 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2549 (revision "1"))
2550 (package
2551 (name "emacs-minitest")
2552 (version (git-version "0.8.0" revision commit))
2553 (source (origin
2554 (method git-fetch)
2555 (uri (git-reference
2556 (url "https://github.com/arthurnn/minitest-emacs")
2557 (commit commit)))
2558 (file-name (git-file-name name commit))
2559 (sha256
2560 (base32
2561 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2562 (build-system emacs-build-system)
2563 (arguments
2564 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2565 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2566 (propagated-inputs
2567 `(("emacs-dash" ,emacs-dash)
2568 ("emacs-f" ,emacs-f)))
2569 (home-page "https://github.com/arthurnn/minitest-emacs")
2570 (synopsis "Emacs minitest mode")
2571 (description
2572 "The minitest mode provides commands to run the tests for the current
2573 file or line, as well as rerunning the previous tests, or all the tests for a
2574 project.
2575
2576 This package also includes relevant snippets for yasnippet.")
2577 (license license:expat))))
2578
2579 (define-public emacs-el-mock
2580 (package
2581 (name "emacs-el-mock")
2582 (version "1.25.1")
2583 (source
2584 (origin
2585 (method git-fetch)
2586 (uri (git-reference
2587 (url "https://github.com/rejeep/el-mock.el.git")
2588 (commit (string-append "v" version))))
2589 (file-name (git-file-name name version))
2590 (sha256
2591 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2592 (build-system emacs-build-system)
2593 (home-page "https://github.com/rejeep/el-mock.el")
2594 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2595 (description
2596 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2597 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2598 Expectations, but it can be used in other contexts.")
2599 (license license:gpl3+)))
2600
2601 (define-public emacs-espuds
2602 (package
2603 (name "emacs-espuds")
2604 (version "0.3.3")
2605 (source
2606 (origin
2607 (method git-fetch)
2608 (uri (git-reference
2609 (url "https://github.com/ecukes/espuds.git")
2610 (commit (string-append "v" version))))
2611 (file-name (git-file-name name version))
2612 (sha256
2613 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2614 (build-system emacs-build-system)
2615 (propagated-inputs
2616 `(("emacs-s" ,emacs-s)
2617 ("emacs-dash" ,emacs-dash)
2618 ("emacs-f" ,emacs-f)))
2619 (home-page "https://github.com/ecukes/espuds")
2620 (synopsis "Common step definitions for Ecukes")
2621 (description "Espuds is a collection of the most commonly used step
2622 definitions for testing with the Ecukes framework.")
2623 (license license:gpl3+)))
2624
2625 (define-public emacs-spark
2626 (let ((version "20160503") ; no proper tag, use date of commit
2627 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2628 (revision "1"))
2629 (package
2630 (name "emacs-spark")
2631 (version (git-version version revision commit))
2632 (source
2633 (origin
2634 (method git-fetch)
2635 (uri (git-reference
2636 (url "https://github.com/alvinfrancis/spark.git")
2637 (commit commit)))
2638 (file-name (git-file-name name version))
2639 (sha256
2640 (base32
2641 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2642 (build-system emacs-build-system)
2643 (home-page "https://github.com/alvinfrancis/spark")
2644 (synopsis "Sparkline generation library for Emacs Lisp")
2645 (description "@code{emacs-spark} is a sparkline generation library for
2646 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2647 port of @code{cl-spark} to Emacs Lisp.")
2648 (license license:expat))))
2649
2650 (define-public emacs-es-mode
2651 (package
2652 (name "emacs-es-mode")
2653 (version "4.3.0")
2654 (source
2655 (origin
2656 (method git-fetch)
2657 (uri (git-reference
2658 (url "https://github.com/dakrone/es-mode.git")
2659 (commit version)))
2660 (file-name (git-file-name name version))
2661 (sha256
2662 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2663 (build-system emacs-build-system)
2664 (propagated-inputs
2665 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2666 ;; to be rendered incorrectly
2667 `(("emacs-dash" ,emacs-dash)
2668 ("emacs-org" ,emacs-org)
2669 ("emacs-spark" ,emacs-spark)))
2670 (home-page "https://github.com/dakrone/es-mode")
2671 (synopsis "Major mode for editing Elasticsearch queries")
2672 (description "@code{es-mode} includes highlighting, completion and
2673 indentation support for Elasticsearch queries. Also supported are
2674 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2675 be processed through @code{jq}, or in the case of aggregations, can be
2676 rendered in to a table. In addition, there is an @code{es-command-center}
2677 mode, which displays information about Elasticsearch clusters.")
2678 (license license:gpl3+)))
2679
2680 (define-public emacs-expand-region
2681 (package
2682 (name "emacs-expand-region")
2683 (version "0.11.0")
2684 (source
2685 (origin
2686 (method git-fetch)
2687 (uri (git-reference
2688 (url "https://github.com/magnars/expand-region.el.git")
2689 (commit version)))
2690 (file-name (git-file-name name version))
2691 (sha256
2692 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2693 (build-system emacs-build-system)
2694 (home-page "https://github.com/magnars/expand-region.el")
2695 (synopsis "Increase selected region by semantic units")
2696 (description
2697 "Expand region increases the selected region by semantic units. Just
2698 keep pressing the key until it selects what you want. There's also
2699 @code{er/contract-region} if you expand too far.")
2700 (license license:gpl3+)))
2701
2702 (define-public emacs-fill-column-indicator
2703 (package
2704 (name "emacs-fill-column-indicator")
2705 (version "1.90")
2706 (source
2707 (origin
2708 (method git-fetch)
2709 (uri (git-reference
2710 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2711 (commit version)))
2712 (file-name (git-file-name name version))
2713 (sha256
2714 (base32 "0snjznxdwwfdgccdcvrnk467416r244r2r5qcm2sga8l0ha9gw9z"))))
2715 (build-system emacs-build-system)
2716 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2717 (synopsis "Graphically indicate the fill column")
2718 (description
2719 "Fill-column-indicator graphically indicates the location of the fill
2720 column by drawing a thin line down the length of the editing window.")
2721 (license license:gpl3+)))
2722
2723 (define-public emacs-grep-a-lot
2724 (package
2725 (name "emacs-grep-a-lot")
2726 (version "1.0.7")
2727 (source
2728 (origin
2729 (method git-fetch)
2730 (uri (git-reference
2731 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2732 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2733 (file-name (git-file-name name version))
2734 (sha256
2735 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2736 (build-system emacs-build-system)
2737 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2738 (synopsis "Enables multiple grep buffers in Emacs")
2739 (description
2740 "This Emacs package allows managing multiple grep buffers.")
2741 (license license:gpl3+)))
2742
2743 (define-public emacs-rg
2744 (package
2745 (name "emacs-rg")
2746 (version "1.8.1")
2747 (source
2748 (origin
2749 (method git-fetch)
2750 (uri (git-reference
2751 (url "https://github.com/dajva/rg.el.git")
2752 (commit version)))
2753 (file-name (git-file-name name version))
2754 (sha256
2755 (base32 "0k7x5z7mh9flwih35cqy8chs54rack3nswdcpw5wcpgv6xim227y"))))
2756 (build-system emacs-build-system)
2757 (arguments
2758 '(#:phases
2759 (modify-phases %standard-phases
2760 (add-after 'unpack 'hardcode-rg-path
2761 ;; Hardcode the path to ripgrep.
2762 (lambda _
2763 (let ((file "rg.el"))
2764 (chmod file #o644)
2765 (emacs-substitute-sexps file
2766 ("(defcustom rg-executable" (which "rg")))))))))
2767 (propagated-inputs
2768 `(("emacs-s" ,emacs-s)
2769 ("emacs-wgrep" ,emacs-wgrep)))
2770 (inputs
2771 `(("ripgrep" ,ripgrep)))
2772 (home-page "https://rgel.readthedocs.io/en/latest/")
2773 (synopsis "Search tool based on @code{ripgrep}")
2774 (description
2775 "@code{rg} is an Emacs search package based on the @code{ripgrep} command
2776 line tool. It allows one to interactively search based on the editing context
2777 then refine or modify the search results.")
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 "1.0")
3367 (source
3368 (origin
3369 (method url-fetch)
3370 (uri (string-append "https://git.deparis.io/"
3371 "flycheck-grammalecte/snapshot/"
3372 "flycheck-grammalecte-" version ".tar.xz"))
3373 (sha256
3374 (base32 "02wxaw228dia8cps0v02327hrrribfqb4601qggjpi4l4ms1lf8b"))))
3375 (build-system emacs-build-system)
3376 (arguments
3377 `(#:include '("\\.(el|py)$")
3378 #:phases
3379 (modify-phases %standard-phases
3380 (add-after 'unpack 'set-external-executables
3381 ;; Hardcode python3 and curl executables in the Emacs library.
3382 (lambda* (#:key inputs #:allow-other-keys)
3383 (let ((python3 (string-append (assoc-ref inputs "python")
3384 "/bin/python3"))
3385 (curl (string-append (assoc-ref inputs "curl")
3386 "/bin/curl")))
3387 (substitute* "flycheck-grammalecte.el"
3388 (("\"python3?") (string-append "\"" python3))
3389 (("\"curl") (string-append "\"" curl)))
3390 #t)))
3391 (add-after 'install 'link-to-grammalecte
3392 ;; The package expects grammalecte to be in a sub-directory.
3393 ;; Symlink it there from the store.
3394 (lambda* (#:key inputs outputs #:allow-other-keys)
3395 (let ((grammalecte (assoc-ref inputs "grammalecte"))
3396 (out (assoc-ref outputs "out"))
3397 (version ,(version-major+minor (package-version python))))
3398 (with-directory-excursion
3399 (string-append out "/share/emacs/site-lisp")
3400 (symlink (string-append grammalecte "/lib/"
3401 "python" version "/site-packages/"
3402 "grammalecte")
3403 "grammalecte"))
3404 #t))))))
3405 (inputs
3406 `(("curl" ,curl)
3407 ("grammalecte" ,grammalecte)
3408 ("python" ,python)))
3409 (propagated-inputs
3410 `(("emacs-flycheck" ,emacs-flycheck)))
3411 (home-page "https://git.deparis.io/flycheck-grammalecte/")
3412 (synopsis "Integrate Grammalecte with Flycheck")
3413 (description "Integrate the French grammar and typography checker
3414 Grammalecte with Flycheck to automatically look for mistakes in your writings.
3415 It also provides an easy way to find synonyms and antonyms for a given
3416 word (to avoid repetitions for example).")
3417 (license license:gpl3+)))
3418
3419 (define-public emacs-elisp-demos
3420 (package
3421 (name "emacs-elisp-demos")
3422 (version "2019.12.01")
3423 (source
3424 (origin
3425 (method git-fetch)
3426 (uri (git-reference
3427 (url "https://github.com/xuchunyang/elisp-demos")
3428 (commit version)))
3429 (file-name (git-file-name name version))
3430 (sha256
3431 (base32
3432 "097d8xhvq0770z96wlhiv4gz98cq89pwx5fa42zpfh4p85qj4q9z"))))
3433 (build-system emacs-build-system)
3434 (arguments
3435 `(#:include '("\\.el$" "\\.org$")
3436 #:tests? #t
3437 #:test-command '("make" "test")))
3438 (home-page "https://github.com/xuchunyang/elisp-demos/")
3439 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3440 (description
3441 "This package injects example uses of Elisp functions into their
3442 respective @code{*Help*} buffers.")
3443 (license license:gpl3+)))
3444
3445 (define-public emacs-docker-compose-mode
3446 (package
3447 (name "emacs-docker-compose-mode")
3448 (version "1.1.0")
3449 (source
3450 (origin
3451 (method git-fetch)
3452 (uri (git-reference
3453 (url "https://github.com/meqif/docker-compose-mode")
3454 (commit version)))
3455 (file-name (git-file-name name version))
3456 (sha256
3457 (base32
3458 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3459 (build-system emacs-build-system)
3460 (propagated-inputs
3461 `(("emacs-dash" ,emacs-dash)
3462 ("emacs-f" ,emacs-f)))
3463 (home-page "https://github.com/meqif/docker-compose-mode/")
3464 (synopsis "Major mode for editing @file{docker-compose} files")
3465 (description
3466 "This is a major mode for @file{docker-compose} files that provides
3467 completion of relevant keywords.")
3468 (license license:expat)))
3469
3470 (define-public emacs-sudo-edit
3471 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3472 (revision "6"))
3473 (package
3474 (name "emacs-sudo-edit")
3475 (version (git-version "0.1.0" revision commit))
3476 (source
3477 (origin
3478 (method git-fetch)
3479 (uri (git-reference
3480 (url "https://github.com/nflath/sudo-edit")
3481 (commit commit)))
3482 (file-name (git-file-name name version))
3483 (sha256
3484 (base32
3485 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3486 (build-system emacs-build-system)
3487 (native-inputs
3488 `(("emacs-undercover" ,emacs-undercover)))
3489 (arguments
3490 `(#:phases
3491 (modify-phases %standard-phases
3492 (add-before 'check 'fix-makefile
3493 (lambda _
3494 (substitute* "Makefile"
3495 (("\\$\\(CASK\\) exec ") ""))
3496 #t)))
3497 #:tests? #t
3498 #:test-command '("make" "test")))
3499 (home-page "https://github.com/nflath/sudo-edit/")
3500 (synopsis "Open files as another user")
3501 (description
3502 "This package allows editing files as another user, including the root
3503 user.")
3504 (license license:gpl3+))))
3505
3506 (define-public emacs-miniedit
3507 (package
3508 (name "emacs-miniedit")
3509 (version "2.0")
3510 (source
3511 (origin
3512 (method git-fetch)
3513 (uri (git-reference
3514 (url "https://github.com/emacsmirror/miniedit")
3515 (commit version)))
3516 (file-name (git-file-name name version))
3517 (sha256
3518 (base32
3519 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3520 (build-system emacs-build-system)
3521 (home-page "https://github.com/emacsmirror/miniedit/")
3522 (synopsis "Enhanced editing for minibuffer fields")
3523 (description
3524 "This package provides a function that can be called from the
3525 minibuffer to enable editing the minibuffer input in another buffer with
3526 @code{text-mode} enabled.")
3527 (license license:gpl2+)))
3528
3529 (define-public emacs-ob-ipython
3530 (package
3531 (name "emacs-ob-ipython")
3532 (version "20180224")
3533 (source (origin
3534 (method git-fetch)
3535 (uri (git-reference
3536 (commit "7147455230841744fb5b95dcbe03320313a77124")
3537 (url "https://github.com/gregsexton/ob-ipython.git")))
3538 (file-name (git-file-name name version))
3539 (sha256
3540 (base32
3541 "1a10fc2jk37ni5sjjvf87s5nyaz2a6h2mlj5dxh4dhv5sd3bb85p"))))
3542 (build-system emacs-build-system)
3543 (propagated-inputs
3544 `(("emacs-f" ,emacs-f)))
3545 (home-page "http://www.gregsexton.org")
3546 (synopsis "Org-Babel functions for IPython evaluation")
3547 (description "This package adds support to Org-Babel for evaluating Python
3548 source code using IPython.")
3549 (license license:gpl3+)))
3550
3551 (define-public emacs-debbugs
3552 (package
3553 (name "emacs-debbugs")
3554 (version "0.22")
3555 (source (origin
3556 (method url-fetch)
3557 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3558 version ".tar"))
3559 (sha256
3560 (base32
3561 "05ik9qv539b5c1nzxkk3lk23bqj4vqgmfmd8x367abhb7c9gix2z"))))
3562 (build-system emacs-build-system)
3563 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3564 (propagated-inputs
3565 `(("emacs-async" ,emacs-async)))
3566 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3567 (synopsis "Access the Debbugs bug tracker in Emacs")
3568 (description
3569 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3570 Tracker} from within Emacs.
3571
3572 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3573 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3574 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3575 @code{M-x debbugs-org} and related commands.
3576
3577 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3578 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3579 (license license:gpl3+)))
3580
3581 (define-public emacs-ert-expectations
3582 (package
3583 (name "emacs-ert-expectations")
3584 (version "0.2")
3585 (source
3586 (origin
3587 (method url-fetch)
3588 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3589 (sha256
3590 (base32
3591 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3592 (build-system emacs-build-system)
3593 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3594 (synopsis "Simple unit test framework for Emacs Lisp")
3595 (description "@code{emacs-ert-expectations} is a simple unit test
3596 framework for Emacs Lisp to be used with @code{ert}.")
3597 (license license:gpl3+)))
3598
3599 (define-public emacs-deferred
3600 (package
3601 (name "emacs-deferred")
3602 (version "0.5.1")
3603 (home-page "https://github.com/kiwanami/emacs-deferred")
3604 (source (origin
3605 (method git-fetch)
3606 (uri (git-reference
3607 (url home-page)
3608 (commit (string-append "v" version))))
3609 (file-name (git-file-name name version))
3610 (sha256
3611 (base32
3612 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3613 (build-system emacs-build-system)
3614 (arguments
3615 `(#:phases
3616 (modify-phases %standard-phases
3617 (add-after 'unpack 'set-shell
3618 ;; Setting the SHELL environment variable is required for the tests
3619 ;; to find sh.
3620 (lambda _
3621 (setenv "SHELL" (which "sh"))
3622 #t))
3623 (add-before 'check 'fix-makefile
3624 (lambda _
3625 (substitute* "Makefile"
3626 (("\\$\\(CASK\\) exec ") ""))
3627 #t)))
3628 #:tests? #t
3629 #:test-command '("make" "test")))
3630 (native-inputs
3631 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3632 ("emacs-undercover" ,emacs-undercover)
3633 ("ert-runner" ,emacs-ert-runner)))
3634 (synopsis "Simple asynchronous functions for Emacs Lisp")
3635 (description
3636 "The @code{deferred.el} library provides support for asynchronous tasks.
3637 The API is almost the same as that of
3638 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3639 for asynchronous tasks.")
3640 (license license:gpl3+)))
3641
3642 (define-public emacs-butler
3643 (package
3644 (name "emacs-butler")
3645 (version "0.2.4")
3646 (home-page "https://github.com/AshtonKem/Butler")
3647 (source (origin
3648 (method git-fetch)
3649 (uri (git-reference
3650 (url home-page)
3651 (commit version)))
3652 (file-name (git-file-name name version))
3653 (sha256
3654 (base32
3655 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3656 (build-system emacs-build-system)
3657 (propagated-inputs
3658 `(("emacs-deferred" ,emacs-deferred)))
3659 (synopsis "Emacs client for Jenkins")
3660 (description
3661 "Butler provides an interface to connect to Jenkins continuous
3662 integration servers. Users can specify a list of server in the
3663 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3664 view the build status of those servers' build jobs, and possibly to trigger
3665 build jobs.")
3666 (license license:gpl3+)))
3667
3668 (define-public emacs-company
3669 (package
3670 (name "emacs-company")
3671 (version "0.9.12")
3672 (source
3673 (origin
3674 (method git-fetch)
3675 (uri (git-reference
3676 (url "https://github.com/company-mode/company-mode.git")
3677 (commit version)))
3678 (file-name (git-file-name name version))
3679 (sha256
3680 (base32 "0c31amc6gyfkmb1ii6mm56c75za1yxkj2iyhrjc45nn2mrh7yj7a"))))
3681 (build-system emacs-build-system)
3682 (arguments
3683 `(#:phases
3684 (modify-phases %standard-phases
3685 (add-before 'check 'fix-bin-dir
3686 (lambda _
3687 ;; The company-files-candidates-normal-root test looks
3688 ;; for the /bin directory, but the build environment has
3689 ;; no /bin directory. Modify the test to look for the
3690 ;; /tmp directory.
3691 (substitute* "test/files-tests.el"
3692 (("/bin/") "/tmp/"))
3693 #t)))
3694 #:tests? #t
3695 #:test-command '("make" "test-batch")))
3696 (home-page "https://company-mode.github.io/")
3697 (synopsis "Modular text completion framework")
3698 (description
3699 "Company is a modular completion mechanism. Modules for retrieving
3700 completion candidates are called back-ends, modules for displaying them are
3701 front-ends. Company comes with many back-ends, e.g., @code{company-elisp}.
3702 These are distributed in separate files and can be used individually.")
3703 (license license:gpl3+)))
3704
3705 (define-public emacs-company-posframe
3706 (let ((version "0.1.0")
3707 (revision "1")
3708 (commit "67d899502384fb9ab2870aba0af41523dea7b64f"))
3709 (package
3710 (name "emacs-company-posframe")
3711 (version (git-version version revision commit))
3712 (source (origin
3713 (method git-fetch)
3714 (uri (git-reference
3715 (url "https://github.com/tumashu/company-posframe.git")
3716 (commit commit)))
3717 (file-name (git-file-name name version))
3718 (sha256
3719 (base32
3720 "051smlvz1siwglsd9k9l0m20mygrx4niflmyshha0064287aysxr"))))
3721 (build-system emacs-build-system)
3722 (propagated-inputs
3723 `(("emacs-company" ,emacs-company)
3724 ("emacs-posframe" ,emacs-posframe)))
3725 (home-page "https://github.com/tumashu/company-posframe")
3726 (synopsis "Use a posframe for @code{emacs-company}'s candidate menu")
3727 (description
3728 "Allows @code{emacs-company} to use child frames for its candidate menus.
3729
3730 @code{emacs-company-posframe} is fast enough for daily use and supports CJK
3731 languages.")
3732 (license license:gpl3+))))
3733
3734 (define-public emacs-irony-mode
3735 (package
3736 (name "emacs-irony-mode")
3737 (version "1.4.0")
3738 (home-page "https://github.com/Sarcasm/irony-mode")
3739 (source (origin
3740 (method git-fetch)
3741 (uri (git-reference
3742 (url (string-append home-page ".git"))
3743 (commit (string-append "v" version))))
3744 (file-name (git-file-name name version))
3745 (sha256
3746 (base32
3747 "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"))))
3748 (build-system emacs-build-system)
3749 (inputs `(("server" ,emacs-irony-mode-server)))
3750 (arguments `(#:phases
3751 (modify-phases %standard-phases
3752 (add-after 'unpack 'configure
3753 (lambda* (#:key inputs #:allow-other-keys)
3754 (chmod "irony.el" #o644)
3755 (emacs-substitute-variables "irony.el"
3756 ("irony-server-install-prefix"
3757 (assoc-ref inputs "server")))
3758 #t)))))
3759 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3760 (description "Irony-mode provides Clang-assisted syntax checking and
3761 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3762 provide syntax checking and autocompletion on compiler level which is very
3763 resistant against false positives. It also integrates well with other
3764 packages like @code{eldoc-mode} and especially @code{company-mode} as
3765 described on the homepage.")
3766 (license license:gpl3+)))
3767
3768 (define-public emacs-irony-mode-server
3769 (package (inherit emacs-irony-mode)
3770 (name "emacs-irony-mode-server")
3771 (inputs
3772 `(("clang" ,clang)))
3773 (arguments
3774 `(#:phases
3775 (modify-phases %standard-phases
3776 (replace 'configure
3777 (lambda* (#:key outputs #:allow-other-keys)
3778 (let ((out (assoc-ref outputs "out")))
3779 (invoke "cmake"
3780 "server"
3781 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3782 (build-system cmake-build-system)
3783 (synopsis "Server for the Emacs @dfn{irony mode}")))
3784
3785 (define-public emacs-company-irony
3786 (package
3787 (name "emacs-company-irony")
3788 (version "1.1.0")
3789 (source (origin
3790 (method git-fetch)
3791 (uri (git-reference
3792 (url "https://github.com/Sarcasm/company-irony.git")
3793 (commit (string-append "v" version))))
3794 (sha256 (base32
3795 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3796 (file-name (git-file-name name version))))
3797 (build-system emacs-build-system)
3798 (inputs
3799 `(("emacs-irony-mode" ,emacs-irony-mode)
3800 ("emacs-company" ,emacs-company)))
3801 (synopsis "C++ completion backend for Company using irony-mode")
3802 (description "This backend for company-mode allows for C++ code completion
3803 with irony-mode using clang-tooling.")
3804 (home-page "https://github.com/Sarcasm/company-irony")
3805 (license license:gpl3+)))
3806
3807 (define-public emacs-flycheck-irony
3808 (package
3809 (name "emacs-flycheck-irony")
3810 (version "0.1.0")
3811 (source (origin
3812 (method git-fetch)
3813 (uri (git-reference
3814 (url "https://github.com/Sarcasm/flycheck-irony.git")
3815 (commit (string-append "v" version))))
3816 (file-name (git-file-name name version))
3817 (sha256
3818 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3819 (build-system emacs-build-system)
3820 (inputs
3821 `(("irony-mode" ,emacs-irony-mode)
3822 ("flycheck-mode" ,emacs-flycheck)
3823 ("emacs-company" ,emacs-company)))
3824 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3825 (description "This package provides a frontend for Flycheck that lets
3826 irony-mode do the syntax checking.")
3827 (home-page "https://github.com/Sarcasm/flycheck-irony")
3828 (license license:gpl3+)))
3829
3830 (define-public emacs-irony-eldoc
3831 (package
3832 (name "emacs-irony-eldoc")
3833 (version (package-version emacs-irony-mode))
3834 (source
3835 (origin
3836 (method git-fetch)
3837 (uri (git-reference
3838 (url "https://github.com/ikirill/irony-eldoc.git")
3839 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3840 (file-name (git-file-name name version))
3841 (sha256
3842 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3843 (build-system emacs-build-system)
3844 (inputs
3845 `(("irony-mode" ,emacs-irony-mode)))
3846 (synopsis "Eldoc integration for irony-mode")
3847 (description "Irony-eldoc is an eldoc extension that shows documentation
3848 for the current function or variable in the minibuffer.")
3849 (home-page "https://github.com/ikirill/irony-eldoc")
3850 (license license:gpl3+)))
3851
3852 (define-public emacs-company-quickhelp
3853 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
3854 ;; so we use the latest 2.2.0 commit instead
3855 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
3856 (revision "1"))
3857 (package
3858 (name "emacs-company-quickhelp")
3859 (version (git-version "2.2.0" revision commit))
3860 (source
3861 (origin
3862 (method git-fetch)
3863 (uri (git-reference
3864 (url "https://github.com/expez/company-quickhelp.git")
3865 (commit commit)))
3866 (file-name (git-file-name name version))
3867 (sha256
3868 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
3869 (build-system emacs-build-system)
3870 (propagated-inputs
3871 `(("emacs-pos-tip" ,emacs-pos-tip)
3872 ("emacs-company" ,emacs-company)))
3873 (home-page "https://github.com/expez/company-quickhelp")
3874 (synopsis "Popup documentation for completion candidates")
3875 (description "@code{company-quickhelp} shows documentation for the
3876 completion candidate when using the Company text completion framework.")
3877 (license license:gpl3+))))
3878
3879 (define-public emacs-math-symbol-lists
3880 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
3881 (revision "1"))
3882 (package
3883 (name "emacs-math-symbol-lists")
3884 (version (git-version "1.2.1" revision commit))
3885 (source
3886 (origin
3887 (method git-fetch)
3888 (uri (git-reference
3889 (url "https://github.com/vspinu/math-symbol-lists.git")
3890 (commit commit)))
3891 (file-name (git-file-name name version))
3892 (sha256
3893 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
3894 (build-system emacs-build-system)
3895 (home-page "https://github.com/vspinu/math-symbol-lists")
3896 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
3897 (description "This is a storage package used by completion engines like
3898 @code{company-math}.")
3899 (license license:gpl3+))))
3900
3901 (define-public emacs-company-coq
3902 (package
3903 (name "emacs-company-coq")
3904 (version "1.0.1")
3905 (source
3906 (origin
3907 (method git-fetch)
3908 (uri
3909 (git-reference
3910 (url "https://github.com/cpitclaudel/company-coq")
3911 (commit version)))
3912 (file-name (git-file-name name version))
3913 (sha256
3914 (base32 "0dxi4h8xqq5647k7h89s4pi8nwyj3brlhsckrv3p3b1g4dr6mk3b"))))
3915 (inputs
3916 `(("emacs-company" ,emacs-company)
3917 ("emacs-company-math" ,emacs-company-math)
3918 ("emacs-dash" ,emacs-dash)
3919 ("emacs-yasnippet" ,emacs-yasnippet)))
3920 (build-system emacs-build-system)
3921 (home-page "https://github.com/cpitclaudel/company-coq")
3922 (synopsis "Emacs extensions for Proof General's Coq mode")
3923 (description "This package includes a collection of Company mode backends
3924 for Proof-General's Coq mode, and many useful extensions to Proof-General. It
3925 features:
3926
3927 @itemize
3928 @item Prettification of operators, types, and subscripts,
3929 @item Auto-completion,
3930 @item Insertion of cases,
3931 @item Fully explicit intros,
3932 @item Outlines, code folding, and jumping to definition,
3933 @item Help with errors,
3934 @item and more.
3935 @end itemize")
3936 (license license:gpl3+)))
3937
3938 (define-public emacs-company-math
3939 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
3940 (revision "1"))
3941 (package
3942 (name "emacs-company-math")
3943 (version (git-version "1.3" revision commit))
3944 (source
3945 (origin
3946 (method git-fetch)
3947 (uri (git-reference
3948 (url "https://github.com/vspinu/company-math.git")
3949 (commit commit)))
3950 (file-name (git-file-name name version))
3951 (sha256
3952 (base32
3953 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
3954 (build-system emacs-build-system)
3955 (propagated-inputs
3956 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
3957 ("emacs-company" ,emacs-company)))
3958 (home-page "https://github.com/vspinu/company-math")
3959 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
3960 (description "This package provides a backend for use with
3961 @code{company-mode} allowing for completion of common math symbols.")
3962 (license license:gpl3+))))
3963
3964 (define-public emacs-compdef
3965 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
3966 (revision "2"))
3967 (package
3968 (name "emacs-compdef")
3969 (version (git-version "0.2" revision commit))
3970 (source
3971 (origin
3972 (method git-fetch)
3973 (uri (git-reference
3974 (url "https://gitlab.com/jjzmajic/compdef.git")
3975 (commit commit)))
3976 (file-name (git-file-name name version))
3977 (sha256
3978 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
3979 (build-system emacs-build-system)
3980 (home-page "https://gitlab.com/jjzmajic/compdef")
3981 (synopsis "Set local completion backends")
3982 (description "This package provides a function to cleanly set local
3983 completion backends according to mode, and integrates with
3984 @code{use-package}.")
3985 (license license:gpl3+))))
3986
3987 (define-public emacs-handle
3988 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
3989 (revision "2"))
3990 (package
3991 (name "emacs-handle")
3992 (version (git-version "0.1" revision commit))
3993 (source
3994 (origin
3995 (method git-fetch)
3996 (uri (git-reference
3997 (url "https://gitlab.com/jjzmajic/handle.git")
3998 (commit commit)))
3999 (file-name (git-file-name name version))
4000 (sha256
4001 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
4002 (build-system emacs-build-system)
4003 (propagated-inputs
4004 `(("emacs-parent-mode" ,emacs-parent-mode)))
4005 (home-page "https://gitlab.com/jjzmajic/handle")
4006 (synopsis "Handle generic functions across related major modes")
4007 (description "This package provides generic functions that specialize on
4008 major modes and intended purpose rather than on arguments. Different
4009 callables for tasks like expression evaluation, definition-jumping, and more
4010 can now be grouped accordingly and tried in sequence until one of them
4011 succeeds.")
4012 (license license:gpl3+))))
4013
4014 (define-public emacs-nswbuff
4015 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
4016 (revision "1"))
4017 (package
4018 (name "emacs-nswbuff")
4019 (version (git-version "1.0" revision commit))
4020 (source
4021 (origin
4022 (method git-fetch)
4023 (uri (git-reference
4024 (url "https://github.com/joostkremers/nswbuff.git")
4025 (commit commit)))
4026 (file-name (git-file-name name version))
4027 (sha256
4028 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
4029 (build-system emacs-build-system)
4030 (home-page "https://github.com/joostkremers/nswbuff")
4031 (synopsis "Quickly switch between buffers")
4032 (description "This package allows for navigating between buffers within
4033 a customizable list.")
4034 (license license:gpl3+))))
4035
4036 (define-public emacs-phi-search
4037 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
4038 (revision "1"))
4039 (package
4040 (name "emacs-phi-search")
4041 (version (git-version "20160630" revision commit))
4042 (source
4043 (origin
4044 (method git-fetch)
4045 (uri (git-reference
4046 (url "https://github.com/zk-phi/phi-search.git")
4047 (commit commit)))
4048 (file-name (git-file-name name version))
4049 (sha256
4050 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
4051 (build-system emacs-build-system)
4052 (home-page "https://github.com/zk-phi/phi-search")
4053 (synopsis "Interactive search compatible with @code{multiple-cursors}")
4054 (description "This package can be used with @code{multiple-cursors} to
4055 provide an incremental search that moves all fake cursors in sync.")
4056 (license license:gpl2+))))
4057
4058 (define-public emacs-phi-search-mc
4059 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
4060 (revision "1"))
4061 (package
4062 (name "emacs-phi-search-mc")
4063 (version (git-version "2.2.1" revision commit))
4064 (source
4065 (origin
4066 (method git-fetch)
4067 (uri (git-reference
4068 (url "https://github.com/knu/phi-search-mc.el.git")
4069 (commit commit)))
4070 (file-name (git-file-name name version))
4071 (sha256
4072 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
4073 (build-system emacs-build-system)
4074 (propagated-inputs
4075 `(("emacs-phi-search" ,emacs-phi-search)
4076 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
4077 (home-page "https://github.com/knu/phi-search-mc.el")
4078 (synopsis "Extend @code{phi-search} with additional
4079 @code{multiple-cursors} functionality")
4080 (description "This package provides further integration between
4081 @code{multiple-cursors} and @code{phi-search}, a package that allows for
4082 interactive searches to move multiple fake cursors.")
4083 (license license:bsd-2))))
4084
4085 (define-public emacs-multiple-cursors
4086 (package
4087 (name "emacs-multiple-cursors")
4088 (version "1.4.0")
4089 (source
4090 (origin
4091 (method git-fetch)
4092 (uri (git-reference
4093 (url "https://github.com/magnars/multiple-cursors.el.git")
4094 (commit version)))
4095 (file-name (git-file-name name version))
4096 (sha256
4097 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
4098 (build-system emacs-build-system)
4099 (home-page "https://github.com/magnars/multiple-cursors.el")
4100 (synopsis "Multiple cursors for Emacs")
4101 (description
4102 "This package adds support to Emacs for editing text with multiple
4103 simultaneous cursors.")
4104 (license license:gpl3+)))
4105
4106 (define-public emacs-mc-extras
4107 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
4108 (revision "1"))
4109 (package
4110 (name "emacs-mc-extras")
4111 (version (git-version "1.2.4" revision commit))
4112 (source
4113 (origin
4114 (method git-fetch)
4115 (uri (git-reference
4116 (url "https://github.com/knu/mc-extras.el.git")
4117 (commit commit)))
4118 (file-name (git-file-name name version))
4119 (sha256
4120 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
4121 (build-system emacs-build-system)
4122 (propagated-inputs
4123 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
4124 (home-page "https://github.com/knu/mc-extras.el")
4125 (synopsis "Extra functions for manipulating multiple cursors")
4126 (description
4127 "This package provides additional functions for
4128 @code{multiple-cursors}, including functions for marking s-expressions,
4129 comparing characters, removing cursors, and more.")
4130 (license license:bsd-2))))
4131
4132 (define-public emacs-typo
4133 (package
4134 (name "emacs-typo")
4135 (version "1.1")
4136 (home-page "https://github.com/jorgenschaefer/typoel")
4137 (source (origin
4138 (method git-fetch)
4139 (uri (git-reference
4140 (url home-page)
4141 (commit (string-append "v" version))))
4142 (file-name (git-file-name name version))
4143 (sha256
4144 (base32
4145 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
4146 (build-system emacs-build-system)
4147 (synopsis "Minor mode for typographic editing")
4148 (description
4149 "This package provides two Emacs modes, @code{typo-mode} and
4150 @code{typo-global-mode}. These modes automatically insert Unicode characters
4151 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
4152 automatically inserts a Unicode opening or closing quotation mark, depending
4153 on context.")
4154 (license license:gpl3+)))
4155
4156 (define-public emacs-company-lsp
4157 (package
4158 (name "emacs-company-lsp")
4159 (version "2.1.0")
4160 (source (origin
4161 (method git-fetch)
4162 (uri (git-reference
4163 (url "https://github.com/tigersoldier/company-lsp.git")
4164 (commit version)))
4165 (file-name (git-file-name name version))
4166 (sha256
4167 (base32
4168 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
4169 (build-system emacs-build-system)
4170 (propagated-inputs
4171 `(("emacs-dash" ,emacs-dash)
4172 ("emacs-lsp-mode" ,emacs-lsp-mode)
4173 ("emacs-company" ,emacs-company)
4174 ("emacs-s" ,emacs-s)
4175 ("emacs-dash" ,emacs-dash)))
4176 (native-inputs
4177 `(("emacs-buttercup" ,emacs-buttercup)))
4178 (arguments
4179 `(#:tests? #t
4180 #:test-command '("buttercup" "-L" ".")))
4181 (home-page "https://github.com/tigersoldier/company-lsp")
4182 (synopsis "Completion for @code{lsp-mode}")
4183 (description
4184 "This package provides completion features that are not possible with
4185 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
4186 characters and asynchronous fetching of completion candidates.")
4187 (license license:gpl3+)))
4188
4189 (define-public emacs-scheme-complete
4190 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
4191 (package
4192 (name "emacs-scheme-complete")
4193 (version (string-append "20151223." (string-take commit 8)))
4194 (source
4195 (origin
4196 (method git-fetch)
4197 (uri (git-reference
4198 (url "https://github.com/ashinn/scheme-complete.git")
4199 (commit commit)))
4200 (file-name (git-file-name name version))
4201 (sha256
4202 (base32
4203 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
4204 (patches
4205 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
4206 (build-system emacs-build-system)
4207 (home-page "https://github.com/ashinn/scheme-complete")
4208 (synopsis "Smart tab completion for Scheme in Emacs")
4209 (description
4210 "This file provides a single function, @code{scheme-smart-complete},
4211 which you can use for intelligent, context-sensitive completion for any Scheme
4212 implementation in Emacs. To use it just load this file and bind that function
4213 to a key in your preferred mode.")
4214 (license license:public-domain))))
4215
4216 (define-public emacs-scel
4217 (let ((version "20170629")
4218 (revision "1")
4219 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
4220 (package
4221 (name "emacs-scel")
4222 (version (git-version version revision commit))
4223 (source
4224 (origin
4225 (method git-fetch)
4226 (uri (git-reference
4227 (url "https://github.com/supercollider/scel.git")
4228 (commit commit)))
4229 (file-name (git-file-name name version))
4230 (sha256
4231 (base32
4232 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
4233 (build-system emacs-build-system)
4234 (arguments
4235 `(#:modules ((guix build emacs-build-system)
4236 ((guix build cmake-build-system) #:prefix cmake:)
4237 (guix build utils))
4238 #:imported-modules (,@%emacs-build-system-modules
4239 (guix build cmake-build-system))
4240 #:phases
4241 (modify-phases %standard-phases
4242 (add-after 'unpack 'configure
4243 (lambda* (#:key outputs #:allow-other-keys)
4244 (substitute* "el/CMakeLists.txt"
4245 (("share/emacs/site-lisp/SuperCollider")
4246 (string-append
4247 "share/emacs/site-lisp")))
4248 ((assoc-ref cmake:%standard-phases 'configure)
4249 #:outputs outputs
4250 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
4251 (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
4252 (lambda _
4253 (setenv "EMACSLOADPATH"
4254 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
4255 #t))
4256 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
4257 (inputs
4258 `(("supercollider" ,supercollider)))
4259 (native-inputs
4260 `(("cmake" ,cmake-minimal)))
4261 (home-page "https://github.com/supercollider/scel")
4262 (synopsis "SuperCollider Emacs interface")
4263 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
4264 SuperCollider is a platform for audio synthesis and algorithmic composition.")
4265 (license license:gpl2+))))
4266
4267 (define-public emacs-company-auctex
4268 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
4269 (revision "1"))
4270 (package
4271 (name "emacs-company-auctex")
4272 (version (git-version "0" revision commit))
4273 (source (origin
4274 (method git-fetch)
4275 (uri (git-reference
4276 (url "https://github.com/alexeyr/company-auctex")
4277 (commit commit)))
4278 (file-name (git-file-name name version))
4279 (sha256
4280 (base32
4281 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
4282 (build-system emacs-build-system)
4283 (propagated-inputs
4284 `(("emacs-yasnippet" ,emacs-yasnippet)
4285 ("emacs-auctex" ,emacs-auctex)
4286 ("emacs-company" ,emacs-company)))
4287 (home-page "https://github.com/alexeyr/company-auctex/")
4288 (synopsis "Completion for @code{AUCTeX}")
4289 (description
4290 "This package provides a group of backends permitting auto-completion
4291 for @code{AUCTeX}.")
4292 (license license:gpl3+))))
4293
4294 (define-public emacs-mit-scheme-doc
4295 (package
4296 (name "emacs-mit-scheme-doc")
4297 (version "20140203")
4298 (source
4299 (origin
4300 (modules '((guix build utils)))
4301 (snippet
4302 ;; keep only file of interest
4303 '(begin
4304 (for-each delete-file '("dot-emacs.el" "Makefile"))
4305 (install-file "6.945-config/mit-scheme-doc.el" ".")
4306 (delete-file-recursively "6.945-config")
4307 #t))
4308 (file-name (string-append name "-" version ".tar.bz2"))
4309 (method url-fetch)
4310 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
4311 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
4312 (sha256
4313 (base32
4314 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
4315 (build-system emacs-build-system)
4316 (inputs `(("mit-scheme" ,mit-scheme)))
4317 (arguments
4318 `(#:phases
4319 (modify-phases %standard-phases
4320 (add-after 'unpack 'configure-doc
4321 (lambda* (#:key inputs #:allow-other-keys)
4322 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
4323 (doc-dir (string-append mit-scheme-dir "/share/doc/"
4324 "mit-scheme-"
4325 ,(package-version mit-scheme))))
4326 (substitute* "mit-scheme-doc.el"
4327 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
4328 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
4329 (home-page "https://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
4330 (synopsis "MIT-Scheme documentation lookup for Emacs")
4331 (description
4332 "This package provides a set of Emacs functions to search definitions of
4333 identifiers in the MIT-Scheme documentation.")
4334 (license license:gpl2+)))
4335
4336 (define-public emacs-constants
4337 (package
4338 (name "emacs-constants")
4339 (version "2.6")
4340 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
4341 (source
4342 (origin
4343 (method git-fetch)
4344 (uri (git-reference
4345 (url "https://github.com/fedeinthemix/emacs-constants.git")
4346 (commit (string-append "v" version))))
4347 (file-name (git-file-name name version))
4348 (sha256
4349 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
4350 (build-system emacs-build-system)
4351 (synopsis "Enter definition of constants into an Emacs buffer")
4352 (description
4353 "This package provides functions for inserting the definition of natural
4354 constants and units into an Emacs buffer.")
4355 (license license:gpl2+)))
4356
4357 (define-public emacs-tagedit
4358 (package
4359 (name "emacs-tagedit")
4360 (version "1.4.0")
4361 (source
4362 (origin
4363 (method git-fetch)
4364 (uri (git-reference
4365 (url "https://github.com/magnars/tagedit.git")
4366 (commit version)))
4367 (file-name (git-file-name name version))
4368 (sha256
4369 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
4370 (build-system emacs-build-system)
4371 (propagated-inputs
4372 `(("emacs-s" ,emacs-s)
4373 ("emacs-dash" ,emacs-dash)))
4374 (home-page "https://github.com/magnars/tagedit")
4375 (synopsis "Some paredit-like features for html-mode")
4376 (description
4377 "This package provides a collection of paredit-like functions for editing
4378 in @code{html-mode}.")
4379 (license license:gpl3+)))
4380
4381 (define-public emacs-slime
4382 (package
4383 (name "emacs-slime")
4384 (version "2.24")
4385 (source
4386 (origin
4387 (method git-fetch)
4388 (uri (git-reference
4389 (url "https://github.com/slime/slime.git")
4390 (commit (string-append "v" version))))
4391 (file-name (git-file-name name version))
4392 (sha256
4393 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
4394 (build-system emacs-build-system)
4395 (native-inputs
4396 `(("texinfo" ,texinfo)))
4397 (arguments
4398 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
4399 #:exclude '("^slime-tests.el" "^contrib/test/"
4400 "^contrib/Makefile$" "^contrib/README.md$")
4401 #:phases
4402 (modify-phases %standard-phases
4403 (add-after 'unpack 'make-git-checkout-writable
4404 (lambda _
4405 (for-each make-file-writable (find-files "."))
4406 #t))
4407 (add-before 'install 'configure
4408 (lambda* _
4409 (emacs-substitute-variables "slime.el"
4410 ("inferior-lisp-program" "sbcl"))
4411 #t))
4412 (add-before 'install 'install-doc
4413 (lambda* (#:key outputs #:allow-other-keys)
4414 (let* ((out (assoc-ref outputs "out"))
4415 (info-dir (string-append out "/share/info"))
4416 (doc-dir (string-append out "/share/doc/"
4417 ,name "-" ,version))
4418 (doc-files '("doc/slime-refcard.pdf"
4419 "README.md" "NEWS" "PROBLEMS"
4420 "CONTRIBUTING.md")))
4421 (with-directory-excursion "doc"
4422 (substitute* "Makefile"
4423 (("infodir=/usr/local/info")
4424 (string-append "infodir=" info-dir)))
4425 (invoke "make" "html/index.html")
4426 (invoke "make" "slime.info")
4427 (install-file "slime.info" info-dir)
4428 (copy-recursively "html" (string-append doc-dir "/html")))
4429 (for-each (lambda (f)
4430 (install-file f doc-dir)
4431 (delete-file f))
4432 doc-files)
4433 (delete-file-recursively "doc")
4434 #t))))))
4435 (home-page "https://github.com/slime/slime")
4436 (synopsis "Superior Lisp Interaction Mode for Emacs")
4437 (description
4438 "SLIME extends Emacs with support for interactive programming in
4439 Common Lisp. The features are centered around @command{slime-mode},
4440 an Emacs minor mode that complements the standard @command{lisp-mode}.
4441 While lisp-mode supports editing Lisp source files, @command{slime-mode}
4442 adds support for interacting with a running Common Lisp process
4443 for compilation, debugging, documentation lookup, and so on.")
4444 (license (list license:gpl2+ license:public-domain))))
4445
4446 (define-public emacs-popup
4447 (package
4448 (name "emacs-popup")
4449 (version "0.5.3")
4450 (source
4451 (origin
4452 (method git-fetch)
4453 (uri (git-reference
4454 (url "https://github.com/auto-complete/popup-el.git")
4455 (commit (string-append "v" version))))
4456 (file-name (git-file-name name version))
4457 (sha256
4458 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
4459 (build-system emacs-build-system)
4460 (home-page "https://github.com/auto-complete/popup-el")
4461 (synopsis "Visual Popup User Interface for Emacs")
4462 (description
4463 "Popup.el is a visual popup user interface library for Emacs.
4464 This provides a basic API and common UI widgets such as popup tooltips
4465 and popup menus.")
4466 (license license:gpl3+)))
4467
4468 (define-public emacs-python-environment
4469 (package
4470 (name "emacs-python-environment")
4471 (version "0.0.2")
4472 (source
4473 (origin
4474 (method git-fetch)
4475 (uri (git-reference
4476 (url "https://github.com/tkf/emacs-python-environment/")
4477 (commit version)))
4478 (file-name (git-file-name name version))
4479 (sha256
4480 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
4481 (build-system emacs-build-system)
4482 (propagated-inputs
4483 `(("emacs-deferred" ,emacs-deferred)))
4484 (home-page "https://github.com/tkf/emacs-python-environment")
4485 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
4486 (description
4487 "This package permits automated installation of tools written in Python.")
4488 (license license:gpl3+)))
4489
4490 (define-public emacs-jedi
4491 (package
4492 (name "emacs-jedi")
4493 (version "0.2.8")
4494 (source (origin
4495 (method git-fetch)
4496 (uri (git-reference
4497 (url "https://github.com/tkf/emacs-jedi/")
4498 (commit (string-append "v" version))))
4499 (file-name (git-file-name name version))
4500 (sha256
4501 (base32
4502 "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"))))
4503 (build-system emacs-build-system)
4504 (native-inputs
4505 `(("emacs-mocker" ,emacs-mocker)))
4506 (propagated-inputs
4507 `(("emacs-auto-complete" ,emacs-auto-complete)
4508 ("emacs-python-environment" ,emacs-python-environment)
4509 ("emacs-epc" ,emacs-epc)))
4510 (home-page "https://github.com/tkf/emacs-jedi")
4511 (synopsis "Provides Python completion in Emacs")
4512 (description
4513 "This package provides completion in Python buffers and also helps find
4514 the locations of docstrings, arguments, and functions.")
4515 (license license:gpl3+)))
4516
4517 (define-public emacs-company-jedi
4518 (package
4519 (name "emacs-company-jedi")
4520 (version "0.04")
4521 (source (origin
4522 (method git-fetch)
4523 (uri (git-reference
4524 (url "https://github.com/syohex/emacs-company-jedi")
4525 (commit version)))
4526 (file-name (git-file-name name version))
4527 (sha256
4528 (base32
4529 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
4530 (build-system emacs-build-system)
4531 (propagated-inputs
4532 `(("emacs-jedi" ,emacs-jedi)
4533 ("emacs-company" ,emacs-company)))
4534 (home-page "https://github.com/syohex/emacs-company-jedi")
4535 (synopsis "Provides Python completion in @code{company-mode}")
4536 (description
4537 "This package provides a Company backend for Python.")
4538 (license license:gpl3+)))
4539
4540 (define-public emacs-puppet-mode
4541 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
4542 (revision "1"))
4543 (package
4544 (name "emacs-puppet-mode")
4545 ;; The last release, 0.3 was several years ago, and there have been many
4546 ;; commits since
4547 (version (git-version "0.3" revision commit))
4548 (source
4549 (origin
4550 (method url-fetch)
4551 (uri (string-append
4552 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
4553 commit "/puppet-mode.el"))
4554 (sha256
4555 (base32
4556 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
4557 (build-system emacs-build-system)
4558 (home-page "https://github.com/voxpupuli/puppet-mode")
4559 (synopsis "Emacs major mode for the Puppet configuration language")
4560 (description
4561 "This package provides support for the Puppet configuration language,
4562 including syntax highlighting, indentation of expressions and statements,
4563 linting of manifests and integration with Puppet Debugger.")
4564 ;; Also incorporates work covered by the Apache License, Version 2.0
4565 (license license:gpl3+))))
4566
4567 (define-public emacs-god-mode
4568 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
4569 (revision "1"))
4570 (package
4571 (name "emacs-god-mode")
4572 (version (string-append "20151005.925."
4573 revision "-" (string-take commit 9)))
4574 (source
4575 (origin
4576 (method git-fetch)
4577 (uri (git-reference
4578 (url "https://github.com/chrisdone/god-mode.git")
4579 (commit commit)))
4580 (file-name (git-file-name name version))
4581 (sha256
4582 (base32
4583 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
4584 (build-system emacs-build-system)
4585 (home-page "https://github.com/chrisdone/god-mode")
4586 (synopsis "Minor mode for entering commands without modifier keys")
4587 (description
4588 "This package provides a global minor mode for entering Emacs commands
4589 without modifier keys. It's similar to Vim's separation of commands and
4590 insertion mode. When enabled all keys are implicitly prefixed with
4591 @samp{C-} (among other helpful shortcuts).")
4592 (license license:gpl3+))))
4593
4594 (define-public emacs-jinja2-mode
4595 (package
4596 (name "emacs-jinja2-mode")
4597 (version "0.2")
4598 (source
4599 (origin
4600 (method git-fetch)
4601 (uri (git-reference
4602 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
4603 (commit (string-append "v" version))))
4604 (file-name (git-file-name name version))
4605 (sha256
4606 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
4607 (build-system emacs-build-system)
4608 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
4609 (synopsis "Major mode for jinja2")
4610 (description
4611 "Emacs major mode for jinja2 with: syntax highlighting,
4612 sgml/html integration, and indentation (working with sgml).")
4613 (license license:gpl3+)))
4614
4615 (define-public emacs-company-cabal
4616 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
4617 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
4618 (revision "1"))
4619 (package
4620 (name "emacs-company-cabal")
4621 (version (git-version "0.3.0" revision commit))
4622 (source (origin
4623 (method git-fetch)
4624 (uri (git-reference
4625 (url "https://github.com/iquiw/company-cabal/")
4626 (commit commit)))
4627 (file-name (git-file-name name version))
4628 (sha256
4629 (base32
4630 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
4631 (build-system emacs-build-system)
4632 (propagated-inputs
4633 `(("emacs-company" ,emacs-company)))
4634 (arguments
4635 `(#:include (cons "^tools\\/" %default-include)))
4636 (home-page "https://github.com/iquiw/company-cabal/")
4637 (synopsis "Company completion for Haskell Cabal files")
4638 (description
4639 "This package allows for completion of field names, section names,
4640 field values, and more within @code{haskell-cabal-mode}.")
4641 (license license:gpl3+))))
4642
4643 (define-public emacs-rfcview
4644 (package
4645 (name "emacs-rfcview")
4646 (version "0.13")
4647 (home-page "http://www.loveshack.ukfsn.org/emacs")
4648 (source (origin
4649 (method url-fetch)
4650 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
4651 (sha256
4652 (base32
4653 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
4654 (build-system emacs-build-system)
4655 (synopsis "Prettify Request for Comments (RFC) documents")
4656 (description "The Internet Engineering Task Force (IETF) and the Internet
4657 Society (ISOC) publish various Internet-related protocols and specifications
4658 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
4659 documents. RFCs and STDs are published in a simple text form. This package
4660 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
4661 read these documents in Emacs. It prettifies the text and adds
4662 hyperlinks/menus for easier navigation. It also provides functions for
4663 browsing the index of RFC documents and fetching them from remote servers or
4664 local directories.")
4665 (license license:gpl3+)))
4666
4667 (define-public emacs-ffap-rfc-space
4668 (package
4669 (name "emacs-ffap-rfc-space")
4670 (version "12")
4671 (home-page "https://user42.tuxfamily.org/ffap-rfc-space/index.html")
4672 (source (origin
4673 (method url-fetch)
4674 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
4675 (sha256
4676 (base32
4677 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
4678 (build-system emacs-build-system)
4679 (synopsis "Make ffap recognize an RFC with a space before its number")
4680 (description "The Internet Engineering Task Force (IETF) and the
4681 Internet Society (ISOC) publish various Internet-related protocols and
4682 specifications as \"Request for Comments\" (RFC) documents. The
4683 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
4684 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
4685 and load the appropriate RFC from a remote server. However, it fails
4686 to recognize a name like \"RFC 1234\". This package enhances ffap so
4687 that it correctly finds RFCs even when a space appears before the
4688 number.")
4689 (license license:gpl3+)))
4690
4691 (define-public emacs-org-bullets
4692 (package
4693 (name "emacs-org-bullets")
4694 (version "0.2.4")
4695 (source
4696 (origin
4697 (method git-fetch)
4698 (uri (git-reference
4699 (url "https://github.com/sabof/org-bullets.git")
4700 (commit version)))
4701 (file-name (git-file-name name version))
4702 (sha256
4703 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
4704 (build-system emacs-build-system)
4705 (home-page "https://github.com/sabof/org-bullets")
4706 (synopsis "Show bullets in org-mode as UTF-8 characters")
4707 (description
4708 "This package provides an Emacs minor mode causing bullets in
4709 @code{org-mode} to be rendered as UTF-8 characters.")
4710 (license license:gpl3+)))
4711
4712 (define-public emacs-org-superstar
4713 (package
4714 (name "emacs-org-superstar")
4715 (version "1.0.0")
4716 (source
4717 (origin
4718 (method git-fetch)
4719 (uri (git-reference
4720 (url "https://github.com/integral-dw/org-superstar-mode.git")
4721 (commit (string-append "v" version))))
4722 (file-name (git-file-name name version))
4723 (sha256
4724 (base32 "0q6180qwjpha10zsiw0ni6lanyjwlj8141a6qivfcs8nwczz7nvz"))))
4725 (build-system emacs-build-system)
4726 (propagated-inputs
4727 `(("emacs-org" ,emacs-org)))
4728 (home-page "https://github.com/integral-dw/org-superstar-mode")
4729 (synopsis "Prettify headings and plain lists in Org mode")
4730 (description "This package prettifies headings and plain lists in
4731 Org mode. It is a direct descendant of @code{org-bullets}, with most
4732 of the code base completely rewritten.
4733
4734 Currently, this package prettifies Org heading lines by:
4735 @itemize
4736 @item replacing trailing bullets by UTF-8 bullets,
4737 @item hiding leading stars, customizing their look or removing them from vision,
4738 @item applying a custom face to the header bullet,
4739 @item applying a custom face to the leading bullets,
4740 @item using double-bullets for inline tasks,
4741 @item (optional) using special bullets for TODO keywords.
4742 @end itemize
4743
4744 It also prettifies Org plain list bullets by:
4745 @itemize
4746 @item replacing each bullet type (*, + and -) with UTF-8 bullets,
4747 @item applying a custom face to item bullets.
4748 @end itemize
4749
4750 Features degrade gracefully when viewed from terminal.")
4751 (license license:gpl3+)))
4752
4753 (define-public emacs-org-pomodoro
4754 ;; Last release version was from 2016.
4755 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
4756 (revision "1"))
4757 (package
4758 (name "emacs-org-pomodoro")
4759 (version (git-version "2.1.0" revision commit))
4760 (source
4761 (origin
4762 (method git-fetch)
4763 (uri (git-reference
4764 (url "https://github.com/marcinkoziej/org-pomodoro.git")
4765 (commit commit)))
4766 (file-name (git-file-name name version))
4767 (sha256
4768 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
4769 (build-system emacs-build-system)
4770 (propagated-inputs
4771 `(("emacs-alert" ,emacs-alert)))
4772 (arguments
4773 `(#:include (cons "^resources\\/" %default-include)
4774 #:tests? #t
4775 #:test-command '("emacs" "--batch"
4776 "-l" "org-pomodoro-tests.el"
4777 "-f" "ert-run-tests-batch-and-exit")
4778 #:phases
4779 (modify-phases %standard-phases
4780 (add-before 'check 'make-tests-writable
4781 (lambda _
4782 (make-file-writable "org-pomodoro-tests.el")
4783 #t))
4784 (add-before 'check 'add-require
4785 (lambda _
4786 (emacs-batch-edit-file "org-pomodoro-tests.el"
4787 `(progn (progn (goto-char (point-min))
4788 (re-search-forward
4789 "ert-deftest")
4790 (beginning-of-line)
4791 (forward-line -1)
4792 (insert "(require 'org-pomodoro)"))
4793 (basic-save-buffer)))
4794 #t)))))
4795 (home-page "https://github.com/marcinkoziej/org-pomodoro")
4796 (synopsis "Pomodoro technique for org-mode")
4797 (description "@code{emacs-org-pomodoro} adds very basic support for
4798 Pomodoro technique in Emacs org-mode.
4799
4800 Run @code{M-x org-pomodoro} for the task at point or select one of the
4801 last tasks that you clocked time for. Each clocked-in pomodoro starts
4802 a timer of 25 minutes and after each pomodoro a break timer of 5
4803 minutes is started automatically. Every 4 breaks a long break is
4804 started with 20 minutes. All values are customizable.")
4805 (license license:gpl3+))))
4806
4807 (define-public emacs-org-sidebar
4808 (package
4809 (name "emacs-org-sidebar")
4810 (version "0.2")
4811 (source
4812 (origin
4813 (method git-fetch)
4814 (uri (git-reference
4815 (url "https://github.com/alphapapa/org-sidebar.git")
4816 (commit version)))
4817 (file-name (git-file-name name version))
4818 (sha256
4819 (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03"))))
4820 (build-system emacs-build-system)
4821 (propagated-inputs
4822 `(("emacs-dash" ,emacs-dash)
4823 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
4824 ("emacs-org" ,emacs-org)
4825 ("emacs-org-ql" ,emacs-org-ql)
4826 ("emacs-s" ,emacs-s)))
4827 (home-page "https://github.com/alphapapa/org-sidebar")
4828 (synopsis "Helpful sidebar for Org buffers")
4829 (description "This package provides a sidebar for Org buffers. At the
4830 top is a chronological list of scheduled and deadlined tasks in the current
4831 buffer (similar to the Org agenda ,but without all its features), and below
4832 that is a list of all other non-done to-do items. If the buffer is narrowed,
4833 the sidebar only shows items in the narrowed portion; this allows seeing an
4834 overview of tasks in a subtree.")
4835 (license license:gpl3+)))
4836
4837 (define-public emacs-org-trello
4838 (package
4839 (name "emacs-org-trello")
4840 (version "0.8.1")
4841 (source
4842 (origin
4843 (method git-fetch)
4844 (uri (git-reference
4845 (url "https://github.com/org-trello/org-trello.git")
4846 (commit version)))
4847 (file-name (git-file-name name version))
4848 (sha256
4849 (base32
4850 "02gx3kv4mkij69ln8x8wf9n28x17pbb4kv85v78d3lxph7ykqimc"))))
4851 (build-system emacs-build-system)
4852 (propagated-inputs
4853 `(("emacs-dash" ,emacs-dash)
4854 ("emacs-deferred" ,emacs-deferred)
4855 ("emacs-f" ,emacs-f)
4856 ("emacs-helm" ,emacs-helm)
4857 ("emacs-request" ,emacs-request)
4858 ("emacs-s" ,emacs-s)))
4859 (home-page "https://org-trello.github.io")
4860 (synopsis "Emacs minor mode for interacting with Trello")
4861 (description "This package provides an Emacs minor mode to extend
4862 @code{org-mode} with Trello abilities. Trello is an online project
4863 organizer.")
4864 (license license:gpl3+)))
4865
4866 (define-public emacs-org-tanglesync
4867 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
4868 (revision "2"))
4869 (package
4870 (name "emacs-org-tanglesync")
4871 (version (git-version "0.6" revision commit))
4872 (source
4873 (origin
4874 (method git-fetch)
4875 (uri (git-reference
4876 (url "https://github.com/mtekman/org-tanglesync.el.git")
4877 (commit commit)))
4878 (file-name (git-file-name name version))
4879 (sha256
4880 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
4881 (build-system emacs-build-system)
4882 (propagated-inputs
4883 `(("emacs-org" ,emacs-org)))
4884 (home-page "https://github.com/mtekman/org-tanglesync.el")
4885 (synopsis "Sync Org source blocks with tangled external files")
4886 (description "This package automatically pulls changes from source code
4887 to their corresponding tangled blocks.")
4888 (license license:gpl3+))))
4889
4890 (define-public emacs-company-flow
4891 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4892 (revision "1"))
4893 (package
4894 (name "emacs-company-flow")
4895 (version (git-version "0.1.0" revision commit))
4896 (source (origin
4897 (method git-fetch)
4898 (uri (git-reference
4899 (url "https://github.com/aaronjensen/company-flow/")
4900 (commit commit)))
4901 (file-name (git-file-name name version))
4902 (sha256
4903 (base32
4904 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4905 (build-system emacs-build-system)
4906 (propagated-inputs
4907 `(("emacs-company" ,emacs-company)
4908 ("emacs-dash" ,emacs-dash)))
4909 (home-page "https://github.com/aaronjensen/company-flow/")
4910 (synopsis "Flow backend for @code{company-mode}")
4911 (description
4912 "This package provides completion for JavaScript files utilizing Flow.")
4913 (license license:gpl3+))))
4914
4915 (define-public emacs-atom-one-dark-theme
4916 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4917 (revision "0"))
4918 (package
4919 (name "emacs-atom-one-dark-theme")
4920 (version (git-version "0.4.0" revision commit))
4921 (source (origin
4922 (method git-fetch)
4923 (uri (git-reference
4924 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4925 (commit commit)))
4926 (sha256
4927 (base32
4928 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4929 (file-name (git-file-name name version))))
4930 (build-system emacs-build-system)
4931 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4932 (synopsis "Atom One Dark color theme for Emacs")
4933 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4934 (license license:gpl3+))))
4935
4936 (define-public emacs-zenburn-theme
4937 (package
4938 (name "emacs-zenburn-theme")
4939 (version "2.6")
4940 (source
4941 (origin
4942 (method git-fetch)
4943 (uri (git-reference
4944 (url "https://github.com/bbatsov/zenburn-emacs.git")
4945 (commit (string-append "v" version))))
4946 (file-name (git-file-name name version))
4947 (sha256
4948 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4949 (build-system emacs-build-system)
4950 (home-page "https://github.com/bbatsov/zenburn-emacs")
4951 (synopsis "Low contrast color theme for Emacs")
4952 (description
4953 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4954 It is built on top of the custom theme support in Emacs 24 or later.")
4955 (license license:gpl3+)))
4956
4957 (define-public emacs-moe-theme-el
4958 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4959 (version "1.0")
4960 (revision "1"))
4961 (package
4962 (name "emacs-moe-theme-el")
4963 (version (git-version version revision commit))
4964 (source
4965 (origin
4966 (method git-fetch)
4967 (uri (git-reference
4968 (url "https://github.com/kuanyui/moe-theme.el")
4969 (commit commit)))
4970 (file-name (git-file-name name version))
4971 (sha256
4972 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4973 (build-system emacs-build-system)
4974 (home-page "https://github.com/kuanyui/moe-theme.el")
4975 (synopsis "Anime-inspired color themes")
4976 (description
4977 "This package provides vibrant color schemes with light and dark
4978 variants.")
4979 (license license:gpl3+))))
4980
4981 (define-public emacs-solarized-theme
4982 (package
4983 (name "emacs-solarized-theme")
4984 (version "1.3.1")
4985 (source
4986 (origin
4987 (method git-fetch)
4988 (uri (git-reference
4989 (url "https://github.com/bbatsov/solarized-emacs/")
4990 (commit (string-append "v" version))))
4991 (file-name (git-file-name name version))
4992 (sha256
4993 (base32 "15ql8xcixgm7mbs7rsbybwszanqibq057j5b5ds89a31dw7zxf1g"))))
4994 (build-system emacs-build-system)
4995 (propagated-inputs
4996 `(("emacs-dash" ,emacs-dash)))
4997 (home-page "https://github.com/bbatsov/solarized-emacs")
4998 (synopsis "Port of the Solarized theme for Emacs")
4999 (description
5000 "Solarized for Emacs is a port of the Solarized theme for Vim. This
5001 package provides a light and a dark variant.")
5002 (license license:gpl3+)))
5003
5004 (define-public emacs-poet-theme
5005 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
5006 (revision "0"))
5007 (package
5008 (name "emacs-poet-theme")
5009 (version (git-version "0" revision commit))
5010 (source
5011 (origin
5012 (method git-fetch)
5013 (uri (git-reference
5014 (url "https://github.com/kunalb/poet.git")
5015 (commit commit)))
5016 (file-name (git-file-name name version))
5017 (sha256
5018 (base32
5019 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
5020 (build-system emacs-build-system)
5021 (home-page "https://github.com/kunalb/poet/")
5022 (synopsis "Emacs theme for prose")
5023 (description
5024 "Emacs has very good support for multiple fonts in a single file. Poet
5025 uses this support to make it much more convenient to write prose within Emacs,
5026 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
5027 Code blocks, tables, etc are formatted in monospace text with the appropriate
5028 backgrounds.")
5029 (license license:expat))))
5030
5031 (define-public emacs-ahungry-theme
5032 (package
5033 (name "emacs-ahungry-theme")
5034 (version "1.10.0")
5035 (source
5036 (origin (method url-fetch)
5037 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
5038 version ".tar"))
5039 (sha256
5040 (base32
5041 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
5042 (build-system emacs-build-system)
5043 (home-page "https://github.com/ahungry/color-theme-ahungry")
5044 (synopsis "Ahungry color theme for Emacs")
5045 (description "Ahungry theme for Emacs provides bright and bold colors.
5046 If you load it from a terminal, you will be able to make use of the
5047 transparent background. If you load it from a GUI, it will default to a
5048 dark background.")
5049 (license license:gpl3+)))
5050
5051 (define-public emacs-gruvbox-theme
5052 (package
5053 (name "emacs-gruvbox-theme")
5054 (version "1.28.0")
5055 (source (origin
5056 (method git-fetch)
5057 (uri (git-reference
5058 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
5059 (commit version)))
5060 (file-name (git-file-name name version))
5061 (sha256
5062 (base32
5063 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
5064 (build-system emacs-build-system)
5065 (propagated-inputs
5066 `(("emacs-autothemer" ,emacs-autothemer)))
5067 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
5068 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
5069 (description
5070 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
5071
5072 Designed as a bright theme with pastel 'retro groove' colors and light/dark
5073 mode switching in the way of solarized. The main focus when developing gruvbox
5074 is to keep colors easily distinguishable, contrast enough and still pleasant
5075 for the eyes.")
5076 (license license:expat))) ; MIT license
5077
5078 (define-public emacs-spacegray-theme
5079 (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
5080 (revision "0"))
5081 (package
5082 (name "emacs-spacegray-theme")
5083 (version (git-version "0" revision commit))
5084 (source (origin
5085 (method git-fetch)
5086 (uri (git-reference
5087 (url "https://github.com/bruce/emacs-spacegray-theme.git")
5088 (commit commit)))
5089 (file-name (git-file-name name version))
5090 (sha256
5091 (base32
5092 "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"))))
5093 (build-system emacs-build-system)
5094 (home-page "https://github.com/bruce/emacs-spacegray-theme")
5095 (synopsis "Port of Sublime Text's Spacegray theme for Emacs")
5096 (description
5097 "@code{spacegray-theme} is an Emacs port of the Spacegray theme from
5098 Sublime Text. It features a dark blue/gray background and soft blue, green,
5099 orange and red as accent colors.")
5100 (license license:expat)))) ; MIT license
5101
5102 (define-public emacs-2048-game
5103 (package
5104 (name "emacs-2048-game")
5105 (version "20151026.1233")
5106 (source
5107 (origin
5108 (method url-fetch)
5109 (uri (string-append "https://melpa.org/packages/2048-game-"
5110 version ".el"))
5111 (sha256
5112 (base32
5113 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
5114 (build-system emacs-build-system)
5115 (home-page "https://bitbucket.org/zck/2048.el")
5116 (synopsis "Implementation of the game 2048 in Emacs Lisp")
5117 (description
5118 "This program is an implementation of 2048 for Emacs.
5119 The goal of this game is to create a tile with value 2048. The size of the
5120 board and goal value can be customized.")
5121 (license license:gpl3+)))
5122
5123 (define-public emacs-base16-theme
5124 (package
5125 (name "emacs-base16-theme")
5126 (version "2.2")
5127 (source
5128 (origin
5129 (method git-fetch)
5130 (uri (git-reference
5131 (url "https://github.com/belak/base16-emacs.git")
5132 (commit version)))
5133 (file-name (git-file-name name version))
5134 (sha256
5135 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
5136 (build-system emacs-build-system)
5137 (home-page "https://github.com/belak/base16-emacs")
5138 (synopsis "Base16 color themes for Emacs")
5139 (description
5140 "Base16 provides carefully chosen syntax highlighting and a default set
5141 of sixteen colors suitable for a wide range of applications. Base16 is not a
5142 single theme but a set of guidelines with numerous implementations.")
5143 (license license:expat)))
5144
5145 (define-public emacs-solaire-mode
5146 (package
5147 (name "emacs-solaire-mode")
5148 (version "1.0.9")
5149 (source
5150 (origin
5151 (method git-fetch)
5152 (uri (git-reference
5153 (url "https://github.com/hlissner/emacs-solaire-mode.git")
5154 (commit (string-append "v" version))))
5155 (file-name (git-file-name name version))
5156 (sha256
5157 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
5158 (build-system emacs-build-system)
5159 (home-page "https://github.com/hlissner/emacs-solaire-mode")
5160 (synopsis "Change background of file-visiting buffers in Emacs")
5161 (description
5162 "@code{solaire-mode} is inspired by editors which visually distinguish
5163 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
5164 background of file-visiting buffers (and certain aspects of the UI) to make
5165 them easier to distinguish from other, less important buffers.")
5166 (license license:expat)))
5167
5168 (define-public emacs-prescient
5169 ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x
5170 ;; by default, so we use a non-release version ahead by one commit
5171 (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d")
5172 (revision "1"))
5173 (package
5174 (name "emacs-prescient")
5175 (version (git-version "3.3" revision commit))
5176 (source (origin
5177 (method git-fetch)
5178 (uri (git-reference
5179 (url "https://github.com/raxod502/prescient.el/")
5180 (commit commit)))
5181 (file-name (git-file-name name version))
5182 (sha256
5183 (base32
5184 "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7"))))
5185 (build-system emacs-build-system)
5186 (propagated-inputs
5187 `(("emacs-company" ,emacs-company)
5188 ("emacs-ivy" ,emacs-ivy)))
5189 (home-page "https://github.com/raxod502/prescient.el/")
5190 (synopsis "Library that sorts and filters lists of candidates")
5191 (description
5192 "This package provides a library for sorting and filtering, as well as
5193 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
5194 library.")
5195 (license license:gpl3+))))
5196
5197 (define-public emacs-smartparens
5198 (package
5199 (name "emacs-smartparens")
5200 (version "1.11.0")
5201 (source
5202 (origin
5203 (method git-fetch)
5204 (uri (git-reference
5205 (url "https://github.com/Fuco1/smartparens.git")
5206 (commit version)))
5207 (file-name (git-file-name name version))
5208 (sha256
5209 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
5210 (build-system emacs-build-system)
5211 (propagated-inputs
5212 `(("emacs-dash" ,emacs-dash)
5213 ("emacs-markdown-mode" ,emacs-markdown-mode)))
5214 (home-page "https://github.com/Fuco1/smartparens")
5215 (synopsis "Paredit-like insertion, wrapping and navigation with user
5216 defined pairs")
5217 (description
5218 "Smartparens is a minor mode for Emacs that deals with parens pairs
5219 and tries to be smart about it. It started as a unification effort to
5220 combine functionality of several existing packages in a single,
5221 compatible and extensible way to deal with parentheses, delimiters, tags
5222 and the like. Some of these packages include autopair, textmate,
5223 wrap-region, electric-pair-mode, paredit and others. With the basic
5224 features found in other packages it also brings many improvements as
5225 well as completely new features.")
5226 (license license:gpl3+)))
5227
5228 (define-public emacs-highlight-symbol
5229 ;; We prefer a more recent commit that provides an option to squelch
5230 ;; echo-area alerts that can drown out useful information like eldoc
5231 ;; messages.
5232 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
5233 (version "1.3")
5234 (revision "1"))
5235 (package
5236 (name "emacs-highlight-symbol")
5237 (version (git-version version revision commit))
5238 (source
5239 (origin
5240 (method git-fetch)
5241 (uri (git-reference
5242 (url "https://github.com/nschum/highlight-symbol.el.git")
5243 (commit commit)))
5244 (file-name (git-file-name name version))
5245 (sha256
5246 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
5247 (build-system emacs-build-system)
5248 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
5249 (synopsis "Automatic and manual symbol highlighting for Emacs")
5250 (description
5251 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
5252 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
5253 the symbol at point highlighted.
5254
5255 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
5256 @code{highlight-symbol-next-in-defun} and
5257 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
5258 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
5259 bindings @code{M-p} and @code{M-p} for navigation. When
5260 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
5261 regardless of @code{highlight-symbol-idle-delay}.
5262
5263 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
5264 (license license:gpl2+))))
5265
5266 (define-public emacs-symbol-overlay
5267 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
5268 (revision "1"))
5269 (package
5270 (name "emacs-symbol-overlay")
5271 (version (git-version "4.1" revision commit))
5272 (source
5273 (origin
5274 (method git-fetch)
5275 (uri (git-reference
5276 (url "https://github.com/wolray/symbol-overlay.git")
5277 (commit commit)))
5278 (file-name (git-file-name name version))
5279 (sha256
5280 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
5281 (build-system emacs-build-system)
5282 (home-page "https://github.com/wolray/symbol-overlay")
5283 (synopsis "Highlight symbols and perform various search operations on them")
5284 (description
5285 "This package provides functions for highlighting and navigating
5286 between symbols.")
5287 (license license:gpl3+))))
5288
5289 (define-public emacs-hl-todo
5290 (package
5291 (name "emacs-hl-todo")
5292 (version "3.0.0")
5293 (source (origin
5294 (method git-fetch)
5295 (uri (git-reference
5296 (url "https://github.com/tarsius/hl-todo")
5297 (commit (string-append "v" version))))
5298 (file-name (git-file-name name version))
5299 (sha256
5300 (base32
5301 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
5302 (build-system emacs-build-system)
5303 (home-page "https://github.com/tarsius/hl-todo")
5304 (synopsis "Emacs mode to highlight TODO and similar keywords")
5305 (description
5306 "This package provides an Emacs mode to highlight TODO and similar
5307 keywords in comments and strings. This package also provides commands for
5308 moving to the next or previous keyword and to invoke @code{occur} with a
5309 regexp that matches all known keywords.")
5310 (license license:gpl3+)))
5311
5312 (define-public emacs-perspective
5313 (package
5314 (name "emacs-perspective")
5315 (version "2.2")
5316 (source
5317 (origin
5318 (method git-fetch)
5319 (uri (git-reference
5320 (url "https://github.com/nex3/perspective-el.git")
5321 (commit version)))
5322 (file-name (git-file-name name version))
5323 (sha256
5324 (base32
5325 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
5326 (build-system emacs-build-system)
5327 (home-page "https://github.com/nex3/perspective-el")
5328 (synopsis "Switch between named \"perspectives\"")
5329 (description
5330 "This package provides tagged workspaces in Emacs, similar to workspaces in
5331 windows managers such as Awesome and XMonad. @code{perspective.el} provides
5332 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
5333 perspective is composed of a window configuration and a set of buffers.
5334 Switching to a perspective activates its window configuration, and when in a
5335 perspective only its buffers are available by default.")
5336 ;; This package is released under the same license as Emacs (GPLv3+) or
5337 ;; the Expat license.
5338 (license license:gpl3+)))
5339
5340 (define-public emacs-persp-mode
5341 (package
5342 (name "emacs-persp-mode")
5343 (version "2.9.8")
5344 (source
5345 (origin
5346 (method git-fetch)
5347 (uri (git-reference
5348 (url "https://github.com/Bad-ptr/persp-mode.el.git")
5349 (commit (string-append "v" version))))
5350 (file-name (git-file-name name version))
5351 (sha256
5352 (base32
5353 "0b4y7a6j70s9lvr37riyy9k5kh3yvmx0m6nd9c0c8572ji4ij65g"))))
5354 (build-system emacs-build-system)
5355 (home-page "https://github.com/Bad-ptr/persp-mode.el")
5356 (synopsis "Switch between named \"perspectives\" shared among frames")
5357 (description
5358 "This package extends @code{perspective.el} to enable perspectives that
5359 can be saved to and restored from a file.")
5360 (license license:gpl2+)))
5361
5362 (define-public emacs-test-simple
5363 (package
5364 (name "emacs-test-simple")
5365 (version "1.3.0")
5366 (source
5367 (origin
5368 (method url-fetch)
5369 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
5370 version ".el"))
5371 (sha256
5372 (base32
5373 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
5374 (build-system emacs-build-system)
5375 (home-page "https://github.com/rocky/emacs-test-simple")
5376 (synopsis "Simple unit test framework for Emacs Lisp")
5377 (description
5378 "Test Simple is a simple unit test framework for Emacs Lisp. It
5379 alleviates the need for context macros, enclosing specifications or required
5380 test tags. It supports both interactive and non-interactive use.")
5381 (license license:gpl3+)))
5382
5383 (define-public emacs-load-relative
5384 (package
5385 (name "emacs-load-relative")
5386 (version "1.3.1")
5387 (source
5388 (origin
5389 (method url-fetch)
5390 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
5391 version ".el"))
5392 (sha256
5393 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
5394 (build-system emacs-build-system)
5395 (home-page "http://github.com/rocky/emacs-load-relative")
5396 (synopsis "Emacs Lisp relative file loading related functions")
5397 (description
5398 "Provides functions which facilitate writing multi-file Emacs packages
5399 and running from the source tree without having to \"install\" code or fiddle
5400 with @{load-path}.
5401
5402 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
5403 another (presumably currently running) Emacs Lisp file.")
5404 (license license:gpl3+)))
5405
5406 (define-public emacs-loc-changes
5407 (package
5408 (name "emacs-loc-changes")
5409 (version "1.2")
5410 (source
5411 (origin
5412 (method url-fetch)
5413 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
5414 version ".el"))
5415 (sha256
5416 (base32
5417 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
5418 (build-system emacs-build-system)
5419 (home-page "https://github.com/rocky/emacs-loc-changes")
5420 (synopsis "Keeps track of positions even after buffer changes")
5421 (description
5422 "This Emacs package provides a mean to track important buffer positions
5423 after buffer changes.")
5424 (license license:gpl3+)))
5425
5426 (define-public emacs-realgud
5427 (package
5428 (name "emacs-realgud")
5429 (version "1.5.1")
5430 (source
5431 (origin
5432 (method git-fetch)
5433 (uri (git-reference
5434 (url "https://github.com/realgud/realgud/")
5435 (commit version)))
5436 (sha256
5437 (base32
5438 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
5439 (file-name (git-file-name name version))))
5440 (build-system emacs-build-system)
5441 (arguments
5442 `(#:tests? #t
5443 #:phases
5444 (modify-phases %standard-phases
5445 (add-after 'unpack 'fix-autogen-script
5446 (lambda _
5447 (substitute* "autogen.sh"
5448 (("./configure") "sh configure"))))
5449 (add-after 'fix-autogen-script 'autogen
5450 (lambda _
5451 (setenv "CONFIG_SHELL" "sh")
5452 (invoke "sh" "autogen.sh")))
5453 (add-after 'fix-autogen-script 'set-home
5454 (lambda _
5455 (setenv "HOME" (getenv "TMPDIR"))))
5456 (add-before 'patch-el-files 'remove-realgud-pkg.el
5457 (lambda _
5458 ;; FIXME: `patch-el-files' crashes on this file with error:
5459 ;; unable to locate "bashdb".
5460 (delete-file "./test/test-regexp-bashdb.el"))))
5461 #:include (cons* ".*\\.el$" %default-include)))
5462 (native-inputs
5463 `(("autoconf" ,autoconf)
5464 ("automake" ,automake)
5465 ("emacs-test-simple" ,emacs-test-simple)))
5466 (propagated-inputs
5467 `(("emacs-load-relative" ,emacs-load-relative)
5468 ("emacs-loc-changes" ,emacs-loc-changes)))
5469 (home-page "https://github.com/realgud/realgud/")
5470 (synopsis
5471 "Modular front-end for interacting with external debuggers")
5472 (description
5473 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
5474 with external debuggers. It integrates various debuggers such as gdb, pdb,
5475 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
5476 sources. Unlike GUD, it also supports running multiple debug sessions in
5477 parallel.")
5478 (license license:gpl3+)))
5479
5480 (define-public emacs-request
5481 (package
5482 (name "emacs-request")
5483 (version "0.3.2")
5484 (source (origin
5485 (method git-fetch)
5486 (uri (git-reference
5487 (url "https://github.com/tkf/emacs-request.git")
5488 (commit (string-append "v" version))))
5489 (file-name (git-file-name name version))
5490 (sha256
5491 (base32
5492 "1djywhvvb6kwdj0nd3axjvb7k2g06dzkc6hsf29w9rsk96vr8ryl"))))
5493 (build-system emacs-build-system)
5494 (arguments
5495 `(#:tests? #f)) ; requires network access.
5496 (propagated-inputs
5497 `(("emacs-deferred" ,emacs-deferred)))
5498 (home-page "https://github.com/tkf/emacs-request")
5499 (synopsis "Package for speaking HTTP in Emacs Lisp")
5500 (description "This package provides a HTTP request library with multiple
5501 backends. It supports url.el which is shipped with Emacs and the curl command
5502 line program.")
5503 (license license:gpl3+)))
5504
5505 (define-public emacs-rudel
5506 (package
5507 (name "emacs-rudel")
5508 (version "0.3.1")
5509 (source
5510 (origin
5511 (method url-fetch)
5512 (uri (string-append "https://elpa.gnu.org/packages/rudel-"
5513 version ".tar"))
5514 (sha256
5515 (base32
5516 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
5517 (build-system emacs-build-system)
5518 (home-page "http://rudel.sourceforge.net/")
5519 (synopsis "Collaborative editing framework")
5520 (description
5521 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
5522 is to share buffers with other users in order to edit the contents of those
5523 buffers collaboratively. Rudel supports multiple backends to enable
5524 communication with other collaborative editors using different protocols,
5525 though currently Obby (for use with the Gobby editor) is the only
5526 fully-functional one.")
5527 (license license:gpl3+)))
5528
5529 (define-public emacs-hydra
5530 (package
5531 (name "emacs-hydra")
5532 (version "0.15.0")
5533 (source
5534 (origin
5535 (method git-fetch)
5536 (uri (git-reference
5537 (url "https://github.com/abo-abo/hydra")
5538 (commit version)))
5539 (file-name (git-file-name name version))
5540 (sha256
5541 (base32
5542 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
5543 (build-system emacs-build-system)
5544 (arguments
5545 `(#:tests? #t
5546 #:test-command '("make" "test")))
5547 (home-page "https://github.com/abo-abo/hydra")
5548 (synopsis "Make Emacs bindings that stick around")
5549 (description
5550 "This package can be used to tie related commands into a family of short
5551 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
5552 the prefixed binding), all the heads can be called in succession with only a
5553 short extension. Any binding that isn't the Hydra's head vanquishes the
5554 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
5555 serve its original purpose, calling the command assigned to it. This makes
5556 the Hydra very seamless; it's like a minor mode that disables itself
5557 automatically.")
5558 (license license:gpl3+)))
5559
5560 (define-public emacs-ivy
5561 (package
5562 (name "emacs-ivy")
5563 (version "0.13.0")
5564 (source
5565 (origin
5566 (method git-fetch)
5567 (uri (git-reference
5568 (url "https://github.com/abo-abo/swiper.git")
5569 (commit version)))
5570 (file-name (git-file-name name version))
5571 (sha256
5572 (base32
5573 "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"))))
5574 (build-system emacs-build-system)
5575 (arguments
5576 `(#:phases
5577 (modify-phases %standard-phases
5578 (add-after 'install 'install-doc
5579 (lambda* (#:key outputs #:allow-other-keys)
5580 (let* ((out (assoc-ref outputs "out"))
5581 (info (string-append out "/share/info")))
5582 (with-directory-excursion "doc"
5583 (invoke "makeinfo" "ivy.texi")
5584 (install-file "ivy.info" info)
5585 #t))))
5586 (add-before 'check 'make-dummy-git-directory
5587 (lambda _
5588 (mkdir-p ".git")))
5589 (add-after 'check 'delete-dummy-git-directory
5590 (lambda _
5591 (delete-file-recursively ".git"))))
5592 #:tests? #t
5593 #:test-command '("make" "test")))
5594 (propagated-inputs
5595 `(("emacs-hydra" ,emacs-hydra)))
5596 (native-inputs
5597 `(("texinfo" ,texinfo)
5598 ("emacs-wgrep" ,emacs-wgrep)))
5599 (home-page "http://oremacs.com/swiper/")
5600 (synopsis "Incremental vertical completion for Emacs")
5601 (description
5602 "This package provides @code{ivy-read} as an alternative to
5603 @code{completing-read} and similar functions. No attempt is made to determine
5604 the best candidate. Instead, the user can navigate candidates with
5605 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
5606 splitting the input text by spaces and re-building it into a regular
5607 expression.")
5608 (license license:gpl3+)))
5609
5610 (define-public emacs-ivy-xref
5611 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
5612 (revision "1"))
5613 (package
5614 (name "emacs-ivy-xref")
5615 (version (git-version "0.1" revision commit))
5616 (source
5617 (origin
5618 (method git-fetch)
5619 (uri (git-reference
5620 (url "https://github.com/alexmurray/ivy-xref.git")
5621 (commit commit)))
5622 (file-name (git-file-name name version))
5623 (sha256
5624 (base32
5625 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
5626 (build-system emacs-build-system)
5627 (propagated-inputs
5628 `(("emacs-ivy" ,emacs-ivy)))
5629 (home-page "https://github.com/alexmurray/ivy-xref")
5630 (synopsis "Ivy interface for @code{xref}")
5631 (description "This package provides an Ivy interface for selecting from
5632 @code{xref} results.")
5633 (license license:gpl3))))
5634
5635 (define-public emacs-ivy-pass
5636 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
5637 (revision "1"))
5638 (package
5639 (name "emacs-ivy-pass")
5640 (version (git-version "0.1" revision commit))
5641 (source
5642 (origin
5643 (method git-fetch)
5644 (uri (git-reference
5645 (url "https://github.com/ecraven/ivy-pass.git")
5646 (commit commit)))
5647 (file-name (git-file-name name version))
5648 (sha256
5649 (base32
5650 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
5651 (build-system emacs-build-system)
5652 (propagated-inputs
5653 `(("emacs-ivy" ,emacs-ivy)
5654 ("emacs-password-store" ,emacs-password-store)
5655 ("password-store" ,password-store)))
5656 (home-page "https://github.com/ecraven/ivy-pass")
5657 (synopsis "Ivy interface for password store (pass)")
5658 (description "This package provides an Ivy interface for working with
5659 the password store @code{pass}.")
5660 (license license:gpl3))))
5661
5662 (define-public emacs-ivy-yasnippet
5663 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
5664 (revision "2"))
5665 (package
5666 (name "emacs-ivy-yasnippet")
5667 (version (git-version "0.1" revision commit))
5668 (source
5669 (origin
5670 (method git-fetch)
5671 (uri (git-reference
5672 (url "https://github.com/mkcms/ivy-yasnippet.git")
5673 (commit commit)))
5674 (file-name (git-file-name name version))
5675 (sha256
5676 (base32
5677 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
5678 (build-system emacs-build-system)
5679 (propagated-inputs
5680 `(("emacs-ivy" ,emacs-ivy)
5681 ("emacs-yasnippet" ,emacs-yasnippet)
5682 ("emacs-dash" ,emacs-dash)))
5683 (home-page "https://github.com/mkcms/ivy-yasnippet")
5684 (synopsis "Preview @code{yasnippets} with @code{ivy}")
5685 (description "This package allows you to select @code{yasnippet}
5686 snippets using @code{ivy} completion. When current selection changes in the
5687 minibuffer, the snippet contents are temporarily expanded in the buffer. To
5688 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
5689 @code{yas-minor-mode} first).")
5690 (license license:gpl3+))))
5691
5692 (define-public emacs-ivy-rich
5693 ;; The latest release version has a small mistake that has since been fixed,
5694 ;; so we use a more recent commit.
5695 (let ((commit "7a667b135983a1f3ad33d6db8514638e2a3bdfb3")
5696 (revision "2"))
5697 (package
5698 (name "emacs-ivy-rich")
5699 (version (git-version "0.1.4" revision commit))
5700 (source
5701 (origin
5702 (method git-fetch)
5703 (uri (git-reference
5704 (url "https://github.com/Yevgnen/ivy-rich.git")
5705 (commit commit)))
5706 (file-name (git-file-name name version))
5707 (sha256
5708 (base32 "1v5j6pak2j1wjw19y7rx9rhxif0bj2h47xyl2knfcl6fi4qiqm9y"))))
5709 (build-system emacs-build-system)
5710 (propagated-inputs
5711 `(("emacs-ivy" ,emacs-ivy)))
5712 (home-page "https://github.com/Yevgnen/ivy-rich")
5713 (synopsis "More friendly interface for @code{ivy}")
5714 (description
5715 "This package extends @code{ivy} by showing more information in the
5716 minibuffer for each candidate. It adds columns showing buffer modes, file
5717 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
5718 show icons as well.")
5719 (license license:gpl3+))))
5720
5721 (define-public emacs-avy
5722 (package
5723 (name "emacs-avy")
5724 (version "0.5.0")
5725 (source
5726 (origin
5727 (method git-fetch)
5728 (uri (git-reference
5729 (url "https://github.com/abo-abo/avy.git")
5730 (commit version)))
5731 (file-name (git-file-name name version))
5732 (sha256
5733 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
5734 (build-system emacs-build-system)
5735 (arguments
5736 `(#:tests? #t
5737 #:test-command '("make" "test")))
5738 (home-page "https://github.com/abo-abo/avy")
5739 (synopsis "Tree-based completion for Emacs")
5740 (description
5741 "This package provides a generic completion method based on building a
5742 balanced decision tree with each candidate being a leaf. To traverse the tree
5743 from the root to a desired leaf, typically a sequence of @code{read-key} can
5744 be used.
5745
5746 In order for @code{read-key} to make sense, the tree needs to be visualized
5747 appropriately, with a character at each branch node. So this completion
5748 method works only for things that you can see on your screen, all at once,
5749 such as the positions of characters, words, line beginnings, links, or
5750 windows.")
5751 (license license:gpl3+)))
5752
5753 (define-public emacs-ace-window
5754 ;; last release version is from 2015
5755 (let ((commit "a5344925e399e1f015721cda6cf5db03c90ab87a")
5756 (revision "1"))
5757 (package
5758 (name "emacs-ace-window")
5759 (version (git-version "0.9.0" revision commit))
5760 (source
5761 (origin
5762 (method git-fetch)
5763 (uri (git-reference
5764 (url "https://github.com/abo-abo/ace-window.git")
5765 (commit commit)))
5766 (file-name (git-file-name name version))
5767 (sha256
5768 (base32
5769 "18jm8gfgnf6ja9aarws5650lw2zfi3wdwc5j8r5ijn5fcqhfy7rc"))))
5770 (build-system emacs-build-system)
5771 (propagated-inputs
5772 `(("emacs-avy" ,emacs-avy)))
5773 (home-page "https://github.com/abo-abo/ace-window")
5774 (synopsis "Quickly switch windows in Emacs")
5775 (description
5776 "@code{ace-window} is meant to replace @code{other-window}.
5777 In fact, when there are only two windows present, @code{other-window} is
5778 called. If there are more, each window will have its first character
5779 highlighted. Pressing that character will switch to that window.")
5780 (license license:gpl3+))))
5781
5782 (define-public emacs-iedit
5783 ;; Last release version was in 2016.
5784 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
5785 (revision "1"))
5786 (package
5787 (name "emacs-iedit")
5788 (version (git-version "0.9.9.9" revision commit))
5789 (source
5790 (origin
5791 (method git-fetch)
5792 (uri (git-reference
5793 (url "https://github.com/victorhge/iedit.git")
5794 (commit commit)))
5795 (file-name (git-file-name name version))
5796 (sha256
5797 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
5798 (build-system emacs-build-system)
5799 (home-page "https://www.emacswiki.org/emacs/Iedit")
5800 (synopsis "Edit multiple regions in the same way simultaneously")
5801 (description
5802 "This package is an Emacs minor mode and allows you to edit one
5803 occurrence of some text in a buffer (possibly narrowed) or region, and
5804 simultaneously have other occurrences edited in the same way.
5805
5806 You can also use Iedit mode as a quick way to temporarily show only the buffer
5807 lines that match the current text being edited. This gives you the effect of
5808 a temporary @code{keep-lines} or @code{occur}.")
5809 (license license:gpl3+))))
5810
5811 (define-public emacs-zoutline
5812 (package
5813 (name "emacs-zoutline")
5814 (version "0.2.0")
5815 (source
5816 (origin
5817 (method git-fetch)
5818 (uri (git-reference
5819 (url "https://github.com/abo-abo/zoutline")
5820 (commit version)))
5821 (sha256
5822 (base32
5823 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
5824 (file-name (git-file-name name version))))
5825 (build-system emacs-build-system)
5826 (home-page "https://github.com/abo-abo/zoutline")
5827 (synopsis "Simple outline library")
5828 (description
5829 "This library provides helpers for outlines. Outlines allow users to
5830 navigate code in a tree-like fashion.")
5831 (license license:gpl3+)))
5832
5833 (define-public emacs-lispy
5834 (package
5835 (name "emacs-lispy")
5836 (version "0.27.0")
5837 (home-page "https://github.com/abo-abo/lispy")
5838 (source (origin
5839 (method git-fetch)
5840 (uri (git-reference
5841 (url "https://github.com/abo-abo/lispy")
5842 (commit version)))
5843 (sha256
5844 (base32
5845 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
5846 (file-name (git-file-name name version))))
5847 (build-system emacs-build-system)
5848 (propagated-inputs
5849 `(("emacs-ace-window" ,emacs-ace-window)
5850 ("emacs-iedit" ,emacs-iedit)
5851 ("emacs-ivy" ,emacs-ivy)
5852 ("emacs-hydra" ,emacs-hydra)
5853 ("emacs-zoutline" ,emacs-zoutline)))
5854 (native-inputs
5855 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5856 ("emacs-undercover" ,emacs-undercover)))
5857 (arguments
5858 `(#:include (cons* "^lispy-clojure\\.clj$"
5859 "^lispy-python\\.py$"
5860 %default-include)
5861 #:phases
5862 ;; XXX: one failing test involving python evaluation
5863 (modify-phases %standard-phases
5864 (add-before 'check 'make-test-writable
5865 (lambda _
5866 (make-file-writable "lispy-test.el")
5867 #t))
5868 (add-before 'check 'remove-python-eval-test
5869 (lambda _
5870 (emacs-batch-edit-file "lispy-test.el"
5871 `(progn
5872 (progn
5873 (goto-char (point-min))
5874 (re-search-forward
5875 "ert-deftest lispy-eval-python-str")
5876 (beginning-of-line)
5877 (kill-sexp))
5878 (basic-save-buffer)))
5879 #t)))
5880 #:tests? #t
5881 #:test-command '("make" "test")))
5882 (synopsis "Modal S-expression editing")
5883 (description
5884 "Due to the structure of Lisp syntax it's very rare for the programmer
5885 to want to insert characters right before \"(\" or right after \")\". Thus
5886 unprefixed printable characters can be used to call commands when the point is
5887 at one of these special locations. Lispy provides unprefixed keybindings for
5888 S-expression editing when point is at the beginning or end of an
5889 S-expression.")
5890 (license license:gpl3+)))
5891
5892 (define-public emacs-lispyville
5893 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
5894 (revision "1"))
5895 (package
5896 (name "emacs-lispyville")
5897 (version (git-version "0.1" revision commit))
5898 (home-page "https://github.com/noctuid/lispyville")
5899 (source (origin
5900 (method git-fetch)
5901 (uri (git-reference (url home-page) (commit commit)))
5902 (sha256
5903 (base32
5904 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
5905 (file-name (git-file-name name version))))
5906 (propagated-inputs
5907 `(("emacs-evil" ,emacs-evil)
5908 ("emacs-lispy" ,emacs-lispy)))
5909 (build-system emacs-build-system)
5910 (arguments
5911 `(#:phases
5912 ;; XXX: mysterious whitespace issue with one test
5913 (modify-phases %standard-phases
5914 (add-before 'check 'make-test-writable
5915 (lambda _
5916 (make-file-writable "lispyville-test.el")
5917 #t))
5918 (add-after 'make-test-writable 'remove-test
5919 (lambda _
5920 (emacs-batch-edit-file "lispyville-test.el"
5921 `(progn (progn (goto-char (point-min))
5922 (re-search-forward
5923 "ert-deftest lispyville-comment-and-clone-dwim")
5924 (beginning-of-line)
5925 (kill-sexp))
5926 (basic-save-buffer))))))
5927 #:tests? #t
5928 #:test-command '("make" "test")))
5929 (synopsis "Minor mode for integrating Evil with lispy")
5930 (description
5931 "LispyVille's main purpose is to provide a Lisp editing environment
5932 suited towards Evil users. It can serve as a minimal layer on top of lispy
5933 for better integration with Evil, but it does not require the use of lispy’s
5934 keybinding style. The provided commands allow for editing Lisp in normal
5935 state and will work even without lispy being enabled.")
5936 (license license:gpl3+))))
5937
5938 (define-public emacs-lpy
5939 (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
5940 (revision "3"))
5941 (package
5942 (name "emacs-lpy")
5943 (version (git-version "0.1.0" revision commit))
5944 (source
5945 (origin
5946 (method git-fetch)
5947 (uri (git-reference
5948 (url "https://github.com/abo-abo/lpy")
5949 (commit commit)))
5950 (sha256
5951 (base32
5952 "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
5953 (file-name (git-file-name name version))))
5954 (propagated-inputs
5955 `(("emacs-zoutline" ,emacs-zoutline)
5956 ("emacs-lispy" ,emacs-lispy)))
5957 (build-system emacs-build-system)
5958 (home-page "https://github.com/abo-abo/lpy")
5959 (synopsis "Modal editing for Python")
5960 (description
5961 "This package provides a minor mode for Python that binds useful
5962 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
5963 circumstances, and leaves the keys untouched outside of those situations,
5964 allowing unprefixed keys to insert their respective characters as expected.")
5965 (license license:gpl3+))))
5966
5967 (define-public emacs-clojure-mode
5968 (package
5969 (name "emacs-clojure-mode")
5970 (version "5.6.1")
5971 (source
5972 (origin
5973 (method git-fetch)
5974 (uri (git-reference
5975 (url "https://github.com/clojure-emacs/clojure-mode.git")
5976 (commit version)))
5977 (file-name (git-file-name name version))
5978 (sha256
5979 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
5980 (build-system emacs-build-system)
5981 (native-inputs
5982 `(("emacs-dash" ,emacs-dash)
5983 ("emacs-s" ,emacs-s)
5984 ("ert-runner" ,emacs-ert-runner)))
5985 (arguments
5986 `(#:tests? #t
5987 #:test-command '("ert-runner")))
5988 (home-page "https://github.com/clojure-emacs/clojure-mode")
5989 (synopsis "Major mode for Clojure code")
5990 (description
5991 "This Emacs package provides font-lock, indentation, navigation and basic
5992 refactoring for the @uref{http://clojure.org, Clojure programming language}.
5993 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
5994 (license license:gpl3+)))
5995
5996 (define-public emacs-epl
5997 (package
5998 (name "emacs-epl")
5999 (version "0.8")
6000 (source
6001 (origin
6002 (method git-fetch)
6003 (uri (git-reference
6004 (url "https://github.com/cask/epl.git")
6005 (commit version)))
6006 (file-name (git-file-name name version))
6007 (sha256
6008 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
6009 (build-system emacs-build-system)
6010 (home-page "https://github.com/cask/epl")
6011 (synopsis "Emacs Package Library")
6012 (description
6013 "A package management library for Emacs, based on @code{package.el}.
6014
6015 The purpose of this library is to wrap all the quirks and hassle of
6016 @code{package.el} into a sane API.")
6017 (license license:gpl3+)))
6018
6019 (define-public emacs-counsel-projectile
6020 (package
6021 (name "emacs-counsel-projectile")
6022 (version "0.3.0")
6023 (source (origin
6024 (method git-fetch)
6025 (uri (git-reference
6026 (url "https://github.com/ericdanan/counsel-projectile")
6027 (commit version)))
6028 (file-name (git-file-name name version))
6029 (sha256
6030 (base32
6031 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
6032 (build-system emacs-build-system)
6033 (propagated-inputs
6034 `(("emacs-ivy" ,emacs-ivy)
6035 ("emacs-projectile" ,emacs-projectile)))
6036 (home-page "https://github.com/ericdanan/counsel-projectile")
6037 (synopsis "Enhance Projectile with Ivy")
6038 (description
6039 "This package uses Ivy to provide additional actions for Projectile
6040 commands and replacements for existing functions.")
6041 (license license:gpl3+)))
6042
6043 (define-public emacs-queue
6044 (package
6045 (name "emacs-queue")
6046 (version "0.2")
6047 (source (origin
6048 (method url-fetch)
6049 (uri (string-append "https://elpa.gnu.org/packages/queue-"
6050 version ".el"))
6051 (sha256
6052 (base32
6053 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
6054 (build-system emacs-build-system)
6055 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
6056 (synopsis "Queue data structure for Emacs")
6057 (description
6058 "This Emacs library provides queue data structure. These queues can be
6059 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
6060 stack, i.e. elements can be added to the front or back of the queue, and can
6061 be removed from the front. This type of data structure is sometimes called an
6062 \"output-restricted deque\".")
6063 (license license:gpl3+)))
6064
6065 (define-public emacs-pkg-info
6066 (package
6067 (name "emacs-pkg-info")
6068 (version "0.6")
6069 (source
6070 (origin
6071 (method git-fetch)
6072 (uri (git-reference
6073 (url "https://github.com/lunaryorn/pkg-info.el.git")
6074 (commit version)))
6075 (file-name (git-file-name name version))
6076 (sha256
6077 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
6078 (build-system emacs-build-system)
6079 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
6080 (home-page "https://github.com/lunaryorn/pkg-info.el")
6081 (synopsis "Information about Emacs packages")
6082 (description
6083 "This library extracts information from the installed Emacs packages.")
6084 (license license:gpl3+)))
6085
6086 (define-public emacs-spinner
6087 (package
6088 (name "emacs-spinner")
6089 (version "1.7.3")
6090 (source (origin
6091 (method url-fetch)
6092 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
6093 version ".el"))
6094 (sha256
6095 (base32
6096 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
6097 (build-system emacs-build-system)
6098 (home-page "https://github.com/Malabarba/spinner.el")
6099 (synopsis "Emacs mode-line spinner for operations in progress")
6100 (description
6101 "This Emacs package adds spinners and progress-bars to the mode-line for
6102 ongoing operations.")
6103 (license license:gpl3+)))
6104
6105 (define-public emacs-sparql-mode
6106 (package
6107 (name "emacs-sparql-mode")
6108 (version "2.0.1")
6109 (source
6110 (origin
6111 (method git-fetch)
6112 (uri (git-reference
6113 (url "https://github.com/ljos/sparql-mode.git")
6114 (commit (string-append "v" version))))
6115 (file-name (git-file-name name version))
6116 (sha256
6117 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
6118 (build-system emacs-build-system)
6119 (home-page "https://github.com/ljos/sparql-mode")
6120 (synopsis "SPARQL mode for Emacs")
6121 (description "This package provides a major mode for Emacs that provides
6122 syntax highlighting for SPARQL. It also provides a way to execute queries
6123 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
6124 possible to query other endpoints like DBPedia.")
6125 (license license:gpl3+)))
6126
6127 (define-public emacs-better-defaults
6128 (package
6129 (name "emacs-better-defaults")
6130 (version "0.1.3")
6131 (source
6132 (origin
6133 (method git-fetch)
6134 (uri (git-reference
6135 (url "https://github.com/technomancy/better-defaults")
6136 (commit version)))
6137 (file-name (git-file-name name version))
6138 (sha256
6139 (base32
6140 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
6141 (build-system emacs-build-system)
6142 (home-page "https://github.com/technomancy/better-defaults")
6143 (synopsis "Better defaults for Emacs")
6144 (description
6145 "Better defaults attempts to address the most obvious deficiencies of the
6146 Emacs default configuration in uncontroversial ways that nearly everyone can
6147 agree upon.")
6148 (license license:gpl3+)))
6149
6150 (define-public emacs-undohist-el
6151 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
6152 (revision "1"))
6153 (package
6154 (name "emacs-undohist-el")
6155 (version (git-version "0" revision commit))
6156 (source
6157 (origin
6158 (method git-fetch)
6159 (uri (git-reference
6160 (url "https://github.com/m2ym/undohist-el")
6161 (commit commit)))
6162 (file-name (git-file-name name version))
6163 (sha256
6164 (base32
6165 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
6166 (patches
6167 (search-patches "emacs-undohist-ignored.patch"))))
6168 (build-system emacs-build-system)
6169 (home-page "https://github.com/m2ym/undohist-el")
6170 (synopsis "Save undo history between sessions")
6171 (description "This package allows persistent use of undo history for
6172 individual file buffers.")
6173 (license license:gpl3+))))
6174
6175 (define-public emacs-eprime
6176 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
6177 (package
6178 (name "emacs-eprime")
6179 (version (string-append "20140513-" (string-take commit 7)))
6180 (source (origin
6181 (method url-fetch)
6182 (uri (string-append "https://raw.githubusercontent.com"
6183 "/AndrewHynes/eprime-mode/"
6184 commit "/eprime-mode.el"))
6185 (file-name (string-append "eprime-" version ".el"))
6186 (sha256
6187 (base32
6188 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
6189 (build-system emacs-build-system)
6190 (home-page "https://github.com/AndrewHynes/eprime-mode")
6191 (synopsis "E-prime checking mode for Emacs")
6192 (description "This package provides an E-prime checking mode for Emacs
6193 that highlights non-conforming text. The subset of the English language called
6194 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
6195 (license license:gpl3+))))
6196
6197 (define-public emacs-julia-mode
6198 ;; XXX: Upstream version remained stuck at 0.3. See
6199 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
6200 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
6201 (revision "1"))
6202 (package
6203 (name "emacs-julia-mode")
6204 (version (string-append "0.3-" revision "." (string-take commit 8)))
6205 (source
6206 (origin
6207 (method git-fetch)
6208 (uri (git-reference
6209 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
6210 (commit commit)))
6211 (file-name (git-file-name name version))
6212 (sha256
6213 (base32
6214 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
6215 (build-system emacs-build-system)
6216 (arguments
6217 `(#:tests? #t
6218 #:test-command '("emacs" "--batch"
6219 "-l" "julia-mode-tests.el"
6220 "-f" "ert-run-tests-batch-and-exit")))
6221 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
6222 (synopsis "Major mode for Julia")
6223 (description "This Emacs package provides a mode for the Julia
6224 programming language.")
6225 (license license:expat))))
6226
6227 (define-public emacs-smex
6228 (package
6229 (name "emacs-smex")
6230 (version "3.0")
6231 (source (origin
6232 (method url-fetch)
6233 (uri (string-append "https://raw.githubusercontent.com"
6234 "/nonsequitur/smex/" version "/smex.el"))
6235 (file-name (string-append "smex-" version ".el"))
6236 (sha256
6237 (base32
6238 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
6239 (build-system emacs-build-system)
6240 (home-page "https://github.com/nonsequitur/smex/")
6241 (synopsis "M-x interface with Ido-style fuzzy matching")
6242 (description
6243 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
6244 convenient interface to your recently and most frequently used commands. And
6245 to all the other commands, too.")
6246 (license license:gpl3+)))
6247
6248 (define-public emacs-js2-mode
6249 (package
6250 (name "emacs-js2-mode")
6251 (version "20190219")
6252 (source
6253 (origin
6254 (method git-fetch)
6255 (uri (git-reference
6256 (url "https://github.com/mooz/js2-mode.git")
6257 (commit version)))
6258 (file-name (git-file-name name version))
6259 (sha256
6260 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
6261 (build-system emacs-build-system)
6262 (arguments
6263 `(#:tests? #t
6264 #:test-command '("make" "test")))
6265 (home-page "https://github.com/mooz/js2-mode/")
6266 (synopsis "Improved JavaScript editing mode for Emacs")
6267 (description
6268 "Js2-mode provides a JavaScript major mode for Emacs that is more
6269 advanced than the built-in javascript-mode. Features include accurate syntax
6270 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
6271 errors and strict-mode warnings, smart line-wrapping within comments and
6272 strings, and code folding.")
6273 (license license:gpl3+)))
6274
6275 (define-public emacs-nodejs-repl
6276 (package
6277 (name "emacs-nodejs-repl")
6278 (version "0.2.2")
6279 (source (origin
6280 (method git-fetch)
6281 (uri (git-reference
6282 (url "https://github.com/abicky/nodejs-repl.el")
6283 (commit version)))
6284 (file-name (git-file-name name version))
6285 (sha256
6286 (base32
6287 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
6288 (build-system emacs-build-system)
6289 (inputs
6290 `(("node" ,node)))
6291 (native-inputs
6292 `(("emacs-ert-expectations" ,emacs-ert-expectations)))
6293 (arguments
6294 `(#:phases
6295 (modify-phases %standard-phases
6296 (add-after 'unpack 'set-shell
6297 ;; Setting the SHELL environment variable is required for the tests
6298 ;; to find sh.
6299 (lambda _
6300 (setenv "SHELL" (which "sh"))
6301 #t))
6302 (add-after 'unpack 'configure
6303 (lambda* (#:key inputs outputs #:allow-other-keys)
6304 (let ((node (assoc-ref inputs "node")))
6305 ;; Specify the absolute file names of the various
6306 ;; programs so that everything works out-of-the-box.
6307 (make-file-writable "nodejs-repl.el")
6308 (emacs-substitute-variables
6309 "nodejs-repl.el"
6310 ("nodejs-repl-command"
6311 (string-append node "/bin/node")))))))
6312 #:tests? #t
6313 #:test-command '("emacs" "-Q" "--batch"
6314 "-L" "."
6315 "-l" "test/test.el"
6316 "-f" "ert-run-tests-batch-and-exit")))
6317 (home-page "https://github.com/abicky/nodejs-repl.el")
6318 (synopsis "Node.js REPL inside Emacs")
6319 (description
6320 "This program is derived from comint-mode and provides the following
6321 features:
6322
6323 @itemize
6324 @item TAB completion same as Node.js REPL
6325 @item file name completion in string
6326 @item incremental history search
6327 @end itemize")
6328 (license license:gpl3+)))
6329
6330 (define-public emacs-typescript-mode
6331 (package
6332 (name "emacs-typescript-mode")
6333 (version "0.3")
6334 (source (origin
6335 (method git-fetch)
6336 (uri (git-reference
6337 (url "https://github.com/ananthakumaran/typescript.el")
6338 (commit (string-append "v" version))))
6339 (file-name (git-file-name name version))
6340 (sha256
6341 (base32
6342 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
6343 (build-system emacs-build-system)
6344 (home-page "https://github.com/ananthakumaran/typescript.el")
6345 (synopsis "Emacs major mode for editing Typescript code")
6346 (description
6347 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
6348 This is much more robust and works with @code{cc-mode}'s comment
6349 filling (mostly). The modifications to the original @code{javascript.el} mode
6350 mainly consisted in replacing \"javascript\" with \"typescript\"
6351
6352 The main features of this Typescript mode are syntactic highlighting (enabled
6353 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
6354 indentation and filling of comments and C preprocessor fontification.")
6355 (license license:gpl3+)))
6356
6357 (define-public emacs-tide
6358 (package
6359 (name "emacs-tide")
6360 (version "3.2.3")
6361 (source (origin
6362 (method git-fetch)
6363 (uri (git-reference
6364 (url "https://github.com/ananthakumaran/tide")
6365 (commit (string-append "v" version))))
6366 (file-name (git-file-name name version))
6367 (sha256
6368 (base32
6369 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
6370 (build-system emacs-build-system)
6371 (propagated-inputs
6372 `(("emacs-dash" ,emacs-dash)
6373 ("emacs-s" ,emacs-s)
6374 ("emacs-flycheck" ,emacs-flycheck)
6375 ("emacs-typescript-mode" ,emacs-typescript-mode)))
6376 (home-page "https://github.com/ananthakumaran/tide")
6377 (synopsis "Typescript IDE for Emacs")
6378 (description
6379 "Tide is an Interactive Development Environment (IDE) for Emacs which
6380 provides the following features:
6381
6382 @itemize
6383 @item ElDoc
6384 @item Auto complete
6385 @item Flycheck
6386 @item Jump to definition, Jump to type definition
6387 @item Find occurrences
6388 @item Rename symbol
6389 @item Imenu
6390 @item Compile On Save
6391 @item Highlight Identifiers
6392 @item Code Fixes
6393 @item Code Refactor
6394 @item Organize Imports
6395 @end itemize")
6396 (license license:gpl3+)))
6397
6398 (define-public emacs-markdown-mode
6399 (package
6400 (name "emacs-markdown-mode")
6401 (version "2.3")
6402 (source (origin
6403 (method git-fetch)
6404 (uri (git-reference
6405 (url "https://github.com/jrblevin/markdown-mode.git")
6406 (commit (string-append "v" version))))
6407 (file-name (git-file-name name version))
6408 (sha256
6409 (base32
6410 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7"))))
6411 (build-system emacs-build-system)
6412 (home-page "https://jblevins.org/projects/markdown-mode/")
6413 (synopsis "Emacs Major mode for Markdown files")
6414 (description
6415 "Markdown-mode is a major mode for editing Markdown-formatted text files
6416 in Emacs.")
6417 (license license:gpl3+)))
6418
6419 (define-public emacs-evil-markdown
6420 (let ((commit "46cd81b37991c4325fc24015a610f832b0ff995d")
6421 (revision "1"))
6422 (package
6423 (name "emacs-evil-markdown")
6424 (version (git-version "0.0.2" revision commit))
6425 (source (origin
6426 (method git-fetch)
6427 (uri (git-reference
6428 (url "https://github.com/Somelauw/evil-markdown.git")
6429 (commit commit)))
6430 (file-name (git-file-name name version))
6431 (sha256
6432 (base32
6433 "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4"))))
6434 (build-system emacs-build-system)
6435 (propagated-inputs
6436 `(("emacs-markdown-mode" ,emacs-markdown-mode)
6437 ("emacs-evil" ,emacs-evil)))
6438 (home-page "http://jblevins.org/projects/evil-markdown/")
6439 (synopsis "Evil keybindings for @code{markdown-mode}")
6440 (description
6441 "This package provides custom text objects and bindings for
6442 @code{markdown-mode}.")
6443 (license license:gpl3+))))
6444
6445 (define-public emacs-edit-indirect
6446 (package
6447 (name "emacs-edit-indirect")
6448 (version "0.1.5")
6449 (source
6450 (origin
6451 (method git-fetch)
6452 (uri (git-reference
6453 (url "https://github.com/Fanael/edit-indirect")
6454 (commit version)))
6455 (file-name (git-file-name name version))
6456 (sha256
6457 (base32
6458 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
6459 (build-system emacs-build-system)
6460 (home-page "https://github.com/Fanael/edit-indirect")
6461 (synopsis "Edit regions in separate buffers")
6462 (description "This package allows you to edit regions in separate buffers,
6463 like @code{org-edit-src-code} but for arbitrary regions.")
6464 (license license:gpl3+)))
6465
6466 (define-public emacs-projectile
6467 (package
6468 (name "emacs-projectile")
6469 (version "2.1.0")
6470 (source (origin
6471 (method url-fetch)
6472 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
6473 "/projectile/v" version "/projectile.el"))
6474 (file-name (string-append "projectile-" version ".el"))
6475 (sha256
6476 (base32
6477 "1jj9wk91clyph3zmxkd7y7d6gdqmjd1vndhyq5fxp7i7dy013571"))))
6478 (build-system emacs-build-system)
6479 (propagated-inputs
6480 `(("emacs-dash" ,emacs-dash)
6481 ("emacs-pkg-info" ,emacs-pkg-info)))
6482 (home-page "https://github.com/bbatsov/projectile")
6483 (synopsis "Manage and navigate projects in Emacs easily")
6484 (description
6485 "This library provides easy project management and navigation. The
6486 concept of a project is pretty basic - just a folder containing special file.
6487 Currently git, mercurial and bazaar repos are considered projects by default.
6488 If you want to mark a folder manually as a project just create an empty
6489 .projectile file in it.")
6490 (license license:gpl3+)))
6491
6492 (define-public emacs-skeletor
6493 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
6494 (revision "1"))
6495 (package
6496 (name "emacs-skeletor")
6497 (version (git-version "1.6.1" revision commit))
6498 (source (origin
6499 (method git-fetch)
6500 (uri (git-reference
6501 (url "https://github.com/chrisbarrett/skeletor.el.git")
6502 (commit commit)))
6503 (file-name (git-file-name name version))
6504 (sha256
6505 (base32
6506 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
6507 (build-system emacs-build-system)
6508 (propagated-inputs
6509 `(("emacs-s" ,emacs-s)
6510 ("emacs-f" ,emacs-f)
6511 ("emacs-dash" ,emacs-dash)
6512 ("emacs-let-alist" ,emacs-let-alist)))
6513 (native-inputs
6514 `(("emacs-ert-runner" ,emacs-ert-runner)))
6515 (arguments
6516 `(#:include (cons "^project-skeletons\\/" %default-include)
6517 ;; XXX: one failing test involving initializing a git repo
6518 #:phases
6519 (modify-phases %standard-phases
6520 (add-before 'check 'make-test-writable
6521 (lambda _
6522 (make-file-writable "test/skeletor-test.el")
6523 #t))
6524 (add-before 'check 'remove-git-test
6525 (lambda _
6526 (emacs-batch-edit-file "test/skeletor-test.el"
6527 `(progn
6528 (progn
6529 (goto-char (point-min))
6530 (re-search-forward
6531 "ert-deftest initialises-git-repo")
6532 (beginning-of-line)
6533 (kill-sexp))
6534 (basic-save-buffer)))
6535 #t)))
6536 #:tests? #t
6537 #:test-command '("ert-runner")))
6538 (home-page "https://github.com/chrisbarrett/skeletor.el")
6539 (synopsis "Project skeletons for Emacs")
6540 (description "This package provides project templates and automates the
6541 mundane parts of setting up a new project, such as version control, licenses,
6542 and tooling.")
6543 (license license:gpl3+))))
6544
6545 (define-public emacs-elfeed
6546 (package
6547 (name "emacs-elfeed")
6548 (version "3.3.0")
6549 (source
6550 (origin
6551 (method git-fetch)
6552 (uri (git-reference
6553 (url "https://github.com/skeeto/elfeed.git")
6554 (commit version)))
6555 (file-name (git-file-name name version))
6556 (sha256
6557 (base32 "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5"))))
6558 (build-system emacs-build-system)
6559 (arguments
6560 `(#:tests? #t
6561 #:test-command '("make" "test")))
6562 (home-page "https://github.com/skeeto/elfeed")
6563 (synopsis "Atom/RSS feed reader for Emacs")
6564 (description
6565 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
6566 and RSS, with a user interface inspired by notmuch.")
6567 (license license:gpl3+)))
6568
6569 (define-public emacs-elfeed-org
6570 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
6571 (package
6572 (name "emacs-elfeed-org")
6573 (version (git-version "0.1" "1" commit))
6574 (source
6575 (origin
6576 (method git-fetch)
6577 (uri (git-reference
6578 (url "https://github.com/remyhonig/elfeed-org.git")
6579 (commit commit)))
6580 (file-name (git-file-name name version))
6581 (sha256
6582 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
6583 (build-system emacs-build-system)
6584 (propagated-inputs
6585 `(("emacs-elfeed" ,emacs-elfeed)
6586 ("emacs-org" ,emacs-org)
6587 ("emacs-dash" ,emacs-dash)
6588 ("emacs-s" ,emacs-s)))
6589 (native-inputs
6590 `(("ert-runner" ,emacs-ert-runner)
6591 ("emacs-xtest" ,emacs-xtest)))
6592 (arguments
6593 `(#:tests? #t
6594 #:test-command '("ert-runner" "-L" "org-mode/lisp")
6595 #:phases
6596 (modify-phases %standard-phases
6597 (add-before 'check 'chmod
6598 (lambda _
6599 (chmod "test/fixture-mark-feed-ignore.org" #o644)
6600 #t)))))
6601 (home-page "https://github.com/remyhonig/elfeed-org")
6602 (synopsis "Configure Elfeed with an Org-mode file")
6603 (description
6604 "@code{elfeed-org} lets you manage your Elfeed subscriptions
6605 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
6606 the regular flat list, where there is no hierarchy and tag names are
6607 duplicated a lot. Org-mode makes the book keeping of tags and feeds
6608 much easier.")
6609 (license license:gpl3+))))
6610
6611 (define-public emacs-el-x
6612 (package
6613 (name "emacs-el-x")
6614 (version "0.3.1")
6615 (source (origin
6616 (method git-fetch)
6617 (uri (git-reference
6618 (url "https://github.com/sigma/el-x.git")
6619 (commit (string-append "v" version))))
6620 (file-name (git-file-name name version))
6621 (sha256
6622 (base32
6623 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
6624 (build-system emacs-build-system)
6625 (arguments
6626 `(#:phases
6627 (modify-phases %standard-phases
6628 ;; Move the source files to the top level, which is included in
6629 ;; the EMACSLOADPATH.
6630 (add-after 'unpack 'move-source-files
6631 (lambda _
6632 (let ((el-files (find-files "./lisp" ".*\\.el$")))
6633 (for-each (lambda (f)
6634 (rename-file f (basename f)))
6635 el-files))
6636 #t)))))
6637 (home-page "https://github.com/sigma/el-x")
6638 (synopsis "Emacs Lisp extensions")
6639 (description "command@{emacs-el-x} defines the @code{dflet} macro to
6640 provide the historic behavior of @code{flet}, as well as
6641 @code{declare-function} stub for older Emacs.")
6642 (license license:gpl2+)))
6643
6644 (define-public emacs-mocker
6645 (package
6646 (name "emacs-mocker")
6647 (version "0.3.1")
6648 (source (origin
6649 (method git-fetch)
6650 (uri (git-reference
6651 (url "https://github.com/sigma/mocker.el.git")
6652 (commit (string-append "v" version))))
6653 (file-name (git-file-name name version))
6654 (sha256
6655 (base32
6656 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
6657 (build-system emacs-build-system)
6658 (arguments
6659 `(#:tests? #t
6660 #:test-command '("ert-runner")))
6661 (native-inputs
6662 `(("ert-runner" ,emacs-ert-runner)))
6663 (propagated-inputs
6664 `(("emacs-el-x" ,emacs-el-x)))
6665 (home-page "https://github.com/sigma/mocker.el")
6666 (synopsis "Mocking framework for Emacs Lisp")
6667 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
6668 It uses regular Lisp rather than a domain specific language (DSL), which
6669 maximizes flexibility (at the expense of conciseness).")
6670 (license license:gpl2+)))
6671
6672 (define-public emacs-find-file-in-project
6673 (package
6674 (name "emacs-find-file-in-project")
6675 (version "5.7.7")
6676 (source (origin
6677 (method git-fetch)
6678 (uri (git-reference
6679 (url "https://github.com/technomancy/find-file-in-project.git")
6680 (commit version)))
6681 (file-name (git-file-name name version))
6682 (sha256
6683 (base32
6684 "1skjbh7m0cck2rwmgzrrds51gipqf1jqghyfx15drc1n6kwivx3h"))))
6685 (build-system emacs-build-system)
6686 (arguments
6687 `(#:tests? #t
6688 #:test-command '("ert-runner" "tests")))
6689 (native-inputs
6690 `(("ert-runner" ,emacs-ert-runner)))
6691 (home-page "https://github.com/technomancy/find-file-in-project")
6692 (synopsis "File/directory finder for Emacs")
6693 (description "@code{find-file-in-project} allows to find files or
6694 directories quickly in the current project. The project root is detected
6695 automatically when Git, Subversion or Mercurial are used. It also provides
6696 functions to assist in reviewing changes on files.")
6697 (license license:gpl3+)))
6698
6699 (define-public emacs-pyvenv
6700 (package
6701 (name "emacs-pyvenv")
6702 (version "1.21")
6703 (source (origin
6704 (method git-fetch)
6705 (uri (git-reference
6706 (url "https://github.com/jorgenschaefer/pyvenv.git")
6707 (commit (string-append "v" version))))
6708 (file-name (git-file-name name version))
6709 (sha256
6710 (base32
6711 "055sgk8zf4wb5nqsf3qasf5gg861zlb1831733f1qcrd2ij5gzxx"))))
6712 (build-system emacs-build-system)
6713 (arguments
6714 `(#:phases
6715 (modify-phases %standard-phases
6716 ;; This phase incorrectly attempts to substitute "activate" and fails
6717 ;; doing so.
6718 (delete 'patch-el-files))
6719 #:tests? #t
6720 #:test-command '("ert-runner")))
6721 (native-inputs
6722 `(("ert-runner" ,emacs-ert-runner)
6723 ("emacs-mocker" ,emacs-mocker)))
6724 (home-page "https://github.com/jorgenschaefer/pyvenv")
6725 (synopsis "Python virtual environment interface for Emacs")
6726 (description "pyvenv.el is a minor mode to support using Python virtual
6727 environments (virtualenv) inside Emacs.")
6728 (license license:gpl3+)))
6729
6730 (define-public emacs-highlight-indentation
6731 ;; Last release version is from 2015.
6732 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
6733 (revision "1"))
6734 (package
6735 (name "emacs-highlight-indentation")
6736 (version (git-version "0.7.0" revision commit))
6737 (source
6738 (origin
6739 (method git-fetch)
6740 (uri (git-reference
6741 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
6742 (commit commit)))
6743 (file-name (git-file-name name version))
6744 (sha256
6745 (base32
6746 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
6747 (build-system emacs-build-system)
6748 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
6749 (synopsis "Highlighting indentation for Emacs")
6750 (description "This package provides two minor modes to highlight
6751 indentation guides in Emacs:
6752
6753 @enumerate
6754 @item @code{highlight-indentation-mode}, which displays guidelines
6755 indentation (space indentation only).
6756 @item @code{highlight-indentation-current-column-mode}, which displays
6757 guidelines for the current-point indentation (space indentation only).
6758 @end enumerate")
6759 (license license:gpl2+))))
6760
6761 (define-public emacs-elpy
6762 (package
6763 (name "emacs-elpy")
6764 (version "1.32.0")
6765 (source (origin
6766 (method git-fetch)
6767 (uri (git-reference
6768 (url "https://github.com/jorgenschaefer/elpy.git")
6769 (commit version)))
6770 (file-name (git-file-name name version))
6771 (sha256
6772 (base32
6773 "0f00mdnzx6xqwni86rgvaa6sfkwyh62xfbwz8qsar15j0j6vc2dj"))))
6774 (build-system emacs-build-system)
6775 (arguments
6776 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
6777 #:phases
6778 (modify-phases %standard-phases
6779 ;; The default environment of the RPC uses Virtualenv to install
6780 ;; Python dependencies from PyPI. We don't want/need this in Guix.
6781 (add-before 'check 'do-not-use-virtualenv
6782 (lambda _
6783 (setenv "ELPY_TEST_DONT_USE_VIRTUALENV" "1")
6784 (substitute* "elpy-rpc.el"
6785 (("defcustom elpy-rpc-virtualenv-path 'default")
6786 "defcustom elpy-rpc-virtualenv-path 'system"))
6787 #t))
6788 (add-before 'check 'build-doc
6789 (lambda _
6790 (with-directory-excursion "docs"
6791 (invoke "make" "info" "man"))
6792 ;; Move .info file at the root so that it can installed by the
6793 ;; 'move-doc phase.
6794 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
6795 #t))
6796 (add-after 'build-doc 'install-manpage
6797 (lambda* (#:key outputs #:allow-other-keys)
6798 (let* ((out (assoc-ref outputs "out"))
6799 (man1 (string-append out "/share/man/man1")))
6800 (mkdir-p man1)
6801 (copy-file "docs/_build/man/elpy.1"
6802 (string-append man1 "/elpy.1")))
6803 #t)))
6804 #:tests? #t
6805 #:test-command '("ert-runner")))
6806 (propagated-inputs
6807 `(("emacs-company" ,emacs-company)
6808 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
6809 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
6810 ("emacs-yasnippet" ,emacs-yasnippet)
6811 ("pyvenv" ,emacs-pyvenv)
6812 ("s" ,emacs-s)
6813 ;; The following are recommended Python dependencies that make Elpy
6814 ;; much more useful. Installing these avoids Elpy prompting to install them
6815 ;; from PyPI using pip.
6816 ("python-autopep8" ,python-autopep8)
6817 ("python-black" ,python-black)
6818 ("python-flake8" ,python-flake8)
6819 ("python-jedi" ,python-jedi)
6820 ("python-rope" ,python-rope)
6821 ("python-yapf" ,python-yapf)))
6822 (native-inputs
6823 `(("ert-runner" ,emacs-ert-runner)
6824 ("emacs-f" ,emacs-f)
6825 ("python" ,python-wrapper)
6826 ;; For documentation.
6827 ("python-sphinx" ,python-sphinx)
6828 ("texinfo" ,texinfo)))
6829 (home-page "https://github.com/jorgenschaefer/elpy")
6830 (synopsis "Python development environment for Emacs")
6831 (description "Elpy brings powerful Python editing to Emacs. It combines
6832 and configures a number of other packages written in Emacs Lisp as well as
6833 Python, together offering features such as navigation, documentation,
6834 completion, interactive development and more.")
6835 (license license:gpl3+)))
6836
6837 (define-public emacs-rainbow-delimiters
6838 (package
6839 (name "emacs-rainbow-delimiters")
6840 (version "2.1.4")
6841 (source (origin
6842 (method git-fetch)
6843 (uri (git-reference
6844 (url "https://github.com/Fanael/rainbow-delimiters.git")
6845 (commit version)))
6846 (file-name (git-file-name name version))
6847 (sha256
6848 (base32
6849 "1zr2669savnmkc68hiqsq9wccm6bs1j6jbmlac1xqh6nq7xgq36g"))))
6850 (build-system emacs-build-system)
6851 (home-page "https://github.com/Fanael/rainbow-delimiters")
6852 (arguments
6853 `(#:tests? #t
6854 #:test-command '("emacs" "-Q" "-batch"
6855 "-l" "rainbow-delimiters-test.el"
6856 "-f" "ert-run-tests-batch-and-exit")))
6857 (synopsis "Highlight brackets according to their depth")
6858 (description
6859 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
6860 highlights parentheses, brackets, and braces according to their depth. Each
6861 successive level is highlighted in a different color, making it easy to spot
6862 matching delimiters, orient yourself in the code, and tell which statements
6863 are at a given level.")
6864 (license license:gpl3+)))
6865
6866 (define-public emacs-rainbow-identifiers
6867 (package
6868 (name "emacs-rainbow-identifiers")
6869 (version "0.2.2")
6870 (source (origin
6871 (method url-fetch)
6872 (uri (string-append "https://raw.githubusercontent.com/Fanael"
6873 "/rainbow-identifiers/" version
6874 "/rainbow-identifiers.el"))
6875 (file-name (string-append "rainbow-identifiers-" version ".el"))
6876 (sha256
6877 (base32
6878 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
6879 (build-system emacs-build-system)
6880 (home-page "https://github.com/Fanael/rainbow-identifiers")
6881 (synopsis "Highlight identifiers in source code")
6882 (description
6883 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
6884 identifiers based on their names. Each identifier gets a color based on a hash
6885 of its name.")
6886 (license license:bsd-2)))
6887
6888 (define-public emacs-rainbow-mode
6889 (package
6890 (name "emacs-rainbow-mode")
6891 (version "1.0.2")
6892 (source (origin
6893 (method url-fetch)
6894 (uri (string-append
6895 "https://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
6896 (sha256
6897 (base32
6898 "1zfqj63sr07pdlwy7caz4fxsjhmbhh939n81z6jxq9xggm8ajxkd"))))
6899 (build-system emacs-build-system)
6900 (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
6901 (synopsis "Colorize color names in buffers")
6902 (description
6903 "This minor mode sets background color to strings that match color
6904 names, e.g. #0000ff is displayed in white with a blue background.")
6905 (license license:gpl3+)))
6906
6907 (define-public emacs-visual-fill-column
6908 (package
6909 (name "emacs-visual-fill-column")
6910 (version "1.11")
6911 (source (origin
6912 (method url-fetch)
6913 (uri (string-append "https://codeload.github.com/joostkremers/"
6914 "visual-fill-column/tar.gz/" version))
6915 (file-name (string-append name "-" version ".tar.gz"))
6916 (sha256
6917 (base32
6918 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
6919 (build-system emacs-build-system)
6920 (home-page "https://github.com/joostkremers/visual-fill-column")
6921 (synopsis "Fill-column for visual-line-mode")
6922 (description
6923 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
6924 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
6925 wrapping lines at the window edge, which is the standard behaviour of
6926 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
6927 @code{fill-column} is too large for the window, the text is wrapped at the
6928 window edge.")
6929 (license license:gpl3+)))
6930
6931 (define-public emacs-writeroom
6932 (package
6933 (name "emacs-writeroom")
6934 (version "3.9")
6935 (source
6936 (origin
6937 (method git-fetch)
6938 (uri (git-reference
6939 (url "https://github.com/joostkremers/writeroom-mode.git")
6940 (commit version)))
6941 (file-name (git-file-name name version))
6942 (sha256
6943 (base32
6944 "1nrppnfqsaki6myp58w8jhmzb94rzskh5n98glcn4ghr8sqnafi8"))))
6945 (build-system emacs-build-system)
6946 (propagated-inputs
6947 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
6948 (home-page "https://github.com/joostkremers/writeroom-mode")
6949 (synopsis "Distraction-free writing for Emacs")
6950 (description
6951 "This package defines a minor mode for distraction-free writing. Some of
6952 the default effects include entering fullscreen, deleting other windows of the
6953 current frame, disabling the mode line, and adding margins to the buffer that
6954 restrict the text width to 80 characters.")
6955 (license license:bsd-3)))
6956
6957 (define-public emacs-ido-completing-read+
6958 (package
6959 (name "emacs-ido-completing-read+")
6960 (version "3.12")
6961 (source (origin
6962 (method url-fetch)
6963 (uri (string-append "https://raw.githubusercontent.com"
6964 "/DarwinAwardWinner/ido-ubiquitous/v"
6965 version "/ido-completing-read+.el"))
6966 (file-name (string-append "ido-completing-read+-" version ".el"))
6967 (sha256
6968 (base32
6969 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
6970 (build-system emacs-build-system)
6971 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6972 (synopsis "Replacement for completing-read using ido")
6973 (description
6974 "The ido-completing-read+ function is a wrapper for ido-completing-read.
6975 Importantly, it detects edge cases that ordinary ido cannot handle and either
6976 adjusts them so ido can handle them, or else simply falls back to the standard
6977 Emacs completion function instead.")
6978 (license license:gpl3+)))
6979
6980 (define-public emacs-ido-ubiquitous
6981 (package
6982 (name "emacs-ido-ubiquitous")
6983 (version "3.12")
6984 (source (origin
6985 (method url-fetch)
6986 (uri (string-append "https://raw.githubusercontent.com"
6987 "/DarwinAwardWinner/ido-ubiquitous/v"
6988 version "/ido-ubiquitous.el"))
6989 (file-name (string-append "ido-ubiquitous-" version ".el"))
6990 (sha256
6991 (base32
6992 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
6993 (build-system emacs-build-system)
6994 (propagated-inputs
6995 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
6996 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6997 (synopsis "Use ido (nearly) everywhere")
6998 (description
6999 "Ido-ubiquitous enables ido-style completion for almost every function
7000 that uses the standard completion function completing-read.")
7001 (license license:gpl3+)))
7002
7003 (define-public emacs-yaml-mode
7004 (package
7005 (name "emacs-yaml-mode")
7006 (version "0.0.14")
7007 (source (origin
7008 (method git-fetch)
7009 (uri (git-reference
7010 (url "https://github.com/yoshiki/yaml-mode.git")
7011 (commit version)))
7012 (file-name (git-file-name name version))
7013 (sha256
7014 (base32
7015 "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
7016 (build-system emacs-build-system)
7017 (home-page "https://github.com/yoshiki/yaml-mode")
7018 (synopsis "Major mode for editing YAML files")
7019 (description
7020 "Yaml-mode is an Emacs major mode for editing files in the YAML data
7021 serialization format. It was initially developed by Yoshiki Kurihara and many
7022 features were added by Marshall Vandegrift. As YAML and Python share the fact
7023 that indentation determines structure, this mode provides indentation and
7024 indentation command behavior very similar to that of python-mode.")
7025 (license license:gpl3+)))
7026
7027 (define-public emacs-gitlab-ci-mode
7028 (package
7029 (name "emacs-gitlab-ci-mode")
7030 (version "20190425.11.10")
7031 (source (origin
7032 (method git-fetch)
7033 (uri (git-reference
7034 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
7035 (commit (string-append "v" version))))
7036 (file-name (git-file-name name version))
7037 (sha256
7038 (base32
7039 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
7040 (build-system emacs-build-system)
7041 (propagated-inputs
7042 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
7043 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
7044 (synopsis "Emacs mode for editing GitLab CI files")
7045 (description
7046 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
7047 files. It provides syntax highlighting and completion for keywords and
7048 special variables. An interface to GitLab’s CI file linter is also provided
7049 via @code{gitlab-ci-lint}.")
7050 (license license:gpl3+)))
7051
7052 (define-public emacs-web-mode
7053 (package
7054 (name "emacs-web-mode")
7055 (version "16")
7056 (source (origin
7057 (method git-fetch)
7058 (uri (git-reference
7059 (url "https://github.com/fxbois/web-mode.git")
7060 (commit (string-append "v" version))))
7061 (file-name (git-file-name name version))
7062 (sha256
7063 (base32
7064 "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0"))))
7065 (build-system emacs-build-system)
7066 (synopsis "Major mode for editing web templates")
7067 (description "Web-mode is an Emacs major mode for editing web templates
7068 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
7069 client/server side engines). Web-mode is compatible with many template
7070 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
7071 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
7072 Dust.js, React/JSX, Angularjs, ejs, etc.")
7073 (home-page "http://web-mode.org/")
7074 (license license:gpl3+)))
7075
7076 (define-public emacs-wgrep
7077 (package
7078 (name "emacs-wgrep")
7079 (version "2.3.2")
7080 (source (origin
7081 (method git-fetch)
7082 (uri (git-reference
7083 (url "https://github.com/mhayashi1120/Emacs-wgrep")
7084 (commit version)))
7085 (file-name (git-file-name name version))
7086 (sha256
7087 (base32
7088 "00cwqzb94jlq4mwgv8z7r3mn0a6mhq95z6j189kacq9g4473zh8d"))))
7089 (build-system emacs-build-system)
7090 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
7091 (synopsis "Edit a grep buffer and apply those changes to the files")
7092 (description
7093 "Emacs wgrep allows you to edit a grep buffer and apply those changes
7094 to the file buffer. Several backends are supported beside the classic grep:
7095 ack, ag, helm and pt.")
7096 (license license:gpl3+)))
7097
7098 (define-public emacs-helm
7099 (package
7100 (name "emacs-helm")
7101 (version "3.6.0")
7102 (source
7103 (origin
7104 (method git-fetch)
7105 (uri (git-reference
7106 (url "https://github.com/emacs-helm/helm.git")
7107 (commit (string-append "v" version))))
7108 (file-name (git-file-name name version))
7109 (sha256
7110 (base32 "0miq2q52pbicijp7pmj0widk252qixswywc03d120s4hya2b7vd7"))))
7111 (build-system emacs-build-system)
7112 (propagated-inputs
7113 `(("emacs-async" ,emacs-async)
7114 ("emacs-popup" ,emacs-popup)))
7115 (home-page "https://emacs-helm.github.io/helm/")
7116 (synopsis "Incremental completion and selection narrowing
7117 framework for Emacs")
7118 (description "Helm is incremental completion and selection narrowing
7119 framework for Emacs. It will help steer you in the right direction when
7120 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
7121 of @code{anything.el} originally written by Tamas Patrovic and can be
7122 considered to be its successor. Helm sets out to clean up the legacy code in
7123 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
7124 not tied in the trap of backward compatibility.")
7125 (license license:gpl3+)))
7126
7127 (define-public emacs-helm-org
7128 (let ((commit "8457e1e46227bf87726e05c42cec5a4b51c2ef7b")
7129 (revision "3"))
7130 (package
7131 (name "emacs-helm-org")
7132 (version (git-version "1.0" revision commit))
7133 (source
7134 (origin
7135 (method git-fetch)
7136 (uri (git-reference
7137 (url "https://github.com/emacs-helm/helm-org.git")
7138 (commit commit)))
7139 (file-name (git-file-name name version))
7140 (sha256
7141 (base32 "0kcjhwwi492n9m2w894hvdavfvhj45zygy7bwvx103wvpay5h6h6"))))
7142 (build-system emacs-build-system)
7143 (propagated-inputs
7144 `(("emacs-helm" ,emacs-helm)))
7145 (home-page "https://github.com/emacs-helm/helm-org")
7146 (synopsis "Helm interface to the Silver Searcher")
7147 (description
7148 "This package provides a frontend for grepping tools like ag and ack,
7149 as well as features for editing search results.")
7150 (license license:gpl3+))))
7151
7152 (define-public emacs-helm-swoop
7153 (package
7154 (name "emacs-helm-swoop")
7155 (version "2.0.0")
7156 (source
7157 (origin
7158 (method git-fetch)
7159 (uri (git-reference
7160 (url "https://github.com/emacsorphanage/helm-swoop.git")
7161 (commit version)))
7162 (file-name (git-file-name name version))
7163 (sha256
7164 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
7165 (build-system emacs-build-system)
7166 (propagated-inputs
7167 `(("emacs-helm" ,emacs-helm)))
7168 (home-page "https://github.com/emacsorphanage/helm-swoop")
7169 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
7170 (description
7171 "This package builds on the Helm interface to provide several commands
7172 for search-based navigation of buffers.")
7173 (license license:gpl2+)))
7174
7175 (define-public emacs-helm-ag
7176 (let ((commit "2fc02c4ead29bf0db06fd70740cc7c364cb650ac")
7177 (revision "1"))
7178 (package
7179 (name "emacs-helm-ag")
7180 (version (git-version "0.58" revision commit))
7181 (source
7182 (origin
7183 (method git-fetch)
7184 (uri (git-reference
7185 (url "https://github.com/syohex/emacs-helm-ag.git")
7186 (commit commit)))
7187 (file-name (git-file-name name version))
7188 (sha256
7189 (base32 "1gnn0byywbld6afcq1vp92cjvy4wlag9d1wgymnqn86c3b1bcf21"))))
7190 (build-system emacs-build-system)
7191 (propagated-inputs
7192 `(("emacs-helm" ,emacs-helm)))
7193 (home-page "https://github.com/syohex/emacs-helm-ag")
7194 (synopsis "Helm interface to the Silver Searcher")
7195 (description
7196 "This package provides a frontend for grepping tools like ag and ack,
7197 as well as features for editing search results.")
7198 (license license:gpl3+))))
7199
7200 ;; There hasn't been a tag or release since 2016, so we take the latest
7201 ;; commit.
7202 (define-public emacs-helm-projectile
7203 (let ((commit "5328b74dddcee8d1913803ca8167868831a07463")
7204 (version "0.14.0")
7205 (revision "1"))
7206 (package
7207 (name "emacs-helm-projectile")
7208 (version (git-version version revision commit))
7209 (source
7210 (origin
7211 (method git-fetch)
7212 (uri (git-reference
7213 (url "https://github.com/bbatsov/helm-projectile.git")
7214 (commit commit)))
7215 (file-name (git-file-name name version))
7216 (sha256
7217 (base32 "0a811cblrvc8llpv771b8dppgxs6bwjyvjy3qn2xns4nigvn93s0"))))
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/bbatsov/helm-projectile")
7223 (synopsis "Helm integration for Projectile")
7224 (description
7225 "This Emacs library provides a Helm interface for Projectile.")
7226 (license license:gpl3+))))
7227
7228 (define-public emacs-taskrunner
7229 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
7230 (revision "1"))
7231 (package
7232 (name "emacs-taskrunner")
7233 (version (git-version "0.6" revision commit))
7234 (source
7235 (origin
7236 (method git-fetch)
7237 (uri (git-reference
7238 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
7239 (commit commit)))
7240 (file-name (git-file-name name version))
7241 (sha256
7242 (base32
7243 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
7244 (build-system emacs-build-system)
7245 (propagated-inputs
7246 `(("emacs-async" ,emacs-async)
7247 ("emacs-projectile" ,emacs-projectile)))
7248 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
7249 (synopsis "Retrieve tasks from various build systems and task-runners")
7250 (description "This package parses Makefiles and build-system files for
7251 multiple project types.")
7252 (license license:gpl3+))))
7253
7254 (define-public emacs-ivy-taskrunner
7255 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
7256 (revision "1"))
7257 (package
7258 (name "emacs-ivy-taskrunner")
7259 (version (git-version "0.9" revision commit))
7260 (source
7261 (origin
7262 (method git-fetch)
7263 (uri (git-reference
7264 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
7265 (commit commit)))
7266 (file-name (git-file-name name version))
7267 (sha256
7268 (base32
7269 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
7270 (build-system emacs-build-system)
7271 (propagated-inputs
7272 `(("emacs-ivy" ,emacs-ivy)
7273 ("emacs-taskrunner" ,emacs-taskrunner)
7274 ("emacs-projectile" ,emacs-projectile)))
7275 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
7276 (synopsis "Retrieve build-system tasks using Ivy")
7277 (description "This package provides an Ivy interface for selecting
7278 Makefile targets.")
7279 (license license:gpl3+))))
7280
7281 (define-public emacs-helm-taskrunner
7282 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
7283 (revision "1"))
7284 (package
7285 (name "emacs-helm-taskrunner")
7286 (version (git-version "0.9" revision commit))
7287 (source
7288 (origin
7289 (method git-fetch)
7290 (uri (git-reference
7291 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
7292 (commit commit)))
7293 (file-name (git-file-name name version))
7294 (sha256
7295 (base32
7296 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
7297 (build-system emacs-build-system)
7298 (propagated-inputs
7299 `(("emacs-helm" ,emacs-helm)
7300 ("emacs-taskrunner" ,emacs-taskrunner)
7301 ("emacs-projectile" ,emacs-projectile)))
7302 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
7303 (synopsis "Retrieve build-system tasks using Helm")
7304 (description "This package provides a Helm interface for selecting
7305 Makefile targets.")
7306 (license license:gpl3+))))
7307
7308 (define-public emacs-helm-make
7309 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
7310 (revision "1"))
7311 (package
7312 (name "emacs-helm-make")
7313 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
7314 (source
7315 (origin
7316 (method git-fetch)
7317 (uri (git-reference
7318 (url "https://github.com/abo-abo/helm-make.git")
7319 (commit commit)))
7320 (file-name (git-file-name name version))
7321 (sha256
7322 (base32
7323 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
7324 (build-system emacs-build-system)
7325 (propagated-inputs
7326 `(("emacs-helm" ,emacs-helm)
7327 ("emacs-projectile" ,emacs-projectile)))
7328 (home-page "https://github.com/abo-abo/helm-make")
7329 (synopsis "Select a Makefile target with helm")
7330 (description "@code{helm-make} or @code{helm-make-projectile} will give
7331 you a @code{helm} selection of directory Makefile's targets. Selecting a
7332 target will call @code{compile} on it.")
7333 (license license:gpl3+))))
7334
7335 (define-public emacs-cider
7336 (package
7337 (name "emacs-cider")
7338 (version "0.23.0")
7339 (source
7340 (origin
7341 (method git-fetch)
7342 (uri (git-reference
7343 (url "https://github.com/clojure-emacs/cider.git")
7344 (commit (string-append "v" version))))
7345 (file-name (git-file-name name version))
7346 (sha256
7347 (base32
7348 "05yjkqc6d4grq9z5pxmv3anqh4zlhfg4v46jlccp6ynh030g7axs"))))
7349 (build-system emacs-build-system)
7350 (arguments
7351 '(#:exclude ; Don't exclude 'cider-test.el'.
7352 '("^\\.dir-locals\\.el$" "^test/")))
7353 (propagated-inputs
7354 `(("emacs-clojure-mode" ,emacs-clojure-mode)
7355 ("emacs-sesman" ,emacs-sesman)
7356 ("emacs-seq" ,emacs-seq)
7357 ("emacs-spinner" ,emacs-spinner)
7358 ("emacs-parseedn" ,emacs-parseedn)
7359 ("emacs-pkg-info" ,emacs-pkg-info)
7360 ("emacs-queue" ,emacs-queue)))
7361 (home-page "https://cider.mx/")
7362 (synopsis "Clojure development environment for Emacs")
7363 (description
7364 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
7365 provide an interactive development experience similar to the one you'd get
7366 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
7367 Geiser) and Smalltalk.
7368
7369 CIDER is the successor to the now deprecated combination of using SLIME +
7370 swank-clojure for Clojure development.
7371
7372 There are plenty of differences between CIDER and SLIME, but the core ideas
7373 are pretty much the same (and SLIME served as the principle inspiration for
7374 CIDER).")
7375 (license license:gpl3+)))
7376
7377 ;; There hasn't been a tag or release since 2016, so we take the latest
7378 ;; commit.
7379 (define-public emacs-sly
7380 (let ((commit "86a63df73360be51529806c7ed9b775b3f02284d")
7381 (revision "4"))
7382 (package
7383 (name "emacs-sly")
7384 (version (git-version "1.0.0" revision commit))
7385 (source
7386 (origin
7387 (method git-fetch)
7388 (uri (git-reference
7389 (url "https://github.com/joaotavora/sly.git")
7390 (commit commit)))
7391 (file-name (git-file-name name version))
7392 (sha256
7393 (base32
7394 "0sx6fdckcfcld41db0695svvlvllnfaazwx513686gnykwfd209n"))))
7395 (build-system emacs-build-system)
7396 (native-inputs
7397 `(("texinfo" ,texinfo)))
7398 (arguments
7399 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
7400 #:phases
7401 ;; The package provides autoloads.
7402 (modify-phases %standard-phases
7403 (delete 'make-autoloads)
7404 (add-before 'install 'install-doc
7405 (lambda* (#:key outputs #:allow-other-keys)
7406 (let* ((out (assoc-ref outputs "out"))
7407 (info-dir (string-append out "/share/info"))
7408 (doc-dir (string-append out "/share/doc/"
7409 ,name "-" ,version))
7410 (doc-files '(;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
7411 "README.md" "NEWS.md" "PROBLEMS.md"
7412 "CONTRIBUTING.md")))
7413 (with-directory-excursion "doc"
7414 (substitute* "Makefile"
7415 (("infodir=/usr/local/info")
7416 (string-append "infodir=" info-dir))
7417 ;; Don't rebuild contributors.texi since we are not in
7418 ;; the git repo.
7419 (("contributors.texi: Makefile texinfo-tabulate.awk")
7420 "contributors.texi:"))
7421 (invoke "make" "html/index.html")
7422 (invoke "make" "sly.info")
7423 ;; TODO: We need minimal texlive with "preprint" package
7424 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
7425 (install-file "sly.info" info-dir)
7426 (copy-recursively "html" (string-append doc-dir "/html")))
7427 (for-each (lambda (f)
7428 (install-file f doc-dir)
7429 (delete-file f))
7430 doc-files)
7431 (delete-file-recursively "doc")
7432 #t))))))
7433 (home-page "https://github.com/joaotavora/sly")
7434 (synopsis "Sylvester the Cat's Common Lisp IDE")
7435 (description
7436 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
7437 contains the following improvements over it:
7438
7439 @enumerate
7440 @item Completely redesigned REPL based on Emacs's own full-featured
7441 @code{comint.el}.
7442 @item Live code annotations via a new @code{sly-stickers} contrib.
7443 @item Consistent interactive button interface. Everything can be copied to
7444 the REPL.
7445 @item Multiple inspectors with independent history.
7446 @item Regexp-capable @code{M-x sly-apropos}.
7447 @item Contribs are first class SLY citizens and enabled by default.
7448 @item Use ASDF to loads contribs on demand.
7449 @end enumerate
7450
7451 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
7452 xref, etc...) are still available, but with better integration.")
7453 (license license:gpl3+))))
7454
7455 (define-public emacs-sly-quicklisp
7456 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
7457 (revision "1"))
7458 (package
7459 (name "emacs-sly-quicklisp")
7460 (version (git-version "0.0.0" revision commit))
7461 (home-page "https://github.com/joaotavora/sly-quicklisp")
7462 (source
7463 (origin
7464 (method git-fetch)
7465 (uri (git-reference
7466 (url home-page)
7467 (commit commit)))
7468 (file-name (git-file-name name version))
7469 (sha256
7470 (base32
7471 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
7472 (build-system emacs-build-system)
7473 (propagated-inputs
7474 `(("emacs-sly" ,emacs-sly)))
7475 (arguments
7476 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7477 #:phases
7478 ;; The package provides autoloads.
7479 (modify-phases %standard-phases
7480 (delete 'make-autoloads)
7481 (delete 'enable-autoloads-compilation))))
7482 (synopsis "Quicklisp support for SLY")
7483 (description
7484 "@command{sly-quicklisp} is an external contrib for SLY that provides a
7485 sly-quickload command that prompts the user for a package to install. ")
7486 (license license:gpl3+))))
7487
7488 (define-public emacs-sly-asdf
7489 (let ((commit "ad248056ded3099b0528b6111ba335e835d9e5a7")
7490 (revision "3"))
7491 (package
7492 (name "emacs-sly-asdf")
7493 (version (git-version "0.1.0" revision commit))
7494 (home-page "https://github.com/mmgeorge/sly-asdf")
7495 (source
7496 (origin
7497 (method git-fetch)
7498 (uri (git-reference
7499 (url home-page)
7500 (commit commit)))
7501 (file-name (git-file-name name version))
7502 (sha256
7503 (base32
7504 "0lip0spmglny3y612pxn3rfnpdaj12c9f7ya7bprryg2gvcdippa"))))
7505 (build-system emacs-build-system)
7506 (propagated-inputs
7507 `(("emacs-sly" ,emacs-sly)
7508 ("emacs-popup" ,emacs-popup)))
7509 (arguments
7510 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
7511 (synopsis "ASDF contrib for SLY")
7512 (description
7513 "@command{sly-asdf} is an external contrib for SLY that provides
7514 additional support for working with ASDF projects.")
7515 (license license:gpl3+))))
7516
7517 (define-public emacs-sly-named-readtables
7518 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
7519 (revision "1"))
7520 (package
7521 (name "emacs-sly-named-readtables")
7522 (version (git-version "0.1" revision commit))
7523 (home-page "https://github.com/joaotavora/sly-named-readtables")
7524 (source
7525 (origin
7526 (method git-fetch)
7527 (uri (git-reference
7528 (url home-page)
7529 (commit commit)))
7530 (file-name (git-file-name name version))
7531 (sha256
7532 (base32
7533 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
7534 (build-system emacs-build-system)
7535 (propagated-inputs
7536 `(("emacs-sly" ,emacs-sly)))
7537 (arguments
7538 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7539 #:phases (modify-phases %standard-phases
7540 ;; Byte compilation of the autoload file fails.
7541 (delete 'enable-autoloads-compilation))))
7542 (synopsis "Named-readtables support for SLY")
7543 (description
7544 "@command{sly-named-readtables} is an external contrib for SLY that
7545 enables different readtables to be active in different parts of the same
7546 file.")
7547 (license license:gpl3+))))
7548
7549 (define-public emacs-sly-macrostep
7550 (let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
7551 (revision "1"))
7552 (package
7553 (name "emacs-sly-macrostep")
7554 (version (git-version "0.1" revision commit))
7555 (home-page "https://github.com/joaotavora/sly-macrostep")
7556 (source
7557 (origin
7558 (method git-fetch)
7559 (uri (git-reference
7560 (url home-page)
7561 (commit commit)))
7562 (file-name (git-file-name name version))
7563 (sha256
7564 (base32
7565 "0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
7566 (build-system emacs-build-system)
7567 (propagated-inputs
7568 `(("emacs-sly" ,emacs-sly)
7569 ("emacs-macrostep" ,emacs-macrostep)))
7570 (arguments
7571 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7572 #:phases
7573 ;; The package provides autoloads.
7574 (modify-phases %standard-phases
7575 (delete 'make-autoloads)
7576 (delete 'enable-autoloads-compilation))))
7577 (synopsis "Expand Common Lisp macros inside source files with SLY")
7578 (description
7579 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
7580 inside the source file.")
7581 (license license:gpl3+))))
7582
7583 (define-public emacs-sly-package-inferred
7584 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
7585 (revision "1"))
7586 (package
7587 (name "emacs-sly-package-inferred")
7588 (version (git-version "0.1" revision commit))
7589 (home-page "https://github.com/40ants/sly-package-inferred")
7590 (source
7591 (origin
7592 (method git-fetch)
7593 (uri (git-reference
7594 (url home-page)
7595 (commit commit)))
7596 (file-name (git-file-name name version))
7597 (sha256
7598 (base32
7599 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
7600 (build-system emacs-build-system)
7601 (propagated-inputs
7602 `(("emacs-sly" ,emacs-sly)))
7603 (arguments
7604 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7605 #:phases
7606 ;; The package provides autoloads.
7607 (modify-phases %standard-phases
7608 (delete 'make-autoloads))))
7609 (synopsis "Improved package inferred systems support for SLY")
7610 (description
7611 "@command{sly-package-inferred} is an external contrib for SLY that
7612 replaces its completion with a function which is better suited for systems
7613 using package inferred style.")
7614 (license license:gpl3+))))
7615
7616 (define-public emacs-lua-mode
7617 (let ((commit "1f596a93b3f1caadd7bba01030f8c179b029600b")
7618 (revision "1"))
7619 (package
7620 (name "emacs-lua-mode")
7621 (version (git-version "20191204" revision commit))
7622 (home-page "https://github.com/immerrr/lua-mode/")
7623 (source (origin
7624 (method git-fetch)
7625 (uri (git-reference
7626 (url home-page)
7627 (commit commit)))
7628 (file-name (git-file-name name version))
7629 (sha256
7630 (base32
7631 "0i4adlaik3qjx1wkb7rwk2clvj7ci2g8pm0siyb3yk90r6z5mspi"))))
7632 (build-system emacs-build-system)
7633 (arguments
7634 `(#:tests? #t
7635 #:test-command '("buttercup" "-l" "lua-mode.el")))
7636 (native-inputs
7637 `(("emacs-buttercup" ,emacs-buttercup)
7638 ("lua" ,lua)))
7639 (synopsis "Major mode for lua")
7640 (description
7641 "This Emacs package provides a mode for @uref{https://www.lua.org/,
7642 Lua programming language}.")
7643 (license license:gpl2+))))
7644
7645 (define-public emacs-ebuild-mode
7646 (package
7647 (name "emacs-ebuild-mode")
7648 (version "1.37")
7649 (source (origin
7650 (method url-fetch)
7651 (uri (string-append
7652 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
7653 "-" version ".tar.xz"))
7654 (file-name (string-append name "-" version ".tar.xz"))
7655 (sha256
7656 (base32
7657 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
7658 (build-system emacs-build-system)
7659 (home-page "https://devmanual.gentoo.org")
7660 (synopsis "Major modes for Gentoo package files")
7661 (description
7662 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
7663 news items, openrc and runscripts.")
7664 (license license:gpl2+)))
7665
7666 (define-public emacs-evil
7667 (package
7668 (name "emacs-evil")
7669 (version "1.2.14")
7670 (source
7671 (origin
7672 (method git-fetch)
7673 (uri (git-reference
7674 (url "https://github.com/emacs-evil/evil")
7675 (commit version)))
7676 (file-name (git-file-name name version))
7677 (sha256
7678 (base32
7679 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
7680 (arguments
7681 `(#:phases
7682 (modify-phases %standard-phases
7683 (add-before 'check 'fix-test-helpers
7684 (lambda _
7685 (substitute* "evil-test-helpers.el"
7686 (("\\(undo-tree-mode 1\\)") ""))
7687 #t)))))
7688 (build-system emacs-build-system)
7689 (home-page "https://github.com/emacs-evil/evil")
7690 (synopsis "Extensible Vi layer for Emacs")
7691 (description
7692 "Evil is an extensible vi layer for Emacs. It emulates the
7693 main features of Vim, and provides facilities for writing custom
7694 extensions.")
7695 (license license:gpl3+)))
7696
7697 (define-public emacs-evil-collection
7698 (let ((commit "a478a95a8a3665e40bdae3bab2a0519db6c1f29c")
7699 (revision "13"))
7700 (package
7701 (name "emacs-evil-collection")
7702 (version (git-version "0.0.3" revision commit))
7703 (source (origin
7704 (method git-fetch)
7705 (uri (git-reference
7706 (url "https://github.com/emacs-evil/evil-collection")
7707 (commit commit)))
7708 (file-name (git-file-name name version))
7709 (sha256
7710 (base32
7711 "15ii5lw6hs4yyl22yyzfwzagdma2sman4rm5gq4m9773g4ava515"))))
7712 (build-system emacs-build-system)
7713 (propagated-inputs
7714 `(("emacs-evil" ,emacs-evil)
7715 ("emacs-annalist" ,emacs-annalist)))
7716 (arguments
7717 `(#:include (cons* "^modes\\/" %default-include)))
7718 (home-page "https://github.com/emacs-evil/evil-collection")
7719 (synopsis "Collection of Evil bindings for many major and minor modes")
7720 (description "This is a collection of Evil bindings for the parts of
7721 Emacs that Evil does not cover properly by default, such as @code{help-mode},
7722 @code{M-x calendar}, Eshell and more.")
7723 (license license:gpl3+))))
7724
7725 (define-public emacs-goto-chg
7726 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
7727 (version "1.7.3")
7728 (revision "1"))
7729 (package
7730 (name "emacs-goto-chg")
7731 (version (git-version version revision commit))
7732 (source
7733 (origin
7734 (method git-fetch)
7735 (uri (git-reference
7736 (url "https://github.com/emacs-evil/goto-chg")
7737 (commit commit)))
7738 (file-name (git-file-name name version))
7739 (sha256
7740 (base32
7741 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
7742 (build-system emacs-build-system)
7743 (propagated-inputs
7744 `(("emacs-undo-tree" ,emacs-undo-tree)))
7745 (home-page "https://github.com/emacs-evil/goto-chg")
7746 (synopsis "Go to the last change in the Emacs buffer")
7747 (description
7748 "This package provides @code{M-x goto-last-change} command that goes to
7749 the point of the most recent edit in the current Emacs buffer. When repeated,
7750 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
7751 used for reverse direction.")
7752 (license license:gpl2+))))
7753
7754 (define-public emacs-janpath-evil-numbers
7755 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
7756 (version "0.5")
7757 (revision "1"))
7758 (package
7759 (name "emacs-janpath-evil-numbers")
7760 (version (git-version version revision commit))
7761 (source
7762 (origin
7763 (method git-fetch)
7764 (uri (git-reference
7765 (url "https://github.com/janpath/evil-numbers")
7766 (commit commit)))
7767 (file-name (git-file-name name version))
7768 (sha256
7769 (base32
7770 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
7771 (build-system emacs-build-system)
7772 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7773 (home-page "https://github.com/janpath/evil-numbers")
7774 (synopsis "Increment and decrement numeric literals")
7775 (description
7776 "This package provides functionality to search for a number up to the
7777 end of a line and increment or decrement it.")
7778 (license license:gpl3+))))
7779
7780 (define-public emacs-evil-owl
7781 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
7782 (revision "3"))
7783 (package
7784 (name "emacs-evil-owl")
7785 (version (git-version "0.0.1" revision commit))
7786 (source
7787 (origin
7788 (method git-fetch)
7789 (uri (git-reference
7790 (url "https://github.com/mamapanda/evil-owl")
7791 (commit commit)))
7792 (file-name (git-file-name name version))
7793 (sha256
7794 (base32
7795 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
7796 (build-system emacs-build-system)
7797 (propagated-inputs
7798 `(("emacs-evil" ,emacs-evil)))
7799 (arguments
7800 `(#:tests? #t
7801 #:test-command '("make" "test")))
7802 (home-page "https://github.com/mamapanda/evil-owl")
7803 (synopsis "Preview candidates when using Evil registers and marks")
7804 (description
7805 "This package supplements Evil's register- and mark-based commands with
7806 a popup window for previewing candidates.")
7807 (license license:gpl3+))))
7808
7809 (define-public emacs-evil-args
7810 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
7811 (revision "1"))
7812 (package
7813 (name "emacs-evil-args")
7814 (version (git-version "1.0" revision commit))
7815 (source
7816 (origin
7817 (method git-fetch)
7818 (uri (git-reference
7819 (url "https://github.com/wcsmith/evil-args.git")
7820 (commit commit)))
7821 (file-name (git-file-name name version))
7822 (sha256
7823 (base32
7824 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
7825 (build-system emacs-build-system)
7826 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7827 (home-page "https://github.com/wcsmith/evil-args")
7828 (synopsis "Motions and text objects for delimited arguments in Evil")
7829 (description
7830 "This package provides motions and text objects for delimited
7831 arguments, such as arguments separated by commas and semicolons.")
7832 (license license:expat))))
7833
7834 (define-public emacs-evil-exchange
7835 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
7836 (version "0.41")
7837 (revision "1"))
7838 (package
7839 (name "emacs-evil-exchange")
7840 (version (git-version version revision commit))
7841 (source
7842 (origin
7843 (method git-fetch)
7844 (uri (git-reference
7845 (url "https://github.com/Dewdrops/evil-exchange")
7846 (commit commit)))
7847 (file-name (git-file-name name version))
7848 (sha256
7849 (base32
7850 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
7851 (build-system emacs-build-system)
7852 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7853 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
7854 (arguments
7855 `(#:phases
7856 (modify-phases %standard-phases
7857 (add-before 'check 'fix-makefile
7858 (lambda _
7859 (substitute* "Makefile"
7860 (("cask exec ") ""))
7861 #t)))
7862 #:tests? #t
7863 #:test-command '("make" "test")))
7864 (home-page "https://github.com/Dewdrops/evil-exchange")
7865 (synopsis "Exchange text easily within Evil")
7866 (description
7867 "This package, a port of @code{vim-exchange}, provides an Evil operator
7868 for exchanging text.")
7869 (license license:gpl3+))))
7870
7871 (define-public emacs-evil-replace-with-register
7872 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
7873 (version "0.1")
7874 (revision "1"))
7875 (package
7876 (name "emacs-evil-replace-with-register")
7877 (version (git-version version revision commit))
7878 (source
7879 (origin
7880 (method git-fetch)
7881 (uri (git-reference
7882 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7883 (commit commit)))
7884 (file-name (git-file-name name version))
7885 (sha256
7886 (base32
7887 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
7888 (build-system emacs-build-system)
7889 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7890 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7891 (synopsis "Quickly replace text with the contents of a register")
7892 (description
7893 "This package provides an Evil operator for replacing text with the
7894 contents of a register.")
7895 (license license:gpl3+))))
7896
7897 (define-public emacs-evil-indent-plus
7898 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
7899 (version "1.0.0")
7900 (revision "1"))
7901 (package
7902 (name "emacs-evil-indent-plus")
7903 (version (git-version version revision commit))
7904 (source
7905 (origin
7906 (method git-fetch)
7907 (uri (git-reference
7908 (url "https://github.com/TheBB/evil-indent-plus")
7909 (commit commit)))
7910 (file-name (git-file-name name version))
7911 (sha256
7912 (base32
7913 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
7914 (build-system emacs-build-system)
7915 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7916 (home-page "https://github.com/TheBB/evil-indent-plus")
7917 (synopsis "Text objects based on indentation")
7918 (description
7919 "This package adds new text objects for @code{evil-mode} based on
7920 blocks having the same or higher indentation, including or excluding
7921 surrounding lines.")
7922 (license license:gpl2+))))
7923
7924 (define-public emacs-evil-text-object-python
7925 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
7926 (version "1.0.1")
7927 (revision "1"))
7928 (package
7929 (name "emacs-evil-text-object-python")
7930 (version (git-version version revision commit))
7931 (source
7932 (origin
7933 (method git-fetch)
7934 (uri (git-reference
7935 (url "https://github.com/wbolster/evil-text-object-python")
7936 (commit commit)))
7937 (file-name (git-file-name name version))
7938 (sha256
7939 (base32
7940 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
7941 (build-system emacs-build-system)
7942 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7943 (home-page "https://github.com/wbolster/evil-text-object-python")
7944 (synopsis "Text objects for Python")
7945 (description
7946 "This package provides @code{evil-mode} text objects for Python.")
7947 (license license:gpl3+))))
7948
7949 (define-public emacs-evil-lion
7950 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
7951 (revision "1"))
7952 (package
7953 (name "emacs-evil-lion")
7954 (version (git-version "0.0.2" revision commit))
7955 (source
7956 (origin
7957 (method git-fetch)
7958 (uri (git-reference
7959 (url "https://github.com/edkolev/evil-lion")
7960 (commit commit)))
7961 (file-name (git-file-name name version))
7962 (sha256
7963 (base32
7964 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
7965 (build-system emacs-build-system)
7966 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7967 (arguments
7968 `(#:tests? #t
7969 #:test-command '("make" "test")))
7970 (home-page "https://github.com/edkolev/evil-lion")
7971 (synopsis "Align operator for @code{evil-mode}")
7972 (description
7973 "This package, a port of @code{vim-lion}, provides an operator for
7974 aligning text objects based on separators.")
7975 (license license:gpl3+))))
7976
7977 (define-public emacs-evil-expat
7978 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
7979 (revision "1"))
7980 (package
7981 (name "emacs-evil-expat")
7982 (version (git-version "0.0.1" revision commit))
7983 (source
7984 (origin
7985 (method git-fetch)
7986 (uri (git-reference
7987 (url "https://github.com/edkolev/evil-expat")
7988 (commit commit)))
7989 (file-name (git-file-name name version))
7990 (sha256
7991 (base32
7992 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
7993 (build-system emacs-build-system)
7994 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7995 (arguments
7996 `(#:tests? #t
7997 #:test-command '("make" "test")))
7998 (home-page "https://github.com/edkolev/evil-expat")
7999 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
8000 (description
8001 "This package provides additional commands for the @code{ex} command
8002 line, including functions for version control with Git and for copying and
8003 pasting into and from @code{tmux} paste buffers.")
8004 (license license:gpl3+))))
8005
8006 (define-public emacs-evil-nerd-commenter
8007 (package
8008 (name "emacs-evil-nerd-commenter")
8009 (version "3.3.8")
8010 (source
8011 (origin
8012 (method git-fetch)
8013 (uri (git-reference
8014 (url "https://github.com/redguardtoo/evil-nerd-commenter")
8015 (commit version)))
8016 (file-name (git-file-name name version))
8017 (sha256
8018 (base32
8019 "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"))))
8020 (build-system emacs-build-system)
8021 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8022 (arguments
8023 `(#:tests? #t
8024 #:test-command '("make" "test")))
8025 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
8026 (synopsis "Comment and uncomment lines efficiently")
8027 (description
8028 "This package provides text objects and operators for comments within
8029 @code{evil-mode}.")
8030 (license license:gpl3+)))
8031
8032 (define-public emacs-evil-visual-replace
8033 (package
8034 (name "emacs-evil-visual-replace")
8035 (version "0.0.5")
8036 (source
8037 (origin
8038 (method git-fetch)
8039 (uri (git-reference
8040 (url "https://github.com/troyp/evil-visual-replace")
8041 (commit version)))
8042 (file-name (git-file-name name version))
8043 (sha256
8044 (base32
8045 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
8046 (build-system emacs-build-system)
8047 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8048 (home-page "https://github.com/troyp/evil-visual-replace")
8049 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
8050 (description
8051 "This package provides versions of @code{query-replace} and
8052 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
8053 (license license:gpl2+)))
8054
8055 (define-public emacs-evil-visualstar
8056 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
8057 (version "0.0.2")
8058 (revision "1"))
8059 (package
8060 (name "emacs-evil-visualstar")
8061 (version (git-version version revision commit))
8062 (source
8063 (origin
8064 (method git-fetch)
8065 (uri (git-reference
8066 (url "https://github.com/bling/evil-visualstar")
8067 (commit commit)))
8068 (file-name (git-file-name name version))
8069 (sha256
8070 (base32
8071 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
8072 (build-system emacs-build-system)
8073 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
8074 (home-page "https://github.com/bling/evil-visualstar")
8075 (synopsis "Instantly search using the visual selection")
8076 (description
8077 "This package provides @code{evil-mode} functions for using selected text
8078 to search.")
8079 (license license:gpl3+))))
8080
8081 (define-public emacs-monky
8082 (package
8083 (name "emacs-monky")
8084 (version "0.1")
8085 (source (origin
8086 (method git-fetch)
8087 (uri (git-reference
8088 (url "https://github.com/ananthakumaran/monky.git")
8089 (commit version)))
8090 (file-name (git-file-name name version))
8091 (sha256
8092 (base32
8093 "1fgn7al4zwz2k5wb5dy3byqg9lsrjk9fra341mxh5ma2pfwxjgps"))))
8094 (build-system emacs-build-system)
8095 (home-page "https://ananthakumaran.in/monky/index.html")
8096 (arguments
8097 `(#:tests? #t
8098 #:test-command '("emacs" "--batch"
8099 "-l" "test/monky-unit-test.el"
8100 "-f" "ert-run-tests-batch-and-exit")))
8101 (synopsis "Interactive interface for the Mercurial version control system")
8102 (description
8103 "Monky provides an Emacs interface for Mercurial (Hg). Using Monky, you
8104 can selectively commit files, view the diffs, and other things.")
8105 (license license:gpl3+)))
8106
8107 (define-public emacs-monroe
8108 (package
8109 (name "emacs-monroe")
8110 (version "0.3.1")
8111 (source
8112 (origin
8113 (method git-fetch)
8114 (uri (git-reference
8115 (url "https://github.com/sanel/monroe.git")
8116 (commit version)))
8117 (file-name (git-file-name name version))
8118 (sha256
8119 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
8120 (build-system emacs-build-system)
8121 (home-page "https://github.com/sanel/monroe")
8122 (synopsis "Clojure nREPL client for Emacs")
8123 (description
8124 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
8125 distribution, primarily targeting Clojure users")
8126 (license license:gpl3+)))
8127
8128 (define-public emacs-orgalist
8129 (package
8130 (name "emacs-orgalist")
8131 (version "1.11")
8132 (source
8133 (origin
8134 (method url-fetch)
8135 (uri (string-append "https://elpa.gnu.org/packages/"
8136 "orgalist-" version ".el"))
8137 (sha256
8138 (base32
8139 "0zbqkk540rax32s8szp5zgz3a02zw88fc1dmjmyw6h3ls04m91kl"))))
8140 (build-system emacs-build-system)
8141 (home-page "https://elpa.gnu.org/packages/orgalist.html")
8142 (synopsis "Manage Org-like lists in non-Org buffers")
8143 (description "Write Org mode's plain lists in non-Org buffers. More
8144 specifically, Orgalist supports the syntax of Org mode for numbered,
8145 unnumbered, description items, checkboxes, and counter cookies.
8146
8147 The library also implements radio lists, i.e., lists written in Org
8148 syntax later translated into the host format, e.g., LaTeX or HTML.")
8149 (license license:gpl3+)))
8150
8151 (define-public emacs-writegood-mode
8152 (package
8153 (name "emacs-writegood-mode")
8154 (version "2.0.2")
8155 (home-page "https://github.com/bnbeckwith/writegood-mode")
8156 (source (origin
8157 (method git-fetch)
8158 (uri (git-reference
8159 (url home-page)
8160 (commit (string-append "v" version))))
8161 (sha256
8162 (base32
8163 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
8164 (file-name (string-append name "-checkout"))))
8165 (build-system emacs-build-system)
8166 (synopsis "Polish up poor writing on the fly")
8167 (description
8168 "This minor mode tries to find and highlight problems with your writing
8169 in English as you type. It primarily detects \"weasel words\" and abuse of
8170 passive voice.")
8171 (license license:gpl3+)))
8172
8173 (define-public emacs-neotree
8174 (package
8175 (name "emacs-neotree")
8176 (version "0.5.2")
8177 (home-page "https://github.com/jaypei/emacs-neotree")
8178 (source (origin
8179 (method git-fetch)
8180 (uri (git-reference
8181 (url home-page)
8182 (commit version)))
8183 (sha256
8184 (base32
8185 "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
8186 (file-name (git-file-name name version))))
8187 (build-system emacs-build-system)
8188 (synopsis "Folder tree view for Emacs")
8189 (description "This Emacs package provides a folder tree view.")
8190 (license license:gpl3+)))
8191
8192 (define-public emacs-org
8193 (package
8194 (name "emacs-org")
8195 ;; emacs-org-contrib inherits from this package. Please update it as
8196 ;; well.
8197 (version "9.3.6")
8198 (source
8199 (origin
8200 (method url-fetch)
8201 (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar"))
8202 (sha256
8203 (base32 "0jwpgfzjvf1hd3mx582pw86hysdryaqzp69hk6azi9kmq4bzk87d"))))
8204 (build-system emacs-build-system)
8205 (home-page "https://orgmode.org/")
8206 (synopsis "Outline-based notes management and organizer")
8207 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8208 lists, and project planning with a fast and effective lightweight markup
8209 language. It also is an authoring system with unique support for literate
8210 programming and reproducible research.")
8211 (license license:gpl3+)))
8212
8213 (define-public emacs-org-contrib
8214 (package
8215 (inherit emacs-org)
8216 (name "emacs-org-contrib")
8217 (version "20200213")
8218 (source
8219 (origin
8220 (method url-fetch)
8221 (uri (string-append "https://orgmode.org/elpa/"
8222 "org-plus-contrib-" version ".tar"))
8223 (sha256
8224 (base32 "0g6rrrwplrifz4ip0jg638m4kvpvdg03hwnyghd813w0lm935mh5"))))
8225 (arguments
8226 `(#:modules ((guix build emacs-build-system)
8227 (guix build utils)
8228 (guix build emacs-utils)
8229 (ice-9 ftw)
8230 (srfi srfi-1))
8231 #:phases
8232 (modify-phases %standard-phases
8233 (add-after 'install 'delete-org-files
8234 (lambda* (#:key inputs outputs #:allow-other-keys)
8235 (let* ((out (assoc-ref outputs "out"))
8236 (org (assoc-ref inputs "org"))
8237 (contrib-files
8238 (map basename (find-files out)))
8239 (org+contrib-files
8240 (map basename (find-files org)))
8241 (duplicates (lset-intersection string=?
8242 contrib-files
8243 org+contrib-files)))
8244 (with-directory-excursion
8245 (string-append out "/share/emacs/site-lisp")
8246 (for-each delete-file duplicates))
8247 #t))))))
8248 (propagated-inputs
8249 `(("arduino-mode" ,emacs-arduino-mode)
8250 ("cider" ,emacs-cider)
8251 ("org" ,emacs-org)
8252 ("scel" ,emacs-scel)))
8253 (synopsis "Contributed packages to Org mode")
8254 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8255 lists, and project planning with a fast and effective plain-text system.
8256
8257 This package is equivalent to org-plus-contrib, but only includes additional
8258 files that you would find in @file{contrib/} from the git repository.")))
8259
8260 (define-public emacs-flx
8261 (package
8262 (name "emacs-flx")
8263 (version "0.6.1")
8264 (source
8265 (origin
8266 (method git-fetch)
8267 (uri (git-reference
8268 (url "https://github.com/lewang/flx.git")
8269 (commit (string-append "v" version))))
8270 (sha256
8271 (base32
8272 "0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
8273 (file-name (git-file-name name version))))
8274 (build-system emacs-build-system)
8275 (home-page "https://github.com/lewang/flx")
8276 (synopsis "Fuzzy matching for Emacs")
8277 (description
8278 "Flx provides fuzzy matching for emacs a la sublime text.
8279 The sorting algorithm is a balance between word beginnings (abbreviation)
8280 and contiguous matches (substring). The longer the substring match,
8281 the higher it scores. This maps well to how we think about matching.
8282 Flx has support for ido (interactively do things) through flx-ido.")
8283 (license license:gpl3+)))
8284
8285 (define-public emacs-cyberpunk-theme
8286 (package
8287 (name "emacs-cyberpunk-theme")
8288 (version "1.21")
8289 (source
8290 (origin
8291 (method git-fetch)
8292 (uri (git-reference
8293 (url "https://github.com/n3mo/cyberpunk-theme.el/")
8294 (commit version)))
8295 (sha256
8296 (base32
8297 "05mfgr9aj7knn7niadv9p6z3qrfpq2lbbi2wxxx62xywim9maw2y"))
8298 (file-name (git-file-name name version))))
8299 (build-system emacs-build-system)
8300 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
8301 (synopsis "Cyberpunk theme for Emacs built-in color theme support")
8302 (description
8303 "Cyberpunk color theme for the Emacs 24+ built-in color theme support
8304 known loosely as deftheme. Many mode-specific customizations are included.")
8305 (license license:gpl3+)))
8306
8307 (define-public emacs-danneskjold-theme
8308 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
8309 (revision "1"))
8310 (package
8311 (name "emacs-danneskjold-theme")
8312 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8313 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
8314 (source
8315 (origin
8316 (method git-fetch)
8317 (uri (git-reference
8318 (url home-page)
8319 (commit commit)))
8320 (file-name (git-file-name name version))
8321 (sha256
8322 (base32
8323 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
8324 (build-system emacs-build-system)
8325 (arguments
8326 `(#:phases
8327 (modify-phases %standard-phases
8328 (add-after 'unpack 'delete-screenshots
8329 (lambda _
8330 (delete-file-recursively "screenshots") #t)))))
8331 (synopsis "High-contrast Emacs theme")
8332 (description
8333 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
8334 (license license:gpl3+))))
8335
8336 (define-public emacs-dream-theme
8337 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
8338 (revision "1"))
8339 (package
8340 (name "emacs-dream-theme")
8341 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8342 (source
8343 (origin
8344 (method git-fetch)
8345 (uri (git-reference
8346 (url "https://github.com/djcb/dream-theme")
8347 (commit commit)))
8348 (file-name (git-file-name name version))
8349 (sha256
8350 (base32
8351 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
8352 (build-system emacs-build-system)
8353 (home-page "https://github.com/djcb/dream-theme")
8354 (synopsis "High-contrast Emacs theme")
8355 (description
8356 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
8357 by zenburn, sinburn and similar themes, but slowly diverging from them.")
8358 (license license:gpl3+))))
8359
8360 (define-public emacs-auto-complete
8361 (package
8362 (name "emacs-auto-complete")
8363 (version "1.5.1")
8364 (source
8365 (origin
8366 (method git-fetch)
8367 (uri (git-reference
8368 (url "https://github.com/auto-complete/auto-complete.git")
8369 (commit (string-append "v" version))))
8370 (sha256
8371 (base32
8372 "04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
8373 (file-name (git-file-name name version))))
8374 (build-system emacs-build-system)
8375 (propagated-inputs
8376 `(("emacs-popup" ,emacs-popup)))
8377 (home-page "https://github.com/auto-complete/auto-complete")
8378 (synopsis "Intelligent auto-completion extension for Emacs")
8379 (description
8380 "Auto-Complete is an intelligent auto-completion extension for Emacs.
8381 It extends the standard Emacs completion interface and provides an environment
8382 that allows users to concentrate more on their own work. Its features are:
8383 a visual interface, reduce overhead of completion by using statistic method,
8384 extensibility.")
8385 (license license:gpl3+)))
8386
8387 (define-public emacs-nginx-mode
8388 (package
8389 (name "emacs-nginx-mode")
8390 (version "1.1.9")
8391 (source
8392 (origin
8393 (method git-fetch)
8394 (uri (git-reference
8395 (url "https://github.com/ajc/nginx-mode.git")
8396 (commit (string-append "v" version))))
8397 (file-name (git-file-name name version))
8398 (sha256
8399 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
8400 (build-system emacs-build-system)
8401 (home-page "https://github.com/ajc/nginx-mode")
8402 (synopsis "Emacs major mode for editing nginx config files")
8403 (description "This package provides an Emacs major mode for
8404 editing nginx config files.")
8405 (license license:gpl2+)))
8406
8407 (define-public emacs-stream
8408 (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7")
8409 (revision "1"))
8410 (package
8411 (name "emacs-stream")
8412 (version (git-version "2.2.4" revision commit))
8413 (source
8414 (origin
8415 (method git-fetch)
8416 (uri (git-reference
8417 (url "https://github.com/Emacsmirror/stream.git")
8418 (commit commit)))
8419 (file-name (git-file-name name version))
8420 (sha256
8421 (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332"))))
8422 (build-system emacs-build-system)
8423 (arguments
8424 `(#:tests? #t
8425 #:test-command '("emacs" "--batch"
8426 "-l" "tests/stream-tests.el"
8427 "-f" "ert-run-tests-batch-and-exit")))
8428 (home-page "https://github.com/Emacsmirror/stream")
8429 (synopsis "Implementation of streams for Emacs")
8430 (description "This library provides an implementation of streams for Emacs.
8431 Streams are implemented as delayed evaluation of cons cells.")
8432 (license license:gpl3+))))
8433
8434 (define-public emacs-cl-print
8435 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
8436 (revision "1"))
8437 (package
8438 (name "emacs-cl-print")
8439 (version (git-version "1.0" revision commit))
8440 (source
8441 (origin
8442 (method git-fetch)
8443 (uri (git-reference
8444 (url "https://github.com/emacsmirror/cl-print.git")
8445 (commit commit)))
8446 (file-name (git-file-name name version))
8447 (sha256
8448 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
8449 (build-system emacs-build-system)
8450 (home-page "https://github.com/emacsmirror/cl-print")
8451 (synopsis "CL-style generic printing")
8452 (description "This package provides a generic function,
8453 @code{cl-print-object}, to which the programmer can add any method they
8454 please.")
8455 (license license:gpl3+))))
8456
8457 (define-public emacs-el-search
8458 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
8459 (revision "2"))
8460 (package
8461 (name "emacs-el-search")
8462 (version (git-version "1.12.6.1" revision commit))
8463 (source
8464 (origin
8465 (method git-fetch)
8466 (uri (git-reference
8467 (url "https://github.com/emacsmirror/el-search.git")
8468 (commit commit)))
8469 (file-name (git-file-name name version))
8470 (sha256
8471 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
8472 (build-system emacs-build-system)
8473 (inputs
8474 `(("emacs-stream" ,emacs-stream)
8475 ("emacs-cl-print" ,emacs-cl-print)))
8476 (home-page "https://github.com/emacsmirror/el-search")
8477 (synopsis "Expression based interactive search for emacs-lisp-mode")
8478 (description "This package provides expression based interactive search
8479 procedures for emacs-lisp-mode.")
8480 (license license:gpl3+))))
8481
8482 (define-public emacs-ht
8483 (package
8484 (name "emacs-ht")
8485 (version "2.2")
8486 (source
8487 (origin
8488 (method git-fetch)
8489 (uri (git-reference
8490 (url "https://github.com/Wilfred/ht.el.git")
8491 (commit version)))
8492 (file-name (git-file-name name version))
8493 (sha256
8494 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
8495 (build-system emacs-build-system)
8496 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
8497 (native-inputs
8498 `(("emacs-ert-runner" ,emacs-ert-runner)))
8499 (arguments
8500 `(#:tests? #t
8501 #:test-command '("ert-runner")))
8502 (home-page "https://github.com/Wilfred/ht.el")
8503 (synopsis "Hash table library for Emacs")
8504 (description
8505 "This package simplifies the use of hash tables in elisp. It also
8506 provides functions to convert hash tables from and to alists and plists.")
8507 (license license:gpl3+)))
8508
8509 (define-public emacs-log4e
8510 (package
8511 (name "emacs-log4e")
8512 (version "0.3.0")
8513 (source
8514 (origin
8515 (method git-fetch)
8516 (uri (git-reference
8517 (url "https://github.com/aki2o/log4e.git")
8518 (commit (string-append "v" version))))
8519 (file-name (git-file-name name version))
8520 (sha256
8521 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
8522 (build-system emacs-build-system)
8523 (arguments
8524 `(#:phases
8525 (modify-phases %standard-phases
8526 (add-after 'unpack 'remove-tests
8527 ;; Guile builder complains about null characters in some
8528 ;; strings of test files. Remove "test" directory (it is not
8529 ;; needed anyway).
8530 (lambda _
8531 (delete-file-recursively "test"))))))
8532 (home-page "https://github.com/aki2o/log4e")
8533 (synopsis "Logging framework for elisp")
8534 (description
8535 "This package provides a logging framework for elisp. It allows
8536 you to deal with multiple log levels.")
8537 (license license:gpl3+)))
8538
8539 (define-public emacs-gntp
8540 (package
8541 (name "emacs-gntp")
8542 (version "0.1")
8543 (source
8544 (origin
8545 (method git-fetch)
8546 (uri (git-reference
8547 (url "https://github.com/tekai/gntp.el.git")
8548 (commit (string-append "v" version))))
8549 (file-name (git-file-name name version))
8550 (sha256
8551 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
8552 (build-system emacs-build-system)
8553 (home-page "https://github.com/tekai/gntp.el")
8554 (synopsis "Growl Notification Protocol for Emacs")
8555 (description
8556 "This package implements the Growl Notification Protocol GNTP
8557 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
8558 It is incomplete as it only lets you send but not receive
8559 notifications.")
8560 (license license:bsd-3)))
8561
8562 (define-public emacs-alert
8563 (package
8564 (name "emacs-alert")
8565 (version "1.3")
8566 (source
8567 (origin
8568 (method git-fetch)
8569 (uri (git-reference
8570 (url "https://github.com/jwiegley/alert.git")
8571 (commit (string-append "v" version))))
8572 (file-name (git-file-name name version))
8573 (sha256
8574 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
8575 (build-system emacs-build-system)
8576 (propagated-inputs
8577 `(("emacs-gntp" ,emacs-gntp)
8578 ("emacs-log4e" ,emacs-log4e)))
8579 (home-page "https://github.com/jwiegley/alert")
8580 (synopsis "Growl-style notification system for Emacs")
8581 (description
8582 "Alert is a Growl-workalike for Emacs which uses a common notification
8583 interface and multiple, selectable \"styles\", whose use is fully
8584 customizable by the user.")
8585 (license license:gpl2+)))
8586
8587 (define-public emacs-zones
8588 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
8589 (revision "2"))
8590 (package
8591 (name "emacs-zones")
8592 (version (git-version "0" revision commit))
8593 (source
8594 (origin
8595 (method git-fetch)
8596 (uri (git-reference
8597 (url "https://github.com/emacsmirror/zones.git")
8598 (commit commit)))
8599 (file-name (git-file-name name version))
8600 (sha256
8601 (base32
8602 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
8603 (patches
8604 (search-patches
8605 "emacs-zones-called-interactively.patch"))))
8606 (build-system emacs-build-system)
8607 (home-page "https://www.emacswiki.org/emacs/Zones")
8608 (synopsis "Define and act on multiple zones of buffer text")
8609 (description "Library @file{zones.el} lets you easily define and
8610 subsequently act on multiple zones of buffer text. You can think of this as
8611 enlarging the notion of region. In effect, it can remove the requirement of
8612 target text being a contiguous sequence of characters. A set of buffer zones
8613 is, in effect, a (typically) noncontiguous set of text.")
8614 (license license:gpl3+))))
8615
8616 (define-public emacs-mu4e-alert
8617 (package
8618 (name "emacs-mu4e-alert")
8619 (version "1.0")
8620 (source
8621 (origin
8622 (method git-fetch)
8623 (uri (git-reference
8624 (url "https://github.com/iqbalansari/mu4e-alert.git")
8625 (commit (string-append "v" version))))
8626 (file-name (git-file-name name version))
8627 (sha256
8628 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
8629 (build-system emacs-build-system)
8630 (propagated-inputs
8631 `(("emacs-alert" ,emacs-alert)
8632 ("emacs-s" ,emacs-s)
8633 ("emacs-ht" ,emacs-ht)
8634 ("mu" ,mu)))
8635 (home-page "https://github.com/iqbalansari/mu4e-alert")
8636 (synopsis "Desktop notification for mu4e")
8637 (description
8638 "This package provides desktop notifications for mu4e.
8639 Additionally it can display the number of unread emails in the
8640 mode-line.")
8641 (license license:gpl3+)))
8642
8643 (define-public emacs-mu4e-jump-to-list
8644 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
8645 (revision "1"))
8646 (package
8647 (name "emacs-mu4e-jump-to-list")
8648 (version (git-version "1.0" revision commit))
8649 (source
8650 (origin
8651 (method git-fetch)
8652 (uri (git-reference
8653 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
8654 (commit commit)))
8655 (file-name (git-file-name name version))
8656 (sha256
8657 (base32
8658 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
8659 (build-system emacs-build-system)
8660 (propagated-inputs
8661 `(("mu" ,mu)))
8662 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
8663 (synopsis "Select and view mailing lists in mu4e")
8664 (description
8665 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
8666 automatically using existing List-ID headers in your mu database. Just press
8667 \"l\" in the headers view and any mailing list you've subscribed to will be
8668 automatically discovered and presented in recency order.")
8669 (license license:gpl3+))))
8670
8671 (define-public emacs-mu4e-patch
8672 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
8673 (revision "1"))
8674 (package
8675 (name "emacs-mu4e-patch")
8676 (version (git-version "0.1.0" revision commit))
8677 (source (origin
8678 (method git-fetch)
8679 (uri (git-reference
8680 (url "https://github.com/seanfarley/mu4e-patch")
8681 (commit commit)))
8682 (file-name (git-file-name name version))
8683 (sha256
8684 (base32
8685 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
8686 (build-system emacs-build-system)
8687 (propagated-inputs
8688 `(("mu" ,mu)))
8689 (home-page "https://github.com/seanfarley/mu4e-patch")
8690 (synopsis "Colorize patch-like emails in mu4e")
8691 (description
8692 "Extension for mu4e to colorize patch-like emails with diff-mode.
8693 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
8694 been adapted to work with mu4e.")
8695 (license license:gpl3+))))
8696
8697 (define-public emacs-pretty-mode
8698 (package
8699 (name "emacs-pretty-mode")
8700 (version "2.0.3")
8701 (source
8702 (origin
8703 (method git-fetch)
8704 (uri (git-reference
8705 (url "https://github.com/akatov/pretty-mode/")
8706 (commit version)))
8707 (file-name (git-file-name name version))
8708 (sha256
8709 (base32
8710 "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
8711 (build-system emacs-build-system)
8712 (home-page "https://github.com/akatov/pretty-mode")
8713 (synopsis "Redisplay parts of the buffer as Unicode symbols")
8714 (description
8715 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
8716 (license license:gpl3+)))
8717
8718 (define-public emacs-yasnippet
8719 (package
8720 (name "emacs-yasnippet")
8721 (version "0.14.0")
8722 (source
8723 (origin
8724 (method git-fetch)
8725 (uri (git-reference
8726 (url "https://github.com/joaotavora/yasnippet.git")
8727 (commit version)))
8728 (file-name (string-append name "-" version ".tar.gz"))
8729 (sha256
8730 (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
8731 (modules '((guix build utils)))
8732 (snippet
8733 '(begin
8734 ;; YASnippet expects a "snippets" subdirectory in the same
8735 ;; directory as yasnippet.el, but we don't install it because it's
8736 ;; a git submodule pointing to an external repository. Adjust
8737 ;; `yas-snippet-dirs' to prevent warnings about a missing
8738 ;; directory.
8739 (substitute* "yasnippet.el"
8740 (("^ +'yas-installed-snippets-dir\\)\\)\n")
8741 "))\n"))
8742 #t))))
8743 (build-system emacs-build-system)
8744 (arguments
8745 `(#:tests? #t
8746 #:test-command '("emacs" "--batch"
8747 "-l" "yasnippet-tests.el"
8748 "-f" "ert-run-tests-batch-and-exit")
8749 ;; FIXME: one failing test.
8750 #:phases
8751 (modify-phases %standard-phases
8752 (add-before 'check 'make-tests-writable
8753 (lambda _
8754 (make-file-writable "yasnippet-tests.el")
8755 #t))
8756 (add-before 'check 'delete-rebinding-test
8757 (lambda _
8758 (emacs-batch-edit-file "yasnippet-tests.el"
8759 `(progn (goto-char (point-min))
8760 (re-search-forward "ert-deftest test-rebindings")
8761 (beginning-of-line)
8762 (kill-sexp)
8763 (basic-save-buffer)))
8764 #t)))))
8765 (home-page "https://github.com/joaotavora/yasnippet")
8766 (synopsis "Yet another snippet extension for Emacs")
8767 (description
8768 "YASnippet is a template system for Emacs. It allows you to type an
8769 abbreviation and automatically expand it into function templates.")
8770 (license license:gpl3+)))
8771
8772 (define-public emacs-yasnippet-snippets
8773 (package
8774 (name "emacs-yasnippet-snippets")
8775 (version "0.20")
8776 (source
8777 (origin
8778 (method git-fetch)
8779 (uri (git-reference
8780 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
8781 (commit version)))
8782 (file-name (git-file-name name version))
8783 (sha256
8784 (base32 "095w7cdmfwmmr6426mbq15n0a5izgbmv9408m9yh1pqz5x3v3vsx"))))
8785 (build-system trivial-build-system)
8786 (arguments
8787 `(#:modules ((guix build utils))
8788 #:builder
8789 (begin
8790 (use-modules (guix build utils))
8791 (let* ((source (assoc-ref %build-inputs "source"))
8792 (out (assoc-ref %outputs "out"))
8793 (snippet-dir
8794 (string-append out "/share/emacs/yasnippet-snippets/")))
8795 (with-directory-excursion source
8796 (mkdir-p snippet-dir)
8797 (copy-recursively "snippets" snippet-dir)))
8798 #t)))
8799 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
8800 (synopsis "Collection of YASnippet snippets for many languages")
8801 (description
8802 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
8803 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
8804 To make YASnippet aware of these snippets, add the above directory to
8805 @code{yas-snippet-dirs}.")
8806 (license license:gpl3+)))
8807
8808 (define-public emacs-helm-c-yasnippet
8809 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
8810 (revision "1"))
8811 (package
8812 (name "emacs-helm-c-yasnippet")
8813 (version (string-append "0.6.7" "-" revision "."
8814 (string-take commit 7)))
8815 (source (origin
8816 (method git-fetch)
8817 (uri (git-reference
8818 (url "https://github.com/emacs-jp/helm-c-yasnippet")
8819 (commit commit)))
8820 (file-name (git-file-name name version))
8821 (sha256
8822 (base32
8823 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
8824 (build-system emacs-build-system)
8825 (propagated-inputs
8826 `(("emacs-helm" ,emacs-helm)
8827 ("emacs-yasnippet" ,emacs-yasnippet)))
8828 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
8829 (synopsis "Helm integration for Yasnippet")
8830 (description "This Emacs library provides Helm interface for
8831 Yasnippet.")
8832 (license license:gpl2+))))
8833
8834 (define-public emacs-helm-system-packages
8835 ;; There won't be a new release after 1.10.1 until
8836 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
8837 ;; and latest commits fix import issues with Guix.
8838 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
8839 (package
8840 (name "emacs-helm-system-packages")
8841 (version (git-version "1.10.1" "1" commit))
8842 (source (origin
8843 (method git-fetch)
8844 (uri (git-reference
8845 (url "https://github.com/emacs-helm/helm-system-packages")
8846 (commit commit)))
8847 (file-name (git-file-name name version))
8848 (sha256
8849 (base32
8850 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
8851 (build-system emacs-build-system)
8852 (inputs
8853 `(("recutils" ,recutils)))
8854 (propagated-inputs
8855 `(("emacs-helm" ,emacs-helm)))
8856 (arguments
8857 `(#:phases
8858 (modify-phases %standard-phases
8859 (add-after 'unpack 'configure
8860 (lambda* (#:key inputs outputs #:allow-other-keys)
8861 (let ((recutils (assoc-ref inputs "recutils")))
8862 ;; Specify the absolute file names of the various
8863 ;; programs so that everything works out-of-the-box.
8864 (substitute* "helm-system-packages-guix.el"
8865 (("recsel") (string-append recutils "/bin/recsel")))))))))
8866 (home-page "https://github.com/emacs-helm/helm-system-packages")
8867 (synopsis "Helm System Packages is an interface to your package manager")
8868 (description "List all available packages in Helm (with installed
8869 packages displayed in their own respective face). Fuzzy-search, mark and
8870 execute the desired action over any selections of packages: Install,
8871 uninstall, display packages details (in Org Mode) or insert details at point,
8872 find files owned by packages... And much more, including performing all the
8873 above over the network.")
8874 (license license:gpl3+))))
8875
8876 (define-public emacs-helm-org-rifle
8877 (package
8878 (name "emacs-helm-org-rifle")
8879 (version "1.7.0")
8880 (source
8881 (origin
8882 (method git-fetch)
8883 (uri (git-reference
8884 (url "https://github.com/alphapapa/helm-org-rifle")
8885 (commit version)))
8886 (file-name (git-file-name name version))
8887 (sha256
8888 (base32
8889 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
8890 (build-system emacs-build-system)
8891 (propagated-inputs
8892 `(("emacs-dash" ,emacs-dash)
8893 ("emacs-f" ,emacs-f)
8894 ("emacs-helm" ,emacs-helm)
8895 ("emacs-org" ,emacs-org)
8896 ("emacs-s" ,emacs-s)))
8897 (home-page "https://github.com/alphapapa/helm-org-rifle")
8898 (synopsis "Rifle through Org files")
8899 (description "This package searches both headings and contents of entries
8900 in Org buffers and displays matching entries.")
8901 (license license:gpl3+)))
8902
8903 (define-public emacs-dired-toggle-sudo
8904 (package
8905 (name "emacs-dired-toggle-sudo")
8906 (version "1.0")
8907 (source
8908 (origin
8909 (method git-fetch)
8910 (uri (git-reference
8911 (url "https://github.com/renard/dired-toggle-sudo")
8912 (commit (string-append "v" version))))
8913 (file-name (git-file-name name version))
8914 (sha256
8915 (base32
8916 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
8917 (patches
8918 (search-patches
8919 "emacs-dired-toggle-sudo-emacs-26.patch"))))
8920 (build-system emacs-build-system)
8921 (home-page "https://github.com/renard/dired-toggle-sudo")
8922 (synopsis "Browse directory with @code{sudo} privileges")
8923 (description "This package allows for the use of @code{dired} with
8924 @code{sudo} privileges.")
8925 (license license:wtfpl2)))
8926
8927 (define-public emacs-memoize
8928 (package
8929 (name "emacs-memoize")
8930 (version "1.1")
8931 (source
8932 (origin
8933 (method git-fetch)
8934 (uri (git-reference
8935 (url "https://github.com/skeeto/emacs-memoize.git")
8936 (commit version)))
8937 (file-name (git-file-name name version))
8938 (sha256
8939 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
8940 (build-system emacs-build-system)
8941 (arguments
8942 `(#:tests? #t
8943 #:test-command '("emacs" "--batch"
8944 "-l" "memoize-test.el"
8945 "-f" "ert-run-tests-batch-and-exit")))
8946 (home-page "https://github.com/skeeto/emacs-memoize")
8947 (synopsis "Emacs lisp memoization library")
8948 (description "@code{emacs-memoize} is an Emacs library for
8949 memoizing functions.")
8950 (license license:unlicense)))
8951
8952 (define-public emacs-linum-relative
8953 (package
8954 (name "emacs-linum-relative")
8955 (version "0.6")
8956 (source
8957 (origin
8958 (method git-fetch)
8959 (uri (git-reference
8960 (url "https://github.com/coldnew/linum-relative.git")
8961 (commit version)))
8962 (file-name (git-file-name name version))
8963 (sha256
8964 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
8965 (build-system emacs-build-system)
8966 (home-page "https://github.com/coldnew/linum-relative")
8967 (synopsis "Relative line numbering for Emacs")
8968 (description "@code{emacs-linum-relative} displays the relative line
8969 number on the left margin in Emacs.")
8970 (license license:gpl2+)))
8971
8972 (define-public emacs-idle-highlight
8973 (package
8974 (name "emacs-idle-highlight")
8975 (version "1.1.3")
8976 (source
8977 (origin
8978 (method git-fetch)
8979 (uri (git-reference
8980 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
8981 (commit version)))
8982 (file-name (git-file-name name version))
8983 (sha256
8984 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
8985 (build-system emacs-build-system)
8986 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
8987 (synopsis "Highlights all occurrences of the word the point is on")
8988 (description
8989 "This Emacs package provides @code{idle-highlight-mode} that sets
8990 an idle timer to highlight all occurrences in the buffer of the word under
8991 the point.")
8992 (license license:gpl3+)))
8993
8994 (define-public emacs-ox-twbs
8995 (package
8996 (name "emacs-ox-twbs")
8997 (version "1.1.1")
8998 (source
8999 (origin
9000 (method git-fetch)
9001 (uri (git-reference
9002 (url "https://github.com/marsmining/ox-twbs.git")
9003 (commit (string-append "v" version))))
9004 (file-name (git-file-name name version))
9005 (sha256
9006 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
9007 (build-system emacs-build-system)
9008 (home-page "https://github.com/marsmining/ox-twbs")
9009 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
9010 (description
9011 "This Emacs package outputs your org-mode docs with a simple, clean and
9012 modern look. It implements a new HTML back-end for exporting org-mode docs as
9013 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
9014 jQuery and Bootstrap resources included via osscdn.")
9015 (license license:gpl3+)))
9016
9017 (define-public emacs-highlight-sexp
9018 (package
9019 (name "emacs-highlight-sexp")
9020 (version "1.0")
9021 (source
9022 (origin
9023 (method git-fetch)
9024 (uri (git-reference
9025 (url "https://github.com/daimrod/highlight-sexp.git")
9026 (commit (string-append "v" version))))
9027 (file-name (git-file-name name version))
9028 (sha256
9029 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
9030 (build-system emacs-build-system)
9031 (home-page "https://github.com/daimrod/highlight-sexp")
9032 (synopsis "Minor mode that highlights the s-exp at the current position")
9033 (description
9034 "This Emacs package highlights the s-exp at the current position.")
9035 (license license:gpl3+)))
9036
9037 (define-public emacs-highlight-stages
9038 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
9039 (revision "1"))
9040 (package
9041 (name "emacs-highlight-stages")
9042 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
9043 (source
9044 (origin
9045 (method git-fetch)
9046 (uri (git-reference
9047 (url "https://github.com/zk-phi/highlight-stages.git")
9048 (commit commit)))
9049 (file-name (git-file-name name version))
9050 (sha256
9051 (base32
9052 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
9053 (patches
9054 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
9055 (build-system emacs-build-system)
9056 (home-page "https://github.com/wigust/highlight-stages")
9057 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
9058 (description "@code{highlight-stages} provides an Emacs minor mode that
9059 highlights quasi-quoted expressions.")
9060 (license license:gpl3+))))
9061
9062 (define-public emacspeak
9063 (package
9064 (name "emacspeak")
9065 (version "50.0")
9066 (source
9067 (origin
9068 (method url-fetch)
9069 (uri (string-append
9070 "https://github.com/tvraman/emacspeak/releases/download/"
9071 version "/emacspeak-" version ".tar.bz2"))
9072 (sha256
9073 (base32
9074 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
9075 (build-system gnu-build-system)
9076 (arguments
9077 '(#:make-flags (list (string-append "prefix="
9078 (assoc-ref %outputs "out")))
9079 #:phases
9080 (modify-phases %standard-phases
9081 (replace 'configure
9082 (lambda _
9083 (setenv "SHELL" (which "sh"))
9084 ;; Configure Emacspeak according to etc/install.org.
9085 (invoke "make" "config")))
9086 (add-after 'build 'build-espeak
9087 (lambda _
9088 (invoke "make" "espeak")))
9089 (replace 'install
9090 (lambda* (#:key inputs outputs #:allow-other-keys)
9091 (let* ((out (assoc-ref outputs "out"))
9092 (bin (string-append out "/bin"))
9093 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
9094 (info (string-append out "/share/info"))
9095 (emacs (string-append (assoc-ref inputs "emacs")
9096 "/bin/emacs")))
9097 ;; According to etc/install.org, the Emacspeak directory should
9098 ;; be copied to its installation destination.
9099 (for-each
9100 (lambda (file)
9101 (copy-recursively file (string-append lisp "/" file)))
9102 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
9103 "stumpwm" "xsl"))
9104 ;; Make sure emacspeak is loaded from the correct directory.
9105 (substitute* "etc/emacspeak.sh"
9106 (("/lisp/emacspeak-setup.el")
9107 (string-append lisp "/lisp/emacspeak-setup.el")))
9108 ;; Install the convenient startup script.
9109 (mkdir-p bin)
9110 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
9111 #t))
9112 (add-after 'install 'wrap-program
9113 (lambda* (#:key inputs outputs #:allow-other-keys)
9114 (let* ((out (assoc-ref outputs "out"))
9115 (emacspeak (string-append out "/bin/emacspeak"))
9116 (espeak (string-append (assoc-ref inputs "espeak")
9117 "/bin/espeak")))
9118 ;; The environment variable DTK_PROGRAM tells emacspeak what
9119 ;; program to use for speech.
9120 (wrap-program emacspeak
9121 `("DTK_PROGRAM" ":" prefix (,espeak)))
9122 #t))))
9123 #:tests? #f)) ; no check target
9124 (inputs
9125 `(("emacs" ,emacs)
9126 ("espeak" ,espeak)
9127 ("perl" ,perl)
9128 ("tcl" ,tcl)
9129 ("tclx" ,tclx)))
9130 (home-page "http://emacspeak.sourceforge.net")
9131 (synopsis "Audio desktop interface for Emacs")
9132 (description
9133 "Emacspeak is a speech interface that allows visually impaired users to
9134 interact independently and efficiently with the computer. Audio formatting
9135 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
9136 allows Emacspeak to produce rich aural presentations of electronic information.
9137 By seamlessly blending all aspects of the Internet such as Web-surfing and
9138 messaging, Emacspeak speech-enables local and remote information via a
9139 consistent and well-integrated user interface.")
9140 (license license:gpl2+)))
9141
9142 (define-public emacs-adaptive-wrap
9143 (package
9144 (name "emacs-adaptive-wrap")
9145 (version "0.5.1")
9146 (source (origin
9147 (method url-fetch)
9148 (uri (string-append
9149 "https://elpa.gnu.org/packages/adaptive-wrap-"
9150 version ".el"))
9151 (sha256
9152 (base32
9153 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
9154 (build-system emacs-build-system)
9155 (home-page "https://elpa.gnu.org/packages/adaptive-wrap.html")
9156 (synopsis "Smart line-wrapping with wrap-prefix")
9157 (description
9158 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
9159 minor mode which sets the wrap-prefix property on the fly so that
9160 single-long-line paragraphs get word-wrapped in a way similar to what
9161 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
9162 actually changing the buffer's text.")
9163 (license license:gpl3+)))
9164
9165 (define-public emacs-diff-hl
9166 (package
9167 (name "emacs-diff-hl")
9168 (version "1.8.7")
9169 (source
9170 (origin
9171 (method git-fetch)
9172 (uri (git-reference
9173 (url "https://github.com/dgutov/diff-hl")
9174 (commit version)))
9175 (file-name (git-file-name name version))
9176 (sha256
9177 (base32 "0i7x6qgr3nydcwhw72sbc8z9x9dfhgkf0dqj9nakvx36vn1bblbq"))))
9178 (build-system emacs-build-system)
9179 (home-page "https://github.com/dgutov/diff-hl")
9180 (synopsis
9181 "Highlight uncommitted changes using VC")
9182 (description
9183 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
9184 window (using the fringe, by default), allows you to jump between
9185 the hunks and revert them selectively.")
9186 (license license:gpl3+)))
9187
9188 (define-public emacs-diminish
9189 (package
9190 (name "emacs-diminish")
9191 (version "0.45")
9192 (source
9193 (origin
9194 (method git-fetch)
9195 (uri (git-reference
9196 (url "https://github.com/myrjola/diminish.el.git")
9197 (commit (string-append "v" version))))
9198 (file-name (git-file-name name version))
9199 (sha256
9200 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
9201 (build-system emacs-build-system)
9202 (home-page "https://github.com/myrjola/diminish.el")
9203 (synopsis "Diminish minor modes with no modeline display")
9204 (description "@code{emacs-diminish} implements hiding or
9205 abbreviation of the mode line displays (lighters) of minor modes.")
9206 (license license:gpl2+)))
9207
9208 (define-public emacs-use-package
9209 (package
9210 (name "emacs-use-package")
9211 (version "2.4")
9212 (source (origin
9213 (method git-fetch)
9214 (uri (git-reference
9215 (url "https://github.com/jwiegley/use-package")
9216 (commit version)))
9217 (file-name (git-file-name name version))
9218 (sha256
9219 (base32
9220 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
9221 (build-system emacs-build-system)
9222 (propagated-inputs
9223 `(("emacs-diminish" ,emacs-diminish)))
9224 (arguments
9225 `(#:tests? #t
9226 #:test-command '("emacs" "--batch"
9227 "-l" "use-package-tests.el"
9228 "-f" "ert-run-tests-batch-and-exit")))
9229 (home-page "https://github.com/jwiegley/use-package")
9230 (synopsis "Declaration for simplifying your .emacs")
9231 (description "The use-package macro allows you to isolate package
9232 configuration in your @file{.emacs} file in a way that is both
9233 performance-oriented and tidy.")
9234 (license license:gpl2+)))
9235
9236 (define-public emacs-leaf
9237 (package
9238 (name "emacs-leaf")
9239 (version "3.5.0")
9240 (source
9241 (origin
9242 (method git-fetch)
9243 (uri (git-reference
9244 (url "https://github.com/conao3/leaf.el.git")
9245 (commit (string-append "v" version))))
9246 (file-name (git-file-name name version))
9247 (sha256
9248 (base32
9249 "1rgd59146wad92yc64las0qgx67k2ifgsw1vwhp40xvkd7kb0r6d"))))
9250 (build-system emacs-build-system)
9251 (home-page "https://github.com/conao3/leaf.el")
9252 (arguments
9253 `(#:tests? #t
9254 #:test-command '("emacs" "--batch"
9255 "-l" "leaf-tests.el"
9256 "-f" "cort-test-run")))
9257 (synopsis
9258 "Simplify your init.el configuration, extended use-package")
9259 (description
9260 "This package provides macros that allows you to declaratively configure
9261 settings typical of an Elisp package with various keywords. The syntax is
9262 similar, but not identical to use-package -- overall, leaf aims at a cleaner
9263 and more predictable implementation.")
9264 (license license:agpl3+)))
9265
9266 (define-public emacs-strace-mode
9267 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
9268 (revision "1"))
9269 (package
9270 (name "emacs-strace-mode")
9271 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
9272 (source (origin
9273 (method git-fetch)
9274 (uri (git-reference
9275 (url "https://github.com/pkmoore/strace-mode")
9276 (commit commit)))
9277 (file-name (git-file-name name version))
9278 (sha256
9279 (base32
9280 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
9281 (build-system emacs-build-system)
9282 (home-page "https://github.com/pkmoore/strace-mode")
9283 (synopsis "Emacs major mode to highlight strace outputs")
9284 (description "@code{emacs-strace-mode} provides an Emacs major mode
9285 highlighting strace outputs.")
9286 (license license:gpl3+))))
9287
9288 (define-public emacs-default-encrypt
9289 (package
9290 (name "emacs-default-encrypt")
9291 (version "4.4")
9292 (source
9293 (origin
9294 (method url-fetch)
9295 (uri (string-append
9296 "https://informationelle-selbstbestimmung-im-internet.de"
9297 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
9298 (file-name (string-append "jl-encrypt-" version ".el"))
9299 (sha256
9300 (base32
9301 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
9302 (build-system emacs-build-system)
9303 (home-page
9304 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
9305 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
9306 (description
9307 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
9308 automatically encrypts messages that you send (e.g., email) when public keys
9309 for all recipients are available, and it protects you from accidentally
9310 sending un-encrypted messages. It can also be configured to automatically
9311 sign messages that you send. For details and instructions on how to use
9312 DefaultEncrypt, please refer to the home page or read the comments in the
9313 source file, @file{jl-encrypt.el}.")
9314 (license license:gpl3+)))
9315
9316 (define-public emacs-extend-smime
9317 (package
9318 (name "emacs-extend-smime")
9319 (version "3.3")
9320 (source
9321 (origin
9322 (method url-fetch)
9323 (uri (string-append
9324 "https://informationelle-selbstbestimmung-im-internet.de"
9325 "/emacs/jl-smime" version "/jl-smime.el"))
9326 (file-name (string-append "jl-smime-" version ".el"))
9327 (sha256
9328 (base32
9329 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
9330 (build-system emacs-build-system)
9331 (home-page
9332 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
9333 (synopsis "Improved S/MIME support for Gnus in Emacs")
9334 (propagated-inputs
9335 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
9336 (description
9337 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
9338 ;; should not be translated. The name "emacs-default-encrypt" refers to
9339 ;; the Guix package that provides DefaultEncrypt.
9340 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
9341 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
9342 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
9343 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
9344 certificates via LDAP and imports them into @code{gpgsm}. When certificates
9345 for all recipients are available, DefaultEncrypt automatically encrypts the
9346 message. For details and instructions on how to use ExtendSMIME, please refer
9347 to the home page or read the comments in the source file,
9348 @file{jl-smime.el}.")
9349 (license license:gpl3+)))
9350
9351 (define-public emacs-htmlize
9352 (package
9353 (name "emacs-htmlize")
9354 (version "1.55")
9355 (source
9356 (origin
9357 (method git-fetch)
9358 (uri (git-reference
9359 (url "https://github.com/hniksic/emacs-htmlize.git")
9360 (commit (string-append "release/" version))))
9361 (file-name (git-file-name name version))
9362 (sha256
9363 (base32 "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x"))))
9364 (build-system emacs-build-system)
9365 (home-page "https://github.com/hniksic/emacs-htmlize")
9366 (synopsis "Convert buffer text and decorations to HTML")
9367 (description "@code{emacs-htmlize} converts the buffer text and
9368 the associated decorations to HTML. Output to CSS, inline CSS and
9369 fonts is supported.")
9370 (license license:gpl2+)))
9371
9372 (define-public emacs-xmlgen
9373 (package
9374 (name "emacs-xmlgen")
9375 (version "0.5")
9376 (source
9377 (origin
9378 (method git-fetch)
9379 (uri (git-reference
9380 (url "https://github.com/philjackson/xmlgen.git")
9381 (commit version)))
9382 (file-name (git-file-name name version))
9383 (sha256
9384 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
9385 (build-system emacs-build-system)
9386 (arguments
9387 `(#:tests? #t
9388 #:test-command '("emacs" "--batch"
9389 "-l" "xmlgen-test.el"
9390 "-f" "ert-run-tests-batch-and-exit")))
9391 (home-page "https://github.com/philjackson/xmlgen")
9392 (synopsis "S-expression to XML domain specific language (DSL) in
9393 Emacs Lisp")
9394 (description "@code{emacs-xmlgen} provides S-expression to XML
9395 conversion for Emacs Lisp.")
9396 (license license:gpl2+)))
9397
9398 (define-public emacs-cdlatex
9399 (package
9400 (name "emacs-cdlatex")
9401 (version "4.7")
9402 (source
9403 (origin
9404 (method git-fetch)
9405 (uri (git-reference
9406 (url "https://github.com/cdominik/cdlatex.git")
9407 (commit version)))
9408 (file-name (git-file-name name version))
9409 (sha256
9410 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
9411 (build-system emacs-build-system)
9412 (propagated-inputs
9413 `(("emacs-auctex" ,emacs-auctex)))
9414 (home-page "https://github.com/cdominik/cdlatex")
9415 (synopsis "Fast Emacs input methods for LaTeX environments and
9416 math")
9417 (description "CDLaTeX is an Emacs minor mode supporting fast
9418 insertion of environment templates and math in LaTeX. Similar
9419 commands are also offered as part of the AUCTeX package, but it is not
9420 the same - CDLaTeX focuses on speediness for inserting LaTeX
9421 constructs.")
9422 (license license:gpl3+)))
9423
9424 (define-public emacs-cnfonts
9425 (package
9426 (name "emacs-cnfonts")
9427 (version "0.9.1")
9428 (source
9429 (origin
9430 (method git-fetch)
9431 (uri (git-reference
9432 (url "https://github.com/tumashu/cnfonts.git")
9433 (commit (string-append "v" version))))
9434 (file-name (git-file-name name version))
9435 (sha256
9436 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
9437 (build-system emacs-build-system)
9438 (home-page "https://github.com/tumashu/cnfonts")
9439 (synopsis "Emacs Chinese fonts setup tool")
9440 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
9441 configuration of Chinese fonts.")
9442 (license license:gpl2+)))
9443
9444 (define-public emacs-php-mode
9445 (package
9446 (name "emacs-php-mode")
9447 (version "1.22.2")
9448 (source (origin
9449 (method git-fetch)
9450 (uri (git-reference
9451 (url "https://github.com/ejmr/php-mode.git")
9452 (commit (string-append "v" version))))
9453 (file-name (git-file-name name version))
9454 (sha256
9455 (base32
9456 "1r4bpyavlndd4c78cv5cc97bc0gkd4cggiyz4kd2vg6zlyc1nld3"))))
9457 (build-system emacs-build-system)
9458 (home-page "https://github.com/ejmr/php-mode")
9459 (synopsis "Major mode for editing PHP code")
9460 (description "@code{php-mode} is a major mode for editing PHP source
9461 code. It's an extension of C mode; thus it inherits all C mode's navigation
9462 functionality. But it colors according to the PHP grammar and indents
9463 according to the PEAR coding guidelines. It also includes a couple handy
9464 IDE-type features such as documentation search and a source and class
9465 browser.")
9466 (license license:gpl3+)))
9467
9468 (define-public emacs-pos-tip
9469 (package
9470 (name "emacs-pos-tip")
9471 (version "0.4.6")
9472 (source
9473 (origin
9474 (method git-fetch)
9475 (uri (git-reference
9476 (url "https://github.com/pitkali/pos-tip.git")
9477 (commit version)))
9478 (file-name (git-file-name name version))
9479 (sha256
9480 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
9481 (build-system emacs-build-system)
9482 ;; The following functions and variables needed by emacs-pos-tip are
9483 ;; not included in emacs-minimal:
9484 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
9485 (arguments `(#:emacs ,emacs))
9486 (home-page "https://github.com/pitkali/pos-tip")
9487 (synopsis "Show tooltip at point")
9488 (description "The standard library tooltip.el provides a function for
9489 displaying a tooltip at the mouse position. However, locating a tooltip at an
9490 arbitrary buffer position in a window is not easy. Pos-tip provides such a
9491 function to be used by other frontend programs.")
9492 (license license:gpl2+)))
9493
9494 (define-public emacs-pyim-basedict
9495 (package
9496 (name "emacs-pyim-basedict")
9497 (version "0.3.1")
9498 (source
9499 (origin
9500 (method git-fetch)
9501 (uri (git-reference
9502 (url "https://github.com/tumashu/pyim-basedict.git")
9503 (commit (string-append "v" version))))
9504 (file-name (git-file-name name version))
9505 (sha256
9506 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
9507 (build-system emacs-build-system)
9508 (home-page "https://github.com/tumashu/pyim-basedict")
9509 (synopsis "Input method dictionary of pyim")
9510 (description "Pyim-basedict is the default pinyin input method dictionary,
9511 containing words from the rime project.")
9512 (license license:gpl2+)))
9513
9514 (define-public emacs-pyim
9515 (package
9516 (name "emacs-pyim")
9517 (version "1.8")
9518 (source
9519 (origin
9520 (method git-fetch)
9521 (uri (git-reference
9522 (url "https://github.com/tumashu/pyim")
9523 (commit (string-append "v" version))))
9524 (file-name (git-file-name name version))
9525 (sha256
9526 (base32
9527 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
9528 (build-system emacs-build-system)
9529 (propagated-inputs
9530 `(("emacs-async" ,emacs-async)
9531 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
9532 ("emacs-popup" ,emacs-popup)
9533 ("emacs-posframe" ,emacs-posframe)))
9534 (home-page "https://github.com/tumashu/pyim")
9535 (synopsis "Chinese input method")
9536 (description "Chinese input method which supports quanpin, shuangpin, wubi
9537 and cangjie.")
9538 (license license:gpl2+)))
9539
9540 (define-public emacs-posframe
9541 (package
9542 (name "emacs-posframe")
9543 (version "0.5.0")
9544 (source
9545 (origin
9546 (method git-fetch)
9547 (uri (git-reference
9548 (url "https://github.com/tumashu/posframe")
9549 (commit (string-append "v" version))))
9550 (file-name (git-file-name name version))
9551 (sha256
9552 (base32
9553 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
9554 (build-system emacs-build-system)
9555 ;; emacs-minimal does not include the function font-info
9556 (arguments `(#:emacs ,emacs))
9557 (home-page "https://github.com/tumashu/posframe")
9558 (synopsis "Pop a posframe (a child frame) at point")
9559 (description "@code{emacs-posframe} can pop a posframe at point. A
9560 posframe is a child frame displayed within its root window's buffer.
9561 @code{emacs-posframe} is fast and works well with CJK languages.")
9562 (license license:gpl3+)))
9563
9564 (define-public emacs-el2org
9565 (package
9566 (name "emacs-el2org")
9567 (version "0.6.0")
9568 (source
9569 (origin
9570 (method git-fetch)
9571 (uri (git-reference
9572 (url "https://github.com/tumashu/el2org.git")
9573 (commit (string-append "v" version))))
9574 (file-name (git-file-name name version))
9575 (sha256
9576 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
9577 (build-system emacs-build-system)
9578 (home-page "https://github.com/tumashu/el2org")
9579 (synopsis "Convert Emacs-lisp file to org file")
9580 (description "El2org is a simple tool, which can convert Emacs-lisp file
9581 to org file, you can use this tool to write orgify commentary.")
9582 (license license:gpl2+)))
9583
9584 (define-public emacs-mustache
9585 (package
9586 (name "emacs-mustache")
9587 (version "0.23")
9588 (source
9589 (origin
9590 (method git-fetch)
9591 (uri (git-reference
9592 (url "https://github.com/Wilfred/mustache.el.git")
9593 (commit version)))
9594 (file-name (git-file-name name version))
9595 (sha256
9596 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
9597 (build-system emacs-build-system)
9598 (propagated-inputs
9599 `(("emacs-dash" ,emacs-dash)
9600 ("emacs-ht" ,emacs-ht)
9601 ("emacs-s" ,emacs-s)))
9602 (home-page "https://github.com/Wilfred/mustache.el")
9603 (synopsis "Mustache templating library for Emacs")
9604 (description "Mustache templating library for Emacs, mustache is
9605 a simple web template system, which is described as a logic-less system
9606 because it lacks any explicit control flow statements, both looping and
9607 conditional evaluation can be achieved using section tags processing lists
9608 and lambdas.")
9609 (license license:gpl3+)))
9610
9611 (define-public emacs-org2web
9612 (package
9613 (name "emacs-org2web")
9614 (version "0.9.1")
9615 (source
9616 (origin
9617 (method git-fetch)
9618 (uri (git-reference
9619 (url "https://github.com/tumashu/org2web.git")
9620 (commit (string-append "v" version))))
9621 (file-name (git-file-name name version))
9622 (sha256
9623 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
9624 (build-system emacs-build-system)
9625 (propagated-inputs
9626 `(("emacs-dash" ,emacs-dash)
9627 ("emacs-el2org" ,emacs-el2org)
9628 ("emacs-ht" ,emacs-ht)
9629 ("emacs-mustache" ,emacs-mustache)
9630 ("emacs-simple-httpd" ,emacs-simple-httpd)))
9631 (home-page "https://github.com/tumashu/org2web")
9632 (synopsis "Static site generator based on org-mode ")
9633 (description "Org2web is a static site generator based on org-mode,
9634 which code derived from Kelvin H's org-page.")
9635 (license license:gpl2+)))
9636
9637 (define-public emacs-xelb
9638 (package
9639 (name "emacs-xelb")
9640 (version "0.18")
9641 (source (origin
9642 (method url-fetch)
9643 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
9644 version ".tar"))
9645 (sha256
9646 (base32
9647 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
9648 (build-system emacs-build-system)
9649 ;; The following functions and variables needed by emacs-xelb are
9650 ;; not included in emacs-minimal:
9651 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
9652 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
9653 ;; x-display-pixel-width, x-display-pixel-height
9654 (arguments
9655 `(#:emacs ,emacs
9656 #:phases
9657 (modify-phases %standard-phases
9658 (add-after 'unpack 'regenerate-el-files
9659 (lambda* (#:key inputs #:allow-other-keys)
9660 (invoke "make"
9661 (string-append "PROTO_PATH="
9662 (assoc-ref inputs "xcb-proto")
9663 "/share/xcb")
9664 (string-append "EMACS_BIN="
9665 (assoc-ref inputs "emacs")
9666 "/bin/emacs -Q")))))))
9667 (native-inputs `(("xcb-proto" ,xcb-proto)))
9668 (home-page "https://github.com/ch11ng/xelb")
9669 (synopsis "X protocol Emacs Lisp binding")
9670 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
9671 X11 protocol based on the XML description files from the XCB project. It
9672 features an object-oriented API and permits a certain degree of concurrency.
9673 It should enable you to implement low-level X11 applications.")
9674 (license license:gpl3+)))
9675
9676 (define-public emacs-exwm
9677 (package
9678 (name "emacs-exwm")
9679 (version "0.23")
9680 (synopsis "Emacs X window manager")
9681 (source (origin
9682 (method url-fetch)
9683 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
9684 version ".tar"))
9685 (sha256
9686 (base32
9687 "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
9688 (build-system emacs-build-system)
9689 (propagated-inputs
9690 `(("emacs-xelb" ,emacs-xelb)))
9691 (inputs
9692 `(("xhost" ,xhost)
9693 ("dbus" ,dbus)))
9694 ;; The following functions and variables needed by emacs-exwm are
9695 ;; not included in emacs-minimal:
9696 ;; scroll-bar-mode, fringe-mode
9697 ;; x-display-pixel-width, x-display-pixel-height
9698 (arguments
9699 `(#:emacs ,emacs
9700 #:phases
9701 (modify-phases %standard-phases
9702 (add-after 'build 'install-xsession
9703 (lambda* (#:key inputs outputs #:allow-other-keys)
9704 (let* ((out (assoc-ref outputs "out"))
9705 (xsessions (string-append out "/share/xsessions"))
9706 (bin (string-append out "/bin"))
9707 (exwm-executable (string-append bin "/exwm")))
9708 ;; Add a .desktop file to xsessions
9709 (mkdir-p xsessions)
9710 (mkdir-p bin)
9711 (with-output-to-file
9712 (string-append xsessions "/exwm.desktop")
9713 (lambda _
9714 (format #t "[Desktop Entry]~@
9715 Name=~a~@
9716 Comment=~a~@
9717 Exec=~a~@
9718 TryExec=~:*~a~@
9719 Type=Application~%" ,name ,synopsis exwm-executable)))
9720 ;; Add a shell wrapper to bin
9721 (with-output-to-file exwm-executable
9722 (lambda _
9723 (format #t "#!~a ~@
9724 ~a +SI:localuser:$USER ~@
9725 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9726 (string-append (assoc-ref inputs "bash") "/bin/sh")
9727 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9728 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9729 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9730 '(cond
9731 ((file-exists-p "~/.exwm")
9732 (load-file "~/.exwm"))
9733 ((not (featurep 'exwm))
9734 (require 'exwm)
9735 (require 'exwm-config)
9736 (exwm-config-default)
9737 (message (concat "exwm configuration not found. "
9738 "Falling back to default configuration...")))))))
9739 (chmod exwm-executable #o555)
9740 #t))))))
9741 (home-page "https://github.com/ch11ng/exwm")
9742 (description "EXWM is a full-featured tiling X window manager for Emacs
9743 built on top of XELB.")
9744 (license license:gpl3+)))
9745
9746 (define-public emacs-switch-window
9747 (package
9748 (name "emacs-switch-window")
9749 (version "1.6.2")
9750 (source
9751 (origin
9752 (method git-fetch)
9753 (uri (git-reference
9754 (url "https://github.com/dimitri/switch-window")
9755 (commit (string-append "v" version))))
9756 (file-name (git-file-name name version))
9757 (sha256
9758 (base32
9759 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
9760 (build-system emacs-build-system)
9761 (home-page "https://github.com/dimitri/switch-window")
9762 (synopsis "Emacs window switch tool")
9763 (description "Switch-window is an emacs window switch tool, which
9764 offer a visual way to choose a window to switch to, delete, split or
9765 other operations.")
9766 (license license:wtfpl2)))
9767
9768 (define-public emacs-exwm-x
9769 (package
9770 (name "emacs-exwm-x")
9771 (version "1.9.0")
9772 (synopsis "Derivative window manager based on EXWM")
9773 (source
9774 (origin
9775 (method git-fetch)
9776 (uri (git-reference
9777 (url "https://github.com/tumashu/exwm-x")
9778 (commit (string-append "v" version))))
9779 (file-name (git-file-name name version))
9780 (sha256
9781 (base32
9782 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
9783 (build-system emacs-build-system)
9784 (propagated-inputs
9785 `(("emacs-exwm" ,emacs-exwm)
9786 ("emacs-switch-window" ,emacs-switch-window)
9787 ("emacs-ivy" ,emacs-ivy)
9788 ("emacs-use-package" ,emacs-use-package)))
9789 (inputs
9790 `(("xhost" ,xhost)
9791 ("dbus" ,dbus)))
9792 ;; Need emacs instead of emacs-minimal,
9793 ;; for emacs's bin path will be inserted into bin/exwm-x file.
9794 (arguments
9795 `(#:emacs ,emacs
9796 #:phases
9797 (modify-phases %standard-phases
9798 (add-after 'build 'install-xsession
9799 (lambda* (#:key inputs outputs #:allow-other-keys)
9800 (let* ((out (assoc-ref outputs "out"))
9801 (xsessions (string-append out "/share/xsessions"))
9802 (bin (string-append out "/bin"))
9803 (exwm-executable (string-append bin "/exwm-x")))
9804 ;; Add a .desktop file to xsessions
9805 (mkdir-p xsessions)
9806 (mkdir-p bin)
9807 (with-output-to-file
9808 (string-append xsessions "/exwm-x.desktop")
9809 (lambda _
9810 (format #t "[Desktop Entry]~@
9811 Name=~a~@
9812 Comment=~a~@
9813 Exec=~a~@
9814 TryExec=~@*~a~@
9815 Type=Application~%" ,name ,synopsis exwm-executable)))
9816 ;; Add a shell wrapper to bin
9817 (with-output-to-file exwm-executable
9818 (lambda _
9819 (format #t "#!~a ~@
9820 ~a +SI:localuser:$USER ~@
9821 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9822 (string-append (assoc-ref inputs "bash") "/bin/sh")
9823 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9824 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9825 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9826 '(require 'exwmx-loader))))
9827 (chmod exwm-executable #o555)
9828 #t))))))
9829 (home-page "https://github.com/tumashu/exwm-x")
9830 (description "EXWM-X is a derivative window manager based on EXWM, with focus
9831 on mouse-control.")
9832 (license license:gpl3+)))
9833
9834 (define-public emacs-gnugo
9835 (package
9836 (name "emacs-gnugo")
9837 (version "3.1.0")
9838 (source
9839 (origin
9840 (method url-fetch)
9841 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
9842 version ".tar"))
9843 (sha256
9844 (base32
9845 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
9846 (build-system emacs-build-system)
9847 (arguments
9848 `(#:phases (modify-phases %standard-phases
9849 (add-after 'unpack 'configure-default-gnugo-xpms-variable
9850 (lambda _
9851 (substitute* "gnugo.el"
9852 (("defvar gnugo-xpms nil")
9853 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
9854 #t)))))
9855 (propagated-inputs
9856 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
9857 ("emacs-xpm" ,emacs-xpm)))
9858 (home-page "https://elpa.gnu.org/packages/gnugo.html")
9859 (synopsis "Emacs major mode for playing GNU Go")
9860 (description "This package provides an Emacs based interface for GNU Go.
9861 It has a graphical mode where the board and stones are drawn using XPM images
9862 and supports the use of a mouse.")
9863 (license license:gpl3+)))
9864
9865 (define-public emacs-gnuplot
9866 (package
9867 (name "emacs-gnuplot")
9868 (version "0.7.0")
9869 (source
9870 (origin
9871 (method git-fetch)
9872 (uri (git-reference
9873 (url "https://github.com/bruceravel/gnuplot-mode.git")
9874 (commit version)))
9875 (file-name (git-file-name name version))
9876 (sha256
9877 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
9878 (build-system gnu-build-system)
9879 (native-inputs `(("emacs" ,emacs-minimal)))
9880 (arguments
9881 (let ((elisp-dir "/share/emacs/site-lisp"))
9882 `(#:modules ((guix build gnu-build-system)
9883 (guix build utils)
9884 (guix build emacs-utils))
9885 #:imported-modules (,@%gnu-build-system-modules
9886 (guix build emacs-utils))
9887 #:configure-flags
9888 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
9889 "/bin/emacs")
9890 (string-append "--with-lispdir=" %output ,elisp-dir))
9891 #:phases
9892 (modify-phases %standard-phases
9893 (add-after 'install 'generate-autoloads
9894 (lambda* (#:key outputs #:allow-other-keys)
9895 (emacs-generate-autoloads
9896 "gnuplot"
9897 (string-append (assoc-ref outputs "out") ,elisp-dir))
9898 #t))))))
9899 (home-page "https://github.com/bruceravel/gnuplot-mode")
9900 (synopsis "Emacs major mode for interacting with gnuplot")
9901 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
9902 with gnuplot.")
9903 (license license:gpl2+)))
9904
9905 (define-public emacs-transpose-frame
9906 (package
9907 (name "emacs-transpose-frame")
9908 (version "0.1.0")
9909 (source
9910 (origin
9911 (method url-fetch)
9912 (uri "https://www.emacswiki.org/emacs/download/transpose-frame.el")
9913 (file-name (string-append "transpose-frame-" version ".el"))
9914 (sha256
9915 (base32
9916 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
9917 (build-system emacs-build-system)
9918 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
9919 (synopsis "Transpose window arrangement in current frame")
9920 (description "@code{emacs-transpose-frame} provides some interactive
9921 functions which allows users to transpose windows arrangement in currently
9922 selected frame.")
9923 (license license:bsd-2)))
9924
9925 (define-public emacs-key-chord
9926 (package
9927 (name "emacs-key-chord")
9928 (version "0.6")
9929 (source
9930 (origin
9931 (method url-fetch)
9932 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
9933 (file-name (string-append "key-chord-" version ".el"))
9934 (sha256
9935 (base32
9936 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
9937 (build-system emacs-build-system)
9938 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
9939 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
9940 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
9941 mode for binding key chords to commands. A key chord is defined as two keys
9942 pressed simultaneously or a single key quickly pressed twice.")
9943 (license license:gpl2+)))
9944
9945 (define-public emacs-evil-surround
9946 (package
9947 (name "emacs-evil-surround")
9948 (version "1.0.4")
9949 (source
9950 (origin
9951 (method git-fetch)
9952 (uri (git-reference
9953 (url "https://github.com/emacs-evil/evil-surround")
9954 (commit version)))
9955 (file-name (git-file-name name version))
9956 (sha256
9957 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
9958 (build-system emacs-build-system)
9959 (propagated-inputs
9960 `(("emacs-evil" ,emacs-evil)))
9961 (arguments
9962 `(#:tests? #t
9963 #:test-command '("make" "test")))
9964 (home-page "https://github.com/emacs-evil/evil-surround")
9965 (synopsis "Easily modify surrounding parentheses and quotes")
9966 (description "@code{emacs-evil-surround} allows easy deletion, change and
9967 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
9968 (license license:gpl3+)))
9969
9970 (define-public emacs-evil-commentary
9971 (package
9972 (name "emacs-evil-commentary")
9973 (version "2.1.1")
9974 (source
9975 (origin
9976 (method git-fetch)
9977 (uri (git-reference
9978 (url "https://github.com/linktohack/evil-commentary.git")
9979 (commit (string-append "v" version))))
9980 (file-name (git-file-name name version))
9981 (sha256
9982 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
9983 (build-system emacs-build-system)
9984 (propagated-inputs
9985 `(("emacs-evil" ,emacs-evil)))
9986 (home-page "https://github.com/linktohack/evil-commentary")
9987 (synopsis "Comment out code in evil mode")
9988 (description "@code{emacs-evil-commentary} adds keybindings to easily
9989 comment out lines of code in evil mode. It provides @code{gcc} to comment out
9990 lines, and @code{gc} to comment out the target of a motion.")
9991 (license license:gpl3+)))
9992
9993 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
9994 ;; therefore cannot be run
9995 (define-public emacs-ansi
9996 (package
9997 (name "emacs-ansi")
9998 (version "0.4.1")
9999 (source
10000 (origin
10001 (method git-fetch)
10002 (uri (git-reference
10003 (url "https://github.com/rejeep/ansi.el.git")
10004 (commit (string-append "v" version))))
10005 (file-name (git-file-name name version))
10006 (sha256
10007 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
10008 (build-system emacs-build-system)
10009 (propagated-inputs
10010 `(("emacs-dash" ,emacs-dash)
10011 ("emacs-s" ,emacs-s)))
10012 (home-page "https://github.com/rejeep/ansi.el")
10013 (synopsis "Convert strings to ANSI")
10014 (description "@code{emacs-ansi} defines functions that turns simple
10015 strings to ANSI strings. Turning a string into an ANSI string can be to add
10016 color to a text, add color in the background of a text or adding a style, such
10017 as bold, underscore or italic.")
10018 (license license:gpl3+)))
10019
10020 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
10021 ;; therefore cannot be run
10022 (define-public emacs-commander
10023 (package
10024 (name "emacs-commander")
10025 (version "0.7.0")
10026 (source
10027 (origin
10028 (method git-fetch)
10029 (uri (git-reference
10030 (url "https://github.com/rejeep/commander.el.git")
10031 (commit (string-append "v" version))))
10032 (file-name (git-file-name name version))
10033 (sha256
10034 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
10035 (build-system emacs-build-system)
10036 (propagated-inputs
10037 `(("emacs-dash" ,emacs-dash)
10038 ("emacs-f" ,emacs-f)
10039 ("emacs-s" ,emacs-s)))
10040 (home-page "https://github.com/rejeep/commander.el")
10041 (synopsis "Emacs command line parser")
10042 (description "@code{emacs-commander} provides command line parsing for
10043 Emacs.")
10044 (license license:gpl3+)))
10045
10046 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
10047 ;; cannot be run
10048 (define-public emacs-ert-runner
10049 (package
10050 (name "emacs-ert-runner")
10051 (version "0.8.0")
10052 (source
10053 (origin
10054 (method git-fetch)
10055 (uri (git-reference
10056 (url "https://github.com/rejeep/ert-runner.el.git")
10057 (commit (string-append "v" version))))
10058 (file-name (git-file-name name version))
10059 (sha256
10060 (base32
10061 "08gygn9fjank5gpi4v6ynrkn0jbknxbwsn7md4p9ndygdbmnkf98"))))
10062 (build-system emacs-build-system)
10063 (inputs
10064 `(("emacs-ansi" ,emacs-ansi)
10065 ("emacs-commander" ,emacs-commander)
10066 ("emacs-dash" ,emacs-dash)
10067 ("emacs-f" ,emacs-f)
10068 ("emacs-s" ,emacs-s)
10069 ("emacs-shut-up" ,emacs-shut-up)))
10070 (arguments
10071 `(#:phases
10072 (modify-phases %standard-phases
10073 (add-after 'install 'install-executable
10074 (lambda* (#:key inputs outputs #:allow-other-keys)
10075 (let ((out (assoc-ref outputs "out"))
10076 (source-directory (string-append
10077 (getenv "TMPDIR") "/source")))
10078 (substitute* "bin/ert-runner"
10079 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
10080 (string-append "ERT_RUNNER=\"" out
10081 "/share/emacs/site-lisp")))
10082 (install-file "bin/ert-runner" (string-append out "/bin"))
10083 (wrap-program (string-append out "/bin/ert-runner")
10084 (list "EMACSLOADPATH" ":" 'prefix
10085 ;; Do not capture the transient source directory in
10086 ;; the wrapper.
10087 (delete source-directory
10088 (string-split (getenv "EMACSLOADPATH") #\:))))
10089 #t))))
10090 #:include (cons* "^reporters/.*\\.el$" %default-include)))
10091 (home-page "https://github.com/rejeep/ert-runner.el")
10092 (synopsis "Opinionated Ert testing workflow")
10093 (description "@code{ert-runner} is a tool for Emacs projects tested
10094 using ERT. It assumes a certain test structure setup and can therefore make
10095 running tests easier.")
10096 (license license:gpl3+)))
10097
10098 (define-public emacs-xtest
10099 (package
10100 (name "emacs-xtest")
10101 (version "1.1.0")
10102 (source (origin
10103 (method git-fetch)
10104 (uri (git-reference
10105 (url "https://github.com/promethial/xtest.git")
10106 (commit (string-append "v" version))))
10107 (file-name (git-file-name name version))
10108 (sha256
10109 (base32
10110 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
10111 (arguments
10112 `(#:exclude '()))
10113 (build-system emacs-build-system)
10114 (home-page "https://github.com/promethial/xtest/")
10115 (synopsis "Simple testing with Emacs")
10116 (description "This package provides a simple testing library for Emacs.")
10117 (license license:gpl3+)))
10118
10119 (define-public emacs-disable-mouse
10120 (package
10121 (name "emacs-disable-mouse")
10122 (version "0.2")
10123 (source
10124 (origin
10125 (method git-fetch)
10126 (uri (git-reference
10127 (url "https://github.com/purcell/disable-mouse.git")
10128 (commit version)))
10129 (file-name (git-file-name name version))
10130 (sha256
10131 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
10132 (build-system emacs-build-system)
10133 (home-page "https://github.com/purcell/disable-mouse")
10134 (synopsis "Disable mouse commands globally")
10135 (description
10136 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
10137 pair of minor modes which suppress all mouse events by intercepting them and
10138 running a customisable handler command (@code{ignore} by default). ")
10139 (license license:gpl3+)))
10140
10141 (define-public emacs-json-reformat
10142 (package
10143 (name "emacs-json-reformat")
10144 (version "0.0.6")
10145 (source
10146 (origin
10147 (method git-fetch)
10148 (uri (git-reference
10149 (url "https://github.com/gongo/json-reformat.git")
10150 (commit version)))
10151 (file-name (git-file-name name version))
10152 (sha256
10153 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
10154 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
10155 (build-system emacs-build-system)
10156 (propagated-inputs
10157 `(("emacs-undercover" ,emacs-undercover)))
10158 (native-inputs
10159 `(("emacs-dash" ,emacs-dash)
10160 ("emacs-shut-up" ,emacs-shut-up)
10161 ("ert-runner" ,emacs-ert-runner)))
10162 (arguments
10163 `(#:tests? #t
10164 #:test-command '("ert-runner")
10165 #:phases
10166 (modify-phases %standard-phases
10167 (add-before 'check 'make-tests-writable
10168 (lambda _
10169 (for-each make-file-writable (find-files "test"))
10170 #t))
10171 (add-before 'check 'delete-json-objects-order-test
10172 (lambda _
10173 (emacs-batch-edit-file "test/json-reformat-test.el"
10174 `(progn (progn (goto-char (point-min))
10175 (re-search-forward
10176 "ert-deftest json-reformat-test:json-reformat-region")
10177 (beginning-of-line)
10178 (kill-sexp))
10179 (basic-save-buffer)))
10180 #t)))))
10181 (home-page "https://github.com/gongo/json-reformat")
10182 (synopsis "Reformatting tool for JSON")
10183 (description "@code{json-reformat} provides a reformatting tool for
10184 @url{http://json.org/, JSON}.")
10185 (license license:gpl3+)))
10186
10187 (define-public emacs-json-snatcher
10188 (package
10189 (name "emacs-json-snatcher")
10190 (version "1.0.0")
10191 (source
10192 (origin
10193 (method git-fetch)
10194 (uri (git-reference
10195 (url "https://github.com/Sterlingg/json-snatcher.git")
10196 (commit version)))
10197 (file-name (git-file-name name version))
10198 (sha256
10199 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
10200 (build-system emacs-build-system)
10201 (home-page "https://github.com/sterlingg/json-snatcher")
10202 (synopsis "Grabs the path to JSON values in a JSON file")
10203 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
10204 a @url{http://json.org/, JSON} file.")
10205 (license license:gpl3+)))
10206
10207 (define-public emacs-json-mode
10208 (package
10209 (name "emacs-json-mode")
10210 (version "1.7.0")
10211 (source
10212 (origin
10213 (method git-fetch)
10214 (uri (git-reference
10215 (url "https://github.com/joshwnj/json-mode.git")
10216 (commit (string-append "v" version))))
10217 (file-name (git-file-name name version))
10218 (sha256
10219 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
10220 (build-system emacs-build-system)
10221 (propagated-inputs
10222 `(("emacs-json-reformat" ,emacs-json-reformat)
10223 ("emacs-json-snatcher" ,emacs-json-snatcher)))
10224 (home-page "https://github.com/joshwnj/json-mode")
10225 (synopsis "Major mode for editing JSON files")
10226 (description "@code{json-mode} extends the builtin js-mode syntax
10227 highlighting.")
10228 (license license:gpl3+)))
10229
10230 (define-public emacs-restclient
10231 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
10232 (version "0")
10233 (revision "2")) ;Guix package revision,
10234 ;upstream doesn't have official releases
10235 (package
10236 (name "emacs-restclient")
10237 (version (git-version version revision commit))
10238 (source (origin
10239 (method git-fetch)
10240 (uri (git-reference
10241 (url "https://github.com/pashky/restclient.el.git")
10242 (commit commit)))
10243 (sha256
10244 (base32
10245 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
10246 (file-name (git-file-name name version))))
10247 (build-system emacs-build-system)
10248 (propagated-inputs
10249 `(("emacs-helm" ,emacs-helm)))
10250 (home-page "https://github.com/pashky/restclient.el")
10251 (synopsis "Explore and test HTTP REST webservices")
10252 (description
10253 "This tool allows for testing and exploration of HTTP REST Web services
10254 from within Emacs. Restclient runs queries from a plan-text query sheet,
10255 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
10256 (license license:public-domain))))
10257
10258 (define-public emacs-whitespace-cleanup-mode
10259 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
10260 (revision "1"))
10261 (package
10262 (name "emacs-whitespace-cleanup-mode")
10263 (version (git-version "0.10" revision commit))
10264 (source (origin
10265 (method git-fetch)
10266 (uri (git-reference
10267 (url "https://github.com/purcell/whitespace-cleanup-mode")
10268 (commit commit)))
10269 (sha256
10270 (base32
10271 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
10272 (file-name (git-file-name name version))))
10273 (build-system emacs-build-system)
10274 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
10275 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
10276 (description
10277 "This package provides a minor mode that calls
10278 @code{whitespace-cleanup} before saving the current buffer only if the
10279 whitespace in the buffer was initially clean.")
10280 (license license:gpl3+))))
10281
10282 (define-public emacs-eimp
10283 (let ((version "1.4.0")
10284 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
10285 (revision "1"))
10286 (package
10287 (name "emacs-eimp")
10288 (version (git-version version revision commit))
10289 (source
10290 (origin
10291 (method git-fetch)
10292 (uri (git-reference
10293 (url "https://github.com/nicferrier/eimp.git")
10294 (commit commit)))
10295 (file-name (git-file-name name version))
10296 (sha256
10297 (base32
10298 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
10299 (build-system emacs-build-system)
10300 (arguments
10301 `(#:phases
10302 (modify-phases %standard-phases
10303 (add-after 'unpack 'configure
10304 (lambda* (#:key inputs #:allow-other-keys)
10305 (let ((imagemagick (assoc-ref inputs "imagemagick")))
10306 ;; eimp.el is read-only in git.
10307 (chmod "eimp.el" #o644)
10308 (emacs-substitute-variables "eimp.el"
10309 ("eimp-mogrify-program"
10310 (string-append imagemagick "/bin/mogrify"))))
10311 #t)))))
10312 (inputs
10313 `(("imagemagick" ,imagemagick)))
10314 (home-page "https://github.com/nicferrier/eimp")
10315 (synopsis "Interactive image manipulation utility for Emacs")
10316 (description "@code{emacs-eimp} allows interactive image manipulation
10317 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
10318 the actual transformations.")
10319 (license license:gpl2+))))
10320
10321 (define-public emacs-dired-hacks
10322 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
10323 (revision "2"))
10324 (package
10325 (name "emacs-dired-hacks")
10326 (version (git-version "0.0.1" revision commit))
10327 (source (origin
10328 (method git-fetch)
10329 (uri (git-reference
10330 (url "https://github.com/Fuco1/dired-hacks.git")
10331 (commit commit)))
10332 (file-name (git-file-name name version))
10333 (sha256
10334 (base32
10335 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
10336 (build-system emacs-build-system)
10337 (propagated-inputs
10338 `(("emacs-dash" ,emacs-dash)
10339 ("emacs-eimp" ,emacs-eimp)
10340 ("emacs-f" ,emacs-f)
10341 ("emacs-s" ,emacs-s)))
10342 (home-page "https://github.com/Fuco1/dired-hacks")
10343 (synopsis
10344 "Collection of useful dired additions")
10345 (description
10346 "This package provides the following collection of Emacs dired mode
10347 additions:
10348
10349 @itemize
10350 @item dired-avfs
10351 @item dired-columns
10352 @item dired-filter
10353 @item dired-hacks-utils
10354 @item dired-images
10355 @item dired-list
10356 @item dired-narrow
10357 @item dired-open
10358 @item dired-rainbow
10359 @item dired-ranger
10360 @item dired-subtree
10361 @item dired-tagsistant
10362 @end itemize\n")
10363 (license license:gpl3+))))
10364
10365 (define-public emacs-dired-sidebar
10366 (let ((commit "21ccb6723bea69f2e2ca25998268d8a039f904cc")
10367 (revision "1"))
10368 (package
10369 (name "emacs-dired-sidebar")
10370 (home-page "https://github.com/jojojames/dired-sidebar")
10371 (version (git-version "0.1.0" revision commit))
10372 (source (origin
10373 (method git-fetch)
10374 (uri (git-reference (url home-page) (commit commit)))
10375 (file-name (git-file-name name version))
10376 (sha256
10377 (base32
10378 "0mck4qk6srbbf8xnn2sg11j822z4ybxvgavvy402d5sli515i8ca"))))
10379 (build-system emacs-build-system)
10380 (propagated-inputs
10381 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
10382 (synopsis "Sidebar for Emacs using Dired")
10383 (description
10384 "This package provides a sidebar for Emacs similar to @code{NeoTree}
10385 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
10386 (license license:gpl3+))))
10387
10388 (define-public emacs-which-key
10389 (package
10390 (name "emacs-which-key")
10391 (version "3.4.0")
10392 (source
10393 (origin
10394 (method git-fetch)
10395 (uri (git-reference
10396 (url "https://github.com/justbur/emacs-which-key.git")
10397 (commit (string-append "v" version))))
10398 (file-name (git-file-name name version))
10399 (sha256
10400 (base32 "1ahgb7dqdc75farkl0fg0a6hvx2067gdvjq99cd3z2dz56km0p05"))))
10401 (build-system emacs-build-system)
10402 (arguments
10403 `(#:tests? #t
10404 #:test-command '("emacs" "--batch"
10405 "-l" "which-key-tests.el"
10406 "-f" "ert-run-tests-batch-and-exit")))
10407 (home-page "https://github.com/justbur/emacs-which-key")
10408 (synopsis "Display available key bindings in popup")
10409 (description
10410 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
10411 bindings following your currently entered incomplete command (a prefix) in a
10412 popup. For example, after enabling the minor mode if you enter C-x and wait
10413 for the default of 1 second, the minibuffer will expand with all of the
10414 available key bindings that follow C-x (or as many as space allows given your
10415 settings).")
10416 (license license:gpl3+)))
10417
10418 (define-public emacs-hercules
10419 (package
10420 (name "emacs-hercules")
10421 (version "0.2.1")
10422 (source
10423 (origin
10424 (method git-fetch)
10425 (uri (git-reference
10426 (url "https://gitlab.com/jjzmajic/hercules.el.git")
10427 (commit (string-append "v" version))))
10428 (file-name (git-file-name name version))
10429 (sha256
10430 (base32
10431 "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"))))
10432 (build-system emacs-build-system)
10433 (propagated-inputs
10434 `(("emacs-which-key" ,emacs-which-key)))
10435 (home-page "https://gitlab.com/jjzmajic/hercules.el")
10436 (synopsis "Call a chain of related commands without repeated prefix keys")
10437 (description
10438 "This package provides sticky-key-like functionality to obviate the
10439 need for repeated prefix-key sequences, and can reuse existing keymaps. The
10440 list of commands is displayed in a handy popup.")
10441 (license license:gpl3+)))
10442
10443 (define-public emacs-ws-butler
10444 (package
10445 (name "emacs-ws-butler")
10446 (version "0.6")
10447 (source (origin
10448 (method git-fetch)
10449 (uri (git-reference
10450 (url "https://github.com/lewang/ws-butler.git")
10451 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
10452 (file-name (git-file-name name version))
10453 (sha256
10454 (base32
10455 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
10456 (build-system emacs-build-system)
10457 (native-inputs
10458 `(("ert-runner" ,emacs-ert-runner)))
10459 (arguments
10460 `(#:tests? #t
10461 #:test-command '("ert-runner" "tests")))
10462 (home-page "https://github.com/lewang/ws-butler")
10463 (synopsis "Trim spaces from end of lines")
10464 (description
10465 "This Emacs package automatically and unobtrusively trims whitespace
10466 characters from end of lines.")
10467 (license license:gpl3+)))
10468
10469 (define-public emacs-openwith
10470 (let ((changeset "aeb78782ec87680ea9f082a3f20a3675b3770cf9")
10471 (revision "0"))
10472 (package
10473 (name "emacs-openwith")
10474 (home-page "https://bitbucket.org/jpkotta/openwith")
10475 (version (git-version "0.0.1" revision changeset))
10476 (source (origin
10477 (method hg-fetch)
10478 (uri (hg-reference (url home-page) (changeset changeset)))
10479 (file-name (git-file-name name version))
10480 (sha256
10481 (base32
10482 "1wl6gnxsyhaad4cl9bxjc0qbc5jzvlwbwjbajs0n1s6qr07d6r01"))))
10483 (build-system emacs-build-system)
10484 (synopsis "Open external applications for files with Emacs")
10485 (description
10486 "This package enables you to associate file name patterns with external
10487 applications that are automatically invoked when you use commands like
10488 @code{find-file}. For example, you can have it open @code{png} files with
10489 @code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
10490 when browsing files with Dired.")
10491 (license license:gpl2+))))
10492
10493 (define-public emacs-org-edit-latex
10494 (package
10495 (name "emacs-org-edit-latex")
10496 (version "0.8.0")
10497 (source
10498 (origin
10499 (method git-fetch)
10500 (uri (git-reference
10501 (url "https://github.com/et2010/org-edit-latex.git")
10502 (commit (string-append "v" version))))
10503 (file-name (git-file-name name version))
10504 (sha256
10505 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
10506 (build-system emacs-build-system)
10507 (propagated-inputs
10508 `(("emacs-auctex" ,emacs-auctex)
10509 ;; The version of org in Emacs 25.2 is not sufficient, because the
10510 ;; `org-latex-make-preamble' function is required.
10511 ("emacs-org" ,emacs-org)))
10512 (home-page "https://github.com/et2010/org-edit-latex")
10513 (synopsis "Edit a latex fragment just like editing a src block")
10514 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
10515 It lets you edit a latex fragment in a dedicated buffer just like editing a
10516 src block.")
10517 (license license:gpl3+)))
10518
10519 (define-public emacs-emamux
10520 (package
10521 (name "emacs-emamux")
10522 (version "0.14")
10523 (source
10524 (origin
10525 (method git-fetch)
10526 (uri (git-reference
10527 (url "https://github.com/syohex/emacs-emamux.git")
10528 (commit version)))
10529 (file-name (git-file-name name version))
10530 (sha256
10531 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
10532 (build-system emacs-build-system)
10533 (home-page "https://github.com/syohex/emacs-emamux")
10534 (synopsis "Manipulate Tmux from Emacs")
10535 (description
10536 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
10537 multiplexer.")
10538 (license license:gpl3+)))
10539
10540 (define-public emacs-rpm-spec-mode
10541 (package
10542 (name "emacs-rpm-spec-mode")
10543 (version "0.16")
10544 (source
10545 (origin
10546 (method url-fetch)
10547 ;; URI has the Fedora release number instead of the version
10548 ;; number. This will have to updated manually every new release.
10549 (uri (string-append
10550 "https://src.fedoraproject.org/cgit/rpms"
10551 "/emacs-rpm-spec-mode.git/snapshot"
10552 "/emacs-rpm-spec-mode-f26.tar.gz"))
10553 (sha256
10554 (base32
10555 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
10556 (build-system emacs-build-system)
10557 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
10558 (synopsis "Emacs major mode for editing RPM spec files")
10559 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
10560 editing RPM spec files.")
10561 (license license:gpl2+)))
10562
10563 (define-public emacs-lcr
10564 (package
10565 (name "emacs-lcr")
10566 (version "1.1")
10567 (source
10568 (origin
10569 (method git-fetch)
10570 (uri (git-reference
10571 (url "https://github.com/jyp/lcr")
10572 (commit version)))
10573 (file-name (git-file-name name version))
10574 (sha256
10575 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
10576 (build-system emacs-build-system)
10577 (propagated-inputs
10578 `(("emacs-dash" ,emacs-dash)))
10579 (home-page "https://github.com/jyp/lcr")
10580 (synopsis "Lightweight coroutines in Emacs Lisp")
10581 (description "This package provides macros that can translate code into
10582 equivalent continuation-passing code, as well as miscellaneous utility
10583 functions written in continuation-passing style.")
10584 (license license:gpl3+)))
10585
10586 (define-public emacs-attrap
10587 (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
10588 (revision "2"))
10589 (package
10590 (name "emacs-attrap")
10591 (version (git-version "1.0" revision commit))
10592 (source (origin
10593 (method git-fetch)
10594 (uri (git-reference
10595 (url "https://github.com/jyp/attrap")
10596 (commit commit)))
10597 (sha256
10598 (base32
10599 "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
10600 (file-name (git-file-name name version))))
10601 (build-system emacs-build-system)
10602 (propagated-inputs
10603 `(("emacs-dash" ,emacs-dash)
10604 ("emacs-f" ,emacs-f)
10605 ("emacs-flycheck" ,emacs-flycheck)
10606 ("emacs-s" ,emacs-s)))
10607 (home-page "https://github.com/jyp/attrap")
10608 (synopsis "Fix coding error at point")
10609 (description "This package provides a command to fix the Flycheck error
10610 at point.")
10611 (license license:gpl3+))))
10612
10613 (define-public emacs-git-messenger
10614 (package
10615 (name "emacs-git-messenger")
10616 (version "0.18")
10617 (source
10618 (origin
10619 (method git-fetch)
10620 (uri (git-reference
10621 (url "https://github.com/syohex/emacs-git-messenger.git")
10622 (commit version)))
10623 (file-name (git-file-name name version))
10624 (sha256
10625 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
10626 (build-system emacs-build-system)
10627 (propagated-inputs
10628 `(("emacs-popup" ,emacs-popup)))
10629 (arguments
10630 `(#:tests? #t
10631 #:test-command '("emacs" "--batch" "-l" "test/test.el"
10632 "-f" "ert-run-tests-batch-and-exit")))
10633 (home-page "https://github.com/syohex/emacs-git-messenger")
10634 (synopsis "Popup commit message at current line")
10635 (description "@code{emacs-git-messenger} provides
10636 @code{git-messenger:popup-message}, a function that when called, will popup
10637 the last git commit message for the current line. This uses git-blame
10638 internally.")
10639 (license license:gpl3+)))
10640
10641 (define-public emacs-gitpatch
10642 (package
10643 (name "emacs-gitpatch")
10644 (version "0.5.1")
10645 (source
10646 (origin
10647 (method git-fetch)
10648 (uri (git-reference
10649 (url "https://github.com/tumashu/gitpatch.git")
10650 (commit (string-append "v" version))))
10651 (file-name (git-file-name name version))
10652 (sha256
10653 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
10654 (build-system emacs-build-system)
10655 (home-page "https://github.com/tumashu/gitpatch")
10656 (synopsis "Mail git patch from Emacs")
10657 (description "@code{emacs-gitpatch} lets users easily send git patches,
10658 created by @code{git format-patch}, from @code{magit}, @code{dired} and
10659 @code{ibuffer} buffers.")
10660 (license license:gpl3+)))
10661
10662 (define-public emacs-erc-hl-nicks
10663 (package
10664 (name "emacs-erc-hl-nicks")
10665 (version "1.3.3")
10666 (source
10667 (origin
10668 (method git-fetch)
10669 (uri (git-reference
10670 (url "https://github.com/leathekd/erc-hl-nicks")
10671 (commit version)))
10672 (file-name (git-file-name name version))
10673 (sha256
10674 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
10675 (build-system emacs-build-system)
10676 (synopsis "Nickname highlighting for Emacs ERC")
10677 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
10678 client for Emacs. The main features are:
10679 @itemize
10680 @item Auto-colorizes nicknames without having to specify colors
10681 @item Ignores certain characters that IRC clients add to nicknames to avoid
10682 duplicates (nickname, nickname’, nickname\", etc.)
10683 @item Attempts to produce colors with a sufficient amount of contrast between
10684 the nick color and the background color
10685 @end itemize\n")
10686 (home-page "https://github.com/leathekd/erc-hl-nicks")
10687 (license license:gpl3+)))
10688
10689 (define-public emacs-engine-mode
10690 (package
10691 (name "emacs-engine-mode")
10692 (version "2.1.1")
10693 (source
10694 (origin
10695 (method git-fetch)
10696 (uri (git-reference
10697 (url "https://github.com/hrs/engine-mode.git")
10698 (commit (string-append "v" version))))
10699 (file-name (git-file-name name version))
10700 (sha256
10701 (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"))))
10702 (build-system emacs-build-system)
10703 (synopsis "Minor mode for defining and querying search engines")
10704 (description "@code{engine-mode} is a global minor mode for Emacs. It
10705 enables you to easily define search engines, bind them to keybindings, and
10706 query them from the comfort of your editor.")
10707 (home-page "https://github.com/hrs/engine-mode")
10708 (license license:gpl3+)))
10709
10710 (define-public emacs-prop-menu
10711 (package
10712 (name "emacs-prop-menu")
10713 (version "0.1.2")
10714 (source
10715 (origin
10716 (method git-fetch)
10717 (uri (git-reference
10718 (url "https://github.com/david-christiansen/prop-menu-el.git")
10719 (commit version)))
10720 (file-name (git-file-name name version))
10721 (sha256
10722 (base32
10723 "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
10724 (build-system emacs-build-system)
10725 (home-page
10726 "https://github.com/david-christiansen/prop-menu-el")
10727 (synopsis
10728 "Create and display a context menu based on text and overlay properties")
10729 (description
10730 "This is a library for computing context menus based on text
10731 properties and overlays. The intended use is to have tools that
10732 annotate source code and others that use these annotations, without
10733 requiring a direct coupling between them, but maintaining
10734 discoverability.
10735
10736 Major modes that wish to use this library should first define an
10737 appropriate value for @code{prop-menu-item-functions}. Then, they should
10738 bind @code{prop-menu-by-completing-read} to an appropriate
10739 key. Optionally, a mouse pop-up can be added by binding
10740 @code{prop-menu-show-menu} to a mouse event.")
10741 (license license:gpl3+)))
10742
10743 (define-public emacs-idris-mode
10744 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
10745 (revision "0"))
10746 (package
10747 (name "emacs-idris-mode")
10748 (version (git-version "0.9.19" revision commit))
10749 (source
10750 (origin
10751 (method git-fetch)
10752 (uri (git-reference
10753 (url "https://github.com/idris-hackers/idris-mode.git")
10754 (commit commit)))
10755 (file-name (git-file-name name commit))
10756 (sha256
10757 (base32
10758 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
10759 (build-system emacs-build-system)
10760 (propagated-inputs
10761 `(("emacs-prop-menu" ,emacs-prop-menu)))
10762 (home-page
10763 "https://github.com/idris-hackers/idris-mode")
10764 (synopsis "Major mode for editing Idris code")
10765 (description
10766 "This is an Emacs mode for editing Idris code. It requires the latest
10767 version of Idris, and some features may rely on the latest Git version of
10768 Idris.")
10769 (license license:gpl3+))))
10770
10771 (define-public emacs-browse-at-remote
10772 (package
10773 (name "emacs-browse-at-remote")
10774 (version "0.10.0")
10775 (source
10776 (origin
10777 (method git-fetch)
10778 (uri (git-reference
10779 (url "https://github.com/rmuslimov/browse-at-remote.git")
10780 (commit version)))
10781 (file-name (git-file-name name version))
10782 (sha256
10783 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
10784 (build-system emacs-build-system)
10785 (propagated-inputs
10786 `(("emacs-f" ,emacs-f)
10787 ("emacs-s" ,emacs-s)))
10788 (native-inputs
10789 `(("ert-runner" ,emacs-ert-runner)))
10790 (arguments
10791 `(#:tests? #t
10792 #:test-command '("ert-runner")))
10793 (home-page "https://github.com/rmuslimov/browse-at-remote")
10794 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
10795 (description
10796 "This Emacs package allows you to open a target page on
10797 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
10798 It supports dired buffers and opens them in tree mode at destination.")
10799 (license license:gpl3+)))
10800
10801 (define-public emacs-tiny
10802 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
10803 (revision "1"))
10804 (package
10805 (name "emacs-tiny")
10806 (version (git-version "0.2.1" revision commit))
10807 (source
10808 (origin
10809 (method git-fetch)
10810 (uri (git-reference
10811 (url "https://github.com/abo-abo/tiny.git")
10812 (commit commit)))
10813 (file-name (git-file-name name version))
10814 (sha256
10815 (base32
10816 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
10817 (build-system emacs-build-system)
10818 (arguments
10819 `(#:tests? #t
10820 #:test-command '("make" "test")))
10821 (home-page "https://github.com/abo-abo/tiny")
10822 (synopsis "Quickly generate linear ranges in Emacs")
10823 (description
10824 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
10825 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
10826 proficiency is an advantage, since you can transform your numeric range with
10827 an elisp expression.")
10828 (license license:gpl3+))))
10829
10830 (define-public emacs-emojify
10831 (package
10832 (name "emacs-emojify")
10833 (version "1.2")
10834 (source
10835 (origin
10836 (method git-fetch)
10837 (uri (git-reference
10838 (url "https://github.com/iqbalansari/emacs-emojify")
10839 (commit (string-append "v" version))))
10840 (file-name (git-file-name name version))
10841 (sha256
10842 (base32
10843 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
10844 (build-system emacs-build-system)
10845 (arguments
10846 `(#:include (cons "^data/" %default-include)))
10847 (propagated-inputs
10848 `(("emacs-ht" ,emacs-ht)))
10849 (home-page "https://github.com/iqbalansari/emacs-emojify")
10850 (synopsis "Display emojis in Emacs")
10851 (description "This package displays emojis in Emacs similar to how Github,
10852 Slack, and other websites do. It can display plain ASCII like @code{:)} as
10853 well as Github-style emojis like @code{:smile:}. It provides a minor mode
10854 @code{emojify-mode} to enable the display of emojis in a buffer.")
10855 (license license:gpl3+)))
10856
10857 (define-public emacs-make-it-so
10858 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
10859 (revision "2"))
10860 (package
10861 (name "emacs-make-it-so")
10862 (version (git-version "0.1.0" revision commit))
10863 (source
10864 (origin
10865 (method git-fetch)
10866 (uri (git-reference
10867 (url "https://github.com/abo-abo/make-it-so")
10868 (commit commit)))
10869 (file-name (git-file-name name version))
10870 (sha256
10871 (base32
10872 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
10873 (build-system emacs-build-system)
10874 (arguments
10875 `(#:include (cons "^recipes/" %default-include)))
10876 (propagated-inputs
10877 `(("emacs-ivy" ,emacs-ivy)))
10878 (home-page "https://github.com/abo-abo/make-it-so")
10879 (synopsis "Transform files with Makefile recipes")
10880 (description "This package provides an interface for selecting from
10881 different conversion recipes, often including tools like @code{ffmpeg} or
10882 @code{convert}. The conversion command need only be written once, and
10883 subsequent invocations can be readily customized. Several recipes are
10884 included by default, and more can be readily added.")
10885 (license license:gpl3+))))
10886
10887 (define-public emacs-unidecode
10888 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
10889 (revision "1"))
10890 (package
10891 (name "emacs-unidecode")
10892 (version (git-version "0.2" revision commit))
10893 (source
10894 (origin
10895 (method git-fetch)
10896 (uri (git-reference
10897 (url "https://github.com/sindikat/unidecode")
10898 (commit commit)))
10899 (file-name (git-file-name name version))
10900 (sha256
10901 (base32
10902 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
10903 (build-system emacs-build-system)
10904 (arguments
10905 `(#:include (cons* "^tools/" "^data/" %default-include)
10906 #:tests? #t
10907 #:test-command '("emacs" "--batch"
10908 "-l" "unidecode-test.el"
10909 "-f" "ert-run-tests-batch-and-exit")
10910 #:phases
10911 (modify-phases %standard-phases
10912 (add-before 'check 'make-tests-writable
10913 (lambda _
10914 (make-file-writable "unidecode-test.el")
10915 #t))
10916 (add-before 'check 'add-require
10917 (lambda _
10918 (emacs-batch-edit-file "unidecode-test.el"
10919 `(progn (progn (goto-char (point-min))
10920 (re-search-forward
10921 "ert-deftest")
10922 (forward-line -1)
10923 (insert "(require 'unidecode)"))
10924 (basic-save-buffer)))
10925 #t)))))
10926 (home-page "https://github.com/sindikat/unidecode")
10927 (synopsis "Transliterate Unicode text to ASCII")
10928 (description "This package provides functions for converting Unicode to ASCII.")
10929 (license license:gpl2+))))
10930
10931 (define-public emacs-pubmed
10932 (package
10933 (name "emacs-pubmed")
10934 (version "0.2.1")
10935 (source
10936 (origin
10937 (method git-fetch)
10938 (uri (git-reference
10939 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
10940 (commit (string-append "v" version))))
10941 (file-name (git-file-name name version))
10942 (sha256
10943 (base32
10944 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
10945 (build-system emacs-build-system)
10946 (propagated-inputs
10947 `(("emacs-deferred" ,emacs-deferred)
10948 ("emacs-esxml" ,emacs-esxml)
10949 ("emacs-s" ,emacs-s)
10950 ("emacs-unidecode" ,emacs-unidecode)))
10951 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
10952 (synopsis "Interface to PubMed")
10953 (description "This package provides an Emacs interface to the PubMed
10954 database of references on life sciences.")
10955 (license license:gpl3+)))
10956
10957 (define-public emacs-websocket
10958 (package
10959 (name "emacs-websocket")
10960 (version "1.10")
10961 (source
10962 (origin
10963 (method git-fetch)
10964 (uri (git-reference
10965 (url "https://github.com/ahyatt/emacs-websocket.git")
10966 (commit version)))
10967 (file-name (git-file-name name version))
10968 (sha256
10969 (base32
10970 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
10971 (build-system emacs-build-system)
10972 (arguments
10973 `(#:tests? #t
10974 ;; TODO: also enable websocket-functional-test.el
10975 #:test-command '("emacs" "--batch"
10976 "-l" "websocket-test.el"
10977 "-f" "ert-run-tests-batch-and-exit")))
10978 (home-page "https://elpa.gnu.org/packages/websocket.html")
10979 (synopsis "Emacs WebSocket client and server")
10980 (description "This is an Elisp library for WebSocket clients to talk to
10981 WebSocket servers, and for WebSocket servers to accept connections from
10982 WebSocket clients. This library is designed to be used by other library
10983 writers, to write applications that use WebSockets, and is not useful by
10984 itself.")
10985 (license license:gpl3+)))
10986
10987 (define-public emacs-oauth2
10988 (package
10989 (name "emacs-oauth2")
10990 (version "0.11")
10991 (source
10992 (origin
10993 (method url-fetch)
10994 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
10995 version ".el"))
10996 (sha256
10997 (base32
10998 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
10999 (build-system emacs-build-system)
11000 (home-page "https://elpa.gnu.org/packages/oauth2.html")
11001 (synopsis "OAuth 2.0 authorization protocol implementation")
11002 (description
11003 "This package provides an Elisp implementation of the OAuth 2.0 draft.
11004 The main entry point is @code{oauth2-auth-and-store} which will return a token
11005 structure. This token structure can be then used with
11006 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
11007 retrieve any data that need OAuth authentication to be accessed. If the token
11008 needs to be refreshed, the code handles it automatically and stores the new
11009 value of the access token.")
11010 (license license:gpl3+)))
11011
11012 (define-public emacs-circe
11013 (package
11014 (name "emacs-circe")
11015 (version "2.11")
11016 (source
11017 (origin
11018 (method git-fetch)
11019 (uri (git-reference
11020 (url "https://github.com/jorgenschaefer/circe.git")
11021 (commit (string-append "v" version))))
11022 (file-name (git-file-name name version))
11023 (sha256
11024 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
11025 (build-system emacs-build-system)
11026 (arguments
11027 `(#:tests? #t
11028 #:test-command '("buttercup" "-L" ".")
11029 #:phases
11030 (modify-phases %standard-phases
11031 ;; The HOME environment variable should be set to an existing
11032 ;; directory for the tests to succeed.
11033 (add-before 'check 'set-home
11034 (lambda _
11035 (setenv "HOME" "/tmp")
11036 #t)))))
11037 (native-inputs
11038 `(("emacs-buttercup" ,emacs-buttercup)))
11039 ;; In order to securely connect to an IRC server using TLS, Circe requires
11040 ;; the GnuTLS binary.
11041 (propagated-inputs
11042 `(("gnutls" ,gnutls)))
11043 (home-page "https://github.com/jorgenschaefer/circe")
11044 (synopsis "Client for IRC in Emacs")
11045 (description "Circe is a Client for IRC in Emacs. It integrates well with
11046 the rest of the editor, using standard Emacs key bindings and indicating
11047 activity in channels in the status bar so it stays out of your way unless you
11048 want to use it.")
11049 (license license:gpl3+)))
11050
11051 (define-public emacs-tracking
11052 (package
11053 (inherit emacs-circe)
11054 (name "emacs-tracking")
11055 (arguments
11056 ;; "tracking.el" is a library extracted from Circe package. It requires
11057 ;; "shorten.el".
11058 `(#:include '("^shorten.el$" "^tracking.el$")
11059 ,@(package-arguments emacs-circe)))
11060 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
11061 (synopsis "Buffer tracking library")
11062 (description "@code{tracking.el} provides a way for different modes to
11063 notify the user that a buffer needs attention. The user then can cycle
11064 through them using @key{C-c C-SPC}.")
11065 (license license:gpl3+)))
11066
11067 (define-public emacs-slack
11068 (let ((commit "b7b9eada0bf62d40dfe764b00f55913a2d3d742e")
11069 (revision "7"))
11070 (package
11071 (name "emacs-slack")
11072 (version (git-version "0.0.2" revision commit))
11073 (source (origin
11074 (method git-fetch)
11075 (uri (git-reference
11076 (url "https://github.com/yuya373/emacs-slack.git")
11077 (commit commit)))
11078 (file-name (git-file-name name commit))
11079 (sha256
11080 (base32
11081 "0cqr7jnfxzb0z2wy79pdwpv9cvmawjif1kin3zbp8q7zhwrq09v0"))))
11082 (build-system emacs-build-system)
11083 (arguments
11084 `(#:phases
11085 (modify-phases %standard-phases
11086 ;; HOME needs to exist for source compilation.
11087 (add-before 'build 'set-HOME
11088 (lambda _ (setenv "HOME" "/tmp") #t)))))
11089 (propagated-inputs
11090 `(("emacs-alert" ,emacs-alert)
11091 ("emacs-emojify" ,emacs-emojify)
11092 ("emacs-helm" ,emacs-helm)
11093 ("emacs-request" ,emacs-request)
11094 ("emacs-websocket" ,emacs-websocket)
11095 ("emacs-oauth2" ,emacs-oauth2)
11096 ("emacs-circe" ,emacs-circe)))
11097 (home-page "https://github.com/yuya373/emacs-slack")
11098 (synopsis "Slack client for Emacs")
11099 (description "This package provides an Emacs client for the Slack
11100 messaging service.")
11101 (license license:gpl3+))))
11102
11103 (define-public emacs-bash-completion
11104 (package
11105 (name "emacs-bash-completion")
11106 (version "2.1.0")
11107 (source
11108 (origin
11109 (method git-fetch)
11110 (uri (git-reference
11111 (url "https://github.com/szermatt/emacs-bash-completion.git")
11112 (commit version)))
11113 (file-name (git-file-name name version))
11114 (sha256
11115 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
11116 (inputs `(("bash" ,bash)))
11117 (build-system emacs-build-system)
11118 (arguments
11119 `(#:phases
11120 (modify-phases %standard-phases
11121 (add-after 'unpack 'make-git-checkout-writable
11122 (λ _
11123 (for-each make-file-writable (find-files "."))
11124 #t))
11125 (add-before 'install 'configure
11126 (lambda* (#:key inputs #:allow-other-keys)
11127 (let ((bash (assoc-ref inputs "bash")))
11128 (emacs-substitute-variables "bash-completion.el"
11129 ("bash-completion-prog" (string-append bash "/bin/bash"))))
11130 #t)))))
11131 (home-page "https://github.com/szermatt/emacs-bash-completion")
11132 (synopsis "Bash completion for the shell buffer")
11133 (description
11134 "@code{bash-completion} defines dynamic completion hooks for shell-mode
11135 and shell-command prompts that are based on Bash completion.")
11136 (license license:gpl2+)))
11137
11138 (define-public emacs-easy-kill
11139 (package
11140 (name "emacs-easy-kill")
11141 (version "0.9.3")
11142 (source (origin
11143 (method url-fetch)
11144 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
11145 version ".tar"))
11146 (sha256
11147 (base32
11148 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
11149 (build-system emacs-build-system)
11150 (home-page "https://github.com/leoliu/easy-kill")
11151 (synopsis "Kill and mark things easily in Emacs")
11152 (description
11153 "This package provides commands @code{easy-kill} and @code{easy-mark} to
11154 let users kill or mark things easily.")
11155 (license license:gpl3+)))
11156
11157 (define-public emacs-csv-mode
11158 (package
11159 (name "emacs-csv-mode")
11160 (version "1.10")
11161 (source
11162 (origin
11163 (method url-fetch)
11164 (uri (string-append "https://elpa.gnu.org/packages/csv-mode-"
11165 version ".el"))
11166 (sha256
11167 (base32 "0q7j2cmj7vs6hz8cnf7j7lmlcjmig3jn2p6az345z96agl8a5xsq"))))
11168 (build-system emacs-build-system)
11169 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
11170 (synopsis "Major mode for editing comma/char separated values")
11171 (description
11172 "This Emacs package implements CSV mode, a major mode for editing records
11173 in a generalized CSV (character-separated values) format.")
11174 (license license:gpl3+)))
11175
11176 (define-public emacs-transmission
11177 (package
11178 (name "emacs-transmission")
11179 (version "0.12.1")
11180 (source
11181 (origin
11182 (method git-fetch)
11183 (uri (git-reference
11184 (url "https://github.com/holomorph/transmission.git")
11185 (commit version)))
11186 (file-name (git-file-name name version))
11187 (sha256
11188 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
11189 (build-system emacs-build-system)
11190 (home-page "https://github.com/holomorph/transmission")
11191 (synopsis "Emacs interface to a Transmission session")
11192 (description "This package provides an Emacs interface to interact with a
11193 running session of the Transmission Bittorrent client.
11194
11195 Features:
11196
11197 @itemize
11198 @item List, add, start/stop, verify, remove torrents.
11199 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
11200 @item Navigate to the corresponding file list, torrent info, peer info
11201 contexts.
11202 @item Toggle downloading and set priorities for individual files.
11203 @end itemize\n")
11204 (license license:gpl3+)))
11205
11206 (define-public emacs-polymode
11207 (package
11208 (name "emacs-polymode")
11209 (version "0.2")
11210 (source (origin
11211 (method git-fetch)
11212 (uri (git-reference
11213 (url "https://github.com/polymode/polymode.git")
11214 (commit (string-append "v" version))))
11215 (file-name (git-file-name name version))
11216 (sha256
11217 (base32
11218 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
11219 (build-system emacs-build-system)
11220 (home-page "https://github.com/polymode/polymode")
11221 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
11222 (description
11223 "Polymode is an Emacs package that offers generic support for multiple
11224 major modes inside a single Emacs buffer. It is lightweight, object oriented
11225 and highly extensible. Creating a new polymode typically takes only a few
11226 lines of code. Polymode also provides extensible facilities for external
11227 literate programming tools for exporting, weaving and tangling.")
11228 (license license:gpl3+)))
11229
11230 (define-public emacs-polymode-ansible
11231 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
11232 (package
11233 (name "emacs-polymode-ansible")
11234 ;; No upstream version release yet.
11235 (version (git-version "0.1" "1" commit))
11236 (source
11237 (origin
11238 (method git-fetch)
11239 (uri (git-reference
11240 (url "https://gitlab.com/mavit/poly-ansible")
11241 (commit commit)))
11242 (file-name (git-file-name name version))
11243 (sha256
11244 (base32
11245 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
11246 (build-system emacs-build-system)
11247 (propagated-inputs
11248 `(("emacs-ansible-doc" ,emacs-ansible-doc)
11249 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
11250 ("emacs-polymode" ,emacs-polymode)
11251 ("emacs-yaml-mode" ,emacs-yaml-mode)))
11252 (properties '((upstream-name . "poly-ansible")))
11253 (home-page "https://gitlab.com/mavit/poly-ansible/")
11254 (synopsis "Polymode for Ansible - Jinja2 in YAML")
11255 (description
11256 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
11257 (license license:gpl3+))))
11258
11259 (define-public emacs-polymode-org
11260 (package
11261 (name "emacs-polymode-org")
11262 (version "0.2")
11263 (source
11264 (origin
11265 (method git-fetch)
11266 (uri (git-reference
11267 (url "https://github.com/polymode/poly-org.git")
11268 (commit (string-append "v" version))))
11269 (file-name (git-file-name name version))
11270 (sha256
11271 (base32
11272 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
11273 (build-system emacs-build-system)
11274 (propagated-inputs
11275 `(("emacs-polymode" ,emacs-polymode)))
11276 (properties '((upstream-name . "poly-org")))
11277 (home-page "https://github.com/polymode/poly-org")
11278 (synopsis "Polymode definitions for Org mode buffers")
11279 (description
11280 "Provides definitions for @code{emacs-polymode} to support
11281 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
11282 native modes of the blocks' languages while remaining inside the primary Org
11283 buffer.")
11284 (license license:gpl3+)))
11285
11286 (define-public eless
11287 (package
11288 (name "eless")
11289 (version "0.3")
11290 (source
11291 (origin
11292 (method git-fetch)
11293 (uri (git-reference
11294 (url "https://github.com/kaushalmodi/eless.git")
11295 (commit (string-append "v" version))))
11296 (file-name (git-file-name name version))
11297 (sha256
11298 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
11299 (build-system trivial-build-system)
11300 (inputs
11301 `(("bash" ,bash)))
11302 (arguments
11303 `(#:modules ((guix build utils))
11304 #:builder
11305 (begin
11306 (use-modules (guix build utils))
11307 (copy-recursively (assoc-ref %build-inputs "source") "source")
11308 (chdir "source")
11309 (substitute* "eless" (("/usr/bin/env bash")
11310 (string-append (assoc-ref %build-inputs "bash")
11311 "/bin/bash")))
11312 (install-file "eless" (string-append %output "/bin"))
11313 (install-file "doc/eless.info" (string-append %output "/share/info"))
11314 #t)))
11315 (home-page "https://github.com/kaushalmodi/eless")
11316 (synopsis "Use Emacs as a paginator")
11317 (description "@code{eless} provides a combination of Bash script
11318 and a minimal Emacs view-mode.
11319
11320 Feautures:
11321
11322 @itemize
11323 @item Independent of a user’s Emacs config.
11324 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
11325 @item Not require an Emacs server to be already running.
11326 @item Syntax highlighting.
11327 @item Org-mode file rendering.
11328 @item @code{man} page viewer.
11329 @item Info viewer.
11330 @item Dired, wdired, (batch edit symbolic links).
11331 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
11332 @item Filter log files lines matching a regexp.
11333 @item Auto-revert log files similar to @code{tail -f}.
11334 @item Quickly change frame and font sizes.
11335 @end itemize\n")
11336 (license license:expat)))
11337
11338 (define-public emacs-evil-matchit
11339 (package
11340 (name "emacs-evil-matchit")
11341 (version "2.3.4")
11342 (source
11343 (origin
11344 (method git-fetch)
11345 (uri (git-reference
11346 (url "https://github.com/redguardtoo/evil-matchit.git")
11347 (commit version)))
11348 (file-name (git-file-name name version))
11349 (sha256
11350 (base32 "1nflkmx08n3ya5vaipy1xg19hnqcp6f7ddsx9xjh5gl6ix2iz0az"))))
11351 (build-system emacs-build-system)
11352 (propagated-inputs
11353 `(("emacs-evil" ,emacs-evil)))
11354 (home-page "https://github.com/redguardtoo/evil-matchit")
11355 (synopsis "Vim matchit ported into Emacs")
11356 (description
11357 "@code{evil-matchit} is a minor mode for jumping between matching tags in
11358 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
11359 (license license:gpl3+)))
11360
11361 (define-public emacs-evil-smartparens
11362 (package
11363 (name "emacs-evil-smartparens")
11364 (version "0.4.0")
11365 (source
11366 (origin
11367 (method git-fetch)
11368 (uri (git-reference
11369 (url "https://github.com/expez/evil-smartparens.git")
11370 (commit version)))
11371 (file-name (git-file-name name version))
11372 (sha256
11373 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
11374 (build-system emacs-build-system)
11375 (propagated-inputs
11376 `(("emacs-evil" ,emacs-evil)
11377 ("emacs-smartparens" ,emacs-smartparens)))
11378 (home-page "https://github.com/expez/evil-smartparens")
11379 (synopsis "Emacs Evil integration for Smartparens")
11380 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
11381 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
11382 emulates Vim features and provides Vim-like key bindings.")
11383 (license license:gpl3+)))
11384
11385 (define-public emacs-evil-quickscope
11386 (package
11387 (name "emacs-evil-quickscope")
11388 (version "0.1.4")
11389 (source
11390 (origin
11391 (method git-fetch)
11392 (uri (git-reference
11393 (url "https://github.com/blorbx/evil-quickscope.git")
11394 (commit (string-append "v" version))))
11395 (file-name (git-file-name name version))
11396 (sha256
11397 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
11398 (build-system emacs-build-system)
11399 (propagated-inputs
11400 `(("emacs-evil" ,emacs-evil)))
11401 (arguments
11402 `(#:tests? #t
11403 #:test-command '("emacs" "--batch"
11404 "-l" "evil-quickscope-tests.el"
11405 "-f" "ert-run-tests-batch-and-exit")))
11406 (home-page "https://github.com/blorbx/evil-quickscope")
11407 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
11408 (description "@code{emacs-evil-quickscope} highlights targets for Evil
11409 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
11410 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
11411 features and provides Vim-like key bindings.")
11412 (license license:gpl3+)))
11413
11414 (define-public emacs-bongo
11415 (package
11416 (name "emacs-bongo")
11417 (version "1.0")
11418 (source
11419 (origin
11420 (method git-fetch)
11421 (uri (git-reference
11422 (url "https://github.com/dbrock/bongo.git")
11423 (commit version)))
11424 (file-name (git-file-name name version))
11425 (sha256
11426 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
11427 (build-system emacs-build-system)
11428 (home-page "https://github.com/dbrock/bongo")
11429 (synopsis "Media player for Emacs")
11430 (description
11431 "This package provides a flexible media player for Emacs. @code{Bongo}
11432 supports multiple backends such as @code{vlc}, @code{mpg123},
11433 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
11434 @code{afplay}.")
11435 (license license:gpl2+)))
11436
11437 (define-public emacs-groovy-modes
11438 (package
11439 (name "emacs-groovy-modes")
11440 (version "2.0")
11441 (source (origin
11442 (method git-fetch)
11443 (uri (git-reference
11444 (url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
11445 (commit version)))
11446 (file-name (git-file-name name version))
11447 (sha256
11448 (base32
11449 "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2"))))
11450 (build-system emacs-build-system)
11451 (propagated-inputs
11452 `(("emacs-s" ,emacs-s)))
11453 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
11454 (synopsis "Groovy related modes for Emacs")
11455 (description
11456 "This package provides @code{groovy-mode} for syntax highlighting in
11457 Groovy source files, REPL integration with run-groovy and Grails project
11458 navigation with the grails mode.")
11459 (license license:gpl3+)))
11460
11461 (define-public emacs-org-tree-slide
11462 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
11463 (revision "2"))
11464 (package
11465 (name "emacs-org-tree-slide")
11466 (version (git-version "2.8.4" revision commit))
11467 (source (origin
11468 (method git-fetch)
11469 (uri (git-reference
11470 (url "https://github.com/takaxp/org-tree-slide.git")
11471 (commit commit)))
11472 (sha256
11473 (base32
11474 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
11475 (file-name (git-file-name name version))))
11476 (build-system emacs-build-system)
11477 (home-page "https://github.com/takaxp/org-tree-slide")
11478 (synopsis "Presentation tool for org-mode")
11479 (description
11480 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
11481 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
11482 @kbd{C-<} to jump to the next and previous slide.")
11483 (license license:gpl3+))))
11484
11485 (define-public emacs-scratch-el
11486 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
11487 (revision "1"))
11488 (package
11489 (name "emacs-scratch-el")
11490 (version (git-version "1.2" revision commit))
11491 (source (origin
11492 (method git-fetch)
11493 (uri (git-reference
11494 (url "https://github.com/ieure/scratch-el.git")
11495 (commit commit)))
11496 (file-name (git-file-name name version))
11497 (sha256
11498 (base32
11499 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
11500 (build-system emacs-build-system)
11501 (native-inputs
11502 `(("texinfo" ,texinfo)))
11503 (arguments
11504 '(#:phases
11505 (modify-phases %standard-phases
11506 (add-after 'install 'install-doc
11507 (lambda* (#:key outputs #:allow-other-keys)
11508 (unless (invoke "makeinfo" "scratch.texi")
11509 (error "makeinfo failed"))
11510 (install-file "scratch.info"
11511 (string-append (assoc-ref outputs "out")
11512 "/share/info"))
11513 #t)))))
11514 (home-page "https://github.com/ieure/scratch-el/")
11515 (synopsis "Create scratch buffers with the same mode as current buffer")
11516 (description "Scratch is an extension to Emacs that enables one to create
11517 scratch buffers that are in the same mode as the current buffer. This is
11518 notably useful when working on code in some language; you may grab code into a
11519 scratch buffer, and, by virtue of this extension, do so using the Emacs
11520 formatting rules for that language.")
11521 (license license:bsd-2))))
11522
11523 (define-public emacs-kv
11524 (package
11525 (name "emacs-kv")
11526 (version "0.0.19")
11527 (source
11528 (origin
11529 (method git-fetch)
11530 (uri (git-reference
11531 (url "https://github.com/nicferrier/emacs-kv.git")
11532 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
11533 (file-name (git-file-name name version))
11534 (sha256
11535 (base32
11536 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
11537 (build-system emacs-build-system)
11538 (arguments
11539 `(#:tests? #t
11540 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
11541 "-f" "ert-run-tests-batch-and-exit")))
11542 (home-page "https://github.com/nicferrier/emacs-kv")
11543 (synopsis "Key/Value data structures library for Emacs Lisp")
11544 (description "@code{emacs-kv} is a collection of tools for dealing with
11545 key/value data structures such as plists, alists and hash-tables in Emacs
11546 Lisp.")
11547 (license license:gpl3+)))
11548
11549 (define-public emacs-esxml
11550 (package
11551 (name "emacs-esxml")
11552 (version "0.3.4")
11553 (source (origin
11554 (method git-fetch)
11555 (uri (git-reference
11556 (url "https://github.com/tali713/esxml.git")
11557 (commit version)))
11558 (file-name (git-file-name name version))
11559 (sha256
11560 (base32
11561 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
11562 (build-system emacs-build-system)
11563 (arguments
11564 `(#:phases
11565 (modify-phases %standard-phases
11566 (add-after 'unpack 'fix-sources
11567 (lambda _
11568 ;; See: https://github.com/tali713/esxml/pull/28.
11569 (substitute* "css-lite.el"
11570 ((";;; main interface")
11571 (string-append ";;; main interface\n"
11572 "(require 'cl-lib)"))
11573 (("mapcan")
11574 "cl-mapcan")
11575 (("',\\(cl-mapcan #'process-css-rule rules\\)")
11576 "(cl-mapcan #'process-css-rule ',rules)"))
11577 (substitute* "esxml-form.el"
11578 ((",esxml-form-field-defn")
11579 "#'esxml-form-field-defn"))
11580 ;; See: https://github.com/tali713/esxml/issues/25
11581 (delete-file "esxpath.el")
11582 #t)))))
11583 (propagated-inputs
11584 `(("emacs-kv" ,emacs-kv)))
11585 (home-page "https://github.com/tali713/esxml/")
11586 (synopsis "SXML for EmacsLisp")
11587 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
11588 Simply, this is the easiest way to write HTML or XML in Lisp. This library
11589 uses the native form of XML representation as used by many libraries already
11590 included within Emacs. See @code{esxml-to-xml} for a concise description of
11591 the format.")
11592 (license license:gpl3+)))
11593
11594 (define-public emacs-nov-el
11595 (package
11596 (name "emacs-nov-el")
11597 (version "0.2.9")
11598 (source (origin
11599 (method git-fetch)
11600 (uri (git-reference
11601 (url "https://github.com/wasamasa/nov.el.git")
11602 (commit version)))
11603 (file-name (git-file-name name version))
11604 (sha256
11605 (base32
11606 "0v01l1p35mcigixs6j4c5bpc7n7bd51kxa0p3l1xl0gr92774yq3"))))
11607 (build-system emacs-build-system)
11608 (arguments
11609 `(#:phases
11610 (modify-phases %standard-phases
11611 (add-after 'unpack 'embed-path-to-unzip
11612 (lambda _
11613 (substitute* "nov.el"
11614 (("\\(executable-find \"unzip\"\\)")
11615 (string-append "\"" (which "unzip") "\"")))
11616 #t)))))
11617 (propagated-inputs
11618 `(("emacs-dash" ,emacs-dash)
11619 ("emacs-esxml" ,emacs-esxml)))
11620 (inputs
11621 `(("unzip" ,unzip)))
11622 (home-page "https://github.com/wasamasa/nov.el/")
11623 (synopsis "Major mode for reading EPUBs in Emacs")
11624 (description "@code{nov.el} provides a major mode for reading EPUB
11625 documents.
11626
11627 Features:
11628
11629 @itemize
11630 @item Basic navigation (jump to TOC, previous/next chapter)
11631 @item Remembering and restoring the last read position
11632 @item Jump to next chapter when scrolling beyond end
11633 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
11634 @item Hyperlinks to internal and external targets
11635 @item Supports textual and image documents
11636 @item View source of document files
11637 @item Metadata display
11638 @item Image rescaling
11639 @end itemize
11640 ")
11641 (license license:gpl3+)))
11642
11643 (define-public epipe
11644 (package
11645 (name "epipe")
11646 (version "0.1.0")
11647 (source
11648 (origin
11649 (method git-fetch)
11650 (uri (git-reference
11651 (url "https://github.com/cute-jumper/epipe.git")
11652 (commit version)))
11653 (file-name (git-file-name name version))
11654 (sha256
11655 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
11656 (build-system trivial-build-system)
11657 (inputs
11658 `(("bash" ,bash)
11659 ("perl" ,perl)))
11660 (arguments
11661 `(#:modules
11662 ((guix build utils))
11663 #:builder
11664 (begin
11665 (use-modules (guix build utils))
11666 ;; Extract source.
11667 (copy-recursively (assoc-ref %build-inputs "source") "source")
11668 (chdir "source")
11669 ;; Patch shebangs.
11670 (substitute* "epipe"
11671 (("/usr/bin/env bash")
11672 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
11673 (patch-shebang "epipe.pl"
11674 (list (string-append (assoc-ref %build-inputs "perl")
11675 "/bin")))
11676 ;; Install.
11677 (for-each (lambda (file)
11678 (install-file file (string-append %output "/bin")))
11679 '("epipe" "epipe.pl"))
11680 #t)))
11681 (home-page "https://github.com/cute-jumper/epipe")
11682 (synopsis "Pipe to the @code{emacsclient}")
11683 (description "@code{epipe} provides an utility to use your editor in
11684 the pipeline, featuring the support for running @code{emacsclient}.")
11685 (license license:gpl3+)))
11686
11687 (define-public emacs-hcl-mode
11688 (package
11689 (name "emacs-hcl-mode")
11690 (version "0.03")
11691 (source
11692 (origin
11693 (method git-fetch)
11694 (uri (git-reference
11695 (url "https://github.com/syohex/emacs-hcl-mode.git")
11696 (commit version)))
11697 (file-name (git-file-name name version))
11698 (sha256
11699 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
11700 (build-system emacs-build-system)
11701 (home-page "https://github.com/syohex/emacs-hcl-mode")
11702 (synopsis "Major mode for the Hashicorp Configuration Language")
11703 (description
11704 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
11705 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
11706 highlighting and indentation support.")
11707 (license license:gpl3+)))
11708
11709 (define-public emacs-terraform-mode
11710 (package
11711 (name "emacs-terraform-mode")
11712 (version "0.06")
11713 (source
11714 (origin
11715 (method git-fetch)
11716 (uri (git-reference
11717 (url "https://github.com/syohex/emacs-terraform-mode.git")
11718 (commit version)))
11719 (file-name (git-file-name name version))
11720 (sha256
11721 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
11722 (build-system emacs-build-system)
11723 (propagated-inputs
11724 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
11725 (home-page "https://github.com/syohex/emacs-terraform-mode")
11726 (synopsis "Major mode for Terraform")
11727 (description
11728 "@code{emacs-terraform-mode} provides a major mode for working with
11729 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
11730 functionality is inherited from @code{hcl-mode}.")
11731 (license license:gpl3+)))
11732
11733 (define-public emacs-exec-path-from-shell
11734 (package
11735 (name "emacs-exec-path-from-shell")
11736 (version "1.12")
11737 (source
11738 (origin
11739 (method git-fetch)
11740 (uri (git-reference
11741 (url "https://github.com/purcell/exec-path-from-shell")
11742 (commit version)))
11743 (file-name (git-file-name name version))
11744 (sha256
11745 (base32
11746 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
11747 (build-system emacs-build-system)
11748 (home-page "https://github.com/purcell/exec-path-from-shell")
11749 (synopsis "Get environment variables such as @var{PATH} from the shell")
11750 (description
11751 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
11752 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
11753 the like work as expected on systems on which Emacs is not guaranteed to
11754 inherit a login shell's environment variables. It also allows other
11755 environment variables to be retrieved from the shell, so that Emacs will see
11756 the same values you get in a terminal.")
11757 (license license:gpl3+)))
11758
11759 (define-public emacs-frog-menu
11760 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
11761 (revision "1"))
11762 (package
11763 (name "emacs-frog-menu")
11764 (version (git-version "0.2.9" revision commit))
11765 (source
11766 (origin
11767 (method git-fetch)
11768 (uri (git-reference
11769 (url "https://github.com/clemera/frog-menu")
11770 (commit commit)))
11771 (file-name (git-file-name name version))
11772 (sha256
11773 (base32
11774 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
11775 (build-system emacs-build-system)
11776 (propagated-inputs
11777 `(("emacs-posframe" ,emacs-posframe)
11778 ("emacs-avy" ,emacs-avy)))
11779 (home-page "https://github.com/clemera/frog-menu")
11780 (synopsis "Quickly pick items from ad hoc menus")
11781 (description
11782 "This package provides a popup offering a preview of a list of
11783 candidates on which user-defined dispatch actions can act.")
11784 (license license:gpl3+))))
11785
11786 (define-public emacs-frog-jump-buffer
11787 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
11788 (revision "1"))
11789 (package
11790 (name "emacs-frog-jump-buffer")
11791 (version (git-version "0.1.4" revision commit))
11792 (source
11793 (origin
11794 (method git-fetch)
11795 (uri (git-reference
11796 (url "https://github.com/waymondo/frog-jump-buffer")
11797 (commit commit)))
11798 (file-name (git-file-name name version))
11799 (sha256
11800 (base32
11801 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
11802 (build-system emacs-build-system)
11803 (propagated-inputs
11804 `(("emacs-dash" ,emacs-dash)
11805 ("emacs-frog-menu" ,emacs-frog-menu)
11806 ("emacs-avy" ,emacs-avy)))
11807 (home-page "https://github.com/waymondo/frog-jump-buffer")
11808 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
11809 (description
11810 "This package provides a preview window of buffers that can be switched
11811 to with quicklink-style selections.")
11812 (license license:gpl3+))))
11813
11814 (define-public emacs-deft
11815 (package
11816 (name "emacs-deft")
11817 (version "0.8")
11818 (source
11819 (origin
11820 (method git-fetch)
11821 (uri (git-reference
11822 (url "https://github.com/jrblevin/deft.git")
11823 (commit (string-append "v" version))))
11824 (file-name (git-file-name name version))
11825 (sha256
11826 (base32
11827 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
11828 (build-system emacs-build-system)
11829 (home-page "https://jblevins.org/projects/deft/")
11830 (synopsis "Quickly browse, filter, and edit plain text notes")
11831 (description
11832 "Deft is an Emacs mode for quickly browsing, filtering, and editing
11833 directories of plain text notes, inspired by Notational Velocity.")
11834 (license license:bsd-3)))
11835
11836 (define-public emacs-anzu
11837 (package
11838 (name "emacs-anzu")
11839 (version "0.62")
11840 (source
11841 (origin
11842 (method git-fetch)
11843 (uri (git-reference
11844 (url "https://github.com/syohex/emacs-anzu.git")
11845 (commit version)))
11846 (file-name (git-file-name name version))
11847 (sha256
11848 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
11849 (build-system emacs-build-system)
11850 (home-page "https://github.com/syohex/emacs-anzu")
11851 (synopsis "Show number of matches in mode-line while searching")
11852 (description
11853 "Anzu provides a minor mode which displays \"current match/total
11854 matches\" in the mode line in various search modes. This is an Emacs port of
11855 Anzu.zim.")
11856 (license license:gpl3+)))
11857
11858 (define-public emacs-ascii-art-to-unicode
11859 (package
11860 (name "emacs-ascii-art-to-unicode")
11861 (version "1.12")
11862 (source
11863 (origin
11864 (method url-fetch)
11865 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
11866 version ".el"))
11867 (sha256
11868 (base32
11869 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
11870 (build-system emacs-build-system)
11871 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
11872 (synopsis "ASCII to Unicode art converter for Emacs")
11873 (description "This Emacs package provides the commands @command{aa2u} and
11874 @command{aa2u-rectangle}. Both of these commands can be used to convert
11875 simple ASCII art line drawings to Unicode; the former works on the active
11876 region of the buffer, while the latter works on rectangular selections.")
11877 (license license:gpl3+)))
11878
11879 (define-public emacs-emmet-mode
11880 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
11881 (revision "1"))
11882 (package
11883 (name "emacs-emmet-mode")
11884 (version (git-version "1.0.8" revision commit))
11885 (source (origin
11886 (method git-fetch)
11887 (uri (git-reference
11888 (url "https://github.com/smihica/emmet-mode.git")
11889 (commit commit)))
11890 (file-name (git-file-name name version))
11891 (sha256
11892 (base32
11893 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
11894 (build-system emacs-build-system)
11895 (home-page "https://github.com/smihica/emmet-mode")
11896 (synopsis "Unofficial Emmet's support for Emacs")
11897 (description
11898 "Unfold CSS-selector-like expressions to markup. It is intended to be
11899 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
11900 (license license:gpl3+))))
11901
11902 (define-public emacs-ergoemacs-mode
11903 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
11904 (revision "1"))
11905 (package
11906 (name "emacs-ergoemacs-mode")
11907 (version (git-version "5.16.10.12" revision commit))
11908 (source
11909 (origin
11910 (method git-fetch)
11911 (uri (git-reference
11912 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
11913 (commit commit)))
11914 (file-name (git-file-name name version))
11915 (sha256
11916 (base32
11917 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
11918 (build-system emacs-build-system)
11919 (propagated-inputs
11920 `(("emacs-undo-tree" ,emacs-undo-tree)))
11921 (home-page "https://ergoemacs.github.io/")
11922 (synopsis "Emacs mode based on common modern interface and ergonomics")
11923 (description
11924 "This package provides an efficient Emacs keybinding set based on
11925 statistics of command frequency, and supports common shortcuts for open,
11926 close, copy, cut, paste, undo, redo.")
11927 (license license:gpl3+))))
11928
11929 (define-public emacs-password-store
11930 (package
11931 (name "emacs-password-store")
11932 (version "1.7.3")
11933 (source (origin
11934 (method url-fetch)
11935 (uri
11936 (string-append "https://git.zx2c4.com/password-store/snapshot/"
11937 "password-store-" version ".tar.xz"))
11938 (sha256
11939 (base32
11940 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
11941 (build-system emacs-build-system)
11942 (arguments
11943 `(#:phases
11944 (modify-phases %standard-phases
11945 (add-after 'unpack 'extract-el-file
11946 (lambda _
11947 (copy-file "contrib/emacs/password-store.el" "password-store.el")
11948 (delete-file-recursively "contrib")
11949 (delete-file-recursively "man")
11950 (delete-file-recursively "src")
11951 (delete-file-recursively "tests"))))))
11952 (propagated-inputs
11953 `(("emacs-f" ,emacs-f)
11954 ("emacs-s" ,emacs-s)
11955 ("emacs-with-editor" ,emacs-with-editor)
11956 ("password-store" ,password-store)))
11957 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
11958 (synopsis "Password store (pass) support for Emacs")
11959 (description
11960 "This package provides functions for working with pass (\"the
11961 standard Unix password manager\").")
11962 (license license:gpl2+)))
11963
11964 (define-public emacs-auth-source-pass
11965 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
11966 (revision "2"))
11967 (package
11968 (name "emacs-auth-source-pass")
11969 (version (git-version "5.0.0" revision commit))
11970 (source
11971 (origin
11972 (method git-fetch)
11973 (uri (git-reference
11974 (url "https://github.com/DamienCassou/auth-password-store.git")
11975 (commit commit)))
11976 (file-name (git-file-name name version))
11977 (sha256
11978 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
11979 (build-system emacs-build-system)
11980 (arguments
11981 `(#:tests? #t
11982 #:test-command '("emacs" "--batch"
11983 "-L" "."
11984 "-l" "test/auth-source-pass-tests.el"
11985 "-f" "ert-run-tests-batch-and-exit")))
11986 (home-page "https://github.com/DamienCassou/auth-password-store")
11987 (synopsis "Integrate @code{auth-source} with @code{password-store}")
11988 (description "This package helps Emacs integrate with the Unix
11989 @code{password-store} application.")
11990 (license license:gpl3+))))
11991
11992 (define-public emacs-pass
11993 (package
11994 (name "emacs-pass")
11995 (version "1.8")
11996 (source
11997 (origin
11998 (method git-fetch)
11999 (uri (git-reference
12000 (url "https://github.com/NicolasPetton/pass.git")
12001 (commit version)))
12002 (file-name (git-file-name name version))
12003 (sha256
12004 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
12005 (build-system emacs-build-system)
12006 (propagated-inputs
12007 `(("emacs-password-store" ,emacs-password-store)
12008 ("emacs-f" ,emacs-f)))
12009 (home-page "https://github.com/NicolasPetton/pass")
12010 (synopsis "Major mode for @file{password-store.el}")
12011 (description "This is a major mode for managing password-store (pass)
12012 keychains. The keychain entries are displayed in a directory-like structure
12013 and can be consulted and modified.")
12014 (license license:gpl3+)))
12015
12016 (define-public emacs-evil-anzu
12017 (package
12018 (name "emacs-evil-anzu")
12019 (version "0.03")
12020 (source
12021 (origin
12022 (method git-fetch)
12023 (uri (git-reference
12024 (url "https://github.com/syohex/emacs-evil-anzu")
12025 (commit version)))
12026 (file-name (git-file-name name version))
12027 (sha256
12028 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
12029 (build-system emacs-build-system)
12030 (propagated-inputs
12031 `(("emacs-evil" ,emacs-evil)
12032 ("emacs-anzu" ,emacs-anzu)))
12033 (home-page "https://github.com/syohex/emacs-evil-anzu")
12034 (synopsis "Anzu for evil-mode")
12035 (description "@code{anzu} provides a minor mode that displays the current
12036 match and total match information in the mode-line in various search modes.")
12037 (license license:gpl3+)))
12038
12039 (define-public emacs-pg
12040 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
12041 (package
12042 (name "emacs-pg")
12043 (version (git-version "0.1" "1" commit))
12044 (source (origin
12045 (method git-fetch)
12046 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
12047 (commit commit)))
12048 (file-name (git-file-name name version))
12049 (sha256
12050 (base32
12051 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
12052 (build-system emacs-build-system)
12053 (home-page "https://github.com/cbbrowne/pg.el")
12054 (synopsis "Emacs Lisp interface for PostgreSQL")
12055 (description
12056 "This package provides an Emacs Lisp interface for PostgreSQL.")
12057 (license license:gpl3+))))
12058
12059 (define-public emacs-cl-generic
12060 (package
12061 (name "emacs-cl-generic")
12062 (version "0.3")
12063 (source
12064 (origin
12065 (method url-fetch)
12066 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
12067 version ".el"))
12068 (sha256
12069 (base32
12070 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
12071 (build-system emacs-build-system)
12072 ;; Byte compilation of the autoload file fails.
12073 (arguments
12074 `(#:phases (modify-phases %standard-phases
12075 (delete 'enable-autoloads-compilation))))
12076 (home-page "https://elpa.gnu.org/packages/seq.html")
12077 (synopsis
12078 "Forward @code{cl-generic} compatibility for Emacs before version 25")
12079 (description "This package provides a subset of the features of the
12080 @code{cl-generic} package introduced in Emacs-25, for use on previous
12081 @code{emacsen}.")
12082 (license license:gpl3+)))
12083
12084 (define-public emacs-finalize
12085 (package
12086 (name "emacs-finalize")
12087 (version "2.0.0")
12088 (source
12089 (origin
12090 (method git-fetch)
12091 (uri (git-reference
12092 (url "https://github.com/skeeto/elisp-finalize.git")
12093 (commit version)))
12094 (file-name (git-file-name name version))
12095 (sha256
12096 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
12097 (build-system emacs-build-system)
12098 (propagated-inputs
12099 `(("emacs-cl-generic" ,emacs-cl-generic)))
12100 (home-page "https://github.com/skeeto/elisp-finalize")
12101 (synopsis "Finalizers for Emacs Lisp")
12102 (description
12103 "This package will allows to immediately run a callback (a finalizer)
12104 after its registered lisp object has been garbage collected. This allows for
12105 extra resources, such as buffers and processes, to be cleaned up after the
12106 object has been freed.")
12107 (license license:unlicense)))
12108
12109 (define-public emacs-emacsql
12110 (package
12111 (name "emacs-emacsql")
12112 (version "3.0.0")
12113 (source (origin
12114 (method git-fetch)
12115 (uri (git-reference
12116 (url "https://github.com/skeeto/emacsql.git")
12117 (commit (string-append version))))
12118 (file-name (git-file-name name version))
12119 (sha256
12120 (base32
12121 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
12122 (build-system emacs-build-system)
12123 (arguments
12124 `(#:modules ((guix build emacs-build-system)
12125 (guix build utils)
12126 (guix build emacs-utils)
12127 (srfi srfi-26))
12128 #:phases
12129 (modify-phases %standard-phases
12130 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
12131 (add-before 'install 'patch-elisp-shell-shebangs
12132 (lambda _
12133 (substitute* (find-files "." "\\.el")
12134 (("/bin/sh") (which "sh")))
12135 #t))
12136 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
12137 (lambda _
12138 (setenv "SHELL" "sh")))
12139 (add-after 'setenv-shell 'build-emacsql-sqlite
12140 (lambda _
12141 (invoke "make" "binary" "CC=gcc")))
12142 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
12143 ;; This build phase installs emacs-emacsql binary.
12144 (lambda* (#:key outputs #:allow-other-keys)
12145 (install-file "sqlite/emacsql-sqlite"
12146 (string-append (assoc-ref outputs "out")
12147 "/bin"))
12148 #t))
12149 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
12150 ;; This build phase removes interactive prompts
12151 ;; and makes sure Emacs look for binaries in the right places.
12152 (lambda* (#:key outputs #:allow-other-keys)
12153 (let ((file "emacsql-sqlite.el"))
12154 (chmod file #o644)
12155 (emacs-substitute-sexps file
12156 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
12157 ("(executable-find" (which "gcc"))
12158 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
12159 ;; in the right place.
12160 ("(defvar emacsql-sqlite-executable"
12161 (string-append (assoc-ref outputs "out")
12162 "/bin/emacsql-sqlite"))))))
12163 (replace 'install
12164 (lambda* (#:key outputs #:allow-other-keys)
12165 (let* ((out (assoc-ref outputs "out")))
12166 (install-file "sqlite/emacsql-sqlite"
12167 (string-append out "/bin"))
12168 (for-each (cut install-file <>
12169 (string-append out "/share/emacs/site-lisp"))
12170 (find-files "." "\\.elc*$")))
12171 #t)))))
12172 (inputs
12173 `(("emacs-minimal" ,emacs-minimal)
12174 ("mariadb" ,mariadb "lib")
12175 ("mariadb-dev" ,mariadb "dev")
12176 ("postgresql" ,postgresql)))
12177 (propagated-inputs
12178 `(("emacs-finalize" ,emacs-finalize)
12179 ("emacs-pg" ,emacs-pg)))
12180 (home-page "https://github.com/skeeto/emacsql")
12181 (synopsis "Emacs high-level SQL database front-end")
12182 (description "Any readable Lisp value can be stored as a value in EmacSQL,
12183 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
12184 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
12185 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
12186 (license license:gpl3+)))
12187
12188 (define-public emacs-closql
12189 ;; Take a commit newer than 1.0.0 release because of Emacs upgrade to 26.3.
12190 (let ((commit "70b98dbae53611d10a461d9b4a6f71086910dcef"))
12191 (package
12192 (name "emacs-closql")
12193 (version (git-version "1.0.0" "1" commit))
12194 (source
12195 (origin
12196 (method git-fetch)
12197 (uri (git-reference
12198 (url "https://github.com/emacscollective/closql.git")
12199 (commit commit)))
12200 (file-name (git-file-name name version))
12201 (sha256
12202 (base32
12203 "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh"))))
12204 (build-system emacs-build-system)
12205 (propagated-inputs
12206 `(("emacs-emacsql" ,emacs-emacsql)))
12207 (home-page "https://github.com/emacscollective/closql")
12208 (synopsis "Store EIEIO objects using EmacSQL")
12209 (description
12210 "This package allows to store uniform EIEIO objects in an EmacSQL
12211 database. SQLite is used as backend. This library imposes some restrictions
12212 on what kind of objects can be stored; it isn't intended to store arbitrary
12213 objects. All objects have to share a common superclass and subclasses cannot
12214 add any additional instance slots.")
12215 (license license:gpl3))))
12216
12217 (define-public emacs-epkg
12218 ;; The release version is to old for the current database scheme.
12219 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
12220 (package
12221 (name "emacs-epkg")
12222 (version (git-version "3.0.0" "1" commit))
12223 (source
12224 (origin
12225 (method git-fetch)
12226 (uri (git-reference
12227 (url "https://github.com/emacscollective/epkg.git")
12228 (commit commit)))
12229 (file-name (git-file-name name version))
12230 (sha256
12231 (base32
12232 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
12233 (build-system emacs-build-system)
12234 (propagated-inputs
12235 `(("emacs-closql" ,emacs-closql)
12236 ("emacs-dash" ,emacs-dash)))
12237 (home-page "https://emacsmirror.net")
12238 (synopsis "Browse the Emacsmirror package database")
12239 (description "This package provides access to a local copy of the
12240 Emacsmirror package database. It provides low-level functions for querying
12241 the database and a @file{package.el} user interface for browsing the database.
12242 Epkg itself is not a package manager.
12243
12244 Getting a local copy:
12245
12246 @example
12247 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
12248 cd ~/.emacs.d/epkgs
12249 git submodule init
12250 git config --global url.https://github.com/.insteadOf git@@github.com:
12251 git submodule update
12252 @end example
12253
12254 Some submodule may be missing. In this case Git will prompt for a GitHub user
12255 name and password. To skip it press a @key{Return} key.
12256
12257 You could get a Epkg package list by invoking @code{epkg-list-packages} in
12258 Emacs.")
12259 (license license:gpl3+))))
12260
12261 (define-public emacs-elisp-slime-nav
12262 (package
12263 (name "emacs-elisp-slime-nav")
12264 (version "0.9")
12265 (source
12266 (origin
12267 (method git-fetch)
12268 (uri (git-reference
12269 (url "https://github.com/purcell/elisp-slime-nav.git")
12270 (commit version)))
12271 (file-name (git-file-name name version))
12272 (sha256
12273 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
12274 (build-system emacs-build-system)
12275 (home-page "https://github.com/purcell/elisp-slime-nav")
12276 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
12277 (description
12278 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
12279 in @code{emacs-lisp-mode}, together with an elisp equivalent of
12280 @code{slime-describe-symbol}.")
12281 (license license:gpl3+)))
12282
12283 (define-public emacs-dedicated
12284 (package
12285 (name "emacs-dedicated")
12286 (version "1.0.0")
12287 (source
12288 (origin
12289 (method git-fetch)
12290 (uri (git-reference
12291 (url "https://github.com/emacsorphanage/dedicated.git")
12292 (commit version)))
12293 (file-name (git-file-name name version))
12294 (sha256
12295 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
12296 (build-system emacs-build-system)
12297 (home-page "https://github.com/emacsorphanage/dedicated")
12298 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
12299 (description
12300 "This simple Emacs minor mode allows you to toggle a window's
12301 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
12302 files into that window. This can be quite handy since many commands will use
12303 another window to show results (compilation mode, starting info, and so on).
12304 A dedicated window won't be used for such a purpose. For details, please read
12305 the source file.")
12306 (license license:gpl2+)))
12307
12308 (define-public emacs-nnreddit
12309 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
12310 (revision "1"))
12311 (package
12312 (name "emacs-nnreddit")
12313 (version (string-append "0.0.1-" revision "."
12314 (string-take commit 7)))
12315 (source (origin
12316 (method git-fetch)
12317 (uri (git-reference
12318 (url "https://github.com/paul-issartel/nnreddit.git")
12319 (commit commit)))
12320 (file-name (git-file-name name version))
12321 (sha256
12322 (base32
12323 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
12324 (build-system emacs-build-system)
12325 (home-page "https://github.com/paul-issartel/nnreddit")
12326 (synopsis "Reddit backend for the Gnus newsreader")
12327 (description "@url{https://www.reddit.com} backend for the Gnus
12328 newsreader.")
12329 (license license:gpl3+))))
12330
12331 (define-public emacs-makey
12332 (package
12333 (name "emacs-makey")
12334 (version "0.3")
12335 (source
12336 (origin
12337 (method git-fetch)
12338 (uri (git-reference
12339 (url "https://github.com/mickeynp/makey.git")
12340 (commit version)))
12341 (file-name (git-file-name name version))
12342 (sha256
12343 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
12344 (build-system emacs-build-system)
12345 (home-page "https://github.com/mickeynp/makey")
12346 (synopsis "Emacs interactive command-line mode")
12347 (description
12348 "This package provides an Emacs interactive command-line mode.")
12349 (license license:gpl3+)))
12350
12351 (define-public emacs-outorg
12352 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
12353 (package
12354 (name "emacs-outorg")
12355 (version (git-version "2.0" "1" commit))
12356 (source
12357 (origin
12358 (method git-fetch)
12359 (uri (git-reference
12360 (url "https://github.com/alphapapa/outorg")
12361 (commit commit)))
12362 (file-name (git-file-name name version))
12363 (sha256
12364 (base32
12365 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
12366 (build-system emacs-build-system)
12367 (home-page "https://github.com/alphapapa/outorg")
12368 (synopsis "Org-style comment editing")
12369 (description "Outorg is for editing comment-sections of source-code
12370 files in temporary Org-mode buffers. It turns conventional
12371 literate-programming upside-down in that the default mode is the
12372 programming-mode, and special action has to be taken to switch to the
12373 text-mode (i.e. Org-mode).")
12374 (license license:gpl3+))))
12375
12376 (define-public emacs-outshine
12377 (package
12378 (name "emacs-outshine")
12379 (version "3.0.1")
12380 (source (origin
12381 (method git-fetch)
12382 (uri (git-reference
12383 (url "https://github.com/alphapapa/outshine.git")
12384 (commit (string-append "v" version))))
12385 (file-name (git-file-name name version))
12386 (sha256
12387 (base32
12388 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
12389 (build-system emacs-build-system)
12390 (propagated-inputs
12391 `(("emacs-outorg" ,emacs-outorg)))
12392 (home-page "https://github.com/alphapapa/outshine")
12393 (synopsis "Emacs outline with outshine")
12394 (description "Outshine attempts to bring the look and feel of
12395 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
12396 of @code{outline-minor-mode} (@code{org-mode} itself derives from
12397 outline-mode), so there is no such thing like an outshine mode, only
12398 @code{outline-minor-mode} with outshine extensions loaded.")
12399 (license license:gpl3+)))
12400
12401 (define-public emacs-frecency
12402 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
12403 (version "0.1-pre")
12404 (revision "1"))
12405 (package
12406 (name "emacs-frecency")
12407 (version (git-version version revision commit))
12408 (source (origin
12409 (method git-fetch)
12410 (uri (git-reference
12411 (url "https://github.com/alphapapa/frecency.el")
12412 (commit commit)))
12413 (sha256
12414 (base32
12415 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
12416 (file-name (git-file-name name version))))
12417 (build-system emacs-build-system)
12418 (propagated-inputs
12419 `(("emacs-a" ,emacs-a)
12420 ("emacs-dash" ,emacs-dash)))
12421 (home-page "https://github.com/alphapapa/frecency.el")
12422 (synopsis "Sort items by frequency and recency of access")
12423 (description "This package provides a way of sorting items via
12424 a heuristic based on frequency and recency.")
12425 (license license:gpl3+))))
12426
12427 (define-public emacs-org-recent-headings
12428 (package
12429 (name "emacs-org-recent-headings")
12430 (version "0.1")
12431 (source (origin
12432 (method git-fetch)
12433 (uri (git-reference
12434 (url "https://github.com/alphapapa/org-recent-headings.git")
12435 (commit version)))
12436 (file-name (git-file-name name version))
12437 (sha256
12438 (base32
12439 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
12440 (build-system emacs-build-system)
12441 (propagated-inputs
12442 `(("emacs-org" ,emacs-org)
12443 ("emacs-dash" ,emacs-dash)
12444 ("emacs-frecency" ,emacs-frecency)))
12445 (home-page "https://github.com/alphapapa/org-recent-headings")
12446 (synopsis "Navigate to recently used Org headings and lists")
12447 (description "This package maintains a list of recently used Org headings,
12448 as well as functions for navigating between these headings.")
12449 (license license:gpl3+)))
12450
12451 (define-public emacs-org-super-agenda
12452 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
12453 (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba")
12454 (revision "3"))
12455 (package
12456 (name "emacs-org-super-agenda")
12457 (version (git-version "1.1.1" revision commit))
12458 (source (origin
12459 (method git-fetch)
12460 (uri (git-reference
12461 (url "https://github.com/alphapapa/org-super-agenda")
12462 (commit commit)))
12463 (file-name (git-file-name name version))
12464 (sha256
12465 (base32
12466 "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff"))))
12467 (build-system emacs-build-system)
12468 (propagated-inputs
12469 `(("emacs-org" ,emacs-org)
12470 ("emacs-dash" ,emacs-dash)
12471 ("emacs-ts" ,emacs-ts)
12472 ("emacs-ht" ,emacs-ht)
12473 ("emacs-s" ,emacs-s)))
12474 (home-page "https://github.com/alphapapa/org-super-agenda")
12475 (synopsis "Supercharged Org agenda")
12476 (description "This package allows items in the Org agenda to be grouped
12477 into sections while preserving the structure imposed by any timestamps.")
12478 (license license:gpl3+))))
12479
12480 (define-public emacs-org-make-toc
12481 (package
12482 (name "emacs-org-make-toc")
12483 (version "0.4")
12484 (source (origin
12485 (method git-fetch)
12486 (uri (git-reference
12487 (url "https://github.com/alphapapa/org-make-toc")
12488 (commit version)))
12489 (file-name (git-file-name name version))
12490 (sha256
12491 (base32
12492 "0348iq3bc3rxs5bqdvskyly4agqxiapamqkfm0323620kxl70agw"))))
12493 (build-system emacs-build-system)
12494 (propagated-inputs
12495 `(("emacs-org" ,emacs-org)
12496 ("emacs-dash" ,emacs-dash)
12497 ("emacs-s" ,emacs-s)))
12498 (home-page "https://github.com/alphapapa/org-make-toc")
12499 (synopsis "Maintain a table of contents for an Org file")
12500 (description "This package facilitates the creation and maintenance of
12501 tables of contents.")
12502 (license license:gpl3+)))
12503
12504 (define-public emacs-ts
12505 (let ((commit "395649a2f2ba79028331bb1fa9ec08b218950ff6")
12506 (revision "2"))
12507 (package
12508 (name "emacs-ts")
12509 (version (git-version "0.1" revision commit))
12510 (source (origin
12511 (method git-fetch)
12512 (uri (git-reference
12513 (url "https://github.com/alphapapa/ts.el")
12514 (commit commit)))
12515 (sha256
12516 (base32
12517 "02603wv66fplsigxd87jy23hrb5g9vigszcpdqrdv0ypaqaxlr3a"))
12518 (file-name (git-file-name name version))))
12519 (build-system emacs-build-system)
12520 (propagated-inputs
12521 `(("emacs-s" ,emacs-s)
12522 ("emacs-dash" ,emacs-dash)))
12523 (arguments
12524 ;; XXX: Three tests are failing because of a timezone-related issue
12525 ;; with how they're written. On my machine, all the failing test
12526 ;; results are 18000 seconds (5 hours) off.
12527
12528 ;; The ts-parse-org function accepts a string without any timezone
12529 ;; info, not assumed to be in Unix time, and converts it to a so-called
12530 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
12531 ;; then seems to assume the struct's corresponding time is in terms of
12532 ;; the user's current time zone, before returning a Unix time in
12533 ;; seconds.
12534
12535 ;; The failing tests all have similar problems, but nothing else about
12536 ;; the library seems particularly off.
12537
12538 `(#:tests? #t
12539 #:test-command '("emacs" "--batch"
12540 "-l" "test/test.el"
12541 "-f" "ert-run-tests-batch-and-exit")
12542 #:phases
12543 (modify-phases %standard-phases
12544 (add-before 'check 'make-tests-writable
12545 (lambda _
12546 (make-file-writable "test/test.el")
12547 #t))
12548 (add-before 'check 'delete-failing-tests
12549 (lambda _
12550 (emacs-batch-edit-file "test/test.el"
12551 `(progn (progn
12552 (goto-char (point-min))
12553 (dolist (test-regexp '("ert-deftest ts-format"
12554 "ert-deftest ts-parse-org\\_>"
12555 "ert-deftest ts-parse-org-element"))
12556 (re-search-forward test-regexp)
12557 (beginning-of-line)
12558 (kill-sexp)))
12559 (basic-save-buffer)))
12560 #t)))))
12561 (home-page "https://github.com/alphapapa/ts.el")
12562 (synopsis "Timestamp and date/time library")
12563 (description "This package facilitates manipulating dates, times, and
12564 timestamps by providing a @code{ts} struct.")
12565 (license license:gpl3+))))
12566
12567 (define-public emacs-peg
12568 (package
12569 (name "emacs-peg")
12570 (version "0.6")
12571 (source (origin
12572 (method git-fetch)
12573 (uri (git-reference
12574 (url "https://github.com/emacsmirror/peg")
12575 (commit version)))
12576 (sha256
12577 (base32
12578 "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n"))
12579 (file-name (git-file-name name version))))
12580 (build-system emacs-build-system)
12581 (home-page "https://github.com/emacsmirror/peg/")
12582 (synopsis "Parsing Expression Grammars in Elisp")
12583 (description "This package provides a macro that parses the current buffer
12584 according to a parsing expression grammar.")
12585 (license license:gpl3+)))
12586
12587 (define-public emacs-org-ql
12588 (package
12589 (name "emacs-org-ql")
12590 (version "0.3.2")
12591 (source (origin
12592 (method git-fetch)
12593 (uri (git-reference
12594 (url "https://github.com/alphapapa/org-ql")
12595 (commit version)))
12596 (sha256
12597 (base32
12598 "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"))
12599 (file-name (git-file-name name version))))
12600 (build-system emacs-build-system)
12601 (propagated-inputs
12602 `(("emacs-s" ,emacs-s)
12603 ("emacs-f" ,emacs-f)
12604 ("emacs-ov" ,emacs-ov)
12605 ("emacs-peg" ,emacs-peg)
12606 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
12607 ("emacs-ts" ,emacs-ts)
12608 ("emacs-org" ,emacs-org)
12609 ("emacs-helm" ,emacs-helm)
12610 ("emacs-helm-org" ,emacs-helm-org)
12611 ("emacs-dash" ,emacs-dash)))
12612 (native-inputs
12613 `(("emacs-buttercup" ,emacs-buttercup)))
12614 (arguments
12615 `(#:phases
12616 (modify-phases %standard-phases
12617 (add-after 'unpack 'require-helm
12618 (lambda _
12619 (substitute* "helm-org-ql.el"
12620 (("^;;;; Requirements")
12621 ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
12622 #t)))
12623 #:tests? #t
12624 #:test-command '("buttercup" "-L" ".")))
12625 (home-page "https://github.com/alphapapa/org-ql/")
12626 (synopsis "Query language for Org buffers")
12627 (description "This package provides a Lispy query language for Org
12628 files, allowing for actions to be performed based on search criteria.")
12629 (license license:gpl3+)))
12630
12631 (define-public emacs-org-auto-expand
12632 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
12633 (revision "1"))
12634 (package
12635 (name "emacs-org-auto-expand")
12636 (version (git-version "0.1" revision commit))
12637 (source (origin
12638 (method git-fetch)
12639 (uri (git-reference
12640 (url "https://github.com/alphapapa/org-auto-expand")
12641 (commit commit)))
12642 (file-name (git-file-name name version))
12643 (sha256
12644 (base32
12645 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
12646 (build-system emacs-build-system)
12647 (propagated-inputs
12648 `(("emacs-org" ,emacs-org)
12649 ("emacs-dash" ,emacs-dash)))
12650 (home-page "https://github.com/alphapapa/org-auto-expand")
12651 (synopsis "Automatically expand certain Org headings")
12652 (description "This package allows a customizable set of headings in Org
12653 files to be expanded upon opening them.")
12654 (license license:gpl3+))))
12655
12656 (define-public emacs-parsebib
12657 (package
12658 (name "emacs-parsebib")
12659 (version "2.3.1")
12660 (source
12661 (origin
12662 (method git-fetch)
12663 (uri (git-reference
12664 (url "https://github.com/joostkremers/parsebib.git")
12665 (commit version)))
12666 (file-name (git-file-name name version))
12667 (sha256
12668 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
12669 (build-system emacs-build-system)
12670 (home-page "https://github.com/joostkremers/parsebib")
12671 (synopsis "Library for parsing bib files")
12672 (description
12673 "This package provides an Emacs library for parsing bib files.")
12674 (license license:gpl3+)))
12675
12676 (define-public emacs-ebib
12677 (let ((commit "99bd909f47f71e024ce324981109b73a50e82fba"))
12678 (package
12679 (name "emacs-ebib")
12680 (version "2.21")
12681 (source
12682 (origin
12683 (method git-fetch)
12684 (uri (git-reference
12685 (url "https://github.com/joostkremers/ebib.git")
12686 (commit commit)))
12687 (file-name (git-file-name name version))
12688 (sha256
12689 (base32
12690 "131vgl4d1j9s4055x88409w19q52x2m0x08b961hylp7yb5ljzgh"))))
12691 (build-system emacs-build-system)
12692 (propagated-inputs
12693 `(("emacs-parsebib" ,emacs-parsebib)))
12694 (home-page "https://joostkremers.github.io/ebib/")
12695 (synopsis "BibTeX database manager for Emacs")
12696 (description
12697 "Ebib is a BibTeX database manager that runs in GNU Emacs.
12698 With Ebib you can create, sort and manage your .bib database files,
12699 all within Emacs. It supports searching, multi-line field values and
12700 @@String and @@Preamble definitions. Ebib integrates with (La)TeX
12701 mode, Org mode and other Emacs editing modes.")
12702 ;; The Ebib source files are released under a BSD license with
12703 ;; the exception of org-ebib.el, which is released under the GNU
12704 ;; GPL.
12705 (license (list license:bsd-3
12706 license:gpl3+)))))
12707
12708 (define-public emacs-biblio
12709 (package
12710 (name "emacs-biblio")
12711 (version "0.2")
12712 (source
12713 (origin
12714 (method git-fetch)
12715 (uri (git-reference
12716 (url "https://github.com/cpitclaudel/biblio.el.git")
12717 (commit version)))
12718 (file-name (git-file-name name version))
12719 (sha256
12720 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
12721 (build-system emacs-build-system)
12722 (propagated-inputs
12723 `(("emacs-seq" ,emacs-seq)
12724 ("emacs-dash" ,emacs-dash)
12725 ("emacs-let-alist" ,emacs-let-alist)))
12726 (home-page "https://github.com/cpitclaudel/biblio.el")
12727 (synopsis "Browse and import bibliographic references")
12728 (description "This package provides an extensible Emacs package for
12729 browsing and fetching references.
12730
12731 @file{biblio.el} makes it easy to browse and gather bibliographic references
12732 and publications from various sources, by keywords or by DOI. References are
12733 automatically fetched from well-curated sources, and formatted as BibTeX.")
12734 (license license:gpl3+)))
12735
12736 (define-public emacs-helm-bibtex
12737 (let ((commit "d4471232be26793fbf56c0ac3690b5f537c378b9")
12738 (revision "2"))
12739 (package
12740 (name "emacs-helm-bibtex")
12741 (version (string-append "2.0.0" "-" revision "."
12742 (string-take commit 7)))
12743 (source
12744 (origin
12745 (method git-fetch)
12746 (uri (git-reference
12747 (url "https://github.com/tmalsburg/helm-bibtex.git")
12748 (commit commit)))
12749 (file-name (git-file-name name version))
12750 (sha256
12751 (base32
12752 "1bkzhic6qckb267025il1r3xcpz99kisphxiafni1pxvf9jafr0j"))))
12753 (build-system emacs-build-system)
12754 (propagated-inputs
12755 `(("emacs-helm" ,emacs-helm)
12756 ("emacs-parsebib" ,emacs-parsebib)
12757 ("emacs-s" ,emacs-s)
12758 ("emacs-dash" ,emacs-dash)
12759 ("emacs-f" ,emacs-f)
12760 ("emacs-biblio" ,emacs-biblio)
12761 ("emacs-ivy" ,emacs-ivy)))
12762 (home-page "https://github.com/tmalsburg/helm-bibtex")
12763 (synopsis "Bibliography manager based on Helm")
12764 (description "This package provides bibliography manager for Emacs,
12765 based on Helm and the bibtex-completion backend.
12766
12767 Key features:
12768
12769 @itemize
12770 @item Quick access to your bibliography from within Emacs
12771 @item Powerful search capabilities
12772 @item Provides instant search results as you type
12773 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
12774 @item Open the PDFs, URLs, or DOIs associated with an entry
12775 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
12776 BibTeX entries, or plain text references at point, attach PDFs to emails
12777 @item Support for note taking
12778 @item Quick access to online bibliographic databases such as Pubmed,
12779 arXiv, Google Scholar, Library of Congress, etc.
12780 @item Imports BibTeX entries from CrossRef and other sources.
12781 @end itemize\n")
12782 (license license:gpl3+))))
12783
12784 (define-public emacs-ewmctrl
12785 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
12786 (package
12787 (name "emacs-ewmctrl")
12788 (version (git-version "0.0.1" "1" commit))
12789 (source
12790 (origin
12791 (method git-fetch)
12792 (uri (git-reference
12793 (url "https://github.com/flexibeast/ewmctrl.git")
12794 (commit commit)))
12795 (file-name (git-file-name name version))
12796 (sha256
12797 (base32
12798 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
12799 (build-system emacs-build-system)
12800 (arguments
12801 '(#:phases
12802 (modify-phases %standard-phases
12803 (add-after 'unpack 'patch-ewmctrl
12804 ;; This build phase makes sure ‘ewmctrl’ looks
12805 ;; for ‘wmctrl’ in the right place.
12806 (lambda _
12807 (let ((file "ewmctrl.el"))
12808 (chmod file #o644)
12809 (emacs-substitute-sexps file
12810 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
12811 (inputs
12812 `(("wmctrl" ,wmctrl)))
12813 (home-page "https://github.com/flexibeast/ewmctrl")
12814 (synopsis "Emacs interface to @code{wmctrl}")
12815 (description "@code{ewmctrl} provides an Emacs interface to
12816 @code{wmctrl} command-line window-management program.")
12817 (license license:gpl3+))))
12818
12819 (define-public emacs-erc-image
12820 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
12821 (revision "1"))
12822 (package
12823 (name "emacs-erc-image")
12824 (version (git-version "0" revision commit))
12825 (source
12826 (origin
12827 (method git-fetch)
12828 (uri (git-reference
12829 (url "https://github.com/kidd/erc-image.el")
12830 (commit commit)))
12831 (file-name (git-file-name name version))
12832 (sha256
12833 (base32
12834 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
12835 (build-system emacs-build-system)
12836 (home-page "https://github.com/kidd/erc-image.el")
12837 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
12838 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
12839 and @code{erc-send-modify-hook} to download and show images.")
12840 (license license:gpl3+))))
12841
12842 (define-public emacs-helm-gtags
12843 (package
12844 (name "emacs-helm-gtags")
12845 (version "1.5.6")
12846 (source
12847 (origin
12848 (method git-fetch)
12849 (uri (git-reference
12850 (url "https://github.com/syohex/emacs-helm-gtags.git")
12851 (commit version)))
12852 (file-name (git-file-name name version))
12853 (sha256
12854 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
12855 (build-system emacs-build-system)
12856 (propagated-inputs
12857 `(("emacs-helm" ,emacs-helm)))
12858 (home-page "https://github.com/syohex/emacs-helm-gtags")
12859 (synopsis "Emacs Helm interface to GNU Global")
12860 (description
12861 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
12862 (license license:gpl3+)))
12863
12864 (define-public emacs-list-utils
12865 (package
12866 (name "emacs-list-utils")
12867 (version "0.4.4")
12868 (source
12869 (origin
12870 (method git-fetch)
12871 (uri (git-reference
12872 (url "https://github.com/rolandwalker/list-utils.git")
12873 (commit (string-append "v" version))))
12874 (file-name (git-file-name name version))
12875 (sha256
12876 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
12877 (build-system emacs-build-system)
12878 (home-page "https://github.com/rolandwalker/list-utils")
12879 (synopsis "List-manipulation utility functions")
12880 (description "This package provides a list manipulation library for Emacs.")
12881 (license license:gpl3+)))
12882
12883 (define-public emacs-move-text
12884 (package
12885 (name "emacs-move-text")
12886 (version "2.0.8")
12887 (source
12888 (origin
12889 (method git-fetch)
12890 (uri (git-reference
12891 (url "https://github.com/emacsfodder/move-text.git")
12892 (commit version)))
12893 (file-name (git-file-name name version))
12894 (sha256
12895 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
12896 (build-system emacs-build-system)
12897 (home-page "https://github.com/emacsfodder/move-text")
12898 (synopsis "Move current line or region with M-up or M-down")
12899 (description "This package provide functions to move the current line
12900 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
12901 region instead.")
12902 (license license:gpl3+)))
12903
12904 (define-public emacs-validate
12905 (package
12906 (name "emacs-validate")
12907 (version "1.0.5")
12908 (source (origin
12909 (method git-fetch)
12910 (uri (git-reference
12911 (url "https://github.com/Malabarba/validate.el")
12912 (commit version)))
12913 (file-name (git-file-name name version))
12914 (sha256
12915 (base32
12916 "1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
12917 (build-system emacs-build-system)
12918 (home-page "https://github.com/Malabarba/validate.el")
12919 (synopsis "Emacs library for scheme validation")
12920 (description "This Emacs library provides two functions that perform
12921 schema validation.")
12922 (license license:gpl3+)))
12923
12924 (define-public emacs-rainbow-blocks
12925 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
12926 (package
12927 (name "emacs-rainbow-blocks")
12928 (version (git-version "1.0.0" "1" commit))
12929 (source (origin
12930 (method git-fetch)
12931 (uri (git-reference
12932 (url "https://github.com/istib/rainbow-blocks.git")
12933 (commit commit)))
12934 (file-name (git-file-name name version))
12935 (sha256
12936 (base32
12937 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
12938 (build-system emacs-build-system)
12939 (home-page "https://github.com/istib/rainbow-blocks")
12940 (synopsis "Highlight sexp blocks")
12941 (description "Rainbow-blocks is an Emacs mode that highlights blocks
12942 made of parentheses, brackets, and braces according to their depth. Each
12943 successive level is highlighted in a different color. This makes it easy to
12944 orient yourself in the code, and tell which statements are at a given level.")
12945 (license license:gpl3+))))
12946
12947 (define-public emacs-hierarchy
12948 (package
12949 (name "emacs-hierarchy")
12950 (version "0.7.0")
12951 (source
12952 (origin
12953 (method git-fetch)
12954 (uri (git-reference
12955 (url "https://github.com/DamienCassou/hierarchy.git")
12956 (commit (string-append "v" version))))
12957 (file-name (git-file-name name version))
12958 (sha256
12959 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
12960 (build-system emacs-build-system)
12961 (native-inputs
12962 `(("emacs-buttercup" ,emacs-buttercup)))
12963 (arguments
12964 `(#:tests? #t
12965 #:test-command '("buttercup" "-L" ".")))
12966 (home-page "https://github.com/DamienCassou/hierarchy")
12967 (synopsis "Library to create and display hierarchy structures")
12968 (description "This package provides an Emacs library to create, query,
12969 navigate and display hierarchy structures.")
12970 (license license:gpl3+)))
12971
12972 (define-public emacs-tree-mode
12973 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
12974 (revision "1"))
12975 (package
12976 (name "emacs-tree-mode")
12977 (version (string-append "0.0.1" "-" revision "."
12978 (string-take commit 7)))
12979 (source
12980 (origin
12981 (method git-fetch)
12982 (uri (git-reference
12983 (url "https://github.com/emacsorphanage/tree-mode.git")
12984 (commit commit)))
12985 (file-name (git-file-name name version))
12986 (sha256
12987 (base32
12988 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
12989 (build-system emacs-build-system)
12990 (home-page "https://github.com/emacsorphanage/tree-mode")
12991 (synopsis "Emacs mode to manage tree widgets")
12992 (description
12993 "This package provides an Emacs library to manage tree widgets.")
12994 (license license:gpl3+))))
12995
12996 (define-public emacs-md4rd
12997 (package
12998 (name "emacs-md4rd")
12999 (version "0.3.1")
13000 (source (origin
13001 (method git-fetch)
13002 (uri (git-reference
13003 (url "https://github.com/ahungry/md4rd.git")
13004 (commit version)))
13005 (file-name (git-file-name name version))
13006 (sha256
13007 (base32
13008 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
13009 (propagated-inputs
13010 `(("emacs-hierarchy" ,emacs-hierarchy)
13011 ("emacs-request" ,emacs-request)
13012 ("emacs-dash" ,emacs-dash)
13013 ("emacs-s" ,emacs-s)
13014 ("emacs-tree-mode" ,emacs-tree-mode)))
13015 (build-system emacs-build-system)
13016 (home-page "https://github.com/ahungry/md4rd")
13017 (synopsis "Emacs Mode for Reddit")
13018 (description
13019 "This package allows to read Reddit from within Emacs interactively.")
13020 (license license:gpl3+)))
13021
13022 (define-public emacs-pulseaudio-control
13023 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
13024 (revision "3"))
13025 (package
13026 (name "emacs-pulseaudio-control")
13027 (version (git-version "0.0.1" revision commit))
13028 (source
13029 (origin
13030 (method git-fetch)
13031 (uri (git-reference
13032 (url "https://github.com/flexibeast/pulseaudio-control.git")
13033 (commit commit)))
13034 (file-name (git-file-name name version))
13035 (sha256
13036 (base32
13037 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
13038 (build-system emacs-build-system)
13039 (arguments
13040 '(#:phases (modify-phases %standard-phases
13041 (add-after 'unpack 'patch-file-name
13042 (lambda* (#:key inputs #:allow-other-keys)
13043 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
13044 (chmod "pulseaudio-control.el" #o600)
13045 (emacs-substitute-variables "pulseaudio-control.el"
13046 ("pulseaudio-control-pactl-path"
13047 (string-append pulseaudio "/bin/pactl")))
13048 #t))))))
13049 (inputs `(("pulseaudio" ,pulseaudio)))
13050 (home-page "https://github.com/flexibeast/pulseaudio-control")
13051 (synopsis "Control @code{pulseaudio} from Emacs")
13052 (description
13053 "This package allows to control @code{pulseaudio} from Emacs.")
13054 (license license:gpl3+))))
13055
13056 (define-public emacs-datetime
13057 (package
13058 (name "emacs-datetime")
13059 (version "0.3")
13060 (source
13061 (origin
13062 (method git-fetch)
13063 (uri (git-reference
13064 (url "https://github.com/doublep/datetime.git")
13065 (commit version)))
13066 (file-name (git-file-name name version))
13067 (sha256
13068 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
13069 (build-system emacs-build-system)
13070 (home-page "https://github.com/doublep/datetime/")
13071 (synopsis "Library to work with dates in Emacs")
13072 (description "Parsing, formatting, matching and recoding
13073 timestamps and date-time format strings library for Emacs.")
13074 (license license:gpl3+)))
13075
13076 (define-public emacs-org-mind-map
13077 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
13078 (revision "1"))
13079 (package
13080 (name "emacs-org-mind-map")
13081 (version (string-append "0.0.1" "-" revision "."
13082 (string-take commit 7)))
13083 (source
13084 (origin
13085 (method git-fetch)
13086 (uri (git-reference
13087 (url "https://github.com/theodorewiles/org-mind-map.git")
13088 (commit commit)))
13089 (file-name (git-file-name name version))
13090 (sha256
13091 (base32
13092 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
13093 (propagated-inputs
13094 `(("emacs-dash" ,emacs-dash)))
13095 (build-system emacs-build-system)
13096 (home-page "https://github.com/theodorewiles/org-mind-map")
13097 (synopsis "Create Graphviz directed graphs from Org files")
13098 (description
13099 "This package creates Graphviz directed graphs from Org files.")
13100 (license license:gpl3+))))
13101
13102 (define-public emacs-npm-mode
13103 (package
13104 (name "emacs-npm-mode")
13105 (version "0.6.0")
13106 (source
13107 (origin
13108 (method git-fetch)
13109 (uri (git-reference
13110 (url "https://github.com/mojochao/npm-mode.git")
13111 (commit version)))
13112 (file-name (git-file-name name version))
13113 (sha256
13114 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
13115 (build-system emacs-build-system)
13116 (home-page "https://github.com/mojochao/npm-mode")
13117 (synopsis "Minor mode for working with @code{npm} projects")
13118 (description
13119 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
13120 (license license:gpl3+)))
13121
13122 (define-public emacs-seq
13123 (package
13124 (name "emacs-seq")
13125 (version "2.20")
13126 (source
13127 (origin
13128 (method url-fetch)
13129 (uri (string-append "https://elpa.gnu.org/packages/seq-" version ".tar"))
13130 (sha256
13131 (base32
13132 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
13133 (build-system emacs-build-system)
13134 (home-page "https://elpa.gnu.org/packages/seq.html")
13135 (synopsis "Sequence manipulation functions")
13136 (description "Sequence-manipulation functions that complement basic
13137 functions provided by @file{subr.el}.")
13138 (license license:gpl3+)))
13139
13140 (define-public emacs-itail
13141 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
13142 (revision "1"))
13143 (package
13144 (name "emacs-itail")
13145 (version (string-append "0.0.1" "-" revision "."
13146 (string-take commit 7)))
13147 (source
13148 (origin
13149 (method git-fetch)
13150 (uri (git-reference
13151 (url "https://github.com/re5et/itail.git")
13152 (commit commit)))
13153 (file-name (git-file-name name version))
13154 (sha256
13155 (base32
13156 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
13157 (build-system emacs-build-system)
13158 (home-page "https://github.com/re5et/itail")
13159 (synopsis "Interactive @code{tail} Emacs mode")
13160 (description "@code{itail} provides interactive @code{tail} mode
13161 that allows you to filter the tail with unix pipes and highlight the
13162 contents of the tailed file. Works locally or on remote files using
13163 tramp.")
13164 (license license:gpl3+))))
13165
13166 (define-public emacs-loop
13167 (package
13168 (name "emacs-loop")
13169 (version "1.3")
13170 (source
13171 (origin
13172 (method git-fetch)
13173 (uri (git-reference
13174 (url "https://github.com/Wilfred/loop.el.git")
13175 (commit version)))
13176 (file-name (git-file-name name version))
13177 (sha256
13178 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
13179 (build-system emacs-build-system)
13180 (native-inputs
13181 `(("emacs-ert-runner" ,emacs-ert-runner)
13182 ("emacs-undercover" ,emacs-undercover)))
13183 (arguments
13184 `(#:tests? #t
13185 #:test-command '("ert-runner")))
13186 (home-page "https://github.com/Wilfred/loop.el")
13187 (synopsis "Imperative loop structures for Emacs")
13188 (description "Loop structures familiar to users of other languages. This
13189 library adds a selection of popular loop structures as well as break and
13190 continue.")
13191 (license license:gpl3+)))
13192
13193 (define-public emacs-elisp-refs
13194 (package
13195 (name "emacs-elisp-refs")
13196 (version "1.3")
13197 (source
13198 (origin
13199 (method git-fetch)
13200 (uri (git-reference
13201 (url "https://github.com/Wilfred/elisp-refs.git")
13202 (commit version)))
13203 (file-name (git-file-name name version))
13204 (sha256
13205 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
13206 (build-system emacs-build-system)
13207 (propagated-inputs
13208 `(("emacs-dash" ,emacs-dash)
13209 ("emacs-f" ,emacs-f)
13210 ("emacs-list-utils" ,emacs-list-utils)
13211 ("emacs-loop" ,emacs-loop)
13212 ("emacs-s" ,emacs-s)
13213 ("emacs-shut-up" ,emacs-shut-up)))
13214 (native-inputs
13215 `(("emacs-ert-runner" ,emacs-ert-runner)
13216 ("emacs-undercover" ,emacs-undercover)))
13217 (arguments
13218 `(#:tests? #t
13219 #:test-command '("ert-runner")))
13220 (home-page "https://github.com/Wilfred/elisp-refs")
13221 (synopsis "Find callers of elisp functions or macros")
13222 (description "Find references to functions, macros or variables. Unlike a
13223 dumb text search, @code{elisp-refs} actually parses the code, so it's never
13224 confused by comments or @code{foo-bar} matching @code{foo}.")
13225 (license license:gpl3+)))
13226
13227 (define-public emacs-crux
13228 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
13229 (revision "2"))
13230 (package
13231 (name "emacs-crux")
13232 (version (git-version "0.3.0" revision commit))
13233 (source
13234 (origin
13235 (method git-fetch)
13236 (uri (git-reference
13237 (url "https://github.com/bbatsov/crux.git")
13238 (commit commit)))
13239 (file-name (git-file-name name version))
13240 (sha256
13241 (base32
13242 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
13243 (build-system emacs-build-system)
13244 (home-page "https://github.com/bbatsov/crux")
13245 (synopsis "Collection of useful functions for Emacs")
13246 (description
13247 "@code{crux} provides a collection of useful functions for Emacs.")
13248 (license license:gpl3+))))
13249
13250 (define-public emacs-edit-server
13251 (package
13252 (name "emacs-edit-server")
13253 (version "1.13")
13254 (source
13255 (origin
13256 (method git-fetch)
13257 (uri (git-reference
13258 (url "https://github.com/stsquad/emacs_chrome.git")
13259 (commit (string-append "v" version))))
13260 (file-name (git-file-name name version))
13261 (sha256
13262 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
13263 (build-system emacs-build-system)
13264 (arguments
13265 `(#:phases
13266 (modify-phases %standard-phases
13267 (add-after 'unpack 'chdir-elisp
13268 ;; Elisp directory is not in root of the source.
13269 (lambda _
13270 (chdir "servers"))))))
13271 (home-page "https://github.com/stsquad/emacs_chrome")
13272 (synopsis "Server that responds to edit requests from Chromium")
13273 (description
13274 "This package provides an edit server to respond to requests from Emacs.")
13275 (license license:gpl3+)))
13276
13277 (define-public emacs-m-buffer-el
13278 (package
13279 (name "emacs-m-buffer-el")
13280 (version "0.15")
13281 (source
13282 (origin
13283 (method git-fetch)
13284 (uri (git-reference
13285 (url "https://github.com/phillord/m-buffer-el")
13286 (commit (string-append "v" version))))
13287 (file-name (git-file-name name version))
13288 (sha256
13289 (base32
13290 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
13291 (arguments
13292 `(#:phases
13293 (modify-phases %standard-phases
13294 (add-before 'install 'check
13295 (lambda* (#:key inputs #:allow-other-keys)
13296 (invoke "emacs" "--batch" "-L" "."
13297 "-l" "test/m-buffer-test.el"
13298 "-l" "test/m-buffer-at-test.el"
13299 "-f" "ert-run-tests-batch-and-exit"))))))
13300 (build-system emacs-build-system)
13301 (home-page "https://github.com/phillord/m-buffer-el")
13302 (synopsis "List oriented buffer operations for Emacs")
13303 (description "@code{m-buffer} provides a set of list-orientated functions
13304 for operating over the contents of Emacs buffers.")
13305 (license license:gpl3+)))
13306
13307 (define-public emacs-let-alist
13308 (package
13309 (name "emacs-let-alist")
13310 (version "1.0.6")
13311 (source
13312 (origin
13313 (method url-fetch)
13314 (uri (string-append
13315 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
13316 (sha256
13317 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
13318 (build-system emacs-build-system)
13319 (home-page "https://elpa.gnu.org/packages/let-alist.html")
13320 (synopsis "Easily let-bind values of an assoc-list by their names")
13321 (description "This package offers a single macro, @code{let-alist}. This
13322 macro takes a first argument (whose value must be an alist) and a body.")
13323 (license license:gpl3+)))
13324
13325 (define-public emacs-esup
13326 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
13327 (revision "1"))
13328 (package
13329 (name "emacs-esup")
13330 (version (string-append "0.6" "-" revision "."
13331 (string-take commit 7)))
13332 (source
13333 (origin
13334 (method git-fetch)
13335 (uri (git-reference
13336 (url "https://github.com/jschaf/esup.git")
13337 (commit commit)))
13338 (file-name (git-file-name name version))
13339 (sha256
13340 (base32
13341 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
13342 ;; TODO: Add tests
13343 (build-system emacs-build-system)
13344 (home-page "https://github.com/jschaf/esup")
13345 (synopsis "Emacs start up profiler")
13346 (description "Benchmark Emacs Startup time without ever leaving
13347 your Emacs.")
13348 (license license:gpl2+))))
13349
13350 (define-public emacs-restart-emacs
13351 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
13352 (revision "1"))
13353 (package
13354 (name "emacs-restart-emacs")
13355 (version (git-version "0.1.1" revision commit))
13356 (source
13357 (origin
13358 (method git-fetch)
13359 (uri (git-reference
13360 (url "https://github.com/iqbalansari/restart-emacs.git")
13361 (commit commit)))
13362 (file-name (git-file-name name version))
13363 (sha256
13364 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
13365 (build-system emacs-build-system)
13366 (home-page "https://github.com/iqbalansari/restart-emacs")
13367 (synopsis "Restart Emacs from within Emacs")
13368 (description "This package provides a simple command to restart Emacs from
13369 within Emacs.")
13370 (license license:gpl3+))))
13371
13372 (define-public emacs-sourcemap
13373 (package
13374 (name "emacs-sourcemap")
13375 (version "0.03")
13376 (source
13377 (origin
13378 (method git-fetch)
13379 (uri (git-reference
13380 (url "https://github.com/syohex/emacs-sourcemap.git")
13381 (commit version)))
13382 (file-name (git-file-name name version))
13383 (sha256
13384 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
13385 (build-system emacs-build-system)
13386 (home-page "https://github.com/syohex/emacs-sourcemap")
13387 (synopsis "Sourcemap parser")
13388 (description "Sourcemap parser")
13389 (license license:gpl3+)))
13390
13391 (define-public emacs-macrostep
13392 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
13393 (package
13394 (name "emacs-macrostep")
13395 (version (git-version "0.9" "1" commit))
13396 (source (origin
13397 (method git-fetch)
13398 (uri (git-reference
13399 (url "https://github.com/joddie/macrostep.git")
13400 (commit commit)))
13401 (file-name (git-file-name name version))
13402 (sha256
13403 (base32
13404 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
13405 (build-system emacs-build-system)
13406 (arguments
13407 '(#:phases
13408 (modify-phases %standard-phases
13409 (add-before 'check 'remove-test
13410 ;; Fails because of requirement ‘/bin/sh’.
13411 (lambda _
13412 (let ((file "macrostep-test.el"))
13413 (chmod file #o644)
13414 (emacs-batch-edit-file file
13415 `(progn (progn (goto-char (point-min))
13416 (re-search-forward
13417 "(ert-deftest macrostep-expand-c-macros")
13418 (beginning-of-line)
13419 (kill-sexp))
13420 (basic-save-buffer))))))
13421 (add-before 'install 'check
13422 (lambda _
13423 (invoke "emacs" "--batch" "-L" "."
13424 "-l" "macrostep-test.el"
13425 "-f" "ert-run-tests-batch-and-exit"))))))
13426 (home-page "https://github.com/joddie/macrostep")
13427 (synopsis "Interactive macro-expander for Emacs")
13428 (description "@code{macrostep} is an Emacs minor mode for interactively
13429 stepping through the expansion of macros in Emacs Lisp source code. It lets
13430 you see exactly what happens at each step of the expansion process by
13431 pretty-printing the expanded forms inline in the source buffer, which is
13432 temporarily read-only while macro expansions are visible. You can expand and
13433 collapse macro forms one step at a time, and evaluate or instrument the
13434 expansions for debugging with Edebug as normal (but see “Bugs and known
13435 limitations”, below). Single-stepping through the expansion is particularly
13436 useful for debugging macros that expand into another macro form. These can be
13437 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
13438 until the top-level form is no longer a macro call.")
13439 (license license:gpl3+))))
13440
13441 (define-public emacs-parent-mode
13442 (package
13443 (name "emacs-parent-mode")
13444 (version "2.3")
13445 (source
13446 (origin
13447 (method git-fetch)
13448 (uri (git-reference
13449 (url "https://github.com/Fanael/parent-mode.git")
13450 (commit version)))
13451 (file-name (git-file-name name version))
13452 (sha256
13453 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
13454 (build-system emacs-build-system)
13455 (home-page "https://github.com/Fanael/parent-mode")
13456 (synopsis "Get major mode's parent modes")
13457 (description "Get major mode's parent modes")
13458 (license license:gpl3+)))
13459
13460 (define-public emacs-lacarte
13461 (package
13462 (name "emacs-lacarte")
13463 (version "0.1")
13464 (source (origin
13465 (method url-fetch)
13466 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
13467 (sha256
13468 (base32
13469 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
13470 (build-system emacs-build-system)
13471 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
13472 (synopsis "Execute menu items as commands, with completion")
13473 (description "Execute menu items as commands, with completion.")
13474 (license license:gpl3)))
13475
13476 (define-public emacs-isearch-prop
13477 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
13478 (revision "2"))
13479 (package
13480 (name "emacs-isearch-prop")
13481 (version (git-version "0" revision commit))
13482 (source
13483 (origin
13484 (method git-fetch)
13485 (uri (git-reference
13486 (url "https://github.com/emacsmirror/isearch-prop.git")
13487 (commit commit)))
13488 (file-name (git-file-name name version))
13489 (sha256
13490 (base32
13491 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
13492 (build-system emacs-build-system)
13493 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
13494 (synopsis "Extensions to @code{isearch.el}")
13495 (description "The Emacs library @code{isearch-prop.el} lets you search within
13496 contexts. You can limit incremental search to a set of zones of
13497 buffer text, search contexts that in effect constitute a multi-region.
13498 These zones can be defined in various ways, including some ways
13499 provided specially by this library.")
13500 (license license:gpl3+))))
13501
13502 (define-public emacs-company-lua
13503 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
13504 (revision "2"))
13505 (package
13506 (name "emacs-company-lua")
13507 (version (git-version "0.1" "2" commit))
13508 (source
13509 (origin
13510 (method git-fetch)
13511 (uri (git-reference
13512 (url "https://github.com/ptrv/company-lua.git")
13513 (commit commit)))
13514 (file-name (git-file-name name version))
13515 (sha256
13516 (base32
13517 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
13518 (build-system emacs-build-system)
13519 (propagated-inputs
13520 `(("emacs-company" ,emacs-company)
13521 ("emacs-s" ,emacs-s)
13522 ("emacs-f" ,emacs-f)
13523 ("emacs-lua-mode" ,emacs-lua-mode)))
13524 (arguments
13525 `(#:include (cons* "^lua\\/" %default-include)))
13526 (home-page "https://github.com/ptrv/company-lua")
13527 (synopsis "Company backend for Lua")
13528 (description
13529 "This package provides Company backend for Lua programming language.")
13530 (license license:gpl3+))))
13531
13532 (define-public emacs-beginend
13533 (package
13534 (name "emacs-beginend")
13535 (version "2.0.0")
13536 (source
13537 (origin
13538 (method git-fetch)
13539 (uri (git-reference
13540 (url "https://github.com/DamienCassou/beginend.git")
13541 (commit (string-append "v" version))))
13542 (file-name (git-file-name name version))
13543 (sha256
13544 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
13545 ;; TODO: Run tests.
13546 (build-system emacs-build-system)
13547 (inputs
13548 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
13549 (home-page "https://github.com/DamienCassou/beginend")
13550 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
13551 (description "@code{beginend} redefines @code{M-<} and @code{M->}
13552 keybindings for Emacs modes so that point moves to meaningful
13553 locations. Redefined keys are still accessible by pressing the same
13554 key again.")
13555 (license license:gpl3+)))
13556
13557 (define-public emacs-mbsync
13558 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
13559 (revision "4"))
13560 (package
13561 (name "emacs-mbsync")
13562 (version (git-version "0.1.2" revision commit))
13563 (source
13564 (origin
13565 (method git-fetch)
13566 (uri (git-reference
13567 (url "https://github.com/dimitri/mbsync-el.git")
13568 (commit commit)))
13569 (file-name (git-file-name name version))
13570 (sha256
13571 (base32
13572 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
13573 (build-system emacs-build-system)
13574 (home-page "https://github.com/dimitri/mbsync-el")
13575 (synopsis "Interface to mbsync for Emacs")
13576 (description "This package allows to call the @code{mbsync} from
13577 within Emacs.")
13578 (license license:gpl3+))))
13579
13580 (define-public emacs-ibuffer-projectile
13581 (let ((commit "76496214144687cee0b5139be2e61b1e400cac87")
13582 (revision "2"))
13583 (package
13584 (name "emacs-ibuffer-projectile")
13585 (version (git-version "0.2" revision commit))
13586 (source
13587 (origin
13588 (method git-fetch)
13589 (uri (git-reference
13590 (url "https://github.com/purcell/ibuffer-projectile.git")
13591 (commit commit)))
13592 (file-name (git-file-name name version))
13593 (sha256
13594 (base32
13595 "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav"))))
13596 (build-system emacs-build-system)
13597 (propagated-inputs
13598 `(("emacs-projectile" ,emacs-projectile)))
13599 (home-page "https://github.com/purcell/ibuffer-projectile")
13600 (synopsis "Group ibuffer's list by projectile root")
13601 (description "Adds functionality to Emacs @code{ibuffer} for
13602 grouping buffers by their projectile root directory.")
13603 (license license:gpl3+))))
13604
13605 (define-public emacs-elm-mode
13606 (package
13607 (name "emacs-elm-mode")
13608 (version "0.21.0")
13609 (source
13610 (origin
13611 (method git-fetch)
13612 (uri
13613 (git-reference
13614 (url "https://github.com/jcollard/elm-mode")
13615 (commit (string-append "v" version))))
13616 (file-name (git-file-name name version))
13617 (sha256
13618 (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd"))))
13619 (propagated-inputs
13620 `(("emacs-dash" ,emacs-dash)
13621 ("emacs-f" ,emacs-f)
13622 ("emacs-reformatter" ,emacs-reformatter)
13623 ("emacs-s" ,emacs-s)))
13624 (build-system emacs-build-system)
13625 (home-page "https://github.com/jcollard/elm-mode")
13626 (synopsis "Emacs major mode for editing Elm source code")
13627 (description
13628 "This package provides a major mode for editing Elm source code, and
13629 working with common core and third-party Elm tools. Its features are:
13630
13631 @itemize
13632 @item Syntax highlighting
13633 @item Intelligent indentation
13634 @item Integration with elm-make
13635 @item Integration with elm-repl
13636 @item Integration with elm-reactor
13637 @item Integration with elm-package
13638 @item Integration with elm-oracle
13639 @item Integration with elm-format
13640 @item Integration with elm-test
13641 @end itemize")
13642 (license license:gpl3+)))
13643
13644 (define-public emacs-helm-mode-manager
13645 (package
13646 (name "emacs-helm-mode-manager")
13647 (version "1.0.0")
13648 (source
13649 (origin
13650 (method git-fetch)
13651 (uri (git-reference
13652 (url "https://github.com/istib/helm-mode-manager")
13653 (commit version)))
13654 (file-name (git-file-name name version))
13655 (sha256
13656 (base32
13657 "1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
13658 (build-system emacs-build-system)
13659 (propagated-inputs
13660 `(("emacs-helm" ,emacs-helm)))
13661 (home-page "https://github.com/istib/helm-mode-manager/")
13662 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
13663 (description "This package provides a Helm interface for toggling Emacs
13664 major or minor mode.
13665
13666 @itemize
13667 @item @code{helm-switch-major-mode} list of all major modes
13668 @item @code{helm-enable-minor-mode} list of all inactive minor modes
13669 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
13670 @end itemize\n
13671
13672 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
13673 documentation.")
13674 (license license:gpl3+)))
13675
13676 (define-public emacs-hy-mode
13677 (package
13678 (name "emacs-hy-mode")
13679 (version "1.0.3")
13680 (source
13681 (origin
13682 (method git-fetch)
13683 (uri (git-reference
13684 (url "https://github.com/hylang/hy-mode.git")
13685 (commit (string-append "v" version))))
13686 (file-name (git-file-name name version))
13687 (sha256
13688 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
13689 (build-system emacs-build-system)
13690 (propagated-inputs
13691 `(("emacs-dash" ,emacs-dash)
13692 ("emacs-s" ,emacs-s)))
13693 (home-page "https://github.com/hylang/hy-mode")
13694 (synopsis "Major mode for Hylang")
13695 (description "This package provides a major mode for Hylang.")
13696 (license license:gpl3+)))
13697
13698 (define-public emacs-web-beautify
13699 (package
13700 (name "emacs-web-beautify")
13701 (version "0.3.2")
13702 (source
13703 (origin
13704 (method git-fetch)
13705 (uri (git-reference
13706 (url "https://github.com/yasuyk/web-beautify.git")
13707 (commit version)))
13708 (file-name (git-file-name name version))
13709 (sha256
13710 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
13711 (build-system emacs-build-system)
13712 (home-page "https://github.com/yasuyk/web-beautify")
13713 (synopsis "Format HTML, CSS and JavaScript, JSON")
13714 (description "This package provides an Emacs functions to format HTML,
13715 CSS, JavaScript, JSON.")
13716 (license license:gpl3+)))
13717
13718 (define-public emacs-helm-shell-history
13719 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
13720 (package
13721 (name "emacs-helm-shell-history")
13722 (version (git-version "0.1" "1" commit))
13723 (source
13724 (origin
13725 (method git-fetch)
13726 (uri (git-reference
13727 (url "https://github.com/yuutayamada/helm-shell-history.git")
13728 (commit commit)))
13729 (file-name (git-file-name name version))
13730 (sha256
13731 (base32
13732 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
13733 (build-system emacs-build-system)
13734 (arguments
13735 '(#:phases
13736 (modify-phases %standard-phases
13737 (add-before 'check 'patch-helm-shell-history-file
13738 (lambda _
13739 (let ((file "helm-shell-history.el"))
13740 (chmod file #o644)
13741 (emacs-substitute-sexps file
13742 ("(defvar helm-shell-history-file"
13743 `(expand-file-name "~/.bash_history"))))
13744 #t)))))
13745 (propagated-inputs
13746 `(("emacs-helm" ,emacs-helm)))
13747 (home-page "https://github.com/yuutayamada/helm-shell-history")
13748 (synopsis "Find shell history with Emacs Helm")
13749 (description "This package provides an Emacs Helm interface to search
13750 throw a shell history.")
13751 (license license:gpl3+))))
13752
13753 (define-public emacs-discover-my-major
13754 (package
13755 (name "emacs-discover-my-major")
13756 (version "1.0")
13757 (source
13758 (origin
13759 (method url-fetch)
13760 (uri
13761 (string-append "https://github.com/steckerhalter/discover-my-major"
13762 "/archive/" version ".tar.gz"))
13763 (file-name (string-append name "-" version ".tar.gz"))
13764 (sha256
13765 (base32
13766 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
13767 (build-system emacs-build-system)
13768 (propagated-inputs
13769 `(("emacs-makey" ,emacs-makey)))
13770 (home-page "https://github.com/steckerhalter/discover-my-major")
13771 (synopsis "Discover key bindings for the current Emacs major mode")
13772 (description "This package provides allows to discover key bindings and
13773 their meaning for the current Emacs major-mode.")
13774 (license license:gpl3+)))
13775
13776 (define-public emacs-org-ref
13777 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
13778 (revision "1"))
13779 (package
13780 (name "emacs-org-ref")
13781 (version (string-append "1.1.1" "-" revision "."
13782 (string-take commit 7)))
13783 (source
13784 (origin
13785 (method git-fetch)
13786 (uri (git-reference
13787 (url "https://github.com/jkitchin/org-ref.git")
13788 (commit commit)))
13789 (file-name (git-file-name name version))
13790 (sha256
13791 (base32
13792 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
13793 (build-system emacs-build-system)
13794 (propagated-inputs
13795 `(("emacs-dash" ,emacs-dash)
13796 ("emacs-helm" ,emacs-helm)
13797 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
13798 ("emacs-ivy" ,emacs-ivy)
13799 ("emacs-hydra" ,emacs-hydra)
13800 ("emacs-key-chord" ,emacs-key-chord)
13801 ("emacs-s" ,emacs-s)
13802 ("emacs-f" ,emacs-f)
13803 ("emacs-pdf-tools" ,emacs-pdf-tools)))
13804 (home-page "https://github.com/jkitchin/org-ref")
13805 (synopsis "Citations, cross-references and bibliographies in org-mode")
13806 (description
13807 "Lisp code to setup bibliography, cite, ref and label org-mode links.
13808 Also sets up reftex and helm for org-mode citations. The links are
13809 clickable and do things that are useful.
13810
13811 The default setup uses helm-bibtex.
13812
13813 You should really read org-ref.org in this package for details.")
13814 (license license:gpl3+))))
13815
13816 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
13817 (define-public emacs-org-reveal
13818 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
13819 (package
13820 (name "emacs-org-reveal")
13821 (version (git-version "0.1" "3" commit))
13822 (source (origin
13823 (method git-fetch)
13824 (uri (git-reference
13825 (url "https://github.com/yjwen/org-reveal.git")
13826 (commit commit)))
13827 (file-name (git-file-name name version))
13828 (sha256
13829 (base32
13830 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
13831 (build-system emacs-build-system)
13832 (home-page "https://github.com/yjwen/org-reveal")
13833 (synopsis "Org and Reveal.js powered HTML presentation tool")
13834 (description "Org-Reveal is a command@{org-mode} extension that allows
13835 to create beautiful presentations (slides) with 3D effects from simple but
13836 powerful Org contents.")
13837 (license license:gpl3+))))
13838
13839 (define-public emacs-org-re-reveal
13840 (package
13841 (name "emacs-org-re-reveal")
13842 (version "2.5.1")
13843 (source (origin
13844 (method git-fetch)
13845 (uri (git-reference
13846 (url "https://gitlab.com/oer/org-re-reveal.git")
13847 (commit version)))
13848 (file-name (git-file-name name version))
13849 (sha256
13850 (base32
13851 "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2"))))
13852 (build-system emacs-build-system)
13853 (propagated-inputs
13854 `(("emacs-htmlize" ,emacs-htmlize)
13855 ("emacs-org" ,emacs-org)))
13856 (home-page "https://gitlab.com/oer/org-re-reveal")
13857 (synopsis "Build HTML presentations with reveal.js from Org source files")
13858 (description "This project started as fork of org-reveal. It provides an
13859 export back-end for HTML presentations with reveal.js from Org mode source
13860 files.")
13861 (license license:gpl3+)))
13862
13863 (define-public emacs-add-hooks
13864 (package
13865 (name "emacs-add-hooks")
13866 (version "3.1.1")
13867 (source
13868 (origin
13869 (method git-fetch)
13870 (uri (git-reference
13871 (url "https://github.com/nickmccurdy/add-hooks.git")
13872 (commit version)))
13873 (file-name (git-file-name name version))
13874 (sha256
13875 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
13876 (build-system emacs-build-system)
13877 (home-page "https://github.com/nickmccurdy/add-hooks/")
13878 (synopsis "Emacs function for setting multiple hooks")
13879 (description "This package provides a @code{add-hooks} function tidies up
13880 duplicate hook and function names further into a single declarative call.")
13881 (license license:gpl3+)))
13882
13883 (define-public emacs-fancy-narrow
13884 (package
13885 (name "emacs-fancy-narrow")
13886 (version "0.9.5")
13887 (source
13888 (origin
13889 (method git-fetch)
13890 (uri (git-reference
13891 (url "https://github.com/Malabarba/fancy-narrow.git")
13892 (commit version)))
13893 (file-name (git-file-name name version))
13894 (sha256
13895 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
13896 (build-system emacs-build-system)
13897 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
13898 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
13899 (description
13900 "Unlike @code{narrow-to-region}, which completely hides text outside
13901 the narrowed region, this package simply de-emphasizes the text, makes it
13902 read-only, and makes it unreachable. This leads to a much more natural
13903 feeling where the region stays static (instead of being brutally moved to a
13904 blank slate) and is clearly highlighted with respect to the rest of the
13905 buffer.")
13906 (license license:gpl2+)))
13907
13908 (define-public emacs-know-your-http-well
13909 (package
13910 (name "emacs-know-your-http-well")
13911 (version "0.5.0")
13912 (source
13913 (origin
13914 (method git-fetch)
13915 (uri (git-reference
13916 (url "https://github.com/for-GET/know-your-http-well.git")
13917 (commit (string-append "v" version))))
13918 (file-name (git-file-name name version))
13919 (sha256
13920 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
13921 (arguments
13922 `(#:phases
13923 (modify-phases %standard-phases
13924 (add-after 'unpack 'install-json-files
13925 (lambda* (#:key outputs #:allow-other-keys)
13926 (for-each (lambda (directory)
13927 (copy-recursively directory
13928 (string-append
13929 (assoc-ref outputs "out")
13930 directory)))
13931 '("js" "json"))))
13932 (add-after 'unpack 'chdir-elisp
13933 ;; Elisp directory is not in root of the source.
13934 (lambda _
13935 (chdir "emacs"))))))
13936 (build-system emacs-build-system)
13937 (home-page "https://github.com/for-GET/know-your-http-well")
13938 (synopsis "Meaning of HTTP headers codes")
13939 (description "Meaning of HTTP headers codes.")
13940 (license license:gpl3+)))
13941
13942 (define-public emacs-navi-mode
13943 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
13944 (package
13945 (name "emacs-navi-mode")
13946 (version (git-version "2.0" "1" commit))
13947 (source
13948 (origin
13949 (method git-fetch)
13950 (uri (git-reference
13951 (url "https://github.com/alphapapa/navi.git")
13952 (commit commit)))
13953 (file-name (git-file-name name version))
13954 (sha256
13955 (base32
13956 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
13957 (build-system emacs-build-system)
13958 (propagated-inputs
13959 `(("emacs-outshine" ,emacs-outshine)
13960 ("emacs-outorg" ,emacs-outorg)))
13961 (home-page "https://github.com/alphapapa/navi")
13962 (synopsis "Emacs major-mode for easy buffer-navigation")
13963 (description
13964 "This package provides an Emacs major-mode for easy buffer-navigation")
13965 (license license:gpl3+))))
13966
13967 (define-public emacs-download-region
13968 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
13969 (revision "1"))
13970 (package
13971 (name "emacs-download-region")
13972 (version (string-append "0.0.1" "-" revision "."
13973 (string-take commit 7)))
13974 (source
13975 (origin
13976 (method git-fetch)
13977 (uri (git-reference
13978 (url "https://github.com/zk-phi/download-region.git")
13979 (commit commit)))
13980 (file-name (git-file-name name version))
13981 (sha256
13982 (base32
13983 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
13984 (build-system emacs-build-system)
13985 (home-page "https://github.com/zk-phi/download-region")
13986 (synopsis "In buffer download manager for Emacs")
13987 (description "@code{download-region} provides in buffer
13988 downloading manager for Emacs.")
13989 (license license:gpl3+))))
13990
13991 (define-public emacs-helpful
13992 (package
13993 (name "emacs-helpful")
13994 (version "0.17")
13995 (source
13996 (origin
13997 (method git-fetch)
13998 (uri (git-reference
13999 (url "https://github.com/Wilfred/helpful.git")
14000 (commit version)))
14001 (file-name (git-file-name name version))
14002 (sha256
14003 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
14004 (build-system emacs-build-system)
14005 (propagated-inputs
14006 `(("emacs-elisp-refs" ,emacs-elisp-refs)
14007 ("emacs-dash" ,emacs-dash)
14008 ("emacs-s" ,emacs-s)
14009 ("emacs-f" ,emacs-f)
14010 ("emacs-shut-up" ,emacs-shut-up)))
14011 (native-inputs
14012 `(("emacs-ert-runner" ,emacs-ert-runner)
14013 ("emacs-undercover" ,emacs-undercover)))
14014 (arguments
14015 `(#:tests? #t
14016 #:test-command '("ert-runner")))
14017 (home-page "https://github.com/Wilfred/helpful")
14018 (synopsis "More contextual information in Emacs help")
14019 (description "@code{helpful} is an alternative to the built-in Emacs help
14020 that provides much more contextual information.
14021
14022 @itemize
14023 @item Show the source code for interactively defined functions (unlike the
14024 built-in Help).
14025 @item Fall back to the raw sexp if no source is available.
14026 @item Show where a function is being called.
14027 @item Docstrings will Highlight the summary (the first sentence), include
14028 cross-references, hide superfluous puncuation.
14029 @item Show you the properties that have been applied to the current
14030 symbol. This provides visibility of features like edebug or byte-code
14031 optimisation.
14032 @item Provide a separate @code{helpful-command} function to view interactive
14033 functions.
14034 @item Display any keybindings that apply to interactive functions.
14035 @item Trace, disassemble functions from inside Helpful. This is discoverable
14036 and doesn't require memorisation of commands.
14037 @end itemize\n")
14038 (license license:gpl3+)))
14039
14040 (define-public emacs-logview
14041 (package
14042 (name "emacs-logview")
14043 (version "0.9")
14044 (source
14045 (origin
14046 (method git-fetch)
14047 (uri (git-reference
14048 (url "https://github.com/doublep/logview.git")
14049 (commit version)))
14050 (file-name (git-file-name name version))
14051 (sha256
14052 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
14053 (propagated-inputs
14054 `(("emacs-datetime" ,emacs-datetime)))
14055 (build-system emacs-build-system)
14056 (home-page "https://github.com/doublep/logview/")
14057 (synopsis "Emacs mode for viewing log files")
14058 (description "@code{logview} provides an Emacs mode to view log files.")
14059 (license license:gpl3+)))
14060
14061 (define-public emacs-suggest
14062 (package
14063 (name "emacs-suggest")
14064 (version "0.7")
14065 (home-page "https://github.com/Wilfred/suggest.el")
14066 (source
14067 (origin
14068 (method git-fetch)
14069 (uri (git-reference
14070 (url home-page)
14071 (commit version)))
14072 (file-name (git-file-name name version))
14073 (sha256
14074 (base32
14075 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
14076 (build-system emacs-build-system)
14077 (propagated-inputs
14078 `(("emacs-loop" ,emacs-loop)
14079 ("emacs-dash" ,emacs-dash)
14080 ("emacs-s" ,emacs-s)
14081 ("emacs-f" ,emacs-f)
14082 ("emacs-spinner" ,emacs-spinner)
14083 ("emacs-shut-up" ,emacs-shut-up)))
14084 (native-inputs
14085 `(("emacs-ert-runner" ,emacs-ert-runner)
14086 ("emacs-undercover" ,emacs-undercover)))
14087 (arguments
14088 `(#:tests? #t
14089 #:test-command '("ert-runner")))
14090 (synopsis "Suggest Elisp functions that give the output requested")
14091 (description "Suggest.el will find functions that give the output
14092 requested. It's a great way of exploring list, string and arithmetic
14093 functions.")
14094 (license license:gpl3+)))
14095
14096 (define-public emacs-benchmark-init
14097 (package
14098 (name "emacs-benchmark-init")
14099 (version "1.0")
14100 (source
14101 (origin
14102 (method git-fetch)
14103 (uri (git-reference
14104 (url "https://github.com/dholm/benchmark-init-el.git")
14105 (commit version)))
14106 (file-name (git-file-name name version))
14107 (sha256
14108 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
14109 (build-system emacs-build-system)
14110 (home-page "https://github.com/dholm/benchmark-init-el")
14111 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
14112 (description "@code{benchmark-init} provides a way to keep track of where
14113 time is being spent during Emacs startup in order to optimize startup time.")
14114 (license license:gpl3+)))
14115
14116 (define-public emacs-magit-gerrit
14117 (let ((version "0.3")
14118 (revision "1")
14119 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
14120 (package
14121 (name "emacs-magit-gerrit")
14122 (version (git-version version revision commit))
14123 (source (origin
14124 (method git-fetch)
14125 (uri (git-reference
14126 (url "https://github.com/terranpro/magit-gerrit.git")
14127 (commit commit)))
14128 (file-name (git-file-name name version))
14129 (sha256
14130 (base32
14131 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
14132 (build-system emacs-build-system)
14133 (propagated-inputs
14134 `(("emacs-magit" ,emacs-magit)))
14135 (home-page "https://github.com/terranpro/magit-gerrit")
14136 (synopsis "Magit extension for Gerrit")
14137 (description "This Magit extension provides integration with Gerrit,
14138 which makes it possible to conduct Gerrit code reviews directly from within
14139 Emacs.")
14140 (license license:gpl3+))))
14141
14142 (define-public emacs-magit-org-todos-el
14143 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
14144 (package
14145 (name "emacs-magit-org-todos-el")
14146 (version (git-version "0.1.1" "1" commit))
14147 (source
14148 (origin
14149 (method git-fetch)
14150 (uri (git-reference
14151 (url "https://github.com/danielma/magit-org-todos.el.git")
14152 (commit commit)))
14153 (file-name (git-file-name name version))
14154 (sha256
14155 (base32
14156 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
14157 (propagated-inputs
14158 `(("magit" ,emacs-magit)))
14159 (build-system emacs-build-system)
14160 (home-page "https://github.com/danielma/magit-org-todos.el")
14161 (synopsis "Get todo.org into Emacs Magit status")
14162 (description "This package allows you to get @file{todo.org} into your
14163 magit status.
14164
14165 If you have a @file{todo.org} file with @code{TODO} items in the root of your
14166 repository, @code{magit-org-todos} will create a section in your Magit status
14167 buffer with each of your todos.")
14168 (license license:gpl3+))))
14169
14170 (define-public emacs-f3
14171 (package
14172 (name "emacs-f3")
14173 (version "0.1")
14174 (source
14175 (origin
14176 (method git-fetch)
14177 (uri (git-reference
14178 (url "https://github.com/cosmicexplorer/f3.git")
14179 (commit version)))
14180 (file-name (git-file-name name version))
14181 (sha256
14182 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
14183 (build-system emacs-build-system)
14184 (propagated-inputs
14185 `(("emacs-helm" ,emacs-helm)))
14186 (home-page "https://github.com/cosmicexplorer/f3")
14187 (synopsis "Fantastic File Finder for Emacs")
14188 (description
14189 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
14190 (license license:gpl3+)))
14191
14192 (define-public emacs-lice-el
14193 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
14194 (package
14195 (name "emacs-lice-el")
14196 (version (git-version "0.2" "1" commit))
14197 (source (origin
14198 (method git-fetch)
14199 (uri (git-reference
14200 (url "https://github.com/buzztaiki/lice-el.git")
14201 (commit commit)))
14202 (file-name (git-file-name name version))
14203 (sha256
14204 (base32
14205 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
14206 (build-system emacs-build-system)
14207 (home-page "https://github.com/buzztaiki/lice-el")
14208 (synopsis "License and header template for Emacs")
14209 (description "@code{lice.el} provides following features:
14210
14211 @itemize
14212 @item License template management.
14213 @item File header insertion.
14214 @end itemize\n")
14215 (license license:gpl3+))))
14216
14217 (define-public emacs-academic-phrases
14218 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
14219 (package
14220 (name "emacs-academic-phrases")
14221 (version (git-version "0.1" "1" commit))
14222 (source
14223 (origin
14224 (method git-fetch)
14225 (uri (git-reference
14226 (url "https://github.com/nashamri/academic-phrases.git")
14227 (commit commit)))
14228 (file-name (git-file-name name version))
14229 (sha256
14230 (base32
14231 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
14232 (build-system emacs-build-system)
14233 (propagated-inputs
14234 `(("emacs-dash" ,emacs-dash)
14235 ("emacs-s" ,emacs-s)
14236 ("emacs-ht" ,emacs-ht)))
14237 (home-page "https://github.com/nashamri/academic-phrases")
14238 (synopsis "Bypass that mental block when writing your papers")
14239 (description
14240 "When writing your academic paper, you might get stuck trying to find
14241 the right phrase that captures your intention. This package tries to
14242 alleviate that problem by presenting you with a list of phrases organized by
14243 the topic or by the paper section that you are writing. This package has
14244 around 600 phrases so far.
14245
14246 Using this package is easy, just call @code{academic-phrases} to get a list of
14247 phrases organized by topic, or call @code{academic-phrases-by-section} to
14248 browse the phrases by the paper section and fill-in the blanks if required.")
14249 (license license:gpl3+))))
14250
14251 (define-public emacs-auto-yasnippet
14252 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
14253 (revision "2"))
14254 (package
14255 (name "emacs-auto-yasnippet")
14256 (version (git-version "0.3.0" revision commit))
14257 (source (origin
14258 (method git-fetch)
14259 (uri (git-reference
14260 (url "https://github.com/abo-abo/auto-yasnippet.git")
14261 (commit commit)))
14262 (file-name (git-file-name name version))
14263 (sha256
14264 (base32
14265 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
14266 (build-system emacs-build-system)
14267 (arguments
14268 '(#:tests? #t
14269 #:test-command '("make" "test")))
14270 (propagated-inputs
14271 `(("emacs-yasnippet" ,emacs-yasnippet)))
14272 (home-page "https://github.com/abo-abo/auto-yasnippet/")
14273 (synopsis "Quickly create disposable yasnippets")
14274 (description "This package provides a hybrid of keyboard macros and
14275 yasnippet. You create the snippet on the go, usually to be used just in the
14276 one place. It's fast, because you're not leaving the current buffer, and all
14277 you do is enter the code you'd enter anyway, just placing ~ where you'd like
14278 yasnippet fields and mirrors to be.")
14279 (license license:gpl3+))))
14280
14281 (define-public emacs-highlight-numbers
14282 (package
14283 (name "emacs-highlight-numbers")
14284 (version "0.2.3")
14285 (source
14286 (origin
14287 (method git-fetch)
14288 (uri (git-reference
14289 (url "https://github.com/Fanael/highlight-numbers.git")
14290 (commit version)))
14291 (file-name (git-file-name name version))
14292 (sha256
14293 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
14294 (build-system emacs-build-system)
14295 (propagated-inputs
14296 `(("emacs-parent-mode" ,emacs-parent-mode)))
14297 (home-page "https://github.com/Fanael/highlight-numbers")
14298 (synopsis "Highlight numbers in source code")
14299 (description "@code{highlight-numbers-mode} provides a minor mode for
14300 syntax highlighting of numeric literals in source code.
14301
14302 It s customizable: it's easy to add or redefine what exactly consitutes a
14303 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
14304 (license license:gpl3+)))
14305
14306 (define-public emacs-darkroom
14307 (package
14308 (name "emacs-darkroom")
14309 (version "0.2")
14310 (source (origin
14311 (method url-fetch)
14312 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
14313 version ".el"))
14314 (sha256
14315 (base32
14316 "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0"))))
14317 (build-system emacs-build-system)
14318 (home-page "https://elpa.gnu.org/packages/darkroom.html")
14319 (synopsis "Remove visual distractions and focus on writing")
14320 (description "@code{darkroom-mode} makes visual distractions disappear.
14321 The mode-line is temporarily elided, text is enlarged and margins are adjusted
14322 so that it's centered on the window.
14323
14324 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
14325 @code{darkroom-mode}, unless the current buffer lives in the sole window of
14326 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
14327 split to display more windows and more buffers, the buffer exits
14328 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
14329 @code{darkroom-mode}.")
14330 (license license:gpl3+)))
14331
14332 (define-public emacs-rsw-elisp
14333 (package
14334 (name "emacs-rsw-elisp")
14335 (version "1.0.5")
14336 (source (origin
14337 (method git-fetch)
14338 (uri (git-reference
14339 (url "https://github.com/rswgnu/rsw-elisp")
14340 (commit version)))
14341 (file-name (git-file-name name version))
14342 (sha256
14343 (base32
14344 "0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
14345 (build-system emacs-build-system)
14346 (home-page "https://github.com/rswgnu/rsw-elisp")
14347 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
14348 (description "This package improves and replaces the GNU Emacs commands
14349 that interactively evaluate Emacs Lisp expressions. The new commands replace
14350 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
14351 the same way as the old commands when called non-interactively; only the
14352 interactive behavior should be different.")
14353 (license license:gpl3+)))
14354
14355 (define-public emacs-default-text-scale
14356 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
14357 (revision "1"))
14358 (package
14359 (name "emacs-default-text-scale")
14360 (version (string-append "0.1" "-" revision "."
14361 (string-take commit 7)))
14362 (source (origin
14363 (method git-fetch)
14364 (uri (git-reference
14365 (url "https://github.com/purcell/default-text-scale")
14366 (commit commit)))
14367 (file-name (git-file-name name version))
14368 (sha256
14369 (base32
14370 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
14371 (build-system emacs-build-system)
14372 (home-page "https://github.com/purcell/default-text-scale")
14373 (synopsis "Adjust the font size in all Emacs frames")
14374 (description "This package provides commands for increasing or
14375 decreasing the default font size in all GUI Emacs frames.")
14376 (license license:gpl3+))))
14377
14378 (define-public emacs-mixed-pitch
14379 (package
14380 (name "emacs-mixed-pitch")
14381 (version "1.0.1")
14382 (source
14383 (origin
14384 (method git-fetch)
14385 (uri (git-reference
14386 (url "https://gitlab.com/jabranham/mixed-pitch.git")
14387 (commit version)))
14388 (file-name (git-file-name name version))
14389 (sha256
14390 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
14391 (build-system emacs-build-system)
14392 (home-page "https://gitlab.com/jabranham/mixed-pitch")
14393 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
14394 (description
14395 "@code{mixed-pitch-mode} is a minor mode that enables mixing
14396 variable-pitch and fixed-pitch fonts in the same buffer. The list
14397 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
14398 fixed-pitch,everything else becomes variable-pitch.")
14399 (license license:gpl3+)))
14400
14401 (define-public emacs-visual-regexp
14402 (package
14403 (name "emacs-visual-regexp")
14404 (version "1.1.1")
14405 (source
14406 (origin
14407 (method git-fetch)
14408 (uri (git-reference
14409 (url "https://github.com/benma/visual-regexp.el.git")
14410 (commit (string-append "v" version))))
14411 (file-name (git-file-name name version))
14412 (sha256
14413 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
14414 (build-system emacs-build-system)
14415 (home-page "https://github.com/benma/visual-regexp.el/")
14416 (synopsis "Regexp command with interactive visual feedback")
14417 (description "This package provides an Emacs regexp command with
14418 interactive visual feedback.")
14419 (license license:gpl3+)))
14420
14421 (define-public emacs-faceup
14422 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
14423 (revision "1"))
14424 (package
14425 (name "emacs-faceup")
14426 (version (string-append "0.0.1" "-" revision "."
14427 (string-take commit 7)))
14428 (source
14429 (origin
14430 (method git-fetch)
14431 (uri (git-reference
14432 (url "https://github.com/Lindydancer/faceup.git")
14433 (commit commit)))
14434 (file-name (git-file-name name version))
14435 (sha256
14436 (base32
14437 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
14438 (build-system emacs-build-system)
14439 (home-page "https://github.com/Lindydancer/faceup")
14440 (synopsis "Markup language for faces and font-lock regression testing")
14441 (description "Emacs is capable of highlighting buffers based on
14442 language-specific @code{font-lock} rules. This package makes it possible to
14443 perform regression test for packages that provide font-lock rules.")
14444 (license license:gpl3+))))
14445
14446 (define-public emacs-racket-mode
14447 (let ((commit "5f396fa91fc22310f5c519aa658436a1a5251846")
14448 (revision "5"))
14449 (package
14450 (name "emacs-racket-mode")
14451 (version (git-version "0.0.2" revision commit))
14452 (source
14453 (origin
14454 (method git-fetch)
14455 (uri (git-reference
14456 (url "https://github.com/greghendershott/racket-mode")
14457 (commit commit)))
14458 (file-name (git-file-name name version))
14459 (sha256
14460 (base32
14461 "1214y08i0c51d1vzw9jzyf79vyfqizdy6m0980qs13qbdwsj32v0"))))
14462 (build-system emacs-build-system)
14463 (arguments
14464 `(#:include '("\\.el$" "\\.rkt$")))
14465 (propagated-inputs
14466 `(("emacs-faceup" ,emacs-faceup)
14467 ("emacs-s" ,emacs-s)))
14468 (home-page "https://www.racket-mode.com/")
14469 (synopsis "Major mode for the Racket language")
14470 (description "@code{racket-mode} provides:
14471
14472 @itemize
14473 @item Focus on Racket (not various Schemes).
14474 @item Follow DrRacket concepts where applicable.
14475 @item Thorough font-lock and indent.
14476 @end itemize\n")
14477 (license license:gpl3+))))
14478
14479 (define-public emacs-grep-context
14480 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
14481 (revision "1"))
14482 (package
14483 (name "emacs-grep-context")
14484 (version (git-version "0.1.0" revision commit))
14485 (source
14486 (origin
14487 (method git-fetch)
14488 (uri (git-reference
14489 (url "https://github.com/mkcms/grep-context.git")
14490 (commit commit)))
14491 (file-name (git-file-name name version))
14492 (sha256
14493 (base32
14494 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
14495 (build-system emacs-build-system)
14496 (propagated-inputs
14497 `(("emacs-dash" ,emacs-dash)))
14498 (home-page "https://github.com/mkcms/grep-context")
14499 (synopsis "Increase context in compilation and grep buffers")
14500 (description
14501 "This package provides an Emacs package for more context in
14502 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
14503 @code{ivy}.")
14504 (license license:gpl3+))))
14505
14506 (define-public emacs-helm-firefox
14507 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
14508 (revision "1"))
14509 (package
14510 (name "emacs-helm-firefox")
14511 (version (string-append "0.0.1" "-" revision "."
14512 (string-take commit 7)))
14513 (source
14514 (origin
14515 (method git-fetch)
14516 (uri (git-reference
14517 (url "https://github.com/emacs-helm/helm-firefox.git")
14518 (commit commit)))
14519 (file-name (git-file-name name version))
14520 (sha256
14521 (base32
14522 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
14523 (propagated-inputs
14524 `(("emacs-helm" ,emacs-helm)))
14525 (build-system emacs-build-system)
14526 (home-page "https://github.com/emacs-helm/helm-firefox")
14527 (synopsis "Display firefox bookmarks with Emacs Helm interface")
14528 (description "Display firefox bookmarks with Emacs Helm interface")
14529 (license license:gpl3+))))
14530
14531 (define-public emacs-interactive-align
14532 (package
14533 (name "emacs-interactive-align")
14534 (version "0.4.2")
14535 (source
14536 (origin
14537 (method git-fetch)
14538 (uri (git-reference
14539 (url "https://github.com/mkcms/interactive-align.git")
14540 (commit (string-append "v" version))))
14541 (file-name (git-file-name name version))
14542 (sha256
14543 (base32
14544 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
14545 (build-system emacs-build-system)
14546 (home-page "https://github.com/mkcms/interactive-align/")
14547 (synopsis "Interactive align-regexp command in Emacs")
14548 (description "Interactive align-regexp command in Emacs")
14549 (license license:gpl3+)))
14550
14551 (define-public emacs-shift-number
14552 (package
14553 (name "emacs-shift-number")
14554 (version "0.1")
14555 (source
14556 (origin
14557 (method git-fetch)
14558 (uri (git-reference
14559 (url "https://github.com/alezost/shift-number.el")
14560 (commit (string-append "v" version))))
14561 (file-name (git-file-name name version))
14562 (sha256
14563 (base32
14564 "0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
14565 (build-system emacs-build-system)
14566 (home-page "https://github.com/alezost/shift-number.el")
14567 (synopsis "Increase or decrease the number at point")
14568 (description "@code{emacs-shift-number} provides commands
14569 @code{shift-number-up} to increase and @code{shift-number-down} to
14570 decrease the number at point.")
14571 (license license:gpl3+)))
14572
14573 (define-public emacs-highlight-defined
14574 (package
14575 (name "emacs-highlight-defined")
14576 (version "0.1.5")
14577 (source
14578 (origin
14579 (method git-fetch)
14580 (uri (git-reference
14581 (url "https://github.com/Fanael/highlight-defined.git")
14582 (commit version)))
14583 (file-name (git-file-name name version))
14584 (sha256
14585 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
14586 (build-system emacs-build-system)
14587 (home-page "https://github.com/Fanael/highlight-defined")
14588 (synopsis "Syntax highlighting of known Elisp symbols")
14589 (description "Minor mode providing syntax highlighting of known Emacs Lisp
14590 symbols. Currently the code distinguishes Lisp functions, built-in functions,
14591 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
14592 (license license:gpl3+)))
14593
14594 (define-public emacs-parinfer-mode
14595 (package
14596 (name "emacs-parinfer-mode")
14597 (version "0.4.10")
14598 (source
14599 (origin
14600 (method git-fetch)
14601 (uri (git-reference
14602 (url "https://github.com/DogLooksGood/parinfer-mode.git")
14603 (commit (string-append "v" version))))
14604 (file-name (git-file-name name version))
14605 (sha256
14606 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
14607 (propagated-inputs
14608 `(("emacs-dash" ,emacs-dash)
14609 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
14610 ("emacs-company" ,emacs-company)))
14611 (build-system emacs-build-system)
14612 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
14613 (synopsis "Lisp structure editing mode")
14614 (description "@code{parinfer-mode} is a proof-of-concept editor
14615 mode for Lisp programming languages. It will infer some changes to
14616 keep Parens and Indentation inline with one another.")
14617 (license license:gpl3+)))
14618
14619 (define-public emacs-helm-eww
14620 (package
14621 (name "emacs-helm-eww")
14622 (version "1.2")
14623 (source (origin
14624 (method git-fetch)
14625 (uri (git-reference
14626 (url "https://github.com/emacs-helm/helm-eww.git")
14627 (commit version)))
14628 (file-name (git-file-name name version))
14629 (sha256
14630 (base32
14631 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
14632 (propagated-inputs
14633 `(("emacs-helm" ,emacs-helm)))
14634 (build-system emacs-build-system)
14635 (home-page "https://github.com/emacs-helm/helm-eww/")
14636 (synopsis "Helm interface to EWW")
14637 (description "This package provides a Helm interface for EWW buffers,
14638 bookmarks and history.")
14639 (license license:gpl3+)))
14640
14641 (define-public emacs-stumpwm-mode
14642 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
14643 (package
14644 (name "emacs-stumpwm-mode")
14645 (version (git-version "0.0.1" "1" commit))
14646 (source (origin
14647 (method git-fetch)
14648 (uri (git-reference
14649 (url "https://github.com/stumpwm/stumpwm-contrib.git")
14650 (commit commit)))
14651 (file-name (git-file-name name version))
14652 (sha256
14653 (base32
14654 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
14655 (build-system emacs-build-system)
14656 (arguments
14657 `(#:phases
14658 (modify-phases %standard-phases
14659 (add-after 'unpack 'chdir-elisp
14660 ;; Elisp directory is not in root of the source.
14661 (lambda _
14662 (chdir "util/swm-emacs"))))))
14663 (home-page "https://github.com/stumpwm/stumpwm-contrib")
14664 (synopsis "Emacs minor-mode for Stumpwm")
14665 (description "Emacs minor-mode for Stumpwm")
14666 (license license:gpl3+))))
14667
14668 (define-public emacs-irfc
14669 (package
14670 (name "emacs-irfc")
14671 (version "20130824.507-1")
14672 (source
14673 (origin
14674 (method url-fetch)
14675 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
14676 (file-name (string-append "irfc-" version ".el"))
14677 (sha256
14678 (base32
14679 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
14680 (build-system emacs-build-system)
14681 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
14682 (synopsis "Interface for IETF RFC document")
14683 (description
14684 "This package provides an Emacs interface for IETF RFC document.")
14685 (license license:gpl3+)))
14686
14687 (define-public emacs-ido-vertical-mode
14688 (package
14689 (name "emacs-ido-vertical-mode")
14690 (version "0.1.6")
14691 (source
14692 (origin
14693 (method git-fetch)
14694 (uri (git-reference
14695 (url "https://github.com/creichert/ido-vertical-mode.el.git")
14696 (commit (string-append "v" version))))
14697 (file-name (git-file-name name version))
14698 (sha256
14699 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
14700 (build-system emacs-build-system)
14701 (home-page "https://github.com/creichert/ido-vertical-mode.el")
14702 (synopsis "Makes ido-mode display vertically")
14703 (description "Makes ido-mode display prospects vertically.")
14704 (license license:gpl3+)))
14705
14706 (define-public emacs-wordgen
14707 (package
14708 (name "emacs-wordgen")
14709 (version "0.1.4")
14710 (source
14711 (origin
14712 (method git-fetch)
14713 (uri (git-reference
14714 (url "https://github.com/Fanael/wordgen.el.git")
14715 (commit version)))
14716 (file-name (git-file-name name version))
14717 (sha256
14718 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
14719 (build-system emacs-build-system)
14720 (home-page "https://github.com/Fanael/wordgen.el")
14721 (synopsis "Random word generator")
14722 (description "This package provides functions to generate random words
14723 using user-provided rules.")
14724 (license license:gpl3+)))
14725
14726 (define-public emacs-on-screen
14727 (package
14728 (name "emacs-on-screen")
14729 (version "1.3.3")
14730 (source
14731 (origin
14732 (method url-fetch)
14733 (uri (string-append
14734 "https://elpa.gnu.org/packages/on-screen-" version ".el"))
14735 (file-name (string-append name "-" version ".el"))
14736 (sha256
14737 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
14738 (build-system emacs-build-system)
14739 (home-page "https://github.com/michael-heerdegen/on-screen.el")
14740 (synopsis "Guide your eyes while scrolling")
14741 (description
14742 "Scrolling can be distracting because your eyes may lose
14743 orientation. This library implements a minor mode that highlights
14744 the previously visible buffer part after each scroll.")
14745 (license license:gpl3+)))
14746
14747 (define-public emacs-highlight-escape-sequences
14748 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
14749 (revision "1"))
14750 (package
14751 (name "emacs-highlight-escape-sequences")
14752 (version (string-append "0.0.1" "-" revision "."
14753 (string-take commit 7)))
14754 (source
14755 (origin
14756 (method git-fetch)
14757 (uri (git-reference
14758 (url "https://github.com/dgutov/highlight-escape-sequences.git")
14759 (commit commit)))
14760 (file-name (git-file-name name version))
14761 (sha256
14762 (base32
14763 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
14764 (build-system emacs-build-system)
14765 (home-page "https://github.com/dgutov/highlight-escape-sequences")
14766 (synopsis "Highlight escape sequences in Emacs")
14767 (description "@code{highlight-escape-sequences} provides an
14768 Emacs minor mode to escape sequences in code.")
14769 (license license:gpl3+))))
14770
14771 (define-public emacs-dashboard
14772 (package
14773 (name "emacs-dashboard")
14774 (version "1.6.0")
14775 (source
14776 (origin
14777 (method git-fetch)
14778 (uri (git-reference
14779 (url "https://github.com/rakanalh/emacs-dashboard.git")
14780 (commit version)))
14781 (file-name (git-file-name name version))
14782 (sha256
14783 (base32 "1g6g8vad1kdmv1zxp95a8sn70idl26isqjb3xk1r95pqnx1cn591"))))
14784 (build-system emacs-build-system)
14785 (propagated-inputs
14786 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
14787 (arguments
14788 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
14789 #:phases
14790 (modify-phases %standard-phases
14791 (add-after 'unpack 'patch-dashboard-widgets
14792 ;; This phase fixes compilation error.
14793 (lambda _
14794 (chmod "dashboard-widgets.el" #o666)
14795 (emacs-substitute-variables "dashboard-widgets.el"
14796 ("dashboard-init-info"
14797 '(format "Loaded in %s" (emacs-init-time))))
14798 #t)))))
14799 (home-page "https://github.com/rakanalh/emacs-dashboard")
14800 (synopsis "Startup screen extracted from Spacemacs")
14801 (description "This package provides an extensible Emacs dashboard, with
14802 sections for bookmarks, projectil projects, org-agenda and more. ")
14803 (license license:gpl3+)))
14804
14805 (define-public emacs-slime-company
14806 (package
14807 (name "emacs-slime-company")
14808 (version "1.1")
14809 (source
14810 (origin
14811 (method git-fetch)
14812 (uri (git-reference
14813 (url "https://github.com/anwyn/slime-company.git")
14814 (commit (string-append "v" version))))
14815 (file-name (git-file-name name version))
14816 (sha256
14817 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
14818 (build-system emacs-build-system)
14819 (propagated-inputs
14820 `(("emacs-slime" ,emacs-slime)
14821 ("emacs-company" ,emacs-company)))
14822 (home-page "https://company-mode.github.io")
14823 (synopsis "SLIME completion backend for @code{company-mode}")
14824 (description
14825 "This is a backend implementation for the completion package
14826 @code{company-mode} which supports the normal and the fuzzy completion
14827 modes of SLIME.")
14828 (license license:gpl3+)))
14829
14830 (define-public emacs-sml-mode
14831 (package
14832 (name "emacs-sml-mode")
14833 (version "6.10")
14834 (source
14835 (origin
14836 (method url-fetch)
14837 (uri (string-append "https://elpa.gnu.org/packages/sml-mode-"
14838 version ".el"))
14839 (sha256
14840 (base32 "01yf0s474r9xhj6nbs14ljn9ccxb5yy758i17c8nmgmqvm8fx7sb"))))
14841 (build-system emacs-build-system)
14842 (home-page "https://elpa.gnu.org/packages/sml-mode.html")
14843 (synopsis "Major mode for editing (Standard) ML")
14844 (description "SML-MODE is a major Emacs mode for editing Standard ML.
14845 It provides syntax highlighting and automatic indentation and
14846 comes with sml-proc which allows interaction with an inferior SML
14847 interactive loop.")
14848 (license license:gpl3+)))
14849
14850 (define-public emacs-eros
14851 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
14852 (revision "2"))
14853 (package
14854 (name "emacs-eros")
14855 (version (git-version "0.0.1" revision commit))
14856 (source
14857 (origin
14858 (method git-fetch)
14859 (uri (git-reference
14860 (url "https://github.com/xiongtx/eros.git")
14861 (commit commit)))
14862 (file-name (git-file-name name version))
14863 (sha256
14864 (base32
14865 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
14866 (build-system emacs-build-system)
14867 (home-page "https://github.com/xiongtx/eros")
14868 (synopsis "Evaluation result overlays")
14869 (description "@code{eros} provides evaluation result overlays.")
14870 (license license:gpl3+))))
14871
14872 (define-public emacs-stickyfunc-enhance
14873 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
14874 (revision "1"))
14875 (package
14876 (name "emacs-stickyfunc-enhance")
14877 (version "0.1")
14878 (source
14879 (origin
14880 (method git-fetch)
14881 (uri (git-reference
14882 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
14883 (commit commit)))
14884 (file-name (git-file-name name version))
14885 (sha256
14886 (base32
14887 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
14888 (build-system emacs-build-system)
14889 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
14890 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
14891 (description
14892 "@code{semantic-stickyfunc-mode} shows the function point is currently
14893 in at the first line of the current buffer. This is useful when you have a
14894 very long function that spreads more than a screen, and you don't have to
14895 scroll up to read the function name and then scroll down to original position.")
14896 (license license:gpl3+))))
14897
14898 (define-public emacs-git-auto-commit-mode
14899 (package
14900 (name "emacs-git-auto-commit-mode")
14901 (version "4.5.0")
14902 (source
14903 (origin
14904 (method git-fetch)
14905 (uri (git-reference
14906 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
14907 (commit version)))
14908 (file-name (git-file-name name version))
14909 (sha256
14910 (base32 "1w3v9pmlmdxl4pglsb6j0igp13lbzg5bhbr1rv2vll93m6zxmyma"))))
14911 (build-system emacs-build-system)
14912 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
14913 (synopsis "Emacs Minor mode to automatically commit and push")
14914 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
14915 tries to commit changes to a file after every save.
14916
14917 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
14918 the current upstream.")
14919 (license license:gpl3+)))
14920
14921 (define-public emacs-scroll-on-drag
14922 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
14923 (revision "1"))
14924 (package
14925 (name "emacs-scroll-on-drag")
14926 (version (git-version "0.1" revision commit))
14927 (source
14928 (origin
14929 (method git-fetch)
14930 (uri (git-reference
14931 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
14932 (commit commit)))
14933 (file-name (git-file-name name version))
14934 (sha256
14935 (base32
14936 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
14937 (build-system emacs-build-system)
14938 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
14939 (synopsis "Interactive scrolling")
14940 (description "This package permits scrolling at increasing speeds based
14941 on drag distance.")
14942 (license license:gpl3+))))
14943
14944 (define-public emacs-company-restclient
14945 (package
14946 (name "emacs-company-restclient")
14947 (version "0.3.0")
14948 (source
14949 (origin
14950 (method git-fetch)
14951 (uri (git-reference
14952 (url "https://github.com/iquiw/company-restclient.git")
14953 (commit (string-append "v" version))))
14954 (file-name (git-file-name name version))
14955 (sha256
14956 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
14957 (build-system emacs-build-system)
14958 (propagated-inputs
14959 `(("emacs-company" ,emacs-company)
14960 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
14961 ("emacs-restclient" ,emacs-restclient)))
14962 (home-page "https://github.com/iquiw/company-restclient")
14963 (synopsis "Company-mode completion back-end for restclient-mode")
14964 (description "@code{company-mode} back-end for
14965 @code{restclient-mode}.
14966
14967 It provides auto-completion for HTTP methods and headers in
14968 @code{restclient-mode}. Completion source is given by
14969 @code{know-your-http-well}.")
14970 (license license:gpl3+)))
14971
14972 (define-public emacs-noflet
14973 (let ((version "20170629")
14974 (revision "1")
14975 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
14976 (package
14977 (name "emacs-noflet")
14978 (version (git-version version revision commit))
14979 (source
14980 (origin
14981 (method git-fetch)
14982 (uri (git-reference
14983 (url "https://github.com/nicferrier/emacs-noflet")
14984 (commit commit)))
14985 (file-name (git-file-name name version))
14986 (sha256
14987 (base32
14988 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
14989 (build-system emacs-build-system)
14990 (arguments
14991 `(#:phases
14992 (modify-phases %standard-phases
14993 (add-after 'unpack 'require-dash
14994 ;; noflet.el uses -map from dash, but (require 'dash) is
14995 ;; missing. So, add it.
14996 (lambda _
14997 (substitute* "noflet.el"
14998 ((";;; Code:") ";;; Code:\n(require 'dash)"))
14999 #t)))))
15000 (propagated-inputs
15001 `(("emacs-dash" ,emacs-dash)))
15002 (home-page "https://github.com/nicferrier/emacs-noflet")
15003 (synopsis "Locally override functions")
15004 (description "@code{emacs-noflet} lets you locally override functions,
15005 in the manner of @command{flet}, but with access to the original function
15006 through the symbol: @command{this-fn}.")
15007 (license license:gpl3+))))
15008
15009 (define-public emacs-dumb-jump
15010 (package
15011 (name "emacs-dumb-jump")
15012 (version "0.5.3")
15013 (source
15014 (origin
15015 (method git-fetch)
15016 (uri (git-reference
15017 (url "https://github.com/jacktasia/dumb-jump.git")
15018 (commit (string-append "v" version))))
15019 (file-name (git-file-name name version))
15020 (sha256
15021 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
15022 (build-system emacs-build-system)
15023 (arguments
15024 `(#:tests? #f ; FIXME: Tests freeze when run.
15025 #:test-command '("ert-runner")
15026 #:phases
15027 (modify-phases %standard-phases
15028 (add-after 'unpack 'set-shell
15029 (lambda _
15030 ;; Setting the SHELL environment variable is required for the
15031 ;; tests to find sh.
15032 (setenv "SHELL" (which "sh"))
15033 #t)))))
15034 (native-inputs
15035 `(("emacs-el-mock" ,emacs-el-mock)
15036 ("emacs-noflet" ,emacs-noflet)
15037 ("emacs-undercover" ,emacs-undercover)
15038 ("ert-runner" ,emacs-ert-runner)))
15039 (propagated-inputs
15040 `(("emacs-f" ,emacs-f)
15041 ("emacs-popup" ,emacs-popup)))
15042 (home-page "https://github.com/jacktasia/dumb-jump")
15043 (synopsis "Jump to definition for multiple languages without configuration")
15044 (description "Dumb Jump is an Emacs \"jump to definition\" package with
15045 support for multiple programming languages that favors \"just working\" over
15046 speed or accuracy. This means minimal --- and ideally zero --- configuration
15047 with absolutely no stored indexes (tags) or persistent background processes.
15048 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
15049 @command{rg} installed.")
15050 (license license:gpl3+)))
15051
15052 (define-public emacs-dts-mode
15053 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
15054 (revision "1"))
15055 (package
15056 (name "emacs-dts-mode")
15057 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
15058 (source
15059 (origin
15060 (method git-fetch)
15061 (uri (git-reference
15062 (url "https://github.com/bgamari/dts-mode.git")
15063 (commit commit)))
15064 (file-name (git-file-name name version))
15065 (sha256
15066 (base32
15067 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
15068 (build-system emacs-build-system)
15069 (home-page "https://github.com/bgamari/dts-mode.git")
15070 (synopsis "Emacs minor mode for editing device tree files")
15071 (description
15072 "This package provides an Emacs minor mode for highlighting
15073 device tree files.")
15074 (license license:gpl3+))))
15075
15076 (define-public emacs-daemons
15077 (package
15078 (name "emacs-daemons")
15079 (version "2.0.0")
15080 (source
15081 (origin
15082 (method git-fetch)
15083 (uri (git-reference
15084 (url "https://github.com/cbowdon/daemons.el")
15085 (commit version)))
15086 (file-name (git-file-name name version))
15087 (sha256
15088 (base32
15089 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
15090 (build-system emacs-build-system)
15091 (home-page "https://github.com/cbowdon/daemons.el")
15092 (synopsis "Emacs UI for managing init system services")
15093 (description
15094 "This is an Emacs mode to give you a UI for managing init system
15095 daemons (services) for those getting tired of typing out @code{sudo service
15096 my_thing reload} all the time. It offers a consistent UI over different init
15097 systems.")
15098 (license license:gpl3+)))
15099
15100 (define-public emacs-isearch+
15101 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
15102 (revision "2"))
15103 (package
15104 (name "emacs-isearch+")
15105 (version (git-version "0" revision commit))
15106 (source
15107 (origin
15108 (method git-fetch)
15109 (uri (git-reference
15110 (url "https://github.com/emacsmirror/isearch-plus.git")
15111 (commit commit)))
15112 (file-name (git-file-name name version))
15113 (sha256
15114 (base32
15115 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
15116 (build-system emacs-build-system)
15117 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
15118 (synopsis "Extensions to @code{isearch.el}")
15119 (description "This package extends @code{isearch} with advice, dynamic
15120 filters, highlighting of regexp group levels, and more.")
15121 (license license:gpl2+))))
15122
15123 (define-public emacs-eshell-bookmark
15124 (package
15125 (name "emacs-eshell-bookmark")
15126 (version "2.0.0")
15127 (source
15128 (origin
15129 (method git-fetch)
15130 (uri (git-reference
15131 (url "https://github.com/Fuco1/eshell-bookmark")
15132 (commit version)))
15133 (file-name (git-file-name name version))
15134 (sha256
15135 (base32
15136 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
15137 (build-system emacs-build-system)
15138 (home-page "https://github.com/Fuco1/eshell-bookmark")
15139 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
15140 (description
15141 "This package allows for bookmarking @code{eshell} buffers. Upon
15142 visiting the bookmark, a new @code{eshell} session will be opened in the
15143 appropriate directory if no @code{eshell} session is active.")
15144 (license license:gpl3+)))
15145
15146 (define-public emacs-eshell-z
15147 (package
15148 (name "emacs-eshell-z")
15149 (version "0.4")
15150 (source
15151 (origin
15152 (method git-fetch)
15153 (uri (git-reference
15154 (url "https://github.com/xuchunyang/eshell-z")
15155 (commit (string-append "v" version))))
15156 (file-name (git-file-name name version))
15157 (sha256
15158 (base32
15159 "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
15160 (build-system emacs-build-system)
15161 (home-page "https://github.com/xuchunyang/eshell-z")
15162 (synopsis "Quick navigation to frequently visited directories")
15163 (description
15164 "This package is a port of @code{z}, and keeps track of visited directories
15165 and commands invoked within them in order to enable navigation via input of
15166 matching regexps.")
15167 (license license:gpl3+)))
15168
15169 (define-public emacs-esh-autosuggest
15170 (package
15171 (name "emacs-esh-autosuggest")
15172 (version "2.0.0")
15173 (source
15174 (origin
15175 (method git-fetch)
15176 (uri (git-reference
15177 (url "https://github.com/dieggsy/esh-autosuggest")
15178 (commit version)))
15179 (file-name (git-file-name name version))
15180 (sha256
15181 (base32
15182 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
15183 (build-system emacs-build-system)
15184 (propagated-inputs `(("emacs-company" ,emacs-company)))
15185 (home-page "https://github.com/dieggsy/esh-autosuggest")
15186 (synopsis "Fish-like autosuggestions in Eshell")
15187 (description
15188 "This package assumes you use something other than company for eshell
15189 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
15190 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
15191 for history autosuggestions.
15192
15193 Unless you're using @code{use-package}'s hook keyword, you can enable the
15194 autosuggestions with:
15195 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
15196 (license license:gpl3+)))
15197
15198 (define-public emacs-desktop-environment
15199 (package
15200 (name "emacs-desktop-environment")
15201 (version "0.3.0")
15202 (source
15203 (origin
15204 (method git-fetch)
15205 (uri (git-reference
15206 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
15207 (commit (string-append "v" version))))
15208 (file-name (git-file-name name version))
15209 (sha256
15210 (base32
15211 "195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2"))))
15212 (build-system emacs-build-system)
15213 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
15214 (synopsis "Control your GNU/Linux desktop environment from Emacs")
15215 (description
15216 "This package helps you control your GNU/Linux desktop from Emacs.
15217 With @code{desktop-environment}, you can control the brightness and volume as
15218 well as take screenshots and lock your screen. The package depends on the
15219 availability of shell commands to do the hard work for us. These commands can
15220 be changed by customizing the appropriate variables.")
15221 (license license:gpl3+)))
15222
15223 (define-public emacs-org-caldav
15224 (let ((commit "a563500c9884f38ce08793e2964f8274adde163d"))
15225 (package
15226 (name "emacs-org-caldav")
15227 (version (git-version "0.0.0" "1" commit))
15228 (source
15229 (origin
15230 (method git-fetch)
15231 (uri (git-reference
15232 (url "https://github.com/dengste/org-caldav.git")
15233 (commit commit)))
15234 (file-name (git-file-name name version))
15235 (sha256
15236 (base32
15237 "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"))))
15238 (build-system emacs-build-system)
15239 (arguments
15240 ;; Tests require to have two specific calendars on a test server.
15241 `(#:exclude '("^org-caldav-testsuite\\.el")))
15242 (propagated-inputs
15243 `(("emacs-org" ,emacs-org)))
15244 (home-page "https://github.com/dengste/org-caldav")
15245 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
15246 (description "Synchronize between events in Org files and a CalDAV
15247 calendar.")
15248 (license license:gpl3+))))
15249
15250 (define-public emacs-zotxt
15251 (package
15252 (name "emacs-zotxt")
15253 (version "20180518")
15254 (source
15255 (origin
15256 (method git-fetch)
15257 (uri (git-reference
15258 (url "https://github.com/egh/zotxt-emacs.git")
15259 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
15260 (file-name (git-file-name name version))
15261 (sha256
15262 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
15263 (build-system emacs-build-system)
15264 (propagated-inputs
15265 `(("emacs-deferred" ,emacs-deferred)
15266 ("emacs-request" ,emacs-request)))
15267 (home-page "https://github.com/egh/zotxt-emacs")
15268 (synopsis "Integrate Emacs with Zotero")
15269 (description "This package provides two integration features between Emacs
15270 and the Zotero research assistant: Insertion of links to Zotero items into an
15271 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
15272 (license license:gpl3+)))
15273
15274 (define-public emacs-evil-magit
15275 (let ((commit "4b66a1db8285457147a5436f209391016a819ea1")
15276 (revision "3"))
15277 (package
15278 (name "emacs-evil-magit")
15279 (version (git-version "0.4.2" revision commit))
15280 (source
15281 (origin
15282 (method git-fetch)
15283 (uri (git-reference
15284 (url "https://github.com/emacs-evil/evil-magit")
15285 (commit commit)))
15286 (file-name (git-file-name name version))
15287 (sha256
15288 (base32
15289 "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h"))))
15290 (build-system emacs-build-system)
15291 (propagated-inputs
15292 `(("emacs-evil" ,emacs-evil)
15293 ("magit" ,emacs-magit)))
15294 (arguments
15295 `(#:tests? #t
15296 #:test-command '("emacs" "-Q" "-batch"
15297 "-L" "."
15298 "-l" "evil-magit-tests"
15299 "-f" "ert-run-tests-batch-and-exit")))
15300 (home-page
15301 "https://github.com/emacs-evil/evil-magit")
15302 (synopsis "Evil-based key bindings for Magit")
15303 (description
15304 "This Emacs library configures Magit and Evil to play well with each other.
15305 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
15306 See the README at @url{https://github.com/justbur/evil-magit} for a table
15307 describing the key binding changes.")
15308 (license license:gpl3+))))
15309
15310 (define-public emacs-evil-multiedit
15311 (package
15312 (name "emacs-evil-multiedit")
15313 (version "1.3.9")
15314 (source
15315 (origin
15316 (method git-fetch)
15317 (uri (git-reference
15318 (url "https://github.com/hlissner/evil-multiedit")
15319 (commit (string-append "v" version))))
15320 (file-name (git-file-name name version))
15321 (sha256
15322 (base32
15323 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
15324 (build-system emacs-build-system)
15325 (propagated-inputs
15326 `(("emacs-evil" ,emacs-evil)
15327 ("emacs-iedit" ,emacs-iedit)))
15328 (native-inputs
15329 `(("emacs-ert-runner" ,emacs-ert-runner)))
15330 (arguments
15331 `(#:phases
15332 (modify-phases %standard-phases
15333 (add-before 'check 'fix-makefile
15334 (lambda _
15335 (substitute* "Makefile"
15336 (("@cask exec ") ""))
15337 #t)))
15338 #:tests? #t
15339 #:test-command '("make" "test")))
15340 (home-page
15341 "https://github.com/hlissner/evil-multiedit")
15342 (synopsis "Multiple cursors for Evil mode")
15343 (description
15344 "This plugin was an answer to the lack of proper multiple cursor support
15345 in Emacs+Evil. It allows you to select and edit matches interactively,
15346 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
15347 defaults.")
15348 (license license:gpl3+)))
15349
15350 (define-public emacs-evil-mc
15351 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
15352 (revision "2"))
15353 (package
15354 (name "emacs-evil-mc")
15355 (version (git-version "0.0.3" revision commit))
15356 (source
15357 (origin
15358 (method git-fetch)
15359 (uri (git-reference
15360 (url "https://github.com/gabesoft/evil-mc.git")
15361 (commit commit)))
15362 (file-name (git-file-name name version))
15363 (sha256
15364 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
15365 (build-system emacs-build-system)
15366 (propagated-inputs
15367 `(("emacs-evil" ,emacs-evil)))
15368 (native-inputs
15369 `(("emacs-espuds" ,emacs-espuds)))
15370 (home-page "https://github.com/gabesoft/evil-mc")
15371 (synopsis "Interactive search compatible with @code{multiple-cursors}")
15372 (description "This package can be used with @code{multiple-cursors} to
15373 provide an incremental search that moves all fake cursors in sync.")
15374 (license license:expat))))
15375
15376 (define-public emacs-evil-org
15377 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
15378 (package
15379 (name "emacs-evil-org")
15380 (version (git-version "0.1.1" "1" commit))
15381 (source
15382 (origin
15383 (method git-fetch)
15384 (uri (git-reference
15385 (url "https://github.com/Somelauw/evil-org-mode")
15386 (commit commit)))
15387 (file-name (git-file-name name version))
15388 (sha256
15389 (base32
15390 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
15391 (build-system emacs-build-system)
15392 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
15393 (home-page
15394 "https://github.com/Somelauw/evil-org-mode")
15395 (synopsis "Evil keybindings for Org mode")
15396 (description
15397 "This package adds supplemental Evil mode key-bindings to Emacs
15398 Org-mode. It features:
15399 @itemize
15400 @item normal, visual and insert mode bindings;
15401 @item key bindings organised in key themes;
15402 @item operators like > and < to work on headings;
15403 @item text objects;
15404 @item table support;
15405 @item calendar (date selection) support;
15406 @item agenda support.
15407 @end itemize\n")
15408 (license license:gpl3+))))
15409
15410 (define-public emacs-debpaste
15411 (package
15412 (name "emacs-debpaste")
15413 (version "0.1.5")
15414 (home-page "https://github.com/alezost/debpaste.el")
15415 (source
15416 (origin
15417 (method git-fetch)
15418 (uri (git-reference (url home-page)
15419 (commit (string-append "v" version))))
15420 (file-name (git-file-name name version))
15421 (sha256
15422 (base32
15423 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
15424 (build-system emacs-build-system)
15425 (propagated-inputs
15426 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
15427 (synopsis "Manipulate pastes from the Debian Pastezone")
15428 (description "Debpaste is an Emacs interface for the Debian Pastezone,
15429 allowing you to receive, post, and delete pastes. It communicates with the
15430 server using XML-RPC.")
15431 (license license:gpl3+)))
15432
15433 (define-public emacs-xml-rpc
15434 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
15435 (revision "1"))
15436 (package
15437 (name "emacs-xml-rpc")
15438 (version (git-version "1.6.12" revision commit))
15439 (source
15440 (origin
15441 (method git-fetch)
15442 (uri (git-reference
15443 (url "https://github.com/hexmode/xml-rpc-el")
15444 (commit commit)))
15445 (file-name (git-file-name name version))
15446 (sha256
15447 (base32
15448 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
15449 (build-system emacs-build-system)
15450 (home-page "https://github.com/hexmode/xml-rpc-el")
15451 (synopsis "XML-RPC client for Emacs")
15452 (description "This package provides an XML-RPC client for Emacs capable
15453 of both synchronous and asynchronous method calls using the @code{url}
15454 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
15455 datatypes as Lisp values, automatically converting to and from the XML
15456 datastructures as needed, both for method parameters and return values, making
15457 using XML-RPC methods fairly transparent to the Lisp code.")
15458 (license license:gpl3+))))
15459
15460 (define-public emacs-xpm
15461 (package
15462 (name "emacs-xpm")
15463 (version "1.0.4")
15464 (source
15465 (origin
15466 (method url-fetch)
15467 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
15468 version ".tar"))
15469 (sha256
15470 (base32
15471 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
15472 (build-system emacs-build-system)
15473 (home-page "https://elpa.gnu.org/packages/xpm.html")
15474 (synopsis "XPM image editing mode for Emacs")
15475 (description "This Emacs package makes editing XPM images easy (and maybe
15476 fun). Editing is done directly on the (textual) image format, for maximal
15477 cohesion with the Emacs Way.")
15478 (license license:gpl3+)))
15479
15480 (define-public emacs-fish-completion
15481 (package
15482 (name "emacs-fish-completion")
15483 (version "1.2")
15484 (source
15485 (origin
15486 (method git-fetch)
15487 (uri (git-reference
15488 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
15489 (commit version)))
15490 (file-name (git-file-name name version))
15491 (sha256
15492 (base32
15493 "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"))))
15494 (build-system emacs-build-system)
15495 (inputs `(("fish" ,fish)))
15496 (arguments
15497 `(#:phases
15498 (modify-phases %standard-phases
15499 (add-after 'unpack 'configure
15500 (lambda* (#:key inputs outputs #:allow-other-keys)
15501 (let ((fish (assoc-ref inputs "fish")))
15502 ;; Specify the absolute file names of the various
15503 ;; programs so that everything works out-of-the-box.
15504 (make-file-writable "fish-completion.el")
15505 (emacs-substitute-variables
15506 "fish-completion.el"
15507 ("fish-completion-command"
15508 (string-append fish "/bin/fish")))))))))
15509 (home-page
15510 "https://gitlab.com/Ambrevar/emacs-fish-completion")
15511 (synopsis "Fish completion for Emacs pcomplete")
15512 (description
15513 "This package provides completion for the Fish shell to pcomplete (used
15514 by shell and Eshell). You can set it up globally with:
15515
15516 @example
15517 (when (and (executable-find \"fish\")
15518 (require 'fish-completion nil t))
15519 (global-fish-completion-mode))
15520 @end example
15521
15522 Alternatively, you can call the @code{fish-completion-mode} manually or in
15523 shell/Eshell mode hook.
15524
15525 The package @code{emacs-bash-completion} is an optional dependency: if available,
15526 @code{fish-completion-complete} can be configured to fall back on bash to further
15527 try completing. See @code{fish-completion-fallback-on-bash-p}.")
15528 (license license:gpl3+)))
15529
15530 (define-public emacs-gif-screencast
15531 (package
15532 (name "emacs-gif-screencast")
15533 (version "1.1")
15534 (source
15535 (origin
15536 (method git-fetch)
15537 (uri (git-reference
15538 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
15539 (commit version)))
15540 (file-name (git-file-name name version))
15541 (sha256
15542 (base32
15543 "1g1by8lvf8c9vzm4wwsi5kp285kaj0ahsl54048ympin4pi0njw9"))))
15544 (build-system emacs-build-system)
15545 (inputs
15546 `(("scrot" ,scrot)
15547 ("imagemagick" ,imagemagick)
15548 ("gifsicle" ,gifsicle)))
15549 (arguments
15550 `(#:phases
15551 (modify-phases %standard-phases
15552 (add-after 'unpack 'configure
15553 (lambda* (#:key inputs outputs #:allow-other-keys)
15554 (let ((scrot (assoc-ref inputs "scrot"))
15555 (imagemagick (assoc-ref inputs "imagemagick"))
15556 (gifsicle (assoc-ref inputs "gifsicle")))
15557 (make-file-writable "gif-screencast.el")
15558 ;; Specify the absolute file names of the various
15559 ;; programs so that everything works out-of-the-box.
15560 (emacs-substitute-variables
15561 "gif-screencast.el"
15562 ("gif-screencast-program"
15563 (string-append scrot "/bin/scrot"))
15564 ("gif-screencast-convert-program"
15565 (string-append imagemagick "/bin/convert"))
15566 ("gif-screencast-cropping-program"
15567 (string-append imagemagick "/bin/mogrify"))
15568 ("gif-screencast-optimize-program"
15569 (string-append gifsicle "/bin/gifsicle")))))))))
15570 (home-page
15571 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
15572 (synopsis "One-frame-per-action GIF recording")
15573 (description
15574 "Call @code{gif-screencast} to start a recording.
15575 A screenshot is taken for every user action. Call
15576 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
15577 the GIF result.")
15578 (license license:gpl3+)))
15579
15580 (define-public emacs-google-translate
15581 (package
15582 (name "emacs-google-translate")
15583 (version "0.11.18")
15584 (source
15585 (origin
15586 (method git-fetch)
15587 (uri (git-reference
15588 (url "https://github.com/atykhonov/google-translate/")
15589 (commit (string-append "v" version))))
15590 (file-name (git-file-name name version))
15591 (sha256
15592 (base32
15593 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
15594 (build-system emacs-build-system)
15595 (home-page "https://github.com/atykhonov/google-translate")
15596 (synopsis "Emacs interface to Google Translate")
15597 (description
15598 "This package provides an Emacs interface to the Google Translate
15599 on-line service.")
15600 (license license:gpl3+)))
15601
15602 (define-public emacs-helm-company
15603 (package
15604 (name "emacs-helm-company")
15605 (version "0.2.5")
15606 (source
15607 (origin
15608 (method git-fetch)
15609 (uri (git-reference
15610 (url "https://github.com/Sodel-the-Vociferous/helm-company")
15611 (commit (string-append "v" version))))
15612 (file-name (git-file-name name version))
15613 (sha256
15614 (base32
15615 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
15616 (build-system emacs-build-system)
15617 (propagated-inputs
15618 `(("emacs-helm" ,emacs-helm)
15619 ("emacs-company" ,emacs-company)))
15620 (native-inputs
15621 `(("emacs-ert-runner" ,emacs-ert-runner)))
15622 (arguments
15623 `(#:tests? #t
15624 #:test-command '("ert-runner")))
15625 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
15626 (synopsis "Helm interface for company-mode")
15627 (description
15628 "This is a Helm interface to company-mode, a text completion
15629 framework.")
15630 (license license:gpl3+)))
15631
15632 (define-public emacs-helm-descbinds
15633 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
15634 (package
15635 (name "emacs-helm-descbinds")
15636 (version (git-version "1.13" "1" commit))
15637 (source
15638 (origin
15639 (method git-fetch)
15640 (uri (git-reference
15641 (url "https://github.com/emacs-helm/helm-descbinds")
15642 (commit commit)))
15643 (file-name (git-file-name name version))
15644 (sha256
15645 (base32
15646 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
15647 (build-system emacs-build-system)
15648 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15649 (home-page "https://github.com/emacs-helm/helm-descbinds")
15650 (synopsis "Convenient @code{describe-bindings} with Helm")
15651 (description
15652 "This package is a replacement of @code{describe-bindings} for Helm.
15653 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
15654 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
15655 @code{helm-descbinds}. The bindings are presented in a similar way as
15656 @code{describe-bindings} does, but you can use completion to find the command
15657 you searched for and execute it, or view its documentation.")
15658 (license license:gpl3+))))
15659
15660 (define-public emacs-helm-emms
15661 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
15662 (package
15663 (name "emacs-helm-emms")
15664 (version (git-version "1.3" "2" commit))
15665 (source
15666 (origin
15667 (method git-fetch)
15668 (uri (git-reference
15669 (url "https://github.com/emacs-helm/helm-emms")
15670 (commit commit)))
15671 (file-name (git-file-name name version))
15672 (sha256
15673 (base32
15674 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
15675 (build-system emacs-build-system)
15676 (propagated-inputs
15677 `(("emacs-helm" ,emacs-helm)
15678 ("emacs-emms" ,emacs-emms)))
15679 (home-page
15680 "https://github.com/emacs-helm/helm-emms")
15681 (synopsis "Emms for Helm")
15682 (description "Helm interface for Emms to browse all tracks and all folders
15683 from @code{emms-source-file-default-directory}.")
15684 (license license:gpl3+))))
15685
15686 (define-public emacs-helm-exwm
15687 (package
15688 (name "emacs-helm-exwm")
15689 (version "0.0.2")
15690 (source
15691 (origin
15692 (method git-fetch)
15693 (uri (git-reference
15694 (url "https://github.com/emacs-helm/helm-exwm.git")
15695 (commit version)))
15696 (file-name (git-file-name name version))
15697 (sha256
15698 (base32 "0g4k01ps14bp2az8v6dcag9llg045k2b4kdis81xx4lvw76znr9v"))))
15699 (build-system emacs-build-system)
15700 (propagated-inputs
15701 `(("emacs-helm" ,emacs-helm)
15702 ("emacs-exwm" ,emacs-exwm)))
15703 (home-page
15704 "https://github.com/emacs-helm/helm-exwm")
15705 (synopsis "Helm for EXWM buffers")
15706 (description
15707 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
15708 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
15709 switch between the various windows of one or several specific applications.
15710 See @code{helm-exwm-switch-browser} for an example.")
15711 (license license:gpl3+)))
15712
15713 (define-public emacs-helm-flycheck
15714 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
15715 (package
15716 (name "emacs-helm-flycheck")
15717 (version (git-version "0.4" "1" commit))
15718 (source
15719 (origin
15720 (method git-fetch)
15721 (uri (git-reference
15722 (url "https://github.com/yasuyk/helm-flycheck")
15723 (commit commit)))
15724 (file-name (git-file-name name version))
15725 (sha256
15726 (base32
15727 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
15728 (build-system emacs-build-system)
15729 (propagated-inputs
15730 `(("emacs-dash" ,emacs-dash)
15731 ("emacs-flycheck" ,emacs-flycheck)
15732 ("emacs-helm" ,emacs-helm)))
15733 (home-page "https://github.com/yasuyk/helm-flycheck")
15734 (synopsis "Show Flycheck errors with Helm")
15735 (description
15736 "This integrates Flycheck with Helm.")
15737 (license license:gpl3+))))
15738
15739 (define-public emacs-helm-ls-git
15740 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
15741 (package
15742 (name "emacs-helm-ls-git")
15743 (version (git-version "1.9.1" "1" commit))
15744 (source
15745 (origin
15746 (method git-fetch)
15747 (uri (git-reference
15748 (url "https://github.com/emacs-helm/helm-ls-git")
15749 (commit commit)))
15750 (file-name (git-file-name name version))
15751 (sha256
15752 (base32
15753 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
15754 (build-system emacs-build-system)
15755 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15756 (home-page "https://github.com/emacs-helm/helm-ls-git")
15757 (synopsis "Helm interface for listing the files in a Git repository")
15758 (description
15759 "This package provides a Helm interface for Git files.
15760 @itemize
15761 @item Display the open buffers in project.
15762 @item Display a status source showing state of project (modified files etc.).
15763 @item Display a list of all files in project under git control.
15764 @item Quickly look at diffs of modified files.
15765 @item Allow switching to @code{git status} with your preferred frontend
15766 (vc-dir, Magit,etc.).
15767 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
15768 can use ack-grep instead of grep).
15769 @item Integrate usage of gid from id-utils.
15770 @item Full integration with @code{helm-find-files}, allow you to browse
15771 projects unrelated to current-buffer.
15772 @item In addition, all actions of type files and buffers are provided.
15773 @end itemize\n")
15774 (license license:gpl3+))))
15775
15776 (define-public emacs-helm-mu
15777 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
15778 (package
15779 (name "emacs-helm-mu")
15780 (version (git-version "20180513" "1" commit))
15781 (source
15782 (origin
15783 (method git-fetch)
15784 (uri (git-reference
15785 (url "https://github.com/emacs-helm/helm-mu.git")
15786 (commit commit)))
15787 (file-name (git-file-name name version))
15788 (sha256
15789 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
15790 (build-system emacs-build-system)
15791 (propagated-inputs
15792 `(("emacs-helm" ,emacs-helm)
15793 ("mu" ,mu)))
15794 (home-page
15795 "https://github.com/emacs-helm/helm-mu")
15796 (synopsis
15797 "Helm sources for searching emails and contacts")
15798 (description
15799 "Helm sources for searching emails and contacts using @code{mu} and
15800 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
15801 Emacs build on top of mu. Mu is highly efficient making it possible to get
15802 instant results even for huge maildirs. It also provides search operators,
15803 e.g: @code{from:Peter to:Anne flag:attach search term}.")
15804 (license license:gpl3+))))
15805
15806 (define-public emacs-helm-pass
15807 (package
15808 (name "emacs-helm-pass")
15809 (version "0.3")
15810 (source
15811 (origin
15812 (method git-fetch)
15813 (uri (git-reference
15814 (url "https://github.com/emacs-helm/helm-pass")
15815 (commit version)))
15816 (file-name (git-file-name name version))
15817 (sha256
15818 (base32
15819 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
15820 (build-system emacs-build-system)
15821 (propagated-inputs
15822 `(("emacs-helm" ,emacs-helm)
15823 ("emacs-password-store" ,emacs-password-store)))
15824 (home-page "https://github.com/emacs-helm/helm-pass")
15825 (synopsis "Helm interface to pass, the standard Unix password manager")
15826 (description
15827 "Users of @code{helm-pass} may also be interested in functionality
15828 provided by other Emacs packages dealing with pass:
15829 @itemize
15830 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
15831 @item @code{emacs-pass}, a major mode for @code{pass}.
15832 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
15833 @code{pass}, included in Emacs 26+).
15834 @end itemize\n")
15835 (license license:gpl3+)))
15836
15837 (define-public emacs-image+
15838 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
15839 (package
15840 (name "emacs-image+")
15841 (version (git-version "0.6.2" "1" commit))
15842 (source
15843 (origin
15844 (method git-fetch)
15845 (uri (git-reference
15846 (url "https://github.com/mhayashi1120/Emacs-imagex")
15847 (commit commit)))
15848 (file-name (git-file-name name version))
15849 (sha256
15850 (base32
15851 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
15852 (build-system emacs-build-system)
15853 (inputs `(("imagemagick" ,imagemagick)))
15854 (arguments
15855 `(#:phases
15856 (modify-phases %standard-phases
15857 (add-after 'unpack 'configure
15858 (lambda* (#:key inputs outputs #:allow-other-keys)
15859 (let ((imagemagick (assoc-ref inputs "imagemagick")))
15860 ;; Specify the absolute file names of the various
15861 ;; programs so that everything works out-of-the-box.
15862 (chmod "image+.el" #o666)
15863 (emacs-substitute-variables
15864 "image+.el"
15865 ("imagex-convert-command"
15866 (string-append imagemagick "/bin/convert"))
15867 ("imagex-identify-command"
15868 (string-append imagemagick "/bin/identify")))))))))
15869 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
15870 (synopsis "Image manipulation extensions for Emacs")
15871 (description
15872 "Image+ provides keybindings allowing you to zoom in or zoom out of an
15873 image, rotate it, save modified images, and more.")
15874 (license license:gpl3+))))
15875
15876 (define-public emacs-package-lint
15877 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
15878 (package
15879 (name "emacs-package-lint")
15880 (version (git-version "0.5" "1" commit))
15881 (source
15882 (origin
15883 (method git-fetch)
15884 (uri (git-reference
15885 (url "https://github.com/purcell/package-lint")
15886 (commit commit)))
15887 (file-name (git-file-name name version))
15888 (sha256
15889 (base32
15890 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
15891 (build-system emacs-build-system)
15892 (home-page "https://github.com/purcell/package-lint")
15893 (synopsis "Linting library for elisp package authors")
15894 (description
15895 "This provides a list of issues with the Emacs package metadata of a file,
15896 e.g. the package dependencies it requires. See function
15897 @code{package-lint-buffer}. Checks will currently be enabled only if a
15898 \"Package-Requires:\" or \"Package-Version:\" header is present in the
15899 file.")
15900 (license license:gpl3+))))
15901
15902 (define-public emacs-picpocket
15903 (let ((version "40")
15904 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
15905 (package
15906 (name "emacs-picpocket")
15907 (version version)
15908 (source
15909 (origin
15910 (method git-fetch)
15911 (uri (git-reference
15912 (url "https://github.com/johanclaesson/picpocket")
15913 (commit commit)))
15914 (file-name (git-file-name name version))
15915 (sha256
15916 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
15917 (build-system emacs-build-system)
15918 (arguments ; needed for running tests
15919 `(#:tests? #t
15920 #:emacs ,emacs
15921 #:test-command '("emacs" "--batch"
15922 "-l" "picpocket-test.el"
15923 "-f" "ert-run-tests-batch-and-exit")))
15924 (home-page "https://github.com/johanclaesson/picpocket")
15925 (synopsis "Image viewer for Emacs")
15926 (description
15927 "Picpocket is an image viewer for GNU Emacs. It has commands for:
15928
15929 @itemize
15930 @item File operations on the picture files (delete, move, copy, hardlink).
15931 @item Scale and rotate the picture.
15932 @item Associate pictures with tags which are saved to disk.
15933 @item Filter pictures according to tags.
15934 @item Customizing keystrokes for quick tagging and file operations.
15935 @item Undo and browse history of undoable commands.
15936 @end itemize")
15937 (license license:gpl3+))))
15938
15939 (define-public emacs-mu4e-conversation
15940 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
15941 (revision "5"))
15942 (package
15943 (name "emacs-mu4e-conversation")
15944 (version (git-version "0.0.1" revision commit))
15945 (source
15946 (origin
15947 (method git-fetch)
15948 (uri (git-reference
15949 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
15950 (commit commit)))
15951 (file-name (git-file-name name version))
15952 (sha256
15953 (base32
15954 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
15955 (build-system emacs-build-system)
15956 (propagated-inputs
15957 `(("mu" ,mu)))
15958 (home-page
15959 "https://gitlab.com/Ambrevar/mu4e-conversation")
15960 (synopsis
15961 "Show a complete thread in a single buffer")
15962 (description
15963 "This package offers an alternate view to mu4e's e-mail display. It
15964 shows all e-mails of a thread in a single view, where each correspondent has
15965 their own face. Threads can be displayed linearly (in which case e-mails are
15966 displayed in chronological order) or as an Org document where the node tree
15967 maps the thread tree.")
15968 (license license:gpl3+))))
15969
15970 (define-public emacs-pinentry
15971 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
15972 (revision "1"))
15973 (package
15974 (name "emacs-pinentry")
15975 (version (git-version "0.1" revision commit))
15976 (source
15977 (origin
15978 (method url-fetch)
15979 (uri (string-append
15980 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
15981 "/packages/pinentry/pinentry.el?id=" commit))
15982 (file-name (string-append "pinentry.el"))
15983 (sha256
15984 (base32
15985 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
15986 (build-system emacs-build-system)
15987 (propagated-inputs
15988 `(("gnupg" ,gnupg)))
15989 (home-page "https://elpa.gnu.org/packages/pinentry.html")
15990 (synopsis "GnuPG Pinentry server implementation")
15991 (description
15992 "This package allows GnuPG passphrase to be prompted through the
15993 minibuffer instead of graphical dialog.
15994
15995 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
15996 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
15997 server with @code{M-x pinentry-start}.")
15998 (license license:gpl3+))))
15999
16000 (define-public emacs-so-long
16001 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
16002 (revision "2"))
16003 (package
16004 (name "emacs-so-long")
16005 (version (git-version "1.0" revision commit))
16006 (source
16007 (origin
16008 (method git-fetch)
16009 (uri (git-reference
16010 (url "https://git.savannah.gnu.org/git/so-long.git")
16011 (commit commit)))
16012 (file-name (git-file-name name version))
16013 (sha256
16014 (base32
16015 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
16016 (build-system emacs-build-system)
16017 (home-page "https://www.emacswiki.org/emacs/SoLong")
16018 (synopsis "Improve performance in files with long lines")
16019 (description "This package improves the performance of Emacs when
16020 viewing files with long lines.")
16021 (license license:gpl3+))))
16022
16023 (define-public emacs-github-review
16024 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
16025 (revision "2"))
16026 (package
16027 (name "emacs-github-review")
16028 (version (git-version "0.1" revision commit))
16029 (source
16030 (origin
16031 (method git-fetch)
16032 (uri (git-reference
16033 (url "https://github.com/charignon/github-review")
16034 (commit commit)))
16035 (file-name (git-file-name name version))
16036 (sha256
16037 (base32
16038 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
16039 (build-system emacs-build-system)
16040 (inputs
16041 `(("emacs-dash" ,emacs-dash)
16042 ("emacs-s" ,emacs-s)
16043 ("emacs-ghub" ,emacs-ghub)))
16044 (native-inputs
16045 `(("emacs-buttercup" ,emacs-buttercup)
16046 ("emacs-undercover" ,emacs-undercover)))
16047 (arguments
16048 `(#:tests? #t
16049 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
16050 (home-page "https://github.com/charignon/github-review")
16051 (synopsis "Review GitHub pull requests within Emacs")
16052 (description "This package provides commands to pull in, comment on, and
16053 accept and reject GitHub pull requests.")
16054 (license license:gpl3+))))
16055
16056 (define-public emacs-deadgrep
16057 (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
16058 (revision "2"))
16059 (package
16060 (name "emacs-deadgrep")
16061 (version (git-version "0.8" revision commit))
16062 (source
16063 (origin
16064 (method git-fetch)
16065 (uri (git-reference
16066 (url "https://github.com/Wilfred/deadgrep")
16067 (commit commit)))
16068 (file-name (git-file-name name version))
16069 (sha256
16070 (base32
16071 "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
16072 (build-system emacs-build-system)
16073 (inputs
16074 `(("emacs-dash" ,emacs-dash)
16075 ("emacs-s" ,emacs-s)
16076 ("emacs-spinner" ,emacs-spinner)))
16077 (home-page "https://github.com/Wilfred/deadgrep")
16078 (synopsis "Frontend for @code{ripgrep}")
16079 (description "This package provides an Emacs interface for performing
16080 searches with @code{ripgrep}.")
16081 (license license:gpl3+))))
16082
16083 (define-public emacs-focus
16084 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
16085 (version "0.1.1")
16086 (revision "1"))
16087 (package
16088 (name "emacs-focus")
16089 (version (git-version version revision commit))
16090 (source
16091 (origin
16092 (method git-fetch)
16093 (uri (git-reference
16094 (url "https://github.com/larstvei/Focus")
16095 (commit commit)))
16096 (file-name (git-file-name name version))
16097 (sha256
16098 (base32
16099 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
16100 (build-system emacs-build-system)
16101 (home-page "https://github.com/larstvei/Focus")
16102 (synopsis "Minor mode for focusing in on relevant text")
16103 (description "This package provides a minor mode that dims the color of
16104 text in neighboring sections.")
16105 (license license:gpl3+))))
16106
16107 (define-public emacs-pandoc-mode
16108 (package
16109 (name "emacs-pandoc-mode")
16110 (version "2.27.2")
16111 (source
16112 (origin
16113 (method git-fetch)
16114 (uri (git-reference
16115 (url "https://github.com/joostkremers/pandoc-mode")
16116 (commit version)))
16117 (file-name (git-file-name name version))
16118 (sha256
16119 (base32
16120 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
16121 (build-system emacs-build-system)
16122 (propagated-inputs
16123 `(("emacs-dash" ,emacs-dash)
16124 ("emacs-hydra" ,emacs-hydra)))
16125 (home-page "https://github.com/joostkremers/pandoc-mode")
16126 (synopsis "Minor mode for interacting with Pandoc")
16127 (description "This package provides a Hydra menu for interacting with the
16128 Pandoc, the document-conversion tool.")
16129 (license license:bsd-3)))
16130
16131 (define-public emacs-hlint-refactor-mode
16132 (let ((commit "c4307f86aad6d02e32e9b30cb6edc115584c791c")
16133 (revision "1"))
16134 (package
16135 (name "emacs-hlint-refactor-mode")
16136 (version (git-version "0.0.1" revision commit))
16137 (source
16138 (origin
16139 (method git-fetch)
16140 (uri (git-reference
16141 (url "https://github.com/mpickering/hlint-refactor-mode")
16142 (commit commit)))
16143 (file-name (git-file-name name version))
16144 (sha256
16145 (base32
16146 "1c71w9s34n0i7mm4njchxn6s3ri1y6mh3akgbg4nq41d42h8iap3"))))
16147 (build-system emacs-build-system)
16148 (propagated-inputs
16149 `(("apply-refact" ,apply-refact)
16150 ("hlint" ,hlint)))
16151 (home-page "https://github.com/mpickering/hlint-refactor-mode")
16152 (synopsis "Emacs bindings for @code{hlint}'s @code{--refactor} option")
16153 (description "This package applies refactoring suggestions from
16154 @code{hlint}.")
16155 (license license:expat))))
16156
16157 (define-public emacs-ccls
16158 (let ((commit "aab3e31fd716daf59f9794e62d473357263e8cc0")
16159 (revision "4"))
16160 (package
16161 (name "emacs-ccls")
16162 (version (git-version "0.1" revision commit))
16163 (source
16164 (origin
16165 (method git-fetch)
16166 (uri (git-reference
16167 (url "https://github.com/MaskRay/emacs-ccls")
16168 (commit commit)))
16169 (file-name (git-file-name name version))
16170 (sha256
16171 (base32
16172 "1ykgw21ypyhwlyflppjcgqrj1xw4d9rld4z65qvwhk3f12cv113j"))))
16173 (build-system emacs-build-system)
16174 (propagated-inputs
16175 `(("ccls" ,ccls)
16176 ("emacs-dash" ,emacs-dash)
16177 ("emacs-projectile" ,emacs-projectile)
16178 ("emacs-lsp-mode" ,emacs-lsp-mode)))
16179 (home-page "https://github.com/MaskRay/emacs-ccls")
16180 (synopsis "Emacs support for the @code{ccls} language server")
16181 (description "This package extends @code{lsp-mode} to work with @code{C}
16182 and @code{C++} files through the @code{ccls} language server.")
16183 (license license:expat))))
16184
16185 (define-public emacs-org-brain
16186 (package
16187 (name "emacs-org-brain")
16188 (version "0.5")
16189 (source
16190 (origin
16191 (method git-fetch)
16192 (uri (git-reference
16193 (url "https://github.com/Kungsgeten/org-brain.git")
16194 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
16195 (file-name (git-file-name name version))
16196 (sha256
16197 (base32
16198 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
16199 (build-system emacs-build-system)
16200 (home-page "https://github.com/Kungsgeten/org-brain")
16201 (synopsis "Org-mode wiki and concept-mapping for Emacs")
16202 (description "@code{emacs-org-brain} implements a variant of concept
16203 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
16204 org-mode entries, where each entry is a file or a headline, and you can get a
16205 visual overview of the relationships between the entries: parents, children,
16206 siblings and friends. This visual overview can also be used to browse your
16207 entries. You can think of entries as nodes in a mind map, or pages in a
16208 wiki.")
16209 (license license:expat)))
16210
16211 (define-public emacs-recent-addresses
16212 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
16213 (revision "1"))
16214 (package
16215 (name "emacs-recent-addresses")
16216 (home-page "https://nschum.de/src/emacs/recent-addresses/")
16217 (version (git-version "0.1" revision commit))
16218 (source (origin
16219 (method git-fetch)
16220 (uri (git-reference
16221 ;; Note: Use a branch that works with Helm. Submitted
16222 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
16223 (url "https://github.com/civodul/recent-addresses.el")
16224 (commit commit)))
16225 (sha256
16226 (base32
16227 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
16228 (file-name (git-file-name name version))))
16229 (build-system emacs-build-system)
16230 (synopsis "Record recently-used email addressed and auto-complete them")
16231 (description
16232 "@code{recent-addresses} is an Emacs package that allows you to quickly
16233 look up previously used email addresses. It can be used alongside the Gnus
16234 email client.")
16235 (license license:gpl2+))))
16236
16237 (define-public emacs-fold-dwim
16238 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
16239 (revision "0"))
16240 (package
16241 (name "emacs-fold-dwim")
16242 (version (git-version "1.2" revision commit))
16243 (home-page "https://github.com/emacsattic/fold-dwim")
16244 (source (origin
16245 (method git-fetch)
16246 (uri (git-reference (url home-page) (commit commit)))
16247 (sha256
16248 (base32
16249 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
16250 (file-name (git-file-name name version))))
16251 (build-system emacs-build-system)
16252 (synopsis "Unified user interface for Emacs folding modes")
16253 (description
16254 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
16255 can do different things depending on the context. In this package, it means
16256 that, if the cursor is in a currently hidden folded construction, we want to
16257 show it; if it's not, we want to hide whatever fold the cursor is in.")
16258 (license license:gpl2+))))
16259
16260 (define-public emacs-markup-faces
16261 (package
16262 (name "emacs-markup-faces")
16263 (version "1.0.0")
16264 (source
16265 (origin
16266 (method url-fetch)
16267 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
16268 version ".el"))
16269 (sha256
16270 (base32
16271 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
16272 (build-system emacs-build-system)
16273 (home-page "https://github.com/sensorflo/markup-faces")
16274 (synopsis "Collection of Emacs faces for markup language modes")
16275 (description "emacs-markup-faces is like font-lock-faces, but tailored for
16276 markup languages instead programming languages. The sub group markup-faces-text
16277 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
16278 common look and feel, or let's say theme, across different markup language modes
16279 and 'text viewing modes' respectively.")
16280 (license license:gpl3+)))
16281
16282 (define-public emacs-adoc-mode
16283 (package
16284 (name "emacs-adoc-mode")
16285 (version "0.6.6")
16286 (source
16287 (origin
16288 (method git-fetch)
16289 (uri (git-reference
16290 (url "https://github.com/sensorflo/adoc-mode.git")
16291 (commit (string-append "V" version))))
16292 (file-name (git-file-name name version))
16293 (sha256
16294 (base32
16295 "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm"))))
16296 (build-system emacs-build-system)
16297 (arguments
16298 `(#:phases
16299 (modify-phases %standard-phases
16300 ;; See: https://github.com/sensorflo/adoc-mode/issues/39.
16301 (add-after 'unpack 'disable-failing-tests
16302 (lambda _
16303 (let-syntax
16304 ((disable-tests
16305 (syntax-rules ()
16306 ((_ file ())
16307 (syntax-error "test names list must not be empty"))
16308 ((_ file (test-name ...))
16309 (substitute* file
16310 (((string-append "^\\(ert-deftest " test-name ".*") all)
16311 (string-append all "(skip-unless nil)\n")) ...)))))
16312 (disable-tests "adoc-mode-test.el"
16313 ("adoctest-test-tempo-delimited-blocks"
16314 "adoctest-test-tempo-macros"
16315 "adoctest-test-tempo-paragraphs"
16316 "adoctest-test-tempo-passthroug-macros"
16317 "adoctest-test-tempo-quotes")))
16318 #t)))
16319 #:tests? #t
16320 #:test-command '("emacs" "-Q" "-batch"
16321 "-l" "adoc-mode-test.el"
16322 "-f" "ert-run-tests-batch-and-exit")))
16323 (propagated-inputs
16324 `(("emacs-markup-faces" ,emacs-markup-faces)))
16325 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
16326 (synopsis "AsciiDoc mode for Emacs")
16327 (description "This package provides an Emacs major mode for editing AsciiDoc
16328 files. It focuses on highlighting the document to improve readability.")
16329 (license license:gpl2+)))
16330
16331 (define-public emacs-rust-mode
16332 (package
16333 (name "emacs-rust-mode")
16334 (version "0.4.0")
16335 (source (origin
16336 (method git-fetch)
16337 (uri (git-reference
16338 (url "https://github.com/rust-lang/rust-mode")
16339 (commit version)))
16340 (file-name (git-file-name name version))
16341 (sha256
16342 (base32
16343 "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"))))
16344 (build-system emacs-build-system)
16345 (arguments
16346 `(#:phases
16347 (modify-phases %standard-phases
16348 (replace 'check
16349 (lambda _
16350 (invoke "sh" "run_rust_emacs_tests.sh"))))))
16351 (home-page "https://github.com/rust-lang/rust-mode")
16352 (synopsis "Major Emacs mode for editing Rust source code")
16353 (description "This package provides a major Emacs mode for editing Rust
16354 source code.")
16355 (license (list license:expat
16356 license:asl2.0))))
16357
16358 (define-public emacs-ztree
16359 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
16360 (package
16361 (name "emacs-ztree")
16362 (version (git-version "1.0.5" "1" commit))
16363 (source
16364 (origin
16365 (method git-fetch)
16366 (uri (git-reference
16367 (url "https://github.com/fourier/ztree")
16368 (commit commit)))
16369 (file-name (git-file-name name version))
16370 (sha256
16371 (base32
16372 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
16373 (build-system emacs-build-system)
16374 (home-page "https://github.com/fourier/ztree")
16375 (synopsis "Directory tree comparison mode for Emacs")
16376 (description "Ztree is a project dedicated to implementation of several
16377 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
16378 @command{ztree-diff} and @command{ztree-dir} (the basis of
16379 @command{ztree-diff}).")
16380 (license license:gpl3))))
16381
16382 (define-public emacs-helm-org-contacts
16383 (let ((commit "e7f11615802df55bb8b679450b5a5ef82a9081f9"))
16384 (package
16385 (name "emacs-helm-org-contacts")
16386 (version (git-version "20200310" "1" commit))
16387 (source
16388 (origin
16389 (method git-fetch)
16390 (uri (git-reference
16391 (url "https://github.com/tmalsburg/helm-org-contacts")
16392 (commit commit)))
16393 (file-name (git-file-name name version))
16394 (sha256
16395 (base32
16396 "06a1gbrq3qcfsn0kyv4i24x1xxfrrwqa3kgfj4xa4va88q2vqyb5"))))
16397 (build-system emacs-build-system)
16398 (propagated-inputs
16399 `(("emacs-dash" ,emacs-dash)
16400 ("emacs-helm" ,emacs-helm)
16401 ("emacs-s" ,emacs-s)))
16402 (home-page "https://github.com/tmalsburg/helm-org-contacts")
16403 (synopsis "Helm source for org-contacts")
16404 (description "This Helm source can be used to search contacts stored in
16405 org-contacts format. There are actions for inserting postal addresses, email
16406 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
16407 was called.")
16408 (license license:gpl3))))
16409
16410 (define-public emacs-dired-du
16411 (package
16412 (name "emacs-dired-du")
16413 (version "0.5.2")
16414 (source
16415 (origin
16416 (method url-fetch)
16417 (uri (string-append
16418 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
16419 (sha256
16420 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
16421 (build-system emacs-build-system)
16422 (home-page "https://elpa.gnu.org/packages/dired-du.html")
16423 (synopsis "Dired with recursive directory sizes")
16424 (description
16425 "Display the recursive size of directories in Dired.
16426 This file defines a minor mode @command{dired-du-mode} to show the recursive
16427 size of directories in Dired buffers. If @command{du} program is available,
16428 then the directory sizes are obtained with it. Otherwise, the directory sizes
16429 are obtained with Lisp. The former is faster and provide a more precise
16430 value. For directories where the user doesn't have read permission, the
16431 recursive size is not obtained. Once this mode is enabled, every new Dired
16432 buffer displays recursive dir sizes.")
16433 (license license:gpl3+)))
16434
16435 (define-public emacs-dired-rsync
16436 (package
16437 (name "emacs-dired-rsync")
16438 (version "0.4")
16439 (source (origin
16440 (method git-fetch)
16441 (uri (git-reference
16442 (url "https://github.com/stsquad/dired-rsync.git")
16443 (commit version)))
16444 (file-name (git-file-name name version))
16445 (sha256
16446 (base32
16447 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
16448 (build-system emacs-build-system)
16449 (propagated-inputs
16450 `(("emacs-s" ,emacs-s)
16451 ("emacs-dash" ,emacs-dash)))
16452 (home-page "https://github.com/stsquad/dired-rsync/")
16453 (synopsis "Support for rsync from Emacs dired buffers")
16454 (description "This package adds a single command @code{dired-rsync} which
16455 allows the user to copy marked files in a dired buffer via @code{rsync}. This
16456 is useful, especially for large files, because the copy happens in the
16457 background and doesn’t lock up Emacs. It is also more efficient than using
16458 tramps own encoding methods for moving data between systems.")
16459 (license license:gpl3+)))
16460
16461 (define-public emacs-pcre2el
16462 ;; Last release is very old so we get the latest commit.
16463 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
16464 (package
16465 (name "emacs-pcre2el")
16466 (version (git-version "1.8" "1" commit))
16467 (source
16468 (origin
16469 (method git-fetch)
16470 (uri (git-reference
16471 (url "https://github.com/joddie/pcre2el")
16472 (commit commit)))
16473 (file-name (git-file-name name version))
16474 (sha256
16475 (base32
16476 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
16477 (build-system emacs-build-system)
16478 (home-page "https://github.com/joddie/pcre2el")
16479 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
16480 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
16481 Tools) is a utility for working with regular expressions in Emacs, based on a
16482 recursive-descent parser for regexp syntax. In addition to converting (a
16483 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
16484
16485 @itemize
16486 @item convert Emacs syntax to PCRE
16487 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
16488 @item untangle complex regexps by showing the parse tree in @code{rx} form and
16489 highlighting the corresponding chunks of code
16490 @item show the complete list of strings (productions) matching a regexp,
16491 provided the list is finite
16492 @item provide live font-locking of regexp syntax (so far only for Elisp
16493 buffers – other modes on the TODO list).
16494 @end itemize\n")
16495 (license license:gpl3))))
16496
16497 (define-public emacs-magit-todos
16498 (package
16499 (name "emacs-magit-todos")
16500 (version "1.4.1")
16501 (source
16502 (origin
16503 (method git-fetch)
16504 (uri (git-reference
16505 (url "https://github.com/alphapapa/magit-todos")
16506 (commit version)))
16507 (file-name (git-file-name name version))
16508 (sha256
16509 (base32
16510 "1rcl6j53yabxqk3jzgaxvm3wqq7rayf1hdib2v2fapw5b0layym6"))))
16511 (build-system emacs-build-system)
16512 (propagated-inputs
16513 `(("emacs-async" ,emacs-async)
16514 ("emacs-dash" ,emacs-dash)
16515 ("emacs-f" ,emacs-f)
16516 ("emacs-hl-todo" ,emacs-hl-todo)
16517 ("magit" ,emacs-magit)
16518 ("emacs-pcre2el" ,emacs-pcre2el)
16519 ("emacs-s" ,emacs-s)))
16520 (home-page "https://github.com/alphapapa/magit-todos")
16521 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
16522 (description "This package displays keyword entries from source code
16523 comments and Org files in the Magit status buffer. Activating an item jumps
16524 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
16525 few (like NOTE).")
16526 (license license:gpl3)))
16527
16528 (define-public emacs-git-annex
16529 ;; Unreleased version has a fontification fix.
16530 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
16531 (revision "2"))
16532 (package
16533 (name "emacs-git-annex")
16534 (version (git-version "1.1" revision commit))
16535 (source
16536 (origin
16537 (method git-fetch)
16538 (uri (git-reference
16539 (url "https://github.com/jwiegley/git-annex-el")
16540 (commit commit)))
16541 (file-name (git-file-name name version))
16542 (sha256
16543 (base32
16544 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
16545 (build-system emacs-build-system)
16546 (home-page "https://github.com/jwiegley/git-annex-el")
16547 (synopsis "Emacs integration for git-annex")
16548 (description "Enhances Dired and buffers visiting annex files with
16549 git-annex functionality. In Dired, the names of annex files are shortened by
16550 hiding the symbolic links and fontified based on whether content is present.
16551 Commands for performing some common operations (e.g., unlocking and adding
16552 files) are provided.")
16553 (license license:gpl2+))))
16554
16555 (define-public emacs-hackernews
16556 (let ((commit "2362d7b00e59da7caddc8c0adc24dccb42fddef9")
16557 (revision "2"))
16558 (package
16559 (name "emacs-hackernews")
16560 (version (git-version "0.5.0" revision commit))
16561 (source
16562 (origin
16563 (method git-fetch)
16564 (uri (git-reference
16565 (url "https://github.com/clarete/hackernews.el")
16566 (commit commit)))
16567 (file-name (git-file-name name version))
16568 (sha256
16569 (base32
16570 "1hcc5b173yzcvvd2ls3jxrmsw2w9bi21m9hcpcirkn0nh93ywadv"))))
16571 (build-system emacs-build-system)
16572 (home-page "https://github.com/clarete/hackernews.el")
16573 (synopsis "Hacker News client for Emacs")
16574 (description "The @command{hackernews} package is able to fetch stories
16575 from six different Hacker News feeds, namely top, new, best, ask, show and job
16576 stories. The default feed is top stories, which corresponds to the Hacker
16577 News homepage.")
16578 (license license:gpl3))))
16579
16580 (define-public emacs-youtube-dl
16581 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
16582 (revision "2"))
16583 (package
16584 (name "emacs-youtube-dl")
16585 (version (git-version "1.0" "2" commit))
16586 (source
16587 (origin
16588 (method git-fetch)
16589 (uri (git-reference
16590 (url "https://github.com/skeeto/youtube-dl-emacs/")
16591 (commit commit)))
16592 (file-name (git-file-name name version))
16593 (sha256
16594 (base32
16595 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
16596 (build-system emacs-build-system)
16597 (inputs
16598 `(("youtube-dl" ,youtube-dl)))
16599 (arguments
16600 `(#:phases
16601 (modify-phases %standard-phases
16602 (add-after 'unpack 'configure
16603 (lambda* (#:key inputs #:allow-other-keys)
16604 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
16605 ;; .el is read-only in git.
16606 (chmod "youtube-dl.el" #o644)
16607 ;; Specify the absolute file names of the various
16608 ;; programs so that everything works out-of-the-box.
16609 (emacs-substitute-variables
16610 "youtube-dl.el"
16611 ("youtube-dl-program"
16612 (string-append youtube-dl "/bin/youtube-dl")))))))))
16613 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
16614 (synopsis "Emacs youtube-dl download manager")
16615 (description "This package manages a video download queue for
16616 @command{youtube-dl}, which serves as the back end. It manages a single
16617 @command{youtube-dl} subprocess, downloading one video at a time. New videos
16618 can be queued at any time.")
16619 (license license:unlicense))))
16620
16621 (define-public emacs-org-web-tools
16622 (package
16623 (name "emacs-org-web-tools")
16624 (version "1.0")
16625 (source
16626 (origin
16627 (method git-fetch)
16628 (uri (git-reference
16629 (url "https://github.com/alphapapa/org-web-tools")
16630 (commit version)))
16631 (file-name (git-file-name name version))
16632 (sha256
16633 (base32
16634 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
16635 (build-system emacs-build-system)
16636 (propagated-inputs
16637 `(("emacs-dash" ,emacs-dash)
16638 ("emacs-esxml" ,emacs-esxml)
16639 ("emacs-s" ,emacs-s)))
16640 (inputs
16641 `(("pandoc" ,ghc-pandoc)))
16642 (arguments
16643 `(#:phases
16644 (modify-phases %standard-phases
16645 (add-after 'unpack 'patch-exec-paths
16646 (lambda* (#:key inputs #:allow-other-keys)
16647 (let ((pandoc (assoc-ref inputs "pandoc")))
16648 (substitute* "org-web-tools.el"
16649 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
16650 #t))))))
16651 (home-page "https://github.com/alphapapa/org-web-tools")
16652 (synopsis "Display/Process web page as Org-mode content")
16653 (description "This package contains library functions and commands useful
16654 for retrieving web page content and processing it into Org-mode content.
16655
16656 For example, you can copy a URL to the clipboard or kill-ring, then run a
16657 command that downloads the page, isolates the “readable” content with
16658 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
16659 displays it in an Org-mode buffer. Another command does all of that but
16660 inserts it as an Org entry instead of displaying it in a new buffer.")
16661 (license license:gpl3+)))
16662
16663 (define-public emacs-blimp
16664 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
16665 (package
16666 (name "emacs-blimp")
16667 (version (git-version "0.0.0" "1" commit))
16668 (source
16669 (origin
16670 (method git-fetch)
16671 (uri (git-reference
16672 (url "https://github.com/walseb/blimp")
16673 (commit commit)))
16674 (file-name (git-file-name name version))
16675 (sha256
16676 (base32
16677 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
16678 (build-system emacs-build-system)
16679 (propagated-inputs
16680 `(("emacs-eimp" ,emacs-eimp)))
16681 (home-page "https://github.com/walseb/blimp")
16682 (synopsis "Emacs wrapper around all Imagemagick commands")
16683 (description "Blimp (Bustling Image Manipulation Package) is a complete
16684 wrapper around all Imagemagick commands with descriptions, autocompletion (for
16685 some commands) and hints displayed in prompt using @command{eimp.el} to
16686 execute its commands and resize images.")
16687 (license license:gpl3+))))
16688
16689 (define-public emacs-synosaurus
16690 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
16691 (package
16692 (name "emacs-synosaurus")
16693 (version (git-version "0.1.0" "1" commit))
16694 (source
16695 (origin
16696 (method git-fetch)
16697 (uri (git-reference
16698 (url "https://github.com/hpdeifel/synosaurus")
16699 (commit commit)))
16700 (file-name (git-file-name name version))
16701 (sha256
16702 (base32
16703 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
16704 (build-system emacs-build-system)
16705 (propagated-inputs
16706 `(("wordnet" ,wordnet)))
16707 (arguments
16708 `(#:phases
16709 (modify-phases %standard-phases
16710 (add-after 'unpack 'configure
16711 (lambda* (#:key inputs outputs #:allow-other-keys)
16712 (let ((wn (assoc-ref inputs "wordnet")))
16713 ;; .el is read-only in git.
16714 (chmod "synosaurus-wordnet.el" #o644)
16715 ;; Specify the absolute file names of the various
16716 ;; programs so that everything works out-of-the-box.
16717 (emacs-substitute-variables
16718 "synosaurus-wordnet.el"
16719 ("wordnet-command"
16720 (string-append wn "/bin/wn")))))))))
16721 (home-page "https://github.com/hpdeifel/synosaurus")
16722 (synopsis "Extensible thesaurus mode for Emacs")
16723 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
16724 backends, including the @command{wordnet} offline backend.")
16725 (license license:gpl3+))))
16726
16727 (define-public emacs-editorconfig
16728 (package
16729 (name "emacs-editorconfig")
16730 (version "0.8.1")
16731 (source
16732 (origin
16733 (method git-fetch)
16734 (uri (git-reference
16735 (url "https://github.com/editorconfig/editorconfig-emacs")
16736 (commit (string-append "v" version))))
16737 (file-name (git-file-name name version))
16738 (sha256
16739 (base32
16740 "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
16741 (build-system emacs-build-system)
16742 (home-page "https://github.com/editorconfig/editorconfig-emacs")
16743 (synopsis "Define and maintain consistent coding styles between different
16744 editors and IDEs")
16745 (description "The EditorConfig project consists of a file format for
16746 defining coding styles and a collection of text editor plugins that enable
16747 editors to read the file format and adhere to defined styles. EditorConfig
16748 files are easily readable and they work nicely with version control systems.")
16749 (license license:gpl3+)))
16750
16751 (define-public emacs-all-the-icons
16752 (package
16753 (name "emacs-all-the-icons")
16754 (version "3.2.0")
16755 (source
16756 (origin
16757 (method git-fetch)
16758 (uri (git-reference
16759 (url "https://github.com/domtronn/all-the-icons.el.git")
16760 (commit version)))
16761 (file-name (git-file-name name version))
16762 (sha256
16763 (base32
16764 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
16765 (build-system emacs-build-system)
16766 (arguments
16767 `(#:include '("\\.el$" "^data/" "^fonts/")
16768 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
16769 ;; all-the-icons--root-code". Ignoring tests.
16770 #:exclude '("^test/")
16771 #:tests? #f))
16772 (propagated-inputs
16773 `(("f" ,emacs-f)
16774 ("memoize" ,emacs-memoize)))
16775 (home-page "https://github.com/domtronn/all-the-icons.el")
16776 (synopsis "Collect icon fonts and propertize them within Emacs")
16777 (description "All-the-icons is a utility package to collect various icon
16778 fonts and propertize them within Emacs. Icon fonts allow you to propertize
16779 and format icons the same way you would normal text. This enables things such
16780 as better scaling of and anti aliasing of the icons.")
16781 ;; Package is released under Expat license. Elisp files are licensed
16782 ;; under GPL3+. Fonts come with various licenses: Expat for
16783 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
16784 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
16785 ;; "ocitcons.ttf" and "weathericons.ttf".
16786 (license
16787 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
16788
16789 (define-public emacs-wttrin
16790 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
16791 (revision "1"))
16792 (package
16793 (name "emacs-wttrin")
16794 (version (git-version "0.2.0" revision commit))
16795 (source (origin
16796 (method git-fetch)
16797 (uri (git-reference
16798 (url "https://github.com/bcbcarl/emacs-wttrin.git")
16799 (commit commit)))
16800 (file-name (git-file-name name version))
16801 (sha256
16802 (base32
16803 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
16804 (build-system emacs-build-system)
16805 (propagated-inputs
16806 `(("emacs-xterm-color" ,emacs-xterm-color)))
16807 (home-page "https://github.com/bcbcarl/emacs-wttrin")
16808 (synopsis "Frontend for weather web service @url{wttr.in}")
16809 (description "This package provides local weather information from
16810 @url{wttr.in}.")
16811 (license license:expat))))
16812
16813 (define-public emacs-powerline
16814 (package
16815 (name "emacs-powerline")
16816 (version "2.4")
16817 (source
16818 (origin
16819 (method git-fetch)
16820 (uri (git-reference
16821 (url "https://github.com/milkypostman/powerline.git")
16822 (commit version)))
16823 (file-name (git-file-name name version))
16824 (sha256
16825 (base32
16826 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
16827 (build-system emacs-build-system)
16828 (home-page "https://github.com/milkypostman/powerline/")
16829 (synopsis "Mode-line plugin for Emacs")
16830 (description "Powerline is a utility plugin which allows you to create
16831 a better-looking, more functional Emacs mode-line. A collection of predefined
16832 themes comes with the package.")
16833 (license license:gpl3+)))
16834
16835 (define-public emacs-spaceline
16836 (package
16837 (name "emacs-spaceline")
16838 (version "2.0.1")
16839 (source
16840 (origin
16841 (method git-fetch)
16842 (uri (git-reference
16843 (url "https://github.com/TheBB/spaceline.git")
16844 (commit (string-append "v" version))))
16845 (file-name (git-file-name name version))
16846 (sha256
16847 (base32
16848 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
16849 (build-system emacs-build-system)
16850 (propagated-inputs
16851 `(("dash" ,emacs-dash)
16852 ("powerline" ,emacs-powerline)
16853 ("s" ,emacs-s)))
16854 (home-page "https://github.com/TheBB/spaceline")
16855 (synopsis "Powerline theme from Spacemacs")
16856 (description "Spaceline provides Spacemacs' mode-line theme.
16857 This package provides features for three kinds of users.
16858
16859 @itemize
16860 @item You just want to use the Spacemacs mode-line theme and forget about it.
16861 @item You want to use something similar to the Spacemacs mode-line theme, but
16862 with a handful of easy tweaks.
16863 @item You want an easy-to-use library for building your own mode-line from
16864 scratch, and you think the Spacemacs theme looks good.
16865 @end itemize")
16866 (license license:gpl3+)))
16867
16868 (define-public emacs-column-marker
16869 (package
16870 (name "emacs-column-marker")
16871 (version "9")
16872 (source
16873 (origin
16874 (method url-fetch)
16875 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
16876 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
16877 (build-system emacs-build-system)
16878 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
16879 (synopsis "Emacs mode for highlighting columns")
16880 (description
16881 "With @code{column-marker.el} you can highlight any number of text columns.
16882 Three such highlight column markers are provided by default. This is
16883 especially useful for languages like COBOL or Fortran where certain columns
16884 have special meaning. It is also handy for aligning text across long vertical
16885 distances. Multi-column characters, such as @kbd{TAB} are treated
16886 correctly.")
16887 (license license:gpl2+)))
16888
16889 (define-public emacs-slime-repl-ansi-color
16890 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
16891 (package
16892 (name "emacs-slime-repl-ansi-color")
16893 (version (git-version "0.0.0" "1" commit))
16894 (source (origin
16895 (method git-fetch)
16896 (uri (git-reference
16897 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
16898 (commit commit)))
16899 (file-name (git-file-name name version))
16900 (sha256
16901 (base32
16902 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
16903 (build-system emacs-build-system)
16904 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
16905 (synopsis "Color ANSI codes in the REPL of SLIME")
16906 (description "Color ANSI codes in the REPL of SLIME")
16907 (license license:gpl2+))))
16908
16909 (define-public emacs-helm-slime
16910 (package
16911 (name "emacs-helm-slime")
16912 (version "0.4.0")
16913 (source (origin
16914 (method git-fetch)
16915 (uri (git-reference
16916 (url "https://github.com/emacs-helm/helm-slime")
16917 (commit version)))
16918 (file-name (git-file-name name version))
16919 (sha256
16920 (base32
16921 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
16922 (build-system emacs-build-system)
16923 (propagated-inputs
16924 `(("emacs-helm" ,emacs-helm)
16925 ("emacs-slime" ,emacs-slime)))
16926 (home-page "https://github.com/emacs-helm/helm-slime")
16927 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
16928 (description "Helm-SLIME defines a few new commands:
16929
16930 @itemize
16931 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
16932 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
16933 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
16934 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
16935 @end itemize\n")
16936 (license license:gpl3+)))
16937
16938 (define-public emacs-helm-sly
16939 (package
16940 (name "emacs-helm-sly")
16941 (version "0.4.1")
16942 (source (origin
16943 (method git-fetch)
16944 (uri (git-reference
16945 (url "https://github.com/emacs-helm/helm-sly")
16946 (commit version)))
16947 (file-name (git-file-name name version))
16948 (sha256
16949 (base32
16950 "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"))))
16951 (build-system emacs-build-system)
16952 (propagated-inputs
16953 `(("emacs-helm" ,emacs-helm)
16954 ("emacs-sly" ,emacs-sly)))
16955 (home-page "https://github.com/emacs-helm/helm-sly")
16956 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
16957 (description "Helm-SLY defines a few new commands:
16958
16959 @itemize
16960 @item helm-sly-list-connections: Yet another Lisp connection list with Helm.
16961 @item: helm-sly-apropos: Yet another @command{apropos} with Helm.
16962 @item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an
16963 extra source of Lisp-related buffers, like the events buffer or the scratch
16964 buffer.
16965 @end itemize\n")
16966 (license license:gpl3+)))
16967
16968 (define-public emacs-gtk-look
16969 (package
16970 (name "emacs-gtk-look")
16971 (version "29")
16972 (source (origin
16973 (method url-fetch)
16974 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
16975 (sha256
16976 (base32
16977 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
16978 (build-system emacs-build-system)
16979 (arguments
16980 `(#:phases
16981 (modify-phases %standard-phases
16982 (add-after 'unpack 'configure
16983 (lambda _
16984 ;; File is read-only.
16985 (chmod "gtk-look.el" #o644)
16986 (emacs-substitute-variables "gtk-look.el"
16987 ("gtk-lookup-devhelp-indices"
16988 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
16989 #t)))))
16990 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
16991 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
16992 (description "@command{gtk-look} finds and displays HTML documentation for
16993 GTK, GNOME and Glib functions and variables in Emacs, similar to what
16994 info-lookup-symbol does for info files (C-h S). The documentation is expected
16995 to be devhelp indexes with HTML files. The location of the indexes can be
16996 customized. In addition to C code development @command{gtk-look} is good for
16997
16998 @itemize
16999 @item @command{perl-gtk2}, recognising class funcs like
17000 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
17001 @item @command{guile-gnome}, recognising methods like @command{set-text} and
17002 classes like @command{<gtk-window>}.
17003 @end itemize\n")
17004 (license license:gpl3+)))
17005
17006 (define-public emacs-ov
17007 (package
17008 (name "emacs-ov")
17009 (version "1.0.6")
17010 (source (origin
17011 (method git-fetch)
17012 (uri (git-reference
17013 (url "https://github.com/ShingoFukuyama/ov.el.git")
17014 (commit version)))
17015 (file-name (git-file-name name version))
17016 (sha256
17017 (base32
17018 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
17019 (build-system emacs-build-system)
17020 (home-page "https://github.com/ShingoFukuyama/ov.el")
17021 (synopsis "Overlay library for Emacs Lisp")
17022 (description "@code{ov.el} provides a simple way to manipulate overlays in
17023 Emacs.")
17024 (license license:gpl3+)))
17025
17026 (define-public emacs-matrix-client
17027 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
17028 (package
17029 (name "emacs-matrix-client")
17030 (version (git-version "0.0.0" "4" commit))
17031 (source (origin
17032 (method git-fetch)
17033 (uri (git-reference
17034 (url "https://github.com/jgkamat/matrix-client-el.git")
17035 (commit commit)))
17036 (file-name (git-file-name name version))
17037 (sha256
17038 (base32
17039 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
17040 (build-system emacs-build-system)
17041 (arguments
17042 `(#:phases
17043 (modify-phases %standard-phases
17044 (add-after 'unpack 'add-missing-require
17045 ;; Fix a filter error at runtime due to a missing require.
17046 ;; Reported upstream:
17047 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
17048 (lambda _
17049 (substitute* "matrix-client-room.el"
17050 (("\\(require 'dash-functional\\)" all)
17051 (string-append all "\n" "(require 'anaphora)")))
17052 #t)))))
17053 (propagated-inputs
17054 `(("a" ,emacs-a)
17055 ("anaphora" ,emacs-anaphora)
17056 ("dash" ,emacs-dash)
17057 ("esxml" ,emacs-esxml)
17058 ("f" ,emacs-f)
17059 ("frame-purpose" ,emacs-frame-purpose)
17060 ("ht" ,emacs-ht)
17061 ("ov" ,emacs-ov)
17062 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
17063 ("request" ,emacs-request)
17064 ("s" ,emacs-s)
17065 ("tracking" ,emacs-tracking)))
17066 (home-page "https://github.com/jgkamat/matrix-client-el")
17067 (synopsis "Matrix client for Emacs")
17068 (description "@code{matrix-client} is a simple chat UI to Matrix.org
17069 rooms. It also provides an API which allows Emacs to seamlessly create
17070 RPC channels with users and other software.")
17071 (license license:gpl3+))))
17072
17073 (define-public emacs-sesman
17074 (package
17075 (name "emacs-sesman")
17076 (version "0.3.4")
17077 (source
17078 (origin
17079 (method git-fetch)
17080 (uri (git-reference
17081 (url "https://github.com/vspinu/sesman.git")
17082 (commit (string-append "v" version))))
17083 (file-name (git-file-name name version))
17084 (sha256
17085 (base32
17086 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
17087 (build-system emacs-build-system)
17088 (arguments
17089 `(#:phases
17090 (modify-phases %standard-phases
17091 (add-after 'unpack 'set-shell
17092 ;; Setting the SHELL environment variable is required for the tests
17093 ;; to find sh.
17094 (lambda _
17095 (setenv "SHELL" (which "sh"))
17096 #t)))
17097 #:tests? #t
17098 #:test-command '("make" "test")))
17099 (home-page "https://github.com/vspinu/sesman")
17100 (synopsis "Session manager for Emacs based IDEs")
17101 (description "Sesman provides facilities for session management and
17102 interactive session association with the current contexts (project, directory,
17103 buffers). While sesman can be used to manage arbitrary sessions, it primary
17104 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
17105 (license license:gpl3+)))
17106
17107 (define-public emacs-buttercup
17108 (package
17109 (name "emacs-buttercup")
17110 (version "1.16")
17111 (source
17112 (origin
17113 (method git-fetch)
17114 (uri (git-reference
17115 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
17116 (commit (string-append "v" version))))
17117 (file-name (git-file-name name version))
17118 (sha256
17119 (base32
17120 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
17121 (build-system emacs-build-system)
17122 (arguments
17123 `(#:tests? #t
17124 #:test-command '("make" "test")
17125 #:phases
17126 (modify-phases %standard-phases
17127 (add-after 'install 'install-bin
17128 (lambda* (#:key outputs #:allow-other-keys)
17129 (install-file "bin/buttercup"
17130 (string-append (assoc-ref outputs "out") "/bin"))
17131 #t)))))
17132 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
17133 (synopsis "Behavior driven emacs lisp testing framework")
17134 (description "Buttercup is a behavior-driven development framework for
17135 testing Emacs Lisp code. It allows to group related tests so they can share
17136 common set-up and tear-down code, and allows the programmer to \"spy\" on
17137 functions to ensure they are called with the right arguments during testing.")
17138 (license license:gpl3+)))
17139
17140 (define-public emacs-wordnut
17141 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
17142 (revision "0"))
17143 (package
17144 (name "emacs-wordnut")
17145 (version (git-version "0.1" revision commit))
17146 (home-page "https://github.com/gromnitsky/wordnut")
17147 (source (origin
17148 (method git-fetch)
17149 (uri (git-reference (url home-page) (commit commit)))
17150 (sha256
17151 (base32
17152 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
17153 (patches
17154 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
17155 (file-name (git-file-name name version))))
17156 (build-system emacs-build-system)
17157 (propagated-inputs
17158 `(("wordnet" ,wordnet)
17159 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
17160 (synopsis "Major mode for WordNet")
17161 (description "This Emacs package provides an interface for
17162 @code{wordnet}. Features include completion, if the query is not found
17163 too ambiguous and navigation in the result buffer.")
17164 (license license:gpl3+))))
17165
17166 (define-public emacs-frame-purpose
17167 (package
17168 (name "emacs-frame-purpose")
17169 (version "1.0")
17170 (source (origin
17171 (method git-fetch)
17172 (uri (git-reference
17173 (url "https://github.com/alphapapa/frame-purpose.el.git")
17174 (commit version)))
17175 (sha256
17176 (base32
17177 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
17178 (file-name (git-file-name name version))))
17179 (build-system emacs-build-system)
17180 (inputs
17181 `(("dash" ,emacs-dash)))
17182 (synopsis "Purpose-specific frames for Emacs")
17183 (description "@code{frame-purpose} makes it easy to open purpose-specific
17184 frames that only show certain buffers, e.g. by buffers’ major mode, their
17185 filename or directory, etc, with custom frame/X-window titles, icons, and
17186 other frame parameters.")
17187 (home-page "https://github.com/alphapapa/frame-purpose.el")
17188 (license license:gpl3+)))
17189
17190 (define-public emacs-arduino-mode
17191 (let ((commit "23ae47c9f28f559e70b790b471f20310e163a39b")
17192 (revision "1")) ;no release yet
17193 (package
17194 (name "emacs-arduino-mode")
17195 (version (git-version "0" revision commit))
17196 (source (origin
17197 (method git-fetch)
17198 (uri (git-reference
17199 (url "https://github.com/stardiviner/arduino-mode.git")
17200 (commit commit)))
17201 (sha256
17202 (base32
17203 "08vnbz9gpah1l93fzfd87aawrhcnh2v1kyfxgsn88pdwg8awz8rx"))
17204 (file-name (git-file-name name version))))
17205 (build-system emacs-build-system)
17206 (inputs
17207 `(("spinner" ,emacs-spinner)
17208 ("flycheck" ,emacs-flycheck)))
17209 (arguments
17210 `(#:phases
17211 (modify-phases %standard-phases
17212 ;; Emacs complains that "defmethod" and "defgeneric" are obsolete
17213 ;; macros when compiling. Substitute them with the recommended
17214 ;; macros "cl-defmethod" and "cl-defgeneric", respectively.
17215 (add-after 'unpack 'fix-obsolete
17216 (lambda _
17217 (substitute* "ede-arduino.el"
17218 (("defmethod") "cl-defmethod")
17219 (("defgeneric") "cl-defgeneric"))
17220 #t)))))
17221 (synopsis "Emacs major mode for editing Arduino sketches")
17222 (description "Emacs major mode for editing Arduino sketches.")
17223 (home-page "https://github.com/stardiviner/arduino-mode")
17224 (license license:gpl3+))))
17225
17226 (define-public emacs-annalist
17227 (let ((commit "e0601539c9ac0171a684ea3ff6266d215d1d08e6")
17228 (revision "1"))
17229 (package
17230 (name "emacs-annalist")
17231 (version (git-version "1.0.0" revision commit))
17232 (source (origin
17233 (method git-fetch)
17234 (uri (git-reference
17235 (url "https://github.com/noctuid/annalist.el.git")
17236 (commit commit)))
17237 (sha256
17238 (base32
17239 "10bmimdzpi6cql4sb2hbgdvrza83xbac50bi9qng4z662pfnlaam"))
17240 (file-name (git-file-name name version))))
17241 (build-system emacs-build-system)
17242 (native-inputs
17243 `(("emacs-buttercup" ,emacs-buttercup)
17244 ("emacs-lispy" ,emacs-lispy)
17245 ("emacs-evil" ,emacs-evil)))
17246 (arguments
17247 `(#:phases
17248 (modify-phases %standard-phases
17249 (add-before 'check 'fix-makefile
17250 (lambda _
17251 (substitute* "Makefile"
17252 (("cask exec ") ""))
17253 #t)))
17254 #:tests? #t
17255 #:test-command '("make" "test")))
17256 (home-page "https://github.com/noctuid/annalist.el")
17257 (synopsis "Record and display information with Org headings and tables")
17258 (description "This package allows for keybindings, settings, hooks, and
17259 advice to be recorded and displayed.")
17260 (license license:gpl3+))))
17261
17262 (define-public emacs-general
17263 (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e")
17264 (revision "3"))
17265 (package
17266 (name "emacs-general")
17267 (version (git-version "0" revision commit))
17268 (source (origin
17269 (method git-fetch)
17270 (uri (git-reference
17271 (url "https://github.com/noctuid/general.el.git")
17272 (commit commit)))
17273 (sha256
17274 (base32
17275 "1aqi5axkwfng6rm52sblf738c7rffp10sqs69dvkh2fv3ps8q28i"))
17276 (file-name (git-file-name name version))))
17277 (build-system emacs-build-system)
17278 (native-inputs
17279 `(("emacs-buttercup" ,emacs-buttercup)
17280 ("emacs-evil" ,emacs-evil)
17281 ("emacs-which-key" ,emacs-which-key)
17282 ("emacs-use-package" ,emacs-use-package)))
17283 (arguments
17284 `(#:phases
17285 (modify-phases %standard-phases
17286 (add-before 'check 'fix-makefile
17287 (lambda _
17288 (substitute* "Makefile"
17289 (("cask exec ") ""))
17290 #t)))
17291 #:tests? #t
17292 #:test-command '("make" "test")))
17293 (home-page "https://github.com/noctuid/general.el")
17294 (synopsis "More convenient key definitions in emacs")
17295 (description "@code{general.el} provides a more convenient method for
17296 binding keys in emacs (for both evil and non-evil users). Like
17297 @code{use-package}, which provides a convenient, unified interface for
17298 managing packages, @code{general.el} is intended to provide a convenient,
17299 unified interface for key definitions. While this package does implement some
17300 completely new functionality (such as the ability to make vim-style
17301 keybindings under non-prefix keys with an optional timeout), its primary
17302 purpose is to build on existing functionality to make key definition more
17303 clear and concise. @code{general-define-key} is user-extensible and supports
17304 defining multiple keys in multiple keymaps at once, implicitly wrapping key
17305 strings with (@code{kbd ...}), using named prefix key sequences (like the
17306 leader key in vim), and much more.")
17307 (license license:gpl3+))))
17308
17309 (define-public emacs-tldr
17310 (let ((commit "7203d1be3dcbf12131846ffe06601933fa874d74"))
17311 (package
17312 (name "emacs-tldr")
17313 (version (git-version "0" "1" commit))
17314 (home-page "https://github.com/kuanyui/tldr.el")
17315 (source (origin
17316 (method git-fetch)
17317 (uri (git-reference
17318 (url (string-append home-page ".git"))
17319 (commit commit)))
17320 (sha256
17321 (base32
17322 "1bw6la463l2yfm7rp76ga4makfy4kpxgwi7ni5gxk31w11g26ryk"))
17323 (file-name (git-file-name name version))))
17324 (build-system emacs-build-system)
17325 (propagated-inputs
17326 `(("emacs-request" ,emacs-request)))
17327 (synopsis "Simplified and community-driven man pages for Emacs")
17328 (description "@code{emacs-tldr} allows the user to access tldr pages
17329 from within emacs. The @code{tldr} pages are a community effort to simplify
17330 the man pages with practical examples.")
17331 (license license:wtfpl2))))
17332
17333 (define-public emacs-window-layout
17334 (package
17335 (name "emacs-window-layout")
17336 (version "1.4")
17337 (home-page "https://github.com/kiwanami/emacs-window-layout")
17338 (source (origin
17339 (method git-fetch)
17340 (uri (git-reference
17341 (url home-page)
17342 (commit (string-append "v" version))))
17343 (sha256
17344 (base32
17345 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
17346 (file-name (git-file-name name version))))
17347 (build-system emacs-build-system)
17348 (synopsis "Simple window layout management framework for emacs")
17349 (description "A window-layout management library that can split a frame
17350 or a window into some windows according to a layout recipe.")
17351 (license license:gpl3+)))
17352
17353 (define-public emacs-e2wm
17354 (package
17355 (name "emacs-e2wm")
17356 (version "1.4")
17357 (home-page "https://github.com/kiwanami/emacs-window-manager")
17358 (source (origin
17359 (method git-fetch)
17360 (uri (git-reference
17361 (url home-page)
17362 (commit (string-append "v" version))))
17363 (sha256
17364 (base32
17365 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
17366 (file-name (git-file-name name version))))
17367 (build-system emacs-build-system)
17368 (propagated-inputs
17369 `(("emacs-window-layout" ,emacs-window-layout)))
17370 (synopsis "Equilibrium Emacs Window Manager")
17371 (description "E2WM is a window manager for Emacs. It enables to
17372 customize the place of pop-up window, how the windows are split, how the
17373 buffers are located in the windows, keybinds to manipulate windows and
17374 buffers, etc. It also has plug-ins to help your Emacs life.")
17375 (license license:gpl3+)))
17376
17377 (define-public emacs-ctable
17378 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
17379 (package
17380 (name "emacs-ctable")
17381 (version (git-version "0.1.2" "1" commit))
17382 (home-page "https://github.com/kiwanami/emacs-ctable")
17383 (source (origin
17384 (method git-fetch)
17385 (uri (git-reference
17386 (url home-page)
17387 (commit commit)))
17388 (sha256
17389 (base32
17390 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
17391 (file-name (git-file-name name version))))
17392 (build-system emacs-build-system)
17393 (synopsis "Table component for Emacs Lisp")
17394 (description "This program is a table component for Emacs Lisp. Other
17395 programs can use this table component for the application UI.")
17396 (license license:gpl3+))))
17397
17398 (define-public emacs-leetcode
17399 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
17400 (revision "1"))
17401 (package
17402 (name "emacs-leetcode")
17403 (version (git-version "0" "1" commit))
17404 (home-page "https://github.com/ginqi7/leetcode-emacs.git")
17405 (source (origin
17406 (method git-fetch)
17407 (uri (git-reference
17408 (url "https://github.com/ginqi7/leetcode-emacs")
17409 (commit commit)))
17410 (sha256
17411 (base32
17412 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
17413 (file-name (git-file-name name version))))
17414 (build-system emacs-build-system)
17415 (propagated-inputs
17416 `(("emacs-names" ,emacs-names)
17417 ("emacs-ctable" ,emacs-ctable)))
17418 (synopsis "Solve and submit LeetCode problems from within Emacs")
17419 (description "This package provides an Emacs interface to LeetCode
17420 allowing users to log in and solve problems of their choice using Emacs.")
17421 (license license:unlicense))))
17422
17423 (define-public emacs-epc
17424 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
17425 (package
17426 (name "emacs-epc")
17427 (version (git-version "0.1.1" "1" commit))
17428 (home-page "https://github.com/kiwanami/emacs-epc")
17429 (source (origin
17430 (method git-fetch)
17431 (uri (git-reference
17432 (url home-page)
17433 (commit commit)))
17434 (sha256
17435 (base32
17436 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
17437 (file-name (git-file-name name version))))
17438 (build-system emacs-build-system)
17439 (propagated-inputs
17440 `(("emacs-deferred" ,emacs-deferred)
17441 ("emacs-ctable" ,emacs-ctable)))
17442 (synopsis "RPC stack for Emacs Lisp")
17443 (description "This program is an asynchronous RPC stack for Emacs.
17444 Using this RPC stack, Emacs can communicate with the peer process
17445 smoothly. Because the protocol employs S-expression encoding and consists of
17446 asynchronous communications, the RPC response is fairly good.")
17447 (license license:gpl3+))))
17448
17449 (define-public emacs-edbi
17450 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
17451 (package
17452 (name "emacs-edbi")
17453 (version (git-version "0.1.3" "1" commit))
17454 (home-page "https://github.com/kiwanami/emacs-edbi")
17455 (source (origin
17456 (method git-fetch)
17457 (uri (git-reference
17458 (url home-page)
17459 (commit commit)))
17460 (sha256
17461 (base32
17462 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
17463 (file-name (git-file-name name version))))
17464 (build-system emacs-build-system)
17465 (inputs
17466 `(("perl" ,perl)
17467 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
17468 ("perl-dbi" ,perl-dbi)
17469 ;; TODO: Adding support for perl-dbd-mysql and others would
17470 ;; dramatically increase the closure size. Make several packages?
17471 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
17472 (propagated-inputs
17473 `(("emacs-e2wm" ,emacs-e2wm)
17474 ("emacs-epc" ,emacs-epc)))
17475 (arguments
17476 `(#:include '("\\.el$" "\\.pl$")
17477 #:phases
17478 (modify-phases %standard-phases
17479 (add-after 'install 'patch-path
17480 (lambda* (#:key inputs outputs #:allow-other-keys)
17481 (let ((perl (assoc-ref inputs "perl"))
17482 (dir (string-append (assoc-ref outputs "out")
17483 "/share/emacs/site-lisp")))
17484 (substitute* (string-append dir "/edbi.el")
17485 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
17486 (chmod (string-append dir "/edbi-bridge.pl") #o555)
17487 (wrap-program (string-append dir "/edbi-bridge.pl")
17488 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
17489 #t))))))
17490 (synopsis "Database Interface for Emacs Lisp")
17491 (description "This program connects the database server through Perl's
17492 DBI, and provides DB-accessing API and the simple management UI.")
17493 (license license:gpl3+))))
17494
17495 (define-public emacs-edbi-sqlite
17496 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
17497 (package
17498 (name "emacs-edbi-sqlite")
17499 (version (git-version "0.1.1" "1" commit))
17500 (home-page "https://github.com/proofit404/edbi-sqlite")
17501 (source (origin
17502 (method git-fetch)
17503 (uri (git-reference
17504 (url home-page)
17505 (commit commit)))
17506 (sha256
17507 (base32
17508 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
17509 (file-name (git-file-name name version))))
17510 (build-system emacs-build-system)
17511 (propagated-inputs
17512 `(("emacs-edbi" ,emacs-edbi)))
17513 (synopsis "Open SQLite files in Emacs")
17514 (description "This package is a convenience wrapper for @command{edbi}
17515 to open SQLite databases.")
17516 (license license:gpl3+))))
17517
17518 (define-public emacs-nix-mode
17519 (package
17520 (name "emacs-nix-mode")
17521 (version "1.4.1")
17522 (source
17523 (origin
17524 (method git-fetch)
17525 (uri (git-reference
17526 (url "https://github.com/NixOS/nix-mode.git")
17527 (commit (string-append "v" version))))
17528 (file-name (git-file-name name version))
17529 (sha256
17530 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
17531 (build-system emacs-build-system)
17532 (inputs
17533 `(("emacs-company" ,emacs-company)
17534 ("emacs-json-mode" ,emacs-json-mode)
17535 ("emacs-mmm-mode" ,emacs-mmm-mode)))
17536 (home-page "https://github.com/NixOS/nix-mode")
17537 (synopsis "Emacs major mode for editing Nix expressions")
17538 (description "@code{nixos-mode} provides an Emacs major mode for editing
17539 Nix expressions. It supports syntax highlighting, indenting and refilling of
17540 comments.")
17541 (license license:lgpl2.1+)))
17542
17543 (define-public emacs-libmpdel
17544 (package
17545 (name "emacs-libmpdel")
17546 (version "1.1.2")
17547 (source (origin
17548 (method git-fetch)
17549 (uri (git-reference
17550 (url "https://gitea.petton.fr/mpdel/libmpdel.git")
17551 (commit (string-append "v" version))))
17552 (file-name (git-file-name name version))
17553 (sha256
17554 (base32
17555 "0dnjndpv6bmz5blfs75ynmbm32g23l4slg5p3941b1i94a08qzpy"))))
17556 (build-system emacs-build-system)
17557 (home-page "https://gitea.petton.fr/mpdel/libmpdel")
17558 (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
17559 (description
17560 "An Emacs library client to communicate with Music Player Daemon (MPD), a
17561 flexible, powerful, server-side application for playing music.")
17562 (license license:gpl3+)))
17563
17564 (define-public emacs-mpdel
17565 (package
17566 (name "emacs-mpdel")
17567 (version "1.0.0")
17568 (source
17569 (origin
17570 (method git-fetch)
17571 (uri (git-reference
17572 (url "https://gitea.petton.fr/mpdel/mpdel.git")
17573 (commit (string-append "v" version))))
17574 (file-name (git-file-name name version))
17575 (sha256
17576 (base32
17577 "0pyyvbzskr44dxbmlp3y0r6s459fd51cvwjmnjaqxfxflr5v891g"))))
17578 (build-system emacs-build-system)
17579 (inputs
17580 `(("emacs-libmpdel" ,emacs-libmpdel)))
17581 (home-page "https://gitea.petton.fr/mpdel/mpdel")
17582 (synopsis "Emacs user interface for Music Player Daemon (MPD)")
17583 (description
17584 "MPDel provides an Emacs user interface to control playback (play, pause,
17585 next, volume) and display and control the current playlist as well as your
17586 stored playlists.")
17587 (license license:gpl3+)))
17588
17589 (define-public emacs-vterm
17590 (let ((version "0")
17591 (revision "1")
17592 (commit "7d7381fa8104b55b70148cf147523d9ab7f01fcd"))
17593 (package
17594 (name "emacs-vterm")
17595 (version (git-version version revision commit))
17596 (source (origin
17597 (method git-fetch)
17598 (uri (git-reference
17599 (url "https://github.com/akermu/emacs-libvterm.git")
17600 (commit commit)))
17601 (file-name (git-file-name name version))
17602 (sha256
17603 (base32
17604 "04a2jlhmr20ipgzpnba3yryw3ly7qdxjgaw10dwn9wxy1yqmapz1"))))
17605 (build-system emacs-build-system)
17606 (arguments
17607 `(#:modules ((guix build emacs-build-system)
17608 ((guix build cmake-build-system) #:prefix cmake:)
17609 (guix build emacs-utils)
17610 (guix build utils))
17611 #:imported-modules (,@%emacs-build-system-modules
17612 (guix build cmake-build-system))
17613 #:phases
17614 (modify-phases %standard-phases
17615 (add-before 'add-source-to-load-path 'remove-vterm-module-make
17616 (lambda* (#:key outputs #:allow-other-keys)
17617 ;; Remove the Emacs Lisp file.
17618 (delete-file "vterm-module-make.el")
17619 ;; Remove references to the removed file.
17620 (make-file-writable "vterm.el")
17621 (emacs-substitute-sexps "vterm.el"
17622 ("(or (require 'vterm-module nil t)"
17623 `(module-load
17624 ,(string-append (assoc-ref outputs "out")
17625 "/lib/vterm-module.so"))))
17626 #t))
17627 (add-after 'build 'configure
17628 ;; Run cmake.
17629 (lambda* (#:key outputs #:allow-other-keys)
17630 ((assoc-ref cmake:%standard-phases 'configure)
17631 #:outputs outputs
17632 #:out-of-source? #f
17633 #:configure-flags '("-DUSE_SYSTEM_LIBVTERM=ON"))
17634 #t))
17635 (add-after 'configure 'make
17636 ;; Run make.
17637 (lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
17638 ;; Compile the shared object file.
17639 (apply invoke "make" "all" make-flags)
17640 ;; Move the file into /lib.
17641 (install-file
17642 "vterm-module.so"
17643 (string-append (assoc-ref outputs "out") "/lib"))
17644 #t)))
17645 #:tests? #f))
17646 (native-inputs
17647 `(("cmake" ,cmake-minimal)
17648 ("libtool" ,libtool)
17649 ("libvterm" ,libvterm)))
17650 (home-page "https://github.com/akermu/emacs-libvterm")
17651 (synopsis "Emacs libvterm integration")
17652 (description "This package implements a bridge to @code{libvterm} to
17653 display a terminal in an Emacs buffer.")
17654 (license license:gpl3+))))
17655
17656 (define-public emacs-simple-mpc
17657 ;; There have been no releases.
17658 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
17659 (revision "1"))
17660 (package
17661 (name "emacs-simple-mpc")
17662 (version (git-version "0" revision commit))
17663 (source
17664 (origin
17665 (method git-fetch)
17666 (uri (git-reference
17667 (url "https://github.com/jorenvo/simple-mpc.git")
17668 (commit commit)))
17669 (file-name (git-file-name name version))
17670 (sha256
17671 (base32
17672 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
17673 (build-system emacs-build-system)
17674 (propagated-inputs `(("emacs-s" ,emacs-s)))
17675 (home-page "https://github.com/jorenvo/simple-mpc")
17676 (synopsis "Simple Emacs frontend to mpc")
17677 (description "This package provides an Emacs major mode which acts as a
17678 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
17679 (license license:gpl3+))))
17680
17681 (define-public emacs-mkmcc-gnuplot-mode
17682 (package
17683 (name "emacs-mkmcc-gnuplot-mode")
17684 (version "1.2.0")
17685 (source
17686 (origin
17687 (method git-fetch)
17688 (uri (git-reference
17689 (url "https://github.com/mkmcc/gnuplot-mode")
17690 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
17691 (file-name (git-file-name name version))
17692 (sha256
17693 (base32
17694 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
17695 (build-system emacs-build-system)
17696 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
17697 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
17698 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
17699 mode for editing gnuplot scripts. It provides syntax highlighting,
17700 indentation and a command to plot the file.")
17701 (license license:gpl3+)))
17702
17703 (define-public emacs-cmake-font-lock
17704 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
17705 (revision "1"))
17706 (package
17707 (name "emacs-cmake-font-lock")
17708 (version (git-version "0.1.5" revision commit))
17709 (source (origin
17710 (method git-fetch)
17711 (uri (git-reference
17712 (url "https://github.com/Lindydancer/cmake-font-lock.git")
17713 (commit commit)))
17714 (file-name (git-file-name name version))
17715 (sha256
17716 (base32
17717 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
17718 (build-system emacs-build-system)
17719 (native-inputs
17720 `(("emacs-faceup" ,emacs-faceup)))
17721 (arguments
17722 `(#:include (cons "^admin\\/" %default-include)))
17723 (home-page "https://github.com/Lindydancer/cmake-font-lock")
17724 (synopsis "Advanced type-aware syntax-highlighting for CMake")
17725 (description "This package highlights function arguments in CMake
17726 according to their use.")
17727 (license license:gpl3+))))
17728
17729 (define-public emacs-dtrt-indent
17730 (package
17731 (name "emacs-dtrt-indent")
17732 (version "0.8")
17733 (source (origin
17734 (method git-fetch)
17735 (uri (git-reference
17736 (url "https://github.com/jscheid/dtrt-indent")
17737 (commit version)))
17738 (file-name (git-file-name name version))
17739 (sha256
17740 (base32
17741 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
17742 (build-system emacs-build-system)
17743 (home-page "https://github.com/jscheid/dtrt-indent")
17744 (synopsis "Minor mode that guesses the indentation offset")
17745 (description "This package provides a minor mode that guesses the
17746 indentation offset originally used for creating source code files and
17747 transparently adjusts the corresponding settings in Emacs, making it more
17748 convenient to edit foreign files.")
17749 (license license:gpl2+)))
17750
17751 (define-public emacs-repo
17752 (package
17753 (name "emacs-repo")
17754 (version "0.1.3")
17755 (source (origin
17756 (method git-fetch)
17757 (uri (git-reference
17758 (url "https://github.com/canatella/repo-el")
17759 (commit version)))
17760 (file-name (git-file-name name version))
17761 (sha256
17762 (base32
17763 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
17764 (build-system emacs-build-system)
17765 (native-inputs
17766 `(("emacs-el-mock" ,emacs-el-mock)
17767 ("ert-runner" ,emacs-ert-runner)))
17768 (propagated-inputs
17769 `(("emacs-f" ,emacs-f)
17770 ("magit" ,emacs-magit)))
17771 (home-page "https://github.com/canatella/repo-el")
17772 (synopsis "Emacs interface for the Google Repo tool")
17773 (description "This package provides integration of the Google Repo tool
17774 with emacs. It displays the output of the @code{repo status} command in a
17775 buffer and launches Magit from the status buffer for the project at point.")
17776 (license license:gpl3+)))
17777
17778 (define-public emacs-alect-themes
17779 (package
17780 (name "emacs-alect-themes")
17781 (version "0.9")
17782 (source (origin
17783 (method git-fetch)
17784 (uri (git-reference
17785 (url "https://github.com/alezost/alect-themes")
17786 (commit (string-append "v" version))))
17787 (file-name (git-file-name name version))
17788 (sha256
17789 (base32
17790 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
17791 (build-system emacs-build-system)
17792 (home-page "https://github.com/alezost/alect-themes")
17793 (synopsis "Low contrast, light, dark and black color theme for Emacs")
17794 (description "@code{emacs-alect-themes} provides configurable light, dark
17795 and black color themes for Emacs. The themes are intended to be used with
17796 GUI.")
17797 (license license:gpl3+)))
17798
17799 (define-public emacs-google-c-style
17800 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
17801 (revision "0"))
17802 (package
17803 (name "emacs-google-c-style")
17804 (version (git-version "0.1" revision commit))
17805 (source (origin
17806 (method git-fetch)
17807 (uri (git-reference
17808 (url "https://github.com/google/styleguide")
17809 (commit commit)))
17810 (file-name (git-file-name name version))
17811 (sha256
17812 (base32
17813 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
17814 (build-system emacs-build-system)
17815 (home-page "https://github.com/google/styleguide")
17816 (synopsis "Emacs settings file for Google C/C++ style")
17817 (description "@code{emacs-google-c-style} provides an Emacs settings
17818 file for Google C and C++ style.")
17819 (license license:gpl1+))))
17820
17821 (define-public emacs-redshank
17822 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
17823 (revision "1"))
17824 (package
17825 (name "emacs-redshank")
17826 (version (git-version "0.1" revision commit))
17827 (source (origin
17828 (method git-fetch)
17829 (uri (git-reference
17830 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
17831 (commit commit)))
17832 (file-name (git-file-name name version))
17833 (sha256
17834 (base32
17835 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
17836 (build-system emacs-build-system)
17837 (propagated-inputs
17838 `(("emacs-paredit" ,emacs-paredit)))
17839 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
17840 (synopsis "Common Lisp Editing Extensions (for Emacs)")
17841 (description "Redshank is a collection of code-wrangling Emacs macros
17842 mostly geared towards Common Lisp, but some are useful for other Lisp
17843 dialects, too. Redshank's code transformations aim to be expression-based (as
17844 opposed to character-based).")
17845 (license license:gpl1+))))
17846
17847 (define-public emacs-disk-usage
17848 (package
17849 (name "emacs-disk-usage")
17850 (version "1.3.3")
17851 (source
17852 (origin
17853 (method git-fetch)
17854 (uri (git-reference
17855 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
17856 (commit version)))
17857 (file-name (git-file-name name version))
17858 (sha256
17859 (base32
17860 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
17861 (build-system emacs-build-system)
17862 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
17863 (synopsis "Sort and browse disk usage listings with Emacs")
17864 (description "Disk Usage is a file system analyzer: it offers a tabulated
17865 view of file listings sorted by size. Directory sizes are computed
17866 recursively. The results are cached for speed.")
17867 (license license:gpl3+)))
17868
17869 (define-public emacs-orgit
17870 (package
17871 (name "emacs-orgit")
17872 (version "1.5.3")
17873 (home-page "https://github.com/magit/orgit")
17874 (source (origin
17875 (method git-fetch)
17876 (uri (git-reference
17877 (url home-page)
17878 (commit (string-append "v" version))))
17879 (file-name (git-file-name name version))
17880 (sha256
17881 (base32
17882 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
17883 (build-system emacs-build-system)
17884 (propagated-inputs
17885 `(("emacs-dash" ,emacs-dash)
17886 ("emacs-magit" ,emacs-magit)))
17887 (synopsis "Support for Org links to Magit buffers")
17888 (description "This package defines several Org link types, which can be
17889 used to link to certain Magit buffers. Use the command
17890 @command{org-store-link} while such a buffer is current to store a link.
17891 Later you can insert it into an Org buffer using the command
17892 @code{org-insert-link}.")
17893 (license license:gpl3+)))
17894
17895 (define-public emacs-amx
17896 (package
17897 (name "emacs-amx")
17898 (version "3.3")
17899 (source
17900 (origin
17901 (method git-fetch)
17902 (uri (git-reference
17903 (url "https://github.com/DarwinAwardWinner/amx")
17904 (commit (string-append "v" version))))
17905 (file-name (git-file-name name version))
17906 (sha256
17907 (base32 "0ikjzs119g57cwh2v3jmy63lggqc0ib99q5gsl93slkk4y2ihavw"))))
17908 (build-system emacs-build-system)
17909 (propagated-inputs
17910 `(("emacs-s" ,emacs-s)))
17911 (home-page "https://github.com/DarwinAwardWinner/amx")
17912 (synopsis "Alternative M-x interface for Emacs")
17913 (description "Amx is an alternative interface for M-x in Emacs. It
17914 provides several enhancements over the ordinary
17915 @code{execute-extended-command}, such as prioritizing your most-used commands
17916 in the completion list and showing keyboard shortcuts, and it supports several
17917 completion systems for selecting commands, such as Ido and Ivy.")
17918 (license license:gpl3+)))
17919
17920 (define-public emacs-lorem-ipsum
17921 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
17922 (package
17923 (name "emacs-lorem-ipsum")
17924 (version (git-version "0.2" "1" commit))
17925 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
17926 (source (origin
17927 (method git-fetch)
17928 (uri (git-reference
17929 (url home-page)
17930 (commit commit)))
17931 (file-name (git-file-name name version))
17932 (sha256
17933 (base32
17934 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
17935 (build-system emacs-build-system)
17936 (synopsis "Insert dummy pseudo Latin text in Emacs")
17937 (description "This package provides convenience functions to insert
17938 dummy Latin text into a buffer. This can be useful if you need to produce
17939 paragraphs or pages of text for testing purposes.")
17940 (license license:gpl3+))))
17941
17942 (define-public emacs-lisp-extra-font-lock
17943 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
17944 (package
17945 (name "emacs-lisp-extra-font-lock")
17946 (version (git-version "0.0.6" "1" commit))
17947 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
17948 (source (origin
17949 (method git-fetch)
17950 (uri (git-reference
17951 (url home-page)
17952 (commit commit)))
17953 (file-name (git-file-name name version))
17954 (sha256
17955 (base32
17956 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
17957 (build-system emacs-build-system)
17958 (synopsis "Highlight bound variables and quoted expressions in Emacs")
17959 (description "This package highlight the location where local variables
17960 is created (bound, for example, by let) as well as quoted and backquoted
17961 constant expressions.")
17962 (license license:gpl3+))))
17963
17964 (define-public emacs-docker-tramp
17965 (package
17966 (name "emacs-docker-tramp")
17967 (version "0.1")
17968 (source
17969 (origin
17970 (method git-fetch)
17971 (uri (git-reference
17972 (url "https://github.com/emacs-pe/docker-tramp.el")
17973 (commit (string-append "v" version))))
17974 (file-name (git-file-name name version))
17975 (sha256
17976 (base32
17977 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
17978 (build-system emacs-build-system)
17979 (home-page "https://github.com/emacs-pe/docker-tramp.el")
17980 (synopsis "TRAMP integration for docker containers")
17981 (description
17982 "This package provides a TRAMP method for Docker containers.")
17983 (license license:gpl3+)))
17984
17985 (define-public emacs-docker
17986 (package
17987 (name "emacs-docker")
17988 (version "1.3.0")
17989 (source (origin
17990 (method git-fetch)
17991 (uri (git-reference
17992 (url "https://github.com/Silex/docker.el")
17993 (commit version)))
17994 (file-name (git-file-name name version))
17995 (sha256
17996 (base32
17997 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
17998 (inputs
17999 `(("emacs-undercover" ,emacs-undercover)))
18000 (propagated-inputs
18001 `(("emacs-dash" ,emacs-dash)
18002 ("emacs-docker-tramp" ,emacs-docker-tramp)
18003 ("emacs-magit-popup" ,emacs-magit-popup)
18004 ("emacs-s" ,emacs-s)
18005 ("emacs-tablist" ,emacs-tablist)
18006 ("emacs-json-mode" ,emacs-json-mode)))
18007 (arguments
18008 `(#:phases
18009 (modify-phases %standard-phases
18010 (delete 'check)))) ;no tests
18011 (build-system emacs-build-system)
18012 (home-page "https://github.com/Silex/docker.el")
18013 (synopsis "Manage docker from Emacs")
18014 (description "This package provides an Emacs interface for Docker.")
18015 (license license:gpl3+)))
18016
18017 (define-public emacs-dockerfile-mode
18018 ;; Latest upstream release is too old.
18019 (let ((commit "ed73e82dcc636dad00d1a8c3b32a49136d25ee60"))
18020 (package
18021 (name "emacs-dockerfile-mode")
18022 (version (git-version "1.2" "2" commit))
18023 (source
18024 (origin
18025 (method git-fetch)
18026 (uri (git-reference
18027 (url "https://github.com/spotify/dockerfile-mode.git")
18028 (commit commit)))
18029 (file-name (git-file-name name version))
18030 (sha256
18031 (base32
18032 "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"))))
18033 (build-system emacs-build-system)
18034 (propagated-inputs
18035 `(("emacs-s" ,emacs-s)))
18036 (home-page "https://github.com/spotify/dockerfile-mode")
18037 (synopsis "Major mode for editing Dockerfile")
18038 (description
18039 "This package provides a major mode @code{dockerfile-mode} for use with
18040 the standard @code{Dockerfile} file format.")
18041 (license license:asl2.0))))
18042
18043 (define-public emacs-lsp-mode
18044 (package
18045 (name "emacs-lsp-mode")
18046 (version "6.2.1")
18047 (source (origin
18048 (method git-fetch)
18049 (uri (git-reference
18050 (url "https://github.com/emacs-lsp/lsp-mode.git")
18051 (commit version)))
18052 (file-name (git-file-name name version))
18053 (sha256
18054 (base32
18055 "0f9d0zhblcjzrpggqclww2g7fyjky5rzpp7zj424005ahv0zd3xf"))))
18056 (build-system emacs-build-system)
18057 (propagated-inputs
18058 `(("emacs-dash" ,emacs-dash)
18059 ("emacs-f" ,emacs-f)
18060 ("emacs-ht" ,emacs-ht)
18061 ("emacs-markdown-mode" ,emacs-markdown-mode)
18062 ("emacs-spinner" ,emacs-spinner)
18063 ("emacs-hydra" ,emacs-hydra)))
18064 (home-page "https://github.com/emacs-lsp/lsp-mode")
18065 (synopsis "Emacs client and library for the Language Server Protocol")
18066 (description "@code{LSP-mode} is a client and library implementation for
18067 the Language Server Protocol. This mode aims to provide an IDE-like
18068 experience by providing optional integration with other popular Emacs packages
18069 like @code{company}, @code{flycheck}, and @code{projectile}.")
18070 (license license:gpl3+)))
18071
18072 (define-public emacs-pfuture
18073 (let ((commit "368254ee30692c709400db413c347e18e76a8a55"))
18074 (package
18075 (name "emacs-pfuture")
18076 (version (git-version "1.6" "1" commit))
18077 (source (origin
18078 (method git-fetch)
18079 (uri (git-reference
18080 (url "https://github.com/Alexander-Miller/pfuture.git")
18081 (commit commit)))
18082 (file-name (git-file-name name version))
18083 (sha256
18084 (base32
18085 "096raqpjx84njws85r7pqq1wi9w9bjwkr0ga1mbbhlna1mfn3mg4"))))
18086 (build-system emacs-build-system)
18087 (home-page
18088 "https://github.com/Alexander-Miller/pfuture")
18089 (synopsis "Simple wrapper around asynchronous processes for Emacs")
18090 (description "This package provides a simple wrapper around asynchronous
18091 processes for Emacs")
18092 (license license:gpl3+))))
18093
18094 (define-public emacs-treemacs
18095 (package
18096 (name "emacs-treemacs")
18097 (version "2.6")
18098 (source (origin
18099 (method git-fetch)
18100 (uri (git-reference
18101 (url "https://github.com/Alexander-Miller/treemacs.git")
18102 (commit version)))
18103 (file-name (git-file-name name version))
18104 (sha256
18105 (base32
18106 "13gs8g05xj7np3i2q3bbxg6zgdiazzn1spxii4x0cyd4pg83c0i1"))))
18107 (build-system emacs-build-system)
18108 (propagated-inputs
18109 `(("emacs-dash" ,emacs-dash)
18110 ("emacs-s" ,emacs-s)
18111 ("emacs-f" ,emacs-f)
18112 ("emacs-ace-window" ,emacs-ace-window)
18113 ("emacs-pfuture" ,emacs-pfuture)
18114 ("emacs-hydra" ,emacs-hydra)
18115 ("emacs-ht" ,emacs-ht)))
18116 (native-inputs
18117 `(("emacs-buttercup" ,emacs-buttercup)
18118 ("emacs-el-mock" ,emacs-el-mock)))
18119 (inputs
18120 `(("python" ,python)))
18121 (arguments
18122 `(#:tests? #t ;TODO: Investigate ‘treemacs--parse-collapsed-dirs’ test failure.
18123 #:phases
18124 (modify-phases %standard-phases
18125 (add-after 'unpack 'fix-makefile
18126 (lambda _
18127 (substitute* "Makefile"
18128 (("@\\$\\(CASK\\) exec ") ""))
18129 #t))
18130 (add-after 'fix-makefile 'chdir-elisp
18131 ;; Elisp directory is not in root of the source.
18132 (lambda _
18133 (chdir "src/elisp")))
18134 (replace 'check
18135 (lambda _
18136 (with-directory-excursion "../.." ;treemacs root
18137 (chmod "test/test-treemacs.el" #o644)
18138 (emacs-substitute-sexps "test/test-treemacs.el"
18139 ("(describe \"treemacs--parse-collapsed-dirs\""
18140 ""))
18141 (invoke "make" "test"))))
18142 (add-before 'install 'patch-paths
18143 (lambda* (#:key inputs outputs #:allow-other-keys)
18144 (with-directory-excursion "../.." ;treemacs root
18145 (chmod "src/elisp/treemacs-core-utils.el" #o644)
18146 (emacs-substitute-variables "src/elisp/treemacs-core-utils.el"
18147 ("treemacs-dir"
18148 (string-append (assoc-ref outputs "out") "/")))
18149 (chmod "src/elisp/treemacs-icons.el" #o644)
18150 (substitute* "src/elisp/treemacs-icons.el"
18151 (("icons/default") "share/emacs-treemacs/images"))
18152 (chmod "src/elisp/treemacs-customization.el" #o644)
18153 (emacs-substitute-variables "src/elisp/treemacs-customization.el"
18154 ("treemacs-python-executable"
18155 (string-append (assoc-ref inputs "python") "/bin/python3")))
18156 (chmod "src/elisp/treemacs-async.el" #o644)
18157 (substitute* "src/elisp/treemacs-async.el"
18158 (("src/scripts") (string-append "share/" ,name "/scripts"))))
18159 #t))
18160 (add-after 'install 'install-data
18161 (lambda* (#:key outputs #:allow-other-keys)
18162 (let ((out (assoc-ref outputs "out")))
18163 (with-directory-excursion "../.." ;treemacs root
18164 (copy-recursively "icons/default"
18165 (string-append out "/share/" ,name "/images"))
18166 (copy-recursively
18167 "src/scripts"
18168 (string-append out "/share/" ,name "/scripts"))
18169 #t)))))))
18170 (home-page "https://github.com/Alexander-Miller/treemacs")
18171 (synopsis "Emacs tree style file explorer")
18172 (description "Powerful and flexible file tree project explorer.")
18173 (license license:gpl3+)))
18174
18175 (define-public emacs-treemacs-extra
18176 (package
18177 (inherit emacs-treemacs)
18178 (name "emacs-treemacs-extra")
18179 (propagated-inputs
18180 `(,@(package-propagated-inputs emacs-treemacs)
18181 ("emacs-evil" ,emacs-evil)
18182 ("emacs-magit" ,emacs-magit)
18183 ("emacs-projectile" ,emacs-projectile)))
18184 (arguments
18185 (substitute-keyword-arguments
18186 (package-arguments emacs-treemacs)
18187 ((#:phases phases)
18188 `(modify-phases ,phases
18189 (add-after 'chdir-elisp 'copy-extra
18190 (lambda _
18191 (copy-recursively "../extra" ".")))))))))
18192
18193 (define-public emacs-lsp-java
18194 (package
18195 (name "emacs-lsp-java")
18196 (version "2.2")
18197 (source (origin
18198 (method git-fetch)
18199 (uri (git-reference
18200 (url "https://github.com/emacs-lsp/lsp-java.git")
18201 (commit version)))
18202 (file-name (git-file-name name version))
18203 (sha256
18204 (base32
18205 "0hcnvbyaqyypgby1bfj4zbrbq97amk8hfx0sj4w73rl46yf4jk3j"))))
18206 (build-system emacs-build-system)
18207 (propagated-inputs
18208 `(("emacs-lsp-mode" ,emacs-lsp-mode)
18209 ("emacs-markdown-mode" ,emacs-markdown-mode)
18210 ("emacs-dash" ,emacs-dash)
18211 ("emacs-f" ,emacs-f)
18212 ("emacs-ht" ,emacs-ht)
18213 ("emacs-request" ,emacs-request)
18214 ("emacs-treemacs" ,emacs-treemacs)))
18215 (home-page "https://github.com/emacs-lsp/lsp-java/")
18216 (synopsis "Java support for lsp-mode")
18217 (description "Emacs Java IDE using Eclipse JDT Language Server.")
18218 (license license:gpl3+)))
18219
18220 (define-public emacs-lsp-ui
18221 (package
18222 (name "emacs-lsp-ui")
18223 (version "6.2")
18224 (source (origin
18225 (method git-fetch)
18226 (uri (git-reference
18227 (url "https://github.com/emacs-lsp/lsp-ui.git")
18228 (commit version)))
18229 (file-name (git-file-name name version))
18230 (sha256
18231 (base32
18232 "024753bi0p1jyjhw7wk8k6s16kbwab5ar4cfasvbn8g08acf293b"))))
18233 (build-system emacs-build-system)
18234 (propagated-inputs
18235 `(("emacs-dash" ,emacs-dash)
18236 ("emacs-lsp-mode" ,emacs-lsp-mode)
18237 ("emacs-markdown-mode" ,emacs-markdown-mode)
18238 ("emacs-flycheck" ,emacs-flycheck)))
18239 (home-page "https://github.com/emacs-lsp/lsp-ui")
18240 (synopsis "User interface extensions for @code{lsp-mode}")
18241 (description
18242 "@code{LSP-ui} contains several enhancements and integrations for
18243 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
18244 and code peeking.")
18245 (license license:gpl3+)))
18246
18247 (define-public emacs-lsp-lua-emmy
18248 (let ((commit "ab53fb2a8b8942804eb75bab5624fd19f1d360bf"))
18249 (package
18250 (name "emacs-lsp-lua-emmy")
18251 (version (git-version "0.1.0" "1" commit))
18252 (source (origin
18253 (method git-fetch)
18254 (uri (git-reference
18255 (url "https://github.com/phenix3443/lsp-lua-emmy.git")
18256 (commit commit)))
18257 (file-name (git-file-name name version))
18258 (sha256
18259 (base32
18260 "0rbizis73n1w5ig07fj1han74chbc1zpbp5bn37rj0gz608aqka8"))))
18261 (build-system emacs-build-system)
18262 (propagated-inputs
18263 `(("emacs-lsp-mode" ,emacs-lsp-mode)))
18264 (home-page "https://github.com/phenix3443/lsp-lua-emmy/")
18265 (synopsis "Lua support in @code{lsp-mode} client for Emacs")
18266 (description "This package provides a Lua language support in
18267 @code{lsp-mode} client for Emacs.")
18268 (license license:gpl3+))))
18269
18270 (define-public emacs-lsp-ivy
18271 (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288")
18272 (revision "2"))
18273 (package
18274 (name "emacs-lsp-ivy")
18275 (version (git-version "0.1" revision commit))
18276 (source (origin
18277 (method git-fetch)
18278 (uri (git-reference
18279 (url "https://github.com/emacs-lsp/lsp-ivy.git")
18280 (commit commit)))
18281 (file-name (git-file-name name version))
18282 (sha256
18283 (base32
18284 "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z"))))
18285 (build-system emacs-build-system)
18286 (propagated-inputs
18287 `(("emacs-ivy" ,emacs-ivy)
18288 ("emacs-lsp-mode" ,emacs-lsp-mode)
18289 ("emacs-dash" ,emacs-dash)))
18290 (home-page "https://github.com/emacs-lsp/lsp-ivy")
18291 (synopsis "Provide LSP-enhanced completion for symbols")
18292 (description
18293 "This package enhances @code{ivy} with completion for symbols from
18294 workspaces with a LSP-compliant server running.")
18295 (license license:gpl3+))))
18296
18297 (define-public emacs-helm-lsp
18298 (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b")
18299 (revision "1"))
18300 (package
18301 (name "emacs-helm-lsp")
18302 (version (git-version "0.1" revision commit))
18303 (source (origin
18304 (method git-fetch)
18305 (uri (git-reference
18306 (url "https://github.com/emacs-lsp/helm-lsp.git")
18307 (commit commit)))
18308 (file-name (git-file-name name version))
18309 (sha256
18310 (base32
18311 "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"))))
18312 (build-system emacs-build-system)
18313 (propagated-inputs
18314 `(("emacs-helm" ,emacs-helm)
18315 ("emacs-lsp-mode" ,emacs-lsp-mode)
18316 ("emacs-dash" ,emacs-dash)))
18317 (home-page "https://github.com/emacs-lsp/helm-lsp")
18318 (synopsis "Provide LSP-enhanced completion for symbols")
18319 (description
18320 "This package enhances @code{helm} with completion for symbols from
18321 workspaces with a LSP-compliant server running.")
18322 (license license:gpl3+))))
18323
18324 (define-public emacs-helm-notmuch
18325 (package
18326 (name "emacs-helm-notmuch")
18327 (version "1.2")
18328 (home-page "https://github.com/emacs-helm/helm-notmuch/")
18329 (source (origin
18330 (method git-fetch)
18331 (uri (git-reference
18332 (url home-page)
18333 (commit version)))
18334 (file-name (git-file-name name version))
18335 (sha256
18336 (base32
18337 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
18338 (build-system emacs-build-system)
18339 (propagated-inputs
18340 `(("emacs-helm" ,emacs-helm)
18341 ("notmuch" ,notmuch)))
18342 (synopsis "Search emails with Emacs Notmuch and Helm")
18343 (description
18344 "This package can be used to search emails in Emacs, searching result
18345 displays as you type thanks to Helm, though @command{notmuch-search} does the
18346 real search.")
18347 (license license:gpl3+)))
18348
18349 (define-public emacs-elmacro
18350 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
18351 (package
18352 (name "emacs-elmacro")
18353 (version (git-version "1.1.0" "1" commit))
18354 (home-page "https://github.com/Silex/elmacro")
18355 (source (origin
18356 (method git-fetch)
18357 (uri (git-reference
18358 (url home-page)
18359 (commit commit)))
18360 (file-name (git-file-name name version))
18361 (sha256
18362 (base32
18363 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
18364 (build-system emacs-build-system)
18365 (propagated-inputs
18366 `(("emacs-s" ,emacs-s)
18367 ("emacs-dash" ,emacs-dash)))
18368 (synopsis "Convert keyboard macros to Emacs Lisp")
18369 (description
18370 "This package displays keyboard macros or latest interactive commands
18371 as Emacs Lisp.")
18372 (license license:gpl3+))))
18373
18374 (define-public emacs-transient
18375 ;; 0.1.0 depends on lv.el but not later versions.
18376 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
18377 (package
18378 (name "emacs-transient")
18379 (version (git-version "0.1.0" "1" commit))
18380 (source (origin
18381 (method git-fetch)
18382 (uri (git-reference
18383 (url "https://github.com/magit/transient")
18384 (commit commit)))
18385 (file-name (git-file-name name version))
18386 (sha256
18387 (base32
18388 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
18389 (build-system gnu-build-system)
18390 (native-inputs `(("texinfo" ,texinfo)
18391 ("emacs" ,emacs-minimal)))
18392 (propagated-inputs
18393 `(("dash" ,emacs-dash)))
18394 (arguments
18395 `(#:modules ((guix build gnu-build-system)
18396 (guix build utils)
18397 (srfi srfi-26)
18398 (guix build emacs-utils))
18399 #:imported-modules (,@%gnu-build-system-modules
18400 (guix build emacs-utils))
18401 #:tests? #f ; tests are not included in the release
18402 #:make-flags (list "lisp" "info")
18403 #:phases
18404 (modify-phases %standard-phases
18405 (delete 'configure)
18406 (replace 'install
18407 (lambda* (#:key inputs outputs #:allow-other-keys)
18408 (let* ((out (assoc-ref outputs "out"))
18409 (lisp (string-append out "/share/emacs/site-lisp"))
18410 (info (string-append out "/share/info")))
18411 (for-each (cut install-file <> lisp)
18412 (find-files "." "\\.elc*$"))
18413 (install-file "docs/transient.info" (string-append info)))
18414 #t)))))
18415 (home-page "https://magit.vc/manual/transient")
18416 (synopsis "Transient commands in Emacs")
18417 (description
18418 "Taking inspiration from prefix keys and prefix arguments in Emacs,
18419 Transient implements a similar abstraction involving a prefix command, infix
18420 arguments and suffix commands. We could call this abstraction a \"transient
18421 command\", but because it always involves at least two commands (a prefix and
18422 a suffix) we prefer to call it just a \"transient\".")
18423 (license license:gpl3+))))
18424
18425 (define-public emacs-forge
18426 (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb"))
18427 (package
18428 (name "emacs-forge")
18429 (version (git-version "0.1.0" "3" commit))
18430 (source
18431 (origin
18432 (method git-fetch)
18433 (uri (git-reference
18434 (url "https://github.com/magit/forge.git")
18435 (commit commit)))
18436 (file-name (git-file-name name version))
18437 (sha256
18438 (base32
18439 "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83"))))
18440 (build-system emacs-build-system)
18441 (native-inputs
18442 `(("texinfo" ,texinfo)
18443 ("emacs" ,emacs-minimal)))
18444 (propagated-inputs
18445 `(("emacs-closql" ,emacs-closql)
18446 ("emacs-dash" ,emacs-dash)
18447 ("emacs-emacsql-sqlite" ,emacs-emacsql)
18448 ("emacs-ghub" ,emacs-ghub)
18449 ("emacs-let-alist" ,emacs-let-alist)
18450 ("emacs-magit" ,emacs-magit)
18451 ("emacs-markdown-mode" ,emacs-markdown-mode)
18452 ("emacs-transient" ,emacs-transient)))
18453 (arguments
18454 `(#:tests? #f ;no tests
18455 #:phases
18456 (modify-phases %standard-phases
18457 (add-after 'unpack 'build-info-manual
18458 (lambda _
18459 (invoke "make" "info")
18460 ;; Move the info file to lisp so that it gets installed by the
18461 ;; emacs-build-system.
18462 (rename-file "docs/forge.info" "lisp/forge.info")))
18463 (add-after 'build-info-manual 'chdir-lisp
18464 (lambda _
18465 (chdir "lisp")
18466 #t)))))
18467 (home-page "https://github.com/magit/forge/")
18468 (synopsis "Access Git forges from Magit")
18469 (description "Work with Git forges, such as Github and Gitlab, from the
18470 comfort of Magit and the rest of Emacs.")
18471 (license license:gpl3+))))
18472
18473 (define-public emacs-matcha
18474 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
18475 (package
18476 (name "emacs-matcha")
18477 (version (git-version "0.0.1" "1" commit)) ;no upstream release
18478 (source (origin
18479 (method git-fetch)
18480 (uri (git-reference
18481 (url "https://github.com/jojojames/matcha.git")
18482 (commit commit)))
18483 (file-name (git-file-name name version))
18484 (sha256
18485 (base32
18486 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
18487 (propagated-inputs
18488 `(("emacs-hydra" ,emacs-hydra)
18489 ("emacs-transient" ,emacs-transient)))
18490 (build-system emacs-build-system)
18491 (home-page "https://github.com/jojojames/matcha/")
18492 (synopsis "Collection of hydras with a generic interface to launch them")
18493 (description "Matcha provides a collection of transients for various
18494 packages with a consistent way to use them.")
18495 (license license:gpl3+))))
18496
18497 (define-public emacs-undo-propose-el
18498 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
18499 (revision "3"))
18500 (package
18501 (name "emacs-undo-propose-el")
18502 (version (git-version "3.0.0" revision commit))
18503 (source
18504 (origin
18505 (method git-fetch)
18506 (uri (git-reference
18507 (url "https://github.com/jackkamm/undo-propose-el")
18508 (commit commit)))
18509 (file-name (git-file-name name version))
18510 (sha256
18511 (base32
18512 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
18513 (build-system emacs-build-system)
18514 (arguments
18515 `(#:tests? #t
18516 #:test-command '("make" "test")))
18517 (home-page "https://github.com/jackkamm/undo-propose-el")
18518 (synopsis "Simple and safe navigation of @code{undo} history")
18519 (description "This package permits navigation of @code{undo} history in a
18520 temporary buffer, which is read-only save for @code{undo} commands, and
18521 subsequent committal of a chain of @code{undo} commands as a single edit in
18522 the @code{undo} history.")
18523 (license license:gpl3+))))
18524
18525 (define-public emacs-elisp-docstring-mode
18526 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
18527 (version "0.0.1")
18528 (revision "1"))
18529 (package
18530 (name "emacs-elisp-docstring-mode")
18531 (version (git-version version revision commit))
18532 (source
18533 (origin
18534 (method git-fetch)
18535 (uri (git-reference
18536 (url "https://github.com/Fuco1/elisp-docstring-mode")
18537 (commit commit)))
18538 (file-name (git-file-name name version))
18539 (sha256
18540 (base32
18541 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
18542 (build-system emacs-build-system)
18543 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
18544 (synopsis "Major mode for editing Emacs Lisp docstrings")
18545 (description "This package provides font lock and automatic escaping and
18546 unescaping of quotes.")
18547 (license license:gpl3+))))
18548
18549 (define-public emacs-vimrc-mode
18550 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
18551 (version "0.3.1")
18552 (revision "1"))
18553 (package
18554 (name "emacs-vimrc-mode")
18555 (version (git-version version revision commit))
18556 (source
18557 (origin
18558 (method git-fetch)
18559 (uri (git-reference
18560 (url "https://github.com/mcandre/vimrc-mode")
18561 (commit commit)))
18562 (file-name (git-file-name name version))
18563 (sha256
18564 (base32
18565 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
18566 (build-system emacs-build-system)
18567 (home-page "https://github.com/mcandre/vimrc-mode")
18568 (synopsis "Major mode for Vimscript")
18569 (description "This package provides font lock and @code{beginning-} and
18570 @code{end-of-defun} functions for Vimscript files.")
18571 (license license:gpl3+))))
18572
18573 (define-public emacs-flycheck-haskell
18574 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
18575 (revision "2"))
18576 (package
18577 (name "emacs-flycheck-haskell")
18578 (version (git-version "0.8" revision commit))
18579 (source
18580 (origin
18581 (method git-fetch)
18582 (uri (git-reference
18583 (url "https://github.com/flycheck/flycheck-haskell")
18584 (commit commit)))
18585 (file-name (git-file-name name version))
18586 (sha256
18587 (base32
18588 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
18589 (build-system emacs-build-system)
18590 (propagated-inputs
18591 `(("emacs-dash" ,emacs-dash)
18592 ("emacs-seq" ,emacs-seq)
18593 ("emacs-flycheck" ,emacs-flycheck)
18594 ("emacs-haskell-mode" ,emacs-haskell-mode)
18595 ("emacs-let-alist" ,emacs-let-alist)))
18596 (arguments
18597 `(#:include '("\\.el$" "\\.hs$")))
18598 (home-page "https://github.com/flycheck/flycheck-haskell")
18599 (synopsis "Flycheck for Haskell")
18600 (description "This package configures syntax-checking for Haskell
18601 buffers.")
18602 (license license:gpl3+))))
18603
18604 (define-public emacs-js2-refactor-el
18605 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
18606 (revision "2"))
18607 (package
18608 (name "emacs-js2-refactor-el")
18609 (version (git-version "0.9.0" revision commit))
18610 (source
18611 (origin
18612 (method git-fetch)
18613 (uri (git-reference
18614 (url "https://github.com/magnars/js2-refactor.el")
18615 (commit commit)))
18616 (file-name (git-file-name name version))
18617 (sha256
18618 (base32
18619 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
18620 (build-system emacs-build-system)
18621 (propagated-inputs
18622 `(("emacs-dash" ,emacs-dash)
18623 ("emacs-s" ,emacs-s)
18624 ("emacs-js2-mode" ,emacs-js2-mode)
18625 ("emacs-yasnippet" ,emacs-yasnippet)
18626 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
18627 (native-inputs
18628 `(("emacs-buttercup" ,emacs-buttercup)
18629 ("emacs-espuds" ,emacs-espuds)))
18630 (home-page "https://github.com/magnars/js2-refactor.el")
18631 (synopsis "JavaScript refactoring in Emacs")
18632 (description "This package provides various refactoring functions for
18633 JavaScript.")
18634 (license license:gpl3+))))
18635
18636 (define-public emacs-prettier
18637 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
18638 (version "0.1.0")
18639 (revision "1"))
18640 (package
18641 (name "emacs-prettier")
18642 (version (git-version version revision commit))
18643 (source
18644 (origin
18645 (method git-fetch)
18646 (uri (git-reference
18647 (url "https://github.com/prettier/prettier-emacs")
18648 (commit commit)))
18649 (file-name (git-file-name name version))
18650 (sha256
18651 (base32
18652 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
18653 (build-system emacs-build-system)
18654 (home-page "https://github.com/prettier/prettier-emacs")
18655 (synopsis "Automatic formatting of JavaScript code")
18656 (description "This package integrates Prettier with Emacs, and
18657 provides a minor mode that autoformats the buffer upon saving.")
18658 (license license:expat))))
18659
18660 (define-public emacs-fish-mode
18661 (package
18662 (name "emacs-fish-mode")
18663 (version "0.1.4")
18664 (source
18665 (origin
18666 (method git-fetch)
18667 (uri (git-reference
18668 (url "https://github.com/wwwjfy/emacs-fish")
18669 (commit version)))
18670 (file-name (git-file-name name version))
18671 (sha256
18672 (base32
18673 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
18674 (build-system emacs-build-system)
18675 (home-page "https://github.com/wwwjfy/emacs-fish")
18676 (synopsis "Major mode for Fish shell scripts")
18677 (description "This package provides syntax highlighting and indentation
18678 functions for Fish shell scripts.")
18679 (license license:gpl3+)))
18680
18681 (define-public emacs-eshell-up
18682 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
18683 (version "0.0.3")
18684 (revision "12"))
18685 (package
18686 (name "emacs-eshell-up")
18687 (version (git-version version revision commit))
18688 (source
18689 (origin
18690 (method git-fetch)
18691 (uri (git-reference
18692 (url "https://github.com/peterwvj/eshell-up")
18693 (commit commit)))
18694 (file-name (git-file-name name version))
18695 (sha256
18696 (base32
18697 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
18698 (build-system emacs-build-system)
18699 (home-page "https://github.com/peterwvj/eshell-up")
18700 (synopsis "Quickly go to a parent directory in @code{Eshell}")
18701 (description "This package provides quick navigation to a specific
18702 parent directory using @code{Eshell}.")
18703 (license license:gpl3+))))
18704
18705 (define-public emacs-tco-el
18706 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
18707 (revision "1"))
18708 (package
18709 (name "emacs-tco-el")
18710 (version (git-version "0.3" revision commit))
18711 (source
18712 (origin
18713 (method git-fetch)
18714 (uri (git-reference
18715 (url "https://github.com/Wilfred/tco.el")
18716 (commit commit)))
18717 (file-name (git-file-name name version))
18718 (sha256
18719 (base32
18720 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
18721 (build-system emacs-build-system)
18722 (propagated-inputs
18723 `(("emacs-dash" ,emacs-dash)))
18724 (native-inputs
18725 `(("emacs-ert-runner" ,emacs-ert-runner)
18726 ("emacs-undercover" ,emacs-undercover)))
18727 (arguments
18728 `(#:tests? #t
18729 #:test-command '("ert-runner")))
18730 (home-page "https://github.com/Wilfred/tco.el")
18731 (synopsis "Tail-call optimization for Emacs Lisp")
18732 (description "This package provides tail-call optimization for Emacs
18733 Lisp functions that call themselves in tail position.")
18734 (license license:gpl3+))))
18735
18736 (define-public emacs-equake
18737 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
18738 (revision "2"))
18739 (package
18740 (name "emacs-equake")
18741 (version (git-version "0.85" revision commit))
18742 (source
18743 (origin
18744 (method git-fetch)
18745 (uri (git-reference
18746 (url "https://gitlab.com/emacsomancer/equake/")
18747 (commit commit)))
18748 (file-name (git-file-name name version))
18749 (sha256
18750 (base32
18751 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
18752 (build-system emacs-build-system)
18753 (propagated-inputs
18754 `(("emacs-dash" ,emacs-dash)
18755 ("emacs-tco-el" ,emacs-tco-el)))
18756 (home-page "https://gitlab.com/emacsomancer/equake/")
18757 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
18758 (description "This package provides a Quake-style drop-down console
18759 compatible with Emacs' shell modes.")
18760 (license license:gpl3+))))
18761
18762 (define-public emacs-vdiff
18763 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
18764 (revision "1"))
18765 (package
18766 (name "emacs-vdiff")
18767 (version (git-version "0.2.3" revision commit))
18768 (source
18769 (origin
18770 (method git-fetch)
18771 (uri (git-reference
18772 (url "https://github.com/justbur/emacs-vdiff.git")
18773 (commit commit)))
18774 (file-name (git-file-name name version))
18775 (sha256
18776 (base32
18777 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
18778 (build-system emacs-build-system)
18779 (propagated-inputs
18780 `(("emacs-hydra" ,emacs-hydra)))
18781 (arguments
18782 `(#:tests? #t
18783 #:test-command '("emacs" "-Q" "-batch" "-L" "."
18784 "-l" "vdiff-test.el"
18785 "-f" "ert-run-tests-batch-and-exit")))
18786 (home-page "https://github.com/justbur/emacs-vdiff/")
18787 (synopsis "Frontend for diffing based on vimdiff")
18788 (description "This package permits comparisons of two or three buffers
18789 based on diff output.")
18790 (license license:gpl3+))))
18791
18792 (define-public emacs-vdiff-magit
18793 ;; Need to use a more recent commit than the latest release version because
18794 ;; of Magit and Transient
18795 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
18796 (version "0.3.2")
18797 (revision "8"))
18798 (package
18799 (name "emacs-vdiff-magit")
18800 (version (git-version version revision commit))
18801 (source
18802 (origin
18803 (method git-fetch)
18804 (uri (git-reference
18805 (url "https://github.com/justbur/emacs-vdiff-magit/")
18806 (commit commit)))
18807 (file-name (git-file-name name version))
18808 (sha256
18809 (base32
18810 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
18811 (build-system emacs-build-system)
18812 (propagated-inputs
18813 `(("emacs-vdiff" ,emacs-vdiff)
18814 ("emacs-magit" ,emacs-magit)
18815 ("emacs-transient" ,emacs-transient)))
18816 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
18817 (synopsis "Frontend for diffing based on vimdiff")
18818 (description "This package permits comparisons of two or three buffers
18819 based on diff output.")
18820 (license license:gpl3+))))
18821
18822 (define-public emacs-all-the-icons-dired
18823 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
18824 (version "1.0")
18825 (revision "1"))
18826 (package
18827 (name "emacs-all-the-icons-dired")
18828 (version (git-version version revision commit))
18829 (source
18830 (origin
18831 (method git-fetch)
18832 (uri (git-reference
18833 (url "https://github.com/jtbm37/all-the-icons-dired/")
18834 (commit commit)))
18835 (file-name (git-file-name name version))
18836 (sha256
18837 (base32
18838 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
18839 (build-system emacs-build-system)
18840 (propagated-inputs
18841 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
18842 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
18843 (synopsis "Show icons for each file in @code{dired-mode}")
18844 (description "This package allows icons from @file{all-the-icons.el} to
18845 be used in @code{dired-mode}.")
18846 (license license:gpl3+))))
18847
18848 (define-public emacs-exwm-edit
18849 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
18850 (version "0.0.1")
18851 (revision "1"))
18852 (package
18853 (name "emacs-exwm-edit")
18854 (version (git-version version revision commit))
18855 (source
18856 (origin
18857 (method git-fetch)
18858 (uri (git-reference
18859 (url "https://github.com/agzam/exwm-edit/")
18860 (commit commit)))
18861 (file-name (git-file-name name version))
18862 (sha256
18863 (base32
18864 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
18865 (build-system emacs-build-system)
18866 (propagated-inputs
18867 `(("emacs-exwm" ,emacs-exwm)))
18868 (home-page "https://github.com/agzam/exwm-edit/")
18869 (synopsis "Open temp buffers for editing text from EXWM buffers")
18870 (description "This package facilitates editing text from EXWM buffers by
18871 generating a temp buffer in which any useful Emacs utilities and modes can be
18872 invoked.")
18873 (license license:gpl3+))))
18874
18875 (define-public emacs-ert-async
18876 (package
18877 (name "emacs-ert-async")
18878 (version "0.1.2")
18879 (source
18880 (origin
18881 (method git-fetch)
18882 (uri (git-reference
18883 (url "https://github.com/rejeep/ert-async.el")
18884 (commit (string-append "v" version))))
18885 (file-name (git-file-name name version))
18886 (sha256
18887 (base32
18888 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
18889 (build-system emacs-build-system)
18890 (home-page "https://github.com/rejeep/ert-async.el")
18891 (synopsis "Async support for ERT")
18892 (description "This package allows ERT to work with asynchronous tests.")
18893 (license license:gpl3+)))
18894
18895 (define-public emacs-prodigy-el
18896 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
18897 (revision "2"))
18898 (package
18899 (name "emacs-prodigy-el")
18900 (version (git-version "0.7.0" revision commit))
18901 (source
18902 (origin
18903 (method git-fetch)
18904 (uri (git-reference
18905 (url "https://github.com/rejeep/prodigy.el")
18906 (commit commit)))
18907 (file-name (git-file-name name version))
18908 (sha256
18909 (base32
18910 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
18911 (build-system emacs-build-system)
18912 (propagated-inputs
18913 `(("emacs-dash" ,emacs-dash)
18914 ("emacs-s" ,emacs-s)
18915 ("emacs-f" ,emacs-f)))
18916 (native-inputs
18917 `(("emacs-el-mock" ,emacs-el-mock)
18918 ("emacs-ert-async" ,emacs-ert-async)))
18919 (home-page "https://github.com/rejeep/prodigy.el")
18920 (synopsis "Manage external services from within Emacs")
18921 (description "This package provides a GUI for defining and monitoring services.")
18922 (license license:gpl3+))))
18923
18924 (define-public emacs-web-server
18925 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
18926 (revision "1"))
18927 (package
18928 (name "emacs-web-server")
18929 (version (git-version "0.1.0" revision commit))
18930 (source
18931 (origin
18932 (method git-fetch)
18933 (uri (git-reference
18934 (url "https://github.com/eschulte/emacs-web-server/")
18935 (commit commit)))
18936 (file-name (git-file-name name version))
18937 (sha256
18938 (base32
18939 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
18940 (build-system emacs-build-system)
18941 (native-inputs
18942 `(("curl" ,curl)))
18943 (arguments
18944 `(#:phases
18945 (modify-phases %standard-phases
18946 (add-after 'unpack 'set-shell
18947 ;; Setting the SHELL environment variable is required for the tests
18948 ;; to find sh.
18949 (lambda _
18950 (setenv "SHELL" (which "sh"))
18951 #t)))
18952 #:tests? #t
18953 #:test-command '("make" "check")))
18954 (home-page "https://github.com/eschulte/emacs-web-server/")
18955 (synopsis "Web server with handlers in Emacs Lisp")
18956 (description "This package supports HTTP GET and POST requests with
18957 url-encoded parameters, as well as web sockets.")
18958 (license license:gpl3+))))
18959
18960 (define-public emacs-markdown-preview-mode
18961 (package
18962 (name "emacs-markdown-preview-mode")
18963 (version "0.9.2")
18964 (source
18965 (origin
18966 (method git-fetch)
18967 (uri (git-reference
18968 (url "https://github.com/ancane/markdown-preview-mode")
18969 (commit (string-append "v" version))))
18970 (file-name (git-file-name name version))
18971 (sha256
18972 (base32
18973 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
18974 (build-system emacs-build-system)
18975 (propagated-inputs
18976 `(("emacs-markdown-mode" ,emacs-markdown-mode)
18977 ("emacs-websocket" ,emacs-websocket)
18978 ("emacs-web-server" ,emacs-web-server)))
18979 (arguments '(#:include '("\\.el$" "\\.html$")))
18980 (home-page "https://github.com/ancane/markdown-preview-mode")
18981 (synopsis "Preview Markdown files")
18982 (description "This package provides a minor mode for preview of Markdown
18983 files, and sends rendered Markdown to a web browser.")
18984 (license license:gpl3+)))
18985
18986 (define-public emacs-dotenv-mode
18987 (package
18988 (name "emacs-dotenv-mode")
18989 (version "0.2.4")
18990 (source
18991 (origin
18992 (method git-fetch)
18993 (uri (git-reference
18994 (url "https://github.com/preetpalS/emacs-dotenv-mode")
18995 (commit (string-append "v" version))))
18996 (file-name (git-file-name name version))
18997 (sha256
18998 (base32
18999 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
19000 (build-system emacs-build-system)
19001 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
19002 (synopsis "Major mode for @file{.env} files")
19003 (description "This package provides syntax highlighting for @file{.env}
19004 files.")
19005 (license license:gpl3+)))
19006
19007 (define-public emacs-add-node-modules-path
19008 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
19009 (version "1.2.0")
19010 (revision "10"))
19011 (package
19012 (name "emacs-add-node-modules-path")
19013 (version (git-version version revision commit))
19014 (source
19015 (origin
19016 (method git-fetch)
19017 (uri (git-reference
19018 (url "https://github.com/codesuki/add-node-modules-path")
19019 (commit commit)))
19020 (file-name (git-file-name name version))
19021 (sha256
19022 (base32
19023 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
19024 (build-system emacs-build-system)
19025 (home-page "https://github.com/codesuki/add-node-modules-path")
19026 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
19027 (description "This package searches the parent directories of the
19028 current file for the project's @file{node_modules/.bin/} directory, allowing
19029 Emacs to find project-specific installations of packages.")
19030 (license license:expat))))
19031
19032 (define-public emacs-flow-minor-mode
19033 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
19034 (version "0.3")
19035 (revision "4"))
19036 (package
19037 (name "emacs-flow-minor-mode")
19038 (version (git-version version revision commit))
19039 (source
19040 (origin
19041 (method git-fetch)
19042 (uri (git-reference
19043 (url "https://github.com/an-sh/flow-minor-mode")
19044 (commit commit)))
19045 (file-name (git-file-name name version))
19046 (sha256
19047 (base32
19048 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
19049 (build-system emacs-build-system)
19050 (home-page "https://github.com/an-sh/flow-minor-mode")
19051 (synopsis "Minor mode for JavaScript Flow files")
19052 (description "This package integrates Flow with Emacs, allowing for
19053 definition-jumping and type-checking on demand.")
19054 (license license:bsd-3))))
19055
19056 (define-public emacs-rjsx-mode
19057 (let ((commit "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5")
19058 (revision "2"))
19059 (package
19060 (name "emacs-rjsx-mode")
19061 (version (git-version "0.4" revision commit))
19062 (source
19063 (origin
19064 (method git-fetch)
19065 (uri (git-reference
19066 (url "https://github.com/felipeochoa/rjsx-mode")
19067 (commit commit)))
19068 (file-name (git-file-name name version))
19069 (sha256
19070 (base32
19071 "0s0871sx3ch09kgvbcp9na4zdrfrda62xjq8m9knbq5vnj8q8qpi"))))
19072 (build-system emacs-build-system)
19073 (propagated-inputs
19074 `(("emacs-js2-mode" ,emacs-js2-mode)))
19075 (arguments
19076 `(#:tests? #t
19077 #:test-command '("make" "test")))
19078 (home-page "https://github.com/felipeochoa/rjsx-mode")
19079 (synopsis "Major mode for JSX files")
19080 (description "This package extends the parser of @code{js2-mode} to
19081 support JSX syntax.")
19082 (license license:expat))))
19083
19084 (define-public emacs-origami-el
19085 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
19086 (version "1.0")
19087 (revision "1"))
19088 (package
19089 (name "emacs-origami-el")
19090 (version (git-version version revision commit))
19091 (source
19092 (origin
19093 (method git-fetch)
19094 (uri (git-reference
19095 (url "https://github.com/gregsexton/origami.el")
19096 (commit commit)))
19097 (file-name (git-file-name name version))
19098 (sha256
19099 (base32
19100 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
19101 (build-system emacs-build-system)
19102 (propagated-inputs
19103 `(("emacs-dash" ,emacs-dash)
19104 ("emacs-s" ,emacs-s)))
19105 (home-page "https://github.com/gregsexton/origami.el")
19106 (synopsis "Flexible text-folding")
19107 (description "This package provides a minor mode for collapsing and
19108 expanding regions of text without modifying the actual contents.")
19109 (license license:expat))))
19110
19111 (define-public emacs-peep-dired
19112 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
19113 (version "0")
19114 (revision "1"))
19115 (package
19116 (name "emacs-peep-dired")
19117 (version (git-version version revision commit))
19118 (source
19119 (origin
19120 (method git-fetch)
19121 (uri (git-reference
19122 (url "https://github.com/asok/peep-dired")
19123 (commit commit)))
19124 (file-name (git-file-name name version))
19125 (sha256
19126 (base32
19127 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
19128 (build-system emacs-build-system)
19129 (home-page "https://github.com/asok/peep-dired")
19130 (synopsis "Preview files in another window")
19131 (description "This package provides a minor mode that allows files to be
19132 previewed by scrolling up and down within a @code{dired} buffer.")
19133 (license license:gpl3+))))
19134
19135 (define-public emacs-counsel-etags
19136 (package
19137 (name "emacs-counsel-etags")
19138 (version "1.8.9")
19139 (source
19140 (origin
19141 (method git-fetch)
19142 (uri (git-reference
19143 (url "https://github.com/redguardtoo/counsel-etags")
19144 (commit version)))
19145 (file-name (git-file-name name version))
19146 (sha256
19147 (base32
19148 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
19149 (build-system emacs-build-system)
19150 (propagated-inputs
19151 `(("emacs-ivy" ,emacs-ivy)))
19152 (arguments
19153 `(#:tests? #t
19154 #:test-command '("make" "test")))
19155 (home-page "https://github.com/redguardtoo/counsel-etags")
19156 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
19157 (description "This package uses @code{ivy-mode} to facilitate navigating
19158 and searching through @code{Ctags} files.")
19159 (license license:gpl3+)))
19160
19161 (define-public emacs-ivy-clipmenu
19162 (let ((commit "d2071f2c5043a05d610cd1952e84176ca78c31dc"))
19163 (package
19164 (name "emacs-ivy-clipmenu")
19165 (version (git-version "0.0.1" "1" commit))
19166 (source (origin
19167 (method git-fetch)
19168 (uri (git-reference
19169 (url "https://github.com/wpcarro/ivy-clipmenu.el.git")
19170 (commit commit)))
19171 (file-name (git-file-name name version))
19172 (sha256
19173 (base32
19174 "0npd8glzk5z4n7y9mzbsbzi0cf3by19fqcki052jr3dga363lds7"))))
19175 (propagated-inputs
19176 `(("emacs-f" ,emacs-f)
19177 ("emacs-ivy" ,emacs-ivy)))
19178 (build-system emacs-build-system)
19179 (home-page "https://github.com/wpcarro/ivy-clipmenu.el")
19180 (synopsis "Ivy integration with clipmenu")
19181 (description "Ivy integration with the clipboard manager, clipmenu.")
19182 (license license:expat))))
19183
19184 (define-public emacs-org-download
19185 (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
19186 (revision "2"))
19187 (package
19188 (name "emacs-org-download")
19189 (version (git-version "0.1.0" revision commit))
19190 (source (origin
19191 (method git-fetch)
19192 (uri (git-reference
19193 (url "https://github.com/abo-abo/org-download")
19194 (commit commit)))
19195 (sha256
19196 (base32
19197 "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
19198 (file-name (git-file-name name version))))
19199 (build-system emacs-build-system)
19200 (propagated-inputs
19201 `(("emacs-org" ,emacs-org)
19202 ("emacs-async" ,emacs-async)))
19203 (home-page "https://github.com/abo-abo/org-download")
19204 (synopsis "Facilitate moving images")
19205 (description "This package provides utilities for managing image files
19206 copied into @code{org-mode} buffers.")
19207 (license license:gpl3+))))
19208
19209 (define-public emacs-dash-docs
19210 (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a")
19211 (revision "1"))
19212 (package
19213 (name "emacs-dash-docs")
19214 (version (git-version "1.4.0" revision commit))
19215 (source
19216 (origin
19217 (method git-fetch)
19218 (uri (git-reference
19219 (url "https://github.com/dash-docs-el/dash-docs.git")
19220 (commit commit)))
19221 (file-name (git-file-name name version))
19222 (sha256
19223 (base32
19224 "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng"))))
19225 (build-system emacs-build-system)
19226 (propagated-inputs
19227 `(("emacs-async" ,emacs-async)))
19228 (native-inputs
19229 `(("emacs-undercover" ,emacs-undercover)
19230 ("emacs-ert-runner" ,emacs-ert-runner)))
19231 (arguments
19232 `(#:tests? #t
19233 #:test-command '("ert-runner")
19234 #:phases
19235 ;; this test requires network access, so remove it
19236 (modify-phases %standard-phases
19237 (add-before 'check 'make-tests-writable
19238 (lambda _
19239 (make-file-writable "test/dash-docs-test.el")
19240 #t))
19241 (add-before 'check 'delete-test
19242 (lambda _
19243 (emacs-batch-edit-file "test/dash-docs-test.el"
19244 `(progn (progn
19245 (goto-char (point-min))
19246 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
19247 (beginning-of-line)
19248 (kill-sexp))
19249 (basic-save-buffer)))
19250 #t)))))
19251 (home-page "https://github.com/dash-docs-el/dash-docs")
19252 (synopsis "Offline documentation browser for APIs using Dash docsets")
19253 (description "This package exposes functionality to work with Dash docsets.")
19254 (license license:gpl3+))))
19255
19256 (define-public emacs-helm-dash
19257 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
19258 (revision "2"))
19259 (package
19260 (name "emacs-helm-dash")
19261 (version (git-version "1.3.0" revision commit))
19262 (source
19263 (origin
19264 (method git-fetch)
19265 (uri (git-reference
19266 (url "https://github.com/areina/helm-dash.git")
19267 (commit commit)))
19268 (file-name (git-file-name name version))
19269 (sha256
19270 (base32
19271 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
19272 (build-system emacs-build-system)
19273 (propagated-inputs
19274 `(("emacs-helm" ,emacs-helm)
19275 ("emacs-dash-docs" ,emacs-dash-docs)))
19276 (home-page "https://github.com/areina/helm-dash")
19277 (synopsis "Offline documentation browser for APIs using Dash docsets")
19278 (description "This package uses Helm to install and navigate through
19279 Dash docsets.")
19280 (license license:gpl3+))))
19281
19282 (define-public emacs-counsel-dash
19283 (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
19284 (revision "3"))
19285 (package
19286 (name "emacs-counsel-dash")
19287 (version (git-version "0.1.3" revision commit))
19288 (source
19289 (origin
19290 (method git-fetch)
19291 (uri (git-reference
19292 (url "https://github.com/dash-docs-el/counsel-dash.git")
19293 (commit commit)))
19294 (file-name (git-file-name name version))
19295 (sha256
19296 (base32
19297 "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
19298 (build-system emacs-build-system)
19299 (propagated-inputs
19300 `(("emacs-dash-docs" ,emacs-dash-docs)
19301 ("emacs-ivy" ,emacs-ivy)))
19302 (arguments
19303 `(#:phases
19304 (modify-phases %standard-phases
19305 (add-after 'unpack 'require-ivy
19306 (lambda _
19307 (substitute* "counsel-dash.el"
19308 (("^\\(require 'cl-lib\\)")
19309 "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
19310 #t)))))
19311 (home-page "https://github.com/dash-docs-el/counsel-dash")
19312 (synopsis "Offline documentation browser for APIs using Dash docsets")
19313 (description "This package uses @code{ivy-mode} to install and navigate
19314 through Dash docsets.")
19315 (license license:expat))))
19316
19317 (define-public emacs-el-patch
19318 (package
19319 (name "emacs-el-patch")
19320 (version "2.2.3")
19321 (source
19322 (origin
19323 (method git-fetch)
19324 (uri (git-reference
19325 (url "https://github.com/raxod502/el-patch")
19326 (commit version)))
19327 (file-name (git-file-name name version))
19328 (sha256
19329 (base32
19330 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
19331 (build-system emacs-build-system)
19332 (home-page "https://github.com/raxod502/el-patch")
19333 (synopsis "Future-proof your Emacs customizations")
19334 (description "This package allows for an alternate definition of an Elisp
19335 function to be specified and for any differences from the original definition
19336 to be examined using Ediff.")
19337 (license license:expat)))
19338
19339 (define-public emacs-info-plus
19340 (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da")
19341 (revision "2"))
19342 (package
19343 (name "emacs-info-plus")
19344 (version (git-version "0" revision commit))
19345 (source
19346 (origin
19347 (method git-fetch)
19348 (uri (git-reference
19349 (url "https://github.com/emacsmirror/info-plus")
19350 (commit commit)))
19351 (file-name (git-file-name name version))
19352 (sha256
19353 (base32
19354 "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0"))))
19355 (build-system emacs-build-system)
19356 (home-page "https://github.com/emacsmirror/info-plus")
19357 (synopsis "Extensions to @file{info.el}")
19358 (description "This package extends Emacs' @file{info.el} by allowing
19359 outline-enabled table of contents, additional metadata association for Info
19360 nodes, and more.")
19361 (license license:gpl2+))))
19362
19363 (define-public emacs-eval-sexp-fu-el
19364 (package
19365 (name "emacs-eval-sexp-fu-el")
19366 (version "0.5.0")
19367 (source
19368 (origin
19369 (method git-fetch)
19370 (uri (git-reference
19371 (url "https://github.com/hchbaw/eval-sexp-fu.el")
19372 (commit (string-append "v" version))))
19373 (file-name (git-file-name name version))
19374 (sha256
19375 (base32
19376 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
19377 (build-system emacs-build-system)
19378 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
19379 (synopsis "Enhancements for evaluating s-expressions")
19380 (description "This package provides provides variants of
19381 @code{eval-last-sexp} that work on the containing list or s-expression, as
19382 well as an option for visually flashing evaluated s-expressions.")
19383 (license license:gpl3+)))
19384
19385 (define-public emacs-counsel-tramp
19386 (package
19387 (name "emacs-counsel-tramp")
19388 (version "0.6.3")
19389 (source
19390 (origin
19391 (method git-fetch)
19392 (uri (git-reference
19393 (url "https://github.com/masasam/emacs-counsel-tramp")
19394 (commit version)))
19395 (file-name (git-file-name name version))
19396 (sha256
19397 (base32
19398 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
19399 (build-system emacs-build-system)
19400 (propagated-inputs
19401 `(("emacs-ivy" ,emacs-ivy)))
19402 (home-page "https://github.com/masasam/emacs-counsel-tramp")
19403 (synopsis "Ivy interface for TRAMP")
19404 (description "This package allows @code{ivy-mode} to display and filter
19405 SSH servers.")
19406 (license license:gpl3+)))
19407
19408 (define-public emacs-tramp-auto-auth
19409 (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
19410 (package
19411 (name "emacs-tramp-auto-auth")
19412 (version (git-version "20191027" "1" commit))
19413 (source
19414 (origin
19415 (method git-fetch)
19416 (uri (git-reference
19417 (url "https://github.com/oitofelix/tramp-auto-auth.git")
19418 (commit commit)))
19419 (file-name (git-file-name name version))
19420 (sha256
19421 (base32
19422 "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"))))
19423 (build-system emacs-build-system)
19424 (home-page "https://github.com/oitofelix/tramp-auto-auth")
19425 (synopsis "TRAMP automatic authentication library")
19426 (description "This package provides @code{tramp-auto-auth-mode} Emacs
19427 global minor mode whose purpose is to automatically feed TRAMP sub-processes
19428 with passwords for paths matching regexps.")
19429 (license license:gpl3+))))
19430
19431 (define-public emacs-eacl
19432 (package
19433 (name "emacs-eacl")
19434 (version "2.0.1")
19435 (source
19436 (origin
19437 (method git-fetch)
19438 (uri (git-reference
19439 (url "https://github.com/redguardtoo/eacl")
19440 (commit version)))
19441 (file-name (git-file-name name version))
19442 (sha256
19443 (base32
19444 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
19445 (build-system emacs-build-system)
19446 (propagated-inputs
19447 `(("emacs-ivy" ,emacs-ivy)))
19448 (home-page "https://github.com/redguardtoo/eacl")
19449 (synopsis "Auto-complete lines by using @code{grep} on a project")
19450 (description "This package provides auto-completion commands for single
19451 and multiple lines of code in a project.")
19452 (license license:gpl3+)))
19453
19454 (define-public emacs-semantic-refactor
19455 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
19456 ;; commits since then.
19457 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
19458 (package
19459 (name "emacs-semantic-refactor")
19460 (version (git-version "0.5" "1" commit))
19461 (source
19462 (origin
19463 (method git-fetch)
19464 (uri (git-reference
19465 (url "https://github.com/tuhdo/semantic-refactor")
19466 (commit commit)))
19467 (file-name (git-file-name name version))
19468 (sha256
19469 (base32
19470 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
19471 (build-system emacs-build-system)
19472 (home-page "https://github.com/tuhdo/semantic-refactor")
19473 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
19474 (description "This package provides a refactoring tool based on the
19475 Emacs Semantic parser framework. For C and C++ it supports operations such as:
19476
19477 @enumerate
19478 @item Generating class implementations
19479 @item Generating function prototypes
19480 @item Converting functions to function pointers
19481 @item Moving semantic units
19482 @item etc...
19483 @end enumerate
19484
19485 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
19486 as:
19487
19488 @enumerate
19489 @item Formatting the whole buffer
19490 @item Converting sexpressions to one or multiple lines
19491 @item etc...
19492 @end enumerate\n")
19493 (license license:gpl3+))))
19494
19495 (define-public emacs-nhexl-mode
19496 (package
19497 (name "emacs-nhexl-mode")
19498 (version "1.4")
19499 (source
19500 (origin
19501 (method url-fetch)
19502 (uri (string-append
19503 "https://elpa.gnu.org/packages/nhexl-mode-"
19504 version ".el"))
19505 (sha256
19506 (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8"))))
19507 (build-system emacs-build-system)
19508 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
19509 (synopsis "Minor mode to edit files via hex-dump format")
19510 (description
19511 "This package implements NHexl mode, a minor mode for editing files
19512 in hex dump format. The mode command is called @command{nhexl-mode}.
19513
19514 This minor mode implements similar functionality to @command{hexl-mode},
19515 but using a different implementation technique, which makes it
19516 usable as a \"plain\" minor mode. It works on any buffer, and does
19517 not mess with the undo log or with the major mode.
19518
19519 It also comes with:
19520
19521 @itemize
19522 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
19523 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
19524 (which only work for hex-digits) will only modify the nibble under point.
19525 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
19526 moving text. In this minor mode, not only self-inserting keys overwrite
19527 existing text, but commands like `yank' and @command{kill-region} as well.
19528 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
19529 C-f} to advance by #xa4 characters.
19530 @end itemize\n")
19531 (license license:gpl3+)))
19532
19533 (define-public emacs-helm-wikipedia
19534 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
19535 (package
19536 (name "emacs-helm-wikipedia")
19537 (version (git-version "0.0.0" "1" commit))
19538 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
19539 (source
19540 (origin
19541 (method git-fetch)
19542 (uri (git-reference
19543 (url home-page)
19544 (commit commit)))
19545 (file-name (git-file-name name version))
19546 (sha256
19547 (base32
19548 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
19549 (build-system emacs-build-system)
19550 (inputs
19551 `(("helm" ,emacs-helm)))
19552 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
19553 (description
19554 "This package provides an Emacs Helm interface for search suggestions
19555 and article extracts for Wikipedia.")
19556 (license license:gpl3+))))
19557
19558 (define-public emacs-webfeeder
19559 (package
19560 (name "emacs-webfeeder")
19561 (version "1.0.0")
19562 (source
19563 (origin
19564 (method url-fetch)
19565 (uri (string-append
19566 "https://elpa.gnu.org/packages/webfeeder-"
19567 version
19568 ".tar"))
19569 (sha256
19570 (base32
19571 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
19572 (build-system emacs-build-system)
19573 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
19574 (synopsis "Build RSS and Atom webfeeds from HTML files")
19575 (description
19576 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
19577 files. The various elements of the HTML input are parsed with customizable
19578 functions (e.g. @code{webfeeder-title-function}).")
19579 (license license:gpl3+)))
19580
19581 (define-public emacs-evil-numbers
19582 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
19583 (package
19584 (name "emacs-evil-numbers")
19585 (version (git-version "0.4" "1" commit))
19586 (source (origin
19587 (method git-fetch)
19588 (uri (git-reference
19589 (url "https://github.com/dieggsy/evil-numbers")
19590 (commit commit)))
19591 (file-name (git-file-name name version))
19592 (sha256
19593 (base32
19594 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
19595 (build-system emacs-build-system)
19596 (home-page "https://github.com/dieggsy/evil-numbers")
19597 (synopsis "Increment and decrement numbers in Emacs")
19598 (description "This package increments and decrements binary, octal,
19599 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
19600 number up to EOL and then increments or decrements and keeps zero padding up
19601 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
19602 numbers within that region will be incremented/decremented (unlike in Vim).
19603
19604 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
19605 (license license:gpl3+))))
19606
19607 (define-public emacs-rotate-text
19608 (package
19609 (name "emacs-rotate-text")
19610 (version "0.1")
19611 (source (origin
19612 (method git-fetch)
19613 (uri (git-reference
19614 (url "https://github.com/nschum/rotate-text.el.git")
19615 (commit version)))
19616 (file-name (git-file-name name version))
19617 (sha256
19618 (base32
19619 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
19620 (build-system emacs-build-system)
19621 (home-page "https://nschum.de/src/emacs/rotate-text/")
19622 (synopsis "Cycle through words, symbols and patterns in Emacs")
19623 (description "@code{rotate-text} allows you rotate to commonly
19624 interchanged text with a single keystroke. For example, you can toggle
19625 between \"frame-width\" and \"frame-height\", between \"public\",
19626 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
19627 \"variableN\".")
19628 (license license:gpl2+)))
19629
19630 (define-public emacs-ediprolog
19631 (package
19632 (name "emacs-ediprolog")
19633 (version "1.2")
19634 (source
19635 (origin
19636 (method url-fetch)
19637 (uri (string-append
19638 "https://elpa.gnu.org/packages/ediprolog-"
19639 version
19640 ".el"))
19641 (sha256
19642 (base32
19643 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
19644 (build-system emacs-build-system)
19645 (home-page "https://elpa.gnu.org/packages/ediprolog.html")
19646 (synopsis "Emacs Does Interactive Prolog")
19647 (description "This package provides a major mode that let the user
19648 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
19649 programs and evaluate embedded queries. This mode is focused on the command
19650 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
19651 context, carry out the appropriate action.")
19652 (license license:gpl3+)))
19653
19654 (define-public emacs-evil-cleverparens
19655 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
19656 (revision "1"))
19657 (package
19658 (name "emacs-evil-cleverparens")
19659 (version (git-version "2017-07-17" revision commit))
19660 (source (origin
19661 (method git-fetch)
19662 (uri (git-reference
19663 (url "https://github.com/luxbock/evil-cleverparens.git")
19664 (commit commit)))
19665 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
19666 (file-name (git-file-name name version))))
19667 (build-system emacs-build-system)
19668 (propagated-inputs
19669 `(("emacs-evil" ,emacs-evil)
19670 ("emacs-paredit" ,emacs-paredit)
19671 ("emacs-smartparens" ,emacs-smartparens)))
19672 (home-page "https://github.com/luxbock/evil-cleverparens")
19673 (synopsis "Emacs modal editing optimized for editing Lisp")
19674 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
19675 modal editing with screwing up the structure of Lisp code. Alternatives for
19676 verb commands which would are normally destructive (such as deletion) are
19677 provided. Those alternative commands are and bound by default to their
19678 corresponding Evil keys.")
19679 (license license:expat))))
19680
19681 (define-public emacs-evil-traces
19682 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
19683 (revision "2"))
19684 (package
19685 (name "emacs-evil-traces")
19686 (version (git-version "0.0.1" revision commit))
19687 (source (origin
19688 (method git-fetch)
19689 (uri (git-reference
19690 (url "https://github.com/mamapanda/evil-traces.git")
19691 (commit commit)))
19692 (file-name (git-file-name name version))
19693 (sha256
19694 (base32
19695 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
19696 (build-system emacs-build-system)
19697 (propagated-inputs
19698 `(("emacs-evil" ,emacs-evil)))
19699 (arguments
19700 `(#:phases
19701 (modify-phases %standard-phases
19702 (add-after 'unpack 'set-shell
19703 ;; Setting the SHELL environment variable is required for the tests
19704 ;; to find sh.
19705 (lambda _
19706 (setenv "SHELL" (which "sh"))
19707 #t)))
19708 #:tests? #t
19709 #:test-command '("make" "test")))
19710 (home-page "https://github.com/mamapanda/evil-traces")
19711 (synopsis "Visual hints for @code{evil-ex}")
19712 (description "This package adds visual hints to certain @code{ex}
19713 commands in @code{evil-mode}.")
19714 (license license:gpl3+))))
19715
19716 (define-public emacs-xterm-color
19717 (package
19718 (name "emacs-xterm-color")
19719 (version "1.9")
19720 (source (origin
19721 (method git-fetch)
19722 (uri (git-reference
19723 (url "https://github.com/atomontage/xterm-color.git")
19724 (commit version)))
19725 (file-name (git-file-name name version))
19726 (sha256
19727 (base32
19728 "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"))))
19729 (build-system emacs-build-system)
19730 (home-page "https://github.com/atomontage/xterm-color")
19731 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
19732 (description "@code{xterm-color.el} is an ANSI control sequence to
19733 text-property translator.")
19734 (license license:bsd-2)))
19735
19736 (define-public emacs-org-noter
19737 (package
19738 (name "emacs-org-noter")
19739 (version "1.4.1")
19740 (source
19741 (origin
19742 (method git-fetch)
19743 (uri (git-reference
19744 (url "https://github.com/weirdNox/org-noter.git")
19745 (commit version)))
19746 (file-name (git-file-name name version))
19747 (sha256
19748 (base32
19749 "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
19750 (build-system emacs-build-system)
19751 (propagated-inputs `(("emacs-org" ,emacs-org)))
19752 (home-page "https://github.com/weirdNox/org-noter")
19753 (synopsis "Synchronized, Org-mode, document annotator")
19754 (description
19755 "This package lets you create notes that are kept in sync when you
19756 scroll through the document, but that are external to it---the notes
19757 themselves live in an Org-mode file. As such, this leverages the power of
19758 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
19759 acting like notes that are made @emph{in} the document.")
19760 (license license:gpl3+)))
19761
19762 (define-public emacs-org-redmine
19763 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
19764 (package
19765 (name "emacs-org-redmine")
19766 (version (git-version "0.1" "1" commit))
19767 (source (origin
19768 (method git-fetch)
19769 (uri (git-reference
19770 (url "https://github.com/gongo/org-redmine.git")
19771 (commit commit)))
19772 (file-name (git-file-name name version))
19773 (sha256
19774 (base32
19775 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
19776 (build-system emacs-build-system)
19777 (home-page "https://github.com/gongo/org-redmine/")
19778 (synopsis "Redmine tools using Emacs")
19779 (description "This program provides an Emacs client for Redmine.")
19780 (license license:gpl3+))))
19781
19782 (define-public emacs-multi-term
19783 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
19784 (package
19785 (name "emacs-multi-term")
19786 (version "1.2")
19787 (source (origin
19788 (method git-fetch)
19789 (uri (git-reference
19790 (url "https://github.com/manateelazycat/multi-term.git")
19791 (commit commit)))
19792 (file-name (git-file-name name version))
19793 (sha256
19794 (base32
19795 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
19796 (build-system emacs-build-system)
19797 (inputs `(("zsh" ,zsh)))
19798 (home-page "https://github.com/manateelazycat/multi-term")
19799 (synopsis "Manage multiple terminal buffers in Emacs")
19800 (description
19801 "This package enhances @code{term.el} with the following features:
19802
19803 @enumerate
19804 @item Functions to switch between multiple terminal buffers
19805 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
19806 the underlying terminal
19807 @item Kills the unused buffer left after exiting the terminal
19808 @item Kills the running sub-processes along with the terminal when killing the
19809 it forcibly
19810 @item Dedicated window for debugging program.
19811 @end enumerate")
19812 (license license:gpl3+))))
19813
19814 (define-public emacs-elpher
19815 (package
19816 (name "emacs-elpher")
19817 (version "1.4.6")
19818 (source
19819 (origin
19820 (method git-fetch)
19821 (uri (git-reference
19822 (url "https://github.com/tgvaughan/elpher")
19823 (commit (string-append "v" version))))
19824 (file-name (git-file-name name version))
19825 (sha256
19826 (base32
19827 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
19828 (build-system emacs-build-system)
19829 (native-inputs
19830 `(("texinfo" ,texinfo)))
19831 (arguments
19832 `(#:phases
19833 (modify-phases %standard-phases
19834 (add-before 'install 'build-doc
19835 (lambda _
19836 (invoke "makeinfo" "elpher.texi"))))))
19837 (home-page "https://github.com/tgvaughan/elpher")
19838 (synopsis "Gopher client for Emacs")
19839 (description "Elpher is a full-featured gopher client for Emacs. Its
19840 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
19841 compatibility with evil-mode, clickable web and gopher links in plain text,
19842 caching of visited sites, pleasant and configurable visualization of Gopher
19843 directories, direct visualisation of image files, jumping directly to links by
19844 name (with autocompletion), a simple bookmark management system and
19845 connections using TLS encryption.")
19846 (license license:gpl3+)))
19847
19848 (define-public emacs-zerodark-theme
19849 (package
19850 (name "emacs-zerodark-theme")
19851 (version "4.6")
19852 (source
19853 (origin
19854 (method git-fetch)
19855 (uri (git-reference
19856 (url "https://github.com/NicolasPetton/zerodark-theme")
19857 (commit version)))
19858 (file-name (git-file-name name version))
19859 (sha256
19860 (base32
19861 "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"))))
19862 (build-system emacs-build-system)
19863 (propagated-inputs
19864 `(("emacs-flycheck" ,emacs-flycheck)
19865 ("emacs-all-the-icons" ,emacs-all-the-icons)))
19866 (home-page
19867 "https://gitlab.petton.fr/nico/zerodark-theme")
19868 (synopsis
19869 "Dark, medium contrast theme for Emacs")
19870 (description
19871 "Zerodark is a dark theme inspired from One Dark and Niflheim.
19872 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
19873 (license license:gpl3+)))
19874
19875 (define-public emacs-gnus-alias
19876 (package
19877 (name "emacs-gnus-alias")
19878 (version "20150316")
19879 (source (origin
19880 (method git-fetch)
19881 (uri (git-reference
19882 (url "https://github.com/hexmode/gnus-alias.git")
19883 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
19884 (file-name (git-file-name name version))
19885 (sha256
19886 (base32
19887 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
19888 (build-system emacs-build-system)
19889 (home-page "https://melpa.org/#/gnus-alias")
19890 (synopsis "Alternative to @code{gnus-posting-styles}")
19891 (description "This Emacs add-on provides a simple mechanism to switch
19892 Identities when using a @code{message-mode} or a @code{message-mode} derived
19893 mode. Identities can include @code{From} and @code{Organisation} headers,
19894 extra headers, body and signature. Other features include:
19895
19896 @itemize
19897 @item Switch Identities in a message buffer.
19898 @item Access original message to help determine Identity of the followup/reply
19899 message.
19900 @item Act on a forwarded message as if it were a message being replied to.
19901 @item Start a new message with a given Identity pre-selected.
19902 @end itemize")
19903 (license license:gpl2+)))
19904
19905 (define-public emacs-ox-epub
19906 (package
19907 (name "emacs-ox-epub")
19908 (version "0.3")
19909 (source (origin
19910 (method git-fetch)
19911 (uri (git-reference
19912 (url "https://github.com/ofosos/ox-epub.git")
19913 (commit (string-append "v" version))))
19914 (file-name (git-file-name name version))
19915 (sha256
19916 (base32
19917 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
19918 (build-system emacs-build-system)
19919 (home-page "https://github.com/ofosos/ox-epub")
19920 (synopsis "Export org mode projects to EPUB")
19921 (description "@code{ox-epub} extends the (X)HTML exporter to generate
19922 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
19923 which should give broad compatibility. It should also be relatiely easy to
19924 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
19925 zip utility (default is @code{zip}).")
19926 (license license:gpl3+)))
19927
19928 (define-public emacs-ox-hugo
19929 (package
19930 (name "emacs-ox-hugo")
19931 (version "0.8")
19932 (source
19933 (origin
19934 (method git-fetch)
19935 (uri (git-reference
19936 (url "https://github.com/kaushalmodi/ox-hugo.git")
19937 (commit (string-append "v" version))))
19938 (file-name (git-file-name name version))
19939 (sha256
19940 (base32
19941 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
19942 (build-system emacs-build-system)
19943 (home-page "https://ox-hugo.scripter.co")
19944 (synopsis "Hugo markdown back-end for Org export engine")
19945 (description
19946 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
19947 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
19948 format.")
19949 (license license:gpl3+)))
19950
19951 (define-public emacs-ox-pandoc
19952 (package
19953 (name "emacs-ox-pandoc")
19954 (version "20180510")
19955 (source (origin
19956 (method git-fetch)
19957 (uri (git-reference
19958 (url "https://github.com/kawabata/ox-pandoc.git")
19959 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
19960 (file-name (git-file-name name version))
19961 (sha256
19962 (base32
19963 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
19964 (build-system emacs-build-system)
19965 (inputs
19966 `(("pandoc" ,ghc-pandoc)))
19967 (propagated-inputs
19968 `(("emacs-dash" ,emacs-dash)
19969 ("emacs-ht" ,emacs-ht)))
19970 (home-page "https://github.com/kawabata/ox-pandoc")
19971 (synopsis "Org exporter for Pandoc")
19972 (description "@code{ox-pandoc} is an exporter for converting Org-mode
19973 files to numerous other formats via Pandoc.")
19974 (license license:gpl3+)))
19975
19976 (define-public emacs-wc-mode
19977 (package
19978 (name "emacs-wc-mode")
19979 (version "1.3")
19980 (source (origin
19981 (method git-fetch)
19982 (uri (git-reference
19983 (url "https://github.com/bnbeckwith/wc-mode.git")
19984 (commit (string-append "v" version))))
19985 (file-name (git-file-name name version))
19986 (sha256
19987 (base32
19988 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
19989 (build-system emacs-build-system)
19990 (home-page "https://github.com/bnbeckwith/wc-mode")
19991 (synopsis "Running word count with goals (minor mode)")
19992 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
19993 for Emacs buffers as well as a modeline addition with live word, line and
19994 character counts. Additionally, a user can set specific goals for adding or
19995 deleting words. These goals were partly inspired by 750words.com where the
19996 goal of the site is to encourage writing by setting a goal of 750 words at a
19997 time.")
19998 (license license:gpl3+)))
19999
20000 (define-public emacs-mastodon
20001 (package
20002 (name "emacs-mastodon")
20003 (version "0.9.0")
20004 (source (origin
20005 (method git-fetch)
20006 (uri (git-reference
20007 (url "https://github.com/jdenen/mastodon.el.git")
20008 (commit version)))
20009 (file-name (git-file-name name version))
20010 (sha256
20011 (base32
20012 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
20013 (build-system emacs-build-system)
20014 (arguments
20015 `(#:phases
20016 (modify-phases %standard-phases
20017 ;; Move the source files to the top level, which is included in
20018 ;; the EMACSLOADPATH.
20019 (add-after 'unpack 'move-source-files
20020 (lambda _
20021 (let ((el-files (find-files "./lisp" ".*\\.el$")))
20022 (for-each (lambda (f)
20023 (rename-file f (basename f)))
20024 el-files))
20025 #t)))))
20026 (home-page "https://github.com/jdenen/mastodon.el")
20027 (synopsis "Emacs client for Mastodon")
20028 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
20029 federated microblogging social network.")
20030 (license license:gpl3+)))
20031
20032 ;; The last release tarball is for version 0.6. We pick a commit close to
20033 ;; version 0.6.10, which doesn't have a release tarball.
20034 (define-public emacs-ebdb
20035 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
20036 (revision "0"))
20037 (package
20038 (name "emacs-ebdb")
20039 (version (git-version "0.6.10" revision commit))
20040 (source (origin
20041 (method git-fetch)
20042 (uri (git-reference
20043 (url "https://github.com/girzel/ebdb.git")
20044 (commit commit)))
20045 (file-name (git-file-name name version))
20046 (sha256
20047 (base32
20048 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
20049 (build-system emacs-build-system)
20050 (home-page "https://github.com/girzel/ebdb")
20051 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
20052 (description "EBDB is a contact management/addressbook package for
20053 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
20054 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
20055 (license license:gpl3+))))
20056
20057 (define-public emacs-refactor
20058 (package
20059 (name "emacs-refactor")
20060 (version "0.4")
20061 (source (origin
20062 (method git-fetch)
20063 (uri (git-reference
20064 (url "https://github.com/Wilfred/emacs-refactor.git")
20065 (commit version)))
20066 (file-name (git-file-name name version))
20067 (sha256
20068 (base32
20069 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
20070 (build-system emacs-build-system)
20071 (propagated-inputs
20072 `(("emacs-dash" ,emacs-dash)
20073 ("emacs-s" ,emacs-s)
20074 ("emacs-popup" ,emacs-popup)
20075 ("emacs-list-utils" ,emacs-list-utils)
20076 ("emacs-iedit" ,emacs-iedit)))
20077 (home-page "https://github.com/Wilfred/emacs-refactor/")
20078 (synopsis "Language-specific refactoring in Emacs")
20079 (description "Emacs Refactor (EMR) is a framework for providing
20080 language-specific refactoring in Emacs. It includes refactoring commands for
20081 a variety of languages, including elisp itself.")
20082 (license license:gpl3+)))
20083
20084 (define-public emacs-flyspell-correct
20085 (package
20086 (name "emacs-flyspell-correct")
20087 (version "0.5")
20088 (source
20089 (origin
20090 (method git-fetch)
20091 (uri (git-reference
20092 (url "https://github.com/d12frosted/flyspell-correct.git")
20093 (commit (string-append "v" version))))
20094 (file-name (git-file-name name version))
20095 (sha256
20096 (base32
20097 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
20098 (build-system emacs-build-system)
20099 (propagated-inputs
20100 `(("emacs-helm" ,emacs-helm)
20101 ("emacs-ivy" ,emacs-ivy)
20102 ("emacs-popup" ,emacs-popup)))
20103 (home-page
20104 "https://github.com/d12frosted/flyspell-correct")
20105 (synopsis
20106 "Correcting words with flyspell via custom interfaces")
20107 (description
20108 "This package provides functionality for correcting words via custom
20109 interfaces. Several interfaces are supported beside the classic ido: popup,
20110 helm and ivy.")
20111 (license license:gpl3+)))
20112
20113 (define-public emacs-org-emms
20114 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
20115 (revision "1"))
20116 (package
20117 (name "emacs-org-emms")
20118 (version
20119 (git-version "0.1" revision commit))
20120 (source
20121 (origin
20122 (method git-fetch)
20123 (uri (git-reference
20124 (url "https://gitlab.com/jagrg/org-emms.git")
20125 (commit commit)))
20126 (file-name (git-file-name name commit))
20127 (sha256
20128 (base32
20129 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
20130 (build-system emacs-build-system)
20131 (propagated-inputs
20132 `(("emms" ,emacs-emms)
20133 ("emacs-org" ,emacs-org)))
20134 (home-page "https://gitlab.com/jagrg/org-emms")
20135 (synopsis "Play multimedia files from org-mode")
20136 (description
20137 "This package provides a new org link type for playing back multimedia
20138 files from org-mode using EMMS, The Emacs Multimedia System. If the link
20139 contains a track position, playback will start at the specified position.")
20140 (license license:gpl3+))))
20141
20142 (define-public emacs-org-jira
20143 (package
20144 (name "emacs-org-jira")
20145 (version "4.3.1")
20146 (source
20147 (origin
20148 (method git-fetch)
20149 (uri (git-reference
20150 (url "https://github.com/ahungry/org-jira.git")
20151 (commit version)))
20152 (file-name (git-file-name name version))
20153 (sha256
20154 (base32
20155 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
20156 (build-system emacs-build-system)
20157 (propagated-inputs
20158 `(("emacs-request" ,emacs-request)
20159 ("emacs-s" ,emacs-s)
20160 ("emacs-dash" ,emacs-dash)
20161 ("emacs-org" ,emacs-org)))
20162 (home-page "https://github.com/ahungry/org-jira")
20163 (synopsis "Syncing between Jira and Org-mode")
20164 (description
20165 "This package provides an extension to org-mode for syncing issues with
20166 JIRA issue servers.")
20167 (license license:gpl3+)))
20168
20169 (define-public emacs-systemd-mode
20170 (package
20171 (name "emacs-systemd-mode")
20172 (version "1.6")
20173 (source (origin
20174 (method git-fetch)
20175 (uri (git-reference
20176 (url "https://github.com/holomorph/systemd-mode.git")
20177 (commit (string-append "v" version))))
20178 (file-name (git-file-name name version))
20179 (sha256
20180 (base32
20181 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
20182 (build-system emacs-build-system)
20183 (arguments '(#:include '("\\.el$" "\\.txt$")))
20184 (home-page "https://github.com/holomorph/systemd-mode")
20185 (synopsis
20186 "Major mode for editing systemd units")
20187 (description
20188 "Major mode for editing systemd units in GNU Emacs.")
20189 (license license:gpl3+)))
20190
20191 (define-public emacs-ssh-config-mode
20192 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
20193 (revision "1"))
20194 (package
20195 (name "emacs-ssh-config-mode")
20196 (version (git-version "8.0" revision commit))
20197 (source
20198 (origin
20199 (method git-fetch)
20200 (uri
20201 (git-reference
20202 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
20203 (commit commit)))
20204 (file-name (git-file-name name commit))
20205 (sha256
20206 (base32
20207 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
20208 (build-system emacs-build-system)
20209 (arguments '(#:include '("\\.el$" "\\.txt$")))
20210 (home-page
20211 "https://github.com/jhgorrell/ssh-config-mode-el")
20212 (synopsis
20213 "Mode for fontification of ~/.ssh/config")
20214 (description
20215 "This package fontifies the ssh config keywords and creates
20216 keybindings for skipping from host section to host section.")
20217 (license license:gpl3+))))
20218
20219 (define-public emacs-ssh-agency
20220 (package
20221 (name "emacs-ssh-agency")
20222 (version "0.4")
20223 (source (origin
20224 (method git-fetch)
20225 (uri (git-reference
20226 (url "https://github.com/magit/ssh-agency.git")
20227 (commit version)))
20228 (file-name (git-file-name name version))
20229 (sha256
20230 (base32
20231 "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"))))
20232 (build-system emacs-build-system)
20233 (propagated-inputs
20234 `(("dash" ,emacs-dash)))
20235 (home-page "https://github.com/magit/ssh-agency")
20236 (synopsis "Manage @code{ssh-agent} from Emacs")
20237 (description
20238 "This package provides functions to startup @code{ssh-agent}, set the
20239 needed environment variables in Emacs, and prompt for passphrases from within
20240 Emacs so that pushes and pulls from @code{magit} will not require entering any
20241 passphrase.
20242
20243 It can also be useful on Unix-like platforms to delay having to enter your
20244 passphrase until the first time you push to a remote.")
20245 (license license:gpl3+)))
20246
20247 (define-public emacs-tao-theme
20248 (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c")
20249 (revision "0"))
20250 (package
20251 (name "emacs-tao-theme")
20252 (version (git-version "0" revision commit))
20253 (source
20254 (origin
20255 (method git-fetch)
20256 (uri (git-reference
20257 (url "https://github.com/11111000000/tao-theme-emacs.git")
20258 (commit commit)))
20259 (file-name (git-file-name name version))
20260 (sha256
20261 (base32
20262 "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"))))
20263 (build-system emacs-build-system)
20264 (home-page "https://github.com/11111000000/tao-theme-emacs")
20265 (synopsis "Parameterized uncolored color themes for Emacs")
20266 (description
20267 "This package provides two parameterized uncolored color themes for
20268 Emacs: @code{tao-yin} and @code{tao-yang}. The default
20269 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
20270
20271 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
20272 @code{tao-theme-scale-filter-fn}, for edge filter; and
20273 @code{tao-theme-use-height}.")
20274 (license license:gpl3+))))
20275
20276 (define-public emacs-almost-mono-themes
20277 (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
20278 (revision "0"))
20279 (package
20280 (name "emacs-almost-mono-themes")
20281 (version (git-version "0" revision commit))
20282 (source
20283 (origin
20284 (method git-fetch)
20285 (uri (git-reference
20286 (url "https://github.com/cryon/almost-mono-themes.git")
20287 (commit commit)))
20288 (file-name (git-file-name name version))
20289 (sha256
20290 (base32
20291 "034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
20292 (build-system emacs-build-system)
20293 (home-page "https://github.com/cryon/almost-mono-themes")
20294 (synopsis "Almost monochromatic themes for emacs in a few variants")
20295 (description
20296 "This package provides a collection of almost monochrome Emacs themes:
20297 @code{almost-mono-black} and @code{almost-mono-white}.")
20298 (license license:gpl3+))))
20299
20300 (define-public emacs-quasi-monochrome
20301 (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
20302 (revision "0"))
20303 (package
20304 (name "emacs-quasi-monochrome")
20305 (version (git-version "1.2" revision commit))
20306 (source
20307 (origin
20308 (method git-fetch)
20309 (uri (git-reference
20310 (url "https://github.com/lbolla/emacs-quasi-monochrome.git")
20311 (commit commit)))
20312 (file-name (git-file-name name version))
20313 (sha256
20314 (base32
20315 "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
20316 (build-system emacs-build-system)
20317 (home-page "https://github.com/lbolla/emacs-quasi-monochrome")
20318 (synopsis "Dark color theme for Emacs")
20319 (description
20320 "This package provides a dark color theme with a black background, high
20321 contrast and few colors.")
20322 (license license:gpl3+))))
20323
20324 (define-public emacs-doom-themes
20325 (let ((commit "54039c5171e3f8c9cef1f82122549b66cd8c8f7b")
20326 (revision "4")
20327 (version "2.1.6"))
20328 (package
20329 (name "emacs-doom-themes")
20330 (version (git-version version revision commit))
20331 (source (origin
20332 (method git-fetch)
20333 (uri (git-reference
20334 (url "https://github.com/hlissner/emacs-doom-themes.git")
20335 (commit commit)))
20336 (file-name (git-file-name name version))
20337 (sha256
20338 (base32 "1iwdjq4q2gkhi6jwas3ywgmdz5dg14sfb3fzhqd7wih6j3i2l3cr"))))
20339 (build-system emacs-build-system)
20340 (native-inputs
20341 `(("emacs-ert-runner" ,emacs-ert-runner)))
20342 (arguments
20343 `(#:tests? #t
20344 #:test-command '("ert-runner")
20345 #:modules ((guix build emacs-build-system)
20346 (guix build utils)
20347 (guix build emacs-utils)
20348 (srfi srfi-1))
20349 #:phases
20350 (modify-phases %standard-phases
20351 (add-after 'unpack 'move-themes
20352 (lambda _
20353 ;; Move the source files to the top level, which is in the
20354 ;; EMACSLOADPATH.
20355 (for-each (lambda (f)
20356 (rename-file f (basename f)))
20357 (find-files "./themes" ".*\\.el$"))
20358 #t))
20359 ;; There is a byte-code overflow issue in the latest checkout
20360 ;; which affects byte-compilation for several (read `most') theme
20361 ;; files. In order to cope with this issue, we disable
20362 ;; byte-compilation until this issue is resolved.
20363 ;; <https://github.com/hlissner/emacs-doom-themes/issues/314>
20364 ;;
20365 ;; NOTE: Byte-comp has been disabled in/after commit 9cd6872.
20366 ;; However our method of selective disabling is preferential to
20367 ;; just widely disabling byte-compilation.
20368 (add-after 'move-themes 'disable-breaking-compilation
20369 (lambda _
20370 (for-each (lambda (file)
20371 (chmod file #o600) ; needed to write changes.
20372 (emacs-batch-disable-compilation file))
20373 (cons "doom-themes-ext-neotree.el"
20374 ;; NOTE: When updating this package, determine
20375 ;; whether changed theme files can byte-compile.
20376 ;; If they can successfully byte-compile, add them
20377 ;; to this list of exceptions.
20378 (lset-difference string-contains
20379 (find-files "." ".*-theme.el")
20380 '("material"
20381 "snazzy"
20382 "tomorrow-day"))))
20383 #t)))))
20384 (synopsis "Wide collection of color themes for Emacs")
20385 (description "Emacs-doom-themes contains numerous popular color themes for
20386 Emacs that integrate with major modes like Org-mode.")
20387 (home-page "https://github.com/hlissner/emacs-doom-themes")
20388 (license license:expat))))
20389
20390 (define-public emacs-modus-themes
20391 (package
20392 (name "emacs-modus-themes")
20393 (version "0.6.0")
20394 (source
20395 (origin
20396 (method git-fetch)
20397 (uri (git-reference
20398 (url "https://gitlab.com/protesilaos/modus-themes.git")
20399 (commit version)))
20400 (file-name (git-file-name name version))
20401 (sha256
20402 (base32 "15z6qq0b0npp7hscmh04i3mi10bynzdy52fv2b160nji264zvcwa"))))
20403 (build-system emacs-build-system)
20404 (home-page "https://gitlab.com/protesilaos/modus-themes")
20405 (synopsis "Emacs themes designed for colour-contrast accessibility")
20406 (description
20407 "This is a set of accessible themes for GNU Emacs. The contrast ratio
20408 between foreground and background values should always be >= 7:1, which
20409 conforms with the WCAG AAA accessibility standard.
20410
20411 The Modus themes project consists of two standalone items, one where dark text
20412 is cast on a light backdrop (Modus Operandi) and another where light text is
20413 displayed against a dark background (Modus Vivendi).")
20414 (license license:gpl3+)))
20415
20416 (define-public emacs-punpun-theme
20417 (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65")
20418 (revision "0"))
20419 (package
20420 (name "emacs-punpun-theme")
20421 (version (git-version "0" revision commit))
20422 (source
20423 (origin
20424 (method git-fetch)
20425 (uri (git-reference
20426 (url "https://github.com/wasamasa/punpun-theme.git")
20427 (commit commit)))
20428 (file-name (git-file-name name version))
20429 (sha256
20430 (base32
20431 "1sgxrj3igzq86h3whfymxf4qzv9kpvcrlhbvjmnp7fwrplys0n7d"))))
20432 (build-system emacs-build-system)
20433 (home-page "https://github.com/wasamasa/punpun-theme")
20434 (synopsis "Bleak Emacs theme")
20435 (description
20436 "A bleak theme. Uses shades of gray and the occasional splash of
20437 color. Designed for 256-color terminals. Comes in light and dark!")
20438 (license license:gpl3+))))
20439
20440 (define-public emacs-spacemacs-theme
20441 (let ((commit "e088bff4f190495615c29de93079aaa823e2300c")
20442 (revision "0"))
20443 (package
20444 (name "emacs-spacemacs-theme")
20445 (version (git-version "0" revision commit)) ;no release yet
20446 (source
20447 (origin
20448 (method git-fetch)
20449 (uri (git-reference
20450 (url "https://github.com/nashamri/spacemacs-theme.git")
20451 (commit commit)))
20452 (file-name (git-file-name name version))
20453 (sha256
20454 (base32 "09p5pzy3ibrl8dxmg10v8j16wxdn1fkdqpbi8l9pgfib2azmnvnc"))))
20455 (build-system emacs-build-system)
20456 (home-page "https://github.com/nashamri/spacemacs-theme")
20457 (synopsis
20458 "Light and dark theme for spacemacs that supports GUI and terminal")
20459 (description
20460 "Spacemacs theme is an Emacs color theme that started as
20461 a theme for Spacemacs. The theme comes with dark and light variants
20462 and it should work well with 256 color terminals.")
20463 (license license:gpl3+))))
20464
20465 (define-public emacs-elixir-mode
20466 (package
20467 (name "emacs-elixir-mode")
20468 (version "2.3.1")
20469 (source
20470 (origin
20471 (method git-fetch)
20472 (uri (git-reference
20473 (url "https://github.com/elixir-editors/emacs-elixir.git")
20474 (commit (string-append "v" version))))
20475 (file-name (git-file-name name version))
20476 (sha256
20477 (base32 "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"))))
20478 (build-system emacs-build-system)
20479 (propagated-inputs
20480 `(("emacs-pkg-info" ,emacs-pkg-info)))
20481 (home-page
20482 "https://github.com/elixir-editors/emacs-elixir")
20483 (synopsis "Major mode for editing Elixir files")
20484 (description
20485 "Elixir-Mode provides font-locking, indentation and navigation support
20486 for the Elixir programming language.")
20487 (license license:gpl3+)))
20488
20489 (define-public emacs-dimmer
20490 (package
20491 (name "emacs-dimmer")
20492 (version "0.3.0")
20493 (source
20494 (origin
20495 (method git-fetch)
20496 (uri (git-reference
20497 (url "https://github.com/gonewest818/dimmer.el.git")
20498 (commit version)))
20499 (file-name (git-file-name name version))
20500 (sha256
20501 (base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"))))
20502 (build-system emacs-build-system)
20503 (home-page "https://github.com/gonewest818/dimmer.el")
20504 (synopsis "Visually highlights the selected buffer in Emacs")
20505 (description "Dimmer provides a minor mode that indicates which buffer is
20506 currently active by dimming the faces in the other buffers. It does this
20507 nondestructively, and computes the dimmed faces dynamically such that your
20508 overall color scheme is shown in a muted form without requiring you to define
20509 what is a \"dim\" version of every face.")
20510 (license license:gpl3+)))
20511
20512 (define-public emacs-minibuffer-line
20513 (package
20514 (name "emacs-minibuffer-line")
20515 (version "0.1")
20516 (source
20517 (origin
20518 (method url-fetch)
20519 (uri (string-append
20520 "https://elpa.gnu.org/packages/minibuffer-line-"
20521 version
20522 ".el"))
20523 (sha256
20524 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
20525 (build-system emacs-build-system)
20526 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
20527 (synopsis "Display status info in the minibuffer window")
20528 (description
20529 "This package lets you display various status information in the
20530 minibuffer window instead of the mode-line. Of course, this is only displayed
20531 when the minibuffer window is not already used for other things (e.g. a
20532 minibuffer or an each area message).
20533
20534 The contents and aspect is controlled by the @code{minibuffer-line-format}
20535 variable and the @code{minibuffer-line} face.")
20536 (license license:gpl3+)))
20537
20538 (define-public emacs-eshell-prompt-extras
20539 (package
20540 (name "emacs-eshell-prompt-extras")
20541 (version "1.0")
20542 (home-page "https://github.com/zwild/eshell-prompt-extras")
20543 (source
20544 (origin
20545 (method git-fetch)
20546 (uri (git-reference
20547 (url home-page)
20548 (commit version)))
20549 (file-name (git-file-name name version))
20550 (sha256
20551 (base32
20552 "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"))))
20553 (build-system emacs-build-system)
20554 (synopsis "Display extra information and color for your Eshell prompt")
20555 (description "This library displays various customizable elements for
20556 @code{eshell} prompts: remote user, remote host, python virtual environment
20557 info, git branch, git dirty info and git unpushed number. Multiple themes are
20558 available.")
20559 (license license:gpl3+)))
20560
20561 (define-public emacs-eshell-did-you-mean
20562 (package
20563 (name "emacs-eshell-did-you-mean")
20564 (version "0.1")
20565 (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
20566 (source
20567 (origin
20568 (method git-fetch)
20569 (uri (git-reference
20570 (url home-page)
20571 (commit (string-append "v" version))))
20572 (file-name (git-file-name name version))
20573 (sha256
20574 (base32
20575 "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg"))))
20576 (build-system emacs-build-system)
20577 (synopsis "Display suggestions on 'command not found' in Eshell")
20578 (description "This library adds a list of 'Did you mean...' suggestions
20579 when the command was not found in Eshell. The suggestions are found after the
20580 commands that bear resemblance to the input command.")
20581 (license license:gpl3+)))
20582
20583 (define-public emacs-unfill
20584 (package
20585 (name "emacs-unfill")
20586 (version "0.2")
20587 (home-page "https://github.com/purcell/unfill")
20588 (source
20589 (origin
20590 (method git-fetch)
20591 (uri (git-reference
20592 (url home-page)
20593 (commit version)))
20594 (file-name (git-file-name name version))
20595 (sha256
20596 (base32 "0wyradin5igp25nsd3n22i2ppxhmy49ac1iq1w2715v8pfmiydnc"))))
20597 (build-system emacs-build-system)
20598 (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}")
20599 (description
20600 "The functions in this package provide the inverse of Emacs'
20601 @code{fill-paragraph} and @code{fill-region}.")
20602 (license license:gpl3+)))
20603
20604 (define-public emacs-windower
20605 (package
20606 (name "emacs-windower")
20607 (version "0.0.1")
20608 (home-page "https://gitlab.com/ambrevar/emacs-windower")
20609 (source
20610 (origin
20611 (method git-fetch)
20612 (uri (git-reference
20613 (url home-page)
20614 (commit version)))
20615 (file-name (git-file-name name version))
20616 (sha256
20617 (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy"))))
20618 (build-system emacs-build-system)
20619 (synopsis "Helper functions for window manipulation in Emacs")
20620 (description
20621 "This package provides helper functions for window manipulation in Emacs,
20622 such as:
20623
20624 @itemize
20625 @item switch to last buffer,
20626 @item toggle single window display,
20627 @item toggle between horizontal and vertical splits,
20628 @item move borders more naturally,
20629 @item swap windows à-la @code{windmove}.
20630 @end itemize")
20631 (license license:gpl3+)))
20632
20633 (define-public emacs-flycheck-cpplint
20634 (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2")
20635 (revision "1"))
20636 (package
20637 (name "emacs-flycheck-cpplint")
20638 (version (git-version "0.1" revision commit))
20639 (source
20640 (origin
20641 (method git-fetch)
20642 (uri (git-reference
20643 (url "https://github.com/flycheck/flycheck-google-cpplint")
20644 (commit commit)))
20645 (file-name (git-file-name name version))
20646 (sha256
20647 (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx"))))
20648 (build-system emacs-build-system)
20649 (arguments
20650 `(#:phases
20651 (modify-phases %standard-phases
20652 (add-after 'unpack 'set-cpplint-path
20653 (lambda _
20654 (substitute* "flycheck-google-cpplint.el"
20655 (("\"cpplint.py\"")
20656 (string-append "\"" (which "cpplint") "\"")))
20657 #t)))))
20658 (inputs
20659 `(("cpplint" ,cpplint)))
20660 (propagated-inputs
20661 `(("flycheck-mode" ,emacs-flycheck)))
20662 (synopsis "Google C++ checker for Flycheck")
20663 (description "This package provides a interface for @code{cpplint} over
20664 Flycheck plugin. @code{cpplint} is a static code checker for C++, following
20665 Google guidelines.")
20666 (home-page "https://github.com/flycheck/flycheck-google-cpplint")
20667 (license license:gpl3+))))
20668
20669 (define-public emacs-helm-fish-completion
20670 (package
20671 (name "emacs-helm-fish-completion")
20672 (version "0.2")
20673 (home-page "https://github.com/emacs-helm/helm-fish-completion")
20674 (source
20675 (origin
20676 (method git-fetch)
20677 (uri (git-reference
20678 (url home-page)
20679 (commit version)))
20680 (file-name (git-file-name name version))
20681 (sha256
20682 (base32 "089gp2k22xwn33z8brpyb7r18vpyralq2cwxj1xsc8b2sj9s4896"))))
20683 (build-system emacs-build-system)
20684 (propagated-inputs
20685 `(("helm" ,emacs-helm)
20686 ("fish-completion" ,emacs-fish-completion)))
20687 (synopsis "Helm interface for Emacs fish-completion")
20688 (description "Helm Fish Completion is a Helm interface for Emacs
20689 fish-completion. It can be used in both Eshell and M-x shell.")
20690 (license license:gpl3+)))
20691
20692 (define-public emacs-telega
20693 ;; This package has versions newer than indicated on MELPA.
20694 ;; Get the current version from `telega-version` in telega.el.
20695 ;; or by running M-x telega-version.
20696 (let ((commit "ae09592498ce380e57fbb76725fd4c89ae248864")
20697 (revision "0")
20698 (version "0.6.0"))
20699 (package
20700 (name "emacs-telega")
20701 (version (git-version version revision commit))
20702 (source
20703 (origin
20704 (method git-fetch)
20705 (uri (git-reference
20706 (url "https://github.com/zevlg/telega.el.git")
20707 (commit commit)))
20708 (sha256
20709 (base32
20710 "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3"))
20711 (file-name (git-file-name name version))))
20712 (build-system gnu-build-system)
20713 (arguments
20714 `(#:modules ((guix build gnu-build-system)
20715 ((guix build emacs-build-system) #:prefix emacs:)
20716 (guix build utils)
20717 (guix build emacs-utils))
20718 #:imported-modules (,@%gnu-build-system-modules
20719 (guix build emacs-build-system)
20720 (guix build emacs-utils))
20721 #:test-target "test"
20722 #:make-flags (list "WITH_VOIP=t")
20723 #:phases
20724 (modify-phases %standard-phases
20725 (add-after 'unpack 'prefix-patch
20726 (lambda _
20727 (substitute* "server/Makefile"
20728 (("CC=cc")
20729 "CC=gcc")
20730 (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
20731 (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
20732 "/bin"))
20733 ;; Manually invoke `run_tests.py` after install phase.
20734 (("python3 run_tests.py")
20735 ""))
20736 #t))
20737 (add-after 'unpack 'telega-paths-patch
20738 (lambda* (#:key inputs #:allow-other-keys)
20739 ;; Hard-code paths to `ffplay` and `ffmpeg`.
20740 (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
20741 "/bin/ffplay"))
20742 (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
20743 "/bin/ffmpeg")))
20744 (substitute* "telega-ffplay.el"
20745 (("\\(executable-find \"ffplay\"\\)")
20746 (string-append
20747 "(and (file-executable-p \"" ffplay-bin "\")"
20748 "\"" ffplay-bin "\")"))
20749 (("\\(executable-find \"ffmpeg\"\\)")
20750 (string-append
20751 "(and (file-executable-p \"" ffmpeg-bin "\")"
20752 "\"" ffmpeg-bin "\")"))))
20753 ;; Modify telega-util to reflect unique dir name in
20754 ;; `telega-install-data' phase.
20755 (substitute* "telega-util.el"
20756 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
20757 "(concat \"telega-data/\" filename)
20758 (locate-dominating-file telega--lib-directory
20759 \"telega-data\")"))
20760 #t))
20761 ;; The server test suite has a hardcoded path.
20762 ;; Reset this behavior to use the proper path.
20763 (add-after 'unpack 'server-suite-patch
20764 (lambda _
20765 (substitute* "server/run_tests.py"
20766 (("~/.telega/telega-server")
20767 (string-append (assoc-ref %outputs "out")
20768 "/bin/telega-server")))
20769 #t))
20770 (add-after 'install 'run-server-suite
20771 (lambda _
20772 (invoke "python3" "server/run_tests.py")
20773 #t))
20774 (delete 'configure)
20775 ;; Build emacs-side using `emacs-build-system'
20776 (add-after 'compress-documentation 'emacs-add-source-to-load-path
20777 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
20778 (add-after 'emacs-add-source-to-load-path 'emacs-install
20779 (assoc-ref emacs:%standard-phases 'install))
20780 ;; This step installs subdir /etc, which contains images, sounds and
20781 ;; various other data, next to the site-lisp dir.
20782 (add-after 'emacs-install 'telega-install-data
20783 (lambda* (#:key outputs #:allow-other-keys)
20784 (copy-recursively
20785 "etc"
20786 (string-append (assoc-ref outputs "out")
20787 "/share/emacs/telega-data/"))
20788 #t))
20789 (add-after 'telega-install-data 'emacs-build
20790 (assoc-ref emacs:%standard-phases 'build))
20791 (add-after 'emacs-build 'emacs-make-autoloads
20792 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
20793 (inputs
20794 `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
20795 (propagated-inputs
20796 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
20797 ("emacs-company" ,emacs-company)
20798 ("libwebp" ,libwebp))) ; sticker support.
20799 (native-inputs
20800 `(("tdlib" ,tdlib)
20801 ("libtgvoip" ,libtgvoip) ; VoIP support.
20802 ("emacs" ,emacs)
20803 ("python" ,python)))
20804 (synopsis "GNU Emacs client for the Telegram messenger")
20805 (description
20806 "Telega is a full-featured, unofficial GNU Emacs-based client for the
20807 Telegram messaging platform.")
20808 (home-page "https://github.com/zevlg/telega.el")
20809 (license license:gpl3+))))
20810
20811 (define-public emacs-doom-modeline
20812 (package
20813 (name "emacs-doom-modeline")
20814 (version "2.8.2")
20815 (source (origin
20816 (method git-fetch)
20817 (uri (git-reference
20818 (url "https://github.com/seagle0128/doom-modeline.git")
20819 (commit (string-append "v" version))))
20820 (sha256
20821 (base32
20822 "11srz1mr821axggs2jcmdhihxx09a2dniqv3n039wbdfaimfaidz"))
20823 (file-name (git-file-name name version))))
20824 (build-system emacs-build-system)
20825 (arguments
20826 `(#:test-command '("ert-runner")))
20827 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
20828 (propagated-inputs
20829 `(("emacs-all-the-icons" ,emacs-all-the-icons)
20830 ("emacs-shrink-path" ,emacs-shrink-path)))
20831 (synopsis "Fancy and fast mode-line inspired by minimalism design")
20832 (description "Doom modeline is a complete modeline for GNU Emacs inspired
20833 by the Doom theme collection. This modeline features support for mode-specific
20834 icon support, git integration, and several other utilities.")
20835 (home-page "https://github.com/seagle0128/doom-modeline/")
20836 (license license:gpl3+)))
20837
20838 (define-public emacs-shrink-path
20839 (package
20840 (name "emacs-shrink-path")
20841 (version "0.3.1")
20842 (source
20843 (origin
20844 (method git-fetch)
20845 (uri (git-reference
20846 (url "https://gitlab.com/bennya/shrink-path.el.git")
20847 (commit (string-append "v" version))))
20848 (sha256
20849 (base32
20850 "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
20851 (file-name (git-file-name name version))))
20852 (build-system emacs-build-system)
20853 (propagated-inputs
20854 `(("emacs-s" ,emacs-s)
20855 ("emacs-dash" ,emacs-dash)
20856 ("emacs-f" ,emacs-f)))
20857 (home-page "https://gitlab.com/bennya/shrink-path.el")
20858 (synopsis "Fish-style path truncation in emacs-lisp")
20859 (description "This package provides utility functions that allow for
20860 Fish-style truncated directories in eshell and various modelines.")
20861 (license license:gpl3+)))
20862
20863 (define-public emacs-org-present
20864 (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
20865 (package
20866 (name "emacs-org-present")
20867 (version "0.0.1")
20868 (source
20869 (origin
20870 (method git-fetch)
20871 (uri (git-reference
20872 (url "https://github.com/rlister/org-present.git")
20873 (commit commit)))
20874 (file-name (git-file-name name version))
20875 (sha256
20876 (base32
20877 "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
20878 (build-system emacs-build-system)
20879 (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
20880 (description "Org-present is an extremely minimalist presentation tool
20881 for Emacs org-mode. Simply layout your presentation with each slide under a
20882 top-level header, start the minor mode with @code{org-present}, and page through
20883 each slide with left/right keys.")
20884 (home-page "https://github.com/rlister/org-present")
20885 (license license:gpl2))))
20886
20887 (define-public emacs-fullframe
20888 (package
20889 (name "emacs-fullframe")
20890 (version "0.5.0")
20891 (source
20892 (origin
20893 (method git-fetch)
20894 (uri (git-reference
20895 (url "https://github.com/tomterl/fullframe.git")
20896 (commit version)))
20897 (sha256
20898 (base32
20899 "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
20900 (file-name (git-file-name name version))))
20901 (build-system emacs-build-system)
20902 (home-page "https://github.com/tomterl/fullframe")
20903 (synopsis "Generalized automatic execution in a single frame")
20904 (description "This library provides helpers for single-window-per-frame
20905 execution of buffer-exposing commands.")
20906 (license license:gpl3+)))
20907
20908 (define-public emacs-eshell-toggle
20909 (let ((commit "ddfbe0a693497c4d4bc5494a19970ba4f6ab9033")
20910 (revision "1"))
20911 (package
20912 (name "emacs-eshell-toggle")
20913 (version (git-version "0.10.0" revision commit))
20914 (source
20915 (origin
20916 (method git-fetch)
20917 (uri (git-reference
20918 (url "https://github.com/4DA/eshell-toggle.git")
20919 (commit commit)))
20920 (sha256
20921 (base32
20922 "0xqrp8pwbmfxjdqipgpw5nw633mvhjjjm3k3j9sh9xdpmw05hhws"))
20923 (file-name (git-file-name name version))))
20924 (build-system emacs-build-system)
20925 (propagated-inputs
20926 `(("emacs-dash" ,emacs-dash)))
20927 (home-page "https://github.com/4DA/eshell-toggle")
20928 (synopsis "Show and hide an @code{eshell} instance")
20929 (description "This package toggles an @code{eshell} instance for the
20930 current buffer.")
20931 (license license:gpl3+))))
20932
20933 (define-public emacs-repl-toggle
20934 (package
20935 (name "emacs-repl-toggle")
20936 (version "0.6.1")
20937 (source
20938 (origin
20939 (method git-fetch)
20940 (uri (git-reference
20941 (url "https://github.com/tomterl/repl-toggle.git")
20942 (commit version)))
20943 (sha256
20944 (base32
20945 "12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"))
20946 (file-name (git-file-name name version))))
20947 (build-system emacs-build-system)
20948 (propagated-inputs
20949 `(("emacs-fullframe" ,emacs-fullframe)))
20950 (home-page "https://github.com/tomterl/repl-toggle")
20951 (synopsis "Switch to and from current major mode's REPL")
20952 (description "This package provides a function to switch to and from a
20953 REPL appropriate to the current major mode.")
20954 (license license:gpl3+)))
20955
20956 (define-public emacs-blackout
20957 (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
20958 (revision "1"))
20959 (package
20960 (name "emacs-blackout")
20961 (version (git-version "1.0" revision commit))
20962 (source
20963 (origin
20964 (method git-fetch)
20965 (uri (git-reference
20966 (url "https://github.com/raxod502/blackout.git")
20967 (commit commit)))
20968 (sha256
20969 (base32
20970 "1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
20971 (file-name (git-file-name name version))))
20972 (build-system emacs-build-system)
20973 (home-page "https://github.com/raxod502/blackout")
20974 (synopsis "Clean up mode lighters")
20975 (description "This package provides a function for hiding and customizing
20976 display of major and minor modes in the mode line.")
20977 (license license:gpl3+))))
20978
20979 (define-public emacs-ivy-omni-org
20980 (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
20981 (revision "1"))
20982 (package
20983 (name "emacs-ivy-omni-org")
20984 (version (git-version "0.2.1" revision commit))
20985 (source
20986 (origin
20987 (method git-fetch)
20988 (uri (git-reference
20989 (url "https://github.com/akirak/ivy-omni-org.git")
20990 (commit commit)))
20991 (file-name (git-file-name name version))
20992 (sha256
20993 (base32
20994 "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
20995 (build-system emacs-build-system)
20996 (propagated-inputs
20997 `(("emacs-ivy" ,emacs-ivy)
20998 ("emacs-dash" ,emacs-dash)))
20999 (synopsis "Browse anything in Org mode")
21000 (description "This package allows Org items to be accessed via the Ivy
21001 interface.")
21002 (home-page "https://github.com/akirak/ivy-omni-org")
21003 (license license:gpl3+))))
21004
21005 (define-public emacs-shackle
21006 (let ((commit "7ccbe513852a1d1700b698547efca14b8940319d")
21007 (revision "1"))
21008 (package
21009 (name "emacs-shackle")
21010 (version (git-version "1.0.3" revision commit))
21011 (source
21012 (origin
21013 (method git-fetch)
21014 (uri (git-reference
21015 (url "https://github.com/wasamasa/shackle.git")
21016 (commit commit)))
21017 (file-name (git-file-name name version))
21018 (sha256
21019 (base32
21020 "0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"))))
21021 (build-system emacs-build-system)
21022 (synopsis "Enforce rules for popups")
21023 (description "This package provides a global minor mode in which users
21024 can specify how popup-displaying functions occupy the screen.")
21025 (home-page "https://github.com/wasamasa/shackle")
21026 (license license:gpl3+))))
21027
21028 (define-public emacs-helm-lacarte
21029 (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
21030 (revision "1"))
21031 (package
21032 (name "emacs-helm-lacarte")
21033 (version (git-version "0" revision commit))
21034 (source
21035 (origin
21036 (method git-fetch)
21037 (uri (git-reference
21038 (url "https://github.com/emacs-helm/helm-lacarte.git")
21039 (commit commit)))
21040 (file-name (git-file-name name version))
21041 (sha256
21042 (base32
21043 "0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
21044 (build-system emacs-build-system)
21045 (propagated-inputs
21046 `(("emacs-helm" ,emacs-helm)
21047 ("emacs-lacarte" ,emacs-lacarte)))
21048 (synopsis "Helm interface to @code{lacarte.el}")
21049 (description "This package provides a Helm interface to
21050 @code{lacarte.el}, a package that displays mode-specific commands as menu
21051 items.")
21052 (home-page "https://github.com/emacs-helm/helm-lacarte")
21053 (license license:gpl3+))))
21054
21055 (define-public emacs-esh-help
21056 (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
21057 (revision "1"))
21058 (package
21059 (name "emacs-esh-help")
21060 (version (git-version "1.0.1" revision commit))
21061 (source
21062 (origin
21063 (method git-fetch)
21064 (uri (git-reference
21065 (url "https://github.com/tom-tan/esh-help.git")
21066 (commit commit)))
21067 (file-name (git-file-name name version))
21068 (sha256
21069 (base32
21070 "0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
21071 (build-system emacs-build-system)
21072 (propagated-inputs
21073 `(("emacs-dash" ,emacs-dash)))
21074 (synopsis "Help functions for Eshell")
21075 (description "This package provides a @code{run-help} function inspired
21076 by @code{zsh} as well as @code{eldoc} support.")
21077 (home-page "https://github.com/tom-tan/esh-help")
21078 (license license:gpl3+))))
21079
21080 (define-public emacs-isearch-dabbrev
21081 (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
21082 (revision "1"))
21083 (package
21084 (name "emacs-isearch-dabbrev")
21085 (version (git-version "0.1" revision commit))
21086 (source
21087 (origin
21088 (method git-fetch)
21089 (uri (git-reference
21090 (url "https://github.com/Dewdrops/isearch-dabbrev.git")
21091 (commit commit)))
21092 (file-name (git-file-name name version))
21093 (sha256
21094 (base32
21095 "17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
21096 (build-system emacs-build-system)
21097 (synopsis "Use @code{dabbrev} within @code{isearch}")
21098 (description "This package allows @code{dabbrev-expand} to be used
21099 within @code{isearch-mode}.")
21100 (home-page "https://github.com/Dewdrops/isearch-dabbrev")
21101 (license license:gpl3+))))
21102
21103 (define-public emacs-helm-linux-disks
21104 (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
21105 (revision "1"))
21106 (package
21107 (name "emacs-helm-linux-disks")
21108 (version (git-version "0.1" revision commit))
21109 (source
21110 (origin
21111 (method git-fetch)
21112 (uri (git-reference
21113 (url "https://github.com/Akirak/helm-linux-disks.git")
21114 (commit commit)))
21115 (file-name (git-file-name name version))
21116 (sha256
21117 (base32
21118 "1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
21119 (build-system emacs-build-system)
21120 (propagated-inputs
21121 `(("emacs-helm" ,emacs-helm)))
21122 (synopsis "Mount/unmount volumes in Linux via Helm")
21123 (description "This package provides a Helm interface to run operations
21124 on removable volumes in Linux.")
21125 (home-page "https://github.com/Akirak/helm-linux-disks")
21126 (license license:gpl3+))))
21127
21128 (define-public emacs-psession
21129 (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
21130 (revision "1"))
21131 (package
21132 (name "emacs-psession")
21133 (version (git-version "1.5" revision commit))
21134 (source
21135 (origin
21136 (method git-fetch)
21137 (uri (git-reference
21138 (url "https://github.com/thierryvolpiatto/psession.git")
21139 (commit commit)))
21140 (file-name (git-file-name name version))
21141 (sha256
21142 (base32
21143 "15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
21144 (build-system emacs-build-system)
21145 (propagated-inputs
21146 `(("emacs-async" ,emacs-async)))
21147 (synopsis "Persistent save of @code{elisp} objects.")
21148 (description "This package provides minor modes for saving Emacs session
21149 data, including buffers, window configuration, variables, and more.")
21150 (home-page "https://github.com/thierryvolpiatto/psession")
21151 (license license:gpl3+))))
21152
21153 (define-public emacs-parseedn
21154 (package
21155 (name "emacs-parseedn")
21156 (version "0.1.0")
21157 (source
21158 (origin
21159 (method git-fetch)
21160 (uri (git-reference
21161 (url "https://github.com/clojure-emacs/parseedn.git")
21162 (commit (string-append "v" version))))
21163 (file-name (git-file-name name version))
21164 (sha256
21165 (base32
21166 "11wi3hwcgmy54p6ivpijqm7v0hj6j75a19qk5z779bqfrp79b4pc"))))
21167 (build-system emacs-build-system)
21168 (propagated-inputs
21169 `(("emacs-a" ,emacs-a)
21170 ("emacs-parseclj" ,emacs-parseclj)))
21171 (home-page "https://cider.mx")
21172 (synopsis "EDN parser for Emacs Lisp")
21173 (description
21174 "An Emacs Lisp library for parsing EDN (Clojure) data.
21175 It uses parseclj's shift-reduce parser internally.")
21176 (license license:gpl3+)))
21177
21178 (define-public emacs-parseclj
21179 (package
21180 (name "emacs-parseclj")
21181 (version "0.1.0")
21182 (source
21183 (origin
21184 (method git-fetch)
21185 (uri (git-reference
21186 (url "https://github.com/clojure-emacs/parseclj.git")
21187 (commit (string-append "v" version))))
21188 (file-name (git-file-name name version))
21189 (sha256
21190 (base32
21191 "03bm5dm4hmkqimv4wqxjjh5814pxysmm7z54bv2rf7zwv1x7dggr"))))
21192 (build-system emacs-build-system)
21193 (propagated-inputs `(("emacs-a" ,emacs-a)))
21194 (home-page "https://cider.mx")
21195 (synopsis "Clojure parser for Emacs Lisp")
21196 (description
21197 "An Emacs Lisp library for parsing Clojure code and EDN data.
21198 It supports several input and output formats, all powered by the
21199 same shift-reduce parser function.")
21200 (license license:gpl3+)))
21201
21202 (define-public emacs-hide-mode-line
21203 (package
21204 (name "emacs-hide-mode-line")
21205 (version "1.0.2")
21206 (source (origin
21207 (method git-fetch)
21208 (uri (git-reference
21209 (url "https://github.com/hlissner/emacs-hide-mode-line.git")
21210 (commit (string-append "v" version))))
21211 (file-name (git-file-name name version))
21212 (sha256
21213 (base32
21214 "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"))))
21215 (build-system emacs-build-system)
21216 (synopsis "Emacs plugin that hides the mode-line")
21217 (description "A minor mode that hides the mode-line in your current
21218 buffer. It can be used to toggle an alternative mode-line, toggle its visibility,
21219 or simply disable the mode-line in buffers where it is not very useful.")
21220 (home-page "https://github.com/hlissner/emacs-hide-mode-line")
21221 (license license:expat)))
21222
21223 (define-public emacs-helm-cider
21224 ;; No new release since March 2018.
21225 (let ((commit "9363cc537f06233345aa3af5cd46aa5681ad607b"))
21226 (package
21227 (name "emacs-helm-cider")
21228 (version (git-version "0.4.0" "1" commit))
21229 (home-page "https://github.com/clojure-emacs/helm-cider")
21230 (source (origin
21231 (method git-fetch)
21232 (uri (git-reference
21233 (url home-page)
21234 (commit commit)))
21235 (file-name (git-file-name name version))
21236 (sha256
21237 (base32
21238 "0vfn4smqba1vsshz48ggkj8gs94la0sxb1sq4shrb41qj2x3dci7"))))
21239 (build-system emacs-build-system)
21240 (propagated-inputs
21241 `(("emacs-helm" ,emacs-helm)
21242 ("emacs-cider" ,emacs-cider)))
21243 (synopsis "Helm interface to Clojure's CIDER")
21244 (description "Helm-CIDER adds Helm interfaces to
21245 @command{cider-apropos}, @command{cider-apropos-documentation},
21246 @command{cider-browse-ns} (namespaces).
21247
21248 It also provides original Helm commands: @command{helm-cider-spec},
21249 @command{helm-cider-spec-ns}, @command{helm-cider-repl-history},
21250 @command{helm-cider-cheatsheet}.")
21251 (license license:gpl3+))))
21252
21253 (define-public emacs-edn
21254 ;; No release since February 2016
21255 (let ((commit "be9e32d1b49e35247b263b0243df7cfdc8d413ab"))
21256 (package
21257 (name "emacs-edn")
21258 (version (git-version "1.1.2" "1" commit))
21259 (home-page "https://github.com/expez/edn.el")
21260 (source (origin
21261 (method git-fetch)
21262 (uri (git-reference
21263 (url home-page)
21264 (commit commit)))
21265 (file-name (git-file-name name version))
21266 (sha256
21267 (base32
21268 "1xp2hjhn52k6l1g6ypva6dsklpawni7gvjafbz6404f9dyxflh7l"))))
21269 (build-system emacs-build-system)
21270 (propagated-inputs
21271 `(("emacs-peg" ,emacs-peg)))
21272 (synopsis "Read and write EDN from Elisp")
21273 (description "This is an Emacs Lisp library for reading and writing the
21274 data format @code{edn}. See @url{https://github.com/edn-format/edn}.")
21275 (license license:gpl3+))))
21276
21277 (define-public emacs-helm-clojuredocs
21278 (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea"))
21279 (package
21280 (name "emacs-helm-clojuredocs")
21281 (version (git-version "0.3" "1" commit))
21282 (home-page "https://github.com/mbuczko/helm-clojuredocs")
21283 (source (origin
21284 (method git-fetch)
21285 (uri (git-reference
21286 (url home-page)
21287 (commit commit)))
21288 (file-name (git-file-name name version))
21289 (sha256
21290 (base32
21291 "015b8zxh91ljhqvn6z43gy08di54xcw9skw0i7frj3d7gk984qhl"))))
21292 (build-system emacs-build-system)
21293 (propagated-inputs
21294 `(("emacs-helm" ,emacs-helm)
21295 ("emacs-edn" ,emacs-edn)))
21296 (synopsis "Search help on clojuredocs.org with Helm")
21297 (description "This package provides a Helm interface to lookup Clojure
21298 documentation on @url{https://clojuredocs.org} with Helm.
21299
21300 Two function are exposed:
21301 @itemize
21302 @item @command{helm-clojuredocs}: opens a Helm session with no initial
21303 pattern. Searching starts with minimal 3 characters entered.
21304 @item @command{helm-clojuredocs-at-point}: opens a Helm session with initial
21305 pattern guessed from thing under current cursor position.
21306 @end itemize\n")
21307 (license license:gpl3+))))
21308
21309 (define-public emacs-metal-mercury-mode
21310 (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8")
21311 (revision "1")
21312 (version "0.0.0"))
21313 (package
21314 (name "emacs-metal-mercury-mode")
21315 (version (git-version version revision commit))
21316 (source
21317 (origin
21318 (method git-fetch)
21319 (uri (git-reference
21320 (url "https://github.com/ahungry/metal-mercury-mode.git")
21321 (commit commit)))
21322 (sha256
21323 (base32
21324 "0iil5k3rgifz2vqwsy12rbv5rzyvidq4sgwazsb2hzys8xynmfn5"))
21325 (file-name (git-file-name name version))))
21326 (build-system emacs-build-system)
21327 (propagated-inputs
21328 `(("emacs-dash" ,emacs-dash)))
21329 (synopsis "Major mode for editing Mercury files")
21330 (description
21331 "Major mode for editing Mercury files. This is a rewrite of the original
21332 mercury-mode provided by Emacs as a wrapper around prolog-mode.")
21333 (home-page "https://github.com/ahungry/metal-mercury-mode")
21334 (license license:gpl3+))))
21335
21336 (define-public emacs-boxquote
21337 ;; The following commit is 2.1 release with a switch to GPL3+ license.
21338 (let ((commit "7e47e0e2853bc1215739b2e28f260e9eed93b2c5")
21339 (revision "0"))
21340 (package
21341 (name "emacs-boxquote")
21342 (version (git-version "2.1" revision commit))
21343 (source
21344 (origin
21345 (method git-fetch)
21346 (uri (git-reference
21347 (url "https://github.com/davep/boxquote.el.git")
21348 (commit commit)))
21349 (file-name (git-file-name name version))
21350 (sha256
21351 (base32 "1aqhg24gajvllbqxb0zxrnx6sddas37k2ldfinqyszd856sjhsg3"))))
21352 (build-system emacs-build-system)
21353 (home-page "https://github.com/davep/boxquote.el")
21354 (synopsis "Quote text with different kinds of boxes")
21355 (description "@code{boxquote} provides a set of functions for using
21356 a text quoting style that partially boxes in the left hand side of an area of
21357 text, such a marking style might be used to show externally included text or
21358 example code.")
21359 (license license:gpl3+))))
21360
21361 (define-public emacs-company-ebdb
21362 (package
21363 (name "emacs-company-ebdb")
21364 (version "1.1")
21365 (source
21366 (origin
21367 (method url-fetch)
21368 (uri (string-append "https://elpa.gnu.org/packages/"
21369 "company-ebdb-" version ".el"))
21370 (sha256
21371 (base32 "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9"))))
21372 (build-system emacs-build-system)
21373 (propagated-inputs
21374 `(("emacs-company" ,emacs-company)))
21375 (home-page "https://elpa.gnu.org/packages/company-ebdb.html")
21376 (synopsis "Company completion backend for EBDB in Message mode")
21377 (description "@code{company-ebdb} provides Company mode integration for
21378 EBDB. It is copied more or less intact from @code{company-bbdb}, originally
21379 by Jan Tatarik.")
21380 (license license:gpl3+)))
21381
21382 (define-public emacs-mwim
21383 ;; Use the latest commit not in a release version as of yet, since it
21384 ;; contains a bug fix for the cases where `comment-start-skip' is nil.
21385 (let ((commit "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85")
21386 (revision "0"))
21387 (package
21388 (name "emacs-mwim")
21389 (version (git-version "0.4" revision commit))
21390 (source
21391 (origin
21392 (method git-fetch)
21393 (uri (git-reference
21394 (url "https://github.com/alezost/mwim.el.git")
21395 (commit commit)))
21396 (file-name (git-file-name name version))
21397 (sha256
21398 (base32 "0l3k611gp9g2x2vfmh92wnhnda81dslpwwpb8mxmzk308man77ya"))))
21399 (build-system emacs-build-system)
21400 (home-page "https://github.com/alezost/mwim.el")
21401 (synopsis "Move to the beginning/end of line, code or comment")
21402 (description "@code{mwim} provides several commands to switch between
21403 various line positions, like moving to the beginning/end of code, line, or
21404 comment.")
21405 (license license:gpl3+))))
21406
21407 (define-public emacs-delight
21408 (package
21409 (name "emacs-delight")
21410 (version "1.5")
21411 (source
21412 (origin
21413 (method url-fetch)
21414 (uri (string-append "https://elpa.gnu.org/packages/"
21415 "delight-" version ".el"))
21416 (sha256
21417 (base32 "0kzlvzwmn6zj0874086q2xw0pclyi7wlkq48zh2lkd2796xm8vw7"))))
21418 (build-system emacs-build-system)
21419 (home-page "https://elpa.gnu.org/packages/delight.html")
21420 (synopsis "Dimmer switch for your mode-line lighter text")
21421 (description "@code{delight} enables customizing or hiding the
21422 mode-line text (lighter) of major and minor modes.")
21423 (license license:gpl3+)))
21424
21425 (define-public emacs-unkillable-scratch
21426 ;; Use the latest (unreleased) commit as of now, since it contains a handy
21427 ;; `unkillable-scratch-do-not-reset-scratch-buffer' customization to not
21428 ;; repopulate the scratch buffer with `initial-scratch-message'.
21429 (let ((commit "b24c2a760529833f230c14cb02ff6e7ec92288ab")
21430 (revision "0"))
21431 (package
21432 (name "emacs-unkillable-scratch")
21433 (version (git-version "1.0.0" revision commit))
21434 (source
21435 (origin
21436 (method git-fetch)
21437 (uri (git-reference
21438 (url "https://github.com/EricCrosson/unkillable-scratch.git")
21439 (commit commit)))
21440 (file-name (git-file-name name version))
21441 (sha256
21442 (base32 "13wjbcxr3km4s96yhpavgs5acs5pvqv3ih1p84diqb3x3i6wd4pa"))))
21443 (build-system emacs-build-system)
21444 (home-page "https://github.com/EricCrosson/unkillable-scratch")
21445 (synopsis "Prevents the *scratch* buffer from being killed")
21446 (description "@code{unkillable-scratch} helps prevent killing buffers
21447 matching a given regexp.")
21448 (license license:gpl2+))))
21449
21450 (define-public emacs-switch-buffer-functions
21451 (package
21452 (name "emacs-switch-buffer-functions")
21453 (version "0.0.1")
21454 (source
21455 (origin
21456 (method git-fetch)
21457 (uri (git-reference
21458 (url "https://github.com/10sr/switch-buffer-functions-el.git")
21459 (commit (string-append "v" version))))
21460 (file-name (git-file-name name version))
21461 (sha256
21462 (base32 "0pq53b8wrjbrxd5hnrcdi0z7mffp4bax55hn90k9ca3j76lhbn1k"))))
21463 (build-system emacs-build-system)
21464 (home-page "https://github.com/10sr/switch-buffer-functions-el")
21465 (synopsis "Hooks run when switching current buffer")
21466 (description "This package provides a hook variable
21467 @code{switch-buffer-functions}. The hooks will be run when the current buffer
21468 is changed after an interactive command, i.e., when @code{post-command-hook}
21469 hooks are run. The hooked functions will be called with both the previous and
21470 the current buffer.")
21471 (license license:unlicense)))
21472
21473 (define-public emacs-erc-scrolltoplace
21474 (package
21475 (name "emacs-erc-scrolltoplace")
21476 (version "0.1.0")
21477 (source
21478 (origin
21479 (method git-fetch)
21480 (uri (git-reference
21481 (url "https://gitlab.com/jgkamat/erc-scrolltoplace.git")
21482 (commit version)))
21483 (file-name (git-file-name name version))
21484 (sha256
21485 (base32 "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"))))
21486 (build-system emacs-build-system)
21487 (propagated-inputs
21488 `(("emacs-switch-buffer-functions" ,emacs-switch-buffer-functions)))
21489 (home-page "https://gitlab.com/jgkamat/erc-scrolltoplace")
21490 (synopsis "ERC module to replace scrolltobottom while using keep-place")
21491 (description "@code{erc-scrolltoplace} is an ERC module to try
21492 to emulate @code{scrolltobottom} while @code{keep-place} is enabled.")
21493 (license license:gpl3+)))
21494
21495 (define-public emacs-dmenu
21496 ;; Use the latest commit, as there are no tagged releases.
21497 (let ((commit "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
21498 (revision "0"))
21499 (package
21500 (name "emacs-dmenu")
21501 (version (git-version "0.1" revision commit))
21502 (source
21503 (origin
21504 (method git-fetch)
21505 (uri (git-reference
21506 (url "https://github.com/lujun9972/el-dmenu.git")
21507 (commit commit)))
21508 (file-name (git-file-name name version))
21509 (sha256
21510 (base32 "098ncygms1r33zhjlq4fj2p4jc91v5whqrm3fazzdk7sd6dilf25"))))
21511 (build-system emacs-build-system)
21512 (home-page "https://github.com/lujun9972/el-dmenu")
21513 (synopsis "Simulate the @command{dmenu} command line program")
21514 (description "This package provides a @command{dmenu} command for
21515 launching other commands/applications from within Emacs, similar to the
21516 @command{dmenu} program. This is especially useful when using EXWM.")
21517 (license license:gpl3+))))
21518
21519 (define-public emacs-no-littering
21520 (package
21521 (name "emacs-no-littering")
21522 (version "1.0.3")
21523 (source
21524 (origin
21525 (method git-fetch)
21526 (uri (git-reference
21527 (url "https://github.com/emacscollective/no-littering.git")
21528 (commit (string-append "v" version))))
21529 (file-name (git-file-name name version))
21530 (sha256
21531 (base32 "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir"))))
21532 (build-system emacs-build-system)
21533 (home-page "https://github.com/emacscollective/no-littering")
21534 (synopsis "Help keep ~/.emacs.d/ clean")
21535 (description "The default paths used to store configuration files and
21536 persistent data are not consistent across Emacs packages, be them built-in or
21537 third-party ones. @code{no-littering} sets out to help clean
21538 @file{~/.emacs.d/} by putting configuration files and persistent data files in
21539 two user-defined directories, as well as using more descriptive names for
21540 files and subdirectories when appropriate.")
21541 (license license:gpl3+)))
21542
21543 (define-public emacs-message-x
21544 ;; Use the latest commit, as there are no tagged releases.
21545 (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133")
21546 (revision "0"))
21547 (package
21548 (name "emacs-message-x")
21549 (version (git-version "1.23" revision commit))
21550 (source
21551 (origin
21552 (method git-fetch)
21553 (uri (git-reference
21554 (url "https://github.com/emacsmirror/message-x.git")
21555 (commit commit)))
21556 (file-name (git-file-name name version))
21557 (sha256
21558 (base32 "0qy1xf11j357lsnbb829hnbg7fq1cii4cx54fwf0wgjh1bv2abvj"))))
21559 (build-system emacs-build-system)
21560 (home-page "https://www.emacswiki.org/emacs/message-x.el")
21561 (synopsis "Customizable completion in message headers")
21562 (description "@code{message-x} assigns a context-sensitive function to
21563 the TAB key in Message mode. When on a header line, it performs completion
21564 based on which header we are in (for example, newsgroup name completion makes
21565 sense on the @samp{Newsgroups} header, whereas mail alias expansion makes
21566 sense in the @samp{To} and @samp{Cc} headers). When in the message body, this
21567 executes a different function (default: @code{indent-relative}).")
21568 (license license:gpl2+))))
21569
21570 (define-public emacs-gnus-harvest
21571 (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d")
21572 (revision "0"))
21573 (package
21574 (name "emacs-gnus-harvest")
21575 (version (git-version "1.0" revision commit))
21576 (source
21577 (origin
21578 (method git-fetch)
21579 (uri (git-reference
21580 (url "https://github.com/jwiegley/gnus-harvest.git")
21581 (commit commit)))
21582 (file-name (git-file-name name version))
21583 (sha256
21584 (base32 "08zb7vc3v3wdxkzgi902vlc5ybfvm8fxrvm5drnwfsjj9873pbcb"))))
21585 (build-system emacs-build-system)
21586 (inputs
21587 `(("sqlite" ,sqlite)))
21588 (arguments
21589 `(#:phases
21590 (modify-phases %standard-phases
21591 (add-before 'build 'patch-exec-paths
21592 (lambda* (#:key inputs #:allow-other-keys)
21593 (let ((sqlite (assoc-ref inputs "sqlite"))
21594 (file "gnus-harvest.el"))
21595 (make-file-writable file)
21596 (emacs-substitute-variables file
21597 ("gnus-harvest-sqlite-program"
21598 (string-append sqlite "/bin/sqlite3"))))
21599 #t)))))
21600 (home-page "https://github.com/jwiegley/gnus-harvest")
21601 (synopsis
21602 "Harvest email addresses from read/written Gnus articles")
21603 (description "@code{gnus-harvest} notices email address in every message
21604 or post you read or write, and collects them in a SQLite database, which can
21605 be easily and quickly queried to determine the completion list. It optionally
21606 uses BBDB and Message-X.")
21607 (license license:gpl3+))))
21608
21609 (define-public emacs-auto-dictionary-mode
21610 (package
21611 (name "emacs-auto-dictionary-mode")
21612 (version "1.1")
21613 (source
21614 (origin
21615 (method git-fetch)
21616 (uri (git-reference
21617 (url "https://github.com/nschum/auto-dictionary-mode")
21618 (commit version)))
21619 (file-name (git-file-name name version))
21620 (sha256
21621 (base32 "191294k92qp8gmfypf0q8j8qrym96aqikzvyb9p03wqvbr3r1dsk"))))
21622 (build-system emacs-build-system)
21623 (home-page "http://nschum.de/src/emacs/auto-dictionary/")
21624 (synopsis "Automatic dictionary switcher for Emacs spell checking")
21625 (description "@code{auto-dictionary} is a minor mode that hooks into
21626 Flyspell's on-the-fly spell checking and extends these checks to also detect
21627 language. Auto-dictionary then sets @code{ispell-dictionary} to use the
21628 detected language.")
21629 (license license:gpl2+)))
21630
21631 (define-public emacs-persist
21632 (package
21633 (name "emacs-persist")
21634 (version "0.4")
21635 (source
21636 (origin
21637 (method url-fetch)
21638 (uri (string-append "https://elpa.gnu.org/packages/"
21639 "persist-" version ".tar"))
21640 (sha256
21641 (base32 "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q"))))
21642 (build-system emacs-build-system)
21643 (home-page "http://elpa.gnu.org/packages/persist.html")
21644 (synopsis "Persist variables between Emacs sessions")
21645 (description
21646 "This package provides variables which persist across sessions.
21647 Values are stored in a directory in @code{user-emacs-directory}, using
21648 one file per value. This makes it easy to delete or remove unused
21649 variables.")
21650 (license license:gpl3+)))
21651
21652 (define-public emacs-company-emoji
21653 (package
21654 (name "emacs-company-emoji")
21655 (version "2.5.2")
21656 (source
21657 (origin
21658 (method git-fetch)
21659 (uri (git-reference
21660 (url "https://github.com/dunn/company-emoji/")
21661 (commit version)))
21662 (file-name (git-file-name name version))
21663 (sha256
21664 (base32 "0r9zcbm3nb3zw5cwrkl098v5b49jbga5404bj7j55g6k4rwkjar2"))))
21665 (build-system emacs-build-system)
21666 (propagated-inputs
21667 `(("emacs-company" ,emacs-company)))
21668 (home-page "https://github.com/dunn/company-emoji/")
21669 (synopsis "Company completion back-end for emoji")
21670 (description
21671 "This library is a Company back-end providing auto-completion for
21672 emoji.")
21673 (license license:gpl3+)))
21674
21675 (define-public emacs-exiftool
21676 (package
21677 (name "emacs-exiftool")
21678 (version "0.3.2")
21679 (source
21680 (origin
21681 (method git-fetch)
21682 (uri (git-reference
21683 (url "https://git.systemreboot.net/exiftool.el/")
21684 (commit (string-append "v" version))))
21685 (file-name (git-file-name name version))
21686 (sha256
21687 (base32
21688 "0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv"))))
21689 (build-system emacs-build-system)
21690 (arguments
21691 `(#:tests? #t
21692 #:test-command '("make" "-C" "tests")
21693 #:phases
21694 (modify-phases %standard-phases
21695 (add-after 'unpack 'configure
21696 (lambda* (#:key inputs #:allow-other-keys)
21697 (make-file-writable "exiftool.el")
21698 (emacs-substitute-variables "exiftool.el"
21699 ("exiftool-executable"
21700 (string-append (assoc-ref inputs "perl-image-exiftool")
21701 "/bin/exiftool")))
21702 #t)))))
21703 (inputs
21704 `(("perl-image-exiftool" ,perl-image-exiftool)))
21705 (home-page "https://git.systemreboot.net/exiftool.el/about/")
21706 (synopsis "Elisp wrapper around ExifTool")
21707 (description "@code{emacs-exiftool} is an Elisp wrapper around ExifTool.
21708 ExifTool supports reading and writing metadata in various formats including
21709 EXIF, XMP and IPTC.")
21710 (license license:gpl3+)))
21711
21712 (define-public emacs-password-generator
21713 (package
21714 (name "emacs-password-generator")
21715 (version "1.01")
21716 (home-page "https://github.com/zargener/emacs-password-genarator")
21717 (source
21718 (origin
21719 (method git-fetch)
21720 (uri (git-reference
21721 (url home-page)
21722 (commit "904cdb591a04305ba882ce19e1d117f5fa60f7d3")))
21723 (file-name (git-file-name name version))
21724 (sha256
21725 (base32
21726 "1qgvn79qz1h8ykm5i1qv2fja4v2y0g2i0n5sf7byhnqhqlwn63nv"))))
21727 (build-system emacs-build-system)
21728 (synopsis "Generate passwords inside Emacs")
21729 (description "@code{emacs-password-generator} provides simple functions to
21730 generate random passwords and insert them into the current buffer. It also
21731 supports generation of phonetic and numeric passwords.")
21732 (license license:artistic2.0)))
21733
21734 (define-public emacs-csv
21735 (package
21736 (name "emacs-csv")
21737 (version "2.1")
21738 (home-page "https://gitlab.com/u11/csv.el")
21739 (source
21740 (origin
21741 (method git-fetch)
21742 (uri (git-reference
21743 (url home-page)
21744 (commit (string-append "V" version))))
21745 (file-name (git-file-name name version))
21746 (sha256
21747 (base32
21748 "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa"))))
21749 (build-system emacs-build-system)
21750 (synopsis "Elisp functions for reading and parsing CSV files")
21751 (description
21752 "@code{csv.el} provides functions for reading and parsing @acronym{CSV,
21753 Comma-Separated Values} files. It follows the format as defined in RFC 4180
21754 @emph{Common Format and MIME Type for CSV
21755 Files} (@url{http://tools.ietf.org/html/rfc4180}).")
21756 (license license:gpl3+)))
21757
21758 (define-public emacs-org-journal
21759 (package
21760 (name "emacs-org-journal")
21761 (version "2.0.0")
21762 (source
21763 (origin
21764 (method git-fetch)
21765 (uri (git-reference
21766 (url "https://github.com/bastibe/org-journal.git")
21767 (commit version)))
21768 (file-name (git-file-name name version))
21769 (sha256
21770 (base32 "18dqd0jy2x530lk0h4fcn9cld9qh4w7b3vxa60fpiia628vsv1dg"))))
21771 (build-system emacs-build-system)
21772 (home-page "https://github.com/bastibe/org-journal")
21773 (synopsis "Simple Org mode journaling mode")
21774 (description
21775 "Org Journal is a set of functions to maintain a simple personal diary /
21776 journal using in Emacs, adapted from
21777 @url{https://www.emacswiki.org/emacs/PersonalDiary}. Convenient bindings
21778 allow the creation of journal records in the current daily, weekly, monthly or
21779 yearly file and search within all records or specified time intervals. All
21780 records can be browsed and searched from the Emacs Calendar for convenience.
21781 All entries in a specified TODO state will be carried over to the next day.")
21782 (license license:bsd-3)))
21783
21784 (define-public emacs-org-static-blog
21785 (package
21786 (name "emacs-org-static-blog")
21787 (version "1.3.0")
21788 (source
21789 (origin
21790 (method git-fetch)
21791 (uri (git-reference
21792 (url "https://github.com/bastibe/org-static-blog")
21793 (commit version)))
21794 (file-name (git-file-name name version))
21795 (sha256
21796 (base32 "15iy3z8rglaqbx1fz14inh18ksgjsmq30b8hyv3lgjvcc9ssaiw0"))))
21797 (build-system emacs-build-system)
21798 (home-page "https://github.com/bastibe/org-static-blog")
21799 (synopsis
21800 "Simple Org mode based static blog generator")
21801 (description
21802 "@code{emacs-org-static-blog} is one more static blog generator, it
21803 focuses on being simple. All files are simple Org files in a directory. The
21804 only requirement is that every Org file must have a @samp{title} and
21805 a @samp{date} keywords, and optionally, a @samp{filetags} keyword.")
21806 (license license:bsd-3)))
21807
21808 (define-public emacs-ddskk
21809 ;; XXX: Upstream adds code names to their release tags, so version and code
21810 ;; name below need to be updated together.
21811 (let ((version "16.3")
21812 (code-name "Kutomatsunai"))
21813 (package
21814 (name "emacs-ddskk")
21815 (version version)
21816 (source
21817 (origin
21818 (method git-fetch)
21819 (uri (git-reference
21820 (url "https://github.com/skk-dev/ddskk")
21821 (commit (string-append "ddskk-" version "_" code-name))))
21822 (file-name (git-file-name name version))
21823 (sha256
21824 (base32 "0ln4x8f35z5y3kf9m718g223bn3lzcmw40jfjg2j5yi24ydf1wm9"))))
21825 (build-system gnu-build-system)
21826 (arguments
21827 `(#:modules ((guix build gnu-build-system)
21828 (guix build utils)
21829 (guix build emacs-utils))
21830 #:imported-modules (,@%gnu-build-system-modules
21831 (guix build emacs-utils))
21832 #:test-target "test"
21833 #:phases
21834 (modify-phases %standard-phases
21835 (replace 'configure
21836 (lambda* (#:key outputs #:allow-other-keys)
21837 (make-file-writable "SKK-MK")
21838 (emacs-substitute-variables "SKK-MK"
21839 ("PREFIX" (assoc-ref outputs "out"))
21840 ("LISPDIR" '(expand-file-name "/share/emacs/site-lisp" PREFIX))
21841 ("SKK_PREFIX" "")
21842 ("SKK_INFODIR" '(expand-file-name "info" PREFIX)))
21843 (for-each make-file-writable (find-files "./doc"))
21844 #t)))))
21845 (native-inputs
21846 `(("emacs-minimal" ,emacs-minimal)))
21847 (home-page "https://github.com/skk-dev/ddskk")
21848 (synopsis "Simple Kana to Kanji conversion program")
21849 (description
21850 "Daredevil SKK is a version of @acronym{SKK, Simple Kana to Kanji
21851 conversion program}, a Japanese input method on Emacs.")
21852 (license license:gpl2+))))
21853
21854 (define-public emacs-objed
21855 (package
21856 (name "emacs-objed")
21857 (version "0.8.3")
21858 (source
21859 (origin
21860 (method url-fetch)
21861 (uri (string-append
21862 "https://elpa.gnu.org/packages/objed-" version ".tar"))
21863 (sha256
21864 (base32
21865 "1s38d6bvggdk5p45ww1jb4gxifzgjwgw1m6ar920nlg0j4fgbcvr"))))
21866 (build-system emacs-build-system)
21867 (home-page "https://github.com/clemera/objed")
21868 (synopsis "Navigate and edit text objects")
21869 (description
21870 "@code{emacs-objed} allows to navigate and edit text objects. It
21871 enables modal editing and composition of commands, too. It combines ideas of
21872 other Editors like Vim or Kakoune and tries to align them with regular Emacs
21873 conventions.")
21874 (license license:gpl3+)))