gnu: emacs-rich-minority: Update to 1.0.3.
[jackhill/guix/guix.git] / gnu / packages / emacs-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
3 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
4 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
6 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
7 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
8 ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
9 ;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
10 ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
11 ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
12 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
13 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
14 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
15 ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
16 ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
17 ;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
18 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
19 ;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
20 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
21 ;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
22 ;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
23 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
24 ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
25 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
26 ;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
27 ;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
28 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
29 ;;; Copyright © 2017, 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
30 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
31 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
32 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
33 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
34 ;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
35 ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
36 ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org>
37 ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
38 ;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
39 ;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us>
40 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
41 ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
42 ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
43 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
44 ;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
45 ;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
46 ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
47 ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
48 ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
49 ;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz>
50 ;;; Copyright © 2019 Amar Singh <nly@disroot.org>
51 ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
52 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
53 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
54 ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
55 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
56 ;;; 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 ;;;
61 ;;; This file is part of GNU Guix.
62 ;;;
63 ;;; GNU Guix is free software; you can redistribute it and/or modify it
64 ;;; under the terms of the GNU General Public License as published by
65 ;;; the Free Software Foundation; either version 3 of the License, or (at
66 ;;; your option) any later version.
67 ;;;
68 ;;; GNU Guix is distributed in the hope that it will be useful, but
69 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
70 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
71 ;;; GNU General Public License for more details.
72 ;;;
73 ;;; You should have received a copy of the GNU General Public License
74 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
75
76 (define-module (gnu packages emacs-xyz)
77 #:use-module ((guix licenses) #:prefix license:)
78 #:use-module (guix packages)
79 #:use-module (guix cvs-download)
80 #:use-module (guix download)
81 #:use-module (guix git-download)
82 #:use-module (guix hg-download)
83 #:use-module (guix build-system gnu)
84 #:use-module (guix build-system cmake)
85 #:use-module (guix build-system emacs)
86 #:use-module (guix build-system glib-or-gtk)
87 #:use-module (guix build-system perl)
88 #:use-module (guix build-system trivial)
89 #:use-module (gnu packages)
90 #:use-module (gnu packages admin)
91 #:use-module (gnu packages audio)
92 #:use-module (gnu packages bash)
93 #:use-module (gnu packages cmake)
94 #:use-module (gnu packages code)
95 #:use-module (gnu packages cpp)
96 #:use-module (gnu packages curl)
97 #:use-module (gnu packages databases)
98 #:use-module (gnu packages dictionaries)
99 #:use-module (gnu packages emacs)
100 #:use-module (gnu packages guile)
101 #:use-module (gnu packages gtk)
102 #:use-module (gnu packages gnome)
103 #:use-module (gnu packages ncurses)
104 #:use-module (gnu packages python)
105 #:use-module (gnu packages python-xyz)
106 #:use-module (gnu packages tex)
107 #:use-module (gnu packages texinfo)
108 #:use-module (gnu packages tcl)
109 #:use-module (gnu packages tls)
110 #:use-module (gnu packages pkg-config)
111 #:use-module (gnu packages xorg)
112 #:use-module (gnu packages lesstif)
113 #:use-module (gnu packages llvm)
114 #:use-module (gnu packages image)
115 #:use-module (gnu packages linux)
116 #:use-module (gnu packages libevent)
117 #:use-module (gnu packages music)
118 #:use-module (gnu packages version-control)
119 #:use-module (gnu packages imagemagick)
120 #:use-module (gnu packages w3m)
121 #:use-module (gnu packages wget)
122 #:use-module (gnu packages autotools)
123 #:use-module (gnu packages base)
124 #:use-module (gnu packages compression)
125 #:use-module (gnu packages node)
126 #:use-module (gnu packages xml)
127 #:use-module (gnu packages glib)
128 #:use-module (gnu packages acl)
129 #:use-module (gnu packages mail)
130 #:use-module (gnu packages messaging)
131 #:use-module (gnu packages package-management)
132 #:use-module (gnu packages perl)
133 #:use-module (gnu packages pdf)
134 #:use-module (gnu packages scheme)
135 #:use-module (gnu packages speech)
136 #:use-module (gnu packages xiph)
137 #:use-module (gnu packages mp3)
138 #:use-module (gnu packages gettext)
139 #:use-module (gnu packages fribidi)
140 #:use-module (gnu packages gd)
141 #:use-module (gnu packages fontutils)
142 #:use-module (gnu packages password-utils)
143 #:use-module (gnu packages pulseaudio)
144 #:use-module (gnu packages sphinx)
145 #:use-module (gnu packages xdisorg)
146 #:use-module (gnu packages shells)
147 #:use-module (gnu packages sqlite)
148 #:use-module (gnu packages gnupg)
149 #:use-module (gnu packages video)
150 #:use-module (gnu packages haskell-xyz)
151 #:use-module (gnu packages wordnet)
152 #:use-module (guix utils)
153 #:use-module (srfi srfi-1)
154 #:use-module (ice-9 match))
155
156 ;;;
157 ;;; Emacs hacking.
158 ;;;
159
160 (define-public emacs-geiser
161 (package
162 (name "emacs-geiser")
163 (version "0.10")
164 (source (origin
165 (method url-fetch)
166 (uri (string-append "mirror://savannah/geiser/" version
167 "/geiser-" version ".tar.gz"))
168 (sha256
169 (base32
170 "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
171 (build-system gnu-build-system)
172 (arguments
173 '(#:phases
174 (modify-phases %standard-phases
175 (add-after 'install 'post-install
176 (lambda* (#:key outputs #:allow-other-keys)
177 (symlink "geiser-install.el"
178 (string-append (assoc-ref outputs "out")
179 "/share/emacs/site-lisp/"
180 "geiser-autoloads.el"))
181 #t)))))
182 (inputs `(("guile" ,guile-2.2)))
183 (native-inputs `(("emacs" ,emacs-minimal)))
184 (home-page "https://nongnu.org/geiser/")
185 (synopsis "Collection of Emacs modes for Guile and Racket hacking")
186 (description
187 "Geiser is a collection of Emacs major and minor modes that conspire with
188 one or more Scheme implementations to keep the Lisp Machine Spirit alive. The
189 continuously running Scheme interpreter takes the center of the stage in
190 Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme
191 implementation, Emacs and, ultimately, the schemer, giving them access to live
192 metadata.")
193 (license license:bsd-3)))
194
195 (define-public geiser
196 (deprecated-package "geiser" emacs-geiser))
197
198 (define-public emacs-paredit
199 (package
200 (name "emacs-paredit")
201 (version "24")
202 (source (origin
203 (method url-fetch)
204 (uri (string-append "http://mumble.net/~campbell/emacs/paredit-"
205 version ".el"))
206 (sha256
207 (base32
208 "0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
209 (build-system emacs-build-system)
210 (home-page "http://mumble.net/~campbell/emacs/paredit/")
211 (synopsis "Emacs minor mode for editing parentheses")
212 (description
213 "ParEdit (paredit.el) is a minor mode for performing structured editing
214 of S-expression data. The typical example of this would be Lisp or Scheme
215 source code.
216
217 ParEdit helps **keep parentheses balanced** and adds many keys for moving
218 S-expressions and moving around in S-expressions. Its behavior can be jarring
219 for those who may want transient periods of unbalanced parentheses, such as
220 when typing parentheses directly or commenting out code line by line.")
221 (license license:gpl3+)))
222
223 (define-public paredit
224 (deprecated-package "paredit" emacs-paredit))
225
226 (define-public git-modes
227 (package
228 (name "emacs-git-modes")
229 (version "1.2.8")
230 (source (origin
231 (method git-fetch)
232 (uri (git-reference
233 (url "https://github.com/magit/git-modes")
234 (commit version)))
235 (file-name (git-file-name name version))
236 (sha256
237 (base32
238 "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"))))
239 (build-system emacs-build-system)
240 (home-page "https://github.com/magit/git-modes")
241 (synopsis "Emacs major modes for Git configuration files")
242 (description
243 "This package provides Emacs major modes for editing various Git
244 configuration files, such as .gitattributes, .gitignore, and .git/config.")
245 (license license:gpl3+)))
246
247 (define-public git-modes/old-name
248 (deprecated-package "git-modes" git-modes))
249
250 (define-public emacs-with-editor
251 (package
252 (name "emacs-with-editor")
253 (version "2.8.3")
254 (source (origin
255 (method git-fetch)
256 (uri (git-reference
257 (url "https://github.com/magit/with-editor.git")
258 (commit (string-append "v" version))))
259 (file-name (git-file-name name version))
260 (sha256
261 (base32
262 "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"))))
263 (build-system emacs-build-system)
264 (propagated-inputs
265 `(("emacs-dash" ,emacs-dash)))
266 (home-page "https://github.com/magit/with-editor")
267 (synopsis "Emacs library for using Emacsclient as EDITOR")
268 (description
269 "This package provides an Emacs library to use the Emacsclient as
270 @code{$EDITOR} of child processes, making sure they know how to call home.
271 For remote processes a substitute is provided, which communicates with Emacs
272 on stdout instead of using a socket as the Emacsclient does.")
273 (license license:gpl3+)))
274
275 (define-public emacs-magit
276 ;; `magit-setup-buffer' macro introduced in c761d28d and required in
277 ;; `emacs-forge'.
278 (let ((commit "c761d28d49e5238037512b898db0ec9b40d85770"))
279 (package
280 (name "emacs-magit")
281 (version (git-version "2.90.1" "2" commit))
282 (source (origin
283 (method git-fetch)
284 (uri (git-reference
285 (url "https://github.com/magit/magit.git")
286 (commit commit)))
287 (file-name (git-file-name name version))
288 (sha256
289 (base32
290 "16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd"))
291 ;; FIXME: emacs-forge uses a function defined in this patch,
292 ;; which is newer than the current commit.
293 (patches
294 (search-patches
295 "emacs-magit-log-format-author-margin.patch"))
296 (modules '((guix build utils)))
297 (snippet
298 '(begin
299 ;; Fix syntax error
300 (substitute* "lisp/magit-extras.el"
301 (("rev\\)\\)\\)\\)\\)\\)") "rev)))))"))
302 #t))))
303 (build-system gnu-build-system)
304 (native-inputs `(("texinfo" ,texinfo)
305 ("emacs" ,emacs-minimal)))
306 (inputs
307 `(("git" ,git)
308 ("perl" ,perl)))
309 (propagated-inputs
310 `(("dash" ,emacs-dash)
311 ("with-editor" ,emacs-with-editor)
312 ("transient" ,emacs-transient)))
313 (arguments
314 `(#:modules ((guix build gnu-build-system)
315 (guix build utils)
316 (guix build emacs-utils))
317 #:imported-modules (,@%gnu-build-system-modules
318 (guix build emacs-utils))
319 #:test-target "test"
320 #:tests? #f ; tests are not included in the release
321
322 #:make-flags
323 (list (string-append "PREFIX=" %output)
324 ;; Don't put .el files in a sub-directory.
325 (string-append "lispdir=" %output "/share/emacs/site-lisp")
326 (string-append "DASH_DIR="
327 (assoc-ref %build-inputs "dash")
328 "/share/emacs/site-lisp/guix.d/dash-"
329 ,(package-version emacs-dash))
330 (string-append "WITH_EDITOR_DIR="
331 (assoc-ref %build-inputs "with-editor")
332 "/share/emacs/site-lisp/guix.d/with-editor-"
333 ,(package-version emacs-with-editor))
334 (string-append "TRANSIENT_DIR="
335 (assoc-ref %build-inputs "transient")
336 "/share/emacs/site-lisp/guix.d/transient-"
337 ,(package-version emacs-transient)))
338
339 #:phases
340 (modify-phases %standard-phases
341 (add-after 'unpack 'patch
342 (lambda _
343 (chmod "lisp/magit-extras.el" #o644)
344 (emacs-batch-edit-file "lisp/magit-extras.el"
345 `(progn (progn
346 (goto-char (point-min))
347 (re-search-forward "(defun magit-copy-buffer-revision ()")
348 (forward-sexp 2)
349 (kill-sexp)
350 (insert ,(format #f "~S"
351 '(if (use-region-p)
352 (copy-region-as-kill nil nil 'region)
353 (when-let ((rev (cl-case major-mode
354 ((magit-cherry-mode
355 magit-log-select-mode
356 magit-reflog-mode
357 magit-refs-mode
358 magit-revision-mode
359 magit-stash-mode
360 magit-stashes-mode)
361 (car magit-refresh-args))
362 ((magit-diff-mode magit-log-mode)
363 (let ((r (caar magit-refresh-args)))
364 (if (string-match "\\.\\.\\.?\\(.+\\)" r)
365 (match-string 1 r)
366 r)))
367 (magit-status-mode "HEAD"))))
368 (when (magit-commit-p rev)
369 (setq rev (magit-rev-parse rev))
370 (push (list rev default-directory) magit-revision-stack)
371 (kill-new (message "%s" rev))))))))
372 (basic-save-buffer)))
373 #t))
374 (delete 'configure)
375 (add-before
376 'build 'patch-exec-paths
377 (lambda* (#:key inputs #:allow-other-keys)
378 (let ((perl (assoc-ref inputs "perl")))
379 (make-file-writable "lisp/magit-sequence.el")
380 (emacs-substitute-variables "lisp/magit-sequence.el"
381 ("magit-perl-executable" (string-append perl "/bin/perl")))
382 #t))))))
383 (home-page "https://magit.vc/")
384 (synopsis "Emacs interface for the Git version control system")
385 (description
386 "With Magit, you can inspect and modify your Git repositories with Emacs.
387 You can review and commit the changes you have made to the tracked files, for
388 example, and you can browse the history of past changes. There is support for
389 cherry picking, reverting, merging, rebasing, and other common Git
390 operations.")
391 (license license:gpl3+))))
392
393 (define-public magit
394 (deprecated-package "magit" emacs-magit))
395
396 (define-public emacs-magit-svn
397 (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))
398 (package
399 (name "emacs-magit-svn")
400 (version (git-version "2.2.1" "1" commit))
401 (source (origin
402 (method git-fetch)
403 (uri (git-reference
404 (url "https://github.com/magit/magit-svn")
405 (commit commit)))
406 (file-name (git-file-name name version))
407 (sha256
408 (base32
409 "1mlqz8dh6jy5rv72lgkxv253dgh73fmbaidskicypapvbl3lr6xy"))))
410 (build-system trivial-build-system)
411 (native-inputs `(("emacs" ,emacs-minimal)))
412 (propagated-inputs `(("dash" ,emacs-dash)
413 ("with-editor" ,emacs-with-editor)
414 ("magit" ,emacs-magit)
415 ("transient" ,emacs-transient)))
416 (arguments
417 `(#:modules ((guix build utils)
418 (guix build emacs-utils))
419
420 #:builder
421 (begin
422 (use-modules (guix build utils)
423 (guix build emacs-utils))
424
425 (let ((emacs (string-append (assoc-ref %build-inputs "emacs")
426 "/bin/emacs"))
427 (magit (string-append (assoc-ref %build-inputs "magit")
428 "/share/emacs/site-lisp"))
429 (transient (string-append (assoc-ref %build-inputs "transient")
430 "/share/emacs/site-lisp/guix.d/transient-"
431 ,(package-version emacs-transient)))
432 (dash (string-append (assoc-ref %build-inputs "dash")
433 "/share/emacs/site-lisp/guix.d/dash-"
434 ,(package-version emacs-dash)))
435 (with-editor (string-append (assoc-ref %build-inputs "with-editor")
436 "/share/emacs/site-lisp/guix.d/with-editor-"
437 ,(package-version emacs-with-editor)))
438 (source (assoc-ref %build-inputs "source"))
439 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
440
441 (install-file (string-append source "/magit-svn.el")
442 lisp-dir)
443
444 (with-directory-excursion lisp-dir
445 (parameterize ((%emacs emacs))
446 (emacs-generate-autoloads ,name lisp-dir)
447 (setenv "EMACSLOADPATH"
448 (string-append ":" magit ":" transient
449 ":" dash ":" with-editor))
450 (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
451 #t))))
452 (home-page "https://github.com/magit/magit-svn")
453 (synopsis "Git-SVN extension to Magit")
454 (description
455 "This package is an extension to Magit, the Git Emacs mode, providing
456 support for Git-SVN.")
457 (license license:gpl3+))))
458
459 (define-public magit-svn
460 (deprecated-package "magit-svn" emacs-magit-svn))
461
462 (define-public emacs-magit-popup
463 (package
464 (name "emacs-magit-popup")
465 (version "2.12.5")
466 (source (origin
467 (method git-fetch)
468 (uri (git-reference
469 (url "https://github.com/magit/magit-popup.git")
470 (commit (string-append "v" version))))
471 (file-name (git-file-name name version))
472 (sha256
473 (base32
474 "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
475 (build-system emacs-build-system)
476 (arguments
477 `(#:phases
478 (modify-phases %standard-phases
479 (add-before 'install 'make-info
480 (lambda _
481 (invoke "make" "info"))))))
482 (native-inputs
483 `(("texinfo" ,texinfo)))
484 (propagated-inputs
485 `(("emacs-dash" ,emacs-dash)))
486 (home-page "https://github.com/magit/magit-popup")
487 (synopsis "Define prefix-infix-suffix command combos")
488 (description
489 "This library implements a generic interface for toggling switches and
490 setting options and then invoking an Emacs command which does something with
491 these arguments. The prototypical use is for the command to call an external
492 process, passing on the arguments as command line arguments.")
493 (license license:gpl3+)))
494
495 (define-public emacs-minions
496 (package
497 (name "emacs-minions")
498 (version "0.3.1")
499 (source (origin
500 (method git-fetch)
501 (uri (git-reference
502 (url "https://github.com/tarsius/minions.git")
503 (commit (string-append "v" version))))
504 (file-name (git-file-name name version))
505 (sha256
506 (base32
507 "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s"))))
508 (build-system emacs-build-system)
509 (propagated-inputs
510 `(("emacs-dash" ,emacs-dash)))
511 (home-page "https://github.com/tarsius/minions")
512 (synopsis "Minor-mode menu for the mode line")
513 (description
514 "This package implements a menu that lists enabled minor-modes, as well
515 as commonly but not currently enabled minor-modes. It can be used to toggle
516 local and global minor-modes, to access mode-specific menus, and to get help
517 about modes.
518
519 This menu is intended as a replacement for the incomplete yet wide list of
520 enabled minor-modes that is displayed in the mode line by default. To use the
521 menu like this, enable Minions mode.
522
523 Alternatively the menu can be bound globally, for example:
524 @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
525 (license license:gpl3+)))
526
527 (define-public emacs-treepy
528 (package
529 (name "emacs-treepy")
530 (version "0.1.1")
531 (source (origin
532 (method git-fetch)
533 (uri (git-reference
534 (url "https://github.com/volrath/treepy.el.git")
535 (commit version)))
536 (file-name (git-file-name name version))
537 (sha256
538 (base32
539 "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
540 (build-system emacs-build-system)
541 (home-page
542 "https://github.com/volrath/treepy.el")
543 (synopsis "Tree traversal tools")
544 (description
545 "Generic tools for recursive and iterative tree traversal based on
546 clojure.walk and clojure.zip respectively.")
547 (license license:gpl3+)))
548
549 (define-public emacs-graphql
550 (package
551 (name "emacs-graphql")
552 (version "0.1.1")
553 (source (origin
554 (modules '((guix build utils)))
555 ;; Remove examples file with references to external packages as
556 ;; they do not exist at compilation time.
557 (snippet
558 '(begin (delete-file "examples.el")
559 #t))
560 (method git-fetch)
561 (uri (git-reference
562 (url "https://github.com/vermiculus/graphql.el.git")
563 (commit version)))
564 (file-name (git-file-name name version))
565 (sha256
566 (base32
567 "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
568 (build-system emacs-build-system)
569 (home-page
570 "https://github.com/vermiculus/graphql.el")
571 (synopsis "GraphQL utilities")
572 (description
573 "GraphQL.el provides a generally-applicable domain-specific language for
574 creating and executing GraphQL queries against your favorite web services.
575 GraphQL is a data query language and runtime designed and used to request and
576 deliver data to mobile and web apps.")
577 (license license:gpl3+)))
578
579 (define-public emacs-ghub
580 ;; We need a newer commit to avoid problems in emacs-forge.
581 (let ((commit "e19cd86ca4768a6d89285123933baa3f1460d696")
582 (revision "2"))
583 (package
584 (name "emacs-ghub")
585 (version (git-version "3.2.0" revision commit))
586 (source (origin
587 (method git-fetch)
588 (uri (git-reference
589 (url "https://github.com/magit/ghub")
590 (commit commit)))
591 (file-name (git-file-name name version))
592 (sha256
593 (base32
594 "1d6f8sxlsl0fpkzwbpnaw77d1a5pkg63zfvf6a2fxir357lbdizx"))))
595 (build-system emacs-build-system)
596 (arguments
597 `(#:phases
598 (modify-phases %standard-phases
599 (add-before 'install 'make-info
600 (lambda _
601 (invoke "make" "info"))))))
602 (native-inputs
603 `(("texinfo" ,texinfo)))
604 (propagated-inputs
605 `(("dash" ,emacs-dash)
606 ("emacs-let-alist" ,emacs-let-alist)
607 ("treepy" ,emacs-treepy)))
608 (home-page "https://github.com/magit/ghub")
609 (synopsis "Emacs client libraries for the APIs of various Git forges")
610 (description
611 "Ghub provides basic support for using the APIs of various Git forges from
612 Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab,
613 Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a
614 handful of functions that are not resource-specific.")
615 (license license:gpl3+))))
616
617 (define-public emacs-scribble-mode
618 (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2")
619 (revision "2"))
620 (package
621 (name "emacs-scribble-mode")
622 (version (git-version "0.1" revision commit))
623 (source (origin
624 (method git-fetch)
625 (uri (git-reference
626 (url "https://github.com/emacs-pe/scribble-mode.git")
627 (commit commit)))
628 (file-name (git-file-name name version))
629 (sha256
630 (base32
631 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"))))
632 (build-system emacs-build-system)
633 (home-page "https://github.com/emacs-pe/scribble-mode")
634 (synopsis "Emacs mode for editing the Scribble documentation syntax.")
635 (description
636 "This package provides basic syntax highlighting and editing support
637 for editing Racket's Scribble documentation syntax in Emacs.")
638 (license license:gpl3+))))
639
640 (define-public emacs-shroud
641 (package
642 (name "emacs-shroud")
643 (version "1.83.4")
644 (source
645 (origin
646 (method git-fetch)
647 (uri (git-reference
648 (url "https://github.com/o-nly/emacs-shroud.git")
649 (commit version)))
650 (file-name (git-file-name name version))
651 (sha256
652 (base32 "1yvdjx0kp4y8w5yz2cbqq9n6xl5splvmsyyx8ld1xv0q1c9872nf"))))
653 (build-system emacs-build-system)
654 (propagated-inputs
655 `(("emacs-bui" ,emacs-bui)
656 ("emacs-dash" ,emacs-dash)
657 ("emacs-f" ,emacs-f)
658 ("emacs-s" ,emacs-s)
659 ("gnupg" ,gnupg)
660 ("shroud" ,shroud)))
661 (home-page "https://github.com/o-nly/emacs-shroud")
662 (synopsis "Emacs interface to the Shroud password manager")
663 (description
664 "This package provides an Emacs interface to the Shroud password manager,
665 using the Buffers User Interface library. You can view, copy, and edit secrets
666 from within Emacs.")
667 (license license:gpl3+)))
668
669 (define-public emacs-unpackaged-el
670 (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
671 (revision "3"))
672 (package
673 (name "emacs-unpackaged-el")
674 (version (git-version "0" revision commit))
675 (source
676 (origin
677 (method git-fetch)
678 (uri (git-reference
679 (url "https://github.com/alphapapa/unpackaged.el")
680 (commit commit)))
681 (file-name (git-file-name name version))
682 (sha256
683 (base32
684 "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
685 (build-system emacs-build-system)
686 (propagated-inputs
687 `(("emacs-dash" ,emacs-dash)
688 ("emacs-org" ,emacs-org)
689 ("emacs-s" ,emacs-s)
690 ("emacs-hydra" ,emacs-hydra)
691 ("emacs-use-package" ,emacs-use-package)))
692 (arguments
693 `(#:phases
694 (modify-phases %standard-phases
695 (add-after 'unpack 'require-hydra
696 (lambda _
697 (substitute* "unpackaged.el"
698 ((";;; Code:") ";;; Code:\n(require 'hydra)"))
699 #t)))))
700 (home-page "https://github.com/alphapapa/unpackaged.el")
701 (synopsis "Useful snippets of Emacs Lisp code")
702 (description "This package provides Emacs Lisp utilities for a variety
703 of tasks, including version control, task management, and regex-based
704 replacement.")
705 (license license:gpl3+))))
706
707 (define-public emacs-haskell-mode
708 (package
709 (name "emacs-haskell-mode")
710 (version "16.1")
711 (source (origin
712 (method git-fetch)
713 (uri (git-reference
714 (url "https://github.com/haskell/haskell-mode")
715 (commit (string-append "v" version))))
716 (file-name (git-file-name name version))
717 (sha256
718 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
719 (patches
720 (search-patches ; backport test failure fixes
721 "haskell-mode-unused-variables.patch"
722 "haskell-mode-make-check.patch"))))
723 (inputs
724 `(("emacs-el-search" ,emacs-el-search) ; for tests
725 ("emacs-stream" ,emacs-stream))) ; for tests
726 (propagated-inputs
727 `(("emacs-dash" ,emacs-dash)))
728 (native-inputs
729 `(("emacs" ,emacs-minimal)
730 ("texinfo" ,texinfo)))
731 (build-system gnu-build-system)
732 (arguments
733 `(#:make-flags (list (string-append "EMACS="
734 (assoc-ref %build-inputs "emacs")
735 "/bin/emacs"))
736 #:modules ((ice-9 match)
737 (srfi srfi-26)
738 ,@%gnu-build-system-modules)
739 #:phases
740 (modify-phases %standard-phases
741 (delete 'configure)
742 (add-before
743 'build 'pre-build
744 (lambda* (#:key inputs #:allow-other-keys)
745 (define (el-dir store-dir)
746 (match (find-files store-dir "\\.el$")
747 ((f1 f2 ...) (dirname f1))
748 (_ "")))
749
750 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
751 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
752
753 (setenv "SHELL" "sh")
754 (setenv "EMACSLOADPATH"
755 (string-concatenate
756 (map (match-lambda
757 (((? emacs-prefix? name) . dir)
758 (string-append (el-dir dir) ":"))
759 (_ ""))
760 inputs)))
761 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
762 ;; embed filename to fix test failure
763 (let ((file "tests/haskell-cabal-tests.el"))
764 (substitute* file
765 (("\\(buffer-file-name\\)")
766 (format #f "(or (buffer-file-name) ~s)" file))))
767 #t)))
768 (replace
769 'install
770 (lambda* (#:key outputs #:allow-other-keys)
771 (let* ((out (assoc-ref outputs "out"))
772 (el-dir (string-append out "/share/emacs/site-lisp"))
773 (doc (string-append
774 out "/share/doc/haskell-mode-" ,version))
775 (info (string-append out "/share/info")))
776 (define (copy-to-dir dir files)
777 (for-each (lambda (f)
778 (install-file f dir))
779 files))
780
781 (with-directory-excursion "doc"
782 (invoke "makeinfo" "haskell-mode.texi")
783 (install-file "haskell-mode.info" info))
784 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
785 (copy-to-dir el-dir (find-files "." "\\.elc?"))
786 ;; These are part of other packages.
787 (with-directory-excursion el-dir
788 (for-each delete-file '("dash.el" "ert.el")))
789 #t))))))
790 (home-page "https://github.com/haskell/haskell-mode")
791 (synopsis "Haskell mode for Emacs")
792 (description
793 "This is an Emacs mode for editing, debugging and developing Haskell
794 programs.")
795 (license license:gpl3+)))
796
797 (define-public haskell-mode
798 (deprecated-package "haskell-mode" emacs-haskell-mode))
799
800 (define-public emacs-dante
801 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
802 (revision "3"))
803 (package
804 (name "emacs-dante")
805 (version (git-version "1.5" revision commit))
806 (source (origin
807 (method git-fetch)
808 (uri (git-reference
809 (url "https://github.com/jyp/dante")
810 (commit commit)))
811 (sha256
812 (base32
813 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
814 (file-name (git-file-name name version))))
815 (build-system emacs-build-system)
816 (propagated-inputs
817 `(("emacs-dash" ,emacs-dash)
818 ("emacs-f" ,emacs-f)
819 ("emacs-flycheck" ,emacs-flycheck)
820 ("emacs-haskell-mode" ,emacs-haskell-mode)
821 ("emacs-s" ,emacs-s)
822 ("emacs-company" ,emacs-company)
823 ("emacs-lcr" ,emacs-lcr)))
824 (home-page "https://github.com/jyp/dante")
825 (synopsis "Minor mode for interactive Haskell")
826 (description
827 "This package provides a minor mode for Haskell development that
828 supports type hints, definition-jumping, completion, and more.")
829 (license license:gpl3+))))
830
831 (define-public emacs-flycheck
832 ;; last release version was more than 300 commits ago
833 (let ((commit "0006a59259ebd02c9199ddc87f0e3ce22793a2ea")
834 (revision "1"))
835 (package
836 (name "emacs-flycheck")
837 (version (git-version "31" revision commit))
838 (source (origin
839 (method git-fetch)
840 (uri (git-reference
841 (url "https://github.com/flycheck/flycheck/")
842 (commit commit)))
843 (sha256
844 (base32
845 "09q3h6ldpg528cfbmsbb1x2vf5hmzgm3fshqn6kdy144jxcdjlf1"))
846 (file-name (git-file-name name version))))
847 (build-system emacs-build-system)
848 (propagated-inputs
849 `(("emacs-dash" ,emacs-dash)))
850 (native-inputs
851 `(("emacs-shut-up" ,emacs-shut-up)))
852 (arguments
853 `(#:phases
854 (modify-phases %standard-phases
855 (add-after 'unpack 'change-flycheck-version
856 (lambda _
857 (substitute* "flycheck.el"
858 (("\\(pkg-info-version-info 'flycheck\\)")
859 (string-append "\"" ,version "\"")))
860 #t)))
861 ;; TODO: many failing tests
862 #:tests? #f
863 #:test-command '("emacs" "-Q" "--batch" "-L" "."
864 "--load" "test/flycheck-test"
865 "--load" "test/run.el"
866 "-f" "flycheck-run-tests-main")))
867 (home-page "https://www.flycheck.org")
868 (synopsis "On-the-fly syntax checking")
869 (description
870 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
871 replacement for the older Flymake extension which is part of GNU Emacs, with
872 many improvements and additional features.
873
874 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
875 checking for over 30 programming and markup languages with more than 70
876 different tools. It highlights errors and warnings inline in the buffer, and
877 provides an optional IDE-like error list.")
878 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
879
880 (define-public emacs-a
881 (package
882 (name "emacs-a")
883 (version "0.1.1")
884 (source (origin
885 (method git-fetch)
886 (uri (git-reference
887 (url "https://github.com/plexus/a.el.git")
888 (commit (string-append "v" version))))
889 (file-name (git-file-name name version))
890 (sha256
891 (base32
892 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
893 (build-system emacs-build-system)
894 (home-page "https://github.com/plexus/a.el/")
895 (synopsis
896 "Emacs library for dealing with association lists and hash tables")
897 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
898 with associative structures in a uniform and functional way. These functions
899 can take association lists, hash tables, and in some cases vectors (where the
900 index is considered the key).")
901 (license license:gpl3+)))
902
903 (define-public emacs-ace-jump-mode
904 (package
905 (name "emacs-ace-jump-mode")
906 (version "2.0")
907 (home-page "https://github.com/winterTTr/ace-jump-mode")
908 (source (origin
909 (method git-fetch)
910 (uri (git-reference
911 (url home-page)
912 (commit (string-append "v" version))))
913 (sha256
914 (base32
915 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
916 (file-name (git-file-name name version))))
917 (build-system emacs-build-system)
918 (synopsis "Cursor location minor mode for fast navigation")
919 (description "Ace-jump-mode is a fast/direct cursor location minor
920 mode. It creates an N-Branch search tree internally and marks all
921 the possible position with predefined keys in within the whole Emacs
922 view. This allows you to move to the character, word, or line almost
923 directly.")
924 (license license:gpl3+)))
925
926 (define-public emacs-anaphora
927 (package
928 (name "emacs-anaphora")
929 (version "1.0.4")
930 (source
931 (origin
932 (method git-fetch)
933 (uri (git-reference
934 (url "https://github.com/rolandwalker/anaphora.git")
935 (commit (string-append "v" version))))
936 (file-name (git-file-name name version))
937 (sha256
938 (base32
939 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
940 (build-system emacs-build-system)
941 (home-page "https://github.com/rolandwalker/anaphora/")
942 (synopsis "Anaphoric expressions for Emacs Lisp")
943 (description "@code{emacs-anaphora} implements anaphoric expressions for
944 Emacs Lisp.
945
946 Anaphoric expressions implicitly create one or more temporary variables which
947 can be referred to during the expression. This technique can improve clarity
948 in certain cases. It also enables recursion for anonymous functions.")
949 (license license:public-domain)))
950
951 (define-public emacs-xr
952 (package
953 (name "emacs-xr")
954 (version "1.13")
955 (source
956 (origin
957 (method url-fetch)
958 (uri (string-append
959 "https://elpa.gnu.org/packages/xr-" version ".tar"))
960 (sha256
961 (base32
962 "1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r"))))
963 (build-system emacs-build-system)
964 (home-page "http://elpa.gnu.org/packages/xr.html")
965 (synopsis "Convert string regexp to rx notation")
966 (description
967 "This is an inverse companion to the @code{rx} package for translating
968 regexps in string form to the @code{rx} notation. Its chief uses are:
969
970 @itemize
971 @item Migrating existing code to @code{rx} form, for better readability and
972 maintainability
973 @item Understanding complex regexp strings and finding errors in them
974 @end itemize
975
976 In addition to Emacs regexps, this package can also parse and troubleshoot
977 skip set strings, which are arguments to @code{skip-chars-forward} and
978 @code{skip-chars-backward}.")
979 (license license:gpl3+)))
980
981 (define-public emacs-ample-regexps
982 (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
983 (revision "1"))
984 (package
985 (name "emacs-ample-regexps")
986 (version (git-version "0.1" revision commit))
987 (source
988 (origin
989 (method git-fetch)
990 (uri (git-reference
991 (url "https://github.com/immerrr/ample-regexps.el")
992 (commit commit)))
993 (file-name (git-file-name name version))
994 (sha256
995 (base32
996 "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
997 (build-system emacs-build-system)
998 (native-inputs
999 `(("ert-runner" ,emacs-ert-runner)))
1000 (arguments
1001 `(#:tests? #t
1002 #:test-command '("ert-runner" "-l" "ample-regexps")))
1003 (home-page "https://github.com/immerrr/ample-regexps.el")
1004 (synopsis "Compose and reuse Emacs regexps")
1005 (description
1006 "This package allows common parts of regexps to be easily picked out
1007 and reused.")
1008 (license license:gpl3+))))
1009
1010 (define-public emacs-ample-theme
1011 (let ((commit "536966adf882446165a1f756830028faa792c7a9")
1012 (revision "1"))
1013 (package
1014 (name "emacs-ample-theme")
1015 (version (git-version "0.0.0" revision commit))
1016 (source (origin
1017 (method git-fetch)
1018 (uri (git-reference
1019 (url "https://github.com/jordonbiondo/ample-theme")
1020 (commit commit)))
1021 (file-name (git-file-name name version))
1022 (sha256
1023 (base32
1024 "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
1025 (build-system emacs-build-system)
1026 (home-page "https://github.com/jordonbiondo/ample-theme")
1027 (synopsis "Theme for Emacs providing dark, light, and flat versions")
1028 (description "Ample themes is a collection of three themes sharing a
1029 similar pallet with a light, dark and flat versions with a focus on being easy
1030 on the eyes during night and day. They only support GUI and 256 colour
1031 terminals.")
1032 (license license:gpl3+))))
1033
1034 (define-public emacs-reformatter
1035 (package
1036 (name "emacs-reformatter")
1037 (version "0.4")
1038 (source
1039 (origin
1040 (method git-fetch)
1041 (uri (git-reference
1042 (url "https://github.com/purcell/reformatter.el.git")
1043 (commit version)))
1044 (file-name (git-file-name name version))
1045 (sha256
1046 (base32
1047 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
1048 (build-system emacs-build-system)
1049 (home-page "https://github.com/purcell/reformatter.el")
1050 (synopsis "Define commands which run reformatters on the current buffer")
1051 (description
1052 "This library lets elisp authors easily define an idiomatic command to
1053 reformat the current buffer using a command-line program, together with an
1054 optional minor mode which can apply this command automatically on save.")
1055 (license license:gpl3+)))
1056
1057 (define-public emacs-relint
1058 (package
1059 (name "emacs-relint")
1060 (version "1.11")
1061 (source
1062 (origin
1063 (method url-fetch)
1064 (uri (string-append
1065 "https://elpa.gnu.org/packages/relint-" version ".tar"))
1066 (sha256
1067 (base32 "0c7d35kp5k11fnyjrq9cg8i2r005gs57pmb3rvpf8ilwv0scn1m7"))))
1068 (build-system emacs-build-system)
1069 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
1070 (home-page "https://github.com/mattiase/relint")
1071 (synopsis "Elisp regexp mistake finder")
1072 (description
1073 "Relint (regular expression lint) scans Elisp files for mistakes in
1074 regexps, including deprecated syntax and bad practice. It also checks the
1075 regexp-like arguments to @code{skip-chars-forward} and
1076 @code{skip-chars-backward}.")
1077 (license license:gpl3+)))
1078
1079 (define-public emacs-bug-hunter
1080 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1081 (revision "1"))
1082 (package
1083 (name "emacs-bug-hunter")
1084 (version (git-version "1.3.1" revision commit))
1085 (source
1086 (origin
1087 (method git-fetch)
1088 (uri (git-reference
1089 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
1090 (commit commit)))
1091 (file-name (git-file-name name commit))
1092 (sha256
1093 (base32
1094 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1095 (build-system emacs-build-system)
1096 (propagated-inputs
1097 `(("emacs-seq" ,emacs-seq)))
1098 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1099 (synopsis "Hunt down errors by bisecting elisp files")
1100 (description
1101 "The Bug Hunter is an Emacs library that finds the source of an error
1102 or unexpected behavior inside an elisp configuration file (typically
1103 @file{init.el} or @file{.emacs}).")
1104 (license license:gpl3+))))
1105
1106 \f
1107 ;;;
1108 ;;; Web browsing.
1109 ;;;
1110
1111 (define-public emacs-w3m
1112 ;; Emacs-w3m follows a "rolling release" model.
1113 (package
1114 (name "emacs-w3m")
1115 (version "2018-11-11")
1116 (source (origin
1117 (method cvs-fetch)
1118 (uri (cvs-reference
1119 (root-directory
1120 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1121 (module "emacs-w3m")
1122 (revision version)))
1123 (file-name (string-append name "-" version "-checkout"))
1124 (sha256
1125 (base32
1126 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1127 (build-system gnu-build-system)
1128 (native-inputs `(("autoconf" ,autoconf)
1129 ("texinfo" ,texinfo)
1130 ("emacs" ,emacs-minimal)))
1131 (inputs `(("w3m" ,w3m)
1132 ("imagemagick" ,imagemagick)))
1133 (arguments
1134 `(#:modules ((guix build gnu-build-system)
1135 (guix build utils)
1136 (guix build emacs-utils))
1137 #:imported-modules (,@%gnu-build-system-modules
1138 (guix build emacs-utils))
1139 #:configure-flags
1140 (let ((out (assoc-ref %outputs "out")))
1141 (list (string-append "--with-lispdir="
1142 out "/share/emacs/site-lisp")
1143 (string-append "--with-icondir="
1144 out "/share/images/emacs-w3m")
1145 ;; Leave .el files uncompressed, otherwise GC can't
1146 ;; identify run-time dependencies. See
1147 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1148 "--without-compress-install"))
1149 #:tests? #f ; no check target
1150 #:phases
1151 (modify-phases %standard-phases
1152 (add-after 'unpack 'autoconf
1153 (lambda _
1154 (invoke "autoconf")))
1155 (add-before 'configure 'support-emacs!
1156 (lambda _
1157 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1158 ;; unsupported.
1159 (substitute* "configure"
1160 (("EMACS_FLAVOR=unsupported")
1161 "EMACS_FLAVOR=emacs"))
1162 #t))
1163 (add-before 'build 'patch-exec-paths
1164 (lambda* (#:key inputs outputs #:allow-other-keys)
1165 (let ((out (assoc-ref outputs "out"))
1166 (w3m (assoc-ref inputs "w3m"))
1167 (imagemagick (assoc-ref inputs "imagemagick"))
1168 (coreutils (assoc-ref inputs "coreutils")))
1169 (make-file-writable "w3m.el")
1170 (emacs-substitute-variables "w3m.el"
1171 ("w3m-command" (string-append w3m "/bin/w3m"))
1172 ("w3m-touch-command"
1173 (string-append coreutils "/bin/touch"))
1174 ("w3m-icon-directory"
1175 (string-append out "/share/images/emacs-w3m")))
1176 (make-file-writable "w3m-image.el")
1177 (emacs-substitute-variables "w3m-image.el"
1178 ("w3m-imagick-convert-program"
1179 (string-append imagemagick "/bin/convert"))
1180 ("w3m-imagick-identify-program"
1181 (string-append imagemagick "/bin/identify")))
1182 #t)))
1183 (replace 'install
1184 (lambda* (#:key outputs #:allow-other-keys)
1185 (invoke "make" "install" "install-icons")
1186 (with-directory-excursion
1187 (string-append (assoc-ref outputs "out")
1188 "/share/emacs/site-lisp")
1189 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1190 (symlink "w3m-load.el" "w3m-autoloads.el")
1191 #t))))))
1192 (home-page "http://emacs-w3m.namazu.org/")
1193 (synopsis "Simple Web browser for Emacs based on w3m")
1194 (description
1195 "Emacs-w3m is an emacs interface for the w3m web browser.")
1196 (license license:gpl2+)))
1197
1198 (define-public emacs-wget
1199 (package
1200 (name "emacs-wget")
1201 (version "0.5.0")
1202 (source (origin
1203 (method url-fetch)
1204 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1205 version ".orig.tar.gz"))
1206 (sha256
1207 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1208 (build-system gnu-build-system)
1209 (inputs `(("wget" ,wget)))
1210 (native-inputs `(("emacs" ,emacs-minimal)))
1211 (arguments
1212 `(#:modules ((guix build gnu-build-system)
1213 (guix build utils)
1214 (guix build emacs-utils))
1215 #:imported-modules (,@%gnu-build-system-modules
1216 (guix build emacs-utils))
1217 #:tests? #f ; no check target
1218 #:phases
1219 (modify-phases %standard-phases
1220 (replace 'configure
1221 (lambda* (#:key outputs #:allow-other-keys)
1222 (substitute* "Makefile"
1223 (("/usr/local") (assoc-ref outputs "out"))
1224 (("/site-lisp/emacs-wget") "/site-lisp"))
1225 #t))
1226 (add-before 'build 'patch-exec-paths
1227 (lambda* (#:key inputs outputs #:allow-other-keys)
1228 (let ((wget (assoc-ref inputs "wget")))
1229 (emacs-substitute-variables "wget.el"
1230 ("wget-command" (string-append wget "/bin/wget"))))
1231 #t))
1232 (add-after 'install 'post-install
1233 (lambda* (#:key outputs #:allow-other-keys)
1234 (emacs-generate-autoloads
1235 "wget" (string-append (assoc-ref outputs "out")
1236 "/share/emacs/site-lisp/"))
1237 #t)))))
1238 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
1239 (synopsis "Simple file downloader for Emacs based on wget")
1240 (description
1241 "Emacs-wget is an emacs interface for the wget file downloader.")
1242 (license license:gpl2+)))
1243
1244 \f
1245 ;;;
1246 ;;; Multimedia.
1247 ;;;
1248
1249 (define-public emacs-emms
1250 (package
1251 (name "emacs-emms")
1252 (version "5.3")
1253 (source (origin
1254 (method url-fetch)
1255 (uri (string-append "mirror://gnu/emms/emms-"
1256 version ".tar.gz"))
1257 (sha256
1258 (base32
1259 "00hnv7jjgb2simgrf7gf2y1cyg2syk7kj1hkbac146hlgxk8ngj1"))
1260 (modules '((guix build utils)))
1261 (snippet
1262 '(begin
1263 (substitute* "Makefile"
1264 (("/usr/bin/install-info")
1265 ;; No need to use 'install-info' since it would create a
1266 ;; useless 'dir' file.
1267 "true")
1268 (("^INFODIR=.*")
1269 ;; Install Info files to $out/share/info, not $out/info.
1270 "INFODIR := $(PREFIX)/share/info\n")
1271 (("/site-lisp/emms")
1272 ;; Install directly in share/emacs/site-lisp, not in a
1273 ;; sub-directory.
1274 "/site-lisp")
1275 (("^all: (.*)\n" _ rest)
1276 ;; Build 'emms-print-metadata'.
1277 (string-append "all: " rest " emms-print-metadata\n")))
1278 #t))))
1279 (build-system gnu-build-system)
1280 (arguments
1281 `(#:modules ((guix build gnu-build-system)
1282 (guix build utils)
1283 (guix build emacs-utils)
1284 (ice-9 ftw))
1285 #:imported-modules (,@%gnu-build-system-modules
1286 (guix build emacs-utils))
1287
1288 #:phases
1289 (modify-phases %standard-phases
1290 (replace 'configure
1291 (lambda* (#:key inputs outputs #:allow-other-keys)
1292 (let ((out (assoc-ref outputs "out"))
1293 (flac (assoc-ref inputs "flac"))
1294 (vorbis (assoc-ref inputs "vorbis-tools"))
1295 (alsa (assoc-ref inputs "alsa-utils"))
1296 (mpg321 (assoc-ref inputs "mpg321"))
1297 (mp3info (assoc-ref inputs "mp3info"))
1298 (mutagen (assoc-ref inputs "mutagen"))
1299 (opus (assoc-ref inputs "opus-tools")))
1300 ;; Specify the installation directory.
1301 (substitute* "Makefile"
1302 (("PREFIX=.*$")
1303 (string-append "PREFIX := " out "\n")))
1304
1305 (setenv "SHELL" (which "sh"))
1306 (setenv "CC" "gcc")
1307
1308 ;; Specify the absolute file names of the various
1309 ;; programs so that everything works out-of-the-box.
1310 (with-directory-excursion "lisp"
1311 (emacs-substitute-variables
1312 "emms-player-mpg321-remote.el"
1313 ("emms-player-mpg321-remote-command"
1314 (string-append mpg321 "/bin/mpg321")))
1315 (substitute* "emms-player-simple.el"
1316 (("\"ogg123\"")
1317 (string-append "\"" vorbis "/bin/ogg123\"")))
1318 (substitute* "emms-player-simple.el"
1319 (("\"mpg321\"")
1320 (string-append "\"" mpg321 "/bin/mpg321\"")))
1321 (emacs-substitute-variables "emms-info-ogginfo.el"
1322 ("emms-info-ogginfo-program-name"
1323 (string-append vorbis "/bin/ogginfo")))
1324 (emacs-substitute-variables "emms-info-opusinfo.el"
1325 ("emms-info-opusinfo-program-name"
1326 (string-append opus "/bin/opusinfo")))
1327 (emacs-substitute-variables "emms-info-libtag.el"
1328 ("emms-info-libtag-program-name"
1329 (string-append out "/bin/emms-print-metadata")))
1330 (emacs-substitute-variables "emms-info-mp3info.el"
1331 ("emms-info-mp3info-program-name"
1332 (string-append mp3info "/bin/mp3info")))
1333 (emacs-substitute-variables "emms-info-metaflac.el"
1334 ("emms-info-metaflac-program-name"
1335 (string-append flac "/bin/metaflac")))
1336 (emacs-substitute-variables "emms-source-file.el"
1337 ("emms-source-file-gnu-find" (which "find")))
1338 (substitute* "emms-volume-amixer.el"
1339 (("\"amixer\"")
1340 (string-append "\"" alsa "/bin/amixer\"")))
1341 (substitute* "emms-tag-editor.el"
1342 (("\"mid3v2\"")
1343 (string-append "\"" mutagen "/bin/mid3v2\"")))
1344 #t))))
1345 (add-before 'install 'pre-install
1346 (lambda* (#:key outputs #:allow-other-keys)
1347 ;; The 'install' rule expects the target directories to exist.
1348 (let* ((out (assoc-ref outputs "out"))
1349 (bin (string-append out "/bin"))
1350 (man1 (string-append out "/share/man/man1")))
1351 (mkdir-p bin)
1352 (mkdir-p man1)
1353
1354 ;; Ensure that files are not rejected by gzip
1355 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1356 (ftw "." (lambda (file stat flag)
1357 (unless (<= early-1980 (stat:mtime stat))
1358 (utime file early-1980 early-1980))
1359 #t)))
1360 #t)))
1361 (add-after 'install 'post-install
1362 (lambda* (#:key outputs #:allow-other-keys)
1363 (let ((out (assoc-ref outputs "out")))
1364 (symlink "emms-auto.el"
1365 (string-append out "/share/emacs/site-lisp/"
1366 "emms-autoloads.el")))
1367 #t)))
1368 #:tests? #f))
1369 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1370 ("texinfo" ,texinfo)))
1371 (inputs `(("alsa-utils" ,alsa-utils)
1372 ("flac" ,flac) ;for metaflac
1373 ("vorbis-tools" ,vorbis-tools)
1374 ("mpg321" ,mpg321)
1375 ("taglib" ,taglib)
1376 ("mp3info" ,mp3info)
1377 ("mutagen" ,python-mutagen)
1378 ("opus-tools" ,opus-tools)))
1379 (properties '((upstream-name . "emms")))
1380 (synopsis "Emacs Multimedia System")
1381 (description
1382 "EMMS is the Emacs Multimedia System. It is a small front-end which
1383 can control one of the supported external players. Thus, it supports
1384 whatever formats are supported by your music player. It also
1385 supports tagging and playlist management, all behind a clean and
1386 light user interface.")
1387 (home-page "https://www.gnu.org/software/emms/")
1388 (license license:gpl3+)))
1389
1390 (define-public emacs-emms-player-mpv
1391 ;; A new mpv backend is included in Emms from 5.0.
1392 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1393
1394 (define-public emacs-emms-mode-line-cycle
1395 (package
1396 (name "emacs-emms-mode-line-cycle")
1397 (version "0.2.5")
1398 (source
1399 (origin
1400 (method git-fetch)
1401 (uri (git-reference
1402 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1403 (commit version)))
1404 (file-name (git-file-name name version))
1405 (sha256
1406 (base32
1407 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1408 (build-system emacs-build-system)
1409 (propagated-inputs
1410 `(("emms" ,emacs-emms)))
1411 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1412 (synopsis "Display the EMMS mode line as a ticker")
1413 (description
1414 "This is a minor mode for updating the EMMS mode-line string cyclically
1415 within a specified width. It is useful for displaying long track titles.")
1416 (license license:gpl3+)))
1417
1418 \f
1419 ;;;
1420 ;;; Miscellaneous.
1421 ;;;
1422
1423 (define-public emacs-ace-link
1424 (package
1425 (name "emacs-ace-link")
1426 (version "0.5.0")
1427 (source
1428 (origin
1429 (method git-fetch)
1430 (uri (git-reference
1431 (url "https://github.com/abo-abo/ace-link.git")
1432 (commit version)))
1433 (file-name (git-file-name name version))
1434 (sha256
1435 (base32
1436 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1437 (build-system emacs-build-system)
1438 (propagated-inputs
1439 `(("emacs-avy" ,emacs-avy)))
1440 (home-page "https://github.com/abo-abo/ace-link")
1441 (synopsis "Quickly follow links in Emacs")
1442 (description
1443 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1444 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1445 @code{goto-address-mode} buffer, you can tab through the links to select the
1446 one you want. This is an O(N) operation, where the N is the amount of links.
1447 This package turns this into an O(1) operation. It does so by assigning a
1448 letter to each link using avy.")
1449 (license license:gpl3+)))
1450
1451 (define-public emacs-bbdb
1452 (package
1453 (name "emacs-bbdb")
1454 (version "3.1.2")
1455 (source (origin
1456 (method url-fetch)
1457 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1458 version ".tar.gz"))
1459 (sha256
1460 (base32
1461 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1462 (modules '((guix build utils)))
1463 (snippet
1464 ;; We don't want to build and install the PDF.
1465 '(begin
1466 (substitute* "doc/Makefile.in"
1467 (("^doc_DATA = .*$")
1468 "doc_DATA =\n"))
1469 #t))))
1470 (build-system gnu-build-system)
1471 (arguments
1472 '(#:phases
1473 (modify-phases %standard-phases
1474 (add-after 'install 'post-install
1475 (lambda* (#:key outputs #:allow-other-keys)
1476 ;; Add an autoloads file with the right name for guix.el.
1477 (let* ((out (assoc-ref outputs "out"))
1478 (site (string-append out "/share/emacs/site-lisp")))
1479 (with-directory-excursion site
1480 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1481 #t)))))
1482 (native-inputs `(("emacs" ,emacs-minimal)))
1483 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1484 (synopsis "Contact management utility for Emacs")
1485 (description
1486 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1487 an address book for email and snail mail addresses, phone numbers and the
1488 like. It can be linked with various Emacs mail clients (Message and Mail
1489 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1490 (license license:gpl3+)))
1491
1492 (define-public bbdb
1493 (deprecated-package "bbdb" emacs-bbdb))
1494
1495 (define-public emacs-aggressive-indent
1496 (package
1497 (name "emacs-aggressive-indent")
1498 (version "1.8.3")
1499 (source (origin
1500 (method url-fetch)
1501 (uri (string-append "https://elpa.gnu.org/packages/"
1502 "aggressive-indent-" version ".el"))
1503 (sha256
1504 (base32
1505 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1506 (build-system emacs-build-system)
1507 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1508 (synopsis "Minor mode to aggressively keep your code always indented")
1509 (description
1510 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1511 always indented. It reindents after every change, making it more reliable
1512 than @code{electric-indent-mode}.")
1513 (license license:gpl2+)))
1514
1515 (define-public emacs-link-hint
1516 ;; Last release was in 2015.
1517 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1518 (revision "1"))
1519 (package
1520 (name "emacs-link-hint")
1521 (version (git-version "0.1" revision commit))
1522 (source
1523 (origin
1524 (method git-fetch)
1525 (uri (git-reference
1526 (url "https://github.com/noctuid/link-hint.el")
1527 (commit commit)))
1528 (file-name (git-file-name name version))
1529 (sha256
1530 (base32
1531 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1532 (build-system emacs-build-system)
1533 (propagated-inputs
1534 `(("emacs-avy" ,emacs-avy)))
1535 (home-page "https://github.com/noctuid/link-hint.el")
1536 (synopsis "Vimperator-style link-hinting in Emacs")
1537 (description "This package provides commands for visiting and acting on
1538 links.")
1539 (license license:gpl3+))))
1540
1541 (define-public emacs-ag
1542 (package
1543 (name "emacs-ag")
1544 (version "0.48")
1545 (source (origin
1546 (method git-fetch)
1547 (uri (git-reference
1548 (url "https://github.com/Wilfred/ag.el.git")
1549 (commit version)))
1550 (file-name (git-file-name name version))
1551 (sha256
1552 (base32
1553 "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
1554 (build-system emacs-build-system)
1555 (arguments
1556 `(#:phases
1557 (modify-phases %standard-phases
1558 (add-before 'install 'make-info
1559 (lambda _
1560 (with-directory-excursion "docs"
1561 (invoke "make" "info"))))
1562 (add-after 'install 'install-info
1563 (lambda* (#:key outputs #:allow-other-keys)
1564 (let* ((out (assoc-ref outputs "out"))
1565 (info (string-append out "/share/info")))
1566 (install-file "docs/_build/texinfo/agel.info" info)
1567 #t))))))
1568 (native-inputs
1569 `(("python-sphinx" ,python-sphinx)
1570 ("texinfo" ,texinfo)))
1571 (propagated-inputs
1572 `(("dash" ,emacs-dash)
1573 ("s" ,emacs-s)
1574 ;; We need to use 'ag' as the executable on remote systems.
1575 ("the-silver-searcher" ,the-silver-searcher)))
1576 (home-page "https://github.com/Wilfred/ag.el")
1577 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1578 (description "This package provides the ability to use the silver
1579 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1580 include version control system awareness, use of Perl compatible regular
1581 expressions, editing the search results directly and searching file names
1582 rather than the contents of files.")
1583 (license license:gpl3+)))
1584
1585 (define-public emacs-async
1586 (package
1587 (name "emacs-async")
1588 (home-page "https://github.com/jwiegley/emacs-async")
1589 (version "1.9.4")
1590 (source (origin
1591 (method git-fetch)
1592 (uri (git-reference
1593 (url home-page)
1594 (commit (string-append "v" version))))
1595 (file-name (git-file-name name version))
1596 (sha256
1597 (base32
1598 "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7"))))
1599 (build-system emacs-build-system)
1600 (synopsis "Asynchronous processing in Emacs")
1601 (description
1602 "This package provides the ability to call asynchronous functions and
1603 processes. For example, it can be used to run dired commands (for copying,
1604 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1605 as a library for other Emacs packages.")
1606 (license license:gpl3+)))
1607
1608 (define-public emacs-auctex
1609 (package
1610 (name "emacs-auctex")
1611 (version "12.2.0")
1612 (source
1613 (origin
1614 (method url-fetch)
1615 (uri (string-append "https://elpa.gnu.org/packages/auctex-"
1616 version ".tar"))
1617 (sha256
1618 (base32 "0j919l3q5sq6h1k1kmk4kyv0vkzl4f98fxcd64v34x5q1ahjhg48"))))
1619 (build-system emacs-build-system)
1620 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1621 ;; ('emacs-minimal' does not provide dbus).
1622 (arguments
1623 `(#:emacs ,emacs
1624 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1625 #:exclude '("^tests/" "^latex/README")))
1626 (native-inputs
1627 `(("perl" ,perl)))
1628 (home-page "https://www.gnu.org/software/auctex/")
1629 (synopsis "Integrated environment for TeX")
1630 (description
1631 "AUCTeX is a comprehensive customizable integrated environment for
1632 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1633 or XEmacs.")
1634 (license license:gpl3+)))
1635
1636 (define-public emacs-autothemer
1637 (package
1638 (name "emacs-autothemer")
1639 (version "0.2.2")
1640 (source
1641 (origin
1642 (method git-fetch)
1643 (uri (git-reference
1644 (url "https://github.com/sebastiansturm/autothemer.git")
1645 (commit version)))
1646 (file-name (git-file-name name version))
1647 (sha256
1648 (base32
1649 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1650 (build-system emacs-build-system)
1651 (propagated-inputs
1652 `(("emacs-dash" ,emacs-dash)))
1653 (home-page "https://github.com/sebastiansturm/autothemer")
1654 (synopsis "Conveniently create Emacs themes")
1655 (description
1656 "Autothemer provides a thin layer on top of @code{deftheme} and
1657 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1658 a set of simplified face specifications and a user-supplied color palette")
1659 (license license:gpl3+)))
1660
1661 (define-public emacs-howm
1662 (package
1663 (name "emacs-howm")
1664 (version "1.4.5")
1665 (source
1666 (origin
1667 (method url-fetch)
1668 (uri (string-append "https://howm.sourceforge.jp/a/howm-"
1669 version ".tar.gz"))
1670 (sha256
1671 (base32 "1kvr5pxpc9rwhkza9025mdi0wvh0f0rpawl21rzirjk1x10903yi"))))
1672 (build-system gnu-build-system)
1673 (native-inputs
1674 `(("emacs" ,emacs-minimal)))
1675 (arguments
1676 `(#:configure-flags
1677 (list (string-append "--with-howmdir=" %output
1678 "/share/emacs/site-lisp/guix.d/howm-" ,version))
1679 #:modules ((guix build gnu-build-system)
1680 ((guix build emacs-build-system) #:prefix emacs:)
1681 (guix build utils))
1682 #:imported-modules (,@%gnu-build-system-modules
1683 (guix build emacs-build-system)
1684 (guix build emacs-utils))
1685 #:phases
1686 (modify-phases %standard-phases
1687 (add-after 'install 'make-autoloads
1688 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1689 (home-page "https://howm.osdn.jp/")
1690 (synopsis "Note-taking tool for Emacs")
1691 (description "Howm is a note-taking tool for Emacs. Like
1692 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1693 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1694 (license license:gpl1+)))
1695
1696 (define-public emacs-calfw
1697 (package
1698 (name "emacs-calfw")
1699 (version "1.6")
1700 (source
1701 (origin
1702 (method git-fetch)
1703 (uri (git-reference
1704 (url "https://github.com/kiwanami/emacs-calfw.git")
1705 (commit (string-append "v" version))))
1706 (file-name (git-file-name name version))
1707 (sha256
1708 (base32
1709 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1710 (build-system emacs-build-system)
1711 (propagated-inputs
1712 `(("emacs-howm" ,emacs-howm)))
1713 (home-page "https://github.com/kiwanami/emacs-calfw/")
1714 (synopsis "Calendar framework for Emacs")
1715 (description
1716 "This package displays a calendar view with various schedule data in the
1717 Emacs buffer.")
1718 (license license:gpl3+)))
1719
1720 (define-public emacs-direnv
1721 (package
1722 (name "emacs-direnv")
1723 (version "2.0.0")
1724 (source
1725 (origin
1726 (method git-fetch)
1727 (uri (git-reference
1728 (url "https://github.com/wbolster/emacs-direnv.git")
1729 (commit version)))
1730 (file-name (git-file-name name version))
1731 (sha256
1732 (base32
1733 "005ibyzsx1fdyrl5iyhqpb1bg83mphzahq7zvw58x00syyqi2z49"))))
1734 (build-system emacs-build-system)
1735 (propagated-inputs
1736 `(("dash" ,emacs-dash)
1737 ("with-editor" ,emacs-with-editor)))
1738 (home-page "https://github.com/wbolster/emacs-direnv")
1739 (synopsis "Direnv integration for Emacs")
1740 (description
1741 "This package provides support for invoking direnv to get the environment
1742 for the current file and updating the environment within Emacs to match.
1743
1744 Direnv can be invoked manually, and a global minor mode is included that will
1745 update the environment when the active buffer changes.
1746
1747 Using emacs-direnv means that programs started from Emacs will use the
1748 environment set through Direnv.")
1749 (license license:gpl3+)))
1750
1751 (define-public emacs-ggtags
1752 (package
1753 (name "emacs-ggtags")
1754 (version "0.8.13")
1755 (source
1756 (origin
1757 (method url-fetch)
1758 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1759 version ".el"))
1760 (sha256
1761 (base32
1762 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1763 (build-system emacs-build-system)
1764 (inputs
1765 `(("global" ,global)))
1766 (arguments
1767 `(#:phases
1768 (modify-phases %standard-phases
1769 (add-after 'unpack 'configure
1770 (lambda* (#:key inputs #:allow-other-keys)
1771 (chmod "ggtags.el" #o644)
1772 (emacs-substitute-variables "ggtags.el"
1773 ("ggtags-executable-directory"
1774 (string-append (assoc-ref inputs "global") "/bin")))
1775 #t)))))
1776 (home-page "https://github.com/leoliu/ggtags")
1777 (synopsis "Frontend to the GNU Global source code tagging system")
1778 (description "@code{ggtags} provides a frontend to the GNU Global source
1779 code tagging system.
1780
1781 Features:
1782
1783 @itemize
1784 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1785 @item Automatically update Global's tag files when needed with tuning for
1786 large source trees.
1787 @item Intuitive navigation among multiple matches with mode-line display of
1788 current match, total matches and exit status.
1789 @item Read tag with completion.
1790 @item Show definition at point.
1791 @item Jump to #include files.
1792 @item Support search history and saving a search to register/bookmark.
1793 @item Query replace.
1794 @item Manage Global's environment variables on a per-project basis.
1795 @item Highlight (definition) tag at point.
1796 @item Abbreviated display of file names.
1797 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1798 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1799 @code{pygments} backend.
1800 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1801 @code{cscope} etc.
1802 @item Support projects on remote hosts (e.g. via @code{tramp}).
1803 @item Support eldoc.
1804 @item Search @code{GTAGSLIBPATH} for references and symbols.
1805 @end itemize\n")
1806 (license license:gpl3+)))
1807
1808 (define-public emacs-go-mode
1809 (package
1810 (name "emacs-go-mode")
1811 (version "1.5.0")
1812 (source (origin
1813 (method git-fetch)
1814 (uri (git-reference
1815 (url "https://github.com/dominikh/go-mode.el.git")
1816 (commit (string-append "v" version))))
1817 (file-name (git-file-name name version))
1818 (sha256
1819 (base32
1820 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1821 (build-system emacs-build-system)
1822 (arguments
1823 `(#:phases
1824 (modify-phases %standard-phases
1825 (add-after 'unpack 'make-writable
1826 (lambda _
1827 (for-each make-file-writable (find-files "." "\\.el$"))
1828 #t)))))
1829 (home-page "https://github.com/dominikh/go-mode.el")
1830 (synopsis "Go mode for Emacs")
1831 (description
1832 "This package provides go-mode, an Emacs mode for working with software
1833 written in the Go programming language.")
1834 (license license:bsd-3)))
1835
1836 (define-public emacs-google-maps
1837 (package
1838 (name "emacs-google-maps")
1839 (version "1.0.0")
1840 (source (origin
1841 (method git-fetch)
1842 (uri (git-reference
1843 (url "https://github.com/jd/google-maps.el.git")
1844 (commit version)))
1845 (file-name (git-file-name name version))
1846 (sha256
1847 (base32
1848 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1849 (build-system emacs-build-system)
1850 (home-page "https://github.com/jd/google-maps.el")
1851 (synopsis "Access Google Maps from Emacs")
1852 (description "The @code{google-maps} package allows to display Google
1853 Maps directly inside Emacs.")
1854 (license license:gpl3+)))
1855
1856 (define-public emacs-graphviz-dot-mode
1857 (let ((commit "c456a2b65c734089e6c44e87209a5a432a741b1a")
1858 (revision "1"))
1859 (package
1860 (name "emacs-graphviz-dot-mode")
1861 (version (string-append "0.3.11-" revision "."
1862 (string-take commit 7)))
1863 (source (origin
1864 (method git-fetch)
1865 (uri (git-reference
1866 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1867 (commit commit)))
1868 (file-name (git-file-name name version))
1869 (sha256
1870 (base32
1871 "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"))))
1872 (build-system emacs-build-system)
1873 (arguments
1874 `(#:phases
1875 (modify-phases %standard-phases
1876 (add-before 'install 'make-info
1877 (lambda* (#:key inputs #:allow-other-keys)
1878 (with-directory-excursion "texinfo"
1879 (substitute* "Makefile"
1880 (("\\/usr\\/bin\\/gzip")
1881 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1882 (invoke "make"
1883 "clean"
1884 "info"
1885 (string-append "TEXINFODIR="
1886 (assoc-ref inputs "texinfo")
1887 "/bin")))))
1888 (add-after 'install 'install-info
1889 (lambda* (#:key outputs #:allow-other-keys)
1890 (let* ((out (assoc-ref outputs "out"))
1891 (info (string-append out "/share/info")))
1892 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1893 #t))))))
1894 (native-inputs
1895 `(("texinfo" ,texinfo)
1896 ("gzip" ,gzip)))
1897 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1898 (synopsis "Major mode for editing Graphviz Dot files")
1899 (description
1900 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1901 files using the dot syntax, and use Graphviz to convert these files to
1902 diagrams.")
1903 (license license:gpl2+))))
1904
1905 (define-public emacs-mmm-mode
1906 (package
1907 (name "emacs-mmm-mode")
1908 (version "0.5.7")
1909 (source
1910 (origin
1911 (method git-fetch)
1912 (uri (git-reference
1913 (url "https://github.com/purcell/mmm-mode.git")
1914 (commit version)))
1915 (file-name (git-file-name name version))
1916 (sha256
1917 (base32
1918 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1919 (build-system gnu-build-system)
1920 (native-inputs
1921 `(("autoconf" ,autoconf)
1922 ("automake" ,automake)
1923 ("emacs" ,emacs-minimal)
1924 ("texinfo" ,texinfo)))
1925 (home-page "https://github.com/purcell/mmm-mode")
1926 (synopsis "Allow multiple major modes in an Emacs buffer")
1927 (description
1928 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1929 single buffer.")
1930 (license license:gpl3+)))
1931
1932 (define-public emacs-tablist
1933 (package
1934 (name "emacs-tablist")
1935 (version "1.0")
1936 (source (origin
1937 (method git-fetch)
1938 (uri (git-reference
1939 (url "https://github.com/politza/tablist.git")
1940 (commit (string-append "v" version))))
1941 (file-name (git-file-name name version))
1942 (sha256
1943 (base32
1944 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
1945 (build-system emacs-build-system)
1946 (home-page "https://github.com/politza/tablist")
1947 (synopsis "Extension for @code{tabulated-list-mode}")
1948 (description "Tablist is the Emacs package that provides several
1949 additional features to @code{tabulated-list-mode}: it adds marks,
1950 filters, new key bindings and faces. It can be enabled by
1951 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1952 (license license:gpl3+)))
1953
1954 (define-public emacs-pdf-tools
1955 (package
1956 (name "emacs-pdf-tools")
1957 (version "0.90")
1958 (home-page "https://github.com/politza/pdf-tools")
1959 (source (origin
1960 (method git-fetch)
1961 (uri (git-reference (url home-page)
1962 (commit (string-append "v" version))))
1963 (file-name (git-file-name name version))
1964 (sha256
1965 (base32
1966 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
1967 (build-system gnu-build-system)
1968 (arguments
1969 `(#:tests? #f ; there are no tests
1970 #:modules ((guix build gnu-build-system)
1971 ((guix build emacs-build-system) #:prefix emacs:)
1972 (guix build utils)
1973 (guix build emacs-utils))
1974 #:imported-modules (,@%gnu-build-system-modules
1975 (guix build emacs-build-system)
1976 (guix build emacs-utils))
1977 #:phases
1978 (modify-phases %standard-phases
1979 ;; Build server side using 'gnu-build-system'.
1980 (add-after 'unpack 'enter-server-dir
1981 (lambda _ (chdir "server") #t))
1982 (add-after 'enter-server-dir 'autogen
1983 (lambda _
1984 (invoke "bash" "autogen.sh")))
1985
1986 ;; Build emacs side using 'emacs-build-system'.
1987 (add-after 'compress-documentation 'enter-lisp-dir
1988 (lambda _ (chdir "../lisp") #t))
1989 (add-after 'enter-lisp-dir 'emacs-patch-variables
1990 (lambda* (#:key outputs #:allow-other-keys)
1991 (for-each make-file-writable (find-files "."))
1992
1993 ;; Set path to epdfinfo program.
1994 (emacs-substitute-variables "pdf-info.el"
1995 ("pdf-info-epdfinfo-program"
1996 (string-append (assoc-ref outputs "out")
1997 "/bin/epdfinfo")))
1998 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
1999 ;; upgrading" that pdf-tools tries to perform.
2000 (emacs-substitute-variables "pdf-tools.el"
2001 ("pdf-tools-handle-upgrades" '()))))
2002 (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
2003 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
2004 (add-after 'emacs-add-source-to-load-path 'emacs-install
2005 (assoc-ref emacs:%standard-phases 'install))
2006 (add-after 'emacs-install 'emacs-build
2007 (assoc-ref emacs:%standard-phases 'build))
2008 (add-after 'emacs-install 'emacs-make-autoloads
2009 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
2010 (native-inputs `(("autoconf" ,autoconf)
2011 ("automake" ,automake)
2012 ("pkg-config" ,pkg-config)
2013 ("emacs" ,emacs-minimal)))
2014 (inputs `(("poppler" ,poppler)
2015 ("cairo" ,cairo)
2016 ("glib" ,glib)
2017 ("libpng" ,libpng)
2018 ("zlib" ,zlib)))
2019 (propagated-inputs `(("tablist" ,emacs-tablist)))
2020 (synopsis "Emacs support library for PDF files")
2021 (description
2022 "PDF Tools is, among other things, a replacement of DocView for PDF
2023 files. The key difference is that pages are not pre-rendered by
2024 e.g. ghostscript and stored in the file-system, but rather created on-demand
2025 and stored in memory.")
2026 (license license:gpl3+)))
2027
2028 (define-public emacs-dash
2029 (package
2030 (name "emacs-dash")
2031 (version "2.16.0")
2032 (source (origin
2033 (method git-fetch)
2034 (uri (git-reference
2035 (url "https://github.com/magnars/dash.el.git")
2036 (commit version)))
2037 (file-name (git-file-name name version))
2038 (sha256
2039 (base32
2040 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
2041 (build-system emacs-build-system)
2042 (arguments
2043 `(#:tests? #t
2044 #:test-command '("./run-tests.sh")))
2045 (home-page "https://github.com/magnars/dash.el")
2046 (synopsis "Modern list library for Emacs")
2047 (description "This package provides a modern list API library for Emacs.")
2048 (license license:gpl3+)))
2049
2050 (define-public emacs-bui
2051 (package
2052 (name "emacs-bui")
2053 (version "1.2.1")
2054 (source (origin
2055 (method git-fetch)
2056 (uri (git-reference
2057 (url "https://notabug.org/alezost/emacs-bui.git")
2058 (commit (string-append "v" version))))
2059 (file-name (git-file-name name version))
2060 (sha256
2061 (base32
2062 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
2063 (build-system emacs-build-system)
2064 (propagated-inputs
2065 `(("dash" ,emacs-dash)))
2066 (home-page "https://notabug.org/alezost/emacs-bui")
2067 (synopsis "Buffer interface library for Emacs")
2068 (description
2069 "BUI (Buffer User Interface) is a library for making @code{list} and
2070 @code{info} interfaces to display an arbitrary data of the same
2071 type, for example: packages, buffers, files, etc.")
2072 (license license:gpl3+)))
2073
2074 (define-public emacs-guix
2075 (package
2076 (name "emacs-guix")
2077 (version "0.5.2")
2078 (source (origin
2079 (method url-fetch)
2080 (uri (string-append "https://emacs-guix.gitlab.io/website/"
2081 "releases/emacs-guix-" version ".tar.gz"))
2082 (sha256
2083 (base32
2084 "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps"))))
2085 (build-system gnu-build-system)
2086 (arguments
2087 `(#:configure-flags
2088 (let ((guix (assoc-ref %build-inputs "guix"))
2089 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
2090 (geiser (assoc-ref %build-inputs "geiser"))
2091 (dash (assoc-ref %build-inputs "dash"))
2092 (bui (assoc-ref %build-inputs "bui"))
2093 (magit-popup (assoc-ref %build-inputs "magit-popup"))
2094 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
2095 (site-lisp "/share/emacs/site-lisp")
2096 (site-scm "/share/guile/site")
2097 (site-go "/lib/guile")
2098 (guile-dir (lambda (dir)
2099 (car (find-files dir
2100 (lambda (file stat)
2101 (string-prefix?
2102 "2." (basename file)))
2103 #:directories? #t)))))
2104 (list (string-append "--with-guix-site-dir="
2105 (guile-dir (string-append guix site-scm)))
2106 (string-append "--with-guix-site-ccache-dir="
2107 (guile-dir (string-append guix site-go))
2108 "/site-ccache")
2109 (string-append "--with-guile-gcrypt-site-dir="
2110 (guile-dir (string-append gcrypt site-scm)))
2111 (string-append "--with-guile-gcrypt-site-ccache-dir="
2112 (guile-dir (string-append gcrypt site-go))
2113 "/site-ccache")
2114 (string-append "--with-geiser-lispdir=" geiser site-lisp)
2115 (string-append "--with-dash-lispdir="
2116 dash site-lisp "/guix.d/dash-"
2117 ,(package-version emacs-dash))
2118 (string-append "--with-bui-lispdir="
2119 bui site-lisp "/guix.d/bui-"
2120 ,(package-version emacs-bui))
2121 (string-append "--with-editindirect-lispdir="
2122 edit-indirect site-lisp "/guix.d/edit-indirect-"
2123 ,(package-version emacs-edit-indirect))
2124 (string-append "--with-popup-lispdir="
2125 magit-popup site-lisp "/guix.d/magit-popup-"
2126 ,(package-version emacs-magit-popup))))))
2127 (native-inputs
2128 `(("pkg-config" ,pkg-config)
2129 ("emacs" ,emacs-minimal)))
2130 (inputs
2131 `(("guile" ,guile-2.2)
2132 ("guix" ,guix)))
2133 (propagated-inputs
2134 `(("geiser" ,emacs-geiser)
2135 ("guile-gcrypt" ,guile-gcrypt)
2136 ("dash" ,emacs-dash)
2137 ("bui" ,emacs-bui)
2138 ("edit-indirect" ,emacs-edit-indirect)
2139 ("magit-popup" ,emacs-magit-popup)))
2140 (home-page "https://emacs-guix.gitlab.io/website/")
2141 (synopsis "Emacs interface for GNU Guix")
2142 (description
2143 "Emacs-Guix provides a visual interface, tools and features for the GNU
2144 Guix package manager. Particularly, it allows you to do various package
2145 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2146 @code{M-x guix-help} command.")
2147 (license license:gpl3+)))
2148
2149 (define-public emacs-build-farm
2150 (package
2151 (name "emacs-build-farm")
2152 (version "0.2.2")
2153 (source (origin
2154 (method git-fetch)
2155 (uri (git-reference
2156 (url "https://notabug.org/alezost/emacs-build-farm.git")
2157 (commit (string-append "v" version))))
2158 (file-name (git-file-name name version))
2159 (sha256
2160 (base32
2161 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2162 (build-system emacs-build-system)
2163 (propagated-inputs
2164 `(("bui" ,emacs-bui)
2165 ("magit-popup" ,emacs-magit-popup)))
2166 (home-page "https://notabug.org/alezost/emacs-build-farm")
2167 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2168 (description
2169 "This Emacs package provides an interface for Hydra and
2170 Cuirass (build farms used by Nix and Guix). It allows you to look at
2171 various data related to the build farm projects, jobsets, builds and
2172 evaluations. The entry point is @code{M-x build-farm} command.")
2173 (license license:gpl3+)))
2174
2175 (define-public emacs-d-mode
2176 (package
2177 (name "emacs-d-mode")
2178 (version "2.0.9")
2179 (source
2180 (origin
2181 (method git-fetch)
2182 (uri (git-reference
2183 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2184 (commit version)))
2185 (file-name (git-file-name name version))
2186 (sha256
2187 (base32 "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"))))
2188 (build-system emacs-build-system)
2189 (propagated-inputs
2190 `(("emacs-undercover" ,emacs-undercover)))
2191 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2192 (synopsis "Emacs major mode for editing D code")
2193 (description "This package provides an Emacs major mode for highlighting
2194 code written in the D programming language. This mode is currently known to
2195 work with Emacs 24 and 25.")
2196 (license license:gpl2+)))
2197
2198 (define-public emacs-extempore-mode
2199 ;; Use the latest commit at time of packaging. There are no releases or tags.
2200 (let ((commit "848ad0084f27b92d1cf98dabffbad29f959a642d")
2201 (revision "1"))
2202 (package
2203 (name "emacs-extempore-mode")
2204 (version (git-version "0.0.0" revision commit))
2205 (source
2206 (origin
2207 (method git-fetch)
2208 (uri (git-reference
2209 (url "https://github.com/extemporelang/extempore-emacs-mode.git")
2210 (commit commit)))
2211 (file-name (git-file-name name version))
2212 (sha256
2213 (base32 "00wr025php7nl33x541s9rjm99hj0jbdcmnw9ljx5hqpm04aqm7c"))))
2214 (build-system emacs-build-system)
2215 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
2216 (synopsis "Emacs major mode for Extempore source files")
2217 (description
2218 "This package provides a major mode for editing Extempore code. It can
2219 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
2220 running Extempore process, and more.")
2221 (license license:bsd-2))))
2222
2223 (define-public emacs-keyfreq
2224 (package
2225 (name "emacs-keyfreq")
2226 (version "20160516.716")
2227 (source
2228 (origin
2229 (method url-fetch)
2230 (uri (string-append "http://melpa.org/packages/keyfreq-"
2231 version ".el"))
2232 (sha256
2233 (base32
2234 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2235 (build-system emacs-build-system)
2236 (home-page "https://github.com/dacap/keyfreq")
2237 (synopsis "Track Emacs command frequencies")
2238 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2239 a command.")
2240 (license license:gpl3+)))
2241
2242 (define-public emacs-olivetti
2243 (package
2244 (name "emacs-olivetti")
2245 (version "1.8.1")
2246 (source (origin
2247 (method git-fetch)
2248 (uri (git-reference
2249 (url "https://github.com/rnkn/olivetti.git")
2250 (commit (string-append "v" version))))
2251 (file-name (git-file-name name version))
2252 (sha256
2253 (base32
2254 "1fbj9s49y5yx5i429awv9rybacfgvhwp7v5h0zw67bpgx4qs44pa"))))
2255 (build-system emacs-build-system)
2256 (home-page "https://github.com/rnkn/olivetti")
2257 (synopsis "Emacs minor mode for a nice writing environment")
2258 (description "This package provides an Emacs minor mode that puts writing
2259 in the center.")
2260 (license license:gpl3+)))
2261
2262 (define-public emacs-undo-tree
2263 (package
2264 (name "emacs-undo-tree")
2265 (version "0.6.6")
2266 (source (origin
2267 (method git-fetch)
2268 (uri (git-reference
2269 (url "http://dr-qubit.org/git/undo-tree.git")
2270 (commit (string-append "release/" version))))
2271 (file-name (git-file-name name version))
2272 (sha256
2273 (base32
2274 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
2275 (build-system emacs-build-system)
2276 (home-page "http://www.dr-qubit.org/emacs.php")
2277 (synopsis "Treat undo history as a tree")
2278 (description "Tree-like interface to Emacs undo system, providing
2279 graphical tree presentation of all previous states of buffer that
2280 allows easily move between them.")
2281 (license license:gpl3+)))
2282
2283 (define-public emacs-s
2284 (package
2285 (name "emacs-s")
2286 (version "1.12.0")
2287 (source
2288 (origin
2289 (method git-fetch)
2290 (uri (git-reference
2291 (url "https://github.com/magnars/s.el.git")
2292 (commit version)))
2293 (file-name (git-file-name name version))
2294 (sha256
2295 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2296 (build-system emacs-build-system)
2297 (arguments
2298 `(#:tests? #t
2299 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2300 #:test-command '("./run-tests.sh")))
2301 (home-page "https://github.com/magnars/s.el")
2302 (synopsis "Emacs string manipulation library")
2303 (description "This package provides an Emacs library for manipulating
2304 strings.")
2305 (license license:gpl3+)))
2306
2307 (define-public emacs-symon
2308 (package
2309 (name "emacs-symon")
2310 (version "20160630")
2311 (source
2312 (origin
2313 (method git-fetch)
2314 (uri (git-reference
2315 (url "https://github.com/zk-phi/symon.git")
2316 (commit version)))
2317 (file-name (git-file-name name version))
2318 (sha256
2319 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2320 (build-system emacs-build-system)
2321 (home-page "https://github.com/zk-phi/symon")
2322 (synopsis "Tiny graphical system monitor")
2323 (description
2324 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2325 (license license:gpl2+)))
2326
2327 (define-public emacs-sx
2328 (let ((version "20180212")
2329 (revision "1")
2330 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2331 (package
2332 (name "emacs-sx")
2333 (version (git-version version revision commit))
2334 (source
2335 (origin
2336 (method git-fetch)
2337 (uri (git-reference
2338 (url "https://github.com/vermiculus/sx.el")
2339 (commit commit)))
2340 (file-name (git-file-name name version))
2341 (sha256
2342 (base32
2343 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2344 (build-system emacs-build-system)
2345 (propagated-inputs
2346 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2347 (home-page "https://github.com/vermiculus/sx.el")
2348 (synopsis "Emacs StackExchange client")
2349 (description
2350 "Emacs StackExchange client. Ask and answer questions on
2351 Stack Overflow, Super User, and other StackExchange sites.")
2352 (license license:gpl3+))))
2353
2354 (define-public emacs-f
2355 (package
2356 (name "emacs-f")
2357 (version "0.20.0")
2358 (source (origin
2359 (method git-fetch)
2360 (uri (git-reference
2361 (url "https://github.com/rejeep/f.el.git")
2362 (commit (string-append "v" version))))
2363 (file-name (git-file-name name version))
2364 (sha256
2365 (base32
2366 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2367 (build-system emacs-build-system)
2368 (propagated-inputs
2369 `(("emacs-s" ,emacs-s)
2370 ("emacs-dash" ,emacs-dash)))
2371 (home-page "https://github.com/rejeep/f.el")
2372 (synopsis "Emacs API for working with files and directories")
2373 (description "This package provides an Emacs library for working with
2374 files and directories.")
2375 (license license:gpl3+)))
2376
2377 (define-public emacs-fringe-helper
2378 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
2379 (revision "1"))
2380 (package
2381 (name "emacs-fringe-helper")
2382 (version (git-version "1.0.1" revision commit))
2383 (source
2384 (origin
2385 (method git-fetch)
2386 (uri (git-reference
2387 (url "https://github.com/nschum/fringe-helper.el.git")
2388 (commit commit)))
2389 (file-name (git-file-name name version))
2390 (sha256
2391 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
2392 (build-system emacs-build-system)
2393 (arguments
2394 `(#:tests? #t
2395 #:test-command '("emacs" "--batch"
2396 "-l" "tests.el"
2397 "-f" "ert-run-tests-batch-and-exit")))
2398 (home-page "https://github.com/nschum/fringe-helper.el")
2399 (synopsis "Helper functions for fringe bitmaps")
2400 (description
2401 "This package allows fringe bitmaps to be defined with a visual string
2402 representation.")
2403 (license license:gpl2+))))
2404
2405 (define-public emacs-git-gutter
2406 (package
2407 (name "emacs-git-gutter")
2408 (version "0.90")
2409 (source
2410 (origin
2411 (method git-fetch)
2412 (uri (git-reference
2413 (url "https://github.com/syohex/emacs-git-gutter.git")
2414 (commit version)))
2415 (file-name (git-file-name name version))
2416 (sha256
2417 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2418 (build-system emacs-build-system)
2419 (home-page "https://github.com/syohex/emacs-git-gutter")
2420 (synopsis "See and manage hunks of text in a version control system")
2421 (description
2422 "This package is an Emacs minor mode for displaying and interacting with
2423 hunks of text managed in a version control system. Added modified and deleted
2424 areas can be indicated with symbols on the edge of the buffer, and commands
2425 can be used to move between and perform actions on these hunks.
2426
2427 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2428 display and behaviour is easily customisable.")
2429 (license license:gpl3+)))
2430
2431 (define-public emacs-git-gutter-fringe
2432 (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
2433 (revision "1"))
2434 (package
2435 (name "emacs-git-gutter-fringe")
2436 (version (git-version "0.23" revision commit))
2437 (source
2438 (origin
2439 (method git-fetch)
2440 (uri (git-reference
2441 (url "https://github.com/syohex/git-gutter-fringe.git")
2442 (commit commit)))
2443 (file-name (git-file-name name version))
2444 (sha256
2445 (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
2446 (build-system emacs-build-system)
2447 (propagated-inputs
2448 `(("emacs-git-gutter" ,emacs-git-gutter)
2449 ("emacs-fringe-helper" ,emacs-fringe-helper)))
2450 (home-page "https://github.com/syohex/git-gutter-fringe")
2451 (synopsis "See and manage hunks of text in a version control system")
2452 (description
2453 "This package extends @code{git-gutter} to use the fringe area of a
2454 window.")
2455 (license license:gpl3+))))
2456
2457 (define-public emacs-git-link
2458 (package
2459 (name "emacs-git-link")
2460 (version "0.7.5")
2461 (source
2462 (origin
2463 (method git-fetch)
2464 (uri (git-reference
2465 (url "https://github.com/sshaw/git-link.git")
2466 (commit (string-append "v" version))))
2467 (file-name (git-file-name name version))
2468 (sha256
2469 (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
2470 (build-system emacs-build-system)
2471 (arguments
2472 `(#:tests? #t
2473 #:test-command '("make" "test")))
2474 (home-page "https://github.com/sshaw/git-link")
2475 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
2476 (description
2477 "@code{git-link} returns the URL for the current buffer's file location
2478 at the current line number or active region. @code{git-link-commit} returns
2479 the URL for a commit. URLs are added to the kill ring.")
2480 (license license:gpl3+)))
2481
2482 (define-public emacs-apheleia
2483 (package
2484 (name "emacs-apheleia")
2485 (version "1.0")
2486 (source
2487 (origin
2488 (method git-fetch)
2489 (uri (git-reference
2490 (url "https://github.com/raxod502/apheleia.git")
2491 (commit (string-append "v" version))))
2492 (file-name (git-file-name name version))
2493 (sha256
2494 (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
2495 (build-system emacs-build-system)
2496 (home-page "https://github.com/raxod502/apheleia")
2497 (synopsis "Reformat buffer stably")
2498 (description
2499 "This package allows for a buffer to be reformatted without moving point,
2500 so that running a formatting tool like @code{Prettier} or @code{Black} upon
2501 saving won't move point back to the beginning of the buffer.")
2502 (license license:gpl3+)))
2503
2504 (define-public emacs-git-timemachine
2505 (package
2506 (name "emacs-git-timemachine")
2507 (version "4.11")
2508 (source
2509 (origin
2510 (method git-fetch)
2511 (uri (git-reference
2512 (url "https://gitlab.com/pidu/git-timemachine.git")
2513 (commit version)))
2514 (file-name (git-file-name name version))
2515 (sha256
2516 (base32
2517 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
2518 (build-system emacs-build-system)
2519 (propagated-inputs
2520 `(("emacs-transient" ,emacs-transient)))
2521 (home-page "https://gitlab.com/pidu/git-timemachine")
2522 (synopsis "Step through historic versions of Git-controlled files")
2523 (description "This package enables you to step through historic versions
2524 of files under Git version control from within Emacs.")
2525 (license license:gpl3+)))
2526
2527 (define-public emacs-minitest
2528 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2529 (revision "1"))
2530 (package
2531 (name "emacs-minitest")
2532 (version (git-version "0.8.0" revision commit))
2533 (source (origin
2534 (method git-fetch)
2535 (uri (git-reference
2536 (url "https://github.com/arthurnn/minitest-emacs")
2537 (commit commit)))
2538 (file-name (git-file-name name commit))
2539 (sha256
2540 (base32
2541 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2542 (build-system emacs-build-system)
2543 (arguments
2544 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2545 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2546 (propagated-inputs
2547 `(("emacs-dash" ,emacs-dash)
2548 ("emacs-f" ,emacs-f)))
2549 (home-page "https://github.com/arthurnn/minitest-emacs")
2550 (synopsis "Emacs minitest mode")
2551 (description
2552 "The minitest mode provides commands to run the tests for the current
2553 file or line, as well as rerunning the previous tests, or all the tests for a
2554 project.
2555
2556 This package also includes relevant snippets for yasnippet.")
2557 (license license:expat))))
2558
2559 (define-public emacs-el-mock
2560 (package
2561 (name "emacs-el-mock")
2562 (version "1.25.1")
2563 (source
2564 (origin
2565 (method git-fetch)
2566 (uri (git-reference
2567 (url "https://github.com/rejeep/el-mock.el.git")
2568 (commit (string-append "v" version))))
2569 (file-name (git-file-name name version))
2570 (sha256
2571 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2572 (build-system emacs-build-system)
2573 (home-page "https://github.com/rejeep/el-mock.el")
2574 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2575 (description
2576 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2577 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2578 Expectations, but it can be used in other contexts.")
2579 (license license:gpl3+)))
2580
2581 (define-public emacs-espuds
2582 (package
2583 (name "emacs-espuds")
2584 (version "0.3.3")
2585 (source
2586 (origin
2587 (method git-fetch)
2588 (uri (git-reference
2589 (url "https://github.com/ecukes/espuds.git")
2590 (commit (string-append "v" version))))
2591 (file-name (git-file-name name version))
2592 (sha256
2593 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2594 (build-system emacs-build-system)
2595 (propagated-inputs
2596 `(("emacs-s" ,emacs-s)
2597 ("emacs-dash" ,emacs-dash)
2598 ("emacs-f" ,emacs-f)))
2599 (home-page "https://github.com/ecukes/espuds")
2600 (synopsis "Common step definitions for Ecukes")
2601 (description "Espuds is a collection of the most commonly used step
2602 definitions for testing with the Ecukes framework.")
2603 (license license:gpl3+)))
2604
2605 (define-public emacs-spark
2606 (let ((version "20160503") ; no proper tag, use date of commit
2607 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2608 (revision "1"))
2609 (package
2610 (name "emacs-spark")
2611 (version (git-version version revision commit))
2612 (source
2613 (origin
2614 (method git-fetch)
2615 (uri (git-reference
2616 (url "https://github.com/alvinfrancis/spark.git")
2617 (commit commit)))
2618 (file-name (git-file-name name version))
2619 (sha256
2620 (base32
2621 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2622 (build-system emacs-build-system)
2623 (home-page "https://github.com/alvinfrancis/spark")
2624 (synopsis "Sparkline generation library for Emacs Lisp")
2625 (description "@code{emacs-spark} is a sparkline generation library for
2626 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2627 port of @code{cl-spark} to Emacs Lisp.")
2628 (license license:expat))))
2629
2630 (define-public emacs-es-mode
2631 (package
2632 (name "emacs-es-mode")
2633 (version "4.3.0")
2634 (source
2635 (origin
2636 (method git-fetch)
2637 (uri (git-reference
2638 (url "https://github.com/dakrone/es-mode.git")
2639 (commit version)))
2640 (file-name (git-file-name name version))
2641 (sha256
2642 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2643 (build-system emacs-build-system)
2644 (propagated-inputs
2645 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2646 ;; to be rendered incorrectly
2647 `(("emacs-dash" ,emacs-dash)
2648 ("emacs-org" ,emacs-org)
2649 ("emacs-spark" ,emacs-spark)))
2650 (home-page "https://github.com/dakrone/es-mode")
2651 (synopsis "Major mode for editing Elasticsearch queries")
2652 (description "@code{es-mode} includes highlighting, completion and
2653 indentation support for Elasticsearch queries. Also supported are
2654 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2655 be processed through @code{jq}, or in the case of aggregations, can be
2656 rendered in to a table. In addition, there is an @code{es-command-center}
2657 mode, which displays information about Elasticsearch clusters.")
2658 (license license:gpl3+)))
2659
2660 (define-public emacs-expand-region
2661 (package
2662 (name "emacs-expand-region")
2663 (version "0.11.0")
2664 (source
2665 (origin
2666 (method git-fetch)
2667 (uri (git-reference
2668 (url "https://github.com/magnars/expand-region.el.git")
2669 (commit version)))
2670 (file-name (git-file-name name version))
2671 (sha256
2672 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2673 (build-system emacs-build-system)
2674 (home-page "https://github.com/magnars/expand-region.el")
2675 (synopsis "Increase selected region by semantic units")
2676 (description
2677 "Expand region increases the selected region by semantic units. Just
2678 keep pressing the key until it selects what you want. There's also
2679 @code{er/contract-region} if you expand too far.")
2680 (license license:gpl3+)))
2681
2682 (define-public emacs-fill-column-indicator
2683 (package
2684 (name "emacs-fill-column-indicator")
2685 (version "1.90")
2686 (source
2687 (origin
2688 (method git-fetch)
2689 (uri (git-reference
2690 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2691 (commit version)))
2692 (file-name (git-file-name name version))
2693 (sha256
2694 (base32 "0snjznxdwwfdgccdcvrnk467416r244r2r5qcm2sga8l0ha9gw9z"))))
2695 (build-system emacs-build-system)
2696 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2697 (synopsis "Graphically indicate the fill column")
2698 (description
2699 "Fill-column-indicator graphically indicates the location of the fill
2700 column by drawing a thin line down the length of the editing window.")
2701 (license license:gpl3+)))
2702
2703 (define-public emacs-grep-a-lot
2704 (package
2705 (name "emacs-grep-a-lot")
2706 (version "1.0.7")
2707 (source
2708 (origin
2709 (method git-fetch)
2710 (uri (git-reference
2711 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2712 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2713 (file-name (git-file-name name version))
2714 (sha256
2715 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2716 (build-system emacs-build-system)
2717 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2718 (synopsis "Enables multiple grep buffers in Emacs")
2719 (description
2720 "This Emacs package allows managing multiple grep buffers.")
2721 (license license:gpl3+)))
2722
2723 (define-public emacs-inf-ruby
2724 (package
2725 (name "emacs-inf-ruby")
2726 (version "2.5.2")
2727 (source
2728 (origin
2729 (method git-fetch)
2730 (uri (git-reference
2731 (url "https://github.com/nonsequitur/inf-ruby.git")
2732 (commit version)))
2733 (file-name (git-file-name name version))
2734 (sha256
2735 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
2736 (build-system emacs-build-system)
2737 (home-page "https://github.com/nonsequitur/inf-ruby")
2738 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2739 (description
2740 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2741 for easy interaction with a ruby subprocess. Features include support for
2742 detecting specific uses of Ruby, e.g. when using rails, and using a
2743 appropriate console.")
2744 (license license:gpl3+)))
2745
2746 (define-public emacs-znc
2747 (package
2748 (name "emacs-znc")
2749 (version "0.0.2")
2750 (source
2751 (origin
2752 (method url-fetch)
2753 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2754 version ".el"))
2755 (sha256
2756 (base32
2757 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2758 (build-system emacs-build-system)
2759 (home-page "https://github.com/sshirokov/ZNC.el")
2760 (synopsis "Make ERC and ZNC get along better")
2761 (description
2762 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2763 IRC bouncer with ERC.")
2764 (license license:expat)))
2765
2766 (define-public emacs-shut-up
2767 (package
2768 (name "emacs-shut-up")
2769 (version "0.3.2")
2770 (source
2771 (origin
2772 (method git-fetch)
2773 (uri (git-reference
2774 (url "https://github.com/cask/shut-up.git")
2775 (commit (string-append "v" version))))
2776 (file-name (git-file-name name version))
2777 (sha256
2778 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
2779 (build-system emacs-build-system)
2780 (home-page "https://github.com/cask/shut-up")
2781 (synopsis "Silence Emacs")
2782 (description "This package silences most output of Emacs when running an
2783 Emacs shell script.")
2784 (license license:expat)))
2785
2786 (define-public emacs-undercover
2787 (package
2788 (name "emacs-undercover")
2789 (version "0.6.1")
2790 (source
2791 (origin
2792 (method git-fetch)
2793 (uri (git-reference
2794 (url "https://github.com/sviridov/undercover.el.git")
2795 (commit version)))
2796 (file-name (git-file-name name version))
2797 (sha256
2798 (base32 "080bmfwyfi8663y8x594770hqz7mff7zvj2v03qdfwbhdr9w9y29"))))
2799 (build-system emacs-build-system)
2800 (propagated-inputs
2801 `(("emacs-dash" ,emacs-dash)
2802 ("emacs-shut-up" ,emacs-shut-up)))
2803 (home-page "https://github.com/sviridov/undercover.el")
2804 (synopsis "Test coverage library for Emacs Lisp")
2805 (description
2806 "Undercover is a test coverage library for software written in Emacs
2807 Lisp.")
2808 (license license:expat)))
2809
2810 (define-public emacs-paren-face
2811 (package
2812 (name "emacs-paren-face")
2813 (version "1.0.4")
2814 (source
2815 (origin
2816 (method git-fetch)
2817 (uri (git-reference
2818 (url "https://github.com/tarsius/paren-face.git")
2819 (commit version)))
2820 (file-name (git-file-name name version))
2821 (sha256
2822 (base32
2823 "1cr0vnm57lxs48z17ddcv7qlfvks7wdsp01zsw0c7i3h5ajl8myp"))))
2824 (build-system emacs-build-system)
2825 (home-page "https://github.com/tarsius/paren-face")
2826 (synopsis "Face for parentheses in lisp modes")
2827 (description
2828 "This library defines a face named @code{parenthesis} used just for
2829 parentheses. The intended purpose of this face is to make parentheses less
2830 visible in Lisp code by dimming them. Lispers probably don't need to be
2831 constantly made aware of the existence of the parentheses. Dimming them might
2832 be even more useful for people new to lisp who have not yet learned to
2833 subconsciously blend out the parentheses.")
2834 (license license:gpl3+)))
2835
2836 (define-public emacs-page-break-lines
2837 (package
2838 (name "emacs-page-break-lines")
2839 (version "0.11")
2840 (source
2841 (origin
2842 (method git-fetch)
2843 (uri (git-reference
2844 (url "https://github.com/purcell/page-break-lines.git")
2845 (commit version)))
2846 (file-name (git-file-name name version))
2847 (sha256
2848 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
2849 (build-system emacs-build-system)
2850 (home-page "https://github.com/purcell/page-break-lines")
2851 (synopsis "Display page breaks as tidy horizontal lines")
2852 (description
2853 "This library provides a global mode which displays form feed characters
2854 as horizontal rules.")
2855 (license license:gpl3+)))
2856
2857 (define-public emacs-simple-httpd
2858 (package
2859 (name "emacs-simple-httpd")
2860 (version "1.5.1")
2861 (source
2862 (origin
2863 (method git-fetch)
2864 (uri (git-reference
2865 (url "https://github.com/skeeto/emacs-web-server.git")
2866 (commit version)))
2867 (file-name (git-file-name name version))
2868 (sha256
2869 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
2870 (build-system emacs-build-system)
2871 (home-page "https://github.com/skeeto/emacs-web-server")
2872 (synopsis "HTTP server in pure Emacs Lisp")
2873 (description
2874 "This package provides a simple HTTP server written in Emacs Lisp to
2875 serve files and directory listings.")
2876 (license license:unlicense)))
2877
2878 (define-public emacs-skewer-mode
2879 (package
2880 (name "emacs-skewer-mode")
2881 (version "1.8.0")
2882 (source
2883 (origin
2884 (method git-fetch)
2885 (uri (git-reference
2886 (url "https://github.com/skeeto/skewer-mode.git")
2887 (commit version)))
2888 (file-name (git-file-name name version))
2889 (sha256
2890 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
2891 (build-system emacs-build-system)
2892 (propagated-inputs
2893 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2894 ("emacs-js2-mode" ,emacs-js2-mode)))
2895 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2896 (home-page "https://github.com/skeeto/skewer-mode")
2897 (synopsis "Live web development in Emacs")
2898 (description
2899 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2900 a web browser. Expressions are sent on-the-fly from an editing buffer to be
2901 evaluated in the browser, just like Emacs does with an inferior Lisp process
2902 in Lisp modes.")
2903 (license license:unlicense)))
2904
2905 (define-public emacs-litable
2906 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2907 (package
2908 (name "emacs-litable")
2909 (version (git-version "0.1" "0" commit))
2910 (source (origin
2911 (method git-fetch)
2912 (uri (git-reference
2913 (url "https://github.com/Fuco1/litable.git")
2914 (commit commit)))
2915 (file-name (git-file-name name version))
2916 (sha256
2917 (base32
2918 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2919 (build-system emacs-build-system)
2920 (propagated-inputs
2921 `(("emacs-dash" ,emacs-dash)))
2922 (home-page "https://github.com/Fuco1/litable/")
2923 (synopsis "Dynamic evaluation replacement with Emacs")
2924 (description "This package provides dynamic evaluation in Emacs.")
2925 (license license:gpl3+))))
2926
2927 (define-public emacs-string-inflection
2928 (package
2929 (name "emacs-string-inflection")
2930 (version "1.0.6")
2931 (source (origin
2932 (method git-fetch)
2933 (uri (git-reference
2934 (url "https://github.com/akicho8/string-inflection")
2935 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2936 (file-name (git-file-name name version))
2937 (sha256
2938 (base32
2939 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2940 (build-system emacs-build-system)
2941 (native-inputs
2942 `(("ert-runner" ,emacs-ert-runner)))
2943 (arguments
2944 `(#:tests? #t
2945 #:test-command '("ert-runner")))
2946 (home-page "https://github.com/akicho8/string-inflection")
2947 (synopsis "Convert symbol names between different naming conventions")
2948 (description
2949 "This Emacs package provides convenient methods for manipulating the
2950 naming style of a symbol. It supports different naming conventions such as:
2951
2952 @enumerate
2953 @item camel case
2954 @item Pascal case
2955 @item all upper case
2956 @item lower case separated by underscore
2957 @item etc...
2958 @end enumerate\n")
2959 (license license:gpl2+)))
2960
2961 (define-public emacs-stripe-buffer
2962 (package
2963 (name "emacs-stripe-buffer")
2964 (version "0.2.5")
2965 (source
2966 (origin
2967 (method git-fetch)
2968 (uri (git-reference
2969 (url "https://github.com/sabof/stripe-buffer.git")
2970 (commit version)))
2971 (file-name (git-file-name name version))
2972 (sha256
2973 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
2974 (build-system emacs-build-system)
2975 (home-page "https://github.com/sabof/stripe-buffer/")
2976 (synopsis "Add stripes to list buffers")
2977 (description
2978 "This Emacs package adds faces to add stripes to list buffers and org
2979 tables.")
2980 (license license:gpl2+)))
2981
2982 (define-public emacs-org-rich-yank
2983 (package
2984 (name "emacs-org-rich-yank")
2985 (version "0.2.1")
2986 (source
2987 (origin
2988 (method git-fetch)
2989 (uri (git-reference
2990 (url "https://github.com/unhammer/org-rich-yank.git")
2991 (commit (string-append "v" version))))
2992 (file-name (git-file-name name version))
2993 (sha256
2994 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
2995 (build-system emacs-build-system)
2996 (home-page "https://github.com/unhammer/org-rich-yank")
2997 (synopsis "Automatically surround source code pasted into Org with
2998 @code{#+BEGIN_SRC} blocks")
2999 (description
3000 "This package provides a utility function for Org buffers that makes a
3001 @code{_SRC} block with the appropriate language annotation for code that has
3002 been copied from an Emacs major mode.")
3003 (license license:gpl2+)))
3004
3005 (define-public emacs-ob-restclient
3006 (let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
3007 (package
3008 (name "emacs-ob-restclient")
3009 (version (git-version "0.02" "1" commit))
3010 (source
3011 (origin
3012 (method git-fetch)
3013 (uri (git-reference
3014 (url "https://github.com/alf/ob-restclient.el.git")
3015 (commit commit)))
3016 (file-name (git-file-name name version))
3017 (sha256
3018 (base32 "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"))))
3019 (propagated-inputs
3020 `(("emacs-restclient" ,emacs-restclient)))
3021 (build-system emacs-build-system)
3022 (home-page "https://github.com/alf/ob-restclient.el")
3023 (synopsis "Org-babel functionality for @code{restclient-mode}")
3024 (description
3025 "This package integrates @code{restclient-mode} with Org.")
3026 (license license:gpl3+))))
3027
3028 (define-public emacs-org-now
3029 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
3030 (package
3031 (name "emacs-org-now")
3032 (version (git-version "0.1-pre" "1" commit))
3033 (source
3034 (origin
3035 (method git-fetch)
3036 (uri (git-reference
3037 (url "https://github.com/alphapapa/org-now.git")
3038 (commit commit)))
3039 (file-name (git-file-name name version))
3040 (sha256
3041 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
3042 (propagated-inputs
3043 `(("emacs-dash" ,emacs-dash)))
3044 (build-system emacs-build-system)
3045 (home-page "https://github.com/alphapapa/org-now")
3046 (synopsis "Show current Org tasks in a sidebar")
3047 (description
3048 "This package provides commands to show Org headings in a sidebar
3049 window while working on them. After defining one heading as the \"now\"
3050 heading, other headings can be refiled to it with one command, and back to
3051 their original location with another.")
3052 (license license:gpl3+))))
3053
3054 (define-public emacs-rich-minority
3055 (package
3056 (name "emacs-rich-minority")
3057 (version "1.0.3")
3058 (source
3059 (origin
3060 (method git-fetch)
3061 (uri (git-reference
3062 (url "https://github.com/Malabarba/rich-minority.git")
3063 (commit version)))
3064 (file-name (git-file-name name version))
3065 (sha256
3066 (base32
3067 "1kn7c9qr9ykj68iqffzzmjsr6aazwac8cxb7j960sjb282rq0yyj"))))
3068 (build-system emacs-build-system)
3069 (home-page "https://github.com/Malabarba/rich-minority")
3070 (synopsis "Clean-up and beautify the list of minor modes")
3071 (description
3072 "This Emacs package hides and/or highlights minor modes in the
3073 mode-line.")
3074 (license license:gpl2+)))
3075
3076 (define-public emacs-robe
3077 (package
3078 (name "emacs-robe")
3079 (version "0.8.2")
3080 (source
3081 (origin
3082 (method git-fetch)
3083 (uri (git-reference
3084 (url "https://github.com/dgutov/robe.git")
3085 (commit version)))
3086 (file-name (git-file-name name version))
3087 (sha256
3088 (base32 "0qw18wi54yg971n4wnjqkd8lqj5lbs9ra8bvmngif2bzhqlfdsbn"))))
3089 (build-system emacs-build-system)
3090 (arguments
3091 '(#:include (cons "^lib\\/" %default-include)))
3092 (propagated-inputs
3093 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
3094 (home-page "https://github.com/dgutov/robe")
3095 (synopsis "Ruby code assistance tool for Emacs")
3096 (description
3097 "Robe can provide information on loaded classes and modules in Ruby code,
3098 as well as where methods are defined. This allows the user to jump to method
3099 definitions, modules and classes, display method documentation and provide
3100 method and constant name completion.")
3101 (license license:gpl3+)))
3102
3103 (define-public emacs-robot-mode
3104 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
3105 (revision "1"))
3106 (package
3107 (name "emacs-robot-mode")
3108 (version (git-version "0.0.0" revision commit))
3109 (source (origin
3110 (method git-fetch)
3111 (uri (git-reference
3112 ;; A better maintained fork of robot-mode.
3113 (url "https://github.com/jvalkeejarvi/robot-mode.git")
3114 (commit commit)))
3115 (file-name (git-file-name name version))
3116 (sha256
3117 (base32
3118 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
3119 (build-system emacs-build-system)
3120 (propagated-inputs `(("emacs-s" ,emacs-s)))
3121 (home-page "https://github.com/jvalkeejarvi/robot-mode")
3122 (synopsis "Emacs mode for Robot Framework")
3123 (description "This major mode facilitates editing Robot Framework source
3124 files with features such as syntax highlighting, comments, finding keywords,
3125 completing keywords and smart indentation.")
3126 (license license:gpl3+))))
3127
3128 (define-public emacs-rspec
3129 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
3130 (revision "1"))
3131 (package
3132 (name "emacs-rspec")
3133 (version (git-version "1.11" revision commit))
3134 (source
3135 (origin
3136 (method git-fetch)
3137 (uri (git-reference
3138 (url "https://github.com/pezra/rspec-mode.git")
3139 (commit commit)))
3140 (file-name (git-file-name name version))
3141 (sha256
3142 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
3143 (build-system emacs-build-system)
3144 (arguments
3145 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
3146 #:tests? #t
3147 #:test-command '("make" "test")))
3148 (home-page "https://github.com/pezra/rspec-mode")
3149 (synopsis "Provides a rspec mode for working with RSpec")
3150 (description
3151 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
3152 verify the spec associated with the current buffer, or entire project, as well
3153 as moving between the spec files, and corresponding code files.
3154
3155 Also included are keybindings for spec files and Dired buffers, as well as
3156 snippets for yasnippet.")
3157 (license license:gpl3+))))
3158
3159 (define-public emacs-smart-mode-line
3160 (package
3161 (name "emacs-smart-mode-line")
3162 (version "2.13")
3163 (source
3164 (origin
3165 (method git-fetch)
3166 (uri (git-reference
3167 (url "https://github.com/Malabarba/smart-mode-line.git")
3168 (commit version)))
3169 (file-name (git-file-name name version))
3170 (sha256
3171 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
3172 (build-system emacs-build-system)
3173 (propagated-inputs
3174 `(("emacs-rich-minority" ,emacs-rich-minority)))
3175 (home-page "https://github.com/Malabarba/smart-mode-line")
3176 (synopsis "Color-coded smart mode-line")
3177 (description
3178 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
3179 read from small to large monitors by using colors, a prefix feature, and smart
3180 truncation.")
3181 (license license:gpl2+)))
3182
3183 (define-public emacs-sr-speedbar
3184 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
3185 (revision "0"))
3186 (package
3187 (name "emacs-sr-speedbar")
3188 (version (git-version "20161025" revision commit))
3189 (source
3190 (origin
3191 (method git-fetch)
3192 (uri (git-reference
3193 (url "https://github.com/emacsorphanage/sr-speedbar.git")
3194 (commit commit)))
3195 (file-name (git-file-name name version))
3196 (sha256
3197 (base32
3198 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
3199 (build-system emacs-build-system)
3200 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
3201 (synopsis "Same frame Emacs @code{speedbar}")
3202 (description
3203 "This Emacs package allows you to show @code{M-x speedbar} in the
3204 same frame (in an extra window). You can customize the initial width of
3205 the speedbar window.")
3206 (license license:gpl3+))))
3207
3208 (define-public emacs-shell-switcher
3209 (package
3210 (name "emacs-shell-switcher")
3211 (version "1.0.1")
3212 (source
3213 (origin
3214 (method git-fetch)
3215 (uri (git-reference
3216 (url "https://github.com/DamienCassou/shell-switcher.git")
3217 (commit (string-append "v" version))))
3218 (file-name (git-file-name name version))
3219 (sha256
3220 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
3221 (build-system emacs-build-system)
3222 (home-page "https://github.com/DamienCassou/shell-switcher")
3223 (synopsis "Provide fast switching between shell buffers")
3224 (description
3225 "This package provides commands to quickly switch between shell buffers.")
3226 (license license:gpl3+)))
3227
3228 (define-public emacs-names
3229 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
3230 (version "20151201.0")
3231 (revision "8"))
3232 (package
3233 (name "emacs-names")
3234 (version (git-version version revision commit))
3235 (source
3236 (origin
3237 (method git-fetch)
3238 (uri (git-reference
3239 (url "https://github.com/Malabarba/names")
3240 (commit commit)))
3241 (file-name (git-file-name name version))
3242 (sha256
3243 (base32
3244 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
3245 (build-system emacs-build-system)
3246 (home-page "https://github.com/Malabarba/names/")
3247 (synopsis "Namespace implementation for Emacs Lisp")
3248 (description
3249 "This package provides a macro that writes your namespaces for you.")
3250 (license license:gpl3+))))
3251
3252 (define-public emacs-evil-textobj-syntax
3253 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
3254 (version "0")
3255 (revision "1"))
3256 (package
3257 (name "emacs-evil-textobj-syntax")
3258 (version (git-version version revision commit))
3259 (source
3260 (origin
3261 (method git-fetch)
3262 (uri (git-reference
3263 (url "https://github.com/laishulu/evil-textobj-syntax/")
3264 (commit commit)))
3265 (file-name (git-file-name name version))
3266 (sha256
3267 (base32
3268 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
3269 (build-system emacs-build-system)
3270 (propagated-inputs `(("emacs-evil" ,emacs-evil)
3271 ("emacs-names" ,emacs-names)))
3272 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
3273 (synopsis "Text objects based on syntax highlighting")
3274 (description
3275 "This package provides text objects for @code{evil-mode} with
3276 boundaries defined by syntax highlighting.")
3277 (license license:gpl3+))))
3278
3279 (define-public emacs-flycheck-flow
3280 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
3281 (version "1.1")
3282 (revision "1"))
3283 (package
3284 (name "emacs-flycheck-flow")
3285 (version (git-version version revision commit))
3286 (source
3287 (origin
3288 (method git-fetch)
3289 (uri (git-reference
3290 (url "https://github.com/lbolla/emacs-flycheck-flow")
3291 (commit commit)))
3292 (file-name (git-file-name name version))
3293 (sha256
3294 (base32
3295 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
3296 (build-system emacs-build-system)
3297 (propagated-inputs
3298 `(("emacs-flycheck" ,emacs-flycheck)))
3299 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
3300 (synopsis "Flow support for @code{flycheck-mode}")
3301 (description
3302 "This package allows @code{flycheck-mode} to provide syntax-checking
3303 for Flow files.")
3304 (license license:gpl3+))))
3305
3306 (define-public emacs-flycheck-grammalecte
3307 (package
3308 (name "emacs-flycheck-grammalecte")
3309 (version "0.9")
3310 (source (origin
3311 (method url-fetch)
3312 (uri (string-append "https://git.deparis.io/"
3313 "flycheck-grammalecte/snapshot/"
3314 "flycheck-grammalecte-" version ".tar.xz"))
3315 (sha256
3316 (base32
3317 "0wjm9xyra870pci4bcrbnc9x66x18mi7iz08rkxa4clxv28xzryb"))))
3318 (build-system emacs-build-system)
3319 (arguments
3320 `(#:include '("\\.(el|py)$")
3321 #:phases
3322 (modify-phases %standard-phases
3323 (add-after 'unpack 'fix-python
3324 ;; Hardcode python3 executable in the Emacs library.
3325 (lambda* (#:key inputs #:allow-other-keys)
3326 (let ((python3 (string-append (assoc-ref inputs "python")
3327 "/bin/python3")))
3328 (substitute* "flycheck-grammalecte.el"
3329 (("python3") python3))
3330 #t)))
3331 (add-after 'install 'link-to-grammalecte
3332 ;; The package expects grammalecte to be in a sub-directory.
3333 ;; Symlink it there from the store.
3334 (lambda* (#:key inputs outputs #:allow-other-keys)
3335 (let ((grammalecte (assoc-ref inputs "grammalecte"))
3336 (out (assoc-ref outputs "out"))
3337 (version ,(version-major+minor (package-version python))))
3338 (with-directory-excursion
3339 (string-append out
3340 "/share/emacs/site-lisp/guix.d/"
3341 "flycheck-grammalecte-" ,version)
3342 (symlink (string-append grammalecte "/lib/"
3343 "python" version "/site-packages/"
3344 "grammalecte")
3345 "grammalecte"))
3346 #t))))))
3347 (inputs
3348 `(("grammalecte" ,grammalecte)
3349 ("python" ,python)))
3350 (propagated-inputs
3351 `(("emacs-flycheck" ,emacs-flycheck)))
3352 (home-page "https://git.deparis.io/flycheck-grammalecte/")
3353 (synopsis "Integrate Grammalecte with Flycheck")
3354 (description "Integrate the French grammar and typography checker
3355 Grammalecte with Flycheck to automatically look for mistakes in your writings.
3356 It also provides an easy way to find synonyms and antonyms for a given
3357 word (to avoid repetitions for example).")
3358 (license license:gpl3+)))
3359
3360 (define-public emacs-elisp-demos
3361 (package
3362 (name "emacs-elisp-demos")
3363 (version "2019.12.01")
3364 (source
3365 (origin
3366 (method git-fetch)
3367 (uri (git-reference
3368 (url "https://github.com/xuchunyang/elisp-demos")
3369 (commit version)))
3370 (file-name (git-file-name name version))
3371 (sha256
3372 (base32
3373 "097d8xhvq0770z96wlhiv4gz98cq89pwx5fa42zpfh4p85qj4q9z"))))
3374 (build-system emacs-build-system)
3375 (arguments
3376 `(#:include '("\\.el$" "\\.org$")
3377 #:tests? #t
3378 #:test-command '("make" "test")))
3379 (home-page "https://github.com/xuchunyang/elisp-demos/")
3380 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3381 (description
3382 "This package injects example uses of Elisp functions into their
3383 respective @code{*Help*} buffers.")
3384 (license license:gpl3+)))
3385
3386 (define-public emacs-docker-compose-mode
3387 (package
3388 (name "emacs-docker-compose-mode")
3389 (version "1.1.0")
3390 (source
3391 (origin
3392 (method git-fetch)
3393 (uri (git-reference
3394 (url "https://github.com/meqif/docker-compose-mode")
3395 (commit version)))
3396 (file-name (git-file-name name version))
3397 (sha256
3398 (base32
3399 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3400 (build-system emacs-build-system)
3401 (propagated-inputs
3402 `(("emacs-dash" ,emacs-dash)
3403 ("emacs-f" ,emacs-f)))
3404 (home-page "https://github.com/meqif/docker-compose-mode/")
3405 (synopsis "Major mode for editing @file{docker-compose} files")
3406 (description
3407 "This is a major mode for @file{docker-compose} files that provides
3408 completion of relevant keywords.")
3409 (license license:expat)))
3410
3411 (define-public emacs-sudo-edit
3412 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3413 (revision "6"))
3414 (package
3415 (name "emacs-sudo-edit")
3416 (version (git-version "0.1.0" revision commit))
3417 (source
3418 (origin
3419 (method git-fetch)
3420 (uri (git-reference
3421 (url "https://github.com/nflath/sudo-edit")
3422 (commit commit)))
3423 (file-name (git-file-name name version))
3424 (sha256
3425 (base32
3426 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3427 (build-system emacs-build-system)
3428 (native-inputs
3429 `(("emacs-undercover" ,emacs-undercover)))
3430 (arguments
3431 `(#:phases
3432 (modify-phases %standard-phases
3433 (add-before 'check 'fix-makefile
3434 (lambda _
3435 (substitute* "Makefile"
3436 (("\\$\\(CASK\\) exec ") ""))
3437 #t)))
3438 #:tests? #t
3439 #:test-command '("make" "test")))
3440 (home-page "https://github.com/nflath/sudo-edit/")
3441 (synopsis "Open files as another user")
3442 (description
3443 "This package allows editing files as another user, including the root
3444 user.")
3445 (license license:gpl3+))))
3446
3447 (define-public emacs-miniedit
3448 (package
3449 (name "emacs-miniedit")
3450 (version "2.0")
3451 (source
3452 (origin
3453 (method git-fetch)
3454 (uri (git-reference
3455 (url "https://github.com/emacsmirror/miniedit")
3456 (commit version)))
3457 (file-name (git-file-name name version))
3458 (sha256
3459 (base32
3460 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3461 (build-system emacs-build-system)
3462 (home-page "https://github.com/emacsmirror/miniedit/")
3463 (synopsis "Enhanced editing for minibuffer fields")
3464 (description
3465 "This package provides a function that can be called from the
3466 minibuffer to enable editing the minibuffer input in another buffer with
3467 @code{text-mode} enabled.")
3468 (license license:gpl2+)))
3469
3470 (define-public emacs-ob-ipython
3471 (package
3472 (name "emacs-ob-ipython")
3473 (version "20150704.8807064693")
3474 (source (origin
3475 (method git-fetch)
3476 (uri (git-reference
3477 (commit "880706469338ab59b5bb7dbe8460016f89755364")
3478 (url "https://github.com/gregsexton/ob-ipython.git")))
3479 (file-name (git-file-name name version))
3480 (sha256
3481 (base32
3482 "1scf25snbds9ymagpny30ijbsg479r3nm0ih01dy4m9d0g7qryb7"))))
3483 (build-system emacs-build-system)
3484 (propagated-inputs
3485 `(("emacs-f" ,emacs-f)))
3486 (home-page "http://www.gregsexton.org")
3487 (synopsis "Org-Babel functions for IPython evaluation")
3488 (description "This package adds support to Org-Babel for evaluating Python
3489 source code using IPython.")
3490 (license license:gpl3+)))
3491
3492 (define-public emacs-debbugs
3493 (package
3494 (name "emacs-debbugs")
3495 (version "0.21")
3496 (source (origin
3497 (method url-fetch)
3498 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3499 version ".tar"))
3500 (sha256
3501 (base32
3502 "1xx1wjfpsnwx2fpydqhwy9k1b5kjk8dqbkzf8lqaj9c4rvjbn50a"))))
3503 (build-system emacs-build-system)
3504 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3505 (propagated-inputs
3506 `(("emacs-async" ,emacs-async)))
3507 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3508 (synopsis "Access the Debbugs bug tracker in Emacs")
3509 (description
3510 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3511 Tracker} from within Emacs.
3512
3513 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3514 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3515 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3516 @code{M-x debbugs-org} and related commands.
3517
3518 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3519 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3520 (license license:gpl3+)))
3521
3522 (define-public emacs-ert-expectations
3523 (package
3524 (name "emacs-ert-expectations")
3525 (version "0.2")
3526 (source
3527 (origin
3528 (method url-fetch)
3529 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3530 (sha256
3531 (base32
3532 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3533 (build-system emacs-build-system)
3534 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3535 (synopsis "Simple unit test framework for Emacs Lisp")
3536 (description "@code{emacs-ert-expectations} is a simple unit test
3537 framework for Emacs Lisp to be used with @code{ert}.")
3538 (license license:gpl3+)))
3539
3540 (define-public emacs-deferred
3541 (package
3542 (name "emacs-deferred")
3543 (version "0.5.1")
3544 (home-page "https://github.com/kiwanami/emacs-deferred")
3545 (source (origin
3546 (method git-fetch)
3547 (uri (git-reference
3548 (url home-page)
3549 (commit (string-append "v" version))))
3550 (file-name (git-file-name name version))
3551 (sha256
3552 (base32
3553 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3554 (build-system emacs-build-system)
3555 (arguments
3556 `(#:phases
3557 (modify-phases %standard-phases
3558 (add-after 'unpack 'set-shell
3559 ;; Setting the SHELL environment variable is required for the tests
3560 ;; to find sh.
3561 (lambda _
3562 (setenv "SHELL" (which "sh"))
3563 #t))
3564 (add-before 'check 'fix-makefile
3565 (lambda _
3566 (substitute* "Makefile"
3567 (("\\$\\(CASK\\) exec ") ""))
3568 #t)))
3569 #:tests? #t
3570 #:test-command '("make" "test")))
3571 (native-inputs
3572 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3573 ("emacs-undercover" ,emacs-undercover)
3574 ("ert-runner" ,emacs-ert-runner)))
3575 (synopsis "Simple asynchronous functions for Emacs Lisp")
3576 (description
3577 "The @code{deferred.el} library provides support for asynchronous tasks.
3578 The API is almost the same as that of
3579 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3580 for asynchronous tasks.")
3581 (license license:gpl3+)))
3582
3583 (define-public emacs-butler
3584 (package
3585 (name "emacs-butler")
3586 (version "0.2.4")
3587 (home-page "https://github.com/AshtonKem/Butler")
3588 (source (origin
3589 (method git-fetch)
3590 (uri (git-reference
3591 (url home-page)
3592 (commit version)))
3593 (file-name (git-file-name name version))
3594 (sha256
3595 (base32
3596 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3597 (build-system emacs-build-system)
3598 (propagated-inputs
3599 `(("emacs-deferred" ,emacs-deferred)))
3600 (synopsis "Emacs client for Jenkins")
3601 (description
3602 "Butler provides an interface to connect to Jenkins continuous
3603 integration servers. Users can specify a list of server in the
3604 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3605 view the build status of those servers' build jobs, and possibly to trigger
3606 build jobs.")
3607 (license license:gpl3+)))
3608
3609 (define-public emacs-company
3610 (package
3611 (name "emacs-company")
3612 (version "0.9.10")
3613 (source
3614 (origin
3615 (method git-fetch)
3616 (uri (git-reference
3617 (url "https://github.com/company-mode/company-mode.git")
3618 (commit version)))
3619 (file-name (git-file-name name version))
3620 (sha256
3621 (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
3622 (build-system emacs-build-system)
3623 (arguments
3624 `(#:phases
3625 (modify-phases %standard-phases
3626 (add-before 'check 'fix-bin-dir
3627 (lambda _
3628 ;; The company-files-candidates-normal-root test looks
3629 ;; for the /bin directory, but the build environment has
3630 ;; no /bin directory. Modify the test to look for the
3631 ;; /tmp directory.
3632 (substitute* "test/files-tests.el"
3633 (("/bin/") "/tmp/"))
3634 #t)))
3635 #:tests? #t
3636 #:test-command '("make" "test-batch")))
3637 (home-page "http://company-mode.github.io/")
3638 (synopsis "Modular text completion framework")
3639 (description
3640 "Company is a modular completion mechanism. Modules for retrieving
3641 completion candidates are called back-ends, modules for displaying them are
3642 front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3643 These are distributed in separate files and can be used individually.")
3644 (license license:gpl3+)))
3645
3646 (define-public emacs-irony-mode
3647 (package
3648 (name "emacs-irony-mode")
3649 (version "1.4.0")
3650 (home-page "https://github.com/Sarcasm/irony-mode")
3651 (source (origin
3652 (method git-fetch)
3653 (uri (git-reference
3654 (url (string-append home-page ".git"))
3655 (commit (string-append "v" version))))
3656 (file-name (git-file-name name version))
3657 (sha256
3658 (base32
3659 "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"))))
3660 (build-system emacs-build-system)
3661 (inputs `(("server" ,emacs-irony-mode-server)))
3662 (arguments `(#:phases
3663 (modify-phases %standard-phases
3664 (add-after 'unpack 'configure
3665 (lambda* (#:key inputs #:allow-other-keys)
3666 (chmod "irony.el" #o644)
3667 (emacs-substitute-variables "irony.el"
3668 ("irony-server-install-prefix"
3669 (assoc-ref inputs "server")))
3670 #t)))))
3671 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3672 (description "Irony-mode provides Clang-assisted syntax checking and
3673 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3674 provide syntax checking and autocompletion on compiler level which is very
3675 resistant against false positives. It also integrates well with other
3676 packages like @code{eldoc-mode} and especially @code{company-mode} as
3677 described on the homepage.")
3678 (license license:gpl3+)))
3679
3680 (define-public emacs-irony-mode-server
3681 (package (inherit emacs-irony-mode)
3682 (name "emacs-irony-mode-server")
3683 (inputs
3684 `(("clang" ,clang)))
3685 (arguments
3686 `(#:phases
3687 (modify-phases %standard-phases
3688 (replace 'configure
3689 (lambda* (#:key outputs #:allow-other-keys)
3690 (let ((out (assoc-ref outputs "out")))
3691 (invoke "cmake"
3692 "server"
3693 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3694 (build-system cmake-build-system)
3695 (synopsis "Server for the Emacs @dfn{irony mode}")))
3696
3697 (define-public emacs-company-irony
3698 (package
3699 (name "emacs-company-irony")
3700 (version "1.1.0")
3701 (source (origin
3702 (method git-fetch)
3703 (uri (git-reference
3704 (url "https://github.com/Sarcasm/company-irony.git")
3705 (commit (string-append "v" version))))
3706 (sha256 (base32
3707 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3708 (file-name (git-file-name name version))))
3709 (build-system emacs-build-system)
3710 (inputs
3711 `(("emacs-irony-mode" ,emacs-irony-mode)
3712 ("emacs-company" ,emacs-company)))
3713 (synopsis "C++ completion backend for Company using irony-mode")
3714 (description "This backend for company-mode allows for C++ code completion
3715 with irony-mode using clang-tooling.")
3716 (home-page "https://github.com/Sarcasm/company-irony")
3717 (license license:gpl3+)))
3718
3719 (define-public emacs-flycheck-irony
3720 (package
3721 (name "emacs-flycheck-irony")
3722 (version "0.1.0")
3723 (source (origin
3724 (method git-fetch)
3725 (uri (git-reference
3726 (url "https://github.com/Sarcasm/flycheck-irony.git")
3727 (commit (string-append "v" version))))
3728 (file-name (git-file-name name version))
3729 (sha256
3730 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3731 (build-system emacs-build-system)
3732 (inputs
3733 `(("irony-mode" ,emacs-irony-mode)
3734 ("flycheck-mode" ,emacs-flycheck)
3735 ("emacs-company" ,emacs-company)))
3736 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3737 (description "This package provides a frontend for Flycheck that lets
3738 irony-mode do the syntax checking.")
3739 (home-page "https://github.com/Sarcasm/flycheck-irony")
3740 (license license:gpl3+)))
3741
3742 (define-public emacs-irony-eldoc
3743 (package
3744 (name "emacs-irony-eldoc")
3745 (version (package-version emacs-irony-mode))
3746 (source
3747 (origin
3748 (method git-fetch)
3749 (uri (git-reference
3750 (url "https://github.com/ikirill/irony-eldoc.git")
3751 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3752 (file-name (git-file-name name version))
3753 (sha256
3754 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3755 (build-system emacs-build-system)
3756 (inputs
3757 `(("irony-mode" ,emacs-irony-mode)))
3758 (synopsis "Eldoc integration for irony-mode")
3759 (description "Irony-eldoc is an eldoc extension that shows documentation
3760 for the current function or variable in the minibuffer.")
3761 (home-page "https://github.com/ikirill/irony-eldoc")
3762 (license license:gpl3+)))
3763
3764 (define-public emacs-company-quickhelp
3765 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
3766 ;; so we use the latest 2.2.0 commit instead
3767 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
3768 (revision "1"))
3769 (package
3770 (name "emacs-company-quickhelp")
3771 (version (git-version "2.2.0" revision commit))
3772 (source
3773 (origin
3774 (method git-fetch)
3775 (uri (git-reference
3776 (url "https://github.com/expez/company-quickhelp.git")
3777 (commit commit)))
3778 (file-name (git-file-name name version))
3779 (sha256
3780 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
3781 (build-system emacs-build-system)
3782 (propagated-inputs
3783 `(("emacs-pos-tip" ,emacs-pos-tip)
3784 ("emacs-company" ,emacs-company)))
3785 (home-page "https://github.com/expez/company-quickhelp")
3786 (synopsis "Popup documentation for completion candidates")
3787 (description "@code{company-quickhelp} shows documentation for the
3788 completion candidate when using the Company text completion framework.")
3789 (license license:gpl3+))))
3790
3791 (define-public emacs-math-symbol-lists
3792 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
3793 (revision "1"))
3794 (package
3795 (name "emacs-math-symbol-lists")
3796 (version (git-version "1.2.1" revision commit))
3797 (source
3798 (origin
3799 (method git-fetch)
3800 (uri (git-reference
3801 (url "https://github.com/vspinu/math-symbol-lists.git")
3802 (commit commit)))
3803 (file-name (git-file-name name version))
3804 (sha256
3805 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
3806 (build-system emacs-build-system)
3807 (home-page "https://github.com/vspinu/math-symbol-lists")
3808 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
3809 (description "This is a storage package used by completion engines like
3810 @code{company-math}.")
3811 (license license:gpl3+))))
3812
3813 (define-public emacs-company-math
3814 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
3815 (revision "1"))
3816 (package
3817 (name "emacs-company-math")
3818 (version (git-version "1.3" revision commit))
3819 (source
3820 (origin
3821 (method git-fetch)
3822 (uri (git-reference
3823 (url "https://github.com/vspinu/company-math.git")
3824 (commit commit)))
3825 (file-name (git-file-name name version))
3826 (sha256
3827 (base32
3828 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
3829 (build-system emacs-build-system)
3830 (propagated-inputs
3831 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
3832 ("emacs-company" ,emacs-company)))
3833 (home-page "https://github.com/vspinu/company-math")
3834 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
3835 (description "This package provides a backend for use with
3836 @code{company-mode} allowing for completion of common math symbols.")
3837 (license license:gpl3+))))
3838
3839 (define-public emacs-compdef
3840 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
3841 (revision "2"))
3842 (package
3843 (name "emacs-compdef")
3844 (version (git-version "0.2" revision commit))
3845 (source
3846 (origin
3847 (method git-fetch)
3848 (uri (git-reference
3849 (url "https://gitlab.com/jjzmajic/compdef.git")
3850 (commit commit)))
3851 (file-name (git-file-name name version))
3852 (sha256
3853 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
3854 (build-system emacs-build-system)
3855 (home-page "https://gitlab.com/jjzmajic/compdef")
3856 (synopsis "Set local completion backends")
3857 (description "This package provides a function to cleanly set local
3858 completion backends according to mode, and integrates with
3859 @code{use-package}.")
3860 (license license:gpl3+))))
3861
3862 (define-public emacs-handle
3863 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
3864 (revision "2"))
3865 (package
3866 (name "emacs-handle")
3867 (version (git-version "0.1" revision commit))
3868 (source
3869 (origin
3870 (method git-fetch)
3871 (uri (git-reference
3872 (url "https://gitlab.com/jjzmajic/handle.git")
3873 (commit commit)))
3874 (file-name (git-file-name name version))
3875 (sha256
3876 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
3877 (build-system emacs-build-system)
3878 (propagated-inputs
3879 `(("emacs-parent-mode" ,emacs-parent-mode)))
3880 (home-page "https://gitlab.com/jjzmajic/handle")
3881 (synopsis "Handle generic functions across related major modes")
3882 (description "This package provides generic functions that specialize on
3883 major modes and intended purpose rather than on arguments. Different
3884 callables for tasks like expression evaluation, definition-jumping, and more
3885 can now be grouped accordingly and tried in sequence until one of them
3886 succeeds.")
3887 (license license:gpl3+))))
3888
3889 (define-public emacs-nswbuff
3890 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
3891 (revision "1"))
3892 (package
3893 (name "emacs-nswbuff")
3894 (version (git-version "1.0" revision commit))
3895 (source
3896 (origin
3897 (method git-fetch)
3898 (uri (git-reference
3899 (url "https://github.com/joostkremers/nswbuff.git")
3900 (commit commit)))
3901 (file-name (git-file-name name version))
3902 (sha256
3903 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
3904 (build-system emacs-build-system)
3905 (home-page "https://github.com/joostkremers/nswbuff")
3906 (synopsis "Quickly switch between buffers")
3907 (description "This package allows for navigating between buffers within
3908 a customizable list.")
3909 (license license:gpl3+))))
3910
3911 (define-public emacs-phi-search
3912 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
3913 (revision "1"))
3914 (package
3915 (name "emacs-phi-search")
3916 (version (git-version "20160630" revision commit))
3917 (source
3918 (origin
3919 (method git-fetch)
3920 (uri (git-reference
3921 (url "https://github.com/zk-phi/phi-search.git")
3922 (commit commit)))
3923 (file-name (git-file-name name version))
3924 (sha256
3925 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
3926 (build-system emacs-build-system)
3927 (home-page "https://github.com/zk-phi/phi-search")
3928 (synopsis "Interactive search compatible with @code{multiple-cursors}")
3929 (description "This package can be used with @code{multiple-cursors} to
3930 provide an incremental search that moves all fake cursors in sync.")
3931 (license license:gpl2+))))
3932
3933 (define-public emacs-phi-search-mc
3934 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
3935 (revision "1"))
3936 (package
3937 (name "emacs-phi-search-mc")
3938 (version (git-version "2.2.1" revision commit))
3939 (source
3940 (origin
3941 (method git-fetch)
3942 (uri (git-reference
3943 (url "https://github.com/knu/phi-search-mc.el.git")
3944 (commit commit)))
3945 (file-name (git-file-name name version))
3946 (sha256
3947 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
3948 (build-system emacs-build-system)
3949 (propagated-inputs
3950 `(("emacs-phi-search" ,emacs-phi-search)
3951 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3952 (home-page "https://github.com/knu/phi-search-mc.el")
3953 (synopsis "Extend @code{phi-search} with additional
3954 @code{multiple-cursors} functionality")
3955 (description "This package provides further integration between
3956 @code{multiple-cursors} and @code{phi-search}, a package that allows for
3957 interactive searches to move multiple fake cursors.")
3958 (license license:bsd-2))))
3959
3960 (define-public emacs-multiple-cursors
3961 (package
3962 (name "emacs-multiple-cursors")
3963 (version "1.4.0")
3964 (source
3965 (origin
3966 (method git-fetch)
3967 (uri (git-reference
3968 (url "https://github.com/magnars/multiple-cursors.el.git")
3969 (commit version)))
3970 (file-name (git-file-name name version))
3971 (sha256
3972 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
3973 (build-system emacs-build-system)
3974 (home-page "https://github.com/magnars/multiple-cursors.el")
3975 (synopsis "Multiple cursors for Emacs")
3976 (description
3977 "This package adds support to Emacs for editing text with multiple
3978 simultaneous cursors.")
3979 (license license:gpl3+)))
3980
3981 (define-public emacs-mc-extras
3982 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
3983 (revision "1"))
3984 (package
3985 (name "emacs-mc-extras")
3986 (version (git-version "1.2.4" revision commit))
3987 (source
3988 (origin
3989 (method git-fetch)
3990 (uri (git-reference
3991 (url "https://github.com/knu/mc-extras.el.git")
3992 (commit commit)))
3993 (file-name (git-file-name name version))
3994 (sha256
3995 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
3996 (build-system emacs-build-system)
3997 (propagated-inputs
3998 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3999 (home-page "https://github.com/knu/mc-extras.el")
4000 (synopsis "Extra functions for manipulating multiple cursors")
4001 (description
4002 "This package provides additional functions for
4003 @code{multiple-cursors}, including functions for marking s-expressions,
4004 comparing characters, removing cursors, and more.")
4005 (license license:bsd-2))))
4006
4007 (define-public emacs-typo
4008 (package
4009 (name "emacs-typo")
4010 (version "1.1")
4011 (home-page "https://github.com/jorgenschaefer/typoel")
4012 (source (origin
4013 (method git-fetch)
4014 (uri (git-reference
4015 (url home-page)
4016 (commit (string-append "v" version))))
4017 (file-name (git-file-name name version))
4018 (sha256
4019 (base32
4020 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
4021 (build-system emacs-build-system)
4022 (synopsis "Minor mode for typographic editing")
4023 (description
4024 "This package provides two Emacs modes, @code{typo-mode} and
4025 @code{typo-global-mode}. These modes automatically insert Unicode characters
4026 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
4027 automatically inserts a Unicode opening or closing quotation mark, depending
4028 on context.")
4029 (license license:gpl3+)))
4030
4031 (define-public emacs-company-lsp
4032 (package
4033 (name "emacs-company-lsp")
4034 (version "2.1.0")
4035 (source (origin
4036 (method git-fetch)
4037 (uri (git-reference
4038 (url "https://github.com/tigersoldier/company-lsp.git")
4039 (commit version)))
4040 (file-name (git-file-name name version))
4041 (sha256
4042 (base32
4043 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
4044 (build-system emacs-build-system)
4045 (propagated-inputs
4046 `(("emacs-dash" ,emacs-dash)
4047 ("emacs-lsp-mode" ,emacs-lsp-mode)
4048 ("emacs-company" ,emacs-company)
4049 ("emacs-s" ,emacs-s)
4050 ("emacs-dash" ,emacs-dash)))
4051 (native-inputs
4052 `(("emacs-buttercup" ,emacs-buttercup)))
4053 (arguments
4054 `(#:tests? #t
4055 #:test-command '("buttercup" "-L" ".")))
4056 (home-page "https://github.com/tigersoldier/company-lsp")
4057 (synopsis "Completion for @code{lsp-mode}")
4058 (description
4059 "This package provides completion features that are not possible with
4060 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
4061 characters and asynchronous fetching of completion candidates.")
4062 (license license:gpl3+)))
4063
4064 (define-public emacs-scheme-complete
4065 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
4066 (package
4067 (name "emacs-scheme-complete")
4068 (version (string-append "20151223." (string-take commit 8)))
4069 (source
4070 (origin
4071 (method git-fetch)
4072 (uri (git-reference
4073 (url "https://github.com/ashinn/scheme-complete.git")
4074 (commit commit)))
4075 (file-name (git-file-name name version))
4076 (sha256
4077 (base32
4078 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
4079 (patches
4080 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
4081 (build-system emacs-build-system)
4082 (home-page "https://github.com/ashinn/scheme-complete")
4083 (synopsis "Smart tab completion for Scheme in Emacs")
4084 (description
4085 "This file provides a single function, @code{scheme-smart-complete},
4086 which you can use for intelligent, context-sensitive completion for any Scheme
4087 implementation in Emacs. To use it just load this file and bind that function
4088 to a key in your preferred mode.")
4089 (license license:public-domain))))
4090
4091 (define-public emacs-scel
4092 (let ((version "20170629")
4093 (revision "1")
4094 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
4095 (package
4096 (name "emacs-scel")
4097 (version (git-version version revision commit))
4098 (source
4099 (origin
4100 (method git-fetch)
4101 (uri (git-reference
4102 (url "https://github.com/supercollider/scel.git")
4103 (commit commit)))
4104 (file-name (git-file-name name version))
4105 (sha256
4106 (base32
4107 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
4108 (build-system emacs-build-system)
4109 (arguments
4110 `(#:modules ((guix build emacs-build-system)
4111 ((guix build cmake-build-system) #:prefix cmake:)
4112 (guix build utils))
4113 #:imported-modules (,@%emacs-build-system-modules
4114 (guix build cmake-build-system))
4115 #:phases
4116 (modify-phases %standard-phases
4117 (add-after 'unpack 'configure
4118 (lambda* (#:key outputs #:allow-other-keys)
4119 (substitute* "el/CMakeLists.txt"
4120 (("share/emacs/site-lisp/SuperCollider")
4121 (string-append
4122 "share/emacs/site-lisp")))
4123 ((assoc-ref cmake:%standard-phases 'configure)
4124 #:outputs outputs
4125 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
4126 (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
4127 (lambda _
4128 (setenv "EMACSLOADPATH"
4129 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
4130 #t))
4131 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
4132 (inputs
4133 `(("supercollider" ,supercollider)))
4134 (native-inputs
4135 `(("cmake" ,cmake-minimal)))
4136 (home-page "https://github.com/supercollider/scel")
4137 (synopsis "SuperCollider Emacs interface")
4138 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
4139 SuperCollider is a platform for audio synthesis and algorithmic composition.")
4140 (license license:gpl2+))))
4141
4142 (define-public emacs-company-auctex
4143 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
4144 (revision "1"))
4145 (package
4146 (name "emacs-company-auctex")
4147 (version (git-version "0" revision commit))
4148 (source (origin
4149 (method git-fetch)
4150 (uri (git-reference
4151 (url "https://github.com/alexeyr/company-auctex")
4152 (commit commit)))
4153 (file-name (git-file-name name version))
4154 (sha256
4155 (base32
4156 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
4157 (build-system emacs-build-system)
4158 (propagated-inputs
4159 `(("emacs-yasnippet" ,emacs-yasnippet)
4160 ("emacs-auctex" ,emacs-auctex)
4161 ("emacs-company" ,emacs-company)))
4162 (home-page "https://github.com/alexeyr/company-auctex/")
4163 (synopsis "Completion for @code{AUCTeX}")
4164 (description
4165 "This package provides a group of backends permitting auto-completion
4166 for @code{AUCTeX}.")
4167 (license license:gpl3+))))
4168
4169 (define-public emacs-mit-scheme-doc
4170 (package
4171 (name "emacs-mit-scheme-doc")
4172 (version "20140203")
4173 (source
4174 (origin
4175 (modules '((guix build utils)))
4176 (snippet
4177 ;; keep only file of interest
4178 '(begin
4179 (for-each delete-file '("dot-emacs.el" "Makefile"))
4180 (install-file "6.945-config/mit-scheme-doc.el" ".")
4181 (delete-file-recursively "6.945-config")
4182 #t))
4183 (file-name (string-append name "-" version ".tar.bz2"))
4184 (method url-fetch)
4185 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
4186 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
4187 (sha256
4188 (base32
4189 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
4190 (build-system emacs-build-system)
4191 (inputs `(("mit-scheme" ,mit-scheme)))
4192 (arguments
4193 `(#:phases
4194 (modify-phases %standard-phases
4195 (add-after 'unpack 'configure-doc
4196 (lambda* (#:key inputs #:allow-other-keys)
4197 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
4198 (doc-dir (string-append mit-scheme-dir "/share/doc/"
4199 "mit-scheme-"
4200 ,(package-version mit-scheme))))
4201 (substitute* "mit-scheme-doc.el"
4202 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
4203 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
4204 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
4205 (synopsis "MIT-Scheme documentation lookup for Emacs")
4206 (description
4207 "This package provides a set of Emacs functions to search definitions of
4208 identifiers in the MIT-Scheme documentation.")
4209 (license license:gpl2+)))
4210
4211 (define-public emacs-constants
4212 (package
4213 (name "emacs-constants")
4214 (version "2.6")
4215 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
4216 (source
4217 (origin
4218 (method git-fetch)
4219 (uri (git-reference
4220 (url "https://github.com/fedeinthemix/emacs-constants.git")
4221 (commit (string-append "v" version))))
4222 (file-name (git-file-name name version))
4223 (sha256
4224 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
4225 (build-system emacs-build-system)
4226 (synopsis "Enter definition of constants into an Emacs buffer")
4227 (description
4228 "This package provides functions for inserting the definition of natural
4229 constants and units into an Emacs buffer.")
4230 (license license:gpl2+)))
4231
4232 (define-public emacs-tagedit
4233 (package
4234 (name "emacs-tagedit")
4235 (version "1.4.0")
4236 (source
4237 (origin
4238 (method git-fetch)
4239 (uri (git-reference
4240 (url "https://github.com/magnars/tagedit.git")
4241 (commit version)))
4242 (file-name (git-file-name name version))
4243 (sha256
4244 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
4245 (build-system emacs-build-system)
4246 (propagated-inputs
4247 `(("emacs-s" ,emacs-s)
4248 ("emacs-dash" ,emacs-dash)))
4249 (home-page "https://github.com/magnars/tagedit")
4250 (synopsis "Some paredit-like features for html-mode")
4251 (description
4252 "This package provides a collection of paredit-like functions for editing
4253 in @code{html-mode}.")
4254 (license license:gpl3+)))
4255
4256 (define-public emacs-slime
4257 (package
4258 (name "emacs-slime")
4259 (version "2.24")
4260 (source
4261 (origin
4262 (method git-fetch)
4263 (uri (git-reference
4264 (url "https://github.com/slime/slime.git")
4265 (commit (string-append "v" version))))
4266 (file-name (git-file-name name version))
4267 (sha256
4268 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
4269 (build-system emacs-build-system)
4270 (native-inputs
4271 `(("texinfo" ,texinfo)))
4272 (arguments
4273 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
4274 #:exclude '("^slime-tests.el" "^contrib/test/"
4275 "^contrib/Makefile$" "^contrib/README.md$")
4276 #:phases
4277 (modify-phases %standard-phases
4278 (add-after 'unpack 'make-git-checkout-writable
4279 (lambda _
4280 (for-each make-file-writable (find-files "."))
4281 #t))
4282 (add-before 'install 'configure
4283 (lambda* _
4284 (emacs-substitute-variables "slime.el"
4285 ("inferior-lisp-program" "sbcl"))
4286 #t))
4287 (add-before 'install 'install-doc
4288 (lambda* (#:key outputs #:allow-other-keys)
4289 (let* ((out (assoc-ref outputs "out"))
4290 (info-dir (string-append out "/share/info"))
4291 (doc-dir (string-append out "/share/doc/"
4292 ,name "-" ,version))
4293 (doc-files '("doc/slime-refcard.pdf"
4294 "README.md" "NEWS" "PROBLEMS"
4295 "CONTRIBUTING.md")))
4296 (with-directory-excursion "doc"
4297 (substitute* "Makefile"
4298 (("infodir=/usr/local/info")
4299 (string-append "infodir=" info-dir)))
4300 (invoke "make" "html/index.html")
4301 (invoke "make" "slime.info")
4302 (install-file "slime.info" info-dir)
4303 (copy-recursively "html" (string-append doc-dir "/html")))
4304 (for-each (lambda (f)
4305 (install-file f doc-dir)
4306 (delete-file f))
4307 doc-files)
4308 (delete-file-recursively "doc")
4309 #t))))))
4310 (home-page "https://github.com/slime/slime")
4311 (synopsis "Superior Lisp Interaction Mode for Emacs")
4312 (description
4313 "SLIME extends Emacs with support for interactive programming in
4314 Common Lisp. The features are centered around @command{slime-mode},
4315 an Emacs minor mode that complements the standard @command{lisp-mode}.
4316 While lisp-mode supports editing Lisp source files, @command{slime-mode}
4317 adds support for interacting with a running Common Lisp process
4318 for compilation, debugging, documentation lookup, and so on.")
4319 (license (list license:gpl2+ license:public-domain))))
4320
4321 (define-public emacs-popup
4322 (package
4323 (name "emacs-popup")
4324 (version "0.5.3")
4325 (source
4326 (origin
4327 (method git-fetch)
4328 (uri (git-reference
4329 (url "https://github.com/auto-complete/popup-el.git")
4330 (commit (string-append "v" version))))
4331 (file-name (git-file-name name version))
4332 (sha256
4333 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
4334 (build-system emacs-build-system)
4335 (home-page "https://github.com/auto-complete/popup-el")
4336 (synopsis "Visual Popup User Interface for Emacs")
4337 (description
4338 "Popup.el is a visual popup user interface library for Emacs.
4339 This provides a basic API and common UI widgets such as popup tooltips
4340 and popup menus.")
4341 (license license:gpl3+)))
4342
4343 (define-public emacs-python-environment
4344 (package
4345 (name "emacs-python-environment")
4346 (version "0.0.2")
4347 (source
4348 (origin
4349 (method git-fetch)
4350 (uri (git-reference
4351 (url "https://github.com/tkf/emacs-python-environment/")
4352 (commit version)))
4353 (file-name (git-file-name name version))
4354 (sha256
4355 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
4356 (build-system emacs-build-system)
4357 (propagated-inputs
4358 `(("emacs-deferred" ,emacs-deferred)))
4359 (home-page "https://github.com/tkf/emacs-python-environment")
4360 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
4361 (description
4362 "This package permits automated installation of tools written in Python.")
4363 (license license:gpl3+)))
4364
4365 (define-public emacs-jedi
4366 (package
4367 (name "emacs-jedi")
4368 (version "0.2.7")
4369 (source (origin
4370 (method git-fetch)
4371 (uri (git-reference
4372 (url "https://github.com/tkf/emacs-jedi/")
4373 (commit (string-append "v" version))))
4374 (file-name (git-file-name name version))
4375 (sha256
4376 (base32
4377 "0xbp9fcxgbf298w05hvf52z41kk7r52975ailgdn8sg60xc98fa7"))))
4378 (build-system emacs-build-system)
4379 (native-inputs
4380 `(("emacs-mocker" ,emacs-mocker)))
4381 (propagated-inputs
4382 `(("emacs-auto-complete" ,emacs-auto-complete)
4383 ("emacs-python-environment" ,emacs-python-environment)
4384 ("emacs-epc" ,emacs-epc)))
4385 (home-page "https://github.com/tkf/emacs-jedi")
4386 (synopsis "Provides Python completion in Emacs")
4387 (description
4388 "This package provides completion in Python buffers and also helps find
4389 the locations of docstrings, arguments, and functions.")
4390 (license license:gpl3+)))
4391
4392 (define-public emacs-company-jedi
4393 (package
4394 (name "emacs-company-jedi")
4395 (version "0.04")
4396 (source (origin
4397 (method git-fetch)
4398 (uri (git-reference
4399 (url "https://github.com/syohex/emacs-company-jedi")
4400 (commit version)))
4401 (file-name (git-file-name name version))
4402 (sha256
4403 (base32
4404 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
4405 (build-system emacs-build-system)
4406 (propagated-inputs
4407 `(("emacs-jedi" ,emacs-jedi)
4408 ("emacs-company" ,emacs-company)))
4409 (home-page "https://github.com/syohex/emacs-company-jedi")
4410 (synopsis "Provides Python completion in @code{company-mode}")
4411 (description
4412 "This package provides a Company backend for Python.")
4413 (license license:gpl3+)))
4414
4415 (define-public emacs-puppet-mode
4416 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
4417 (revision "1"))
4418 (package
4419 (name "emacs-puppet-mode")
4420 ;; The last release, 0.3 was several years ago, and there have been many
4421 ;; commits since
4422 (version (git-version "0.3" revision commit))
4423 (source
4424 (origin
4425 (method url-fetch)
4426 (uri (string-append
4427 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
4428 commit "/puppet-mode.el"))
4429 (sha256
4430 (base32
4431 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
4432 (build-system emacs-build-system)
4433 (home-page "https://github.com/voxpupuli/puppet-mode")
4434 (synopsis "Emacs major mode for the Puppet configuration language")
4435 (description
4436 "This package provides support for the Puppet configuration language,
4437 including syntax highlighting, indentation of expressions and statements,
4438 linting of manifests and integration with Puppet Debugger.")
4439 ;; Also incorporates work covered by the Apache License, Version 2.0
4440 (license license:gpl3+))))
4441
4442 (define-public emacs-god-mode
4443 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
4444 (revision "1"))
4445 (package
4446 (name "emacs-god-mode")
4447 (version (string-append "20151005.925."
4448 revision "-" (string-take commit 9)))
4449 (source
4450 (origin
4451 (method git-fetch)
4452 (uri (git-reference
4453 (url "https://github.com/chrisdone/god-mode.git")
4454 (commit commit)))
4455 (file-name (git-file-name name version))
4456 (sha256
4457 (base32
4458 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
4459 (build-system emacs-build-system)
4460 (home-page "https://github.com/chrisdone/god-mode")
4461 (synopsis "Minor mode for entering commands without modifier keys")
4462 (description
4463 "This package provides a global minor mode for entering Emacs commands
4464 without modifier keys. It's similar to Vim's separation of commands and
4465 insertion mode. When enabled all keys are implicitly prefixed with
4466 @samp{C-} (among other helpful shortcuts).")
4467 (license license:gpl3+))))
4468
4469 (define-public emacs-jinja2-mode
4470 (package
4471 (name "emacs-jinja2-mode")
4472 (version "0.2")
4473 (source
4474 (origin
4475 (method git-fetch)
4476 (uri (git-reference
4477 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
4478 (commit (string-append "v" version))))
4479 (file-name (git-file-name name version))
4480 (sha256
4481 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
4482 (build-system emacs-build-system)
4483 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
4484 (synopsis "Major mode for jinja2")
4485 (description
4486 "Emacs major mode for jinja2 with: syntax highlighting,
4487 sgml/html integration, and indentation (working with sgml).")
4488 (license license:gpl3+)))
4489
4490 (define-public emacs-company-cabal
4491 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
4492 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
4493 (revision "1"))
4494 (package
4495 (name "emacs-company-cabal")
4496 (version (git-version "0.3.0" revision commit))
4497 (source (origin
4498 (method git-fetch)
4499 (uri (git-reference
4500 (url "https://github.com/iquiw/company-cabal/")
4501 (commit commit)))
4502 (file-name (git-file-name name version))
4503 (sha256
4504 (base32
4505 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
4506 (build-system emacs-build-system)
4507 (propagated-inputs
4508 `(("emacs-company" ,emacs-company)))
4509 (arguments
4510 `(#:include (cons "^tools\\/" %default-include)))
4511 (home-page "https://github.com/iquiw/company-cabal/")
4512 (synopsis "Company completion for Haskell Cabal files")
4513 (description
4514 "This package allows for completion of field names, section names,
4515 field values, and more within @code{haskell-cabal-mode}.")
4516 (license license:gpl3+))))
4517
4518 (define-public emacs-rfcview
4519 (package
4520 (name "emacs-rfcview")
4521 (version "0.13")
4522 (home-page "http://www.loveshack.ukfsn.org/emacs")
4523 (source (origin
4524 (method url-fetch)
4525 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
4526 (sha256
4527 (base32
4528 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
4529 (build-system emacs-build-system)
4530 (synopsis "Prettify Request for Comments (RFC) documents")
4531 (description "The Internet Engineering Task Force (IETF) and the Internet
4532 Society (ISOC) publish various Internet-related protocols and specifications
4533 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
4534 documents. RFCs and STDs are published in a simple text form. This package
4535 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
4536 read these documents in Emacs. It prettifies the text and adds
4537 hyperlinks/menus for easier navigation. It also provides functions for
4538 browsing the index of RFC documents and fetching them from remote servers or
4539 local directories.")
4540 (license license:gpl3+)))
4541
4542 (define-public emacs-ffap-rfc-space
4543 (package
4544 (name "emacs-ffap-rfc-space")
4545 (version "12")
4546 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
4547 (source (origin
4548 (method url-fetch)
4549 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
4550 (sha256
4551 (base32
4552 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
4553 (build-system emacs-build-system)
4554 (synopsis "Make ffap recognize an RFC with a space before its number")
4555 (description "The Internet Engineering Task Force (IETF) and the
4556 Internet Society (ISOC) publish various Internet-related protocols and
4557 specifications as \"Request for Comments\" (RFC) documents. The
4558 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
4559 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
4560 and load the appropriate RFC from a remote server. However, it fails
4561 to recognize a name like \"RFC 1234\". This package enhances ffap so
4562 that it correctly finds RFCs even when a space appears before the
4563 number.")
4564 (license license:gpl3+)))
4565
4566 (define-public emacs-org-bullets
4567 (package
4568 (name "emacs-org-bullets")
4569 (version "0.2.4")
4570 (source
4571 (origin
4572 (method git-fetch)
4573 (uri (git-reference
4574 (url "https://github.com/sabof/org-bullets.git")
4575 (commit version)))
4576 (file-name (git-file-name name version))
4577 (sha256
4578 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
4579 (build-system emacs-build-system)
4580 (home-page "https://github.com/sabof/org-bullets")
4581 (synopsis "Show bullets in org-mode as UTF-8 characters")
4582 (description
4583 "This package provides an Emacs minor mode causing bullets in
4584 @code{org-mode} to be rendered as UTF-8 characters.")
4585 (license license:gpl3+)))
4586
4587 (define-public emacs-org-pomodoro
4588 ;; Last release version was from 2016.
4589 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
4590 (revision "1"))
4591 (package
4592 (name "emacs-org-pomodoro")
4593 (version (git-version "2.1.0" revision commit))
4594 (source
4595 (origin
4596 (method git-fetch)
4597 (uri (git-reference
4598 (url "https://github.com/marcinkoziej/org-pomodoro.git")
4599 (commit commit)))
4600 (file-name (git-file-name name version))
4601 (sha256
4602 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
4603 (build-system emacs-build-system)
4604 (propagated-inputs
4605 `(("emacs-alert" ,emacs-alert)))
4606 (arguments
4607 `(#:include (cons "^resources\\/" %default-include)
4608 #:tests? #t
4609 #:test-command '("emacs" "--batch"
4610 "-l" "org-pomodoro-tests.el"
4611 "-f" "ert-run-tests-batch-and-exit")
4612 #:phases
4613 (modify-phases %standard-phases
4614 (add-before 'check 'make-tests-writable
4615 (lambda _
4616 (make-file-writable "org-pomodoro-tests.el")
4617 #t))
4618 (add-before 'check 'add-require
4619 (lambda _
4620 (emacs-batch-edit-file "org-pomodoro-tests.el"
4621 `(progn (progn (goto-char (point-min))
4622 (re-search-forward
4623 "ert-deftest")
4624 (beginning-of-line)
4625 (forward-line -1)
4626 (insert "(require 'org-pomodoro)"))
4627 (basic-save-buffer)))
4628 #t)))))
4629 (home-page "https://github.com/marcinkoziej/org-pomodoro")
4630 (synopsis "Pomodoro technique for org-mode")
4631 (description "@code{emacs-org-pomodoro} adds very basic support for
4632 Pomodoro technique in Emacs org-mode.
4633
4634 Run @code{M-x org-pomodoro} for the task at point or select one of the
4635 last tasks that you clocked time for. Each clocked-in pomodoro starts
4636 a timer of 25 minutes and after each pomodoro a break timer of 5
4637 minutes is started automatically. Every 4 breaks a long break is
4638 started with 20 minutes. All values are customizable.")
4639 (license license:gpl3+))))
4640
4641 (define-public emacs-org-sidebar
4642 (package
4643 (name "emacs-org-sidebar")
4644 (version "0.2")
4645 (source
4646 (origin
4647 (method git-fetch)
4648 (uri (git-reference
4649 (url "https://github.com/alphapapa/org-sidebar.git")
4650 (commit version)))
4651 (file-name (git-file-name name version))
4652 (sha256
4653 (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03"))))
4654 (build-system emacs-build-system)
4655 (propagated-inputs
4656 `(("emacs-dash" ,emacs-dash)
4657 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
4658 ("emacs-org" ,emacs-org)
4659 ("emacs-org-ql" ,emacs-org-ql)
4660 ("emacs-s" ,emacs-s)))
4661 (home-page "https://github.com/alphapapa/org-sidebar")
4662 (synopsis "Helpful sidebar for Org buffers")
4663 (description "This package provides a sidebar for Org buffers. At the
4664 top is a chronological list of scheduled and deadlined tasks in the current
4665 buffer (similar to the Org agenda ,but without all its features), and below
4666 that is a list of all other non-done to-do items. If the buffer is narrowed,
4667 the sidebar only shows items in the narrowed portion; this allows seeing an
4668 overview of tasks in a subtree.")
4669 (license license:gpl3+)))
4670
4671 (define-public emacs-org-trello
4672 (package
4673 (name "emacs-org-trello")
4674 (version "0.8.0")
4675 (source
4676 (origin
4677 (method git-fetch)
4678 (uri (git-reference
4679 (url "https://github.com/org-trello/org-trello.git")
4680 (commit version)))
4681 (file-name (git-file-name name version))
4682 (sha256
4683 (base32 "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm"))))
4684 (build-system emacs-build-system)
4685 (propagated-inputs
4686 `(("emacs-dash" ,emacs-dash)
4687 ("emacs-deferred" ,emacs-deferred)
4688 ("emacs-f" ,emacs-f)
4689 ("emacs-helm" ,emacs-helm)
4690 ("emacs-request" ,emacs-request)
4691 ("emacs-s" ,emacs-s)))
4692 (home-page "https://org-trello.github.io")
4693 (synopsis "Emacs minor mode for interacting with Trello")
4694 (description "This package provides an Emacs minor mode to extend
4695 @code{org-mode} with Trello abilities. Trello is an online project
4696 organizer.")
4697 (license license:gpl3+)))
4698
4699 (define-public emacs-org-tanglesync
4700 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
4701 (revision "2"))
4702 (package
4703 (name "emacs-org-tanglesync")
4704 (version (git-version "0.6" revision commit))
4705 (source
4706 (origin
4707 (method git-fetch)
4708 (uri (git-reference
4709 (url "https://github.com/mtekman/org-tanglesync.el.git")
4710 (commit commit)))
4711 (file-name (git-file-name name version))
4712 (sha256
4713 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
4714 (build-system emacs-build-system)
4715 (propagated-inputs
4716 `(("emacs-org" ,emacs-org)))
4717 (home-page "https://github.com/mtekman/org-tanglesync.el")
4718 (synopsis "Sync Org source blocks with tangled external files")
4719 (description "This package automatically pulls changes from source code
4720 to their corresponding tangled blocks.")
4721 (license license:gpl3+))))
4722
4723 (define-public emacs-company-flow
4724 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4725 (revision "1"))
4726 (package
4727 (name "emacs-company-flow")
4728 (version (git-version "0.1.0" revision commit))
4729 (source (origin
4730 (method git-fetch)
4731 (uri (git-reference
4732 (url "https://github.com/aaronjensen/company-flow/")
4733 (commit commit)))
4734 (file-name (git-file-name name version))
4735 (sha256
4736 (base32
4737 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4738 (build-system emacs-build-system)
4739 (propagated-inputs
4740 `(("emacs-company" ,emacs-company)
4741 ("emacs-dash" ,emacs-dash)))
4742 (home-page "https://github.com/aaronjensen/company-flow/")
4743 (synopsis "Flow backend for @code{company-mode}")
4744 (description
4745 "This package provides completion for JavaScript files utilizing Flow.")
4746 (license license:gpl3+))))
4747
4748 (define-public emacs-atom-one-dark-theme
4749 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4750 (revision "0"))
4751 (package
4752 (name "emacs-atom-one-dark-theme")
4753 (version (git-version "0.4.0" revision commit))
4754 (source (origin
4755 (method git-fetch)
4756 (uri (git-reference
4757 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4758 (commit commit)))
4759 (sha256
4760 (base32
4761 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4762 (file-name (git-file-name name version))))
4763 (build-system emacs-build-system)
4764 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4765 (synopsis "Atom One Dark color theme for Emacs")
4766 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4767 (license license:gpl3+))))
4768
4769 (define-public emacs-zenburn-theme
4770 (package
4771 (name "emacs-zenburn-theme")
4772 (version "2.6")
4773 (source
4774 (origin
4775 (method git-fetch)
4776 (uri (git-reference
4777 (url "https://github.com/bbatsov/zenburn-emacs.git")
4778 (commit (string-append "v" version))))
4779 (file-name (git-file-name name version))
4780 (sha256
4781 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4782 (build-system emacs-build-system)
4783 (home-page "https://github.com/bbatsov/zenburn-emacs")
4784 (synopsis "Low contrast color theme for Emacs")
4785 (description
4786 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4787 It is built on top of the custom theme support in Emacs 24 or later.")
4788 (license license:gpl3+)))
4789
4790 (define-public emacs-moe-theme-el
4791 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4792 (version "1.0")
4793 (revision "1"))
4794 (package
4795 (name "emacs-moe-theme-el")
4796 (version (git-version version revision commit))
4797 (source
4798 (origin
4799 (method git-fetch)
4800 (uri (git-reference
4801 (url "https://github.com/kuanyui/moe-theme.el")
4802 (commit commit)))
4803 (file-name (git-file-name name version))
4804 (sha256
4805 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4806 (build-system emacs-build-system)
4807 (home-page "https://github.com/kuanyui/moe-theme.el")
4808 (synopsis "Anime-inspired color themes")
4809 (description
4810 "This package provides vibrant color schemes with light and dark
4811 variants.")
4812 (license license:gpl3+))))
4813
4814 (define-public emacs-solarized-theme
4815 (package
4816 (name "emacs-solarized-theme")
4817 (version "1.2.2")
4818 (source (origin
4819 (method git-fetch)
4820 (uri (git-reference
4821 (url "https://github.com/bbatsov/solarized-emacs/")
4822 (commit (string-append "v" version))))
4823 (file-name (git-file-name name version))
4824 (sha256
4825 (base32
4826 "0zcj9jf8nlsj9vms888z2vs76q54n8g8r9sh381xad3x8d6lrlb3"))))
4827 (build-system emacs-build-system)
4828 (propagated-inputs
4829 `(("emacs-dash" ,emacs-dash)))
4830 (home-page "https://github.com/bbatsov/solarized-emacs")
4831 (synopsis "Port of the Solarized theme for Emacs")
4832 (description
4833 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4834 package provides a light and a dark variant.")
4835 (license license:gpl3+)))
4836
4837 (define-public emacs-poet-theme
4838 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
4839 (revision "0"))
4840 (package
4841 (name "emacs-poet-theme")
4842 (version (git-version "0" revision commit))
4843 (source
4844 (origin
4845 (method git-fetch)
4846 (uri (git-reference
4847 (url "https://github.com/kunalb/poet.git")
4848 (commit commit)))
4849 (file-name (git-file-name name version))
4850 (sha256
4851 (base32
4852 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
4853 (build-system emacs-build-system)
4854 (home-page "https://github.com/kunalb/poet/")
4855 (synopsis "Emacs theme for prose")
4856 (description
4857 "Emacs has very good support for multiple fonts in a single file. Poet
4858 uses this support to make it much more convenient to write prose within Emacs,
4859 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
4860 Code blocks, tables, etc are formatted in monospace text with the appropriate
4861 backgrounds.")
4862 (license license:expat))))
4863
4864 (define-public emacs-ahungry-theme
4865 (package
4866 (name "emacs-ahungry-theme")
4867 (version "1.10.0")
4868 (source
4869 (origin (method url-fetch)
4870 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4871 version ".tar"))
4872 (sha256
4873 (base32
4874 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4875 (build-system emacs-build-system)
4876 (home-page "https://github.com/ahungry/color-theme-ahungry")
4877 (synopsis "Ahungry color theme for Emacs")
4878 (description "Ahungry theme for Emacs provides bright and bold colors.
4879 If you load it from a terminal, you will be able to make use of the
4880 transparent background. If you load it from a GUI, it will default to a
4881 dark background.")
4882 (license license:gpl3+)))
4883
4884 (define-public emacs-gruvbox-theme
4885 (package
4886 (name "emacs-gruvbox-theme")
4887 (version "1.28.0")
4888 (source (origin
4889 (method git-fetch)
4890 (uri (git-reference
4891 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4892 (commit version)))
4893 (file-name (git-file-name name version))
4894 (sha256
4895 (base32
4896 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4897 (build-system emacs-build-system)
4898 (propagated-inputs
4899 `(("emacs-autothemer" ,emacs-autothemer)))
4900 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4901 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4902 (description
4903 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4904
4905 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4906 mode switching in the way of solarized. The main focus when developing gruvbox
4907 is to keep colors easily distinguishable, contrast enough and still pleasant
4908 for the eyes.")
4909 (license license:expat))) ; MIT license
4910
4911 (define-public emacs-spacegray-theme
4912 (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
4913 (revision "0"))
4914 (package
4915 (name "emacs-spacegray-theme")
4916 (version (git-version "0" revision commit))
4917 (source (origin
4918 (method git-fetch)
4919 (uri (git-reference
4920 (url "https://github.com/bruce/emacs-spacegray-theme.git")
4921 (commit commit)))
4922 (file-name (git-file-name name version))
4923 (sha256
4924 (base32
4925 "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"))))
4926 (build-system emacs-build-system)
4927 (home-page "https://github.com/bruce/emacs-spacegray-theme")
4928 (synopsis "Port of Sublime Text's Spacegray theme for Emacs")
4929 (description
4930 "@code{spacegray-theme} is an Emacs port of the Spacegray theme from
4931 Sublime Text. It features a dark blue/gray background and soft blue, green,
4932 orange and red as accent colors.")
4933 (license license:expat)))) ; MIT license
4934
4935 (define-public emacs-2048-game
4936 (package
4937 (name "emacs-2048-game")
4938 (version "20151026.1233")
4939 (source
4940 (origin
4941 (method url-fetch)
4942 (uri (string-append "https://melpa.org/packages/2048-game-"
4943 version ".el"))
4944 (sha256
4945 (base32
4946 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4947 (build-system emacs-build-system)
4948 (home-page "https://bitbucket.org/zck/2048.el")
4949 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4950 (description
4951 "This program is an implementation of 2048 for Emacs.
4952 The goal of this game is to create a tile with value 2048. The size of the
4953 board and goal value can be customized.")
4954 (license license:gpl3+)))
4955
4956 (define-public emacs-base16-theme
4957 (package
4958 (name "emacs-base16-theme")
4959 (version "2.2")
4960 (source
4961 (origin
4962 (method git-fetch)
4963 (uri (git-reference
4964 (url "https://github.com/belak/base16-emacs.git")
4965 (commit version)))
4966 (file-name (git-file-name name version))
4967 (sha256
4968 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
4969 (build-system emacs-build-system)
4970 (home-page "https://github.com/belak/base16-emacs")
4971 (synopsis "Base16 color themes for Emacs")
4972 (description
4973 "Base16 provides carefully chosen syntax highlighting and a default set
4974 of sixteen colors suitable for a wide range of applications. Base16 is not a
4975 single theme but a set of guidelines with numerous implementations.")
4976 (license license:expat)))
4977
4978 (define-public emacs-solaire-mode
4979 (package
4980 (name "emacs-solaire-mode")
4981 (version "1.0.9")
4982 (source
4983 (origin
4984 (method git-fetch)
4985 (uri (git-reference
4986 (url "https://github.com/hlissner/emacs-solaire-mode.git")
4987 (commit (string-append "v" version))))
4988 (file-name (git-file-name name version))
4989 (sha256
4990 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
4991 (build-system emacs-build-system)
4992 (home-page "https://github.com/hlissner/emacs-solaire-mode")
4993 (synopsis "Change background of file-visiting buffers in Emacs")
4994 (description
4995 "@code{solaire-mode} is inspired by editors which visually distinguish
4996 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
4997 background of file-visiting buffers (and certain aspects of the UI) to make
4998 them easier to distinguish from other, less important buffers.")
4999 (license license:expat)))
5000
5001 (define-public emacs-prescient
5002 ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x
5003 ;; by default, so we use a non-release version ahead by one commit
5004 (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d")
5005 (revision "1"))
5006 (package
5007 (name "emacs-prescient")
5008 (version (git-version "3.3" revision commit))
5009 (source (origin
5010 (method git-fetch)
5011 (uri (git-reference
5012 (url "https://github.com/raxod502/prescient.el/")
5013 (commit commit)))
5014 (file-name (git-file-name name version))
5015 (sha256
5016 (base32
5017 "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7"))))
5018 (build-system emacs-build-system)
5019 (propagated-inputs
5020 `(("emacs-company" ,emacs-company)
5021 ("emacs-ivy" ,emacs-ivy)))
5022 (home-page "https://github.com/raxod502/prescient.el/")
5023 (synopsis "Library that sorts and filters lists of candidates")
5024 (description
5025 "This package provides a library for sorting and filtering, as well as
5026 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
5027 library.")
5028 (license license:gpl3+))))
5029
5030 (define-public emacs-smartparens
5031 (package
5032 (name "emacs-smartparens")
5033 (version "1.11.0")
5034 (source
5035 (origin
5036 (method git-fetch)
5037 (uri (git-reference
5038 (url "https://github.com/Fuco1/smartparens.git")
5039 (commit version)))
5040 (file-name (git-file-name name version))
5041 (sha256
5042 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
5043 (build-system emacs-build-system)
5044 (propagated-inputs
5045 `(("emacs-dash" ,emacs-dash)
5046 ("emacs-markdown-mode" ,emacs-markdown-mode)))
5047 (home-page "https://github.com/Fuco1/smartparens")
5048 (synopsis "Paredit-like insertion, wrapping and navigation with user
5049 defined pairs")
5050 (description
5051 "Smartparens is a minor mode for Emacs that deals with parens pairs
5052 and tries to be smart about it. It started as a unification effort to
5053 combine functionality of several existing packages in a single,
5054 compatible and extensible way to deal with parentheses, delimiters, tags
5055 and the like. Some of these packages include autopair, textmate,
5056 wrap-region, electric-pair-mode, paredit and others. With the basic
5057 features found in other packages it also brings many improvements as
5058 well as completely new features.")
5059 (license license:gpl3+)))
5060
5061 (define-public emacs-highlight-symbol
5062 ;; We prefer a more recent commit that provides an option to squelch
5063 ;; echo-area alerts that can drown out useful information like eldoc
5064 ;; messages.
5065 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
5066 (version "1.3")
5067 (revision "1"))
5068 (package
5069 (name "emacs-highlight-symbol")
5070 (version (git-version version revision commit))
5071 (source
5072 (origin
5073 (method git-fetch)
5074 (uri (git-reference
5075 (url "https://github.com/nschum/highlight-symbol.el.git")
5076 (commit commit)))
5077 (file-name (git-file-name name version))
5078 (sha256
5079 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
5080 (build-system emacs-build-system)
5081 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
5082 (synopsis "Automatic and manual symbol highlighting for Emacs")
5083 (description
5084 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
5085 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
5086 the symbol at point highlighted.
5087
5088 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
5089 @code{highlight-symbol-next-in-defun} and
5090 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
5091 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
5092 bindings @code{M-p} and @code{M-p} for navigation. When
5093 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
5094 regardless of @code{highlight-symbol-idle-delay}.
5095
5096 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
5097 (license license:gpl2+))))
5098
5099 (define-public emacs-symbol-overlay
5100 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
5101 (revision "1"))
5102 (package
5103 (name "emacs-symbol-overlay")
5104 (version (git-version "4.1" revision commit))
5105 (source
5106 (origin
5107 (method git-fetch)
5108 (uri (git-reference
5109 (url "https://github.com/wolray/symbol-overlay.git")
5110 (commit commit)))
5111 (file-name (git-file-name name version))
5112 (sha256
5113 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
5114 (build-system emacs-build-system)
5115 (home-page "https://github.com/wolray/symbol-overlay")
5116 (synopsis "Highlight symbols and perform various search operations on them")
5117 (description
5118 "This package provides functions for highlighting and navigating
5119 between symbols.")
5120 (license license:gpl3+))))
5121
5122 (define-public emacs-hl-todo
5123 (package
5124 (name "emacs-hl-todo")
5125 (version "3.0.0")
5126 (source (origin
5127 (method git-fetch)
5128 (uri (git-reference
5129 (url "https://github.com/tarsius/hl-todo")
5130 (commit (string-append "v" version))))
5131 (file-name (git-file-name name version))
5132 (sha256
5133 (base32
5134 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
5135 (build-system emacs-build-system)
5136 (home-page "https://github.com/tarsius/hl-todo")
5137 (synopsis "Emacs mode to highlight TODO and similar keywords")
5138 (description
5139 "This package provides an Emacs mode to highlight TODO and similar
5140 keywords in comments and strings. This package also provides commands for
5141 moving to the next or previous keyword and to invoke @code{occur} with a
5142 regexp that matches all known keywords.")
5143 (license license:gpl3+)))
5144
5145 (define-public emacs-perspective
5146 (package
5147 (name "emacs-perspective")
5148 (version "2.2")
5149 (source
5150 (origin
5151 (method git-fetch)
5152 (uri (git-reference
5153 (url "https://github.com/nex3/perspective-el.git")
5154 (commit version)))
5155 (file-name (git-file-name name version))
5156 (sha256
5157 (base32
5158 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
5159 (build-system emacs-build-system)
5160 (home-page "https://github.com/nex3/perspective-el")
5161 (synopsis "Switch between named \"perspectives\"")
5162 (description
5163 "This package provides tagged workspaces in Emacs, similar to workspaces in
5164 windows managers such as Awesome and XMonad. @code{perspective.el} provides
5165 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
5166 perspective is composed of a window configuration and a set of buffers.
5167 Switching to a perspective activates its window configuration, and when in a
5168 perspective only its buffers are available by default.")
5169 ;; This package is released under the same license as Emacs (GPLv3+) or
5170 ;; the Expat license.
5171 (license license:gpl3+)))
5172
5173 (define-public emacs-test-simple
5174 (package
5175 (name "emacs-test-simple")
5176 (version "1.3.0")
5177 (source
5178 (origin
5179 (method url-fetch)
5180 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
5181 version ".el"))
5182 (sha256
5183 (base32
5184 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
5185 (build-system emacs-build-system)
5186 (home-page "https://github.com/rocky/emacs-test-simple")
5187 (synopsis "Simple unit test framework for Emacs Lisp")
5188 (description
5189 "Test Simple is a simple unit test framework for Emacs Lisp. It
5190 alleviates the need for context macros, enclosing specifications or required
5191 test tags. It supports both interactive and non-interactive use.")
5192 (license license:gpl3+)))
5193
5194 (define-public emacs-load-relative
5195 (package
5196 (name "emacs-load-relative")
5197 (version "1.3.1")
5198 (source
5199 (origin
5200 (method url-fetch)
5201 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
5202 version ".el"))
5203 (sha256
5204 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
5205 (build-system emacs-build-system)
5206 (home-page "http://github.com/rocky/emacs-load-relative")
5207 (synopsis "Emacs Lisp relative file loading related functions")
5208 (description
5209 "Provides functions which facilitate writing multi-file Emacs packages
5210 and running from the source tree without having to \"install\" code or fiddle
5211 with @{load-path}.
5212
5213 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
5214 another (presumably currently running) Emacs Lisp file.")
5215 (license license:gpl3+)))
5216
5217 (define-public emacs-loc-changes
5218 (package
5219 (name "emacs-loc-changes")
5220 (version "1.2")
5221 (source
5222 (origin
5223 (method url-fetch)
5224 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
5225 version ".el"))
5226 (sha256
5227 (base32
5228 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
5229 (build-system emacs-build-system)
5230 (home-page "https://github.com/rocky/emacs-loc-changes")
5231 (synopsis "Keeps track of positions even after buffer changes")
5232 (description
5233 "This Emacs package provides a mean to track important buffer positions
5234 after buffer changes.")
5235 (license license:gpl3+)))
5236
5237 (define-public emacs-realgud
5238 (package
5239 (name "emacs-realgud")
5240 (version "1.5.1")
5241 (source
5242 (origin
5243 (method git-fetch)
5244 (uri (git-reference
5245 (url "https://github.com/realgud/realgud/")
5246 (commit version)))
5247 (sha256
5248 (base32
5249 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
5250 (file-name (git-file-name name version))))
5251 (build-system emacs-build-system)
5252 (arguments
5253 `(#:tests? #t
5254 #:phases
5255 (modify-phases %standard-phases
5256 (add-after 'unpack 'fix-autogen-script
5257 (lambda _
5258 (substitute* "autogen.sh"
5259 (("./configure") "sh configure"))))
5260 (add-after 'fix-autogen-script 'autogen
5261 (lambda _
5262 (setenv "CONFIG_SHELL" "sh")
5263 (invoke "sh" "autogen.sh")))
5264 (add-after 'fix-autogen-script 'set-home
5265 (lambda _
5266 (setenv "HOME" (getenv "TMPDIR"))))
5267 (add-before 'patch-el-files 'remove-realgud-pkg.el
5268 (lambda _
5269 ;; FIXME: `patch-el-files' crashes on this file with error:
5270 ;; unable to locate "bashdb".
5271 (delete-file "./test/test-regexp-bashdb.el"))))
5272 #:include (cons* ".*\\.el$" %default-include)))
5273 (native-inputs
5274 `(("autoconf" ,autoconf)
5275 ("automake" ,automake)
5276 ("emacs-test-simple" ,emacs-test-simple)))
5277 (propagated-inputs
5278 `(("emacs-load-relative" ,emacs-load-relative)
5279 ("emacs-loc-changes" ,emacs-loc-changes)))
5280 (home-page "https://github.com/realgud/realgud/")
5281 (synopsis
5282 "Modular front-end for interacting with external debuggers")
5283 (description
5284 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
5285 with external debuggers. It integrates various debuggers such as gdb, pdb,
5286 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
5287 sources. Unlike GUD, it also supports running multiple debug sessions in
5288 parallel.")
5289 (license license:gpl3+)))
5290
5291 (define-public emacs-request
5292 (package
5293 (name "emacs-request")
5294 (version "0.3.1")
5295 (source (origin
5296 (method git-fetch)
5297 (uri (git-reference
5298 (url "https://github.com/tkf/emacs-request.git")
5299 (commit (string-append "v" version))))
5300 (file-name (git-file-name name version))
5301 (sha256
5302 (base32
5303 "0fhhd349l4iqkrjxqzpckfk2w45x2g4cccpm1dqzv9m49md1wphx"))))
5304 (build-system emacs-build-system)
5305 (propagated-inputs
5306 `(("emacs-deferred" ,emacs-deferred)))
5307 (home-page "https://github.com/tkf/emacs-request")
5308 (synopsis "Package for speaking HTTP in Emacs Lisp")
5309 (description "This package provides a HTTP request library with multiple
5310 backends. It supports url.el which is shipped with Emacs and the curl command
5311 line program.")
5312 (license license:gpl3+)))
5313
5314 (define-public emacs-rudel
5315 (package
5316 (name "emacs-rudel")
5317 (version "0.3.1")
5318 (source
5319 (origin
5320 (method url-fetch)
5321 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
5322 version ".tar"))
5323 (sha256
5324 (base32
5325 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
5326 (build-system emacs-build-system)
5327 (home-page "http://rudel.sourceforge.net/")
5328 (synopsis "Collaborative editing framework")
5329 (description
5330 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
5331 is to share buffers with other users in order to edit the contents of those
5332 buffers collaboratively. Rudel supports multiple backends to enable
5333 communication with other collaborative editors using different protocols,
5334 though currently Obby (for use with the Gobby editor) is the only
5335 fully-functional one.")
5336 (license license:gpl3+)))
5337
5338 (define-public emacs-hydra
5339 (package
5340 (name "emacs-hydra")
5341 (version "0.15.0")
5342 (source
5343 (origin
5344 (method git-fetch)
5345 (uri (git-reference
5346 (url "https://github.com/abo-abo/hydra")
5347 (commit version)))
5348 (file-name (git-file-name name version))
5349 (sha256
5350 (base32
5351 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
5352 (build-system emacs-build-system)
5353 (arguments
5354 `(#:tests? #t
5355 #:test-command '("make" "test")))
5356 (home-page "https://github.com/abo-abo/hydra")
5357 (synopsis "Make Emacs bindings that stick around")
5358 (description
5359 "This package can be used to tie related commands into a family of short
5360 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
5361 the prefixed binding), all the heads can be called in succession with only a
5362 short extension. Any binding that isn't the Hydra's head vanquishes the
5363 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
5364 serve its original purpose, calling the command assigned to it. This makes
5365 the Hydra very seamless; it's like a minor mode that disables itself
5366 automatically.")
5367 (license license:gpl3+)))
5368
5369 (define-public emacs-ivy
5370 (package
5371 (name "emacs-ivy")
5372 (version "0.13.0")
5373 (source
5374 (origin
5375 (method git-fetch)
5376 (uri (git-reference
5377 (url "https://github.com/abo-abo/swiper.git")
5378 (commit version)))
5379 (file-name (git-file-name name version))
5380 (sha256
5381 (base32
5382 "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"))))
5383 (build-system emacs-build-system)
5384 (arguments
5385 `(#:phases
5386 (modify-phases %standard-phases
5387 (add-after 'install 'install-doc
5388 (lambda* (#:key outputs #:allow-other-keys)
5389 (let* ((out (assoc-ref outputs "out"))
5390 (info (string-append out "/share/info")))
5391 (with-directory-excursion "doc"
5392 (invoke "makeinfo" "ivy.texi")
5393 (install-file "ivy.info" info)
5394 #t))))
5395 (add-before 'check 'make-dummy-git-directory
5396 (lambda _
5397 (mkdir-p ".git")))
5398 (add-after 'check 'delete-dummy-git-directory
5399 (lambda _
5400 (delete-file-recursively ".git"))))
5401 #:tests? #t
5402 #:test-command '("make" "test")))
5403 (propagated-inputs
5404 `(("emacs-hydra" ,emacs-hydra)))
5405 (native-inputs
5406 `(("texinfo" ,texinfo)
5407 ("emacs-wgrep" ,emacs-wgrep)))
5408 (home-page "http://oremacs.com/swiper/")
5409 (synopsis "Incremental vertical completion for Emacs")
5410 (description
5411 "This package provides @code{ivy-read} as an alternative to
5412 @code{completing-read} and similar functions. No attempt is made to determine
5413 the best candidate. Instead, the user can navigate candidates with
5414 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
5415 splitting the input text by spaces and re-building it into a regular
5416 expression.")
5417 (license license:gpl3+)))
5418
5419 (define-public emacs-ivy-xref
5420 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
5421 (revision "1"))
5422 (package
5423 (name "emacs-ivy-xref")
5424 (version (git-version "0.1" revision commit))
5425 (source
5426 (origin
5427 (method git-fetch)
5428 (uri (git-reference
5429 (url "https://github.com/alexmurray/ivy-xref.git")
5430 (commit commit)))
5431 (file-name (git-file-name name version))
5432 (sha256
5433 (base32
5434 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
5435 (build-system emacs-build-system)
5436 (propagated-inputs
5437 `(("emacs-ivy" ,emacs-ivy)))
5438 (home-page "https://github.com/alexmurray/ivy-xref")
5439 (synopsis "Ivy interface for @code{xref}")
5440 (description "This package provides an Ivy interface for selecting from
5441 @code{xref} results.")
5442 (license license:gpl3))))
5443
5444 (define-public emacs-ivy-pass
5445 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
5446 (revision "1"))
5447 (package
5448 (name "emacs-ivy-pass")
5449 (version (git-version "0.1" revision commit))
5450 (source
5451 (origin
5452 (method git-fetch)
5453 (uri (git-reference
5454 (url "https://github.com/ecraven/ivy-pass.git")
5455 (commit commit)))
5456 (file-name (git-file-name name version))
5457 (sha256
5458 (base32
5459 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
5460 (build-system emacs-build-system)
5461 (propagated-inputs
5462 `(("emacs-ivy" ,emacs-ivy)
5463 ("emacs-password-store" ,emacs-password-store)
5464 ("password-store" ,password-store)))
5465 (home-page "https://github.com/ecraven/ivy-pass")
5466 (synopsis "Ivy interface for password store (pass)")
5467 (description "This package provides an Ivy interface for working with
5468 the password store @code{pass}.")
5469 (license license:gpl3))))
5470
5471 (define-public emacs-ivy-yasnippet
5472 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
5473 (revision "2"))
5474 (package
5475 (name "emacs-ivy-yasnippet")
5476 (version (git-version "0.1" revision commit))
5477 (source
5478 (origin
5479 (method git-fetch)
5480 (uri (git-reference
5481 (url "https://github.com/mkcms/ivy-yasnippet.git")
5482 (commit commit)))
5483 (file-name (git-file-name name version))
5484 (sha256
5485 (base32
5486 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
5487 (build-system emacs-build-system)
5488 (propagated-inputs
5489 `(("emacs-ivy" ,emacs-ivy)
5490 ("emacs-yasnippet" ,emacs-yasnippet)
5491 ("emacs-dash" ,emacs-dash)))
5492 (home-page "https://github.com/mkcms/ivy-yasnippet")
5493 (synopsis "Preview @code{yasnippets} with @code{ivy}")
5494 (description "This package allows you to select @code{yasnippet}
5495 snippets using @code{ivy} completion. When current selection changes in the
5496 minibuffer, the snippet contents are temporarily expanded in the buffer. To
5497 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
5498 @code{yas-minor-mode} first).")
5499 (license license:gpl3+))))
5500
5501 (define-public emacs-ivy-rich
5502 ;; The latest release version has a small mistake that has since been fixed,
5503 ;; so we use a more recent commit.
5504 (let ((commit "7a667b135983a1f3ad33d6db8514638e2a3bdfb3")
5505 (revision "2"))
5506 (package
5507 (name "emacs-ivy-rich")
5508 (version (git-version "0.1.4" revision commit))
5509 (source
5510 (origin
5511 (method git-fetch)
5512 (uri (git-reference
5513 (url "https://github.com/Yevgnen/ivy-rich.git")
5514 (commit commit)))
5515 (file-name (git-file-name name version))
5516 (sha256
5517 (base32 "1v5j6pak2j1wjw19y7rx9rhxif0bj2h47xyl2knfcl6fi4qiqm9y"))))
5518 (build-system emacs-build-system)
5519 (propagated-inputs
5520 `(("emacs-ivy" ,emacs-ivy)))
5521 (home-page "https://github.com/Yevgnen/ivy-rich")
5522 (synopsis "More friendly interface for @code{ivy}")
5523 (description
5524 "This package extends @code{ivy} by showing more information in the
5525 minibuffer for each candidate. It adds columns showing buffer modes, file
5526 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
5527 show icons as well.")
5528 (license license:gpl3+))))
5529
5530 (define-public emacs-avy
5531 (package
5532 (name "emacs-avy")
5533 (version "0.5.0")
5534 (source
5535 (origin
5536 (method git-fetch)
5537 (uri (git-reference
5538 (url "https://github.com/abo-abo/avy.git")
5539 (commit version)))
5540 (file-name (git-file-name name version))
5541 (sha256
5542 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
5543 (build-system emacs-build-system)
5544 (arguments
5545 `(#:tests? #t
5546 #:test-command '("make" "test")))
5547 (home-page "https://github.com/abo-abo/avy")
5548 (synopsis "Tree-based completion for Emacs")
5549 (description
5550 "This package provides a generic completion method based on building a
5551 balanced decision tree with each candidate being a leaf. To traverse the tree
5552 from the root to a desired leaf, typically a sequence of @code{read-key} can
5553 be used.
5554
5555 In order for @code{read-key} to make sense, the tree needs to be visualized
5556 appropriately, with a character at each branch node. So this completion
5557 method works only for things that you can see on your screen, all at once,
5558 such as the positions of characters, words, line beginnings, links, or
5559 windows.")
5560 (license license:gpl3+)))
5561
5562 (define-public emacs-ace-window
5563 ;; last release version is from 2015
5564 (let ((commit "a5344925e399e1f015721cda6cf5db03c90ab87a")
5565 (revision "1"))
5566 (package
5567 (name "emacs-ace-window")
5568 (version (git-version "0.9.0" revision commit))
5569 (source
5570 (origin
5571 (method git-fetch)
5572 (uri (git-reference
5573 (url "https://github.com/abo-abo/ace-window.git")
5574 (commit commit)))
5575 (file-name (git-file-name name version))
5576 (sha256
5577 (base32
5578 "18jm8gfgnf6ja9aarws5650lw2zfi3wdwc5j8r5ijn5fcqhfy7rc"))))
5579 (build-system emacs-build-system)
5580 (propagated-inputs
5581 `(("emacs-avy" ,emacs-avy)))
5582 (home-page "https://github.com/abo-abo/ace-window")
5583 (synopsis "Quickly switch windows in Emacs")
5584 (description
5585 "@code{ace-window} is meant to replace @code{other-window}.
5586 In fact, when there are only two windows present, @code{other-window} is
5587 called. If there are more, each window will have its first character
5588 highlighted. Pressing that character will switch to that window.")
5589 (license license:gpl3+))))
5590
5591 (define-public emacs-iedit
5592 ;; Last release version was in 2016.
5593 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
5594 (revision "1"))
5595 (package
5596 (name "emacs-iedit")
5597 (version (git-version "0.9.9.9" revision commit))
5598 (source
5599 (origin
5600 (method git-fetch)
5601 (uri (git-reference
5602 (url "https://github.com/victorhge/iedit.git")
5603 (commit commit)))
5604 (file-name (git-file-name name version))
5605 (sha256
5606 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
5607 (build-system emacs-build-system)
5608 (home-page "http://www.emacswiki.org/emacs/Iedit")
5609 (synopsis "Edit multiple regions in the same way simultaneously")
5610 (description
5611 "This package is an Emacs minor mode and allows you to edit one
5612 occurrence of some text in a buffer (possibly narrowed) or region, and
5613 simultaneously have other occurrences edited in the same way.
5614
5615 You can also use Iedit mode as a quick way to temporarily show only the buffer
5616 lines that match the current text being edited. This gives you the effect of
5617 a temporary @code{keep-lines} or @code{occur}.")
5618 (license license:gpl3+))))
5619
5620 (define-public emacs-zoutline
5621 (package
5622 (name "emacs-zoutline")
5623 (version "0.2.0")
5624 (source
5625 (origin
5626 (method git-fetch)
5627 (uri (git-reference
5628 (url "https://github.com/abo-abo/zoutline")
5629 (commit version)))
5630 (sha256
5631 (base32
5632 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
5633 (file-name (git-file-name name version))))
5634 (build-system emacs-build-system)
5635 (home-page "https://github.com/abo-abo/zoutline")
5636 (synopsis "Simple outline library")
5637 (description
5638 "This library provides helpers for outlines. Outlines allow users to
5639 navigate code in a tree-like fashion.")
5640 (license license:gpl3+)))
5641
5642 (define-public emacs-lispy
5643 (package
5644 (name "emacs-lispy")
5645 (version "0.27.0")
5646 (home-page "https://github.com/abo-abo/lispy")
5647 (source (origin
5648 (method git-fetch)
5649 (uri (git-reference
5650 (url "https://github.com/abo-abo/lispy")
5651 (commit version)))
5652 (sha256
5653 (base32
5654 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
5655 (file-name (git-file-name name version))))
5656 (build-system emacs-build-system)
5657 (propagated-inputs
5658 `(("emacs-ace-window" ,emacs-ace-window)
5659 ("emacs-iedit" ,emacs-iedit)
5660 ("emacs-ivy" ,emacs-ivy)
5661 ("emacs-hydra" ,emacs-hydra)
5662 ("emacs-zoutline" ,emacs-zoutline)))
5663 (native-inputs
5664 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5665 ("emacs-undercover" ,emacs-undercover)))
5666 (arguments
5667 `(#:include (cons* "^lispy-clojure\\.clj$"
5668 "^lispy-python\\.py$"
5669 %default-include)
5670 #:phases
5671 ;; XXX: one failing test involving python evaluation
5672 (modify-phases %standard-phases
5673 (add-before 'check 'make-test-writable
5674 (lambda _
5675 (make-file-writable "lispy-test.el")
5676 #t))
5677 (add-before 'check 'remove-python-eval-test
5678 (lambda _
5679 (emacs-batch-edit-file "lispy-test.el"
5680 `(progn
5681 (progn
5682 (goto-char (point-min))
5683 (re-search-forward
5684 "ert-deftest lispy-eval-python-str")
5685 (beginning-of-line)
5686 (kill-sexp))
5687 (basic-save-buffer)))
5688 #t)))
5689 #:tests? #t
5690 #:test-command '("make" "test")))
5691 (synopsis "Modal S-expression editing")
5692 (description
5693 "Due to the structure of Lisp syntax it's very rare for the programmer
5694 to want to insert characters right before \"(\" or right after \")\". Thus
5695 unprefixed printable characters can be used to call commands when the point is
5696 at one of these special locations. Lispy provides unprefixed keybindings for
5697 S-expression editing when point is at the beginning or end of an
5698 S-expression.")
5699 (license license:gpl3+)))
5700
5701 (define-public emacs-lispyville
5702 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
5703 (revision "1"))
5704 (package
5705 (name "emacs-lispyville")
5706 (version (git-version "0.1" revision commit))
5707 (home-page "https://github.com/noctuid/lispyville")
5708 (source (origin
5709 (method git-fetch)
5710 (uri (git-reference (url home-page) (commit commit)))
5711 (sha256
5712 (base32
5713 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
5714 (file-name (git-file-name name version))))
5715 (propagated-inputs
5716 `(("emacs-evil" ,emacs-evil)
5717 ("emacs-lispy" ,emacs-lispy)))
5718 (build-system emacs-build-system)
5719 (arguments
5720 `(#:phases
5721 ;; XXX: mysterious whitespace issue with one test
5722 (modify-phases %standard-phases
5723 (add-before 'check 'make-test-writable
5724 (lambda _
5725 (make-file-writable "lispyville-test.el")
5726 #t))
5727 (add-after 'make-test-writable 'remove-test
5728 (lambda _
5729 (emacs-batch-edit-file "lispyville-test.el"
5730 `(progn (progn (goto-char (point-min))
5731 (re-search-forward
5732 "ert-deftest lispyville-comment-and-clone-dwim")
5733 (beginning-of-line)
5734 (kill-sexp))
5735 (basic-save-buffer))))))
5736 #:tests? #t
5737 #:test-command '("make" "test")))
5738 (synopsis "Minor mode for integrating Evil with lispy")
5739 (description
5740 "LispyVille's main purpose is to provide a Lisp editing environment
5741 suited towards Evil users. It can serve as a minimal layer on top of lispy
5742 for better integration with Evil, but it does not require the use of lispy’s
5743 keybinding style. The provided commands allow for editing Lisp in normal
5744 state and will work even without lispy being enabled.")
5745 (license license:gpl3+))))
5746
5747 (define-public emacs-lpy
5748 (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
5749 (revision "3"))
5750 (package
5751 (name "emacs-lpy")
5752 (version (git-version "0.1.0" revision commit))
5753 (source
5754 (origin
5755 (method git-fetch)
5756 (uri (git-reference
5757 (url "https://github.com/abo-abo/lpy")
5758 (commit commit)))
5759 (sha256
5760 (base32
5761 "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
5762 (file-name (git-file-name name version))))
5763 (propagated-inputs
5764 `(("emacs-zoutline" ,emacs-zoutline)
5765 ("emacs-lispy" ,emacs-lispy)))
5766 (build-system emacs-build-system)
5767 (home-page "https://github.com/abo-abo/lpy")
5768 (synopsis "Modal editing for Python")
5769 (description
5770 "This package provides a minor mode for Python that binds useful
5771 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
5772 circumstances, and leaves the keys untouched outside of those situations,
5773 allowing unprefixed keys to insert their respective characters as expected.")
5774 (license license:gpl3+))))
5775
5776 (define-public emacs-clojure-mode
5777 (package
5778 (name "emacs-clojure-mode")
5779 (version "5.6.1")
5780 (source
5781 (origin
5782 (method git-fetch)
5783 (uri (git-reference
5784 (url "https://github.com/clojure-emacs/clojure-mode.git")
5785 (commit version)))
5786 (file-name (git-file-name name version))
5787 (sha256
5788 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
5789 (build-system emacs-build-system)
5790 (native-inputs
5791 `(("emacs-dash" ,emacs-dash)
5792 ("emacs-s" ,emacs-s)
5793 ("ert-runner" ,emacs-ert-runner)))
5794 (arguments
5795 `(#:tests? #t
5796 #:test-command '("ert-runner")))
5797 (home-page "https://github.com/clojure-emacs/clojure-mode")
5798 (synopsis "Major mode for Clojure code")
5799 (description
5800 "This Emacs package provides font-lock, indentation, navigation and basic
5801 refactoring for the @uref{http://clojure.org, Clojure programming language}.
5802 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
5803 (license license:gpl3+)))
5804
5805 (define-public emacs-epl
5806 (package
5807 (name "emacs-epl")
5808 (version "0.8")
5809 (source
5810 (origin
5811 (method git-fetch)
5812 (uri (git-reference
5813 (url "https://github.com/cask/epl.git")
5814 (commit version)))
5815 (file-name (git-file-name name version))
5816 (sha256
5817 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
5818 (build-system emacs-build-system)
5819 (home-page "https://github.com/cask/epl")
5820 (synopsis "Emacs Package Library")
5821 (description
5822 "A package management library for Emacs, based on @code{package.el}.
5823
5824 The purpose of this library is to wrap all the quirks and hassle of
5825 @code{package.el} into a sane API.")
5826 (license license:gpl3+)))
5827
5828 (define-public emacs-counsel-projectile
5829 (package
5830 (name "emacs-counsel-projectile")
5831 (version "0.3.0")
5832 (source (origin
5833 (method git-fetch)
5834 (uri (git-reference
5835 (url "https://github.com/ericdanan/counsel-projectile")
5836 (commit version)))
5837 (file-name (git-file-name name version))
5838 (sha256
5839 (base32
5840 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
5841 (build-system emacs-build-system)
5842 (propagated-inputs
5843 `(("emacs-ivy" ,emacs-ivy)
5844 ("emacs-projectile" ,emacs-projectile)))
5845 (home-page "https://github.com/ericdanan/counsel-projectile")
5846 (synopsis "Enhance Projectile with Ivy")
5847 (description
5848 "This package uses Ivy to provide additional actions for Projectile
5849 commands and replacements for existing functions.")
5850 (license license:gpl3+)))
5851
5852 (define-public emacs-queue
5853 (package
5854 (name "emacs-queue")
5855 (version "0.2")
5856 (source (origin
5857 (method url-fetch)
5858 (uri (string-append "https://elpa.gnu.org/packages/queue-"
5859 version ".el"))
5860 (sha256
5861 (base32
5862 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
5863 (build-system emacs-build-system)
5864 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
5865 (synopsis "Queue data structure for Emacs")
5866 (description
5867 "This Emacs library provides queue data structure. These queues can be
5868 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
5869 stack, i.e. elements can be added to the front or back of the queue, and can
5870 be removed from the front. This type of data structure is sometimes called an
5871 \"output-restricted deque\".")
5872 (license license:gpl3+)))
5873
5874 (define-public emacs-pkg-info
5875 (package
5876 (name "emacs-pkg-info")
5877 (version "0.6")
5878 (source
5879 (origin
5880 (method git-fetch)
5881 (uri (git-reference
5882 (url "https://github.com/lunaryorn/pkg-info.el.git")
5883 (commit version)))
5884 (file-name (git-file-name name version))
5885 (sha256
5886 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
5887 (build-system emacs-build-system)
5888 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
5889 (home-page "https://github.com/lunaryorn/pkg-info.el")
5890 (synopsis "Information about Emacs packages")
5891 (description
5892 "This library extracts information from the installed Emacs packages.")
5893 (license license:gpl3+)))
5894
5895 (define-public emacs-spinner
5896 (package
5897 (name "emacs-spinner")
5898 (version "1.7.3")
5899 (source (origin
5900 (method url-fetch)
5901 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
5902 version ".el"))
5903 (sha256
5904 (base32
5905 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
5906 (build-system emacs-build-system)
5907 (home-page "https://github.com/Malabarba/spinner.el")
5908 (synopsis "Emacs mode-line spinner for operations in progress")
5909 (description
5910 "This Emacs package adds spinners and progress-bars to the mode-line for
5911 ongoing operations.")
5912 (license license:gpl3+)))
5913
5914 (define-public emacs-sparql-mode
5915 (package
5916 (name "emacs-sparql-mode")
5917 (version "2.0.1")
5918 (source
5919 (origin
5920 (method git-fetch)
5921 (uri (git-reference
5922 (url "https://github.com/ljos/sparql-mode.git")
5923 (commit (string-append "v" version))))
5924 (file-name (git-file-name name version))
5925 (sha256
5926 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
5927 (build-system emacs-build-system)
5928 (home-page "https://github.com/ljos/sparql-mode")
5929 (synopsis "SPARQL mode for Emacs")
5930 (description "This package provides a major mode for Emacs that provides
5931 syntax highlighting for SPARQL. It also provides a way to execute queries
5932 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
5933 possible to query other endpoints like DBPedia.")
5934 (license license:gpl3+)))
5935
5936 (define-public emacs-better-defaults
5937 (package
5938 (name "emacs-better-defaults")
5939 (version "0.1.3")
5940 (source
5941 (origin
5942 (method git-fetch)
5943 (uri (git-reference
5944 (url "https://github.com/technomancy/better-defaults")
5945 (commit version)))
5946 (file-name (git-file-name name version))
5947 (sha256
5948 (base32
5949 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
5950 (build-system emacs-build-system)
5951 (home-page "https://github.com/technomancy/better-defaults")
5952 (synopsis "Better defaults for Emacs")
5953 (description
5954 "Better defaults attempts to address the most obvious deficiencies of the
5955 Emacs default configuration in uncontroversial ways that nearly everyone can
5956 agree upon.")
5957 (license license:gpl3+)))
5958
5959 (define-public emacs-undohist-el
5960 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
5961 (revision "1"))
5962 (package
5963 (name "emacs-undohist-el")
5964 (version (git-version "0" revision commit))
5965 (source
5966 (origin
5967 (method git-fetch)
5968 (uri (git-reference
5969 (url "https://github.com/m2ym/undohist-el")
5970 (commit commit)))
5971 (file-name (git-file-name name version))
5972 (sha256
5973 (base32
5974 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
5975 (patches
5976 (search-patches "emacs-undohist-ignored.patch"))))
5977 (build-system emacs-build-system)
5978 (home-page "https://github.com/m2ym/undohist-el")
5979 (synopsis "Save undo history between sessions")
5980 (description "This package allows persistent use of undo history for
5981 individual file buffers.")
5982 (license license:gpl3+))))
5983
5984 (define-public emacs-eprime
5985 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
5986 (package
5987 (name "emacs-eprime")
5988 (version (string-append "20140513-" (string-take commit 7)))
5989 (source (origin
5990 (method url-fetch)
5991 (uri (string-append "https://raw.githubusercontent.com"
5992 "/AndrewHynes/eprime-mode/"
5993 commit "/eprime-mode.el"))
5994 (file-name (string-append "eprime-" version ".el"))
5995 (sha256
5996 (base32
5997 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
5998 (build-system emacs-build-system)
5999 (home-page "https://github.com/AndrewHynes/eprime-mode")
6000 (synopsis "E-prime checking mode for Emacs")
6001 (description "This package provides an E-prime checking mode for Emacs
6002 that highlights non-conforming text. The subset of the English language called
6003 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
6004 (license license:gpl3+))))
6005
6006 (define-public emacs-julia-mode
6007 ;; XXX: Upstream version remained stuck at 0.3. See
6008 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
6009 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
6010 (revision "1"))
6011 (package
6012 (name "emacs-julia-mode")
6013 (version (string-append "0.3-" revision "." (string-take commit 8)))
6014 (source
6015 (origin
6016 (method git-fetch)
6017 (uri (git-reference
6018 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
6019 (commit commit)))
6020 (file-name (git-file-name name version))
6021 (sha256
6022 (base32
6023 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
6024 (build-system emacs-build-system)
6025 (arguments
6026 `(#:tests? #t
6027 #:test-command '("emacs" "--batch"
6028 "-l" "julia-mode-tests.el"
6029 "-f" "ert-run-tests-batch-and-exit")))
6030 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
6031 (synopsis "Major mode for Julia")
6032 (description "This Emacs package provides a mode for the Julia
6033 programming language.")
6034 (license license:expat))))
6035
6036 (define-public emacs-smex
6037 (package
6038 (name "emacs-smex")
6039 (version "3.0")
6040 (source (origin
6041 (method url-fetch)
6042 (uri (string-append "https://raw.githubusercontent.com"
6043 "/nonsequitur/smex/" version "/smex.el"))
6044 (file-name (string-append "smex-" version ".el"))
6045 (sha256
6046 (base32
6047 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
6048 (build-system emacs-build-system)
6049 (home-page "https://github.com/nonsequitur/smex/")
6050 (synopsis "M-x interface with Ido-style fuzzy matching")
6051 (description
6052 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
6053 convenient interface to your recently and most frequently used commands. And
6054 to all the other commands, too.")
6055 (license license:gpl3+)))
6056
6057 (define-public emacs-js2-mode
6058 (package
6059 (name "emacs-js2-mode")
6060 (version "20190219")
6061 (source
6062 (origin
6063 (method git-fetch)
6064 (uri (git-reference
6065 (url "https://github.com/mooz/js2-mode.git")
6066 (commit version)))
6067 (file-name (git-file-name name version))
6068 (sha256
6069 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
6070 (build-system emacs-build-system)
6071 (arguments
6072 `(#:tests? #t
6073 #:test-command '("make" "test")))
6074 (home-page "https://github.com/mooz/js2-mode/")
6075 (synopsis "Improved JavaScript editing mode for Emacs")
6076 (description
6077 "Js2-mode provides a JavaScript major mode for Emacs that is more
6078 advanced than the built-in javascript-mode. Features include accurate syntax
6079 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
6080 errors and strict-mode warnings, smart line-wrapping within comments and
6081 strings, and code folding.")
6082 (license license:gpl3+)))
6083
6084 (define-public emacs-nodejs-repl
6085 (package
6086 (name "emacs-nodejs-repl")
6087 (version "0.2.2")
6088 (source (origin
6089 (method git-fetch)
6090 (uri (git-reference
6091 (url "https://github.com/abicky/nodejs-repl.el")
6092 (commit version)))
6093 (file-name (git-file-name name version))
6094 (sha256
6095 (base32
6096 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
6097 (build-system emacs-build-system)
6098 (inputs
6099 `(("node" ,node)))
6100 (native-inputs
6101 `(("emacs-ert-expectations" ,emacs-ert-expectations)))
6102 (arguments
6103 `(#:phases
6104 (modify-phases %standard-phases
6105 (add-after 'unpack 'set-shell
6106 ;; Setting the SHELL environment variable is required for the tests
6107 ;; to find sh.
6108 (lambda _
6109 (setenv "SHELL" (which "sh"))
6110 #t))
6111 (add-after 'unpack 'configure
6112 (lambda* (#:key inputs outputs #:allow-other-keys)
6113 (let ((node (assoc-ref inputs "node")))
6114 ;; Specify the absolute file names of the various
6115 ;; programs so that everything works out-of-the-box.
6116 (make-file-writable "nodejs-repl.el")
6117 (emacs-substitute-variables
6118 "nodejs-repl.el"
6119 ("nodejs-repl-command"
6120 (string-append node "/bin/node")))))))
6121 #:tests? #t
6122 #:test-command '("emacs" "-Q" "--batch"
6123 "-L" "."
6124 "-l" "test/test.el"
6125 "-f" "ert-run-tests-batch-and-exit")))
6126 (home-page "https://github.com/abicky/nodejs-repl.el")
6127 (synopsis "Node.js REPL inside Emacs")
6128 (description
6129 "This program is derived from comint-mode and provides the following
6130 features:
6131
6132 @itemize
6133 @item TAB completion same as Node.js REPL
6134 @item file name completion in string
6135 @item incremental history search
6136 @end itemize")
6137 (license license:gpl3+)))
6138
6139 (define-public emacs-typescript-mode
6140 (package
6141 (name "emacs-typescript-mode")
6142 (version "0.3")
6143 (source (origin
6144 (method git-fetch)
6145 (uri (git-reference
6146 (url "https://github.com/ananthakumaran/typescript.el")
6147 (commit (string-append "v" version))))
6148 (file-name (git-file-name name version))
6149 (sha256
6150 (base32
6151 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
6152 (build-system emacs-build-system)
6153 (home-page "https://github.com/ananthakumaran/typescript.el")
6154 (synopsis "Emacs major mode for editing Typescript code")
6155 (description
6156 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
6157 This is much more robust and works with @code{cc-mode}'s comment
6158 filling (mostly). The modifications to the original @code{javascript.el} mode
6159 mainly consisted in replacing \"javascript\" with \"typescript\"
6160
6161 The main features of this Typescript mode are syntactic highlighting (enabled
6162 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
6163 indentation and filling of comments and C preprocessor fontification.")
6164 (license license:gpl3+)))
6165
6166 (define-public emacs-tide
6167 (package
6168 (name "emacs-tide")
6169 (version "3.2.3")
6170 (source (origin
6171 (method git-fetch)
6172 (uri (git-reference
6173 (url "https://github.com/ananthakumaran/tide")
6174 (commit (string-append "v" version))))
6175 (file-name (git-file-name name version))
6176 (sha256
6177 (base32
6178 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
6179 (build-system emacs-build-system)
6180 (propagated-inputs
6181 `(("emacs-dash" ,emacs-dash)
6182 ("emacs-s" ,emacs-s)
6183 ("emacs-flycheck" ,emacs-flycheck)
6184 ("emacs-typescript-mode" ,emacs-typescript-mode)))
6185 (home-page "https://github.com/ananthakumaran/tide")
6186 (synopsis "Typescript IDE for Emacs")
6187 (description
6188 "Tide is an Interactive Development Environment (IDE) for Emacs which
6189 provides the following features:
6190
6191 @itemize
6192 @item ElDoc
6193 @item Auto complete
6194 @item Flycheck
6195 @item Jump to definition, Jump to type definition
6196 @item Find occurrences
6197 @item Rename symbol
6198 @item Imenu
6199 @item Compile On Save
6200 @item Highlight Identifiers
6201 @item Code Fixes
6202 @item Code Refactor
6203 @item Organize Imports
6204 @end itemize")
6205 (license license:gpl3+)))
6206
6207 (define-public emacs-markdown-mode
6208 (package
6209 (name "emacs-markdown-mode")
6210 (version "2.3")
6211 (source (origin
6212 (method git-fetch)
6213 (uri (git-reference
6214 (url "https://github.com/jrblevin/markdown-mode.git")
6215 (commit (string-append "v" version))))
6216 (file-name (git-file-name name version))
6217 (sha256
6218 (base32
6219 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7"))))
6220 (build-system emacs-build-system)
6221 (home-page "http://jblevins.org/projects/markdown-mode/")
6222 (synopsis "Emacs Major mode for Markdown files")
6223 (description
6224 "Markdown-mode is a major mode for editing Markdown-formatted text files
6225 in Emacs.")
6226 (license license:gpl3+)))
6227
6228 (define-public emacs-evil-markdown
6229 (let ((commit "46cd81b37991c4325fc24015a610f832b0ff995d")
6230 (revision "1"))
6231 (package
6232 (name "emacs-evil-markdown")
6233 (version (git-version "0.0.2" revision commit))
6234 (source (origin
6235 (method git-fetch)
6236 (uri (git-reference
6237 (url "https://github.com/Somelauw/evil-markdown.git")
6238 (commit commit)))
6239 (file-name (git-file-name name version))
6240 (sha256
6241 (base32
6242 "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4"))))
6243 (build-system emacs-build-system)
6244 (propagated-inputs
6245 `(("emacs-markdown-mode" ,emacs-markdown-mode)
6246 ("emacs-evil" ,emacs-evil)))
6247 (home-page "http://jblevins.org/projects/evil-markdown/")
6248 (synopsis "Evil keybindings for @code{markdown-mode}")
6249 (description
6250 "This package provides custom text objects and bindings for
6251 @code{markdown-mode}.")
6252 (license license:gpl3+))))
6253
6254 (define-public emacs-edit-indirect
6255 (package
6256 (name "emacs-edit-indirect")
6257 (version "0.1.5")
6258 (source
6259 (origin
6260 (method git-fetch)
6261 (uri (git-reference
6262 (url "https://github.com/Fanael/edit-indirect")
6263 (commit version)))
6264 (file-name (git-file-name name version))
6265 (sha256
6266 (base32
6267 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
6268 (build-system emacs-build-system)
6269 (home-page "https://github.com/Fanael/edit-indirect")
6270 (synopsis "Edit regions in separate buffers")
6271 (description "This package allows you to edit regions in separate buffers,
6272 like @code{org-edit-src-code} but for arbitrary regions.")
6273 (license license:gpl3+)))
6274
6275 (define-public emacs-projectile
6276 (package
6277 (name "emacs-projectile")
6278 (version "2.0.0")
6279 (source (origin
6280 (method url-fetch)
6281 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
6282 "/projectile/v" version "/projectile.el"))
6283 (file-name (string-append "projectile-" version ".el"))
6284 (sha256
6285 (base32
6286 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
6287 (build-system emacs-build-system)
6288 (propagated-inputs
6289 `(("emacs-dash" ,emacs-dash)
6290 ("emacs-pkg-info" ,emacs-pkg-info)))
6291 (home-page "https://github.com/bbatsov/projectile")
6292 (synopsis "Manage and navigate projects in Emacs easily")
6293 (description
6294 "This library provides easy project management and navigation. The
6295 concept of a project is pretty basic - just a folder containing special file.
6296 Currently git, mercurial and bazaar repos are considered projects by default.
6297 If you want to mark a folder manually as a project just create an empty
6298 .projectile file in it.")
6299 (license license:gpl3+)))
6300
6301 (define-public emacs-skeletor
6302 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
6303 (revision "1"))
6304 (package
6305 (name "emacs-skeletor")
6306 (version (git-version "1.6.1" revision commit))
6307 (source (origin
6308 (method git-fetch)
6309 (uri (git-reference
6310 (url "https://github.com/chrisbarrett/skeletor.el.git")
6311 (commit commit)))
6312 (file-name (git-file-name name version))
6313 (sha256
6314 (base32
6315 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
6316 (build-system emacs-build-system)
6317 (propagated-inputs
6318 `(("emacs-s" ,emacs-s)
6319 ("emacs-f" ,emacs-f)
6320 ("emacs-dash" ,emacs-dash)
6321 ("emacs-let-alist" ,emacs-let-alist)))
6322 (native-inputs
6323 `(("emacs-ert-runner" ,emacs-ert-runner)))
6324 (arguments
6325 `(#:include (cons "^project-skeletons\\/" %default-include)
6326 ;; XXX: one failing test involving initializing a git repo
6327 #:phases
6328 (modify-phases %standard-phases
6329 (add-before 'check 'make-test-writable
6330 (lambda _
6331 (make-file-writable "test/skeletor-test.el")
6332 #t))
6333 (add-before 'check 'remove-git-test
6334 (lambda _
6335 (emacs-batch-edit-file "test/skeletor-test.el"
6336 `(progn
6337 (progn
6338 (goto-char (point-min))
6339 (re-search-forward
6340 "ert-deftest initialises-git-repo")
6341 (beginning-of-line)
6342 (kill-sexp))
6343 (basic-save-buffer)))
6344 #t)))
6345 #:tests? #t
6346 #:test-command '("ert-runner")))
6347 (home-page "https://github.com/chrisbarrett/skeletor.el")
6348 (synopsis "Project skeletons for Emacs")
6349 (description "This package provides project templates and automates the
6350 mundane parts of setting up a new project, such as version control, licenses,
6351 and tooling.")
6352 (license license:gpl3+))))
6353
6354 (define-public emacs-elfeed
6355 (package
6356 (name "emacs-elfeed")
6357 (version "3.2.0")
6358 (source
6359 (origin
6360 (method git-fetch)
6361 (uri (git-reference
6362 (url "https://github.com/skeeto/elfeed.git")
6363 (commit version)))
6364 (file-name (git-file-name name version))
6365 (sha256
6366 (base32 "0m0a35210pb4yf6m8mzaq6nkl9x6fphjjqyl3dzygnmmzxkc8aw2"))))
6367 (build-system emacs-build-system)
6368 (arguments
6369 `(#:tests? #t
6370 #:test-command '("make" "test")))
6371 (home-page "https://github.com/skeeto/elfeed")
6372 (synopsis "Atom/RSS feed reader for Emacs")
6373 (description
6374 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
6375 and RSS, with a user interface inspired by notmuch.")
6376 (license license:gpl3+)))
6377
6378 (define-public emacs-elfeed-org
6379 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
6380 (package
6381 (name "emacs-elfeed-org")
6382 (version (git-version "0.1" "1" commit))
6383 (source
6384 (origin
6385 (method git-fetch)
6386 (uri (git-reference
6387 (url "https://github.com/remyhonig/elfeed-org.git")
6388 (commit commit)))
6389 (file-name (git-file-name name version))
6390 (sha256
6391 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
6392 (build-system emacs-build-system)
6393 (propagated-inputs
6394 `(("emacs-elfeed" ,emacs-elfeed)
6395 ("emacs-org" ,emacs-org)
6396 ("emacs-dash" ,emacs-dash)
6397 ("emacs-s" ,emacs-s)))
6398 (native-inputs
6399 `(("ert-runner" ,emacs-ert-runner)
6400 ("emacs-xtest" ,emacs-xtest)))
6401 (arguments
6402 `(#:tests? #t
6403 #:test-command '("ert-runner" "-L" "org-mode/lisp")
6404 #:phases
6405 (modify-phases %standard-phases
6406 (add-before 'check 'chmod
6407 (lambda _
6408 (chmod "test/fixture-mark-feed-ignore.org" #o644)
6409 #t)))))
6410 (home-page "https://github.com/remyhonig/elfeed-org")
6411 (synopsis "Configure Elfeed with an Org-mode file")
6412 (description
6413 "@code{elfeed-org} lets you manage your Elfeed subscriptions
6414 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
6415 the regular flat list, where there is no hierarchy and tag names are
6416 duplicated a lot. Org-mode makes the book keeping of tags and feeds
6417 much easier.")
6418 (license license:gpl3+))))
6419
6420 (define-public emacs-el-x
6421 (package
6422 (name "emacs-el-x")
6423 (version "0.3.1")
6424 (source (origin
6425 (method git-fetch)
6426 (uri (git-reference
6427 (url "https://github.com/sigma/el-x.git")
6428 (commit (string-append "v" version))))
6429 (file-name (git-file-name name version))
6430 (sha256
6431 (base32
6432 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
6433 (build-system emacs-build-system)
6434 (arguments
6435 `(#:phases
6436 (modify-phases %standard-phases
6437 ;; Move the source files to the top level, which is included in
6438 ;; the EMACSLOADPATH.
6439 (add-after 'unpack 'move-source-files
6440 (lambda _
6441 (let ((el-files (find-files "./lisp" ".*\\.el$")))
6442 (for-each (lambda (f)
6443 (rename-file f (basename f)))
6444 el-files))
6445 #t)))))
6446 (home-page "https://github.com/sigma/el-x")
6447 (synopsis "Emacs Lisp extensions")
6448 (description "command@{emacs-el-x} defines the @code{dflet} macro to
6449 provide the historic behavior of @code{flet}, as well as
6450 @code{declare-function} stub for older Emacs.")
6451 (license license:gpl2+)))
6452
6453 (define-public emacs-mocker
6454 (package
6455 (name "emacs-mocker")
6456 (version "0.3.1")
6457 (source (origin
6458 (method git-fetch)
6459 (uri (git-reference
6460 (url "https://github.com/sigma/mocker.el.git")
6461 (commit (string-append "v" version))))
6462 (file-name (git-file-name name version))
6463 (sha256
6464 (base32
6465 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
6466 (build-system emacs-build-system)
6467 (arguments
6468 `(#:tests? #t
6469 #:test-command '("ert-runner")))
6470 (native-inputs
6471 `(("ert-runner" ,emacs-ert-runner)))
6472 (propagated-inputs
6473 `(("emacs-el-x" ,emacs-el-x)))
6474 (home-page "https://github.com/sigma/mocker.el")
6475 (synopsis "Mocking framework for Emacs Lisp")
6476 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
6477 It uses regular Lisp rather than a domain specific language (DSL), which
6478 maximizes flexibility (at the expense of conciseness).")
6479 (license license:gpl2+)))
6480
6481 (define-public emacs-find-file-in-project
6482 (package
6483 (name "emacs-find-file-in-project")
6484 (version "5.4.7")
6485 (source (origin
6486 (method git-fetch)
6487 (uri (git-reference
6488 (url "https://github.com/technomancy/find-file-in-project.git")
6489 (commit version)))
6490 (file-name (git-file-name name version))
6491 (sha256
6492 (base32
6493 "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr"))))
6494 (build-system emacs-build-system)
6495 (arguments
6496 `(#:phases
6497 (modify-phases %standard-phases
6498 (add-before 'check 'set-shell
6499 ;; Otherwise Emacs shell-file-name is set to "/bin/sh", which doesn't
6500 ;; work.
6501 (lambda _
6502 (setenv "SHELL" (which "sh"))
6503 #t)))
6504 #:tests? #t
6505 #:test-command '("./tests/test.sh")))
6506 (home-page "https://github.com/technomancy/find-file-in-project")
6507 (synopsis "File/directory finder for Emacs")
6508 (description "@code{find-file-in-project} allows to find files or
6509 directories quickly in the current project. The project root is detected
6510 automatically when Git, Subversion or Mercurial are used. It also provides
6511 functions to assist in reviewing changes on files.")
6512 (license license:gpl3+)))
6513
6514 (define-public emacs-pyvenv
6515 (package
6516 (name "emacs-pyvenv")
6517 (version "1.20")
6518 (source (origin
6519 (method git-fetch)
6520 (uri (git-reference
6521 (url "https://github.com/jorgenschaefer/pyvenv.git")
6522 (commit (string-append "v" version))))
6523 (file-name (git-file-name name version))
6524 (sha256
6525 (base32
6526 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
6527 (build-system emacs-build-system)
6528 (arguments
6529 `(#:phases
6530 (modify-phases %standard-phases
6531 ;; This phase incorrectly attempts to substitute "activate" and fails
6532 ;; doing so.
6533 (delete 'patch-el-files))
6534 #:tests? #t
6535 #:test-command '("ert-runner")))
6536 (native-inputs
6537 `(("ert-runner" ,emacs-ert-runner)
6538 ("emacs-mocker" ,emacs-mocker)))
6539 (home-page "https://github.com/jorgenschaefer/pyvenv")
6540 (synopsis "Python virtual environment interface for Emacs")
6541 (description "pyvenv.el is a minor mode to support using Python virtual
6542 environments (virtualenv) inside Emacs.")
6543 (license license:gpl3+)))
6544
6545 (define-public emacs-highlight-indentation
6546 ;; Last release version is from 2015.
6547 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
6548 (revision "1"))
6549 (package
6550 (name "emacs-highlight-indentation")
6551 (version (git-version "0.7.0" revision commit))
6552 (source
6553 (origin
6554 (method git-fetch)
6555 (uri (git-reference
6556 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
6557 (commit commit)))
6558 (file-name (git-file-name name version))
6559 (sha256
6560 (base32
6561 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
6562 (build-system emacs-build-system)
6563 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
6564 (synopsis "Highlighting indentation for Emacs")
6565 (description "This package provides two minor modes to highlight
6566 indentation guides in Emacs:
6567
6568 @enumerate
6569 @item @code{highlight-indentation-mode}, which displays guidelines
6570 indentation (space indentation only).
6571 @item @code{highlight-indentation-current-column-mode}, which displays
6572 guidelines for the current-point indentation (space indentation only).
6573 @end enumerate")
6574 (license license:gpl2+))))
6575
6576 (define-public emacs-elpy
6577 (package
6578 (name "emacs-elpy")
6579 (version "1.31.0")
6580 (source (origin
6581 (method git-fetch)
6582 (uri (git-reference
6583 (url "https://github.com/jorgenschaefer/elpy.git")
6584 (commit version)))
6585 (file-name (git-file-name name version))
6586 (sha256
6587 (base32
6588 "0bvmgqs3c80bhs9v5ymgadv7vk4iamha10y7rl09pixmjm4mzagk"))))
6589 (build-system emacs-build-system)
6590 (arguments
6591 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
6592 #:phases
6593 ;; TODO: Make `elpy-config' display Guix commands :)
6594 (modify-phases %standard-phases
6595 ;; One elpy test depends on being run inside a Python virtual
6596 ;; environment to pass. We have nothing to gain from doing so here,
6597 ;; so we just trick Elpy into thinking we are (see:
6598 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
6599 (add-before 'check 'fake-virtualenv
6600 (lambda _
6601 (setenv "VIRTUAL_ENV" "/tmp")
6602 #t))
6603 (add-before 'check 'build-doc
6604 (lambda _
6605 (with-directory-excursion "docs"
6606 (invoke "make" "info" "man"))
6607 ;; Move .info file at the root so that it can installed by the
6608 ;; 'move-doc phase.
6609 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
6610 #t))
6611 (add-after 'build-doc 'install-manpage
6612 (lambda* (#:key outputs #:allow-other-keys)
6613 (let* ((out (assoc-ref outputs "out"))
6614 (man1 (string-append out "/share/man/man1")))
6615 (mkdir-p man1)
6616 (copy-file "docs/_build/man/elpy.1"
6617 (string-append man1 "/elpy.1")))
6618 #t)))
6619 #:tests? #t
6620 #:test-command '("ert-runner")))
6621 (propagated-inputs
6622 `(("emacs-company" ,emacs-company)
6623 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
6624 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
6625 ("emacs-yasnippet" ,emacs-yasnippet)
6626 ("pyvenv" ,emacs-pyvenv)
6627 ("s" ,emacs-s)))
6628 (native-inputs
6629 `(("ert-runner" ,emacs-ert-runner)
6630 ("emacs-f" ,emacs-f)
6631 ("python" ,python-wrapper)
6632 ("python-autopep8" ,python-autopep8)
6633 ("python-black" ,python-black)
6634 ("python-flake8" ,python-flake8)
6635 ("python-jedi" ,python-jedi)
6636 ("python-yapf" ,python-yapf)
6637 ;; For documentation.
6638 ("python-sphinx" ,python-sphinx)
6639 ("texinfo" ,texinfo)))
6640 (home-page "https://github.com/jorgenschaefer/elpy")
6641 (synopsis "Python development environment for Emacs")
6642 (description "Elpy brings powerful Python editing to Emacs. It combines
6643 and configures a number of other packages written in Emacs Lisp as well as
6644 Python, together offering features such as navigation, documentation,
6645 completion, interactive development and more.")
6646 (license license:gpl3+)))
6647
6648 (define-public emacs-rainbow-delimiters
6649 (package
6650 (name "emacs-rainbow-delimiters")
6651 (version "2.1.3")
6652 (source (origin
6653 (method git-fetch)
6654 (uri (git-reference
6655 (url "https://github.com/Fanael/rainbow-delimiters.git")
6656 (commit version)))
6657 (file-name (git-file-name name version))
6658 (sha256
6659 (base32
6660 "0vs9pf8lqq5p5qz1770pxgw47ym4xj8axxmwamn66br59mykdhv0"))))
6661 (build-system emacs-build-system)
6662 (home-page "https://github.com/Fanael/rainbow-delimiters")
6663 (arguments
6664 `(#:tests? #t
6665 #:test-command '("emacs" "-Q" "-batch"
6666 "-l" "rainbow-delimiters-test.el"
6667 "-f" "ert-run-tests-batch-and-exit")))
6668 (synopsis "Highlight brackets according to their depth")
6669 (description
6670 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
6671 highlights parentheses, brackets, and braces according to their depth. Each
6672 successive level is highlighted in a different color, making it easy to spot
6673 matching delimiters, orient yourself in the code, and tell which statements
6674 are at a given level.")
6675 (license license:gpl3+)))
6676
6677 (define-public emacs-rainbow-identifiers
6678 (package
6679 (name "emacs-rainbow-identifiers")
6680 (version "0.2.2")
6681 (source (origin
6682 (method url-fetch)
6683 (uri (string-append "https://raw.githubusercontent.com/Fanael"
6684 "/rainbow-identifiers/" version
6685 "/rainbow-identifiers.el"))
6686 (file-name (string-append "rainbow-identifiers-" version ".el"))
6687 (sha256
6688 (base32
6689 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
6690 (build-system emacs-build-system)
6691 (home-page "https://github.com/Fanael/rainbow-identifiers")
6692 (synopsis "Highlight identifiers in source code")
6693 (description
6694 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
6695 identifiers based on their names. Each identifier gets a color based on a hash
6696 of its name.")
6697 (license license:bsd-2)))
6698
6699 (define-public emacs-rainbow-mode
6700 (package
6701 (name "emacs-rainbow-mode")
6702 (version "1.0.2")
6703 (source (origin
6704 (method url-fetch)
6705 (uri (string-append
6706 "https://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
6707 (sha256
6708 (base32
6709 "1zfqj63sr07pdlwy7caz4fxsjhmbhh939n81z6jxq9xggm8ajxkd"))))
6710 (build-system emacs-build-system)
6711 (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
6712 (synopsis "Colorize color names in buffers")
6713 (description
6714 "This minor mode sets background color to strings that match color
6715 names, e.g. #0000ff is displayed in white with a blue background.")
6716 (license license:gpl3+)))
6717
6718 (define-public emacs-visual-fill-column
6719 (package
6720 (name "emacs-visual-fill-column")
6721 (version "1.11")
6722 (source (origin
6723 (method url-fetch)
6724 (uri (string-append "https://codeload.github.com/joostkremers/"
6725 "visual-fill-column/tar.gz/" version))
6726 (file-name (string-append name "-" version ".tar.gz"))
6727 (sha256
6728 (base32
6729 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
6730 (build-system emacs-build-system)
6731 (home-page "https://github.com/joostkremers/visual-fill-column")
6732 (synopsis "Fill-column for visual-line-mode")
6733 (description
6734 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
6735 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
6736 wrapping lines at the window edge, which is the standard behaviour of
6737 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
6738 @code{fill-column} is too large for the window, the text is wrapped at the
6739 window edge.")
6740 (license license:gpl3+)))
6741
6742 (define-public emacs-writeroom
6743 (package
6744 (name "emacs-writeroom")
6745 (version "3.7")
6746 (source
6747 (origin
6748 (method git-fetch)
6749 (uri (git-reference
6750 (url "https://github.com/joostkremers/writeroom-mode.git")
6751 (commit version)))
6752 (file-name (git-file-name name version))
6753 (sha256
6754 (base32 "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"))))
6755 (build-system emacs-build-system)
6756 (propagated-inputs
6757 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
6758 (home-page "https://github.com/joostkremers/writeroom-mode")
6759 (synopsis "Distraction-free writing for Emacs")
6760 (description
6761 "This package defines a minor mode for distraction-free writing. Some of
6762 the default effects include entering fullscreen, deleting other windows of the
6763 current frame, disabling the mode line, and adding margins to the buffer that
6764 restrict the text width to 80 characters.")
6765 (license license:bsd-3)))
6766
6767 (define-public emacs-ido-completing-read+
6768 (package
6769 (name "emacs-ido-completing-read+")
6770 (version "3.12")
6771 (source (origin
6772 (method url-fetch)
6773 (uri (string-append "https://raw.githubusercontent.com"
6774 "/DarwinAwardWinner/ido-ubiquitous/v"
6775 version "/ido-completing-read+.el"))
6776 (file-name (string-append "ido-completing-read+-" version ".el"))
6777 (sha256
6778 (base32
6779 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
6780 (build-system emacs-build-system)
6781 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6782 (synopsis "Replacement for completing-read using ido")
6783 (description
6784 "The ido-completing-read+ function is a wrapper for ido-completing-read.
6785 Importantly, it detects edge cases that ordinary ido cannot handle and either
6786 adjusts them so ido can handle them, or else simply falls back to the standard
6787 Emacs completion function instead.")
6788 (license license:gpl3+)))
6789
6790 (define-public emacs-ido-ubiquitous
6791 (package
6792 (name "emacs-ido-ubiquitous")
6793 (version "3.12")
6794 (source (origin
6795 (method url-fetch)
6796 (uri (string-append "https://raw.githubusercontent.com"
6797 "/DarwinAwardWinner/ido-ubiquitous/v"
6798 version "/ido-ubiquitous.el"))
6799 (file-name (string-append "ido-ubiquitous-" version ".el"))
6800 (sha256
6801 (base32
6802 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
6803 (build-system emacs-build-system)
6804 (propagated-inputs
6805 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
6806 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6807 (synopsis "Use ido (nearly) everywhere")
6808 (description
6809 "Ido-ubiquitous enables ido-style completion for almost every function
6810 that uses the standard completion function completing-read.")
6811 (license license:gpl3+)))
6812
6813 (define-public emacs-yaml-mode
6814 (package
6815 (name "emacs-yaml-mode")
6816 (version "0.0.14")
6817 (source (origin
6818 (method git-fetch)
6819 (uri (git-reference
6820 (url "https://github.com/yoshiki/yaml-mode.git")
6821 (commit version)))
6822 (file-name (git-file-name name version))
6823 (sha256
6824 (base32
6825 "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
6826 (build-system emacs-build-system)
6827 (home-page "https://github.com/yoshiki/yaml-mode")
6828 (synopsis "Major mode for editing YAML files")
6829 (description
6830 "Yaml-mode is an Emacs major mode for editing files in the YAML data
6831 serialization format. It was initially developed by Yoshiki Kurihara and many
6832 features were added by Marshall Vandegrift. As YAML and Python share the fact
6833 that indentation determines structure, this mode provides indentation and
6834 indentation command behavior very similar to that of python-mode.")
6835 (license license:gpl3+)))
6836
6837 (define-public emacs-gitlab-ci-mode
6838 (package
6839 (name "emacs-gitlab-ci-mode")
6840 (version "20190425.11.10")
6841 (source (origin
6842 (method git-fetch)
6843 (uri (git-reference
6844 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
6845 (commit (string-append "v" version))))
6846 (file-name (git-file-name name version))
6847 (sha256
6848 (base32
6849 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
6850 (build-system emacs-build-system)
6851 (propagated-inputs
6852 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
6853 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
6854 (synopsis "Emacs mode for editing GitLab CI files")
6855 (description
6856 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
6857 files. It provides syntax highlighting and completion for keywords and
6858 special variables. An interface to GitLab’s CI file linter is also provided
6859 via @code{gitlab-ci-lint}.")
6860 (license license:gpl3+)))
6861
6862 (define-public emacs-web-mode
6863 (package
6864 (name "emacs-web-mode")
6865 (version "16")
6866 (source (origin
6867 (method git-fetch)
6868 (uri (git-reference
6869 (url "https://github.com/fxbois/web-mode.git")
6870 (commit (string-append "v" version))))
6871 (file-name (git-file-name name version))
6872 (sha256
6873 (base32
6874 "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0"))))
6875 (build-system emacs-build-system)
6876 (synopsis "Major mode for editing web templates")
6877 (description "Web-mode is an Emacs major mode for editing web templates
6878 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
6879 client/server side engines). Web-mode is compatible with many template
6880 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
6881 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
6882 Dust.js, React/JSX, Angularjs, ejs, etc.")
6883 (home-page "http://web-mode.org/")
6884 (license license:gpl3+)))
6885
6886 (define-public emacs-wgrep
6887 ;; Tag is missing, so we use the commit directly.
6888 ;; https://github.com/mhayashi1120/Emacs-wgrep/issues/64
6889 (let ((commit "379afd89ebd76f63842c8589127d66096a8bb595"))
6890 (package
6891 (name "emacs-wgrep")
6892 (version "2.3.1")
6893 (source (origin
6894 (method git-fetch)
6895 (uri (git-reference
6896 (url "https://github.com/mhayashi1120/Emacs-wgrep")
6897 (commit commit)))
6898 (file-name (git-file-name name version))
6899 (sha256
6900 (base32
6901 "0v1qx8z1xj9qzirlycbihnkpwcklyi3a0j8lil78pmdpixdbgh47"))))
6902 (build-system emacs-build-system)
6903 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
6904 (synopsis "Edit a grep buffer and apply those changes to the files")
6905 (description
6906 "Emacs wgrep allows you to edit a grep buffer and apply those changes
6907 to the file buffer. Several backends are supported beside the classic grep:
6908 ack, ag, helm and pt.")
6909 (license license:gpl3+))))
6910
6911 (define-public emacs-helm
6912 (package
6913 (name "emacs-helm")
6914 (version "3.5.0")
6915 (source
6916 (origin
6917 (method git-fetch)
6918 (uri (git-reference
6919 (url "https://github.com/emacs-helm/helm.git")
6920 (commit (string-append "v" version))))
6921 (file-name (git-file-name name version))
6922 (sha256
6923 (base32 "07bijcnfkv60l3swasxv53x32l6glds05mxnbb3xbnmkgm1pm9if"))))
6924 (build-system emacs-build-system)
6925 (propagated-inputs
6926 `(("emacs-async" ,emacs-async)
6927 ("emacs-popup" ,emacs-popup)))
6928 (home-page "https://emacs-helm.github.io/helm/")
6929 (synopsis "Incremental completion and selection narrowing
6930 framework for Emacs")
6931 (description "Helm is incremental completion and selection narrowing
6932 framework for Emacs. It will help steer you in the right direction when
6933 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
6934 of @code{anything.el} originally written by Tamas Patrovic and can be
6935 considered to be its successor. Helm sets out to clean up the legacy code in
6936 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
6937 not tied in the trap of backward compatibility.")
6938 (license license:gpl3+)))
6939
6940 (define-public emacs-helm-org
6941 (let ((commit "542dda7bc9a3b9dfb439e4f8a1e5f60cfb6cc256")
6942 (revision "1"))
6943 (package
6944 (name "emacs-helm-org")
6945 (version (git-version "1.0" revision commit))
6946 (source
6947 (origin
6948 (method git-fetch)
6949 (uri (git-reference
6950 (url "https://github.com/emacs-helm/helm-org.git")
6951 (commit commit)))
6952 (file-name (git-file-name name version))
6953 (sha256
6954 (base32 "1xa32w80icrykpyfb89fhb0s4l7ysi0sc7f7lfwqz5najwbgqipl"))))
6955 (build-system emacs-build-system)
6956 (propagated-inputs
6957 `(("emacs-helm" ,emacs-helm)))
6958 (home-page "https://github.com/emacs-helm/helm-org")
6959 (synopsis "Helm interface to the Silver Searcher")
6960 (description
6961 "This package provides a frontend for grepping tools like ag and ack,
6962 as well as features for editing search results.")
6963 (license license:gpl3+))))
6964
6965 (define-public emacs-helm-swoop
6966 (package
6967 (name "emacs-helm-swoop")
6968 (version "2.0.0")
6969 (source
6970 (origin
6971 (method git-fetch)
6972 (uri (git-reference
6973 (url "https://github.com/emacsorphanage/helm-swoop.git")
6974 (commit version)))
6975 (file-name (git-file-name name version))
6976 (sha256
6977 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
6978 (build-system emacs-build-system)
6979 (propagated-inputs
6980 `(("emacs-helm" ,emacs-helm)))
6981 (home-page "https://github.com/emacsorphanage/helm-swoop")
6982 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
6983 (description
6984 "This package builds on the Helm interface to provide several commands
6985 for search-based navigation of buffers.")
6986 (license license:gpl2+)))
6987
6988 (define-public emacs-helm-ag
6989 (let ((commit "2fc02c4ead29bf0db06fd70740cc7c364cb650ac")
6990 (revision "1"))
6991 (package
6992 (name "emacs-helm-ag")
6993 (version (git-version "0.58" revision commit))
6994 (source
6995 (origin
6996 (method git-fetch)
6997 (uri (git-reference
6998 (url "https://github.com/syohex/emacs-helm-ag.git")
6999 (commit commit)))
7000 (file-name (git-file-name name version))
7001 (sha256
7002 (base32 "1gnn0byywbld6afcq1vp92cjvy4wlag9d1wgymnqn86c3b1bcf21"))))
7003 (build-system emacs-build-system)
7004 (propagated-inputs
7005 `(("emacs-helm" ,emacs-helm)))
7006 (home-page "https://github.com/syohex/emacs-helm-ag")
7007 (synopsis "Helm interface to the Silver Searcher")
7008 (description
7009 "This package provides a frontend for grepping tools like ag and ack,
7010 as well as features for editing search results.")
7011 (license license:gpl3+))))
7012
7013 ;; There hasn't been a tag or release since 2016, so we take the latest
7014 ;; commit.
7015 (define-public emacs-helm-projectile
7016 (let ((commit "5328b74dddcee8d1913803ca8167868831a07463")
7017 (version "0.14.0")
7018 (revision "1"))
7019 (package
7020 (name "emacs-helm-projectile")
7021 (version (git-version version revision commit))
7022 (source
7023 (origin
7024 (method git-fetch)
7025 (uri (git-reference
7026 (url "https://github.com/bbatsov/helm-projectile.git")
7027 (commit commit)))
7028 (file-name (git-file-name name version))
7029 (sha256
7030 (base32 "0a811cblrvc8llpv771b8dppgxs6bwjyvjy3qn2xns4nigvn93s0"))))
7031 (build-system emacs-build-system)
7032 (propagated-inputs
7033 `(("emacs-helm" ,emacs-helm)
7034 ("emacs-projectile" ,emacs-projectile)))
7035 (home-page "https://github.com/bbatsov/helm-projectile")
7036 (synopsis "Helm integration for Projectile")
7037 (description
7038 "This Emacs library provides a Helm interface for Projectile.")
7039 (license license:gpl3+))))
7040
7041 (define-public emacs-taskrunner
7042 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
7043 (revision "1"))
7044 (package
7045 (name "emacs-taskrunner")
7046 (version (git-version "0.6" revision commit))
7047 (source
7048 (origin
7049 (method git-fetch)
7050 (uri (git-reference
7051 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
7052 (commit commit)))
7053 (file-name (git-file-name name version))
7054 (sha256
7055 (base32
7056 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
7057 (build-system emacs-build-system)
7058 (propagated-inputs
7059 `(("emacs-async" ,emacs-async)
7060 ("emacs-projectile" ,emacs-projectile)))
7061 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
7062 (synopsis "Retrieve tasks from various build systems and task-runners")
7063 (description "This package parses Makefiles and build-system files for
7064 multiple project types.")
7065 (license license:gpl3+))))
7066
7067 (define-public emacs-ivy-taskrunner
7068 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
7069 (revision "1"))
7070 (package
7071 (name "emacs-ivy-taskrunner")
7072 (version (git-version "0.9" revision commit))
7073 (source
7074 (origin
7075 (method git-fetch)
7076 (uri (git-reference
7077 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
7078 (commit commit)))
7079 (file-name (git-file-name name version))
7080 (sha256
7081 (base32
7082 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
7083 (build-system emacs-build-system)
7084 (propagated-inputs
7085 `(("emacs-ivy" ,emacs-ivy)
7086 ("emacs-taskrunner" ,emacs-taskrunner)
7087 ("emacs-projectile" ,emacs-projectile)))
7088 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
7089 (synopsis "Retrieve build-system tasks using Ivy")
7090 (description "This package provides an Ivy interface for selecting
7091 Makefile targets.")
7092 (license license:gpl3+))))
7093
7094 (define-public emacs-helm-taskrunner
7095 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
7096 (revision "1"))
7097 (package
7098 (name "emacs-helm-taskrunner")
7099 (version (git-version "0.9" revision commit))
7100 (source
7101 (origin
7102 (method git-fetch)
7103 (uri (git-reference
7104 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
7105 (commit commit)))
7106 (file-name (git-file-name name version))
7107 (sha256
7108 (base32
7109 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
7110 (build-system emacs-build-system)
7111 (propagated-inputs
7112 `(("emacs-helm" ,emacs-helm)
7113 ("emacs-taskrunner" ,emacs-taskrunner)
7114 ("emacs-projectile" ,emacs-projectile)))
7115 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
7116 (synopsis "Retrieve build-system tasks using Helm")
7117 (description "This package provides a Helm interface for selecting
7118 Makefile targets.")
7119 (license license:gpl3+))))
7120
7121 (define-public emacs-helm-make
7122 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
7123 (revision "1"))
7124 (package
7125 (name "emacs-helm-make")
7126 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
7127 (source
7128 (origin
7129 (method git-fetch)
7130 (uri (git-reference
7131 (url "https://github.com/abo-abo/helm-make.git")
7132 (commit commit)))
7133 (file-name (git-file-name name version))
7134 (sha256
7135 (base32
7136 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
7137 (build-system emacs-build-system)
7138 (propagated-inputs
7139 `(("emacs-helm" ,emacs-helm)
7140 ("emacs-projectile" ,emacs-projectile)))
7141 (home-page "https://github.com/abo-abo/helm-make")
7142 (synopsis "Select a Makefile target with helm")
7143 (description "@code{helm-make} or @code{helm-make-projectile} will give
7144 you a @code{helm} selection of directory Makefile's targets. Selecting a
7145 target will call @code{compile} on it.")
7146 (license license:gpl3+))))
7147
7148 (define-public emacs-cider
7149 (package
7150 (name "emacs-cider")
7151 (version "0.23.0")
7152 (source
7153 (origin
7154 (method git-fetch)
7155 (uri (git-reference
7156 (url "https://github.com/clojure-emacs/cider.git")
7157 (commit (string-append "v" version))))
7158 (file-name (git-file-name name version))
7159 (sha256
7160 (base32
7161 "05yjkqc6d4grq9z5pxmv3anqh4zlhfg4v46jlccp6ynh030g7axs"))))
7162 (build-system emacs-build-system)
7163 (arguments
7164 '(#:exclude ; Don't exclude 'cider-test.el'.
7165 '("^\\.dir-locals\\.el$" "^test/")))
7166 (propagated-inputs
7167 `(("emacs-clojure-mode" ,emacs-clojure-mode)
7168 ("emacs-sesman" ,emacs-sesman)
7169 ("emacs-seq" ,emacs-seq)
7170 ("emacs-spinner" ,emacs-spinner)
7171 ("emacs-parseedn" ,emacs-parseedn)
7172 ("emacs-pkg-info" ,emacs-pkg-info)
7173 ("emacs-queue" ,emacs-queue)))
7174 (home-page "https://cider.mx/")
7175 (synopsis "Clojure development environment for Emacs")
7176 (description
7177 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
7178 provide an interactive development experience similar to the one you'd get
7179 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
7180 Geiser) and Smalltalk.
7181
7182 CIDER is the successor to the now deprecated combination of using SLIME +
7183 swank-clojure for Clojure development.
7184
7185 There are plenty of differences between CIDER and SLIME, but the core ideas
7186 are pretty much the same (and SLIME served as the principle inspiration for
7187 CIDER).")
7188 (license license:gpl3+)))
7189
7190 ;; There hasn't been a tag or release since 2016, so we take the latest
7191 ;; commit.
7192 (define-public emacs-sly
7193 (let ((commit "0a3b81770e46b93b9ffd8b9ac5254e0b88d1b13d")
7194 (revision "3"))
7195 (package
7196 (name "emacs-sly")
7197 (version (git-version "1.0.0" revision commit))
7198 (source
7199 (origin
7200 (method git-fetch)
7201 (uri (git-reference
7202 (url "https://github.com/joaotavora/sly.git")
7203 (commit commit)))
7204 (file-name (git-file-name name version))
7205 (sha256
7206 (base32
7207 "1q5ga4mxa0ffa4zb2y0zfwmgzjggx4fn1y4bl2x7ac6ynvb32zkj"))))
7208 (build-system emacs-build-system)
7209 (native-inputs
7210 `(("texinfo" ,texinfo)))
7211 (arguments
7212 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
7213 #:phases
7214 ;; The package provides autoloads.
7215 (modify-phases %standard-phases
7216 (delete 'make-autoloads)
7217 (add-before 'install 'install-doc
7218 (lambda* (#:key outputs #:allow-other-keys)
7219 (let* ((out (assoc-ref outputs "out"))
7220 (info-dir (string-append out "/share/info"))
7221 (doc-dir (string-append out "/share/doc/"
7222 ,name "-" ,version))
7223 (doc-files '(;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
7224 "README.md" "NEWS.md" "PROBLEMS.md"
7225 "CONTRIBUTING.md")))
7226 (with-directory-excursion "doc"
7227 (substitute* "Makefile"
7228 (("infodir=/usr/local/info")
7229 (string-append "infodir=" info-dir))
7230 ;; Don't rebuild contributors.texi since we are not in
7231 ;; the git repo.
7232 (("contributors.texi: Makefile texinfo-tabulate.awk")
7233 "contributors.texi:"))
7234 (invoke "make" "html/index.html")
7235 (invoke "make" "sly.info")
7236 ;; TODO: We need minimal texlive with "preprint" package
7237 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
7238 (install-file "sly.info" info-dir)
7239 (copy-recursively "html" (string-append doc-dir "/html")))
7240 (for-each (lambda (f)
7241 (install-file f doc-dir)
7242 (delete-file f))
7243 doc-files)
7244 (delete-file-recursively "doc")
7245 #t))))))
7246 (home-page "https://github.com/joaotavora/sly")
7247 (synopsis "Sylvester the Cat's Common Lisp IDE")
7248 (description
7249 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
7250 contains the following improvements over it:
7251
7252 @enumerate
7253 @item Completely redesigned REPL based on Emacs's own full-featured
7254 @code{comint.el}.
7255 @item Live code annotations via a new @code{sly-stickers} contrib.
7256 @item Consistent interactive button interface. Everything can be copied to
7257 the REPL.
7258 @item Multiple inspectors with independent history.
7259 @item Regexp-capable @code{M-x sly-apropos}.
7260 @item Contribs are first class SLY citizens and enabled by default.
7261 @item Use ASDF to loads contribs on demand.
7262 @end enumerate
7263
7264 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
7265 xref, etc...) are still available, but with better integration.")
7266 (license license:gpl3+))))
7267
7268 (define-public emacs-sly-quicklisp
7269 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
7270 (revision "1"))
7271 (package
7272 (name "emacs-sly-quicklisp")
7273 (version (git-version "0.0.0" revision commit))
7274 (home-page "https://github.com/joaotavora/sly-quicklisp")
7275 (source
7276 (origin
7277 (method git-fetch)
7278 (uri (git-reference
7279 (url home-page)
7280 (commit commit)))
7281 (file-name (git-file-name name version))
7282 (sha256
7283 (base32
7284 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
7285 (build-system emacs-build-system)
7286 (propagated-inputs
7287 `(("emacs-sly" ,emacs-sly)))
7288 (arguments
7289 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7290 #:phases
7291 ;; The package provides autoloads.
7292 (modify-phases %standard-phases
7293 (delete 'make-autoloads))))
7294 (synopsis "Quicklisp support for SLY")
7295 (description
7296 "@command{sly-quicklisp} is an external contrib for SLY that provides a
7297 sly-quickload command that prompts the user for a package to install. ")
7298 (license license:gpl3+))))
7299
7300 (define-public emacs-sly-asdf
7301 (let ((commit "4e323bc28da2f07fd799b6a31b94fd93848b5f3c")
7302 (revision "2"))
7303 (package
7304 (name "emacs-sly-asdf")
7305 (version (git-version "0.1.0" revision commit))
7306 (home-page "https://github.com/mmgeorge/sly-asdf")
7307 (source
7308 (origin
7309 (method git-fetch)
7310 (uri (git-reference
7311 (url home-page)
7312 (commit commit)))
7313 (file-name (git-file-name name version))
7314 (sha256
7315 (base32
7316 "16sc33jhc6ik4ilsyqc3cjpi6v0wdmwjlwrzjwd6yym11bscsmad"))))
7317 (build-system emacs-build-system)
7318 (propagated-inputs
7319 `(("emacs-sly" ,emacs-sly)))
7320 (arguments
7321 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
7322 (synopsis "ASDF contrib for SLY")
7323 (description
7324 "@command{sly-asdf} is an external contrib for SLY that provides
7325 additional support for working with ASDF projects.")
7326 (license license:gpl3+))))
7327
7328 (define-public emacs-sly-named-readtables
7329 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
7330 (revision "1"))
7331 (package
7332 (name "emacs-sly-named-readtables")
7333 (version (git-version "0.1" revision commit))
7334 (home-page "https://github.com/joaotavora/sly-named-readtables")
7335 (source
7336 (origin
7337 (method git-fetch)
7338 (uri (git-reference
7339 (url home-page)
7340 (commit commit)))
7341 (file-name (git-file-name name version))
7342 (sha256
7343 (base32
7344 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
7345 (build-system emacs-build-system)
7346 (propagated-inputs
7347 `(("emacs-sly" ,emacs-sly)))
7348 (arguments
7349 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
7350 (synopsis "Named-readtables support for SLY")
7351 (description
7352 "@command{sly-named-readtables} is an external contrib for SLY that
7353 enables different readtables to be active in different parts of the same
7354 file.")
7355 (license license:gpl3+))))
7356
7357 (define-public emacs-sly-macrostep
7358 (let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
7359 (revision "1"))
7360 (package
7361 (name "emacs-sly-macrostep")
7362 (version (git-version "0.1" revision commit))
7363 (home-page "https://github.com/joaotavora/sly-macrostep")
7364 (source
7365 (origin
7366 (method git-fetch)
7367 (uri (git-reference
7368 (url home-page)
7369 (commit commit)))
7370 (file-name (git-file-name name version))
7371 (sha256
7372 (base32
7373 "0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
7374 (build-system emacs-build-system)
7375 (propagated-inputs
7376 `(("emacs-sly" ,emacs-sly)
7377 ("emacs-macrostep" ,emacs-macrostep)))
7378 (arguments
7379 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7380 #:phases
7381 ;; The package provides autoloads.
7382 (modify-phases %standard-phases
7383 (delete 'make-autoloads))))
7384 (synopsis "Expand Common Lisp macros inside source files with SLY")
7385 (description
7386 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
7387 inside the source file.")
7388 (license license:gpl3+))))
7389
7390 (define-public emacs-sly-package-inferred
7391 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
7392 (revision "1"))
7393 (package
7394 (name "emacs-sly-package-inferred")
7395 (version (git-version "0.1" revision commit))
7396 (home-page "https://github.com/40ants/sly-package-inferred")
7397 (source
7398 (origin
7399 (method git-fetch)
7400 (uri (git-reference
7401 (url home-page)
7402 (commit commit)))
7403 (file-name (git-file-name name version))
7404 (sha256
7405 (base32
7406 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
7407 (build-system emacs-build-system)
7408 (propagated-inputs
7409 `(("emacs-sly" ,emacs-sly)))
7410 (arguments
7411 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7412 #:phases
7413 ;; The package provides autoloads.
7414 (modify-phases %standard-phases
7415 (delete 'make-autoloads))))
7416 (synopsis "Improved package inferred systems support for SLY")
7417 (description
7418 "@command{sly-package-inferred} is an external contrib for SLY that
7419 replaces its completion with a function which is better suited for systems
7420 using package inferred style.")
7421 (license license:gpl3+))))
7422
7423 (define-public emacs-lua-mode
7424 (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
7425 (revision "2"))
7426 (package
7427 (name "emacs-lua-mode")
7428 (version (git-version "20151025" revision commit))
7429 (home-page "https://github.com/immerrr/lua-mode/")
7430 (source (origin
7431 (method git-fetch)
7432 (uri (git-reference
7433 (url home-page)
7434 (commit commit)))
7435 (file-name (git-file-name name version))
7436 (sha256
7437 (base32
7438 "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
7439 (build-system emacs-build-system)
7440 (synopsis "Major mode for lua")
7441 (description
7442 "This Emacs package provides a mode for @uref{https://www.lua.org/,
7443 Lua programming language}.")
7444 (license license:gpl2+))))
7445
7446 (define-public emacs-ebuild-mode
7447 (package
7448 (name "emacs-ebuild-mode")
7449 (version "1.37")
7450 (source (origin
7451 (method url-fetch)
7452 (uri (string-append
7453 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
7454 "-" version ".tar.xz"))
7455 (file-name (string-append name "-" version ".tar.xz"))
7456 (sha256
7457 (base32
7458 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
7459 (build-system emacs-build-system)
7460 (home-page "https://devmanual.gentoo.org")
7461 (synopsis "Major modes for Gentoo package files")
7462 (description
7463 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
7464 news items, openrc and runscripts.")
7465 (license license:gpl2+)))
7466
7467 (define-public emacs-evil
7468 (package
7469 (name "emacs-evil")
7470 (version "1.2.14")
7471 (source
7472 (origin
7473 (method git-fetch)
7474 (uri (git-reference
7475 (url "https://github.com/emacs-evil/evil")
7476 (commit version)))
7477 (file-name (git-file-name name version))
7478 (sha256
7479 (base32
7480 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
7481 (arguments
7482 `(#:phases
7483 (modify-phases %standard-phases
7484 (add-before 'check 'fix-test-helpers
7485 (lambda _
7486 (substitute* "evil-test-helpers.el"
7487 (("\\(undo-tree-mode 1\\)") ""))
7488 #t)))))
7489 (build-system emacs-build-system)
7490 (home-page "https://github.com/emacs-evil/evil")
7491 (synopsis "Extensible Vi layer for Emacs")
7492 (description
7493 "Evil is an extensible vi layer for Emacs. It emulates the
7494 main features of Vim, and provides facilities for writing custom
7495 extensions.")
7496 (license license:gpl3+)))
7497
7498 (define-public emacs-evil-collection
7499 (let ((commit "eb36c82a84d313e961777dc78fd4ff1d718efdf6")
7500 (revision "13"))
7501 (package
7502 (name "emacs-evil-collection")
7503 (version (git-version "0.0.3" revision commit))
7504 (source (origin
7505 (method git-fetch)
7506 (uri (git-reference
7507 (url "https://github.com/emacs-evil/evil-collection")
7508 (commit commit)))
7509 (file-name (git-file-name name version))
7510 (sha256
7511 (base32
7512 "0wi84x9176y4xjl7zpn882achfamx3a2ixlj4nvflxfh6q1qg7bz"))))
7513 (build-system emacs-build-system)
7514 (propagated-inputs
7515 `(("emacs-evil" ,emacs-evil)
7516 ("emacs-annalist" ,emacs-annalist)))
7517 (arguments
7518 `(#:include (cons* "^modes\\/" %default-include)))
7519 (home-page "https://github.com/emacs-evil/evil-collection")
7520 (synopsis "Collection of Evil bindings for many major and minor modes")
7521 (description "This is a collection of Evil bindings for the parts of
7522 Emacs that Evil does not cover properly by default, such as @code{help-mode},
7523 @code{M-x calendar}, Eshell and more.")
7524 (license license:gpl3+))))
7525
7526 (define-public emacs-goto-chg
7527 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
7528 (version "1.7.3")
7529 (revision "1"))
7530 (package
7531 (name "emacs-goto-chg")
7532 (version (git-version version revision commit))
7533 (source
7534 (origin
7535 (method git-fetch)
7536 (uri (git-reference
7537 (url "https://github.com/emacs-evil/goto-chg")
7538 (commit commit)))
7539 (file-name (git-file-name name version))
7540 (sha256
7541 (base32
7542 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
7543 (build-system emacs-build-system)
7544 (propagated-inputs
7545 `(("emacs-undo-tree" ,emacs-undo-tree)))
7546 (home-page "https://github.com/emacs-evil/goto-chg")
7547 (synopsis "Go to the last change in the Emacs buffer")
7548 (description
7549 "This package provides @code{M-x goto-last-change} command that goes to
7550 the point of the most recent edit in the current Emacs buffer. When repeated,
7551 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
7552 used for reverse direction.")
7553 (license license:gpl2+))))
7554
7555 (define-public emacs-janpath-evil-numbers
7556 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
7557 (version "0.5")
7558 (revision "1"))
7559 (package
7560 (name "emacs-janpath-evil-numbers")
7561 (version (git-version version revision commit))
7562 (source
7563 (origin
7564 (method git-fetch)
7565 (uri (git-reference
7566 (url "https://github.com/janpath/evil-numbers")
7567 (commit commit)))
7568 (file-name (git-file-name name version))
7569 (sha256
7570 (base32
7571 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
7572 (build-system emacs-build-system)
7573 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7574 (home-page "https://github.com/janpath/evil-numbers")
7575 (synopsis "Increment and decrement numeric literals")
7576 (description
7577 "This package provides functionality to search for a number up to the
7578 end of a line and increment or decrement it.")
7579 (license license:gpl3+))))
7580
7581 (define-public emacs-evil-owl
7582 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
7583 (revision "3"))
7584 (package
7585 (name "emacs-evil-owl")
7586 (version (git-version "0.0.1" revision commit))
7587 (source
7588 (origin
7589 (method git-fetch)
7590 (uri (git-reference
7591 (url "https://github.com/mamapanda/evil-owl")
7592 (commit commit)))
7593 (file-name (git-file-name name version))
7594 (sha256
7595 (base32
7596 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
7597 (build-system emacs-build-system)
7598 (propagated-inputs
7599 `(("emacs-evil" ,emacs-evil)))
7600 (arguments
7601 `(#:tests? #t
7602 #:test-command '("make" "test")))
7603 (home-page "https://github.com/mamapanda/evil-owl")
7604 (synopsis "Preview candidates when using Evil registers and marks")
7605 (description
7606 "This package supplements Evil's register- and mark-based commands with
7607 a popup window for previewing candidates.")
7608 (license license:gpl3+))))
7609
7610 (define-public emacs-evil-args
7611 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
7612 (revision "1"))
7613 (package
7614 (name "emacs-evil-args")
7615 (version (git-version "1.0" revision commit))
7616 (source
7617 (origin
7618 (method git-fetch)
7619 (uri (git-reference
7620 (url "https://github.com/wcsmith/evil-args.git")
7621 (commit commit)))
7622 (file-name (git-file-name name version))
7623 (sha256
7624 (base32
7625 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
7626 (build-system emacs-build-system)
7627 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7628 (home-page "https://github.com/wcsmith/evil-args")
7629 (synopsis "Motions and text objects for delimited arguments in Evil")
7630 (description
7631 "This package provides motions and text objects for delimited
7632 arguments, such as arguments separated by commas and semicolons.")
7633 (license license:expat))))
7634
7635 (define-public emacs-evil-exchange
7636 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
7637 (version "0.41")
7638 (revision "1"))
7639 (package
7640 (name "emacs-evil-exchange")
7641 (version (git-version version revision commit))
7642 (source
7643 (origin
7644 (method git-fetch)
7645 (uri (git-reference
7646 (url "https://github.com/Dewdrops/evil-exchange")
7647 (commit commit)))
7648 (file-name (git-file-name name version))
7649 (sha256
7650 (base32
7651 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
7652 (build-system emacs-build-system)
7653 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7654 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
7655 (arguments
7656 `(#:phases
7657 (modify-phases %standard-phases
7658 (add-before 'check 'fix-makefile
7659 (lambda _
7660 (substitute* "Makefile"
7661 (("cask exec ") ""))
7662 #t)))
7663 #:tests? #t
7664 #:test-command '("make" "test")))
7665 (home-page "https://github.com/Dewdrops/evil-exchange")
7666 (synopsis "Exchange text easily within Evil")
7667 (description
7668 "This package, a port of @code{vim-exchange}, provides an Evil operator
7669 for exchanging text.")
7670 (license license:gpl3+))))
7671
7672 (define-public emacs-evil-replace-with-register
7673 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
7674 (version "0.1")
7675 (revision "1"))
7676 (package
7677 (name "emacs-evil-replace-with-register")
7678 (version (git-version version revision commit))
7679 (source
7680 (origin
7681 (method git-fetch)
7682 (uri (git-reference
7683 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7684 (commit commit)))
7685 (file-name (git-file-name name version))
7686 (sha256
7687 (base32
7688 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
7689 (build-system emacs-build-system)
7690 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7691 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7692 (synopsis "Quickly replace text with the contents of a register")
7693 (description
7694 "This package provides an Evil operator for replacing text with the
7695 contents of a register.")
7696 (license license:gpl3+))))
7697
7698 (define-public emacs-evil-indent-plus
7699 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
7700 (version "1.0.0")
7701 (revision "1"))
7702 (package
7703 (name "emacs-evil-indent-plus")
7704 (version (git-version version revision commit))
7705 (source
7706 (origin
7707 (method git-fetch)
7708 (uri (git-reference
7709 (url "https://github.com/TheBB/evil-indent-plus")
7710 (commit commit)))
7711 (file-name (git-file-name name version))
7712 (sha256
7713 (base32
7714 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
7715 (build-system emacs-build-system)
7716 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7717 (home-page "https://github.com/TheBB/evil-indent-plus")
7718 (synopsis "Text objects based on indentation")
7719 (description
7720 "This package adds new text objects for @code{evil-mode} based on
7721 blocks having the same or higher indentation, including or excluding
7722 surrounding lines.")
7723 (license license:gpl2+))))
7724
7725 (define-public emacs-evil-text-object-python
7726 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
7727 (version "1.0.1")
7728 (revision "1"))
7729 (package
7730 (name "emacs-evil-text-object-python")
7731 (version (git-version version revision commit))
7732 (source
7733 (origin
7734 (method git-fetch)
7735 (uri (git-reference
7736 (url "https://github.com/wbolster/evil-text-object-python")
7737 (commit commit)))
7738 (file-name (git-file-name name version))
7739 (sha256
7740 (base32
7741 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
7742 (build-system emacs-build-system)
7743 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7744 (home-page "https://github.com/wbolster/evil-text-object-python")
7745 (synopsis "Text objects for Python")
7746 (description
7747 "This package provides @code{evil-mode} text objects for Python.")
7748 (license license:gpl3+))))
7749
7750 (define-public emacs-evil-lion
7751 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
7752 (revision "1"))
7753 (package
7754 (name "emacs-evil-lion")
7755 (version (git-version "0.0.2" revision commit))
7756 (source
7757 (origin
7758 (method git-fetch)
7759 (uri (git-reference
7760 (url "https://github.com/edkolev/evil-lion")
7761 (commit commit)))
7762 (file-name (git-file-name name version))
7763 (sha256
7764 (base32
7765 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
7766 (build-system emacs-build-system)
7767 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7768 (arguments
7769 `(#:tests? #t
7770 #:test-command '("make" "test")))
7771 (home-page "https://github.com/edkolev/evil-lion")
7772 (synopsis "Align operator for @code{evil-mode}")
7773 (description
7774 "This package, a port of @code{vim-lion}, provides an operator for
7775 aligning text objects based on separators.")
7776 (license license:gpl3+))))
7777
7778 (define-public emacs-evil-expat
7779 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
7780 (revision "1"))
7781 (package
7782 (name "emacs-evil-expat")
7783 (version (git-version "0.0.1" revision commit))
7784 (source
7785 (origin
7786 (method git-fetch)
7787 (uri (git-reference
7788 (url "https://github.com/edkolev/evil-expat")
7789 (commit commit)))
7790 (file-name (git-file-name name version))
7791 (sha256
7792 (base32
7793 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
7794 (build-system emacs-build-system)
7795 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7796 (arguments
7797 `(#:tests? #t
7798 #:test-command '("make" "test")))
7799 (home-page "https://github.com/edkolev/evil-expat")
7800 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
7801 (description
7802 "This package provides additional commands for the @code{ex} command
7803 line, including functions for version control with Git and for copying and
7804 pasting into and from @code{tmux} paste buffers.")
7805 (license license:gpl3+))))
7806
7807 (define-public emacs-evil-nerd-commenter
7808 (package
7809 (name "emacs-evil-nerd-commenter")
7810 (version "3.3.8")
7811 (source
7812 (origin
7813 (method git-fetch)
7814 (uri (git-reference
7815 (url "https://github.com/redguardtoo/evil-nerd-commenter")
7816 (commit version)))
7817 (file-name (git-file-name name version))
7818 (sha256
7819 (base32
7820 "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"))))
7821 (build-system emacs-build-system)
7822 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7823 (arguments
7824 `(#:tests? #t
7825 #:test-command '("make" "test")))
7826 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
7827 (synopsis "Comment and uncomment lines efficiently")
7828 (description
7829 "This package provides text objects and operators for comments within
7830 @code{evil-mode}.")
7831 (license license:gpl3+)))
7832
7833 (define-public emacs-evil-visual-replace
7834 (package
7835 (name "emacs-evil-visual-replace")
7836 (version "0.0.5")
7837 (source
7838 (origin
7839 (method git-fetch)
7840 (uri (git-reference
7841 (url "https://github.com/troyp/evil-visual-replace")
7842 (commit version)))
7843 (file-name (git-file-name name version))
7844 (sha256
7845 (base32
7846 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
7847 (build-system emacs-build-system)
7848 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7849 (home-page "https://github.com/troyp/evil-visual-replace")
7850 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
7851 (description
7852 "This package provides versions of @code{query-replace} and
7853 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
7854 (license license:gpl2+)))
7855
7856 (define-public emacs-evil-visualstar
7857 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
7858 (version "0.0.2")
7859 (revision "1"))
7860 (package
7861 (name "emacs-evil-visualstar")
7862 (version (git-version version revision commit))
7863 (source
7864 (origin
7865 (method git-fetch)
7866 (uri (git-reference
7867 (url "https://github.com/bling/evil-visualstar")
7868 (commit commit)))
7869 (file-name (git-file-name name version))
7870 (sha256
7871 (base32
7872 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
7873 (build-system emacs-build-system)
7874 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7875 (home-page "https://github.com/bling/evil-visualstar")
7876 (synopsis "Instantly search using the visual selection")
7877 (description
7878 "This package provides @code{evil-mode} functions for using selected text
7879 to search.")
7880 (license license:gpl3+))))
7881
7882 (define-public emacs-monroe
7883 (package
7884 (name "emacs-monroe")
7885 (version "0.3.1")
7886 (source
7887 (origin
7888 (method git-fetch)
7889 (uri (git-reference
7890 (url "https://github.com/sanel/monroe.git")
7891 (commit version)))
7892 (file-name (git-file-name name version))
7893 (sha256
7894 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
7895 (build-system emacs-build-system)
7896 (home-page "https://github.com/sanel/monroe")
7897 (synopsis "Clojure nREPL client for Emacs")
7898 (description
7899 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
7900 distribution, primarily targeting Clojure users")
7901 (license license:gpl3+)))
7902
7903 (define-public emacs-orgalist
7904 (package
7905 (name "emacs-orgalist")
7906 (version "1.9")
7907 (source
7908 (origin
7909 (method url-fetch)
7910 (uri (string-append "https://elpa.gnu.org/packages/"
7911 "orgalist-" version ".el"))
7912 (sha256
7913 (base32
7914 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
7915 (build-system emacs-build-system)
7916 (home-page "http://elpa.gnu.org/packages/orgalist.html")
7917 (synopsis "Manage Org-like lists in non-Org buffers")
7918 (description "Write Org mode's plain lists in non-Org buffers. More
7919 specifically, Orgalist supports the syntax of Org mode for numbered,
7920 unnumbered, description items, checkboxes, and counter cookies.
7921
7922 The library also implements radio lists, i.e., lists written in Org
7923 syntax later translated into the host format, e.g., LaTeX or HTML.")
7924 (license license:gpl3+)))
7925
7926 (define-public emacs-writegood-mode
7927 (package
7928 (name "emacs-writegood-mode")
7929 (version "2.0.2")
7930 (home-page "https://github.com/bnbeckwith/writegood-mode")
7931 (source (origin
7932 (method git-fetch)
7933 (uri (git-reference
7934 (url home-page)
7935 (commit (string-append "v" version))))
7936 (sha256
7937 (base32
7938 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
7939 (file-name (string-append name "-checkout"))))
7940 (build-system emacs-build-system)
7941 (synopsis "Polish up poor writing on the fly")
7942 (description
7943 "This minor mode tries to find and highlight problems with your writing
7944 in English as you type. It primarily detects \"weasel words\" and abuse of
7945 passive voice.")
7946 (license license:gpl3+)))
7947
7948 (define-public emacs-neotree
7949 (package
7950 (name "emacs-neotree")
7951 (version "0.5.2")
7952 (home-page "https://github.com/jaypei/emacs-neotree")
7953 (source (origin
7954 (method git-fetch)
7955 (uri (git-reference
7956 (url home-page)
7957 (commit version)))
7958 (sha256
7959 (base32
7960 "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
7961 (file-name (git-file-name name version))))
7962 (build-system emacs-build-system)
7963 (synopsis "Folder tree view for Emacs")
7964 (description "This Emacs package provides a folder tree view.")
7965 (license license:gpl3+)))
7966
7967 (define-public emacs-org
7968 (package
7969 (name "emacs-org")
7970 ;; emacs-org-contrib inherits from this package. Please update its sha256
7971 ;; checksum as well.
7972 (version "9.3")
7973 (source (origin
7974 (method url-fetch)
7975 (uri (string-append "https://elpa.gnu.org/packages/org-"
7976 version ".tar"))
7977 (sha256
7978 (base32
7979 "0pyfx4xzzi3qqip958rs7j5ca1r4i5v6dfkx5kbp2ndhqmxbfxjw"))))
7980 (build-system emacs-build-system)
7981 (home-page "https://orgmode.org/")
7982 (synopsis "Outline-based notes management and organizer")
7983 (description "Org is an Emacs mode for keeping notes, maintaining TODO
7984 lists, and project planning with a fast and effective lightweight markup
7985 language. It also is an authoring system with unique support for literate
7986 programming and reproducible research.")
7987 (license license:gpl3+)))
7988
7989 (define-public emacs-org-contrib
7990 (package
7991 (inherit emacs-org)
7992 (name "emacs-org-contrib")
7993 (version "20191203")
7994 (source (origin
7995 (method url-fetch)
7996 (uri (string-append "https://orgmode.org/elpa/"
7997 "org-plus-contrib-" version ".tar"))
7998 (sha256
7999 (base32
8000 "1kvw95492acb7gqn8gxbp1vg4fyw80w43yvflxnfxdf6jnnw2wah"))))
8001 (arguments
8002 `(#:modules ((guix build emacs-build-system)
8003 (guix build utils)
8004 (guix build emacs-utils)
8005 (ice-9 ftw)
8006 (srfi srfi-1))
8007 #:phases
8008 (modify-phases %standard-phases
8009 (add-after 'install 'delete-org-files
8010 (lambda* (#:key inputs outputs #:allow-other-keys)
8011 (let* ((out (assoc-ref outputs "out"))
8012 (org (assoc-ref inputs "org"))
8013 (contrib-files
8014 (map basename (find-files out)))
8015 (org+contrib-files
8016 (map basename (find-files org)))
8017 (duplicates (lset-intersection
8018 string=? contrib-files org+contrib-files)))
8019 (with-directory-excursion
8020 (string-append
8021 out "/share/emacs/site-lisp")
8022 (for-each delete-file duplicates))
8023 #t))))))
8024 (propagated-inputs
8025 `(("arduino-mode" ,emacs-arduino-mode)
8026 ("cider" ,emacs-cider)
8027 ("org" ,emacs-org)
8028 ("scel" ,emacs-scel)))
8029 (synopsis "Contributed packages to Org mode")
8030 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8031 lists, and project planning with a fast and effective plain-text system.
8032
8033 This package is equivalent to org-plus-contrib, but only includes additional
8034 files that you would find in @file{contrib/} from the git repository.")))
8035
8036 (define-public emacs-flx
8037 (package
8038 (name "emacs-flx")
8039 (version "0.6.1")
8040 (source
8041 (origin
8042 (method git-fetch)
8043 (uri (git-reference
8044 (url "https://github.com/lewang/flx.git")
8045 (commit (string-append "v" version))))
8046 (sha256
8047 (base32
8048 "0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
8049 (file-name (git-file-name name version))))
8050 (build-system emacs-build-system)
8051 (home-page "https://github.com/lewang/flx")
8052 (synopsis "Fuzzy matching for Emacs")
8053 (description
8054 "Flx provides fuzzy matching for emacs a la sublime text.
8055 The sorting algorithm is a balance between word beginnings (abbreviation)
8056 and contiguous matches (substring). The longer the substring match,
8057 the higher it scores. This maps well to how we think about matching.
8058 Flx has support for ido (interactively do things) through flx-ido.")
8059 (license license:gpl3+)))
8060
8061 (define-public emacs-cyberpunk-theme
8062 (package
8063 (name "emacs-cyberpunk-theme")
8064 (version "1.19")
8065 (source
8066 (origin
8067 (method git-fetch)
8068 (uri (git-reference
8069 (url "https://github.com/n3mo/cyberpunk-theme.el/")
8070 (commit version)))
8071 (sha256
8072 (base32
8073 "1npwrw3pgdmvqhihcqcfi2yrs178iiip5fcj8zhpp6cr9yqsvvgi"))
8074 (file-name (git-file-name name version))))
8075 (build-system emacs-build-system)
8076 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
8077 (synopsis "Cyberpunk theme for emacs built-in color theme support")
8078 (description
8079 "Cyberpunk color theme for the emacs 24+ built-in color theme support
8080 known loosely as deftheme. Many mode-specific customizations are included.")
8081 (license license:gpl3+)))
8082
8083 (define-public emacs-danneskjold-theme
8084 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
8085 (revision "1"))
8086 (package
8087 (name "emacs-danneskjold-theme")
8088 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8089 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
8090 (source
8091 (origin
8092 (method git-fetch)
8093 (uri (git-reference
8094 (url home-page)
8095 (commit commit)))
8096 (file-name (git-file-name name version))
8097 (sha256
8098 (base32
8099 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
8100 (build-system emacs-build-system)
8101 (arguments
8102 `(#:phases
8103 (modify-phases %standard-phases
8104 (add-after 'unpack 'delete-screenshots
8105 (lambda _
8106 (delete-file-recursively "screenshots") #t)))))
8107 (synopsis "High-contrast Emacs theme")
8108 (description
8109 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
8110 (license license:gpl3+))))
8111
8112 (define-public emacs-dream-theme
8113 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
8114 (revision "1"))
8115 (package
8116 (name "emacs-dream-theme")
8117 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8118 (source
8119 (origin
8120 (method git-fetch)
8121 (uri (git-reference
8122 (url "https://github.com/djcb/dream-theme")
8123 (commit commit)))
8124 (file-name (git-file-name name version))
8125 (sha256
8126 (base32
8127 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
8128 (build-system emacs-build-system)
8129 (home-page "https://github.com/djcb/dream-theme")
8130 (synopsis "High-contrast Emacs theme")
8131 (description
8132 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
8133 by zenburn, sinburn and similar themes, but slowly diverging from them.")
8134 (license license:gpl3+))))
8135
8136 (define-public emacs-auto-complete
8137 (package
8138 (name "emacs-auto-complete")
8139 (version "1.5.1")
8140 (source
8141 (origin
8142 (method git-fetch)
8143 (uri (git-reference
8144 (url "https://github.com/auto-complete/auto-complete.git")
8145 (commit (string-append "v" version))))
8146 (sha256
8147 (base32
8148 "04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
8149 (file-name (git-file-name name version))))
8150 (build-system emacs-build-system)
8151 (propagated-inputs
8152 `(("emacs-popup" ,emacs-popup)))
8153 (home-page "https://github.com/auto-complete/auto-complete")
8154 (synopsis "Intelligent auto-completion extension for Emacs")
8155 (description
8156 "Auto-Complete is an intelligent auto-completion extension for Emacs.
8157 It extends the standard Emacs completion interface and provides an environment
8158 that allows users to concentrate more on their own work. Its features are:
8159 a visual interface, reduce overhead of completion by using statistic method,
8160 extensibility.")
8161 (license license:gpl3+)))
8162
8163 (define-public emacs-nginx-mode
8164 (package
8165 (name "emacs-nginx-mode")
8166 (version "1.1.9")
8167 (source
8168 (origin
8169 (method git-fetch)
8170 (uri (git-reference
8171 (url "https://github.com/ajc/nginx-mode.git")
8172 (commit (string-append "v" version))))
8173 (file-name (git-file-name name version))
8174 (sha256
8175 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
8176 (build-system emacs-build-system)
8177 (home-page "https://github.com/ajc/nginx-mode")
8178 (synopsis "Emacs major mode for editing nginx config files")
8179 (description "This package provides an Emacs major mode for
8180 editing nginx config files.")
8181 (license license:gpl2+)))
8182
8183 (define-public emacs-stream
8184 (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7")
8185 (revision "1"))
8186 (package
8187 (name "emacs-stream")
8188 (version (git-version "2.2.4" revision commit))
8189 (source
8190 (origin
8191 (method git-fetch)
8192 (uri (git-reference
8193 (url "https://github.com/Emacsmirror/stream.git")
8194 (commit commit)))
8195 (file-name (git-file-name name version))
8196 (sha256
8197 (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332"))))
8198 (build-system emacs-build-system)
8199 (arguments
8200 `(#:tests? #t
8201 #:test-command '("emacs" "--batch"
8202 "-l" "tests/stream-tests.el"
8203 "-f" "ert-run-tests-batch-and-exit")))
8204 (home-page "https://github.com/Emacsmirror/stream")
8205 (synopsis "Implementation of streams for Emacs")
8206 (description "This library provides an implementation of streams for Emacs.
8207 Streams are implemented as delayed evaluation of cons cells.")
8208 (license license:gpl3+))))
8209
8210 (define-public emacs-cl-print
8211 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
8212 (revision "1"))
8213 (package
8214 (name "emacs-cl-print")
8215 (version (git-version "1.0" revision commit))
8216 (source
8217 (origin
8218 (method git-fetch)
8219 (uri (git-reference
8220 (url "https://github.com/emacsmirror/cl-print.git")
8221 (commit commit)))
8222 (file-name (git-file-name name version))
8223 (sha256
8224 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
8225 (build-system emacs-build-system)
8226 (home-page "https://github.com/emacsmirror/cl-print")
8227 (synopsis "CL-style generic printing")
8228 (description "This package provides a generic function,
8229 @code{cl-print-object}, to which the programmer can add any method they
8230 please.")
8231 (license license:gpl3+))))
8232
8233 (define-public emacs-el-search
8234 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
8235 (revision "2"))
8236 (package
8237 (name "emacs-el-search")
8238 (version (git-version "1.12.6.1" revision commit))
8239 (source
8240 (origin
8241 (method git-fetch)
8242 (uri (git-reference
8243 (url "https://github.com/emacsmirror/el-search.git")
8244 (commit commit)))
8245 (file-name (git-file-name name version))
8246 (sha256
8247 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
8248 (build-system emacs-build-system)
8249 (inputs
8250 `(("emacs-stream" ,emacs-stream)
8251 ("emacs-cl-print" ,emacs-cl-print)))
8252 (home-page "https://github.com/emacsmirror/el-search")
8253 (synopsis "Expression based interactive search for emacs-lisp-mode")
8254 (description "This package provides expression based interactive search
8255 procedures for emacs-lisp-mode.")
8256 (license license:gpl3+))))
8257
8258 (define-public emacs-ht
8259 (package
8260 (name "emacs-ht")
8261 (version "2.2")
8262 (source
8263 (origin
8264 (method git-fetch)
8265 (uri (git-reference
8266 (url "https://github.com/Wilfred/ht.el.git")
8267 (commit version)))
8268 (file-name (git-file-name name version))
8269 (sha256
8270 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
8271 (build-system emacs-build-system)
8272 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
8273 (native-inputs
8274 `(("emacs-ert-runner" ,emacs-ert-runner)))
8275 (arguments
8276 `(#:tests? #t
8277 #:test-command '("ert-runner")))
8278 (home-page "https://github.com/Wilfred/ht.el")
8279 (synopsis "Hash table library for Emacs")
8280 (description
8281 "This package simplifies the use of hash tables in elisp. It also
8282 provides functions to convert hash tables from and to alists and plists.")
8283 (license license:gpl3+)))
8284
8285 (define-public emacs-log4e
8286 (package
8287 (name "emacs-log4e")
8288 (version "0.3.0")
8289 (source
8290 (origin
8291 (method git-fetch)
8292 (uri (git-reference
8293 (url "https://github.com/aki2o/log4e.git")
8294 (commit (string-append "v" version))))
8295 (file-name (git-file-name name version))
8296 (sha256
8297 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
8298 (build-system emacs-build-system)
8299 (arguments
8300 `(#:phases
8301 (modify-phases %standard-phases
8302 (add-after 'unpack 'remove-tests
8303 ;; Guile builder complains about null characters in some
8304 ;; strings of test files. Remove "test" directory (it is not
8305 ;; needed anyway).
8306 (lambda _
8307 (delete-file-recursively "test"))))))
8308 (home-page "https://github.com/aki2o/log4e")
8309 (synopsis "Logging framework for elisp")
8310 (description
8311 "This package provides a logging framework for elisp. It allows
8312 you to deal with multiple log levels.")
8313 (license license:gpl3+)))
8314
8315 (define-public emacs-gntp
8316 (package
8317 (name "emacs-gntp")
8318 (version "0.1")
8319 (source
8320 (origin
8321 (method git-fetch)
8322 (uri (git-reference
8323 (url "https://github.com/tekai/gntp.el.git")
8324 (commit (string-append "v" version))))
8325 (file-name (git-file-name name version))
8326 (sha256
8327 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
8328 (build-system emacs-build-system)
8329 (home-page "https://github.com/tekai/gntp.el")
8330 (synopsis "Growl Notification Protocol for Emacs")
8331 (description
8332 "This package implements the Growl Notification Protocol GNTP
8333 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
8334 It is incomplete as it only lets you send but not receive
8335 notifications.")
8336 (license license:bsd-3)))
8337
8338 (define-public emacs-alert
8339 (package
8340 (name "emacs-alert")
8341 (version "1.3")
8342 (source
8343 (origin
8344 (method git-fetch)
8345 (uri (git-reference
8346 (url "https://github.com/jwiegley/alert.git")
8347 (commit (string-append "v" version))))
8348 (file-name (git-file-name name version))
8349 (sha256
8350 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
8351 (build-system emacs-build-system)
8352 (propagated-inputs
8353 `(("emacs-gntp" ,emacs-gntp)
8354 ("emacs-log4e" ,emacs-log4e)))
8355 (home-page "https://github.com/jwiegley/alert")
8356 (synopsis "Growl-style notification system for Emacs")
8357 (description
8358 "Alert is a Growl-workalike for Emacs which uses a common notification
8359 interface and multiple, selectable \"styles\", whose use is fully
8360 customizable by the user.")
8361 (license license:gpl2+)))
8362
8363 (define-public emacs-zones
8364 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
8365 (revision "2"))
8366 (package
8367 (name "emacs-zones")
8368 (version (git-version "0" revision commit))
8369 (source
8370 (origin
8371 (method git-fetch)
8372 (uri (git-reference
8373 (url "https://github.com/emacsmirror/zones.git")
8374 (commit commit)))
8375 (file-name (git-file-name name version))
8376 (sha256
8377 (base32
8378 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
8379 (patches
8380 (search-patches
8381 "emacs-zones-called-interactively.patch"))))
8382 (build-system emacs-build-system)
8383 (home-page "https://www.emacswiki.org/emacs/Zones")
8384 (synopsis "Define and act on multiple zones of buffer text")
8385 (description "Library @file{zones.el} lets you easily define and
8386 subsequently act on multiple zones of buffer text. You can think of this as
8387 enlarging the notion of region. In effect, it can remove the requirement of
8388 target text being a contiguous sequence of characters. A set of buffer zones
8389 is, in effect, a (typically) noncontiguous set of text.")
8390 (license license:gpl3+))))
8391
8392 (define-public emacs-mu4e-alert
8393 (package
8394 (name "emacs-mu4e-alert")
8395 (version "1.0")
8396 (source
8397 (origin
8398 (method git-fetch)
8399 (uri (git-reference
8400 (url "https://github.com/iqbalansari/mu4e-alert.git")
8401 (commit (string-append "v" version))))
8402 (file-name (git-file-name name version))
8403 (sha256
8404 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
8405 (build-system emacs-build-system)
8406 (propagated-inputs
8407 `(("emacs-alert" ,emacs-alert)
8408 ("emacs-s" ,emacs-s)
8409 ("emacs-ht" ,emacs-ht)
8410 ("mu" ,mu)))
8411 (home-page "https://github.com/iqbalansari/mu4e-alert")
8412 (synopsis "Desktop notification for mu4e")
8413 (description
8414 "This package provides desktop notifications for mu4e.
8415 Additionally it can display the number of unread emails in the
8416 mode-line.")
8417 (license license:gpl3+)))
8418
8419 (define-public emacs-mu4e-jump-to-list
8420 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
8421 (revision "1"))
8422 (package
8423 (name "emacs-mu4e-jump-to-list")
8424 (version (git-version "1.0" revision commit))
8425 (source
8426 (origin
8427 (method git-fetch)
8428 (uri (git-reference
8429 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
8430 (commit commit)))
8431 (file-name (git-file-name name version))
8432 (sha256
8433 (base32
8434 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
8435 (build-system emacs-build-system)
8436 (propagated-inputs
8437 `(("mu" ,mu)))
8438 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
8439 (synopsis "Select and view mailing lists in mu4e")
8440 (description
8441 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
8442 automatically using existing List-ID headers in your mu database. Just press
8443 \"l\" in the headers view and any mailing list you've subscribed to will be
8444 automatically discovered and presented in recency order.")
8445 (license license:gpl3+))))
8446
8447 (define-public emacs-mu4e-patch
8448 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
8449 (revision "1"))
8450 (package
8451 (name "emacs-mu4e-patch")
8452 (version (git-version "0.1.0" revision commit))
8453 (source (origin
8454 (method git-fetch)
8455 (uri (git-reference
8456 (url "https://github.com/seanfarley/mu4e-patch")
8457 (commit commit)))
8458 (file-name (git-file-name name version))
8459 (sha256
8460 (base32
8461 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
8462 (build-system emacs-build-system)
8463 (propagated-inputs
8464 `(("mu" ,mu)))
8465 (home-page "https://github.com/seanfarley/mu4e-patch")
8466 (synopsis "Colorize patch-like emails in mu4e")
8467 (description
8468 "Extension for mu4e to colorize patch-like emails with diff-mode.
8469 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
8470 been adapted to work with mu4e.")
8471 (license license:gpl3+))))
8472
8473 (define-public emacs-pretty-mode
8474 (package
8475 (name "emacs-pretty-mode")
8476 (version "2.0.3")
8477 (source
8478 (origin
8479 (method git-fetch)
8480 (uri (git-reference
8481 (url "https://github.com/akatov/pretty-mode/")
8482 (commit version)))
8483 (file-name (git-file-name name version))
8484 (sha256
8485 (base32
8486 "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
8487 (build-system emacs-build-system)
8488 (home-page "https://github.com/akatov/pretty-mode")
8489 (synopsis "Redisplay parts of the buffer as Unicode symbols")
8490 (description
8491 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
8492 (license license:gpl3+)))
8493
8494 (define-public emacs-yasnippet
8495 (package
8496 (name "emacs-yasnippet")
8497 (version "0.13.0")
8498 (source (origin
8499 (method git-fetch)
8500 (uri (git-reference
8501 (url "https://github.com/joaotavora/yasnippet.git")
8502 (commit version)))
8503 (file-name (string-append name "-" version ".tar.gz"))
8504 (sha256
8505 (base32
8506 "0fkkplycrw8f8r30hjjxl1wm7p2irq2ipzzc1g7cc52abaal796p"))
8507 (modules '((guix build utils)))
8508 (snippet
8509 '(begin
8510 ;; YASnippet expects a "snippets" subdirectory in the same
8511 ;; directory as yasnippet.el, but we don't install it
8512 ;; because it's a git submodule pointing to an external
8513 ;; repository. Adjust `yas-snippet-dirs' to prevent
8514 ;; warnings about a missing directory.
8515 (substitute* "yasnippet.el"
8516 (("^ +'yas-installed-snippets-dir\\)\\)\n")
8517 "))\n"))
8518 #t))))
8519 (build-system emacs-build-system)
8520 (arguments
8521 `(#:tests? #t
8522 #:test-command '("emacs" "--batch"
8523 "-l" "yasnippet-tests.el"
8524 "-f" "ert-run-tests-batch-and-exit")
8525 ;; FIXME: one failing test
8526 #:phases
8527 (modify-phases %standard-phases
8528 (add-before 'check 'make-tests-writable
8529 (lambda _
8530 (make-file-writable "yasnippet-tests.el")
8531 #t))
8532 (add-before 'check 'delete-rebinding-test
8533 (lambda _
8534 (emacs-batch-edit-file "yasnippet-tests.el"
8535 `(progn (progn (goto-char (point-min))
8536 (re-search-forward
8537 "ert-deftest test-rebindings")
8538 (beginning-of-line)
8539 (kill-sexp))
8540 (basic-save-buffer)))
8541 #t)))))
8542 (home-page "https://github.com/joaotavora/yasnippet")
8543 (synopsis "Yet another snippet extension for Emacs")
8544 (description
8545 "YASnippet is a template system for Emacs. It allows you to type an
8546 abbreviation and automatically expand it into function templates.")
8547 (license license:gpl3+)))
8548
8549 (define-public emacs-yasnippet-snippets
8550 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
8551 (revision "1"))
8552 (package
8553 (name "emacs-yasnippet-snippets")
8554 (version (string-append "1-" revision "." (string-take commit 8)))
8555 (source
8556 (origin
8557 (method git-fetch)
8558 (uri (git-reference
8559 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
8560 (commit commit)))
8561 (file-name (git-file-name name version))
8562 (sha256
8563 (base32
8564 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
8565 (build-system trivial-build-system)
8566 (arguments
8567 `(#:modules ((ice-9 ftw)
8568 (ice-9 regex)
8569 (guix build utils))
8570 #:builder
8571 (begin
8572 (use-modules (ice-9 ftw)
8573 (ice-9 regex)
8574 (guix build utils))
8575 (with-directory-excursion (assoc-ref %build-inputs "source")
8576 (for-each (lambda (dir)
8577 (copy-recursively
8578 dir
8579 (string-append %output
8580 "/share/emacs/yasnippet-snippets/"
8581 dir)))
8582 (scandir "." (lambda (fname)
8583 (and (string-match "-mode$" fname)
8584 (directory-exists? fname))))))
8585 #t)))
8586 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
8587 (synopsis "Collection of YASnippet snippets for many languages")
8588 (description
8589 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
8590 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
8591 To make YASnippet aware of these snippets, add the above directory to
8592 @code{yas-snippet-dirs}.")
8593 (license license:expat))))
8594
8595 (define-public emacs-helm-c-yasnippet
8596 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
8597 (revision "1"))
8598 (package
8599 (name "emacs-helm-c-yasnippet")
8600 (version (string-append "0.6.7" "-" revision "."
8601 (string-take commit 7)))
8602 (source (origin
8603 (method git-fetch)
8604 (uri (git-reference
8605 (url "https://github.com/emacs-jp/helm-c-yasnippet")
8606 (commit commit)))
8607 (file-name (git-file-name name version))
8608 (sha256
8609 (base32
8610 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
8611 (build-system emacs-build-system)
8612 (propagated-inputs
8613 `(("emacs-helm" ,emacs-helm)
8614 ("emacs-yasnippet" ,emacs-yasnippet)))
8615 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
8616 (synopsis "Helm integration for Yasnippet")
8617 (description "This Emacs library provides Helm interface for
8618 Yasnippet.")
8619 (license license:gpl2+))))
8620
8621 (define-public emacs-helm-system-packages
8622 ;; There won't be a new release after 1.10.1 until
8623 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
8624 ;; and latest commits fix import issues with Guix.
8625 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
8626 (package
8627 (name "emacs-helm-system-packages")
8628 (version (git-version "1.10.1" "1" commit))
8629 (source (origin
8630 (method git-fetch)
8631 (uri (git-reference
8632 (url "https://github.com/emacs-helm/helm-system-packages")
8633 (commit commit)))
8634 (file-name (git-file-name name version))
8635 (sha256
8636 (base32
8637 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
8638 (build-system emacs-build-system)
8639 (inputs
8640 `(("recutils" ,recutils)))
8641 (propagated-inputs
8642 `(("emacs-helm" ,emacs-helm)))
8643 (arguments
8644 `(#:phases
8645 (modify-phases %standard-phases
8646 (add-after 'unpack 'configure
8647 (lambda* (#:key inputs outputs #:allow-other-keys)
8648 (let ((recutils (assoc-ref inputs "recutils")))
8649 ;; Specify the absolute file names of the various
8650 ;; programs so that everything works out-of-the-box.
8651 (substitute* "helm-system-packages-guix.el"
8652 (("recsel") (string-append recutils "/bin/recsel")))))))))
8653 (home-page "https://github.com/emacs-helm/helm-system-packages")
8654 (synopsis "Helm System Packages is an interface to your package manager")
8655 (description "List all available packages in Helm (with installed
8656 packages displayed in their own respective face). Fuzzy-search, mark and
8657 execute the desired action over any selections of packages: Install,
8658 uninstall, display packages details (in Org Mode) or insert details at point,
8659 find files owned by packages... And much more, including performing all the
8660 above over the network.")
8661 (license license:gpl3+))))
8662
8663 (define-public emacs-helm-org-rifle
8664 (package
8665 (name "emacs-helm-org-rifle")
8666 (version "1.7.0")
8667 (source
8668 (origin
8669 (method git-fetch)
8670 (uri (git-reference
8671 (url "https://github.com/alphapapa/helm-org-rifle")
8672 (commit version)))
8673 (file-name (git-file-name name version))
8674 (sha256
8675 (base32
8676 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
8677 (build-system emacs-build-system)
8678 (propagated-inputs
8679 `(("emacs-dash" ,emacs-dash)
8680 ("emacs-f" ,emacs-f)
8681 ("emacs-helm" ,emacs-helm)
8682 ("emacs-org" ,emacs-org)
8683 ("emacs-s" ,emacs-s)))
8684 (home-page "https://github.com/alphapapa/helm-org-rifle")
8685 (synopsis "Rifle through Org files")
8686 (description "This package searches both headings and contents of entries
8687 in Org buffers and displays matching entries.")
8688 (license license:gpl3+)))
8689
8690 (define-public emacs-dired-toggle-sudo
8691 (package
8692 (name "emacs-dired-toggle-sudo")
8693 (version "1.0")
8694 (source
8695 (origin
8696 (method git-fetch)
8697 (uri (git-reference
8698 (url "https://github.com/renard/dired-toggle-sudo")
8699 (commit (string-append "v" version))))
8700 (file-name (git-file-name name version))
8701 (sha256
8702 (base32
8703 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
8704 (patches
8705 (search-patches
8706 "emacs-dired-toggle-sudo-emacs-26.patch"))))
8707 (build-system emacs-build-system)
8708 (home-page "https://github.com/renard/dired-toggle-sudo")
8709 (synopsis "Browse directory with @code{sudo} privileges")
8710 (description "This package allows for the use of @code{dired} with
8711 @code{sudo} privileges.")
8712 (license license:wtfpl2)))
8713
8714 (define-public emacs-memoize
8715 (package
8716 (name "emacs-memoize")
8717 (version "1.1")
8718 (source
8719 (origin
8720 (method git-fetch)
8721 (uri (git-reference
8722 (url "https://github.com/skeeto/emacs-memoize.git")
8723 (commit version)))
8724 (file-name (git-file-name name version))
8725 (sha256
8726 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
8727 (build-system emacs-build-system)
8728 (arguments
8729 `(#:tests? #t
8730 #:test-command '("emacs" "--batch"
8731 "-l" "memoize-test.el"
8732 "-f" "ert-run-tests-batch-and-exit")))
8733 (home-page "https://github.com/skeeto/emacs-memoize")
8734 (synopsis "Emacs lisp memoization library")
8735 (description "@code{emacs-memoize} is an Emacs library for
8736 memoizing functions.")
8737 (license license:unlicense)))
8738
8739 (define-public emacs-linum-relative
8740 (package
8741 (name "emacs-linum-relative")
8742 (version "0.6")
8743 (source
8744 (origin
8745 (method git-fetch)
8746 (uri (git-reference
8747 (url "https://github.com/coldnew/linum-relative.git")
8748 (commit version)))
8749 (file-name (git-file-name name version))
8750 (sha256
8751 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
8752 (build-system emacs-build-system)
8753 (home-page "https://github.com/coldnew/linum-relative")
8754 (synopsis "Relative line numbering for Emacs")
8755 (description "@code{emacs-linum-relative} displays the relative line
8756 number on the left margin in Emacs.")
8757 (license license:gpl2+)))
8758
8759 (define-public emacs-idle-highlight
8760 (package
8761 (name "emacs-idle-highlight")
8762 (version "1.1.3")
8763 (source
8764 (origin
8765 (method git-fetch)
8766 (uri (git-reference
8767 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
8768 (commit version)))
8769 (file-name (git-file-name name version))
8770 (sha256
8771 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
8772 (build-system emacs-build-system)
8773 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
8774 (synopsis "Highlights all occurrences of the word the point is on")
8775 (description
8776 "This Emacs package provides @code{idle-highlight-mode} that sets
8777 an idle timer to highlight all occurrences in the buffer of the word under
8778 the point.")
8779 (license license:gpl3+)))
8780
8781 (define-public emacs-ox-twbs
8782 (package
8783 (name "emacs-ox-twbs")
8784 (version "1.1.1")
8785 (source
8786 (origin
8787 (method git-fetch)
8788 (uri (git-reference
8789 (url "https://github.com/marsmining/ox-twbs.git")
8790 (commit (string-append "v" version))))
8791 (file-name (git-file-name name version))
8792 (sha256
8793 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
8794 (build-system emacs-build-system)
8795 (home-page "https://github.com/marsmining/ox-twbs")
8796 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
8797 (description
8798 "This Emacs package outputs your org-mode docs with a simple, clean and
8799 modern look. It implements a new HTML back-end for exporting org-mode docs as
8800 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
8801 jQuery and Bootstrap resources included via osscdn.")
8802 (license license:gpl3+)))
8803
8804 (define-public emacs-highlight-sexp
8805 (package
8806 (name "emacs-highlight-sexp")
8807 (version "1.0")
8808 (source
8809 (origin
8810 (method git-fetch)
8811 (uri (git-reference
8812 (url "https://github.com/daimrod/highlight-sexp.git")
8813 (commit (string-append "v" version))))
8814 (file-name (git-file-name name version))
8815 (sha256
8816 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
8817 (build-system emacs-build-system)
8818 (home-page "https://github.com/daimrod/highlight-sexp")
8819 (synopsis "Minor mode that highlights the s-exp at the current position")
8820 (description
8821 "This Emacs package highlights the s-exp at the current position.")
8822 (license license:gpl3+)))
8823
8824 (define-public emacs-highlight-stages
8825 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
8826 (revision "1"))
8827 (package
8828 (name "emacs-highlight-stages")
8829 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
8830 (source
8831 (origin
8832 (method git-fetch)
8833 (uri (git-reference
8834 (url "https://github.com/zk-phi/highlight-stages.git")
8835 (commit commit)))
8836 (file-name (git-file-name name version))
8837 (sha256
8838 (base32
8839 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
8840 (patches
8841 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
8842 (build-system emacs-build-system)
8843 (home-page "https://github.com/wigust/highlight-stages")
8844 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
8845 (description "@code{highlight-stages} provides an Emacs minor mode that
8846 highlights quasi-quoted expressions.")
8847 (license license:gpl3+))))
8848
8849 (define-public emacspeak
8850 (package
8851 (name "emacspeak")
8852 (version "50.0")
8853 (source
8854 (origin
8855 (method url-fetch)
8856 (uri (string-append
8857 "https://github.com/tvraman/emacspeak/releases/download/"
8858 version "/emacspeak-" version ".tar.bz2"))
8859 (sha256
8860 (base32
8861 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
8862 (build-system gnu-build-system)
8863 (arguments
8864 '(#:make-flags (list (string-append "prefix="
8865 (assoc-ref %outputs "out")))
8866 #:phases
8867 (modify-phases %standard-phases
8868 (replace 'configure
8869 (lambda _
8870 (setenv "SHELL" (which "sh"))
8871 ;; Configure Emacspeak according to etc/install.org.
8872 (invoke "make" "config")))
8873 (add-after 'build 'build-espeak
8874 (lambda _
8875 (invoke "make" "espeak")))
8876 (replace 'install
8877 (lambda* (#:key inputs outputs #:allow-other-keys)
8878 (let* ((out (assoc-ref outputs "out"))
8879 (bin (string-append out "/bin"))
8880 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
8881 (info (string-append out "/share/info"))
8882 (emacs (string-append (assoc-ref inputs "emacs")
8883 "/bin/emacs")))
8884 ;; According to etc/install.org, the Emacspeak directory should
8885 ;; be copied to its installation destination.
8886 (for-each
8887 (lambda (file)
8888 (copy-recursively file (string-append lisp "/" file)))
8889 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
8890 "stumpwm" "xsl"))
8891 ;; Make sure emacspeak is loaded from the correct directory.
8892 (substitute* "etc/emacspeak.sh"
8893 (("/lisp/emacspeak-setup.el")
8894 (string-append lisp "/lisp/emacspeak-setup.el")))
8895 ;; Install the convenient startup script.
8896 (mkdir-p bin)
8897 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
8898 #t))
8899 (add-after 'install 'wrap-program
8900 (lambda* (#:key inputs outputs #:allow-other-keys)
8901 (let* ((out (assoc-ref outputs "out"))
8902 (emacspeak (string-append out "/bin/emacspeak"))
8903 (espeak (string-append (assoc-ref inputs "espeak")
8904 "/bin/espeak")))
8905 ;; The environment variable DTK_PROGRAM tells emacspeak what
8906 ;; program to use for speech.
8907 (wrap-program emacspeak
8908 `("DTK_PROGRAM" ":" prefix (,espeak)))
8909 #t))))
8910 #:tests? #f)) ; no check target
8911 (inputs
8912 `(("emacs" ,emacs)
8913 ("espeak" ,espeak)
8914 ("perl" ,perl)
8915 ("tcl" ,tcl)
8916 ("tclx" ,tclx)))
8917 (home-page "http://emacspeak.sourceforge.net")
8918 (synopsis "Audio desktop interface for Emacs")
8919 (description
8920 "Emacspeak is a speech interface that allows visually impaired users to
8921 interact independently and efficiently with the computer. Audio formatting
8922 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
8923 allows Emacspeak to produce rich aural presentations of electronic information.
8924 By seamlessly blending all aspects of the Internet such as Web-surfing and
8925 messaging, Emacspeak speech-enables local and remote information via a
8926 consistent and well-integrated user interface.")
8927 (license license:gpl2+)))
8928
8929 (define-public emacs-adaptive-wrap
8930 (package
8931 (name "emacs-adaptive-wrap")
8932 (version "0.5.1")
8933 (source (origin
8934 (method url-fetch)
8935 (uri (string-append
8936 "http://elpa.gnu.org/packages/adaptive-wrap-"
8937 version ".el"))
8938 (sha256
8939 (base32
8940 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
8941 (build-system emacs-build-system)
8942 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
8943 (synopsis "Smart line-wrapping with wrap-prefix")
8944 (description
8945 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
8946 minor mode which sets the wrap-prefix property on the fly so that
8947 single-long-line paragraphs get word-wrapped in a way similar to what
8948 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
8949 actually changing the buffer's text.")
8950 (license license:gpl3+)))
8951
8952 (define-public emacs-diff-hl
8953 (package
8954 (name "emacs-diff-hl")
8955 (version "1.8.7")
8956 (source
8957 (origin
8958 (method git-fetch)
8959 (uri (git-reference
8960 (url "https://github.com/dgutov/diff-hl")
8961 (commit version)))
8962 (file-name (git-file-name name version))
8963 (sha256
8964 (base32 "0i7x6qgr3nydcwhw72sbc8z9x9dfhgkf0dqj9nakvx36vn1bblbq"))))
8965 (build-system emacs-build-system)
8966 (home-page "https://github.com/dgutov/diff-hl")
8967 (synopsis
8968 "Highlight uncommitted changes using VC")
8969 (description
8970 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
8971 window (using the fringe, by default), allows you to jump between
8972 the hunks and revert them selectively.")
8973 (license license:gpl3+)))
8974
8975 (define-public emacs-diminish
8976 (package
8977 (name "emacs-diminish")
8978 (version "0.45")
8979 (source
8980 (origin
8981 (method git-fetch)
8982 (uri (git-reference
8983 (url "https://github.com/myrjola/diminish.el.git")
8984 (commit (string-append "v" version))))
8985 (file-name (git-file-name name version))
8986 (sha256
8987 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
8988 (build-system emacs-build-system)
8989 (home-page "https://github.com/myrjola/diminish.el")
8990 (synopsis "Diminish minor modes with no modeline display")
8991 (description "@code{emacs-diminish} implements hiding or
8992 abbreviation of the mode line displays (lighters) of minor modes.")
8993 (license license:gpl2+)))
8994
8995 (define-public emacs-use-package
8996 (package
8997 (name "emacs-use-package")
8998 (version "2.4")
8999 (source (origin
9000 (method git-fetch)
9001 (uri (git-reference
9002 (url "https://github.com/jwiegley/use-package")
9003 (commit version)))
9004 (file-name (git-file-name name version))
9005 (sha256
9006 (base32
9007 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
9008 (build-system emacs-build-system)
9009 (propagated-inputs
9010 `(("emacs-diminish" ,emacs-diminish)))
9011 (arguments
9012 `(#:tests? #t
9013 #:test-command '("emacs" "--batch"
9014 "-l" "use-package-tests.el"
9015 "-f" "ert-run-tests-batch-and-exit")))
9016 (home-page "https://github.com/jwiegley/use-package")
9017 (synopsis "Declaration for simplifying your .emacs")
9018 (description "The use-package macro allows you to isolate package
9019 configuration in your @file{.emacs} file in a way that is both
9020 performance-oriented and tidy.")
9021 (license license:gpl2+)))
9022
9023 (define-public emacs-leaf
9024 (package
9025 (name "emacs-leaf")
9026 (version "3.5.0")
9027 (source
9028 (origin
9029 (method git-fetch)
9030 (uri (git-reference
9031 (url "https://github.com/conao3/leaf.el.git")
9032 (commit (string-append "v" version))))
9033 (file-name (git-file-name name version))
9034 (sha256
9035 (base32
9036 "1rgd59146wad92yc64las0qgx67k2ifgsw1vwhp40xvkd7kb0r6d"))))
9037 (build-system emacs-build-system)
9038 (home-page "https://github.com/conao3/leaf.el")
9039 (arguments
9040 `(#:tests? #t
9041 #:test-command '("emacs" "--batch"
9042 "-l" "leaf-tests.el"
9043 "-f" "cort-test-run")))
9044 (synopsis
9045 "Simplify your init.el configuration, extended use-package")
9046 (description
9047 "This package provides macros that allows you to declaratively configure
9048 settings typical of an Elisp package with various keywords. The syntax is
9049 similar, but not identical to use-package -- overall, leaf aims at a cleaner
9050 and more predictable implementation.")
9051 (license license:agpl3+)))
9052
9053 (define-public emacs-strace-mode
9054 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
9055 (revision "1"))
9056 (package
9057 (name "emacs-strace-mode")
9058 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
9059 (source (origin
9060 (method git-fetch)
9061 (uri (git-reference
9062 (url "https://github.com/pkmoore/strace-mode")
9063 (commit commit)))
9064 (file-name (git-file-name name version))
9065 (sha256
9066 (base32
9067 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
9068 (build-system emacs-build-system)
9069 (home-page "https://github.com/pkmoore/strace-mode")
9070 (synopsis "Emacs major mode to highlight strace outputs")
9071 (description "@code{emacs-strace-mode} provides an Emacs major mode
9072 highlighting strace outputs.")
9073 (license license:gpl3+))))
9074
9075 (define-public emacs-default-encrypt
9076 (package
9077 (name "emacs-default-encrypt")
9078 (version "4.4")
9079 (source
9080 (origin
9081 (method url-fetch)
9082 (uri (string-append
9083 "https://informationelle-selbstbestimmung-im-internet.de"
9084 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
9085 (file-name (string-append "jl-encrypt-" version ".el"))
9086 (sha256
9087 (base32
9088 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
9089 (build-system emacs-build-system)
9090 (home-page
9091 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
9092 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
9093 (description
9094 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
9095 automatically encrypts messages that you send (e.g., email) when public keys
9096 for all recipients are available, and it protects you from accidentally
9097 sending un-encrypted messages. It can also be configured to automatically
9098 sign messages that you send. For details and instructions on how to use
9099 DefaultEncrypt, please refer to the home page or read the comments in the
9100 source file, @file{jl-encrypt.el}.")
9101 (license license:gpl3+)))
9102
9103 (define-public emacs-extend-smime
9104 (package
9105 (name "emacs-extend-smime")
9106 (version "3.3")
9107 (source
9108 (origin
9109 (method url-fetch)
9110 (uri (string-append
9111 "https://informationelle-selbstbestimmung-im-internet.de"
9112 "/emacs/jl-smime" version "/jl-smime.el"))
9113 (file-name (string-append "jl-smime-" version ".el"))
9114 (sha256
9115 (base32
9116 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
9117 (build-system emacs-build-system)
9118 (home-page
9119 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
9120 (synopsis "Improved S/MIME support for Gnus in Emacs")
9121 (propagated-inputs
9122 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
9123 (description
9124 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
9125 ;; should not be translated. The name "emacs-default-encrypt" refers to
9126 ;; the Guix package that provides DefaultEncrypt.
9127 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
9128 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
9129 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
9130 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
9131 certificates via LDAP and imports them into @code{gpgsm}. When certificates
9132 for all recipients are available, DefaultEncrypt automatically encrypts the
9133 message. For details and instructions on how to use ExtendSMIME, please refer
9134 to the home page or read the comments in the source file,
9135 @file{jl-smime.el}.")
9136 (license license:gpl3+)))
9137
9138 (define-public emacs-htmlize
9139 (package
9140 (name "emacs-htmlize")
9141 (version "1.53")
9142 (source
9143 (origin
9144 (method git-fetch)
9145 (uri (git-reference
9146 (url "https://github.com/hniksic/emacs-htmlize.git")
9147 (commit (string-append "release/" version))))
9148 (file-name (git-file-name name version))
9149 (sha256
9150 (base32 "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"))))
9151 (build-system emacs-build-system)
9152 (home-page "https://github.com/hniksic/emacs-htmlize")
9153 (synopsis "Convert buffer text and decorations to HTML")
9154 (description "@code{emacs-htmlize} converts the buffer text and
9155 the associated decorations to HTML. Output to CSS, inline CSS and
9156 fonts is supported.")
9157 (license license:gpl2+)))
9158
9159 (define-public emacs-xmlgen
9160 (package
9161 (name "emacs-xmlgen")
9162 (version "0.5")
9163 (source
9164 (origin
9165 (method git-fetch)
9166 (uri (git-reference
9167 (url "https://github.com/philjackson/xmlgen.git")
9168 (commit version)))
9169 (file-name (git-file-name name version))
9170 (sha256
9171 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
9172 (build-system emacs-build-system)
9173 (arguments
9174 `(#:tests? #t
9175 #:test-command '("emacs" "--batch"
9176 "-l" "xmlgen-test.el"
9177 "-f" "ert-run-tests-batch-and-exit")))
9178 (home-page "https://github.com/philjackson/xmlgen")
9179 (synopsis "S-expression to XML domain specific language (DSL) in
9180 Emacs Lisp")
9181 (description "@code{emacs-xmlgen} provides S-expression to XML
9182 conversion for Emacs Lisp.")
9183 (license license:gpl2+)))
9184
9185 (define-public emacs-cdlatex
9186 (package
9187 (name "emacs-cdlatex")
9188 (version "4.7")
9189 (source
9190 (origin
9191 (method git-fetch)
9192 (uri (git-reference
9193 (url "https://github.com/cdominik/cdlatex.git")
9194 (commit version)))
9195 (file-name (git-file-name name version))
9196 (sha256
9197 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
9198 (build-system emacs-build-system)
9199 (propagated-inputs
9200 `(("emacs-auctex" ,emacs-auctex)))
9201 (home-page "https://github.com/cdominik/cdlatex")
9202 (synopsis "Fast Emacs input methods for LaTeX environments and
9203 math")
9204 (description "CDLaTeX is an Emacs minor mode supporting fast
9205 insertion of environment templates and math in LaTeX. Similar
9206 commands are also offered as part of the AUCTeX package, but it is not
9207 the same - CDLaTeX focuses on speediness for inserting LaTeX
9208 constructs.")
9209 (license license:gpl3+)))
9210
9211 (define-public emacs-cnfonts
9212 (package
9213 (name "emacs-cnfonts")
9214 (version "0.9.1")
9215 (source
9216 (origin
9217 (method git-fetch)
9218 (uri (git-reference
9219 (url "https://github.com/tumashu/cnfonts.git")
9220 (commit (string-append "v" version))))
9221 (file-name (git-file-name name version))
9222 (sha256
9223 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
9224 (build-system emacs-build-system)
9225 (home-page "https://github.com/tumashu/cnfonts")
9226 (synopsis "Emacs Chinese fonts setup tool")
9227 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
9228 configuration of Chinese fonts.")
9229 (license license:gpl2+)))
9230
9231 (define-public emacs-php-mode
9232 (package
9233 (name "emacs-php-mode")
9234 (version "1.22.1")
9235 (source (origin
9236 (method git-fetch)
9237 (uri (git-reference
9238 (url "https://github.com/ejmr/php-mode.git")
9239 (commit (string-append "v" version))))
9240 (file-name (git-file-name name version))
9241 (sha256
9242 (base32
9243 "1yc7f39bv2ni8q5372r4kj04z7rikvc8w1mqx5c4zph5r02jab7i"))))
9244 (build-system emacs-build-system)
9245 (home-page "https://github.com/ejmr/php-mode")
9246 (synopsis "Major mode for editing PHP code")
9247 (description "@code{php-mode} is a major mode for editing PHP source
9248 code. It's an extension of C mode; thus it inherits all C mode's navigation
9249 functionality. But it colors according to the PHP grammar and indents
9250 according to the PEAR coding guidelines. It also includes a couple handy
9251 IDE-type features such as documentation search and a source and class
9252 browser.")
9253 (license license:gpl3+)))
9254
9255 (define-public emacs-pos-tip
9256 (package
9257 (name "emacs-pos-tip")
9258 (version "0.4.6")
9259 (source
9260 (origin
9261 (method git-fetch)
9262 (uri (git-reference
9263 (url "https://github.com/pitkali/pos-tip.git")
9264 (commit version)))
9265 (file-name (git-file-name name version))
9266 (sha256
9267 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
9268 (build-system emacs-build-system)
9269 ;; The following functions and variables needed by emacs-pos-tip are
9270 ;; not included in emacs-minimal:
9271 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
9272 (arguments `(#:emacs ,emacs))
9273 (home-page "https://github.com/pitkali/pos-tip")
9274 (synopsis "Show tooltip at point")
9275 (description "The standard library tooltip.el provides a function for
9276 displaying a tooltip at the mouse position. However, locating a tooltip at an
9277 arbitrary buffer position in a window is not easy. Pos-tip provides such a
9278 function to be used by other frontend programs.")
9279 (license license:gpl2+)))
9280
9281 (define-public emacs-pyim-basedict
9282 (package
9283 (name "emacs-pyim-basedict")
9284 (version "0.3.1")
9285 (source
9286 (origin
9287 (method git-fetch)
9288 (uri (git-reference
9289 (url "https://github.com/tumashu/pyim-basedict.git")
9290 (commit (string-append "v" version))))
9291 (file-name (git-file-name name version))
9292 (sha256
9293 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
9294 (build-system emacs-build-system)
9295 (home-page "https://github.com/tumashu/pyim-basedict")
9296 (synopsis "Input method dictionary of pyim")
9297 (description "Pyim-basedict is the default pinyin input method dictionary,
9298 containing words from the rime project.")
9299 (license license:gpl2+)))
9300
9301 (define-public emacs-pyim
9302 (package
9303 (name "emacs-pyim")
9304 (version "1.8")
9305 (source
9306 (origin
9307 (method git-fetch)
9308 (uri (git-reference
9309 (url "https://github.com/tumashu/pyim")
9310 (commit (string-append "v" version))))
9311 (file-name (git-file-name name version))
9312 (sha256
9313 (base32
9314 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
9315 (build-system emacs-build-system)
9316 (propagated-inputs
9317 `(("emacs-async" ,emacs-async)
9318 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
9319 ("emacs-popup" ,emacs-popup)
9320 ("emacs-posframe" ,emacs-posframe)))
9321 (home-page "https://github.com/tumashu/pyim")
9322 (synopsis "Chinese input method")
9323 (description "Chinese input method which supports quanpin, shuangpin, wubi
9324 and cangjie.")
9325 (license license:gpl2+)))
9326
9327 (define-public emacs-posframe
9328 (package
9329 (name "emacs-posframe")
9330 (version "0.5.0")
9331 (source
9332 (origin
9333 (method git-fetch)
9334 (uri (git-reference
9335 (url "https://github.com/tumashu/posframe")
9336 (commit (string-append "v" version))))
9337 (file-name (git-file-name name version))
9338 (sha256
9339 (base32
9340 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
9341 (build-system emacs-build-system)
9342 ;; emacs-minimal does not include the function font-info
9343 (arguments `(#:emacs ,emacs))
9344 (home-page "https://github.com/tumashu/posframe")
9345 (synopsis "Pop a posframe (a child frame) at point")
9346 (description "@code{emacs-posframe} can pop a posframe at point. A
9347 posframe is a child frame displayed within its root window's buffer.
9348 @code{emacs-posframe} is fast and works well with CJK languages.")
9349 (license license:gpl3+)))
9350
9351 (define-public emacs-el2org
9352 (package
9353 (name "emacs-el2org")
9354 (version "0.6.0")
9355 (source
9356 (origin
9357 (method git-fetch)
9358 (uri (git-reference
9359 (url "https://github.com/tumashu/el2org.git")
9360 (commit (string-append "v" version))))
9361 (file-name (git-file-name name version))
9362 (sha256
9363 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
9364 (build-system emacs-build-system)
9365 (home-page "https://github.com/tumashu/el2org")
9366 (synopsis "Convert Emacs-lisp file to org file")
9367 (description "El2org is a simple tool, which can convert Emacs-lisp file
9368 to org file, you can use this tool to write orgify commentary.")
9369 (license license:gpl2+)))
9370
9371 (define-public emacs-mustache
9372 (package
9373 (name "emacs-mustache")
9374 (version "0.23")
9375 (source
9376 (origin
9377 (method git-fetch)
9378 (uri (git-reference
9379 (url "https://github.com/Wilfred/mustache.el.git")
9380 (commit version)))
9381 (file-name (git-file-name name version))
9382 (sha256
9383 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
9384 (build-system emacs-build-system)
9385 (propagated-inputs
9386 `(("emacs-dash" ,emacs-dash)
9387 ("emacs-ht" ,emacs-ht)
9388 ("emacs-s" ,emacs-s)))
9389 (home-page "https://github.com/Wilfred/mustache.el")
9390 (synopsis "Mustache templating library for Emacs")
9391 (description "Mustache templating library for Emacs, mustache is
9392 a simple web template system, which is described as a logic-less system
9393 because it lacks any explicit control flow statements, both looping and
9394 conditional evaluation can be achieved using section tags processing lists
9395 and lambdas.")
9396 (license license:gpl3+)))
9397
9398 (define-public emacs-org2web
9399 (package
9400 (name "emacs-org2web")
9401 (version "0.9.1")
9402 (source
9403 (origin
9404 (method git-fetch)
9405 (uri (git-reference
9406 (url "https://github.com/tumashu/org2web.git")
9407 (commit (string-append "v" version))))
9408 (file-name (git-file-name name version))
9409 (sha256
9410 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
9411 (build-system emacs-build-system)
9412 (propagated-inputs
9413 `(("emacs-dash" ,emacs-dash)
9414 ("emacs-el2org" ,emacs-el2org)
9415 ("emacs-ht" ,emacs-ht)
9416 ("emacs-mustache" ,emacs-mustache)
9417 ("emacs-simple-httpd" ,emacs-simple-httpd)))
9418 (home-page "https://github.com/tumashu/org2web")
9419 (synopsis "Static site generator based on org-mode ")
9420 (description "Org2web is a static site generator based on org-mode,
9421 which code derived from Kelvin H's org-page.")
9422 (license license:gpl2+)))
9423
9424 (define-public emacs-xelb
9425 (package
9426 (name "emacs-xelb")
9427 (version "0.18")
9428 (source (origin
9429 (method url-fetch)
9430 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
9431 version ".tar"))
9432 (sha256
9433 (base32
9434 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
9435 (build-system emacs-build-system)
9436 ;; The following functions and variables needed by emacs-xelb are
9437 ;; not included in emacs-minimal:
9438 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
9439 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
9440 ;; x-display-pixel-width, x-display-pixel-height
9441 (arguments
9442 `(#:emacs ,emacs
9443 #:phases
9444 (modify-phases %standard-phases
9445 (add-after 'unpack 'regenerate-el-files
9446 (lambda* (#:key inputs #:allow-other-keys)
9447 (invoke "make"
9448 (string-append "PROTO_PATH="
9449 (assoc-ref inputs "xcb-proto")
9450 "/share/xcb")
9451 (string-append "EMACS_BIN="
9452 (assoc-ref inputs "emacs")
9453 "/bin/emacs -Q")))))))
9454 (native-inputs `(("xcb-proto" ,xcb-proto)))
9455 (home-page "https://github.com/ch11ng/xelb")
9456 (synopsis "X protocol Emacs Lisp binding")
9457 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
9458 X11 protocol based on the XML description files from the XCB project. It
9459 features an object-oriented API and permits a certain degree of concurrency.
9460 It should enable you to implement low-level X11 applications.")
9461 (license license:gpl3+)))
9462
9463 (define-public emacs-exwm
9464 (package
9465 (name "emacs-exwm")
9466 (version "0.23")
9467 (synopsis "Emacs X window manager")
9468 (source (origin
9469 (method url-fetch)
9470 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
9471 version ".tar"))
9472 (sha256
9473 (base32
9474 "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
9475 (build-system emacs-build-system)
9476 (propagated-inputs
9477 `(("emacs-xelb" ,emacs-xelb)))
9478 (inputs
9479 `(("xhost" ,xhost)
9480 ("dbus" ,dbus)))
9481 ;; The following functions and variables needed by emacs-exwm are
9482 ;; not included in emacs-minimal:
9483 ;; scroll-bar-mode, fringe-mode
9484 ;; x-display-pixel-width, x-display-pixel-height
9485 (arguments
9486 `(#:emacs ,emacs
9487 #:phases
9488 (modify-phases %standard-phases
9489 (add-after 'build 'install-xsession
9490 (lambda* (#:key inputs outputs #:allow-other-keys)
9491 (let* ((out (assoc-ref outputs "out"))
9492 (xsessions (string-append out "/share/xsessions"))
9493 (bin (string-append out "/bin"))
9494 (exwm-executable (string-append bin "/exwm")))
9495 ;; Add a .desktop file to xsessions
9496 (mkdir-p xsessions)
9497 (mkdir-p bin)
9498 (with-output-to-file
9499 (string-append xsessions "/exwm.desktop")
9500 (lambda _
9501 (format #t "[Desktop Entry]~@
9502 Name=~a~@
9503 Comment=~a~@
9504 Exec=~a~@
9505 TryExec=~:*~a~@
9506 Type=Application~%" ,name ,synopsis exwm-executable)))
9507 ;; Add a shell wrapper to bin
9508 (with-output-to-file exwm-executable
9509 (lambda _
9510 (format #t "#!~a ~@
9511 ~a +SI:localuser:$USER ~@
9512 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9513 (string-append (assoc-ref inputs "bash") "/bin/sh")
9514 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9515 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9516 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9517 '(cond
9518 ((file-exists-p "~/.exwm")
9519 (load-file "~/.exwm"))
9520 ((not (featurep 'exwm))
9521 (require 'exwm)
9522 (require 'exwm-config)
9523 (exwm-config-default)
9524 (message (concat "exwm configuration not found. "
9525 "Falling back to default configuration...")))))))
9526 (chmod exwm-executable #o555)
9527 #t))))))
9528 (home-page "https://github.com/ch11ng/exwm")
9529 (description "EXWM is a full-featured tiling X window manager for Emacs
9530 built on top of XELB.")
9531 (license license:gpl3+)))
9532
9533 (define-public emacs-switch-window
9534 (package
9535 (name "emacs-switch-window")
9536 (version "1.6.2")
9537 (source
9538 (origin
9539 (method git-fetch)
9540 (uri (git-reference
9541 (url "https://github.com/dimitri/switch-window")
9542 (commit (string-append "v" version))))
9543 (file-name (git-file-name name version))
9544 (sha256
9545 (base32
9546 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
9547 (build-system emacs-build-system)
9548 (home-page "https://github.com/dimitri/switch-window")
9549 (synopsis "Emacs window switch tool")
9550 (description "Switch-window is an emacs window switch tool, which
9551 offer a visual way to choose a window to switch to, delete, split or
9552 other operations.")
9553 (license license:wtfpl2)))
9554
9555 (define-public emacs-exwm-x
9556 (package
9557 (name "emacs-exwm-x")
9558 (version "1.9.0")
9559 (synopsis "Derivative window manager based on EXWM")
9560 (source
9561 (origin
9562 (method git-fetch)
9563 (uri (git-reference
9564 (url "https://github.com/tumashu/exwm-x")
9565 (commit (string-append "v" version))))
9566 (file-name (git-file-name name version))
9567 (sha256
9568 (base32
9569 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
9570 (build-system emacs-build-system)
9571 (propagated-inputs
9572 `(("emacs-exwm" ,emacs-exwm)
9573 ("emacs-switch-window" ,emacs-switch-window)
9574 ("emacs-ivy" ,emacs-ivy)
9575 ("emacs-use-package" ,emacs-use-package)))
9576 (inputs
9577 `(("xhost" ,xhost)
9578 ("dbus" ,dbus)))
9579 ;; Need emacs instead of emacs-minimal,
9580 ;; for emacs's bin path will be inserted into bin/exwm-x file.
9581 (arguments
9582 `(#:emacs ,emacs
9583 #:phases
9584 (modify-phases %standard-phases
9585 (add-after 'build 'install-xsession
9586 (lambda* (#:key inputs outputs #:allow-other-keys)
9587 (let* ((out (assoc-ref outputs "out"))
9588 (xsessions (string-append out "/share/xsessions"))
9589 (bin (string-append out "/bin"))
9590 (exwm-executable (string-append bin "/exwm-x")))
9591 ;; Add a .desktop file to xsessions
9592 (mkdir-p xsessions)
9593 (mkdir-p bin)
9594 (with-output-to-file
9595 (string-append xsessions "/exwm-x.desktop")
9596 (lambda _
9597 (format #t "[Desktop Entry]~@
9598 Name=~a~@
9599 Comment=~a~@
9600 Exec=~a~@
9601 TryExec=~@*~a~@
9602 Type=Application~%" ,name ,synopsis exwm-executable)))
9603 ;; Add a shell wrapper to bin
9604 (with-output-to-file exwm-executable
9605 (lambda _
9606 (format #t "#!~a ~@
9607 ~a +SI:localuser:$USER ~@
9608 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9609 (string-append (assoc-ref inputs "bash") "/bin/sh")
9610 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9611 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9612 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9613 '(require 'exwmx-loader))))
9614 (chmod exwm-executable #o555)
9615 #t))))))
9616 (home-page "https://github.com/tumashu/exwm-x")
9617 (description "EXWM-X is a derivative window manager based on EXWM, with focus
9618 on mouse-control.")
9619 (license license:gpl3+)))
9620
9621 (define-public emacs-gnugo
9622 (package
9623 (name "emacs-gnugo")
9624 (version "3.1.0")
9625 (source
9626 (origin
9627 (method url-fetch)
9628 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
9629 version ".tar"))
9630 (sha256
9631 (base32
9632 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
9633 (build-system emacs-build-system)
9634 (arguments
9635 `(#:phases (modify-phases %standard-phases
9636 (add-after 'unpack 'configure-default-gnugo-xpms-variable
9637 (lambda _
9638 (substitute* "gnugo.el"
9639 (("defvar gnugo-xpms nil")
9640 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
9641 #t)))))
9642 (propagated-inputs
9643 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
9644 ("emacs-xpm" ,emacs-xpm)))
9645 (home-page "https://elpa.gnu.org/packages/gnugo.html")
9646 (synopsis "Emacs major mode for playing GNU Go")
9647 (description "This package provides an Emacs based interface for GNU Go.
9648 It has a graphical mode where the board and stones are drawn using XPM images
9649 and supports the use of a mouse.")
9650 (license license:gpl3+)))
9651
9652 (define-public emacs-gnuplot
9653 (package
9654 (name "emacs-gnuplot")
9655 (version "0.7.0")
9656 (source
9657 (origin
9658 (method git-fetch)
9659 (uri (git-reference
9660 (url "https://github.com/bruceravel/gnuplot-mode.git")
9661 (commit version)))
9662 (file-name (git-file-name name version))
9663 (sha256
9664 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
9665 (build-system gnu-build-system)
9666 (native-inputs `(("emacs" ,emacs-minimal)))
9667 (arguments
9668 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
9669 "/gnuplot-" version)))
9670 `(#:modules ((guix build gnu-build-system)
9671 (guix build utils)
9672 (guix build emacs-utils))
9673 #:imported-modules (,@%gnu-build-system-modules
9674 (guix build emacs-utils))
9675 #:configure-flags
9676 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
9677 "/bin/emacs")
9678 (string-append "--with-lispdir=" %output ,elisp-dir))
9679 #:phases
9680 (modify-phases %standard-phases
9681 (add-after 'install 'generate-autoloads
9682 (lambda* (#:key outputs #:allow-other-keys)
9683 (emacs-generate-autoloads
9684 "gnuplot"
9685 (string-append (assoc-ref outputs "out") ,elisp-dir))
9686 #t))))))
9687 (home-page "https://github.com/bruceravel/gnuplot-mode")
9688 (synopsis "Emacs major mode for interacting with gnuplot")
9689 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
9690 with gnuplot.")
9691 (license license:gpl2+)))
9692
9693 (define-public emacs-transpose-frame
9694 (package
9695 (name "emacs-transpose-frame")
9696 (version "0.1.0")
9697 (source
9698 (origin
9699 (method url-fetch)
9700 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
9701 (file-name (string-append "transpose-frame-" version ".el"))
9702 (sha256
9703 (base32
9704 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
9705 (build-system emacs-build-system)
9706 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
9707 (synopsis "Transpose window arrangement in current frame")
9708 (description "@code{emacs-transpose-frame} provides some interactive
9709 functions which allows users to transpose windows arrangement in currently
9710 selected frame.")
9711 (license license:bsd-2)))
9712
9713 (define-public emacs-key-chord
9714 (package
9715 (name "emacs-key-chord")
9716 (version "0.6")
9717 (source
9718 (origin
9719 (method url-fetch)
9720 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
9721 (file-name (string-append "key-chord-" version ".el"))
9722 (sha256
9723 (base32
9724 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
9725 (build-system emacs-build-system)
9726 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
9727 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
9728 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
9729 mode for binding key chords to commands. A key chord is defined as two keys
9730 pressed simultaneously or a single key quickly pressed twice.")
9731 (license license:gpl2+)))
9732
9733 (define-public emacs-evil-surround
9734 (package
9735 (name "emacs-evil-surround")
9736 (version "1.0.4")
9737 (source
9738 (origin
9739 (method git-fetch)
9740 (uri (git-reference
9741 (url "https://github.com/emacs-evil/evil-surround")
9742 (commit version)))
9743 (file-name (git-file-name name version))
9744 (sha256
9745 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
9746 (build-system emacs-build-system)
9747 (propagated-inputs
9748 `(("emacs-evil" ,emacs-evil)))
9749 (arguments
9750 `(#:tests? #t
9751 #:test-command '("make" "test")))
9752 (home-page "https://github.com/emacs-evil/evil-surround")
9753 (synopsis "Easily modify surrounding parentheses and quotes")
9754 (description "@code{emacs-evil-surround} allows easy deletion, change and
9755 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
9756 (license license:gpl3+)))
9757
9758 (define-public emacs-evil-commentary
9759 (package
9760 (name "emacs-evil-commentary")
9761 (version "2.1.1")
9762 (source
9763 (origin
9764 (method git-fetch)
9765 (uri (git-reference
9766 (url "https://github.com/linktohack/evil-commentary.git")
9767 (commit (string-append "v" version))))
9768 (file-name (git-file-name name version))
9769 (sha256
9770 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
9771 (build-system emacs-build-system)
9772 (propagated-inputs
9773 `(("emacs-evil" ,emacs-evil)))
9774 (home-page "https://github.com/linktohack/evil-commentary")
9775 (synopsis "Comment out code in evil mode")
9776 (description "@code{emacs-evil-commentary} adds keybindings to easily
9777 comment out lines of code in evil mode. It provides @code{gcc} to comment out
9778 lines, and @code{gc} to comment out the target of a motion.")
9779 (license license:gpl3+)))
9780
9781 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
9782 ;; therefore cannot be run
9783 (define-public emacs-ansi
9784 (package
9785 (name "emacs-ansi")
9786 (version "0.4.1")
9787 (source
9788 (origin
9789 (method git-fetch)
9790 (uri (git-reference
9791 (url "https://github.com/rejeep/ansi.el.git")
9792 (commit (string-append "v" version))))
9793 (file-name (git-file-name name version))
9794 (sha256
9795 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
9796 (build-system emacs-build-system)
9797 (propagated-inputs
9798 `(("emacs-dash" ,emacs-dash)
9799 ("emacs-s" ,emacs-s)))
9800 (home-page "https://github.com/rejeep/ansi.el")
9801 (synopsis "Convert strings to ANSI")
9802 (description "@code{emacs-ansi} defines functions that turns simple
9803 strings to ANSI strings. Turning a string into an ANSI string can be to add
9804 color to a text, add color in the background of a text or adding a style, such
9805 as bold, underscore or italic.")
9806 (license license:gpl3+)))
9807
9808 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
9809 ;; therefore cannot be run
9810 (define-public emacs-commander
9811 (package
9812 (name "emacs-commander")
9813 (version "0.7.0")
9814 (source
9815 (origin
9816 (method git-fetch)
9817 (uri (git-reference
9818 (url "https://github.com/rejeep/commander.el.git")
9819 (commit (string-append "v" version))))
9820 (file-name (git-file-name name version))
9821 (sha256
9822 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
9823 (build-system emacs-build-system)
9824 (propagated-inputs
9825 `(("emacs-dash" ,emacs-dash)
9826 ("emacs-f" ,emacs-f)
9827 ("emacs-s" ,emacs-s)))
9828 (home-page "https://github.com/rejeep/commander.el")
9829 (synopsis "Emacs command line parser")
9830 (description "@code{emacs-commander} provides command line parsing for
9831 Emacs.")
9832 (license license:gpl3+)))
9833
9834 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
9835 ;; cannot be run
9836 (define-public emacs-ert-runner
9837 (let ((version "0.7.0")
9838 (revision "1")
9839 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
9840 (package
9841 (name "emacs-ert-runner")
9842 (version (git-version "0.7.0" revision commit))
9843 (source
9844 (origin
9845 (method git-fetch)
9846 (uri (git-reference
9847 (url "https://github.com/rejeep/ert-runner.el.git")
9848 (commit commit)))
9849 (file-name (git-file-name name version))
9850 (sha256
9851 (base32
9852 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
9853 (build-system emacs-build-system)
9854 (inputs
9855 `(("emacs-ansi" ,emacs-ansi)
9856 ("emacs-commander" ,emacs-commander)
9857 ("emacs-dash" ,emacs-dash)
9858 ("emacs-f" ,emacs-f)
9859 ("emacs-s" ,emacs-s)
9860 ("emacs-shut-up" ,emacs-shut-up)))
9861 (arguments
9862 `(#:phases
9863 (modify-phases %standard-phases
9864 (add-after 'install 'install-executable
9865 (lambda* (#:key inputs outputs #:allow-other-keys)
9866 (let ((out (assoc-ref outputs "out"))
9867 (source-directory (string-append
9868 (getenv "TMPDIR") "/source")))
9869 (substitute* "bin/ert-runner"
9870 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
9871 (string-append "ERT_RUNNER=\"" out
9872 "/share/emacs/site-lisp")))
9873 (install-file "bin/ert-runner" (string-append out "/bin"))
9874 (wrap-program (string-append out "/bin/ert-runner")
9875 (list "EMACSLOADPATH" ":" 'prefix
9876 ;; Do not capture the transient source directory in
9877 ;; the wrapper.
9878 (delete source-directory
9879 (string-split (getenv "EMACSLOADPATH") #\:))))
9880 #t))))
9881 #:include (cons* "^reporters/.*\\.el$" %default-include)))
9882 (home-page "https://github.com/rejeep/ert-runner.el")
9883 (synopsis "Opinionated Ert testing workflow")
9884 (description "@code{ert-runner} is a tool for Emacs projects tested
9885 using ERT. It assumes a certain test structure setup and can therefore make
9886 running tests easier.")
9887 (license license:gpl3+))))
9888
9889 (define-public ert-runner
9890 (deprecated-package "ert-runner" emacs-ert-runner))
9891
9892 (define-public emacs-xtest
9893 (package
9894 (name "emacs-xtest")
9895 (version "1.1.0")
9896 (source (origin
9897 (method git-fetch)
9898 (uri (git-reference
9899 (url "https://github.com/promethial/xtest.git")
9900 (commit (string-append "v" version))))
9901 (file-name (git-file-name name version))
9902 (sha256
9903 (base32
9904 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
9905 (arguments
9906 `(#:exclude '()))
9907 (build-system emacs-build-system)
9908 (home-page "https://github.com/promethial/xtest/")
9909 (synopsis "Simple testing with Emacs")
9910 (description "This package provides a simple testing library for Emacs.")
9911 (license license:gpl3+)))
9912
9913 (define-public emacs-disable-mouse
9914 (package
9915 (name "emacs-disable-mouse")
9916 (version "0.2")
9917 (source
9918 (origin
9919 (method git-fetch)
9920 (uri (git-reference
9921 (url "https://github.com/purcell/disable-mouse.git")
9922 (commit version)))
9923 (file-name (git-file-name name version))
9924 (sha256
9925 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
9926 (build-system emacs-build-system)
9927 (home-page "https://github.com/purcell/disable-mouse")
9928 (synopsis "Disable mouse commands globally")
9929 (description
9930 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
9931 pair of minor modes which suppress all mouse events by intercepting them and
9932 running a customisable handler command (@code{ignore} by default). ")
9933 (license license:gpl3+)))
9934
9935 (define-public emacs-json-reformat
9936 (package
9937 (name "emacs-json-reformat")
9938 (version "0.0.6")
9939 (source
9940 (origin
9941 (method git-fetch)
9942 (uri (git-reference
9943 (url "https://github.com/gongo/json-reformat.git")
9944 (commit version)))
9945 (file-name (git-file-name name version))
9946 (sha256
9947 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
9948 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
9949 (build-system emacs-build-system)
9950 (propagated-inputs
9951 `(("emacs-undercover" ,emacs-undercover)))
9952 (native-inputs
9953 `(("emacs-dash" ,emacs-dash)
9954 ("emacs-shut-up" ,emacs-shut-up)
9955 ("ert-runner" ,emacs-ert-runner)))
9956 (arguments
9957 `(#:tests? #t
9958 #:test-command '("ert-runner")
9959 #:phases
9960 (modify-phases %standard-phases
9961 (add-before 'check 'make-tests-writable
9962 (lambda _
9963 (for-each make-file-writable (find-files "test"))
9964 #t))
9965 (add-before 'check 'delete-json-objects-order-test
9966 (lambda _
9967 (emacs-batch-edit-file "test/json-reformat-test.el"
9968 `(progn (progn (goto-char (point-min))
9969 (re-search-forward
9970 "ert-deftest json-reformat-test:json-reformat-region")
9971 (beginning-of-line)
9972 (kill-sexp))
9973 (basic-save-buffer)))
9974 #t)))))
9975 (home-page "https://github.com/gongo/json-reformat")
9976 (synopsis "Reformatting tool for JSON")
9977 (description "@code{json-reformat} provides a reformatting tool for
9978 @url{http://json.org/, JSON}.")
9979 (license license:gpl3+)))
9980
9981 (define-public emacs-json-snatcher
9982 (package
9983 (name "emacs-json-snatcher")
9984 (version "1.0.0")
9985 (source
9986 (origin
9987 (method git-fetch)
9988 (uri (git-reference
9989 (url "https://github.com/Sterlingg/json-snatcher.git")
9990 (commit version)))
9991 (file-name (git-file-name name version))
9992 (sha256
9993 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
9994 (build-system emacs-build-system)
9995 (home-page "https://github.com/sterlingg/json-snatcher")
9996 (synopsis "Grabs the path to JSON values in a JSON file")
9997 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
9998 a @url{http://json.org/, JSON} file.")
9999 (license license:gpl3+)))
10000
10001 (define-public emacs-json-mode
10002 (package
10003 (name "emacs-json-mode")
10004 (version "1.7.0")
10005 (source
10006 (origin
10007 (method git-fetch)
10008 (uri (git-reference
10009 (url "https://github.com/joshwnj/json-mode.git")
10010 (commit (string-append "v" version))))
10011 (file-name (git-file-name name version))
10012 (sha256
10013 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
10014 (build-system emacs-build-system)
10015 (propagated-inputs
10016 `(("emacs-json-reformat" ,emacs-json-reformat)
10017 ("emacs-json-snatcher" ,emacs-json-snatcher)))
10018 (home-page "https://github.com/joshwnj/json-mode")
10019 (synopsis "Major mode for editing JSON files")
10020 (description "@code{json-mode} extends the builtin js-mode syntax
10021 highlighting.")
10022 (license license:gpl3+)))
10023
10024 (define-public emacs-restclient
10025 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
10026 (version "0")
10027 (revision "2")) ;Guix package revision,
10028 ;upstream doesn't have official releases
10029 (package
10030 (name "emacs-restclient")
10031 (version (git-version version revision commit))
10032 (source (origin
10033 (method git-fetch)
10034 (uri (git-reference
10035 (url "https://github.com/pashky/restclient.el.git")
10036 (commit commit)))
10037 (sha256
10038 (base32
10039 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
10040 (file-name (git-file-name name version))))
10041 (build-system emacs-build-system)
10042 (propagated-inputs
10043 `(("emacs-helm" ,emacs-helm)))
10044 (home-page "https://github.com/pashky/restclient.el")
10045 (synopsis "Explore and test HTTP REST webservices")
10046 (description
10047 "This tool allows for testing and exploration of HTTP REST Web services
10048 from within Emacs. Restclient runs queries from a plan-text query sheet,
10049 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
10050 (license license:public-domain))))
10051
10052 (define-public emacs-whitespace-cleanup-mode
10053 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
10054 (revision "1"))
10055 (package
10056 (name "emacs-whitespace-cleanup-mode")
10057 (version (git-version "0.10" revision commit))
10058 (source (origin
10059 (method git-fetch)
10060 (uri (git-reference
10061 (url "https://github.com/purcell/whitespace-cleanup-mode")
10062 (commit commit)))
10063 (sha256
10064 (base32
10065 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
10066 (file-name (git-file-name name version))))
10067 (build-system emacs-build-system)
10068 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
10069 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
10070 (description
10071 "This package provides a minor mode that calls
10072 @code{whitespace-cleanup} before saving the current buffer only if the
10073 whitespace in the buffer was initially clean.")
10074 (license license:gpl3+))))
10075
10076 (define-public emacs-eimp
10077 (let ((version "1.4.0")
10078 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
10079 (revision "1"))
10080 (package
10081 (name "emacs-eimp")
10082 (version (git-version version revision commit))
10083 (source
10084 (origin
10085 (method git-fetch)
10086 (uri (git-reference
10087 (url "https://github.com/nicferrier/eimp.git")
10088 (commit commit)))
10089 (file-name (git-file-name name version))
10090 (sha256
10091 (base32
10092 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
10093 (build-system emacs-build-system)
10094 (arguments
10095 `(#:phases
10096 (modify-phases %standard-phases
10097 (add-after 'unpack 'configure
10098 (lambda* (#:key inputs #:allow-other-keys)
10099 (let ((imagemagick (assoc-ref inputs "imagemagick")))
10100 ;; eimp.el is read-only in git.
10101 (chmod "eimp.el" #o644)
10102 (emacs-substitute-variables "eimp.el"
10103 ("eimp-mogrify-program"
10104 (string-append imagemagick "/bin/mogrify"))))
10105 #t)))))
10106 (inputs
10107 `(("imagemagick" ,imagemagick)))
10108 (home-page "https://github.com/nicferrier/eimp")
10109 (synopsis "Interactive image manipulation utility for Emacs")
10110 (description "@code{emacs-eimp} allows interactive image manipulation
10111 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
10112 the actual transformations.")
10113 (license license:gpl2+))))
10114
10115 (define-public emacs-dired-hacks
10116 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
10117 (revision "2"))
10118 (package
10119 (name "emacs-dired-hacks")
10120 (version (git-version "0.0.1" revision commit))
10121 (source (origin
10122 (method git-fetch)
10123 (uri (git-reference
10124 (url "https://github.com/Fuco1/dired-hacks.git")
10125 (commit commit)))
10126 (file-name (git-file-name name version))
10127 (sha256
10128 (base32
10129 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
10130 (build-system emacs-build-system)
10131 (propagated-inputs
10132 `(("emacs-dash" ,emacs-dash)
10133 ("emacs-eimp" ,emacs-eimp)
10134 ("emacs-f" ,emacs-f)
10135 ("emacs-s" ,emacs-s)))
10136 (home-page "https://github.com/Fuco1/dired-hacks")
10137 (synopsis
10138 "Collection of useful dired additions")
10139 (description
10140 "This package provides the following collection of Emacs dired mode
10141 additions:
10142
10143 @itemize
10144 @item dired-avfs
10145 @item dired-columns
10146 @item dired-filter
10147 @item dired-hacks-utils
10148 @item dired-images
10149 @item dired-list
10150 @item dired-narrow
10151 @item dired-open
10152 @item dired-rainbow
10153 @item dired-ranger
10154 @item dired-subtree
10155 @item dired-tagsistant
10156 @end itemize\n")
10157 (license license:gpl3+))))
10158
10159 (define-public emacs-dired-sidebar
10160 (let ((commit "21ccb6723bea69f2e2ca25998268d8a039f904cc")
10161 (revision "1"))
10162 (package
10163 (name "emacs-dired-sidebar")
10164 (home-page "https://github.com/jojojames/dired-sidebar")
10165 (version (git-version "0.1.0" revision commit))
10166 (source (origin
10167 (method git-fetch)
10168 (uri (git-reference (url home-page) (commit commit)))
10169 (file-name (git-file-name name version))
10170 (sha256
10171 (base32
10172 "0mck4qk6srbbf8xnn2sg11j822z4ybxvgavvy402d5sli515i8ca"))))
10173 (build-system emacs-build-system)
10174 (propagated-inputs
10175 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
10176 (synopsis "Sidebar for Emacs using Dired")
10177 (description
10178 "This package provides a sidebar for Emacs similar to @code{NeoTree}
10179 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
10180 (license license:gpl3+))))
10181
10182 (define-public emacs-which-key
10183 (package
10184 (name "emacs-which-key")
10185 (version "3.3.1")
10186 (source
10187 (origin
10188 (method git-fetch)
10189 (uri (git-reference
10190 (url "https://github.com/justbur/emacs-which-key.git")
10191 (commit (string-append "v" version))))
10192 (file-name (git-file-name name version))
10193 (sha256
10194 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
10195 (build-system emacs-build-system)
10196 (arguments
10197 `(#:tests? #t
10198 #:test-command '("emacs" "--batch"
10199 "-l" "which-key-tests.el"
10200 "-f" "ert-run-tests-batch-and-exit")))
10201 (home-page "https://github.com/justbur/emacs-which-key")
10202 (synopsis "Display available key bindings in popup")
10203 (description
10204 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
10205 bindings following your currently entered incomplete command (a prefix) in a
10206 popup. For example, after enabling the minor mode if you enter C-x and wait
10207 for the default of 1 second, the minibuffer will expand with all of the
10208 available key bindings that follow C-x (or as many as space allows given your
10209 settings).")
10210 (license license:gpl3+)))
10211
10212 (define-public emacs-hercules
10213 (package
10214 (name "emacs-hercules")
10215 (version "0.2.1")
10216 (source
10217 (origin
10218 (method git-fetch)
10219 (uri (git-reference
10220 (url "https://gitlab.com/jjzmajic/hercules.el.git")
10221 (commit (string-append "v" version))))
10222 (file-name (git-file-name name version))
10223 (sha256
10224 (base32
10225 "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"))))
10226 (build-system emacs-build-system)
10227 (propagated-inputs
10228 `(("emacs-which-key" ,emacs-which-key)))
10229 (home-page "https://gitlab.com/jjzmajic/hercules.el")
10230 (synopsis "Call a chain of related commands without repeated prefix keys")
10231 (description
10232 "This package provides sticky-key-like functionality to obviate the
10233 need for repeated prefix-key sequences, and can reuse existing keymaps. The
10234 list of commands is displayed in a handy popup.")
10235 (license license:gpl3+)))
10236
10237 (define-public emacs-ws-butler
10238 (package
10239 (name "emacs-ws-butler")
10240 (version "0.6")
10241 (source (origin
10242 (method git-fetch)
10243 (uri (git-reference
10244 (url "https://github.com/lewang/ws-butler.git")
10245 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
10246 (file-name (git-file-name name version))
10247 (sha256
10248 (base32
10249 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
10250 (build-system emacs-build-system)
10251 (native-inputs
10252 `(("ert-runner" ,emacs-ert-runner)))
10253 (arguments
10254 `(#:tests? #t
10255 #:test-command '("ert-runner" "tests")))
10256 (home-page "https://github.com/lewang/ws-butler")
10257 (synopsis "Trim spaces from end of lines")
10258 (description
10259 "This Emacs package automatically and unobtrusively trims whitespace
10260 characters from end of lines.")
10261 (license license:gpl3+)))
10262
10263 (define-public emacs-openwith
10264 (let ((changeset "aeb78782ec87680ea9f082a3f20a3675b3770cf9")
10265 (revision "0"))
10266 (package
10267 (name "emacs-openwith")
10268 (home-page "https://bitbucket.org/jpkotta/openwith")
10269 (version (git-version "0.0.1" revision changeset))
10270 (source (origin
10271 (method hg-fetch)
10272 (uri (hg-reference (url home-page) (changeset changeset)))
10273 (file-name (git-file-name name version))
10274 (sha256
10275 (base32
10276 "1wl6gnxsyhaad4cl9bxjc0qbc5jzvlwbwjbajs0n1s6qr07d6r01"))))
10277 (build-system emacs-build-system)
10278 (synopsis "Open external applications for files with Emacs")
10279 (description
10280 "This package enables you to associate file name patterns with external
10281 applications that are automatically invoked when you use commands like
10282 @code{find-file}. For example, you can have it open @code{png} files with
10283 @code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
10284 when browsing files with Dired.")
10285 (license license:gpl2+))))
10286
10287 (define-public emacs-org-edit-latex
10288 (package
10289 (name "emacs-org-edit-latex")
10290 (version "0.8.0")
10291 (source
10292 (origin
10293 (method git-fetch)
10294 (uri (git-reference
10295 (url "https://github.com/et2010/org-edit-latex.git")
10296 (commit (string-append "v" version))))
10297 (file-name (git-file-name name version))
10298 (sha256
10299 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
10300 (build-system emacs-build-system)
10301 (propagated-inputs
10302 `(("emacs-auctex" ,emacs-auctex)
10303 ;; The version of org in Emacs 25.2 is not sufficient, because the
10304 ;; `org-latex-make-preamble' function is required.
10305 ("emacs-org" ,emacs-org)))
10306 (home-page "https://github.com/et2010/org-edit-latex")
10307 (synopsis "Edit a latex fragment just like editing a src block")
10308 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
10309 It lets you edit a latex fragment in a dedicated buffer just like editing a
10310 src block.")
10311 (license license:gpl3+)))
10312
10313 (define-public emacs-emamux
10314 (package
10315 (name "emacs-emamux")
10316 (version "0.14")
10317 (source
10318 (origin
10319 (method git-fetch)
10320 (uri (git-reference
10321 (url "https://github.com/syohex/emacs-emamux.git")
10322 (commit version)))
10323 (file-name (git-file-name name version))
10324 (sha256
10325 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
10326 (build-system emacs-build-system)
10327 (home-page "https://github.com/syohex/emacs-emamux")
10328 (synopsis "Manipulate Tmux from Emacs")
10329 (description
10330 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
10331 multiplexer.")
10332 (license license:gpl3+)))
10333
10334 (define-public emacs-rpm-spec-mode
10335 (package
10336 (name "emacs-rpm-spec-mode")
10337 (version "0.16")
10338 (source
10339 (origin
10340 (method url-fetch)
10341 ;; URI has the Fedora release number instead of the version
10342 ;; number. This will have to updated manually every new release.
10343 (uri (string-append
10344 "https://src.fedoraproject.org/cgit/rpms"
10345 "/emacs-rpm-spec-mode.git/snapshot"
10346 "/emacs-rpm-spec-mode-f26.tar.gz"))
10347 (sha256
10348 (base32
10349 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
10350 (build-system emacs-build-system)
10351 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
10352 (synopsis "Emacs major mode for editing RPM spec files")
10353 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
10354 editing RPM spec files.")
10355 (license license:gpl2+)))
10356
10357 (define-public emacs-lcr
10358 (package
10359 (name "emacs-lcr")
10360 (version "1.1")
10361 (source
10362 (origin
10363 (method git-fetch)
10364 (uri (git-reference
10365 (url "https://github.com/jyp/lcr")
10366 (commit version)))
10367 (file-name (git-file-name name version))
10368 (sha256
10369 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
10370 (build-system emacs-build-system)
10371 (propagated-inputs
10372 `(("emacs-dash" ,emacs-dash)))
10373 (home-page "https://github.com/jyp/lcr")
10374 (synopsis "Lightweight coroutines in Emacs Lisp")
10375 (description "This package provides macros that can translate code into
10376 equivalent continuation-passing code, as well as miscellaneous utility
10377 functions written in continuation-passing style.")
10378 (license license:gpl3+)))
10379
10380 (define-public emacs-attrap
10381 (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
10382 (revision "2"))
10383 (package
10384 (name "emacs-attrap")
10385 (version (git-version "1.0" revision commit))
10386 (source (origin
10387 (method git-fetch)
10388 (uri (git-reference
10389 (url "https://github.com/jyp/attrap")
10390 (commit commit)))
10391 (sha256
10392 (base32
10393 "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
10394 (file-name (git-file-name name version))))
10395 (build-system emacs-build-system)
10396 (propagated-inputs
10397 `(("emacs-dash" ,emacs-dash)
10398 ("emacs-f" ,emacs-f)
10399 ("emacs-flycheck" ,emacs-flycheck)
10400 ("emacs-s" ,emacs-s)))
10401 (home-page "https://github.com/jyp/attrap")
10402 (synopsis "Fix coding error at point")
10403 (description "This package provides a command to fix the Flycheck error
10404 at point.")
10405 (license license:gpl3+))))
10406
10407 (define-public emacs-git-messenger
10408 (package
10409 (name "emacs-git-messenger")
10410 (version "0.18")
10411 (source
10412 (origin
10413 (method git-fetch)
10414 (uri (git-reference
10415 (url "https://github.com/syohex/emacs-git-messenger.git")
10416 (commit version)))
10417 (file-name (git-file-name name version))
10418 (sha256
10419 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
10420 (build-system emacs-build-system)
10421 (propagated-inputs
10422 `(("emacs-popup" ,emacs-popup)))
10423 (arguments
10424 `(#:tests? #t
10425 #:test-command '("emacs" "--batch" "-l" "test/test.el"
10426 "-f" "ert-run-tests-batch-and-exit")))
10427 (home-page "https://github.com/syohex/emacs-git-messenger")
10428 (synopsis "Popup commit message at current line")
10429 (description "@code{emacs-git-messenger} provides
10430 @code{git-messenger:popup-message}, a function that when called, will popup
10431 the last git commit message for the current line. This uses git-blame
10432 internally.")
10433 (license license:gpl3+)))
10434
10435 (define-public emacs-gitpatch
10436 (package
10437 (name "emacs-gitpatch")
10438 (version "0.5.1")
10439 (source
10440 (origin
10441 (method git-fetch)
10442 (uri (git-reference
10443 (url "https://github.com/tumashu/gitpatch.git")
10444 (commit (string-append "v" version))))
10445 (file-name (git-file-name name version))
10446 (sha256
10447 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
10448 (build-system emacs-build-system)
10449 (home-page "https://github.com/tumashu/gitpatch")
10450 (synopsis "Mail git patch from Emacs")
10451 (description "@code{emacs-gitpatch} lets users easily send git patches,
10452 created by @code{git format-patch}, from @code{magit}, @code{dired} and
10453 @code{ibuffer} buffers.")
10454 (license license:gpl3+)))
10455
10456 (define-public emacs-erc-hl-nicks
10457 (package
10458 (name "emacs-erc-hl-nicks")
10459 (version "1.3.3")
10460 (source
10461 (origin
10462 (method git-fetch)
10463 (uri (git-reference
10464 (url "https://github.com/leathekd/erc-hl-nicks")
10465 (commit version)))
10466 (file-name (git-file-name name version))
10467 (sha256
10468 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
10469 (build-system emacs-build-system)
10470 (synopsis "Nickname highlighting for Emacs ERC")
10471 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
10472 client for Emacs. The main features are:
10473 @itemize
10474 @item Auto-colorizes nicknames without having to specify colors
10475 @item Ignores certain characters that IRC clients add to nicknames to avoid
10476 duplicates (nickname, nickname’, nickname\", etc.)
10477 @item Attempts to produce colors with a sufficient amount of contrast between
10478 the nick color and the background color
10479 @end itemize\n")
10480 (home-page "https://github.com/leathekd/erc-hl-nicks")
10481 (license license:gpl3+)))
10482
10483 (define-public emacs-engine-mode
10484 (package
10485 (name "emacs-engine-mode")
10486 (version "2.1.1")
10487 (source
10488 (origin
10489 (method git-fetch)
10490 (uri (git-reference
10491 (url "https://github.com/hrs/engine-mode.git")
10492 (commit (string-append "v" version))))
10493 (file-name (git-file-name name version))
10494 (sha256
10495 (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"))))
10496 (build-system emacs-build-system)
10497 (synopsis "Minor mode for defining and querying search engines")
10498 (description "@code{engine-mode} is a global minor mode for Emacs. It
10499 enables you to easily define search engines, bind them to keybindings, and
10500 query them from the comfort of your editor.")
10501 (home-page "https://github.com/hrs/engine-mode")
10502 (license license:gpl3+)))
10503
10504 (define-public emacs-prop-menu
10505 (package
10506 (name "emacs-prop-menu")
10507 (version "0.1.2")
10508 (source
10509 (origin
10510 (method git-fetch)
10511 (uri (git-reference
10512 (url "https://github.com/david-christiansen/prop-menu-el.git")
10513 (commit version)))
10514 (file-name (git-file-name name version))
10515 (sha256
10516 (base32
10517 "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
10518 (build-system emacs-build-system)
10519 (home-page
10520 "https://github.com/david-christiansen/prop-menu-el")
10521 (synopsis
10522 "Create and display a context menu based on text and overlay properties")
10523 (description
10524 "This is a library for computing context menus based on text
10525 properties and overlays. The intended use is to have tools that
10526 annotate source code and others that use these annotations, without
10527 requiring a direct coupling between them, but maintaining
10528 discoverability.
10529
10530 Major modes that wish to use this library should first define an
10531 appropriate value for @code{prop-menu-item-functions}. Then, they should
10532 bind @code{prop-menu-by-completing-read} to an appropriate
10533 key. Optionally, a mouse pop-up can be added by binding
10534 @code{prop-menu-show-menu} to a mouse event.")
10535 (license license:gpl3+)))
10536
10537 (define-public emacs-idris-mode
10538 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
10539 (revision "0"))
10540 (package
10541 (name "emacs-idris-mode")
10542 (version (git-version "0.9.19" revision commit))
10543 (source
10544 (origin
10545 (method git-fetch)
10546 (uri (git-reference
10547 (url "https://github.com/idris-hackers/idris-mode.git")
10548 (commit commit)))
10549 (file-name (git-file-name name commit))
10550 (sha256
10551 (base32
10552 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
10553 (build-system emacs-build-system)
10554 (propagated-inputs
10555 `(("emacs-prop-menu" ,emacs-prop-menu)))
10556 (home-page
10557 "https://github.com/idris-hackers/idris-mode")
10558 (synopsis "Major mode for editing Idris code")
10559 (description
10560 "This is an Emacs mode for editing Idris code. It requires the latest
10561 version of Idris, and some features may rely on the latest Git version of
10562 Idris.")
10563 (license license:gpl3+))))
10564
10565 (define-public emacs-browse-at-remote
10566 (package
10567 (name "emacs-browse-at-remote")
10568 (version "0.10.0")
10569 (source
10570 (origin
10571 (method git-fetch)
10572 (uri (git-reference
10573 (url "https://github.com/rmuslimov/browse-at-remote.git")
10574 (commit version)))
10575 (file-name (git-file-name name version))
10576 (sha256
10577 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
10578 (build-system emacs-build-system)
10579 (propagated-inputs
10580 `(("emacs-f" ,emacs-f)
10581 ("emacs-s" ,emacs-s)))
10582 (native-inputs
10583 `(("ert-runner" ,emacs-ert-runner)))
10584 (arguments
10585 `(#:tests? #t
10586 #:test-command '("ert-runner")))
10587 (home-page "https://github.com/rmuslimov/browse-at-remote")
10588 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
10589 (description
10590 "This Emacs package allows you to open a target page on
10591 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
10592 It supports dired buffers and opens them in tree mode at destination.")
10593 (license license:gpl3+)))
10594
10595 (define-public emacs-tiny
10596 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
10597 (revision "1"))
10598 (package
10599 (name "emacs-tiny")
10600 (version (git-version "0.2.1" revision commit))
10601 (source
10602 (origin
10603 (method git-fetch)
10604 (uri (git-reference
10605 (url "https://github.com/abo-abo/tiny.git")
10606 (commit commit)))
10607 (file-name (git-file-name name version))
10608 (sha256
10609 (base32
10610 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
10611 (build-system emacs-build-system)
10612 (arguments
10613 `(#:tests? #t
10614 #:test-command '("make" "test")))
10615 (home-page "https://github.com/abo-abo/tiny")
10616 (synopsis "Quickly generate linear ranges in Emacs")
10617 (description
10618 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
10619 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
10620 proficiency is an advantage, since you can transform your numeric range with
10621 an elisp expression.")
10622 (license license:gpl3+))))
10623
10624 (define-public emacs-emojify
10625 (package
10626 (name "emacs-emojify")
10627 (version "1.2")
10628 (source
10629 (origin
10630 (method git-fetch)
10631 (uri (git-reference
10632 (url "https://github.com/iqbalansari/emacs-emojify")
10633 (commit (string-append "v" version))))
10634 (file-name (git-file-name name version))
10635 (sha256
10636 (base32
10637 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
10638 (build-system emacs-build-system)
10639 (arguments
10640 `(#:include (cons "^data/" %default-include)))
10641 (propagated-inputs
10642 `(("emacs-ht" ,emacs-ht)))
10643 (home-page "https://github.com/iqbalansari/emacs-emojify")
10644 (synopsis "Display emojis in Emacs")
10645 (description "This package displays emojis in Emacs similar to how Github,
10646 Slack, and other websites do. It can display plain ASCII like @code{:)} as
10647 well as Github-style emojis like @code{:smile:}. It provides a minor mode
10648 @code{emojify-mode} to enable the display of emojis in a buffer.")
10649 (license license:gpl3+)))
10650
10651 (define-public emacs-make-it-so
10652 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
10653 (revision "2"))
10654 (package
10655 (name "emacs-make-it-so")
10656 (version (git-version "0.1.0" revision commit))
10657 (source
10658 (origin
10659 (method git-fetch)
10660 (uri (git-reference
10661 (url "https://github.com/abo-abo/make-it-so")
10662 (commit commit)))
10663 (file-name (git-file-name name version))
10664 (sha256
10665 (base32
10666 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
10667 (build-system emacs-build-system)
10668 (arguments
10669 `(#:include (cons "^recipes/" %default-include)))
10670 (propagated-inputs
10671 `(("emacs-ivy" ,emacs-ivy)))
10672 (home-page "https://github.com/abo-abo/make-it-so")
10673 (synopsis "Transform files with Makefile recipes")
10674 (description "This package provides an interface for selecting from
10675 different conversion recipes, often including tools like @code{ffmpeg} or
10676 @code{convert}. The conversion command need only be written once, and
10677 subsequent invocations can be readily customized. Several recipes are
10678 included by default, and more can be readily added.")
10679 (license license:gpl3+))))
10680
10681 (define-public emacs-unidecode
10682 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
10683 (revision "1"))
10684 (package
10685 (name "emacs-unidecode")
10686 (version (git-version "0.2" revision commit))
10687 (source
10688 (origin
10689 (method git-fetch)
10690 (uri (git-reference
10691 (url "https://github.com/sindikat/unidecode")
10692 (commit commit)))
10693 (file-name (git-file-name name version))
10694 (sha256
10695 (base32
10696 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
10697 (build-system emacs-build-system)
10698 (arguments
10699 `(#:include (cons* "^tools/" "^data/" %default-include)
10700 #:tests? #t
10701 #:test-command '("emacs" "--batch"
10702 "-l" "unidecode-test.el"
10703 "-f" "ert-run-tests-batch-and-exit")
10704 #:phases
10705 (modify-phases %standard-phases
10706 (add-before 'check 'make-tests-writable
10707 (lambda _
10708 (make-file-writable "unidecode-test.el")
10709 #t))
10710 (add-before 'check 'add-require
10711 (lambda _
10712 (emacs-batch-edit-file "unidecode-test.el"
10713 `(progn (progn (goto-char (point-min))
10714 (re-search-forward
10715 "ert-deftest")
10716 (forward-line -1)
10717 (insert "(require 'unidecode)"))
10718 (basic-save-buffer)))
10719 #t)))))
10720 (home-page "https://github.com/sindikat/unidecode")
10721 (synopsis "Transliterate Unicode text to ASCII")
10722 (description "This package provides functions for converting Unicode to ASCII.")
10723 (license license:gpl2+))))
10724
10725 (define-public emacs-pubmed
10726 (package
10727 (name "emacs-pubmed")
10728 (version "0.2.1")
10729 (source
10730 (origin
10731 (method git-fetch)
10732 (uri (git-reference
10733 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
10734 (commit (string-append "v" version))))
10735 (file-name (git-file-name name version))
10736 (sha256
10737 (base32
10738 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
10739 (build-system emacs-build-system)
10740 (propagated-inputs
10741 `(("emacs-deferred" ,emacs-deferred)
10742 ("emacs-esxml" ,emacs-esxml)
10743 ("emacs-s" ,emacs-s)
10744 ("emacs-unidecode" ,emacs-unidecode)))
10745 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
10746 (synopsis "Interface to PubMed")
10747 (description "This package provides an Emacs interface to the PubMed
10748 database of references on life sciences.")
10749 (license license:gpl3+)))
10750
10751 (define-public emacs-websocket
10752 (package
10753 (name "emacs-websocket")
10754 (version "1.10")
10755 (source
10756 (origin
10757 (method git-fetch)
10758 (uri (git-reference
10759 (url "https://github.com/ahyatt/emacs-websocket.git")
10760 (commit version)))
10761 (file-name (git-file-name name version))
10762 (sha256
10763 (base32
10764 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
10765 (build-system emacs-build-system)
10766 (arguments
10767 `(#:tests? #t
10768 ;; TODO: also enable websocket-functional-test.el
10769 #:test-command '("emacs" "--batch"
10770 "-l" "websocket-test.el"
10771 "-f" "ert-run-tests-batch-and-exit")))
10772 (home-page "http://elpa.gnu.org/packages/websocket.html")
10773 (synopsis "Emacs WebSocket client and server")
10774 (description "This is an Elisp library for WebSocket clients to talk to
10775 WebSocket servers, and for WebSocket servers to accept connections from
10776 WebSocket clients. This library is designed to be used by other library
10777 writers, to write applications that use WebSockets, and is not useful by
10778 itself.")
10779 (license license:gpl3+)))
10780
10781 (define-public emacs-oauth2
10782 (package
10783 (name "emacs-oauth2")
10784 (version "0.11")
10785 (source
10786 (origin
10787 (method url-fetch)
10788 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
10789 version ".el"))
10790 (sha256
10791 (base32
10792 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
10793 (build-system emacs-build-system)
10794 (home-page "http://elpa.gnu.org/packages/oauth2.html")
10795 (synopsis "OAuth 2.0 authorization protocol implementation")
10796 (description
10797 "This package provides an Elisp implementation of the OAuth 2.0 draft.
10798 The main entry point is @code{oauth2-auth-and-store} which will return a token
10799 structure. This token structure can be then used with
10800 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
10801 retrieve any data that need OAuth authentication to be accessed. If the token
10802 needs to be refreshed, the code handles it automatically and stores the new
10803 value of the access token.")
10804 (license license:gpl3+)))
10805
10806 (define-public emacs-circe
10807 (package
10808 (name "emacs-circe")
10809 (version "2.11")
10810 (source
10811 (origin
10812 (method git-fetch)
10813 (uri (git-reference
10814 (url "https://github.com/jorgenschaefer/circe.git")
10815 (commit (string-append "v" version))))
10816 (file-name (git-file-name name version))
10817 (sha256
10818 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
10819 (build-system emacs-build-system)
10820 (arguments
10821 `(#:tests? #t
10822 #:test-command '("buttercup" "-L" ".")
10823 #:phases
10824 (modify-phases %standard-phases
10825 ;; The HOME environment variable should be set to an existing
10826 ;; directory for the tests to succeed.
10827 (add-before 'check 'set-home
10828 (lambda _
10829 (setenv "HOME" "/tmp")
10830 #t)))))
10831 (native-inputs
10832 `(("emacs-buttercup" ,emacs-buttercup)))
10833 ;; In order to securely connect to an IRC server using TLS, Circe requires
10834 ;; the GnuTLS binary.
10835 (propagated-inputs
10836 `(("gnutls" ,gnutls)))
10837 (home-page "https://github.com/jorgenschaefer/circe")
10838 (synopsis "Client for IRC in Emacs")
10839 (description "Circe is a Client for IRC in Emacs. It integrates well with
10840 the rest of the editor, using standard Emacs key bindings and indicating
10841 activity in channels in the status bar so it stays out of your way unless you
10842 want to use it.")
10843 (license license:gpl3+)))
10844
10845 (define-public emacs-tracking
10846 (package
10847 (inherit emacs-circe)
10848 (name "emacs-tracking")
10849 (arguments
10850 ;; "tracking.el" is a library extracted from Circe package. It requires
10851 ;; "shorten.el".
10852 `(#:include '("^shorten.el$" "^tracking.el$")
10853 ,@(package-arguments emacs-circe)))
10854 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
10855 (synopsis "Buffer tracking library")
10856 (description "@code{tracking.el} provides a way for different modes to
10857 notify the user that a buffer needs attention. The user then can cycle
10858 through them using @key{C-c C-SPC}.")
10859 (license license:gpl3+)))
10860
10861 (define-public emacs-slack
10862 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
10863 (revision "6"))
10864 (package
10865 (name "emacs-slack")
10866 (version (git-version "0.0.2" revision commit))
10867 (source (origin
10868 (method git-fetch)
10869 (uri (git-reference
10870 (url "https://github.com/yuya373/emacs-slack.git")
10871 (commit commit)))
10872 (file-name (git-file-name name commit))
10873 (sha256
10874 (base32
10875 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
10876 (build-system emacs-build-system)
10877 (arguments
10878 `(#:phases
10879 (modify-phases %standard-phases
10880 ;; HOME needs to exist for source compilation.
10881 (add-before 'build 'set-HOME
10882 (lambda _ (setenv "HOME" "/tmp") #t)))))
10883 (propagated-inputs
10884 `(("emacs-alert" ,emacs-alert)
10885 ("emacs-emojify" ,emacs-emojify)
10886 ("emacs-helm" ,emacs-helm)
10887 ("emacs-request" ,emacs-request)
10888 ("emacs-websocket" ,emacs-websocket)
10889 ("emacs-oauth2" ,emacs-oauth2)
10890 ("emacs-circe" ,emacs-circe)))
10891 (home-page "https://github.com/yuya373/emacs-slack")
10892 (synopsis "Slack client for Emacs")
10893 (description "This package provides an Emacs client for the Slack
10894 messaging service.")
10895 (license license:gpl3+))))
10896
10897 (define-public emacs-bash-completion
10898 (package
10899 (name "emacs-bash-completion")
10900 (version "2.1.0")
10901 (source
10902 (origin
10903 (method git-fetch)
10904 (uri (git-reference
10905 (url "https://github.com/szermatt/emacs-bash-completion.git")
10906 (commit version)))
10907 (file-name (git-file-name name version))
10908 (sha256
10909 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
10910 (inputs `(("bash" ,bash)))
10911 (build-system emacs-build-system)
10912 (arguments
10913 `(#:phases
10914 (modify-phases %standard-phases
10915 (add-after 'unpack 'make-git-checkout-writable
10916 (λ _
10917 (for-each make-file-writable (find-files "."))
10918 #t))
10919 (add-before 'install 'configure
10920 (lambda* (#:key inputs #:allow-other-keys)
10921 (let ((bash (assoc-ref inputs "bash")))
10922 (emacs-substitute-variables "bash-completion.el"
10923 ("bash-completion-prog" (string-append bash "/bin/bash"))))
10924 #t)))))
10925 (home-page "https://github.com/szermatt/emacs-bash-completion")
10926 (synopsis "Bash completion for the shell buffer")
10927 (description
10928 "@code{bash-completion} defines dynamic completion hooks for shell-mode
10929 and shell-command prompts that are based on Bash completion.")
10930 (license license:gpl2+)))
10931
10932 (define-public emacs-easy-kill
10933 (package
10934 (name "emacs-easy-kill")
10935 (version "0.9.3")
10936 (source (origin
10937 (method url-fetch)
10938 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
10939 version ".tar"))
10940 (sha256
10941 (base32
10942 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
10943 (build-system emacs-build-system)
10944 (home-page "https://github.com/leoliu/easy-kill")
10945 (synopsis "Kill and mark things easily in Emacs")
10946 (description
10947 "This package provides commands @code{easy-kill} and @code{easy-mark} to
10948 let users kill or mark things easily.")
10949 (license license:gpl3+)))
10950
10951 (define-public emacs-csv-mode
10952 (package
10953 (name "emacs-csv-mode")
10954 (version "1.10")
10955 (source
10956 (origin
10957 (method url-fetch)
10958 (uri (string-append "https://elpa.gnu.org/packages/csv-mode-"
10959 version ".el"))
10960 (sha256
10961 (base32 "0q7j2cmj7vs6hz8cnf7j7lmlcjmig3jn2p6az345z96agl8a5xsq"))))
10962 (build-system emacs-build-system)
10963 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
10964 (synopsis "Major mode for editing comma/char separated values")
10965 (description
10966 "This Emacs package implements CSV mode, a major mode for editing records
10967 in a generalized CSV (character-separated values) format.")
10968 (license license:gpl3+)))
10969
10970 (define-public emacs-transmission
10971 (package
10972 (name "emacs-transmission")
10973 (version "0.12.1")
10974 (source
10975 (origin
10976 (method git-fetch)
10977 (uri (git-reference
10978 (url "https://github.com/holomorph/transmission.git")
10979 (commit version)))
10980 (file-name (git-file-name name version))
10981 (sha256
10982 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
10983 (build-system emacs-build-system)
10984 (home-page "https://github.com/holomorph/transmission")
10985 (synopsis "Emacs interface to a Transmission session")
10986 (description "This package provides an Emacs interface to interact with a
10987 running session of the Transmission Bittorrent client.
10988
10989 Features:
10990
10991 @itemize
10992 @item List, add, start/stop, verify, remove torrents.
10993 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
10994 @item Navigate to the corresponding file list, torrent info, peer info
10995 contexts.
10996 @item Toggle downloading and set priorities for individual files.
10997 @end itemize\n")
10998 (license license:gpl3+)))
10999
11000 (define-public emacs-polymode
11001 (package
11002 (name "emacs-polymode")
11003 (version "0.2")
11004 (source (origin
11005 (method git-fetch)
11006 (uri (git-reference
11007 (url "https://github.com/polymode/polymode.git")
11008 (commit (string-append "v" version))))
11009 (file-name (git-file-name name version))
11010 (sha256
11011 (base32
11012 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
11013 (build-system emacs-build-system)
11014 (home-page "https://github.com/polymode/polymode")
11015 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
11016 (description
11017 "Polymode is an Emacs package that offers generic support for multiple
11018 major modes inside a single Emacs buffer. It is lightweight, object oriented
11019 and highly extensible. Creating a new polymode typically takes only a few
11020 lines of code. Polymode also provides extensible facilities for external
11021 literate programming tools for exporting, weaving and tangling.")
11022 (license license:gpl3+)))
11023
11024 (define-public emacs-polymode-ansible
11025 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
11026 (package
11027 (name "emacs-polymode-ansible")
11028 ;; No upstream version release yet.
11029 (version (git-version "0.1" "1" commit))
11030 (source
11031 (origin
11032 (method git-fetch)
11033 (uri (git-reference
11034 (url "https://gitlab.com/mavit/poly-ansible")
11035 (commit commit)))
11036 (file-name (git-file-name name version))
11037 (sha256
11038 (base32
11039 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
11040 (build-system emacs-build-system)
11041 (propagated-inputs
11042 `(("emacs-ansible-doc" ,emacs-ansible-doc)
11043 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
11044 ("emacs-polymode" ,emacs-polymode)
11045 ("emacs-yaml-mode" ,emacs-yaml-mode)))
11046 (properties '((upstream-name . "poly-ansible")))
11047 (home-page "https://gitlab.com/mavit/poly-ansible/")
11048 (synopsis "Polymode for Ansible - Jinja2 in YAML")
11049 (description
11050 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
11051 (license license:gpl3+))))
11052
11053 (define-public emacs-polymode-org
11054 (package
11055 (name "emacs-polymode-org")
11056 (version "0.2")
11057 (source
11058 (origin
11059 (method git-fetch)
11060 (uri (git-reference
11061 (url "https://github.com/polymode/poly-org.git")
11062 (commit (string-append "v" version))))
11063 (file-name (git-file-name name version))
11064 (sha256
11065 (base32
11066 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
11067 (build-system emacs-build-system)
11068 (propagated-inputs
11069 `(("emacs-polymode" ,emacs-polymode)))
11070 (properties '((upstream-name . "poly-org")))
11071 (home-page "https://github.com/polymode/poly-org")
11072 (synopsis "Polymode definitions for Org mode buffers")
11073 (description
11074 "Provides definitions for @code{emacs-polymode} to support
11075 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
11076 native modes of the blocks' languages while remaining inside the primary Org
11077 buffer.")
11078 (license license:gpl3+)))
11079
11080 (define-public eless
11081 (package
11082 (name "eless")
11083 (version "0.3")
11084 (source
11085 (origin
11086 (method git-fetch)
11087 (uri (git-reference
11088 (url "https://github.com/kaushalmodi/eless.git")
11089 (commit (string-append "v" version))))
11090 (file-name (git-file-name name version))
11091 (sha256
11092 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
11093 (build-system trivial-build-system)
11094 (inputs
11095 `(("bash" ,bash)))
11096 (arguments
11097 `(#:modules ((guix build utils))
11098 #:builder
11099 (begin
11100 (use-modules (guix build utils))
11101 (copy-recursively (assoc-ref %build-inputs "source") "source")
11102 (chdir "source")
11103 (substitute* "eless" (("/usr/bin/env bash")
11104 (string-append (assoc-ref %build-inputs "bash")
11105 "/bin/bash")))
11106 (install-file "eless" (string-append %output "/bin"))
11107 (install-file "doc/eless.info" (string-append %output "/share/info"))
11108 #t)))
11109 (home-page "https://github.com/kaushalmodi/eless")
11110 (synopsis "Use Emacs as a paginator")
11111 (description "@code{eless} provides a combination of Bash script
11112 and a minimal Emacs view-mode.
11113
11114 Feautures:
11115
11116 @itemize
11117 @item Independent of a user’s Emacs config.
11118 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
11119 @item Not require an Emacs server to be already running.
11120 @item Syntax highlighting.
11121 @item Org-mode file rendering.
11122 @item @code{man} page viewer.
11123 @item Info viewer.
11124 @item Dired, wdired, (batch edit symbolic links).
11125 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
11126 @item Filter log files lines matching a regexp.
11127 @item Auto-revert log files similar to @code{tail -f}.
11128 @item Quickly change frame and font sizes.
11129 @end itemize\n")
11130 (license license:expat)))
11131
11132 (define-public emacs-evil-matchit
11133 (package
11134 (name "emacs-evil-matchit")
11135 (version "2.3.4")
11136 (source
11137 (origin
11138 (method git-fetch)
11139 (uri (git-reference
11140 (url "https://github.com/redguardtoo/evil-matchit.git")
11141 (commit version)))
11142 (file-name (git-file-name name version))
11143 (sha256
11144 (base32 "1nflkmx08n3ya5vaipy1xg19hnqcp6f7ddsx9xjh5gl6ix2iz0az"))))
11145 (build-system emacs-build-system)
11146 (propagated-inputs
11147 `(("emacs-evil" ,emacs-evil)))
11148 (home-page "https://github.com/redguardtoo/evil-matchit")
11149 (synopsis "Vim matchit ported into Emacs")
11150 (description
11151 "@code{evil-matchit} is a minor mode for jumping between matching tags in
11152 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
11153 (license license:gpl3+)))
11154
11155 (define-public emacs-evil-smartparens
11156 (package
11157 (name "emacs-evil-smartparens")
11158 (version "0.4.0")
11159 (source
11160 (origin
11161 (method git-fetch)
11162 (uri (git-reference
11163 (url "https://github.com/expez/evil-smartparens.git")
11164 (commit version)))
11165 (file-name (git-file-name name version))
11166 (sha256
11167 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
11168 (build-system emacs-build-system)
11169 (propagated-inputs
11170 `(("emacs-evil" ,emacs-evil)
11171 ("emacs-smartparens" ,emacs-smartparens)))
11172 (home-page "https://github.com/expez/evil-smartparens")
11173 (synopsis "Emacs Evil integration for Smartparens")
11174 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
11175 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
11176 emulates Vim features and provides Vim-like key bindings.")
11177 (license license:gpl3+)))
11178
11179 (define-public emacs-evil-quickscope
11180 (package
11181 (name "emacs-evil-quickscope")
11182 (version "0.1.4")
11183 (source
11184 (origin
11185 (method git-fetch)
11186 (uri (git-reference
11187 (url "https://github.com/blorbx/evil-quickscope.git")
11188 (commit (string-append "v" version))))
11189 (file-name (git-file-name name version))
11190 (sha256
11191 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
11192 (build-system emacs-build-system)
11193 (propagated-inputs
11194 `(("emacs-evil" ,emacs-evil)))
11195 (arguments
11196 `(#:tests? #t
11197 #:test-command '("emacs" "--batch"
11198 "-l" "evil-quickscope-tests.el"
11199 "-f" "ert-run-tests-batch-and-exit")))
11200 (home-page "https://github.com/blorbx/evil-quickscope")
11201 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
11202 (description "@code{emacs-evil-quickscope} highlights targets for Evil
11203 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
11204 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
11205 features and provides Vim-like key bindings.")
11206 (license license:gpl3+)))
11207
11208 (define-public emacs-bongo
11209 (package
11210 (name "emacs-bongo")
11211 (version "1.0")
11212 (source
11213 (origin
11214 (method git-fetch)
11215 (uri (git-reference
11216 (url "https://github.com/dbrock/bongo.git")
11217 (commit version)))
11218 (file-name (git-file-name name version))
11219 (sha256
11220 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
11221 (build-system emacs-build-system)
11222 (home-page "https://github.com/dbrock/bongo")
11223 (synopsis "Media player for Emacs")
11224 (description
11225 "This package provides a flexible media player for Emacs. @code{Bongo}
11226 supports multiple backends such as @code{vlc}, @code{mpg123},
11227 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
11228 @code{afplay}.")
11229 (license license:gpl2+)))
11230
11231 (define-public emacs-groovy-modes
11232 (package
11233 (name "emacs-groovy-modes")
11234 (version "2.0")
11235 (source (origin
11236 (method git-fetch)
11237 (uri (git-reference
11238 (url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
11239 (commit version)))
11240 (file-name (git-file-name name version))
11241 (sha256
11242 (base32
11243 "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2"))))
11244 (build-system emacs-build-system)
11245 (propagated-inputs
11246 `(("emacs-s" ,emacs-s)))
11247 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
11248 (synopsis "Groovy related modes for Emacs")
11249 (description
11250 "This package provides @code{groovy-mode} for syntax highlighting in
11251 Groovy source files, REPL integration with run-groovy and Grails project
11252 navigation with the grails mode.")
11253 (license license:gpl3+)))
11254
11255 (define-public groovy-emacs-modes
11256 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
11257
11258 (define-public emacs-org-tree-slide
11259 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
11260 (revision "2"))
11261 (package
11262 (name "emacs-org-tree-slide")
11263 (version (git-version "2.8.4" revision commit))
11264 (source (origin
11265 (method git-fetch)
11266 (uri (git-reference
11267 (url "https://github.com/takaxp/org-tree-slide.git")
11268 (commit commit)))
11269 (sha256
11270 (base32
11271 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
11272 (file-name (git-file-name name version))))
11273 (build-system emacs-build-system)
11274 (home-page "https://github.com/takaxp/org-tree-slide")
11275 (synopsis "Presentation tool for org-mode")
11276 (description
11277 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
11278 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
11279 @kbd{C-<} to jump to the next and previous slide.")
11280 (license license:gpl3+))))
11281
11282 (define-public emacs-scratch-el
11283 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
11284 (revision "1"))
11285 (package
11286 (name "emacs-scratch-el")
11287 (version (git-version "1.2" revision commit))
11288 (source (origin
11289 (method git-fetch)
11290 (uri (git-reference
11291 (url "https://github.com/ieure/scratch-el.git")
11292 (commit commit)))
11293 (file-name (git-file-name name version))
11294 (sha256
11295 (base32
11296 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
11297 (build-system emacs-build-system)
11298 (native-inputs
11299 `(("texinfo" ,texinfo)))
11300 (arguments
11301 '(#:phases
11302 (modify-phases %standard-phases
11303 (add-after 'install 'install-doc
11304 (lambda* (#:key outputs #:allow-other-keys)
11305 (unless (invoke "makeinfo" "scratch.texi")
11306 (error "makeinfo failed"))
11307 (install-file "scratch.info"
11308 (string-append (assoc-ref outputs "out")
11309 "/share/info"))
11310 #t)))))
11311 (home-page "https://github.com/ieure/scratch-el/")
11312 (synopsis "Create scratch buffers with the same mode as current buffer")
11313 (description "Scratch is an extension to Emacs that enables one to create
11314 scratch buffers that are in the same mode as the current buffer. This is
11315 notably useful when working on code in some language; you may grab code into a
11316 scratch buffer, and, by virtue of this extension, do so using the Emacs
11317 formatting rules for that language.")
11318 (license license:bsd-2))))
11319
11320 (define-public emacs-kv
11321 (package
11322 (name "emacs-kv")
11323 (version "0.0.19")
11324 (source
11325 (origin
11326 (method git-fetch)
11327 (uri (git-reference
11328 (url "https://github.com/nicferrier/emacs-kv.git")
11329 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
11330 (file-name (git-file-name name version))
11331 (sha256
11332 (base32
11333 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
11334 (build-system emacs-build-system)
11335 (arguments
11336 `(#:tests? #t
11337 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
11338 "-f" "ert-run-tests-batch-and-exit")))
11339 (home-page "https://github.com/nicferrier/emacs-kv")
11340 (synopsis "Key/Value data structures library for Emacs Lisp")
11341 (description "@code{emacs-kv} is a collection of tools for dealing with
11342 key/value data structures such as plists, alists and hash-tables in Emacs
11343 Lisp.")
11344 (license license:gpl3+)))
11345
11346 (define-public emacs-esxml
11347 (package
11348 (name "emacs-esxml")
11349 (version "0.3.4")
11350 (source (origin
11351 (method git-fetch)
11352 (uri (git-reference
11353 (url "https://github.com/tali713/esxml.git")
11354 (commit version)))
11355 (file-name (git-file-name name version))
11356 (sha256
11357 (base32
11358 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
11359 (build-system emacs-build-system)
11360 (arguments
11361 `(#:phases
11362 (modify-phases %standard-phases
11363 (add-after 'unpack 'fix-sources
11364 (lambda _
11365 ;; See: https://github.com/tali713/esxml/pull/28.
11366 (substitute* "css-lite.el"
11367 ((";;; main interface")
11368 (string-append ";;; main interface\n"
11369 "(require 'cl-lib)"))
11370 (("mapcan")
11371 "cl-mapcan")
11372 (("',\\(cl-mapcan #'process-css-rule rules\\)")
11373 "(cl-mapcan #'process-css-rule ',rules)"))
11374 (substitute* "esxml-form.el"
11375 ((",esxml-form-field-defn")
11376 "#'esxml-form-field-defn"))
11377 ;; See: https://github.com/tali713/esxml/issues/25
11378 (delete-file "esxpath.el")
11379 #t)))))
11380 (propagated-inputs
11381 `(("emacs-kv" ,emacs-kv)))
11382 (home-page "https://github.com/tali713/esxml/")
11383 (synopsis "SXML for EmacsLisp")
11384 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
11385 Simply, this is the easiest way to write HTML or XML in Lisp. This library
11386 uses the native form of XML representation as used by many libraries already
11387 included within Emacs. See @code{esxml-to-xml} for a concise description of
11388 the format.")
11389 (license license:gpl3+)))
11390
11391 (define-public emacs-nov-el
11392 (package
11393 (name "emacs-nov-el")
11394 (version "0.2.9")
11395 (source (origin
11396 (method git-fetch)
11397 (uri (git-reference
11398 (url "https://github.com/wasamasa/nov.el.git")
11399 (commit version)))
11400 (file-name (git-file-name name version))
11401 (sha256
11402 (base32
11403 "0v01l1p35mcigixs6j4c5bpc7n7bd51kxa0p3l1xl0gr92774yq3"))))
11404 (build-system emacs-build-system)
11405 (arguments
11406 `(#:phases
11407 (modify-phases %standard-phases
11408 (add-after 'unpack 'embed-path-to-unzip
11409 (lambda _
11410 (substitute* "nov.el"
11411 (("\\(executable-find \"unzip\"\\)")
11412 (string-append "\"" (which "unzip") "\"")))
11413 #t)))))
11414 (propagated-inputs
11415 `(("emacs-dash" ,emacs-dash)
11416 ("emacs-esxml" ,emacs-esxml)))
11417 (inputs
11418 `(("unzip" ,unzip)))
11419 (home-page "https://github.com/wasamasa/nov.el/")
11420 (synopsis "Major mode for reading EPUBs in Emacs")
11421 (description "@code{nov.el} provides a major mode for reading EPUB
11422 documents.
11423
11424 Features:
11425
11426 @itemize
11427 @item Basic navigation (jump to TOC, previous/next chapter)
11428 @item Remembering and restoring the last read position
11429 @item Jump to next chapter when scrolling beyond end
11430 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
11431 @item Hyperlinks to internal and external targets
11432 @item Supports textual and image documents
11433 @item View source of document files
11434 @item Metadata display
11435 @item Image rescaling
11436 @end itemize
11437 ")
11438 (license license:gpl3+)))
11439
11440 (define-public epipe
11441 (package
11442 (name "epipe")
11443 (version "0.1.0")
11444 (source
11445 (origin
11446 (method git-fetch)
11447 (uri (git-reference
11448 (url "https://github.com/cute-jumper/epipe.git")
11449 (commit version)))
11450 (file-name (git-file-name name version))
11451 (sha256
11452 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
11453 (build-system trivial-build-system)
11454 (inputs
11455 `(("bash" ,bash)
11456 ("perl" ,perl)))
11457 (arguments
11458 `(#:modules
11459 ((guix build utils))
11460 #:builder
11461 (begin
11462 (use-modules (guix build utils))
11463 ;; Extract source.
11464 (copy-recursively (assoc-ref %build-inputs "source") "source")
11465 (chdir "source")
11466 ;; Patch shebangs.
11467 (substitute* "epipe"
11468 (("/usr/bin/env bash")
11469 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
11470 (patch-shebang "epipe.pl"
11471 (list (string-append (assoc-ref %build-inputs "perl")
11472 "/bin")))
11473 ;; Install.
11474 (for-each (lambda (file)
11475 (install-file file (string-append %output "/bin")))
11476 '("epipe" "epipe.pl"))
11477 #t)))
11478 (home-page "https://github.com/cute-jumper/epipe")
11479 (synopsis "Pipe to the @code{emacsclient}")
11480 (description "@code{epipe} provides an utility to use your editor in
11481 the pipeline, featuring the support for running @code{emacsclient}.")
11482 (license license:gpl3+)))
11483
11484 (define-public emacs-hcl-mode
11485 (package
11486 (name "emacs-hcl-mode")
11487 (version "0.03")
11488 (source
11489 (origin
11490 (method git-fetch)
11491 (uri (git-reference
11492 (url "https://github.com/syohex/emacs-hcl-mode.git")
11493 (commit version)))
11494 (file-name (git-file-name name version))
11495 (sha256
11496 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
11497 (build-system emacs-build-system)
11498 (home-page "https://github.com/syohex/emacs-hcl-mode")
11499 (synopsis "Major mode for the Hashicorp Configuration Language")
11500 (description
11501 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
11502 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
11503 highlighting and indentation support.")
11504 (license license:gpl3+)))
11505
11506 (define-public emacs-terraform-mode
11507 (package
11508 (name "emacs-terraform-mode")
11509 (version "0.06")
11510 (source
11511 (origin
11512 (method git-fetch)
11513 (uri (git-reference
11514 (url "https://github.com/syohex/emacs-terraform-mode.git")
11515 (commit version)))
11516 (file-name (git-file-name name version))
11517 (sha256
11518 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
11519 (build-system emacs-build-system)
11520 (propagated-inputs
11521 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
11522 (home-page "https://github.com/syohex/emacs-terraform-mode")
11523 (synopsis "Major mode for Terraform")
11524 (description
11525 "@code{emacs-terraform-mode} provides a major mode for working with
11526 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
11527 functionality is inherited from @code{hcl-mode}.")
11528 (license license:gpl3+)))
11529
11530 (define-public emacs-exec-path-from-shell
11531 (package
11532 (name "emacs-exec-path-from-shell")
11533 (version "1.12")
11534 (source
11535 (origin
11536 (method git-fetch)
11537 (uri (git-reference
11538 (url "https://github.com/purcell/exec-path-from-shell")
11539 (commit version)))
11540 (file-name (git-file-name name version))
11541 (sha256
11542 (base32
11543 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
11544 (build-system emacs-build-system)
11545 (home-page "https://github.com/purcell/exec-path-from-shell")
11546 (synopsis "Get environment variables such as @var{PATH} from the shell")
11547 (description
11548 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
11549 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
11550 the like work as expected on systems on which Emacs is not guaranteed to
11551 inherit a login shell's environment variables. It also allows other
11552 environment variables to be retrieved from the shell, so that Emacs will see
11553 the same values you get in a terminal.")
11554 (license license:gpl3+)))
11555
11556 (define-public emacs-frog-menu
11557 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
11558 (revision "1"))
11559 (package
11560 (name "emacs-frog-menu")
11561 (version (git-version "0.2.9" revision commit))
11562 (source
11563 (origin
11564 (method git-fetch)
11565 (uri (git-reference
11566 (url "https://github.com/clemera/frog-menu")
11567 (commit commit)))
11568 (file-name (git-file-name name version))
11569 (sha256
11570 (base32
11571 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
11572 (build-system emacs-build-system)
11573 (propagated-inputs
11574 `(("emacs-posframe" ,emacs-posframe)
11575 ("emacs-avy" ,emacs-avy)))
11576 (home-page "https://github.com/clemera/frog-menu")
11577 (synopsis "Quickly pick items from ad hoc menus")
11578 (description
11579 "This package provides a popup offering a preview of a list of
11580 candidates on which user-defined dispatch actions can act.")
11581 (license license:gpl3+))))
11582
11583 (define-public emacs-frog-jump-buffer
11584 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
11585 (revision "1"))
11586 (package
11587 (name "emacs-frog-jump-buffer")
11588 (version (git-version "0.1.4" revision commit))
11589 (source
11590 (origin
11591 (method git-fetch)
11592 (uri (git-reference
11593 (url "https://github.com/waymondo/frog-jump-buffer")
11594 (commit commit)))
11595 (file-name (git-file-name name version))
11596 (sha256
11597 (base32
11598 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
11599 (build-system emacs-build-system)
11600 (propagated-inputs
11601 `(("emacs-dash" ,emacs-dash)
11602 ("emacs-frog-menu" ,emacs-frog-menu)
11603 ("emacs-avy" ,emacs-avy)))
11604 (home-page "https://github.com/waymondo/frog-jump-buffer")
11605 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
11606 (description
11607 "This package provides a preview window of buffers that can be switched
11608 to with quicklink-style selections.")
11609 (license license:gpl3+))))
11610
11611 (define-public emacs-deft
11612 (package
11613 (name "emacs-deft")
11614 (version "0.8")
11615 (source
11616 (origin
11617 (method git-fetch)
11618 (uri (git-reference
11619 (url "https://github.com/jrblevin/deft.git")
11620 (commit (string-append "v" version))))
11621 (file-name (git-file-name name version))
11622 (sha256
11623 (base32
11624 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
11625 (build-system emacs-build-system)
11626 (home-page "https://jblevins.org/projects/deft/")
11627 (synopsis "Quickly browse, filter, and edit plain text notes")
11628 (description
11629 "Deft is an Emacs mode for quickly browsing, filtering, and editing
11630 directories of plain text notes, inspired by Notational Velocity.")
11631 (license license:bsd-3)))
11632
11633 (define-public emacs-anzu
11634 (package
11635 (name "emacs-anzu")
11636 (version "0.62")
11637 (source
11638 (origin
11639 (method git-fetch)
11640 (uri (git-reference
11641 (url "https://github.com/syohex/emacs-anzu.git")
11642 (commit version)))
11643 (file-name (git-file-name name version))
11644 (sha256
11645 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
11646 (build-system emacs-build-system)
11647 (home-page "https://github.com/syohex/emacs-anzu")
11648 (synopsis "Show number of matches in mode-line while searching")
11649 (description
11650 "Anzu provides a minor mode which displays \"current match/total
11651 matches\" in the mode line in various search modes. This is an Emacs port of
11652 Anzu.zim.")
11653 (license license:gpl3+)))
11654
11655 (define-public emacs-ascii-art-to-unicode
11656 (package
11657 (name "emacs-ascii-art-to-unicode")
11658 (version "1.12")
11659 (source
11660 (origin
11661 (method url-fetch)
11662 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
11663 version ".el"))
11664 (sha256
11665 (base32
11666 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
11667 (build-system emacs-build-system)
11668 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
11669 (synopsis "ASCII to Unicode art converter for Emacs")
11670 (description "This Emacs package provides the commands @command{aa2u} and
11671 @command{aa2u-rectangle}. Both of these commands can be used to convert
11672 simple ASCII art line drawings to Unicode; the former works on the active
11673 region of the buffer, while the latter works on rectangular selections.")
11674 (license license:gpl3+)))
11675
11676 (define-public emacs-emmet-mode
11677 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
11678 (revision "1"))
11679 (package
11680 (name "emacs-emmet-mode")
11681 (version (git-version "1.0.8" revision commit))
11682 (source (origin
11683 (method git-fetch)
11684 (uri (git-reference
11685 (url "https://github.com/smihica/emmet-mode.git")
11686 (commit commit)))
11687 (file-name (git-file-name name version))
11688 (sha256
11689 (base32
11690 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
11691 (build-system emacs-build-system)
11692 (home-page "https://github.com/smihica/emmet-mode")
11693 (synopsis "Unofficial Emmet's support for Emacs")
11694 (description
11695 "Unfold CSS-selector-like expressions to markup. It is intended to be
11696 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
11697 (license license:gpl3+))))
11698
11699 (define-public emacs-ergoemacs-mode
11700 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
11701 (revision "1"))
11702 (package
11703 (name "emacs-ergoemacs-mode")
11704 (version (git-version "5.16.10.12" revision commit))
11705 (source
11706 (origin
11707 (method git-fetch)
11708 (uri (git-reference
11709 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
11710 (commit commit)))
11711 (file-name (git-file-name name version))
11712 (sha256
11713 (base32
11714 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
11715 (build-system emacs-build-system)
11716 (propagated-inputs
11717 `(("emacs-undo-tree" ,emacs-undo-tree)))
11718 (home-page "https://ergoemacs.github.io/")
11719 (synopsis "Emacs mode based on common modern interface and ergonomics")
11720 (description
11721 "This package provides an efficient Emacs keybinding set based on
11722 statistics of command frequency, and supports common shortcuts for open,
11723 close, copy, cut, paste, undo, redo.")
11724 (license license:gpl3+))))
11725
11726 (define-public emacs-password-store
11727 (package
11728 (name "emacs-password-store")
11729 (version "1.7.3")
11730 (source (origin
11731 (method url-fetch)
11732 (uri
11733 (string-append "https://git.zx2c4.com/password-store/snapshot/"
11734 "password-store-" version ".tar.xz"))
11735 (sha256
11736 (base32
11737 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
11738 (build-system emacs-build-system)
11739 (arguments
11740 `(#:phases
11741 (modify-phases %standard-phases
11742 (add-after 'unpack 'extract-el-file
11743 (lambda _
11744 (copy-file "contrib/emacs/password-store.el" "password-store.el")
11745 (delete-file-recursively "contrib")
11746 (delete-file-recursively "man")
11747 (delete-file-recursively "src")
11748 (delete-file-recursively "tests"))))))
11749 (propagated-inputs
11750 `(("emacs-f" ,emacs-f)
11751 ("emacs-s" ,emacs-s)
11752 ("emacs-with-editor" ,emacs-with-editor)
11753 ("password-store" ,password-store)))
11754 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
11755 (synopsis "Password store (pass) support for Emacs")
11756 (description
11757 "This package provides functions for working with pass (\"the
11758 standard Unix password manager\").")
11759 (license license:gpl2+)))
11760
11761 (define-public emacs-auth-source-pass
11762 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
11763 (revision "1"))
11764 (package
11765 (name "emacs-auth-source-pass")
11766 (version (git-version "5.0.0" revision commit))
11767 (source
11768 (origin
11769 (method git-fetch)
11770 (uri (git-reference
11771 (url "https://github.com/NicolasPetton/auth-password-store.git")
11772 (commit commit)))
11773 (file-name (git-file-name name version))
11774 (sha256
11775 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
11776 (build-system emacs-build-system)
11777 (arguments
11778 `(#:tests? #t
11779 #:test-command '("emacs" "--batch"
11780 "-L" "."
11781 "-l" "test/auth-source-pass-tests.el"
11782 "-f" "ert-run-tests-batch-and-exit")))
11783 (home-page "https://github.com/NicolasPetton/auth-password-store")
11784 (synopsis "Integrate @code{auth-source} with @code{password-store}")
11785 (description "This package helps Emacs integrate with the Unix
11786 @code{password-store} application.")
11787 (license license:gpl3+))))
11788
11789 (define-public emacs-pass
11790 (package
11791 (name "emacs-pass")
11792 (version "1.8")
11793 (source
11794 (origin
11795 (method git-fetch)
11796 (uri (git-reference
11797 (url "https://github.com/NicolasPetton/pass.git")
11798 (commit version)))
11799 (file-name (git-file-name name version))
11800 (sha256
11801 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
11802 (build-system emacs-build-system)
11803 (propagated-inputs
11804 `(("emacs-password-store" ,emacs-password-store)
11805 ("emacs-f" ,emacs-f)))
11806 (home-page "https://github.com/NicolasPetton/pass")
11807 (synopsis "Major mode for @file{password-store.el}")
11808 (description "This is a major mode for managing password-store (pass)
11809 keychains. The keychain entries are displayed in a directory-like structure
11810 and can be consulted and modified.")
11811 (license license:gpl3+)))
11812
11813 (define-public emacs-evil-anzu
11814 (package
11815 (name "emacs-evil-anzu")
11816 (version "0.03")
11817 (source
11818 (origin
11819 (method git-fetch)
11820 (uri (git-reference
11821 (url "https://github.com/syohex/emacs-evil-anzu")
11822 (commit version)))
11823 (file-name (git-file-name name version))
11824 (sha256
11825 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
11826 (build-system emacs-build-system)
11827 (propagated-inputs
11828 `(("emacs-evil" ,emacs-evil)
11829 ("emacs-anzu" ,emacs-anzu)))
11830 (home-page "https://github.com/syohex/emacs-evil-anzu")
11831 (synopsis "Anzu for evil-mode")
11832 (description "@code{anzu} provides a minor mode that displays the current
11833 match and total match information in the mode-line in various search modes.")
11834 (license license:gpl3+)))
11835
11836 (define-public emacs-pg
11837 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
11838 (package
11839 (name "emacs-pg")
11840 (version (git-version "0.1" "1" commit))
11841 (source (origin
11842 (method git-fetch)
11843 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
11844 (commit commit)))
11845 (file-name (git-file-name name version))
11846 (sha256
11847 (base32
11848 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
11849 (build-system emacs-build-system)
11850 (home-page "https://github.com/cbbrowne/pg.el")
11851 (synopsis "Emacs Lisp interface for PostgreSQL")
11852 (description
11853 "This package provides an Emacs Lisp interface for PostgreSQL.")
11854 (license license:gpl3+))))
11855
11856 (define-public emacs-cl-generic
11857 (package
11858 (name "emacs-cl-generic")
11859 (version "0.3")
11860 (source
11861 (origin
11862 (method url-fetch)
11863 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
11864 version ".el"))
11865 (sha256
11866 (base32
11867 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
11868 (build-system emacs-build-system)
11869 (home-page "https://elpa.gnu.org/packages/seq.html")
11870 (synopsis
11871 "Forward @code{cl-generic} compatibility for Emacs before version 25")
11872 (description "This package provides a subset of the features of the
11873 @code{cl-generic} package introduced in Emacs-25, for use on previous
11874 @code{emacsen}.")
11875 (license license:gpl3+)))
11876
11877 (define-public emacs-finalize
11878 (package
11879 (name "emacs-finalize")
11880 (version "2.0.0")
11881 (source
11882 (origin
11883 (method git-fetch)
11884 (uri (git-reference
11885 (url "https://github.com/skeeto/elisp-finalize.git")
11886 (commit version)))
11887 (file-name (git-file-name name version))
11888 (sha256
11889 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
11890 (build-system emacs-build-system)
11891 (propagated-inputs
11892 `(("emacs-cl-generic" ,emacs-cl-generic)))
11893 (home-page "https://github.com/skeeto/elisp-finalize")
11894 (synopsis "Finalizers for Emacs Lisp")
11895 (description
11896 "This package will allows to immediately run a callback (a finalizer)
11897 after its registered lisp object has been garbage collected. This allows for
11898 extra resources, such as buffers and processes, to be cleaned up after the
11899 object has been freed.")
11900 (license license:unlicense)))
11901
11902 (define-public emacs-emacsql
11903 (package
11904 (name "emacs-emacsql")
11905 (version "3.0.0")
11906 (source (origin
11907 (method git-fetch)
11908 (uri (git-reference
11909 (url "https://github.com/skeeto/emacsql.git")
11910 (commit (string-append version))))
11911 (file-name (git-file-name name version))
11912 (sha256
11913 (base32
11914 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
11915 (build-system emacs-build-system)
11916 (arguments
11917 `(#:modules ((guix build emacs-build-system)
11918 (guix build utils)
11919 (guix build emacs-utils)
11920 (srfi srfi-26))
11921 #:phases
11922 (modify-phases %standard-phases
11923 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
11924 (add-before 'install 'patch-elisp-shell-shebangs
11925 (lambda _
11926 (substitute* (find-files "." "\\.el")
11927 (("/bin/sh") (which "sh")))
11928 #t))
11929 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
11930 (lambda _
11931 (setenv "SHELL" "sh")))
11932 (add-after 'setenv-shell 'build-emacsql-sqlite
11933 (lambda _
11934 (invoke "make" "binary" "CC=gcc")))
11935 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
11936 ;; This build phase installs emacs-emacsql binary.
11937 (lambda* (#:key outputs #:allow-other-keys)
11938 (install-file "sqlite/emacsql-sqlite"
11939 (string-append (assoc-ref outputs "out")
11940 "/bin"))
11941 #t))
11942 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
11943 ;; This build phase removes interactive prompts
11944 ;; and makes sure Emacs look for binaries in the right places.
11945 (lambda* (#:key outputs #:allow-other-keys)
11946 (let ((file "emacsql-sqlite.el"))
11947 (chmod file #o644)
11948 (emacs-substitute-sexps file
11949 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
11950 ("(executable-find" (which "gcc"))
11951 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
11952 ;; in the right place.
11953 ("(defvar emacsql-sqlite-executable"
11954 (string-append (assoc-ref outputs "out")
11955 "/bin/emacsql-sqlite"))))))
11956 (replace 'install
11957 (lambda* (#:key outputs #:allow-other-keys)
11958 (let* ((out (assoc-ref outputs "out")))
11959 (install-file "sqlite/emacsql-sqlite"
11960 (string-append out "/bin"))
11961 (for-each (cut install-file <>
11962 (string-append out "/share/emacs/site-lisp"))
11963 (find-files "." "\\.elc*$")))
11964 #t)))))
11965 (inputs
11966 `(("emacs-minimal" ,emacs-minimal)
11967 ("mariadb" ,mariadb "lib")
11968 ("mariadb-dev" ,mariadb "dev")
11969 ("postgresql" ,postgresql)))
11970 (propagated-inputs
11971 `(("emacs-finalize" ,emacs-finalize)
11972 ("emacs-pg" ,emacs-pg)))
11973 (home-page "https://github.com/skeeto/emacsql")
11974 (synopsis "Emacs high-level SQL database front-end")
11975 (description "Any readable Lisp value can be stored as a value in EmacSQL,
11976 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
11977 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
11978 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
11979 (license license:gpl3+)))
11980
11981 (define-public emacs-closql
11982 ;; Take a commit newer than 1.0.0 release because of Emacs upgrade to 26.3.
11983 (let ((commit "70b98dbae53611d10a461d9b4a6f71086910dcef"))
11984 (package
11985 (name "emacs-closql")
11986 (version (git-version "1.0.0" "1" commit))
11987 (source
11988 (origin
11989 (method git-fetch)
11990 (uri (git-reference
11991 (url "https://github.com/emacscollective/closql.git")
11992 (commit commit)))
11993 (file-name (git-file-name name version))
11994 (sha256
11995 (base32
11996 "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh"))))
11997 (build-system emacs-build-system)
11998 (propagated-inputs
11999 `(("emacs-emacsql" ,emacs-emacsql)))
12000 (home-page "https://github.com/emacscollective/closql")
12001 (synopsis "Store EIEIO objects using EmacSQL")
12002 (description
12003 "This package allows to store uniform EIEIO objects in an EmacSQL
12004 database. SQLite is used as backend. This library imposes some restrictions
12005 on what kind of objects can be stored; it isn't intended to store arbitrary
12006 objects. All objects have to share a common superclass and subclasses cannot
12007 add any additional instance slots.")
12008 (license license:gpl3))))
12009
12010 (define-public emacs-epkg
12011 ;; The release version is to old for the current database scheme.
12012 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
12013 (package
12014 (name "emacs-epkg")
12015 (version (git-version "3.0.0" "1" commit))
12016 (source
12017 (origin
12018 (method git-fetch)
12019 (uri (git-reference
12020 (url "https://github.com/emacscollective/epkg.git")
12021 (commit commit)))
12022 (file-name (git-file-name name version))
12023 (sha256
12024 (base32
12025 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
12026 (build-system emacs-build-system)
12027 (propagated-inputs
12028 `(("emacs-closql" ,emacs-closql)
12029 ("emacs-dash" ,emacs-dash)))
12030 (home-page "https://emacsmirror.net")
12031 (synopsis "Browse the Emacsmirror package database")
12032 (description "This package provides access to a local copy of the
12033 Emacsmirror package database. It provides low-level functions for querying
12034 the database and a @file{package.el} user interface for browsing the database.
12035 Epkg itself is not a package manager.
12036
12037 Getting a local copy:
12038
12039 @example
12040 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
12041 cd ~/.emacs.d/epkgs
12042 git submodule init
12043 git config --global url.https://github.com/.insteadOf git@@github.com:
12044 git submodule update
12045 @end example
12046
12047 Some submodule may be missing. In this case Git will prompt for a GitHub user
12048 name and password. To skip it press a @key{Return} key.
12049
12050 You could get a Epkg package list by invoking @code{epkg-list-packages} in
12051 Emacs.")
12052 (license license:gpl3+))))
12053
12054 (define-public emacs-elisp-slime-nav
12055 (package
12056 (name "emacs-elisp-slime-nav")
12057 (version "0.9")
12058 (source
12059 (origin
12060 (method git-fetch)
12061 (uri (git-reference
12062 (url "https://github.com/purcell/elisp-slime-nav.git")
12063 (commit version)))
12064 (file-name (git-file-name name version))
12065 (sha256
12066 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
12067 (build-system emacs-build-system)
12068 (home-page "https://github.com/purcell/elisp-slime-nav")
12069 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
12070 (description
12071 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
12072 in @code{emacs-lisp-mode}, together with an elisp equivalent of
12073 @code{slime-describe-symbol}.")
12074 (license license:gpl3+)))
12075
12076 (define-public emacs-dedicated
12077 (package
12078 (name "emacs-dedicated")
12079 (version "1.0.0")
12080 (source
12081 (origin
12082 (method git-fetch)
12083 (uri (git-reference
12084 (url "https://github.com/emacsorphanage/dedicated.git")
12085 (commit version)))
12086 (file-name (git-file-name name version))
12087 (sha256
12088 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
12089 (build-system emacs-build-system)
12090 (home-page "https://github.com/emacsorphanage/dedicated")
12091 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
12092 (description
12093 "This simple Emacs minor mode allows you to toggle a window's
12094 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
12095 files into that window. This can be quite handy since many commands will use
12096 another window to show results (compilation mode, starting info, and so on).
12097 A dedicated window won't be used for such a purpose. For details, please read
12098 the source file.")
12099 (license license:gpl2+)))
12100
12101 (define-public emacs-nnreddit
12102 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
12103 (revision "1"))
12104 (package
12105 (name "emacs-nnreddit")
12106 (version (string-append "0.0.1-" revision "."
12107 (string-take commit 7)))
12108 (source (origin
12109 (method git-fetch)
12110 (uri (git-reference
12111 (url "https://github.com/paul-issartel/nnreddit.git")
12112 (commit commit)))
12113 (file-name (git-file-name name version))
12114 (sha256
12115 (base32
12116 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
12117 (build-system emacs-build-system)
12118 (home-page "https://github.com/paul-issartel/nnreddit")
12119 (synopsis "Reddit backend for the Gnus newsreader")
12120 (description "@url{https://www.reddit.com} backend for the Gnus
12121 newsreader.")
12122 (license license:gpl3+))))
12123
12124 (define-public emacs-makey
12125 (package
12126 (name "emacs-makey")
12127 (version "0.3")
12128 (source
12129 (origin
12130 (method git-fetch)
12131 (uri (git-reference
12132 (url "https://github.com/mickeynp/makey.git")
12133 (commit version)))
12134 (file-name (git-file-name name version))
12135 (sha256
12136 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
12137 (build-system emacs-build-system)
12138 (home-page "https://github.com/mickeynp/makey")
12139 (synopsis "Emacs interactive command-line mode")
12140 (description
12141 "This package provides an Emacs interactive command-line mode.")
12142 (license license:gpl3+)))
12143
12144 (define-public emacs-outorg
12145 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
12146 (package
12147 (name "emacs-outorg")
12148 (version (git-version "2.0" "1" commit))
12149 (source
12150 (origin
12151 (method git-fetch)
12152 (uri (git-reference
12153 (url "https://github.com/alphapapa/outorg")
12154 (commit commit)))
12155 (file-name (git-file-name name version))
12156 (sha256
12157 (base32
12158 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
12159 (build-system emacs-build-system)
12160 (home-page "https://github.com/alphapapa/outorg")
12161 (synopsis "Org-style comment editing")
12162 (description "Outorg is for editing comment-sections of source-code
12163 files in temporary Org-mode buffers. It turns conventional
12164 literate-programming upside-down in that the default mode is the
12165 programming-mode, and special action has to be taken to switch to the
12166 text-mode (i.e. Org-mode).")
12167 (license license:gpl3+))))
12168
12169 (define-public emacs-outshine
12170 (package
12171 (name "emacs-outshine")
12172 (version "3.0.1")
12173 (source (origin
12174 (method git-fetch)
12175 (uri (git-reference
12176 (url "https://github.com/alphapapa/outshine.git")
12177 (commit (string-append "v" version))))
12178 (file-name (git-file-name name version))
12179 (sha256
12180 (base32
12181 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
12182 (build-system emacs-build-system)
12183 (propagated-inputs
12184 `(("emacs-outorg" ,emacs-outorg)))
12185 (home-page "https://github.com/alphapapa/outshine")
12186 (synopsis "Emacs outline with outshine")
12187 (description "Outshine attempts to bring the look and feel of
12188 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
12189 of @code{outline-minor-mode} (@code{org-mode} itself derives from
12190 outline-mode), so there is no such thing like an outshine mode, only
12191 @code{outline-minor-mode} with outshine extensions loaded.")
12192 (license license:gpl3+)))
12193
12194 (define-public emacs-frecency
12195 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
12196 (version "0.1-pre")
12197 (revision "1"))
12198 (package
12199 (name "emacs-frecency")
12200 (version (git-version version revision commit))
12201 (source (origin
12202 (method git-fetch)
12203 (uri (git-reference
12204 (url "https://github.com/alphapapa/frecency.el")
12205 (commit commit)))
12206 (sha256
12207 (base32
12208 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
12209 (file-name (git-file-name name version))))
12210 (build-system emacs-build-system)
12211 (propagated-inputs
12212 `(("emacs-a" ,emacs-a)
12213 ("emacs-dash" ,emacs-dash)))
12214 (home-page "https://github.com/alphapapa/frecency.el")
12215 (synopsis "Sort items by frequency and recency of access")
12216 (description "This package provides a way of sorting items via
12217 a heuristic based on frequency and recency.")
12218 (license license:gpl3+))))
12219
12220 (define-public emacs-org-recent-headings
12221 (package
12222 (name "emacs-org-recent-headings")
12223 (version "0.1")
12224 (source (origin
12225 (method git-fetch)
12226 (uri (git-reference
12227 (url "https://github.com/alphapapa/org-recent-headings.git")
12228 (commit version)))
12229 (file-name (git-file-name name version))
12230 (sha256
12231 (base32
12232 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
12233 (build-system emacs-build-system)
12234 (propagated-inputs
12235 `(("emacs-org" ,emacs-org)
12236 ("emacs-dash" ,emacs-dash)
12237 ("emacs-frecency" ,emacs-frecency)))
12238 (home-page "https://github.com/alphapapa/org-recent-headings")
12239 (synopsis "Navigate to recently used Org headings and lists")
12240 (description "This package maintains a list of recently used Org headings,
12241 as well as functions for navigating between these headings.")
12242 (license license:gpl3+)))
12243
12244 (define-public emacs-org-super-agenda
12245 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
12246 (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba")
12247 (revision "3"))
12248 (package
12249 (name "emacs-org-super-agenda")
12250 (version (git-version "1.1.1" revision commit))
12251 (source (origin
12252 (method git-fetch)
12253 (uri (git-reference
12254 (url "https://github.com/alphapapa/org-super-agenda")
12255 (commit commit)))
12256 (file-name (git-file-name name version))
12257 (sha256
12258 (base32
12259 "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff"))))
12260 (build-system emacs-build-system)
12261 (propagated-inputs
12262 `(("emacs-org" ,emacs-org)
12263 ("emacs-dash" ,emacs-dash)
12264 ("emacs-ts" ,emacs-ts)
12265 ("emacs-ht" ,emacs-ht)
12266 ("emacs-s" ,emacs-s)))
12267 (home-page "https://github.com/alphapapa/org-super-agenda")
12268 (synopsis "Supercharged Org agenda")
12269 (description "This package allows items in the Org agenda to be grouped
12270 into sections while preserving the structure imposed by any timestamps.")
12271 (license license:gpl3+))))
12272
12273 (define-public emacs-org-make-toc
12274 (package
12275 (name "emacs-org-make-toc")
12276 (version "0.3")
12277 (source (origin
12278 (method git-fetch)
12279 (uri (git-reference
12280 (url "https://github.com/alphapapa/org-make-toc")
12281 (commit version)))
12282 (file-name (git-file-name name version))
12283 (sha256
12284 (base32
12285 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
12286 (build-system emacs-build-system)
12287 (propagated-inputs
12288 `(("emacs-org" ,emacs-org)
12289 ("emacs-dash" ,emacs-dash)
12290 ("emacs-s" ,emacs-s)))
12291 (home-page "https://github.com/alphapapa/org-make-toc")
12292 (synopsis "Maintain a table of contents for an Org file")
12293 (description "This package facilitates the creation and maintenance of
12294 tables of contents.")
12295 (license license:gpl3+)))
12296
12297 (define-public emacs-ts
12298 (let ((commit "395649a2f2ba79028331bb1fa9ec08b218950ff6")
12299 (revision "2"))
12300 (package
12301 (name "emacs-ts")
12302 (version (git-version "0.1" revision commit))
12303 (source (origin
12304 (method git-fetch)
12305 (uri (git-reference
12306 (url "https://github.com/alphapapa/ts.el")
12307 (commit commit)))
12308 (sha256
12309 (base32
12310 "02603wv66fplsigxd87jy23hrb5g9vigszcpdqrdv0ypaqaxlr3a"))
12311 (file-name (git-file-name name version))))
12312 (build-system emacs-build-system)
12313 (propagated-inputs
12314 `(("emacs-s" ,emacs-s)
12315 ("emacs-dash" ,emacs-dash)))
12316 (arguments
12317 ;; XXX: Three tests are failing because of a timezone-related issue
12318 ;; with how they're written. On my machine, all the failing test
12319 ;; results are 18000 seconds (5 hours) off.
12320
12321 ;; The ts-parse-org function accepts a string without any timezone
12322 ;; info, not assumed to be in Unix time, and converts it to a so-called
12323 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
12324 ;; then seems to assume the struct's corresponding time is in terms of
12325 ;; the user's current time zone, before returning a Unix time in
12326 ;; seconds.
12327
12328 ;; The failing tests all have similar problems, but nothing else about
12329 ;; the library seems particularly off.
12330
12331 `(#:tests? #t
12332 #:test-command '("emacs" "--batch"
12333 "-l" "test/test.el"
12334 "-f" "ert-run-tests-batch-and-exit")
12335 #:phases
12336 (modify-phases %standard-phases
12337 (add-before 'check 'make-tests-writable
12338 (lambda _
12339 (make-file-writable "test/test.el")
12340 #t))
12341 (add-before 'check 'delete-failing-tests
12342 (lambda _
12343 (emacs-batch-edit-file "test/test.el"
12344 `(progn (progn
12345 (goto-char (point-min))
12346 (dolist (test-regexp '("ert-deftest ts-format"
12347 "ert-deftest ts-parse-org\\_>"
12348 "ert-deftest ts-parse-org-element"))
12349 (re-search-forward test-regexp)
12350 (beginning-of-line)
12351 (kill-sexp)))
12352 (basic-save-buffer)))
12353 #t)))))
12354 (home-page "https://github.com/alphapapa/ts.el")
12355 (synopsis "Timestamp and date/time library")
12356 (description "This package facilitates manipulating dates, times, and
12357 timestamps by providing a @code{ts} struct.")
12358 (license license:gpl3+))))
12359
12360 (define-public emacs-peg
12361 (package
12362 (name "emacs-peg")
12363 (version "0.6")
12364 (source (origin
12365 (method git-fetch)
12366 (uri (git-reference
12367 (url "https://github.com/emacsmirror/peg")
12368 (commit version)))
12369 (sha256
12370 (base32
12371 "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n"))
12372 (file-name (git-file-name name version))))
12373 (build-system emacs-build-system)
12374 (home-page "https://github.com/emacsmirror/peg/")
12375 (synopsis "Parsing Expression Grammars in Elisp")
12376 (description "This package provides a macro that parses the current buffer
12377 according to a parsing expression grammar.")
12378 (license license:gpl3+)))
12379
12380 (define-public emacs-org-ql
12381 (package
12382 (name "emacs-org-ql")
12383 (version "0.3.2")
12384 (source (origin
12385 (method git-fetch)
12386 (uri (git-reference
12387 (url "https://github.com/alphapapa/org-ql")
12388 (commit version)))
12389 (sha256
12390 (base32
12391 "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"))
12392 (file-name (git-file-name name version))))
12393 (build-system emacs-build-system)
12394 (propagated-inputs
12395 `(("emacs-s" ,emacs-s)
12396 ("emacs-f" ,emacs-f)
12397 ("emacs-ov" ,emacs-ov)
12398 ("emacs-peg" ,emacs-peg)
12399 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
12400 ("emacs-ts" ,emacs-ts)
12401 ("emacs-org" ,emacs-org)
12402 ("emacs-helm" ,emacs-helm)
12403 ("emacs-helm-org" ,emacs-helm-org)
12404 ("emacs-dash" ,emacs-dash)))
12405 (native-inputs
12406 `(("emacs-buttercup" ,emacs-buttercup)))
12407 (arguments
12408 `(#:phases
12409 (modify-phases %standard-phases
12410 (add-after 'unpack 'require-helm
12411 (lambda _
12412 (substitute* "helm-org-ql.el"
12413 (("^;;;; Requirements")
12414 ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
12415 #t)))
12416 #:tests? #t
12417 #:test-command '("buttercup" "-L" ".")))
12418 (home-page "https://github.com/alphapapa/org-ql/")
12419 (synopsis "Query language for Org buffers")
12420 (description "This package provides a Lispy query language for Org
12421 files, allowing for actions to be performed based on search criteria.")
12422 (license license:gpl3+)))
12423
12424 (define-public emacs-org-auto-expand
12425 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
12426 (revision "1"))
12427 (package
12428 (name "emacs-org-auto-expand")
12429 (version (git-version "0.1" revision commit))
12430 (source (origin
12431 (method git-fetch)
12432 (uri (git-reference
12433 (url "https://github.com/alphapapa/org-auto-expand")
12434 (commit commit)))
12435 (file-name (git-file-name name version))
12436 (sha256
12437 (base32
12438 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
12439 (build-system emacs-build-system)
12440 (propagated-inputs
12441 `(("emacs-org" ,emacs-org)
12442 ("emacs-dash" ,emacs-dash)))
12443 (home-page "https://github.com/alphapapa/org-auto-expand")
12444 (synopsis "Automatically expand certain Org headings")
12445 (description "This package allows a customizable set of headings in Org
12446 files to be expanded upon opening them.")
12447 (license license:gpl3+))))
12448
12449 (define-public emacs-parsebib
12450 (package
12451 (name "emacs-parsebib")
12452 (version "2.3.1")
12453 (source
12454 (origin
12455 (method git-fetch)
12456 (uri (git-reference
12457 (url "https://github.com/joostkremers/parsebib.git")
12458 (commit version)))
12459 (file-name (git-file-name name version))
12460 (sha256
12461 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
12462 (build-system emacs-build-system)
12463 (home-page "https://github.com/joostkremers/parsebib")
12464 (synopsis "Library for parsing bib files")
12465 (description
12466 "This package provides an Emacs library for parsing bib files.")
12467 (license license:gpl3+)))
12468
12469 (define-public emacs-biblio
12470 (package
12471 (name "emacs-biblio")
12472 (version "0.2")
12473 (source
12474 (origin
12475 (method git-fetch)
12476 (uri (git-reference
12477 (url "https://github.com/cpitclaudel/biblio.el.git")
12478 (commit version)))
12479 (file-name (git-file-name name version))
12480 (sha256
12481 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
12482 (build-system emacs-build-system)
12483 (propagated-inputs
12484 `(("emacs-seq" ,emacs-seq)
12485 ("emacs-dash" ,emacs-dash)
12486 ("emacs-let-alist" ,emacs-let-alist)))
12487 (home-page "https://github.com/cpitclaudel/biblio.el")
12488 (synopsis "Browse and import bibliographic references")
12489 (description "This package provides an extensible Emacs package for
12490 browsing and fetching references.
12491
12492 @file{biblio.el} makes it easy to browse and gather bibliographic references
12493 and publications from various sources, by keywords or by DOI. References are
12494 automatically fetched from well-curated sources, and formatted as BibTeX.")
12495 (license license:gpl3+)))
12496
12497 (define-public emacs-helm-bibtex
12498 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
12499 (revision "1"))
12500 (package
12501 (name "emacs-helm-bibtex")
12502 (version (string-append "2.0.0" "-" revision "."
12503 (string-take commit 7)))
12504 (source
12505 (origin
12506 (method git-fetch)
12507 (uri (git-reference
12508 (url "https://github.com/tmalsburg/helm-bibtex.git")
12509 (commit commit)))
12510 (file-name (git-file-name name version))
12511 (sha256
12512 (base32
12513 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
12514 (build-system emacs-build-system)
12515 (propagated-inputs
12516 `(("emacs-helm" ,emacs-helm)
12517 ("emacs-parsebib" ,emacs-parsebib)
12518 ("emacs-s" ,emacs-s)
12519 ("emacs-dash" ,emacs-dash)
12520 ("emacs-f" ,emacs-f)
12521 ("emacs-biblio" ,emacs-biblio)
12522 ("emacs-ivy" ,emacs-ivy)))
12523 (home-page "https://github.com/tmalsburg/helm-bibtex")
12524 (synopsis "Bibliography manager based on Helm")
12525 (description "This package provides bibliography manager for Emacs,
12526 based on Helm and the bibtex-completion backend.
12527
12528 Key features:
12529
12530 @itemize
12531 @item Quick access to your bibliography from within Emacs
12532 @item Powerful search capabilities
12533 @item Provides instant search results as you type
12534 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
12535 @item Open the PDFs, URLs, or DOIs associated with an entry
12536 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
12537 BibTeX entries, or plain text references at point, attach PDFs to emails
12538 @item Support for note taking
12539 @item Quick access to online bibliographic databases such as Pubmed,
12540 arXiv, Google Scholar, Library of Congress, etc.
12541 @item Imports BibTeX entries from CrossRef and other sources.
12542 @end itemize\n")
12543 (license license:gpl3+))))
12544
12545 (define-public emacs-ewmctrl
12546 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
12547 (package
12548 (name "emacs-ewmctrl")
12549 (version (git-version "0.0.1" "1" commit))
12550 (source
12551 (origin
12552 (method git-fetch)
12553 (uri (git-reference
12554 (url "https://github.com/flexibeast/ewmctrl.git")
12555 (commit commit)))
12556 (file-name (git-file-name name version))
12557 (sha256
12558 (base32
12559 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
12560 (build-system emacs-build-system)
12561 (arguments
12562 '(#:phases
12563 (modify-phases %standard-phases
12564 (add-after 'unpack 'patch-ewmctrl
12565 ;; This build phase makes sure ‘ewmctrl’ looks
12566 ;; for ‘wmctrl’ in the right place.
12567 (lambda _
12568 (let ((file "ewmctrl.el"))
12569 (chmod file #o644)
12570 (emacs-substitute-sexps file
12571 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
12572 (inputs
12573 `(("wmctrl" ,wmctrl)))
12574 (home-page "https://github.com/flexibeast/ewmctrl")
12575 (synopsis "Emacs interface to @code{wmctrl}")
12576 (description "@code{ewmctrl} provides an Emacs interface to
12577 @code{wmctrl} command-line window-management program.")
12578 (license license:gpl3+))))
12579
12580 (define-public emacs-erc-image
12581 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
12582 (revision "1"))
12583 (package
12584 (name "emacs-erc-image")
12585 (version (git-version "0" revision commit))
12586 (source
12587 (origin
12588 (method git-fetch)
12589 (uri (git-reference
12590 (url "https://github.com/kidd/erc-image.el")
12591 (commit commit)))
12592 (file-name (git-file-name name version))
12593 (sha256
12594 (base32
12595 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
12596 (build-system emacs-build-system)
12597 (home-page "https://github.com/kidd/erc-image.el")
12598 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
12599 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
12600 and @code{erc-send-modify-hook} to download and show images.")
12601 (license license:gpl3+))))
12602
12603 (define-public emacs-helm-gtags
12604 (package
12605 (name "emacs-helm-gtags")
12606 (version "1.5.6")
12607 (source
12608 (origin
12609 (method git-fetch)
12610 (uri (git-reference
12611 (url "https://github.com/syohex/emacs-helm-gtags.git")
12612 (commit version)))
12613 (file-name (git-file-name name version))
12614 (sha256
12615 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
12616 (build-system emacs-build-system)
12617 (propagated-inputs
12618 `(("emacs-helm" ,emacs-helm)))
12619 (home-page "https://github.com/syohex/emacs-helm-gtags")
12620 (synopsis "Emacs Helm interface to GNU Global")
12621 (description
12622 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
12623 (license license:gpl3+)))
12624
12625 (define-public emacs-list-utils
12626 (package
12627 (name "emacs-list-utils")
12628 (version "0.4.4")
12629 (source
12630 (origin
12631 (method git-fetch)
12632 (uri (git-reference
12633 (url "https://github.com/rolandwalker/list-utils.git")
12634 (commit (string-append "v" version))))
12635 (file-name (git-file-name name version))
12636 (sha256
12637 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
12638 (build-system emacs-build-system)
12639 (home-page "https://github.com/rolandwalker/list-utils")
12640 (synopsis "List-manipulation utility functions")
12641 (description "This package provides a list manipulation library for Emacs.")
12642 (license license:gpl3+)))
12643
12644 (define-public emacs-move-text
12645 (package
12646 (name "emacs-move-text")
12647 (version "2.0.8")
12648 (source
12649 (origin
12650 (method git-fetch)
12651 (uri (git-reference
12652 (url "https://github.com/emacsfodder/move-text.git")
12653 (commit version)))
12654 (file-name (git-file-name name version))
12655 (sha256
12656 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
12657 (build-system emacs-build-system)
12658 (home-page "https://github.com/emacsfodder/move-text")
12659 (synopsis "Move current line or region with M-up or M-down")
12660 (description "This package provide functions to move the current line
12661 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
12662 region instead.")
12663 (license license:gpl3+)))
12664
12665 (define-public emacs-validate
12666 (package
12667 (name "emacs-validate")
12668 (version "1.0.5")
12669 (source (origin
12670 (method git-fetch)
12671 (uri (git-reference
12672 (url "https://github.com/Malabarba/validate.el")
12673 (commit version)))
12674 (file-name (git-file-name name version))
12675 (sha256
12676 (base32
12677 "1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
12678 (build-system emacs-build-system)
12679 (home-page "https://github.com/Malabarba/validate.el")
12680 (synopsis "Emacs library for scheme validation")
12681 (description "This Emacs library provides two functions that perform
12682 schema validation.")
12683 (license license:gpl3+)))
12684
12685 (define-public emacs-rainbow-blocks
12686 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
12687 (package
12688 (name "emacs-rainbow-blocks")
12689 (version (git-version "1.0.0" "1" commit))
12690 (source (origin
12691 (method git-fetch)
12692 (uri (git-reference
12693 (url "https://github.com/istib/rainbow-blocks.git")
12694 (commit commit)))
12695 (file-name (git-file-name name version))
12696 (sha256
12697 (base32
12698 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
12699 (build-system emacs-build-system)
12700 (home-page "https://github.com/istib/rainbow-blocks")
12701 (synopsis "Highlight sexp blocks")
12702 (description "Rainbow-blocks is an Emacs mode that highlights blocks
12703 made of parentheses, brackets, and braces according to their depth. Each
12704 successive level is highlighted in a different color. This makes it easy to
12705 orient yourself in the code, and tell which statements are at a given level.")
12706 (license license:gpl3+))))
12707
12708 (define-public emacs-hierarchy
12709 (package
12710 (name "emacs-hierarchy")
12711 (version "0.7.0")
12712 (source
12713 (origin
12714 (method git-fetch)
12715 (uri (git-reference
12716 (url "https://github.com/DamienCassou/hierarchy.git")
12717 (commit (string-append "v" version))))
12718 (file-name (git-file-name name version))
12719 (sha256
12720 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
12721 (build-system emacs-build-system)
12722 (native-inputs
12723 `(("emacs-buttercup" ,emacs-buttercup)))
12724 (arguments
12725 `(#:tests? #t
12726 #:test-command '("buttercup" "-L" ".")))
12727 (home-page "https://github.com/DamienCassou/hierarchy")
12728 (synopsis "Library to create and display hierarchy structures")
12729 (description "This package provides an Emacs library to create, query,
12730 navigate and display hierarchy structures.")
12731 (license license:gpl3+)))
12732
12733 (define-public emacs-tree-mode
12734 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
12735 (revision "1"))
12736 (package
12737 (name "emacs-tree-mode")
12738 (version (string-append "0.0.1" "-" revision "."
12739 (string-take commit 7)))
12740 (source
12741 (origin
12742 (method git-fetch)
12743 (uri (git-reference
12744 (url "https://github.com/emacsorphanage/tree-mode.git")
12745 (commit commit)))
12746 (file-name (git-file-name name version))
12747 (sha256
12748 (base32
12749 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
12750 (build-system emacs-build-system)
12751 (home-page "https://github.com/emacsorphanage/tree-mode")
12752 (synopsis "Emacs mode to manage tree widgets")
12753 (description
12754 "This package provides an Emacs library to manage tree widgets.")
12755 (license license:gpl3+))))
12756
12757 (define-public emacs-md4rd
12758 (package
12759 (name "emacs-md4rd")
12760 (version "0.3.1")
12761 (source (origin
12762 (method git-fetch)
12763 (uri (git-reference
12764 (url "https://github.com/ahungry/md4rd.git")
12765 (commit version)))
12766 (file-name (git-file-name name version))
12767 (sha256
12768 (base32
12769 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
12770 (propagated-inputs
12771 `(("emacs-hierarchy" ,emacs-hierarchy)
12772 ("emacs-request" ,emacs-request)
12773 ("emacs-dash" ,emacs-dash)
12774 ("emacs-s" ,emacs-s)
12775 ("emacs-tree-mode" ,emacs-tree-mode)))
12776 (build-system emacs-build-system)
12777 (home-page "https://github.com/ahungry/md4rd")
12778 (synopsis "Emacs Mode for Reddit")
12779 (description
12780 "This package allows to read Reddit from within Emacs interactively.")
12781 (license license:gpl3+)))
12782
12783 (define-public emacs-pulseaudio-control
12784 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
12785 (revision "3"))
12786 (package
12787 (name "emacs-pulseaudio-control")
12788 (version (git-version "0.0.1" revision commit))
12789 (source
12790 (origin
12791 (method git-fetch)
12792 (uri (git-reference
12793 (url "https://github.com/flexibeast/pulseaudio-control.git")
12794 (commit commit)))
12795 (file-name (git-file-name name version))
12796 (sha256
12797 (base32
12798 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
12799 (build-system emacs-build-system)
12800 (arguments
12801 '(#:phases (modify-phases %standard-phases
12802 (add-after 'unpack 'patch-file-name
12803 (lambda* (#:key inputs #:allow-other-keys)
12804 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
12805 (chmod "pulseaudio-control.el" #o600)
12806 (emacs-substitute-variables "pulseaudio-control.el"
12807 ("pulseaudio-control-pactl-path"
12808 (string-append pulseaudio "/bin/pactl")))
12809 #t))))))
12810 (inputs `(("pulseaudio" ,pulseaudio)))
12811 (home-page "https://github.com/flexibeast/pulseaudio-control")
12812 (synopsis "Control @code{pulseaudio} from Emacs")
12813 (description
12814 "This package allows to control @code{pulseaudio} from Emacs.")
12815 (license license:gpl3+))))
12816
12817 (define-public emacs-datetime
12818 (package
12819 (name "emacs-datetime")
12820 (version "0.3")
12821 (source
12822 (origin
12823 (method git-fetch)
12824 (uri (git-reference
12825 (url "https://github.com/doublep/datetime.git")
12826 (commit version)))
12827 (file-name (git-file-name name version))
12828 (sha256
12829 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
12830 (build-system emacs-build-system)
12831 (home-page "https://github.com/doublep/datetime/")
12832 (synopsis "Library to work with dates in Emacs")
12833 (description "Parsing, formatting, matching and recoding
12834 timestamps and date-time format strings library for Emacs.")
12835 (license license:gpl3+)))
12836
12837 (define-public emacs-org-mind-map
12838 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
12839 (revision "1"))
12840 (package
12841 (name "emacs-org-mind-map")
12842 (version (string-append "0.0.1" "-" revision "."
12843 (string-take commit 7)))
12844 (source
12845 (origin
12846 (method git-fetch)
12847 (uri (git-reference
12848 (url "https://github.com/theodorewiles/org-mind-map.git")
12849 (commit commit)))
12850 (file-name (git-file-name name version))
12851 (sha256
12852 (base32
12853 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
12854 (propagated-inputs
12855 `(("emacs-dash" ,emacs-dash)))
12856 (build-system emacs-build-system)
12857 (home-page "https://github.com/theodorewiles/org-mind-map")
12858 (synopsis "Create Graphviz directed graphs from Org files")
12859 (description
12860 "This package creates Graphviz directed graphs from Org files.")
12861 (license license:gpl3+))))
12862
12863 (define-public emacs-npm-mode
12864 (package
12865 (name "emacs-npm-mode")
12866 (version "0.6.0")
12867 (source
12868 (origin
12869 (method git-fetch)
12870 (uri (git-reference
12871 (url "https://github.com/mojochao/npm-mode.git")
12872 (commit version)))
12873 (file-name (git-file-name name version))
12874 (sha256
12875 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
12876 (build-system emacs-build-system)
12877 (home-page "https://github.com/mojochao/npm-mode")
12878 (synopsis "Minor mode for working with @code{npm} projects")
12879 (description
12880 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
12881 (license license:gpl3+)))
12882
12883 (define-public emacs-seq
12884 (package
12885 (name "emacs-seq")
12886 (version "2.20")
12887 (source
12888 (origin
12889 (method url-fetch)
12890 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
12891 (sha256
12892 (base32
12893 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
12894 (build-system emacs-build-system)
12895 (home-page "http://elpa.gnu.org/packages/seq.html")
12896 (synopsis "Sequence manipulation functions")
12897 (description "Sequence-manipulation functions that complement basic
12898 functions provided by @file{subr.el}.")
12899 (license license:gpl3+)))
12900
12901 (define-public emacs-itail
12902 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
12903 (revision "1"))
12904 (package
12905 (name "emacs-itail")
12906 (version (string-append "0.0.1" "-" revision "."
12907 (string-take commit 7)))
12908 (source
12909 (origin
12910 (method git-fetch)
12911 (uri (git-reference
12912 (url "https://github.com/re5et/itail.git")
12913 (commit commit)))
12914 (file-name (git-file-name name version))
12915 (sha256
12916 (base32
12917 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
12918 (build-system emacs-build-system)
12919 (home-page "https://github.com/re5et/itail")
12920 (synopsis "Interactive @code{tail} Emacs mode")
12921 (description "@code{itail} provides interactive @code{tail} mode
12922 that allows you to filter the tail with unix pipes and highlight the
12923 contents of the tailed file. Works locally or on remote files using
12924 tramp.")
12925 (license license:gpl3+))))
12926
12927 (define-public emacs-loop
12928 (package
12929 (name "emacs-loop")
12930 (version "1.3")
12931 (source
12932 (origin
12933 (method git-fetch)
12934 (uri (git-reference
12935 (url "https://github.com/Wilfred/loop.el.git")
12936 (commit version)))
12937 (file-name (git-file-name name version))
12938 (sha256
12939 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
12940 (build-system emacs-build-system)
12941 (native-inputs
12942 `(("emacs-ert-runner" ,emacs-ert-runner)
12943 ("emacs-undercover" ,emacs-undercover)))
12944 (arguments
12945 `(#:tests? #t
12946 #:test-command '("ert-runner")))
12947 (home-page "https://github.com/Wilfred/loop.el")
12948 (synopsis "Imperative loop structures for Emacs")
12949 (description "Loop structures familiar to users of other languages. This
12950 library adds a selection of popular loop structures as well as break and
12951 continue.")
12952 (license license:gpl3+)))
12953
12954 (define-public emacs-elisp-refs
12955 (package
12956 (name "emacs-elisp-refs")
12957 (version "1.3")
12958 (source
12959 (origin
12960 (method git-fetch)
12961 (uri (git-reference
12962 (url "https://github.com/Wilfred/elisp-refs.git")
12963 (commit version)))
12964 (file-name (git-file-name name version))
12965 (sha256
12966 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
12967 (build-system emacs-build-system)
12968 (propagated-inputs
12969 `(("emacs-dash" ,emacs-dash)
12970 ("emacs-f" ,emacs-f)
12971 ("emacs-list-utils" ,emacs-list-utils)
12972 ("emacs-loop" ,emacs-loop)
12973 ("emacs-s" ,emacs-s)
12974 ("emacs-shut-up" ,emacs-shut-up)))
12975 (native-inputs
12976 `(("emacs-ert-runner" ,emacs-ert-runner)
12977 ("emacs-undercover" ,emacs-undercover)))
12978 (arguments
12979 `(#:tests? #t
12980 #:test-command '("ert-runner")))
12981 (home-page "https://github.com/Wilfred/elisp-refs")
12982 (synopsis "Find callers of elisp functions or macros")
12983 (description "Find references to functions, macros or variables. Unlike a
12984 dumb text search, @code{elisp-refs} actually parses the code, so it's never
12985 confused by comments or @code{foo-bar} matching @code{foo}.")
12986 (license license:gpl3+)))
12987
12988 (define-public emacs-crux
12989 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
12990 (revision "2"))
12991 (package
12992 (name "emacs-crux")
12993 (version (git-version "0.3.0" revision commit))
12994 (source
12995 (origin
12996 (method git-fetch)
12997 (uri (git-reference
12998 (url "https://github.com/bbatsov/crux.git")
12999 (commit commit)))
13000 (file-name (git-file-name name version))
13001 (sha256
13002 (base32
13003 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
13004 (build-system emacs-build-system)
13005 (home-page "https://github.com/bbatsov/crux")
13006 (synopsis "Collection of useful functions for Emacs")
13007 (description
13008 "@code{crux} provides a collection of useful functions for Emacs.")
13009 (license license:gpl3+))))
13010
13011 (define-public emacs-edit-server
13012 (package
13013 (name "emacs-edit-server")
13014 (version "1.13")
13015 (source
13016 (origin
13017 (method git-fetch)
13018 (uri (git-reference
13019 (url "https://github.com/stsquad/emacs_chrome.git")
13020 (commit (string-append "v" version))))
13021 (file-name (git-file-name name version))
13022 (sha256
13023 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
13024 (build-system emacs-build-system)
13025 (arguments
13026 `(#:phases
13027 (modify-phases %standard-phases
13028 (add-after 'unpack 'chdir-elisp
13029 ;; Elisp directory is not in root of the source.
13030 (lambda _
13031 (chdir "servers"))))))
13032 (home-page "https://github.com/stsquad/emacs_chrome")
13033 (synopsis "Server that responds to edit requests from Chromium")
13034 (description
13035 "This package provides an edit server to respond to requests from Emacs.")
13036 (license license:gpl3+)))
13037
13038 (define-public emacs-m-buffer-el
13039 (package
13040 (name "emacs-m-buffer-el")
13041 (version "0.15")
13042 (source
13043 (origin
13044 (method git-fetch)
13045 (uri (git-reference
13046 (url "https://github.com/phillord/m-buffer-el")
13047 (commit (string-append "v" version))))
13048 (file-name (git-file-name name version))
13049 (sha256
13050 (base32
13051 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
13052 (arguments
13053 `(#:phases
13054 (modify-phases %standard-phases
13055 (add-before 'install 'check
13056 (lambda* (#:key inputs #:allow-other-keys)
13057 (invoke "emacs" "--batch" "-L" "."
13058 "-l" "test/m-buffer-test.el"
13059 "-l" "test/m-buffer-at-test.el"
13060 "-f" "ert-run-tests-batch-and-exit"))))))
13061 (build-system emacs-build-system)
13062 (home-page "https://github.com/phillord/m-buffer-el")
13063 (synopsis "List oriented buffer operations for Emacs")
13064 (description "@code{m-buffer} provides a set of list-orientated functions
13065 for operating over the contents of Emacs buffers.")
13066 (license license:gpl3+)))
13067
13068 (define-public emacs-let-alist
13069 (package
13070 (name "emacs-let-alist")
13071 (version "1.0.6")
13072 (source
13073 (origin
13074 (method url-fetch)
13075 (uri (string-append
13076 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
13077 (sha256
13078 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
13079 (build-system emacs-build-system)
13080 (home-page "https://elpa.gnu.org/packages/let-alist.html")
13081 (synopsis "Easily let-bind values of an assoc-list by their names")
13082 (description "This package offers a single macro, @code{let-alist}. This
13083 macro takes a first argument (whose value must be an alist) and a body.")
13084 (license license:gpl3+)))
13085
13086 (define-public emacs-esup
13087 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
13088 (revision "1"))
13089 (package
13090 (name "emacs-esup")
13091 (version (string-append "0.6" "-" revision "."
13092 (string-take commit 7)))
13093 (source
13094 (origin
13095 (method git-fetch)
13096 (uri (git-reference
13097 (url "https://github.com/jschaf/esup.git")
13098 (commit commit)))
13099 (file-name (git-file-name name version))
13100 (sha256
13101 (base32
13102 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
13103 ;; TODO: Add tests
13104 (build-system emacs-build-system)
13105 (home-page "https://github.com/jschaf/esup")
13106 (synopsis "Emacs start up profiler")
13107 (description "Benchmark Emacs Startup time without ever leaving
13108 your Emacs.")
13109 (license license:gpl2+))))
13110
13111 (define-public emacs-restart-emacs
13112 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
13113 (revision "1"))
13114 (package
13115 (name "emacs-restart-emacs")
13116 (version (git-version "0.1.1" revision commit))
13117 (source
13118 (origin
13119 (method git-fetch)
13120 (uri (git-reference
13121 (url "https://github.com/iqbalansari/restart-emacs.git")
13122 (commit commit)))
13123 (file-name (git-file-name name version))
13124 (sha256
13125 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
13126 (build-system emacs-build-system)
13127 (home-page "https://github.com/iqbalansari/restart-emacs")
13128 (synopsis "Restart Emacs from within Emacs")
13129 (description "This package provides a simple command to restart Emacs from
13130 within Emacs.")
13131 (license license:gpl3+))))
13132
13133 (define-public emacs-sourcemap
13134 (package
13135 (name "emacs-sourcemap")
13136 (version "0.03")
13137 (source
13138 (origin
13139 (method git-fetch)
13140 (uri (git-reference
13141 (url "https://github.com/syohex/emacs-sourcemap.git")
13142 (commit version)))
13143 (file-name (git-file-name name version))
13144 (sha256
13145 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
13146 (build-system emacs-build-system)
13147 (home-page "https://github.com/syohex/emacs-sourcemap")
13148 (synopsis "Sourcemap parser")
13149 (description "Sourcemap parser")
13150 (license license:gpl3+)))
13151
13152 (define-public emacs-macrostep
13153 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
13154 (package
13155 (name "emacs-macrostep")
13156 (version (git-version "0.9" "1" commit))
13157 (source (origin
13158 (method git-fetch)
13159 (uri (git-reference
13160 (url "https://github.com/joddie/macrostep.git")
13161 (commit commit)))
13162 (file-name (git-file-name name version))
13163 (sha256
13164 (base32
13165 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
13166 (build-system emacs-build-system)
13167 (arguments
13168 '(#:phases
13169 (modify-phases %standard-phases
13170 (add-before 'check 'remove-test
13171 ;; Fails because of requirement ‘/bin/sh’.
13172 (lambda _
13173 (let ((file "macrostep-test.el"))
13174 (chmod file #o644)
13175 (emacs-batch-edit-file file
13176 `(progn (progn (goto-char (point-min))
13177 (re-search-forward
13178 "(ert-deftest macrostep-expand-c-macros")
13179 (beginning-of-line)
13180 (kill-sexp))
13181 (basic-save-buffer))))))
13182 (add-before 'install 'check
13183 (lambda _
13184 (invoke "emacs" "--batch" "-L" "."
13185 "-l" "macrostep-test.el"
13186 "-f" "ert-run-tests-batch-and-exit"))))))
13187 (home-page "https://github.com/joddie/macrostep")
13188 (synopsis "Interactive macro-expander for Emacs")
13189 (description "@code{macrostep} is an Emacs minor mode for interactively
13190 stepping through the expansion of macros in Emacs Lisp source code. It lets
13191 you see exactly what happens at each step of the expansion process by
13192 pretty-printing the expanded forms inline in the source buffer, which is
13193 temporarily read-only while macro expansions are visible. You can expand and
13194 collapse macro forms one step at a time, and evaluate or instrument the
13195 expansions for debugging with Edebug as normal (but see “Bugs and known
13196 limitations”, below). Single-stepping through the expansion is particularly
13197 useful for debugging macros that expand into another macro form. These can be
13198 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
13199 until the top-level form is no longer a macro call.")
13200 (license license:gpl3+))))
13201
13202 (define-public emacs-parent-mode
13203 (package
13204 (name "emacs-parent-mode")
13205 (version "2.3")
13206 (source
13207 (origin
13208 (method git-fetch)
13209 (uri (git-reference
13210 (url "https://github.com/Fanael/parent-mode.git")
13211 (commit version)))
13212 (file-name (git-file-name name version))
13213 (sha256
13214 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
13215 (build-system emacs-build-system)
13216 (home-page "https://github.com/Fanael/parent-mode")
13217 (synopsis "Get major mode's parent modes")
13218 (description "Get major mode's parent modes")
13219 (license license:gpl3+)))
13220
13221 (define-public emacs-lacarte
13222 (package
13223 (name "emacs-lacarte")
13224 (version "0.1")
13225 (source (origin
13226 (method url-fetch)
13227 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
13228 (sha256
13229 (base32
13230 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
13231 (build-system emacs-build-system)
13232 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
13233 (synopsis "Execute menu items as commands, with completion")
13234 (description "Execute menu items as commands, with completion.")
13235 (license license:gpl3)))
13236
13237 (define-public emacs-isearch-prop
13238 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
13239 (revision "2"))
13240 (package
13241 (name "emacs-isearch-prop")
13242 (version (git-version "0" revision commit))
13243 (source
13244 (origin
13245 (method git-fetch)
13246 (uri (git-reference
13247 (url "https://github.com/emacsmirror/isearch-prop.git")
13248 (commit commit)))
13249 (file-name (git-file-name name version))
13250 (sha256
13251 (base32
13252 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
13253 (build-system emacs-build-system)
13254 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
13255 (synopsis "Extensions to @code{isearch.el}")
13256 (description "The Emacs library @code{isearch-prop.el} lets you search within
13257 contexts. You can limit incremental search to a set of zones of
13258 buffer text, search contexts that in effect constitute a multi-region.
13259 These zones can be defined in various ways, including some ways
13260 provided specially by this library.")
13261 (license license:gpl3+))))
13262
13263 (define-public emacs-company-lua
13264 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
13265 (revision "2"))
13266 (package
13267 (name "emacs-company-lua")
13268 (version (git-version "0.1" "2" commit))
13269 (source
13270 (origin
13271 (method git-fetch)
13272 (uri (git-reference
13273 (url "https://github.com/ptrv/company-lua.git")
13274 (commit commit)))
13275 (file-name (git-file-name name version))
13276 (sha256
13277 (base32
13278 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
13279 (build-system emacs-build-system)
13280 (propagated-inputs
13281 `(("emacs-company" ,emacs-company)
13282 ("emacs-s" ,emacs-s)
13283 ("emacs-f" ,emacs-f)
13284 ("emacs-lua-mode" ,emacs-lua-mode)))
13285 (arguments
13286 `(#:include (cons* "^lua\\/" %default-include)))
13287 (home-page "https://github.com/ptrv/company-lua")
13288 (synopsis "Company backend for Lua")
13289 (description
13290 "This package provides Company backend for Lua programming language.")
13291 (license license:gpl3+))))
13292
13293 (define-public emacs-beginend
13294 (package
13295 (name "emacs-beginend")
13296 (version "2.0.0")
13297 (source
13298 (origin
13299 (method git-fetch)
13300 (uri (git-reference
13301 (url "https://github.com/DamienCassou/beginend.git")
13302 (commit (string-append "v" version))))
13303 (file-name (git-file-name name version))
13304 (sha256
13305 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
13306 ;; TODO: Run tests.
13307 (build-system emacs-build-system)
13308 (inputs
13309 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
13310 (home-page "https://github.com/DamienCassou/beginend")
13311 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
13312 (description "@code{beginend} redefines @code{M-<} and @code{M->}
13313 keybindings for Emacs modes so that point moves to meaningful
13314 locations. Redefined keys are still accessible by pressing the same
13315 key again.")
13316 (license license:gpl3+)))
13317
13318 (define-public emacs-mbsync
13319 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
13320 (revision "4"))
13321 (package
13322 (name "emacs-mbsync")
13323 (version (git-version "0.1.2" revision commit))
13324 (source
13325 (origin
13326 (method git-fetch)
13327 (uri (git-reference
13328 (url "https://github.com/dimitri/mbsync-el.git")
13329 (commit commit)))
13330 (file-name (git-file-name name version))
13331 (sha256
13332 (base32
13333 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
13334 (build-system emacs-build-system)
13335 (home-page "https://github.com/dimitri/mbsync-el")
13336 (synopsis "Interface to mbsync for Emacs")
13337 (description "This package allows to call the @code{mbsync} from
13338 within Emacs.")
13339 (license license:gpl3+))))
13340
13341 (define-public emacs-ibuffer-projectile
13342 (let ((commit "76496214144687cee0b5139be2e61b1e400cac87")
13343 (revision "2"))
13344 (package
13345 (name "emacs-ibuffer-projectile")
13346 (version (git-version "0.2" revision commit))
13347 (source
13348 (origin
13349 (method git-fetch)
13350 (uri (git-reference
13351 (url "https://github.com/purcell/ibuffer-projectile.git")
13352 (commit commit)))
13353 (file-name (git-file-name name version))
13354 (sha256
13355 (base32
13356 "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav"))))
13357 (build-system emacs-build-system)
13358 (propagated-inputs
13359 `(("emacs-projectile" ,emacs-projectile)))
13360 (home-page "https://github.com/purcell/ibuffer-projectile")
13361 (synopsis "Group ibuffer's list by projectile root")
13362 (description "Adds functionality to Emacs @code{ibuffer} for
13363 grouping buffers by their projectile root directory.")
13364 (license license:gpl3+))))
13365
13366 (define-public emacs-helm-mode-manager
13367 (package
13368 (name "emacs-helm-mode-manager")
13369 (version "1.0.0")
13370 (source
13371 (origin
13372 (method git-fetch)
13373 (uri (git-reference
13374 (url "https://github.com/istib/helm-mode-manager")
13375 (commit version)))
13376 (file-name (git-file-name name version))
13377 (sha256
13378 (base32
13379 "1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
13380 (build-system emacs-build-system)
13381 (propagated-inputs
13382 `(("emacs-helm" ,emacs-helm)))
13383 (home-page "https://github.com/istib/helm-mode-manager/")
13384 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
13385 (description "This package provides a Helm interface for toggling Emacs
13386 major or minor mode.
13387
13388 @itemize
13389 @item @code{helm-switch-major-mode} list of all major modes
13390 @item @code{helm-enable-minor-mode} list of all inactive minor modes
13391 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
13392 @end itemize\n
13393
13394 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
13395 documentation.")
13396 (license license:gpl3+)))
13397
13398 (define-public emacs-hy-mode
13399 (package
13400 (name "emacs-hy-mode")
13401 (version "1.0.3")
13402 (source
13403 (origin
13404 (method git-fetch)
13405 (uri (git-reference
13406 (url "https://github.com/hylang/hy-mode.git")
13407 (commit (string-append "v" version))))
13408 (file-name (git-file-name name version))
13409 (sha256
13410 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
13411 (build-system emacs-build-system)
13412 (propagated-inputs
13413 `(("emacs-dash" ,emacs-dash)
13414 ("emacs-s" ,emacs-s)))
13415 (home-page "https://github.com/hylang/hy-mode")
13416 (synopsis "Major mode for Hylang")
13417 (description "This package provides a major mode for Hylang.")
13418 (license license:gpl3+)))
13419
13420 (define-public emacs-web-beautify
13421 (package
13422 (name "emacs-web-beautify")
13423 (version "0.3.2")
13424 (source
13425 (origin
13426 (method git-fetch)
13427 (uri (git-reference
13428 (url "https://github.com/yasuyk/web-beautify.git")
13429 (commit version)))
13430 (file-name (git-file-name name version))
13431 (sha256
13432 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
13433 (build-system emacs-build-system)
13434 (home-page "https://github.com/yasuyk/web-beautify")
13435 (synopsis "Format HTML, CSS and JavaScript, JSON")
13436 (description "This package provides an Emacs functions to format HTML,
13437 CSS, JavaScript, JSON.")
13438 (license license:gpl3+)))
13439
13440 (define-public emacs-helm-shell-history
13441 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
13442 (package
13443 (name "emacs-helm-shell-history")
13444 (version (git-version "0.1" "1" commit))
13445 (source
13446 (origin
13447 (method git-fetch)
13448 (uri (git-reference
13449 (url "https://github.com/yuutayamada/helm-shell-history.git")
13450 (commit commit)))
13451 (file-name (git-file-name name version))
13452 (sha256
13453 (base32
13454 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
13455 (build-system emacs-build-system)
13456 (arguments
13457 '(#:phases
13458 (modify-phases %standard-phases
13459 (add-before 'check 'patch-helm-shell-history-file
13460 (lambda _
13461 (let ((file "helm-shell-history.el"))
13462 (chmod file #o644)
13463 (emacs-substitute-sexps file
13464 ("(defvar helm-shell-history-file"
13465 `(expand-file-name "~/.bash_history"))))
13466 #t)))))
13467 (propagated-inputs
13468 `(("emacs-helm" ,emacs-helm)))
13469 (home-page "https://github.com/yuutayamada/helm-shell-history")
13470 (synopsis "Find shell history with Emacs Helm")
13471 (description "This package provides an Emacs Helm interface to search
13472 throw a shell history.")
13473 (license license:gpl3+))))
13474
13475 (define-public emacs-discover-my-major
13476 (package
13477 (name "emacs-discover-my-major")
13478 (version "1.0")
13479 (source
13480 (origin
13481 (method url-fetch)
13482 (uri
13483 (string-append "https://github.com/steckerhalter/discover-my-major"
13484 "/archive/" version ".tar.gz"))
13485 (file-name (string-append name "-" version ".tar.gz"))
13486 (sha256
13487 (base32
13488 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
13489 (build-system emacs-build-system)
13490 (propagated-inputs
13491 `(("emacs-makey" ,emacs-makey)))
13492 (home-page "https://github.com/steckerhalter/discover-my-major")
13493 (synopsis "Discover key bindings for the current Emacs major mode")
13494 (description "This package provides allows to discover key bindings and
13495 their meaning for the current Emacs major-mode.")
13496 (license license:gpl3+)))
13497
13498 (define-public emacs-org-ref
13499 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
13500 (revision "1"))
13501 (package
13502 (name "emacs-org-ref")
13503 (version (string-append "1.1.1" "-" revision "."
13504 (string-take commit 7)))
13505 (source
13506 (origin
13507 (method git-fetch)
13508 (uri (git-reference
13509 (url "https://github.com/jkitchin/org-ref.git")
13510 (commit commit)))
13511 (file-name (git-file-name name version))
13512 (sha256
13513 (base32
13514 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
13515 (build-system emacs-build-system)
13516 (propagated-inputs
13517 `(("emacs-dash" ,emacs-dash)
13518 ("emacs-helm" ,emacs-helm)
13519 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
13520 ("emacs-ivy" ,emacs-ivy)
13521 ("emacs-hydra" ,emacs-hydra)
13522 ("emacs-key-chord" ,emacs-key-chord)
13523 ("emacs-s" ,emacs-s)
13524 ("emacs-f" ,emacs-f)
13525 ("emacs-pdf-tools" ,emacs-pdf-tools)))
13526 (home-page "https://github.com/jkitchin/org-ref")
13527 (synopsis "Citations, cross-references and bibliographies in org-mode")
13528 (description
13529 "Lisp code to setup bibliography, cite, ref and label org-mode links.
13530 Also sets up reftex and helm for org-mode citations. The links are
13531 clickable and do things that are useful.
13532
13533 The default setup uses helm-bibtex.
13534
13535 You should really read org-ref.org in this package for details.")
13536 (license license:gpl3+))))
13537
13538 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
13539 (define-public emacs-org-reveal
13540 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
13541 (package
13542 (name "emacs-org-reveal")
13543 (version (git-version "0.1" "3" commit))
13544 (source (origin
13545 (method git-fetch)
13546 (uri (git-reference
13547 (url "https://github.com/yjwen/org-reveal.git")
13548 (commit commit)))
13549 (file-name (git-file-name name version))
13550 (sha256
13551 (base32
13552 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
13553 (build-system emacs-build-system)
13554 (home-page "https://github.com/yjwen/org-reveal")
13555 (synopsis "Org and Reveal.js powered HTML presentation tool")
13556 (description "Org-Reveal is a command@{org-mode} extension that allows
13557 to create beautiful presentations (slides) with 3D effects from simple but
13558 powerful Org contents.")
13559 (license license:gpl3+))))
13560
13561 (define-public emacs-org-re-reveal
13562 (package
13563 (name "emacs-org-re-reveal")
13564 (version "2.5.1")
13565 (source (origin
13566 (method git-fetch)
13567 (uri (git-reference
13568 (url "https://gitlab.com/oer/org-re-reveal.git")
13569 (commit version)))
13570 (file-name (git-file-name name version))
13571 (sha256
13572 (base32
13573 "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2"))))
13574 (build-system emacs-build-system)
13575 (propagated-inputs
13576 `(("emacs-htmlize" ,emacs-htmlize)
13577 ("emacs-org" ,emacs-org)))
13578 (home-page "https://gitlab.com/oer/org-re-reveal")
13579 (synopsis "Build HTML presentations with reveal.js from Org source files")
13580 (description "This project started as fork of org-reveal. It provides an
13581 export back-end for HTML presentations with reveal.js from Org mode source
13582 files.")
13583 (license license:gpl3+)))
13584
13585 (define-public emacs-add-hooks
13586 (package
13587 (name "emacs-add-hooks")
13588 (version "3.1.1")
13589 (source
13590 (origin
13591 (method git-fetch)
13592 (uri (git-reference
13593 (url "https://github.com/nickmccurdy/add-hooks.git")
13594 (commit version)))
13595 (file-name (git-file-name name version))
13596 (sha256
13597 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
13598 (build-system emacs-build-system)
13599 (home-page "https://github.com/nickmccurdy/add-hooks/")
13600 (synopsis "Emacs function for setting multiple hooks")
13601 (description "This package provides a @code{add-hooks} function tidies up
13602 duplicate hook and function names further into a single declarative call.")
13603 (license license:gpl3+)))
13604
13605 (define-public emacs-fancy-narrow
13606 (package
13607 (name "emacs-fancy-narrow")
13608 (version "0.9.5")
13609 (source
13610 (origin
13611 (method git-fetch)
13612 (uri (git-reference
13613 (url "https://github.com/Malabarba/fancy-narrow.git")
13614 (commit version)))
13615 (file-name (git-file-name name version))
13616 (sha256
13617 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
13618 (build-system emacs-build-system)
13619 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
13620 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
13621 (description
13622 "Unlike @code{narrow-to-region}, which completely hides text outside
13623 the narrowed region, this package simply de-emphasizes the text, makes it
13624 read-only, and makes it unreachable. This leads to a much more natural
13625 feeling where the region stays static (instead of being brutally moved to a
13626 blank slate) and is clearly highlighted with respect to the rest of the
13627 buffer.")
13628 (license license:gpl2+)))
13629
13630 (define-public emacs-know-your-http-well
13631 (package
13632 (name "emacs-know-your-http-well")
13633 (version "0.5.0")
13634 (source
13635 (origin
13636 (method git-fetch)
13637 (uri (git-reference
13638 (url "https://github.com/for-GET/know-your-http-well.git")
13639 (commit (string-append "v" version))))
13640 (file-name (git-file-name name version))
13641 (sha256
13642 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
13643 (arguments
13644 `(#:phases
13645 (modify-phases %standard-phases
13646 (add-after 'unpack 'install-json-files
13647 (lambda* (#:key outputs #:allow-other-keys)
13648 (for-each (lambda (directory)
13649 (copy-recursively directory
13650 (string-append
13651 (assoc-ref outputs "out")
13652 directory)))
13653 '("js" "json"))))
13654 (add-after 'unpack 'chdir-elisp
13655 ;; Elisp directory is not in root of the source.
13656 (lambda _
13657 (chdir "emacs"))))))
13658 (build-system emacs-build-system)
13659 (home-page "https://github.com/for-GET/know-your-http-well")
13660 (synopsis "Meaning of HTTP headers codes")
13661 (description "Meaning of HTTP headers codes.")
13662 (license license:gpl3+)))
13663
13664 (define-public emacs-navi-mode
13665 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
13666 (package
13667 (name "emacs-navi-mode")
13668 (version (git-version "2.0" "1" commit))
13669 (source
13670 (origin
13671 (method git-fetch)
13672 (uri (git-reference
13673 (url "https://github.com/alphapapa/navi.git")
13674 (commit commit)))
13675 (file-name (git-file-name name version))
13676 (sha256
13677 (base32
13678 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
13679 (build-system emacs-build-system)
13680 (propagated-inputs
13681 `(("emacs-outshine" ,emacs-outshine)
13682 ("emacs-outorg" ,emacs-outorg)))
13683 (home-page "https://github.com/alphapapa/navi")
13684 (synopsis "Emacs major-mode for easy buffer-navigation")
13685 (description
13686 "This package provides an Emacs major-mode for easy buffer-navigation")
13687 (license license:gpl3+))))
13688
13689 (define-public emacs-download-region
13690 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
13691 (revision "1"))
13692 (package
13693 (name "emacs-download-region")
13694 (version (string-append "0.0.1" "-" revision "."
13695 (string-take commit 7)))
13696 (source
13697 (origin
13698 (method git-fetch)
13699 (uri (git-reference
13700 (url "https://github.com/zk-phi/download-region.git")
13701 (commit commit)))
13702 (file-name (git-file-name name version))
13703 (sha256
13704 (base32
13705 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
13706 (build-system emacs-build-system)
13707 (home-page "https://github.com/zk-phi/download-region")
13708 (synopsis "In buffer download manager for Emacs")
13709 (description "@code{download-region} provides in buffer
13710 downloading manager for Emacs.")
13711 (license license:gpl3+))))
13712
13713 (define-public emacs-helpful
13714 (package
13715 (name "emacs-helpful")
13716 (version "0.17")
13717 (source
13718 (origin
13719 (method git-fetch)
13720 (uri (git-reference
13721 (url "https://github.com/Wilfred/helpful.git")
13722 (commit version)))
13723 (file-name (git-file-name name version))
13724 (sha256
13725 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
13726 (build-system emacs-build-system)
13727 (propagated-inputs
13728 `(("emacs-elisp-refs" ,emacs-elisp-refs)
13729 ("emacs-dash" ,emacs-dash)
13730 ("emacs-s" ,emacs-s)
13731 ("emacs-f" ,emacs-f)
13732 ("emacs-shut-up" ,emacs-shut-up)))
13733 (native-inputs
13734 `(("emacs-ert-runner" ,emacs-ert-runner)
13735 ("emacs-undercover" ,emacs-undercover)))
13736 (arguments
13737 `(#:tests? #t
13738 #:test-command '("ert-runner")))
13739 (home-page "https://github.com/Wilfred/helpful")
13740 (synopsis "More contextual information in Emacs help")
13741 (description "@code{helpful} is an alternative to the built-in Emacs help
13742 that provides much more contextual information.
13743
13744 @itemize
13745 @item Show the source code for interactively defined functions (unlike the
13746 built-in Help).
13747 @item Fall back to the raw sexp if no source is available.
13748 @item Show where a function is being called.
13749 @item Docstrings will Highlight the summary (the first sentence), include
13750 cross-references, hide superfluous puncuation.
13751 @item Show you the properties that have been applied to the current
13752 symbol. This provides visibility of features like edebug or byte-code
13753 optimisation.
13754 @item Provide a separate @code{helpful-command} function to view interactive
13755 functions.
13756 @item Display any keybindings that apply to interactive functions.
13757 @item Trace, disassemble functions from inside Helpful. This is discoverable
13758 and doesn't require memorisation of commands.
13759 @end itemize\n")
13760 (license license:gpl3+)))
13761
13762 (define-public emacs-logview
13763 (package
13764 (name "emacs-logview")
13765 (version "0.9")
13766 (source
13767 (origin
13768 (method git-fetch)
13769 (uri (git-reference
13770 (url "https://github.com/doublep/logview.git")
13771 (commit version)))
13772 (file-name (git-file-name name version))
13773 (sha256
13774 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
13775 (propagated-inputs
13776 `(("emacs-datetime" ,emacs-datetime)))
13777 (build-system emacs-build-system)
13778 (home-page "https://github.com/doublep/logview/")
13779 (synopsis "Emacs mode for viewing log files")
13780 (description "@code{logview} provides an Emacs mode to view log files.")
13781 (license license:gpl3+)))
13782
13783 (define-public emacs-suggest
13784 (package
13785 (name "emacs-suggest")
13786 (version "0.7")
13787 (home-page "https://github.com/Wilfred/suggest.el")
13788 (source
13789 (origin
13790 (method git-fetch)
13791 (uri (git-reference
13792 (url home-page)
13793 (commit version)))
13794 (file-name (git-file-name name version))
13795 (sha256
13796 (base32
13797 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
13798 (build-system emacs-build-system)
13799 (propagated-inputs
13800 `(("emacs-loop" ,emacs-loop)
13801 ("emacs-dash" ,emacs-dash)
13802 ("emacs-s" ,emacs-s)
13803 ("emacs-f" ,emacs-f)
13804 ("emacs-spinner" ,emacs-spinner)
13805 ("emacs-shut-up" ,emacs-shut-up)))
13806 (native-inputs
13807 `(("emacs-ert-runner" ,emacs-ert-runner)
13808 ("emacs-undercover" ,emacs-undercover)))
13809 (arguments
13810 `(#:tests? #t
13811 #:test-command '("ert-runner")))
13812 (synopsis "Suggest Elisp functions that give the output requested")
13813 (description "Suggest.el will find functions that give the output
13814 requested. It's a great way of exploring list, string and arithmetic
13815 functions.")
13816 (license license:gpl3+)))
13817
13818 (define-public emacs-benchmark-init
13819 (package
13820 (name "emacs-benchmark-init")
13821 (version "1.0")
13822 (source
13823 (origin
13824 (method git-fetch)
13825 (uri (git-reference
13826 (url "https://github.com/dholm/benchmark-init-el.git")
13827 (commit version)))
13828 (file-name (git-file-name name version))
13829 (sha256
13830 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
13831 (build-system emacs-build-system)
13832 (home-page "https://github.com/dholm/benchmark-init-el")
13833 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
13834 (description "@code{benchmark-init} provides a way to keep track of where
13835 time is being spent during Emacs startup in order to optimize startup time.")
13836 (license license:gpl3+)))
13837
13838 (define-public emacs-emms-player-simple-mpv
13839 ;; A new mpv backend is included in Emms from 5.0.
13840 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
13841
13842 (define-public emacs-magit-gerrit
13843 (let ((version "0.3")
13844 (revision "1")
13845 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
13846 (package
13847 (name "emacs-magit-gerrit")
13848 (version (git-version version revision commit))
13849 (source (origin
13850 (method git-fetch)
13851 (uri (git-reference
13852 (url "https://github.com/terranpro/magit-gerrit.git")
13853 (commit commit)))
13854 (file-name (git-file-name name version))
13855 (sha256
13856 (base32
13857 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
13858 (build-system emacs-build-system)
13859 (propagated-inputs
13860 `(("emacs-magit" ,emacs-magit)))
13861 (home-page "https://github.com/terranpro/magit-gerrit")
13862 (synopsis "Magit extension for Gerrit")
13863 (description "This Magit extension provides integration with Gerrit,
13864 which makes it possible to conduct Gerrit code reviews directly from within
13865 Emacs.")
13866 (license license:gpl3+))))
13867
13868 (define-public emacs-magit-org-todos-el
13869 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
13870 (package
13871 (name "emacs-magit-org-todos-el")
13872 (version (git-version "0.1.1" "1" commit))
13873 (source
13874 (origin
13875 (method git-fetch)
13876 (uri (git-reference
13877 (url "https://github.com/danielma/magit-org-todos.el.git")
13878 (commit commit)))
13879 (file-name (git-file-name name version))
13880 (sha256
13881 (base32
13882 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
13883 (propagated-inputs
13884 `(("magit" ,emacs-magit)))
13885 (build-system emacs-build-system)
13886 (home-page "https://github.com/danielma/magit-org-todos.el")
13887 (synopsis "Get todo.org into Emacs Magit status")
13888 (description "This package allows you to get @file{todo.org} into your
13889 magit status.
13890
13891 If you have a @file{todo.org} file with @code{TODO} items in the root of your
13892 repository, @code{magit-org-todos} will create a section in your Magit status
13893 buffer with each of your todos.")
13894 (license license:gpl3+))))
13895
13896 (define-public emacs-f3
13897 (package
13898 (name "emacs-f3")
13899 (version "0.1")
13900 (source
13901 (origin
13902 (method git-fetch)
13903 (uri (git-reference
13904 (url "https://github.com/cosmicexplorer/f3.git")
13905 (commit version)))
13906 (file-name (git-file-name name version))
13907 (sha256
13908 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
13909 (build-system emacs-build-system)
13910 (propagated-inputs
13911 `(("emacs-helm" ,emacs-helm)))
13912 (home-page "https://github.com/cosmicexplorer/f3")
13913 (synopsis "Fantastic File Finder for Emacs")
13914 (description
13915 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
13916 (license license:gpl3+)))
13917
13918 (define-public emacs-lice-el
13919 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
13920 (package
13921 (name "emacs-lice-el")
13922 (version (git-version "0.2" "1" commit))
13923 (source (origin
13924 (method git-fetch)
13925 (uri (git-reference
13926 (url "https://github.com/buzztaiki/lice-el.git")
13927 (commit commit)))
13928 (file-name (git-file-name name version))
13929 (sha256
13930 (base32
13931 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
13932 (build-system emacs-build-system)
13933 (home-page "https://github.com/buzztaiki/lice-el")
13934 (synopsis "License and header template for Emacs")
13935 (description "@code{lice.el} provides following features:
13936
13937 @itemize
13938 @item License template management.
13939 @item File header insertion.
13940 @end itemize\n")
13941 (license license:gpl3+))))
13942
13943 (define-public emacs-academic-phrases
13944 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
13945 (package
13946 (name "emacs-academic-phrases")
13947 (version (git-version "0.1" "1" commit))
13948 (source
13949 (origin
13950 (method git-fetch)
13951 (uri (git-reference
13952 (url "https://github.com/nashamri/academic-phrases.git")
13953 (commit commit)))
13954 (file-name (git-file-name name version))
13955 (sha256
13956 (base32
13957 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
13958 (build-system emacs-build-system)
13959 (propagated-inputs
13960 `(("emacs-dash" ,emacs-dash)
13961 ("emacs-s" ,emacs-s)
13962 ("emacs-ht" ,emacs-ht)))
13963 (home-page "https://github.com/nashamri/academic-phrases")
13964 (synopsis "Bypass that mental block when writing your papers")
13965 (description
13966 "When writing your academic paper, you might get stuck trying to find
13967 the right phrase that captures your intention. This package tries to
13968 alleviate that problem by presenting you with a list of phrases organized by
13969 the topic or by the paper section that you are writing. This package has
13970 around 600 phrases so far.
13971
13972 Using this package is easy, just call @code{academic-phrases} to get a list of
13973 phrases organized by topic, or call @code{academic-phrases-by-section} to
13974 browse the phrases by the paper section and fill-in the blanks if required.")
13975 (license license:gpl3+))))
13976
13977 (define-public emacs-auto-yasnippet
13978 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
13979 (revision "2"))
13980 (package
13981 (name "emacs-auto-yasnippet")
13982 (version (git-version "0.3.0" revision commit))
13983 (source (origin
13984 (method git-fetch)
13985 (uri (git-reference
13986 (url "https://github.com/abo-abo/auto-yasnippet.git")
13987 (commit commit)))
13988 (file-name (git-file-name name version))
13989 (sha256
13990 (base32
13991 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
13992 (build-system emacs-build-system)
13993 (arguments
13994 '(#:tests? #t
13995 #:test-command '("make" "test")))
13996 (propagated-inputs
13997 `(("emacs-yasnippet" ,emacs-yasnippet)))
13998 (home-page "https://github.com/abo-abo/auto-yasnippet/")
13999 (synopsis "Quickly create disposable yasnippets")
14000 (description "This package provides a hybrid of keyboard macros and
14001 yasnippet. You create the snippet on the go, usually to be used just in the
14002 one place. It's fast, because you're not leaving the current buffer, and all
14003 you do is enter the code you'd enter anyway, just placing ~ where you'd like
14004 yasnippet fields and mirrors to be.")
14005 (license license:gpl3+))))
14006
14007 (define-public emacs-highlight-numbers
14008 (package
14009 (name "emacs-highlight-numbers")
14010 (version "0.2.3")
14011 (source
14012 (origin
14013 (method git-fetch)
14014 (uri (git-reference
14015 (url "https://github.com/Fanael/highlight-numbers.git")
14016 (commit version)))
14017 (file-name (git-file-name name version))
14018 (sha256
14019 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
14020 (build-system emacs-build-system)
14021 (propagated-inputs
14022 `(("emacs-parent-mode" ,emacs-parent-mode)))
14023 (home-page "https://github.com/Fanael/highlight-numbers")
14024 (synopsis "Highlight numbers in source code")
14025 (description "@code{highlight-numbers-mode} provides a minor mode for
14026 syntax highlighting of numeric literals in source code.
14027
14028 It s customizable: it's easy to add or redefine what exactly consitutes a
14029 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
14030 (license license:gpl3+)))
14031
14032 (define-public emacs-darkroom
14033 (package
14034 (name "emacs-darkroom")
14035 (version "0.2")
14036 (source (origin
14037 (method url-fetch)
14038 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
14039 version ".el"))
14040 (sha256
14041 (base32
14042 "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0"))))
14043 (build-system emacs-build-system)
14044 (home-page "https://elpa.gnu.org/packages/darkroom.html")
14045 (synopsis "Remove visual distractions and focus on writing")
14046 (description "@code{darkroom-mode} makes visual distractions disappear.
14047 The mode-line is temporarily elided, text is enlarged and margins are adjusted
14048 so that it's centered on the window.
14049
14050 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
14051 @code{darkroom-mode}, unless the current buffer lives in the sole window of
14052 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
14053 split to display more windows and more buffers, the buffer exits
14054 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
14055 @code{darkroom-mode}.")
14056 (license license:gpl3+)))
14057
14058 (define-public emacs-rsw-elisp
14059 (package
14060 (name "emacs-rsw-elisp")
14061 (version "1.0.5")
14062 (source (origin
14063 (method git-fetch)
14064 (uri (git-reference
14065 (url "https://github.com/rswgnu/rsw-elisp")
14066 (commit version)))
14067 (file-name (git-file-name name version))
14068 (sha256
14069 (base32
14070 "0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
14071 (build-system emacs-build-system)
14072 (home-page "https://github.com/rswgnu/rsw-elisp")
14073 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
14074 (description "This package improves and replaces the GNU Emacs commands
14075 that interactively evaluate Emacs Lisp expressions. The new commands replace
14076 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
14077 the same way as the old commands when called non-interactively; only the
14078 interactive behavior should be different.")
14079 (license license:gpl3+)))
14080
14081 (define-public emacs-default-text-scale
14082 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
14083 (revision "1"))
14084 (package
14085 (name "emacs-default-text-scale")
14086 (version (string-append "0.1" "-" revision "."
14087 (string-take commit 7)))
14088 (source (origin
14089 (method git-fetch)
14090 (uri (git-reference
14091 (url "https://github.com/purcell/default-text-scale")
14092 (commit commit)))
14093 (file-name (git-file-name name version))
14094 (sha256
14095 (base32
14096 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
14097 (build-system emacs-build-system)
14098 (home-page "https://github.com/purcell/default-text-scale")
14099 (synopsis "Adjust the font size in all Emacs frames")
14100 (description "This package provides commands for increasing or
14101 decreasing the default font size in all GUI Emacs frames.")
14102 (license license:gpl3+))))
14103
14104 (define-public emacs-mixed-pitch
14105 (package
14106 (name "emacs-mixed-pitch")
14107 (version "1.0.1")
14108 (source
14109 (origin
14110 (method git-fetch)
14111 (uri (git-reference
14112 (url "https://gitlab.com/jabranham/mixed-pitch.git")
14113 (commit version)))
14114 (file-name (git-file-name name version))
14115 (sha256
14116 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
14117 (build-system emacs-build-system)
14118 (home-page "https://gitlab.com/jabranham/mixed-pitch")
14119 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
14120 (description
14121 "@code{mixed-pitch-mode} is a minor mode that enables mixing
14122 variable-pitch and fixed-pitch fonts in the same buffer. The list
14123 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
14124 fixed-pitch,everything else becomes variable-pitch.")
14125 (license license:gpl3+)))
14126
14127 (define-public emacs-visual-regexp
14128 (package
14129 (name "emacs-visual-regexp")
14130 (version "1.1.1")
14131 (source
14132 (origin
14133 (method git-fetch)
14134 (uri (git-reference
14135 (url "https://github.com/benma/visual-regexp.el.git")
14136 (commit (string-append "v" version))))
14137 (file-name (git-file-name name version))
14138 (sha256
14139 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
14140 (build-system emacs-build-system)
14141 (home-page "https://github.com/benma/visual-regexp.el/")
14142 (synopsis "Regexp command with interactive visual feedback")
14143 (description "This package provides an Emacs regexp command with
14144 interactive visual feedback.")
14145 (license license:gpl3+)))
14146
14147 (define-public emacs-faceup
14148 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
14149 (revision "1"))
14150 (package
14151 (name "emacs-faceup")
14152 (version (string-append "0.0.1" "-" revision "."
14153 (string-take commit 7)))
14154 (source
14155 (origin
14156 (method git-fetch)
14157 (uri (git-reference
14158 (url "https://github.com/Lindydancer/faceup.git")
14159 (commit commit)))
14160 (file-name (git-file-name name version))
14161 (sha256
14162 (base32
14163 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
14164 (build-system emacs-build-system)
14165 (home-page "https://github.com/Lindydancer/faceup")
14166 (synopsis "Markup language for faces and font-lock regression testing")
14167 (description "Emacs is capable of highlighting buffers based on
14168 language-specific @code{font-lock} rules. This package makes it possible to
14169 perform regression test for packages that provide font-lock rules.")
14170 (license license:gpl3+))))
14171
14172 (define-public emacs-racket-mode
14173 (let ((commit "2a9a102a097d04fbcd2a443fec84078036c2e277")
14174 (revision "4"))
14175 (package
14176 (name "emacs-racket-mode")
14177 (version (git-version "0.0.2" revision commit))
14178 (source
14179 (origin
14180 (method git-fetch)
14181 (uri (git-reference
14182 (url "https://github.com/greghendershott/racket-mode")
14183 (commit commit)))
14184 (file-name (git-file-name name version))
14185 (sha256
14186 (base32
14187 "1n71dxxh62jixq20b5haapv651dxc0zyrxpl1d0yqsg8ncp726bl"))))
14188 (build-system emacs-build-system)
14189 (arguments
14190 `(#:include '("\\.el$" "\\.rkt$")))
14191 (propagated-inputs
14192 `(("emacs-faceup" ,emacs-faceup)
14193 ("emacs-s" ,emacs-s)))
14194 (home-page "https://github.com/greghendershott/racket-mode")
14195 (synopsis "Major mode for Racket language")
14196 (description "@code{racket-mode} provides:
14197
14198 @itemize
14199 @item Focus on Racket (not various Schemes).
14200 @item Follow DrRacket concepts where applicable.
14201 @item Thorough font-lock and indent.
14202 @end itemize\n")
14203 (license license:gpl3+))))
14204
14205 (define-public emacs-grep-context
14206 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
14207 (revision "1"))
14208 (package
14209 (name "emacs-grep-context")
14210 (version (git-version "0.1.0" revision commit))
14211 (source
14212 (origin
14213 (method git-fetch)
14214 (uri (git-reference
14215 (url "https://github.com/mkcms/grep-context.git")
14216 (commit commit)))
14217 (file-name (git-file-name name version))
14218 (sha256
14219 (base32
14220 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
14221 (build-system emacs-build-system)
14222 (propagated-inputs
14223 `(("emacs-dash" ,emacs-dash)))
14224 (home-page "https://github.com/mkcms/grep-context")
14225 (synopsis "Increase context in compilation and grep buffers")
14226 (description
14227 "This package provides an Emacs package for more context in
14228 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
14229 @code{ivy}.")
14230 (license license:gpl3+))))
14231
14232 (define-public emacs-helm-firefox
14233 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
14234 (revision "1"))
14235 (package
14236 (name "emacs-helm-firefox")
14237 (version (string-append "0.0.1" "-" revision "."
14238 (string-take commit 7)))
14239 (source
14240 (origin
14241 (method git-fetch)
14242 (uri (git-reference
14243 (url "https://github.com/emacs-helm/helm-firefox.git")
14244 (commit commit)))
14245 (file-name (git-file-name name version))
14246 (sha256
14247 (base32
14248 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
14249 (propagated-inputs
14250 `(("emacs-helm" ,emacs-helm)))
14251 (build-system emacs-build-system)
14252 (home-page "https://github.com/emacs-helm/helm-firefox")
14253 (synopsis "Display firefox bookmarks with Emacs Helm interface")
14254 (description "Display firefox bookmarks with Emacs Helm interface")
14255 (license license:gpl3+))))
14256
14257 (define-public emacs-interactive-align
14258 (package
14259 (name "emacs-interactive-align")
14260 (version "0.4.2")
14261 (source
14262 (origin
14263 (method git-fetch)
14264 (uri (git-reference
14265 (url "https://github.com/mkcms/interactive-align.git")
14266 (commit (string-append "v" version))))
14267 (file-name (git-file-name name version))
14268 (sha256
14269 (base32
14270 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
14271 (build-system emacs-build-system)
14272 (home-page "https://github.com/mkcms/interactive-align/")
14273 (synopsis "Interactive align-regexp command in Emacs")
14274 (description "Interactive align-regexp command in Emacs")
14275 (license license:gpl3+)))
14276
14277 (define-public emacs-shift-number
14278 (package
14279 (name "emacs-shift-number")
14280 (version "0.1")
14281 (source
14282 (origin
14283 (method git-fetch)
14284 (uri (git-reference
14285 (url "https://github.com/alezost/shift-number.el")
14286 (commit (string-append "v" version))))
14287 (file-name (git-file-name name version))
14288 (sha256
14289 (base32
14290 "0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
14291 (build-system emacs-build-system)
14292 (home-page "https://github.com/alezost/shift-number.el")
14293 (synopsis "Increase or decrease the number at point")
14294 (description "@code{emacs-shift-number} provides commands
14295 @code{shift-number-up} to increase and @code{shift-number-down} to
14296 decrease the number at point.")
14297 (license license:gpl3+)))
14298
14299 (define-public emacs-highlight-defined
14300 (package
14301 (name "emacs-highlight-defined")
14302 (version "0.1.5")
14303 (source
14304 (origin
14305 (method git-fetch)
14306 (uri (git-reference
14307 (url "https://github.com/Fanael/highlight-defined.git")
14308 (commit version)))
14309 (file-name (git-file-name name version))
14310 (sha256
14311 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
14312 (build-system emacs-build-system)
14313 (home-page "https://github.com/Fanael/highlight-defined")
14314 (synopsis "Syntax highlighting of known Elisp symbols")
14315 (description "Minor mode providing syntax highlighting of known Emacs Lisp
14316 symbols. Currently the code distinguishes Lisp functions, built-in functions,
14317 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
14318 (license license:gpl3+)))
14319
14320 (define-public emacs-parinfer-mode
14321 (package
14322 (name "emacs-parinfer-mode")
14323 (version "0.4.10")
14324 (source
14325 (origin
14326 (method git-fetch)
14327 (uri (git-reference
14328 (url "https://github.com/DogLooksGood/parinfer-mode.git")
14329 (commit (string-append "v" version))))
14330 (file-name (git-file-name name version))
14331 (sha256
14332 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
14333 (propagated-inputs
14334 `(("emacs-dash" ,emacs-dash)
14335 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
14336 ("emacs-company" ,emacs-company)))
14337 (build-system emacs-build-system)
14338 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
14339 (synopsis "Lisp structure editing mode")
14340 (description "@code{parinfer-mode} is a proof-of-concept editor
14341 mode for Lisp programming languages. It will infer some changes to
14342 keep Parens and Indentation inline with one another.")
14343 (license license:gpl3+)))
14344
14345 (define-public emacs-helm-eww
14346 (package
14347 (name "emacs-helm-eww")
14348 (version "1.2")
14349 (source (origin
14350 (method git-fetch)
14351 (uri (git-reference
14352 (url "https://github.com/emacs-helm/helm-eww.git")
14353 (commit version)))
14354 (file-name (git-file-name name version))
14355 (sha256
14356 (base32
14357 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
14358 (propagated-inputs
14359 `(("emacs-helm" ,emacs-helm)))
14360 (build-system emacs-build-system)
14361 (home-page "https://github.com/emacs-helm/helm-eww/")
14362 (synopsis "Helm interface to EWW")
14363 (description "This package provides a Helm interface for EWW buffers,
14364 bookmarks and history.")
14365 (license license:gpl3+)))
14366
14367 (define-public emacs-stumpwm-mode
14368 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
14369 (package
14370 (name "emacs-stumpwm-mode")
14371 (version (git-version "0.0.1" "1" commit))
14372 (source (origin
14373 (method git-fetch)
14374 (uri (git-reference
14375 (url "https://github.com/stumpwm/stumpwm-contrib.git")
14376 (commit commit)))
14377 (file-name (git-file-name name version))
14378 (sha256
14379 (base32
14380 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
14381 (build-system emacs-build-system)
14382 (arguments
14383 `(#:phases
14384 (modify-phases %standard-phases
14385 (add-after 'unpack 'chdir-elisp
14386 ;; Elisp directory is not in root of the source.
14387 (lambda _
14388 (chdir "util/swm-emacs"))))))
14389 (home-page "https://github.com/stumpwm/stumpwm-contrib")
14390 (synopsis "Emacs minor-mode for Stumpwm")
14391 (description "Emacs minor-mode for Stumpwm")
14392 (license license:gpl3+))))
14393
14394 (define-public emacs-irfc
14395 (package
14396 (name "emacs-irfc")
14397 (version "20130824.507-1")
14398 (source
14399 (origin
14400 (method url-fetch)
14401 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
14402 (file-name (string-append "irfc-" version ".el"))
14403 (sha256
14404 (base32
14405 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
14406 (build-system emacs-build-system)
14407 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
14408 (synopsis "Interface for IETF RFC document")
14409 (description
14410 "This package provides an Emacs interface for IETF RFC document.")
14411 (license license:gpl3+)))
14412
14413 (define-public emacs-ido-vertical-mode
14414 (package
14415 (name "emacs-ido-vertical-mode")
14416 (version "0.1.6")
14417 (source
14418 (origin
14419 (method git-fetch)
14420 (uri (git-reference
14421 (url "https://github.com/creichert/ido-vertical-mode.el.git")
14422 (commit (string-append "v" version))))
14423 (file-name (git-file-name name version))
14424 (sha256
14425 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
14426 (build-system emacs-build-system)
14427 (home-page "https://github.com/creichert/ido-vertical-mode.el")
14428 (synopsis "Makes ido-mode display vertically")
14429 (description "Makes ido-mode display prospects vertically.")
14430 (license license:gpl3+)))
14431
14432 (define-public emacs-wordgen
14433 (package
14434 (name "emacs-wordgen")
14435 (version "0.1.4")
14436 (source
14437 (origin
14438 (method git-fetch)
14439 (uri (git-reference
14440 (url "https://github.com/Fanael/wordgen.el.git")
14441 (commit version)))
14442 (file-name (git-file-name name version))
14443 (sha256
14444 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
14445 (build-system emacs-build-system)
14446 (home-page "https://github.com/Fanael/wordgen.el")
14447 (synopsis "Random word generator")
14448 (description "This package provides functions to generate random words
14449 using user-provided rules.")
14450 (license license:gpl3+)))
14451
14452 (define-public emacs-on-screen
14453 (package
14454 (name "emacs-on-screen")
14455 (version "1.3.3")
14456 (source
14457 (origin
14458 (method url-fetch)
14459 (uri (string-append
14460 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
14461 (file-name (string-append name "-" version ".el"))
14462 (sha256
14463 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
14464 (build-system emacs-build-system)
14465 (home-page "https://github.com/michael-heerdegen/on-screen.el")
14466 (synopsis "Guide your eyes while scrolling")
14467 (description
14468 "Scrolling can be distracting because your eyes may lose
14469 orientation. This library implements a minor mode that highlights
14470 the previously visible buffer part after each scroll.")
14471 (license license:gpl3+)))
14472
14473 (define-public emacs-highlight-escape-sequences
14474 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
14475 (revision "1"))
14476 (package
14477 (name "emacs-highlight-escape-sequences")
14478 (version (string-append "0.0.1" "-" revision "."
14479 (string-take commit 7)))
14480 (source
14481 (origin
14482 (method git-fetch)
14483 (uri (git-reference
14484 (url "https://github.com/dgutov/highlight-escape-sequences.git")
14485 (commit commit)))
14486 (file-name (git-file-name name version))
14487 (sha256
14488 (base32
14489 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
14490 (build-system emacs-build-system)
14491 (home-page "https://github.com/dgutov/highlight-escape-sequences")
14492 (synopsis "Highlight escape sequences in Emacs")
14493 (description "@code{highlight-escape-sequences} provides an
14494 Emacs minor mode to escape sequences in code.")
14495 (license license:gpl3+))))
14496
14497 (define-public emacs-dashboard
14498 (package
14499 (name "emacs-dashboard")
14500 (version "1.6.0")
14501 (source
14502 (origin
14503 (method git-fetch)
14504 (uri (git-reference
14505 (url "https://github.com/rakanalh/emacs-dashboard.git")
14506 (commit version)))
14507 (file-name (git-file-name name version))
14508 (sha256
14509 (base32 "1g6g8vad1kdmv1zxp95a8sn70idl26isqjb3xk1r95pqnx1cn591"))))
14510 (build-system emacs-build-system)
14511 (propagated-inputs
14512 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
14513 (arguments
14514 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
14515 #:phases
14516 (modify-phases %standard-phases
14517 (add-after 'unpack 'patch-dashboard-widgets
14518 ;; This phase fixes compilation error.
14519 (lambda _
14520 (chmod "dashboard-widgets.el" #o666)
14521 (emacs-substitute-variables "dashboard-widgets.el"
14522 ("dashboard-init-info"
14523 '(format "Loaded in %s" (emacs-init-time))))
14524 #t)))))
14525 (home-page "https://github.com/rakanalh/emacs-dashboard")
14526 (synopsis "Startup screen extracted from Spacemacs")
14527 (description "This package provides an extensible Emacs dashboard, with
14528 sections for bookmarks, projectil projects, org-agenda and more. ")
14529 (license license:gpl3+)))
14530
14531 (define-public emacs-slime-company
14532 (package
14533 (name "emacs-slime-company")
14534 (version "1.1")
14535 (source
14536 (origin
14537 (method git-fetch)
14538 (uri (git-reference
14539 (url "https://github.com/anwyn/slime-company.git")
14540 (commit (string-append "v" version))))
14541 (file-name (git-file-name name version))
14542 (sha256
14543 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
14544 (build-system emacs-build-system)
14545 (propagated-inputs
14546 `(("emacs-slime" ,emacs-slime)
14547 ("emacs-company" ,emacs-company)))
14548 (home-page "https://company-mode.github.io")
14549 (synopsis "SLIME completion backend for @code{company-mode}")
14550 (description
14551 "This is a backend implementation for the completion package
14552 @code{company-mode} which supports the normal and the fuzzy completion
14553 modes of SLIME.")
14554 (license license:gpl3+)))
14555
14556 (define-public emacs-sml-mode
14557 (package
14558 (name "emacs-sml-mode")
14559 (version "6.9")
14560 (source
14561 (origin
14562 (method url-fetch)
14563 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
14564 version ".el"))
14565 (sha256
14566 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
14567 (build-system emacs-build-system)
14568 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
14569 (synopsis "Major mode for editing (Standard) ML")
14570 (description "SML-MODE is a major Emacs mode for editing Standard ML.
14571 It provides syntax highlighting and automatic indentation and
14572 comes with sml-proc which allows interaction with an inferior SML
14573 interactive loop.")
14574 (license license:gpl3+)))
14575
14576 (define-public emacs-eros
14577 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
14578 (revision "2"))
14579 (package
14580 (name "emacs-eros")
14581 (version (git-version "0.0.1" revision commit))
14582 (source
14583 (origin
14584 (method git-fetch)
14585 (uri (git-reference
14586 (url "https://github.com/xiongtx/eros.git")
14587 (commit commit)))
14588 (file-name (git-file-name name version))
14589 (sha256
14590 (base32
14591 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
14592 (build-system emacs-build-system)
14593 (home-page "https://github.com/xiongtx/eros")
14594 (synopsis "Evaluation result overlays")
14595 (description "@code{eros} provides evaluation result overlays.")
14596 (license license:gpl3+))))
14597
14598 (define-public emacs-stickyfunc-enhance
14599 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
14600 (revision "1"))
14601 (package
14602 (name "emacs-stickyfunc-enhance")
14603 (version "0.1")
14604 (source
14605 (origin
14606 (method git-fetch)
14607 (uri (git-reference
14608 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
14609 (commit commit)))
14610 (file-name (git-file-name name version))
14611 (sha256
14612 (base32
14613 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
14614 (build-system emacs-build-system)
14615 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
14616 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
14617 (description
14618 "@code{semantic-stickyfunc-mode} shows the function point is currently
14619 in at the first line of the current buffer. This is useful when you have a
14620 very long function that spreads more than a screen, and you don't have to
14621 scroll up to read the function name and then scroll down to original position.")
14622 (license license:gpl3+))))
14623
14624 (define-public emacs-git-auto-commit-mode
14625 (package
14626 (name "emacs-git-auto-commit-mode")
14627 (version "4.4.0")
14628 (source
14629 (origin
14630 (method git-fetch)
14631 (uri (git-reference
14632 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
14633 (commit version)))
14634 (file-name (git-file-name name version))
14635 (sha256
14636 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
14637 (build-system emacs-build-system)
14638 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
14639 (synopsis "Emacs Minor mode to automatically commit and push")
14640 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
14641 tries to commit changes to a file after every save.
14642
14643 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
14644 the current upstream.")
14645 (license license:gpl3+)))
14646
14647 (define-public emacs-scroll-on-drag
14648 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
14649 (revision "1"))
14650 (package
14651 (name "emacs-scroll-on-drag")
14652 (version (git-version "0.1" revision commit))
14653 (source
14654 (origin
14655 (method git-fetch)
14656 (uri (git-reference
14657 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
14658 (commit commit)))
14659 (file-name (git-file-name name version))
14660 (sha256
14661 (base32
14662 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
14663 (build-system emacs-build-system)
14664 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
14665 (synopsis "Interactive scrolling")
14666 (description "This package permits scrolling at increasing speeds based
14667 on drag distance.")
14668 (license license:gpl3+))))
14669
14670 (define-public emacs-company-restclient
14671 (package
14672 (name "emacs-company-restclient")
14673 (version "0.3.0")
14674 (source
14675 (origin
14676 (method git-fetch)
14677 (uri (git-reference
14678 (url "https://github.com/iquiw/company-restclient.git")
14679 (commit (string-append "v" version))))
14680 (file-name (git-file-name name version))
14681 (sha256
14682 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
14683 (build-system emacs-build-system)
14684 (propagated-inputs
14685 `(("emacs-company" ,emacs-company)
14686 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
14687 ("emacs-restclient" ,emacs-restclient)))
14688 (home-page "https://github.com/iquiw/company-restclient")
14689 (synopsis "Company-mode completion back-end for restclient-mode")
14690 (description "@code{company-mode} back-end for
14691 @code{restclient-mode}.
14692
14693 It provides auto-completion for HTTP methods and headers in
14694 @code{restclient-mode}. Completion source is given by
14695 @code{know-your-http-well}.")
14696 (license license:gpl3+)))
14697
14698 (define-public emacs-noflet
14699 (let ((version "20170629")
14700 (revision "1")
14701 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
14702 (package
14703 (name "emacs-noflet")
14704 (version (git-version version revision commit))
14705 (source
14706 (origin
14707 (method git-fetch)
14708 (uri (git-reference
14709 (url "https://github.com/nicferrier/emacs-noflet")
14710 (commit commit)))
14711 (file-name (git-file-name name version))
14712 (sha256
14713 (base32
14714 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
14715 (build-system emacs-build-system)
14716 (arguments
14717 `(#:phases
14718 (modify-phases %standard-phases
14719 (add-after 'unpack 'require-dash
14720 ;; noflet.el uses -map from dash, but (require 'dash) is
14721 ;; missing. So, add it.
14722 (lambda _
14723 (substitute* "noflet.el"
14724 ((";;; Code:") ";;; Code:\n(require 'dash)"))
14725 #t)))))
14726 (propagated-inputs
14727 `(("emacs-dash" ,emacs-dash)))
14728 (home-page "https://github.com/nicferrier/emacs-noflet")
14729 (synopsis "Locally override functions")
14730 (description "@code{emacs-noflet} lets you locally override functions,
14731 in the manner of @command{flet}, but with access to the original function
14732 through the symbol: @command{this-fn}.")
14733 (license license:gpl3+))))
14734
14735 (define-public emacs-dumb-jump
14736 (package
14737 (name "emacs-dumb-jump")
14738 (version "0.5.3")
14739 (source
14740 (origin
14741 (method git-fetch)
14742 (uri (git-reference
14743 (url "https://github.com/jacktasia/dumb-jump.git")
14744 (commit (string-append "v" version))))
14745 (file-name (git-file-name name version))
14746 (sha256
14747 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
14748 (build-system emacs-build-system)
14749 (arguments
14750 `(#:tests? #f ; FIXME: Tests freeze when run.
14751 #:test-command '("ert-runner")
14752 #:phases
14753 (modify-phases %standard-phases
14754 (add-after 'unpack 'set-shell
14755 (lambda _
14756 ;; Setting the SHELL environment variable is required for the
14757 ;; tests to find sh.
14758 (setenv "SHELL" (which "sh"))
14759 #t)))))
14760 (native-inputs
14761 `(("emacs-el-mock" ,emacs-el-mock)
14762 ("emacs-noflet" ,emacs-noflet)
14763 ("emacs-undercover" ,emacs-undercover)
14764 ("ert-runner" ,emacs-ert-runner)))
14765 (propagated-inputs
14766 `(("emacs-f" ,emacs-f)
14767 ("emacs-popup" ,emacs-popup)))
14768 (home-page "https://github.com/jacktasia/dumb-jump")
14769 (synopsis "Jump to definition for multiple languages without configuration")
14770 (description "Dumb Jump is an Emacs \"jump to definition\" package with
14771 support for multiple programming languages that favors \"just working\" over
14772 speed or accuracy. This means minimal --- and ideally zero --- configuration
14773 with absolutely no stored indexes (tags) or persistent background processes.
14774 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
14775 @command{rg} installed.")
14776 (license license:gpl3+)))
14777
14778 (define-public emacs-dts-mode
14779 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
14780 (revision "1"))
14781 (package
14782 (name "emacs-dts-mode")
14783 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
14784 (source
14785 (origin
14786 (method git-fetch)
14787 (uri (git-reference
14788 (url "https://github.com/bgamari/dts-mode.git")
14789 (commit commit)))
14790 (file-name (git-file-name name version))
14791 (sha256
14792 (base32
14793 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
14794 (build-system emacs-build-system)
14795 (home-page "https://github.com/bgamari/dts-mode.git")
14796 (synopsis "Emacs minor mode for editing device tree files")
14797 (description
14798 "This package provides an Emacs minor mode for highlighting
14799 device tree files.")
14800 (license license:gpl3+))))
14801
14802 (define-public emacs-daemons
14803 (package
14804 (name "emacs-daemons")
14805 (version "2.0.0")
14806 (source
14807 (origin
14808 (method git-fetch)
14809 (uri (git-reference
14810 (url "https://github.com/cbowdon/daemons.el")
14811 (commit version)))
14812 (file-name (git-file-name name version))
14813 (sha256
14814 (base32
14815 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
14816 (build-system emacs-build-system)
14817 (home-page "https://github.com/cbowdon/daemons.el")
14818 (synopsis "Emacs UI for managing init system services")
14819 (description
14820 "This is an Emacs mode to give you a UI for managing init system
14821 daemons (services) for those getting tired of typing out @code{sudo service
14822 my_thing reload} all the time. It offers a consistent UI over different init
14823 systems.")
14824 (license license:gpl3+)))
14825
14826 (define-public emacs-isearch+
14827 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
14828 (revision "2"))
14829 (package
14830 (name "emacs-isearch+")
14831 (version (git-version "0" revision commit))
14832 (source
14833 (origin
14834 (method git-fetch)
14835 (uri (git-reference
14836 (url "https://github.com/emacsmirror/isearch-plus.git")
14837 (commit commit)))
14838 (file-name (git-file-name name version))
14839 (sha256
14840 (base32
14841 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
14842 (build-system emacs-build-system)
14843 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
14844 (synopsis "Extensions to @code{isearch.el}")
14845 (description "This package extends @code{isearch} with advice, dynamic
14846 filters, highlighting of regexp group levels, and more.")
14847 (license license:gpl2+))))
14848
14849 (define-public emacs-eshell-bookmark
14850 (package
14851 (name "emacs-eshell-bookmark")
14852 (version "2.0.0")
14853 (source
14854 (origin
14855 (method git-fetch)
14856 (uri (git-reference
14857 (url "https://github.com/Fuco1/eshell-bookmark")
14858 (commit version)))
14859 (file-name (git-file-name name version))
14860 (sha256
14861 (base32
14862 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
14863 (build-system emacs-build-system)
14864 (home-page "https://github.com/Fuco1/eshell-bookmark")
14865 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
14866 (description
14867 "This package allows for bookmarking @code{eshell} buffers. Upon
14868 visiting the bookmark, a new @code{eshell} session will be opened in the
14869 appropriate directory if no @code{eshell} session is active.")
14870 (license license:gpl3+)))
14871
14872 (define-public emacs-eshell-z
14873 (package
14874 (name "emacs-eshell-z")
14875 (version "0.4")
14876 (source
14877 (origin
14878 (method git-fetch)
14879 (uri (git-reference
14880 (url "https://github.com/xuchunyang/eshell-z")
14881 (commit (string-append "v" version))))
14882 (file-name (git-file-name name version))
14883 (sha256
14884 (base32
14885 "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
14886 (build-system emacs-build-system)
14887 (home-page "https://github.com/xuchunyang/eshell-z")
14888 (synopsis "Quick navigation to frequently visited directories")
14889 (description
14890 "This package is a port of @code{z}, and keeps track of visited directories
14891 and commands invoked within them in order to enable navigation via input of
14892 matching regexps.")
14893 (license license:gpl3+)))
14894
14895 (define-public emacs-esh-autosuggest
14896 (package
14897 (name "emacs-esh-autosuggest")
14898 (version "2.0.0")
14899 (source
14900 (origin
14901 (method git-fetch)
14902 (uri (git-reference
14903 (url "https://github.com/dieggsy/esh-autosuggest")
14904 (commit version)))
14905 (file-name (git-file-name name version))
14906 (sha256
14907 (base32
14908 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
14909 (build-system emacs-build-system)
14910 (propagated-inputs `(("emacs-company" ,emacs-company)))
14911 (home-page "https://github.com/dieggsy/esh-autosuggest")
14912 (synopsis "Fish-like autosuggestions in Eshell")
14913 (description
14914 "This package assumes you use something other than company for eshell
14915 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
14916 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
14917 for history autosuggestions.
14918
14919 Unless you're using @code{use-package}'s hook keyword, you can enable the
14920 autosuggestions with:
14921 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
14922 (license license:gpl3+)))
14923
14924 (define-public emacs-desktop-environment
14925 (package
14926 (name "emacs-desktop-environment")
14927 (version "0.3.0")
14928 (source
14929 (origin
14930 (method git-fetch)
14931 (uri (git-reference
14932 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14933 (commit (string-append "v" version))))
14934 (file-name (git-file-name name version))
14935 (sha256
14936 (base32
14937 "195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2"))))
14938 (build-system emacs-build-system)
14939 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14940 (synopsis "Control your GNU/Linux desktop environment from Emacs")
14941 (description
14942 "This package helps you control your GNU/Linux desktop from Emacs.
14943 With @code{desktop-environment}, you can control the brightness and volume as
14944 well as take screenshots and lock your screen. The package depends on the
14945 availability of shell commands to do the hard work for us. These commands can
14946 be changed by customizing the appropriate variables.")
14947 (license license:gpl3+)))
14948
14949 (define-public emacs-org-caldav
14950 (let ((commit "a563500c9884f38ce08793e2964f8274adde163d"))
14951 (package
14952 (name "emacs-org-caldav")
14953 (version (git-version "0.0.0" "1" commit))
14954 (source
14955 (origin
14956 (method git-fetch)
14957 (uri (git-reference
14958 (url "https://github.com/dengste/org-caldav.git")
14959 (commit commit)))
14960 (file-name (git-file-name name version))
14961 (sha256
14962 (base32
14963 "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"))))
14964 (build-system emacs-build-system)
14965 (arguments
14966 ;; Tests require to have two specific calendars on a test server.
14967 `(#:exclude '("^org-caldav-testsuite\\.el")))
14968 (propagated-inputs
14969 `(("emacs-org" ,emacs-org)))
14970 (home-page "https://github.com/dengste/org-caldav")
14971 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
14972 (description "Synchronize between events in Org files and a CalDAV
14973 calendar.")
14974 (license license:gpl3+))))
14975
14976 (define-public emacs-zotxt
14977 (package
14978 (name "emacs-zotxt")
14979 (version "20180518")
14980 (source
14981 (origin
14982 (method git-fetch)
14983 (uri (git-reference
14984 (url "https://github.com/egh/zotxt-emacs.git")
14985 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
14986 (file-name (git-file-name name version))
14987 (sha256
14988 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
14989 (build-system emacs-build-system)
14990 (propagated-inputs
14991 `(("emacs-deferred" ,emacs-deferred)
14992 ("emacs-request" ,emacs-request)))
14993 (home-page "https://github.com/egh/zotxt-emacs")
14994 (synopsis "Integrate Emacs with Zotero")
14995 (description "This package provides two integration features between Emacs
14996 and the Zotero research assistant: Insertion of links to Zotero items into an
14997 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
14998 (license license:gpl3+)))
14999
15000 (define-public emacs-evil-ediff
15001 ;; Evil-Ediff is included in Evil Collection from 20180617.
15002 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
15003
15004 (define-public emacs-evil-magit
15005 (let ((commit "4b66a1db8285457147a5436f209391016a819ea1")
15006 (revision "3"))
15007 (package
15008 (name "emacs-evil-magit")
15009 (version (git-version "0.4.2" revision commit))
15010 (source
15011 (origin
15012 (method git-fetch)
15013 (uri (git-reference
15014 (url "https://github.com/emacs-evil/evil-magit")
15015 (commit commit)))
15016 (file-name (git-file-name name version))
15017 (sha256
15018 (base32
15019 "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h"))))
15020 (build-system emacs-build-system)
15021 (propagated-inputs
15022 `(("emacs-evil" ,emacs-evil)
15023 ("magit" ,emacs-magit)))
15024 (arguments
15025 `(#:tests? #t
15026 #:test-command '("emacs" "-Q" "-batch"
15027 "-L" "."
15028 "-l" "evil-magit-tests"
15029 "-f" "ert-run-tests-batch-and-exit")))
15030 (home-page
15031 "https://github.com/emacs-evil/evil-magit")
15032 (synopsis "Evil-based key bindings for Magit")
15033 (description
15034 "This Emacs library configures Magit and Evil to play well with each other.
15035 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
15036 See the README at @url{https://github.com/justbur/evil-magit} for a table
15037 describing the key binding changes.")
15038 (license license:gpl3+))))
15039
15040 (define-public emacs-evil-mu4e
15041 ;; Evil-mu4e is included in Evil Collection from 20180617.
15042 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
15043
15044 (define-public emacs-evil-multiedit
15045 (package
15046 (name "emacs-evil-multiedit")
15047 (version "1.3.9")
15048 (source
15049 (origin
15050 (method git-fetch)
15051 (uri (git-reference
15052 (url "https://github.com/hlissner/evil-multiedit")
15053 (commit (string-append "v" version))))
15054 (file-name (git-file-name name version))
15055 (sha256
15056 (base32
15057 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
15058 (build-system emacs-build-system)
15059 (propagated-inputs
15060 `(("emacs-evil" ,emacs-evil)
15061 ("emacs-iedit" ,emacs-iedit)))
15062 (native-inputs
15063 `(("emacs-ert-runner" ,emacs-ert-runner)))
15064 (arguments
15065 `(#:phases
15066 (modify-phases %standard-phases
15067 (add-before 'check 'fix-makefile
15068 (lambda _
15069 (substitute* "Makefile"
15070 (("@cask exec ") ""))
15071 #t)))
15072 #:tests? #t
15073 #:test-command '("make" "test")))
15074 (home-page
15075 "https://github.com/hlissner/evil-multiedit")
15076 (synopsis "Multiple cursors for Evil mode")
15077 (description
15078 "This plugin was an answer to the lack of proper multiple cursor support
15079 in Emacs+Evil. It allows you to select and edit matches interactively,
15080 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
15081 defaults.")
15082 (license license:gpl3+)))
15083
15084 (define-public emacs-evil-mc
15085 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
15086 (revision "2"))
15087 (package
15088 (name "emacs-evil-mc")
15089 (version (git-version "0.0.3" revision commit))
15090 (source
15091 (origin
15092 (method git-fetch)
15093 (uri (git-reference
15094 (url "https://github.com/gabesoft/evil-mc.git")
15095 (commit commit)))
15096 (file-name (git-file-name name version))
15097 (sha256
15098 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
15099 (build-system emacs-build-system)
15100 (propagated-inputs
15101 `(("emacs-evil" ,emacs-evil)))
15102 (native-inputs
15103 `(("emacs-espuds" ,emacs-espuds)))
15104 (home-page "https://github.com/gabesoft/evil-mc")
15105 (synopsis "Interactive search compatible with @code{multiple-cursors}")
15106 (description "This package can be used with @code{multiple-cursors} to
15107 provide an incremental search that moves all fake cursors in sync.")
15108 (license license:expat))))
15109
15110 (define-public emacs-evil-org
15111 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
15112 (package
15113 (name "emacs-evil-org")
15114 (version (git-version "0.1.1" "1" commit))
15115 (source
15116 (origin
15117 (method git-fetch)
15118 (uri (git-reference
15119 (url "https://github.com/Somelauw/evil-org-mode")
15120 (commit commit)))
15121 (file-name (git-file-name name version))
15122 (sha256
15123 (base32
15124 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
15125 (build-system emacs-build-system)
15126 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
15127 (home-page
15128 "https://github.com/Somelauw/evil-org-mode")
15129 (synopsis "Evil keybindings for Org mode")
15130 (description
15131 "This package adds supplemental Evil mode key-bindings to Emacs
15132 Org-mode. It features:
15133 @itemize
15134 @item normal, visual and insert mode bindings;
15135 @item key bindings organised in key themes;
15136 @item operators like > and < to work on headings;
15137 @item text objects;
15138 @item table support;
15139 @item calendar (date selection) support;
15140 @item agenda support.
15141 @end itemize\n")
15142 (license license:gpl3+))))
15143
15144 (define-public emacs-debpaste
15145 (package
15146 (name "emacs-debpaste")
15147 (version "0.1.5")
15148 (home-page "https://github.com/alezost/debpaste.el")
15149 (source
15150 (origin
15151 (method git-fetch)
15152 (uri (git-reference (url home-page)
15153 (commit (string-append "v" version))))
15154 (file-name (git-file-name name version))
15155 (sha256
15156 (base32
15157 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
15158 (build-system emacs-build-system)
15159 (propagated-inputs
15160 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
15161 (synopsis "Manipulate pastes from the Debian Pastezone")
15162 (description "Debpaste is an Emacs interface for the Debian Pastezone,
15163 allowing you to receive, post, and delete pastes. It communicates with the
15164 server using XML-RPC.")
15165 (license license:gpl3+)))
15166
15167 (define-public emacs-xml-rpc
15168 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
15169 (revision "1"))
15170 (package
15171 (name "emacs-xml-rpc")
15172 (version (git-version "1.6.12" revision commit))
15173 (source
15174 (origin
15175 (method git-fetch)
15176 (uri (git-reference
15177 (url "https://github.com/hexmode/xml-rpc-el")
15178 (commit commit)))
15179 (file-name (git-file-name name version))
15180 (sha256
15181 (base32
15182 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
15183 (build-system emacs-build-system)
15184 (home-page "https://github.com/hexmode/xml-rpc-el")
15185 (synopsis "XML-RPC client for Emacs")
15186 (description "This package provides an XML-RPC client for Emacs capable
15187 of both synchronous and asynchronous method calls using the @code{url}
15188 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
15189 datatypes as Lisp values, automatically converting to and from the XML
15190 datastructures as needed, both for method parameters and return values, making
15191 using XML-RPC methods fairly transparent to the Lisp code.")
15192 (license license:gpl3+))))
15193
15194 (define-public emacs-xpm
15195 (package
15196 (name "emacs-xpm")
15197 (version "1.0.4")
15198 (source
15199 (origin
15200 (method url-fetch)
15201 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
15202 version ".tar"))
15203 (sha256
15204 (base32
15205 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
15206 (build-system emacs-build-system)
15207 (home-page "https://elpa.gnu.org/packages/xpm.html")
15208 (synopsis "XPM image editing mode for Emacs")
15209 (description "This Emacs package makes editing XPM images easy (and maybe
15210 fun). Editing is done directly on the (textual) image format, for maximal
15211 cohesion with the Emacs Way.")
15212 (license license:gpl3+)))
15213
15214 (define-public emacs-fish-completion
15215 (package
15216 (name "emacs-fish-completion")
15217 (version "1.2")
15218 (source
15219 (origin
15220 (method git-fetch)
15221 (uri (git-reference
15222 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
15223 (commit version)))
15224 (file-name (git-file-name name version))
15225 (sha256
15226 (base32
15227 "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"))))
15228 (build-system emacs-build-system)
15229 (inputs `(("fish" ,fish)))
15230 (arguments
15231 `(#:phases
15232 (modify-phases %standard-phases
15233 (add-after 'unpack 'configure
15234 (lambda* (#:key inputs outputs #:allow-other-keys)
15235 (let ((fish (assoc-ref inputs "fish")))
15236 ;; Specify the absolute file names of the various
15237 ;; programs so that everything works out-of-the-box.
15238 (make-file-writable "fish-completion.el")
15239 (emacs-substitute-variables
15240 "fish-completion.el"
15241 ("fish-completion-command"
15242 (string-append fish "/bin/fish")))))))))
15243 (home-page
15244 "https://gitlab.com/Ambrevar/emacs-fish-completion")
15245 (synopsis "Fish completion for Emacs pcomplete")
15246 (description
15247 "This package provides completion for the Fish shell to pcomplete (used
15248 by shell and Eshell). You can set it up globally with:
15249
15250 @example
15251 (when (and (executable-find \"fish\")
15252 (require 'fish-completion nil t))
15253 (global-fish-completion-mode))
15254 @end example
15255
15256 Alternatively, you can call the @code{fish-completion-mode} manually or in
15257 shell/Eshell mode hook.
15258
15259 The package @code{emacs-bash-completion} is an optional dependency: if available,
15260 @code{fish-completion-complete} can be configured to fall back on bash to further
15261 try completing. See @code{fish-completion-fallback-on-bash-p}.")
15262 (license license:gpl3+)))
15263
15264 (define-public emacs-gif-screencast
15265 (let ((commit "248d1e158405e6cba2c65ecaed40e2c59b089cd8")
15266 (revision "2"))
15267 (package
15268 (name "emacs-gif-screencast")
15269 (version (git-version "1.0" revision commit))
15270 (source
15271 (origin
15272 (method git-fetch)
15273 (uri (git-reference
15274 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
15275 (commit commit)))
15276 (file-name (git-file-name name version))
15277 (sha256
15278 (base32
15279 "19xqi5mgalnnhb4hw0fh7py2s2dllldx1xxbhwhknkdpifai8hl8"))))
15280 (build-system emacs-build-system)
15281 (inputs
15282 `(("scrot" ,scrot)
15283 ("imagemagick" ,imagemagick)
15284 ("gifsicle" ,gifsicle)))
15285 (arguments
15286 `(#:phases
15287 (modify-phases %standard-phases
15288 (add-after 'unpack 'configure
15289 (lambda* (#:key inputs outputs #:allow-other-keys)
15290 (let ((scrot (assoc-ref inputs "scrot"))
15291 (imagemagick (assoc-ref inputs "imagemagick"))
15292 (gifsicle (assoc-ref inputs "gifsicle")))
15293 (make-file-writable "gif-screencast.el")
15294 ;; Specify the absolute file names of the various
15295 ;; programs so that everything works out-of-the-box.
15296 (emacs-substitute-variables
15297 "gif-screencast.el"
15298 ("gif-screencast-program"
15299 (string-append scrot "/bin/scrot"))
15300 ("gif-screencast-convert-program"
15301 (string-append imagemagick "/bin/convert"))
15302 ("gif-screencast-cropping-program"
15303 (string-append imagemagick "/bin/mogrify"))
15304 ("gif-screencast-optimize-program"
15305 (string-append gifsicle "/bin/gifsicle")))))))))
15306 (home-page
15307 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
15308 (synopsis "One-frame-per-action GIF recording")
15309 (description
15310 "Call @code{gif-screencast} to start a recording.
15311 A screenshot is taken for every user action. Call
15312 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
15313 the GIF result.")
15314 (license license:gpl3+))))
15315
15316 (define-public emacs-google-translate
15317 (package
15318 (name "emacs-google-translate")
15319 (version "0.11.18")
15320 (source
15321 (origin
15322 (method git-fetch)
15323 (uri (git-reference
15324 (url "https://github.com/atykhonov/google-translate/")
15325 (commit (string-append "v" version))))
15326 (file-name (git-file-name name version))
15327 (sha256
15328 (base32
15329 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
15330 (build-system emacs-build-system)
15331 (home-page "https://github.com/atykhonov/google-translate")
15332 (synopsis "Emacs interface to Google Translate")
15333 (description
15334 "This package provides an Emacs interface to the Google Translate
15335 on-line service.")
15336 (license license:gpl3+)))
15337
15338 (define-public emacs-helm-company
15339 (package
15340 (name "emacs-helm-company")
15341 (version "0.2.5")
15342 (source
15343 (origin
15344 (method git-fetch)
15345 (uri (git-reference
15346 (url "https://github.com/Sodel-the-Vociferous/helm-company")
15347 (commit (string-append "v" version))))
15348 (file-name (git-file-name name version))
15349 (sha256
15350 (base32
15351 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
15352 (build-system emacs-build-system)
15353 (propagated-inputs
15354 `(("emacs-helm" ,emacs-helm)
15355 ("emacs-company" ,emacs-company)))
15356 (native-inputs
15357 `(("emacs-ert-runner" ,emacs-ert-runner)))
15358 (arguments
15359 `(#:tests? #t
15360 #:test-command '("ert-runner")))
15361 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
15362 (synopsis "Helm interface for company-mode")
15363 (description
15364 "This is a Helm interface to company-mode, a text completion
15365 framework.")
15366 (license license:gpl3+)))
15367
15368 (define-public emacs-helm-descbinds
15369 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
15370 (package
15371 (name "emacs-helm-descbinds")
15372 (version (git-version "1.13" "1" commit))
15373 (source
15374 (origin
15375 (method git-fetch)
15376 (uri (git-reference
15377 (url "https://github.com/emacs-helm/helm-descbinds")
15378 (commit commit)))
15379 (file-name (git-file-name name version))
15380 (sha256
15381 (base32
15382 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
15383 (build-system emacs-build-system)
15384 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15385 (home-page "https://github.com/emacs-helm/helm-descbinds")
15386 (synopsis "Convenient @code{describe-bindings} with Helm")
15387 (description
15388 "This package is a replacement of @code{describe-bindings} for Helm.
15389 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
15390 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
15391 @code{helm-descbinds}. The bindings are presented in a similar way as
15392 @code{describe-bindings} does, but you can use completion to find the command
15393 you searched for and execute it, or view its documentation.")
15394 (license license:gpl3+))))
15395
15396 (define-public emacs-helm-emms
15397 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
15398 (package
15399 (name "emacs-helm-emms")
15400 (version (git-version "1.3" "2" commit))
15401 (source
15402 (origin
15403 (method git-fetch)
15404 (uri (git-reference
15405 (url "https://github.com/emacs-helm/helm-emms")
15406 (commit commit)))
15407 (file-name (git-file-name name version))
15408 (sha256
15409 (base32
15410 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
15411 (build-system emacs-build-system)
15412 (propagated-inputs
15413 `(("emacs-helm" ,emacs-helm)
15414 ("emacs-emms" ,emacs-emms)))
15415 (home-page
15416 "https://github.com/emacs-helm/helm-emms")
15417 (synopsis "Emms for Helm")
15418 (description "Helm interface for Emms to browse all tracks and all folders
15419 from @code{emms-source-file-default-directory}.")
15420 (license license:gpl3+))))
15421
15422 (define-public emacs-helm-exwm
15423 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
15424 (package
15425 (name "emacs-helm-exwm")
15426 (version (git-version "20180703" "2" commit))
15427 (source
15428 (origin
15429 (method git-fetch)
15430 (uri (git-reference
15431 (url "https://github.com/emacs-helm/helm-exwm.git")
15432 (commit commit)))
15433 (file-name (git-file-name name version))
15434 (sha256
15435 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
15436 (build-system emacs-build-system)
15437 (propagated-inputs
15438 `(("emacs-helm" ,emacs-helm)
15439 ("emacs-exwm" ,emacs-exwm)))
15440 (home-page
15441 "https://github.com/emacs-helm/helm-exwm")
15442 (synopsis "Helm for EXWM buffers")
15443 (description
15444 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
15445 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
15446 switch between the various windows of one or several specific applications.
15447 See @code{helm-exwm-switch-browser} for an example.")
15448 (license license:gpl3+))))
15449
15450 (define-public emacs-helm-flycheck
15451 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
15452 (package
15453 (name "emacs-helm-flycheck")
15454 (version (git-version "0.4" "1" commit))
15455 (source
15456 (origin
15457 (method git-fetch)
15458 (uri (git-reference
15459 (url "https://github.com/yasuyk/helm-flycheck")
15460 (commit commit)))
15461 (file-name (git-file-name name version))
15462 (sha256
15463 (base32
15464 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
15465 (build-system emacs-build-system)
15466 (propagated-inputs
15467 `(("emacs-dash" ,emacs-dash)
15468 ("emacs-flycheck" ,emacs-flycheck)
15469 ("emacs-helm" ,emacs-helm)))
15470 (home-page "https://github.com/yasuyk/helm-flycheck")
15471 (synopsis "Show Flycheck errors with Helm")
15472 (description
15473 "This integrates Flycheck with Helm.")
15474 (license license:gpl3+))))
15475
15476 (define-public emacs-helm-ls-git
15477 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
15478 (package
15479 (name "emacs-helm-ls-git")
15480 (version (git-version "1.9.1" "1" commit))
15481 (source
15482 (origin
15483 (method git-fetch)
15484 (uri (git-reference
15485 (url "https://github.com/emacs-helm/helm-ls-git")
15486 (commit commit)))
15487 (file-name (git-file-name name version))
15488 (sha256
15489 (base32
15490 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
15491 (build-system emacs-build-system)
15492 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15493 (home-page "https://github.com/emacs-helm/helm-ls-git")
15494 (synopsis "Helm interface for listing the files in a Git repository")
15495 (description
15496 "This package provides a Helm interface for Git files.
15497 @itemize
15498 @item Display the open buffers in project.
15499 @item Display a status source showing state of project (modified files etc.).
15500 @item Display a list of all files in project under git control.
15501 @item Quickly look at diffs of modified files.
15502 @item Allow switching to @code{git status} with your preferred frontend
15503 (vc-dir, Magit,etc.).
15504 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
15505 can use ack-grep instead of grep).
15506 @item Integrate usage of gid from id-utils.
15507 @item Full integration with @code{helm-find-files}, allow you to browse
15508 projects unrelated to current-buffer.
15509 @item In addition, all actions of type files and buffers are provided.
15510 @end itemize\n")
15511 (license license:gpl3+))))
15512
15513 (define-public emacs-helm-mu
15514 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
15515 (package
15516 (name "emacs-helm-mu")
15517 (version (git-version "20180513" "1" commit))
15518 (source
15519 (origin
15520 (method git-fetch)
15521 (uri (git-reference
15522 (url "https://github.com/emacs-helm/helm-mu.git")
15523 (commit commit)))
15524 (file-name (git-file-name name version))
15525 (sha256
15526 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
15527 (build-system emacs-build-system)
15528 (propagated-inputs
15529 `(("emacs-helm" ,emacs-helm)
15530 ("mu" ,mu)))
15531 (home-page
15532 "https://github.com/emacs-helm/helm-mu")
15533 (synopsis
15534 "Helm sources for searching emails and contacts")
15535 (description
15536 "Helm sources for searching emails and contacts using @code{mu} and
15537 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
15538 Emacs build on top of mu. Mu is highly efficient making it possible to get
15539 instant results even for huge maildirs. It also provides search operators,
15540 e.g: @code{from:Peter to:Anne flag:attach search term}.")
15541 (license license:gpl3+))))
15542
15543 (define-public emacs-helm-pass
15544 (package
15545 (name "emacs-helm-pass")
15546 (version "0.3")
15547 (source
15548 (origin
15549 (method git-fetch)
15550 (uri (git-reference
15551 (url "https://github.com/emacs-helm/helm-pass")
15552 (commit version)))
15553 (file-name (git-file-name name version))
15554 (sha256
15555 (base32
15556 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
15557 (build-system emacs-build-system)
15558 (propagated-inputs
15559 `(("emacs-helm" ,emacs-helm)
15560 ("emacs-password-store" ,emacs-password-store)))
15561 (home-page "https://github.com/emacs-helm/helm-pass")
15562 (synopsis "Helm interface to pass, the standard Unix password manager")
15563 (description
15564 "Users of @code{helm-pass} may also be interested in functionality
15565 provided by other Emacs packages dealing with pass:
15566 @itemize
15567 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
15568 @item @code{emacs-pass}, a major mode for @code{pass}.
15569 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
15570 @code{pass}, included in Emacs 26+).
15571 @end itemize\n")
15572 (license license:gpl3+)))
15573
15574 (define-public emacs-image+
15575 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
15576 (package
15577 (name "emacs-image+")
15578 (version (git-version "0.6.2" "1" commit))
15579 (source
15580 (origin
15581 (method git-fetch)
15582 (uri (git-reference
15583 (url "https://github.com/mhayashi1120/Emacs-imagex")
15584 (commit commit)))
15585 (file-name (git-file-name name version))
15586 (sha256
15587 (base32
15588 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
15589 (build-system emacs-build-system)
15590 (inputs `(("imagemagick" ,imagemagick)))
15591 (arguments
15592 `(#:phases
15593 (modify-phases %standard-phases
15594 (add-after 'unpack 'configure
15595 (lambda* (#:key inputs outputs #:allow-other-keys)
15596 (let ((imagemagick (assoc-ref inputs "imagemagick")))
15597 ;; Specify the absolute file names of the various
15598 ;; programs so that everything works out-of-the-box.
15599 (chmod "image+.el" #o666)
15600 (emacs-substitute-variables
15601 "image+.el"
15602 ("imagex-convert-command"
15603 (string-append imagemagick "/bin/convert"))
15604 ("imagex-identify-command"
15605 (string-append imagemagick "/bin/identify")))))))))
15606 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
15607 (synopsis "Image manipulation extensions for Emacs")
15608 (description
15609 "Image+ provides keybindings allowing you to zoom in or zoom out of an
15610 image, rotate it, save modified images, and more.")
15611 (license license:gpl3+))))
15612
15613 (define-public emacs-package-lint
15614 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
15615 (package
15616 (name "emacs-package-lint")
15617 (version (git-version "0.5" "1" commit))
15618 (source
15619 (origin
15620 (method git-fetch)
15621 (uri (git-reference
15622 (url "https://github.com/purcell/package-lint")
15623 (commit commit)))
15624 (file-name (git-file-name name version))
15625 (sha256
15626 (base32
15627 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
15628 (build-system emacs-build-system)
15629 (home-page "https://github.com/purcell/package-lint")
15630 (synopsis "Linting library for elisp package authors")
15631 (description
15632 "This provides a list of issues with the Emacs package metadata of a file,
15633 e.g. the package dependencies it requires. See function
15634 @code{package-lint-buffer}. Checks will currently be enabled only if a
15635 \"Package-Requires:\" or \"Package-Version:\" header is present in the
15636 file.")
15637 (license license:gpl3+))))
15638
15639 (define-public emacs-picpocket
15640 (let ((version "40")
15641 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
15642 (package
15643 (name "emacs-picpocket")
15644 (version version)
15645 (source
15646 (origin
15647 (method git-fetch)
15648 (uri (git-reference
15649 (url "https://github.com/johanclaesson/picpocket")
15650 (commit commit)))
15651 (file-name (git-file-name name version))
15652 (sha256
15653 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
15654 (build-system emacs-build-system)
15655 (arguments ; needed for running tests
15656 `(#:tests? #t
15657 #:emacs ,emacs
15658 #:test-command '("emacs" "--batch"
15659 "-l" "picpocket-test.el"
15660 "-f" "ert-run-tests-batch-and-exit")))
15661 (home-page "https://github.com/johanclaesson/picpocket")
15662 (synopsis "Image viewer for Emacs")
15663 (description
15664 "Picpocket is an image viewer for GNU Emacs. It has commands for:
15665
15666 @itemize
15667 @item File operations on the picture files (delete, move, copy, hardlink).
15668 @item Scale and rotate the picture.
15669 @item Associate pictures with tags which are saved to disk.
15670 @item Filter pictures according to tags.
15671 @item Customizing keystrokes for quick tagging and file operations.
15672 @item Undo and browse history of undoable commands.
15673 @end itemize")
15674 (license license:gpl3+))))
15675
15676 (define-public emacs-wgrep-helm
15677 ;; `emacs-wgrep-helm' was mistakenly added.
15678 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
15679
15680 (define-public emacs-mu4e-conversation
15681 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
15682 (revision "5"))
15683 (package
15684 (name "emacs-mu4e-conversation")
15685 (version (git-version "0.0.1" revision commit))
15686 (source
15687 (origin
15688 (method git-fetch)
15689 (uri (git-reference
15690 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
15691 (commit commit)))
15692 (file-name (git-file-name name version))
15693 (sha256
15694 (base32
15695 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
15696 (build-system emacs-build-system)
15697 (propagated-inputs
15698 `(("mu" ,mu)))
15699 (home-page
15700 "https://gitlab.com/Ambrevar/mu4e-conversation")
15701 (synopsis
15702 "Show a complete thread in a single buffer")
15703 (description
15704 "This package offers an alternate view to mu4e's e-mail display. It
15705 shows all e-mails of a thread in a single view, where each correspondent has
15706 their own face. Threads can be displayed linearly (in which case e-mails are
15707 displayed in chronological order) or as an Org document where the node tree
15708 maps the thread tree.")
15709 (license license:gpl3+))))
15710
15711 (define-public emacs-pinentry
15712 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
15713 (revision "1"))
15714 (package
15715 (name "emacs-pinentry")
15716 (version (git-version "0.1" revision commit))
15717 (source
15718 (origin
15719 (method url-fetch)
15720 (uri (string-append
15721 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
15722 "/packages/pinentry/pinentry.el?id=" commit))
15723 (file-name (string-append "pinentry.el"))
15724 (sha256
15725 (base32
15726 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
15727 (build-system emacs-build-system)
15728 (propagated-inputs
15729 `(("gnupg" ,gnupg)))
15730 (home-page "https://elpa.gnu.org/packages/pinentry.html")
15731 (synopsis "GnuPG Pinentry server implementation")
15732 (description
15733 "This package allows GnuPG passphrase to be prompted through the
15734 minibuffer instead of graphical dialog.
15735
15736 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
15737 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
15738 server with @code{M-x pinentry-start}.")
15739 (license license:gpl3+))))
15740
15741 (define-public emacs-so-long
15742 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
15743 (revision "2"))
15744 (package
15745 (name "emacs-so-long")
15746 (version (git-version "1.0" revision commit))
15747 (source
15748 (origin
15749 (method git-fetch)
15750 (uri (git-reference
15751 (url "https://git.savannah.gnu.org/git/so-long.git")
15752 (commit commit)))
15753 (file-name (git-file-name name version))
15754 (sha256
15755 (base32
15756 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
15757 (build-system emacs-build-system)
15758 (home-page "https://www.emacswiki.org/emacs/SoLong")
15759 (synopsis "Improve performance in files with long lines")
15760 (description "This package improves the performance of Emacs when
15761 viewing files with long lines.")
15762 (license license:gpl3+))))
15763
15764 (define-public emacs-github-review
15765 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
15766 (revision "2"))
15767 (package
15768 (name "emacs-github-review")
15769 (version (git-version "0.1" revision commit))
15770 (source
15771 (origin
15772 (method git-fetch)
15773 (uri (git-reference
15774 (url "https://github.com/charignon/github-review")
15775 (commit commit)))
15776 (file-name (git-file-name name version))
15777 (sha256
15778 (base32
15779 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
15780 (build-system emacs-build-system)
15781 (inputs
15782 `(("emacs-dash" ,emacs-dash)
15783 ("emacs-s" ,emacs-s)
15784 ("emacs-ghub" ,emacs-ghub)))
15785 (native-inputs
15786 `(("emacs-buttercup" ,emacs-buttercup)
15787 ("emacs-undercover" ,emacs-undercover)))
15788 (arguments
15789 `(#:tests? #t
15790 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
15791 (home-page "https://github.com/charignon/github-review")
15792 (synopsis "Review GitHub pull requests within Emacs")
15793 (description "This package provides commands to pull in, comment on, and
15794 accept and reject GitHub pull requests.")
15795 (license license:gpl3+))))
15796
15797 (define-public emacs-deadgrep
15798 (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
15799 (revision "2"))
15800 (package
15801 (name "emacs-deadgrep")
15802 (version (git-version "0.8" revision commit))
15803 (source
15804 (origin
15805 (method git-fetch)
15806 (uri (git-reference
15807 (url "https://github.com/Wilfred/deadgrep")
15808 (commit commit)))
15809 (file-name (git-file-name name version))
15810 (sha256
15811 (base32
15812 "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
15813 (build-system emacs-build-system)
15814 (inputs
15815 `(("emacs-dash" ,emacs-dash)
15816 ("emacs-s" ,emacs-s)
15817 ("emacs-spinner" ,emacs-spinner)))
15818 (home-page "https://github.com/Wilfred/deadgrep")
15819 (synopsis "Frontend for @code{ripgrep}")
15820 (description "This package provides an Emacs interface for performing
15821 searches with @code{ripgrep}.")
15822 (license license:gpl3+))))
15823
15824 (define-public emacs-focus
15825 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
15826 (version "0.1.1")
15827 (revision "1"))
15828 (package
15829 (name "emacs-focus")
15830 (version (git-version version revision commit))
15831 (source
15832 (origin
15833 (method git-fetch)
15834 (uri (git-reference
15835 (url "https://github.com/larstvei/Focus")
15836 (commit commit)))
15837 (file-name (git-file-name name version))
15838 (sha256
15839 (base32
15840 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
15841 (build-system emacs-build-system)
15842 (home-page "https://github.com/larstvei/Focus")
15843 (synopsis "Minor mode for focusing in on relevant text")
15844 (description "This package provides a minor mode that dims the color of
15845 text in neighboring sections.")
15846 (license license:gpl3+))))
15847
15848 (define-public emacs-pandoc-mode
15849 (package
15850 (name "emacs-pandoc-mode")
15851 (version "2.27.2")
15852 (source
15853 (origin
15854 (method git-fetch)
15855 (uri (git-reference
15856 (url "https://github.com/joostkremers/pandoc-mode")
15857 (commit version)))
15858 (file-name (git-file-name name version))
15859 (sha256
15860 (base32
15861 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
15862 (build-system emacs-build-system)
15863 (propagated-inputs
15864 `(("emacs-dash" ,emacs-dash)
15865 ("emacs-hydra" ,emacs-hydra)))
15866 (home-page "https://github.com/joostkremers/pandoc-mode")
15867 (synopsis "Minor mode for interacting with Pandoc")
15868 (description "This package provides a Hydra menu for interacting with the
15869 Pandoc, the document-conversion tool.")
15870 (license license:bsd-3)))
15871
15872 (define-public emacs-ccls
15873 (let ((commit "b1acc336f27d8a3bbc750c2dc3be915a4ac1afea")
15874 (revision "3"))
15875 (package
15876 (name "emacs-ccls")
15877 (version (git-version "0.1" revision commit))
15878 (source
15879 (origin
15880 (method git-fetch)
15881 (uri (git-reference
15882 (url "https://github.com/MaskRay/emacs-ccls")
15883 (commit commit)))
15884 (file-name (git-file-name name version))
15885 (sha256
15886 (base32
15887 "1qgfxc5d1hb32ks1fxpx7agpw7dvnkz99wydlflc9fqq75g8v142"))))
15888 (build-system emacs-build-system)
15889 (propagated-inputs
15890 `(("ccls" ,ccls)
15891 ("emacs-dash" ,emacs-dash)
15892 ("emacs-projectile" ,emacs-projectile)
15893 ("emacs-lsp-mode" ,emacs-lsp-mode)))
15894 (home-page "https://github.com/MaskRay/emacs-ccls")
15895 (synopsis "Emacs support for the @code{ccls} language server")
15896 (description "This package extends @code{lsp-mode} to work with @code{C}
15897 and @code{C++} files through the @code{ccls} language server.")
15898 (license license:bsd-3))))
15899
15900 (define-public emacs-org-brain
15901 (package
15902 (name "emacs-org-brain")
15903 (version "0.5")
15904 (source
15905 (origin
15906 (method git-fetch)
15907 (uri (git-reference
15908 (url "https://github.com/Kungsgeten/org-brain.git")
15909 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
15910 (file-name (git-file-name name version))
15911 (sha256
15912 (base32
15913 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
15914 (build-system emacs-build-system)
15915 (home-page "https://github.com/Kungsgeten/org-brain")
15916 (synopsis "Org-mode wiki and concept-mapping for Emacs")
15917 (description "@code{emacs-org-brain} implements a variant of concept
15918 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
15919 org-mode entries, where each entry is a file or a headline, and you can get a
15920 visual overview of the relationships between the entries: parents, children,
15921 siblings and friends. This visual overview can also be used to browse your
15922 entries. You can think of entries as nodes in a mind map, or pages in a
15923 wiki.")
15924 (license license:expat)))
15925
15926 (define-public emacs-recent-addresses
15927 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
15928 (revision "1"))
15929 (package
15930 (name "emacs-recent-addresses")
15931 (home-page "http://nschum.de/src/emacs/recent-addresses/")
15932 (version (git-version "0.1" revision commit))
15933 (source (origin
15934 (method git-fetch)
15935 (uri (git-reference
15936 ;; Note: Use a branch that works with Helm. Submitted
15937 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
15938 (url "https://github.com/civodul/recent-addresses.el")
15939 (commit commit)))
15940 (sha256
15941 (base32
15942 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
15943 (file-name (git-file-name name version))))
15944 (build-system emacs-build-system)
15945 (synopsis "Record recently-used email addressed and auto-complete them")
15946 (description
15947 "@code{recent-addresses} is an Emacs package that allows you to quickly
15948 look up previously used email addresses. It can be used alongside the Gnus
15949 email client.")
15950 (license license:gpl2+))))
15951
15952 (define-public emacs-fold-dwim
15953 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
15954 (revision "0"))
15955 (package
15956 (name "emacs-fold-dwim")
15957 (version (git-version "1.2" revision commit))
15958 (home-page "https://github.com/emacsattic/fold-dwim")
15959 (source (origin
15960 (method git-fetch)
15961 (uri (git-reference (url home-page) (commit commit)))
15962 (sha256
15963 (base32
15964 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
15965 (file-name (git-file-name name version))))
15966 (build-system emacs-build-system)
15967 (synopsis "Unified user interface for Emacs folding modes")
15968 (description
15969 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
15970 can do different things depending on the context. In this package, it means
15971 that, if the cursor is in a currently hidden folded construction, we want to
15972 show it; if it's not, we want to hide whatever fold the cursor is in.")
15973 (license license:gpl2+))))
15974
15975 (define-public emacs-markup-faces
15976 (package
15977 (name "emacs-markup-faces")
15978 (version "1.0.0")
15979 (source
15980 (origin
15981 (method url-fetch)
15982 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
15983 version ".el"))
15984 (sha256
15985 (base32
15986 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
15987 (build-system emacs-build-system)
15988 (home-page "https://github.com/sensorflo/markup-faces")
15989 (synopsis "Collection of Emacs faces for markup language modes")
15990 (description "emacs-markup-faces is like font-lock-faces, but tailored for
15991 markup languages instead programming languages. The sub group markup-faces-text
15992 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
15993 common look and feel, or let's say theme, across different markup language modes
15994 and 'text viewing modes' respectively.")
15995 (license license:gpl3+)))
15996
15997 (define-public emacs-adoc-mode
15998 (package
15999 (name "emacs-adoc-mode")
16000 (version "0.6.6")
16001 (source
16002 (origin
16003 (method git-fetch)
16004 (uri (git-reference
16005 (url "https://github.com/sensorflo/adoc-mode.git")
16006 (commit (string-append "V" version))))
16007 (file-name (git-file-name name version))
16008 (sha256
16009 (base32
16010 "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm"))))
16011 (build-system emacs-build-system)
16012 (arguments
16013 `(#:phases
16014 (modify-phases %standard-phases
16015 ;; See: https://github.com/sensorflo/adoc-mode/issues/39.
16016 (add-after 'unpack 'disable-failing-tests
16017 (lambda _
16018 (let-syntax
16019 ((disable-tests
16020 (syntax-rules ()
16021 ((_ file ())
16022 (syntax-error "test names list must not be empty"))
16023 ((_ file (test-name ...))
16024 (substitute* file
16025 (((string-append "^\\(ert-deftest " test-name ".*") all)
16026 (string-append all "(skip-unless nil)\n")) ...)))))
16027 (disable-tests "adoc-mode-test.el"
16028 ("adoctest-test-tempo-delimited-blocks"
16029 "adoctest-test-tempo-macros"
16030 "adoctest-test-tempo-paragraphs"
16031 "adoctest-test-tempo-passthroug-macros"
16032 "adoctest-test-tempo-quotes")))
16033 #t)))
16034 #:tests? #t
16035 #:test-command '("emacs" "-Q" "-batch"
16036 "-l" "adoc-mode-test.el"
16037 "-f" "ert-run-tests-batch-and-exit")))
16038 (propagated-inputs
16039 `(("emacs-markup-faces" ,emacs-markup-faces)))
16040 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
16041 (synopsis "AsciiDoc mode for Emacs")
16042 (description "This package provides an Emacs major mode for editing AsciiDoc
16043 files. It focuses on highlighting the document to improve readability.")
16044 (license license:gpl2+)))
16045
16046 (define-public emacs-rust-mode
16047 (package
16048 (name "emacs-rust-mode")
16049 (version "0.4.0")
16050 (source (origin
16051 (method git-fetch)
16052 (uri (git-reference
16053 (url "https://github.com/rust-lang/rust-mode")
16054 (commit version)))
16055 (file-name (git-file-name name version))
16056 (sha256
16057 (base32
16058 "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"))))
16059 (build-system emacs-build-system)
16060 (arguments
16061 `(#:phases
16062 (modify-phases %standard-phases
16063 (replace 'check
16064 (lambda _
16065 (invoke "sh" "run_rust_emacs_tests.sh"))))))
16066 (home-page "https://github.com/rust-lang/rust-mode")
16067 (synopsis "Major Emacs mode for editing Rust source code")
16068 (description "This package provides a major Emacs mode for editing Rust
16069 source code.")
16070 (license (list license:expat
16071 license:asl2.0))))
16072
16073 (define-public emacs-ztree
16074 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
16075 (package
16076 (name "emacs-ztree")
16077 (version (git-version "1.0.5" "1" commit))
16078 (source
16079 (origin
16080 (method git-fetch)
16081 (uri (git-reference
16082 (url "https://github.com/fourier/ztree")
16083 (commit commit)))
16084 (file-name (git-file-name name version))
16085 (sha256
16086 (base32
16087 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
16088 (build-system emacs-build-system)
16089 (home-page "https://github.com/fourier/ztree")
16090 (synopsis "Directory tree comparison mode for Emacs")
16091 (description "Ztree is a project dedicated to implementation of several
16092 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
16093 @command{ztree-diff} and @command{ztree-dir} (the basis of
16094 @command{ztree-diff}).")
16095 (license license:gpl3))))
16096
16097 (define-public emacs-helm-org-contacts
16098 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
16099 (package
16100 (name "emacs-helm-org-contacts")
16101 (version (git-version "20180707" "1" commit))
16102 (source
16103 (origin
16104 (method git-fetch)
16105 (uri (git-reference
16106 (url "https://github.com/tmalsburg/helm-org-contacts")
16107 (commit commit)))
16108 (file-name (git-file-name name version))
16109 (sha256
16110 (base32
16111 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
16112 (build-system emacs-build-system)
16113 (propagated-inputs
16114 `(("emacs-dash" ,emacs-dash)
16115 ("emacs-helm" ,emacs-helm)
16116 ("emacs-s" ,emacs-s)))
16117 (home-page "https://github.com/tmalsburg/helm-org-contacts")
16118 (synopsis "Helm source for org-contacts")
16119 (description "This Helm source can be used to search contacts stored in
16120 org-contacts format. There are actions for inserting postal addresses, email
16121 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
16122 was called.")
16123 (license license:gpl3))))
16124
16125 (define-public emacs-dired-du
16126 (package
16127 (name "emacs-dired-du")
16128 (version "0.5.2")
16129 (source
16130 (origin
16131 (method url-fetch)
16132 (uri (string-append
16133 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
16134 (sha256
16135 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
16136 (build-system emacs-build-system)
16137 (home-page "https://elpa.gnu.org/packages/dired-du.html")
16138 (synopsis "Dired with recursive directory sizes")
16139 (description
16140 "Display the recursive size of directories in Dired.
16141 This file defines a minor mode @command{dired-du-mode} to show the recursive
16142 size of directories in Dired buffers. If @command{du} program is available,
16143 then the directory sizes are obtained with it. Otherwise, the directory sizes
16144 are obtained with Lisp. The former is faster and provide a more precise
16145 value. For directories where the user doesn't have read permission, the
16146 recursive size is not obtained. Once this mode is enabled, every new Dired
16147 buffer displays recursive dir sizes.")
16148 (license license:gpl3+)))
16149
16150 (define-public emacs-dired-rsync
16151 (package
16152 (name "emacs-dired-rsync")
16153 (version "0.4")
16154 (source (origin
16155 (method git-fetch)
16156 (uri (git-reference
16157 (url "https://github.com/stsquad/dired-rsync.git")
16158 (commit version)))
16159 (file-name (git-file-name name version))
16160 (sha256
16161 (base32
16162 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
16163 (build-system emacs-build-system)
16164 (propagated-inputs
16165 `(("emacs-s" ,emacs-s)
16166 ("emacs-dash" ,emacs-dash)))
16167 (home-page "https://github.com/stsquad/dired-rsync/")
16168 (synopsis "Support for rsync from Emacs dired buffers")
16169 (description "This package adds a single command @code{dired-rsync} which
16170 allows the user to copy marked files in a dired buffer via @code{rsync}. This
16171 is useful, especially for large files, because the copy happens in the
16172 background and doesn’t lock up Emacs. It is also more efficient than using
16173 tramps own encoding methods for moving data between systems.")
16174 (license license:gpl3+)))
16175
16176 (define-public emacs-pcre2el
16177 ;; Last release is very old so we get the latest commit.
16178 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
16179 (package
16180 (name "emacs-pcre2el")
16181 (version (git-version "1.8" "1" commit))
16182 (source
16183 (origin
16184 (method git-fetch)
16185 (uri (git-reference
16186 (url "https://github.com/joddie/pcre2el")
16187 (commit commit)))
16188 (file-name (git-file-name name version))
16189 (sha256
16190 (base32
16191 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
16192 (build-system emacs-build-system)
16193 (home-page "https://github.com/joddie/pcre2el")
16194 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
16195 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
16196 Tools) is a utility for working with regular expressions in Emacs, based on a
16197 recursive-descent parser for regexp syntax. In addition to converting (a
16198 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
16199
16200 @itemize
16201 @item convert Emacs syntax to PCRE
16202 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
16203 @item untangle complex regexps by showing the parse tree in @code{rx} form and
16204 highlighting the corresponding chunks of code
16205 @item show the complete list of strings (productions) matching a regexp,
16206 provided the list is finite
16207 @item provide live font-locking of regexp syntax (so far only for Elisp
16208 buffers – other modes on the TODO list).
16209 @end itemize\n")
16210 (license license:gpl3))))
16211
16212 (define-public emacs-magit-todos
16213 (package
16214 (name "emacs-magit-todos")
16215 (version "1.4")
16216 (source
16217 (origin
16218 (method git-fetch)
16219 (uri (git-reference
16220 (url "https://github.com/alphapapa/magit-todos")
16221 (commit version)))
16222 (file-name (git-file-name name version))
16223 (sha256
16224 (base32
16225 "09pjb4k409gc0h51vb5az1shx02c1hx8cnvhi529n7dm4maildg5"))))
16226 (build-system emacs-build-system)
16227 (propagated-inputs
16228 `(("emacs-async" ,emacs-async)
16229 ("emacs-dash" ,emacs-dash)
16230 ("emacs-f" ,emacs-f)
16231 ("emacs-hl-todo" ,emacs-hl-todo)
16232 ("magit" ,emacs-magit)
16233 ("emacs-pcre2el" ,emacs-pcre2el)
16234 ("emacs-s" ,emacs-s)))
16235 (home-page "https://github.com/alphapapa/magit-todos")
16236 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
16237 (description "This package displays keyword entries from source code
16238 comments and Org files in the Magit status buffer. Activating an item jumps
16239 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
16240 few (like NOTE).")
16241 (license license:gpl3)))
16242
16243 (define-public emacs-git-annex
16244 ;; Unreleased version has a fontification fix.
16245 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
16246 (revision "2"))
16247 (package
16248 (name "emacs-git-annex")
16249 (version (git-version "1.1" revision commit))
16250 (source
16251 (origin
16252 (method git-fetch)
16253 (uri (git-reference
16254 (url "https://github.com/jwiegley/git-annex-el")
16255 (commit commit)))
16256 (file-name (git-file-name name version))
16257 (sha256
16258 (base32
16259 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
16260 (build-system emacs-build-system)
16261 (home-page "https://github.com/jwiegley/git-annex-el")
16262 (synopsis "Emacs integration for git-annex")
16263 (description "Enhances Dired and buffers visiting annex files with
16264 git-annex functionality. In Dired, the names of annex files are shortened by
16265 hiding the symbolic links and fontified based on whether content is present.
16266 Commands for performing some common operations (e.g., unlocking and adding
16267 files) are provided.")
16268 (license license:gpl2+))))
16269
16270 (define-public emacs-hackernews
16271 (let ((commit "2362d7b00e59da7caddc8c0adc24dccb42fddef9")
16272 (revision "2"))
16273 (package
16274 (name "emacs-hackernews")
16275 (version (git-version "0.5.0" revision commit))
16276 (source
16277 (origin
16278 (method git-fetch)
16279 (uri (git-reference
16280 (url "https://github.com/clarete/hackernews.el")
16281 (commit commit)))
16282 (file-name (git-file-name name version))
16283 (sha256
16284 (base32
16285 "1hcc5b173yzcvvd2ls3jxrmsw2w9bi21m9hcpcirkn0nh93ywadv"))))
16286 (build-system emacs-build-system)
16287 (home-page "https://github.com/clarete/hackernews.el")
16288 (synopsis "Hacker News client for Emacs")
16289 (description "The @command{hackernews} package is able to fetch stories
16290 from six different Hacker News feeds, namely top, new, best, ask, show and job
16291 stories. The default feed is top stories, which corresponds to the Hacker
16292 News homepage.")
16293 (license license:gpl3))))
16294
16295 (define-public emacs-youtube-dl
16296 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
16297 (revision "2"))
16298 (package
16299 (name "emacs-youtube-dl")
16300 (version (git-version "1.0" "2" commit))
16301 (source
16302 (origin
16303 (method git-fetch)
16304 (uri (git-reference
16305 (url "https://github.com/skeeto/youtube-dl-emacs/")
16306 (commit commit)))
16307 (file-name (git-file-name name version))
16308 (sha256
16309 (base32
16310 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
16311 (build-system emacs-build-system)
16312 (inputs
16313 `(("youtube-dl" ,youtube-dl)))
16314 (arguments
16315 `(#:phases
16316 (modify-phases %standard-phases
16317 (add-after 'unpack 'configure
16318 (lambda* (#:key inputs #:allow-other-keys)
16319 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
16320 ;; .el is read-only in git.
16321 (chmod "youtube-dl.el" #o644)
16322 ;; Specify the absolute file names of the various
16323 ;; programs so that everything works out-of-the-box.
16324 (emacs-substitute-variables
16325 "youtube-dl.el"
16326 ("youtube-dl-program"
16327 (string-append youtube-dl "/bin/youtube-dl")))))))))
16328 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
16329 (synopsis "Emacs youtube-dl download manager")
16330 (description "This package manages a video download queue for
16331 @command{youtube-dl}, which serves as the back end. It manages a single
16332 @command{youtube-dl} subprocess, downloading one video at a time. New videos
16333 can be queued at any time.")
16334 (license license:unlicense))))
16335
16336 (define-public emacs-org-web-tools
16337 (package
16338 (name "emacs-org-web-tools")
16339 (version "1.0")
16340 (source
16341 (origin
16342 (method git-fetch)
16343 (uri (git-reference
16344 (url "https://github.com/alphapapa/org-web-tools")
16345 (commit version)))
16346 (file-name (git-file-name name version))
16347 (sha256
16348 (base32
16349 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
16350 (build-system emacs-build-system)
16351 (propagated-inputs
16352 `(("emacs-dash" ,emacs-dash)
16353 ("emacs-esxml" ,emacs-esxml)
16354 ("emacs-s" ,emacs-s)))
16355 (inputs
16356 `(("pandoc" ,ghc-pandoc)))
16357 (arguments
16358 `(#:phases
16359 (modify-phases %standard-phases
16360 (add-after 'unpack 'patch-exec-paths
16361 (lambda* (#:key inputs #:allow-other-keys)
16362 (let ((pandoc (assoc-ref inputs "pandoc")))
16363 (substitute* "org-web-tools.el"
16364 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
16365 #t))))))
16366 (home-page "https://github.com/alphapapa/org-web-tools")
16367 (synopsis "Display/Process web page as Org-mode content")
16368 (description "This package contains library functions and commands useful
16369 for retrieving web page content and processing it into Org-mode content.
16370
16371 For example, you can copy a URL to the clipboard or kill-ring, then run a
16372 command that downloads the page, isolates the “readable” content with
16373 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
16374 displays it in an Org-mode buffer. Another command does all of that but
16375 inserts it as an Org entry instead of displaying it in a new buffer.")
16376 (license license:gpl3+)))
16377
16378 (define-public emacs-blimp
16379 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
16380 (package
16381 (name "emacs-blimp")
16382 (version (git-version "0.0.0" "1" commit))
16383 (source
16384 (origin
16385 (method git-fetch)
16386 (uri (git-reference
16387 (url "https://github.com/walseb/blimp")
16388 (commit commit)))
16389 (file-name (git-file-name name version))
16390 (sha256
16391 (base32
16392 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
16393 (build-system emacs-build-system)
16394 (propagated-inputs
16395 `(("emacs-eimp" ,emacs-eimp)))
16396 (home-page "https://github.com/walseb/blimp")
16397 (synopsis "Emacs wrapper around all Imagemagick commands")
16398 (description "Blimp (Bustling Image Manipulation Package) is a complete
16399 wrapper around all Imagemagick commands with descriptions, autocompletion (for
16400 some commands) and hints displayed in prompt using @command{eimp.el} to
16401 execute its commands and resize images.")
16402 (license license:gpl3+))))
16403
16404 (define-public emacs-synosaurus
16405 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
16406 (package
16407 (name "emacs-synosaurus")
16408 (version (git-version "0.1.0" "1" commit))
16409 (source
16410 (origin
16411 (method git-fetch)
16412 (uri (git-reference
16413 (url "https://github.com/hpdeifel/synosaurus")
16414 (commit commit)))
16415 (file-name (git-file-name name version))
16416 (sha256
16417 (base32
16418 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
16419 (build-system emacs-build-system)
16420 (propagated-inputs
16421 `(("wordnet" ,wordnet)))
16422 (arguments
16423 `(#:phases
16424 (modify-phases %standard-phases
16425 (add-after 'unpack 'configure
16426 (lambda* (#:key inputs outputs #:allow-other-keys)
16427 (let ((wn (assoc-ref inputs "wordnet")))
16428 ;; .el is read-only in git.
16429 (chmod "synosaurus-wordnet.el" #o644)
16430 ;; Specify the absolute file names of the various
16431 ;; programs so that everything works out-of-the-box.
16432 (emacs-substitute-variables
16433 "synosaurus-wordnet.el"
16434 ("wordnet-command"
16435 (string-append wn "/bin/wn")))))))))
16436 (home-page "https://github.com/hpdeifel/synosaurus")
16437 (synopsis "Extensible thesaurus mode for Emacs")
16438 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
16439 backends, including the @command{wordnet} offline backend.")
16440 (license license:gpl3+))))
16441
16442 (define-public emacs-editorconfig
16443 (package
16444 (name "emacs-editorconfig")
16445 (version "0.8.1")
16446 (source
16447 (origin
16448 (method git-fetch)
16449 (uri (git-reference
16450 (url "https://github.com/editorconfig/editorconfig-emacs")
16451 (commit (string-append "v" version))))
16452 (file-name (git-file-name name version))
16453 (sha256
16454 (base32
16455 "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
16456 (build-system emacs-build-system)
16457 (home-page "https://github.com/editorconfig/editorconfig-emacs")
16458 (synopsis "Define and maintain consistent coding styles between different
16459 editors and IDEs")
16460 (description "The EditorConfig project consists of a file format for
16461 defining coding styles and a collection of text editor plugins that enable
16462 editors to read the file format and adhere to defined styles. EditorConfig
16463 files are easily readable and they work nicely with version control systems.")
16464 (license license:gpl3+)))
16465
16466 (define-public emacs-all-the-icons
16467 (package
16468 (name "emacs-all-the-icons")
16469 (version "3.2.0")
16470 (source
16471 (origin
16472 (method git-fetch)
16473 (uri (git-reference
16474 (url "https://github.com/domtronn/all-the-icons.el.git")
16475 (commit version)))
16476 (file-name (git-file-name name version))
16477 (sha256
16478 (base32
16479 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
16480 (build-system emacs-build-system)
16481 (arguments
16482 `(#:include '("\\.el$" "^data/" "^fonts/")
16483 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
16484 ;; all-the-icons--root-code". Ignoring tests.
16485 #:exclude '("^test/")
16486 #:tests? #f))
16487 (propagated-inputs
16488 `(("f" ,emacs-f)
16489 ("memoize" ,emacs-memoize)))
16490 (home-page "https://github.com/domtronn/all-the-icons.el")
16491 (synopsis "Collect icon fonts and propertize them within Emacs")
16492 (description "All-the-icons is a utility package to collect various icon
16493 fonts and propertize them within Emacs. Icon fonts allow you to propertize
16494 and format icons the same way you would normal text. This enables things such
16495 as better scaling of and anti aliasing of the icons.")
16496 ;; Package is released under Expat license. Elisp files are licensed
16497 ;; under GPL3+. Fonts come with various licenses: Expat for
16498 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
16499 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
16500 ;; "ocitcons.ttf" and "weathericons.ttf".
16501 (license
16502 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
16503
16504 (define-public emacs-wttrin
16505 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
16506 (revision "1"))
16507 (package
16508 (name "emacs-wttrin")
16509 (version (git-version "0.2.0" revision commit))
16510 (source (origin
16511 (method git-fetch)
16512 (uri (git-reference
16513 (url "https://github.com/bcbcarl/emacs-wttrin.git")
16514 (commit commit)))
16515 (file-name (git-file-name name version))
16516 (sha256
16517 (base32
16518 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
16519 (build-system emacs-build-system)
16520 (propagated-inputs
16521 `(("emacs-xterm-color" ,emacs-xterm-color)))
16522 (home-page "https://github.com/bcbcarl/emacs-wttrin")
16523 (synopsis "Frontend for weather web service @url{wttr.in}")
16524 (description "This package provides local weather information from
16525 @url{wttr.in}.")
16526 (license license:expat))))
16527
16528 (define-public emacs-powerline
16529 (package
16530 (name "emacs-powerline")
16531 (version "2.4")
16532 (source
16533 (origin
16534 (method git-fetch)
16535 (uri (git-reference
16536 (url "https://github.com/milkypostman/powerline.git")
16537 (commit version)))
16538 (file-name (git-file-name name version))
16539 (sha256
16540 (base32
16541 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
16542 (build-system emacs-build-system)
16543 (home-page "https://github.com/milkypostman/powerline/")
16544 (synopsis "Mode-line plugin for Emacs")
16545 (description "Powerline is a utility plugin which allows you to create
16546 a better-looking, more functional Emacs mode-line. A collection of predefined
16547 themes comes with the package.")
16548 (license license:gpl3+)))
16549
16550 (define-public emacs-spaceline
16551 (package
16552 (name "emacs-spaceline")
16553 (version "2.0.1")
16554 (source
16555 (origin
16556 (method git-fetch)
16557 (uri (git-reference
16558 (url "https://github.com/TheBB/spaceline.git")
16559 (commit (string-append "v" version))))
16560 (file-name (git-file-name name version))
16561 (sha256
16562 (base32
16563 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
16564 (build-system emacs-build-system)
16565 (propagated-inputs
16566 `(("dash" ,emacs-dash)
16567 ("powerline" ,emacs-powerline)
16568 ("s" ,emacs-s)))
16569 (home-page "https://github.com/TheBB/spaceline")
16570 (synopsis "Powerline theme from Spacemacs")
16571 (description "Spaceline provides Spacemacs' mode-line theme.
16572 This package provides features for three kinds of users.
16573
16574 @itemize
16575 @item You just want to use the Spacemacs mode-line theme and forget about it.
16576 @item You want to use something similar to the Spacemacs mode-line theme, but
16577 with a handful of easy tweaks.
16578 @item You want an easy-to-use library for building your own mode-line from
16579 scratch, and you think the Spacemacs theme looks good.
16580 @end itemize")
16581 (license license:gpl3+)))
16582
16583 (define-public emacs-column-marker
16584 (package
16585 (name "emacs-column-marker")
16586 (version "9")
16587 (source
16588 (origin
16589 (method url-fetch)
16590 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
16591 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
16592 (build-system emacs-build-system)
16593 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
16594 (synopsis "Emacs mode for highlighting columns")
16595 (description
16596 "With @code{column-marker.el} you can highlight any number of text columns.
16597 Three such highlight column markers are provided by default. This is
16598 especially useful for languages like COBOL or Fortran where certain columns
16599 have special meaning. It is also handy for aligning text across long vertical
16600 distances. Multi-column characters, such as @kbd{TAB} are treated
16601 correctly.")
16602 (license license:gpl2+)))
16603
16604 (define-public emacs-slime-repl-ansi-color
16605 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
16606 (package
16607 (name "emacs-slime-repl-ansi-color")
16608 (version (git-version "0.0.0" "1" commit))
16609 (source (origin
16610 (method git-fetch)
16611 (uri (git-reference
16612 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
16613 (commit commit)))
16614 (file-name (git-file-name name version))
16615 (sha256
16616 (base32
16617 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
16618 (build-system emacs-build-system)
16619 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
16620 (synopsis "Color ANSI codes in the REPL of SLIME")
16621 (description "Color ANSI codes in the REPL of SLIME")
16622 (license license:gpl2+))))
16623
16624 (define-public emacs-helm-slime
16625 (package
16626 (name "emacs-helm-slime")
16627 (version "0.4.0")
16628 (source (origin
16629 (method git-fetch)
16630 (uri (git-reference
16631 (url "https://github.com/emacs-helm/helm-slime")
16632 (commit version)))
16633 (file-name (git-file-name name version))
16634 (sha256
16635 (base32
16636 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
16637 (build-system emacs-build-system)
16638 (propagated-inputs
16639 `(("emacs-helm" ,emacs-helm)
16640 ("emacs-slime" ,emacs-slime)))
16641 (home-page "https://github.com/emacs-helm/helm-slime")
16642 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
16643 (description "Helm-SLIME defines a few new commands:
16644
16645 @itemize
16646 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
16647 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
16648 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
16649 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
16650 @end itemize\n")
16651 (license license:gpl3+)))
16652
16653 (define-public emacs-helm-sly
16654 (package
16655 (name "emacs-helm-sly")
16656 (version "0.4.1")
16657 (source (origin
16658 (method git-fetch)
16659 (uri (git-reference
16660 (url "https://github.com/emacs-helm/helm-sly")
16661 (commit version)))
16662 (file-name (git-file-name name version))
16663 (sha256
16664 (base32
16665 "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"))))
16666 (build-system emacs-build-system)
16667 (propagated-inputs
16668 `(("emacs-helm" ,emacs-helm)
16669 ("emacs-sly" ,emacs-sly)))
16670 (home-page "https://github.com/emacs-helm/helm-sly")
16671 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
16672 (description "Helm-SLY defines a few new commands:
16673
16674 @itemize
16675 @item helm-sly-list-connections: Yet another Lisp connection list with Helm.
16676 @item: helm-sly-apropos: Yet another @command{apropos} with Helm.
16677 @item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an
16678 extra source of Lisp-related buffers, like the events buffer or the scratch
16679 buffer.
16680 @end itemize\n")
16681 (license license:gpl3+)))
16682
16683 (define-public emacs-gtk-look
16684 (package
16685 (name "emacs-gtk-look")
16686 (version "29")
16687 (source (origin
16688 (method url-fetch)
16689 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
16690 (sha256
16691 (base32
16692 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
16693 (build-system emacs-build-system)
16694 (arguments
16695 `(#:phases
16696 (modify-phases %standard-phases
16697 (add-after 'unpack 'configure
16698 (lambda _
16699 ;; File is read-only.
16700 (chmod "gtk-look.el" #o644)
16701 (emacs-substitute-variables "gtk-look.el"
16702 ("gtk-lookup-devhelp-indices"
16703 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
16704 #t)))))
16705 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
16706 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
16707 (description "@command{gtk-look} finds and displays HTML documentation for
16708 GTK, GNOME and Glib functions and variables in Emacs, similar to what
16709 info-lookup-symbol does for info files (C-h S). The documentation is expected
16710 to be devhelp indexes with HTML files. The location of the indexes can be
16711 customized. In addition to C code development @command{gtk-look} is good for
16712
16713 @itemize
16714 @item @command{perl-gtk2}, recognising class funcs like
16715 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
16716 @item @command{guile-gnome}, recognising methods like @command{set-text} and
16717 classes like @command{<gtk-window>}.
16718 @end itemize\n")
16719 (license license:gpl3+)))
16720
16721 (define-public emacs-ov
16722 (package
16723 (name "emacs-ov")
16724 (version "1.0.6")
16725 (source (origin
16726 (method git-fetch)
16727 (uri (git-reference
16728 (url "https://github.com/ShingoFukuyama/ov.el.git")
16729 (commit version)))
16730 (file-name (git-file-name name version))
16731 (sha256
16732 (base32
16733 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
16734 (build-system emacs-build-system)
16735 (home-page "https://github.com/ShingoFukuyama/ov.el")
16736 (synopsis "Overlay library for Emacs Lisp")
16737 (description "@code{ov.el} provides a simple way to manipulate overlays in
16738 Emacs.")
16739 (license license:gpl3+)))
16740
16741 (define-public emacs-matrix-client
16742 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
16743 (package
16744 (name "emacs-matrix-client")
16745 (version (git-version "0.0.0" "4" commit))
16746 (source (origin
16747 (method git-fetch)
16748 (uri (git-reference
16749 (url "https://github.com/jgkamat/matrix-client-el.git")
16750 (commit commit)))
16751 (file-name (git-file-name name version))
16752 (sha256
16753 (base32
16754 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
16755 (build-system emacs-build-system)
16756 (arguments
16757 `(#:phases
16758 (modify-phases %standard-phases
16759 (add-after 'unpack 'add-missing-require
16760 ;; Fix a filter error at runtime due to a missing require.
16761 ;; Reported upstream:
16762 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
16763 (lambda _
16764 (substitute* "matrix-client-room.el"
16765 (("\\(require 'dash-functional\\)" all)
16766 (string-append all "\n" "(require 'anaphora)")))
16767 #t)))))
16768 (propagated-inputs
16769 `(("a" ,emacs-a)
16770 ("anaphora" ,emacs-anaphora)
16771 ("dash" ,emacs-dash)
16772 ("esxml" ,emacs-esxml)
16773 ("f" ,emacs-f)
16774 ("frame-purpose" ,emacs-frame-purpose)
16775 ("ht" ,emacs-ht)
16776 ("ov" ,emacs-ov)
16777 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
16778 ("request" ,emacs-request)
16779 ("s" ,emacs-s)
16780 ("tracking" ,emacs-tracking)))
16781 (home-page "https://github.com/jgkamat/matrix-client-el")
16782 (synopsis "Matrix client for Emacs")
16783 (description "@code{matrix-client} is a simple chat UI to Matrix.org
16784 rooms. It also provides an API which allows Emacs to seamlessly create
16785 RPC channels with users and other software.")
16786 (license license:gpl3+))))
16787
16788 (define-public emacs-sesman
16789 (package
16790 (name "emacs-sesman")
16791 (version "0.3.4")
16792 (source
16793 (origin
16794 (method git-fetch)
16795 (uri (git-reference
16796 (url "https://github.com/vspinu/sesman.git")
16797 (commit (string-append "v" version))))
16798 (file-name (git-file-name name version))
16799 (sha256
16800 (base32
16801 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
16802 (build-system emacs-build-system)
16803 (arguments
16804 `(#:phases
16805 (modify-phases %standard-phases
16806 (add-after 'unpack 'set-shell
16807 ;; Setting the SHELL environment variable is required for the tests
16808 ;; to find sh.
16809 (lambda _
16810 (setenv "SHELL" (which "sh"))
16811 #t)))
16812 #:tests? #t
16813 #:test-command '("make" "test")))
16814 (home-page "https://github.com/vspinu/sesman")
16815 (synopsis "Session manager for Emacs based IDEs")
16816 (description "Sesman provides facilities for session management and
16817 interactive session association with the current contexts (project, directory,
16818 buffers). While sesman can be used to manage arbitrary sessions, it primary
16819 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
16820 (license license:gpl3+)))
16821
16822 (define-public emacs-buttercup
16823 (package
16824 (name "emacs-buttercup")
16825 (version "1.16")
16826 (source
16827 (origin
16828 (method git-fetch)
16829 (uri (git-reference
16830 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
16831 (commit (string-append "v" version))))
16832 (file-name (git-file-name name version))
16833 (sha256
16834 (base32
16835 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
16836 (build-system emacs-build-system)
16837 (arguments
16838 `(#:tests? #t
16839 #:test-command '("make" "test")
16840 #:phases
16841 (modify-phases %standard-phases
16842 (add-after 'install 'install-bin
16843 (lambda* (#:key outputs #:allow-other-keys)
16844 (install-file "bin/buttercup"
16845 (string-append (assoc-ref outputs "out") "/bin"))
16846 #t)))))
16847 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
16848 (synopsis "Behavior driven emacs lisp testing framework")
16849 (description "Buttercup is a behavior-driven development framework for
16850 testing Emacs Lisp code. It allows to group related tests so they can share
16851 common set-up and tear-down code, and allows the programmer to \"spy\" on
16852 functions to ensure they are called with the right arguments during testing.")
16853 (license license:gpl3+)))
16854
16855 (define-public emacs-wordnut
16856 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
16857 (revision "0"))
16858 (package
16859 (name "emacs-wordnut")
16860 (version (git-version "0.1" revision commit))
16861 (home-page "https://github.com/gromnitsky/wordnut")
16862 (source (origin
16863 (method git-fetch)
16864 (uri (git-reference (url home-page) (commit commit)))
16865 (sha256
16866 (base32
16867 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
16868 (patches
16869 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
16870 (file-name (git-file-name name version))))
16871 (build-system emacs-build-system)
16872 (propagated-inputs
16873 `(("wordnet" ,wordnet)
16874 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
16875 (synopsis "Major mode for WordNet")
16876 (description "This Emacs package provides an interface for
16877 @code{wordnet}. Features include completion, if the query is not found
16878 too ambiguous and navigation in the result buffer.")
16879 (license license:gpl3+))))
16880
16881 (define-public emacs-frame-purpose
16882 (package
16883 (name "emacs-frame-purpose")
16884 (version "1.0")
16885 (source (origin
16886 (method git-fetch)
16887 (uri (git-reference
16888 (url "https://github.com/alphapapa/frame-purpose.el.git")
16889 (commit version)))
16890 (sha256
16891 (base32
16892 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
16893 (file-name (git-file-name name version))))
16894 (build-system emacs-build-system)
16895 (inputs
16896 `(("dash" ,emacs-dash)))
16897 (synopsis "Purpose-specific frames for Emacs")
16898 (description "@code{frame-purpose} makes it easy to open purpose-specific
16899 frames that only show certain buffers, e.g. by buffers’ major mode, their
16900 filename or directory, etc, with custom frame/X-window titles, icons, and
16901 other frame parameters.")
16902 (home-page "https://github.com/alphapapa/frame-purpose.el")
16903 (license license:gpl3+)))
16904
16905 (define-public emacs-arduino-mode
16906 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
16907 (package
16908 (name "emacs-arduino-mode")
16909 (version (git-version "0" "0" commit))
16910 (source (origin
16911 (method git-fetch)
16912 (uri (git-reference
16913 (url "https://github.com/bookest/arduino-mode.git")
16914 (commit commit)))
16915 (sha256
16916 (base32
16917 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
16918 (file-name (git-file-name name version))))
16919 (build-system emacs-build-system)
16920 (synopsis "Emacs major mode for editing Arduino sketches")
16921 (description "Emacs major mode for editing Arduino sketches.")
16922 (home-page "https://github.com/bookest/arduino-mode")
16923 (license license:gpl3+))))
16924
16925 (define-public emacs-annalist
16926 (let ((commit "e0601539c9ac0171a684ea3ff6266d215d1d08e6")
16927 (revision "1"))
16928 (package
16929 (name "emacs-annalist")
16930 (version (git-version "1.0.0" revision commit))
16931 (source (origin
16932 (method git-fetch)
16933 (uri (git-reference
16934 (url "https://github.com/noctuid/annalist.el.git")
16935 (commit commit)))
16936 (sha256
16937 (base32
16938 "10bmimdzpi6cql4sb2hbgdvrza83xbac50bi9qng4z662pfnlaam"))
16939 (file-name (git-file-name name version))))
16940 (build-system emacs-build-system)
16941 (native-inputs
16942 `(("emacs-buttercup" ,emacs-buttercup)
16943 ("emacs-lispy" ,emacs-lispy)
16944 ("emacs-evil" ,emacs-evil)))
16945 (arguments
16946 `(#:phases
16947 (modify-phases %standard-phases
16948 (add-before 'check 'fix-makefile
16949 (lambda _
16950 (substitute* "Makefile"
16951 (("cask exec ") ""))
16952 #t)))
16953 #:tests? #t
16954 #:test-command '("make" "test")))
16955 (home-page "https://github.com/noctuid/annalist.el")
16956 (synopsis "Record and display information with Org headings and tables")
16957 (description "This package allows for keybindings, settings, hooks, and
16958 advice to be recorded and displayed.")
16959 (license license:gpl3+))))
16960
16961 (define-public emacs-general
16962 (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e")
16963 (revision "3"))
16964 (package
16965 (name "emacs-general")
16966 (version (git-version "0" revision commit))
16967 (source (origin
16968 (method git-fetch)
16969 (uri (git-reference
16970 (url "https://github.com/noctuid/general.el.git")
16971 (commit commit)))
16972 (sha256
16973 (base32
16974 "1aqi5axkwfng6rm52sblf738c7rffp10sqs69dvkh2fv3ps8q28i"))
16975 (file-name (git-file-name name version))))
16976 (build-system emacs-build-system)
16977 (native-inputs
16978 `(("emacs-buttercup" ,emacs-buttercup)
16979 ("emacs-evil" ,emacs-evil)
16980 ("emacs-which-key" ,emacs-which-key)
16981 ("emacs-use-package" ,emacs-use-package)))
16982 (arguments
16983 `(#:phases
16984 (modify-phases %standard-phases
16985 (add-before 'check 'fix-makefile
16986 (lambda _
16987 (substitute* "Makefile"
16988 (("cask exec ") ""))
16989 #t)))
16990 #:tests? #t
16991 #:test-command '("make" "test")))
16992 (home-page "https://github.com/noctuid/general.el")
16993 (synopsis "More convenient key definitions in emacs")
16994 (description "@code{general.el} provides a more convenient method for
16995 binding keys in emacs (for both evil and non-evil users). Like
16996 @code{use-package}, which provides a convenient, unified interface for
16997 managing packages, @code{general.el} is intended to provide a convenient,
16998 unified interface for key definitions. While this package does implement some
16999 completely new functionality (such as the ability to make vim-style
17000 keybindings under non-prefix keys with an optional timeout), its primary
17001 purpose is to build on existing functionality to make key definition more
17002 clear and concise. @code{general-define-key} is user-extensible and supports
17003 defining multiple keys in multiple keymaps at once, implicitly wrapping key
17004 strings with (@code{kbd ...}), using named prefix key sequences (like the
17005 leader key in vim), and much more.")
17006 (license license:gpl3+))))
17007
17008 (define-public emacs-tldr
17009 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
17010 (package
17011 (name "emacs-tldr")
17012 (version (git-version "0" "0" commit))
17013 (home-page "https://github.com/kuanyui/tldr.el")
17014 (source (origin
17015 (method git-fetch)
17016 (uri (git-reference
17017 (url (string-append home-page ".git"))
17018 (commit commit)))
17019 (sha256
17020 (base32
17021 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
17022 (file-name (git-file-name name version))))
17023 (build-system emacs-build-system)
17024 (synopsis "Simplified and community-driven man pages for Emacs")
17025 (description "@code{emacs-tldr} allows the user to access tldr pages
17026 from within emacs. The @code{tldr} pages are a community effort to simplify
17027 the man pages with practical examples.")
17028 (license license:wtfpl2))))
17029
17030 (define-public emacs-window-layout
17031 (package
17032 (name "emacs-window-layout")
17033 (version "1.4")
17034 (home-page "https://github.com/kiwanami/emacs-window-layout")
17035 (source (origin
17036 (method git-fetch)
17037 (uri (git-reference
17038 (url home-page)
17039 (commit (string-append "v" version))))
17040 (sha256
17041 (base32
17042 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
17043 (file-name (git-file-name name version))))
17044 (build-system emacs-build-system)
17045 (synopsis "Simple window layout management framework for emacs")
17046 (description "A window-layout management library that can split a frame
17047 or a window into some windows according to a layout recipe.")
17048 (license license:gpl3+)))
17049
17050 (define-public emacs-e2wm
17051 (package
17052 (name "emacs-e2wm")
17053 (version "1.4")
17054 (home-page "https://github.com/kiwanami/emacs-window-manager")
17055 (source (origin
17056 (method git-fetch)
17057 (uri (git-reference
17058 (url home-page)
17059 (commit (string-append "v" version))))
17060 (sha256
17061 (base32
17062 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
17063 (file-name (git-file-name name version))))
17064 (build-system emacs-build-system)
17065 (propagated-inputs
17066 `(("emacs-window-layout" ,emacs-window-layout)))
17067 (synopsis "Equilibrium Emacs Window Manager")
17068 (description "E2WM is a window manager for Emacs. It enables to
17069 customize the place of pop-up window, how the windows are split, how the
17070 buffers are located in the windows, keybinds to manipulate windows and
17071 buffers, etc. It also has plug-ins to help your Emacs life.")
17072 (license license:gpl3+)))
17073
17074 (define-public emacs-ctable
17075 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
17076 (package
17077 (name "emacs-ctable")
17078 (version (git-version "0.1.2" "1" commit))
17079 (home-page "https://github.com/kiwanami/emacs-ctable")
17080 (source (origin
17081 (method git-fetch)
17082 (uri (git-reference
17083 (url home-page)
17084 (commit commit)))
17085 (sha256
17086 (base32
17087 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
17088 (file-name (git-file-name name version))))
17089 (build-system emacs-build-system)
17090 (synopsis "Table component for Emacs Lisp")
17091 (description "This program is a table component for Emacs Lisp. Other
17092 programs can use this table component for the application UI.")
17093 (license license:gpl3+))))
17094
17095 (define-public emacs-leetcode
17096 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
17097 (revision "1"))
17098 (package
17099 (name "emacs-leetcode")
17100 (version (git-version "0" "1" commit))
17101 (home-page "https://github.com/ginqi7/leetcode-emacs.git")
17102 (source (origin
17103 (method git-fetch)
17104 (uri (git-reference
17105 (url "https://github.com/ginqi7/leetcode-emacs")
17106 (commit commit)))
17107 (sha256
17108 (base32
17109 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
17110 (file-name (git-file-name name version))))
17111 (build-system emacs-build-system)
17112 (propagated-inputs
17113 `(("emacs-names" ,emacs-names)
17114 ("emacs-ctable" ,emacs-ctable)))
17115 (synopsis "Solve and submit LeetCode problems from within Emacs")
17116 (description "This package provides an Emacs interface to LeetCode
17117 allowing users to log in and solve problems of their choice using Emacs.")
17118 (license license:unlicense))))
17119
17120 (define-public emacs-epc
17121 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
17122 (package
17123 (name "emacs-epc")
17124 (version (git-version "0.1.1" "1" commit))
17125 (home-page "https://github.com/kiwanami/emacs-epc")
17126 (source (origin
17127 (method git-fetch)
17128 (uri (git-reference
17129 (url home-page)
17130 (commit commit)))
17131 (sha256
17132 (base32
17133 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
17134 (file-name (git-file-name name version))))
17135 (build-system emacs-build-system)
17136 (propagated-inputs
17137 `(("emacs-deferred" ,emacs-deferred)
17138 ("emacs-ctable" ,emacs-ctable)))
17139 (synopsis "RPC stack for Emacs Lisp")
17140 (description "This program is an asynchronous RPC stack for Emacs.
17141 Using this RPC stack, Emacs can communicate with the peer process
17142 smoothly. Because the protocol employs S-expression encoding and consists of
17143 asynchronous communications, the RPC response is fairly good.")
17144 (license license:gpl3+))))
17145
17146 (define-public emacs-edbi
17147 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
17148 (package
17149 (name "emacs-edbi")
17150 (version (git-version "0.1.3" "1" commit))
17151 (home-page "https://github.com/kiwanami/emacs-edbi")
17152 (source (origin
17153 (method git-fetch)
17154 (uri (git-reference
17155 (url home-page)
17156 (commit commit)))
17157 (sha256
17158 (base32
17159 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
17160 (file-name (git-file-name name version))))
17161 (build-system emacs-build-system)
17162 (inputs
17163 `(("perl" ,perl)
17164 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
17165 ("perl-dbi" ,perl-dbi)
17166 ;; TODO: Adding support for perl-dbd-mysql and others would
17167 ;; dramatically increase the closure size. Make several packages?
17168 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
17169 (propagated-inputs
17170 `(("emacs-e2wm" ,emacs-e2wm)
17171 ("emacs-epc" ,emacs-epc)))
17172 (arguments
17173 `(#:include '("\\.el$" "\\.pl$")
17174 #:phases
17175 (modify-phases %standard-phases
17176 (add-after 'install 'patch-path
17177 (lambda* (#:key inputs outputs #:allow-other-keys)
17178 (let ((perl (assoc-ref inputs "perl"))
17179 (dir (string-append (assoc-ref outputs "out")
17180 "/share/emacs/site-lisp/guix.d/edbi-"
17181 ,version)))
17182 (substitute* (string-append dir "/edbi.el")
17183 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
17184 (chmod (string-append dir "/edbi-bridge.pl") #o555)
17185 (wrap-program (string-append dir "/edbi-bridge.pl")
17186 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
17187 #t))))))
17188 (synopsis "Database Interface for Emacs Lisp")
17189 (description "This program connects the database server through Perl's
17190 DBI, and provides DB-accessing API and the simple management UI.")
17191 (license license:gpl3+))))
17192
17193 (define-public emacs-edbi-sqlite
17194 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
17195 (package
17196 (name "emacs-edbi-sqlite")
17197 (version (git-version "0.1.1" "1" commit))
17198 (home-page "https://github.com/proofit404/edbi-sqlite")
17199 (source (origin
17200 (method git-fetch)
17201 (uri (git-reference
17202 (url home-page)
17203 (commit commit)))
17204 (sha256
17205 (base32
17206 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
17207 (file-name (git-file-name name version))))
17208 (build-system emacs-build-system)
17209 (propagated-inputs
17210 `(("emacs-edbi" ,emacs-edbi)))
17211 (synopsis "Open SQLite files in Emacs")
17212 (description "This package is a convenience wrapper for @command{edbi}
17213 to open SQLite databases.")
17214 (license license:gpl3+))))
17215
17216 (define-public emacs-nix-mode
17217 (package
17218 (name "emacs-nix-mode")
17219 (version "1.4.1")
17220 (source
17221 (origin
17222 (method git-fetch)
17223 (uri (git-reference
17224 (url "https://github.com/NixOS/nix-mode.git")
17225 (commit (string-append "v" version))))
17226 (file-name (git-file-name name version))
17227 (sha256
17228 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
17229 (build-system emacs-build-system)
17230 (inputs
17231 `(("emacs-company" ,emacs-company)
17232 ("emacs-json-mode" ,emacs-json-mode)
17233 ("emacs-mmm-mode" ,emacs-mmm-mode)))
17234 (home-page "https://github.com/NixOS/nix-mode")
17235 (synopsis "Emacs major mode for editing Nix expressions")
17236 (description "@code{nixos-mode} provides an Emacs major mode for editing
17237 Nix expressions. It supports syntax highlighting, indenting and refilling of
17238 comments.")
17239 (license license:lgpl2.1+)))
17240
17241 (define-public emacs-libmpdel
17242 (package
17243 (name "emacs-libmpdel")
17244 (version "1.1.2")
17245 (source (origin
17246 (method git-fetch)
17247 (uri (git-reference
17248 (url "https://gitea.petton.fr/mpdel/libmpdel.git")
17249 (commit (string-append "v" version))))
17250 (file-name (git-file-name name version))
17251 (sha256
17252 (base32
17253 "0dnjndpv6bmz5blfs75ynmbm32g23l4slg5p3941b1i94a08qzpy"))))
17254 (build-system emacs-build-system)
17255 (home-page "https://gitea.petton.fr/mpdel/libmpdel")
17256 (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
17257 (description
17258 "An Emacs library client to communicate with Music Player Daemon (MPD), a
17259 flexible, powerful, server-side application for playing music.")
17260 (license license:gpl3+)))
17261
17262 (define-public emacs-mpdel
17263 (package
17264 (name "emacs-mpdel")
17265 (version "1.0.0")
17266 (source
17267 (origin
17268 (method git-fetch)
17269 (uri (git-reference
17270 (url "https://gitea.petton.fr/mpdel/mpdel.git")
17271 (commit (string-append "v" version))))
17272 (file-name (git-file-name name version))
17273 (sha256
17274 (base32
17275 "0pyyvbzskr44dxbmlp3y0r6s459fd51cvwjmnjaqxfxflr5v891g"))))
17276 (build-system emacs-build-system)
17277 (inputs
17278 `(("emacs-libmpdel" ,emacs-libmpdel)))
17279 (home-page "https://gitea.petton.fr/mpdel/mpdel")
17280 (synopsis "Emacs user interface for Music Player Daemon (MPD)")
17281 (description
17282 "MPDel provides an Emacs user interface to control playback (play, pause,
17283 next, volume) and display and control the current playlist as well as your
17284 stored playlists.")
17285 (license license:gpl3+)))
17286
17287 (define-public emacs-simple-mpc
17288 ;; There have been no releases.
17289 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
17290 (revision "1"))
17291 (package
17292 (name "emacs-simple-mpc")
17293 (version (git-version "0" revision commit))
17294 (source
17295 (origin
17296 (method git-fetch)
17297 (uri (git-reference
17298 (url "https://github.com/jorenvo/simple-mpc.git")
17299 (commit commit)))
17300 (file-name (git-file-name name version))
17301 (sha256
17302 (base32
17303 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
17304 (build-system emacs-build-system)
17305 (propagated-inputs `(("emacs-s" ,emacs-s)))
17306 (home-page "https://github.com/jorenvo/simple-mpc")
17307 (synopsis "Simple Emacs frontend to mpc")
17308 (description "This package provides an Emacs major mode which acts as a
17309 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
17310 (license license:gpl3+))))
17311
17312 (define-public emacs-mkmcc-gnuplot-mode
17313 (package
17314 (name "emacs-mkmcc-gnuplot-mode")
17315 (version "1.2.0")
17316 (source
17317 (origin
17318 (method git-fetch)
17319 (uri (git-reference
17320 (url "https://github.com/mkmcc/gnuplot-mode")
17321 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
17322 (file-name (git-file-name name version))
17323 (sha256
17324 (base32
17325 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
17326 (build-system emacs-build-system)
17327 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
17328 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
17329 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
17330 mode for editing gnuplot scripts. It provides syntax highlighting,
17331 indentation and a command to plot the file.")
17332 (license license:gpl3+)))
17333
17334 (define-public emacs-cmake-font-lock
17335 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
17336 (revision "1"))
17337 (package
17338 (name "emacs-cmake-font-lock")
17339 (version (git-version "0.1.5" revision commit))
17340 (source (origin
17341 (method git-fetch)
17342 (uri (git-reference
17343 (url "https://github.com/Lindydancer/cmake-font-lock.git")
17344 (commit commit)))
17345 (file-name (git-file-name name version))
17346 (sha256
17347 (base32
17348 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
17349 (build-system emacs-build-system)
17350 (native-inputs
17351 `(("emacs-faceup" ,emacs-faceup)))
17352 (arguments
17353 `(#:include (cons "^admin\\/" %default-include)))
17354 (home-page "https://github.com/Lindydancer/cmake-font-lock")
17355 (synopsis "Advanced type-aware syntax-highlighting for CMake")
17356 (description "This package highlights function arguments in CMake
17357 according to their use.")
17358 (license license:gpl3+))))
17359
17360 (define-public emacs-dtrt-indent
17361 (package
17362 (name "emacs-dtrt-indent")
17363 (version "0.8")
17364 (source (origin
17365 (method git-fetch)
17366 (uri (git-reference
17367 (url "https://github.com/jscheid/dtrt-indent")
17368 (commit version)))
17369 (file-name (git-file-name name version))
17370 (sha256
17371 (base32
17372 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
17373 (build-system emacs-build-system)
17374 (home-page "https://github.com/jscheid/dtrt-indent")
17375 (synopsis "Minor mode that guesses the indentation offset")
17376 (description "This package provides a minor mode that guesses the
17377 indentation offset originally used for creating source code files and
17378 transparently adjusts the corresponding settings in Emacs, making it more
17379 convenient to edit foreign files.")
17380 (license license:gpl2+)))
17381
17382 (define-public emacs-repo
17383 (package
17384 (name "emacs-repo")
17385 (version "0.1.3")
17386 (source (origin
17387 (method git-fetch)
17388 (uri (git-reference
17389 (url "https://github.com/canatella/repo-el")
17390 (commit version)))
17391 (file-name (git-file-name name version))
17392 (sha256
17393 (base32
17394 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
17395 (build-system emacs-build-system)
17396 (native-inputs
17397 `(("emacs-el-mock" ,emacs-el-mock)
17398 ("ert-runner" ,emacs-ert-runner)))
17399 (propagated-inputs
17400 `(("emacs-f" ,emacs-f)
17401 ("magit" ,emacs-magit)))
17402 (home-page "https://github.com/canatella/repo-el")
17403 (synopsis "Emacs interface for the Google Repo tool")
17404 (description "This package provides integration of the Google Repo tool
17405 with emacs. It displays the output of the @code{repo status} command in a
17406 buffer and launches Magit from the status buffer for the project at point.")
17407 (license license:gpl3+)))
17408
17409 (define-public emacs-alect-themes
17410 (package
17411 (name "emacs-alect-themes")
17412 (version "0.9")
17413 (source (origin
17414 (method git-fetch)
17415 (uri (git-reference
17416 (url "https://github.com/alezost/alect-themes")
17417 (commit (string-append "v" version))))
17418 (file-name (git-file-name name version))
17419 (sha256
17420 (base32
17421 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
17422 (build-system emacs-build-system)
17423 (home-page "https://github.com/alezost/alect-themes")
17424 (synopsis "Low contrast, light, dark and black color theme for Emacs")
17425 (description "@code{emacs-alect-themes} provides configurable light, dark
17426 and black color themes for Emacs. The themes are intended to be used with
17427 GUI.")
17428 (license license:gpl3+)))
17429
17430 (define-public emacs-google-c-style
17431 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
17432 (revision "0"))
17433 (package
17434 (name "emacs-google-c-style")
17435 (version (git-version "0.1" revision commit))
17436 (source (origin
17437 (method git-fetch)
17438 (uri (git-reference
17439 (url "https://github.com/google/styleguide")
17440 (commit commit)))
17441 (file-name (git-file-name name version))
17442 (sha256
17443 (base32
17444 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
17445 (build-system emacs-build-system)
17446 (home-page "https://github.com/google/styleguide")
17447 (synopsis "Emacs settings file for Google C/C++ style")
17448 (description "@code{emacs-google-c-style} provides an Emacs settings
17449 file for Google C and C++ style.")
17450 (license license:gpl1+))))
17451
17452 (define-public emacs-redshank
17453 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
17454 (revision "1"))
17455 (package
17456 (name "emacs-redshank")
17457 (version (git-version "0.1" revision commit))
17458 (source (origin
17459 (method git-fetch)
17460 (uri (git-reference
17461 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
17462 (commit commit)))
17463 (file-name (git-file-name name version))
17464 (sha256
17465 (base32
17466 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
17467 (build-system emacs-build-system)
17468 (propagated-inputs
17469 `(("emacs-paredit" ,emacs-paredit)))
17470 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
17471 (synopsis "Common Lisp Editing Extensions (for Emacs)")
17472 (description "Redshank is a collection of code-wrangling Emacs macros
17473 mostly geared towards Common Lisp, but some are useful for other Lisp
17474 dialects, too. Redshank's code transformations aim to be expression-based (as
17475 opposed to character-based).")
17476 (license license:gpl1+))))
17477
17478 (define-public emacs-disk-usage
17479 (package
17480 (name "emacs-disk-usage")
17481 (version "1.3.3")
17482 (source
17483 (origin
17484 (method git-fetch)
17485 (uri (git-reference
17486 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
17487 (commit version)))
17488 (file-name (git-file-name name version))
17489 (sha256
17490 (base32
17491 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
17492 (build-system emacs-build-system)
17493 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
17494 (synopsis "Sort and browse disk usage listings with Emacs")
17495 (description "Disk Usage is a file system analyzer: it offers a tabulated
17496 view of file listings sorted by size. Directory sizes are computed
17497 recursively. The results are cached for speed.")
17498 (license license:gpl3+)))
17499
17500 (define-public emacs-orgit
17501 (package
17502 (name "emacs-orgit")
17503 (version "1.5.3")
17504 (home-page "https://github.com/magit/orgit")
17505 (source (origin
17506 (method git-fetch)
17507 (uri (git-reference
17508 (url home-page)
17509 (commit (string-append "v" version))))
17510 (file-name (git-file-name name version))
17511 (sha256
17512 (base32
17513 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
17514 (build-system emacs-build-system)
17515 (propagated-inputs
17516 `(("emacs-dash" ,emacs-dash)
17517 ("emacs-magit" ,emacs-magit)))
17518 (synopsis "Support for Org links to Magit buffers")
17519 (description "This package defines several Org link types, which can be
17520 used to link to certain Magit buffers. Use the command
17521 @command{org-store-link} while such a buffer is current to store a link.
17522 Later you can insert it into an Org buffer using the command
17523 @code{org-insert-link}.")
17524 (license license:gpl3+)))
17525
17526 (define-public emacs-amx
17527 (package
17528 (name "emacs-amx")
17529 (version "3.2")
17530 (source (origin
17531 (method git-fetch)
17532 (uri (git-reference
17533 (url "https://github.com/DarwinAwardWinner/amx")
17534 (commit (string-append "v" version))))
17535 (file-name (git-file-name name version))
17536 (sha256
17537 (base32
17538 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
17539 (build-system emacs-build-system)
17540 (propagated-inputs `(("emacs-s" ,emacs-s)))
17541 (home-page "https://github.com/DarwinAwardWinner/amx")
17542 (synopsis "Alternative interface for M-x")
17543 (description "Amx is an alternative interface for M-x in Emacs. It
17544 provides several enhancements over the ordinary
17545 @code{execute-extended-command}, such as prioritizing your most-used commands
17546 in the completion list and showing keyboard shortcuts, and it supports several
17547 completion systems for selecting commands, such as ido and ivy.")
17548 (license license:gpl3+)))
17549
17550 (define-public emacs-lorem-ipsum
17551 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
17552 (package
17553 (name "emacs-lorem-ipsum")
17554 (version (git-version "0.2" "1" commit))
17555 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
17556 (source (origin
17557 (method git-fetch)
17558 (uri (git-reference
17559 (url home-page)
17560 (commit commit)))
17561 (file-name (git-file-name name version))
17562 (sha256
17563 (base32
17564 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
17565 (build-system emacs-build-system)
17566 (synopsis "Insert dummy pseudo Latin text in Emacs")
17567 (description "This package provides convenience functions to insert
17568 dummy Latin text into a buffer. This can be useful if you need to produce
17569 paragraphs or pages of text for testing purposes.")
17570 (license license:gpl3+))))
17571
17572 (define-public emacs-lisp-extra-font-lock
17573 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
17574 (package
17575 (name "emacs-lisp-extra-font-lock")
17576 (version (git-version "0.0.6" "1" commit))
17577 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
17578 (source (origin
17579 (method git-fetch)
17580 (uri (git-reference
17581 (url home-page)
17582 (commit commit)))
17583 (file-name (git-file-name name version))
17584 (sha256
17585 (base32
17586 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
17587 (build-system emacs-build-system)
17588 (synopsis "Highlight bound variables and quoted expressions in Emacs")
17589 (description "This package highlight the location where local variables
17590 is created (bound, for example, by let) as well as quoted and backquoted
17591 constant expressions.")
17592 (license license:gpl3+))))
17593
17594 (define-public emacs-docker-tramp
17595 (package
17596 (name "emacs-docker-tramp")
17597 (version "0.1")
17598 (source
17599 (origin
17600 (method git-fetch)
17601 (uri (git-reference
17602 (url "https://github.com/emacs-pe/docker-tramp.el")
17603 (commit (string-append "v" version))))
17604 (file-name (git-file-name name version))
17605 (sha256
17606 (base32
17607 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
17608 (build-system emacs-build-system)
17609 (home-page "https://github.com/emacs-pe/docker-tramp.el")
17610 (synopsis "TRAMP integration for docker containers")
17611 (description
17612 "This package provides a TRAMP method for Docker containers.")
17613 (license license:gpl3+)))
17614
17615 (define-public emacs-docker
17616 (package
17617 (name "emacs-docker")
17618 (version "1.3.0")
17619 (source (origin
17620 (method git-fetch)
17621 (uri (git-reference
17622 (url "https://github.com/Silex/docker.el")
17623 (commit version)))
17624 (file-name (git-file-name name version))
17625 (sha256
17626 (base32
17627 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
17628 (inputs
17629 `(("emacs-undercover" ,emacs-undercover)))
17630 (propagated-inputs
17631 `(("emacs-dash" ,emacs-dash)
17632 ("emacs-docker-tramp" ,emacs-docker-tramp)
17633 ("emacs-magit-popup" ,emacs-magit-popup)
17634 ("emacs-s" ,emacs-s)
17635 ("emacs-tablist" ,emacs-tablist)
17636 ("emacs-json-mode" ,emacs-json-mode)))
17637 (arguments
17638 `(#:phases
17639 (modify-phases %standard-phases
17640 (delete 'check)))) ;no tests
17641 (build-system emacs-build-system)
17642 (home-page "https://github.com/Silex/docker.el")
17643 (synopsis "Manage docker from Emacs")
17644 (description "This package provides an Emacs interface for Docker.")
17645 (license license:gpl3+)))
17646
17647 (define-public emacs-dockerfile-mode
17648 ;; Latest upstream release is too old.
17649 (let ((commit "ed73e82dcc636dad00d1a8c3b32a49136d25ee60"))
17650 (package
17651 (name "emacs-dockerfile-mode")
17652 (version (git-version "1.2" "2" commit))
17653 (source
17654 (origin
17655 (method git-fetch)
17656 (uri (git-reference
17657 (url "https://github.com/spotify/dockerfile-mode.git")
17658 (commit commit)))
17659 (file-name (git-file-name name version))
17660 (sha256
17661 (base32
17662 "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"))))
17663 (build-system emacs-build-system)
17664 (propagated-inputs
17665 `(("emacs-s" ,emacs-s)))
17666 (home-page "https://github.com/spotify/dockerfile-mode")
17667 (synopsis "Major mode for editing Dockerfile")
17668 (description
17669 "This package provides a major mode @code{dockerfile-mode} for use with
17670 the standard @code{Dockerfile} file format.")
17671 (license license:asl2.0))))
17672
17673 (define-public emacs-lsp-mode
17674 (package
17675 (name "emacs-lsp-mode")
17676 (version "6.2.1")
17677 (source (origin
17678 (method git-fetch)
17679 (uri (git-reference
17680 (url "https://github.com/emacs-lsp/lsp-mode.git")
17681 (commit version)))
17682 (file-name (git-file-name name version))
17683 (sha256
17684 (base32
17685 "0f9d0zhblcjzrpggqclww2g7fyjky5rzpp7zj424005ahv0zd3xf"))))
17686 (build-system emacs-build-system)
17687 (propagated-inputs
17688 `(("emacs-dash" ,emacs-dash)
17689 ("emacs-f" ,emacs-f)
17690 ("emacs-ht" ,emacs-ht)
17691 ("emacs-markdown-mode" ,emacs-markdown-mode)
17692 ("emacs-spinner" ,emacs-spinner)
17693 ("emacs-hydra" ,emacs-hydra)))
17694 (home-page "https://github.com/emacs-lsp/lsp-mode")
17695 (synopsis "Emacs client and library for the Language Server Protocol")
17696 (description "@code{LSP-mode} is a client and library implementation for
17697 the Language Server Protocol. This mode aims to provide an IDE-like
17698 experience by providing optional integration with other popular Emacs packages
17699 like @code{company}, @code{flycheck}, and @code{projectile}.")
17700 (license license:gpl3+)))
17701
17702 (define-public emacs-lsp-ui
17703 (package
17704 (name "emacs-lsp-ui")
17705 (version "6.0")
17706 (source (origin
17707 (method git-fetch)
17708 (uri (git-reference
17709 (url "https://github.com/emacs-lsp/lsp-ui.git")
17710 (commit version)))
17711 (file-name (git-file-name name version))
17712 (sha256
17713 (base32
17714 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
17715 (build-system emacs-build-system)
17716 (propagated-inputs
17717 `(("emacs-dash" ,emacs-dash)
17718 ("emacs-lsp-mode" ,emacs-lsp-mode)
17719 ("emacs-markdown-mode" ,emacs-markdown-mode)
17720 ("emacs-flycheck" ,emacs-flycheck)))
17721 (home-page "https://github.com/emacs-lsp/lsp-ui")
17722 (synopsis "User interface extensions for @code{lsp-mode}")
17723 (description
17724 "@code{LSP-ui} contains several enhancements and integrations for
17725 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
17726 and code peeking.")
17727 (license license:gpl3+)))
17728
17729 (define-public emacs-lsp-ivy
17730 (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288")
17731 (revision "2"))
17732 (package
17733 (name "emacs-lsp-ivy")
17734 (version (git-version "0.1" revision commit))
17735 (source (origin
17736 (method git-fetch)
17737 (uri (git-reference
17738 (url "https://github.com/emacs-lsp/lsp-ivy.git")
17739 (commit commit)))
17740 (file-name (git-file-name name version))
17741 (sha256
17742 (base32
17743 "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z"))))
17744 (build-system emacs-build-system)
17745 (propagated-inputs
17746 `(("emacs-ivy" ,emacs-ivy)
17747 ("emacs-lsp-mode" ,emacs-lsp-mode)
17748 ("emacs-dash" ,emacs-dash)))
17749 (home-page "https://github.com/emacs-lsp/lsp-ivy")
17750 (synopsis "Provide LSP-enhanced completion for symbols")
17751 (description
17752 "This package enhances @code{ivy} with completion for symbols from
17753 workspaces with a LSP-compliant server running.")
17754 (license license:gpl3+))))
17755
17756 (define-public emacs-helm-lsp
17757 (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b")
17758 (revision "1"))
17759 (package
17760 (name "emacs-helm-lsp")
17761 (version (git-version "0.1" revision commit))
17762 (source (origin
17763 (method git-fetch)
17764 (uri (git-reference
17765 (url "https://github.com/emacs-lsp/helm-lsp.git")
17766 (commit commit)))
17767 (file-name (git-file-name name version))
17768 (sha256
17769 (base32
17770 "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"))))
17771 (build-system emacs-build-system)
17772 (propagated-inputs
17773 `(("emacs-helm" ,emacs-helm)
17774 ("emacs-lsp-mode" ,emacs-lsp-mode)
17775 ("emacs-dash" ,emacs-dash)))
17776 (home-page "https://github.com/emacs-lsp/helm-lsp")
17777 (synopsis "Provide LSP-enhanced completion for symbols")
17778 (description
17779 "This package enhances @code{helm} with completion for symbols from
17780 workspaces with a LSP-compliant server running.")
17781 (license license:gpl3+))))
17782
17783 (define-public emacs-helm-notmuch
17784 (package
17785 (name "emacs-helm-notmuch")
17786 (version "1.2")
17787 (home-page "https://github.com/emacs-helm/helm-notmuch/")
17788 (source (origin
17789 (method git-fetch)
17790 (uri (git-reference
17791 (url home-page)
17792 (commit version)))
17793 (file-name (git-file-name name version))
17794 (sha256
17795 (base32
17796 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
17797 (build-system emacs-build-system)
17798 (propagated-inputs
17799 `(("emacs-helm" ,emacs-helm)
17800 ("notmuch" ,notmuch)))
17801 (synopsis "Search emails with Emacs Notmuch and Helm")
17802 (description
17803 "This package can be used to search emails in Emacs, searching result
17804 displays as you type thanks to Helm, though @command{notmuch-search} does the
17805 real search.")
17806 (license license:gpl3+)))
17807
17808 (define-public emacs-elmacro
17809 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
17810 (package
17811 (name "emacs-elmacro")
17812 (version (git-version "1.1.0" "1" commit))
17813 (home-page "https://github.com/Silex/elmacro")
17814 (source (origin
17815 (method git-fetch)
17816 (uri (git-reference
17817 (url home-page)
17818 (commit commit)))
17819 (file-name (git-file-name name version))
17820 (sha256
17821 (base32
17822 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
17823 (build-system emacs-build-system)
17824 (propagated-inputs
17825 `(("emacs-s" ,emacs-s)
17826 ("emacs-dash" ,emacs-dash)))
17827 (synopsis "Convert keyboard macros to Emacs Lisp")
17828 (description
17829 "This package displays keyboard macros or latest interactive commands
17830 as Emacs Lisp.")
17831 (license license:gpl3+))))
17832
17833 (define-public emacs-transient
17834 ;; 0.1.0 depends on lv.el but not later versions.
17835 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
17836 (package
17837 (name "emacs-transient")
17838 (version (git-version "0.1.0" "1" commit))
17839 (source (origin
17840 (method git-fetch)
17841 (uri (git-reference
17842 (url "https://github.com/magit/transient")
17843 (commit commit)))
17844 (file-name (git-file-name name version))
17845 (sha256
17846 (base32
17847 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
17848 (build-system gnu-build-system)
17849 (native-inputs `(("texinfo" ,texinfo)
17850 ("emacs" ,emacs-minimal)))
17851 (propagated-inputs
17852 `(("dash" ,emacs-dash)))
17853 (arguments
17854 `(#:modules ((guix build gnu-build-system)
17855 (guix build utils)
17856 (srfi srfi-26)
17857 (guix build emacs-utils))
17858 #:imported-modules (,@%gnu-build-system-modules
17859 (guix build emacs-utils))
17860 #:tests? #f ; tests are not included in the release
17861 #:make-flags (list "lisp" "info")
17862 #:phases
17863 (modify-phases %standard-phases
17864 (delete 'configure)
17865 (replace 'install
17866 (lambda* (#:key inputs outputs #:allow-other-keys)
17867 (let* ((out (assoc-ref outputs "out"))
17868 (lisp (string-append out "/share/emacs/site-lisp"))
17869 (info (string-append out "/share/info")))
17870 (for-each (cut install-file <> lisp)
17871 (find-files "." "\\.elc*$"))
17872 (install-file "docs/transient.info" (string-append info)))
17873 #t)))))
17874 (home-page "https://magit.vc/manual/transient")
17875 (synopsis "Transient commands in Emacs")
17876 (description
17877 "Taking inspiration from prefix keys and prefix arguments in Emacs,
17878 Transient implements a similar abstraction involving a prefix command, infix
17879 arguments and suffix commands. We could call this abstraction a \"transient
17880 command\", but because it always involves at least two commands (a prefix and
17881 a suffix) we prefer to call it just a \"transient\".")
17882 (license license:gpl3+))))
17883
17884 (define-public emacs-forge
17885 (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb"))
17886 (package
17887 (name "emacs-forge")
17888 (version (git-version "0.1.0" "2" commit))
17889 (source
17890 (origin
17891 (method git-fetch)
17892 (uri (git-reference
17893 (url "https://github.com/magit/forge.git")
17894 (commit commit)))
17895 (file-name (git-file-name name version))
17896 (sha256
17897 (base32
17898 "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83"))))
17899 (build-system gnu-build-system)
17900 (native-inputs
17901 `(("texinfo" ,texinfo)
17902 ("emacs" ,emacs-minimal)))
17903 (propagated-inputs
17904 `(("emacs-closql" ,emacs-closql)
17905 ("emacs-dash" ,emacs-dash)
17906 ("emacs-emacsql-sqlite" ,emacs-emacsql)
17907 ("emacs-ghub" ,emacs-ghub)
17908 ("emacs-let-alist" ,emacs-let-alist)
17909 ("emacs-magit" ,emacs-magit)
17910 ("emacs-markdown-mode" ,emacs-markdown-mode)
17911 ("emacs-transient" ,emacs-transient)))
17912 (arguments
17913 `(#:tests? #f ;no tests
17914 #:modules ((srfi srfi-26)
17915 (guix build gnu-build-system)
17916 ((guix build emacs-build-system) #:prefix emacs:)
17917 (guix build utils)
17918 (guix build emacs-utils))
17919 #:imported-modules (,@%gnu-build-system-modules
17920 (guix build emacs-build-system)
17921 (guix build emacs-utils))
17922 #:phases
17923 (modify-phases %standard-phases
17924 (delete 'configure)
17925 (delete 'install)
17926 (add-after 'unpack 'delete-doc-targets
17927 (lambda _
17928 (substitute* "./Makefile"
17929 (("lisp docs") "lisp"))))
17930 (add-after 'delete-doc-targets 'chdir-lisp
17931 (lambda _
17932 (chdir "lisp")))
17933 (add-after 'chdir-lisp 'emacs-install
17934 (assoc-ref emacs:%standard-phases 'install))
17935 (add-after 'emacs-install 'emacs-make-autoloads
17936 (assoc-ref emacs:%standard-phases 'make-autoloads))
17937 (add-after 'build 'install-elc
17938 (lambda* (#:key outputs #:allow-other-keys)
17939 (let* ((out (assoc-ref outputs "out"))
17940 (el-dir (string-append
17941 out "/share/emacs/site-lisp/guix.d/forge-"
17942 ,version)))
17943 (for-each (cut install-file <> el-dir)
17944 (find-files "." "\\.elc"))
17945 #t)))
17946 (add-after 'install-elc 'install-doc
17947 (lambda* (#:key outputs #:allow-other-keys)
17948 (let* ((out (assoc-ref outputs "out"))
17949 (info (string-append out "/share/info")))
17950 (with-directory-excursion "../docs"
17951 (invoke "makeinfo" "forge.texi")
17952 (install-file "forge.info" info)
17953 #t)))))))
17954 (home-page "https://github.com/magit/forge/")
17955 (synopsis "Access Git forges from Magit")
17956 (description
17957 "Work with Git forges, such as Github and Gitlab, from the comfort of
17958 Magit and the rest of Emacs.")
17959 (license license:gpl3+))))
17960
17961 (define-public emacs-matcha
17962 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
17963 (package
17964 (name "emacs-matcha")
17965 (version (git-version "0.0.1" "1" commit)) ;no upstream release
17966 (source (origin
17967 (method git-fetch)
17968 (uri (git-reference
17969 (url "https://github.com/jojojames/matcha.git")
17970 (commit commit)))
17971 (file-name (git-file-name name version))
17972 (sha256
17973 (base32
17974 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
17975 (propagated-inputs
17976 `(("emacs-hydra" ,emacs-hydra)
17977 ("emacs-transient" ,emacs-transient)))
17978 (build-system emacs-build-system)
17979 (home-page "https://github.com/jojojames/matcha/")
17980 (synopsis "Collection of hydras with a generic interface to launch them")
17981 (description "Matcha provides a collection of transients for various
17982 packages with a consistent way to use them.")
17983 (license license:gpl3+))))
17984
17985 (define-public emacs-undo-propose-el
17986 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
17987 (revision "3"))
17988 (package
17989 (name "emacs-undo-propose-el")
17990 (version (git-version "3.0.0" revision commit))
17991 (source
17992 (origin
17993 (method git-fetch)
17994 (uri (git-reference
17995 (url "https://github.com/jackkamm/undo-propose-el")
17996 (commit commit)))
17997 (file-name (git-file-name name version))
17998 (sha256
17999 (base32
18000 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
18001 (build-system emacs-build-system)
18002 (arguments
18003 `(#:tests? #t
18004 #:test-command '("make" "test")))
18005 (home-page "https://github.com/jackkamm/undo-propose-el")
18006 (synopsis "Simple and safe navigation of @code{undo} history")
18007 (description "This package permits navigation of @code{undo} history in a
18008 temporary buffer, which is read-only save for @code{undo} commands, and
18009 subsequent committal of a chain of @code{undo} commands as a single edit in
18010 the @code{undo} history.")
18011 (license license:gpl3+))))
18012
18013 (define-public emacs-elisp-docstring-mode
18014 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
18015 (version "0.0.1")
18016 (revision "1"))
18017 (package
18018 (name "emacs-elisp-docstring-mode")
18019 (version (git-version version revision commit))
18020 (source
18021 (origin
18022 (method git-fetch)
18023 (uri (git-reference
18024 (url "https://github.com/Fuco1/elisp-docstring-mode")
18025 (commit commit)))
18026 (file-name (git-file-name name version))
18027 (sha256
18028 (base32
18029 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
18030 (build-system emacs-build-system)
18031 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
18032 (synopsis "Major mode for editing Emacs Lisp docstrings")
18033 (description "This package provides font lock and automatic escaping and
18034 unescaping of quotes.")
18035 (license license:gpl3+))))
18036
18037 (define-public emacs-vimrc-mode
18038 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
18039 (version "0.3.1")
18040 (revision "1"))
18041 (package
18042 (name "emacs-vimrc-mode")
18043 (version (git-version version revision commit))
18044 (source
18045 (origin
18046 (method git-fetch)
18047 (uri (git-reference
18048 (url "https://github.com/mcandre/vimrc-mode")
18049 (commit commit)))
18050 (file-name (git-file-name name version))
18051 (sha256
18052 (base32
18053 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
18054 (build-system emacs-build-system)
18055 (home-page "https://github.com/mcandre/vimrc-mode")
18056 (synopsis "Major mode for Vimscript")
18057 (description "This package provides font lock and @code{beginning-} and
18058 @code{end-of-defun} functions for Vimscript files.")
18059 (license license:gpl3+))))
18060
18061 (define-public emacs-flycheck-haskell
18062 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
18063 (revision "2"))
18064 (package
18065 (name "emacs-flycheck-haskell")
18066 (version (git-version "0.8" revision commit))
18067 (source
18068 (origin
18069 (method git-fetch)
18070 (uri (git-reference
18071 (url "https://github.com/flycheck/flycheck-haskell")
18072 (commit commit)))
18073 (file-name (git-file-name name version))
18074 (sha256
18075 (base32
18076 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
18077 (build-system emacs-build-system)
18078 (propagated-inputs
18079 `(("emacs-dash" ,emacs-dash)
18080 ("emacs-seq" ,emacs-seq)
18081 ("emacs-flycheck" ,emacs-flycheck)
18082 ("emacs-haskell-mode" ,emacs-haskell-mode)
18083 ("emacs-let-alist" ,emacs-let-alist)))
18084 (arguments
18085 `(#:include '("\\.el$" "\\.hs$")))
18086 (home-page "https://github.com/flycheck/flycheck-haskell")
18087 (synopsis "Flycheck for Haskell")
18088 (description "This package configures syntax-checking for Haskell
18089 buffers.")
18090 (license license:gpl3+))))
18091
18092 (define-public emacs-js2-refactor-el
18093 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
18094 (revision "2"))
18095 (package
18096 (name "emacs-js2-refactor-el")
18097 (version (git-version "0.9.0" revision commit))
18098 (source
18099 (origin
18100 (method git-fetch)
18101 (uri (git-reference
18102 (url "https://github.com/magnars/js2-refactor.el")
18103 (commit commit)))
18104 (file-name (git-file-name name version))
18105 (sha256
18106 (base32
18107 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
18108 (build-system emacs-build-system)
18109 (propagated-inputs
18110 `(("emacs-dash" ,emacs-dash)
18111 ("emacs-s" ,emacs-s)
18112 ("emacs-js2-mode" ,emacs-js2-mode)
18113 ("emacs-yasnippet" ,emacs-yasnippet)
18114 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
18115 (native-inputs
18116 `(("emacs-buttercup" ,emacs-buttercup)
18117 ("emacs-espuds" ,emacs-espuds)))
18118 (home-page "https://github.com/magnars/js2-refactor.el")
18119 (synopsis "JavaScript refactoring in Emacs")
18120 (description "This package provides various refactoring functions for
18121 JavaScript.")
18122 (license license:gpl3+))))
18123
18124 (define-public emacs-prettier
18125 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
18126 (version "0.1.0")
18127 (revision "1"))
18128 (package
18129 (name "emacs-prettier")
18130 (version (git-version version revision commit))
18131 (source
18132 (origin
18133 (method git-fetch)
18134 (uri (git-reference
18135 (url "https://github.com/prettier/prettier-emacs")
18136 (commit commit)))
18137 (file-name (git-file-name name version))
18138 (sha256
18139 (base32
18140 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
18141 (build-system emacs-build-system)
18142 (home-page "https://github.com/prettier/prettier-emacs")
18143 (synopsis "Automatic formatting of JavaScript code")
18144 (description "This package integrates Prettier with Emacs, and
18145 provides a minor mode that autoformats the buffer upon saving.")
18146 (license license:expat))))
18147
18148 (define-public emacs-fish-mode
18149 (package
18150 (name "emacs-fish-mode")
18151 (version "0.1.4")
18152 (source
18153 (origin
18154 (method git-fetch)
18155 (uri (git-reference
18156 (url "https://github.com/wwwjfy/emacs-fish")
18157 (commit version)))
18158 (file-name (git-file-name name version))
18159 (sha256
18160 (base32
18161 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
18162 (build-system emacs-build-system)
18163 (home-page "https://github.com/wwwjfy/emacs-fish")
18164 (synopsis "Major mode for Fish shell scripts")
18165 (description "This package provides syntax highlighting and indentation
18166 functions for Fish shell scripts.")
18167 (license license:gpl3+)))
18168
18169 (define-public emacs-eshell-up
18170 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
18171 (version "0.0.3")
18172 (revision "12"))
18173 (package
18174 (name "emacs-eshell-up")
18175 (version (git-version version revision commit))
18176 (source
18177 (origin
18178 (method git-fetch)
18179 (uri (git-reference
18180 (url "https://github.com/peterwvj/eshell-up")
18181 (commit commit)))
18182 (file-name (git-file-name name version))
18183 (sha256
18184 (base32
18185 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
18186 (build-system emacs-build-system)
18187 (home-page "https://github.com/peterwvj/eshell-up")
18188 (synopsis "Quickly go to a parent directory in @code{Eshell}")
18189 (description "This package provides quick navigation to a specific
18190 parent directory using @code{Eshell}.")
18191 (license license:gpl3+))))
18192
18193 (define-public emacs-tco-el
18194 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
18195 (revision "1"))
18196 (package
18197 (name "emacs-tco-el")
18198 (version (git-version "0.3" revision commit))
18199 (source
18200 (origin
18201 (method git-fetch)
18202 (uri (git-reference
18203 (url "https://github.com/Wilfred/tco.el")
18204 (commit commit)))
18205 (file-name (git-file-name name version))
18206 (sha256
18207 (base32
18208 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
18209 (build-system emacs-build-system)
18210 (propagated-inputs
18211 `(("emacs-dash" ,emacs-dash)))
18212 (native-inputs
18213 `(("emacs-ert-runner" ,emacs-ert-runner)
18214 ("emacs-undercover" ,emacs-undercover)))
18215 (arguments
18216 `(#:tests? #t
18217 #:test-command '("ert-runner")))
18218 (home-page "https://github.com/Wilfred/tco.el")
18219 (synopsis "Tail-call optimization for Emacs Lisp")
18220 (description "This package provides tail-call optimization for Emacs
18221 Lisp functions that call themselves in tail position.")
18222 (license license:gpl3+))))
18223
18224 (define-public emacs-equake
18225 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
18226 (revision "2"))
18227 (package
18228 (name "emacs-equake")
18229 (version (git-version "0.85" revision commit))
18230 (source
18231 (origin
18232 (method git-fetch)
18233 (uri (git-reference
18234 (url "https://gitlab.com/emacsomancer/equake/")
18235 (commit commit)))
18236 (file-name (git-file-name name version))
18237 (sha256
18238 (base32
18239 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
18240 (build-system emacs-build-system)
18241 (propagated-inputs
18242 `(("emacs-dash" ,emacs-dash)
18243 ("emacs-tco-el" ,emacs-tco-el)))
18244 (home-page "https://gitlab.com/emacsomancer/equake/")
18245 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
18246 (description "This package provides a Quake-style drop-down console
18247 compatible with Emacs' shell modes.")
18248 (license license:gpl3+))))
18249
18250 (define-public emacs-vdiff
18251 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
18252 (revision "1"))
18253 (package
18254 (name "emacs-vdiff")
18255 (version (git-version "0.2.3" revision commit))
18256 (source
18257 (origin
18258 (method git-fetch)
18259 (uri (git-reference
18260 (url "https://github.com/justbur/emacs-vdiff.git")
18261 (commit commit)))
18262 (file-name (git-file-name name version))
18263 (sha256
18264 (base32
18265 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
18266 (build-system emacs-build-system)
18267 (propagated-inputs
18268 `(("emacs-hydra" ,emacs-hydra)))
18269 (arguments
18270 `(#:tests? #t
18271 #:test-command '("emacs" "-Q" "-batch" "-L" "."
18272 "-l" "vdiff-test.el"
18273 "-f" "ert-run-tests-batch-and-exit")))
18274 (home-page "https://github.com/justbur/emacs-vdiff/")
18275 (synopsis "Frontend for diffing based on vimdiff")
18276 (description "This package permits comparisons of two or three buffers
18277 based on diff output.")
18278 (license license:gpl3+))))
18279
18280 (define-public emacs-vdiff-magit
18281 ;; Need to use a more recent commit than the latest release version because
18282 ;; of Magit and Transient
18283 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
18284 (version "0.3.2")
18285 (revision "8"))
18286 (package
18287 (name "emacs-vdiff-magit")
18288 (version (git-version version revision commit))
18289 (source
18290 (origin
18291 (method git-fetch)
18292 (uri (git-reference
18293 (url "https://github.com/justbur/emacs-vdiff-magit/")
18294 (commit commit)))
18295 (file-name (git-file-name name version))
18296 (sha256
18297 (base32
18298 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
18299 (build-system emacs-build-system)
18300 (propagated-inputs
18301 `(("emacs-vdiff" ,emacs-vdiff)
18302 ("emacs-magit" ,emacs-magit)
18303 ("emacs-transient" ,emacs-transient)))
18304 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
18305 (synopsis "Frontend for diffing based on vimdiff")
18306 (description "This package permits comparisons of two or three buffers
18307 based on diff output.")
18308 (license license:gpl3+))))
18309
18310 (define-public emacs-all-the-icons-dired
18311 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
18312 (version "1.0")
18313 (revision "1"))
18314 (package
18315 (name "emacs-all-the-icons-dired")
18316 (version (git-version version revision commit))
18317 (source
18318 (origin
18319 (method git-fetch)
18320 (uri (git-reference
18321 (url "https://github.com/jtbm37/all-the-icons-dired/")
18322 (commit commit)))
18323 (file-name (git-file-name name version))
18324 (sha256
18325 (base32
18326 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
18327 (build-system emacs-build-system)
18328 (propagated-inputs
18329 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
18330 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
18331 (synopsis "Show icons for each file in @code{dired-mode}")
18332 (description "This package allows icons from @file{all-the-icons.el} to
18333 be used in @code{dired-mode}.")
18334 (license license:gpl3+))))
18335
18336 (define-public emacs-exwm-edit
18337 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
18338 (version "0.0.1")
18339 (revision "1"))
18340 (package
18341 (name "emacs-exwm-edit")
18342 (version (git-version version revision commit))
18343 (source
18344 (origin
18345 (method git-fetch)
18346 (uri (git-reference
18347 (url "https://github.com/agzam/exwm-edit/")
18348 (commit commit)))
18349 (file-name (git-file-name name version))
18350 (sha256
18351 (base32
18352 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
18353 (build-system emacs-build-system)
18354 (propagated-inputs
18355 `(("emacs-exwm" ,emacs-exwm)))
18356 (home-page "https://github.com/agzam/exwm-edit/")
18357 (synopsis "Open temp buffers for editing text from EXWM buffers")
18358 (description "This package facilitates editing text from EXWM buffers by
18359 generating a temp buffer in which any useful Emacs utilities and modes can be
18360 invoked.")
18361 (license license:gpl3+))))
18362
18363 (define-public emacs-ert-async
18364 (package
18365 (name "emacs-ert-async")
18366 (version "0.1.2")
18367 (source
18368 (origin
18369 (method git-fetch)
18370 (uri (git-reference
18371 (url "https://github.com/rejeep/ert-async.el")
18372 (commit (string-append "v" version))))
18373 (file-name (git-file-name name version))
18374 (sha256
18375 (base32
18376 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
18377 (build-system emacs-build-system)
18378 (home-page "https://github.com/rejeep/ert-async.el")
18379 (synopsis "Async support for ERT")
18380 (description "This package allows ERT to work with asynchronous tests.")
18381 (license license:gpl3+)))
18382
18383 (define-public emacs-prodigy-el
18384 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
18385 (revision "2"))
18386 (package
18387 (name "emacs-prodigy-el")
18388 (version (git-version "0.7.0" revision commit))
18389 (source
18390 (origin
18391 (method git-fetch)
18392 (uri (git-reference
18393 (url "https://github.com/rejeep/prodigy.el")
18394 (commit commit)))
18395 (file-name (git-file-name name version))
18396 (sha256
18397 (base32
18398 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
18399 (build-system emacs-build-system)
18400 (propagated-inputs
18401 `(("emacs-dash" ,emacs-dash)
18402 ("emacs-s" ,emacs-s)
18403 ("emacs-f" ,emacs-f)))
18404 (native-inputs
18405 `(("emacs-el-mock" ,emacs-el-mock)
18406 ("emacs-ert-async" ,emacs-ert-async)))
18407 (home-page "https://github.com/rejeep/prodigy.el")
18408 (synopsis "Manage external services from within Emacs")
18409 (description "This package provides a GUI for defining and monitoring services.")
18410 (license license:gpl3+))))
18411
18412 (define-public emacs-web-server
18413 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
18414 (revision "1"))
18415 (package
18416 (name "emacs-web-server")
18417 (version (git-version "0.1.0" revision commit))
18418 (source
18419 (origin
18420 (method git-fetch)
18421 (uri (git-reference
18422 (url "https://github.com/eschulte/emacs-web-server/")
18423 (commit commit)))
18424 (file-name (git-file-name name version))
18425 (sha256
18426 (base32
18427 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
18428 (build-system emacs-build-system)
18429 (native-inputs
18430 `(("curl" ,curl)))
18431 (arguments
18432 `(#:phases
18433 (modify-phases %standard-phases
18434 (add-after 'unpack 'set-shell
18435 ;; Setting the SHELL environment variable is required for the tests
18436 ;; to find sh.
18437 (lambda _
18438 (setenv "SHELL" (which "sh"))
18439 #t)))
18440 #:tests? #t
18441 #:test-command '("make" "check")))
18442 (home-page "https://github.com/eschulte/emacs-web-server/")
18443 (synopsis "Web server with handlers in Emacs Lisp")
18444 (description "This package supports HTTP GET and POST requests with
18445 url-encoded parameters, as well as web sockets.")
18446 (license license:gpl3+))))
18447
18448 (define-public emacs-markdown-preview-mode
18449 (package
18450 (name "emacs-markdown-preview-mode")
18451 (version "0.9.2")
18452 (source
18453 (origin
18454 (method git-fetch)
18455 (uri (git-reference
18456 (url "https://github.com/ancane/markdown-preview-mode")
18457 (commit (string-append "v" version))))
18458 (file-name (git-file-name name version))
18459 (sha256
18460 (base32
18461 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
18462 (build-system emacs-build-system)
18463 (propagated-inputs
18464 `(("emacs-markdown-mode" ,emacs-markdown-mode)
18465 ("emacs-websocket" ,emacs-websocket)
18466 ("emacs-web-server" ,emacs-web-server)))
18467 (arguments '(#:include '("\\.el$" "\\.html$")))
18468 (home-page "https://github.com/ancane/markdown-preview-mode")
18469 (synopsis "Preview Markdown files")
18470 (description "This package provides a minor mode for preview of Markdown
18471 files, and sends rendered Markdown to a web browser.")
18472 (license license:gpl3+)))
18473
18474 (define-public emacs-dotenv-mode
18475 (package
18476 (name "emacs-dotenv-mode")
18477 (version "0.2.4")
18478 (source
18479 (origin
18480 (method git-fetch)
18481 (uri (git-reference
18482 (url "https://github.com/preetpalS/emacs-dotenv-mode")
18483 (commit (string-append "v" version))))
18484 (file-name (git-file-name name version))
18485 (sha256
18486 (base32
18487 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
18488 (build-system emacs-build-system)
18489 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
18490 (synopsis "Major mode for @file{.env} files")
18491 (description "This package provides syntax highlighting for @file{.env}
18492 files.")
18493 (license license:gpl3+)))
18494
18495 (define-public emacs-add-node-modules-path
18496 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
18497 (version "1.2.0")
18498 (revision "10"))
18499 (package
18500 (name "emacs-add-node-modules-path")
18501 (version (git-version version revision commit))
18502 (source
18503 (origin
18504 (method git-fetch)
18505 (uri (git-reference
18506 (url "https://github.com/codesuki/add-node-modules-path")
18507 (commit commit)))
18508 (file-name (git-file-name name version))
18509 (sha256
18510 (base32
18511 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
18512 (build-system emacs-build-system)
18513 (home-page "https://github.com/codesuki/add-node-modules-path")
18514 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
18515 (description "This package searches the parent directories of the
18516 current file for the project's @file{node_modules/.bin/} directory, allowing
18517 Emacs to find project-specific installations of packages.")
18518 (license license:expat))))
18519
18520 (define-public emacs-flow-minor-mode
18521 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
18522 (version "0.3")
18523 (revision "4"))
18524 (package
18525 (name "emacs-flow-minor-mode")
18526 (version (git-version version revision commit))
18527 (source
18528 (origin
18529 (method git-fetch)
18530 (uri (git-reference
18531 (url "https://github.com/an-sh/flow-minor-mode")
18532 (commit commit)))
18533 (file-name (git-file-name name version))
18534 (sha256
18535 (base32
18536 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
18537 (build-system emacs-build-system)
18538 (home-page "https://github.com/an-sh/flow-minor-mode")
18539 (synopsis "Minor mode for JavaScript Flow files")
18540 (description "This package integrates Flow with Emacs, allowing for
18541 definition-jumping and type-checking on demand.")
18542 (license license:bsd-3))))
18543
18544 (define-public emacs-rjsx-mode
18545 (let ((commit "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5")
18546 (revision "2"))
18547 (package
18548 (name "emacs-rjsx-mode")
18549 (version (git-version "0.4" revision commit))
18550 (source
18551 (origin
18552 (method git-fetch)
18553 (uri (git-reference
18554 (url "https://github.com/felipeochoa/rjsx-mode")
18555 (commit commit)))
18556 (file-name (git-file-name name version))
18557 (sha256
18558 (base32
18559 "0s0871sx3ch09kgvbcp9na4zdrfrda62xjq8m9knbq5vnj8q8qpi"))))
18560 (build-system emacs-build-system)
18561 (propagated-inputs
18562 `(("emacs-js2-mode" ,emacs-js2-mode)))
18563 (arguments
18564 `(#:tests? #t
18565 #:test-command '("make" "test")))
18566 (home-page "https://github.com/felipeochoa/rjsx-mode")
18567 (synopsis "Major mode for JSX files")
18568 (description "This package extends the parser of @code{js2-mode} to
18569 support JSX syntax.")
18570 (license license:expat))))
18571
18572 (define-public emacs-origami-el
18573 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
18574 (version "1.0")
18575 (revision "1"))
18576 (package
18577 (name "emacs-origami-el")
18578 (version (git-version version revision commit))
18579 (source
18580 (origin
18581 (method git-fetch)
18582 (uri (git-reference
18583 (url "https://github.com/gregsexton/origami.el")
18584 (commit commit)))
18585 (file-name (git-file-name name version))
18586 (sha256
18587 (base32
18588 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
18589 (build-system emacs-build-system)
18590 (propagated-inputs
18591 `(("emacs-dash" ,emacs-dash)
18592 ("emacs-s" ,emacs-s)))
18593 (home-page "https://github.com/gregsexton/origami.el")
18594 (synopsis "Flexible text-folding")
18595 (description "This package provides a minor mode for collapsing and
18596 expanding regions of text without modifying the actual contents.")
18597 (license license:expat))))
18598
18599 (define-public emacs-peep-dired
18600 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
18601 (version "0")
18602 (revision "1"))
18603 (package
18604 (name "emacs-peep-dired")
18605 (version (git-version version revision commit))
18606 (source
18607 (origin
18608 (method git-fetch)
18609 (uri (git-reference
18610 (url "https://github.com/asok/peep-dired")
18611 (commit commit)))
18612 (file-name (git-file-name name version))
18613 (sha256
18614 (base32
18615 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
18616 (build-system emacs-build-system)
18617 (home-page "https://github.com/asok/peep-dired")
18618 (synopsis "Preview files in another window")
18619 (description "This package provides a minor mode that allows files to be
18620 previewed by scrolling up and down within a @code{dired} buffer.")
18621 (license license:gpl3+))))
18622
18623 (define-public emacs-counsel-etags
18624 (package
18625 (name "emacs-counsel-etags")
18626 (version "1.8.9")
18627 (source
18628 (origin
18629 (method git-fetch)
18630 (uri (git-reference
18631 (url "https://github.com/redguardtoo/counsel-etags")
18632 (commit version)))
18633 (file-name (git-file-name name version))
18634 (sha256
18635 (base32
18636 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
18637 (build-system emacs-build-system)
18638 (propagated-inputs
18639 `(("emacs-ivy" ,emacs-ivy)))
18640 (arguments
18641 `(#:tests? #t
18642 #:test-command '("make" "test")))
18643 (home-page "https://github.com/redguardtoo/counsel-etags")
18644 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
18645 (description "This package uses @code{ivy-mode} to facilitate navigating
18646 and searching through @code{Ctags} files.")
18647 (license license:gpl3+)))
18648
18649 (define-public emacs-org-download
18650 (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
18651 (revision "2"))
18652 (package
18653 (name "emacs-org-download")
18654 (version (git-version "0.1.0" revision commit))
18655 (source (origin
18656 (method git-fetch)
18657 (uri (git-reference
18658 (url "https://github.com/abo-abo/org-download")
18659 (commit commit)))
18660 (sha256
18661 (base32
18662 "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
18663 (file-name (git-file-name name version))))
18664 (build-system emacs-build-system)
18665 (propagated-inputs
18666 `(("emacs-org" ,emacs-org)
18667 ("emacs-async" ,emacs-async)))
18668 (home-page "https://github.com/abo-abo/org-download")
18669 (synopsis "Facilitate moving images")
18670 (description "This package provides utilities for managing image files
18671 copied into @code{org-mode} buffers.")
18672 (license license:gpl3+))))
18673
18674 (define-public emacs-dash-docs
18675 (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a")
18676 (revision "1"))
18677 (package
18678 (name "emacs-dash-docs")
18679 (version (git-version "1.4.0" revision commit))
18680 (source
18681 (origin
18682 (method git-fetch)
18683 (uri (git-reference
18684 (url "https://github.com/dash-docs-el/dash-docs.git")
18685 (commit commit)))
18686 (file-name (git-file-name name version))
18687 (sha256
18688 (base32
18689 "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng"))))
18690 (build-system emacs-build-system)
18691 (propagated-inputs
18692 `(("emacs-async" ,emacs-async)))
18693 (native-inputs
18694 `(("emacs-undercover" ,emacs-undercover)
18695 ("emacs-ert-runner" ,emacs-ert-runner)))
18696 (arguments
18697 `(#:tests? #t
18698 #:test-command '("ert-runner")
18699 #:phases
18700 ;; this test requires network access, so remove it
18701 (modify-phases %standard-phases
18702 (add-before 'check 'make-tests-writable
18703 (lambda _
18704 (make-file-writable "test/dash-docs-test.el")
18705 #t))
18706 (add-before 'check 'delete-test
18707 (lambda _
18708 (emacs-batch-edit-file "test/dash-docs-test.el"
18709 `(progn (progn
18710 (goto-char (point-min))
18711 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
18712 (beginning-of-line)
18713 (kill-sexp))
18714 (basic-save-buffer)))
18715 #t)))))
18716 (home-page "https://github.com/dash-docs-el/dash-docs")
18717 (synopsis "Offline documentation browser for APIs using Dash docsets")
18718 (description "This package exposes functionality to work with Dash docsets.")
18719 (license license:gpl3+))))
18720
18721 (define-public emacs-helm-dash
18722 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
18723 (revision "2"))
18724 (package
18725 (name "emacs-helm-dash")
18726 (version (git-version "1.3.0" revision commit))
18727 (source
18728 (origin
18729 (method git-fetch)
18730 (uri (git-reference
18731 (url "https://github.com/areina/helm-dash.git")
18732 (commit commit)))
18733 (file-name (git-file-name name version))
18734 (sha256
18735 (base32
18736 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
18737 (build-system emacs-build-system)
18738 (propagated-inputs
18739 `(("emacs-helm" ,emacs-helm)
18740 ("emacs-dash-docs" ,emacs-dash-docs)))
18741 (home-page "https://github.com/areina/helm-dash")
18742 (synopsis "Offline documentation browser for APIs using Dash docsets")
18743 (description "This package uses Helm to install and navigate through
18744 Dash docsets.")
18745 (license license:gpl3+))))
18746
18747 (define-public emacs-counsel-dash
18748 (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
18749 (revision "3"))
18750 (package
18751 (name "emacs-counsel-dash")
18752 (version (git-version "0.1.3" revision commit))
18753 (source
18754 (origin
18755 (method git-fetch)
18756 (uri (git-reference
18757 (url "https://github.com/dash-docs-el/counsel-dash.git")
18758 (commit commit)))
18759 (file-name (git-file-name name version))
18760 (sha256
18761 (base32
18762 "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
18763 (build-system emacs-build-system)
18764 (propagated-inputs
18765 `(("emacs-dash-docs" ,emacs-dash-docs)
18766 ("emacs-ivy" ,emacs-ivy)))
18767 (arguments
18768 `(#:phases
18769 (modify-phases %standard-phases
18770 (add-after 'unpack 'require-ivy
18771 (lambda _
18772 (substitute* "counsel-dash.el"
18773 (("^\\(require 'cl-lib\\)")
18774 "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
18775 #t)))))
18776 (home-page "https://github.com/dash-docs-el/counsel-dash")
18777 (synopsis "Offline documentation browser for APIs using Dash docsets")
18778 (description "This package uses @code{ivy-mode} to install and navigate
18779 through Dash docsets.")
18780 (license license:expat))))
18781
18782 (define-public emacs-el-patch
18783 (package
18784 (name "emacs-el-patch")
18785 (version "2.2.3")
18786 (source
18787 (origin
18788 (method git-fetch)
18789 (uri (git-reference
18790 (url "https://github.com/raxod502/el-patch")
18791 (commit version)))
18792 (file-name (git-file-name name version))
18793 (sha256
18794 (base32
18795 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
18796 (build-system emacs-build-system)
18797 (home-page "https://github.com/raxod502/el-patch")
18798 (synopsis "Future-proof your Emacs customizations")
18799 (description "This package allows for an alternate definition of an Elisp
18800 function to be specified and for any differences from the original definition
18801 to be examined using Ediff.")
18802 (license license:expat)))
18803
18804 (define-public emacs-info-plus
18805 (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da")
18806 (revision "2"))
18807 (package
18808 (name "emacs-info-plus")
18809 (version (git-version "0" revision commit))
18810 (source
18811 (origin
18812 (method git-fetch)
18813 (uri (git-reference
18814 (url "https://github.com/emacsmirror/info-plus")
18815 (commit commit)))
18816 (file-name (git-file-name name version))
18817 (sha256
18818 (base32
18819 "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0"))))
18820 (build-system emacs-build-system)
18821 (home-page "https://github.com/emacsmirror/info-plus")
18822 (synopsis "Extensions to @file{info.el}")
18823 (description "This package extends Emacs' @file{info.el} by allowing
18824 outline-enabled table of contents, additional metadata association for Info
18825 nodes, and more.")
18826 (license license:gpl2+))))
18827
18828 (define-public emacs-eval-sexp-fu-el
18829 (package
18830 (name "emacs-eval-sexp-fu-el")
18831 (version "0.5.0")
18832 (source
18833 (origin
18834 (method git-fetch)
18835 (uri (git-reference
18836 (url "https://github.com/hchbaw/eval-sexp-fu.el")
18837 (commit (string-append "v" version))))
18838 (file-name (git-file-name name version))
18839 (sha256
18840 (base32
18841 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
18842 (build-system emacs-build-system)
18843 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
18844 (synopsis "Enhancements for evaluating s-expressions")
18845 (description "This package provides provides variants of
18846 @code{eval-last-sexp} that work on the containing list or s-expression, as
18847 well as an option for visually flashing evaluated s-expressions.")
18848 (license license:gpl3+)))
18849
18850 (define-public emacs-counsel-tramp
18851 (package
18852 (name "emacs-counsel-tramp")
18853 (version "0.6.3")
18854 (source
18855 (origin
18856 (method git-fetch)
18857 (uri (git-reference
18858 (url "https://github.com/masasam/emacs-counsel-tramp")
18859 (commit version)))
18860 (file-name (git-file-name name version))
18861 (sha256
18862 (base32
18863 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
18864 (build-system emacs-build-system)
18865 (propagated-inputs
18866 `(("emacs-ivy" ,emacs-ivy)))
18867 (home-page "https://github.com/masasam/emacs-counsel-tramp")
18868 (synopsis "Ivy interface for TRAMP")
18869 (description "This package allows @code{ivy-mode} to display and filter
18870 SSH servers.")
18871 (license license:gpl3+)))
18872
18873 (define-public emacs-tramp-auto-auth
18874 (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
18875 (package
18876 (name "emacs-tramp-auto-auth")
18877 (version (git-version "20191027" "1" commit))
18878 (source
18879 (origin
18880 (method git-fetch)
18881 (uri (git-reference
18882 (url "https://github.com/oitofelix/tramp-auto-auth.git")
18883 (commit commit)))
18884 (file-name (git-file-name name version))
18885 (sha256
18886 (base32
18887 "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"))))
18888 (build-system emacs-build-system)
18889 (home-page "https://github.com/oitofelix/tramp-auto-auth")
18890 (synopsis "TRAMP automatic authentication library")
18891 (description "This package provides @code{tramp-auto-auth-mode} Emacs
18892 global minor mode whose purpose is to automatically feed TRAMP sub-processes
18893 with passwords for paths matching regexps.")
18894 (license license:gpl3+))))
18895
18896 (define-public emacs-eacl
18897 (package
18898 (name "emacs-eacl")
18899 (version "2.0.1")
18900 (source
18901 (origin
18902 (method git-fetch)
18903 (uri (git-reference
18904 (url "https://github.com/redguardtoo/eacl")
18905 (commit version)))
18906 (file-name (git-file-name name version))
18907 (sha256
18908 (base32
18909 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
18910 (build-system emacs-build-system)
18911 (propagated-inputs
18912 `(("emacs-ivy" ,emacs-ivy)))
18913 (home-page "https://github.com/redguardtoo/eacl")
18914 (synopsis "Auto-complete lines by using @code{grep} on a project")
18915 (description "This package provides auto-completion cammands for single
18916 and multiple lines of code in a project.")
18917 (license license:gpl3+)))
18918
18919 (define-public emacs-semantic-refactor
18920 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
18921 ;; commits since then.
18922 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
18923 (package
18924 (name "emacs-semantic-refactor")
18925 (version (git-version "0.5" "1" commit))
18926 (source
18927 (origin
18928 (method git-fetch)
18929 (uri (git-reference
18930 (url "https://github.com/tuhdo/semantic-refactor")
18931 (commit commit)))
18932 (file-name (git-file-name name version))
18933 (sha256
18934 (base32
18935 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
18936 (build-system emacs-build-system)
18937 (home-page "https://github.com/tuhdo/semantic-refactor")
18938 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
18939 (description "This package provides a refactoring tool based on the
18940 Emacs Semantic parser framework. For C and C++ it supports operations such as:
18941
18942 @enumerate
18943 @item Generating class implementations
18944 @item Generating function prototypes
18945 @item Converting functions to function pointers
18946 @item Moving semantic units
18947 @item etc...
18948 @end enumerate
18949
18950 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
18951 as:
18952
18953 @enumerate
18954 @item Formatting the whole buffer
18955 @item Converting sexpressions to one or multiple lines
18956 @item etc...
18957 @end enumerate\n")
18958 (license license:gpl3+))))
18959
18960 (define-public emacs-nhexl-mode
18961 (package
18962 (name "emacs-nhexl-mode")
18963 (version "1.4")
18964 (source
18965 (origin
18966 (method url-fetch)
18967 (uri (string-append
18968 "https://elpa.gnu.org/packages/nhexl-mode-"
18969 version ".el"))
18970 (sha256
18971 (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8"))))
18972 (build-system emacs-build-system)
18973 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
18974 (synopsis "Minor mode to edit files via hex-dump format")
18975 (description
18976 "This package implements NHexl mode, a minor mode for editing files
18977 in hex dump format. The mode command is called @command{nhexl-mode}.
18978
18979 This minor mode implements similar functionality to @command{hexl-mode},
18980 but using a different implementation technique, which makes it
18981 usable as a \"plain\" minor mode. It works on any buffer, and does
18982 not mess with the undo log or with the major mode.
18983
18984 It also comes with:
18985
18986 @itemize
18987 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
18988 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
18989 (which only work for hex-digits) will only modify the nibble under point.
18990 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
18991 moving text. In this minor mode, not only self-inserting keys overwrite
18992 existing text, but commands like `yank' and @command{kill-region} as well.
18993 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
18994 C-f} to advance by #xa4 characters.
18995 @end itemize\n")
18996 (license license:gpl3+)))
18997
18998 (define-public emacs-helm-wikipedia
18999 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
19000 (package
19001 (name "emacs-helm-wikipedia")
19002 (version (git-version "0.0.0" "1" commit))
19003 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
19004 (source
19005 (origin
19006 (method git-fetch)
19007 (uri (git-reference
19008 (url home-page)
19009 (commit commit)))
19010 (file-name (git-file-name name version))
19011 (sha256
19012 (base32
19013 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
19014 (build-system emacs-build-system)
19015 (inputs
19016 `(("helm" ,emacs-helm)))
19017 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
19018 (description
19019 "This package provides an Emacs Helm interface for search suggestions
19020 and article extracts for Wikipedia.")
19021 (license license:gpl3+))))
19022
19023 (define-public emacs-webfeeder
19024 (package
19025 (name "emacs-webfeeder")
19026 (version "1.0.0")
19027 (source
19028 (origin
19029 (method url-fetch)
19030 (uri (string-append
19031 "https://elpa.gnu.org/packages/webfeeder-"
19032 version
19033 ".tar"))
19034 (sha256
19035 (base32
19036 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
19037 (build-system emacs-build-system)
19038 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
19039 (synopsis "Build RSS and Atom webfeeds from HTML files")
19040 (description
19041 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
19042 files. The various elements of the HTML input are parsed with customizable
19043 functions (e.g. @code{webfeeder-title-function}).")
19044 (license license:gpl3+)))
19045
19046 (define-public emacs-evil-numbers
19047 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
19048 (package
19049 (name "emacs-evil-numbers")
19050 (version (git-version "0.4" "1" commit))
19051 (source (origin
19052 (method git-fetch)
19053 (uri (git-reference
19054 (url "https://github.com/dieggsy/evil-numbers")
19055 (commit commit)))
19056 (file-name (git-file-name name version))
19057 (sha256
19058 (base32
19059 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
19060 (build-system emacs-build-system)
19061 (home-page "https://github.com/dieggsy/evil-numbers")
19062 (synopsis "Increment and decrement numbers in Emacs")
19063 (description "This package increments and decrements binary, octal,
19064 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
19065 number up to EOL and then increments or decrements and keeps zero padding up
19066 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
19067 numbers within that region will be incremented/decremented (unlike in Vim).
19068
19069 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
19070 (license license:gpl3+))))
19071
19072 (define-public emacs-rotate-text
19073 (package
19074 (name "emacs-rotate-text")
19075 (version "0.1")
19076 (source (origin
19077 (method git-fetch)
19078 (uri (git-reference
19079 (url "https://github.com/nschum/rotate-text.el.git")
19080 (commit version)))
19081 (file-name (git-file-name name version))
19082 (sha256
19083 (base32
19084 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
19085 (build-system emacs-build-system)
19086 (home-page "http://nschum.de/src/emacs/rotate-text/")
19087 (synopsis "Cycle through words, symbols and patterns in Emacs")
19088 (description "@code{rotate-text} allows you rotate to commonly
19089 interchanged text with a single keystroke. For example, you can toggle
19090 between \"frame-width\" and \"frame-height\", between \"public\",
19091 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
19092 \"variableN\".")
19093 (license license:gpl2+)))
19094
19095 (define-public emacs-ediprolog
19096 (package
19097 (name "emacs-ediprolog")
19098 (version "1.2")
19099 (source
19100 (origin
19101 (method url-fetch)
19102 (uri (string-append
19103 "https://elpa.gnu.org/packages/ediprolog-"
19104 version
19105 ".el"))
19106 (sha256
19107 (base32
19108 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
19109 (build-system emacs-build-system)
19110 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
19111 (synopsis "Emacs Does Interactive Prolog")
19112 (description "This package provides a major mode that let the user
19113 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
19114 programs and evaluate embedded queries. This mode is focused on the command
19115 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
19116 context, carry out the appropriate action.")
19117 (license license:gpl3+)))
19118
19119 (define-public emacs-evil-cleverparens
19120 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
19121 (revision "1"))
19122 (package
19123 (name "emacs-evil-cleverparens")
19124 (version (git-version "2017-07-17" revision commit))
19125 (source (origin
19126 (method git-fetch)
19127 (uri (git-reference
19128 (url "https://github.com/luxbock/evil-cleverparens.git")
19129 (commit commit)))
19130 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
19131 (file-name (git-file-name name version))))
19132 (build-system emacs-build-system)
19133 (propagated-inputs
19134 `(("emacs-evil" ,emacs-evil)
19135 ("emacs-paredit" ,emacs-paredit)
19136 ("emacs-smartparens" ,emacs-smartparens)))
19137 (home-page "https://github.com/luxbock/evil-cleverparens")
19138 (synopsis "Emacs modal editing optimized for editing Lisp")
19139 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
19140 modal editing with screwing up the structure of Lisp code. Alternatives for
19141 verb commands which would are normally destructive (such as deletion) are
19142 provided. Those alternative commands are and bound by default to their
19143 corresponding Evil keys.")
19144 (license license:expat))))
19145
19146 (define-public emacs-evil-traces
19147 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
19148 (revision "2"))
19149 (package
19150 (name "emacs-evil-traces")
19151 (version (git-version "0.0.1" revision commit))
19152 (source (origin
19153 (method git-fetch)
19154 (uri (git-reference
19155 (url "https://github.com/mamapanda/evil-traces.git")
19156 (commit commit)))
19157 (file-name (git-file-name name version))
19158 (sha256
19159 (base32
19160 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
19161 (build-system emacs-build-system)
19162 (propagated-inputs
19163 `(("emacs-evil" ,emacs-evil)))
19164 (arguments
19165 `(#:phases
19166 (modify-phases %standard-phases
19167 (add-after 'unpack 'set-shell
19168 ;; Setting the SHELL environment variable is required for the tests
19169 ;; to find sh.
19170 (lambda _
19171 (setenv "SHELL" (which "sh"))
19172 #t)))
19173 #:tests? #t
19174 #:test-command '("make" "test")))
19175 (home-page "https://github.com/mamapanda/evil-traces")
19176 (synopsis "Visual hints for @code{evil-ex}")
19177 (description "This package adds visual hints to certain @code{ex}
19178 commands in @code{evil-mode}.")
19179 (license license:gpl3+))))
19180
19181 (define-public emacs-xterm-color
19182 (package
19183 (name "emacs-xterm-color")
19184 (version "1.9")
19185 (source (origin
19186 (method git-fetch)
19187 (uri (git-reference
19188 (url "https://github.com/atomontage/xterm-color.git")
19189 (commit version)))
19190 (file-name (git-file-name name version))
19191 (sha256
19192 (base32
19193 "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"))))
19194 (build-system emacs-build-system)
19195 (home-page "https://github.com/atomontage/xterm-color")
19196 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
19197 (description "@code{xterm-color.el} is an ANSI control sequence to
19198 text-property translator.")
19199 (license license:bsd-2)))
19200
19201 (define-public emacs-org-noter
19202 (package
19203 (name "emacs-org-noter")
19204 (version "1.4.1")
19205 (source
19206 (origin
19207 (method git-fetch)
19208 (uri (git-reference
19209 (url "https://github.com/weirdNox/org-noter.git")
19210 (commit version)))
19211 (file-name (git-file-name name version))
19212 (sha256
19213 (base32
19214 "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
19215 (build-system emacs-build-system)
19216 (propagated-inputs `(("emacs-org" ,emacs-org)))
19217 (home-page "https://github.com/weirdNox/org-noter")
19218 (synopsis "Synchronized, Org-mode, document annotator")
19219 (description
19220 "This package lets you create notes that are kept in sync when you
19221 scroll through the document, but that are external to it---the notes
19222 themselves live in an Org-mode file. As such, this leverages the power of
19223 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
19224 acting like notes that are made @emph{in} the document.")
19225 (license license:gpl3+)))
19226
19227 (define-public emacs-org-redmine
19228 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
19229 (package
19230 (name "emacs-org-redmine")
19231 (version (git-version "0.1" "1" commit))
19232 (source (origin
19233 (method git-fetch)
19234 (uri (git-reference
19235 (url "https://github.com/gongo/org-redmine.git")
19236 (commit commit)))
19237 (file-name (git-file-name name version))
19238 (sha256
19239 (base32
19240 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
19241 (build-system emacs-build-system)
19242 (home-page "https://github.com/gongo/org-redmine/")
19243 (synopsis "Redmine tools using Emacs")
19244 (description "This program provides an Emacs client for Redmine.")
19245 (license license:gpl3+))))
19246
19247 (define-public emacs-multi-term
19248 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
19249 (package
19250 (name "emacs-multi-term")
19251 (version "1.2")
19252 (source (origin
19253 (method git-fetch)
19254 (uri (git-reference
19255 (url "https://github.com/manateelazycat/multi-term.git")
19256 (commit commit)))
19257 (file-name (git-file-name name version))
19258 (sha256
19259 (base32
19260 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
19261 (build-system emacs-build-system)
19262 (inputs `(("zsh" ,zsh)))
19263 (home-page "https://github.com/manateelazycat/multi-term")
19264 (synopsis "Manage multiple terminal buffers in Emacs")
19265 (description
19266 "This package enhances @code{term.el} with the following features:
19267
19268 @enumerate
19269 @item Functions to switch between multiple terminal buffers
19270 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
19271 the underlying terminal
19272 @item Kills the unused buffer left after exiting the terminal
19273 @item Kills the running sub-processes along with the terminal when killing the
19274 it forcibly
19275 @item Dedicated window for debugging program.
19276 @end enumerate")
19277 (license license:gpl3+))))
19278
19279 (define-public emacs-elpher
19280 (package
19281 (name "emacs-elpher")
19282 (version "1.4.6")
19283 (source
19284 (origin
19285 (method git-fetch)
19286 (uri (git-reference
19287 (url "https://github.com/tgvaughan/elpher")
19288 (commit (string-append "v" version))))
19289 (file-name (git-file-name name version))
19290 (sha256
19291 (base32
19292 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
19293 (build-system emacs-build-system)
19294 (native-inputs
19295 `(("texinfo" ,texinfo)))
19296 (arguments
19297 `(#:phases
19298 (modify-phases %standard-phases
19299 (add-before 'install 'build-doc
19300 (lambda _
19301 (invoke "makeinfo" "elpher.texi"))))))
19302 (home-page "https://github.com/tgvaughan/elpher")
19303 (synopsis "Gopher client for Emacs")
19304 (description "Elpher is a full-featured gopher client for Emacs. Its
19305 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
19306 compatibility with evil-mode, clickable web and gopher links in plain text,
19307 caching of visited sites, pleasant and configurable visualization of Gopher
19308 directories, direct visualisation of image files, jumping directly to links by
19309 name (with autocompletion), a simple bookmark management system and
19310 connections using TLS encryption.")
19311 (license license:gpl3+)))
19312
19313 (define-public emacs-zerodark-theme
19314 (package
19315 (name "emacs-zerodark-theme")
19316 (version "4.6")
19317 (source
19318 (origin
19319 (method git-fetch)
19320 (uri (git-reference
19321 (url "https://github.com/NicolasPetton/zerodark-theme")
19322 (commit version)))
19323 (file-name (git-file-name name version))
19324 (sha256
19325 (base32
19326 "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"))))
19327 (build-system emacs-build-system)
19328 (propagated-inputs
19329 `(("emacs-flycheck" ,emacs-flycheck)
19330 ("emacs-all-the-icons" ,emacs-all-the-icons)))
19331 (home-page
19332 "https://gitlab.petton.fr/nico/zerodark-theme")
19333 (synopsis
19334 "Dark, medium contrast theme for Emacs")
19335 (description
19336 "Zerodark is a dark theme inspired from One Dark and Niflheim.
19337 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
19338 (license license:gpl3+)))
19339
19340 (define-public emacs-gnus-alias
19341 (package
19342 (name "emacs-gnus-alias")
19343 (version "20150316")
19344 (source (origin
19345 (method git-fetch)
19346 (uri (git-reference
19347 (url "https://github.com/hexmode/gnus-alias.git")
19348 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
19349 (file-name (git-file-name name version))
19350 (sha256
19351 (base32
19352 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
19353 (build-system emacs-build-system)
19354 (home-page "https://melpa.org/#/gnus-alias")
19355 (synopsis "Alternative to @code{gnus-posting-styles}")
19356 (description "This Emacs add-on provides a simple mechanism to switch
19357 Identities when using a @code{message-mode} or a @code{message-mode} derived
19358 mode. Identities can include @code{From} and @code{Organisation} headers,
19359 extra headers, body and signature. Other features include:
19360
19361 @itemize
19362 @item Switch Identities in a message buffer.
19363 @item Access original message to help determine Identity of the followup/reply
19364 message.
19365 @item Act on a forwarded message as if it were a message being replied to.
19366 @item Start a new message with a given Identity pre-selected.
19367 @end itemize")
19368 (license license:gpl2+)))
19369
19370 (define-public emacs-ox-epub
19371 (package
19372 (name "emacs-ox-epub")
19373 (version "0.3")
19374 (source (origin
19375 (method git-fetch)
19376 (uri (git-reference
19377 (url "https://github.com/ofosos/ox-epub.git")
19378 (commit (string-append "v" version))))
19379 (file-name (git-file-name name version))
19380 (sha256
19381 (base32
19382 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
19383 (build-system emacs-build-system)
19384 (home-page "https://github.com/ofosos/ox-epub")
19385 (synopsis "Export org mode projects to EPUB")
19386 (description "@code{ox-epub} extends the (X)HTML exporter to generate
19387 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
19388 which should give broad compatibility. It should also be relatiely easy to
19389 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
19390 zip utility (default is @code{zip}).")
19391 (license license:gpl3+)))
19392
19393 (define-public emacs-ox-hugo
19394 (package
19395 (name "emacs-ox-hugo")
19396 (version "0.8")
19397 (source
19398 (origin
19399 (method git-fetch)
19400 (uri (git-reference
19401 (url "https://github.com/kaushalmodi/ox-hugo.git")
19402 (commit (string-append "v" version))))
19403 (file-name (git-file-name name version))
19404 (sha256
19405 (base32
19406 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
19407 (build-system emacs-build-system)
19408 (home-page "https://ox-hugo.scripter.co")
19409 (synopsis "Hugo markdown back-end for Org export engine")
19410 (description
19411 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
19412 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
19413 format.")
19414 (license license:gpl3+)))
19415
19416 (define-public emacs-ox-pandoc
19417 (package
19418 (name "emacs-ox-pandoc")
19419 (version "20180510")
19420 (source (origin
19421 (method git-fetch)
19422 (uri (git-reference
19423 (url "https://github.com/kawabata/ox-pandoc.git")
19424 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
19425 (file-name (git-file-name name version))
19426 (sha256
19427 (base32
19428 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
19429 (build-system emacs-build-system)
19430 (inputs
19431 `(("pandoc" ,ghc-pandoc)))
19432 (propagated-inputs
19433 `(("emacs-dash" ,emacs-dash)
19434 ("emacs-ht" ,emacs-ht)))
19435 (home-page "https://github.com/kawabata/ox-pandoc")
19436 (synopsis "Org exporter for Pandoc")
19437 (description "@code{ox-pandoc} is an exporter for converting Org-mode
19438 files to numerous other formats via Pandoc.")
19439 (license license:gpl3+)))
19440
19441 (define-public emacs-wc-mode
19442 (package
19443 (name "emacs-wc-mode")
19444 (version "1.3")
19445 (source (origin
19446 (method git-fetch)
19447 (uri (git-reference
19448 (url "https://github.com/bnbeckwith/wc-mode.git")
19449 (commit (string-append "v" version))))
19450 (file-name (git-file-name name version))
19451 (sha256
19452 (base32
19453 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
19454 (build-system emacs-build-system)
19455 (home-page "https://github.com/bnbeckwith/wc-mode")
19456 (synopsis "Running word count with goals (minor mode)")
19457 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
19458 for Emacs buffers as well as a modeline addition with live word, line and
19459 character counts. Additionally, a user can set specific goals for adding or
19460 deleting words. These goals were partly inspired by 750words.com where the
19461 goal of the site is to encourage writing by setting a goal of 750 words at a
19462 time.")
19463 (license license:gpl3+)))
19464
19465 (define-public emacs-mastodon
19466 (package
19467 (name "emacs-mastodon")
19468 (version "0.9.0")
19469 (source (origin
19470 (method git-fetch)
19471 (uri (git-reference
19472 (url "https://github.com/jdenen/mastodon.el.git")
19473 (commit version)))
19474 (file-name (git-file-name name version))
19475 (sha256
19476 (base32
19477 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
19478 (build-system emacs-build-system)
19479 (arguments
19480 `(#:phases
19481 (modify-phases %standard-phases
19482 ;; Move the source files to the top level, which is included in
19483 ;; the EMACSLOADPATH.
19484 (add-after 'unpack 'move-source-files
19485 (lambda _
19486 (let ((el-files (find-files "./lisp" ".*\\.el$")))
19487 (for-each (lambda (f)
19488 (rename-file f (basename f)))
19489 el-files))
19490 #t)))))
19491 (home-page "https://github.com/jdenen/mastodon.el")
19492 (synopsis "Emacs client for Mastodon")
19493 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
19494 federated microblogging social network.")
19495 (license license:gpl3+)))
19496
19497 ;; The last release tarball is for version 0.6. We pick a commit close to
19498 ;; version 0.6.10, which doesn't have a release tarball.
19499 (define-public emacs-ebdb
19500 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
19501 (revision "0"))
19502 (package
19503 (name "emacs-ebdb")
19504 (version (git-version "0.6.10" revision commit))
19505 (source (origin
19506 (method git-fetch)
19507 (uri (git-reference
19508 (url "https://github.com/girzel/ebdb.git")
19509 (commit commit)))
19510 (file-name (git-file-name name version))
19511 (sha256
19512 (base32
19513 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
19514 (build-system emacs-build-system)
19515 (home-page "https://github.com/girzel/ebdb")
19516 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
19517 (description "EBDB is a contact management/addressbook package for
19518 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
19519 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
19520 (license license:gpl3+))))
19521
19522 (define-public emacs-refactor
19523 (package
19524 (name "emacs-refactor")
19525 (version "0.4")
19526 (source (origin
19527 (method git-fetch)
19528 (uri (git-reference
19529 (url "https://github.com/Wilfred/emacs-refactor.git")
19530 (commit version)))
19531 (file-name (git-file-name name version))
19532 (sha256
19533 (base32
19534 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
19535 (build-system emacs-build-system)
19536 (propagated-inputs
19537 `(("emacs-dash" ,emacs-dash)
19538 ("emacs-s" ,emacs-s)
19539 ("emacs-popup" ,emacs-popup)
19540 ("emacs-list-utils" ,emacs-list-utils)
19541 ("emacs-iedit" ,emacs-iedit)))
19542 (home-page "https://github.com/Wilfred/emacs-refactor/")
19543 (synopsis "Language-specific refactoring in Emacs")
19544 (description "Emacs Refactor (EMR) is a framework for providing
19545 language-specific refactoring in Emacs. It includes refactoring commands for
19546 a variety of languages, including elisp itself.")
19547 (license license:gpl3+)))
19548
19549 (define-public emacs-flyspell-correct
19550 (package
19551 (name "emacs-flyspell-correct")
19552 (version "0.5")
19553 (source
19554 (origin
19555 (method git-fetch)
19556 (uri (git-reference
19557 (url "https://github.com/d12frosted/flyspell-correct.git")
19558 (commit (string-append "v" version))))
19559 (file-name (git-file-name name version))
19560 (sha256
19561 (base32
19562 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
19563 (build-system emacs-build-system)
19564 (propagated-inputs
19565 `(("emacs-helm" ,emacs-helm)
19566 ("emacs-ivy" ,emacs-ivy)
19567 ("emacs-popup" ,emacs-popup)))
19568 (home-page
19569 "https://github.com/d12frosted/flyspell-correct")
19570 (synopsis
19571 "Correcting words with flyspell via custom interfaces")
19572 (description
19573 "This package provides functionality for correcting words via custom
19574 interfaces. Several interfaces are supported beside the classic ido: popup,
19575 helm and ivy.")
19576 (license license:gpl3+)))
19577
19578 (define-public emacs-org-emms
19579 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
19580 (revision "1"))
19581 (package
19582 (name "emacs-org-emms")
19583 (version
19584 (git-version "0.1" revision commit))
19585 (source
19586 (origin
19587 (method git-fetch)
19588 (uri (git-reference
19589 (url "https://gitlab.com/jagrg/org-emms.git")
19590 (commit commit)))
19591 (file-name (git-file-name name commit))
19592 (sha256
19593 (base32
19594 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
19595 (build-system emacs-build-system)
19596 (propagated-inputs
19597 `(("emms" ,emacs-emms)
19598 ("emacs-org" ,emacs-org)))
19599 (home-page "https://gitlab.com/jagrg/org-emms")
19600 (synopsis "Play multimedia files from org-mode")
19601 (description
19602 "This package provides a new org link type for playing back multimedia
19603 files from org-mode using EMMS, The Emacs Multimedia System. If the link
19604 contains a track position, playback will start at the specified position.")
19605 (license license:gpl3+))))
19606
19607 (define-public emacs-org-jira
19608 (package
19609 (name "emacs-org-jira")
19610 (version "4.3.1")
19611 (source
19612 (origin
19613 (method git-fetch)
19614 (uri (git-reference
19615 (url "https://github.com/ahungry/org-jira.git")
19616 (commit version)))
19617 (file-name (git-file-name name version))
19618 (sha256
19619 (base32
19620 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
19621 (build-system emacs-build-system)
19622 (propagated-inputs
19623 `(("emacs-request" ,emacs-request)
19624 ("emacs-s" ,emacs-s)
19625 ("emacs-dash" ,emacs-dash)
19626 ("emacs-org" ,emacs-org)))
19627 (home-page "https://github.com/ahungry/org-jira")
19628 (synopsis "Syncing between Jira and Org-mode")
19629 (description
19630 "This package provides an extension to org-mode for syncing issues with
19631 JIRA issue servers.")
19632 (license license:gpl3+)))
19633
19634 (define-public emacs-systemd-mode
19635 (package
19636 (name "emacs-systemd-mode")
19637 (version "1.6")
19638 (source (origin
19639 (method git-fetch)
19640 (uri (git-reference
19641 (url "https://github.com/holomorph/systemd-mode.git")
19642 (commit (string-append "v" version))))
19643 (file-name (git-file-name name version))
19644 (sha256
19645 (base32
19646 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
19647 (build-system emacs-build-system)
19648 (arguments '(#:include '("\\.el$" "\\.txt$")))
19649 (home-page "https://github.com/holomorph/systemd-mode")
19650 (synopsis
19651 "Major mode for editing systemd units")
19652 (description
19653 "Major mode for editing systemd units in GNU Emacs.")
19654 (license license:gpl3+)))
19655
19656 (define-public emacs-ssh-config-mode
19657 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
19658 (revision "1"))
19659 (package
19660 (name "emacs-ssh-config-mode")
19661 (version (git-version "8.0" revision commit))
19662 (source
19663 (origin
19664 (method git-fetch)
19665 (uri
19666 (git-reference
19667 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
19668 (commit commit)))
19669 (file-name (git-file-name name commit))
19670 (sha256
19671 (base32
19672 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
19673 (build-system emacs-build-system)
19674 (arguments '(#:include '("\\.el$" "\\.txt$")))
19675 (home-page
19676 "https://github.com/jhgorrell/ssh-config-mode-el")
19677 (synopsis
19678 "Mode for fontification of ~/.ssh/config")
19679 (description
19680 "This package fontifies the ssh config keywords and creates
19681 keybindings for skipping from host section to host section.")
19682 (license license:gpl3+))))
19683
19684 (define-public emacs-ssh-agency
19685 (package
19686 (name "emacs-ssh-agency")
19687 (version "0.4")
19688 (source (origin
19689 (method git-fetch)
19690 (uri (git-reference
19691 (url "https://github.com/magit/ssh-agency.git")
19692 (commit version)))
19693 (file-name (git-file-name name version))
19694 (sha256
19695 (base32
19696 "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"))))
19697 (build-system emacs-build-system)
19698 (propagated-inputs
19699 `(("dash" ,emacs-dash)))
19700 (home-page "https://github.com/magit/ssh-agency")
19701 (synopsis "Manage @code{ssh-agent} from Emacs")
19702 (description
19703 "This package provides functions to startup @code{ssh-agent}, set the
19704 needed environment variables in Emacs, and prompt for passphrases from within
19705 Emacs so that pushes and pulls from @code{magit} will not require entering any
19706 passphrase.
19707
19708 It can also be useful on Unix-like platforms to delay having to enter your
19709 passphrase until the first time you push to a remote.")
19710 (license license:gpl3+)))
19711
19712 (define-public emacs-tao-theme
19713 (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c")
19714 (revision "0"))
19715 (package
19716 (name "emacs-tao-theme")
19717 (version (git-version "0" revision commit))
19718 (source
19719 (origin
19720 (method git-fetch)
19721 (uri (git-reference
19722 (url "https://github.com/11111000000/tao-theme-emacs.git")
19723 (commit commit)))
19724 (file-name (git-file-name name version))
19725 (sha256
19726 (base32
19727 "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"))))
19728 (build-system emacs-build-system)
19729 (home-page "https://github.com/11111000000/tao-theme-emacs")
19730 (synopsis "Parameterized uncolored color themes for Emacs")
19731 (description
19732 "This package provides two parameterized uncolored color themes for
19733 Emacs: @code{tao-yin} and @code{tao-yang}. The default
19734 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
19735
19736 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
19737 @code{tao-theme-scale-filter-fn}, for edge filter; and
19738 @code{tao-theme-use-height}.")
19739 (license license:gpl3+))))
19740
19741 (define-public emacs-almost-mono-themes
19742 (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
19743 (revision "0"))
19744 (package
19745 (name "emacs-almost-mono-themes")
19746 (version (git-version "0" revision commit))
19747 (source
19748 (origin
19749 (method git-fetch)
19750 (uri (git-reference
19751 (url "https://github.com/cryon/almost-mono-themes.git")
19752 (commit commit)))
19753 (file-name (git-file-name name version))
19754 (sha256
19755 (base32
19756 "034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
19757 (build-system emacs-build-system)
19758 (home-page "https://github.com/cryon/almost-mono-themes")
19759 (synopsis "Almost monochromatic themes for emacs in a few variants")
19760 (description
19761 "This package provides a collection of almost monochrome Emacs themes:
19762 @code{almost-mono-black} and @code{almost-mono-white}.")
19763 (license license:gpl3+))))
19764
19765 (define-public emacs-quasi-monochrome
19766 (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
19767 (revision "0"))
19768 (package
19769 (name "emacs-quasi-monochrome")
19770 (version (git-version "1.2" revision commit))
19771 (source
19772 (origin
19773 (method git-fetch)
19774 (uri (git-reference
19775 (url "https://github.com/lbolla/emacs-quasi-monochrome.git")
19776 (commit commit)))
19777 (file-name (git-file-name name version))
19778 (sha256
19779 (base32
19780 "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
19781 (build-system emacs-build-system)
19782 (home-page "https://github.com/lbolla/emacs-quasi-monochrome")
19783 (synopsis "Dark color theme for Emacs")
19784 (description
19785 "This package provides a dark color theme with a black background, high
19786 contrast and few colors.")
19787 (license license:gpl3+))))
19788
19789 (define-public emacs-doom-themes
19790 (let ((commit "088bfad9a6983c42016da33cd11b9ee855451dcb")
19791 (revision "2")
19792 (version "2.1.6"))
19793 (package
19794 (name "emacs-doom-themes")
19795 (version (git-version version revision commit))
19796 (source (origin
19797 (method git-fetch)
19798 (uri (git-reference
19799 (url "https://github.com/hlissner/emacs-doom-themes.git")
19800 (commit commit)))
19801 (file-name (git-file-name name version))
19802 (sha256
19803 (base32 "1dmq0vja1k907id56y4012cm3f49vf106v3gglk9sf4kbi9cash2"))))
19804 (build-system emacs-build-system)
19805 (native-inputs
19806 `(("emacs-ert-runner" ,emacs-ert-runner)))
19807 (arguments
19808 `(#:tests? #t
19809 #:test-command '("ert-runner")
19810 #:phases
19811 (modify-phases %standard-phases
19812 (add-after 'unpack 'move-themes
19813 (lambda _
19814 ;; Move the source files to the top level, which is in the
19815 ;; EMACSLOADPATH.
19816 (for-each (lambda (f)
19817 (rename-file f (basename f)))
19818 (find-files "./themes" ".*\\.el$"))
19819 #t))
19820 ;; XXX: There is a byte-code overflow issue in the latest
19821 ;; checkout which affects byte-compilation for several theme
19822 ;; files. The easiest way to work around this is to disable
19823 ;; byte-compilation until the issue is resolved.
19824 ;; <https://github.com/hlissner/emacs-doom-themes/issues/314>
19825 (delete 'build))))
19826 (synopsis "Wide collection of color themes for Emacs")
19827 (description "Emacs-doom-themes contains numerous popular color themes for
19828 Emacs that integrate with major modes like Org-mode.")
19829 (home-page "https://github.com/hlissner/emacs-doom-themes")
19830 (license license:expat))))
19831
19832 (define-public emacs-modus-themes
19833 (package
19834 (name "emacs-modus-themes")
19835 (version "0.1.0")
19836 (source
19837 (origin
19838 (method git-fetch)
19839 (uri (git-reference
19840 (url "https://gitlab.com/protesilaos/modus-themes.git")
19841 (commit version)))
19842 (file-name (git-file-name name version))
19843 (sha256
19844 (base32
19845 "15g63675c5df2p0kk2sqj2c8qriyh69lcbggknqlaxapr13giz4x"))))
19846 (build-system emacs-build-system)
19847 (home-page "https://gitlab.com/protesilaos/modus-themes")
19848 (synopsis "Emacs themes designed for colour-contrast accessibility")
19849 (description
19850 "This is a set of accessible themes for GNU Emacs. The contrast ratio
19851 between foreground and background values should always be >= 7:1, which
19852 conforms with the WCAG AAA accessibility standard.
19853
19854 The Modus themes project consists of two standalone items, one where dark text
19855 is cast on a light backdrop (Modus Operandi) and another where light text is
19856 displayed against a dark background (Modus Vivendi).")
19857 (license license:gpl3+)))
19858
19859 (define-public emacs-elixir-mode
19860 (package
19861 (name "emacs-elixir-mode")
19862 (version "2.3.1")
19863 (source
19864 (origin
19865 (method git-fetch)
19866 (uri (git-reference
19867 (url "https://github.com/elixir-editors/emacs-elixir.git")
19868 (commit (string-append "v" version))))
19869 (file-name (git-file-name name version))
19870 (sha256
19871 (base32 "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"))))
19872 (build-system emacs-build-system)
19873 (propagated-inputs
19874 `(("emacs-pkg-info" ,emacs-pkg-info)))
19875 (home-page
19876 "https://github.com/elixir-editors/emacs-elixir")
19877 (synopsis "Major mode for editing Elixir files")
19878 (description
19879 "Elixir-Mode Provides font-locking, indentation and navigation support
19880 for the Elixir programming language.")
19881 (license license:gpl3+)))
19882
19883 (define-public emacs-dimmer
19884 (package
19885 (name "emacs-dimmer")
19886 (version "0.3.0")
19887 (source
19888 (origin
19889 (method git-fetch)
19890 (uri (git-reference
19891 (url "https://github.com/gonewest818/dimmer.el.git")
19892 (commit version)))
19893 (file-name (git-file-name name version))
19894 (sha256
19895 (base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"))))
19896 (build-system emacs-build-system)
19897 (home-page "https://github.com/gonewest818/dimmer.el")
19898 (synopsis "Visually highlights the selected buffer in Emacs")
19899 (description "Dimmer provides a minor mode that indicates which buffer is
19900 currently active by dimming the faces in the other buffers. It does this
19901 nondestructively, and computes the dimmed faces dynamically such that your
19902 overall color scheme is shown in a muted form without requiring you to define
19903 what is a \"dim\" version of every face.")
19904 (license license:gpl3+)))
19905
19906 (define-public emacs-minibuffer-line
19907 (package
19908 (name "emacs-minibuffer-line")
19909 (version "0.1")
19910 (source
19911 (origin
19912 (method url-fetch)
19913 (uri (string-append
19914 "https://elpa.gnu.org/packages/minibuffer-line-"
19915 version
19916 ".el"))
19917 (sha256
19918 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
19919 (build-system emacs-build-system)
19920 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
19921 (synopsis "Display status info in the minibuffer window")
19922 (description
19923 "This package lets you display various status information in the
19924 minibuffer window instead of the mode-line. Of course, this is only displayed
19925 when the minibuffer window is not already used for other things (e.g. a
19926 minibuffer or an each area message).
19927
19928 The contents and aspect is controlled by the @code{minibuffer-line-format}
19929 variable and the @code{minibuffer-line} face.")
19930 (license license:gpl3+)))
19931
19932 (define-public emacs-eshell-prompt-extras
19933 (package
19934 (name "emacs-eshell-prompt-extras")
19935 (version "1.0")
19936 (home-page "https://github.com/zwild/eshell-prompt-extras")
19937 (source
19938 (origin
19939 (method git-fetch)
19940 (uri (git-reference
19941 (url home-page)
19942 (commit version)))
19943 (file-name (git-file-name name version))
19944 (sha256
19945 (base32
19946 "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"))))
19947 (build-system emacs-build-system)
19948 (synopsis "Display extra information and color for your Eshell prompt")
19949 (description "This library displays various customizable elements for
19950 @code{eshell} prompts: remote user, remote host, python virtual environment
19951 info, git branch, git dirty info and git unpushed number. Multiple themes are
19952 available.")
19953 (license license:gpl3+)))
19954
19955 (define-public emacs-eshell-did-you-mean
19956 (package
19957 (name "emacs-eshell-did-you-mean")
19958 (version "0.1")
19959 (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
19960 (source
19961 (origin
19962 (method git-fetch)
19963 (uri (git-reference
19964 (url home-page)
19965 (commit (string-append "v" version))))
19966 (file-name (git-file-name name version))
19967 (sha256
19968 (base32
19969 "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg"))))
19970 (build-system emacs-build-system)
19971 (synopsis "Display suggestions on 'command not found' in Eshell")
19972 (description "This library adds a list of 'Did you mean...' suggestions
19973 when the command was not found in Eshell. The suggestions are found after the
19974 commands that bear resemblance to the input command.")
19975 (license license:gpl3+)))
19976
19977 (define-public emacs-unfill
19978 (package
19979 (name "emacs-unfill")
19980 (version "0.2")
19981 (home-page "https://github.com/purcell/unfill")
19982 (source
19983 (origin
19984 (method git-fetch)
19985 (uri (git-reference
19986 (url home-page)
19987 (commit version)))
19988 (file-name (git-file-name name version))
19989 (sha256
19990 (base32 "0wyradin5igp25nsd3n22i2ppxhmy49ac1iq1w2715v8pfmiydnc"))))
19991 (build-system emacs-build-system)
19992 (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}")
19993 (description
19994 "The functions in this package provide the inverse of Emacs'
19995 @code{fill-paragraph} and @code{fill-region}.")
19996 (license license:gpl3+)))
19997
19998 (define-public emacs-windower
19999 (package
20000 (name "emacs-windower")
20001 (version "0.0.1")
20002 (home-page "https://gitlab.com/ambrevar/emacs-windower")
20003 (source
20004 (origin
20005 (method git-fetch)
20006 (uri (git-reference
20007 (url home-page)
20008 (commit version)))
20009 (file-name (git-file-name name version))
20010 (sha256
20011 (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy"))))
20012 (build-system emacs-build-system)
20013 (synopsis "Helper functions for window manipulation in Emacs")
20014 (description
20015 "This package provides helper functions for window manipulation in Emacs,
20016 such as:
20017
20018 @itemize
20019 - switch to last buffer,
20020 - toggle single window display,
20021 - toggle between horizontal and vertical splits,
20022 - move borders more naturally,
20023 - swap windows à-la @code{windmove}.
20024 @end itemize\n")
20025 (license license:gpl3+)))
20026
20027 (define-public emacs-flycheck-cpplint
20028 (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2")
20029 (revision "1"))
20030 (package
20031 (name "emacs-flycheck-cpplint")
20032 (version (git-version "0.1" revision commit))
20033 (source
20034 (origin
20035 (method git-fetch)
20036 (uri (git-reference
20037 (url "https://github.com/flycheck/flycheck-google-cpplint")
20038 (commit commit)))
20039 (file-name (git-file-name name version))
20040 (sha256
20041 (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx"))))
20042 (build-system emacs-build-system)
20043 (arguments
20044 `(#:phases
20045 (modify-phases %standard-phases
20046 (add-after 'unpack 'set-cpplint-path
20047 (lambda _
20048 (substitute* "flycheck-google-cpplint.el"
20049 (("\"cpplint.py\"")
20050 (string-append "\"" (which "cpplint") "\"")))
20051 #t)))))
20052 (inputs
20053 `(("cpplint" ,cpplint)))
20054 (propagated-inputs
20055 `(("flycheck-mode" ,emacs-flycheck)))
20056 (synopsis "Google C++ checker for Flycheck")
20057 (description "This package provides a interface for @code{cpplint} over
20058 Flycheck plugin. @code{cpplint} is a static code checker for C++, following
20059 Google guidelines.")
20060 (home-page "https://github.com/flycheck/flycheck-google-cpplint")
20061 (license license:gpl3+))))
20062
20063 (define-public emacs-helm-fish-completion
20064 (let ((commit "ef764dd123040fe67ef8b62a1c13842e940b0963")
20065 (revision "1"))
20066 (package
20067 (name "emacs-helm-fish-completion")
20068 (version (git-version "0.1" revision commit))
20069 (home-page "https://github.com/emacs-helm/helm-fish-completion")
20070 (source
20071 (origin
20072 (method git-fetch)
20073 (uri (git-reference
20074 (url home-page)
20075 (commit commit)))
20076 (file-name (git-file-name name version))
20077 (sha256
20078 (base32 "0k80kpapwfq2rv1lb0r994d0w6czl92xrmnkmrg0a05f4b3q0lb4"))))
20079 (build-system emacs-build-system)
20080 (propagated-inputs
20081 `(("helm" ,emacs-helm)
20082 ("fish-completion" ,emacs-fish-completion)))
20083 (synopsis "Helm interface for Emacs fish-completion")
20084 (description "Helm Fish Completion is a Helm interface for Emacs
20085 fish-completion. It can be used in both Eshell and M-x shell.")
20086 (license license:gpl3+))))
20087
20088 (define-public emacs-telega
20089 (let ((commit "6184e76990db395bea02f7b5d3169e746111e1ad")
20090 (revision "1")
20091 (version "0.5.3"))
20092 (package
20093 (name "emacs-telega")
20094 (version (git-version version revision commit))
20095 (source
20096 (origin
20097 (method git-fetch)
20098 (uri (git-reference
20099 (url "https://github.com/zevlg/telega.el.git")
20100 (commit commit)))
20101 (sha256
20102 (base32
20103 "1kfmmfc9dv3r2wxm1njflgas51qm0j8sj7yr7vfvwaz5sz7p121b"))
20104 (file-name (git-file-name name version))))
20105 (build-system gnu-build-system)
20106 (arguments
20107 `(#:test-target "test"
20108 #:modules ((guix build gnu-build-system)
20109 ((guix build emacs-build-system) #:prefix emacs:)
20110 (guix build utils)
20111 (guix build emacs-utils))
20112 #:imported-modules (,@%gnu-build-system-modules
20113 (guix build emacs-build-system)
20114 (guix build emacs-utils))
20115 #:phases
20116 (modify-phases %standard-phases
20117 (add-after 'unpack 'prefix-patch
20118 (lambda _
20119 (substitute* "server/Makefile"
20120 (("CC=cc")
20121 "CC=gcc")
20122 (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
20123 (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
20124 "/bin"))
20125 ;; Manually invoke `run_tests.py` after install phase.
20126 (("python3 run_tests.py")
20127 ""))
20128 #t))
20129 (add-after 'unpack 'telega-paths-patch
20130 (lambda* (#:key inputs #:allow-other-keys)
20131 ;; Hard-code paths to `ffplay` and `ffmpeg`.
20132 (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
20133 "/bin/ffplay"))
20134 (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
20135 "/bin/ffmpeg")))
20136 (substitute* "telega-ffplay.el"
20137 (("\\(executable-find \"ffplay\"\\)")
20138 (string-append
20139 "(and (file-executable-p \"" ffplay-bin "\")"
20140 "\"" ffplay-bin "\")"))
20141 (("\\(executable-find \"ffmpeg\"\\)")
20142 (string-append
20143 "(and (file-executable-p \"" ffmpeg-bin "\")"
20144 "\"" ffmpeg-bin "\")"))))
20145 ;; Modify telega-util to reflect unique dir name in
20146 ;; `telega-install-data' phase.
20147 (substitute* "telega-util.el"
20148 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
20149 "(concat \"telega-data/\" filename)
20150 (locate-dominating-file telega--lib-directory
20151 \"telega-data\")"))
20152 #t))
20153 ;; The telega test suite checks for a version of Emacs
20154 ;; compiled with imagemagick and svg support. Since we
20155 ;; are using `emacs-minimal`, this step will fail.
20156 ;; Grok the failing test, and remove problematic assertions.
20157 (add-after 'unpack 'ert-suite-patch
20158 (lambda _
20159 (substitute* "telega-core.el"
20160 (("\\(image-type-available-p 'imagemagick\\) nil")
20161 "t")
20162 (("\\(image-type-available-p 'svg\\) nil")
20163 "t"))
20164 #t))
20165 ;; The server test suite has a hardcoded path.
20166 ;; Reset this behavior to use the proper path.
20167 (add-after 'unpack 'server-suite-patch
20168 (lambda _
20169 (substitute* "server/run_tests.py"
20170 (("~/.telega/telega-server")
20171 (string-append (assoc-ref %outputs "out")
20172 "/bin/telega-server")))
20173 #t))
20174 (add-after 'install 'run-server-suite
20175 (lambda _
20176 (invoke "python3" "server/run_tests.py")
20177 #t))
20178 (delete 'configure)
20179 ;; Build emacs-side using `emacs-build-system'
20180 (add-after 'compress-documentation 'emacs-add-source-to-load-path
20181 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
20182 (add-after 'emacs-add-source-to-load-path 'emacs-install
20183 (assoc-ref emacs:%standard-phases 'install))
20184 ;; This step installs subdir /etc, which contains images, sounds and
20185 ;; various other data, next to the site-lisp dir.
20186 (add-after 'emacs-install 'telega-install-data
20187 (lambda* (#:key outputs #:allow-other-keys)
20188 (copy-recursively
20189 "etc"
20190 (string-append (assoc-ref outputs "out")
20191 "/share/emacs/telega-data/"))
20192 #t))
20193 (add-after 'telega-install-data 'emacs-build
20194 (assoc-ref emacs:%standard-phases 'build))
20195 (add-after 'emacs-build 'emacs-make-autoloads
20196 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
20197 (inputs
20198 `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
20199 (propagated-inputs
20200 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
20201 ("libwebp" ,libwebp))) ; sticker support.
20202 (native-inputs
20203 `(("tdlib" ,tdlib)
20204 ("emacs" ,emacs-minimal)
20205 ("python" ,python)))
20206 (synopsis "GNU Emacs client for the Telegram messenger")
20207 (description
20208 "Telega is a full-featured, unofficial GNU Emacs-based client for the
20209 Telegram messaging platform.")
20210 (home-page "https://github.com/zevlg/telega.el")
20211 (license license:gpl3+))))
20212
20213 (define-public emacs-doom-modeline
20214 (package
20215 (name "emacs-doom-modeline")
20216 (version "2.8.2")
20217 (source (origin
20218 (method git-fetch)
20219 (uri (git-reference
20220 (url "https://github.com/seagle0128/doom-modeline.git")
20221 (commit (string-append "v" version))))
20222 (sha256
20223 (base32
20224 "11srz1mr821axggs2jcmdhihxx09a2dniqv3n039wbdfaimfaidz"))
20225 (file-name (git-file-name name version))))
20226 (build-system emacs-build-system)
20227 (arguments
20228 `(#:test-command '("ert-runner")))
20229 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
20230 (propagated-inputs
20231 `(("emacs-all-the-icons" ,emacs-all-the-icons)
20232 ("emacs-shrink-path" ,emacs-shrink-path)))
20233 (synopsis "Fancy and fast mode-line inspired by minimalism design")
20234 (description "Doom modeline is a complete modeline for GNU Emacs inspired
20235 by the Doom theme collection. This modeline features support for mode-specific
20236 icon support, git integration, and several other utilities.")
20237 (home-page "https://github.com/seagle0128/doom-modeline/")
20238 (license license:gpl3+)))
20239
20240 (define-public emacs-shrink-path
20241 (package
20242 (name "emacs-shrink-path")
20243 (version "0.3.1")
20244 (source
20245 (origin
20246 (method git-fetch)
20247 (uri (git-reference
20248 (url "https://gitlab.com/bennya/shrink-path.el.git")
20249 (commit (string-append "v" version))))
20250 (sha256
20251 (base32
20252 "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
20253 (file-name (git-file-name name version))))
20254 (build-system emacs-build-system)
20255 (propagated-inputs
20256 `(("emacs-s" ,emacs-s)
20257 ("emacs-dash" ,emacs-dash)
20258 ("emacs-f" ,emacs-f)))
20259 (home-page "https://gitlab.com/bennya/shrink-path.el")
20260 (synopsis "Fish-style path truncation in emacs-lisp")
20261 (description "This package provides utility functions that allow for
20262 Fish-style truncated directories in eshell and various modelines.")
20263 (license license:gpl3+)))
20264
20265 (define-public emacs-org-present
20266 (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
20267 (package
20268 (name "emacs-org-present")
20269 (version "0.0.1")
20270 (source
20271 (origin
20272 (method git-fetch)
20273 (uri (git-reference
20274 (url "https://github.com/rlister/org-present.git")
20275 (commit commit)))
20276 (file-name (git-file-name name version))
20277 (sha256
20278 (base32
20279 "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
20280 (build-system emacs-build-system)
20281 (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
20282 (description "Org-present is an extremely minimalist presentation tool
20283 for Emacs org-mode. Simply layout your presentation with each slide under a
20284 top-level header, start the minor mode with @code{org-present}, and page through
20285 each slide with left/right keys.")
20286 (home-page "https://github.com/rlister/org-present")
20287 (license license:gpl2))))
20288
20289 (define-public emacs-fullframe
20290 (package
20291 (name "emacs-fullframe")
20292 (version "0.5.0")
20293 (source
20294 (origin
20295 (method git-fetch)
20296 (uri (git-reference
20297 (url "https://github.com/tomterl/fullframe.git")
20298 (commit version)))
20299 (sha256
20300 (base32
20301 "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
20302 (file-name (git-file-name name version))))
20303 (build-system emacs-build-system)
20304 (home-page "https://github.com/tomterl/fullframe")
20305 (synopsis "Generalized automatic execution in a single frame")
20306 (description "This library provides helpers for single-window-per-frame
20307 execution of buffer-exposing commands.")
20308 (license license:gpl3+)))
20309
20310 (define-public emacs-repl-toggle
20311 (package
20312 (name "emacs-repl-toggle")
20313 (version "0.6.1")
20314 (source
20315 (origin
20316 (method git-fetch)
20317 (uri (git-reference
20318 (url "https://github.com/tomterl/repl-toggle.git")
20319 (commit version)))
20320 (sha256
20321 (base32
20322 "12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"))
20323 (file-name (git-file-name name version))))
20324 (build-system emacs-build-system)
20325 (propagated-inputs
20326 `(("emacs-fullframe" ,emacs-fullframe)))
20327 (home-page "https://github.com/tomterl/repl-toggle")
20328 (synopsis "Switch to and from current major mode's REPL")
20329 (description "This package provides a function to switch to and from a
20330 REPL appropriate to the current major mode.")
20331 (license license:gpl3+)))
20332
20333 (define-public emacs-blackout
20334 (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
20335 (revision "1"))
20336 (package
20337 (name "emacs-blackout")
20338 (version (git-version "1.0" revision commit))
20339 (source
20340 (origin
20341 (method git-fetch)
20342 (uri (git-reference
20343 (url "https://github.com/raxod502/blackout.git")
20344 (commit commit)))
20345 (sha256
20346 (base32
20347 "1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
20348 (file-name (git-file-name name version))))
20349 (build-system emacs-build-system)
20350 (home-page "https://github.com/raxod502/blackout")
20351 (synopsis "Clean up mode lighters")
20352 (description "This package provides a function for hiding and customizing
20353 display of major and minor modes in the mode line.")
20354 (license license:gpl3+))))
20355
20356 (define-public emacs-ivy-omni-org
20357 (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
20358 (revision "1"))
20359 (package
20360 (name "emacs-ivy-omni-org")
20361 (version (git-version "0.2.1" revision commit))
20362 (source
20363 (origin
20364 (method git-fetch)
20365 (uri (git-reference
20366 (url "https://github.com/akirak/ivy-omni-org.git")
20367 (commit commit)))
20368 (file-name (git-file-name name version))
20369 (sha256
20370 (base32
20371 "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
20372 (build-system emacs-build-system)
20373 (propagated-inputs
20374 `(("emacs-ivy" ,emacs-ivy)
20375 ("emacs-dash" ,emacs-dash)))
20376 (synopsis "Browse anything in Org mode")
20377 (description "This package allows Org items to be accessed via the Ivy
20378 interface.")
20379 (home-page "https://github.com/akirak/ivy-omni-org")
20380 (license license:gpl3+))))
20381
20382 (define-public emacs-shackle
20383 (let ((commit "7ccbe513852a1d1700b698547efca14b8940319d")
20384 (revision "1"))
20385 (package
20386 (name "emacs-shackle")
20387 (version (git-version "1.0.3" revision commit))
20388 (source
20389 (origin
20390 (method git-fetch)
20391 (uri (git-reference
20392 (url "https://github.com/wasamasa/shackle.git")
20393 (commit commit)))
20394 (file-name (git-file-name name version))
20395 (sha256
20396 (base32
20397 "0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"))))
20398 (build-system emacs-build-system)
20399 (synopsis "Enforce rules for popups")
20400 (description "This package provides a global minor mode in which users
20401 can specify how popup-displaying functions occupy the screen.")
20402 (home-page "https://github.com/wasamasa/shackle")
20403 (license license:gpl3+))))
20404
20405 (define-public emacs-helm-lacarte
20406 (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
20407 (revision "1"))
20408 (package
20409 (name "emacs-helm-lacarte")
20410 (version (git-version "0" revision commit))
20411 (source
20412 (origin
20413 (method git-fetch)
20414 (uri (git-reference
20415 (url "https://github.com/emacs-helm/helm-lacarte.git")
20416 (commit commit)))
20417 (file-name (git-file-name name version))
20418 (sha256
20419 (base32
20420 "0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
20421 (build-system emacs-build-system)
20422 (propagated-inputs
20423 `(("emacs-helm" ,emacs-helm)
20424 ("emacs-lacarte" ,emacs-lacarte)))
20425 (synopsis "Helm interface to @code{lacarte.el}")
20426 (description "This package provides a Helm interface to
20427 @code{lacarte.el}, a package that displays mode-specific commands as menu
20428 items.")
20429 (home-page "https://github.com/emacs-helm/helm-lacarte")
20430 (license license:gpl3+))))
20431
20432 (define-public emacs-esh-help
20433 (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
20434 (revision "1"))
20435 (package
20436 (name "emacs-esh-help")
20437 (version (git-version "1.0.1" revision commit))
20438 (source
20439 (origin
20440 (method git-fetch)
20441 (uri (git-reference
20442 (url "https://github.com/tom-tan/esh-help.git")
20443 (commit commit)))
20444 (file-name (git-file-name name version))
20445 (sha256
20446 (base32
20447 "0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
20448 (build-system emacs-build-system)
20449 (propagated-inputs
20450 `(("emacs-dash" ,emacs-dash)))
20451 (synopsis "Help functions for Eshell")
20452 (description "This package provides a @code{run-help} function inspired
20453 by @code{zsh} as well as @code{eldoc} support.")
20454 (home-page "https://github.com/tom-tan/esh-help")
20455 (license license:gpl3+))))
20456
20457 (define-public emacs-isearch-dabbrev
20458 (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
20459 (revision "1"))
20460 (package
20461 (name "emacs-isearch-dabbrev")
20462 (version (git-version "0.1" revision commit))
20463 (source
20464 (origin
20465 (method git-fetch)
20466 (uri (git-reference
20467 (url "https://github.com/Dewdrops/isearch-dabbrev.git")
20468 (commit commit)))
20469 (file-name (git-file-name name version))
20470 (sha256
20471 (base32
20472 "17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
20473 (build-system emacs-build-system)
20474 (synopsis "Use @code{dabbrev} within @code{isearch}")
20475 (description "This package allows @code{dabbrev-expand} to be used
20476 within @code{isearch-mode}.")
20477 (home-page "https://github.com/Dewdrops/isearch-dabbrev")
20478 (license license:gpl3+))))
20479
20480 (define-public emacs-helm-linux-disks
20481 (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
20482 (revision "1"))
20483 (package
20484 (name "emacs-helm-linux-disks")
20485 (version (git-version "0.1" revision commit))
20486 (source
20487 (origin
20488 (method git-fetch)
20489 (uri (git-reference
20490 (url "https://github.com/Akirak/helm-linux-disks.git")
20491 (commit commit)))
20492 (file-name (git-file-name name version))
20493 (sha256
20494 (base32
20495 "1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
20496 (build-system emacs-build-system)
20497 (propagated-inputs
20498 `(("emacs-helm" ,emacs-helm)))
20499 (synopsis "Mount/unmount volumes in Linux via Helm")
20500 (description "This package provides a Helm interface to run operations
20501 on removable volumes in Linux.")
20502 (home-page "https://github.com/Akirak/helm-linux-disks")
20503 (license license:gpl3+))))
20504
20505 (define-public emacs-psession
20506 (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
20507 (revision "1"))
20508 (package
20509 (name "emacs-psession")
20510 (version (git-version "1.5" revision commit))
20511 (source
20512 (origin
20513 (method git-fetch)
20514 (uri (git-reference
20515 (url "https://github.com/thierryvolpiatto/psession.git")
20516 (commit commit)))
20517 (file-name (git-file-name name version))
20518 (sha256
20519 (base32
20520 "15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
20521 (build-system emacs-build-system)
20522 (propagated-inputs
20523 `(("emacs-async" ,emacs-async)))
20524 (synopsis "Persistent save of @code{elisp} objects.")
20525 (description "This package provides minor modes for saving Emacs session
20526 data, including buffers, window configuration, variables, and more.")
20527 (home-page "https://github.com/thierryvolpiatto/psession")
20528 (license license:gpl3+))))
20529
20530 (define-public emacs-parseedn
20531 (package
20532 (name "emacs-parseedn")
20533 (version "0.1.0")
20534 (source
20535 (origin
20536 (method git-fetch)
20537 (uri (git-reference
20538 (url "https://github.com/clojure-emacs/parseedn.git")
20539 (commit (string-append "v" version))))
20540 (file-name (git-file-name name version))
20541 (sha256
20542 (base32
20543 "11wi3hwcgmy54p6ivpijqm7v0hj6j75a19qk5z779bqfrp79b4pc"))))
20544 (build-system emacs-build-system)
20545 (propagated-inputs
20546 `(("emacs-a" ,emacs-a)
20547 ("emacs-parseclj" ,emacs-parseclj)))
20548 (home-page "https://cider.mx")
20549 (synopsis "EDN parser for Emacs Lisp")
20550 (description
20551 "An Emacs Lisp library for parsing EDN (Clojure) data.
20552 It uses parseclj's shift-reduce parser internally.")
20553 (license license:gpl3+)))
20554
20555 (define-public emacs-parseclj
20556 (package
20557 (name "emacs-parseclj")
20558 (version "0.1.0")
20559 (source
20560 (origin
20561 (method git-fetch)
20562 (uri (git-reference
20563 (url "https://github.com/clojure-emacs/parseclj.git")
20564 (commit (string-append "v" version))))
20565 (file-name (git-file-name name version))
20566 (sha256
20567 (base32
20568 "03bm5dm4hmkqimv4wqxjjh5814pxysmm7z54bv2rf7zwv1x7dggr"))))
20569 (build-system emacs-build-system)
20570 (propagated-inputs `(("emacs-a" ,emacs-a)))
20571 (home-page "https://cider.mx")
20572 (synopsis "Clojure parser for Emacs Lisp")
20573 (description
20574 "An Emacs Lisp library for parsing Clojure code and EDN data.
20575 It supports several input and output formats, all powered by the
20576 same shift-reduce parser function.")
20577 (license license:gpl3+)))