gnu: emacs-shroud: Update to 1.105.
[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@gnu.org>
45 ;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
46 ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
47 ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
48 ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
49 ;;; Copyright © 2019 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.9.0")
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 "1sjb3qqrn1rhmpkrn14l8rya6c3gwxwmgw74n779s54kvl9gn7a9"))))
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.2")
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 "16rplpbfy3dnvqqgavk9jb1f1ihr5875zlixd4zxb1pqxs3jkgw3"))))
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.105")
644 (source
645 (origin
646 (method git-fetch)
647 (uri (git-reference
648 (url "https://git.savannah.gnu.org/git/emacs-shroud.git")
649 (commit version)))
650 (file-name (git-file-name name version))
651 (sha256
652 (base32 "0q2pb3w8s833fjhkzicciw2php4lsnismad1dnwgp2lcway757ra"))))
653 (build-system gnu-build-system)
654 (native-inputs
655 `(("autoconf" ,autoconf)
656 ("automake" ,automake)
657 ("texinfo" ,texinfo)
658 ("perl" ,perl)
659 ("emacs-minimal" ,emacs-minimal)))
660 (propagated-inputs
661 `(("emacs-bui" ,emacs-bui)
662 ("emacs-dash" ,emacs-dash)
663 ("emacs-f" ,emacs-f)
664 ("emacs-s" ,emacs-s)
665 ("gnupg" ,gnupg)
666 ("shroud" ,shroud)))
667 (home-page "https://www.nongnu.org/emacs-shroud")
668 (synopsis "Emacs interface to the Shroud password manager")
669 (description
670 "This package provides an Emacs interface to the Shroud password manager,
671 using the Buffers User Interface library. You can view, copy, and edit secrets
672 from within Emacs.")
673 (license license:gpl3+)))
674
675 (define-public emacs-unpackaged-el
676 (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
677 (revision "3"))
678 (package
679 (name "emacs-unpackaged-el")
680 (version (git-version "0" revision commit))
681 (source
682 (origin
683 (method git-fetch)
684 (uri (git-reference
685 (url "https://github.com/alphapapa/unpackaged.el")
686 (commit commit)))
687 (file-name (git-file-name name version))
688 (sha256
689 (base32
690 "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
691 (build-system emacs-build-system)
692 (propagated-inputs
693 `(("emacs-dash" ,emacs-dash)
694 ("emacs-org" ,emacs-org)
695 ("emacs-s" ,emacs-s)
696 ("emacs-hydra" ,emacs-hydra)
697 ("emacs-use-package" ,emacs-use-package)))
698 (arguments
699 `(#:phases
700 (modify-phases %standard-phases
701 (add-after 'unpack 'require-hydra
702 (lambda _
703 (substitute* "unpackaged.el"
704 ((";;; Code:") ";;; Code:\n(require 'hydra)"))
705 #t)))))
706 (home-page "https://github.com/alphapapa/unpackaged.el")
707 (synopsis "Useful snippets of Emacs Lisp code")
708 (description "This package provides Emacs Lisp utilities for a variety
709 of tasks, including version control, task management, and regex-based
710 replacement.")
711 (license license:gpl3+))))
712
713 (define-public emacs-haskell-mode
714 (package
715 (name "emacs-haskell-mode")
716 (version "16.1")
717 (source (origin
718 (method git-fetch)
719 (uri (git-reference
720 (url "https://github.com/haskell/haskell-mode")
721 (commit (string-append "v" version))))
722 (file-name (git-file-name name version))
723 (sha256
724 (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
725 (patches
726 (search-patches ; backport test failure fixes
727 "haskell-mode-unused-variables.patch"
728 "haskell-mode-make-check.patch"))))
729 (inputs
730 `(("emacs-el-search" ,emacs-el-search) ; for tests
731 ("emacs-stream" ,emacs-stream))) ; for tests
732 (propagated-inputs
733 `(("emacs-dash" ,emacs-dash)))
734 (native-inputs
735 `(("emacs" ,emacs-minimal)
736 ("texinfo" ,texinfo)))
737 (build-system gnu-build-system)
738 (arguments
739 `(#:make-flags (list (string-append "EMACS="
740 (assoc-ref %build-inputs "emacs")
741 "/bin/emacs"))
742 #:modules ((ice-9 match)
743 (srfi srfi-26)
744 ,@%gnu-build-system-modules)
745 #:phases
746 (modify-phases %standard-phases
747 (delete 'configure)
748 (add-before
749 'build 'pre-build
750 (lambda* (#:key inputs #:allow-other-keys)
751 (define (el-dir store-dir)
752 (match (find-files store-dir "\\.el$")
753 ((f1 f2 ...) (dirname f1))
754 (_ "")))
755
756 (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
757 (define emacs-prefix? (cut string-prefix? "emacs-" <>))
758
759 (setenv "SHELL" "sh")
760 (setenv "EMACSLOADPATH"
761 (string-concatenate
762 (map (match-lambda
763 (((? emacs-prefix? name) . dir)
764 (string-append (el-dir dir) ":"))
765 (_ ""))
766 inputs)))
767 (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
768 ;; embed filename to fix test failure
769 (let ((file "tests/haskell-cabal-tests.el"))
770 (substitute* file
771 (("\\(buffer-file-name\\)")
772 (format #f "(or (buffer-file-name) ~s)" file))))
773 #t)))
774 (replace
775 'install
776 (lambda* (#:key outputs #:allow-other-keys)
777 (let* ((out (assoc-ref outputs "out"))
778 (el-dir (string-append out "/share/emacs/site-lisp"))
779 (doc (string-append
780 out "/share/doc/haskell-mode-" ,version))
781 (info (string-append out "/share/info")))
782 (define (copy-to-dir dir files)
783 (for-each (lambda (f)
784 (install-file f dir))
785 files))
786
787 (with-directory-excursion "doc"
788 (invoke "makeinfo" "haskell-mode.texi")
789 (install-file "haskell-mode.info" info))
790 (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
791 (copy-to-dir el-dir (find-files "." "\\.elc?"))
792 ;; These are part of other packages.
793 (with-directory-excursion el-dir
794 (for-each delete-file '("dash.el" "ert.el")))
795 #t))))))
796 (home-page "https://github.com/haskell/haskell-mode")
797 (synopsis "Haskell mode for Emacs")
798 (description
799 "This is an Emacs mode for editing, debugging and developing Haskell
800 programs.")
801 (license license:gpl3+)))
802
803 (define-public haskell-mode
804 (deprecated-package "haskell-mode" emacs-haskell-mode))
805
806 (define-public emacs-dante
807 (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
808 (revision "1"))
809 (package
810 (name "emacs-dante")
811 (version (git-version "1.6" revision commit))
812 (source (origin
813 (method git-fetch)
814 (uri (git-reference
815 (url "https://github.com/jyp/dante")
816 (commit commit)))
817 (sha256
818 (base32
819 "1mnmn635552zlwd4zr68jbvdjipl6gi4mi6wiyck28fsmq8kw96h"))
820 (file-name (git-file-name name version))))
821 (build-system emacs-build-system)
822 (propagated-inputs
823 `(("emacs-dash" ,emacs-dash)
824 ("emacs-f" ,emacs-f)
825 ("emacs-flycheck" ,emacs-flycheck)
826 ("emacs-haskell-mode" ,emacs-haskell-mode)
827 ("emacs-s" ,emacs-s)
828 ("emacs-company" ,emacs-company)
829 ("emacs-lcr" ,emacs-lcr)))
830 (home-page "https://github.com/jyp/dante")
831 (synopsis "Minor mode for interactive Haskell")
832 (description
833 "This package provides a minor mode for Haskell development that
834 supports type hints, definition-jumping, completion, and more.")
835 (license license:gpl3+))))
836
837 (define-public emacs-flycheck
838 ;; last release version was more than 300 commits ago
839 (let ((commit "0006a59259ebd02c9199ddc87f0e3ce22793a2ea")
840 (revision "1"))
841 (package
842 (name "emacs-flycheck")
843 (version (git-version "31" revision commit))
844 (source (origin
845 (method git-fetch)
846 (uri (git-reference
847 (url "https://github.com/flycheck/flycheck/")
848 (commit commit)))
849 (sha256
850 (base32
851 "09q3h6ldpg528cfbmsbb1x2vf5hmzgm3fshqn6kdy144jxcdjlf1"))
852 (file-name (git-file-name name version))))
853 (build-system emacs-build-system)
854 (propagated-inputs
855 `(("emacs-dash" ,emacs-dash)))
856 (native-inputs
857 `(("emacs-shut-up" ,emacs-shut-up)))
858 (arguments
859 `(#:phases
860 (modify-phases %standard-phases
861 (add-after 'unpack 'change-flycheck-version
862 (lambda _
863 (substitute* "flycheck.el"
864 (("\\(pkg-info-version-info 'flycheck\\)")
865 (string-append "\"" ,version "\"")))
866 #t)))
867 ;; TODO: many failing tests
868 #:tests? #f
869 #:test-command '("emacs" "-Q" "--batch" "-L" "."
870 "--load" "test/flycheck-test"
871 "--load" "test/run.el"
872 "-f" "flycheck-run-tests-main")))
873 (home-page "https://www.flycheck.org")
874 (synopsis "On-the-fly syntax checking")
875 (description
876 "This package provides on-the-fly syntax checking for GNU Emacs. It is a
877 replacement for the older Flymake extension which is part of GNU Emacs, with
878 many improvements and additional features.
879
880 Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
881 checking for over 30 programming and markup languages with more than 70
882 different tools. It highlights errors and warnings inline in the buffer, and
883 provides an optional IDE-like error list.")
884 (license license:gpl3+)))) ;+GFDLv1.3+ for the manual
885
886 (define-public emacs-a
887 (package
888 (name "emacs-a")
889 (version "0.1.1")
890 (source (origin
891 (method git-fetch)
892 (uri (git-reference
893 (url "https://github.com/plexus/a.el.git")
894 (commit (string-append "v" version))))
895 (file-name (git-file-name name version))
896 (sha256
897 (base32
898 "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
899 (build-system emacs-build-system)
900 (home-page "https://github.com/plexus/a.el/")
901 (synopsis
902 "Emacs library for dealing with association lists and hash tables")
903 (description "@code{emacs-a} provides Emacs Lisp functions for dealing
904 with associative structures in a uniform and functional way. These functions
905 can take association lists, hash tables, and in some cases vectors (where the
906 index is considered the key).")
907 (license license:gpl3+)))
908
909 (define-public emacs-ace-jump-mode
910 (package
911 (name "emacs-ace-jump-mode")
912 (version "2.0")
913 (home-page "https://github.com/winterTTr/ace-jump-mode")
914 (source (origin
915 (method git-fetch)
916 (uri (git-reference
917 (url home-page)
918 (commit (string-append "v" version))))
919 (sha256
920 (base32
921 "1bwvzh056ls2v7y26a0s4j5mj582dmds04lx4x6iqihs04ss74bb"))
922 (file-name (git-file-name name version))))
923 (build-system emacs-build-system)
924 (synopsis "Cursor location minor mode for fast navigation")
925 (description "Ace-jump-mode is a fast/direct cursor location minor
926 mode. It creates an N-Branch search tree internally and marks all
927 the possible position with predefined keys in within the whole Emacs
928 view. This allows you to move to the character, word, or line almost
929 directly.")
930 (license license:gpl3+)))
931
932 (define-public emacs-anaphora
933 (package
934 (name "emacs-anaphora")
935 (version "1.0.4")
936 (source
937 (origin
938 (method git-fetch)
939 (uri (git-reference
940 (url "https://github.com/rolandwalker/anaphora.git")
941 (commit (string-append "v" version))))
942 (file-name (git-file-name name version))
943 (sha256
944 (base32
945 "11fgiy029sqz7nvdm7dcal95lacryz9zql0x5h05z48nrrcl4bib"))))
946 (build-system emacs-build-system)
947 (home-page "https://github.com/rolandwalker/anaphora/")
948 (synopsis "Anaphoric expressions for Emacs Lisp")
949 (description "@code{emacs-anaphora} implements anaphoric expressions for
950 Emacs Lisp.
951
952 Anaphoric expressions implicitly create one or more temporary variables which
953 can be referred to during the expression. This technique can improve clarity
954 in certain cases. It also enables recursion for anonymous functions.")
955 (license license:public-domain)))
956
957 (define-public emacs-xr
958 (package
959 (name "emacs-xr")
960 (version "1.13")
961 (source
962 (origin
963 (method url-fetch)
964 (uri (string-append
965 "https://elpa.gnu.org/packages/xr-" version ".tar"))
966 (sha256
967 (base32
968 "1km4x92pii8c4bcimks4xzhmwpypdf183z0zh7raj062jz4jb74r"))))
969 (build-system emacs-build-system)
970 (home-page "http://elpa.gnu.org/packages/xr.html")
971 (synopsis "Convert string regexp to rx notation")
972 (description
973 "This is an inverse companion to the @code{rx} package for translating
974 regexps in string form to the @code{rx} notation. Its chief uses are:
975
976 @itemize
977 @item Migrating existing code to @code{rx} form, for better readability and
978 maintainability
979 @item Understanding complex regexp strings and finding errors in them
980 @end itemize
981
982 In addition to Emacs regexps, this package can also parse and troubleshoot
983 skip set strings, which are arguments to @code{skip-chars-forward} and
984 @code{skip-chars-backward}.")
985 (license license:gpl3+)))
986
987 (define-public emacs-ample-regexps
988 (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
989 (revision "1"))
990 (package
991 (name "emacs-ample-regexps")
992 (version (git-version "0.1" revision commit))
993 (source
994 (origin
995 (method git-fetch)
996 (uri (git-reference
997 (url "https://github.com/immerrr/ample-regexps.el")
998 (commit commit)))
999 (file-name (git-file-name name version))
1000 (sha256
1001 (base32
1002 "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
1003 (build-system emacs-build-system)
1004 (native-inputs
1005 `(("ert-runner" ,emacs-ert-runner)))
1006 (arguments
1007 `(#:tests? #t
1008 #:test-command '("ert-runner" "-l" "ample-regexps")))
1009 (home-page "https://github.com/immerrr/ample-regexps.el")
1010 (synopsis "Compose and reuse Emacs regexps")
1011 (description
1012 "This package allows common parts of regexps to be easily picked out
1013 and reused.")
1014 (license license:gpl3+))))
1015
1016 (define-public emacs-ample-theme
1017 (let ((commit "536966adf882446165a1f756830028faa792c7a9")
1018 (revision "1"))
1019 (package
1020 (name "emacs-ample-theme")
1021 (version (git-version "0.0.0" revision commit))
1022 (source (origin
1023 (method git-fetch)
1024 (uri (git-reference
1025 (url "https://github.com/jordonbiondo/ample-theme")
1026 (commit commit)))
1027 (file-name (git-file-name name version))
1028 (sha256
1029 (base32
1030 "07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
1031 (build-system emacs-build-system)
1032 (home-page "https://github.com/jordonbiondo/ample-theme")
1033 (synopsis "Theme for Emacs providing dark, light, and flat versions")
1034 (description "Ample themes is a collection of three themes sharing a
1035 similar pallet with a light, dark and flat versions with a focus on being easy
1036 on the eyes during night and day. They only support GUI and 256 colour
1037 terminals.")
1038 (license license:gpl3+))))
1039
1040 (define-public emacs-reformatter
1041 (package
1042 (name "emacs-reformatter")
1043 (version "0.4")
1044 (source
1045 (origin
1046 (method git-fetch)
1047 (uri (git-reference
1048 (url "https://github.com/purcell/reformatter.el.git")
1049 (commit version)))
1050 (file-name (git-file-name name version))
1051 (sha256
1052 (base32
1053 "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"))))
1054 (build-system emacs-build-system)
1055 (home-page "https://github.com/purcell/reformatter.el")
1056 (synopsis "Define commands which run reformatters on the current buffer")
1057 (description
1058 "This library lets elisp authors easily define an idiomatic command to
1059 reformat the current buffer using a command-line program, together with an
1060 optional minor mode which can apply this command automatically on save.")
1061 (license license:gpl3+)))
1062
1063 (define-public emacs-relint
1064 (package
1065 (name "emacs-relint")
1066 (version "1.11")
1067 (source
1068 (origin
1069 (method url-fetch)
1070 (uri (string-append
1071 "https://elpa.gnu.org/packages/relint-" version ".tar"))
1072 (sha256
1073 (base32 "0c7d35kp5k11fnyjrq9cg8i2r005gs57pmb3rvpf8ilwv0scn1m7"))))
1074 (build-system emacs-build-system)
1075 (propagated-inputs `(("emacs-xr" ,emacs-xr)))
1076 (home-page "https://github.com/mattiase/relint")
1077 (synopsis "Elisp regexp mistake finder")
1078 (description
1079 "Relint (regular expression lint) scans Elisp files for mistakes in
1080 regexps, including deprecated syntax and bad practice. It also checks the
1081 regexp-like arguments to @code{skip-chars-forward} and
1082 @code{skip-chars-backward}.")
1083 (license license:gpl3+)))
1084
1085 (define-public emacs-bug-hunter
1086 (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7")
1087 (revision "1"))
1088 (package
1089 (name "emacs-bug-hunter")
1090 (version (git-version "1.3.1" revision commit))
1091 (source
1092 (origin
1093 (method git-fetch)
1094 (uri (git-reference
1095 (url "https://github.com/Malabarba/elisp-bug-hunter.git")
1096 (commit commit)))
1097 (file-name (git-file-name name commit))
1098 (sha256
1099 (base32
1100 "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l"))))
1101 (build-system emacs-build-system)
1102 (propagated-inputs
1103 `(("emacs-seq" ,emacs-seq)))
1104 (home-page "https://github.com/Malabarba/elisp-bug-hunter")
1105 (synopsis "Hunt down errors by bisecting elisp files")
1106 (description
1107 "The Bug Hunter is an Emacs library that finds the source of an error
1108 or unexpected behavior inside an elisp configuration file (typically
1109 @file{init.el} or @file{.emacs}).")
1110 (license license:gpl3+))))
1111
1112 \f
1113 ;;;
1114 ;;; Web browsing.
1115 ;;;
1116
1117 (define-public emacs-w3m
1118 ;; Emacs-w3m follows a "rolling release" model.
1119 (package
1120 (name "emacs-w3m")
1121 (version "2018-11-11")
1122 (source (origin
1123 (method cvs-fetch)
1124 (uri (cvs-reference
1125 (root-directory
1126 ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
1127 (module "emacs-w3m")
1128 (revision version)))
1129 (file-name (string-append name "-" version "-checkout"))
1130 (sha256
1131 (base32
1132 "0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
1133 (build-system gnu-build-system)
1134 (native-inputs `(("autoconf" ,autoconf)
1135 ("texinfo" ,texinfo)
1136 ("emacs" ,emacs-minimal)))
1137 (inputs `(("w3m" ,w3m)
1138 ("imagemagick" ,imagemagick)))
1139 (arguments
1140 `(#:modules ((guix build gnu-build-system)
1141 (guix build utils)
1142 (guix build emacs-utils))
1143 #:imported-modules (,@%gnu-build-system-modules
1144 (guix build emacs-utils))
1145 #:configure-flags
1146 (let ((out (assoc-ref %outputs "out")))
1147 (list (string-append "--with-lispdir="
1148 out "/share/emacs/site-lisp")
1149 (string-append "--with-icondir="
1150 out "/share/images/emacs-w3m")
1151 ;; Leave .el files uncompressed, otherwise GC can't
1152 ;; identify run-time dependencies. See
1153 ;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
1154 "--without-compress-install"))
1155 #:tests? #f ; no check target
1156 #:phases
1157 (modify-phases %standard-phases
1158 (add-after 'unpack 'autoconf
1159 (lambda _
1160 (invoke "autoconf")))
1161 (add-before 'configure 'support-emacs!
1162 (lambda _
1163 ;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
1164 ;; unsupported.
1165 (substitute* "configure"
1166 (("EMACS_FLAVOR=unsupported")
1167 "EMACS_FLAVOR=emacs"))
1168 #t))
1169 (add-before 'build 'patch-exec-paths
1170 (lambda* (#:key inputs outputs #:allow-other-keys)
1171 (let ((out (assoc-ref outputs "out"))
1172 (w3m (assoc-ref inputs "w3m"))
1173 (imagemagick (assoc-ref inputs "imagemagick"))
1174 (coreutils (assoc-ref inputs "coreutils")))
1175 (make-file-writable "w3m.el")
1176 (emacs-substitute-variables "w3m.el"
1177 ("w3m-command" (string-append w3m "/bin/w3m"))
1178 ("w3m-touch-command"
1179 (string-append coreutils "/bin/touch"))
1180 ("w3m-icon-directory"
1181 (string-append out "/share/images/emacs-w3m")))
1182 (make-file-writable "w3m-image.el")
1183 (emacs-substitute-variables "w3m-image.el"
1184 ("w3m-imagick-convert-program"
1185 (string-append imagemagick "/bin/convert"))
1186 ("w3m-imagick-identify-program"
1187 (string-append imagemagick "/bin/identify")))
1188 #t)))
1189 (replace 'install
1190 (lambda* (#:key outputs #:allow-other-keys)
1191 (invoke "make" "install" "install-icons")
1192 (with-directory-excursion
1193 (string-append (assoc-ref outputs "out")
1194 "/share/emacs/site-lisp")
1195 (for-each delete-file '("ChangeLog" "ChangeLog.1"))
1196 (symlink "w3m-load.el" "w3m-autoloads.el")
1197 #t))))))
1198 (home-page "http://emacs-w3m.namazu.org/")
1199 (synopsis "Simple Web browser for Emacs based on w3m")
1200 (description
1201 "Emacs-w3m is an emacs interface for the w3m web browser.")
1202 (license license:gpl2+)))
1203
1204 (define-public emacs-wget
1205 (package
1206 (name "emacs-wget")
1207 (version "0.5.0")
1208 (source (origin
1209 (method url-fetch)
1210 (uri (string-append "mirror://debian/pool/main/w/wget-el/wget-el_"
1211 version ".orig.tar.gz"))
1212 (sha256
1213 (base32 "10byvyv9dk0ib55gfqm7bcpxmx2qbih1jd03gmihrppr2mn52nff"))))
1214 (build-system gnu-build-system)
1215 (inputs `(("wget" ,wget)))
1216 (native-inputs `(("emacs" ,emacs-minimal)))
1217 (arguments
1218 `(#:modules ((guix build gnu-build-system)
1219 (guix build utils)
1220 (guix build emacs-utils))
1221 #:imported-modules (,@%gnu-build-system-modules
1222 (guix build emacs-utils))
1223 #:tests? #f ; no check target
1224 #:phases
1225 (modify-phases %standard-phases
1226 (replace 'configure
1227 (lambda* (#:key outputs #:allow-other-keys)
1228 (substitute* "Makefile"
1229 (("/usr/local") (assoc-ref outputs "out"))
1230 (("/site-lisp/emacs-wget") "/site-lisp"))
1231 #t))
1232 (add-before 'build 'patch-exec-paths
1233 (lambda* (#:key inputs outputs #:allow-other-keys)
1234 (let ((wget (assoc-ref inputs "wget")))
1235 (emacs-substitute-variables "wget.el"
1236 ("wget-command" (string-append wget "/bin/wget"))))
1237 #t))
1238 (add-after 'install 'post-install
1239 (lambda* (#:key outputs #:allow-other-keys)
1240 (emacs-generate-autoloads
1241 "wget" (string-append (assoc-ref outputs "out")
1242 "/share/emacs/site-lisp/"))
1243 #t)))))
1244 (home-page "http://www.emacswiki.org/emacs/EmacsWget")
1245 (synopsis "Simple file downloader for Emacs based on wget")
1246 (description
1247 "Emacs-wget is an emacs interface for the wget file downloader.")
1248 (license license:gpl2+)))
1249
1250 (define-public emacs-eww-lnum
1251 (package
1252 (name "emacs-eww-lnum")
1253 (version "1.1")
1254 (source (origin
1255 (method git-fetch)
1256 (uri (git-reference
1257 (url "https://github.com/m00natic/eww-lnum.git")
1258 (commit version)))
1259 (file-name (git-file-name name version))
1260 (sha256
1261 (base32
1262 "0gs6bi3s2sszc6v2b26929azmn5513kvyin99n4d0ark1jdbjmv2"))))
1263 (build-system emacs-build-system)
1264 (home-page "https://github.com/m00natic/eww-lnum")
1265 (synopsis "Conkeror-like functionality for Eww")
1266 (description "This is extension to the Emacs browser Eww that adds
1267 Conkeror-like functionality. In short, currently visible links, forms,
1268 buttons are temporarily assigned numbers with which the former can be
1269 immediately activated. Also filtering can be applied so selection can be
1270 incrementally confined in Isearch manner.")
1271 (license license:gpl3+)))
1272
1273
1274 \f
1275 ;;;
1276 ;;; Multimedia.
1277 ;;;
1278
1279 (define-public emacs-emms
1280 (package
1281 (name "emacs-emms")
1282 (version "5.3")
1283 (source (origin
1284 (method url-fetch)
1285 (uri (string-append "mirror://gnu/emms/emms-"
1286 version ".tar.gz"))
1287 (sha256
1288 (base32
1289 "00hnv7jjgb2simgrf7gf2y1cyg2syk7kj1hkbac146hlgxk8ngj1"))
1290 (modules '((guix build utils)))
1291 (snippet
1292 '(begin
1293 (substitute* "Makefile"
1294 (("/usr/bin/install-info")
1295 ;; No need to use 'install-info' since it would create a
1296 ;; useless 'dir' file.
1297 "true")
1298 (("^INFODIR=.*")
1299 ;; Install Info files to $out/share/info, not $out/info.
1300 "INFODIR := $(PREFIX)/share/info\n")
1301 (("/site-lisp/emms")
1302 ;; Install directly in share/emacs/site-lisp, not in a
1303 ;; sub-directory.
1304 "/site-lisp")
1305 (("^all: (.*)\n" _ rest)
1306 ;; Build 'emms-print-metadata'.
1307 (string-append "all: " rest " emms-print-metadata\n")))
1308 #t))))
1309 (build-system gnu-build-system)
1310 (arguments
1311 `(#:modules ((guix build gnu-build-system)
1312 (guix build utils)
1313 (guix build emacs-utils)
1314 (ice-9 ftw))
1315 #:imported-modules (,@%gnu-build-system-modules
1316 (guix build emacs-utils))
1317
1318 #:phases
1319 (modify-phases %standard-phases
1320 (replace 'configure
1321 (lambda* (#:key inputs outputs #:allow-other-keys)
1322 (let ((out (assoc-ref outputs "out"))
1323 (flac (assoc-ref inputs "flac"))
1324 (vorbis (assoc-ref inputs "vorbis-tools"))
1325 (alsa (assoc-ref inputs "alsa-utils"))
1326 (mpg321 (assoc-ref inputs "mpg321"))
1327 (mp3info (assoc-ref inputs "mp3info"))
1328 (mutagen (assoc-ref inputs "mutagen"))
1329 (opus (assoc-ref inputs "opus-tools")))
1330 ;; Specify the installation directory.
1331 (substitute* "Makefile"
1332 (("PREFIX=.*$")
1333 (string-append "PREFIX := " out "\n")))
1334
1335 (setenv "SHELL" (which "sh"))
1336 (setenv "CC" "gcc")
1337
1338 ;; Specify the absolute file names of the various
1339 ;; programs so that everything works out-of-the-box.
1340 (with-directory-excursion "lisp"
1341 (emacs-substitute-variables
1342 "emms-player-mpg321-remote.el"
1343 ("emms-player-mpg321-remote-command"
1344 (string-append mpg321 "/bin/mpg321")))
1345 (substitute* "emms-player-simple.el"
1346 (("\"ogg123\"")
1347 (string-append "\"" vorbis "/bin/ogg123\"")))
1348 (substitute* "emms-player-simple.el"
1349 (("\"mpg321\"")
1350 (string-append "\"" mpg321 "/bin/mpg321\"")))
1351 (emacs-substitute-variables "emms-info-ogginfo.el"
1352 ("emms-info-ogginfo-program-name"
1353 (string-append vorbis "/bin/ogginfo")))
1354 (emacs-substitute-variables "emms-info-opusinfo.el"
1355 ("emms-info-opusinfo-program-name"
1356 (string-append opus "/bin/opusinfo")))
1357 (emacs-substitute-variables "emms-info-libtag.el"
1358 ("emms-info-libtag-program-name"
1359 (string-append out "/bin/emms-print-metadata")))
1360 (emacs-substitute-variables "emms-info-mp3info.el"
1361 ("emms-info-mp3info-program-name"
1362 (string-append mp3info "/bin/mp3info")))
1363 (emacs-substitute-variables "emms-info-metaflac.el"
1364 ("emms-info-metaflac-program-name"
1365 (string-append flac "/bin/metaflac")))
1366 (emacs-substitute-variables "emms-source-file.el"
1367 ("emms-source-file-gnu-find" (which "find")))
1368 (substitute* "emms-volume-amixer.el"
1369 (("\"amixer\"")
1370 (string-append "\"" alsa "/bin/amixer\"")))
1371 (substitute* "emms-tag-editor.el"
1372 (("\"mid3v2\"")
1373 (string-append "\"" mutagen "/bin/mid3v2\"")))
1374 #t))))
1375 (add-before 'install 'pre-install
1376 (lambda* (#:key outputs #:allow-other-keys)
1377 ;; The 'install' rule expects the target directories to exist.
1378 (let* ((out (assoc-ref outputs "out"))
1379 (bin (string-append out "/bin"))
1380 (man1 (string-append out "/share/man/man1")))
1381 (mkdir-p bin)
1382 (mkdir-p man1)
1383
1384 ;; Ensure that files are not rejected by gzip
1385 (let ((early-1980 315619200)) ; 1980-01-02 UTC
1386 (ftw "." (lambda (file stat flag)
1387 (unless (<= early-1980 (stat:mtime stat))
1388 (utime file early-1980 early-1980))
1389 #t)))
1390 #t)))
1391 (add-after 'install 'post-install
1392 (lambda* (#:key outputs #:allow-other-keys)
1393 (let ((out (assoc-ref outputs "out")))
1394 (symlink "emms-auto.el"
1395 (string-append out "/share/emacs/site-lisp/"
1396 "emms-autoloads.el")))
1397 #t)))
1398 #:tests? #f))
1399 (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
1400 ("texinfo" ,texinfo)))
1401 (inputs `(("alsa-utils" ,alsa-utils)
1402 ("flac" ,flac) ;for metaflac
1403 ("vorbis-tools" ,vorbis-tools)
1404 ("mpg321" ,mpg321)
1405 ("taglib" ,taglib)
1406 ("mp3info" ,mp3info)
1407 ("mutagen" ,python-mutagen)
1408 ("opus-tools" ,opus-tools)))
1409 (properties '((upstream-name . "emms")))
1410 (synopsis "Emacs Multimedia System")
1411 (description
1412 "EMMS is the Emacs Multimedia System. It is a small front-end which
1413 can control one of the supported external players. Thus, it supports
1414 whatever formats are supported by your music player. It also
1415 supports tagging and playlist management, all behind a clean and
1416 light user interface.")
1417 (home-page "https://www.gnu.org/software/emms/")
1418 (license license:gpl3+)))
1419
1420 (define-public emacs-emms-player-mpv
1421 ;; A new mpv backend is included in Emms from 5.0.
1422 (deprecated-package "emacs-emms-player-mpv" emacs-emms))
1423
1424 (define-public emacs-emms-mode-line-cycle
1425 (package
1426 (name "emacs-emms-mode-line-cycle")
1427 (version "0.2.5")
1428 (source
1429 (origin
1430 (method git-fetch)
1431 (uri (git-reference
1432 (url "https://github.com/momomo5717/emms-mode-line-cycle")
1433 (commit version)))
1434 (file-name (git-file-name name version))
1435 (sha256
1436 (base32
1437 "0q80f0plch6k4lhs8c9qm3mfycfbp3kn5sjrk9zxgxwnn901y9mp"))))
1438 (build-system emacs-build-system)
1439 (propagated-inputs
1440 `(("emms" ,emacs-emms)))
1441 (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
1442 (synopsis "Display the EMMS mode line as a ticker")
1443 (description
1444 "This is a minor mode for updating the EMMS mode-line string cyclically
1445 within a specified width. It is useful for displaying long track titles.")
1446 (license license:gpl3+)))
1447
1448 \f
1449 ;;;
1450 ;;; Miscellaneous.
1451 ;;;
1452
1453 (define-public emacs-ace-link
1454 (package
1455 (name "emacs-ace-link")
1456 (version "0.5.0")
1457 (source
1458 (origin
1459 (method git-fetch)
1460 (uri (git-reference
1461 (url "https://github.com/abo-abo/ace-link.git")
1462 (commit version)))
1463 (file-name (git-file-name name version))
1464 (sha256
1465 (base32
1466 "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk"))))
1467 (build-system emacs-build-system)
1468 (propagated-inputs
1469 `(("emacs-avy" ,emacs-avy)))
1470 (home-page "https://github.com/abo-abo/ace-link")
1471 (synopsis "Quickly follow links in Emacs")
1472 (description
1473 "Currently, to jump to a link in a @code{Info-mode}, @code{help-mode},
1474 @code{woman-mode}, @code{org-mode}, @code{eww-mode}, @code{compilation-mode},
1475 @code{goto-address-mode} buffer, you can tab through the links to select the
1476 one you want. This is an O(N) operation, where the N is the amount of links.
1477 This package turns this into an O(1) operation. It does so by assigning a
1478 letter to each link using avy.")
1479 (license license:gpl3+)))
1480
1481 (define-public emacs-bbdb
1482 (package
1483 (name "emacs-bbdb")
1484 (version "3.1.2")
1485 (source (origin
1486 (method url-fetch)
1487 (uri (string-append "mirror://savannah/bbdb/bbdb-"
1488 version ".tar.gz"))
1489 (sha256
1490 (base32
1491 "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"))
1492 (modules '((guix build utils)))
1493 (snippet
1494 ;; We don't want to build and install the PDF.
1495 '(begin
1496 (substitute* "doc/Makefile.in"
1497 (("^doc_DATA = .*$")
1498 "doc_DATA =\n"))
1499 #t))))
1500 (build-system gnu-build-system)
1501 (arguments
1502 '(#:phases
1503 (modify-phases %standard-phases
1504 (add-after 'install 'post-install
1505 (lambda* (#:key outputs #:allow-other-keys)
1506 ;; Add an autoloads file with the right name for guix.el.
1507 (let* ((out (assoc-ref outputs "out"))
1508 (site (string-append out "/share/emacs/site-lisp")))
1509 (with-directory-excursion site
1510 (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))
1511 #t)))))
1512 (native-inputs `(("emacs" ,emacs-minimal)))
1513 (home-page "https://savannah.nongnu.org/projects/bbdb/")
1514 (synopsis "Contact management utility for Emacs")
1515 (description
1516 "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides
1517 an address book for email and snail mail addresses, phone numbers and the
1518 like. It can be linked with various Emacs mail clients (Message and Mail
1519 mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
1520 (license license:gpl3+)))
1521
1522 (define-public bbdb
1523 (deprecated-package "bbdb" emacs-bbdb))
1524
1525 (define-public emacs-aggressive-indent
1526 (package
1527 (name "emacs-aggressive-indent")
1528 (version "1.8.3")
1529 (source (origin
1530 (method url-fetch)
1531 (uri (string-append "https://elpa.gnu.org/packages/"
1532 "aggressive-indent-" version ".el"))
1533 (sha256
1534 (base32
1535 "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
1536 (build-system emacs-build-system)
1537 (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
1538 (synopsis "Minor mode to aggressively keep your code always indented")
1539 (description
1540 "@code{aggressive-indent-mode} is a minor mode that keeps your code
1541 always indented. It reindents after every change, making it more reliable
1542 than @code{electric-indent-mode}.")
1543 (license license:gpl2+)))
1544
1545 (define-public emacs-link-hint
1546 ;; Last release was in 2015.
1547 (let ((commit "d74a483652486260c052941fedeadddb1ea71f88")
1548 (revision "1"))
1549 (package
1550 (name "emacs-link-hint")
1551 (version (git-version "0.1" revision commit))
1552 (source
1553 (origin
1554 (method git-fetch)
1555 (uri (git-reference
1556 (url "https://github.com/noctuid/link-hint.el")
1557 (commit commit)))
1558 (file-name (git-file-name name version))
1559 (sha256
1560 (base32
1561 "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"))))
1562 (build-system emacs-build-system)
1563 (propagated-inputs
1564 `(("emacs-avy" ,emacs-avy)))
1565 (home-page "https://github.com/noctuid/link-hint.el")
1566 (synopsis "Vimperator-style link-hinting in Emacs")
1567 (description "This package provides commands for visiting and acting on
1568 links.")
1569 (license license:gpl3+))))
1570
1571 (define-public emacs-ag
1572 (package
1573 (name "emacs-ag")
1574 (version "0.48")
1575 (source (origin
1576 (method git-fetch)
1577 (uri (git-reference
1578 (url "https://github.com/Wilfred/ag.el.git")
1579 (commit version)))
1580 (file-name (git-file-name name version))
1581 (sha256
1582 (base32
1583 "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
1584 (build-system emacs-build-system)
1585 (arguments
1586 `(#:phases
1587 (modify-phases %standard-phases
1588 (add-before 'install 'make-info
1589 (lambda _
1590 (with-directory-excursion "docs"
1591 (invoke "make" "info"))))
1592 (add-after 'install 'install-info
1593 (lambda* (#:key outputs #:allow-other-keys)
1594 (let* ((out (assoc-ref outputs "out"))
1595 (info (string-append out "/share/info")))
1596 (install-file "docs/_build/texinfo/agel.info" info)
1597 #t))))))
1598 (native-inputs
1599 `(("python-sphinx" ,python-sphinx)
1600 ("texinfo" ,texinfo)))
1601 (propagated-inputs
1602 `(("dash" ,emacs-dash)
1603 ("s" ,emacs-s)
1604 ;; We need to use 'ag' as the executable on remote systems.
1605 ("the-silver-searcher" ,the-silver-searcher)))
1606 (home-page "https://github.com/Wilfred/ag.el")
1607 (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
1608 (description "This package provides the ability to use the silver
1609 searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
1610 include version control system awareness, use of Perl compatible regular
1611 expressions, editing the search results directly and searching file names
1612 rather than the contents of files.")
1613 (license license:gpl3+)))
1614
1615 (define-public emacs-async
1616 (package
1617 (name "emacs-async")
1618 (home-page "https://github.com/jwiegley/emacs-async")
1619 (version "1.9.4")
1620 (source (origin
1621 (method git-fetch)
1622 (uri (git-reference
1623 (url home-page)
1624 (commit (string-append "v" version))))
1625 (file-name (git-file-name name version))
1626 (sha256
1627 (base32
1628 "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7"))))
1629 (build-system emacs-build-system)
1630 (synopsis "Asynchronous processing in Emacs")
1631 (description
1632 "This package provides the ability to call asynchronous functions and
1633 processes. For example, it can be used to run dired commands (for copying,
1634 moving, etc.) asynchronously using @code{dired-async-mode}. Also it is used
1635 as a library for other Emacs packages.")
1636 (license license:gpl3+)))
1637
1638 (define-public emacs-auctex
1639 (package
1640 (name "emacs-auctex")
1641 (version "12.2.0")
1642 (source
1643 (origin
1644 (method url-fetch)
1645 (uri (string-append "https://elpa.gnu.org/packages/auctex-"
1646 version ".tar"))
1647 (sha256
1648 (base32 "0j919l3q5sq6h1k1kmk4kyv0vkzl4f98fxcd64v34x5q1ahjhg48"))))
1649 (build-system emacs-build-system)
1650 ;; We use 'emacs' because AUCTeX requires dbus at compile time
1651 ;; ('emacs-minimal' does not provide dbus).
1652 (arguments
1653 `(#:emacs ,emacs
1654 #:include '("\\.el$" "^images/" "^latex/" "\\.info$")
1655 #:exclude '("^tests/" "^latex/README")))
1656 (native-inputs
1657 `(("perl" ,perl)))
1658 (home-page "https://www.gnu.org/software/auctex/")
1659 (synopsis "Integrated environment for TeX")
1660 (description
1661 "AUCTeX is a comprehensive customizable integrated environment for
1662 writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using Emacs
1663 or XEmacs.")
1664 (license license:gpl3+)))
1665
1666 (define-public emacs-autothemer
1667 (package
1668 (name "emacs-autothemer")
1669 (version "0.2.2")
1670 (source
1671 (origin
1672 (method git-fetch)
1673 (uri (git-reference
1674 (url "https://github.com/sebastiansturm/autothemer.git")
1675 (commit version)))
1676 (file-name (git-file-name name version))
1677 (sha256
1678 (base32
1679 "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"))))
1680 (build-system emacs-build-system)
1681 (propagated-inputs
1682 `(("emacs-dash" ,emacs-dash)))
1683 (home-page "https://github.com/sebastiansturm/autothemer")
1684 (synopsis "Conveniently create Emacs themes")
1685 (description
1686 "Autothemer provides a thin layer on top of @code{deftheme} and
1687 @code{custom-theme-set-faces} that creates a new custom color theme, based on
1688 a set of simplified face specifications and a user-supplied color palette")
1689 (license license:gpl3+)))
1690
1691 (define-public emacs-howm
1692 (package
1693 (name "emacs-howm")
1694 (version "1.4.5")
1695 (source
1696 (origin
1697 (method url-fetch)
1698 (uri (string-append "https://howm.sourceforge.jp/a/howm-"
1699 version ".tar.gz"))
1700 (sha256
1701 (base32 "1kvr5pxpc9rwhkza9025mdi0wvh0f0rpawl21rzirjk1x10903yi"))))
1702 (build-system gnu-build-system)
1703 (native-inputs
1704 `(("emacs" ,emacs-minimal)))
1705 (arguments
1706 `(#:configure-flags
1707 (list (string-append "--with-howmdir=" %output
1708 "/share/emacs/site-lisp/"))
1709 #:modules ((guix build gnu-build-system)
1710 ((guix build emacs-build-system) #:prefix emacs:)
1711 (guix build utils))
1712 #:imported-modules (,@%gnu-build-system-modules
1713 (guix build emacs-build-system)
1714 (guix build emacs-utils))
1715 #:phases
1716 (modify-phases %standard-phases
1717 (add-after 'install 'make-autoloads
1718 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
1719 (home-page "https://howm.osdn.jp/")
1720 (synopsis "Note-taking tool for Emacs")
1721 (description "Howm is a note-taking tool for Emacs. Like
1722 code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
1723 searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
1724 (license license:gpl1+)))
1725
1726 (define-public emacs-calfw
1727 (package
1728 (name "emacs-calfw")
1729 (version "1.6")
1730 (source
1731 (origin
1732 (method git-fetch)
1733 (uri (git-reference
1734 (url "https://github.com/kiwanami/emacs-calfw.git")
1735 (commit (string-append "v" version))))
1736 (file-name (git-file-name name version))
1737 (sha256
1738 (base32
1739 "0r42cagvmvvib76kd15nd9ix55ys6i549vxnls4z16s864695zpa"))))
1740 (build-system emacs-build-system)
1741 (propagated-inputs
1742 `(("emacs-howm" ,emacs-howm)))
1743 (home-page "https://github.com/kiwanami/emacs-calfw/")
1744 (synopsis "Calendar framework for Emacs")
1745 (description
1746 "This package displays a calendar view with various schedule data in the
1747 Emacs buffer.")
1748 (license license:gpl3+)))
1749
1750 (define-public emacs-direnv
1751 (package
1752 (name "emacs-direnv")
1753 (version "2.0.0")
1754 (source
1755 (origin
1756 (method git-fetch)
1757 (uri (git-reference
1758 (url "https://github.com/wbolster/emacs-direnv.git")
1759 (commit version)))
1760 (file-name (git-file-name name version))
1761 (sha256
1762 (base32
1763 "005ibyzsx1fdyrl5iyhqpb1bg83mphzahq7zvw58x00syyqi2z49"))))
1764 (build-system emacs-build-system)
1765 (propagated-inputs
1766 `(("dash" ,emacs-dash)
1767 ("with-editor" ,emacs-with-editor)))
1768 (home-page "https://github.com/wbolster/emacs-direnv")
1769 (synopsis "Direnv integration for Emacs")
1770 (description
1771 "This package provides support for invoking direnv to get the environment
1772 for the current file and updating the environment within Emacs to match.
1773
1774 Direnv can be invoked manually, and a global minor mode is included that will
1775 update the environment when the active buffer changes.
1776
1777 Using emacs-direnv means that programs started from Emacs will use the
1778 environment set through Direnv.")
1779 (license license:gpl3+)))
1780
1781 (define-public emacs-ggtags
1782 (package
1783 (name "emacs-ggtags")
1784 (version "0.8.13")
1785 (source
1786 (origin
1787 (method url-fetch)
1788 (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
1789 version ".el"))
1790 (sha256
1791 (base32
1792 "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
1793 (build-system emacs-build-system)
1794 (inputs
1795 `(("global" ,global)))
1796 (arguments
1797 `(#:phases
1798 (modify-phases %standard-phases
1799 (add-after 'unpack 'configure
1800 (lambda* (#:key inputs #:allow-other-keys)
1801 (chmod "ggtags.el" #o644)
1802 (emacs-substitute-variables "ggtags.el"
1803 ("ggtags-executable-directory"
1804 (string-append (assoc-ref inputs "global") "/bin")))
1805 #t)))))
1806 (home-page "https://github.com/leoliu/ggtags")
1807 (synopsis "Frontend to the GNU Global source code tagging system")
1808 (description "@code{ggtags} provides a frontend to the GNU Global source
1809 code tagging system.
1810
1811 Features:
1812
1813 @itemize
1814 @item Build on @code{compile.el} for asynchronicity and its large feature-set.
1815 @item Automatically update Global's tag files when needed with tuning for
1816 large source trees.
1817 @item Intuitive navigation among multiple matches with mode-line display of
1818 current match, total matches and exit status.
1819 @item Read tag with completion.
1820 @item Show definition at point.
1821 @item Jump to #include files.
1822 @item Support search history and saving a search to register/bookmark.
1823 @item Query replace.
1824 @item Manage Global's environment variables on a per-project basis.
1825 @item Highlight (definition) tag at point.
1826 @item Abbreviated display of file names.
1827 @item Support all Global search backends: @code{grep}, @code{idutils}, etc.
1828 @item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
1829 @code{pygments} backend.
1830 @item Support all Global's output formats: @code{grep}, @code{ctags-x},
1831 @code{cscope} etc.
1832 @item Support projects on remote hosts (e.g. via @code{tramp}).
1833 @item Support eldoc.
1834 @item Search @code{GTAGSLIBPATH} for references and symbols.
1835 @end itemize\n")
1836 (license license:gpl3+)))
1837
1838 (define-public emacs-go-mode
1839 (package
1840 (name "emacs-go-mode")
1841 (version "1.5.0")
1842 (source (origin
1843 (method git-fetch)
1844 (uri (git-reference
1845 (url "https://github.com/dominikh/go-mode.el.git")
1846 (commit (string-append "v" version))))
1847 (file-name (git-file-name name version))
1848 (sha256
1849 (base32
1850 "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
1851 (build-system emacs-build-system)
1852 (arguments
1853 `(#:phases
1854 (modify-phases %standard-phases
1855 (add-after 'unpack 'make-writable
1856 (lambda _
1857 (for-each make-file-writable (find-files "." "\\.el$"))
1858 #t)))))
1859 (home-page "https://github.com/dominikh/go-mode.el")
1860 (synopsis "Go mode for Emacs")
1861 (description
1862 "This package provides go-mode, an Emacs mode for working with software
1863 written in the Go programming language.")
1864 (license license:bsd-3)))
1865
1866 (define-public emacs-google-maps
1867 (package
1868 (name "emacs-google-maps")
1869 (version "1.0.0")
1870 (source (origin
1871 (method git-fetch)
1872 (uri (git-reference
1873 (url "https://github.com/jd/google-maps.el.git")
1874 (commit version)))
1875 (file-name (git-file-name name version))
1876 (sha256
1877 (base32
1878 "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"))))
1879 (build-system emacs-build-system)
1880 (home-page "https://github.com/jd/google-maps.el")
1881 (synopsis "Access Google Maps from Emacs")
1882 (description "The @code{google-maps} package allows to display Google
1883 Maps directly inside Emacs.")
1884 (license license:gpl3+)))
1885
1886 (define-public emacs-graphviz-dot-mode
1887 (let ((commit "1574c504d9810f34a85e2ff49b6f7648c2be5f27")
1888 (revision "1"))
1889 (package
1890 (name "emacs-graphviz-dot-mode")
1891 (version (string-append "0.4.1-" revision "."
1892 (string-take commit 7)))
1893 (source (origin
1894 (method git-fetch)
1895 (uri (git-reference
1896 (url "https://github.com/ppareit/graphviz-dot-mode.git")
1897 (commit commit)))
1898 (file-name (git-file-name name version))
1899 (sha256
1900 (base32
1901 "03l6zkkxhbcxj5i13hzjv6ypmzaw70zqqagh7ix1kdn33kpp37jj"))))
1902 (build-system emacs-build-system)
1903 (arguments
1904 `(#:phases
1905 (modify-phases %standard-phases
1906 (add-before 'install 'make-info
1907 (lambda* (#:key inputs #:allow-other-keys)
1908 (with-directory-excursion "texinfo"
1909 (substitute* "Makefile"
1910 (("\\/usr\\/bin\\/gzip")
1911 (string-append (assoc-ref inputs "gzip") "/bin/gzip")))
1912 (invoke "make"
1913 "clean"
1914 "info"
1915 (string-append "TEXINFODIR="
1916 (assoc-ref inputs "texinfo")
1917 "/bin")))))
1918 (add-after 'install 'install-info
1919 (lambda* (#:key outputs #:allow-other-keys)
1920 (let* ((out (assoc-ref outputs "out"))
1921 (info (string-append out "/share/info")))
1922 (install-file "texinfo/graphviz-dot-mode.info.gz" info)
1923 #t))))))
1924 (native-inputs
1925 `(("texinfo" ,texinfo)
1926 ("gzip" ,gzip)))
1927 (home-page "http://ppareit.github.com/graphviz-dot-mode")
1928 (synopsis "Major mode for editing Graphviz Dot files")
1929 (description
1930 "This Emacs packages helps you to create @file{.dot} or @file{.gv}
1931 files using the dot syntax, and use Graphviz to convert these files to
1932 diagrams.")
1933 (license license:gpl2+))))
1934
1935 (define-public emacs-mmm-mode
1936 (package
1937 (name "emacs-mmm-mode")
1938 (version "0.5.7")
1939 (source
1940 (origin
1941 (method git-fetch)
1942 (uri (git-reference
1943 (url "https://github.com/purcell/mmm-mode.git")
1944 (commit version)))
1945 (file-name (git-file-name name version))
1946 (sha256
1947 (base32
1948 "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h"))))
1949 (build-system gnu-build-system)
1950 (native-inputs
1951 `(("autoconf" ,autoconf)
1952 ("automake" ,automake)
1953 ("emacs" ,emacs-minimal)
1954 ("texinfo" ,texinfo)))
1955 (home-page "https://github.com/purcell/mmm-mode")
1956 (synopsis "Allow multiple major modes in an Emacs buffer")
1957 (description
1958 "MMM Mode is a minor mode that allows multiple major modes to coexist in a
1959 single buffer.")
1960 (license license:gpl3+)))
1961
1962 (define-public emacs-tablist
1963 (package
1964 (name "emacs-tablist")
1965 (version "1.0")
1966 (source (origin
1967 (method git-fetch)
1968 (uri (git-reference
1969 (url "https://github.com/politza/tablist.git")
1970 (commit (string-append "v" version))))
1971 (file-name (git-file-name name version))
1972 (sha256
1973 (base32
1974 "0pzsdg0rm59daw34ppss79cg05z9wnr8nkmdcc48nkd0p69ip2yy"))))
1975 (build-system emacs-build-system)
1976 (home-page "https://github.com/politza/tablist")
1977 (synopsis "Extension for @code{tabulated-list-mode}")
1978 (description "Tablist is the Emacs package that provides several
1979 additional features to @code{tabulated-list-mode}: it adds marks,
1980 filters, new key bindings and faces. It can be enabled by
1981 @code{tablist-mode} or @code{tablist-minor-mode} commands.")
1982 (license license:gpl3+)))
1983
1984 (define-public emacs-pdf-tools
1985 (package
1986 (name "emacs-pdf-tools")
1987 (version "0.90")
1988 (home-page "https://github.com/politza/pdf-tools")
1989 (source (origin
1990 (method git-fetch)
1991 (uri (git-reference (url home-page)
1992 (commit (string-append "v" version))))
1993 (file-name (git-file-name name version))
1994 (sha256
1995 (base32
1996 "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9"))))
1997 (build-system gnu-build-system)
1998 (arguments
1999 `(#:tests? #f ; there are no tests
2000 #:modules ((guix build gnu-build-system)
2001 ((guix build emacs-build-system) #:prefix emacs:)
2002 (guix build utils)
2003 (guix build emacs-utils))
2004 #:imported-modules (,@%gnu-build-system-modules
2005 (guix build emacs-build-system)
2006 (guix build emacs-utils))
2007 #:phases
2008 (modify-phases %standard-phases
2009 ;; Build server side using 'gnu-build-system'.
2010 (add-after 'unpack 'enter-server-dir
2011 (lambda _ (chdir "server") #t))
2012 (add-after 'enter-server-dir 'autogen
2013 (lambda _
2014 (invoke "bash" "autogen.sh")))
2015
2016 ;; Build emacs side using 'emacs-build-system'.
2017 (add-after 'compress-documentation 'enter-lisp-dir
2018 (lambda _ (chdir "../lisp") #t))
2019 (add-after 'enter-lisp-dir 'emacs-patch-variables
2020 (lambda* (#:key outputs #:allow-other-keys)
2021 (for-each make-file-writable (find-files "."))
2022
2023 ;; Set path to epdfinfo program.
2024 (emacs-substitute-variables "pdf-info.el"
2025 ("pdf-info-epdfinfo-program"
2026 (string-append (assoc-ref outputs "out")
2027 "/bin/epdfinfo")))
2028 ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto
2029 ;; upgrading" that pdf-tools tries to perform.
2030 (emacs-substitute-variables "pdf-tools.el"
2031 ("pdf-tools-handle-upgrades" '()))))
2032 (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
2033 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
2034 (add-after 'emacs-add-source-to-load-path 'emacs-install
2035 (assoc-ref emacs:%standard-phases 'install))
2036 (add-after 'emacs-install 'emacs-build
2037 (assoc-ref emacs:%standard-phases 'build))
2038 (add-after 'emacs-install 'emacs-make-autoloads
2039 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
2040 (native-inputs `(("autoconf" ,autoconf)
2041 ("automake" ,automake)
2042 ("pkg-config" ,pkg-config)
2043 ("emacs" ,emacs-minimal)))
2044 (inputs `(("poppler" ,poppler)
2045 ("cairo" ,cairo)
2046 ("glib" ,glib)
2047 ("libpng" ,libpng)
2048 ("zlib" ,zlib)))
2049 (propagated-inputs `(("tablist" ,emacs-tablist)))
2050 (synopsis "Emacs support library for PDF files")
2051 (description
2052 "PDF Tools is, among other things, a replacement of DocView for PDF
2053 files. The key difference is that pages are not pre-rendered by
2054 e.g. ghostscript and stored in the file-system, but rather created on-demand
2055 and stored in memory.")
2056 (license license:gpl3+)))
2057
2058 (define-public emacs-dash
2059 (package
2060 (name "emacs-dash")
2061 (version "2.16.0")
2062 (source (origin
2063 (method git-fetch)
2064 (uri (git-reference
2065 (url "https://github.com/magnars/dash.el.git")
2066 (commit version)))
2067 (file-name (git-file-name name version))
2068 (sha256
2069 (base32
2070 "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
2071 (build-system emacs-build-system)
2072 (arguments
2073 `(#:tests? #t
2074 #:test-command '("./run-tests.sh")))
2075 (home-page "https://github.com/magnars/dash.el")
2076 (synopsis "Modern list library for Emacs")
2077 (description "This package provides a modern list API library for Emacs.")
2078 (license license:gpl3+)))
2079
2080 (define-public emacs-bui
2081 (package
2082 (name "emacs-bui")
2083 (version "1.2.1")
2084 (source (origin
2085 (method git-fetch)
2086 (uri (git-reference
2087 (url "https://notabug.org/alezost/emacs-bui.git")
2088 (commit (string-append "v" version))))
2089 (file-name (git-file-name name version))
2090 (sha256
2091 (base32
2092 "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"))))
2093 (build-system emacs-build-system)
2094 (propagated-inputs
2095 `(("dash" ,emacs-dash)))
2096 (home-page "https://notabug.org/alezost/emacs-bui")
2097 (synopsis "Buffer interface library for Emacs")
2098 (description
2099 "BUI (Buffer User Interface) is a library for making @code{list} and
2100 @code{info} interfaces to display an arbitrary data of the same
2101 type, for example: packages, buffers, files, etc.")
2102 (license license:gpl3+)))
2103
2104 (define-public emacs-guix
2105 (package
2106 (name "emacs-guix")
2107 (version "0.5.2")
2108 (source (origin
2109 (method url-fetch)
2110 (uri (string-append "https://emacs-guix.gitlab.io/website/"
2111 "releases/emacs-guix-" version ".tar.gz"))
2112 (sha256
2113 (base32
2114 "0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps"))))
2115 (build-system gnu-build-system)
2116 (arguments
2117 `(#:configure-flags
2118 (let ((guix (assoc-ref %build-inputs "guix"))
2119 (gcrypt (assoc-ref %build-inputs "guile-gcrypt"))
2120 (geiser (assoc-ref %build-inputs "geiser"))
2121 (dash (assoc-ref %build-inputs "dash"))
2122 (bui (assoc-ref %build-inputs "bui"))
2123 (magit-popup (assoc-ref %build-inputs "magit-popup"))
2124 (edit-indirect (assoc-ref %build-inputs "edit-indirect"))
2125 (site-lisp "/share/emacs/site-lisp")
2126 (site-scm "/share/guile/site")
2127 (site-go "/lib/guile")
2128 (guile-dir (lambda (dir)
2129 (car (find-files dir
2130 (lambda (file stat)
2131 (string-prefix?
2132 "2." (basename file)))
2133 #:directories? #t)))))
2134 (list (string-append "--with-guix-site-dir="
2135 (guile-dir (string-append guix site-scm)))
2136 (string-append "--with-guix-site-ccache-dir="
2137 (guile-dir (string-append guix site-go))
2138 "/site-ccache")
2139 (string-append "--with-guile-gcrypt-site-dir="
2140 (guile-dir (string-append gcrypt site-scm)))
2141 (string-append "--with-guile-gcrypt-site-ccache-dir="
2142 (guile-dir (string-append gcrypt site-go))
2143 "/site-ccache")
2144 (string-append "--with-geiser-lispdir=" geiser site-lisp)
2145 (string-append "--with-dash-lispdir="
2146 dash site-lisp "/guix.d/dash-"
2147 ,(package-version emacs-dash))
2148 (string-append "--with-bui-lispdir="
2149 bui site-lisp "/guix.d/bui-"
2150 ,(package-version emacs-bui))
2151 (string-append "--with-editindirect-lispdir="
2152 edit-indirect site-lisp "/guix.d/edit-indirect-"
2153 ,(package-version emacs-edit-indirect))
2154 (string-append "--with-popup-lispdir="
2155 magit-popup site-lisp "/guix.d/magit-popup-"
2156 ,(package-version emacs-magit-popup))))))
2157 (native-inputs
2158 `(("pkg-config" ,pkg-config)
2159 ("emacs" ,emacs-minimal)))
2160 (inputs
2161 `(("guile" ,guile-2.2)
2162 ("guix" ,guix)))
2163 (propagated-inputs
2164 `(("geiser" ,emacs-geiser)
2165 ("guile-gcrypt" ,guile-gcrypt)
2166 ("dash" ,emacs-dash)
2167 ("bui" ,emacs-bui)
2168 ("edit-indirect" ,emacs-edit-indirect)
2169 ("magit-popup" ,emacs-magit-popup)))
2170 (home-page "https://emacs-guix.gitlab.io/website/")
2171 (synopsis "Emacs interface for GNU Guix")
2172 (description
2173 "Emacs-Guix provides a visual interface, tools and features for the GNU
2174 Guix package manager. Particularly, it allows you to do various package
2175 management tasks from Emacs. To begin with, run @code{M-x guix-about} or
2176 @code{M-x guix-help} command.")
2177 (license license:gpl3+)))
2178
2179 (define-public emacs-build-farm
2180 (package
2181 (name "emacs-build-farm")
2182 (version "0.2.2")
2183 (source (origin
2184 (method git-fetch)
2185 (uri (git-reference
2186 (url "https://notabug.org/alezost/emacs-build-farm.git")
2187 (commit (string-append "v" version))))
2188 (file-name (git-file-name name version))
2189 (sha256
2190 (base32
2191 "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"))))
2192 (build-system emacs-build-system)
2193 (propagated-inputs
2194 `(("bui" ,emacs-bui)
2195 ("magit-popup" ,emacs-magit-popup)))
2196 (home-page "https://notabug.org/alezost/emacs-build-farm")
2197 (synopsis "Emacs interface for Hydra and Cuirass build farms")
2198 (description
2199 "This Emacs package provides an interface for Hydra and
2200 Cuirass (build farms used by Nix and Guix). It allows you to look at
2201 various data related to the build farm projects, jobsets, builds and
2202 evaluations. The entry point is @code{M-x build-farm} command.")
2203 (license license:gpl3+)))
2204
2205 (define-public emacs-d-mode
2206 (package
2207 (name "emacs-d-mode")
2208 (version "2.0.10")
2209 (source
2210 (origin
2211 (method git-fetch)
2212 (uri (git-reference
2213 (url "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode.git")
2214 (commit version)))
2215 (file-name (git-file-name name version))
2216 (sha256
2217 (base32 "0915kb9jcaixgindhj85fmykkhvj31ckp1yg6746fznwdgfrlifv"))))
2218 (build-system emacs-build-system)
2219 (propagated-inputs
2220 `(("emacs-undercover" ,emacs-undercover)))
2221 (home-page "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode")
2222 (synopsis "Emacs major mode for editing D code")
2223 (description "This package provides an Emacs major mode for highlighting
2224 code written in the D programming language. This mode is currently known to
2225 work with Emacs 24 and 25.")
2226 (license license:gpl2+)))
2227
2228 (define-public emacs-extempore-mode
2229 ;; Use the latest commit at time of packaging. There are no releases or tags.
2230 (let ((commit "848ad0084f27b92d1cf98dabffbad29f959a642d")
2231 (revision "1"))
2232 (package
2233 (name "emacs-extempore-mode")
2234 (version (git-version "0.0.0" revision commit))
2235 (source
2236 (origin
2237 (method git-fetch)
2238 (uri (git-reference
2239 (url "https://github.com/extemporelang/extempore-emacs-mode.git")
2240 (commit commit)))
2241 (file-name (git-file-name name version))
2242 (sha256
2243 (base32 "00wr025php7nl33x541s9rjm99hj0jbdcmnw9ljx5hqpm04aqm7c"))))
2244 (build-system emacs-build-system)
2245 (home-page "https://github.com/extemporelang/extempore-emacs-mode")
2246 (synopsis "Emacs major mode for Extempore source files")
2247 (description
2248 "This package provides a major mode for editing Extempore code. It can
2249 create an Extempore REPL, connect the current @code{extempore-mode} buffer to a
2250 running Extempore process, and more.")
2251 (license license:bsd-2))))
2252
2253 (define-public emacs-keyfreq
2254 (package
2255 (name "emacs-keyfreq")
2256 (version "20160516.716")
2257 (source
2258 (origin
2259 (method url-fetch)
2260 (uri (string-append "http://melpa.org/packages/keyfreq-"
2261 version ".el"))
2262 (sha256
2263 (base32
2264 "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
2265 (build-system emacs-build-system)
2266 (home-page "https://github.com/dacap/keyfreq")
2267 (synopsis "Track Emacs command frequencies")
2268 (description "@code{emacs-keyfeq} tracks and shows how many times you used
2269 a command.")
2270 (license license:gpl3+)))
2271
2272 (define-public emacs-olivetti
2273 (package
2274 (name "emacs-olivetti")
2275 (version "1.8.1")
2276 (source (origin
2277 (method git-fetch)
2278 (uri (git-reference
2279 (url "https://github.com/rnkn/olivetti.git")
2280 (commit (string-append "v" version))))
2281 (file-name (git-file-name name version))
2282 (sha256
2283 (base32
2284 "1fbj9s49y5yx5i429awv9rybacfgvhwp7v5h0zw67bpgx4qs44pa"))))
2285 (build-system emacs-build-system)
2286 (home-page "https://github.com/rnkn/olivetti")
2287 (synopsis "Emacs minor mode for a nice writing environment")
2288 (description "This package provides an Emacs minor mode that puts writing
2289 in the center.")
2290 (license license:gpl3+)))
2291
2292 (define-public emacs-undo-tree
2293 (package
2294 (name "emacs-undo-tree")
2295 (version "0.6.6")
2296 (source (origin
2297 (method git-fetch)
2298 (uri (git-reference
2299 (url "http://dr-qubit.org/git/undo-tree.git")
2300 (commit (string-append "release/" version))))
2301 (file-name (git-file-name name version))
2302 (sha256
2303 (base32
2304 "1hnh2mnmw179gr094r561w6cw1haid0lpvpqvkc24wpj82vphzpa"))))
2305 (build-system emacs-build-system)
2306 (home-page "http://www.dr-qubit.org/emacs.php")
2307 (synopsis "Treat undo history as a tree")
2308 (description "Tree-like interface to Emacs undo system, providing
2309 graphical tree presentation of all previous states of buffer that
2310 allows easily move between them.")
2311 (license license:gpl3+)))
2312
2313 (define-public emacs-s
2314 (package
2315 (name "emacs-s")
2316 (version "1.12.0")
2317 (source
2318 (origin
2319 (method git-fetch)
2320 (uri (git-reference
2321 (url "https://github.com/magnars/s.el.git")
2322 (commit version)))
2323 (file-name (git-file-name name version))
2324 (sha256
2325 (base32 "1g8mqd13llj007al4nlxxx4z2lcsg3wk970mgjn0avwrhjjgdmmv"))))
2326 (build-system emacs-build-system)
2327 (arguments
2328 `(#:tests? #t
2329 #:emacs ,emacs ; FIXME: tests fail with emacs-minimal
2330 #:test-command '("./run-tests.sh")))
2331 (home-page "https://github.com/magnars/s.el")
2332 (synopsis "Emacs string manipulation library")
2333 (description "This package provides an Emacs library for manipulating
2334 strings.")
2335 (license license:gpl3+)))
2336
2337 (define-public emacs-symon
2338 (package
2339 (name "emacs-symon")
2340 (version "20160630")
2341 (source
2342 (origin
2343 (method git-fetch)
2344 (uri (git-reference
2345 (url "https://github.com/zk-phi/symon.git")
2346 (commit version)))
2347 (file-name (git-file-name name version))
2348 (sha256
2349 (base32 "1q7di9s8k710nx98wnqnbkkhdimrn0jf6z4xkm4c78l6s5idjwlz"))))
2350 (build-system emacs-build-system)
2351 (home-page "https://github.com/zk-phi/symon")
2352 (synopsis "Tiny graphical system monitor")
2353 (description
2354 "Tiny graphical system monitor for the Emacs minibuffer when idle.")
2355 (license license:gpl2+)))
2356
2357 (define-public emacs-sx
2358 (let ((version "20180212")
2359 (revision "1")
2360 (commit "833435fbf90d1c9e927d165b155f3b1ef39271de"))
2361 (package
2362 (name "emacs-sx")
2363 (version (git-version version revision commit))
2364 (source
2365 (origin
2366 (method git-fetch)
2367 (uri (git-reference
2368 (url "https://github.com/vermiculus/sx.el")
2369 (commit commit)))
2370 (file-name (git-file-name name version))
2371 (sha256
2372 (base32
2373 "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd"))))
2374 (build-system emacs-build-system)
2375 (propagated-inputs
2376 `(("emacs-markdown-mode" ,emacs-markdown-mode)))
2377 (home-page "https://github.com/vermiculus/sx.el")
2378 (synopsis "Emacs StackExchange client")
2379 (description
2380 "Emacs StackExchange client. Ask and answer questions on
2381 Stack Overflow, Super User, and other StackExchange sites.")
2382 (license license:gpl3+))))
2383
2384 (define-public emacs-f
2385 (package
2386 (name "emacs-f")
2387 (version "0.20.0")
2388 (source (origin
2389 (method git-fetch)
2390 (uri (git-reference
2391 (url "https://github.com/rejeep/f.el.git")
2392 (commit (string-append "v" version))))
2393 (file-name (git-file-name name version))
2394 (sha256
2395 (base32
2396 "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"))))
2397 (build-system emacs-build-system)
2398 (propagated-inputs
2399 `(("emacs-s" ,emacs-s)
2400 ("emacs-dash" ,emacs-dash)))
2401 (home-page "https://github.com/rejeep/f.el")
2402 (synopsis "Emacs API for working with files and directories")
2403 (description "This package provides an Emacs library for working with
2404 files and directories.")
2405 (license license:gpl3+)))
2406
2407 (define-public emacs-fringe-helper
2408 (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
2409 (revision "1"))
2410 (package
2411 (name "emacs-fringe-helper")
2412 (version (git-version "1.0.1" revision commit))
2413 (source
2414 (origin
2415 (method git-fetch)
2416 (uri (git-reference
2417 (url "https://github.com/nschum/fringe-helper.el.git")
2418 (commit commit)))
2419 (file-name (git-file-name name version))
2420 (sha256
2421 (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
2422 (build-system emacs-build-system)
2423 (arguments
2424 `(#:tests? #t
2425 #:test-command '("emacs" "--batch"
2426 "-l" "tests.el"
2427 "-f" "ert-run-tests-batch-and-exit")))
2428 (home-page "https://github.com/nschum/fringe-helper.el")
2429 (synopsis "Helper functions for fringe bitmaps")
2430 (description
2431 "This package allows fringe bitmaps to be defined with a visual string
2432 representation.")
2433 (license license:gpl2+))))
2434
2435 (define-public emacs-git-gutter
2436 (package
2437 (name "emacs-git-gutter")
2438 (version "0.90")
2439 (source
2440 (origin
2441 (method git-fetch)
2442 (uri (git-reference
2443 (url "https://github.com/syohex/emacs-git-gutter.git")
2444 (commit version)))
2445 (file-name (git-file-name name version))
2446 (sha256
2447 (base32 "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"))))
2448 (build-system emacs-build-system)
2449 (home-page "https://github.com/syohex/emacs-git-gutter")
2450 (synopsis "See and manage hunks of text in a version control system")
2451 (description
2452 "This package is an Emacs minor mode for displaying and interacting with
2453 hunks of text managed in a version control system. Added modified and deleted
2454 areas can be indicated with symbols on the edge of the buffer, and commands
2455 can be used to move between and perform actions on these hunks.
2456
2457 Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
2458 display and behaviour is easily customisable.")
2459 (license license:gpl3+)))
2460
2461 (define-public emacs-git-gutter-fringe
2462 (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
2463 (revision "1"))
2464 (package
2465 (name "emacs-git-gutter-fringe")
2466 (version (git-version "0.23" revision commit))
2467 (source
2468 (origin
2469 (method git-fetch)
2470 (uri (git-reference
2471 (url "https://github.com/syohex/git-gutter-fringe.git")
2472 (commit commit)))
2473 (file-name (git-file-name name version))
2474 (sha256
2475 (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
2476 (build-system emacs-build-system)
2477 (propagated-inputs
2478 `(("emacs-git-gutter" ,emacs-git-gutter)
2479 ("emacs-fringe-helper" ,emacs-fringe-helper)))
2480 (home-page "https://github.com/syohex/git-gutter-fringe")
2481 (synopsis "See and manage hunks of text in a version control system")
2482 (description
2483 "This package extends @code{git-gutter} to use the fringe area of a
2484 window.")
2485 (license license:gpl3+))))
2486
2487 (define-public emacs-git-link
2488 (package
2489 (name "emacs-git-link")
2490 (version "0.7.5")
2491 (source
2492 (origin
2493 (method git-fetch)
2494 (uri (git-reference
2495 (url "https://github.com/sshaw/git-link.git")
2496 (commit (string-append "v" version))))
2497 (file-name (git-file-name name version))
2498 (sha256
2499 (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
2500 (build-system emacs-build-system)
2501 (arguments
2502 `(#:tests? #t
2503 #:test-command '("make" "test")))
2504 (home-page "https://github.com/sshaw/git-link")
2505 (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
2506 (description
2507 "@code{git-link} returns the URL for the current buffer's file location
2508 at the current line number or active region. @code{git-link-commit} returns
2509 the URL for a commit. URLs are added to the kill ring.")
2510 (license license:gpl3+)))
2511
2512 (define-public emacs-apheleia
2513 (package
2514 (name "emacs-apheleia")
2515 (version "1.0")
2516 (source
2517 (origin
2518 (method git-fetch)
2519 (uri (git-reference
2520 (url "https://github.com/raxod502/apheleia.git")
2521 (commit (string-append "v" version))))
2522 (file-name (git-file-name name version))
2523 (sha256
2524 (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
2525 (build-system emacs-build-system)
2526 (home-page "https://github.com/raxod502/apheleia")
2527 (synopsis "Reformat buffer stably")
2528 (description
2529 "This package allows for a buffer to be reformatted without moving point,
2530 so that running a formatting tool like @code{Prettier} or @code{Black} upon
2531 saving won't move point back to the beginning of the buffer.")
2532 (license license:gpl3+)))
2533
2534 (define-public emacs-git-timemachine
2535 (package
2536 (name "emacs-git-timemachine")
2537 (version "4.11")
2538 (source
2539 (origin
2540 (method git-fetch)
2541 (uri (git-reference
2542 (url "https://gitlab.com/pidu/git-timemachine.git")
2543 (commit version)))
2544 (file-name (git-file-name name version))
2545 (sha256
2546 (base32
2547 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
2548 (build-system emacs-build-system)
2549 (propagated-inputs
2550 `(("emacs-transient" ,emacs-transient)))
2551 (home-page "https://gitlab.com/pidu/git-timemachine")
2552 (synopsis "Step through historic versions of Git-controlled files")
2553 (description "This package enables you to step through historic versions
2554 of files under Git version control from within Emacs.")
2555 (license license:gpl3+)))
2556
2557 (define-public emacs-minitest
2558 (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
2559 (revision "1"))
2560 (package
2561 (name "emacs-minitest")
2562 (version (git-version "0.8.0" revision commit))
2563 (source (origin
2564 (method git-fetch)
2565 (uri (git-reference
2566 (url "https://github.com/arthurnn/minitest-emacs")
2567 (commit commit)))
2568 (file-name (git-file-name name commit))
2569 (sha256
2570 (base32
2571 "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
2572 (build-system emacs-build-system)
2573 (arguments
2574 '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
2575 #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
2576 (propagated-inputs
2577 `(("emacs-dash" ,emacs-dash)
2578 ("emacs-f" ,emacs-f)))
2579 (home-page "https://github.com/arthurnn/minitest-emacs")
2580 (synopsis "Emacs minitest mode")
2581 (description
2582 "The minitest mode provides commands to run the tests for the current
2583 file or line, as well as rerunning the previous tests, or all the tests for a
2584 project.
2585
2586 This package also includes relevant snippets for yasnippet.")
2587 (license license:expat))))
2588
2589 (define-public emacs-el-mock
2590 (package
2591 (name "emacs-el-mock")
2592 (version "1.25.1")
2593 (source
2594 (origin
2595 (method git-fetch)
2596 (uri (git-reference
2597 (url "https://github.com/rejeep/el-mock.el.git")
2598 (commit (string-append "v" version))))
2599 (file-name (git-file-name name version))
2600 (sha256
2601 (base32 "13mv1rhgkwiww2wh5w926jz7idppp492wir1vdl245c5x50dh4f7"))))
2602 (build-system emacs-build-system)
2603 (home-page "https://github.com/rejeep/el-mock.el")
2604 (synopsis "Tiny mock and stub framework in Emacs Lisp")
2605 (description
2606 "Emacs Lisp Mock is a library for mocking and stubbing using readable
2607 syntax. Most commonly Emacs Lisp Mock is used in conjunction with Emacs Lisp
2608 Expectations, but it can be used in other contexts.")
2609 (license license:gpl3+)))
2610
2611 (define-public emacs-espuds
2612 (package
2613 (name "emacs-espuds")
2614 (version "0.3.3")
2615 (source
2616 (origin
2617 (method git-fetch)
2618 (uri (git-reference
2619 (url "https://github.com/ecukes/espuds.git")
2620 (commit (string-append "v" version))))
2621 (file-name (git-file-name name version))
2622 (sha256
2623 (base32 "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"))))
2624 (build-system emacs-build-system)
2625 (propagated-inputs
2626 `(("emacs-s" ,emacs-s)
2627 ("emacs-dash" ,emacs-dash)
2628 ("emacs-f" ,emacs-f)))
2629 (home-page "https://github.com/ecukes/espuds")
2630 (synopsis "Common step definitions for Ecukes")
2631 (description "Espuds is a collection of the most commonly used step
2632 definitions for testing with the Ecukes framework.")
2633 (license license:gpl3+)))
2634
2635 (define-public emacs-spark
2636 (let ((version "20160503") ; no proper tag, use date of commit
2637 (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
2638 (revision "1"))
2639 (package
2640 (name "emacs-spark")
2641 (version (git-version version revision commit))
2642 (source
2643 (origin
2644 (method git-fetch)
2645 (uri (git-reference
2646 (url "https://github.com/alvinfrancis/spark.git")
2647 (commit commit)))
2648 (file-name (git-file-name name version))
2649 (sha256
2650 (base32
2651 "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
2652 (build-system emacs-build-system)
2653 (home-page "https://github.com/alvinfrancis/spark")
2654 (synopsis "Sparkline generation library for Emacs Lisp")
2655 (description "@code{emacs-spark} is a sparkline generation library for
2656 Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
2657 port of @code{cl-spark} to Emacs Lisp.")
2658 (license license:expat))))
2659
2660 (define-public emacs-es-mode
2661 (package
2662 (name "emacs-es-mode")
2663 (version "4.3.0")
2664 (source
2665 (origin
2666 (method git-fetch)
2667 (uri (git-reference
2668 (url "https://github.com/dakrone/es-mode.git")
2669 (commit version)))
2670 (file-name (git-file-name name version))
2671 (sha256
2672 (base32 "1qhfnd5anp5qrmravv7ks5ix763xnki2f5jwcyj70qyxwr0l60cg"))))
2673 (build-system emacs-build-system)
2674 (propagated-inputs
2675 ;; The version of org in Emacs 24.5 is not sufficient, and causes tables
2676 ;; to be rendered incorrectly
2677 `(("emacs-dash" ,emacs-dash)
2678 ("emacs-org" ,emacs-org)
2679 ("emacs-spark" ,emacs-spark)))
2680 (home-page "https://github.com/dakrone/es-mode")
2681 (synopsis "Major mode for editing Elasticsearch queries")
2682 (description "@code{es-mode} includes highlighting, completion and
2683 indentation support for Elasticsearch queries. Also supported are
2684 @code{es-mode} blocks in @code{org-mode}, for which the results of queries can
2685 be processed through @code{jq}, or in the case of aggregations, can be
2686 rendered in to a table. In addition, there is an @code{es-command-center}
2687 mode, which displays information about Elasticsearch clusters.")
2688 (license license:gpl3+)))
2689
2690 (define-public emacs-expand-region
2691 (package
2692 (name "emacs-expand-region")
2693 (version "0.11.0")
2694 (source
2695 (origin
2696 (method git-fetch)
2697 (uri (git-reference
2698 (url "https://github.com/magnars/expand-region.el.git")
2699 (commit version)))
2700 (file-name (git-file-name name version))
2701 (sha256
2702 (base32 "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"))))
2703 (build-system emacs-build-system)
2704 (home-page "https://github.com/magnars/expand-region.el")
2705 (synopsis "Increase selected region by semantic units")
2706 (description
2707 "Expand region increases the selected region by semantic units. Just
2708 keep pressing the key until it selects what you want. There's also
2709 @code{er/contract-region} if you expand too far.")
2710 (license license:gpl3+)))
2711
2712 (define-public emacs-fill-column-indicator
2713 (package
2714 (name "emacs-fill-column-indicator")
2715 (version "1.90")
2716 (source
2717 (origin
2718 (method git-fetch)
2719 (uri (git-reference
2720 (url "https://github.com/alpaker/Fill-Column-Indicator.git")
2721 (commit version)))
2722 (file-name (git-file-name name version))
2723 (sha256
2724 (base32 "0snjznxdwwfdgccdcvrnk467416r244r2r5qcm2sga8l0ha9gw9z"))))
2725 (build-system emacs-build-system)
2726 (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
2727 (synopsis "Graphically indicate the fill column")
2728 (description
2729 "Fill-column-indicator graphically indicates the location of the fill
2730 column by drawing a thin line down the length of the editing window.")
2731 (license license:gpl3+)))
2732
2733 (define-public emacs-grep-a-lot
2734 (package
2735 (name "emacs-grep-a-lot")
2736 (version "1.0.7")
2737 (source
2738 (origin
2739 (method git-fetch)
2740 (uri (git-reference
2741 (url "https://github.com/ZungBang/emacs-grep-a-lot.git")
2742 (commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
2743 (file-name (git-file-name name version))
2744 (sha256
2745 (base32 "1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
2746 (build-system emacs-build-system)
2747 (home-page "https://github.com/ZungBang/emacs-grep-a-lot")
2748 (synopsis "Enables multiple grep buffers in Emacs")
2749 (description
2750 "This Emacs package allows managing multiple grep buffers.")
2751 (license license:gpl3+)))
2752
2753 (define-public emacs-inf-ruby
2754 (package
2755 (name "emacs-inf-ruby")
2756 (version "2.5.2")
2757 (source
2758 (origin
2759 (method git-fetch)
2760 (uri (git-reference
2761 (url "https://github.com/nonsequitur/inf-ruby.git")
2762 (commit version)))
2763 (file-name (git-file-name name version))
2764 (sha256
2765 (base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
2766 (build-system emacs-build-system)
2767 (home-page "https://github.com/nonsequitur/inf-ruby")
2768 (synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
2769 (description
2770 "@code{inf-ruby} provides a Read Eval Print Loop (REPL) buffer, allowing
2771 for easy interaction with a ruby subprocess. Features include support for
2772 detecting specific uses of Ruby, e.g. when using rails, and using a
2773 appropriate console.")
2774 (license license:gpl3+)))
2775
2776 (define-public emacs-znc
2777 (package
2778 (name "emacs-znc")
2779 (version "0.0.2")
2780 (source
2781 (origin
2782 (method url-fetch)
2783 (uri (string-append "https://marmalade-repo.org/packages/znc-"
2784 version ".el"))
2785 (sha256
2786 (base32
2787 "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh"))))
2788 (build-system emacs-build-system)
2789 (home-page "https://github.com/sshirokov/ZNC.el")
2790 (synopsis "Make ERC and ZNC get along better")
2791 (description
2792 "This is a thin wrapper around @code{erc} that enables one to use the ZNC
2793 IRC bouncer with ERC.")
2794 (license license:expat)))
2795
2796 (define-public emacs-shut-up
2797 (package
2798 (name "emacs-shut-up")
2799 (version "0.3.2")
2800 (source
2801 (origin
2802 (method git-fetch)
2803 (uri (git-reference
2804 (url "https://github.com/cask/shut-up.git")
2805 (commit (string-append "v" version))))
2806 (file-name (git-file-name name version))
2807 (sha256
2808 (base32 "103yvfgkj78i4bnv1fwk76izsa8h4wyj3vwj1vq7xggj607hkxzq"))))
2809 (build-system emacs-build-system)
2810 (home-page "https://github.com/cask/shut-up")
2811 (synopsis "Silence Emacs")
2812 (description "This package silences most output of Emacs when running an
2813 Emacs shell script.")
2814 (license license:expat)))
2815
2816 (define-public emacs-undercover
2817 (package
2818 (name "emacs-undercover")
2819 (version "0.6.1")
2820 (source
2821 (origin
2822 (method git-fetch)
2823 (uri (git-reference
2824 (url "https://github.com/sviridov/undercover.el.git")
2825 (commit version)))
2826 (file-name (git-file-name name version))
2827 (sha256
2828 (base32 "080bmfwyfi8663y8x594770hqz7mff7zvj2v03qdfwbhdr9w9y29"))))
2829 (build-system emacs-build-system)
2830 (propagated-inputs
2831 `(("emacs-dash" ,emacs-dash)
2832 ("emacs-shut-up" ,emacs-shut-up)))
2833 (home-page "https://github.com/sviridov/undercover.el")
2834 (synopsis "Test coverage library for Emacs Lisp")
2835 (description
2836 "Undercover is a test coverage library for software written in Emacs
2837 Lisp.")
2838 (license license:expat)))
2839
2840 (define-public emacs-paren-face
2841 (package
2842 (name "emacs-paren-face")
2843 (version "1.0.5")
2844 (source
2845 (origin
2846 (method git-fetch)
2847 (uri (git-reference
2848 (url "https://github.com/tarsius/paren-face.git")
2849 (commit version)))
2850 (file-name (git-file-name name version))
2851 (sha256
2852 (base32
2853 "04vkg8fhdn8x02dydxbwpizh2yn3sbmn9432v770vbbq6b62k2lx"))))
2854 (build-system emacs-build-system)
2855 (home-page "https://github.com/tarsius/paren-face")
2856 (synopsis "Face for parentheses in lisp modes")
2857 (description
2858 "This library defines a face named @code{parenthesis} used just for
2859 parentheses. The intended purpose of this face is to make parentheses less
2860 visible in Lisp code by dimming them. Lispers probably don't need to be
2861 constantly made aware of the existence of the parentheses. Dimming them might
2862 be even more useful for people new to lisp who have not yet learned to
2863 subconsciously blend out the parentheses.")
2864 (license license:gpl3+)))
2865
2866 (define-public emacs-page-break-lines
2867 (package
2868 (name "emacs-page-break-lines")
2869 (version "0.11")
2870 (source
2871 (origin
2872 (method git-fetch)
2873 (uri (git-reference
2874 (url "https://github.com/purcell/page-break-lines.git")
2875 (commit version)))
2876 (file-name (git-file-name name version))
2877 (sha256
2878 (base32 "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"))))
2879 (build-system emacs-build-system)
2880 (home-page "https://github.com/purcell/page-break-lines")
2881 (synopsis "Display page breaks as tidy horizontal lines")
2882 (description
2883 "This library provides a global mode which displays form feed characters
2884 as horizontal rules.")
2885 (license license:gpl3+)))
2886
2887 (define-public emacs-simple-httpd
2888 (package
2889 (name "emacs-simple-httpd")
2890 (version "1.5.1")
2891 (source
2892 (origin
2893 (method git-fetch)
2894 (uri (git-reference
2895 (url "https://github.com/skeeto/emacs-web-server.git")
2896 (commit version)))
2897 (file-name (git-file-name name version))
2898 (sha256
2899 (base32 "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"))))
2900 (build-system emacs-build-system)
2901 (home-page "https://github.com/skeeto/emacs-web-server")
2902 (synopsis "HTTP server in pure Emacs Lisp")
2903 (description
2904 "This package provides a simple HTTP server written in Emacs Lisp to
2905 serve files and directory listings.")
2906 (license license:unlicense)))
2907
2908 (define-public emacs-skewer-mode
2909 (package
2910 (name "emacs-skewer-mode")
2911 (version "1.8.0")
2912 (source
2913 (origin
2914 (method git-fetch)
2915 (uri (git-reference
2916 (url "https://github.com/skeeto/skewer-mode.git")
2917 (commit version)))
2918 (file-name (git-file-name name version))
2919 (sha256
2920 (base32 "1ha7jl7776pk1bki5zj2q0jy66450mn8xr3aqjc0m9kj3gc9qxgw"))))
2921 (build-system emacs-build-system)
2922 (propagated-inputs
2923 `(("emacs-simple-httpd" ,emacs-simple-httpd)
2924 ("emacs-js2-mode" ,emacs-js2-mode)))
2925 (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$")))
2926 (home-page "https://github.com/skeeto/skewer-mode")
2927 (synopsis "Live web development in Emacs")
2928 (description
2929 "Skewer-mode provides live interaction with JavaScript, CSS, and HTML in
2930 a web browser. Expressions are sent on-the-fly from an editing buffer to be
2931 evaluated in the browser, just like Emacs does with an inferior Lisp process
2932 in Lisp modes.")
2933 (license license:unlicense)))
2934
2935 (define-public emacs-litable
2936 (let ((commit "b0278f3f8dcff424bfbdfdefb545b1fbff33206f"))
2937 (package
2938 (name "emacs-litable")
2939 (version (git-version "0.1" "0" commit))
2940 (source (origin
2941 (method git-fetch)
2942 (uri (git-reference
2943 (url "https://github.com/Fuco1/litable.git")
2944 (commit commit)))
2945 (file-name (git-file-name name version))
2946 (sha256
2947 (base32
2948 "0bny40hv9a024n01clxns351cs4j4ifhgcc7m4743xncqf612p7g"))))
2949 (build-system emacs-build-system)
2950 (propagated-inputs
2951 `(("emacs-dash" ,emacs-dash)))
2952 (home-page "https://github.com/Fuco1/litable/")
2953 (synopsis "Dynamic evaluation replacement with Emacs")
2954 (description "This package provides dynamic evaluation in Emacs.")
2955 (license license:gpl3+))))
2956
2957 (define-public emacs-string-inflection
2958 (package
2959 (name "emacs-string-inflection")
2960 (version "1.0.6")
2961 (source (origin
2962 (method git-fetch)
2963 (uri (git-reference
2964 (url "https://github.com/akicho8/string-inflection")
2965 (commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
2966 (file-name (git-file-name name version))
2967 (sha256
2968 (base32
2969 "1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
2970 (build-system emacs-build-system)
2971 (native-inputs
2972 `(("ert-runner" ,emacs-ert-runner)))
2973 (arguments
2974 `(#:tests? #t
2975 #:test-command '("ert-runner")))
2976 (home-page "https://github.com/akicho8/string-inflection")
2977 (synopsis "Convert symbol names between different naming conventions")
2978 (description
2979 "This Emacs package provides convenient methods for manipulating the
2980 naming style of a symbol. It supports different naming conventions such as:
2981
2982 @enumerate
2983 @item camel case
2984 @item Pascal case
2985 @item all upper case
2986 @item lower case separated by underscore
2987 @item etc...
2988 @end enumerate\n")
2989 (license license:gpl2+)))
2990
2991 (define-public emacs-stripe-buffer
2992 (package
2993 (name "emacs-stripe-buffer")
2994 (version "0.2.5")
2995 (source
2996 (origin
2997 (method git-fetch)
2998 (uri (git-reference
2999 (url "https://github.com/sabof/stripe-buffer.git")
3000 (commit version)))
3001 (file-name (git-file-name name version))
3002 (sha256
3003 (base32 "035ym1c1vzg6hjsnd258z4dkrfc11lj4c0y4gpgybhk54dq3w9dk"))))
3004 (build-system emacs-build-system)
3005 (home-page "https://github.com/sabof/stripe-buffer/")
3006 (synopsis "Add stripes to list buffers")
3007 (description
3008 "This Emacs package adds faces to add stripes to list buffers and org
3009 tables.")
3010 (license license:gpl2+)))
3011
3012 (define-public emacs-org-rich-yank
3013 (package
3014 (name "emacs-org-rich-yank")
3015 (version "0.2.1")
3016 (source
3017 (origin
3018 (method git-fetch)
3019 (uri (git-reference
3020 (url "https://github.com/unhammer/org-rich-yank.git")
3021 (commit (string-append "v" version))))
3022 (file-name (git-file-name name version))
3023 (sha256
3024 (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
3025 (build-system emacs-build-system)
3026 (home-page "https://github.com/unhammer/org-rich-yank")
3027 (synopsis "Automatically surround source code pasted into Org with
3028 @code{#+BEGIN_SRC} blocks")
3029 (description
3030 "This package provides a utility function for Org buffers that makes a
3031 @code{_SRC} block with the appropriate language annotation for code that has
3032 been copied from an Emacs major mode.")
3033 (license license:gpl2+)))
3034
3035 (define-public emacs-ob-restclient
3036 (let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
3037 (package
3038 (name "emacs-ob-restclient")
3039 (version (git-version "0.02" "1" commit))
3040 (source
3041 (origin
3042 (method git-fetch)
3043 (uri (git-reference
3044 (url "https://github.com/alf/ob-restclient.el.git")
3045 (commit commit)))
3046 (file-name (git-file-name name version))
3047 (sha256
3048 (base32 "1djg53cp7y83gic2v71y6r5z76kwrbkp0r69hl25rs99dx6p89dy"))))
3049 (propagated-inputs
3050 `(("emacs-restclient" ,emacs-restclient)))
3051 (build-system emacs-build-system)
3052 (home-page "https://github.com/alf/ob-restclient.el")
3053 (synopsis "Org-babel functionality for @code{restclient-mode}")
3054 (description
3055 "This package integrates @code{restclient-mode} with Org.")
3056 (license license:gpl3+))))
3057
3058 (define-public emacs-org-now
3059 (let ((commit "8f6b277a73f1c66e58ccb4b7f40d406851befc91"))
3060 (package
3061 (name "emacs-org-now")
3062 (version (git-version "0.1-pre" "1" commit))
3063 (source
3064 (origin
3065 (method git-fetch)
3066 (uri (git-reference
3067 (url "https://github.com/alphapapa/org-now.git")
3068 (commit commit)))
3069 (file-name (git-file-name name version))
3070 (sha256
3071 (base32 "117zzkryznznk6h4i1jqzdn888nl019xrgxm2gza0lndx8dxsg2c"))))
3072 (propagated-inputs
3073 `(("emacs-dash" ,emacs-dash)))
3074 (build-system emacs-build-system)
3075 (home-page "https://github.com/alphapapa/org-now")
3076 (synopsis "Show current Org tasks in a sidebar")
3077 (description
3078 "This package provides commands to show Org headings in a sidebar
3079 window while working on them. After defining one heading as the \"now\"
3080 heading, other headings can be refiled to it with one command, and back to
3081 their original location with another.")
3082 (license license:gpl3+))))
3083
3084 (define-public emacs-rich-minority
3085 (package
3086 (name "emacs-rich-minority")
3087 (version "1.0.3")
3088 (source
3089 (origin
3090 (method git-fetch)
3091 (uri (git-reference
3092 (url "https://github.com/Malabarba/rich-minority.git")
3093 (commit version)))
3094 (file-name (git-file-name name version))
3095 (sha256
3096 (base32
3097 "1kn7c9qr9ykj68iqffzzmjsr6aazwac8cxb7j960sjb282rq0yyj"))))
3098 (build-system emacs-build-system)
3099 (home-page "https://github.com/Malabarba/rich-minority")
3100 (synopsis "Clean-up and beautify the list of minor modes")
3101 (description
3102 "This Emacs package hides and/or highlights minor modes in the
3103 mode-line.")
3104 (license license:gpl2+)))
3105
3106 (define-public emacs-robe
3107 (package
3108 (name "emacs-robe")
3109 (version "0.8.2")
3110 (source
3111 (origin
3112 (method git-fetch)
3113 (uri (git-reference
3114 (url "https://github.com/dgutov/robe.git")
3115 (commit version)))
3116 (file-name (git-file-name name version))
3117 (sha256
3118 (base32 "0qw18wi54yg971n4wnjqkd8lqj5lbs9ra8bvmngif2bzhqlfdsbn"))))
3119 (build-system emacs-build-system)
3120 (arguments
3121 '(#:include (cons "^lib\\/" %default-include)))
3122 (propagated-inputs
3123 `(("emacs-inf-ruby" ,emacs-inf-ruby)))
3124 (home-page "https://github.com/dgutov/robe")
3125 (synopsis "Ruby code assistance tool for Emacs")
3126 (description
3127 "Robe can provide information on loaded classes and modules in Ruby code,
3128 as well as where methods are defined. This allows the user to jump to method
3129 definitions, modules and classes, display method documentation and provide
3130 method and constant name completion.")
3131 (license license:gpl3+)))
3132
3133 (define-public emacs-robot-mode
3134 (let ((commit "32846e7e80ae3471b7c07f9709dcaa4f9b9ed4a0")
3135 (revision "1"))
3136 (package
3137 (name "emacs-robot-mode")
3138 (version (git-version "0.0.0" revision commit))
3139 (source (origin
3140 (method git-fetch)
3141 (uri (git-reference
3142 ;; A better maintained fork of robot-mode.
3143 (url "https://github.com/jvalkeejarvi/robot-mode.git")
3144 (commit commit)))
3145 (file-name (git-file-name name version))
3146 (sha256
3147 (base32
3148 "1i8wf7m0gml8zvvmlgppjzv78b432686p1qdbzgclc7qfcvzag0d"))))
3149 (build-system emacs-build-system)
3150 (propagated-inputs `(("emacs-s" ,emacs-s)))
3151 (home-page "https://github.com/jvalkeejarvi/robot-mode")
3152 (synopsis "Emacs mode for Robot Framework")
3153 (description "This major mode facilitates editing Robot Framework source
3154 files with features such as syntax highlighting, comments, finding keywords,
3155 completing keywords and smart indentation.")
3156 (license license:gpl3+))))
3157
3158 (define-public emacs-rspec
3159 (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20")
3160 (revision "1"))
3161 (package
3162 (name "emacs-rspec")
3163 (version (git-version "1.11" revision commit))
3164 (source
3165 (origin
3166 (method git-fetch)
3167 (uri (git-reference
3168 (url "https://github.com/pezra/rspec-mode.git")
3169 (commit commit)))
3170 (file-name (git-file-name name version))
3171 (sha256
3172 (base32 "0b11s8r0pi7ah54km4yg4fqff8wkk409d25qnlwm1l94pdwjd1c8"))))
3173 (build-system emacs-build-system)
3174 (arguments
3175 `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
3176 #:tests? #t
3177 #:test-command '("make" "test")))
3178 (home-page "https://github.com/pezra/rspec-mode")
3179 (synopsis "Provides a rspec mode for working with RSpec")
3180 (description
3181 "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
3182 verify the spec associated with the current buffer, or entire project, as well
3183 as moving between the spec files, and corresponding code files.
3184
3185 Also included are keybindings for spec files and Dired buffers, as well as
3186 snippets for yasnippet.")
3187 (license license:gpl3+))))
3188
3189 (define-public emacs-smart-mode-line
3190 (package
3191 (name "emacs-smart-mode-line")
3192 (version "2.13")
3193 (source
3194 (origin
3195 (method git-fetch)
3196 (uri (git-reference
3197 (url "https://github.com/Malabarba/smart-mode-line.git")
3198 (commit version)))
3199 (file-name (git-file-name name version))
3200 (sha256
3201 (base32 "164b697xm1rwcggv37dymhf3npbyh2bs59z8b6m5x35lb4c3lf8b"))))
3202 (build-system emacs-build-system)
3203 (propagated-inputs
3204 `(("emacs-rich-minority" ,emacs-rich-minority)))
3205 (home-page "https://github.com/Malabarba/smart-mode-line")
3206 (synopsis "Color-coded smart mode-line")
3207 (description
3208 "Smart Mode Line is a mode-line theme for Emacs. It aims to be easy to
3209 read from small to large monitors by using colors, a prefix feature, and smart
3210 truncation.")
3211 (license license:gpl2+)))
3212
3213 (define-public emacs-sr-speedbar
3214 (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
3215 (revision "0"))
3216 (package
3217 (name "emacs-sr-speedbar")
3218 (version (git-version "20161025" revision commit))
3219 (source
3220 (origin
3221 (method git-fetch)
3222 (uri (git-reference
3223 (url "https://github.com/emacsorphanage/sr-speedbar.git")
3224 (commit commit)))
3225 (file-name (git-file-name name version))
3226 (sha256
3227 (base32
3228 "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153"))))
3229 (build-system emacs-build-system)
3230 (home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
3231 (synopsis "Same frame Emacs @code{speedbar}")
3232 (description
3233 "This Emacs package allows you to show @code{M-x speedbar} in the
3234 same frame (in an extra window). You can customize the initial width of
3235 the speedbar window.")
3236 (license license:gpl3+))))
3237
3238 (define-public emacs-shell-switcher
3239 (package
3240 (name "emacs-shell-switcher")
3241 (version "1.0.1")
3242 (source
3243 (origin
3244 (method git-fetch)
3245 (uri (git-reference
3246 (url "https://github.com/DamienCassou/shell-switcher.git")
3247 (commit (string-append "v" version))))
3248 (file-name (git-file-name name version))
3249 (sha256
3250 (base32 "0ia7sdip4hl27avckv3qpqgm3k4ynvp3xxq1cy53bqfzzx0gcria"))))
3251 (build-system emacs-build-system)
3252 (home-page "https://github.com/DamienCassou/shell-switcher")
3253 (synopsis "Provide fast switching between shell buffers")
3254 (description
3255 "This package provides commands to quickly switch between shell buffers.")
3256 (license license:gpl3+)))
3257
3258 (define-public emacs-names
3259 (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
3260 (version "20151201.0")
3261 (revision "8"))
3262 (package
3263 (name "emacs-names")
3264 (version (git-version version revision commit))
3265 (source
3266 (origin
3267 (method git-fetch)
3268 (uri (git-reference
3269 (url "https://github.com/Malabarba/names")
3270 (commit commit)))
3271 (file-name (git-file-name name version))
3272 (sha256
3273 (base32
3274 "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
3275 (build-system emacs-build-system)
3276 (home-page "https://github.com/Malabarba/names/")
3277 (synopsis "Namespace implementation for Emacs Lisp")
3278 (description
3279 "This package provides a macro that writes your namespaces for you.")
3280 (license license:gpl3+))))
3281
3282 (define-public emacs-evil-textobj-syntax
3283 (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
3284 (version "0")
3285 (revision "1"))
3286 (package
3287 (name "emacs-evil-textobj-syntax")
3288 (version (git-version version revision commit))
3289 (source
3290 (origin
3291 (method git-fetch)
3292 (uri (git-reference
3293 (url "https://github.com/laishulu/evil-textobj-syntax/")
3294 (commit commit)))
3295 (file-name (git-file-name name version))
3296 (sha256
3297 (base32
3298 "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
3299 (build-system emacs-build-system)
3300 (propagated-inputs `(("emacs-evil" ,emacs-evil)
3301 ("emacs-names" ,emacs-names)))
3302 (home-page "https://github.com/laishulu/evil-textobj-syntax/")
3303 (synopsis "Text objects based on syntax highlighting")
3304 (description
3305 "This package provides text objects for @code{evil-mode} with
3306 boundaries defined by syntax highlighting.")
3307 (license license:gpl3+))))
3308
3309 (define-public emacs-flycheck-flow
3310 (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
3311 (version "1.1")
3312 (revision "1"))
3313 (package
3314 (name "emacs-flycheck-flow")
3315 (version (git-version version revision commit))
3316 (source
3317 (origin
3318 (method git-fetch)
3319 (uri (git-reference
3320 (url "https://github.com/lbolla/emacs-flycheck-flow")
3321 (commit commit)))
3322 (file-name (git-file-name name version))
3323 (sha256
3324 (base32
3325 "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
3326 (build-system emacs-build-system)
3327 (propagated-inputs
3328 `(("emacs-flycheck" ,emacs-flycheck)))
3329 (home-page "https://github.com/lbolla/emacs-flycheck-flow")
3330 (synopsis "Flow support for @code{flycheck-mode}")
3331 (description
3332 "This package allows @code{flycheck-mode} to provide syntax-checking
3333 for Flow files.")
3334 (license license:gpl3+))))
3335
3336 (define-public emacs-flycheck-grammalecte
3337 (package
3338 (name "emacs-flycheck-grammalecte")
3339 (version "0.9")
3340 (source (origin
3341 (method url-fetch)
3342 (uri (string-append "https://git.deparis.io/"
3343 "flycheck-grammalecte/snapshot/"
3344 "flycheck-grammalecte-" version ".tar.xz"))
3345 (sha256
3346 (base32
3347 "0wjm9xyra870pci4bcrbnc9x66x18mi7iz08rkxa4clxv28xzryb"))))
3348 (build-system emacs-build-system)
3349 (arguments
3350 `(#:include '("\\.(el|py)$")
3351 #:phases
3352 (modify-phases %standard-phases
3353 (add-after 'unpack 'fix-python
3354 ;; Hardcode python3 executable in the Emacs library.
3355 (lambda* (#:key inputs #:allow-other-keys)
3356 (let ((python3 (string-append (assoc-ref inputs "python")
3357 "/bin/python3")))
3358 (substitute* "flycheck-grammalecte.el"
3359 (("python3") python3))
3360 #t)))
3361 (add-after 'install 'link-to-grammalecte
3362 ;; The package expects grammalecte to be in a sub-directory.
3363 ;; Symlink it there from the store.
3364 (lambda* (#:key inputs outputs #:allow-other-keys)
3365 (let ((grammalecte (assoc-ref inputs "grammalecte"))
3366 (out (assoc-ref outputs "out"))
3367 (version ,(version-major+minor (package-version python))))
3368 (with-directory-excursion
3369 (string-append out
3370 "/share/emacs/site-lisp/guix.d/"
3371 "flycheck-grammalecte-" ,version)
3372 (symlink (string-append grammalecte "/lib/"
3373 "python" version "/site-packages/"
3374 "grammalecte")
3375 "grammalecte"))
3376 #t))))))
3377 (inputs
3378 `(("grammalecte" ,grammalecte)
3379 ("python" ,python)))
3380 (propagated-inputs
3381 `(("emacs-flycheck" ,emacs-flycheck)))
3382 (home-page "https://git.deparis.io/flycheck-grammalecte/")
3383 (synopsis "Integrate Grammalecte with Flycheck")
3384 (description "Integrate the French grammar and typography checker
3385 Grammalecte with Flycheck to automatically look for mistakes in your writings.
3386 It also provides an easy way to find synonyms and antonyms for a given
3387 word (to avoid repetitions for example).")
3388 (license license:gpl3+)))
3389
3390 (define-public emacs-elisp-demos
3391 (package
3392 (name "emacs-elisp-demos")
3393 (version "2019.12.01")
3394 (source
3395 (origin
3396 (method git-fetch)
3397 (uri (git-reference
3398 (url "https://github.com/xuchunyang/elisp-demos")
3399 (commit version)))
3400 (file-name (git-file-name name version))
3401 (sha256
3402 (base32
3403 "097d8xhvq0770z96wlhiv4gz98cq89pwx5fa42zpfh4p85qj4q9z"))))
3404 (build-system emacs-build-system)
3405 (arguments
3406 `(#:include '("\\.el$" "\\.org$")
3407 #:tests? #t
3408 #:test-command '("make" "test")))
3409 (home-page "https://github.com/xuchunyang/elisp-demos/")
3410 (synopsis "Enhance @code{*Help*} buffers with additional examples")
3411 (description
3412 "This package injects example uses of Elisp functions into their
3413 respective @code{*Help*} buffers.")
3414 (license license:gpl3+)))
3415
3416 (define-public emacs-docker-compose-mode
3417 (package
3418 (name "emacs-docker-compose-mode")
3419 (version "1.1.0")
3420 (source
3421 (origin
3422 (method git-fetch)
3423 (uri (git-reference
3424 (url "https://github.com/meqif/docker-compose-mode")
3425 (commit version)))
3426 (file-name (git-file-name name version))
3427 (sha256
3428 (base32
3429 "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
3430 (build-system emacs-build-system)
3431 (propagated-inputs
3432 `(("emacs-dash" ,emacs-dash)
3433 ("emacs-f" ,emacs-f)))
3434 (home-page "https://github.com/meqif/docker-compose-mode/")
3435 (synopsis "Major mode for editing @file{docker-compose} files")
3436 (description
3437 "This is a major mode for @file{docker-compose} files that provides
3438 completion of relevant keywords.")
3439 (license license:expat)))
3440
3441 (define-public emacs-sudo-edit
3442 (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
3443 (revision "6"))
3444 (package
3445 (name "emacs-sudo-edit")
3446 (version (git-version "0.1.0" revision commit))
3447 (source
3448 (origin
3449 (method git-fetch)
3450 (uri (git-reference
3451 (url "https://github.com/nflath/sudo-edit")
3452 (commit commit)))
3453 (file-name (git-file-name name version))
3454 (sha256
3455 (base32
3456 "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
3457 (build-system emacs-build-system)
3458 (native-inputs
3459 `(("emacs-undercover" ,emacs-undercover)))
3460 (arguments
3461 `(#:phases
3462 (modify-phases %standard-phases
3463 (add-before 'check 'fix-makefile
3464 (lambda _
3465 (substitute* "Makefile"
3466 (("\\$\\(CASK\\) exec ") ""))
3467 #t)))
3468 #:tests? #t
3469 #:test-command '("make" "test")))
3470 (home-page "https://github.com/nflath/sudo-edit/")
3471 (synopsis "Open files as another user")
3472 (description
3473 "This package allows editing files as another user, including the root
3474 user.")
3475 (license license:gpl3+))))
3476
3477 (define-public emacs-miniedit
3478 (package
3479 (name "emacs-miniedit")
3480 (version "2.0")
3481 (source
3482 (origin
3483 (method git-fetch)
3484 (uri (git-reference
3485 (url "https://github.com/emacsmirror/miniedit")
3486 (commit version)))
3487 (file-name (git-file-name name version))
3488 (sha256
3489 (base32
3490 "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
3491 (build-system emacs-build-system)
3492 (home-page "https://github.com/emacsmirror/miniedit/")
3493 (synopsis "Enhanced editing for minibuffer fields")
3494 (description
3495 "This package provides a function that can be called from the
3496 minibuffer to enable editing the minibuffer input in another buffer with
3497 @code{text-mode} enabled.")
3498 (license license:gpl2+)))
3499
3500 (define-public emacs-ob-ipython
3501 (package
3502 (name "emacs-ob-ipython")
3503 (version "20180224")
3504 (source (origin
3505 (method git-fetch)
3506 (uri (git-reference
3507 (commit "7147455230841744fb5b95dcbe03320313a77124")
3508 (url "https://github.com/gregsexton/ob-ipython.git")))
3509 (file-name (git-file-name name version))
3510 (sha256
3511 (base32
3512 "1a10fc2jk37ni5sjjvf87s5nyaz2a6h2mlj5dxh4dhv5sd3bb85p"))))
3513 (build-system emacs-build-system)
3514 (propagated-inputs
3515 `(("emacs-f" ,emacs-f)))
3516 (home-page "http://www.gregsexton.org")
3517 (synopsis "Org-Babel functions for IPython evaluation")
3518 (description "This package adds support to Org-Babel for evaluating Python
3519 source code using IPython.")
3520 (license license:gpl3+)))
3521
3522 (define-public emacs-debbugs
3523 (package
3524 (name "emacs-debbugs")
3525 (version "0.21")
3526 (source (origin
3527 (method url-fetch)
3528 (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
3529 version ".tar"))
3530 (sha256
3531 (base32
3532 "1xx1wjfpsnwx2fpydqhwy9k1b5kjk8dqbkzf8lqaj9c4rvjbn50a"))))
3533 (build-system emacs-build-system)
3534 (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
3535 (propagated-inputs
3536 `(("emacs-async" ,emacs-async)))
3537 (home-page "https://elpa.gnu.org/packages/debbugs.html")
3538 (synopsis "Access the Debbugs bug tracker in Emacs")
3539 (description
3540 "This package lets you access the @uref{http://bugs.gnu.org,GNU Bug
3541 Tracker} from within Emacs.
3542
3543 For instance, it defines the command @code{M-x debbugs-gnu} for listing bugs,
3544 and the command @code{M-x debbugs-gnu-search} for bug searching. If you
3545 prefer the listing of bugs as TODO items of @code{org-mode}, you could use
3546 @code{M-x debbugs-org} and related commands.
3547
3548 A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
3549 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
3550 (license license:gpl3+)))
3551
3552 (define-public emacs-ert-expectations
3553 (package
3554 (name "emacs-ert-expectations")
3555 (version "0.2")
3556 (source
3557 (origin
3558 (method url-fetch)
3559 (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
3560 (sha256
3561 (base32
3562 "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
3563 (build-system emacs-build-system)
3564 (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
3565 (synopsis "Simple unit test framework for Emacs Lisp")
3566 (description "@code{emacs-ert-expectations} is a simple unit test
3567 framework for Emacs Lisp to be used with @code{ert}.")
3568 (license license:gpl3+)))
3569
3570 (define-public emacs-deferred
3571 (package
3572 (name "emacs-deferred")
3573 (version "0.5.1")
3574 (home-page "https://github.com/kiwanami/emacs-deferred")
3575 (source (origin
3576 (method git-fetch)
3577 (uri (git-reference
3578 (url home-page)
3579 (commit (string-append "v" version))))
3580 (file-name (git-file-name name version))
3581 (sha256
3582 (base32
3583 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
3584 (build-system emacs-build-system)
3585 (arguments
3586 `(#:phases
3587 (modify-phases %standard-phases
3588 (add-after 'unpack 'set-shell
3589 ;; Setting the SHELL environment variable is required for the tests
3590 ;; to find sh.
3591 (lambda _
3592 (setenv "SHELL" (which "sh"))
3593 #t))
3594 (add-before 'check 'fix-makefile
3595 (lambda _
3596 (substitute* "Makefile"
3597 (("\\$\\(CASK\\) exec ") ""))
3598 #t)))
3599 #:tests? #t
3600 #:test-command '("make" "test")))
3601 (native-inputs
3602 `(("emacs-ert-expectations" ,emacs-ert-expectations)
3603 ("emacs-undercover" ,emacs-undercover)
3604 ("ert-runner" ,emacs-ert-runner)))
3605 (synopsis "Simple asynchronous functions for Emacs Lisp")
3606 (description
3607 "The @code{deferred.el} library provides support for asynchronous tasks.
3608 The API is almost the same as that of
3609 @uref{https://github.com/cho45/jsdeferred, JSDeferred}, a JavaScript library
3610 for asynchronous tasks.")
3611 (license license:gpl3+)))
3612
3613 (define-public emacs-butler
3614 (package
3615 (name "emacs-butler")
3616 (version "0.2.4")
3617 (home-page "https://github.com/AshtonKem/Butler")
3618 (source (origin
3619 (method git-fetch)
3620 (uri (git-reference
3621 (url home-page)
3622 (commit version)))
3623 (file-name (git-file-name name version))
3624 (sha256
3625 (base32
3626 "1pii9dw4skq7nr4na6qxqasl36av8cwjp71bf1fgppqpcd9z8skj"))))
3627 (build-system emacs-build-system)
3628 (propagated-inputs
3629 `(("emacs-deferred" ,emacs-deferred)))
3630 (synopsis "Emacs client for Jenkins")
3631 (description
3632 "Butler provides an interface to connect to Jenkins continuous
3633 integration servers. Users can specify a list of server in the
3634 @code{butler-server-list} variable and then use @code{M-x butler-status} to
3635 view the build status of those servers' build jobs, and possibly to trigger
3636 build jobs.")
3637 (license license:gpl3+)))
3638
3639 (define-public emacs-company
3640 (package
3641 (name "emacs-company")
3642 (version "0.9.10")
3643 (source
3644 (origin
3645 (method git-fetch)
3646 (uri (git-reference
3647 (url "https://github.com/company-mode/company-mode.git")
3648 (commit version)))
3649 (file-name (git-file-name name version))
3650 (sha256
3651 (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
3652 (build-system emacs-build-system)
3653 (arguments
3654 `(#:phases
3655 (modify-phases %standard-phases
3656 (add-before 'check 'fix-bin-dir
3657 (lambda _
3658 ;; The company-files-candidates-normal-root test looks
3659 ;; for the /bin directory, but the build environment has
3660 ;; no /bin directory. Modify the test to look for the
3661 ;; /tmp directory.
3662 (substitute* "test/files-tests.el"
3663 (("/bin/") "/tmp/"))
3664 #t)))
3665 #:tests? #t
3666 #:test-command '("make" "test-batch")))
3667 (home-page "http://company-mode.github.io/")
3668 (synopsis "Modular text completion framework")
3669 (description
3670 "Company is a modular completion mechanism. Modules for retrieving
3671 completion candidates are called back-ends, modules for displaying them are
3672 front-ends. Company comes with many back-ends, e.g. @code{company-elisp}.
3673 These are distributed in separate files and can be used individually.")
3674 (license license:gpl3+)))
3675
3676 (define-public emacs-irony-mode
3677 (package
3678 (name "emacs-irony-mode")
3679 (version "1.4.0")
3680 (home-page "https://github.com/Sarcasm/irony-mode")
3681 (source (origin
3682 (method git-fetch)
3683 (uri (git-reference
3684 (url (string-append home-page ".git"))
3685 (commit (string-append "v" version))))
3686 (file-name (git-file-name name version))
3687 (sha256
3688 (base32
3689 "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"))))
3690 (build-system emacs-build-system)
3691 (inputs `(("server" ,emacs-irony-mode-server)))
3692 (arguments `(#:phases
3693 (modify-phases %standard-phases
3694 (add-after 'unpack 'configure
3695 (lambda* (#:key inputs #:allow-other-keys)
3696 (chmod "irony.el" #o644)
3697 (emacs-substitute-variables "irony.el"
3698 ("irony-server-install-prefix"
3699 (assoc-ref inputs "server")))
3700 #t)))))
3701 (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
3702 (description "Irony-mode provides Clang-assisted syntax checking and
3703 completion for C, C++, and ObjC in GNU Emacs. Using @code{libclang} it can
3704 provide syntax checking and autocompletion on compiler level which is very
3705 resistant against false positives. It also integrates well with other
3706 packages like @code{eldoc-mode} and especially @code{company-mode} as
3707 described on the homepage.")
3708 (license license:gpl3+)))
3709
3710 (define-public emacs-irony-mode-server
3711 (package (inherit emacs-irony-mode)
3712 (name "emacs-irony-mode-server")
3713 (inputs
3714 `(("clang" ,clang)))
3715 (arguments
3716 `(#:phases
3717 (modify-phases %standard-phases
3718 (replace 'configure
3719 (lambda* (#:key outputs #:allow-other-keys)
3720 (let ((out (assoc-ref outputs "out")))
3721 (invoke "cmake"
3722 "server"
3723 (string-append "-DCMAKE_INSTALL_PREFIX=" out)) #t))))))
3724 (build-system cmake-build-system)
3725 (synopsis "Server for the Emacs @dfn{irony mode}")))
3726
3727 (define-public emacs-company-irony
3728 (package
3729 (name "emacs-company-irony")
3730 (version "1.1.0")
3731 (source (origin
3732 (method git-fetch)
3733 (uri (git-reference
3734 (url "https://github.com/Sarcasm/company-irony.git")
3735 (commit (string-append "v" version))))
3736 (sha256 (base32
3737 "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
3738 (file-name (git-file-name name version))))
3739 (build-system emacs-build-system)
3740 (inputs
3741 `(("emacs-irony-mode" ,emacs-irony-mode)
3742 ("emacs-company" ,emacs-company)))
3743 (synopsis "C++ completion backend for Company using irony-mode")
3744 (description "This backend for company-mode allows for C++ code completion
3745 with irony-mode using clang-tooling.")
3746 (home-page "https://github.com/Sarcasm/company-irony")
3747 (license license:gpl3+)))
3748
3749 (define-public emacs-flycheck-irony
3750 (package
3751 (name "emacs-flycheck-irony")
3752 (version "0.1.0")
3753 (source (origin
3754 (method git-fetch)
3755 (uri (git-reference
3756 (url "https://github.com/Sarcasm/flycheck-irony.git")
3757 (commit (string-append "v" version))))
3758 (file-name (git-file-name name version))
3759 (sha256
3760 (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))))
3761 (build-system emacs-build-system)
3762 (inputs
3763 `(("irony-mode" ,emacs-irony-mode)
3764 ("flycheck-mode" ,emacs-flycheck)
3765 ("emacs-company" ,emacs-company)))
3766 (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
3767 (description "This package provides a frontend for Flycheck that lets
3768 irony-mode do the syntax checking.")
3769 (home-page "https://github.com/Sarcasm/flycheck-irony")
3770 (license license:gpl3+)))
3771
3772 (define-public emacs-irony-eldoc
3773 (package
3774 (name "emacs-irony-eldoc")
3775 (version (package-version emacs-irony-mode))
3776 (source
3777 (origin
3778 (method git-fetch)
3779 (uri (git-reference
3780 (url "https://github.com/ikirill/irony-eldoc.git")
3781 (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
3782 (file-name (git-file-name name version))
3783 (sha256
3784 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))))
3785 (build-system emacs-build-system)
3786 (inputs
3787 `(("irony-mode" ,emacs-irony-mode)))
3788 (synopsis "Eldoc integration for irony-mode")
3789 (description "Irony-eldoc is an eldoc extension that shows documentation
3790 for the current function or variable in the minibuffer.")
3791 (home-page "https://github.com/ikirill/irony-eldoc")
3792 (license license:gpl3+)))
3793
3794 (define-public emacs-company-quickhelp
3795 ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason,
3796 ;; so we use the latest 2.2.0 commit instead
3797 (let ((commit "479676cade80a9f03802ca3d956591820ed5c537")
3798 (revision "1"))
3799 (package
3800 (name "emacs-company-quickhelp")
3801 (version (git-version "2.2.0" revision commit))
3802 (source
3803 (origin
3804 (method git-fetch)
3805 (uri (git-reference
3806 (url "https://github.com/expez/company-quickhelp.git")
3807 (commit commit)))
3808 (file-name (git-file-name name version))
3809 (sha256
3810 (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp"))))
3811 (build-system emacs-build-system)
3812 (propagated-inputs
3813 `(("emacs-pos-tip" ,emacs-pos-tip)
3814 ("emacs-company" ,emacs-company)))
3815 (home-page "https://github.com/expez/company-quickhelp")
3816 (synopsis "Popup documentation for completion candidates")
3817 (description "@code{company-quickhelp} shows documentation for the
3818 completion candidate when using the Company text completion framework.")
3819 (license license:gpl3+))))
3820
3821 (define-public emacs-math-symbol-lists
3822 (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb")
3823 (revision "1"))
3824 (package
3825 (name "emacs-math-symbol-lists")
3826 (version (git-version "1.2.1" revision commit))
3827 (source
3828 (origin
3829 (method git-fetch)
3830 (uri (git-reference
3831 (url "https://github.com/vspinu/math-symbol-lists.git")
3832 (commit commit)))
3833 (file-name (git-file-name name version))
3834 (sha256
3835 (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm"))))
3836 (build-system emacs-build-system)
3837 (home-page "https://github.com/vspinu/math-symbol-lists")
3838 (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands")
3839 (description "This is a storage package used by completion engines like
3840 @code{company-math}.")
3841 (license license:gpl3+))))
3842
3843 (define-public emacs-company-math
3844 (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9")
3845 (revision "1"))
3846 (package
3847 (name "emacs-company-math")
3848 (version (git-version "1.3" revision commit))
3849 (source
3850 (origin
3851 (method git-fetch)
3852 (uri (git-reference
3853 (url "https://github.com/vspinu/company-math.git")
3854 (commit commit)))
3855 (file-name (git-file-name name version))
3856 (sha256
3857 (base32
3858 "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh"))))
3859 (build-system emacs-build-system)
3860 (propagated-inputs
3861 `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists)
3862 ("emacs-company" ,emacs-company)))
3863 (home-page "https://github.com/vspinu/company-math")
3864 (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags")
3865 (description "This package provides a backend for use with
3866 @code{company-mode} allowing for completion of common math symbols.")
3867 (license license:gpl3+))))
3868
3869 (define-public emacs-compdef
3870 (let ((commit "67104a38763cc819644f711248b170a43bce151b")
3871 (revision "2"))
3872 (package
3873 (name "emacs-compdef")
3874 (version (git-version "0.2" revision commit))
3875 (source
3876 (origin
3877 (method git-fetch)
3878 (uri (git-reference
3879 (url "https://gitlab.com/jjzmajic/compdef.git")
3880 (commit commit)))
3881 (file-name (git-file-name name version))
3882 (sha256
3883 (base32 "1f6y6cr67gps9jp5hd20xszfd3k26v70g6z4g5db6wdkvlnc2wkg"))))
3884 (build-system emacs-build-system)
3885 (home-page "https://gitlab.com/jjzmajic/compdef")
3886 (synopsis "Set local completion backends")
3887 (description "This package provides a function to cleanly set local
3888 completion backends according to mode, and integrates with
3889 @code{use-package}.")
3890 (license license:gpl3+))))
3891
3892 (define-public emacs-handle
3893 (let ((commit "51c050bc1c6e5caf0eb47ecd985daea1db7241ab")
3894 (revision "2"))
3895 (package
3896 (name "emacs-handle")
3897 (version (git-version "0.1" revision commit))
3898 (source
3899 (origin
3900 (method git-fetch)
3901 (uri (git-reference
3902 (url "https://gitlab.com/jjzmajic/handle.git")
3903 (commit commit)))
3904 (file-name (git-file-name name version))
3905 (sha256
3906 (base32 "14f15qzfmwdslml4rv37zb5d1lsjf0jibriz636hb7q7knx1n4sg"))))
3907 (build-system emacs-build-system)
3908 (propagated-inputs
3909 `(("emacs-parent-mode" ,emacs-parent-mode)))
3910 (home-page "https://gitlab.com/jjzmajic/handle")
3911 (synopsis "Handle generic functions across related major modes")
3912 (description "This package provides generic functions that specialize on
3913 major modes and intended purpose rather than on arguments. Different
3914 callables for tasks like expression evaluation, definition-jumping, and more
3915 can now be grouped accordingly and tried in sequence until one of them
3916 succeeds.")
3917 (license license:gpl3+))))
3918
3919 (define-public emacs-nswbuff
3920 (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc")
3921 (revision "1"))
3922 (package
3923 (name "emacs-nswbuff")
3924 (version (git-version "1.0" revision commit))
3925 (source
3926 (origin
3927 (method git-fetch)
3928 (uri (git-reference
3929 (url "https://github.com/joostkremers/nswbuff.git")
3930 (commit commit)))
3931 (file-name (git-file-name name version))
3932 (sha256
3933 (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"))))
3934 (build-system emacs-build-system)
3935 (home-page "https://github.com/joostkremers/nswbuff")
3936 (synopsis "Quickly switch between buffers")
3937 (description "This package allows for navigating between buffers within
3938 a customizable list.")
3939 (license license:gpl3+))))
3940
3941 (define-public emacs-phi-search
3942 (let ((commit "9a089b8271cb1cff9640848850298c9ec855286c")
3943 (revision "1"))
3944 (package
3945 (name "emacs-phi-search")
3946 (version (git-version "20160630" revision commit))
3947 (source
3948 (origin
3949 (method git-fetch)
3950 (uri (git-reference
3951 (url "https://github.com/zk-phi/phi-search.git")
3952 (commit commit)))
3953 (file-name (git-file-name name version))
3954 (sha256
3955 (base32 "1gr5plcbrfdc4pglfj905s89hf8x0kc083h30wcnd81bnw9jwz1x"))))
3956 (build-system emacs-build-system)
3957 (home-page "https://github.com/zk-phi/phi-search")
3958 (synopsis "Interactive search compatible with @code{multiple-cursors}")
3959 (description "This package can be used with @code{multiple-cursors} to
3960 provide an incremental search that moves all fake cursors in sync.")
3961 (license license:gpl2+))))
3962
3963 (define-public emacs-phi-search-mc
3964 (let ((commit "7aa671910f766437089aec26c3aa7814222d1356")
3965 (revision "1"))
3966 (package
3967 (name "emacs-phi-search-mc")
3968 (version (git-version "2.2.1" revision commit))
3969 (source
3970 (origin
3971 (method git-fetch)
3972 (uri (git-reference
3973 (url "https://github.com/knu/phi-search-mc.el.git")
3974 (commit commit)))
3975 (file-name (git-file-name name version))
3976 (sha256
3977 (base32 "0wr86ad0yl52im6b9z0b9pzmhcn39qg5m9878yfv1nbxliw40lcd"))))
3978 (build-system emacs-build-system)
3979 (propagated-inputs
3980 `(("emacs-phi-search" ,emacs-phi-search)
3981 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
3982 (home-page "https://github.com/knu/phi-search-mc.el")
3983 (synopsis "Extend @code{phi-search} with additional
3984 @code{multiple-cursors} functionality")
3985 (description "This package provides further integration between
3986 @code{multiple-cursors} and @code{phi-search}, a package that allows for
3987 interactive searches to move multiple fake cursors.")
3988 (license license:bsd-2))))
3989
3990 (define-public emacs-multiple-cursors
3991 (package
3992 (name "emacs-multiple-cursors")
3993 (version "1.4.0")
3994 (source
3995 (origin
3996 (method git-fetch)
3997 (uri (git-reference
3998 (url "https://github.com/magnars/multiple-cursors.el.git")
3999 (commit version)))
4000 (file-name (git-file-name name version))
4001 (sha256
4002 (base32 "1ijgvzv5r44xqvz751fd5drbvrspapw6xwv47582w255j363r6ss"))))
4003 (build-system emacs-build-system)
4004 (home-page "https://github.com/magnars/multiple-cursors.el")
4005 (synopsis "Multiple cursors for Emacs")
4006 (description
4007 "This package adds support to Emacs for editing text with multiple
4008 simultaneous cursors.")
4009 (license license:gpl3+)))
4010
4011 (define-public emacs-mc-extras
4012 (let ((commit "053abc52181b8718559d7361a587bbb795faf164")
4013 (revision "1"))
4014 (package
4015 (name "emacs-mc-extras")
4016 (version (git-version "1.2.4" revision commit))
4017 (source
4018 (origin
4019 (method git-fetch)
4020 (uri (git-reference
4021 (url "https://github.com/knu/mc-extras.el.git")
4022 (commit commit)))
4023 (file-name (git-file-name name version))
4024 (sha256
4025 (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"))))
4026 (build-system emacs-build-system)
4027 (propagated-inputs
4028 `(("emacs-multiple-cursors" ,emacs-multiple-cursors)))
4029 (home-page "https://github.com/knu/mc-extras.el")
4030 (synopsis "Extra functions for manipulating multiple cursors")
4031 (description
4032 "This package provides additional functions for
4033 @code{multiple-cursors}, including functions for marking s-expressions,
4034 comparing characters, removing cursors, and more.")
4035 (license license:bsd-2))))
4036
4037 (define-public emacs-typo
4038 (package
4039 (name "emacs-typo")
4040 (version "1.1")
4041 (home-page "https://github.com/jorgenschaefer/typoel")
4042 (source (origin
4043 (method git-fetch)
4044 (uri (git-reference
4045 (url home-page)
4046 (commit (string-append "v" version))))
4047 (file-name (git-file-name name version))
4048 (sha256
4049 (base32
4050 "1jhd4grch5iz12gyxwfbsgh4dmz5hj4bg4gnvphccg8dsnni05k2"))))
4051 (build-system emacs-build-system)
4052 (synopsis "Minor mode for typographic editing")
4053 (description
4054 "This package provides two Emacs modes, @code{typo-mode} and
4055 @code{typo-global-mode}. These modes automatically insert Unicode characters
4056 for quotation marks, dashes, and ellipses. For example, typing @kbd{\"}
4057 automatically inserts a Unicode opening or closing quotation mark, depending
4058 on context.")
4059 (license license:gpl3+)))
4060
4061 (define-public emacs-company-lsp
4062 (package
4063 (name "emacs-company-lsp")
4064 (version "2.1.0")
4065 (source (origin
4066 (method git-fetch)
4067 (uri (git-reference
4068 (url "https://github.com/tigersoldier/company-lsp.git")
4069 (commit version)))
4070 (file-name (git-file-name name version))
4071 (sha256
4072 (base32
4073 "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"))))
4074 (build-system emacs-build-system)
4075 (propagated-inputs
4076 `(("emacs-dash" ,emacs-dash)
4077 ("emacs-lsp-mode" ,emacs-lsp-mode)
4078 ("emacs-company" ,emacs-company)
4079 ("emacs-s" ,emacs-s)
4080 ("emacs-dash" ,emacs-dash)))
4081 (native-inputs
4082 `(("emacs-buttercup" ,emacs-buttercup)))
4083 (arguments
4084 `(#:tests? #t
4085 #:test-command '("buttercup" "-L" ".")))
4086 (home-page "https://github.com/tigersoldier/company-lsp")
4087 (synopsis "Completion for @code{lsp-mode}")
4088 (description
4089 "This package provides completion features that are not possible with
4090 @code{lsp-mode} and @code{company-capf} alone, including support for trigger
4091 characters and asynchronous fetching of completion candidates.")
4092 (license license:gpl3+)))
4093
4094 (define-public emacs-scheme-complete
4095 (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
4096 (package
4097 (name "emacs-scheme-complete")
4098 (version (string-append "20151223." (string-take commit 8)))
4099 (source
4100 (origin
4101 (method git-fetch)
4102 (uri (git-reference
4103 (url "https://github.com/ashinn/scheme-complete.git")
4104 (commit commit)))
4105 (file-name (git-file-name name version))
4106 (sha256
4107 (base32
4108 "141wn9l0m33w0g3dqmx8nxbfdny1r5xbr6ak61rsz21bk0qafs7x"))
4109 (patches
4110 (search-patches "emacs-scheme-complete-scheme-r5rs-info.patch"))))
4111 (build-system emacs-build-system)
4112 (home-page "https://github.com/ashinn/scheme-complete")
4113 (synopsis "Smart tab completion for Scheme in Emacs")
4114 (description
4115 "This file provides a single function, @code{scheme-smart-complete},
4116 which you can use for intelligent, context-sensitive completion for any Scheme
4117 implementation in Emacs. To use it just load this file and bind that function
4118 to a key in your preferred mode.")
4119 (license license:public-domain))))
4120
4121 (define-public emacs-scel
4122 (let ((version "20170629")
4123 (revision "1")
4124 (commit "aeea3ad4be9306d14c3a734a4ff54fee10ac135b"))
4125 (package
4126 (name "emacs-scel")
4127 (version (git-version version revision commit))
4128 (source
4129 (origin
4130 (method git-fetch)
4131 (uri (git-reference
4132 (url "https://github.com/supercollider/scel.git")
4133 (commit commit)))
4134 (file-name (git-file-name name version))
4135 (sha256
4136 (base32
4137 "0jvmzs1lsjyndqshhii2y4mnr3wghai26i3p75453zrpxpg0zvvw"))))
4138 (build-system emacs-build-system)
4139 (arguments
4140 `(#:modules ((guix build emacs-build-system)
4141 ((guix build cmake-build-system) #:prefix cmake:)
4142 (guix build utils))
4143 #:imported-modules (,@%emacs-build-system-modules
4144 (guix build cmake-build-system))
4145 #:phases
4146 (modify-phases %standard-phases
4147 (add-after 'unpack 'configure
4148 (lambda* (#:key outputs #:allow-other-keys)
4149 (substitute* "el/CMakeLists.txt"
4150 (("share/emacs/site-lisp/SuperCollider")
4151 (string-append
4152 "share/emacs/site-lisp")))
4153 ((assoc-ref cmake:%standard-phases 'configure)
4154 #:outputs outputs
4155 #:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
4156 (add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
4157 (lambda _
4158 (setenv "EMACSLOADPATH"
4159 (string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
4160 #t))
4161 (replace 'install (assoc-ref cmake:%standard-phases 'install)))))
4162 (inputs
4163 `(("supercollider" ,supercollider)))
4164 (native-inputs
4165 `(("cmake" ,cmake-minimal)))
4166 (home-page "https://github.com/supercollider/scel")
4167 (synopsis "SuperCollider Emacs interface")
4168 (description "@code{emacs-scel} is an Emacs interface to SuperCollider.
4169 SuperCollider is a platform for audio synthesis and algorithmic composition.")
4170 (license license:gpl2+))))
4171
4172 (define-public emacs-company-auctex
4173 (let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
4174 (revision "1"))
4175 (package
4176 (name "emacs-company-auctex")
4177 (version (git-version "0" revision commit))
4178 (source (origin
4179 (method git-fetch)
4180 (uri (git-reference
4181 (url "https://github.com/alexeyr/company-auctex")
4182 (commit commit)))
4183 (file-name (git-file-name name version))
4184 (sha256
4185 (base32
4186 "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"))))
4187 (build-system emacs-build-system)
4188 (propagated-inputs
4189 `(("emacs-yasnippet" ,emacs-yasnippet)
4190 ("emacs-auctex" ,emacs-auctex)
4191 ("emacs-company" ,emacs-company)))
4192 (home-page "https://github.com/alexeyr/company-auctex/")
4193 (synopsis "Completion for @code{AUCTeX}")
4194 (description
4195 "This package provides a group of backends permitting auto-completion
4196 for @code{AUCTeX}.")
4197 (license license:gpl3+))))
4198
4199 (define-public emacs-mit-scheme-doc
4200 (package
4201 (name "emacs-mit-scheme-doc")
4202 (version "20140203")
4203 (source
4204 (origin
4205 (modules '((guix build utils)))
4206 (snippet
4207 ;; keep only file of interest
4208 '(begin
4209 (for-each delete-file '("dot-emacs.el" "Makefile"))
4210 (install-file "6.945-config/mit-scheme-doc.el" ".")
4211 (delete-file-recursively "6.945-config")
4212 #t))
4213 (file-name (string-append name "-" version ".tar.bz2"))
4214 (method url-fetch)
4215 (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
4216 "6.945/dont-panic/emacs-basic-config.tar.bz2"))
4217 (sha256
4218 (base32
4219 "0dqidg2bd66pawqfarvwca93w5gqf9mikn1k2a2rmd9ymfjpziq1"))))
4220 (build-system emacs-build-system)
4221 (inputs `(("mit-scheme" ,mit-scheme)))
4222 (arguments
4223 `(#:phases
4224 (modify-phases %standard-phases
4225 (add-after 'unpack 'configure-doc
4226 (lambda* (#:key inputs #:allow-other-keys)
4227 (let* ((mit-scheme-dir (assoc-ref inputs "mit-scheme"))
4228 (doc-dir (string-append mit-scheme-dir "/share/doc/"
4229 "mit-scheme-"
4230 ,(package-version mit-scheme))))
4231 (substitute* "mit-scheme-doc.el"
4232 (("http://www\\.gnu\\.org/software/mit-scheme/documentation/mit-scheme-ref/")
4233 (string-append "file:" doc-dir "/mit-scheme-ref/")))))))))
4234 (home-page "http://groups.csail.mit.edu/mac/users/gjs/6.945/dont-panic/")
4235 (synopsis "MIT-Scheme documentation lookup for Emacs")
4236 (description
4237 "This package provides a set of Emacs functions to search definitions of
4238 identifiers in the MIT-Scheme documentation.")
4239 (license license:gpl2+)))
4240
4241 (define-public emacs-constants
4242 (package
4243 (name "emacs-constants")
4244 (version "2.6")
4245 (home-page "https://staff.fnwi.uva.nl/c.dominik/Tools/constants")
4246 (source
4247 (origin
4248 (method git-fetch)
4249 (uri (git-reference
4250 (url "https://github.com/fedeinthemix/emacs-constants.git")
4251 (commit (string-append "v" version))))
4252 (file-name (git-file-name name version))
4253 (sha256
4254 (base32 "0f5sh6b45a8p9kancjp9jk44ws8ww6x50a0i6zgyyvr7dbvii1a0"))))
4255 (build-system emacs-build-system)
4256 (synopsis "Enter definition of constants into an Emacs buffer")
4257 (description
4258 "This package provides functions for inserting the definition of natural
4259 constants and units into an Emacs buffer.")
4260 (license license:gpl2+)))
4261
4262 (define-public emacs-tagedit
4263 (package
4264 (name "emacs-tagedit")
4265 (version "1.4.0")
4266 (source
4267 (origin
4268 (method git-fetch)
4269 (uri (git-reference
4270 (url "https://github.com/magnars/tagedit.git")
4271 (commit version)))
4272 (file-name (git-file-name name version))
4273 (sha256
4274 (base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
4275 (build-system emacs-build-system)
4276 (propagated-inputs
4277 `(("emacs-s" ,emacs-s)
4278 ("emacs-dash" ,emacs-dash)))
4279 (home-page "https://github.com/magnars/tagedit")
4280 (synopsis "Some paredit-like features for html-mode")
4281 (description
4282 "This package provides a collection of paredit-like functions for editing
4283 in @code{html-mode}.")
4284 (license license:gpl3+)))
4285
4286 (define-public emacs-slime
4287 (package
4288 (name "emacs-slime")
4289 (version "2.24")
4290 (source
4291 (origin
4292 (method git-fetch)
4293 (uri (git-reference
4294 (url "https://github.com/slime/slime.git")
4295 (commit (string-append "v" version))))
4296 (file-name (git-file-name name version))
4297 (sha256
4298 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
4299 (build-system emacs-build-system)
4300 (native-inputs
4301 `(("texinfo" ,texinfo)))
4302 (arguments
4303 `(#:include '("\\.el$" "\\.lisp$" "\\.asd$" "contrib")
4304 #:exclude '("^slime-tests.el" "^contrib/test/"
4305 "^contrib/Makefile$" "^contrib/README.md$")
4306 #:phases
4307 (modify-phases %standard-phases
4308 (add-after 'unpack 'make-git-checkout-writable
4309 (lambda _
4310 (for-each make-file-writable (find-files "."))
4311 #t))
4312 (add-before 'install 'configure
4313 (lambda* _
4314 (emacs-substitute-variables "slime.el"
4315 ("inferior-lisp-program" "sbcl"))
4316 #t))
4317 (add-before 'install 'install-doc
4318 (lambda* (#:key outputs #:allow-other-keys)
4319 (let* ((out (assoc-ref outputs "out"))
4320 (info-dir (string-append out "/share/info"))
4321 (doc-dir (string-append out "/share/doc/"
4322 ,name "-" ,version))
4323 (doc-files '("doc/slime-refcard.pdf"
4324 "README.md" "NEWS" "PROBLEMS"
4325 "CONTRIBUTING.md")))
4326 (with-directory-excursion "doc"
4327 (substitute* "Makefile"
4328 (("infodir=/usr/local/info")
4329 (string-append "infodir=" info-dir)))
4330 (invoke "make" "html/index.html")
4331 (invoke "make" "slime.info")
4332 (install-file "slime.info" info-dir)
4333 (copy-recursively "html" (string-append doc-dir "/html")))
4334 (for-each (lambda (f)
4335 (install-file f doc-dir)
4336 (delete-file f))
4337 doc-files)
4338 (delete-file-recursively "doc")
4339 #t))))))
4340 (home-page "https://github.com/slime/slime")
4341 (synopsis "Superior Lisp Interaction Mode for Emacs")
4342 (description
4343 "SLIME extends Emacs with support for interactive programming in
4344 Common Lisp. The features are centered around @command{slime-mode},
4345 an Emacs minor mode that complements the standard @command{lisp-mode}.
4346 While lisp-mode supports editing Lisp source files, @command{slime-mode}
4347 adds support for interacting with a running Common Lisp process
4348 for compilation, debugging, documentation lookup, and so on.")
4349 (license (list license:gpl2+ license:public-domain))))
4350
4351 (define-public emacs-popup
4352 (package
4353 (name "emacs-popup")
4354 (version "0.5.3")
4355 (source
4356 (origin
4357 (method git-fetch)
4358 (uri (git-reference
4359 (url "https://github.com/auto-complete/popup-el.git")
4360 (commit (string-append "v" version))))
4361 (file-name (git-file-name name version))
4362 (sha256
4363 (base32 "1y538siabcf1n00wr4iz5gbxfndw661kx2mn9w1g4lg7yi4n0h0h"))))
4364 (build-system emacs-build-system)
4365 (home-page "https://github.com/auto-complete/popup-el")
4366 (synopsis "Visual Popup User Interface for Emacs")
4367 (description
4368 "Popup.el is a visual popup user interface library for Emacs.
4369 This provides a basic API and common UI widgets such as popup tooltips
4370 and popup menus.")
4371 (license license:gpl3+)))
4372
4373 (define-public emacs-python-environment
4374 (package
4375 (name "emacs-python-environment")
4376 (version "0.0.2")
4377 (source
4378 (origin
4379 (method git-fetch)
4380 (uri (git-reference
4381 (url "https://github.com/tkf/emacs-python-environment/")
4382 (commit version)))
4383 (file-name (git-file-name name version))
4384 (sha256
4385 (base32 "0q6bib9nr6xiq6npzbngyfcjk87yyvwzq1zirr3z1h5wadm34lsk"))))
4386 (build-system emacs-build-system)
4387 (propagated-inputs
4388 `(("emacs-deferred" ,emacs-deferred)))
4389 (home-page "https://github.com/tkf/emacs-python-environment")
4390 (synopsis "Provides a @code{virtualenv} API in Emacs Lisp")
4391 (description
4392 "This package permits automated installation of tools written in Python.")
4393 (license license:gpl3+)))
4394
4395 (define-public emacs-jedi
4396 (package
4397 (name "emacs-jedi")
4398 (version "0.2.8")
4399 (source (origin
4400 (method git-fetch)
4401 (uri (git-reference
4402 (url "https://github.com/tkf/emacs-jedi/")
4403 (commit (string-append "v" version))))
4404 (file-name (git-file-name name version))
4405 (sha256
4406 (base32
4407 "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"))))
4408 (build-system emacs-build-system)
4409 (native-inputs
4410 `(("emacs-mocker" ,emacs-mocker)))
4411 (propagated-inputs
4412 `(("emacs-auto-complete" ,emacs-auto-complete)
4413 ("emacs-python-environment" ,emacs-python-environment)
4414 ("emacs-epc" ,emacs-epc)))
4415 (home-page "https://github.com/tkf/emacs-jedi")
4416 (synopsis "Provides Python completion in Emacs")
4417 (description
4418 "This package provides completion in Python buffers and also helps find
4419 the locations of docstrings, arguments, and functions.")
4420 (license license:gpl3+)))
4421
4422 (define-public emacs-company-jedi
4423 (package
4424 (name "emacs-company-jedi")
4425 (version "0.04")
4426 (source (origin
4427 (method git-fetch)
4428 (uri (git-reference
4429 (url "https://github.com/syohex/emacs-company-jedi")
4430 (commit version)))
4431 (file-name (git-file-name name version))
4432 (sha256
4433 (base32
4434 "1ihqapp4dv92794rsgyq0rmhwika60cmradqd4bn9b72ss6plxs1"))))
4435 (build-system emacs-build-system)
4436 (propagated-inputs
4437 `(("emacs-jedi" ,emacs-jedi)
4438 ("emacs-company" ,emacs-company)))
4439 (home-page "https://github.com/syohex/emacs-company-jedi")
4440 (synopsis "Provides Python completion in @code{company-mode}")
4441 (description
4442 "This package provides a Company backend for Python.")
4443 (license license:gpl3+)))
4444
4445 (define-public emacs-puppet-mode
4446 (let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
4447 (revision "1"))
4448 (package
4449 (name "emacs-puppet-mode")
4450 ;; The last release, 0.3 was several years ago, and there have been many
4451 ;; commits since
4452 (version (git-version "0.3" revision commit))
4453 (source
4454 (origin
4455 (method url-fetch)
4456 (uri (string-append
4457 "https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
4458 commit "/puppet-mode.el"))
4459 (sha256
4460 (base32
4461 "1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
4462 (build-system emacs-build-system)
4463 (home-page "https://github.com/voxpupuli/puppet-mode")
4464 (synopsis "Emacs major mode for the Puppet configuration language")
4465 (description
4466 "This package provides support for the Puppet configuration language,
4467 including syntax highlighting, indentation of expressions and statements,
4468 linting of manifests and integration with Puppet Debugger.")
4469 ;; Also incorporates work covered by the Apache License, Version 2.0
4470 (license license:gpl3+))))
4471
4472 (define-public emacs-god-mode
4473 (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
4474 (revision "1"))
4475 (package
4476 (name "emacs-god-mode")
4477 (version (string-append "20151005.925."
4478 revision "-" (string-take commit 9)))
4479 (source
4480 (origin
4481 (method git-fetch)
4482 (uri (git-reference
4483 (url "https://github.com/chrisdone/god-mode.git")
4484 (commit commit)))
4485 (file-name (git-file-name name version))
4486 (sha256
4487 (base32
4488 "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
4489 (build-system emacs-build-system)
4490 (home-page "https://github.com/chrisdone/god-mode")
4491 (synopsis "Minor mode for entering commands without modifier keys")
4492 (description
4493 "This package provides a global minor mode for entering Emacs commands
4494 without modifier keys. It's similar to Vim's separation of commands and
4495 insertion mode. When enabled all keys are implicitly prefixed with
4496 @samp{C-} (among other helpful shortcuts).")
4497 (license license:gpl3+))))
4498
4499 (define-public emacs-jinja2-mode
4500 (package
4501 (name "emacs-jinja2-mode")
4502 (version "0.2")
4503 (source
4504 (origin
4505 (method git-fetch)
4506 (uri (git-reference
4507 (url "https://github.com/paradoxxxzero/jinja2-mode.git")
4508 (commit (string-append "v" version))))
4509 (file-name (git-file-name name version))
4510 (sha256
4511 (base32 "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381"))))
4512 (build-system emacs-build-system)
4513 (home-page "https://github.com/paradoxxxzero/jinja2-mode")
4514 (synopsis "Major mode for jinja2")
4515 (description
4516 "Emacs major mode for jinja2 with: syntax highlighting,
4517 sgml/html integration, and indentation (working with sgml).")
4518 (license license:gpl3+)))
4519
4520 (define-public emacs-company-cabal
4521 ;; The latest version is 0.3.0, but no release has been provided after 0.2.1.
4522 (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d")
4523 (revision "1"))
4524 (package
4525 (name "emacs-company-cabal")
4526 (version (git-version "0.3.0" revision commit))
4527 (source (origin
4528 (method git-fetch)
4529 (uri (git-reference
4530 (url "https://github.com/iquiw/company-cabal/")
4531 (commit commit)))
4532 (file-name (git-file-name name version))
4533 (sha256
4534 (base32
4535 "1gf45xwjzdm8i4q6c6khk4dbg1mmp2r0awz2sjr4dcr2dbd1n7mg"))))
4536 (build-system emacs-build-system)
4537 (propagated-inputs
4538 `(("emacs-company" ,emacs-company)))
4539 (arguments
4540 `(#:include (cons "^tools\\/" %default-include)))
4541 (home-page "https://github.com/iquiw/company-cabal/")
4542 (synopsis "Company completion for Haskell Cabal files")
4543 (description
4544 "This package allows for completion of field names, section names,
4545 field values, and more within @code{haskell-cabal-mode}.")
4546 (license license:gpl3+))))
4547
4548 (define-public emacs-rfcview
4549 (package
4550 (name "emacs-rfcview")
4551 (version "0.13")
4552 (home-page "http://www.loveshack.ukfsn.org/emacs")
4553 (source (origin
4554 (method url-fetch)
4555 (uri "http://www.loveshack.ukfsn.org/emacs/rfcview.el")
4556 (sha256
4557 (base32
4558 "0ympj5rxig383zl2jf0pzdsa80nnq0dpvjiriq0ivfi98fj7kxbz"))))
4559 (build-system emacs-build-system)
4560 (synopsis "Prettify Request for Comments (RFC) documents")
4561 (description "The Internet Engineering Task Force (IETF) and the Internet
4562 Society (ISOC) publish various Internet-related protocols and specifications
4563 as \"Request for Comments\" (RFC) documents and Internet Standard (STD)
4564 documents. RFCs and STDs are published in a simple text form. This package
4565 provides an Emacs major mode, rfcview-mode, which makes it more pleasant to
4566 read these documents in Emacs. It prettifies the text and adds
4567 hyperlinks/menus for easier navigation. It also provides functions for
4568 browsing the index of RFC documents and fetching them from remote servers or
4569 local directories.")
4570 (license license:gpl3+)))
4571
4572 (define-public emacs-ffap-rfc-space
4573 (package
4574 (name "emacs-ffap-rfc-space")
4575 (version "12")
4576 (home-page "http://user42.tuxfamily.org/ffap-rfc-space/index.html")
4577 (source (origin
4578 (method url-fetch)
4579 (uri "http://download.tuxfamily.org/user42/ffap-rfc-space.el")
4580 (sha256
4581 (base32
4582 "1iv61dv57a73mdps7rn6zmgz7nqh14v0ninidyrasy45b1nv6gck"))))
4583 (build-system emacs-build-system)
4584 (synopsis "Make ffap recognize an RFC with a space before its number")
4585 (description "The Internet Engineering Task Force (IETF) and the
4586 Internet Society (ISOC) publish various Internet-related protocols and
4587 specifications as \"Request for Comments\" (RFC) documents. The
4588 built-in Emacs module \"ffap\" (Find File at Point) has the ability to
4589 recognize names at point which look like \"RFC1234\" and \"RFC-1234\"
4590 and load the appropriate RFC from a remote server. However, it fails
4591 to recognize a name like \"RFC 1234\". This package enhances ffap so
4592 that it correctly finds RFCs even when a space appears before the
4593 number.")
4594 (license license:gpl3+)))
4595
4596 (define-public emacs-org-bullets
4597 (package
4598 (name "emacs-org-bullets")
4599 (version "0.2.4")
4600 (source
4601 (origin
4602 (method git-fetch)
4603 (uri (git-reference
4604 (url "https://github.com/sabof/org-bullets.git")
4605 (commit version)))
4606 (file-name (git-file-name name version))
4607 (sha256
4608 (base32 "10nr4sjffnqbllv6gmak6pviyynrb7pi5nvrq331h5alm3xcpq0w"))))
4609 (build-system emacs-build-system)
4610 (home-page "https://github.com/sabof/org-bullets")
4611 (synopsis "Show bullets in org-mode as UTF-8 characters")
4612 (description
4613 "This package provides an Emacs minor mode causing bullets in
4614 @code{org-mode} to be rendered as UTF-8 characters.")
4615 (license license:gpl3+)))
4616
4617 (define-public emacs-org-pomodoro
4618 ;; Last release version was from 2016.
4619 (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
4620 (revision "1"))
4621 (package
4622 (name "emacs-org-pomodoro")
4623 (version (git-version "2.1.0" revision commit))
4624 (source
4625 (origin
4626 (method git-fetch)
4627 (uri (git-reference
4628 (url "https://github.com/marcinkoziej/org-pomodoro.git")
4629 (commit commit)))
4630 (file-name (git-file-name name version))
4631 (sha256
4632 (base32 "0nbprh2nhnmb7ngp9ndr6zr37ashcsvpi5slv7a37x1dl7j6w1k4"))))
4633 (build-system emacs-build-system)
4634 (propagated-inputs
4635 `(("emacs-alert" ,emacs-alert)))
4636 (arguments
4637 `(#:include (cons "^resources\\/" %default-include)
4638 #:tests? #t
4639 #:test-command '("emacs" "--batch"
4640 "-l" "org-pomodoro-tests.el"
4641 "-f" "ert-run-tests-batch-and-exit")
4642 #:phases
4643 (modify-phases %standard-phases
4644 (add-before 'check 'make-tests-writable
4645 (lambda _
4646 (make-file-writable "org-pomodoro-tests.el")
4647 #t))
4648 (add-before 'check 'add-require
4649 (lambda _
4650 (emacs-batch-edit-file "org-pomodoro-tests.el"
4651 `(progn (progn (goto-char (point-min))
4652 (re-search-forward
4653 "ert-deftest")
4654 (beginning-of-line)
4655 (forward-line -1)
4656 (insert "(require 'org-pomodoro)"))
4657 (basic-save-buffer)))
4658 #t)))))
4659 (home-page "https://github.com/marcinkoziej/org-pomodoro")
4660 (synopsis "Pomodoro technique for org-mode")
4661 (description "@code{emacs-org-pomodoro} adds very basic support for
4662 Pomodoro technique in Emacs org-mode.
4663
4664 Run @code{M-x org-pomodoro} for the task at point or select one of the
4665 last tasks that you clocked time for. Each clocked-in pomodoro starts
4666 a timer of 25 minutes and after each pomodoro a break timer of 5
4667 minutes is started automatically. Every 4 breaks a long break is
4668 started with 20 minutes. All values are customizable.")
4669 (license license:gpl3+))))
4670
4671 (define-public emacs-org-sidebar
4672 (package
4673 (name "emacs-org-sidebar")
4674 (version "0.2")
4675 (source
4676 (origin
4677 (method git-fetch)
4678 (uri (git-reference
4679 (url "https://github.com/alphapapa/org-sidebar.git")
4680 (commit version)))
4681 (file-name (git-file-name name version))
4682 (sha256
4683 (base32 "106h06vjfbqfj761vbxwymd6612ds8c6fk053yzgbrqzm3hn2c03"))))
4684 (build-system emacs-build-system)
4685 (propagated-inputs
4686 `(("emacs-dash" ,emacs-dash)
4687 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
4688 ("emacs-org" ,emacs-org)
4689 ("emacs-org-ql" ,emacs-org-ql)
4690 ("emacs-s" ,emacs-s)))
4691 (home-page "https://github.com/alphapapa/org-sidebar")
4692 (synopsis "Helpful sidebar for Org buffers")
4693 (description "This package provides a sidebar for Org buffers. At the
4694 top is a chronological list of scheduled and deadlined tasks in the current
4695 buffer (similar to the Org agenda ,but without all its features), and below
4696 that is a list of all other non-done to-do items. If the buffer is narrowed,
4697 the sidebar only shows items in the narrowed portion; this allows seeing an
4698 overview of tasks in a subtree.")
4699 (license license:gpl3+)))
4700
4701 (define-public emacs-org-trello
4702 (package
4703 (name "emacs-org-trello")
4704 (version "0.8.1")
4705 (source
4706 (origin
4707 (method git-fetch)
4708 (uri (git-reference
4709 (url "https://github.com/org-trello/org-trello.git")
4710 (commit version)))
4711 (file-name (git-file-name name version))
4712 (sha256
4713 (base32
4714 "02gx3kv4mkij69ln8x8wf9n28x17pbb4kv85v78d3lxph7ykqimc"))))
4715 (build-system emacs-build-system)
4716 (propagated-inputs
4717 `(("emacs-dash" ,emacs-dash)
4718 ("emacs-deferred" ,emacs-deferred)
4719 ("emacs-f" ,emacs-f)
4720 ("emacs-helm" ,emacs-helm)
4721 ("emacs-request" ,emacs-request)
4722 ("emacs-s" ,emacs-s)))
4723 (home-page "https://org-trello.github.io")
4724 (synopsis "Emacs minor mode for interacting with Trello")
4725 (description "This package provides an Emacs minor mode to extend
4726 @code{org-mode} with Trello abilities. Trello is an online project
4727 organizer.")
4728 (license license:gpl3+)))
4729
4730 (define-public emacs-org-tanglesync
4731 (let ((commit "d99181f173b4e55b4e835d99fcd415e62beb047f")
4732 (revision "2"))
4733 (package
4734 (name "emacs-org-tanglesync")
4735 (version (git-version "0.6" revision commit))
4736 (source
4737 (origin
4738 (method git-fetch)
4739 (uri (git-reference
4740 (url "https://github.com/mtekman/org-tanglesync.el.git")
4741 (commit commit)))
4742 (file-name (git-file-name name version))
4743 (sha256
4744 (base32 "0x94gy1bgfd1f3p9w2bfrqj11bwy9ql0cpi1gw6srpj7kykx0lml"))))
4745 (build-system emacs-build-system)
4746 (propagated-inputs
4747 `(("emacs-org" ,emacs-org)))
4748 (home-page "https://github.com/mtekman/org-tanglesync.el")
4749 (synopsis "Sync Org source blocks with tangled external files")
4750 (description "This package automatically pulls changes from source code
4751 to their corresponding tangled blocks.")
4752 (license license:gpl3+))))
4753
4754 (define-public emacs-company-flow
4755 (let ((commit "76ef585c70d2a3206c2eadf24ba61e59124c3a16")
4756 (revision "1"))
4757 (package
4758 (name "emacs-company-flow")
4759 (version (git-version "0.1.0" revision commit))
4760 (source (origin
4761 (method git-fetch)
4762 (uri (git-reference
4763 (url "https://github.com/aaronjensen/company-flow/")
4764 (commit commit)))
4765 (file-name (git-file-name name version))
4766 (sha256
4767 (base32
4768 "0zs9cblnbkxa0dxw4lyllmybqizxcdx96gv8jlhx20nrjpi78piw"))))
4769 (build-system emacs-build-system)
4770 (propagated-inputs
4771 `(("emacs-company" ,emacs-company)
4772 ("emacs-dash" ,emacs-dash)))
4773 (home-page "https://github.com/aaronjensen/company-flow/")
4774 (synopsis "Flow backend for @code{company-mode}")
4775 (description
4776 "This package provides completion for JavaScript files utilizing Flow.")
4777 (license license:gpl3+))))
4778
4779 (define-public emacs-atom-one-dark-theme
4780 (let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
4781 (revision "0"))
4782 (package
4783 (name "emacs-atom-one-dark-theme")
4784 (version (git-version "0.4.0" revision commit))
4785 (source (origin
4786 (method git-fetch)
4787 (uri (git-reference
4788 (url "https://github.com/jonathanchu/atom-one-dark-theme.git")
4789 (commit commit)))
4790 (sha256
4791 (base32
4792 "1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
4793 (file-name (git-file-name name version))))
4794 (build-system emacs-build-system)
4795 (home-page "https://github.com/jonathanchu/atom-one-dark-theme")
4796 (synopsis "Atom One Dark color theme for Emacs")
4797 (description "An Emacs port of the Atom One Dark theme from Atom.io.")
4798 (license license:gpl3+))))
4799
4800 (define-public emacs-zenburn-theme
4801 (package
4802 (name "emacs-zenburn-theme")
4803 (version "2.6")
4804 (source
4805 (origin
4806 (method git-fetch)
4807 (uri (git-reference
4808 (url "https://github.com/bbatsov/zenburn-emacs.git")
4809 (commit (string-append "v" version))))
4810 (file-name (git-file-name name version))
4811 (sha256
4812 (base32 "1n87r5hs7h5r8dgfid66skpzcypl9hssr9m3npp916g6jfsi782f"))))
4813 (build-system emacs-build-system)
4814 (home-page "https://github.com/bbatsov/zenburn-emacs")
4815 (synopsis "Low contrast color theme for Emacs")
4816 (description
4817 "Zenburn theme is a port of the popular Vim Zenburn theme for Emacs.
4818 It is built on top of the custom theme support in Emacs 24 or later.")
4819 (license license:gpl3+)))
4820
4821 (define-public emacs-moe-theme-el
4822 (let ((commit "6e086d855d6bb446bbd1090742815589a81a915f")
4823 (version "1.0")
4824 (revision "1"))
4825 (package
4826 (name "emacs-moe-theme-el")
4827 (version (git-version version revision commit))
4828 (source
4829 (origin
4830 (method git-fetch)
4831 (uri (git-reference
4832 (url "https://github.com/kuanyui/moe-theme.el")
4833 (commit commit)))
4834 (file-name (git-file-name name version))
4835 (sha256
4836 (base32 "0xj4wfd7h4jqnr193pizm9frf6lmwjr0dsdv2l9mqh9k691z1dnc"))))
4837 (build-system emacs-build-system)
4838 (home-page "https://github.com/kuanyui/moe-theme.el")
4839 (synopsis "Anime-inspired color themes")
4840 (description
4841 "This package provides vibrant color schemes with light and dark
4842 variants.")
4843 (license license:gpl3+))))
4844
4845 (define-public emacs-solarized-theme
4846 (package
4847 (name "emacs-solarized-theme")
4848 (version "1.2.2")
4849 (source (origin
4850 (method git-fetch)
4851 (uri (git-reference
4852 (url "https://github.com/bbatsov/solarized-emacs/")
4853 (commit (string-append "v" version))))
4854 (file-name (git-file-name name version))
4855 (sha256
4856 (base32
4857 "0zcj9jf8nlsj9vms888z2vs76q54n8g8r9sh381xad3x8d6lrlb3"))))
4858 (build-system emacs-build-system)
4859 (propagated-inputs
4860 `(("emacs-dash" ,emacs-dash)))
4861 (home-page "https://github.com/bbatsov/solarized-emacs")
4862 (synopsis "Port of the Solarized theme for Emacs")
4863 (description
4864 "Solarized for Emacs is a port of the Solarized theme for Vim. This
4865 package provides a light and a dark variant.")
4866 (license license:gpl3+)))
4867
4868 (define-public emacs-poet-theme
4869 (let ((commit "d84f7b259cc9b6ff8d442cf4c38bd6c7065ff8f4")
4870 (revision "0"))
4871 (package
4872 (name "emacs-poet-theme")
4873 (version (git-version "0" revision commit))
4874 (source
4875 (origin
4876 (method git-fetch)
4877 (uri (git-reference
4878 (url "https://github.com/kunalb/poet.git")
4879 (commit commit)))
4880 (file-name (git-file-name name version))
4881 (sha256
4882 (base32
4883 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz"))))
4884 (build-system emacs-build-system)
4885 (home-page "https://github.com/kunalb/poet/")
4886 (synopsis "Emacs theme for prose")
4887 (description
4888 "Emacs has very good support for multiple fonts in a single file. Poet
4889 uses this support to make it much more convenient to write prose within Emacs,
4890 with particular attention paid to @code{org-mode} and @code{markdown-mode}.
4891 Code blocks, tables, etc are formatted in monospace text with the appropriate
4892 backgrounds.")
4893 (license license:expat))))
4894
4895 (define-public emacs-ahungry-theme
4896 (package
4897 (name "emacs-ahungry-theme")
4898 (version "1.10.0")
4899 (source
4900 (origin (method url-fetch)
4901 (uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
4902 version ".tar"))
4903 (sha256
4904 (base32
4905 "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
4906 (build-system emacs-build-system)
4907 (home-page "https://github.com/ahungry/color-theme-ahungry")
4908 (synopsis "Ahungry color theme for Emacs")
4909 (description "Ahungry theme for Emacs provides bright and bold colors.
4910 If you load it from a terminal, you will be able to make use of the
4911 transparent background. If you load it from a GUI, it will default to a
4912 dark background.")
4913 (license license:gpl3+)))
4914
4915 (define-public emacs-gruvbox-theme
4916 (package
4917 (name "emacs-gruvbox-theme")
4918 (version "1.28.0")
4919 (source (origin
4920 (method git-fetch)
4921 (uri (git-reference
4922 (url "https://github.com/greduan/emacs-theme-gruvbox.git")
4923 (commit version)))
4924 (file-name (git-file-name name version))
4925 (sha256
4926 (base32
4927 "00qq92gp1g55pzm97rh7k0dgxy44pxziridl8kqm4rbpi31r7k9p"))))
4928 (build-system emacs-build-system)
4929 (propagated-inputs
4930 `(("emacs-autothemer" ,emacs-autothemer)))
4931 (home-page "https://github.com/greduan/emacs-theme-gruvbox")
4932 (synopsis "Gruvbox is a retro groove color scheme ported from Vim")
4933 (description
4934 "Gruvbox is heavily inspired by badwolf, jellybeans and solarized.
4935
4936 Designed as a bright theme with pastel 'retro groove' colors and light/dark
4937 mode switching in the way of solarized. The main focus when developing gruvbox
4938 is to keep colors easily distinguishable, contrast enough and still pleasant
4939 for the eyes.")
4940 (license license:expat))) ; MIT license
4941
4942 (define-public emacs-spacegray-theme
4943 (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97")
4944 (revision "0"))
4945 (package
4946 (name "emacs-spacegray-theme")
4947 (version (git-version "0" revision commit))
4948 (source (origin
4949 (method git-fetch)
4950 (uri (git-reference
4951 (url "https://github.com/bruce/emacs-spacegray-theme.git")
4952 (commit commit)))
4953 (file-name (git-file-name name version))
4954 (sha256
4955 (base32
4956 "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n"))))
4957 (build-system emacs-build-system)
4958 (home-page "https://github.com/bruce/emacs-spacegray-theme")
4959 (synopsis "Port of Sublime Text's Spacegray theme for Emacs")
4960 (description
4961 "@code{spacegray-theme} is an Emacs port of the Spacegray theme from
4962 Sublime Text. It features a dark blue/gray background and soft blue, green,
4963 orange and red as accent colors.")
4964 (license license:expat)))) ; MIT license
4965
4966 (define-public emacs-2048-game
4967 (package
4968 (name "emacs-2048-game")
4969 (version "20151026.1233")
4970 (source
4971 (origin
4972 (method url-fetch)
4973 (uri (string-append "https://melpa.org/packages/2048-game-"
4974 version ".el"))
4975 (sha256
4976 (base32
4977 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd"))))
4978 (build-system emacs-build-system)
4979 (home-page "https://bitbucket.org/zck/2048.el")
4980 (synopsis "Implementation of the game 2048 in Emacs Lisp")
4981 (description
4982 "This program is an implementation of 2048 for Emacs.
4983 The goal of this game is to create a tile with value 2048. The size of the
4984 board and goal value can be customized.")
4985 (license license:gpl3+)))
4986
4987 (define-public emacs-base16-theme
4988 (package
4989 (name "emacs-base16-theme")
4990 (version "2.2")
4991 (source
4992 (origin
4993 (method git-fetch)
4994 (uri (git-reference
4995 (url "https://github.com/belak/base16-emacs.git")
4996 (commit version)))
4997 (file-name (git-file-name name version))
4998 (sha256
4999 (base32 "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"))))
5000 (build-system emacs-build-system)
5001 (home-page "https://github.com/belak/base16-emacs")
5002 (synopsis "Base16 color themes for Emacs")
5003 (description
5004 "Base16 provides carefully chosen syntax highlighting and a default set
5005 of sixteen colors suitable for a wide range of applications. Base16 is not a
5006 single theme but a set of guidelines with numerous implementations.")
5007 (license license:expat)))
5008
5009 (define-public emacs-solaire-mode
5010 (package
5011 (name "emacs-solaire-mode")
5012 (version "1.0.9")
5013 (source
5014 (origin
5015 (method git-fetch)
5016 (uri (git-reference
5017 (url "https://github.com/hlissner/emacs-solaire-mode.git")
5018 (commit (string-append "v" version))))
5019 (file-name (git-file-name name version))
5020 (sha256
5021 (base32 "011m4r7s6i9lgjymh7jgq5jwwrpz4vmpvp3c8d4ix96v5hi04kzg"))))
5022 (build-system emacs-build-system)
5023 (home-page "https://github.com/hlissner/emacs-solaire-mode")
5024 (synopsis "Change background of file-visiting buffers in Emacs")
5025 (description
5026 "@code{solaire-mode} is inspired by editors which visually distinguish
5027 code-editing windows from sidebars, popups, terminals, ecetera. It changes the
5028 background of file-visiting buffers (and certain aspects of the UI) to make
5029 them easier to distinguish from other, less important buffers.")
5030 (license license:expat)))
5031
5032 (define-public emacs-prescient
5033 ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x
5034 ;; by default, so we use a non-release version ahead by one commit
5035 (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d")
5036 (revision "1"))
5037 (package
5038 (name "emacs-prescient")
5039 (version (git-version "3.3" revision commit))
5040 (source (origin
5041 (method git-fetch)
5042 (uri (git-reference
5043 (url "https://github.com/raxod502/prescient.el/")
5044 (commit commit)))
5045 (file-name (git-file-name name version))
5046 (sha256
5047 (base32
5048 "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7"))))
5049 (build-system emacs-build-system)
5050 (propagated-inputs
5051 `(("emacs-company" ,emacs-company)
5052 ("emacs-ivy" ,emacs-ivy)))
5053 (home-page "https://github.com/raxod502/prescient.el/")
5054 (synopsis "Library that sorts and filters lists of candidates")
5055 (description
5056 "This package provides a library for sorting and filtering, as well as
5057 extensions for @code{ivy-mode} and @code{company-mode} that make use of the
5058 library.")
5059 (license license:gpl3+))))
5060
5061 (define-public emacs-smartparens
5062 (package
5063 (name "emacs-smartparens")
5064 (version "1.11.0")
5065 (source
5066 (origin
5067 (method git-fetch)
5068 (uri (git-reference
5069 (url "https://github.com/Fuco1/smartparens.git")
5070 (commit version)))
5071 (file-name (git-file-name name version))
5072 (sha256
5073 (base32 "0zij2f2rjjym98w68jkp10n1ckpfprlkk217c3fg16hz5nq4vnm6"))))
5074 (build-system emacs-build-system)
5075 (propagated-inputs
5076 `(("emacs-dash" ,emacs-dash)
5077 ("emacs-markdown-mode" ,emacs-markdown-mode)))
5078 (home-page "https://github.com/Fuco1/smartparens")
5079 (synopsis "Paredit-like insertion, wrapping and navigation with user
5080 defined pairs")
5081 (description
5082 "Smartparens is a minor mode for Emacs that deals with parens pairs
5083 and tries to be smart about it. It started as a unification effort to
5084 combine functionality of several existing packages in a single,
5085 compatible and extensible way to deal with parentheses, delimiters, tags
5086 and the like. Some of these packages include autopair, textmate,
5087 wrap-region, electric-pair-mode, paredit and others. With the basic
5088 features found in other packages it also brings many improvements as
5089 well as completely new features.")
5090 (license license:gpl3+)))
5091
5092 (define-public emacs-highlight-symbol
5093 ;; We prefer a more recent commit that provides an option to squelch
5094 ;; echo-area alerts that can drown out useful information like eldoc
5095 ;; messages.
5096 (let ((commit "7a789c779648c55b16e43278e51be5898c121b3a")
5097 (version "1.3")
5098 (revision "1"))
5099 (package
5100 (name "emacs-highlight-symbol")
5101 (version (git-version version revision commit))
5102 (source
5103 (origin
5104 (method git-fetch)
5105 (uri (git-reference
5106 (url "https://github.com/nschum/highlight-symbol.el.git")
5107 (commit commit)))
5108 (file-name (git-file-name name version))
5109 (sha256
5110 (base32 "19cgyk0sh8nsmf3jbi92i8qsdx4l4yilfq5jj9zfdbj9p5gvwx96"))))
5111 (build-system emacs-build-system)
5112 (home-page "https://nschum.de/src/emacs/highlight-symbol/")
5113 (synopsis "Automatic and manual symbol highlighting for Emacs")
5114 (description
5115 "Use @code{highlight-symbol} to toggle highlighting of the symbol at
5116 point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
5117 the symbol at point highlighted.
5118
5119 The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
5120 @code{highlight-symbol-next-in-defun} and
5121 @code{highlight-symbol-prev-in-defun} allow for cycling through the locations
5122 of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
5123 bindings @code{M-p} and @code{M-p} for navigation. When
5124 @code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
5125 regardless of @code{highlight-symbol-idle-delay}.
5126
5127 @code{highlight-symbol-query-replace} can be used to replace the symbol. ")
5128 (license license:gpl2+))))
5129
5130 (define-public emacs-symbol-overlay
5131 (let ((commit "e40a7c407f24158c45eaa5f54ed41f5e416a51dc")
5132 (revision "1"))
5133 (package
5134 (name "emacs-symbol-overlay")
5135 (version (git-version "4.1" revision commit))
5136 (source
5137 (origin
5138 (method git-fetch)
5139 (uri (git-reference
5140 (url "https://github.com/wolray/symbol-overlay.git")
5141 (commit commit)))
5142 (file-name (git-file-name name version))
5143 (sha256
5144 (base32 "0ibz3392d3jw1l8006h9kf8s7bg6vl7jc92bmqc031a433009ic7"))))
5145 (build-system emacs-build-system)
5146 (home-page "https://github.com/wolray/symbol-overlay")
5147 (synopsis "Highlight symbols and perform various search operations on them")
5148 (description
5149 "This package provides functions for highlighting and navigating
5150 between symbols.")
5151 (license license:gpl3+))))
5152
5153 (define-public emacs-hl-todo
5154 (package
5155 (name "emacs-hl-todo")
5156 (version "3.0.0")
5157 (source (origin
5158 (method git-fetch)
5159 (uri (git-reference
5160 (url "https://github.com/tarsius/hl-todo")
5161 (commit (string-append "v" version))))
5162 (file-name (git-file-name name version))
5163 (sha256
5164 (base32
5165 "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
5166 (build-system emacs-build-system)
5167 (home-page "https://github.com/tarsius/hl-todo")
5168 (synopsis "Emacs mode to highlight TODO and similar keywords")
5169 (description
5170 "This package provides an Emacs mode to highlight TODO and similar
5171 keywords in comments and strings. This package also provides commands for
5172 moving to the next or previous keyword and to invoke @code{occur} with a
5173 regexp that matches all known keywords.")
5174 (license license:gpl3+)))
5175
5176 (define-public emacs-perspective
5177 (package
5178 (name "emacs-perspective")
5179 (version "2.2")
5180 (source
5181 (origin
5182 (method git-fetch)
5183 (uri (git-reference
5184 (url "https://github.com/nex3/perspective-el.git")
5185 (commit version)))
5186 (file-name (git-file-name name version))
5187 (sha256
5188 (base32
5189 "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"))))
5190 (build-system emacs-build-system)
5191 (home-page "https://github.com/nex3/perspective-el")
5192 (synopsis "Switch between named \"perspectives\"")
5193 (description
5194 "This package provides tagged workspaces in Emacs, similar to workspaces in
5195 windows managers such as Awesome and XMonad. @code{perspective.el} provides
5196 multiple workspaces (or \"perspectives\") for each Emacs frame. Each
5197 perspective is composed of a window configuration and a set of buffers.
5198 Switching to a perspective activates its window configuration, and when in a
5199 perspective only its buffers are available by default.")
5200 ;; This package is released under the same license as Emacs (GPLv3+) or
5201 ;; the Expat license.
5202 (license license:gpl3+)))
5203
5204 (define-public emacs-test-simple
5205 (package
5206 (name "emacs-test-simple")
5207 (version "1.3.0")
5208 (source
5209 (origin
5210 (method url-fetch)
5211 (uri (string-append "https://elpa.gnu.org/packages/test-simple-"
5212 version ".el"))
5213 (sha256
5214 (base32
5215 "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
5216 (build-system emacs-build-system)
5217 (home-page "https://github.com/rocky/emacs-test-simple")
5218 (synopsis "Simple unit test framework for Emacs Lisp")
5219 (description
5220 "Test Simple is a simple unit test framework for Emacs Lisp. It
5221 alleviates the need for context macros, enclosing specifications or required
5222 test tags. It supports both interactive and non-interactive use.")
5223 (license license:gpl3+)))
5224
5225 (define-public emacs-load-relative
5226 (package
5227 (name "emacs-load-relative")
5228 (version "1.3.1")
5229 (source
5230 (origin
5231 (method url-fetch)
5232 (uri (string-append "https://elpa.gnu.org/packages/load-relative-"
5233 version ".el"))
5234 (sha256
5235 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj"))))
5236 (build-system emacs-build-system)
5237 (home-page "http://github.com/rocky/emacs-load-relative")
5238 (synopsis "Emacs Lisp relative file loading related functions")
5239 (description
5240 "Provides functions which facilitate writing multi-file Emacs packages
5241 and running from the source tree without having to \"install\" code or fiddle
5242 with @{load-path}.
5243
5244 The main function, @code{load-relative}, loads an Emacs Lisp file relative to
5245 another (presumably currently running) Emacs Lisp file.")
5246 (license license:gpl3+)))
5247
5248 (define-public emacs-loc-changes
5249 (package
5250 (name "emacs-loc-changes")
5251 (version "1.2")
5252 (source
5253 (origin
5254 (method url-fetch)
5255 (uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
5256 version ".el"))
5257 (sha256
5258 (base32
5259 "1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
5260 (build-system emacs-build-system)
5261 (home-page "https://github.com/rocky/emacs-loc-changes")
5262 (synopsis "Keeps track of positions even after buffer changes")
5263 (description
5264 "This Emacs package provides a mean to track important buffer positions
5265 after buffer changes.")
5266 (license license:gpl3+)))
5267
5268 (define-public emacs-realgud
5269 (package
5270 (name "emacs-realgud")
5271 (version "1.5.1")
5272 (source
5273 (origin
5274 (method git-fetch)
5275 (uri (git-reference
5276 (url "https://github.com/realgud/realgud/")
5277 (commit version)))
5278 (sha256
5279 (base32
5280 "1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
5281 (file-name (git-file-name name version))))
5282 (build-system emacs-build-system)
5283 (arguments
5284 `(#:tests? #t
5285 #:phases
5286 (modify-phases %standard-phases
5287 (add-after 'unpack 'fix-autogen-script
5288 (lambda _
5289 (substitute* "autogen.sh"
5290 (("./configure") "sh configure"))))
5291 (add-after 'fix-autogen-script 'autogen
5292 (lambda _
5293 (setenv "CONFIG_SHELL" "sh")
5294 (invoke "sh" "autogen.sh")))
5295 (add-after 'fix-autogen-script 'set-home
5296 (lambda _
5297 (setenv "HOME" (getenv "TMPDIR"))))
5298 (add-before 'patch-el-files 'remove-realgud-pkg.el
5299 (lambda _
5300 ;; FIXME: `patch-el-files' crashes on this file with error:
5301 ;; unable to locate "bashdb".
5302 (delete-file "./test/test-regexp-bashdb.el"))))
5303 #:include (cons* ".*\\.el$" %default-include)))
5304 (native-inputs
5305 `(("autoconf" ,autoconf)
5306 ("automake" ,automake)
5307 ("emacs-test-simple" ,emacs-test-simple)))
5308 (propagated-inputs
5309 `(("emacs-load-relative" ,emacs-load-relative)
5310 ("emacs-loc-changes" ,emacs-loc-changes)))
5311 (home-page "https://github.com/realgud/realgud/")
5312 (synopsis
5313 "Modular front-end for interacting with external debuggers")
5314 (description
5315 "RealGUD is a modular, extensible GNU Emacs front-end for interacting
5316 with external debuggers. It integrates various debuggers such as gdb, pdb,
5317 ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
5318 sources. Unlike GUD, it also supports running multiple debug sessions in
5319 parallel.")
5320 (license license:gpl3+)))
5321
5322 (define-public emacs-request
5323 (package
5324 (name "emacs-request")
5325 (version "0.3.1")
5326 (source (origin
5327 (method git-fetch)
5328 (uri (git-reference
5329 (url "https://github.com/tkf/emacs-request.git")
5330 (commit (string-append "v" version))))
5331 (file-name (git-file-name name version))
5332 (sha256
5333 (base32
5334 "0fhhd349l4iqkrjxqzpckfk2w45x2g4cccpm1dqzv9m49md1wphx"))))
5335 (build-system emacs-build-system)
5336 (propagated-inputs
5337 `(("emacs-deferred" ,emacs-deferred)))
5338 (home-page "https://github.com/tkf/emacs-request")
5339 (synopsis "Package for speaking HTTP in Emacs Lisp")
5340 (description "This package provides a HTTP request library with multiple
5341 backends. It supports url.el which is shipped with Emacs and the curl command
5342 line program.")
5343 (license license:gpl3+)))
5344
5345 (define-public emacs-rudel
5346 (package
5347 (name "emacs-rudel")
5348 (version "0.3.1")
5349 (source
5350 (origin
5351 (method url-fetch)
5352 (uri (string-append "http://elpa.gnu.org/packages/rudel-"
5353 version ".tar"))
5354 (sha256
5355 (base32
5356 "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"))))
5357 (build-system emacs-build-system)
5358 (home-page "http://rudel.sourceforge.net/")
5359 (synopsis "Collaborative editing framework")
5360 (description
5361 "Rudel is a collaborative editing environment for GNU Emacs. Its purpose
5362 is to share buffers with other users in order to edit the contents of those
5363 buffers collaboratively. Rudel supports multiple backends to enable
5364 communication with other collaborative editors using different protocols,
5365 though currently Obby (for use with the Gobby editor) is the only
5366 fully-functional one.")
5367 (license license:gpl3+)))
5368
5369 (define-public emacs-hydra
5370 (package
5371 (name "emacs-hydra")
5372 (version "0.15.0")
5373 (source
5374 (origin
5375 (method git-fetch)
5376 (uri (git-reference
5377 (url "https://github.com/abo-abo/hydra")
5378 (commit version)))
5379 (file-name (git-file-name name version))
5380 (sha256
5381 (base32
5382 "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
5383 (build-system emacs-build-system)
5384 (arguments
5385 `(#:tests? #t
5386 #:test-command '("make" "test")))
5387 (home-page "https://github.com/abo-abo/hydra")
5388 (synopsis "Make Emacs bindings that stick around")
5389 (description
5390 "This package can be used to tie related commands into a family of short
5391 bindings with a common prefix---a Hydra. Once you summon the Hydra (through
5392 the prefixed binding), all the heads can be called in succession with only a
5393 short extension. Any binding that isn't the Hydra's head vanquishes the
5394 Hydra. Note that the final binding, besides vanquishing the Hydra, will still
5395 serve its original purpose, calling the command assigned to it. This makes
5396 the Hydra very seamless; it's like a minor mode that disables itself
5397 automatically.")
5398 (license license:gpl3+)))
5399
5400 (define-public emacs-ivy
5401 (package
5402 (name "emacs-ivy")
5403 (version "0.13.0")
5404 (source
5405 (origin
5406 (method git-fetch)
5407 (uri (git-reference
5408 (url "https://github.com/abo-abo/swiper.git")
5409 (commit version)))
5410 (file-name (git-file-name name version))
5411 (sha256
5412 (base32
5413 "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"))))
5414 (build-system emacs-build-system)
5415 (arguments
5416 `(#:phases
5417 (modify-phases %standard-phases
5418 (add-after 'install 'install-doc
5419 (lambda* (#:key outputs #:allow-other-keys)
5420 (let* ((out (assoc-ref outputs "out"))
5421 (info (string-append out "/share/info")))
5422 (with-directory-excursion "doc"
5423 (invoke "makeinfo" "ivy.texi")
5424 (install-file "ivy.info" info)
5425 #t))))
5426 (add-before 'check 'make-dummy-git-directory
5427 (lambda _
5428 (mkdir-p ".git")))
5429 (add-after 'check 'delete-dummy-git-directory
5430 (lambda _
5431 (delete-file-recursively ".git"))))
5432 #:tests? #t
5433 #:test-command '("make" "test")))
5434 (propagated-inputs
5435 `(("emacs-hydra" ,emacs-hydra)))
5436 (native-inputs
5437 `(("texinfo" ,texinfo)
5438 ("emacs-wgrep" ,emacs-wgrep)))
5439 (home-page "http://oremacs.com/swiper/")
5440 (synopsis "Incremental vertical completion for Emacs")
5441 (description
5442 "This package provides @code{ivy-read} as an alternative to
5443 @code{completing-read} and similar functions. No attempt is made to determine
5444 the best candidate. Instead, the user can navigate candidates with
5445 @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
5446 splitting the input text by spaces and re-building it into a regular
5447 expression.")
5448 (license license:gpl3+)))
5449
5450 (define-public emacs-ivy-xref
5451 (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
5452 (revision "1"))
5453 (package
5454 (name "emacs-ivy-xref")
5455 (version (git-version "0.1" revision commit))
5456 (source
5457 (origin
5458 (method git-fetch)
5459 (uri (git-reference
5460 (url "https://github.com/alexmurray/ivy-xref.git")
5461 (commit commit)))
5462 (file-name (git-file-name name version))
5463 (sha256
5464 (base32
5465 "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
5466 (build-system emacs-build-system)
5467 (propagated-inputs
5468 `(("emacs-ivy" ,emacs-ivy)))
5469 (home-page "https://github.com/alexmurray/ivy-xref")
5470 (synopsis "Ivy interface for @code{xref}")
5471 (description "This package provides an Ivy interface for selecting from
5472 @code{xref} results.")
5473 (license license:gpl3))))
5474
5475 (define-public emacs-ivy-pass
5476 (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
5477 (revision "1"))
5478 (package
5479 (name "emacs-ivy-pass")
5480 (version (git-version "0.1" revision commit))
5481 (source
5482 (origin
5483 (method git-fetch)
5484 (uri (git-reference
5485 (url "https://github.com/ecraven/ivy-pass.git")
5486 (commit commit)))
5487 (file-name (git-file-name name version))
5488 (sha256
5489 (base32
5490 "18crb4zh2pjf0cmv3b913m9vfng27girjwfqc3mk7vqd1r5a49yk"))))
5491 (build-system emacs-build-system)
5492 (propagated-inputs
5493 `(("emacs-ivy" ,emacs-ivy)
5494 ("emacs-password-store" ,emacs-password-store)
5495 ("password-store" ,password-store)))
5496 (home-page "https://github.com/ecraven/ivy-pass")
5497 (synopsis "Ivy interface for password store (pass)")
5498 (description "This package provides an Ivy interface for working with
5499 the password store @code{pass}.")
5500 (license license:gpl3))))
5501
5502 (define-public emacs-ivy-yasnippet
5503 (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
5504 (revision "2"))
5505 (package
5506 (name "emacs-ivy-yasnippet")
5507 (version (git-version "0.1" revision commit))
5508 (source
5509 (origin
5510 (method git-fetch)
5511 (uri (git-reference
5512 (url "https://github.com/mkcms/ivy-yasnippet.git")
5513 (commit commit)))
5514 (file-name (git-file-name name version))
5515 (sha256
5516 (base32
5517 "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
5518 (build-system emacs-build-system)
5519 (propagated-inputs
5520 `(("emacs-ivy" ,emacs-ivy)
5521 ("emacs-yasnippet" ,emacs-yasnippet)
5522 ("emacs-dash" ,emacs-dash)))
5523 (home-page "https://github.com/mkcms/ivy-yasnippet")
5524 (synopsis "Preview @code{yasnippets} with @code{ivy}")
5525 (description "This package allows you to select @code{yasnippet}
5526 snippets using @code{ivy} completion. When current selection changes in the
5527 minibuffer, the snippet contents are temporarily expanded in the buffer. To
5528 use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
5529 @code{yas-minor-mode} first).")
5530 (license license:gpl3+))))
5531
5532 (define-public emacs-ivy-rich
5533 ;; The latest release version has a small mistake that has since been fixed,
5534 ;; so we use a more recent commit.
5535 (let ((commit "7a667b135983a1f3ad33d6db8514638e2a3bdfb3")
5536 (revision "2"))
5537 (package
5538 (name "emacs-ivy-rich")
5539 (version (git-version "0.1.4" revision commit))
5540 (source
5541 (origin
5542 (method git-fetch)
5543 (uri (git-reference
5544 (url "https://github.com/Yevgnen/ivy-rich.git")
5545 (commit commit)))
5546 (file-name (git-file-name name version))
5547 (sha256
5548 (base32 "1v5j6pak2j1wjw19y7rx9rhxif0bj2h47xyl2knfcl6fi4qiqm9y"))))
5549 (build-system emacs-build-system)
5550 (propagated-inputs
5551 `(("emacs-ivy" ,emacs-ivy)))
5552 (home-page "https://github.com/Yevgnen/ivy-rich")
5553 (synopsis "More friendly interface for @code{ivy}")
5554 (description
5555 "This package extends @code{ivy} by showing more information in the
5556 minibuffer for each candidate. It adds columns showing buffer modes, file
5557 sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
5558 show icons as well.")
5559 (license license:gpl3+))))
5560
5561 (define-public emacs-avy
5562 (package
5563 (name "emacs-avy")
5564 (version "0.5.0")
5565 (source
5566 (origin
5567 (method git-fetch)
5568 (uri (git-reference
5569 (url "https://github.com/abo-abo/avy.git")
5570 (commit version)))
5571 (file-name (git-file-name name version))
5572 (sha256
5573 (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
5574 (build-system emacs-build-system)
5575 (arguments
5576 `(#:tests? #t
5577 #:test-command '("make" "test")))
5578 (home-page "https://github.com/abo-abo/avy")
5579 (synopsis "Tree-based completion for Emacs")
5580 (description
5581 "This package provides a generic completion method based on building a
5582 balanced decision tree with each candidate being a leaf. To traverse the tree
5583 from the root to a desired leaf, typically a sequence of @code{read-key} can
5584 be used.
5585
5586 In order for @code{read-key} to make sense, the tree needs to be visualized
5587 appropriately, with a character at each branch node. So this completion
5588 method works only for things that you can see on your screen, all at once,
5589 such as the positions of characters, words, line beginnings, links, or
5590 windows.")
5591 (license license:gpl3+)))
5592
5593 (define-public emacs-ace-window
5594 ;; last release version is from 2015
5595 (let ((commit "a5344925e399e1f015721cda6cf5db03c90ab87a")
5596 (revision "1"))
5597 (package
5598 (name "emacs-ace-window")
5599 (version (git-version "0.9.0" revision commit))
5600 (source
5601 (origin
5602 (method git-fetch)
5603 (uri (git-reference
5604 (url "https://github.com/abo-abo/ace-window.git")
5605 (commit commit)))
5606 (file-name (git-file-name name version))
5607 (sha256
5608 (base32
5609 "18jm8gfgnf6ja9aarws5650lw2zfi3wdwc5j8r5ijn5fcqhfy7rc"))))
5610 (build-system emacs-build-system)
5611 (propagated-inputs
5612 `(("emacs-avy" ,emacs-avy)))
5613 (home-page "https://github.com/abo-abo/ace-window")
5614 (synopsis "Quickly switch windows in Emacs")
5615 (description
5616 "@code{ace-window} is meant to replace @code{other-window}.
5617 In fact, when there are only two windows present, @code{other-window} is
5618 called. If there are more, each window will have its first character
5619 highlighted. Pressing that character will switch to that window.")
5620 (license license:gpl3+))))
5621
5622 (define-public emacs-iedit
5623 ;; Last release version was in 2016.
5624 (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f")
5625 (revision "1"))
5626 (package
5627 (name "emacs-iedit")
5628 (version (git-version "0.9.9.9" revision commit))
5629 (source
5630 (origin
5631 (method git-fetch)
5632 (uri (git-reference
5633 (url "https://github.com/victorhge/iedit.git")
5634 (commit commit)))
5635 (file-name (git-file-name name version))
5636 (sha256
5637 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc"))))
5638 (build-system emacs-build-system)
5639 (home-page "http://www.emacswiki.org/emacs/Iedit")
5640 (synopsis "Edit multiple regions in the same way simultaneously")
5641 (description
5642 "This package is an Emacs minor mode and allows you to edit one
5643 occurrence of some text in a buffer (possibly narrowed) or region, and
5644 simultaneously have other occurrences edited in the same way.
5645
5646 You can also use Iedit mode as a quick way to temporarily show only the buffer
5647 lines that match the current text being edited. This gives you the effect of
5648 a temporary @code{keep-lines} or @code{occur}.")
5649 (license license:gpl3+))))
5650
5651 (define-public emacs-zoutline
5652 (package
5653 (name "emacs-zoutline")
5654 (version "0.2.0")
5655 (source
5656 (origin
5657 (method git-fetch)
5658 (uri (git-reference
5659 (url "https://github.com/abo-abo/zoutline")
5660 (commit version)))
5661 (sha256
5662 (base32
5663 "1w0zh6vs7klgivq5r030a82mcfg1zwic4x3fimyiqyg5n8p67hyx"))
5664 (file-name (git-file-name name version))))
5665 (build-system emacs-build-system)
5666 (home-page "https://github.com/abo-abo/zoutline")
5667 (synopsis "Simple outline library")
5668 (description
5669 "This library provides helpers for outlines. Outlines allow users to
5670 navigate code in a tree-like fashion.")
5671 (license license:gpl3+)))
5672
5673 (define-public emacs-lispy
5674 (package
5675 (name "emacs-lispy")
5676 (version "0.27.0")
5677 (home-page "https://github.com/abo-abo/lispy")
5678 (source (origin
5679 (method git-fetch)
5680 (uri (git-reference
5681 (url "https://github.com/abo-abo/lispy")
5682 (commit version)))
5683 (sha256
5684 (base32
5685 "1cm7f4pyl73f3vhkb7ah6bbbrj2sa7n0p31g09k7dy4zgx04bgw6"))
5686 (file-name (git-file-name name version))))
5687 (build-system emacs-build-system)
5688 (propagated-inputs
5689 `(("emacs-ace-window" ,emacs-ace-window)
5690 ("emacs-iedit" ,emacs-iedit)
5691 ("emacs-ivy" ,emacs-ivy)
5692 ("emacs-hydra" ,emacs-hydra)
5693 ("emacs-zoutline" ,emacs-zoutline)))
5694 (native-inputs
5695 `(("emacs-clojure-mode" ,emacs-clojure-mode)
5696 ("emacs-undercover" ,emacs-undercover)))
5697 (arguments
5698 `(#:include (cons* "^lispy-clojure\\.clj$"
5699 "^lispy-python\\.py$"
5700 %default-include)
5701 #:phases
5702 ;; XXX: one failing test involving python evaluation
5703 (modify-phases %standard-phases
5704 (add-before 'check 'make-test-writable
5705 (lambda _
5706 (make-file-writable "lispy-test.el")
5707 #t))
5708 (add-before 'check 'remove-python-eval-test
5709 (lambda _
5710 (emacs-batch-edit-file "lispy-test.el"
5711 `(progn
5712 (progn
5713 (goto-char (point-min))
5714 (re-search-forward
5715 "ert-deftest lispy-eval-python-str")
5716 (beginning-of-line)
5717 (kill-sexp))
5718 (basic-save-buffer)))
5719 #t)))
5720 #:tests? #t
5721 #:test-command '("make" "test")))
5722 (synopsis "Modal S-expression editing")
5723 (description
5724 "Due to the structure of Lisp syntax it's very rare for the programmer
5725 to want to insert characters right before \"(\" or right after \")\". Thus
5726 unprefixed printable characters can be used to call commands when the point is
5727 at one of these special locations. Lispy provides unprefixed keybindings for
5728 S-expression editing when point is at the beginning or end of an
5729 S-expression.")
5730 (license license:gpl3+)))
5731
5732 (define-public emacs-lispyville
5733 (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
5734 (revision "1"))
5735 (package
5736 (name "emacs-lispyville")
5737 (version (git-version "0.1" revision commit))
5738 (home-page "https://github.com/noctuid/lispyville")
5739 (source (origin
5740 (method git-fetch)
5741 (uri (git-reference (url home-page) (commit commit)))
5742 (sha256
5743 (base32
5744 "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
5745 (file-name (git-file-name name version))))
5746 (propagated-inputs
5747 `(("emacs-evil" ,emacs-evil)
5748 ("emacs-lispy" ,emacs-lispy)))
5749 (build-system emacs-build-system)
5750 (arguments
5751 `(#:phases
5752 ;; XXX: mysterious whitespace issue with one test
5753 (modify-phases %standard-phases
5754 (add-before 'check 'make-test-writable
5755 (lambda _
5756 (make-file-writable "lispyville-test.el")
5757 #t))
5758 (add-after 'make-test-writable 'remove-test
5759 (lambda _
5760 (emacs-batch-edit-file "lispyville-test.el"
5761 `(progn (progn (goto-char (point-min))
5762 (re-search-forward
5763 "ert-deftest lispyville-comment-and-clone-dwim")
5764 (beginning-of-line)
5765 (kill-sexp))
5766 (basic-save-buffer))))))
5767 #:tests? #t
5768 #:test-command '("make" "test")))
5769 (synopsis "Minor mode for integrating Evil with lispy")
5770 (description
5771 "LispyVille's main purpose is to provide a Lisp editing environment
5772 suited towards Evil users. It can serve as a minimal layer on top of lispy
5773 for better integration with Evil, but it does not require the use of lispy’s
5774 keybinding style. The provided commands allow for editing Lisp in normal
5775 state and will work even without lispy being enabled.")
5776 (license license:gpl3+))))
5777
5778 (define-public emacs-lpy
5779 (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
5780 (revision "3"))
5781 (package
5782 (name "emacs-lpy")
5783 (version (git-version "0.1.0" revision commit))
5784 (source
5785 (origin
5786 (method git-fetch)
5787 (uri (git-reference
5788 (url "https://github.com/abo-abo/lpy")
5789 (commit commit)))
5790 (sha256
5791 (base32
5792 "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
5793 (file-name (git-file-name name version))))
5794 (propagated-inputs
5795 `(("emacs-zoutline" ,emacs-zoutline)
5796 ("emacs-lispy" ,emacs-lispy)))
5797 (build-system emacs-build-system)
5798 (home-page "https://github.com/abo-abo/lpy")
5799 (synopsis "Modal editing for Python")
5800 (description
5801 "This package provides a minor mode for Python that binds useful
5802 commands to unprefixed keys, such as @code{j} or @code{e}, under certain
5803 circumstances, and leaves the keys untouched outside of those situations,
5804 allowing unprefixed keys to insert their respective characters as expected.")
5805 (license license:gpl3+))))
5806
5807 (define-public emacs-clojure-mode
5808 (package
5809 (name "emacs-clojure-mode")
5810 (version "5.6.1")
5811 (source
5812 (origin
5813 (method git-fetch)
5814 (uri (git-reference
5815 (url "https://github.com/clojure-emacs/clojure-mode.git")
5816 (commit version)))
5817 (file-name (git-file-name name version))
5818 (sha256
5819 (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"))))
5820 (build-system emacs-build-system)
5821 (native-inputs
5822 `(("emacs-dash" ,emacs-dash)
5823 ("emacs-s" ,emacs-s)
5824 ("ert-runner" ,emacs-ert-runner)))
5825 (arguments
5826 `(#:tests? #t
5827 #:test-command '("ert-runner")))
5828 (home-page "https://github.com/clojure-emacs/clojure-mode")
5829 (synopsis "Major mode for Clojure code")
5830 (description
5831 "This Emacs package provides font-lock, indentation, navigation and basic
5832 refactoring for the @uref{http://clojure.org, Clojure programming language}.
5833 It is recommended to use @code{clojure-mode} with paredit or smartparens.")
5834 (license license:gpl3+)))
5835
5836 (define-public emacs-epl
5837 (package
5838 (name "emacs-epl")
5839 (version "0.8")
5840 (source
5841 (origin
5842 (method git-fetch)
5843 (uri (git-reference
5844 (url "https://github.com/cask/epl.git")
5845 (commit version)))
5846 (file-name (git-file-name name version))
5847 (sha256
5848 (base32 "0sjxd5y5hxhrbgfkpwx6m724r3841b53hgc61a0g5zwispw5pmrr"))))
5849 (build-system emacs-build-system)
5850 (home-page "https://github.com/cask/epl")
5851 (synopsis "Emacs Package Library")
5852 (description
5853 "A package management library for Emacs, based on @code{package.el}.
5854
5855 The purpose of this library is to wrap all the quirks and hassle of
5856 @code{package.el} into a sane API.")
5857 (license license:gpl3+)))
5858
5859 (define-public emacs-counsel-projectile
5860 (package
5861 (name "emacs-counsel-projectile")
5862 (version "0.3.0")
5863 (source (origin
5864 (method git-fetch)
5865 (uri (git-reference
5866 (url "https://github.com/ericdanan/counsel-projectile")
5867 (commit version)))
5868 (file-name (git-file-name name version))
5869 (sha256
5870 (base32
5871 "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"))))
5872 (build-system emacs-build-system)
5873 (propagated-inputs
5874 `(("emacs-ivy" ,emacs-ivy)
5875 ("emacs-projectile" ,emacs-projectile)))
5876 (home-page "https://github.com/ericdanan/counsel-projectile")
5877 (synopsis "Enhance Projectile with Ivy")
5878 (description
5879 "This package uses Ivy to provide additional actions for Projectile
5880 commands and replacements for existing functions.")
5881 (license license:gpl3+)))
5882
5883 (define-public emacs-queue
5884 (package
5885 (name "emacs-queue")
5886 (version "0.2")
5887 (source (origin
5888 (method url-fetch)
5889 (uri (string-append "https://elpa.gnu.org/packages/queue-"
5890 version ".el"))
5891 (sha256
5892 (base32
5893 "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb"))))
5894 (build-system emacs-build-system)
5895 (home-page "http://www.dr-qubit.org/tags/computing-code-emacs.html")
5896 (synopsis "Queue data structure for Emacs")
5897 (description
5898 "This Emacs library provides queue data structure. These queues can be
5899 used both as a first-in last-out (FILO) and as a first-in first-out (FIFO)
5900 stack, i.e. elements can be added to the front or back of the queue, and can
5901 be removed from the front. This type of data structure is sometimes called an
5902 \"output-restricted deque\".")
5903 (license license:gpl3+)))
5904
5905 (define-public emacs-pkg-info
5906 (package
5907 (name "emacs-pkg-info")
5908 (version "0.6")
5909 (source
5910 (origin
5911 (method git-fetch)
5912 (uri (git-reference
5913 (url "https://github.com/lunaryorn/pkg-info.el.git")
5914 (commit version)))
5915 (file-name (git-file-name name version))
5916 (sha256
5917 (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
5918 (build-system emacs-build-system)
5919 (propagated-inputs `(("emacs-epl" ,emacs-epl)))
5920 (home-page "https://github.com/lunaryorn/pkg-info.el")
5921 (synopsis "Information about Emacs packages")
5922 (description
5923 "This library extracts information from the installed Emacs packages.")
5924 (license license:gpl3+)))
5925
5926 (define-public emacs-spinner
5927 (package
5928 (name "emacs-spinner")
5929 (version "1.7.3")
5930 (source (origin
5931 (method url-fetch)
5932 (uri (string-append "https://elpa.gnu.org/packages/spinner-"
5933 version ".el"))
5934 (sha256
5935 (base32
5936 "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
5937 (build-system emacs-build-system)
5938 (home-page "https://github.com/Malabarba/spinner.el")
5939 (synopsis "Emacs mode-line spinner for operations in progress")
5940 (description
5941 "This Emacs package adds spinners and progress-bars to the mode-line for
5942 ongoing operations.")
5943 (license license:gpl3+)))
5944
5945 (define-public emacs-sparql-mode
5946 (package
5947 (name "emacs-sparql-mode")
5948 (version "2.0.1")
5949 (source
5950 (origin
5951 (method git-fetch)
5952 (uri (git-reference
5953 (url "https://github.com/ljos/sparql-mode.git")
5954 (commit (string-append "v" version))))
5955 (file-name (git-file-name name version))
5956 (sha256
5957 (base32 "0ywhqk6n5k0l85zjwbnrivnvxjzqipqrggv06lify6yv18qmyl6s"))))
5958 (build-system emacs-build-system)
5959 (home-page "https://github.com/ljos/sparql-mode")
5960 (synopsis "SPARQL mode for Emacs")
5961 (description "This package provides a major mode for Emacs that provides
5962 syntax highlighting for SPARQL. It also provides a way to execute queries
5963 against a SPARQL HTTP endpoint, such as is provided by Fuseki. It is also
5964 possible to query other endpoints like DBPedia.")
5965 (license license:gpl3+)))
5966
5967 (define-public emacs-better-defaults
5968 (package
5969 (name "emacs-better-defaults")
5970 (version "0.1.3")
5971 (source
5972 (origin
5973 (method git-fetch)
5974 (uri (git-reference
5975 (url "https://github.com/technomancy/better-defaults")
5976 (commit version)))
5977 (file-name (git-file-name name version))
5978 (sha256
5979 (base32
5980 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
5981 (build-system emacs-build-system)
5982 (home-page "https://github.com/technomancy/better-defaults")
5983 (synopsis "Better defaults for Emacs")
5984 (description
5985 "Better defaults attempts to address the most obvious deficiencies of the
5986 Emacs default configuration in uncontroversial ways that nearly everyone can
5987 agree upon.")
5988 (license license:gpl3+)))
5989
5990 (define-public emacs-undohist-el
5991 (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
5992 (revision "1"))
5993 (package
5994 (name "emacs-undohist-el")
5995 (version (git-version "0" revision commit))
5996 (source
5997 (origin
5998 (method git-fetch)
5999 (uri (git-reference
6000 (url "https://github.com/m2ym/undohist-el")
6001 (commit commit)))
6002 (file-name (git-file-name name version))
6003 (sha256
6004 (base32
6005 "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
6006 (patches
6007 (search-patches "emacs-undohist-ignored.patch"))))
6008 (build-system emacs-build-system)
6009 (home-page "https://github.com/m2ym/undohist-el")
6010 (synopsis "Save undo history between sessions")
6011 (description "This package allows persistent use of undo history for
6012 individual file buffers.")
6013 (license license:gpl3+))))
6014
6015 (define-public emacs-eprime
6016 (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
6017 (package
6018 (name "emacs-eprime")
6019 (version (string-append "20140513-" (string-take commit 7)))
6020 (source (origin
6021 (method url-fetch)
6022 (uri (string-append "https://raw.githubusercontent.com"
6023 "/AndrewHynes/eprime-mode/"
6024 commit "/eprime-mode.el"))
6025 (file-name (string-append "eprime-" version ".el"))
6026 (sha256
6027 (base32
6028 "0v68lggkyq7kbcr9zyi573m2g2x251xy3jadlaw8kx02l8krwq8d"))))
6029 (build-system emacs-build-system)
6030 (home-page "https://github.com/AndrewHynes/eprime-mode")
6031 (synopsis "E-prime checking mode for Emacs")
6032 (description "This package provides an E-prime checking mode for Emacs
6033 that highlights non-conforming text. The subset of the English language called
6034 E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
6035 (license license:gpl3+))))
6036
6037 (define-public emacs-julia-mode
6038 ;; XXX: Upstream version remained stuck at 0.3. See
6039 ;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/46>.
6040 (let ((commit "115d4dc8a07445301772da8376b232fa8c7168f4")
6041 (revision "1"))
6042 (package
6043 (name "emacs-julia-mode")
6044 (version (string-append "0.3-" revision "." (string-take commit 8)))
6045 (source
6046 (origin
6047 (method git-fetch)
6048 (uri (git-reference
6049 (url "https://github.com/JuliaEditorSupport/julia-emacs.git")
6050 (commit commit)))
6051 (file-name (git-file-name name version))
6052 (sha256
6053 (base32
6054 "1is4dcv6blslpzbjcg8l2jpxi8xj96q4cm0nxjxsyswpm8bw8ki0"))))
6055 (build-system emacs-build-system)
6056 (arguments
6057 `(#:tests? #t
6058 #:test-command '("emacs" "--batch"
6059 "-l" "julia-mode-tests.el"
6060 "-f" "ert-run-tests-batch-and-exit")))
6061 (home-page "https://github.com/JuliaEditorSupport/julia-emacs")
6062 (synopsis "Major mode for Julia")
6063 (description "This Emacs package provides a mode for the Julia
6064 programming language.")
6065 (license license:expat))))
6066
6067 (define-public emacs-smex
6068 (package
6069 (name "emacs-smex")
6070 (version "3.0")
6071 (source (origin
6072 (method url-fetch)
6073 (uri (string-append "https://raw.githubusercontent.com"
6074 "/nonsequitur/smex/" version "/smex.el"))
6075 (file-name (string-append "smex-" version ".el"))
6076 (sha256
6077 (base32
6078 "0ar310zx9k5y4i1vl2rawvi712xj9gx77160860jbs691p77cxqp"))))
6079 (build-system emacs-build-system)
6080 (home-page "https://github.com/nonsequitur/smex/")
6081 (synopsis "M-x interface with Ido-style fuzzy matching")
6082 (description
6083 "Smex is a M-x enhancement for Emacs. Built on top of Ido, it provides a
6084 convenient interface to your recently and most frequently used commands. And
6085 to all the other commands, too.")
6086 (license license:gpl3+)))
6087
6088 (define-public emacs-js2-mode
6089 (package
6090 (name "emacs-js2-mode")
6091 (version "20190219")
6092 (source
6093 (origin
6094 (method git-fetch)
6095 (uri (git-reference
6096 (url "https://github.com/mooz/js2-mode.git")
6097 (commit version)))
6098 (file-name (git-file-name name version))
6099 (sha256
6100 (base32 "0766bbr4piia9vfr4ivd2gwi8dxah654adv6h28ylz4q8xmfzm1b"))))
6101 (build-system emacs-build-system)
6102 (arguments
6103 `(#:tests? #t
6104 #:test-command '("make" "test")))
6105 (home-page "https://github.com/mooz/js2-mode/")
6106 (synopsis "Improved JavaScript editing mode for Emacs")
6107 (description
6108 "Js2-mode provides a JavaScript major mode for Emacs that is more
6109 advanced than the built-in javascript-mode. Features include accurate syntax
6110 highlighting using a recursive-descent parser, on-the-fly reporting of syntax
6111 errors and strict-mode warnings, smart line-wrapping within comments and
6112 strings, and code folding.")
6113 (license license:gpl3+)))
6114
6115 (define-public emacs-nodejs-repl
6116 (package
6117 (name "emacs-nodejs-repl")
6118 (version "0.2.2")
6119 (source (origin
6120 (method git-fetch)
6121 (uri (git-reference
6122 (url "https://github.com/abicky/nodejs-repl.el")
6123 (commit version)))
6124 (file-name (git-file-name name version))
6125 (sha256
6126 (base32
6127 "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
6128 (build-system emacs-build-system)
6129 (inputs
6130 `(("node" ,node)))
6131 (native-inputs
6132 `(("emacs-ert-expectations" ,emacs-ert-expectations)))
6133 (arguments
6134 `(#:phases
6135 (modify-phases %standard-phases
6136 (add-after 'unpack 'set-shell
6137 ;; Setting the SHELL environment variable is required for the tests
6138 ;; to find sh.
6139 (lambda _
6140 (setenv "SHELL" (which "sh"))
6141 #t))
6142 (add-after 'unpack 'configure
6143 (lambda* (#:key inputs outputs #:allow-other-keys)
6144 (let ((node (assoc-ref inputs "node")))
6145 ;; Specify the absolute file names of the various
6146 ;; programs so that everything works out-of-the-box.
6147 (make-file-writable "nodejs-repl.el")
6148 (emacs-substitute-variables
6149 "nodejs-repl.el"
6150 ("nodejs-repl-command"
6151 (string-append node "/bin/node")))))))
6152 #:tests? #t
6153 #:test-command '("emacs" "-Q" "--batch"
6154 "-L" "."
6155 "-l" "test/test.el"
6156 "-f" "ert-run-tests-batch-and-exit")))
6157 (home-page "https://github.com/abicky/nodejs-repl.el")
6158 (synopsis "Node.js REPL inside Emacs")
6159 (description
6160 "This program is derived from comint-mode and provides the following
6161 features:
6162
6163 @itemize
6164 @item TAB completion same as Node.js REPL
6165 @item file name completion in string
6166 @item incremental history search
6167 @end itemize")
6168 (license license:gpl3+)))
6169
6170 (define-public emacs-typescript-mode
6171 (package
6172 (name "emacs-typescript-mode")
6173 (version "0.3")
6174 (source (origin
6175 (method git-fetch)
6176 (uri (git-reference
6177 (url "https://github.com/ananthakumaran/typescript.el")
6178 (commit (string-append "v" version))))
6179 (file-name (git-file-name name version))
6180 (sha256
6181 (base32
6182 "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
6183 (build-system emacs-build-system)
6184 (home-page "https://github.com/ananthakumaran/typescript.el")
6185 (synopsis "Emacs major mode for editing Typescript code")
6186 (description
6187 "This is based on Karl Landstrom's barebones @code{typescript-mode}.
6188 This is much more robust and works with @code{cc-mode}'s comment
6189 filling (mostly). The modifications to the original @code{javascript.el} mode
6190 mainly consisted in replacing \"javascript\" with \"typescript\"
6191
6192 The main features of this Typescript mode are syntactic highlighting (enabled
6193 with @code{font-lock-mode} or @code{global-font-lock-mode}), automatic
6194 indentation and filling of comments and C preprocessor fontification.")
6195 (license license:gpl3+)))
6196
6197 (define-public emacs-tide
6198 (package
6199 (name "emacs-tide")
6200 (version "3.2.3")
6201 (source (origin
6202 (method git-fetch)
6203 (uri (git-reference
6204 (url "https://github.com/ananthakumaran/tide")
6205 (commit (string-append "v" version))))
6206 (file-name (git-file-name name version))
6207 (sha256
6208 (base32
6209 "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
6210 (build-system emacs-build-system)
6211 (propagated-inputs
6212 `(("emacs-dash" ,emacs-dash)
6213 ("emacs-s" ,emacs-s)
6214 ("emacs-flycheck" ,emacs-flycheck)
6215 ("emacs-typescript-mode" ,emacs-typescript-mode)))
6216 (home-page "https://github.com/ananthakumaran/tide")
6217 (synopsis "Typescript IDE for Emacs")
6218 (description
6219 "Tide is an Interactive Development Environment (IDE) for Emacs which
6220 provides the following features:
6221
6222 @itemize
6223 @item ElDoc
6224 @item Auto complete
6225 @item Flycheck
6226 @item Jump to definition, Jump to type definition
6227 @item Find occurrences
6228 @item Rename symbol
6229 @item Imenu
6230 @item Compile On Save
6231 @item Highlight Identifiers
6232 @item Code Fixes
6233 @item Code Refactor
6234 @item Organize Imports
6235 @end itemize")
6236 (license license:gpl3+)))
6237
6238 (define-public emacs-markdown-mode
6239 (package
6240 (name "emacs-markdown-mode")
6241 (version "2.3")
6242 (source (origin
6243 (method git-fetch)
6244 (uri (git-reference
6245 (url "https://github.com/jrblevin/markdown-mode.git")
6246 (commit (string-append "v" version))))
6247 (file-name (git-file-name name version))
6248 (sha256
6249 (base32
6250 "1zm1j4w0f3h01bmmpsv4j4mh6i13nnl8fcqlj2hsa1ncy1lgi8q7"))))
6251 (build-system emacs-build-system)
6252 (home-page "http://jblevins.org/projects/markdown-mode/")
6253 (synopsis "Emacs Major mode for Markdown files")
6254 (description
6255 "Markdown-mode is a major mode for editing Markdown-formatted text files
6256 in Emacs.")
6257 (license license:gpl3+)))
6258
6259 (define-public emacs-evil-markdown
6260 (let ((commit "46cd81b37991c4325fc24015a610f832b0ff995d")
6261 (revision "1"))
6262 (package
6263 (name "emacs-evil-markdown")
6264 (version (git-version "0.0.2" revision commit))
6265 (source (origin
6266 (method git-fetch)
6267 (uri (git-reference
6268 (url "https://github.com/Somelauw/evil-markdown.git")
6269 (commit commit)))
6270 (file-name (git-file-name name version))
6271 (sha256
6272 (base32
6273 "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4"))))
6274 (build-system emacs-build-system)
6275 (propagated-inputs
6276 `(("emacs-markdown-mode" ,emacs-markdown-mode)
6277 ("emacs-evil" ,emacs-evil)))
6278 (home-page "http://jblevins.org/projects/evil-markdown/")
6279 (synopsis "Evil keybindings for @code{markdown-mode}")
6280 (description
6281 "This package provides custom text objects and bindings for
6282 @code{markdown-mode}.")
6283 (license license:gpl3+))))
6284
6285 (define-public emacs-edit-indirect
6286 (package
6287 (name "emacs-edit-indirect")
6288 (version "0.1.5")
6289 (source
6290 (origin
6291 (method git-fetch)
6292 (uri (git-reference
6293 (url "https://github.com/Fanael/edit-indirect")
6294 (commit version)))
6295 (file-name (git-file-name name version))
6296 (sha256
6297 (base32
6298 "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
6299 (build-system emacs-build-system)
6300 (home-page "https://github.com/Fanael/edit-indirect")
6301 (synopsis "Edit regions in separate buffers")
6302 (description "This package allows you to edit regions in separate buffers,
6303 like @code{org-edit-src-code} but for arbitrary regions.")
6304 (license license:gpl3+)))
6305
6306 (define-public emacs-projectile
6307 (package
6308 (name "emacs-projectile")
6309 (version "2.0.0")
6310 (source (origin
6311 (method url-fetch)
6312 (uri (string-append "https://raw.githubusercontent.com/bbatsov"
6313 "/projectile/v" version "/projectile.el"))
6314 (file-name (string-append "projectile-" version ".el"))
6315 (sha256
6316 (base32
6317 "149hablms6n9b4wp78dz4pjz1rzyylfw9ayghq5p9d7k661mvyby"))))
6318 (build-system emacs-build-system)
6319 (propagated-inputs
6320 `(("emacs-dash" ,emacs-dash)
6321 ("emacs-pkg-info" ,emacs-pkg-info)))
6322 (home-page "https://github.com/bbatsov/projectile")
6323 (synopsis "Manage and navigate projects in Emacs easily")
6324 (description
6325 "This library provides easy project management and navigation. The
6326 concept of a project is pretty basic - just a folder containing special file.
6327 Currently git, mercurial and bazaar repos are considered projects by default.
6328 If you want to mark a folder manually as a project just create an empty
6329 .projectile file in it.")
6330 (license license:gpl3+)))
6331
6332 (define-public emacs-skeletor
6333 (let ((commit "47c5b761aee8452716c97a69949ac2f675affe13")
6334 (revision "1"))
6335 (package
6336 (name "emacs-skeletor")
6337 (version (git-version "1.6.1" revision commit))
6338 (source (origin
6339 (method git-fetch)
6340 (uri (git-reference
6341 (url "https://github.com/chrisbarrett/skeletor.el.git")
6342 (commit commit)))
6343 (file-name (git-file-name name version))
6344 (sha256
6345 (base32
6346 "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"))))
6347 (build-system emacs-build-system)
6348 (propagated-inputs
6349 `(("emacs-s" ,emacs-s)
6350 ("emacs-f" ,emacs-f)
6351 ("emacs-dash" ,emacs-dash)
6352 ("emacs-let-alist" ,emacs-let-alist)))
6353 (native-inputs
6354 `(("emacs-ert-runner" ,emacs-ert-runner)))
6355 (arguments
6356 `(#:include (cons "^project-skeletons\\/" %default-include)
6357 ;; XXX: one failing test involving initializing a git repo
6358 #:phases
6359 (modify-phases %standard-phases
6360 (add-before 'check 'make-test-writable
6361 (lambda _
6362 (make-file-writable "test/skeletor-test.el")
6363 #t))
6364 (add-before 'check 'remove-git-test
6365 (lambda _
6366 (emacs-batch-edit-file "test/skeletor-test.el"
6367 `(progn
6368 (progn
6369 (goto-char (point-min))
6370 (re-search-forward
6371 "ert-deftest initialises-git-repo")
6372 (beginning-of-line)
6373 (kill-sexp))
6374 (basic-save-buffer)))
6375 #t)))
6376 #:tests? #t
6377 #:test-command '("ert-runner")))
6378 (home-page "https://github.com/chrisbarrett/skeletor.el")
6379 (synopsis "Project skeletons for Emacs")
6380 (description "This package provides project templates and automates the
6381 mundane parts of setting up a new project, such as version control, licenses,
6382 and tooling.")
6383 (license license:gpl3+))))
6384
6385 (define-public emacs-elfeed
6386 (package
6387 (name "emacs-elfeed")
6388 (version "3.3.0")
6389 (source
6390 (origin
6391 (method git-fetch)
6392 (uri (git-reference
6393 (url "https://github.com/skeeto/elfeed.git")
6394 (commit version)))
6395 (file-name (git-file-name name version))
6396 (sha256
6397 (base32 "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5"))))
6398 (build-system emacs-build-system)
6399 (arguments
6400 `(#:tests? #t
6401 #:test-command '("make" "test")))
6402 (home-page "https://github.com/skeeto/elfeed")
6403 (synopsis "Atom/RSS feed reader for Emacs")
6404 (description
6405 "Elfeed is an extensible web feed reader for Emacs, supporting both Atom
6406 and RSS, with a user interface inspired by notmuch.")
6407 (license license:gpl3+)))
6408
6409 (define-public emacs-elfeed-org
6410 (let ((commit "77b6bbf222487809813de260447d31c4c59902c9"))
6411 (package
6412 (name "emacs-elfeed-org")
6413 (version (git-version "0.1" "1" commit))
6414 (source
6415 (origin
6416 (method git-fetch)
6417 (uri (git-reference
6418 (url "https://github.com/remyhonig/elfeed-org.git")
6419 (commit commit)))
6420 (file-name (git-file-name name version))
6421 (sha256
6422 (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
6423 (build-system emacs-build-system)
6424 (propagated-inputs
6425 `(("emacs-elfeed" ,emacs-elfeed)
6426 ("emacs-org" ,emacs-org)
6427 ("emacs-dash" ,emacs-dash)
6428 ("emacs-s" ,emacs-s)))
6429 (native-inputs
6430 `(("ert-runner" ,emacs-ert-runner)
6431 ("emacs-xtest" ,emacs-xtest)))
6432 (arguments
6433 `(#:tests? #t
6434 #:test-command '("ert-runner" "-L" "org-mode/lisp")
6435 #:phases
6436 (modify-phases %standard-phases
6437 (add-before 'check 'chmod
6438 (lambda _
6439 (chmod "test/fixture-mark-feed-ignore.org" #o644)
6440 #t)))))
6441 (home-page "https://github.com/remyhonig/elfeed-org")
6442 (synopsis "Configure Elfeed with an Org-mode file")
6443 (description
6444 "@code{elfeed-org} lets you manage your Elfeed subscriptions
6445 in Org-mode. Maintaining tags for all RSS feeds is cumbersome using
6446 the regular flat list, where there is no hierarchy and tag names are
6447 duplicated a lot. Org-mode makes the book keeping of tags and feeds
6448 much easier.")
6449 (license license:gpl3+))))
6450
6451 (define-public emacs-el-x
6452 (package
6453 (name "emacs-el-x")
6454 (version "0.3.1")
6455 (source (origin
6456 (method git-fetch)
6457 (uri (git-reference
6458 (url "https://github.com/sigma/el-x.git")
6459 (commit (string-append "v" version))))
6460 (file-name (git-file-name name version))
6461 (sha256
6462 (base32
6463 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
6464 (build-system emacs-build-system)
6465 (arguments
6466 `(#:phases
6467 (modify-phases %standard-phases
6468 ;; Move the source files to the top level, which is included in
6469 ;; the EMACSLOADPATH.
6470 (add-after 'unpack 'move-source-files
6471 (lambda _
6472 (let ((el-files (find-files "./lisp" ".*\\.el$")))
6473 (for-each (lambda (f)
6474 (rename-file f (basename f)))
6475 el-files))
6476 #t)))))
6477 (home-page "https://github.com/sigma/el-x")
6478 (synopsis "Emacs Lisp extensions")
6479 (description "command@{emacs-el-x} defines the @code{dflet} macro to
6480 provide the historic behavior of @code{flet}, as well as
6481 @code{declare-function} stub for older Emacs.")
6482 (license license:gpl2+)))
6483
6484 (define-public emacs-mocker
6485 (package
6486 (name "emacs-mocker")
6487 (version "0.3.1")
6488 (source (origin
6489 (method git-fetch)
6490 (uri (git-reference
6491 (url "https://github.com/sigma/mocker.el.git")
6492 (commit (string-append "v" version))))
6493 (file-name (git-file-name name version))
6494 (sha256
6495 (base32
6496 "1lav7am41v63xgavq8pr88y828jmd1cxd4prjq7jlbxm6nvrwxh2"))))
6497 (build-system emacs-build-system)
6498 (arguments
6499 `(#:tests? #t
6500 #:test-command '("ert-runner")))
6501 (native-inputs
6502 `(("ert-runner" ,emacs-ert-runner)))
6503 (propagated-inputs
6504 `(("emacs-el-x" ,emacs-el-x)))
6505 (home-page "https://github.com/sigma/mocker.el")
6506 (synopsis "Mocking framework for Emacs Lisp")
6507 (description "Mocker.el is a framework for writing tests in Emacs Lisp.
6508 It uses regular Lisp rather than a domain specific language (DSL), which
6509 maximizes flexibility (at the expense of conciseness).")
6510 (license license:gpl2+)))
6511
6512 (define-public emacs-find-file-in-project
6513 (package
6514 (name "emacs-find-file-in-project")
6515 (version "5.7.7")
6516 (source (origin
6517 (method git-fetch)
6518 (uri (git-reference
6519 (url "https://github.com/technomancy/find-file-in-project.git")
6520 (commit version)))
6521 (file-name (git-file-name name version))
6522 (sha256
6523 (base32
6524 "1skjbh7m0cck2rwmgzrrds51gipqf1jqghyfx15drc1n6kwivx3h"))))
6525 (build-system emacs-build-system)
6526 (arguments
6527 `(#:tests? #t
6528 #:test-command '("ert-runner" "tests")))
6529 (native-inputs
6530 `(("ert-runner" ,emacs-ert-runner)))
6531 (home-page "https://github.com/technomancy/find-file-in-project")
6532 (synopsis "File/directory finder for Emacs")
6533 (description "@code{find-file-in-project} allows to find files or
6534 directories quickly in the current project. The project root is detected
6535 automatically when Git, Subversion or Mercurial are used. It also provides
6536 functions to assist in reviewing changes on files.")
6537 (license license:gpl3+)))
6538
6539 (define-public emacs-pyvenv
6540 (package
6541 (name "emacs-pyvenv")
6542 (version "1.20")
6543 (source (origin
6544 (method git-fetch)
6545 (uri (git-reference
6546 (url "https://github.com/jorgenschaefer/pyvenv.git")
6547 (commit (string-append "v" version))))
6548 (file-name (git-file-name name version))
6549 (sha256
6550 (base32
6551 "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"))))
6552 (build-system emacs-build-system)
6553 (arguments
6554 `(#:phases
6555 (modify-phases %standard-phases
6556 ;; This phase incorrectly attempts to substitute "activate" and fails
6557 ;; doing so.
6558 (delete 'patch-el-files))
6559 #:tests? #t
6560 #:test-command '("ert-runner")))
6561 (native-inputs
6562 `(("ert-runner" ,emacs-ert-runner)
6563 ("emacs-mocker" ,emacs-mocker)))
6564 (home-page "https://github.com/jorgenschaefer/pyvenv")
6565 (synopsis "Python virtual environment interface for Emacs")
6566 (description "pyvenv.el is a minor mode to support using Python virtual
6567 environments (virtualenv) inside Emacs.")
6568 (license license:gpl3+)))
6569
6570 (define-public emacs-highlight-indentation
6571 ;; Last release version is from 2015.
6572 (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f")
6573 (revision "1"))
6574 (package
6575 (name "emacs-highlight-indentation")
6576 (version (git-version "0.7.0" revision commit))
6577 (source
6578 (origin
6579 (method git-fetch)
6580 (uri (git-reference
6581 (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git")
6582 (commit commit)))
6583 (file-name (git-file-name name version))
6584 (sha256
6585 (base32
6586 "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"))))
6587 (build-system emacs-build-system)
6588 (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/")
6589 (synopsis "Highlighting indentation for Emacs")
6590 (description "This package provides two minor modes to highlight
6591 indentation guides in Emacs:
6592
6593 @enumerate
6594 @item @code{highlight-indentation-mode}, which displays guidelines
6595 indentation (space indentation only).
6596 @item @code{highlight-indentation-current-column-mode}, which displays
6597 guidelines for the current-point indentation (space indentation only).
6598 @end enumerate")
6599 (license license:gpl2+))))
6600
6601 (define-public emacs-elpy
6602 (package
6603 (name "emacs-elpy")
6604 (version "1.31.0")
6605 (source (origin
6606 (method git-fetch)
6607 (uri (git-reference
6608 (url "https://github.com/jorgenschaefer/elpy.git")
6609 (commit version)))
6610 (file-name (git-file-name name version))
6611 (sha256
6612 (base32
6613 "0bvmgqs3c80bhs9v5ymgadv7vk4iamha10y7rl09pixmjm4mzagk"))))
6614 (build-system emacs-build-system)
6615 (arguments
6616 `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
6617 #:phases
6618 ;; TODO: Make `elpy-config' display Guix commands :)
6619 (modify-phases %standard-phases
6620 ;; One elpy test depends on being run inside a Python virtual
6621 ;; environment to pass. We have nothing to gain from doing so here,
6622 ;; so we just trick Elpy into thinking we are (see:
6623 ;; https://github.com/jorgenschaefer/elpy/pull/1293).
6624 (add-before 'check 'fake-virtualenv
6625 (lambda _
6626 (setenv "VIRTUAL_ENV" "/tmp")
6627 #t))
6628 (add-before 'check 'build-doc
6629 (lambda _
6630 (with-directory-excursion "docs"
6631 (invoke "make" "info" "man"))
6632 ;; Move .info file at the root so that it can installed by the
6633 ;; 'move-doc phase.
6634 (rename-file "docs/_build/texinfo/Elpy.info" "Elpy.info")
6635 #t))
6636 (add-after 'build-doc 'install-manpage
6637 (lambda* (#:key outputs #:allow-other-keys)
6638 (let* ((out (assoc-ref outputs "out"))
6639 (man1 (string-append out "/share/man/man1")))
6640 (mkdir-p man1)
6641 (copy-file "docs/_build/man/elpy.1"
6642 (string-append man1 "/elpy.1")))
6643 #t)))
6644 #:tests? #t
6645 #:test-command '("ert-runner")))
6646 (propagated-inputs
6647 `(("emacs-company" ,emacs-company)
6648 ("emacs-find-file-in-project" ,emacs-find-file-in-project)
6649 ("emacs-highlight-indentation" ,emacs-highlight-indentation)
6650 ("emacs-yasnippet" ,emacs-yasnippet)
6651 ("pyvenv" ,emacs-pyvenv)
6652 ("s" ,emacs-s)))
6653 (native-inputs
6654 `(("ert-runner" ,emacs-ert-runner)
6655 ("emacs-f" ,emacs-f)
6656 ("python" ,python-wrapper)
6657 ("python-autopep8" ,python-autopep8)
6658 ("python-black" ,python-black)
6659 ("python-flake8" ,python-flake8)
6660 ("python-jedi" ,python-jedi)
6661 ("python-yapf" ,python-yapf)
6662 ;; For documentation.
6663 ("python-sphinx" ,python-sphinx)
6664 ("texinfo" ,texinfo)))
6665 (home-page "https://github.com/jorgenschaefer/elpy")
6666 (synopsis "Python development environment for Emacs")
6667 (description "Elpy brings powerful Python editing to Emacs. It combines
6668 and configures a number of other packages written in Emacs Lisp as well as
6669 Python, together offering features such as navigation, documentation,
6670 completion, interactive development and more.")
6671 (license license:gpl3+)))
6672
6673 (define-public emacs-rainbow-delimiters
6674 (package
6675 (name "emacs-rainbow-delimiters")
6676 (version "2.1.4")
6677 (source (origin
6678 (method git-fetch)
6679 (uri (git-reference
6680 (url "https://github.com/Fanael/rainbow-delimiters.git")
6681 (commit version)))
6682 (file-name (git-file-name name version))
6683 (sha256
6684 (base32
6685 "1zr2669savnmkc68hiqsq9wccm6bs1j6jbmlac1xqh6nq7xgq36g"))))
6686 (build-system emacs-build-system)
6687 (home-page "https://github.com/Fanael/rainbow-delimiters")
6688 (arguments
6689 `(#:tests? #t
6690 #:test-command '("emacs" "-Q" "-batch"
6691 "-l" "rainbow-delimiters-test.el"
6692 "-f" "ert-run-tests-batch-and-exit")))
6693 (synopsis "Highlight brackets according to their depth")
6694 (description
6695 "Rainbow-delimiters is a \"rainbow parentheses\"-like mode for Emacs which
6696 highlights parentheses, brackets, and braces according to their depth. Each
6697 successive level is highlighted in a different color, making it easy to spot
6698 matching delimiters, orient yourself in the code, and tell which statements
6699 are at a given level.")
6700 (license license:gpl3+)))
6701
6702 (define-public emacs-rainbow-identifiers
6703 (package
6704 (name "emacs-rainbow-identifiers")
6705 (version "0.2.2")
6706 (source (origin
6707 (method url-fetch)
6708 (uri (string-append "https://raw.githubusercontent.com/Fanael"
6709 "/rainbow-identifiers/" version
6710 "/rainbow-identifiers.el"))
6711 (file-name (string-append "rainbow-identifiers-" version ".el"))
6712 (sha256
6713 (base32
6714 "0325abxj47k0g1i8nqrq70w2wr6060ckhhf92krv1s072b3jzm31"))))
6715 (build-system emacs-build-system)
6716 (home-page "https://github.com/Fanael/rainbow-identifiers")
6717 (synopsis "Highlight identifiers in source code")
6718 (description
6719 "Rainbow identifiers mode is an Emacs minor mode providing highlighting of
6720 identifiers based on their names. Each identifier gets a color based on a hash
6721 of its name.")
6722 (license license:bsd-2)))
6723
6724 (define-public emacs-rainbow-mode
6725 (package
6726 (name "emacs-rainbow-mode")
6727 (version "1.0.2")
6728 (source (origin
6729 (method url-fetch)
6730 (uri (string-append
6731 "https://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
6732 (sha256
6733 (base32
6734 "1zfqj63sr07pdlwy7caz4fxsjhmbhh939n81z6jxq9xggm8ajxkd"))))
6735 (build-system emacs-build-system)
6736 (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
6737 (synopsis "Colorize color names in buffers")
6738 (description
6739 "This minor mode sets background color to strings that match color
6740 names, e.g. #0000ff is displayed in white with a blue background.")
6741 (license license:gpl3+)))
6742
6743 (define-public emacs-visual-fill-column
6744 (package
6745 (name "emacs-visual-fill-column")
6746 (version "1.11")
6747 (source (origin
6748 (method url-fetch)
6749 (uri (string-append "https://codeload.github.com/joostkremers/"
6750 "visual-fill-column/tar.gz/" version))
6751 (file-name (string-append name "-" version ".tar.gz"))
6752 (sha256
6753 (base32
6754 "13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
6755 (build-system emacs-build-system)
6756 (home-page "https://github.com/joostkremers/visual-fill-column")
6757 (synopsis "Fill-column for visual-line-mode")
6758 (description
6759 "@code{visual-fill-column-mode} is a small Emacs minor mode that mimics
6760 the effect of @code{fill-column} in @code{visual-line-mode}. Instead of
6761 wrapping lines at the window edge, which is the standard behaviour of
6762 @code{visual-line-mode}, it wraps lines at @code{fill-column}. If
6763 @code{fill-column} is too large for the window, the text is wrapped at the
6764 window edge.")
6765 (license license:gpl3+)))
6766
6767 (define-public emacs-writeroom
6768 (package
6769 (name "emacs-writeroom")
6770 (version "3.9")
6771 (source
6772 (origin
6773 (method git-fetch)
6774 (uri (git-reference
6775 (url "https://github.com/joostkremers/writeroom-mode.git")
6776 (commit version)))
6777 (file-name (git-file-name name version))
6778 (sha256
6779 (base32
6780 "1nrppnfqsaki6myp58w8jhmzb94rzskh5n98glcn4ghr8sqnafi8"))))
6781 (build-system emacs-build-system)
6782 (propagated-inputs
6783 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
6784 (home-page "https://github.com/joostkremers/writeroom-mode")
6785 (synopsis "Distraction-free writing for Emacs")
6786 (description
6787 "This package defines a minor mode for distraction-free writing. Some of
6788 the default effects include entering fullscreen, deleting other windows of the
6789 current frame, disabling the mode line, and adding margins to the buffer that
6790 restrict the text width to 80 characters.")
6791 (license license:bsd-3)))
6792
6793 (define-public emacs-ido-completing-read+
6794 (package
6795 (name "emacs-ido-completing-read+")
6796 (version "3.12")
6797 (source (origin
6798 (method url-fetch)
6799 (uri (string-append "https://raw.githubusercontent.com"
6800 "/DarwinAwardWinner/ido-ubiquitous/v"
6801 version "/ido-completing-read+.el"))
6802 (file-name (string-append "ido-completing-read+-" version ".el"))
6803 (sha256
6804 (base32
6805 "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
6806 (build-system emacs-build-system)
6807 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6808 (synopsis "Replacement for completing-read using ido")
6809 (description
6810 "The ido-completing-read+ function is a wrapper for ido-completing-read.
6811 Importantly, it detects edge cases that ordinary ido cannot handle and either
6812 adjusts them so ido can handle them, or else simply falls back to the standard
6813 Emacs completion function instead.")
6814 (license license:gpl3+)))
6815
6816 (define-public emacs-ido-ubiquitous
6817 (package
6818 (name "emacs-ido-ubiquitous")
6819 (version "3.12")
6820 (source (origin
6821 (method url-fetch)
6822 (uri (string-append "https://raw.githubusercontent.com"
6823 "/DarwinAwardWinner/ido-ubiquitous/v"
6824 version "/ido-ubiquitous.el"))
6825 (file-name (string-append "ido-ubiquitous-" version ".el"))
6826 (sha256
6827 (base32
6828 "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
6829 (build-system emacs-build-system)
6830 (propagated-inputs
6831 `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
6832 (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
6833 (synopsis "Use ido (nearly) everywhere")
6834 (description
6835 "Ido-ubiquitous enables ido-style completion for almost every function
6836 that uses the standard completion function completing-read.")
6837 (license license:gpl3+)))
6838
6839 (define-public emacs-yaml-mode
6840 (package
6841 (name "emacs-yaml-mode")
6842 (version "0.0.14")
6843 (source (origin
6844 (method git-fetch)
6845 (uri (git-reference
6846 (url "https://github.com/yoshiki/yaml-mode.git")
6847 (commit version)))
6848 (file-name (git-file-name name version))
6849 (sha256
6850 (base32
6851 "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
6852 (build-system emacs-build-system)
6853 (home-page "https://github.com/yoshiki/yaml-mode")
6854 (synopsis "Major mode for editing YAML files")
6855 (description
6856 "Yaml-mode is an Emacs major mode for editing files in the YAML data
6857 serialization format. It was initially developed by Yoshiki Kurihara and many
6858 features were added by Marshall Vandegrift. As YAML and Python share the fact
6859 that indentation determines structure, this mode provides indentation and
6860 indentation command behavior very similar to that of python-mode.")
6861 (license license:gpl3+)))
6862
6863 (define-public emacs-gitlab-ci-mode
6864 (package
6865 (name "emacs-gitlab-ci-mode")
6866 (version "20190425.11.10")
6867 (source (origin
6868 (method git-fetch)
6869 (uri (git-reference
6870 (url "https://gitlab.com/joewreschnig/gitlab-ci-mode.git")
6871 (commit (string-append "v" version))))
6872 (file-name (git-file-name name version))
6873 (sha256
6874 (base32
6875 "1jkp9mnbiccqnha9zs646znqyqvy5jjb81kah7ghbkzdqqk2avm0"))))
6876 (build-system emacs-build-system)
6877 (propagated-inputs
6878 `(("emacs-yaml-mode" ,emacs-yaml-mode)))
6879 (home-page "https://gitlab.com/joewreschnig/gitlab-ci-mode/")
6880 (synopsis "Emacs mode for editing GitLab CI files")
6881 (description
6882 "@code{gitlab-ci-mode} is an Emacs major mode for editing GitLab CI
6883 files. It provides syntax highlighting and completion for keywords and
6884 special variables. An interface to GitLab’s CI file linter is also provided
6885 via @code{gitlab-ci-lint}.")
6886 (license license:gpl3+)))
6887
6888 (define-public emacs-web-mode
6889 (package
6890 (name "emacs-web-mode")
6891 (version "16")
6892 (source (origin
6893 (method git-fetch)
6894 (uri (git-reference
6895 (url "https://github.com/fxbois/web-mode.git")
6896 (commit (string-append "v" version))))
6897 (file-name (git-file-name name version))
6898 (sha256
6899 (base32
6900 "17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0"))))
6901 (build-system emacs-build-system)
6902 (synopsis "Major mode for editing web templates")
6903 (description "Web-mode is an Emacs major mode for editing web templates
6904 aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
6905 client/server side engines). Web-mode is compatible with many template
6906 engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
6907 Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
6908 Dust.js, React/JSX, Angularjs, ejs, etc.")
6909 (home-page "http://web-mode.org/")
6910 (license license:gpl3+)))
6911
6912 (define-public emacs-wgrep
6913 ;; Tag is missing, so we use the commit directly.
6914 ;; https://github.com/mhayashi1120/Emacs-wgrep/issues/64
6915 (let ((commit "379afd89ebd76f63842c8589127d66096a8bb595"))
6916 (package
6917 (name "emacs-wgrep")
6918 (version "2.3.1")
6919 (source (origin
6920 (method git-fetch)
6921 (uri (git-reference
6922 (url "https://github.com/mhayashi1120/Emacs-wgrep")
6923 (commit commit)))
6924 (file-name (git-file-name name version))
6925 (sha256
6926 (base32
6927 "0v1qx8z1xj9qzirlycbihnkpwcklyi3a0j8lil78pmdpixdbgh47"))))
6928 (build-system emacs-build-system)
6929 (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
6930 (synopsis "Edit a grep buffer and apply those changes to the files")
6931 (description
6932 "Emacs wgrep allows you to edit a grep buffer and apply those changes
6933 to the file buffer. Several backends are supported beside the classic grep:
6934 ack, ag, helm and pt.")
6935 (license license:gpl3+))))
6936
6937 (define-public emacs-helm
6938 (package
6939 (name "emacs-helm")
6940 (version "3.6.0")
6941 (source
6942 (origin
6943 (method git-fetch)
6944 (uri (git-reference
6945 (url "https://github.com/emacs-helm/helm.git")
6946 (commit (string-append "v" version))))
6947 (file-name (git-file-name name version))
6948 (sha256
6949 (base32 "0miq2q52pbicijp7pmj0widk252qixswywc03d120s4hya2b7vd7"))))
6950 (build-system emacs-build-system)
6951 (propagated-inputs
6952 `(("emacs-async" ,emacs-async)
6953 ("emacs-popup" ,emacs-popup)))
6954 (home-page "https://emacs-helm.github.io/helm/")
6955 (synopsis "Incremental completion and selection narrowing
6956 framework for Emacs")
6957 (description "Helm is incremental completion and selection narrowing
6958 framework for Emacs. It will help steer you in the right direction when
6959 you're looking for stuff in Emacs (like buffers, files, etc). Helm is a fork
6960 of @code{anything.el} originally written by Tamas Patrovic and can be
6961 considered to be its successor. Helm sets out to clean up the legacy code in
6962 @code{anything.el} and provide a cleaner, leaner and more modular tool, that's
6963 not tied in the trap of backward compatibility.")
6964 (license license:gpl3+)))
6965
6966 (define-public emacs-helm-org
6967 (let ((commit "b9a1167b0716a22a69670f4c35e0ac59d2e0b220")
6968 (revision "2"))
6969 (package
6970 (name "emacs-helm-org")
6971 (version (git-version "1.0" revision commit))
6972 (source
6973 (origin
6974 (method git-fetch)
6975 (uri (git-reference
6976 (url "https://github.com/emacs-helm/helm-org.git")
6977 (commit commit)))
6978 (file-name (git-file-name name version))
6979 (sha256
6980 (base32 "1gc27i4azqpgijva1f4ckfdp4s52mc9pnfcmzhkwhknr6pd6jlcr"))))
6981 (build-system emacs-build-system)
6982 (propagated-inputs
6983 `(("emacs-helm" ,emacs-helm)))
6984 (home-page "https://github.com/emacs-helm/helm-org")
6985 (synopsis "Helm interface to the Silver Searcher")
6986 (description
6987 "This package provides a frontend for grepping tools like ag and ack,
6988 as well as features for editing search results.")
6989 (license license:gpl3+))))
6990
6991 (define-public emacs-helm-swoop
6992 (package
6993 (name "emacs-helm-swoop")
6994 (version "2.0.0")
6995 (source
6996 (origin
6997 (method git-fetch)
6998 (uri (git-reference
6999 (url "https://github.com/emacsorphanage/helm-swoop.git")
7000 (commit version)))
7001 (file-name (git-file-name name version))
7002 (sha256
7003 (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
7004 (build-system emacs-build-system)
7005 (propagated-inputs
7006 `(("emacs-helm" ,emacs-helm)))
7007 (home-page "https://github.com/emacsorphanage/helm-swoop")
7008 (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
7009 (description
7010 "This package builds on the Helm interface to provide several commands
7011 for search-based navigation of buffers.")
7012 (license license:gpl2+)))
7013
7014 (define-public emacs-helm-ag
7015 (let ((commit "2fc02c4ead29bf0db06fd70740cc7c364cb650ac")
7016 (revision "1"))
7017 (package
7018 (name "emacs-helm-ag")
7019 (version (git-version "0.58" revision commit))
7020 (source
7021 (origin
7022 (method git-fetch)
7023 (uri (git-reference
7024 (url "https://github.com/syohex/emacs-helm-ag.git")
7025 (commit commit)))
7026 (file-name (git-file-name name version))
7027 (sha256
7028 (base32 "1gnn0byywbld6afcq1vp92cjvy4wlag9d1wgymnqn86c3b1bcf21"))))
7029 (build-system emacs-build-system)
7030 (propagated-inputs
7031 `(("emacs-helm" ,emacs-helm)))
7032 (home-page "https://github.com/syohex/emacs-helm-ag")
7033 (synopsis "Helm interface to the Silver Searcher")
7034 (description
7035 "This package provides a frontend for grepping tools like ag and ack,
7036 as well as features for editing search results.")
7037 (license license:gpl3+))))
7038
7039 ;; There hasn't been a tag or release since 2016, so we take the latest
7040 ;; commit.
7041 (define-public emacs-helm-projectile
7042 (let ((commit "5328b74dddcee8d1913803ca8167868831a07463")
7043 (version "0.14.0")
7044 (revision "1"))
7045 (package
7046 (name "emacs-helm-projectile")
7047 (version (git-version version revision commit))
7048 (source
7049 (origin
7050 (method git-fetch)
7051 (uri (git-reference
7052 (url "https://github.com/bbatsov/helm-projectile.git")
7053 (commit commit)))
7054 (file-name (git-file-name name version))
7055 (sha256
7056 (base32 "0a811cblrvc8llpv771b8dppgxs6bwjyvjy3qn2xns4nigvn93s0"))))
7057 (build-system emacs-build-system)
7058 (propagated-inputs
7059 `(("emacs-helm" ,emacs-helm)
7060 ("emacs-projectile" ,emacs-projectile)))
7061 (home-page "https://github.com/bbatsov/helm-projectile")
7062 (synopsis "Helm integration for Projectile")
7063 (description
7064 "This Emacs library provides a Helm interface for Projectile.")
7065 (license license:gpl3+))))
7066
7067 (define-public emacs-taskrunner
7068 (let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
7069 (revision "1"))
7070 (package
7071 (name "emacs-taskrunner")
7072 (version (git-version "0.6" revision commit))
7073 (source
7074 (origin
7075 (method git-fetch)
7076 (uri (git-reference
7077 (url "https://github.com/emacs-taskrunner/emacs-taskrunner.git")
7078 (commit commit)))
7079 (file-name (git-file-name name version))
7080 (sha256
7081 (base32
7082 "1lkdvmjn3alhqxq2i64sdr977sbw3g0b2670d9bwyzi67qh0jxrv"))))
7083 (build-system emacs-build-system)
7084 (propagated-inputs
7085 `(("emacs-async" ,emacs-async)
7086 ("emacs-projectile" ,emacs-projectile)))
7087 (home-page "https://github.com/emacs-taskrunner/emacs-taskrunner")
7088 (synopsis "Retrieve tasks from various build systems and task-runners")
7089 (description "This package parses Makefiles and build-system files for
7090 multiple project types.")
7091 (license license:gpl3+))))
7092
7093 (define-public emacs-ivy-taskrunner
7094 (let ((commit "75d8d67cfe3c29663fe0f5508a887adf40ed5162")
7095 (revision "1"))
7096 (package
7097 (name "emacs-ivy-taskrunner")
7098 (version (git-version "0.9" revision commit))
7099 (source
7100 (origin
7101 (method git-fetch)
7102 (uri (git-reference
7103 (url "https://github.com/emacs-taskrunner/ivy-taskrunner.git")
7104 (commit commit)))
7105 (file-name (git-file-name name version))
7106 (sha256
7107 (base32
7108 "1wf4s4k0ap21f7g5w6128an8nsvbja7f5n889vcml5b6gjz058db"))))
7109 (build-system emacs-build-system)
7110 (propagated-inputs
7111 `(("emacs-ivy" ,emacs-ivy)
7112 ("emacs-taskrunner" ,emacs-taskrunner)
7113 ("emacs-projectile" ,emacs-projectile)))
7114 (home-page "https://github.com/emacs-taskrunner/ivy-taskrunner")
7115 (synopsis "Retrieve build-system tasks using Ivy")
7116 (description "This package provides an Ivy interface for selecting
7117 Makefile targets.")
7118 (license license:gpl3+))))
7119
7120 (define-public emacs-helm-taskrunner
7121 (let ((commit "1910dac19cbc7bd4fd08b0faf9affd455339fbea")
7122 (revision "1"))
7123 (package
7124 (name "emacs-helm-taskrunner")
7125 (version (git-version "0.9" revision commit))
7126 (source
7127 (origin
7128 (method git-fetch)
7129 (uri (git-reference
7130 (url "https://github.com/emacs-taskrunner/helm-taskrunner.git")
7131 (commit commit)))
7132 (file-name (git-file-name name version))
7133 (sha256
7134 (base32
7135 "182lmr858fx6rdhp1fy7kv8dvrhzcnxzwfck1q22s6xs8x85d5q7"))))
7136 (build-system emacs-build-system)
7137 (propagated-inputs
7138 `(("emacs-helm" ,emacs-helm)
7139 ("emacs-taskrunner" ,emacs-taskrunner)
7140 ("emacs-projectile" ,emacs-projectile)))
7141 (home-page "https://github.com/emacs-taskrunner/helm-taskrunner")
7142 (synopsis "Retrieve build-system tasks using Helm")
7143 (description "This package provides a Helm interface for selecting
7144 Makefile targets.")
7145 (license license:gpl3+))))
7146
7147 (define-public emacs-helm-make
7148 (let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
7149 (revision "1"))
7150 (package
7151 (name "emacs-helm-make")
7152 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
7153 (source
7154 (origin
7155 (method git-fetch)
7156 (uri (git-reference
7157 (url "https://github.com/abo-abo/helm-make.git")
7158 (commit commit)))
7159 (file-name (git-file-name name version))
7160 (sha256
7161 (base32
7162 "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
7163 (build-system emacs-build-system)
7164 (propagated-inputs
7165 `(("emacs-helm" ,emacs-helm)
7166 ("emacs-projectile" ,emacs-projectile)))
7167 (home-page "https://github.com/abo-abo/helm-make")
7168 (synopsis "Select a Makefile target with helm")
7169 (description "@code{helm-make} or @code{helm-make-projectile} will give
7170 you a @code{helm} selection of directory Makefile's targets. Selecting a
7171 target will call @code{compile} on it.")
7172 (license license:gpl3+))))
7173
7174 (define-public emacs-cider
7175 (package
7176 (name "emacs-cider")
7177 (version "0.23.0")
7178 (source
7179 (origin
7180 (method git-fetch)
7181 (uri (git-reference
7182 (url "https://github.com/clojure-emacs/cider.git")
7183 (commit (string-append "v" version))))
7184 (file-name (git-file-name name version))
7185 (sha256
7186 (base32
7187 "05yjkqc6d4grq9z5pxmv3anqh4zlhfg4v46jlccp6ynh030g7axs"))))
7188 (build-system emacs-build-system)
7189 (arguments
7190 '(#:exclude ; Don't exclude 'cider-test.el'.
7191 '("^\\.dir-locals\\.el$" "^test/")))
7192 (propagated-inputs
7193 `(("emacs-clojure-mode" ,emacs-clojure-mode)
7194 ("emacs-sesman" ,emacs-sesman)
7195 ("emacs-seq" ,emacs-seq)
7196 ("emacs-spinner" ,emacs-spinner)
7197 ("emacs-parseedn" ,emacs-parseedn)
7198 ("emacs-pkg-info" ,emacs-pkg-info)
7199 ("emacs-queue" ,emacs-queue)))
7200 (home-page "https://cider.mx/")
7201 (synopsis "Clojure development environment for Emacs")
7202 (description
7203 "CIDER (Clojure Interactive Development Environment that Rocks) aims to
7204 provide an interactive development experience similar to the one you'd get
7205 when programming in Emacs Lisp, Common Lisp (with SLIME or Sly), Scheme (with
7206 Geiser) and Smalltalk.
7207
7208 CIDER is the successor to the now deprecated combination of using SLIME +
7209 swank-clojure for Clojure development.
7210
7211 There are plenty of differences between CIDER and SLIME, but the core ideas
7212 are pretty much the same (and SLIME served as the principle inspiration for
7213 CIDER).")
7214 (license license:gpl3+)))
7215
7216 ;; There hasn't been a tag or release since 2016, so we take the latest
7217 ;; commit.
7218 (define-public emacs-sly
7219 (let ((commit "0a3b81770e46b93b9ffd8b9ac5254e0b88d1b13d")
7220 (revision "3"))
7221 (package
7222 (name "emacs-sly")
7223 (version (git-version "1.0.0" revision commit))
7224 (source
7225 (origin
7226 (method git-fetch)
7227 (uri (git-reference
7228 (url "https://github.com/joaotavora/sly.git")
7229 (commit commit)))
7230 (file-name (git-file-name name version))
7231 (sha256
7232 (base32
7233 "1q5ga4mxa0ffa4zb2y0zfwmgzjggx4fn1y4bl2x7ac6ynvb32zkj"))))
7234 (build-system emacs-build-system)
7235 (native-inputs
7236 `(("texinfo" ,texinfo)))
7237 (arguments
7238 `(#:include (cons* "^contrib\\/" "^lib\\/" "^slynk\\/" %default-include)
7239 #:phases
7240 ;; The package provides autoloads.
7241 (modify-phases %standard-phases
7242 (delete 'make-autoloads)
7243 (add-before 'install 'install-doc
7244 (lambda* (#:key outputs #:allow-other-keys)
7245 (let* ((out (assoc-ref outputs "out"))
7246 (info-dir (string-append out "/share/info"))
7247 (doc-dir (string-append out "/share/doc/"
7248 ,name "-" ,version))
7249 (doc-files '(;; "doc/sly-refcard.pdf" ; See sly-refcard.pdf below.
7250 "README.md" "NEWS.md" "PROBLEMS.md"
7251 "CONTRIBUTING.md")))
7252 (with-directory-excursion "doc"
7253 (substitute* "Makefile"
7254 (("infodir=/usr/local/info")
7255 (string-append "infodir=" info-dir))
7256 ;; Don't rebuild contributors.texi since we are not in
7257 ;; the git repo.
7258 (("contributors.texi: Makefile texinfo-tabulate.awk")
7259 "contributors.texi:"))
7260 (invoke "make" "html/index.html")
7261 (invoke "make" "sly.info")
7262 ;; TODO: We need minimal texlive with "preprint" package
7263 ;; (for fullpage.sty). (invoke "make" "sly-refcard.pdf")
7264 (install-file "sly.info" info-dir)
7265 (copy-recursively "html" (string-append doc-dir "/html")))
7266 (for-each (lambda (f)
7267 (install-file f doc-dir)
7268 (delete-file f))
7269 doc-files)
7270 (delete-file-recursively "doc")
7271 #t))))))
7272 (home-page "https://github.com/joaotavora/sly")
7273 (synopsis "Sylvester the Cat's Common Lisp IDE")
7274 (description
7275 "SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
7276 contains the following improvements over it:
7277
7278 @enumerate
7279 @item Completely redesigned REPL based on Emacs's own full-featured
7280 @code{comint.el}.
7281 @item Live code annotations via a new @code{sly-stickers} contrib.
7282 @item Consistent interactive button interface. Everything can be copied to
7283 the REPL.
7284 @item Multiple inspectors with independent history.
7285 @item Regexp-capable @code{M-x sly-apropos}.
7286 @item Contribs are first class SLY citizens and enabled by default.
7287 @item Use ASDF to loads contribs on demand.
7288 @end enumerate
7289
7290 SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
7291 xref, etc...) are still available, but with better integration.")
7292 (license license:gpl3+))))
7293
7294 (define-public emacs-sly-quicklisp
7295 (let ((commit "01ebe3976a244309f2e277c09206831135a0b66c")
7296 (revision "1"))
7297 (package
7298 (name "emacs-sly-quicklisp")
7299 (version (git-version "0.0.0" revision commit))
7300 (home-page "https://github.com/joaotavora/sly-quicklisp")
7301 (source
7302 (origin
7303 (method git-fetch)
7304 (uri (git-reference
7305 (url home-page)
7306 (commit commit)))
7307 (file-name (git-file-name name version))
7308 (sha256
7309 (base32
7310 "1vfqmvayf35g6y3ljsm3rlzv5jm50qikhh4lv2zkkswj6gkkb1cv"))))
7311 (build-system emacs-build-system)
7312 (propagated-inputs
7313 `(("emacs-sly" ,emacs-sly)))
7314 (arguments
7315 `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7316 #:phases
7317 ;; The package provides autoloads.
7318 (modify-phases %standard-phases
7319 (delete 'make-autoloads))))
7320 (synopsis "Quicklisp support for SLY")
7321 (description
7322 "@command{sly-quicklisp} is an external contrib for SLY that provides a
7323 sly-quickload command that prompts the user for a package to install. ")
7324 (license license:gpl3+))))
7325
7326 (define-public emacs-sly-asdf
7327 (let ((commit "4e323bc28da2f07fd799b6a31b94fd93848b5f3c")
7328 (revision "2"))
7329 (package
7330 (name "emacs-sly-asdf")
7331 (version (git-version "0.1.0" revision commit))
7332 (home-page "https://github.com/mmgeorge/sly-asdf")
7333 (source
7334 (origin
7335 (method git-fetch)
7336 (uri (git-reference
7337 (url home-page)
7338 (commit commit)))
7339 (file-name (git-file-name name version))
7340 (sha256
7341 (base32
7342 "16sc33jhc6ik4ilsyqc3cjpi6v0wdmwjlwrzjwd6yym11bscsmad"))))
7343 (build-system emacs-build-system)
7344 (propagated-inputs
7345 `(("emacs-sly" ,emacs-sly)))
7346 (arguments
7347 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
7348 (synopsis "ASDF contrib for SLY")
7349 (description
7350 "@command{sly-asdf} is an external contrib for SLY that provides
7351 additional support for working with ASDF projects.")
7352 (license license:gpl3+))))
7353
7354 (define-public emacs-sly-named-readtables
7355 (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
7356 (revision "1"))
7357 (package
7358 (name "emacs-sly-named-readtables")
7359 (version (git-version "0.1" revision commit))
7360 (home-page "https://github.com/joaotavora/sly-named-readtables")
7361 (source
7362 (origin
7363 (method git-fetch)
7364 (uri (git-reference
7365 (url home-page)
7366 (commit commit)))
7367 (file-name (git-file-name name version))
7368 (sha256
7369 (base32
7370 "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
7371 (build-system emacs-build-system)
7372 (propagated-inputs
7373 `(("emacs-sly" ,emacs-sly)))
7374 (arguments
7375 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
7376 (synopsis "Named-readtables support for SLY")
7377 (description
7378 "@command{sly-named-readtables} is an external contrib for SLY that
7379 enables different readtables to be active in different parts of the same
7380 file.")
7381 (license license:gpl3+))))
7382
7383 (define-public emacs-sly-macrostep
7384 (let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
7385 (revision "1"))
7386 (package
7387 (name "emacs-sly-macrostep")
7388 (version (git-version "0.1" revision commit))
7389 (home-page "https://github.com/joaotavora/sly-macrostep")
7390 (source
7391 (origin
7392 (method git-fetch)
7393 (uri (git-reference
7394 (url home-page)
7395 (commit commit)))
7396 (file-name (git-file-name name version))
7397 (sha256
7398 (base32
7399 "0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
7400 (build-system emacs-build-system)
7401 (propagated-inputs
7402 `(("emacs-sly" ,emacs-sly)
7403 ("emacs-macrostep" ,emacs-macrostep)))
7404 (arguments
7405 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7406 #:phases
7407 ;; The package provides autoloads.
7408 (modify-phases %standard-phases
7409 (delete 'make-autoloads))))
7410 (synopsis "Expand Common Lisp macros inside source files with SLY")
7411 (description
7412 "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
7413 inside the source file.")
7414 (license license:gpl3+))))
7415
7416 (define-public emacs-sly-package-inferred
7417 (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
7418 (revision "1"))
7419 (package
7420 (name "emacs-sly-package-inferred")
7421 (version (git-version "0.1" revision commit))
7422 (home-page "https://github.com/40ants/sly-package-inferred")
7423 (source
7424 (origin
7425 (method git-fetch)
7426 (uri (git-reference
7427 (url home-page)
7428 (commit commit)))
7429 (file-name (git-file-name name version))
7430 (sha256
7431 (base32
7432 "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
7433 (build-system emacs-build-system)
7434 (propagated-inputs
7435 `(("emacs-sly" ,emacs-sly)))
7436 (arguments
7437 '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
7438 #:phases
7439 ;; The package provides autoloads.
7440 (modify-phases %standard-phases
7441 (delete 'make-autoloads))))
7442 (synopsis "Improved package inferred systems support for SLY")
7443 (description
7444 "@command{sly-package-inferred} is an external contrib for SLY that
7445 replaces its completion with a function which is better suited for systems
7446 using package inferred style.")
7447 (license license:gpl3+))))
7448
7449 (define-public emacs-lua-mode
7450 (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
7451 (revision "2"))
7452 (package
7453 (name "emacs-lua-mode")
7454 (version (git-version "20151025" revision commit))
7455 (home-page "https://github.com/immerrr/lua-mode/")
7456 (source (origin
7457 (method git-fetch)
7458 (uri (git-reference
7459 (url home-page)
7460 (commit commit)))
7461 (file-name (git-file-name name version))
7462 (sha256
7463 (base32
7464 "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp"))))
7465 (build-system emacs-build-system)
7466 (synopsis "Major mode for lua")
7467 (description
7468 "This Emacs package provides a mode for @uref{https://www.lua.org/,
7469 Lua programming language}.")
7470 (license license:gpl2+))))
7471
7472 (define-public emacs-ebuild-mode
7473 (package
7474 (name "emacs-ebuild-mode")
7475 (version "1.37")
7476 (source (origin
7477 (method url-fetch)
7478 (uri (string-append
7479 "https://dev.gentoo.org/~ulm/emacs/ebuild-mode"
7480 "-" version ".tar.xz"))
7481 (file-name (string-append name "-" version ".tar.xz"))
7482 (sha256
7483 (base32
7484 "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp"))))
7485 (build-system emacs-build-system)
7486 (home-page "https://devmanual.gentoo.org")
7487 (synopsis "Major modes for Gentoo package files")
7488 (description
7489 "This Emacs package provides modes for ebuild, eclass, eblit, GLEP42
7490 news items, openrc and runscripts.")
7491 (license license:gpl2+)))
7492
7493 (define-public emacs-evil
7494 (package
7495 (name "emacs-evil")
7496 (version "1.2.14")
7497 (source
7498 (origin
7499 (method git-fetch)
7500 (uri (git-reference
7501 (url "https://github.com/emacs-evil/evil")
7502 (commit version)))
7503 (file-name (git-file-name name version))
7504 (sha256
7505 (base32
7506 "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
7507 (arguments
7508 `(#:phases
7509 (modify-phases %standard-phases
7510 (add-before 'check 'fix-test-helpers
7511 (lambda _
7512 (substitute* "evil-test-helpers.el"
7513 (("\\(undo-tree-mode 1\\)") ""))
7514 #t)))))
7515 (build-system emacs-build-system)
7516 (home-page "https://github.com/emacs-evil/evil")
7517 (synopsis "Extensible Vi layer for Emacs")
7518 (description
7519 "Evil is an extensible vi layer for Emacs. It emulates the
7520 main features of Vim, and provides facilities for writing custom
7521 extensions.")
7522 (license license:gpl3+)))
7523
7524 (define-public emacs-evil-collection
7525 (let ((commit "eb36c82a84d313e961777dc78fd4ff1d718efdf6")
7526 (revision "13"))
7527 (package
7528 (name "emacs-evil-collection")
7529 (version (git-version "0.0.3" revision commit))
7530 (source (origin
7531 (method git-fetch)
7532 (uri (git-reference
7533 (url "https://github.com/emacs-evil/evil-collection")
7534 (commit commit)))
7535 (file-name (git-file-name name version))
7536 (sha256
7537 (base32
7538 "0wi84x9176y4xjl7zpn882achfamx3a2ixlj4nvflxfh6q1qg7bz"))))
7539 (build-system emacs-build-system)
7540 (propagated-inputs
7541 `(("emacs-evil" ,emacs-evil)
7542 ("emacs-annalist" ,emacs-annalist)))
7543 (arguments
7544 `(#:include (cons* "^modes\\/" %default-include)))
7545 (home-page "https://github.com/emacs-evil/evil-collection")
7546 (synopsis "Collection of Evil bindings for many major and minor modes")
7547 (description "This is a collection of Evil bindings for the parts of
7548 Emacs that Evil does not cover properly by default, such as @code{help-mode},
7549 @code{M-x calendar}, Eshell and more.")
7550 (license license:gpl3+))))
7551
7552 (define-public emacs-goto-chg
7553 (let ((commit "1829a13026c597e358f716d2c7793202458120b5")
7554 (version "1.7.3")
7555 (revision "1"))
7556 (package
7557 (name "emacs-goto-chg")
7558 (version (git-version version revision commit))
7559 (source
7560 (origin
7561 (method git-fetch)
7562 (uri (git-reference
7563 (url "https://github.com/emacs-evil/goto-chg")
7564 (commit commit)))
7565 (file-name (git-file-name name version))
7566 (sha256
7567 (base32
7568 "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"))))
7569 (build-system emacs-build-system)
7570 (propagated-inputs
7571 `(("emacs-undo-tree" ,emacs-undo-tree)))
7572 (home-page "https://github.com/emacs-evil/goto-chg")
7573 (synopsis "Go to the last change in the Emacs buffer")
7574 (description
7575 "This package provides @code{M-x goto-last-change} command that goes to
7576 the point of the most recent edit in the current Emacs buffer. When repeated,
7577 go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
7578 used for reverse direction.")
7579 (license license:gpl2+))))
7580
7581 (define-public emacs-janpath-evil-numbers
7582 (let ((commit "d988041c1fe6e941dc8d591390750b237f71f524")
7583 (version "0.5")
7584 (revision "1"))
7585 (package
7586 (name "emacs-janpath-evil-numbers")
7587 (version (git-version version revision commit))
7588 (source
7589 (origin
7590 (method git-fetch)
7591 (uri (git-reference
7592 (url "https://github.com/janpath/evil-numbers")
7593 (commit commit)))
7594 (file-name (git-file-name name version))
7595 (sha256
7596 (base32
7597 "16zixhxxcb83m82f2cfiardfn99j3w41v6vh1qk6j9pplrlfw70v"))))
7598 (build-system emacs-build-system)
7599 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7600 (home-page "https://github.com/janpath/evil-numbers")
7601 (synopsis "Increment and decrement numeric literals")
7602 (description
7603 "This package provides functionality to search for a number up to the
7604 end of a line and increment or decrement it.")
7605 (license license:gpl3+))))
7606
7607 (define-public emacs-evil-owl
7608 (let ((commit "24c5f43df375194386344e69bc720ea3986c9510")
7609 (revision "3"))
7610 (package
7611 (name "emacs-evil-owl")
7612 (version (git-version "0.0.1" revision commit))
7613 (source
7614 (origin
7615 (method git-fetch)
7616 (uri (git-reference
7617 (url "https://github.com/mamapanda/evil-owl")
7618 (commit commit)))
7619 (file-name (git-file-name name version))
7620 (sha256
7621 (base32
7622 "0bqzch14whlmrcasakah3psrzswvkzd7mmi8hx5s64kfp29wbdhi"))))
7623 (build-system emacs-build-system)
7624 (propagated-inputs
7625 `(("emacs-evil" ,emacs-evil)))
7626 (arguments
7627 `(#:tests? #t
7628 #:test-command '("make" "test")))
7629 (home-page "https://github.com/mamapanda/evil-owl")
7630 (synopsis "Preview candidates when using Evil registers and marks")
7631 (description
7632 "This package supplements Evil's register- and mark-based commands with
7633 a popup window for previewing candidates.")
7634 (license license:gpl3+))))
7635
7636 (define-public emacs-evil-args
7637 (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
7638 (revision "1"))
7639 (package
7640 (name "emacs-evil-args")
7641 (version (git-version "1.0" revision commit))
7642 (source
7643 (origin
7644 (method git-fetch)
7645 (uri (git-reference
7646 (url "https://github.com/wcsmith/evil-args.git")
7647 (commit commit)))
7648 (file-name (git-file-name name version))
7649 (sha256
7650 (base32
7651 "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
7652 (build-system emacs-build-system)
7653 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7654 (home-page "https://github.com/wcsmith/evil-args")
7655 (synopsis "Motions and text objects for delimited arguments in Evil")
7656 (description
7657 "This package provides motions and text objects for delimited
7658 arguments, such as arguments separated by commas and semicolons.")
7659 (license license:expat))))
7660
7661 (define-public emacs-evil-exchange
7662 (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
7663 (version "0.41")
7664 (revision "1"))
7665 (package
7666 (name "emacs-evil-exchange")
7667 (version (git-version version revision commit))
7668 (source
7669 (origin
7670 (method git-fetch)
7671 (uri (git-reference
7672 (url "https://github.com/Dewdrops/evil-exchange")
7673 (commit commit)))
7674 (file-name (git-file-name name version))
7675 (sha256
7676 (base32
7677 "0bjpn4yqig17ddym6wqq5fm1b294q74hzcbj9a6gs97fqiwf88xa"))))
7678 (build-system emacs-build-system)
7679 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7680 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
7681 (arguments
7682 `(#:phases
7683 (modify-phases %standard-phases
7684 (add-before 'check 'fix-makefile
7685 (lambda _
7686 (substitute* "Makefile"
7687 (("cask exec ") ""))
7688 #t)))
7689 #:tests? #t
7690 #:test-command '("make" "test")))
7691 (home-page "https://github.com/Dewdrops/evil-exchange")
7692 (synopsis "Exchange text easily within Evil")
7693 (description
7694 "This package, a port of @code{vim-exchange}, provides an Evil operator
7695 for exchanging text.")
7696 (license license:gpl3+))))
7697
7698 (define-public emacs-evil-replace-with-register
7699 (let ((commit "91cc7bf21a94703c441cc9212214075b226b7f67")
7700 (version "0.1")
7701 (revision "1"))
7702 (package
7703 (name "emacs-evil-replace-with-register")
7704 (version (git-version version revision commit))
7705 (source
7706 (origin
7707 (method git-fetch)
7708 (uri (git-reference
7709 (url "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7710 (commit commit)))
7711 (file-name (git-file-name name version))
7712 (sha256
7713 (base32
7714 "14rpn76qrf287s3y2agmddcxi27r226i53ixjvd694ss039g0r11"))))
7715 (build-system emacs-build-system)
7716 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7717 (home-page "https://github.com/Dewdrops/evil-ReplaceWithRegister")
7718 (synopsis "Quickly replace text with the contents of a register")
7719 (description
7720 "This package provides an Evil operator for replacing text with the
7721 contents of a register.")
7722 (license license:gpl3+))))
7723
7724 (define-public emacs-evil-indent-plus
7725 (let ((commit "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
7726 (version "1.0.0")
7727 (revision "1"))
7728 (package
7729 (name "emacs-evil-indent-plus")
7730 (version (git-version version revision commit))
7731 (source
7732 (origin
7733 (method git-fetch)
7734 (uri (git-reference
7735 (url "https://github.com/TheBB/evil-indent-plus")
7736 (commit commit)))
7737 (file-name (git-file-name name version))
7738 (sha256
7739 (base32
7740 "1g6r1ydscwjvmhh1zg4q3nap4avk8lb9msdqrh7dff6pla0r2qs6"))))
7741 (build-system emacs-build-system)
7742 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7743 (home-page "https://github.com/TheBB/evil-indent-plus")
7744 (synopsis "Text objects based on indentation")
7745 (description
7746 "This package adds new text objects for @code{evil-mode} based on
7747 blocks having the same or higher indentation, including or excluding
7748 surrounding lines.")
7749 (license license:gpl2+))))
7750
7751 (define-public emacs-evil-text-object-python
7752 (let ((commit "9a064fe6475429145cbcc3b270fcc963b67adb15")
7753 (version "1.0.1")
7754 (revision "1"))
7755 (package
7756 (name "emacs-evil-text-object-python")
7757 (version (git-version version revision commit))
7758 (source
7759 (origin
7760 (method git-fetch)
7761 (uri (git-reference
7762 (url "https://github.com/wbolster/evil-text-object-python")
7763 (commit commit)))
7764 (file-name (git-file-name name version))
7765 (sha256
7766 (base32
7767 "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"))))
7768 (build-system emacs-build-system)
7769 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7770 (home-page "https://github.com/wbolster/evil-text-object-python")
7771 (synopsis "Text objects for Python")
7772 (description
7773 "This package provides @code{evil-mode} text objects for Python.")
7774 (license license:gpl3+))))
7775
7776 (define-public emacs-evil-lion
7777 (let ((commit "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
7778 (revision "1"))
7779 (package
7780 (name "emacs-evil-lion")
7781 (version (git-version "0.0.2" revision commit))
7782 (source
7783 (origin
7784 (method git-fetch)
7785 (uri (git-reference
7786 (url "https://github.com/edkolev/evil-lion")
7787 (commit commit)))
7788 (file-name (git-file-name name version))
7789 (sha256
7790 (base32
7791 "1a162hynp0jcsn50c1w5a02mrw9w3q05c7lkqzqd25px3d0p772q"))))
7792 (build-system emacs-build-system)
7793 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7794 (arguments
7795 `(#:tests? #t
7796 #:test-command '("make" "test")))
7797 (home-page "https://github.com/edkolev/evil-lion")
7798 (synopsis "Align operator for @code{evil-mode}")
7799 (description
7800 "This package, a port of @code{vim-lion}, provides an operator for
7801 aligning text objects based on separators.")
7802 (license license:gpl3+))))
7803
7804 (define-public emacs-evil-expat
7805 (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2")
7806 (revision "1"))
7807 (package
7808 (name "emacs-evil-expat")
7809 (version (git-version "0.0.1" revision commit))
7810 (source
7811 (origin
7812 (method git-fetch)
7813 (uri (git-reference
7814 (url "https://github.com/edkolev/evil-expat")
7815 (commit commit)))
7816 (file-name (git-file-name name version))
7817 (sha256
7818 (base32
7819 "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz"))))
7820 (build-system emacs-build-system)
7821 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7822 (arguments
7823 `(#:tests? #t
7824 #:test-command '("make" "test")))
7825 (home-page "https://github.com/edkolev/evil-expat")
7826 (synopsis "Extra @code{ex} commands for @code{evil-mode}")
7827 (description
7828 "This package provides additional commands for the @code{ex} command
7829 line, including functions for version control with Git and for copying and
7830 pasting into and from @code{tmux} paste buffers.")
7831 (license license:gpl3+))))
7832
7833 (define-public emacs-evil-nerd-commenter
7834 (package
7835 (name "emacs-evil-nerd-commenter")
7836 (version "3.3.8")
7837 (source
7838 (origin
7839 (method git-fetch)
7840 (uri (git-reference
7841 (url "https://github.com/redguardtoo/evil-nerd-commenter")
7842 (commit version)))
7843 (file-name (git-file-name name version))
7844 (sha256
7845 (base32
7846 "0qd5a89mzvdyhd8lm13iwp220vzpd6dajwx54frlc5bzsxdmg6vc"))))
7847 (build-system emacs-build-system)
7848 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7849 (arguments
7850 `(#:tests? #t
7851 #:test-command '("make" "test")))
7852 (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
7853 (synopsis "Comment and uncomment lines efficiently")
7854 (description
7855 "This package provides text objects and operators for comments within
7856 @code{evil-mode}.")
7857 (license license:gpl3+)))
7858
7859 (define-public emacs-evil-visual-replace
7860 (package
7861 (name "emacs-evil-visual-replace")
7862 (version "0.0.5")
7863 (source
7864 (origin
7865 (method git-fetch)
7866 (uri (git-reference
7867 (url "https://github.com/troyp/evil-visual-replace")
7868 (commit version)))
7869 (file-name (git-file-name name version))
7870 (sha256
7871 (base32
7872 "1gfyrq7xfzmzh3x8k5f08n027dlbwi0pkkxf9c39fkxp4jngibsz"))))
7873 (build-system emacs-build-system)
7874 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7875 (home-page "https://github.com/troyp/evil-visual-replace")
7876 (synopsis "Replacement commands for @code{evil-mode} visual blocks")
7877 (description
7878 "This package provides versions of @code{query-replace} and
7879 @code{replace-regexp} that work for @code{evil-mode} visual blocks.")
7880 (license license:gpl2+)))
7881
7882 (define-public emacs-evil-visualstar
7883 (let ((commit "06c053d8f7381f91c53311b1234872ca96ced752")
7884 (version "0.0.2")
7885 (revision "1"))
7886 (package
7887 (name "emacs-evil-visualstar")
7888 (version (git-version version revision commit))
7889 (source
7890 (origin
7891 (method git-fetch)
7892 (uri (git-reference
7893 (url "https://github.com/bling/evil-visualstar")
7894 (commit commit)))
7895 (file-name (git-file-name name version))
7896 (sha256
7897 (base32
7898 "0mkbzw12fav945icibc2293m5haxqr3hzkyli2cf4ssk6yvn0x4c"))))
7899 (build-system emacs-build-system)
7900 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
7901 (home-page "https://github.com/bling/evil-visualstar")
7902 (synopsis "Instantly search using the visual selection")
7903 (description
7904 "This package provides @code{evil-mode} functions for using selected text
7905 to search.")
7906 (license license:gpl3+))))
7907
7908 (define-public emacs-monroe
7909 (package
7910 (name "emacs-monroe")
7911 (version "0.3.1")
7912 (source
7913 (origin
7914 (method git-fetch)
7915 (uri (git-reference
7916 (url "https://github.com/sanel/monroe.git")
7917 (commit version)))
7918 (file-name (git-file-name name version))
7919 (sha256
7920 (base32 "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"))))
7921 (build-system emacs-build-system)
7922 (home-page "https://github.com/sanel/monroe")
7923 (synopsis "Clojure nREPL client for Emacs")
7924 (description
7925 "Monroe is a nREPL client for Emacs, focused on simplicity and easy
7926 distribution, primarily targeting Clojure users")
7927 (license license:gpl3+)))
7928
7929 (define-public emacs-orgalist
7930 (package
7931 (name "emacs-orgalist")
7932 (version "1.9")
7933 (source
7934 (origin
7935 (method url-fetch)
7936 (uri (string-append "https://elpa.gnu.org/packages/"
7937 "orgalist-" version ".el"))
7938 (sha256
7939 (base32
7940 "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"))))
7941 (build-system emacs-build-system)
7942 (home-page "http://elpa.gnu.org/packages/orgalist.html")
7943 (synopsis "Manage Org-like lists in non-Org buffers")
7944 (description "Write Org mode's plain lists in non-Org buffers. More
7945 specifically, Orgalist supports the syntax of Org mode for numbered,
7946 unnumbered, description items, checkboxes, and counter cookies.
7947
7948 The library also implements radio lists, i.e., lists written in Org
7949 syntax later translated into the host format, e.g., LaTeX or HTML.")
7950 (license license:gpl3+)))
7951
7952 (define-public emacs-writegood-mode
7953 (package
7954 (name "emacs-writegood-mode")
7955 (version "2.0.2")
7956 (home-page "https://github.com/bnbeckwith/writegood-mode")
7957 (source (origin
7958 (method git-fetch)
7959 (uri (git-reference
7960 (url home-page)
7961 (commit (string-append "v" version))))
7962 (sha256
7963 (base32
7964 "1nnjn1r669hvvzfycllwap4w04m8rfsk4nzcg8057m1f263kj31b"))
7965 (file-name (string-append name "-checkout"))))
7966 (build-system emacs-build-system)
7967 (synopsis "Polish up poor writing on the fly")
7968 (description
7969 "This minor mode tries to find and highlight problems with your writing
7970 in English as you type. It primarily detects \"weasel words\" and abuse of
7971 passive voice.")
7972 (license license:gpl3+)))
7973
7974 (define-public emacs-neotree
7975 (package
7976 (name "emacs-neotree")
7977 (version "0.5.2")
7978 (home-page "https://github.com/jaypei/emacs-neotree")
7979 (source (origin
7980 (method git-fetch)
7981 (uri (git-reference
7982 (url home-page)
7983 (commit version)))
7984 (sha256
7985 (base32
7986 "0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
7987 (file-name (git-file-name name version))))
7988 (build-system emacs-build-system)
7989 (synopsis "Folder tree view for Emacs")
7990 (description "This Emacs package provides a folder tree view.")
7991 (license license:gpl3+)))
7992
7993 (define-public emacs-org
7994 (package
7995 (name "emacs-org")
7996 ;; emacs-org-contrib inherits from this package. Please update it as
7997 ;; well.
7998 (version "9.3.1")
7999 (source (origin
8000 (method url-fetch)
8001 (uri (string-append "https://elpa.gnu.org/packages/org-"
8002 version ".tar"))
8003 (sha256
8004 (base32
8005 "1n79h6ihhsaxxbnl9hw511aav0215m3pa51sa5fh3ddknjfplian"))))
8006 (build-system emacs-build-system)
8007 (home-page "https://orgmode.org/")
8008 (synopsis "Outline-based notes management and organizer")
8009 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8010 lists, and project planning with a fast and effective lightweight markup
8011 language. It also is an authoring system with unique support for literate
8012 programming and reproducible research.")
8013 (license license:gpl3+)))
8014
8015 (define-public emacs-org-contrib
8016 (package
8017 (inherit emacs-org)
8018 (name "emacs-org-contrib")
8019 (version "20191226")
8020 (source (origin
8021 (method url-fetch)
8022 (uri (string-append "https://orgmode.org/elpa/"
8023 "org-plus-contrib-" version ".tar"))
8024 (sha256
8025 (base32
8026 "08h6qiplvm7rvrb1pv2arwdlv6p31p0a6h0fk64kb79g6br8rk8i"))))
8027 (arguments
8028 `(#:modules ((guix build emacs-build-system)
8029 (guix build utils)
8030 (guix build emacs-utils)
8031 (ice-9 ftw)
8032 (srfi srfi-1))
8033 #:phases
8034 (modify-phases %standard-phases
8035 (add-after 'install 'delete-org-files
8036 (lambda* (#:key inputs outputs #:allow-other-keys)
8037 (let* ((out (assoc-ref outputs "out"))
8038 (org (assoc-ref inputs "org"))
8039 (contrib-files
8040 (map basename (find-files out)))
8041 (org+contrib-files
8042 (map basename (find-files org)))
8043 (duplicates (lset-intersection
8044 string=? contrib-files org+contrib-files)))
8045 (with-directory-excursion
8046 (string-append
8047 out "/share/emacs/site-lisp")
8048 (for-each delete-file duplicates))
8049 #t))))))
8050 (propagated-inputs
8051 `(("arduino-mode" ,emacs-arduino-mode)
8052 ("cider" ,emacs-cider)
8053 ("org" ,emacs-org)
8054 ("scel" ,emacs-scel)))
8055 (synopsis "Contributed packages to Org mode")
8056 (description "Org is an Emacs mode for keeping notes, maintaining TODO
8057 lists, and project planning with a fast and effective plain-text system.
8058
8059 This package is equivalent to org-plus-contrib, but only includes additional
8060 files that you would find in @file{contrib/} from the git repository.")))
8061
8062 (define-public emacs-flx
8063 (package
8064 (name "emacs-flx")
8065 (version "0.6.1")
8066 (source
8067 (origin
8068 (method git-fetch)
8069 (uri (git-reference
8070 (url "https://github.com/lewang/flx.git")
8071 (commit (string-append "v" version))))
8072 (sha256
8073 (base32
8074 "0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
8075 (file-name (git-file-name name version))))
8076 (build-system emacs-build-system)
8077 (home-page "https://github.com/lewang/flx")
8078 (synopsis "Fuzzy matching for Emacs")
8079 (description
8080 "Flx provides fuzzy matching for emacs a la sublime text.
8081 The sorting algorithm is a balance between word beginnings (abbreviation)
8082 and contiguous matches (substring). The longer the substring match,
8083 the higher it scores. This maps well to how we think about matching.
8084 Flx has support for ido (interactively do things) through flx-ido.")
8085 (license license:gpl3+)))
8086
8087 (define-public emacs-cyberpunk-theme
8088 (package
8089 (name "emacs-cyberpunk-theme")
8090 (version "1.19")
8091 (source
8092 (origin
8093 (method git-fetch)
8094 (uri (git-reference
8095 (url "https://github.com/n3mo/cyberpunk-theme.el/")
8096 (commit version)))
8097 (sha256
8098 (base32
8099 "1npwrw3pgdmvqhihcqcfi2yrs178iiip5fcj8zhpp6cr9yqsvvgi"))
8100 (file-name (git-file-name name version))))
8101 (build-system emacs-build-system)
8102 (home-page "https://github.com/n3mo/cyberpunk-theme.el")
8103 (synopsis "Cyberpunk theme for emacs built-in color theme support")
8104 (description
8105 "Cyberpunk color theme for the emacs 24+ built-in color theme support
8106 known loosely as deftheme. Many mode-specific customizations are included.")
8107 (license license:gpl3+)))
8108
8109 (define-public emacs-danneskjold-theme
8110 (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57")
8111 (revision "1"))
8112 (package
8113 (name "emacs-danneskjold-theme")
8114 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8115 (home-page "https://github.com/rails-to-cosmos/danneskjold-theme")
8116 (source
8117 (origin
8118 (method git-fetch)
8119 (uri (git-reference
8120 (url home-page)
8121 (commit commit)))
8122 (file-name (git-file-name name version))
8123 (sha256
8124 (base32
8125 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1"))))
8126 (build-system emacs-build-system)
8127 (arguments
8128 `(#:phases
8129 (modify-phases %standard-phases
8130 (add-after 'unpack 'delete-screenshots
8131 (lambda _
8132 (delete-file-recursively "screenshots") #t)))))
8133 (synopsis "High-contrast Emacs theme")
8134 (description
8135 "@code{danneskjold-theme} is a high-contrast theme for Emacs.")
8136 (license license:gpl3+))))
8137
8138 (define-public emacs-dream-theme
8139 (let* ((commit "107a11d74365046f28a1802a2bdb5e69e4a7488b")
8140 (revision "1"))
8141 (package
8142 (name "emacs-dream-theme")
8143 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
8144 (source
8145 (origin
8146 (method git-fetch)
8147 (uri (git-reference
8148 (url "https://github.com/djcb/dream-theme")
8149 (commit commit)))
8150 (file-name (git-file-name name version))
8151 (sha256
8152 (base32
8153 "0za18nfkq4xqm35k6006vsixcbmvmxqgma4iw5sw37h8vmcsdylk"))))
8154 (build-system emacs-build-system)
8155 (home-page "https://github.com/djcb/dream-theme")
8156 (synopsis "High-contrast Emacs theme")
8157 (description
8158 "@code{dream-theme} is a dark, clean theme for Emacs. It is inspired
8159 by zenburn, sinburn and similar themes, but slowly diverging from them.")
8160 (license license:gpl3+))))
8161
8162 (define-public emacs-auto-complete
8163 (package
8164 (name "emacs-auto-complete")
8165 (version "1.5.1")
8166 (source
8167 (origin
8168 (method git-fetch)
8169 (uri (git-reference
8170 (url "https://github.com/auto-complete/auto-complete.git")
8171 (commit (string-append "v" version))))
8172 (sha256
8173 (base32
8174 "04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
8175 (file-name (git-file-name name version))))
8176 (build-system emacs-build-system)
8177 (propagated-inputs
8178 `(("emacs-popup" ,emacs-popup)))
8179 (home-page "https://github.com/auto-complete/auto-complete")
8180 (synopsis "Intelligent auto-completion extension for Emacs")
8181 (description
8182 "Auto-Complete is an intelligent auto-completion extension for Emacs.
8183 It extends the standard Emacs completion interface and provides an environment
8184 that allows users to concentrate more on their own work. Its features are:
8185 a visual interface, reduce overhead of completion by using statistic method,
8186 extensibility.")
8187 (license license:gpl3+)))
8188
8189 (define-public emacs-nginx-mode
8190 (package
8191 (name "emacs-nginx-mode")
8192 (version "1.1.9")
8193 (source
8194 (origin
8195 (method git-fetch)
8196 (uri (git-reference
8197 (url "https://github.com/ajc/nginx-mode.git")
8198 (commit (string-append "v" version))))
8199 (file-name (git-file-name name version))
8200 (sha256
8201 (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"))))
8202 (build-system emacs-build-system)
8203 (home-page "https://github.com/ajc/nginx-mode")
8204 (synopsis "Emacs major mode for editing nginx config files")
8205 (description "This package provides an Emacs major mode for
8206 editing nginx config files.")
8207 (license license:gpl2+)))
8208
8209 (define-public emacs-stream
8210 (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7")
8211 (revision "1"))
8212 (package
8213 (name "emacs-stream")
8214 (version (git-version "2.2.4" revision commit))
8215 (source
8216 (origin
8217 (method git-fetch)
8218 (uri (git-reference
8219 (url "https://github.com/Emacsmirror/stream.git")
8220 (commit commit)))
8221 (file-name (git-file-name name version))
8222 (sha256
8223 (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332"))))
8224 (build-system emacs-build-system)
8225 (arguments
8226 `(#:tests? #t
8227 #:test-command '("emacs" "--batch"
8228 "-l" "tests/stream-tests.el"
8229 "-f" "ert-run-tests-batch-and-exit")))
8230 (home-page "https://github.com/Emacsmirror/stream")
8231 (synopsis "Implementation of streams for Emacs")
8232 (description "This library provides an implementation of streams for Emacs.
8233 Streams are implemented as delayed evaluation of cons cells.")
8234 (license license:gpl3+))))
8235
8236 (define-public emacs-cl-print
8237 (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991")
8238 (revision "1"))
8239 (package
8240 (name "emacs-cl-print")
8241 (version (git-version "1.0" revision commit))
8242 (source
8243 (origin
8244 (method git-fetch)
8245 (uri (git-reference
8246 (url "https://github.com/emacsmirror/cl-print.git")
8247 (commit commit)))
8248 (file-name (git-file-name name version))
8249 (sha256
8250 (base32 "164zbnsi5mssvcpy0158fm7fw5cmd1r5nkpn29fmd2b2scy3gm79"))))
8251 (build-system emacs-build-system)
8252 (home-page "https://github.com/emacsmirror/cl-print")
8253 (synopsis "CL-style generic printing")
8254 (description "This package provides a generic function,
8255 @code{cl-print-object}, to which the programmer can add any method they
8256 please.")
8257 (license license:gpl3+))))
8258
8259 (define-public emacs-el-search
8260 (let ((commit "07bed84dd8ae9e4c6c648834224b1d33fdbd51e0")
8261 (revision "2"))
8262 (package
8263 (name "emacs-el-search")
8264 (version (git-version "1.12.6.1" revision commit))
8265 (source
8266 (origin
8267 (method git-fetch)
8268 (uri (git-reference
8269 (url "https://github.com/emacsmirror/el-search.git")
8270 (commit commit)))
8271 (file-name (git-file-name name version))
8272 (sha256
8273 (base32 "10w1ldgijdhfsrazp0y3bm76jv5wvdn94k1yp0pmc2m1896b58ak"))))
8274 (build-system emacs-build-system)
8275 (inputs
8276 `(("emacs-stream" ,emacs-stream)
8277 ("emacs-cl-print" ,emacs-cl-print)))
8278 (home-page "https://github.com/emacsmirror/el-search")
8279 (synopsis "Expression based interactive search for emacs-lisp-mode")
8280 (description "This package provides expression based interactive search
8281 procedures for emacs-lisp-mode.")
8282 (license license:gpl3+))))
8283
8284 (define-public emacs-ht
8285 (package
8286 (name "emacs-ht")
8287 (version "2.2")
8288 (source
8289 (origin
8290 (method git-fetch)
8291 (uri (git-reference
8292 (url "https://github.com/Wilfred/ht.el.git")
8293 (commit version)))
8294 (file-name (git-file-name name version))
8295 (sha256
8296 (base32 "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"))))
8297 (build-system emacs-build-system)
8298 (propagated-inputs `(("emacs-dash" ,emacs-dash)))
8299 (native-inputs
8300 `(("emacs-ert-runner" ,emacs-ert-runner)))
8301 (arguments
8302 `(#:tests? #t
8303 #:test-command '("ert-runner")))
8304 (home-page "https://github.com/Wilfred/ht.el")
8305 (synopsis "Hash table library for Emacs")
8306 (description
8307 "This package simplifies the use of hash tables in elisp. It also
8308 provides functions to convert hash tables from and to alists and plists.")
8309 (license license:gpl3+)))
8310
8311 (define-public emacs-log4e
8312 (package
8313 (name "emacs-log4e")
8314 (version "0.3.0")
8315 (source
8316 (origin
8317 (method git-fetch)
8318 (uri (git-reference
8319 (url "https://github.com/aki2o/log4e.git")
8320 (commit (string-append "v" version))))
8321 (file-name (git-file-name name version))
8322 (sha256
8323 (base32 "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022"))))
8324 (build-system emacs-build-system)
8325 (arguments
8326 `(#:phases
8327 (modify-phases %standard-phases
8328 (add-after 'unpack 'remove-tests
8329 ;; Guile builder complains about null characters in some
8330 ;; strings of test files. Remove "test" directory (it is not
8331 ;; needed anyway).
8332 (lambda _
8333 (delete-file-recursively "test"))))))
8334 (home-page "https://github.com/aki2o/log4e")
8335 (synopsis "Logging framework for elisp")
8336 (description
8337 "This package provides a logging framework for elisp. It allows
8338 you to deal with multiple log levels.")
8339 (license license:gpl3+)))
8340
8341 (define-public emacs-gntp
8342 (package
8343 (name "emacs-gntp")
8344 (version "0.1")
8345 (source
8346 (origin
8347 (method git-fetch)
8348 (uri (git-reference
8349 (url "https://github.com/tekai/gntp.el.git")
8350 (commit (string-append "v" version))))
8351 (file-name (git-file-name name version))
8352 (sha256
8353 (base32 "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a"))))
8354 (build-system emacs-build-system)
8355 (home-page "https://github.com/tekai/gntp.el")
8356 (synopsis "Growl Notification Protocol for Emacs")
8357 (description
8358 "This package implements the Growl Notification Protocol GNTP
8359 described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
8360 It is incomplete as it only lets you send but not receive
8361 notifications.")
8362 (license license:bsd-3)))
8363
8364 (define-public emacs-alert
8365 (package
8366 (name "emacs-alert")
8367 (version "1.3")
8368 (source
8369 (origin
8370 (method git-fetch)
8371 (uri (git-reference
8372 (url "https://github.com/jwiegley/alert.git")
8373 (commit (string-append "v" version))))
8374 (file-name (git-file-name name version))
8375 (sha256
8376 (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
8377 (build-system emacs-build-system)
8378 (propagated-inputs
8379 `(("emacs-gntp" ,emacs-gntp)
8380 ("emacs-log4e" ,emacs-log4e)))
8381 (home-page "https://github.com/jwiegley/alert")
8382 (synopsis "Growl-style notification system for Emacs")
8383 (description
8384 "Alert is a Growl-workalike for Emacs which uses a common notification
8385 interface and multiple, selectable \"styles\", whose use is fully
8386 customizable by the user.")
8387 (license license:gpl2+)))
8388
8389 (define-public emacs-zones
8390 (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
8391 (revision "2"))
8392 (package
8393 (name "emacs-zones")
8394 (version (git-version "0" revision commit))
8395 (source
8396 (origin
8397 (method git-fetch)
8398 (uri (git-reference
8399 (url "https://github.com/emacsmirror/zones.git")
8400 (commit commit)))
8401 (file-name (git-file-name name version))
8402 (sha256
8403 (base32
8404 "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
8405 (patches
8406 (search-patches
8407 "emacs-zones-called-interactively.patch"))))
8408 (build-system emacs-build-system)
8409 (home-page "https://www.emacswiki.org/emacs/Zones")
8410 (synopsis "Define and act on multiple zones of buffer text")
8411 (description "Library @file{zones.el} lets you easily define and
8412 subsequently act on multiple zones of buffer text. You can think of this as
8413 enlarging the notion of region. In effect, it can remove the requirement of
8414 target text being a contiguous sequence of characters. A set of buffer zones
8415 is, in effect, a (typically) noncontiguous set of text.")
8416 (license license:gpl3+))))
8417
8418 (define-public emacs-mu4e-alert
8419 (package
8420 (name "emacs-mu4e-alert")
8421 (version "1.0")
8422 (source
8423 (origin
8424 (method git-fetch)
8425 (uri (git-reference
8426 (url "https://github.com/iqbalansari/mu4e-alert.git")
8427 (commit (string-append "v" version))))
8428 (file-name (git-file-name name version))
8429 (sha256
8430 (base32 "1nvsfbfsma59ilf7c3vjngnmx3aapwvvvaafdy5szm5r6lkicqvg"))))
8431 (build-system emacs-build-system)
8432 (propagated-inputs
8433 `(("emacs-alert" ,emacs-alert)
8434 ("emacs-s" ,emacs-s)
8435 ("emacs-ht" ,emacs-ht)
8436 ("mu" ,mu)))
8437 (home-page "https://github.com/iqbalansari/mu4e-alert")
8438 (synopsis "Desktop notification for mu4e")
8439 (description
8440 "This package provides desktop notifications for mu4e.
8441 Additionally it can display the number of unread emails in the
8442 mode-line.")
8443 (license license:gpl3+)))
8444
8445 (define-public emacs-mu4e-jump-to-list
8446 (let ((commit "358bba003543b49ffa266e503e54aebd0ebe614b")
8447 (revision "1"))
8448 (package
8449 (name "emacs-mu4e-jump-to-list")
8450 (version (git-version "1.0" revision commit))
8451 (source
8452 (origin
8453 (method git-fetch)
8454 (uri (git-reference
8455 (url "https://gitlab.com/wavexx/mu4e-jump-to-list.el.git")
8456 (commit commit)))
8457 (file-name (git-file-name name version))
8458 (sha256
8459 (base32
8460 "00y9nap61q1z2cdql4k9g7fgi2gdgd9iy5s5lzrd9a4agbx6r7sv"))))
8461 (build-system emacs-build-system)
8462 (propagated-inputs
8463 `(("mu" ,mu)))
8464 (home-page "https://gitlab.com/wavexx/mu4e-jump-to-list.el")
8465 (synopsis "Select and view mailing lists in mu4e")
8466 (description
8467 "@code{mu4e-jump-to-list} allows you to select and view mailing lists
8468 automatically using existing List-ID headers in your mu database. Just press
8469 \"l\" in the headers view and any mailing list you've subscribed to will be
8470 automatically discovered and presented in recency order.")
8471 (license license:gpl3+))))
8472
8473 (define-public emacs-mu4e-patch
8474 (let ((commit "522da46c1653b1cacc79cde91d6534da7ae9517d")
8475 (revision "1"))
8476 (package
8477 (name "emacs-mu4e-patch")
8478 (version (git-version "0.1.0" revision commit))
8479 (source (origin
8480 (method git-fetch)
8481 (uri (git-reference
8482 (url "https://github.com/seanfarley/mu4e-patch")
8483 (commit commit)))
8484 (file-name (git-file-name name version))
8485 (sha256
8486 (base32
8487 "10lzf3b70pk6rzdrgx0ww0gc94v0ydh9zj1gbsa20xw27ds7hmfn"))))
8488 (build-system emacs-build-system)
8489 (propagated-inputs
8490 `(("mu" ,mu)))
8491 (home-page "https://github.com/seanfarley/mu4e-patch")
8492 (synopsis "Colorize patch-like emails in mu4e")
8493 (description
8494 "Extension for mu4e to colorize patch-like emails with diff-mode.
8495 This is based on Frank Terbeck's @code{gnus-article-treat-patch.el} but has
8496 been adapted to work with mu4e.")
8497 (license license:gpl3+))))
8498
8499 (define-public emacs-pretty-mode
8500 (package
8501 (name "emacs-pretty-mode")
8502 (version "2.0.3")
8503 (source
8504 (origin
8505 (method git-fetch)
8506 (uri (git-reference
8507 (url "https://github.com/akatov/pretty-mode/")
8508 (commit version)))
8509 (file-name (git-file-name name version))
8510 (sha256
8511 (base32
8512 "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
8513 (build-system emacs-build-system)
8514 (home-page "https://github.com/akatov/pretty-mode")
8515 (synopsis "Redisplay parts of the buffer as Unicode symbols")
8516 (description
8517 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
8518 (license license:gpl3+)))
8519
8520 (define-public emacs-yasnippet
8521 (package
8522 (name "emacs-yasnippet")
8523 (version "0.13.0")
8524 (source (origin
8525 (method git-fetch)
8526 (uri (git-reference
8527 (url "https://github.com/joaotavora/yasnippet.git")
8528 (commit version)))
8529 (file-name (string-append name "-" version ".tar.gz"))
8530 (sha256
8531 (base32
8532 "0fkkplycrw8f8r30hjjxl1wm7p2irq2ipzzc1g7cc52abaal796p"))
8533 (modules '((guix build utils)))
8534 (snippet
8535 '(begin
8536 ;; YASnippet expects a "snippets" subdirectory in the same
8537 ;; directory as yasnippet.el, but we don't install it
8538 ;; because it's a git submodule pointing to an external
8539 ;; repository. Adjust `yas-snippet-dirs' to prevent
8540 ;; warnings about a missing directory.
8541 (substitute* "yasnippet.el"
8542 (("^ +'yas-installed-snippets-dir\\)\\)\n")
8543 "))\n"))
8544 #t))))
8545 (build-system emacs-build-system)
8546 (arguments
8547 `(#:tests? #t
8548 #:test-command '("emacs" "--batch"
8549 "-l" "yasnippet-tests.el"
8550 "-f" "ert-run-tests-batch-and-exit")
8551 ;; FIXME: one failing test
8552 #:phases
8553 (modify-phases %standard-phases
8554 (add-before 'check 'make-tests-writable
8555 (lambda _
8556 (make-file-writable "yasnippet-tests.el")
8557 #t))
8558 (add-before 'check 'delete-rebinding-test
8559 (lambda _
8560 (emacs-batch-edit-file "yasnippet-tests.el"
8561 `(progn (progn (goto-char (point-min))
8562 (re-search-forward
8563 "ert-deftest test-rebindings")
8564 (beginning-of-line)
8565 (kill-sexp))
8566 (basic-save-buffer)))
8567 #t)))))
8568 (home-page "https://github.com/joaotavora/yasnippet")
8569 (synopsis "Yet another snippet extension for Emacs")
8570 (description
8571 "YASnippet is a template system for Emacs. It allows you to type an
8572 abbreviation and automatically expand it into function templates.")
8573 (license license:gpl3+)))
8574
8575 (define-public emacs-yasnippet-snippets
8576 (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
8577 (revision "1"))
8578 (package
8579 (name "emacs-yasnippet-snippets")
8580 (version (string-append "1-" revision "." (string-take commit 8)))
8581 (source
8582 (origin
8583 (method git-fetch)
8584 (uri (git-reference
8585 (url "https://github.com/AndreaCrotti/yasnippet-snippets")
8586 (commit commit)))
8587 (file-name (git-file-name name version))
8588 (sha256
8589 (base32
8590 "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
8591 (build-system trivial-build-system)
8592 (arguments
8593 `(#:modules ((ice-9 ftw)
8594 (ice-9 regex)
8595 (guix build utils))
8596 #:builder
8597 (begin
8598 (use-modules (ice-9 ftw)
8599 (ice-9 regex)
8600 (guix build utils))
8601 (with-directory-excursion (assoc-ref %build-inputs "source")
8602 (for-each (lambda (dir)
8603 (copy-recursively
8604 dir
8605 (string-append %output
8606 "/share/emacs/yasnippet-snippets/"
8607 dir)))
8608 (scandir "." (lambda (fname)
8609 (and (string-match "-mode$" fname)
8610 (directory-exists? fname))))))
8611 #t)))
8612 (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
8613 (synopsis "Collection of YASnippet snippets for many languages")
8614 (description
8615 "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
8616 the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
8617 To make YASnippet aware of these snippets, add the above directory to
8618 @code{yas-snippet-dirs}.")
8619 (license license:expat))))
8620
8621 (define-public emacs-helm-c-yasnippet
8622 (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
8623 (revision "1"))
8624 (package
8625 (name "emacs-helm-c-yasnippet")
8626 (version (string-append "0.6.7" "-" revision "."
8627 (string-take commit 7)))
8628 (source (origin
8629 (method git-fetch)
8630 (uri (git-reference
8631 (url "https://github.com/emacs-jp/helm-c-yasnippet")
8632 (commit commit)))
8633 (file-name (git-file-name name version))
8634 (sha256
8635 (base32
8636 "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8"))))
8637 (build-system emacs-build-system)
8638 (propagated-inputs
8639 `(("emacs-helm" ,emacs-helm)
8640 ("emacs-yasnippet" ,emacs-yasnippet)))
8641 (home-page "https://github.com/emacs-jp/helm-c-yasnippet")
8642 (synopsis "Helm integration for Yasnippet")
8643 (description "This Emacs library provides Helm interface for
8644 Yasnippet.")
8645 (license license:gpl2+))))
8646
8647 (define-public emacs-helm-system-packages
8648 ;; There won't be a new release after 1.10.1 until
8649 ;; https://github.com/emacs-helm/helm-system-packages/issues/25 is fixed,
8650 ;; and latest commits fix import issues with Guix.
8651 (let ((commit "6572340f41611ef1991e9612d34d59130957ee4a"))
8652 (package
8653 (name "emacs-helm-system-packages")
8654 (version (git-version "1.10.1" "1" commit))
8655 (source (origin
8656 (method git-fetch)
8657 (uri (git-reference
8658 (url "https://github.com/emacs-helm/helm-system-packages")
8659 (commit commit)))
8660 (file-name (git-file-name name version))
8661 (sha256
8662 (base32
8663 "0mcz6vkpk12vsyd37xv1rbg4v442sxc3lj8yxskqg294xbdaclz4"))))
8664 (build-system emacs-build-system)
8665 (inputs
8666 `(("recutils" ,recutils)))
8667 (propagated-inputs
8668 `(("emacs-helm" ,emacs-helm)))
8669 (arguments
8670 `(#:phases
8671 (modify-phases %standard-phases
8672 (add-after 'unpack 'configure
8673 (lambda* (#:key inputs outputs #:allow-other-keys)
8674 (let ((recutils (assoc-ref inputs "recutils")))
8675 ;; Specify the absolute file names of the various
8676 ;; programs so that everything works out-of-the-box.
8677 (substitute* "helm-system-packages-guix.el"
8678 (("recsel") (string-append recutils "/bin/recsel")))))))))
8679 (home-page "https://github.com/emacs-helm/helm-system-packages")
8680 (synopsis "Helm System Packages is an interface to your package manager")
8681 (description "List all available packages in Helm (with installed
8682 packages displayed in their own respective face). Fuzzy-search, mark and
8683 execute the desired action over any selections of packages: Install,
8684 uninstall, display packages details (in Org Mode) or insert details at point,
8685 find files owned by packages... And much more, including performing all the
8686 above over the network.")
8687 (license license:gpl3+))))
8688
8689 (define-public emacs-helm-org-rifle
8690 (package
8691 (name "emacs-helm-org-rifle")
8692 (version "1.7.0")
8693 (source
8694 (origin
8695 (method git-fetch)
8696 (uri (git-reference
8697 (url "https://github.com/alphapapa/helm-org-rifle")
8698 (commit version)))
8699 (file-name (git-file-name name version))
8700 (sha256
8701 (base32
8702 "058zvh7cdall7dl3xay9ibcjvs13fbqp8fli3lz980pinmsds3r2"))))
8703 (build-system emacs-build-system)
8704 (propagated-inputs
8705 `(("emacs-dash" ,emacs-dash)
8706 ("emacs-f" ,emacs-f)
8707 ("emacs-helm" ,emacs-helm)
8708 ("emacs-org" ,emacs-org)
8709 ("emacs-s" ,emacs-s)))
8710 (home-page "https://github.com/alphapapa/helm-org-rifle")
8711 (synopsis "Rifle through Org files")
8712 (description "This package searches both headings and contents of entries
8713 in Org buffers and displays matching entries.")
8714 (license license:gpl3+)))
8715
8716 (define-public emacs-dired-toggle-sudo
8717 (package
8718 (name "emacs-dired-toggle-sudo")
8719 (version "1.0")
8720 (source
8721 (origin
8722 (method git-fetch)
8723 (uri (git-reference
8724 (url "https://github.com/renard/dired-toggle-sudo")
8725 (commit (string-append "v" version))))
8726 (file-name (git-file-name name version))
8727 (sha256
8728 (base32
8729 "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2"))
8730 (patches
8731 (search-patches
8732 "emacs-dired-toggle-sudo-emacs-26.patch"))))
8733 (build-system emacs-build-system)
8734 (home-page "https://github.com/renard/dired-toggle-sudo")
8735 (synopsis "Browse directory with @code{sudo} privileges")
8736 (description "This package allows for the use of @code{dired} with
8737 @code{sudo} privileges.")
8738 (license license:wtfpl2)))
8739
8740 (define-public emacs-memoize
8741 (package
8742 (name "emacs-memoize")
8743 (version "1.1")
8744 (source
8745 (origin
8746 (method git-fetch)
8747 (uri (git-reference
8748 (url "https://github.com/skeeto/emacs-memoize.git")
8749 (commit version)))
8750 (file-name (git-file-name name version))
8751 (sha256
8752 (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
8753 (build-system emacs-build-system)
8754 (arguments
8755 `(#:tests? #t
8756 #:test-command '("emacs" "--batch"
8757 "-l" "memoize-test.el"
8758 "-f" "ert-run-tests-batch-and-exit")))
8759 (home-page "https://github.com/skeeto/emacs-memoize")
8760 (synopsis "Emacs lisp memoization library")
8761 (description "@code{emacs-memoize} is an Emacs library for
8762 memoizing functions.")
8763 (license license:unlicense)))
8764
8765 (define-public emacs-linum-relative
8766 (package
8767 (name "emacs-linum-relative")
8768 (version "0.6")
8769 (source
8770 (origin
8771 (method git-fetch)
8772 (uri (git-reference
8773 (url "https://github.com/coldnew/linum-relative.git")
8774 (commit version)))
8775 (file-name (git-file-name name version))
8776 (sha256
8777 (base32 "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n"))))
8778 (build-system emacs-build-system)
8779 (home-page "https://github.com/coldnew/linum-relative")
8780 (synopsis "Relative line numbering for Emacs")
8781 (description "@code{emacs-linum-relative} displays the relative line
8782 number on the left margin in Emacs.")
8783 (license license:gpl2+)))
8784
8785 (define-public emacs-idle-highlight
8786 (package
8787 (name "emacs-idle-highlight")
8788 (version "1.1.3")
8789 (source
8790 (origin
8791 (method git-fetch)
8792 (uri (git-reference
8793 (url "https://github.com/nonsequitur/idle-highlight-mode.git")
8794 (commit version)))
8795 (file-name (git-file-name name version))
8796 (sha256
8797 (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
8798 (build-system emacs-build-system)
8799 (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
8800 (synopsis "Highlights all occurrences of the word the point is on")
8801 (description
8802 "This Emacs package provides @code{idle-highlight-mode} that sets
8803 an idle timer to highlight all occurrences in the buffer of the word under
8804 the point.")
8805 (license license:gpl3+)))
8806
8807 (define-public emacs-ox-twbs
8808 (package
8809 (name "emacs-ox-twbs")
8810 (version "1.1.1")
8811 (source
8812 (origin
8813 (method git-fetch)
8814 (uri (git-reference
8815 (url "https://github.com/marsmining/ox-twbs.git")
8816 (commit (string-append "v" version))))
8817 (file-name (git-file-name name version))
8818 (sha256
8819 (base32 "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"))))
8820 (build-system emacs-build-system)
8821 (home-page "https://github.com/marsmining/ox-twbs")
8822 (synopsis "Export org-mode docs as HTML compatible with Twitter Bootstrap")
8823 (description
8824 "This Emacs package outputs your org-mode docs with a simple, clean and
8825 modern look. It implements a new HTML back-end for exporting org-mode docs as
8826 HTML compatible with Twitter Bootstrap. By default, HTML is exported with
8827 jQuery and Bootstrap resources included via osscdn.")
8828 (license license:gpl3+)))
8829
8830 (define-public emacs-highlight-sexp
8831 (package
8832 (name "emacs-highlight-sexp")
8833 (version "1.0")
8834 (source
8835 (origin
8836 (method git-fetch)
8837 (uri (git-reference
8838 (url "https://github.com/daimrod/highlight-sexp.git")
8839 (commit (string-append "v" version))))
8840 (file-name (git-file-name name version))
8841 (sha256
8842 (base32 "12cyk2q5g6p4ac2hykw1cag7dp1prjjnck5f7nalwwaklmy62y79"))))
8843 (build-system emacs-build-system)
8844 (home-page "https://github.com/daimrod/highlight-sexp")
8845 (synopsis "Minor mode that highlights the s-exp at the current position")
8846 (description
8847 "This Emacs package highlights the s-exp at the current position.")
8848 (license license:gpl3+)))
8849
8850 (define-public emacs-highlight-stages
8851 (let ((commit "29cbc5b78261916da042ddb107420083da49b271")
8852 (revision "1"))
8853 (package
8854 (name "emacs-highlight-stages")
8855 (version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
8856 (source
8857 (origin
8858 (method git-fetch)
8859 (uri (git-reference
8860 (url "https://github.com/zk-phi/highlight-stages.git")
8861 (commit commit)))
8862 (file-name (git-file-name name version))
8863 (sha256
8864 (base32
8865 "0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
8866 (patches
8867 (search-patches "emacs-highlight-stages-add-gexp.patch"))))
8868 (build-system emacs-build-system)
8869 (home-page "https://github.com/wigust/highlight-stages")
8870 (synopsis "Minor mode that highlights (quasi-quoted) expressions")
8871 (description "@code{highlight-stages} provides an Emacs minor mode that
8872 highlights quasi-quoted expressions.")
8873 (license license:gpl3+))))
8874
8875 (define-public emacspeak
8876 (package
8877 (name "emacspeak")
8878 (version "50.0")
8879 (source
8880 (origin
8881 (method url-fetch)
8882 (uri (string-append
8883 "https://github.com/tvraman/emacspeak/releases/download/"
8884 version "/emacspeak-" version ".tar.bz2"))
8885 (sha256
8886 (base32
8887 "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb"))))
8888 (build-system gnu-build-system)
8889 (arguments
8890 '(#:make-flags (list (string-append "prefix="
8891 (assoc-ref %outputs "out")))
8892 #:phases
8893 (modify-phases %standard-phases
8894 (replace 'configure
8895 (lambda _
8896 (setenv "SHELL" (which "sh"))
8897 ;; Configure Emacspeak according to etc/install.org.
8898 (invoke "make" "config")))
8899 (add-after 'build 'build-espeak
8900 (lambda _
8901 (invoke "make" "espeak")))
8902 (replace 'install
8903 (lambda* (#:key inputs outputs #:allow-other-keys)
8904 (let* ((out (assoc-ref outputs "out"))
8905 (bin (string-append out "/bin"))
8906 (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
8907 (info (string-append out "/share/info"))
8908 (emacs (string-append (assoc-ref inputs "emacs")
8909 "/bin/emacs")))
8910 ;; According to etc/install.org, the Emacspeak directory should
8911 ;; be copied to its installation destination.
8912 (for-each
8913 (lambda (file)
8914 (copy-recursively file (string-append lisp "/" file)))
8915 '("etc" "info" "js" "lisp" "media" "servers" "sounds"
8916 "stumpwm" "xsl"))
8917 ;; Make sure emacspeak is loaded from the correct directory.
8918 (substitute* "etc/emacspeak.sh"
8919 (("/lisp/emacspeak-setup.el")
8920 (string-append lisp "/lisp/emacspeak-setup.el")))
8921 ;; Install the convenient startup script.
8922 (mkdir-p bin)
8923 (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
8924 #t))
8925 (add-after 'install 'wrap-program
8926 (lambda* (#:key inputs outputs #:allow-other-keys)
8927 (let* ((out (assoc-ref outputs "out"))
8928 (emacspeak (string-append out "/bin/emacspeak"))
8929 (espeak (string-append (assoc-ref inputs "espeak")
8930 "/bin/espeak")))
8931 ;; The environment variable DTK_PROGRAM tells emacspeak what
8932 ;; program to use for speech.
8933 (wrap-program emacspeak
8934 `("DTK_PROGRAM" ":" prefix (,espeak)))
8935 #t))))
8936 #:tests? #f)) ; no check target
8937 (inputs
8938 `(("emacs" ,emacs)
8939 ("espeak" ,espeak)
8940 ("perl" ,perl)
8941 ("tcl" ,tcl)
8942 ("tclx" ,tclx)))
8943 (home-page "http://emacspeak.sourceforge.net")
8944 (synopsis "Audio desktop interface for Emacs")
8945 (description
8946 "Emacspeak is a speech interface that allows visually impaired users to
8947 interact independently and efficiently with the computer. Audio formatting
8948 --a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS)
8949 allows Emacspeak to produce rich aural presentations of electronic information.
8950 By seamlessly blending all aspects of the Internet such as Web-surfing and
8951 messaging, Emacspeak speech-enables local and remote information via a
8952 consistent and well-integrated user interface.")
8953 (license license:gpl2+)))
8954
8955 (define-public emacs-adaptive-wrap
8956 (package
8957 (name "emacs-adaptive-wrap")
8958 (version "0.5.1")
8959 (source (origin
8960 (method url-fetch)
8961 (uri (string-append
8962 "http://elpa.gnu.org/packages/adaptive-wrap-"
8963 version ".el"))
8964 (sha256
8965 (base32
8966 "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll"))))
8967 (build-system emacs-build-system)
8968 (home-page "http://elpa.gnu.org/packages/adaptive-wrap.html")
8969 (synopsis "Smart line-wrapping with wrap-prefix")
8970 (description
8971 "This Emacs package provides the @code{adaptive-wrap-prefix-mode}
8972 minor mode which sets the wrap-prefix property on the fly so that
8973 single-long-line paragraphs get word-wrapped in a way similar to what
8974 you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
8975 actually changing the buffer's text.")
8976 (license license:gpl3+)))
8977
8978 (define-public emacs-diff-hl
8979 (package
8980 (name "emacs-diff-hl")
8981 (version "1.8.7")
8982 (source
8983 (origin
8984 (method git-fetch)
8985 (uri (git-reference
8986 (url "https://github.com/dgutov/diff-hl")
8987 (commit version)))
8988 (file-name (git-file-name name version))
8989 (sha256
8990 (base32 "0i7x6qgr3nydcwhw72sbc8z9x9dfhgkf0dqj9nakvx36vn1bblbq"))))
8991 (build-system emacs-build-system)
8992 (home-page "https://github.com/dgutov/diff-hl")
8993 (synopsis
8994 "Highlight uncommitted changes using VC")
8995 (description
8996 "@code{diff-hl-mode} highlights uncommitted changes on the side of the
8997 window (using the fringe, by default), allows you to jump between
8998 the hunks and revert them selectively.")
8999 (license license:gpl3+)))
9000
9001 (define-public emacs-diminish
9002 (package
9003 (name "emacs-diminish")
9004 (version "0.45")
9005 (source
9006 (origin
9007 (method git-fetch)
9008 (uri (git-reference
9009 (url "https://github.com/myrjola/diminish.el.git")
9010 (commit (string-append "v" version))))
9011 (file-name (git-file-name name version))
9012 (sha256
9013 (base32 "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6"))))
9014 (build-system emacs-build-system)
9015 (home-page "https://github.com/myrjola/diminish.el")
9016 (synopsis "Diminish minor modes with no modeline display")
9017 (description "@code{emacs-diminish} implements hiding or
9018 abbreviation of the mode line displays (lighters) of minor modes.")
9019 (license license:gpl2+)))
9020
9021 (define-public emacs-use-package
9022 (package
9023 (name "emacs-use-package")
9024 (version "2.4")
9025 (source (origin
9026 (method git-fetch)
9027 (uri (git-reference
9028 (url "https://github.com/jwiegley/use-package")
9029 (commit version)))
9030 (file-name (git-file-name name version))
9031 (sha256
9032 (base32
9033 "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
9034 (build-system emacs-build-system)
9035 (propagated-inputs
9036 `(("emacs-diminish" ,emacs-diminish)))
9037 (arguments
9038 `(#:tests? #t
9039 #:test-command '("emacs" "--batch"
9040 "-l" "use-package-tests.el"
9041 "-f" "ert-run-tests-batch-and-exit")))
9042 (home-page "https://github.com/jwiegley/use-package")
9043 (synopsis "Declaration for simplifying your .emacs")
9044 (description "The use-package macro allows you to isolate package
9045 configuration in your @file{.emacs} file in a way that is both
9046 performance-oriented and tidy.")
9047 (license license:gpl2+)))
9048
9049 (define-public emacs-leaf
9050 (package
9051 (name "emacs-leaf")
9052 (version "3.5.0")
9053 (source
9054 (origin
9055 (method git-fetch)
9056 (uri (git-reference
9057 (url "https://github.com/conao3/leaf.el.git")
9058 (commit (string-append "v" version))))
9059 (file-name (git-file-name name version))
9060 (sha256
9061 (base32
9062 "1rgd59146wad92yc64las0qgx67k2ifgsw1vwhp40xvkd7kb0r6d"))))
9063 (build-system emacs-build-system)
9064 (home-page "https://github.com/conao3/leaf.el")
9065 (arguments
9066 `(#:tests? #t
9067 #:test-command '("emacs" "--batch"
9068 "-l" "leaf-tests.el"
9069 "-f" "cort-test-run")))
9070 (synopsis
9071 "Simplify your init.el configuration, extended use-package")
9072 (description
9073 "This package provides macros that allows you to declaratively configure
9074 settings typical of an Elisp package with various keywords. The syntax is
9075 similar, but not identical to use-package -- overall, leaf aims at a cleaner
9076 and more predictable implementation.")
9077 (license license:agpl3+)))
9078
9079 (define-public emacs-strace-mode
9080 (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
9081 (revision "1"))
9082 (package
9083 (name "emacs-strace-mode")
9084 (version (string-append "0.0.2-" revision "." (string-take commit 7)))
9085 (source (origin
9086 (method git-fetch)
9087 (uri (git-reference
9088 (url "https://github.com/pkmoore/strace-mode")
9089 (commit commit)))
9090 (file-name (git-file-name name version))
9091 (sha256
9092 (base32
9093 "1lbk2kzdznf2bkfazizfbimaxxzfzv00lrz1ran9dc2zqbc0bj9f"))))
9094 (build-system emacs-build-system)
9095 (home-page "https://github.com/pkmoore/strace-mode")
9096 (synopsis "Emacs major mode to highlight strace outputs")
9097 (description "@code{emacs-strace-mode} provides an Emacs major mode
9098 highlighting strace outputs.")
9099 (license license:gpl3+))))
9100
9101 (define-public emacs-default-encrypt
9102 (package
9103 (name "emacs-default-encrypt")
9104 (version "4.4")
9105 (source
9106 (origin
9107 (method url-fetch)
9108 (uri (string-append
9109 "https://informationelle-selbstbestimmung-im-internet.de"
9110 "/emacs/jl-encrypt" version "/jl-encrypt.el"))
9111 (file-name (string-append "jl-encrypt-" version ".el"))
9112 (sha256
9113 (base32
9114 "0w9ggz075j1zwg7d0rv9k8238g600p7czfnnsnawswi7yps2xk78"))))
9115 (build-system emacs-build-system)
9116 (home-page
9117 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
9118 (synopsis "Automatically encrypt or sign Gnus messages in Emacs")
9119 (description
9120 "DefaultEncrypt is designed to be used with Gnus in Emacs. It
9121 automatically encrypts messages that you send (e.g., email) when public keys
9122 for all recipients are available, and it protects you from accidentally
9123 sending un-encrypted messages. It can also be configured to automatically
9124 sign messages that you send. For details and instructions on how to use
9125 DefaultEncrypt, please refer to the home page or read the comments in the
9126 source file, @file{jl-encrypt.el}.")
9127 (license license:gpl3+)))
9128
9129 (define-public emacs-extend-smime
9130 (package
9131 (name "emacs-extend-smime")
9132 (version "3.3")
9133 (source
9134 (origin
9135 (method url-fetch)
9136 (uri (string-append
9137 "https://informationelle-selbstbestimmung-im-internet.de"
9138 "/emacs/jl-smime" version "/jl-smime.el"))
9139 (file-name (string-append "jl-smime-" version ".el"))
9140 (sha256
9141 (base32
9142 "1iv8s2wjmv3v5qfwlcy9hvvrmxxvp3f8m1krlr789q7bbh35jynh"))))
9143 (build-system emacs-build-system)
9144 (home-page
9145 "https://informationelle-selbstbestimmung-im-internet.de/Emacs.html")
9146 (synopsis "Improved S/MIME support for Gnus in Emacs")
9147 (propagated-inputs
9148 `(("emacs-default-encrypt" ,emacs-default-encrypt)))
9149 (description
9150 ;; TRANSLATORS: ExtendSMIME, DefaultEncrypt, and emacs-default-encrypt
9151 ;; should not be translated. The name "emacs-default-encrypt" refers to
9152 ;; the Guix package that provides DefaultEncrypt.
9153 "ExtendSMIME is designed to be used with Gnus in Emacs. It enhances
9154 DefaultEncrypt (emacs-default-encrypt) to support S/MIME (Secure/Multipurpose
9155 Internet Mail Extensions) via LDAP (Lightweight Directory Access Protocol).
9156 Before a message (e.g., email) is sent, ExtendSMIME searches for missing
9157 certificates via LDAP and imports them into @code{gpgsm}. When certificates
9158 for all recipients are available, DefaultEncrypt automatically encrypts the
9159 message. For details and instructions on how to use ExtendSMIME, please refer
9160 to the home page or read the comments in the source file,
9161 @file{jl-smime.el}.")
9162 (license license:gpl3+)))
9163
9164 (define-public emacs-htmlize
9165 (package
9166 (name "emacs-htmlize")
9167 (version "1.55")
9168 (source
9169 (origin
9170 (method git-fetch)
9171 (uri (git-reference
9172 (url "https://github.com/hniksic/emacs-htmlize.git")
9173 (commit (string-append "release/" version))))
9174 (file-name (git-file-name name version))
9175 (sha256
9176 (base32 "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x"))))
9177 (build-system emacs-build-system)
9178 (home-page "https://github.com/hniksic/emacs-htmlize")
9179 (synopsis "Convert buffer text and decorations to HTML")
9180 (description "@code{emacs-htmlize} converts the buffer text and
9181 the associated decorations to HTML. Output to CSS, inline CSS and
9182 fonts is supported.")
9183 (license license:gpl2+)))
9184
9185 (define-public emacs-xmlgen
9186 (package
9187 (name "emacs-xmlgen")
9188 (version "0.5")
9189 (source
9190 (origin
9191 (method git-fetch)
9192 (uri (git-reference
9193 (url "https://github.com/philjackson/xmlgen.git")
9194 (commit version)))
9195 (file-name (git-file-name name version))
9196 (sha256
9197 (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
9198 (build-system emacs-build-system)
9199 (arguments
9200 `(#:tests? #t
9201 #:test-command '("emacs" "--batch"
9202 "-l" "xmlgen-test.el"
9203 "-f" "ert-run-tests-batch-and-exit")))
9204 (home-page "https://github.com/philjackson/xmlgen")
9205 (synopsis "S-expression to XML domain specific language (DSL) in
9206 Emacs Lisp")
9207 (description "@code{emacs-xmlgen} provides S-expression to XML
9208 conversion for Emacs Lisp.")
9209 (license license:gpl2+)))
9210
9211 (define-public emacs-cdlatex
9212 (package
9213 (name "emacs-cdlatex")
9214 (version "4.7")
9215 (source
9216 (origin
9217 (method git-fetch)
9218 (uri (git-reference
9219 (url "https://github.com/cdominik/cdlatex.git")
9220 (commit version)))
9221 (file-name (git-file-name name version))
9222 (sha256
9223 (base32 "1jj9vmhc4s3ych08bjm1c2xwi81z1p20rj7bvxrgvb5aga2ghi9d"))))
9224 (build-system emacs-build-system)
9225 (propagated-inputs
9226 `(("emacs-auctex" ,emacs-auctex)))
9227 (home-page "https://github.com/cdominik/cdlatex")
9228 (synopsis "Fast Emacs input methods for LaTeX environments and
9229 math")
9230 (description "CDLaTeX is an Emacs minor mode supporting fast
9231 insertion of environment templates and math in LaTeX. Similar
9232 commands are also offered as part of the AUCTeX package, but it is not
9233 the same - CDLaTeX focuses on speediness for inserting LaTeX
9234 constructs.")
9235 (license license:gpl3+)))
9236
9237 (define-public emacs-cnfonts
9238 (package
9239 (name "emacs-cnfonts")
9240 (version "0.9.1")
9241 (source
9242 (origin
9243 (method git-fetch)
9244 (uri (git-reference
9245 (url "https://github.com/tumashu/cnfonts.git")
9246 (commit (string-append "v" version))))
9247 (file-name (git-file-name name version))
9248 (sha256
9249 (base32 "11d44lf0m0kbzq1mvyqkl4aprys0xqaarp08nij57xnynin1rynx"))))
9250 (build-system emacs-build-system)
9251 (home-page "https://github.com/tumashu/cnfonts")
9252 (synopsis "Emacs Chinese fonts setup tool")
9253 (description "cnfonts is a Chinese fonts setup tool, allowing for easy
9254 configuration of Chinese fonts.")
9255 (license license:gpl2+)))
9256
9257 (define-public emacs-php-mode
9258 (package
9259 (name "emacs-php-mode")
9260 (version "1.22.1")
9261 (source (origin
9262 (method git-fetch)
9263 (uri (git-reference
9264 (url "https://github.com/ejmr/php-mode.git")
9265 (commit (string-append "v" version))))
9266 (file-name (git-file-name name version))
9267 (sha256
9268 (base32
9269 "1yc7f39bv2ni8q5372r4kj04z7rikvc8w1mqx5c4zph5r02jab7i"))))
9270 (build-system emacs-build-system)
9271 (home-page "https://github.com/ejmr/php-mode")
9272 (synopsis "Major mode for editing PHP code")
9273 (description "@code{php-mode} is a major mode for editing PHP source
9274 code. It's an extension of C mode; thus it inherits all C mode's navigation
9275 functionality. But it colors according to the PHP grammar and indents
9276 according to the PEAR coding guidelines. It also includes a couple handy
9277 IDE-type features such as documentation search and a source and class
9278 browser.")
9279 (license license:gpl3+)))
9280
9281 (define-public emacs-pos-tip
9282 (package
9283 (name "emacs-pos-tip")
9284 (version "0.4.6")
9285 (source
9286 (origin
9287 (method git-fetch)
9288 (uri (git-reference
9289 (url "https://github.com/pitkali/pos-tip.git")
9290 (commit version)))
9291 (file-name (git-file-name name version))
9292 (sha256
9293 (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
9294 (build-system emacs-build-system)
9295 ;; The following functions and variables needed by emacs-pos-tip are
9296 ;; not included in emacs-minimal:
9297 ;; x-display-pixel-width, x-display-pixel-height, x-show-tip
9298 (arguments `(#:emacs ,emacs))
9299 (home-page "https://github.com/pitkali/pos-tip")
9300 (synopsis "Show tooltip at point")
9301 (description "The standard library tooltip.el provides a function for
9302 displaying a tooltip at the mouse position. However, locating a tooltip at an
9303 arbitrary buffer position in a window is not easy. Pos-tip provides such a
9304 function to be used by other frontend programs.")
9305 (license license:gpl2+)))
9306
9307 (define-public emacs-pyim-basedict
9308 (package
9309 (name "emacs-pyim-basedict")
9310 (version "0.3.1")
9311 (source
9312 (origin
9313 (method git-fetch)
9314 (uri (git-reference
9315 (url "https://github.com/tumashu/pyim-basedict.git")
9316 (commit (string-append "v" version))))
9317 (file-name (git-file-name name version))
9318 (sha256
9319 (base32 "0576r8ap9gp91ycjf1d47pn13kxp0f9fysn09zlq44hr0s1y2y5d"))))
9320 (build-system emacs-build-system)
9321 (home-page "https://github.com/tumashu/pyim-basedict")
9322 (synopsis "Input method dictionary of pyim")
9323 (description "Pyim-basedict is the default pinyin input method dictionary,
9324 containing words from the rime project.")
9325 (license license:gpl2+)))
9326
9327 (define-public emacs-pyim
9328 (package
9329 (name "emacs-pyim")
9330 (version "1.8")
9331 (source
9332 (origin
9333 (method git-fetch)
9334 (uri (git-reference
9335 (url "https://github.com/tumashu/pyim")
9336 (commit (string-append "v" version))))
9337 (file-name (git-file-name name version))
9338 (sha256
9339 (base32
9340 "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"))))
9341 (build-system emacs-build-system)
9342 (propagated-inputs
9343 `(("emacs-async" ,emacs-async)
9344 ("emacs-pyim-basedict" ,emacs-pyim-basedict)
9345 ("emacs-popup" ,emacs-popup)
9346 ("emacs-posframe" ,emacs-posframe)))
9347 (home-page "https://github.com/tumashu/pyim")
9348 (synopsis "Chinese input method")
9349 (description "Chinese input method which supports quanpin, shuangpin, wubi
9350 and cangjie.")
9351 (license license:gpl2+)))
9352
9353 (define-public emacs-posframe
9354 (package
9355 (name "emacs-posframe")
9356 (version "0.5.0")
9357 (source
9358 (origin
9359 (method git-fetch)
9360 (uri (git-reference
9361 (url "https://github.com/tumashu/posframe")
9362 (commit (string-append "v" version))))
9363 (file-name (git-file-name name version))
9364 (sha256
9365 (base32
9366 "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
9367 (build-system emacs-build-system)
9368 ;; emacs-minimal does not include the function font-info
9369 (arguments `(#:emacs ,emacs))
9370 (home-page "https://github.com/tumashu/posframe")
9371 (synopsis "Pop a posframe (a child frame) at point")
9372 (description "@code{emacs-posframe} can pop a posframe at point. A
9373 posframe is a child frame displayed within its root window's buffer.
9374 @code{emacs-posframe} is fast and works well with CJK languages.")
9375 (license license:gpl3+)))
9376
9377 (define-public emacs-el2org
9378 (package
9379 (name "emacs-el2org")
9380 (version "0.6.0")
9381 (source
9382 (origin
9383 (method git-fetch)
9384 (uri (git-reference
9385 (url "https://github.com/tumashu/el2org.git")
9386 (commit (string-append "v" version))))
9387 (file-name (git-file-name name version))
9388 (sha256
9389 (base32 "0mzddqny6wpg1fv99xrvlv7rxmaifvmy5bvj4in4pldhm4cx4q1b"))))
9390 (build-system emacs-build-system)
9391 (home-page "https://github.com/tumashu/el2org")
9392 (synopsis "Convert Emacs-lisp file to org file")
9393 (description "El2org is a simple tool, which can convert Emacs-lisp file
9394 to org file, you can use this tool to write orgify commentary.")
9395 (license license:gpl2+)))
9396
9397 (define-public emacs-mustache
9398 (package
9399 (name "emacs-mustache")
9400 (version "0.23")
9401 (source
9402 (origin
9403 (method git-fetch)
9404 (uri (git-reference
9405 (url "https://github.com/Wilfred/mustache.el.git")
9406 (commit version)))
9407 (file-name (git-file-name name version))
9408 (sha256
9409 (base32 "1n2ymd92qpvsby6ms0l3kjhdzzc47rri2aiscc6bs07hm4mjpr9q"))))
9410 (build-system emacs-build-system)
9411 (propagated-inputs
9412 `(("emacs-dash" ,emacs-dash)
9413 ("emacs-ht" ,emacs-ht)
9414 ("emacs-s" ,emacs-s)))
9415 (home-page "https://github.com/Wilfred/mustache.el")
9416 (synopsis "Mustache templating library for Emacs")
9417 (description "Mustache templating library for Emacs, mustache is
9418 a simple web template system, which is described as a logic-less system
9419 because it lacks any explicit control flow statements, both looping and
9420 conditional evaluation can be achieved using section tags processing lists
9421 and lambdas.")
9422 (license license:gpl3+)))
9423
9424 (define-public emacs-org2web
9425 (package
9426 (name "emacs-org2web")
9427 (version "0.9.1")
9428 (source
9429 (origin
9430 (method git-fetch)
9431 (uri (git-reference
9432 (url "https://github.com/tumashu/org2web.git")
9433 (commit (string-append "v" version))))
9434 (file-name (git-file-name name version))
9435 (sha256
9436 (base32 "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"))))
9437 (build-system emacs-build-system)
9438 (propagated-inputs
9439 `(("emacs-dash" ,emacs-dash)
9440 ("emacs-el2org" ,emacs-el2org)
9441 ("emacs-ht" ,emacs-ht)
9442 ("emacs-mustache" ,emacs-mustache)
9443 ("emacs-simple-httpd" ,emacs-simple-httpd)))
9444 (home-page "https://github.com/tumashu/org2web")
9445 (synopsis "Static site generator based on org-mode ")
9446 (description "Org2web is a static site generator based on org-mode,
9447 which code derived from Kelvin H's org-page.")
9448 (license license:gpl2+)))
9449
9450 (define-public emacs-xelb
9451 (package
9452 (name "emacs-xelb")
9453 (version "0.18")
9454 (source (origin
9455 (method url-fetch)
9456 (uri (string-append "https://elpa.gnu.org/packages/xelb-"
9457 version ".tar"))
9458 (sha256
9459 (base32
9460 "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7"))))
9461 (build-system emacs-build-system)
9462 ;; The following functions and variables needed by emacs-xelb are
9463 ;; not included in emacs-minimal:
9464 ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym
9465 ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region
9466 ;; x-display-pixel-width, x-display-pixel-height
9467 (arguments
9468 `(#:emacs ,emacs
9469 #:phases
9470 (modify-phases %standard-phases
9471 (add-after 'unpack 'regenerate-el-files
9472 (lambda* (#:key inputs #:allow-other-keys)
9473 (invoke "make"
9474 (string-append "PROTO_PATH="
9475 (assoc-ref inputs "xcb-proto")
9476 "/share/xcb")
9477 (string-append "EMACS_BIN="
9478 (assoc-ref inputs "emacs")
9479 "/bin/emacs -Q")))))))
9480 (native-inputs `(("xcb-proto" ,xcb-proto)))
9481 (home-page "https://github.com/ch11ng/xelb")
9482 (synopsis "X protocol Emacs Lisp binding")
9483 (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the
9484 X11 protocol based on the XML description files from the XCB project. It
9485 features an object-oriented API and permits a certain degree of concurrency.
9486 It should enable you to implement low-level X11 applications.")
9487 (license license:gpl3+)))
9488
9489 (define-public emacs-exwm
9490 (package
9491 (name "emacs-exwm")
9492 (version "0.23")
9493 (synopsis "Emacs X window manager")
9494 (source (origin
9495 (method url-fetch)
9496 (uri (string-append "https://elpa.gnu.org/packages/exwm-"
9497 version ".tar"))
9498 (sha256
9499 (base32
9500 "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
9501 (build-system emacs-build-system)
9502 (propagated-inputs
9503 `(("emacs-xelb" ,emacs-xelb)))
9504 (inputs
9505 `(("xhost" ,xhost)
9506 ("dbus" ,dbus)))
9507 ;; The following functions and variables needed by emacs-exwm are
9508 ;; not included in emacs-minimal:
9509 ;; scroll-bar-mode, fringe-mode
9510 ;; x-display-pixel-width, x-display-pixel-height
9511 (arguments
9512 `(#:emacs ,emacs
9513 #:phases
9514 (modify-phases %standard-phases
9515 (add-after 'build 'install-xsession
9516 (lambda* (#:key inputs outputs #:allow-other-keys)
9517 (let* ((out (assoc-ref outputs "out"))
9518 (xsessions (string-append out "/share/xsessions"))
9519 (bin (string-append out "/bin"))
9520 (exwm-executable (string-append bin "/exwm")))
9521 ;; Add a .desktop file to xsessions
9522 (mkdir-p xsessions)
9523 (mkdir-p bin)
9524 (with-output-to-file
9525 (string-append xsessions "/exwm.desktop")
9526 (lambda _
9527 (format #t "[Desktop Entry]~@
9528 Name=~a~@
9529 Comment=~a~@
9530 Exec=~a~@
9531 TryExec=~:*~a~@
9532 Type=Application~%" ,name ,synopsis exwm-executable)))
9533 ;; Add a shell wrapper to bin
9534 (with-output-to-file exwm-executable
9535 (lambda _
9536 (format #t "#!~a ~@
9537 ~a +SI:localuser:$USER ~@
9538 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9539 (string-append (assoc-ref inputs "bash") "/bin/sh")
9540 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9541 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9542 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9543 '(cond
9544 ((file-exists-p "~/.exwm")
9545 (load-file "~/.exwm"))
9546 ((not (featurep 'exwm))
9547 (require 'exwm)
9548 (require 'exwm-config)
9549 (exwm-config-default)
9550 (message (concat "exwm configuration not found. "
9551 "Falling back to default configuration...")))))))
9552 (chmod exwm-executable #o555)
9553 #t))))))
9554 (home-page "https://github.com/ch11ng/exwm")
9555 (description "EXWM is a full-featured tiling X window manager for Emacs
9556 built on top of XELB.")
9557 (license license:gpl3+)))
9558
9559 (define-public emacs-switch-window
9560 (package
9561 (name "emacs-switch-window")
9562 (version "1.6.2")
9563 (source
9564 (origin
9565 (method git-fetch)
9566 (uri (git-reference
9567 (url "https://github.com/dimitri/switch-window")
9568 (commit (string-append "v" version))))
9569 (file-name (git-file-name name version))
9570 (sha256
9571 (base32
9572 "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"))))
9573 (build-system emacs-build-system)
9574 (home-page "https://github.com/dimitri/switch-window")
9575 (synopsis "Emacs window switch tool")
9576 (description "Switch-window is an emacs window switch tool, which
9577 offer a visual way to choose a window to switch to, delete, split or
9578 other operations.")
9579 (license license:wtfpl2)))
9580
9581 (define-public emacs-exwm-x
9582 (package
9583 (name "emacs-exwm-x")
9584 (version "1.9.0")
9585 (synopsis "Derivative window manager based on EXWM")
9586 (source
9587 (origin
9588 (method git-fetch)
9589 (uri (git-reference
9590 (url "https://github.com/tumashu/exwm-x")
9591 (commit (string-append "v" version))))
9592 (file-name (git-file-name name version))
9593 (sha256
9594 (base32
9595 "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"))))
9596 (build-system emacs-build-system)
9597 (propagated-inputs
9598 `(("emacs-exwm" ,emacs-exwm)
9599 ("emacs-switch-window" ,emacs-switch-window)
9600 ("emacs-ivy" ,emacs-ivy)
9601 ("emacs-use-package" ,emacs-use-package)))
9602 (inputs
9603 `(("xhost" ,xhost)
9604 ("dbus" ,dbus)))
9605 ;; Need emacs instead of emacs-minimal,
9606 ;; for emacs's bin path will be inserted into bin/exwm-x file.
9607 (arguments
9608 `(#:emacs ,emacs
9609 #:phases
9610 (modify-phases %standard-phases
9611 (add-after 'build 'install-xsession
9612 (lambda* (#:key inputs outputs #:allow-other-keys)
9613 (let* ((out (assoc-ref outputs "out"))
9614 (xsessions (string-append out "/share/xsessions"))
9615 (bin (string-append out "/bin"))
9616 (exwm-executable (string-append bin "/exwm-x")))
9617 ;; Add a .desktop file to xsessions
9618 (mkdir-p xsessions)
9619 (mkdir-p bin)
9620 (with-output-to-file
9621 (string-append xsessions "/exwm-x.desktop")
9622 (lambda _
9623 (format #t "[Desktop Entry]~@
9624 Name=~a~@
9625 Comment=~a~@
9626 Exec=~a~@
9627 TryExec=~@*~a~@
9628 Type=Application~%" ,name ,synopsis exwm-executable)))
9629 ;; Add a shell wrapper to bin
9630 (with-output-to-file exwm-executable
9631 (lambda _
9632 (format #t "#!~a ~@
9633 ~a +SI:localuser:$USER ~@
9634 exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
9635 (string-append (assoc-ref inputs "bash") "/bin/sh")
9636 (string-append (assoc-ref inputs "xhost") "/bin/xhost")
9637 (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
9638 (string-append (assoc-ref inputs "emacs") "/bin/emacs")
9639 '(require 'exwmx-loader))))
9640 (chmod exwm-executable #o555)
9641 #t))))))
9642 (home-page "https://github.com/tumashu/exwm-x")
9643 (description "EXWM-X is a derivative window manager based on EXWM, with focus
9644 on mouse-control.")
9645 (license license:gpl3+)))
9646
9647 (define-public emacs-gnugo
9648 (package
9649 (name "emacs-gnugo")
9650 (version "3.1.0")
9651 (source
9652 (origin
9653 (method url-fetch)
9654 (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
9655 version ".tar"))
9656 (sha256
9657 (base32
9658 "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
9659 (build-system emacs-build-system)
9660 (arguments
9661 `(#:phases (modify-phases %standard-phases
9662 (add-after 'unpack 'configure-default-gnugo-xpms-variable
9663 (lambda _
9664 (substitute* "gnugo.el"
9665 (("defvar gnugo-xpms nil")
9666 "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
9667 #t)))))
9668 (propagated-inputs
9669 `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
9670 ("emacs-xpm" ,emacs-xpm)))
9671 (home-page "https://elpa.gnu.org/packages/gnugo.html")
9672 (synopsis "Emacs major mode for playing GNU Go")
9673 (description "This package provides an Emacs based interface for GNU Go.
9674 It has a graphical mode where the board and stones are drawn using XPM images
9675 and supports the use of a mouse.")
9676 (license license:gpl3+)))
9677
9678 (define-public emacs-gnuplot
9679 (package
9680 (name "emacs-gnuplot")
9681 (version "0.7.0")
9682 (source
9683 (origin
9684 (method git-fetch)
9685 (uri (git-reference
9686 (url "https://github.com/bruceravel/gnuplot-mode.git")
9687 (commit version)))
9688 (file-name (git-file-name name version))
9689 (sha256
9690 (base32 "0bwri3cvm2vr27kyqkrddm28fs08axnd4nm9amfgp54xp20bn4yn"))))
9691 (build-system gnu-build-system)
9692 (native-inputs `(("emacs" ,emacs-minimal)))
9693 (arguments
9694 (let ((elisp-dir (string-append "/share/emacs/site-lisp/guix.d"
9695 "/gnuplot-" version)))
9696 `(#:modules ((guix build gnu-build-system)
9697 (guix build utils)
9698 (guix build emacs-utils))
9699 #:imported-modules (,@%gnu-build-system-modules
9700 (guix build emacs-utils))
9701 #:configure-flags
9702 (list (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
9703 "/bin/emacs")
9704 (string-append "--with-lispdir=" %output ,elisp-dir))
9705 #:phases
9706 (modify-phases %standard-phases
9707 (add-after 'install 'generate-autoloads
9708 (lambda* (#:key outputs #:allow-other-keys)
9709 (emacs-generate-autoloads
9710 "gnuplot"
9711 (string-append (assoc-ref outputs "out") ,elisp-dir))
9712 #t))))))
9713 (home-page "https://github.com/bruceravel/gnuplot-mode")
9714 (synopsis "Emacs major mode for interacting with gnuplot")
9715 (description "@code{emacs-gnuplot} is an emacs major mode for interacting
9716 with gnuplot.")
9717 (license license:gpl2+)))
9718
9719 (define-public emacs-transpose-frame
9720 (package
9721 (name "emacs-transpose-frame")
9722 (version "0.1.0")
9723 (source
9724 (origin
9725 (method url-fetch)
9726 (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
9727 (file-name (string-append "transpose-frame-" version ".el"))
9728 (sha256
9729 (base32
9730 "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
9731 (build-system emacs-build-system)
9732 (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
9733 (synopsis "Transpose window arrangement in current frame")
9734 (description "@code{emacs-transpose-frame} provides some interactive
9735 functions which allows users to transpose windows arrangement in currently
9736 selected frame.")
9737 (license license:bsd-2)))
9738
9739 (define-public emacs-key-chord
9740 (package
9741 (name "emacs-key-chord")
9742 (version "0.6")
9743 (source
9744 (origin
9745 (method url-fetch)
9746 (uri "https://www.emacswiki.org/emacs/download/key-chord.el")
9747 (file-name (string-append "key-chord-" version ".el"))
9748 (sha256
9749 (base32
9750 "03m44pqggfrd53nh9dvpdjgm0rvca34qxmd30hr33hzprzjambxg"))))
9751 (build-system emacs-build-system)
9752 (home-page "https://www.emacswiki.org/emacs/key-chord.el")
9753 (synopsis "Map pairs of simultaneously pressed keys to Emacs commands")
9754 (description "@code{emacs-key-chord} provides @code{key-chord-mode}, a
9755 mode for binding key chords to commands. A key chord is defined as two keys
9756 pressed simultaneously or a single key quickly pressed twice.")
9757 (license license:gpl2+)))
9758
9759 (define-public emacs-evil-surround
9760 (package
9761 (name "emacs-evil-surround")
9762 (version "1.0.4")
9763 (source
9764 (origin
9765 (method git-fetch)
9766 (uri (git-reference
9767 (url "https://github.com/emacs-evil/evil-surround")
9768 (commit version)))
9769 (file-name (git-file-name name version))
9770 (sha256
9771 (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
9772 (build-system emacs-build-system)
9773 (propagated-inputs
9774 `(("emacs-evil" ,emacs-evil)))
9775 (arguments
9776 `(#:tests? #t
9777 #:test-command '("make" "test")))
9778 (home-page "https://github.com/emacs-evil/evil-surround")
9779 (synopsis "Easily modify surrounding parentheses and quotes")
9780 (description "@code{emacs-evil-surround} allows easy deletion, change and
9781 addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
9782 (license license:gpl3+)))
9783
9784 (define-public emacs-evil-commentary
9785 (package
9786 (name "emacs-evil-commentary")
9787 (version "2.1.1")
9788 (source
9789 (origin
9790 (method git-fetch)
9791 (uri (git-reference
9792 (url "https://github.com/linktohack/evil-commentary.git")
9793 (commit (string-append "v" version))))
9794 (file-name (git-file-name name version))
9795 (sha256
9796 (base32 "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"))))
9797 (build-system emacs-build-system)
9798 (propagated-inputs
9799 `(("emacs-evil" ,emacs-evil)))
9800 (home-page "https://github.com/linktohack/evil-commentary")
9801 (synopsis "Comment out code in evil mode")
9802 (description "@code{emacs-evil-commentary} adds keybindings to easily
9803 comment out lines of code in evil mode. It provides @code{gcc} to comment out
9804 lines, and @code{gc} to comment out the target of a motion.")
9805 (license license:gpl3+)))
9806
9807 ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
9808 ;; therefore cannot be run
9809 (define-public emacs-ansi
9810 (package
9811 (name "emacs-ansi")
9812 (version "0.4.1")
9813 (source
9814 (origin
9815 (method git-fetch)
9816 (uri (git-reference
9817 (url "https://github.com/rejeep/ansi.el.git")
9818 (commit (string-append "v" version))))
9819 (file-name (git-file-name name version))
9820 (sha256
9821 (base32 "1hbddxarr40ygvaw4pwaivq2l4f0brszw73w1r50lkjlggb7bl3g"))))
9822 (build-system emacs-build-system)
9823 (propagated-inputs
9824 `(("emacs-dash" ,emacs-dash)
9825 ("emacs-s" ,emacs-s)))
9826 (home-page "https://github.com/rejeep/ansi.el")
9827 (synopsis "Convert strings to ANSI")
9828 (description "@code{emacs-ansi} defines functions that turns simple
9829 strings to ANSI strings. Turning a string into an ANSI string can be to add
9830 color to a text, add color in the background of a text or adding a style, such
9831 as bold, underscore or italic.")
9832 (license license:gpl3+)))
9833
9834 ;; Tests for emacs-commander have a circular dependency with ert-runner, and
9835 ;; therefore cannot be run
9836 (define-public emacs-commander
9837 (package
9838 (name "emacs-commander")
9839 (version "0.7.0")
9840 (source
9841 (origin
9842 (method git-fetch)
9843 (uri (git-reference
9844 (url "https://github.com/rejeep/commander.el.git")
9845 (commit (string-append "v" version))))
9846 (file-name (git-file-name name version))
9847 (sha256
9848 (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
9849 (build-system emacs-build-system)
9850 (propagated-inputs
9851 `(("emacs-dash" ,emacs-dash)
9852 ("emacs-f" ,emacs-f)
9853 ("emacs-s" ,emacs-s)))
9854 (home-page "https://github.com/rejeep/commander.el")
9855 (synopsis "Emacs command line parser")
9856 (description "@code{emacs-commander} provides command line parsing for
9857 Emacs.")
9858 (license license:gpl3+)))
9859
9860 ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
9861 ;; cannot be run
9862 (define-public emacs-ert-runner
9863 (let ((version "0.7.0")
9864 (revision "1")
9865 (commit "90b8fdd5970ef76a4649be60003b37f82cdc1a65"))
9866 (package
9867 (name "emacs-ert-runner")
9868 (version (git-version "0.7.0" revision commit))
9869 (source
9870 (origin
9871 (method git-fetch)
9872 (uri (git-reference
9873 (url "https://github.com/rejeep/ert-runner.el.git")
9874 (commit commit)))
9875 (file-name (git-file-name name version))
9876 (sha256
9877 (base32
9878 "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"))))
9879 (build-system emacs-build-system)
9880 (inputs
9881 `(("emacs-ansi" ,emacs-ansi)
9882 ("emacs-commander" ,emacs-commander)
9883 ("emacs-dash" ,emacs-dash)
9884 ("emacs-f" ,emacs-f)
9885 ("emacs-s" ,emacs-s)
9886 ("emacs-shut-up" ,emacs-shut-up)))
9887 (arguments
9888 `(#:phases
9889 (modify-phases %standard-phases
9890 (add-after 'install 'install-executable
9891 (lambda* (#:key inputs outputs #:allow-other-keys)
9892 (let ((out (assoc-ref outputs "out"))
9893 (source-directory (string-append
9894 (getenv "TMPDIR") "/source")))
9895 (substitute* "bin/ert-runner"
9896 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
9897 (string-append "ERT_RUNNER=\"" out
9898 "/share/emacs/site-lisp")))
9899 (install-file "bin/ert-runner" (string-append out "/bin"))
9900 (wrap-program (string-append out "/bin/ert-runner")
9901 (list "EMACSLOADPATH" ":" 'prefix
9902 ;; Do not capture the transient source directory in
9903 ;; the wrapper.
9904 (delete source-directory
9905 (string-split (getenv "EMACSLOADPATH") #\:))))
9906 #t))))
9907 #:include (cons* "^reporters/.*\\.el$" %default-include)))
9908 (home-page "https://github.com/rejeep/ert-runner.el")
9909 (synopsis "Opinionated Ert testing workflow")
9910 (description "@code{ert-runner} is a tool for Emacs projects tested
9911 using ERT. It assumes a certain test structure setup and can therefore make
9912 running tests easier.")
9913 (license license:gpl3+))))
9914
9915 (define-public ert-runner
9916 (deprecated-package "ert-runner" emacs-ert-runner))
9917
9918 (define-public emacs-xtest
9919 (package
9920 (name "emacs-xtest")
9921 (version "1.1.0")
9922 (source (origin
9923 (method git-fetch)
9924 (uri (git-reference
9925 (url "https://github.com/promethial/xtest.git")
9926 (commit (string-append "v" version))))
9927 (file-name (git-file-name name version))
9928 (sha256
9929 (base32
9930 "1wqx6hlqcmqiljydih5fx89dw06g8w728pyn4iqsap8jwgjngb09"))))
9931 (arguments
9932 `(#:exclude '()))
9933 (build-system emacs-build-system)
9934 (home-page "https://github.com/promethial/xtest/")
9935 (synopsis "Simple testing with Emacs")
9936 (description "This package provides a simple testing library for Emacs.")
9937 (license license:gpl3+)))
9938
9939 (define-public emacs-disable-mouse
9940 (package
9941 (name "emacs-disable-mouse")
9942 (version "0.2")
9943 (source
9944 (origin
9945 (method git-fetch)
9946 (uri (git-reference
9947 (url "https://github.com/purcell/disable-mouse.git")
9948 (commit version)))
9949 (file-name (git-file-name name version))
9950 (sha256
9951 (base32 "1v1y5hf6k6ng7xsvgb27nh740d14m6l4krr0paccda8zgm4mw357"))))
9952 (build-system emacs-build-system)
9953 (home-page "https://github.com/purcell/disable-mouse")
9954 (synopsis "Disable mouse commands globally")
9955 (description
9956 "Provides @code{disable-mouse-mode} and @code{global-disable-mouse-mode},
9957 pair of minor modes which suppress all mouse events by intercepting them and
9958 running a customisable handler command (@code{ignore} by default). ")
9959 (license license:gpl3+)))
9960
9961 (define-public emacs-json-reformat
9962 (package
9963 (name "emacs-json-reformat")
9964 (version "0.0.6")
9965 (source
9966 (origin
9967 (method git-fetch)
9968 (uri (git-reference
9969 (url "https://github.com/gongo/json-reformat.git")
9970 (commit version)))
9971 (file-name (git-file-name name version))
9972 (sha256
9973 (base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
9974 (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
9975 (build-system emacs-build-system)
9976 (propagated-inputs
9977 `(("emacs-undercover" ,emacs-undercover)))
9978 (native-inputs
9979 `(("emacs-dash" ,emacs-dash)
9980 ("emacs-shut-up" ,emacs-shut-up)
9981 ("ert-runner" ,emacs-ert-runner)))
9982 (arguments
9983 `(#:tests? #t
9984 #:test-command '("ert-runner")
9985 #:phases
9986 (modify-phases %standard-phases
9987 (add-before 'check 'make-tests-writable
9988 (lambda _
9989 (for-each make-file-writable (find-files "test"))
9990 #t))
9991 (add-before 'check 'delete-json-objects-order-test
9992 (lambda _
9993 (emacs-batch-edit-file "test/json-reformat-test.el"
9994 `(progn (progn (goto-char (point-min))
9995 (re-search-forward
9996 "ert-deftest json-reformat-test:json-reformat-region")
9997 (beginning-of-line)
9998 (kill-sexp))
9999 (basic-save-buffer)))
10000 #t)))))
10001 (home-page "https://github.com/gongo/json-reformat")
10002 (synopsis "Reformatting tool for JSON")
10003 (description "@code{json-reformat} provides a reformatting tool for
10004 @url{http://json.org/, JSON}.")
10005 (license license:gpl3+)))
10006
10007 (define-public emacs-json-snatcher
10008 (package
10009 (name "emacs-json-snatcher")
10010 (version "1.0.0")
10011 (source
10012 (origin
10013 (method git-fetch)
10014 (uri (git-reference
10015 (url "https://github.com/Sterlingg/json-snatcher.git")
10016 (commit version)))
10017 (file-name (git-file-name name version))
10018 (sha256
10019 (base32 "05zsgnk7grgw9jzwl80h5sxfpifxlr37b4mkbvx7mjq4z14xc2jw"))))
10020 (build-system emacs-build-system)
10021 (home-page "https://github.com/sterlingg/json-snatcher")
10022 (synopsis "Grabs the path to JSON values in a JSON file")
10023 (description "@code{emacs-json-snatcher} grabs the path to JSON values in
10024 a @url{http://json.org/, JSON} file.")
10025 (license license:gpl3+)))
10026
10027 (define-public emacs-json-mode
10028 (package
10029 (name "emacs-json-mode")
10030 (version "1.7.0")
10031 (source
10032 (origin
10033 (method git-fetch)
10034 (uri (git-reference
10035 (url "https://github.com/joshwnj/json-mode.git")
10036 (commit (string-append "v" version))))
10037 (file-name (git-file-name name version))
10038 (sha256
10039 (base32 "0i79lqzdg59vkqwjd3q092xxn9vhxspb1vn4pkis0vfvn46g01jy"))))
10040 (build-system emacs-build-system)
10041 (propagated-inputs
10042 `(("emacs-json-reformat" ,emacs-json-reformat)
10043 ("emacs-json-snatcher" ,emacs-json-snatcher)))
10044 (home-page "https://github.com/joshwnj/json-mode")
10045 (synopsis "Major mode for editing JSON files")
10046 (description "@code{json-mode} extends the builtin js-mode syntax
10047 highlighting.")
10048 (license license:gpl3+)))
10049
10050 (define-public emacs-restclient
10051 (let ((commit "422ee8d8b077dffe65706a0f027ed700b84746bc")
10052 (version "0")
10053 (revision "2")) ;Guix package revision,
10054 ;upstream doesn't have official releases
10055 (package
10056 (name "emacs-restclient")
10057 (version (git-version version revision commit))
10058 (source (origin
10059 (method git-fetch)
10060 (uri (git-reference
10061 (url "https://github.com/pashky/restclient.el.git")
10062 (commit commit)))
10063 (sha256
10064 (base32
10065 "067nin7vxkdpffxa0q61ybv7szihhvpdinivmci9qkbb86rs9kkz"))
10066 (file-name (git-file-name name version))))
10067 (build-system emacs-build-system)
10068 (propagated-inputs
10069 `(("emacs-helm" ,emacs-helm)))
10070 (home-page "https://github.com/pashky/restclient.el")
10071 (synopsis "Explore and test HTTP REST webservices")
10072 (description
10073 "This tool allows for testing and exploration of HTTP REST Web services
10074 from within Emacs. Restclient runs queries from a plan-text query sheet,
10075 displays results pretty-printed in XML or JSON with @code{restclient-mode}")
10076 (license license:public-domain))))
10077
10078 (define-public emacs-whitespace-cleanup-mode
10079 (let ((commit "72427144b054b0238a86e1348c45d986b8830d9d")
10080 (revision "1"))
10081 (package
10082 (name "emacs-whitespace-cleanup-mode")
10083 (version (git-version "0.10" revision commit))
10084 (source (origin
10085 (method git-fetch)
10086 (uri (git-reference
10087 (url "https://github.com/purcell/whitespace-cleanup-mode")
10088 (commit commit)))
10089 (sha256
10090 (base32
10091 "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"))
10092 (file-name (git-file-name name version))))
10093 (build-system emacs-build-system)
10094 (home-page "https://github.com/purcell/whitespace-cleanup-mode")
10095 (synopsis "Intelligently call @code{whitespace-cleanup} on save")
10096 (description
10097 "This package provides a minor mode that calls
10098 @code{whitespace-cleanup} before saving the current buffer only if the
10099 whitespace in the buffer was initially clean.")
10100 (license license:gpl3+))))
10101
10102 (define-public emacs-eimp
10103 (let ((version "1.4.0")
10104 (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
10105 (revision "1"))
10106 (package
10107 (name "emacs-eimp")
10108 (version (git-version version revision commit))
10109 (source
10110 (origin
10111 (method git-fetch)
10112 (uri (git-reference
10113 (url "https://github.com/nicferrier/eimp.git")
10114 (commit commit)))
10115 (file-name (git-file-name name version))
10116 (sha256
10117 (base32
10118 "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
10119 (build-system emacs-build-system)
10120 (arguments
10121 `(#:phases
10122 (modify-phases %standard-phases
10123 (add-after 'unpack 'configure
10124 (lambda* (#:key inputs #:allow-other-keys)
10125 (let ((imagemagick (assoc-ref inputs "imagemagick")))
10126 ;; eimp.el is read-only in git.
10127 (chmod "eimp.el" #o644)
10128 (emacs-substitute-variables "eimp.el"
10129 ("eimp-mogrify-program"
10130 (string-append imagemagick "/bin/mogrify"))))
10131 #t)))))
10132 (inputs
10133 `(("imagemagick" ,imagemagick)))
10134 (home-page "https://github.com/nicferrier/eimp")
10135 (synopsis "Interactive image manipulation utility for Emacs")
10136 (description "@code{emacs-eimp} allows interactive image manipulation
10137 from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
10138 the actual transformations.")
10139 (license license:gpl2+))))
10140
10141 (define-public emacs-dired-hacks
10142 (let ((commit "886befe113fae397407c804f72c45613d1d43535")
10143 (revision "2"))
10144 (package
10145 (name "emacs-dired-hacks")
10146 (version (git-version "0.0.1" revision commit))
10147 (source (origin
10148 (method git-fetch)
10149 (uri (git-reference
10150 (url "https://github.com/Fuco1/dired-hacks.git")
10151 (commit commit)))
10152 (file-name (git-file-name name version))
10153 (sha256
10154 (base32
10155 "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl"))))
10156 (build-system emacs-build-system)
10157 (propagated-inputs
10158 `(("emacs-dash" ,emacs-dash)
10159 ("emacs-eimp" ,emacs-eimp)
10160 ("emacs-f" ,emacs-f)
10161 ("emacs-s" ,emacs-s)))
10162 (home-page "https://github.com/Fuco1/dired-hacks")
10163 (synopsis
10164 "Collection of useful dired additions")
10165 (description
10166 "This package provides the following collection of Emacs dired mode
10167 additions:
10168
10169 @itemize
10170 @item dired-avfs
10171 @item dired-columns
10172 @item dired-filter
10173 @item dired-hacks-utils
10174 @item dired-images
10175 @item dired-list
10176 @item dired-narrow
10177 @item dired-open
10178 @item dired-rainbow
10179 @item dired-ranger
10180 @item dired-subtree
10181 @item dired-tagsistant
10182 @end itemize\n")
10183 (license license:gpl3+))))
10184
10185 (define-public emacs-dired-sidebar
10186 (let ((commit "21ccb6723bea69f2e2ca25998268d8a039f904cc")
10187 (revision "1"))
10188 (package
10189 (name "emacs-dired-sidebar")
10190 (home-page "https://github.com/jojojames/dired-sidebar")
10191 (version (git-version "0.1.0" revision commit))
10192 (source (origin
10193 (method git-fetch)
10194 (uri (git-reference (url home-page) (commit commit)))
10195 (file-name (git-file-name name version))
10196 (sha256
10197 (base32
10198 "0mck4qk6srbbf8xnn2sg11j822z4ybxvgavvy402d5sli515i8ca"))))
10199 (build-system emacs-build-system)
10200 (propagated-inputs
10201 `(("emacs-dired-subtree" ,emacs-dired-hacks)))
10202 (synopsis "Sidebar for Emacs using Dired")
10203 (description
10204 "This package provides a sidebar for Emacs similar to @code{NeoTree}
10205 or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
10206 (license license:gpl3+))))
10207
10208 (define-public emacs-which-key
10209 (package
10210 (name "emacs-which-key")
10211 (version "3.3.1")
10212 (source
10213 (origin
10214 (method git-fetch)
10215 (uri (git-reference
10216 (url "https://github.com/justbur/emacs-which-key.git")
10217 (commit (string-append "v" version))))
10218 (file-name (git-file-name name version))
10219 (sha256
10220 (base32 "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"))))
10221 (build-system emacs-build-system)
10222 (arguments
10223 `(#:tests? #t
10224 #:test-command '("emacs" "--batch"
10225 "-l" "which-key-tests.el"
10226 "-f" "ert-run-tests-batch-and-exit")))
10227 (home-page "https://github.com/justbur/emacs-which-key")
10228 (synopsis "Display available key bindings in popup")
10229 (description
10230 "@code{emacs-which-key} is a minor mode for Emacs that displays the key
10231 bindings following your currently entered incomplete command (a prefix) in a
10232 popup. For example, after enabling the minor mode if you enter C-x and wait
10233 for the default of 1 second, the minibuffer will expand with all of the
10234 available key bindings that follow C-x (or as many as space allows given your
10235 settings).")
10236 (license license:gpl3+)))
10237
10238 (define-public emacs-hercules
10239 (package
10240 (name "emacs-hercules")
10241 (version "0.2.1")
10242 (source
10243 (origin
10244 (method git-fetch)
10245 (uri (git-reference
10246 (url "https://gitlab.com/jjzmajic/hercules.el.git")
10247 (commit (string-append "v" version))))
10248 (file-name (git-file-name name version))
10249 (sha256
10250 (base32
10251 "19939pf5d6p2facmfhpyghx0vipb5k6ry3bmkmjfkj1zp132zfqf"))))
10252 (build-system emacs-build-system)
10253 (propagated-inputs
10254 `(("emacs-which-key" ,emacs-which-key)))
10255 (home-page "https://gitlab.com/jjzmajic/hercules.el")
10256 (synopsis "Call a chain of related commands without repeated prefix keys")
10257 (description
10258 "This package provides sticky-key-like functionality to obviate the
10259 need for repeated prefix-key sequences, and can reuse existing keymaps. The
10260 list of commands is displayed in a handy popup.")
10261 (license license:gpl3+)))
10262
10263 (define-public emacs-ws-butler
10264 (package
10265 (name "emacs-ws-butler")
10266 (version "0.6")
10267 (source (origin
10268 (method git-fetch)
10269 (uri (git-reference
10270 (url "https://github.com/lewang/ws-butler.git")
10271 (commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
10272 (file-name (git-file-name name version))
10273 (sha256
10274 (base32
10275 "1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
10276 (build-system emacs-build-system)
10277 (native-inputs
10278 `(("ert-runner" ,emacs-ert-runner)))
10279 (arguments
10280 `(#:tests? #t
10281 #:test-command '("ert-runner" "tests")))
10282 (home-page "https://github.com/lewang/ws-butler")
10283 (synopsis "Trim spaces from end of lines")
10284 (description
10285 "This Emacs package automatically and unobtrusively trims whitespace
10286 characters from end of lines.")
10287 (license license:gpl3+)))
10288
10289 (define-public emacs-openwith
10290 (let ((changeset "aeb78782ec87680ea9f082a3f20a3675b3770cf9")
10291 (revision "0"))
10292 (package
10293 (name "emacs-openwith")
10294 (home-page "https://bitbucket.org/jpkotta/openwith")
10295 (version (git-version "0.0.1" revision changeset))
10296 (source (origin
10297 (method hg-fetch)
10298 (uri (hg-reference (url home-page) (changeset changeset)))
10299 (file-name (git-file-name name version))
10300 (sha256
10301 (base32
10302 "1wl6gnxsyhaad4cl9bxjc0qbc5jzvlwbwjbajs0n1s6qr07d6r01"))))
10303 (build-system emacs-build-system)
10304 (synopsis "Open external applications for files with Emacs")
10305 (description
10306 "This package enables you to associate file name patterns with external
10307 applications that are automatically invoked when you use commands like
10308 @code{find-file}. For example, you can have it open @code{png} files with
10309 @code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
10310 when browsing files with Dired.")
10311 (license license:gpl2+))))
10312
10313 (define-public emacs-org-edit-latex
10314 (package
10315 (name "emacs-org-edit-latex")
10316 (version "0.8.0")
10317 (source
10318 (origin
10319 (method git-fetch)
10320 (uri (git-reference
10321 (url "https://github.com/et2010/org-edit-latex.git")
10322 (commit (string-append "v" version))))
10323 (file-name (git-file-name name version))
10324 (sha256
10325 (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
10326 (build-system emacs-build-system)
10327 (propagated-inputs
10328 `(("emacs-auctex" ,emacs-auctex)
10329 ;; The version of org in Emacs 25.2 is not sufficient, because the
10330 ;; `org-latex-make-preamble' function is required.
10331 ("emacs-org" ,emacs-org)))
10332 (home-page "https://github.com/et2010/org-edit-latex")
10333 (synopsis "Edit a latex fragment just like editing a src block")
10334 (description "@code{emacs-org-edit-latex} is an extension for org-mode.
10335 It lets you edit a latex fragment in a dedicated buffer just like editing a
10336 src block.")
10337 (license license:gpl3+)))
10338
10339 (define-public emacs-emamux
10340 (package
10341 (name "emacs-emamux")
10342 (version "0.14")
10343 (source
10344 (origin
10345 (method git-fetch)
10346 (uri (git-reference
10347 (url "https://github.com/syohex/emacs-emamux.git")
10348 (commit version)))
10349 (file-name (git-file-name name version))
10350 (sha256
10351 (base32 "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"))))
10352 (build-system emacs-build-system)
10353 (home-page "https://github.com/syohex/emacs-emamux")
10354 (synopsis "Manipulate Tmux from Emacs")
10355 (description
10356 "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
10357 multiplexer.")
10358 (license license:gpl3+)))
10359
10360 (define-public emacs-rpm-spec-mode
10361 (package
10362 (name "emacs-rpm-spec-mode")
10363 (version "0.16")
10364 (source
10365 (origin
10366 (method url-fetch)
10367 ;; URI has the Fedora release number instead of the version
10368 ;; number. This will have to updated manually every new release.
10369 (uri (string-append
10370 "https://src.fedoraproject.org/cgit/rpms"
10371 "/emacs-rpm-spec-mode.git/snapshot"
10372 "/emacs-rpm-spec-mode-f26.tar.gz"))
10373 (sha256
10374 (base32
10375 "17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
10376 (build-system emacs-build-system)
10377 (home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
10378 (synopsis "Emacs major mode for editing RPM spec files")
10379 (description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
10380 editing RPM spec files.")
10381 (license license:gpl2+)))
10382
10383 (define-public emacs-lcr
10384 (package
10385 (name "emacs-lcr")
10386 (version "1.1")
10387 (source
10388 (origin
10389 (method git-fetch)
10390 (uri (git-reference
10391 (url "https://github.com/jyp/lcr")
10392 (commit version)))
10393 (file-name (git-file-name name version))
10394 (sha256
10395 (base32 "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"))))
10396 (build-system emacs-build-system)
10397 (propagated-inputs
10398 `(("emacs-dash" ,emacs-dash)))
10399 (home-page "https://github.com/jyp/lcr")
10400 (synopsis "Lightweight coroutines in Emacs Lisp")
10401 (description "This package provides macros that can translate code into
10402 equivalent continuation-passing code, as well as miscellaneous utility
10403 functions written in continuation-passing style.")
10404 (license license:gpl3+)))
10405
10406 (define-public emacs-attrap
10407 (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
10408 (revision "2"))
10409 (package
10410 (name "emacs-attrap")
10411 (version (git-version "1.0" revision commit))
10412 (source (origin
10413 (method git-fetch)
10414 (uri (git-reference
10415 (url "https://github.com/jyp/attrap")
10416 (commit commit)))
10417 (sha256
10418 (base32
10419 "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
10420 (file-name (git-file-name name version))))
10421 (build-system emacs-build-system)
10422 (propagated-inputs
10423 `(("emacs-dash" ,emacs-dash)
10424 ("emacs-f" ,emacs-f)
10425 ("emacs-flycheck" ,emacs-flycheck)
10426 ("emacs-s" ,emacs-s)))
10427 (home-page "https://github.com/jyp/attrap")
10428 (synopsis "Fix coding error at point")
10429 (description "This package provides a command to fix the Flycheck error
10430 at point.")
10431 (license license:gpl3+))))
10432
10433 (define-public emacs-git-messenger
10434 (package
10435 (name "emacs-git-messenger")
10436 (version "0.18")
10437 (source
10438 (origin
10439 (method git-fetch)
10440 (uri (git-reference
10441 (url "https://github.com/syohex/emacs-git-messenger.git")
10442 (commit version)))
10443 (file-name (git-file-name name version))
10444 (sha256
10445 (base32 "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"))))
10446 (build-system emacs-build-system)
10447 (propagated-inputs
10448 `(("emacs-popup" ,emacs-popup)))
10449 (arguments
10450 `(#:tests? #t
10451 #:test-command '("emacs" "--batch" "-l" "test/test.el"
10452 "-f" "ert-run-tests-batch-and-exit")))
10453 (home-page "https://github.com/syohex/emacs-git-messenger")
10454 (synopsis "Popup commit message at current line")
10455 (description "@code{emacs-git-messenger} provides
10456 @code{git-messenger:popup-message}, a function that when called, will popup
10457 the last git commit message for the current line. This uses git-blame
10458 internally.")
10459 (license license:gpl3+)))
10460
10461 (define-public emacs-gitpatch
10462 (package
10463 (name "emacs-gitpatch")
10464 (version "0.5.1")
10465 (source
10466 (origin
10467 (method git-fetch)
10468 (uri (git-reference
10469 (url "https://github.com/tumashu/gitpatch.git")
10470 (commit (string-append "v" version))))
10471 (file-name (git-file-name name version))
10472 (sha256
10473 (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig"))))
10474 (build-system emacs-build-system)
10475 (home-page "https://github.com/tumashu/gitpatch")
10476 (synopsis "Mail git patch from Emacs")
10477 (description "@code{emacs-gitpatch} lets users easily send git patches,
10478 created by @code{git format-patch}, from @code{magit}, @code{dired} and
10479 @code{ibuffer} buffers.")
10480 (license license:gpl3+)))
10481
10482 (define-public emacs-erc-hl-nicks
10483 (package
10484 (name "emacs-erc-hl-nicks")
10485 (version "1.3.3")
10486 (source
10487 (origin
10488 (method git-fetch)
10489 (uri (git-reference
10490 (url "https://github.com/leathekd/erc-hl-nicks")
10491 (commit version)))
10492 (file-name (git-file-name name version))
10493 (sha256
10494 (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
10495 (build-system emacs-build-system)
10496 (synopsis "Nickname highlighting for Emacs ERC")
10497 (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
10498 client for Emacs. The main features are:
10499 @itemize
10500 @item Auto-colorizes nicknames without having to specify colors
10501 @item Ignores certain characters that IRC clients add to nicknames to avoid
10502 duplicates (nickname, nickname’, nickname\", etc.)
10503 @item Attempts to produce colors with a sufficient amount of contrast between
10504 the nick color and the background color
10505 @end itemize\n")
10506 (home-page "https://github.com/leathekd/erc-hl-nicks")
10507 (license license:gpl3+)))
10508
10509 (define-public emacs-engine-mode
10510 (package
10511 (name "emacs-engine-mode")
10512 (version "2.1.1")
10513 (source
10514 (origin
10515 (method git-fetch)
10516 (uri (git-reference
10517 (url "https://github.com/hrs/engine-mode.git")
10518 (commit (string-append "v" version))))
10519 (file-name (git-file-name name version))
10520 (sha256
10521 (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i"))))
10522 (build-system emacs-build-system)
10523 (synopsis "Minor mode for defining and querying search engines")
10524 (description "@code{engine-mode} is a global minor mode for Emacs. It
10525 enables you to easily define search engines, bind them to keybindings, and
10526 query them from the comfort of your editor.")
10527 (home-page "https://github.com/hrs/engine-mode")
10528 (license license:gpl3+)))
10529
10530 (define-public emacs-prop-menu
10531 (package
10532 (name "emacs-prop-menu")
10533 (version "0.1.2")
10534 (source
10535 (origin
10536 (method git-fetch)
10537 (uri (git-reference
10538 (url "https://github.com/david-christiansen/prop-menu-el.git")
10539 (commit version)))
10540 (file-name (git-file-name name version))
10541 (sha256
10542 (base32
10543 "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
10544 (build-system emacs-build-system)
10545 (home-page
10546 "https://github.com/david-christiansen/prop-menu-el")
10547 (synopsis
10548 "Create and display a context menu based on text and overlay properties")
10549 (description
10550 "This is a library for computing context menus based on text
10551 properties and overlays. The intended use is to have tools that
10552 annotate source code and others that use these annotations, without
10553 requiring a direct coupling between them, but maintaining
10554 discoverability.
10555
10556 Major modes that wish to use this library should first define an
10557 appropriate value for @code{prop-menu-item-functions}. Then, they should
10558 bind @code{prop-menu-by-completing-read} to an appropriate
10559 key. Optionally, a mouse pop-up can be added by binding
10560 @code{prop-menu-show-menu} to a mouse event.")
10561 (license license:gpl3+)))
10562
10563 (define-public emacs-idris-mode
10564 (let ((commit "acc8835449475d7cd205aba213fdd3d41c38ba40")
10565 (revision "0"))
10566 (package
10567 (name "emacs-idris-mode")
10568 (version (git-version "0.9.19" revision commit))
10569 (source
10570 (origin
10571 (method git-fetch)
10572 (uri (git-reference
10573 (url "https://github.com/idris-hackers/idris-mode.git")
10574 (commit commit)))
10575 (file-name (git-file-name name commit))
10576 (sha256
10577 (base32
10578 "0n9xbknc68id0mf8hbfmawi8qpvrs47ix807sk9ffv2g3ik32kk6"))))
10579 (build-system emacs-build-system)
10580 (propagated-inputs
10581 `(("emacs-prop-menu" ,emacs-prop-menu)))
10582 (home-page
10583 "https://github.com/idris-hackers/idris-mode")
10584 (synopsis "Major mode for editing Idris code")
10585 (description
10586 "This is an Emacs mode for editing Idris code. It requires the latest
10587 version of Idris, and some features may rely on the latest Git version of
10588 Idris.")
10589 (license license:gpl3+))))
10590
10591 (define-public emacs-browse-at-remote
10592 (package
10593 (name "emacs-browse-at-remote")
10594 (version "0.10.0")
10595 (source
10596 (origin
10597 (method git-fetch)
10598 (uri (git-reference
10599 (url "https://github.com/rmuslimov/browse-at-remote.git")
10600 (commit version)))
10601 (file-name (git-file-name name version))
10602 (sha256
10603 (base32 "0vhia7xmszcb3lxrb8wh93a3knjfzj48h8nhj4fh8zj1pjz6args"))))
10604 (build-system emacs-build-system)
10605 (propagated-inputs
10606 `(("emacs-f" ,emacs-f)
10607 ("emacs-s" ,emacs-s)))
10608 (native-inputs
10609 `(("ert-runner" ,emacs-ert-runner)))
10610 (arguments
10611 `(#:tests? #t
10612 #:test-command '("ert-runner")))
10613 (home-page "https://github.com/rmuslimov/browse-at-remote")
10614 (synopsis "Open github/gitlab/bitbucket/stash page from Emacs")
10615 (description
10616 "This Emacs package allows you to open a target page on
10617 github/gitlab (or bitbucket) by calling @code{browse-at-remote} command.
10618 It supports dired buffers and opens them in tree mode at destination.")
10619 (license license:gpl3+)))
10620
10621 (define-public emacs-tiny
10622 (let ((commit "fd8a6b0b0c564d8242259e20e557ee6041f40908")
10623 (revision "1"))
10624 (package
10625 (name "emacs-tiny")
10626 (version (git-version "0.2.1" revision commit))
10627 (source
10628 (origin
10629 (method git-fetch)
10630 (uri (git-reference
10631 (url "https://github.com/abo-abo/tiny.git")
10632 (commit commit)))
10633 (file-name (git-file-name name version))
10634 (sha256
10635 (base32
10636 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
10637 (build-system emacs-build-system)
10638 (arguments
10639 `(#:tests? #t
10640 #:test-command '("make" "test")))
10641 (home-page "https://github.com/abo-abo/tiny")
10642 (synopsis "Quickly generate linear ranges in Emacs")
10643 (description
10644 "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}.
10645 It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
10646 proficiency is an advantage, since you can transform your numeric range with
10647 an elisp expression.")
10648 (license license:gpl3+))))
10649
10650 (define-public emacs-emojify
10651 (package
10652 (name "emacs-emojify")
10653 (version "1.2")
10654 (source
10655 (origin
10656 (method git-fetch)
10657 (uri (git-reference
10658 (url "https://github.com/iqbalansari/emacs-emojify")
10659 (commit (string-append "v" version))))
10660 (file-name (git-file-name name version))
10661 (sha256
10662 (base32
10663 "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
10664 (build-system emacs-build-system)
10665 (arguments
10666 `(#:include (cons "^data/" %default-include)))
10667 (propagated-inputs
10668 `(("emacs-ht" ,emacs-ht)))
10669 (home-page "https://github.com/iqbalansari/emacs-emojify")
10670 (synopsis "Display emojis in Emacs")
10671 (description "This package displays emojis in Emacs similar to how Github,
10672 Slack, and other websites do. It can display plain ASCII like @code{:)} as
10673 well as Github-style emojis like @code{:smile:}. It provides a minor mode
10674 @code{emojify-mode} to enable the display of emojis in a buffer.")
10675 (license license:gpl3+)))
10676
10677 (define-public emacs-make-it-so
10678 (let ((commit "b73dfb640588123c9eece230ad72b37604f5c126")
10679 (revision "2"))
10680 (package
10681 (name "emacs-make-it-so")
10682 (version (git-version "0.1.0" revision commit))
10683 (source
10684 (origin
10685 (method git-fetch)
10686 (uri (git-reference
10687 (url "https://github.com/abo-abo/make-it-so")
10688 (commit commit)))
10689 (file-name (git-file-name name version))
10690 (sha256
10691 (base32
10692 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq"))))
10693 (build-system emacs-build-system)
10694 (arguments
10695 `(#:include (cons "^recipes/" %default-include)))
10696 (propagated-inputs
10697 `(("emacs-ivy" ,emacs-ivy)))
10698 (home-page "https://github.com/abo-abo/make-it-so")
10699 (synopsis "Transform files with Makefile recipes")
10700 (description "This package provides an interface for selecting from
10701 different conversion recipes, often including tools like @code{ffmpeg} or
10702 @code{convert}. The conversion command need only be written once, and
10703 subsequent invocations can be readily customized. Several recipes are
10704 included by default, and more can be readily added.")
10705 (license license:gpl3+))))
10706
10707 (define-public emacs-unidecode
10708 (let ((commit "5502ada9287b4012eabb879f12f5b0a9df52c5b7")
10709 (revision "1"))
10710 (package
10711 (name "emacs-unidecode")
10712 (version (git-version "0.2" revision commit))
10713 (source
10714 (origin
10715 (method git-fetch)
10716 (uri (git-reference
10717 (url "https://github.com/sindikat/unidecode")
10718 (commit commit)))
10719 (file-name (git-file-name name version))
10720 (sha256
10721 (base32
10722 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn"))))
10723 (build-system emacs-build-system)
10724 (arguments
10725 `(#:include (cons* "^tools/" "^data/" %default-include)
10726 #:tests? #t
10727 #:test-command '("emacs" "--batch"
10728 "-l" "unidecode-test.el"
10729 "-f" "ert-run-tests-batch-and-exit")
10730 #:phases
10731 (modify-phases %standard-phases
10732 (add-before 'check 'make-tests-writable
10733 (lambda _
10734 (make-file-writable "unidecode-test.el")
10735 #t))
10736 (add-before 'check 'add-require
10737 (lambda _
10738 (emacs-batch-edit-file "unidecode-test.el"
10739 `(progn (progn (goto-char (point-min))
10740 (re-search-forward
10741 "ert-deftest")
10742 (forward-line -1)
10743 (insert "(require 'unidecode)"))
10744 (basic-save-buffer)))
10745 #t)))))
10746 (home-page "https://github.com/sindikat/unidecode")
10747 (synopsis "Transliterate Unicode text to ASCII")
10748 (description "This package provides functions for converting Unicode to ASCII.")
10749 (license license:gpl2+))))
10750
10751 (define-public emacs-pubmed
10752 (package
10753 (name "emacs-pubmed")
10754 (version "0.2.1")
10755 (source
10756 (origin
10757 (method git-fetch)
10758 (uri (git-reference
10759 (url "https://gitlab.com/fvdbeek/emacs-pubmed.git")
10760 (commit (string-append "v" version))))
10761 (file-name (git-file-name name version))
10762 (sha256
10763 (base32
10764 "15bwjxc7g43m5pi8z17anaqqkvi209r7kk1chmf175477gvrv7c0"))))
10765 (build-system emacs-build-system)
10766 (propagated-inputs
10767 `(("emacs-deferred" ,emacs-deferred)
10768 ("emacs-esxml" ,emacs-esxml)
10769 ("emacs-s" ,emacs-s)
10770 ("emacs-unidecode" ,emacs-unidecode)))
10771 (home-page "https://gitlab.com/fvdbeek/emacs-pubmed")
10772 (synopsis "Interface to PubMed")
10773 (description "This package provides an Emacs interface to the PubMed
10774 database of references on life sciences.")
10775 (license license:gpl3+)))
10776
10777 (define-public emacs-websocket
10778 (package
10779 (name "emacs-websocket")
10780 (version "1.10")
10781 (source
10782 (origin
10783 (method git-fetch)
10784 (uri (git-reference
10785 (url "https://github.com/ahyatt/emacs-websocket.git")
10786 (commit version)))
10787 (file-name (git-file-name name version))
10788 (sha256
10789 (base32
10790 "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
10791 (build-system emacs-build-system)
10792 (arguments
10793 `(#:tests? #t
10794 ;; TODO: also enable websocket-functional-test.el
10795 #:test-command '("emacs" "--batch"
10796 "-l" "websocket-test.el"
10797 "-f" "ert-run-tests-batch-and-exit")))
10798 (home-page "http://elpa.gnu.org/packages/websocket.html")
10799 (synopsis "Emacs WebSocket client and server")
10800 (description "This is an Elisp library for WebSocket clients to talk to
10801 WebSocket servers, and for WebSocket servers to accept connections from
10802 WebSocket clients. This library is designed to be used by other library
10803 writers, to write applications that use WebSockets, and is not useful by
10804 itself.")
10805 (license license:gpl3+)))
10806
10807 (define-public emacs-oauth2
10808 (package
10809 (name "emacs-oauth2")
10810 (version "0.11")
10811 (source
10812 (origin
10813 (method url-fetch)
10814 (uri (string-append "https://elpa.gnu.org/packages/oauth2-"
10815 version ".el"))
10816 (sha256
10817 (base32
10818 "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp"))))
10819 (build-system emacs-build-system)
10820 (home-page "http://elpa.gnu.org/packages/oauth2.html")
10821 (synopsis "OAuth 2.0 authorization protocol implementation")
10822 (description
10823 "This package provides an Elisp implementation of the OAuth 2.0 draft.
10824 The main entry point is @code{oauth2-auth-and-store} which will return a token
10825 structure. This token structure can be then used with
10826 @code{oauth2-url-retrieve-synchronously} or @code{oauth2-url-retrieve} to
10827 retrieve any data that need OAuth authentication to be accessed. If the token
10828 needs to be refreshed, the code handles it automatically and stores the new
10829 value of the access token.")
10830 (license license:gpl3+)))
10831
10832 (define-public emacs-circe
10833 (package
10834 (name "emacs-circe")
10835 (version "2.11")
10836 (source
10837 (origin
10838 (method git-fetch)
10839 (uri (git-reference
10840 (url "https://github.com/jorgenschaefer/circe.git")
10841 (commit (string-append "v" version))))
10842 (file-name (git-file-name name version))
10843 (sha256
10844 (base32 "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"))))
10845 (build-system emacs-build-system)
10846 (arguments
10847 `(#:tests? #t
10848 #:test-command '("buttercup" "-L" ".")
10849 #:phases
10850 (modify-phases %standard-phases
10851 ;; The HOME environment variable should be set to an existing
10852 ;; directory for the tests to succeed.
10853 (add-before 'check 'set-home
10854 (lambda _
10855 (setenv "HOME" "/tmp")
10856 #t)))))
10857 (native-inputs
10858 `(("emacs-buttercup" ,emacs-buttercup)))
10859 ;; In order to securely connect to an IRC server using TLS, Circe requires
10860 ;; the GnuTLS binary.
10861 (propagated-inputs
10862 `(("gnutls" ,gnutls)))
10863 (home-page "https://github.com/jorgenschaefer/circe")
10864 (synopsis "Client for IRC in Emacs")
10865 (description "Circe is a Client for IRC in Emacs. It integrates well with
10866 the rest of the editor, using standard Emacs key bindings and indicating
10867 activity in channels in the status bar so it stays out of your way unless you
10868 want to use it.")
10869 (license license:gpl3+)))
10870
10871 (define-public emacs-tracking
10872 (package
10873 (inherit emacs-circe)
10874 (name "emacs-tracking")
10875 (arguments
10876 ;; "tracking.el" is a library extracted from Circe package. It requires
10877 ;; "shorten.el".
10878 `(#:include '("^shorten.el$" "^tracking.el$")
10879 ,@(package-arguments emacs-circe)))
10880 (home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
10881 (synopsis "Buffer tracking library")
10882 (description "@code{tracking.el} provides a way for different modes to
10883 notify the user that a buffer needs attention. The user then can cycle
10884 through them using @key{C-c C-SPC}.")
10885 (license license:gpl3+)))
10886
10887 (define-public emacs-slack
10888 (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
10889 (revision "6"))
10890 (package
10891 (name "emacs-slack")
10892 (version (git-version "0.0.2" revision commit))
10893 (source (origin
10894 (method git-fetch)
10895 (uri (git-reference
10896 (url "https://github.com/yuya373/emacs-slack.git")
10897 (commit commit)))
10898 (file-name (git-file-name name commit))
10899 (sha256
10900 (base32
10901 "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
10902 (build-system emacs-build-system)
10903 (arguments
10904 `(#:phases
10905 (modify-phases %standard-phases
10906 ;; HOME needs to exist for source compilation.
10907 (add-before 'build 'set-HOME
10908 (lambda _ (setenv "HOME" "/tmp") #t)))))
10909 (propagated-inputs
10910 `(("emacs-alert" ,emacs-alert)
10911 ("emacs-emojify" ,emacs-emojify)
10912 ("emacs-helm" ,emacs-helm)
10913 ("emacs-request" ,emacs-request)
10914 ("emacs-websocket" ,emacs-websocket)
10915 ("emacs-oauth2" ,emacs-oauth2)
10916 ("emacs-circe" ,emacs-circe)))
10917 (home-page "https://github.com/yuya373/emacs-slack")
10918 (synopsis "Slack client for Emacs")
10919 (description "This package provides an Emacs client for the Slack
10920 messaging service.")
10921 (license license:gpl3+))))
10922
10923 (define-public emacs-bash-completion
10924 (package
10925 (name "emacs-bash-completion")
10926 (version "2.1.0")
10927 (source
10928 (origin
10929 (method git-fetch)
10930 (uri (git-reference
10931 (url "https://github.com/szermatt/emacs-bash-completion.git")
10932 (commit version)))
10933 (file-name (git-file-name name version))
10934 (sha256
10935 (base32 "1a1wxcqzh0javjmxwi3lng5i99xiylm8lm04kv4q1lh9bli6vmv0"))))
10936 (inputs `(("bash" ,bash)))
10937 (build-system emacs-build-system)
10938 (arguments
10939 `(#:phases
10940 (modify-phases %standard-phases
10941 (add-after 'unpack 'make-git-checkout-writable
10942 (λ _
10943 (for-each make-file-writable (find-files "."))
10944 #t))
10945 (add-before 'install 'configure
10946 (lambda* (#:key inputs #:allow-other-keys)
10947 (let ((bash (assoc-ref inputs "bash")))
10948 (emacs-substitute-variables "bash-completion.el"
10949 ("bash-completion-prog" (string-append bash "/bin/bash"))))
10950 #t)))))
10951 (home-page "https://github.com/szermatt/emacs-bash-completion")
10952 (synopsis "Bash completion for the shell buffer")
10953 (description
10954 "@code{bash-completion} defines dynamic completion hooks for shell-mode
10955 and shell-command prompts that are based on Bash completion.")
10956 (license license:gpl2+)))
10957
10958 (define-public emacs-easy-kill
10959 (package
10960 (name "emacs-easy-kill")
10961 (version "0.9.3")
10962 (source (origin
10963 (method url-fetch)
10964 (uri (string-append "https://elpa.gnu.org/packages/easy-kill-"
10965 version ".tar"))
10966 (sha256
10967 (base32
10968 "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb"))))
10969 (build-system emacs-build-system)
10970 (home-page "https://github.com/leoliu/easy-kill")
10971 (synopsis "Kill and mark things easily in Emacs")
10972 (description
10973 "This package provides commands @code{easy-kill} and @code{easy-mark} to
10974 let users kill or mark things easily.")
10975 (license license:gpl3+)))
10976
10977 (define-public emacs-csv-mode
10978 (package
10979 (name "emacs-csv-mode")
10980 (version "1.10")
10981 (source
10982 (origin
10983 (method url-fetch)
10984 (uri (string-append "https://elpa.gnu.org/packages/csv-mode-"
10985 version ".el"))
10986 (sha256
10987 (base32 "0q7j2cmj7vs6hz8cnf7j7lmlcjmig3jn2p6az345z96agl8a5xsq"))))
10988 (build-system emacs-build-system)
10989 (home-page "https://elpa.gnu.org/packages/csv-mode.html")
10990 (synopsis "Major mode for editing comma/char separated values")
10991 (description
10992 "This Emacs package implements CSV mode, a major mode for editing records
10993 in a generalized CSV (character-separated values) format.")
10994 (license license:gpl3+)))
10995
10996 (define-public emacs-transmission
10997 (package
10998 (name "emacs-transmission")
10999 (version "0.12.1")
11000 (source
11001 (origin
11002 (method git-fetch)
11003 (uri (git-reference
11004 (url "https://github.com/holomorph/transmission.git")
11005 (commit version)))
11006 (file-name (git-file-name name version))
11007 (sha256
11008 (base32 "0kvg2gawsgy440x1fsl2c4pkxwp3zirq9rzixanklk0ryijhd3ry"))))
11009 (build-system emacs-build-system)
11010 (home-page "https://github.com/holomorph/transmission")
11011 (synopsis "Emacs interface to a Transmission session")
11012 (description "This package provides an Emacs interface to interact with a
11013 running session of the Transmission Bittorrent client.
11014
11015 Features:
11016
11017 @itemize
11018 @item List, add, start/stop, verify, remove torrents.
11019 @item Set speed limits, ratio limits, bandwidth priorities, trackers.
11020 @item Navigate to the corresponding file list, torrent info, peer info
11021 contexts.
11022 @item Toggle downloading and set priorities for individual files.
11023 @end itemize\n")
11024 (license license:gpl3+)))
11025
11026 (define-public emacs-polymode
11027 (package
11028 (name "emacs-polymode")
11029 (version "0.2")
11030 (source (origin
11031 (method git-fetch)
11032 (uri (git-reference
11033 (url "https://github.com/polymode/polymode.git")
11034 (commit (string-append "v" version))))
11035 (file-name (git-file-name name version))
11036 (sha256
11037 (base32
11038 "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
11039 (build-system emacs-build-system)
11040 (home-page "https://github.com/polymode/polymode")
11041 (synopsis "Framework for multiple Emacs modes based on indirect buffers")
11042 (description
11043 "Polymode is an Emacs package that offers generic support for multiple
11044 major modes inside a single Emacs buffer. It is lightweight, object oriented
11045 and highly extensible. Creating a new polymode typically takes only a few
11046 lines of code. Polymode also provides extensible facilities for external
11047 literate programming tools for exporting, weaving and tangling.")
11048 (license license:gpl3+)))
11049
11050 (define-public emacs-polymode-ansible
11051 (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
11052 (package
11053 (name "emacs-polymode-ansible")
11054 ;; No upstream version release yet.
11055 (version (git-version "0.1" "1" commit))
11056 (source
11057 (origin
11058 (method git-fetch)
11059 (uri (git-reference
11060 (url "https://gitlab.com/mavit/poly-ansible")
11061 (commit commit)))
11062 (file-name (git-file-name name version))
11063 (sha256
11064 (base32
11065 "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
11066 (build-system emacs-build-system)
11067 (propagated-inputs
11068 `(("emacs-ansible-doc" ,emacs-ansible-doc)
11069 ("emacs-jinja2-mode" ,emacs-jinja2-mode)
11070 ("emacs-polymode" ,emacs-polymode)
11071 ("emacs-yaml-mode" ,emacs-yaml-mode)))
11072 (properties '((upstream-name . "poly-ansible")))
11073 (home-page "https://gitlab.com/mavit/poly-ansible/")
11074 (synopsis "Polymode for Ansible - Jinja2 in YAML")
11075 (description
11076 "Edit YAML files for Ansible containing embedded Jinja2 templating.")
11077 (license license:gpl3+))))
11078
11079 (define-public emacs-polymode-org
11080 (package
11081 (name "emacs-polymode-org")
11082 (version "0.2")
11083 (source
11084 (origin
11085 (method git-fetch)
11086 (uri (git-reference
11087 (url "https://github.com/polymode/poly-org.git")
11088 (commit (string-append "v" version))))
11089 (file-name (git-file-name name version))
11090 (sha256
11091 (base32
11092 "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
11093 (build-system emacs-build-system)
11094 (propagated-inputs
11095 `(("emacs-polymode" ,emacs-polymode)))
11096 (properties '((upstream-name . "poly-org")))
11097 (home-page "https://github.com/polymode/poly-org")
11098 (synopsis "Polymode definitions for Org mode buffers")
11099 (description
11100 "Provides definitions for @code{emacs-polymode} to support
11101 @code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
11102 native modes of the blocks' languages while remaining inside the primary Org
11103 buffer.")
11104 (license license:gpl3+)))
11105
11106 (define-public eless
11107 (package
11108 (name "eless")
11109 (version "0.3")
11110 (source
11111 (origin
11112 (method git-fetch)
11113 (uri (git-reference
11114 (url "https://github.com/kaushalmodi/eless.git")
11115 (commit (string-append "v" version))))
11116 (file-name (git-file-name name version))
11117 (sha256
11118 (base32 "0jr7vhh4vw69llhi0fh9ljscljkszkj0acdxl04da5hvqv6pnqbb"))))
11119 (build-system trivial-build-system)
11120 (inputs
11121 `(("bash" ,bash)))
11122 (arguments
11123 `(#:modules ((guix build utils))
11124 #:builder
11125 (begin
11126 (use-modules (guix build utils))
11127 (copy-recursively (assoc-ref %build-inputs "source") "source")
11128 (chdir "source")
11129 (substitute* "eless" (("/usr/bin/env bash")
11130 (string-append (assoc-ref %build-inputs "bash")
11131 "/bin/bash")))
11132 (install-file "eless" (string-append %output "/bin"))
11133 (install-file "doc/eless.info" (string-append %output "/share/info"))
11134 #t)))
11135 (home-page "https://github.com/kaushalmodi/eless")
11136 (synopsis "Use Emacs as a paginator")
11137 (description "@code{eless} provides a combination of Bash script
11138 and a minimal Emacs view-mode.
11139
11140 Feautures:
11141
11142 @itemize
11143 @item Independent of a user’s Emacs config.
11144 @item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
11145 @item Not require an Emacs server to be already running.
11146 @item Syntax highlighting.
11147 @item Org-mode file rendering.
11148 @item @code{man} page viewer.
11149 @item Info viewer.
11150 @item Dired, wdired, (batch edit symbolic links).
11151 @item Colored diffs, git diff, git log, ls with auto ANSI detection.
11152 @item Filter log files lines matching a regexp.
11153 @item Auto-revert log files similar to @code{tail -f}.
11154 @item Quickly change frame and font sizes.
11155 @end itemize\n")
11156 (license license:expat)))
11157
11158 (define-public emacs-evil-matchit
11159 (package
11160 (name "emacs-evil-matchit")
11161 (version "2.3.4")
11162 (source
11163 (origin
11164 (method git-fetch)
11165 (uri (git-reference
11166 (url "https://github.com/redguardtoo/evil-matchit.git")
11167 (commit version)))
11168 (file-name (git-file-name name version))
11169 (sha256
11170 (base32 "1nflkmx08n3ya5vaipy1xg19hnqcp6f7ddsx9xjh5gl6ix2iz0az"))))
11171 (build-system emacs-build-system)
11172 (propagated-inputs
11173 `(("emacs-evil" ,emacs-evil)))
11174 (home-page "https://github.com/redguardtoo/evil-matchit")
11175 (synopsis "Vim matchit ported into Emacs")
11176 (description
11177 "@code{evil-matchit} is a minor mode for jumping between matching tags in
11178 evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
11179 (license license:gpl3+)))
11180
11181 (define-public emacs-evil-smartparens
11182 (package
11183 (name "emacs-evil-smartparens")
11184 (version "0.4.0")
11185 (source
11186 (origin
11187 (method git-fetch)
11188 (uri (git-reference
11189 (url "https://github.com/expez/evil-smartparens.git")
11190 (commit version)))
11191 (file-name (git-file-name name version))
11192 (sha256
11193 (base32 "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl"))))
11194 (build-system emacs-build-system)
11195 (propagated-inputs
11196 `(("emacs-evil" ,emacs-evil)
11197 ("emacs-smartparens" ,emacs-smartparens)))
11198 (home-page "https://github.com/expez/evil-smartparens")
11199 (synopsis "Emacs Evil integration for Smartparens")
11200 (description "@code{emacs-evil-smartparens} is an Emacs minor mode which
11201 makes Evil play nice with Smartparens. Evil is an Emacs minor mode that
11202 emulates Vim features and provides Vim-like key bindings.")
11203 (license license:gpl3+)))
11204
11205 (define-public emacs-evil-quickscope
11206 (package
11207 (name "emacs-evil-quickscope")
11208 (version "0.1.4")
11209 (source
11210 (origin
11211 (method git-fetch)
11212 (uri (git-reference
11213 (url "https://github.com/blorbx/evil-quickscope.git")
11214 (commit (string-append "v" version))))
11215 (file-name (git-file-name name version))
11216 (sha256
11217 (base32 "1ja9ggj70wf0nmma4xnc1zdzg2crq9h1cv3cj7cgwjmllflgkfq7"))))
11218 (build-system emacs-build-system)
11219 (propagated-inputs
11220 `(("emacs-evil" ,emacs-evil)))
11221 (arguments
11222 `(#:tests? #t
11223 #:test-command '("emacs" "--batch"
11224 "-l" "evil-quickscope-tests.el"
11225 "-f" "ert-run-tests-batch-and-exit")))
11226 (home-page "https://github.com/blorbx/evil-quickscope")
11227 (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
11228 (description "@code{emacs-evil-quickscope} highlights targets for Evil
11229 mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a
11230 port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim
11231 features and provides Vim-like key bindings.")
11232 (license license:gpl3+)))
11233
11234 (define-public emacs-bongo
11235 (package
11236 (name "emacs-bongo")
11237 (version "1.0")
11238 (source
11239 (origin
11240 (method git-fetch)
11241 (uri (git-reference
11242 (url "https://github.com/dbrock/bongo.git")
11243 (commit version)))
11244 (file-name (git-file-name name version))
11245 (sha256
11246 (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr"))))
11247 (build-system emacs-build-system)
11248 (home-page "https://github.com/dbrock/bongo")
11249 (synopsis "Media player for Emacs")
11250 (description
11251 "This package provides a flexible media player for Emacs. @code{Bongo}
11252 supports multiple backends such as @code{vlc}, @code{mpg123},
11253 @code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and
11254 @code{afplay}.")
11255 (license license:gpl2+)))
11256
11257 (define-public emacs-groovy-modes
11258 (package
11259 (name "emacs-groovy-modes")
11260 (version "2.0")
11261 (source (origin
11262 (method git-fetch)
11263 (uri (git-reference
11264 (url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
11265 (commit version)))
11266 (file-name (git-file-name name version))
11267 (sha256
11268 (base32
11269 "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2"))))
11270 (build-system emacs-build-system)
11271 (propagated-inputs
11272 `(("emacs-s" ,emacs-s)))
11273 (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
11274 (synopsis "Groovy related modes for Emacs")
11275 (description
11276 "This package provides @code{groovy-mode} for syntax highlighting in
11277 Groovy source files, REPL integration with run-groovy and Grails project
11278 navigation with the grails mode.")
11279 (license license:gpl3+)))
11280
11281 (define-public groovy-emacs-modes
11282 (deprecated-package "groovy-emacs-modes" emacs-groovy-modes))
11283
11284 (define-public emacs-org-tree-slide
11285 (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5")
11286 (revision "2"))
11287 (package
11288 (name "emacs-org-tree-slide")
11289 (version (git-version "2.8.4" revision commit))
11290 (source (origin
11291 (method git-fetch)
11292 (uri (git-reference
11293 (url "https://github.com/takaxp/org-tree-slide.git")
11294 (commit commit)))
11295 (sha256
11296 (base32
11297 "1r8ncx25xmxicgciyv5przp68y8qgy40fm10ba55awvql4xcm0yk"))
11298 (file-name (git-file-name name version))))
11299 (build-system emacs-build-system)
11300 (home-page "https://github.com/takaxp/org-tree-slide")
11301 (synopsis "Presentation tool for org-mode")
11302 (description
11303 "Org-tree-slide provides a slideshow mode to view org-mode files. Use
11304 @code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
11305 @kbd{C-<} to jump to the next and previous slide.")
11306 (license license:gpl3+))))
11307
11308 (define-public emacs-scratch-el
11309 (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
11310 (revision "1"))
11311 (package
11312 (name "emacs-scratch-el")
11313 (version (git-version "1.2" revision commit))
11314 (source (origin
11315 (method git-fetch)
11316 (uri (git-reference
11317 (url "https://github.com/ieure/scratch-el.git")
11318 (commit commit)))
11319 (file-name (git-file-name name version))
11320 (sha256
11321 (base32
11322 "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"))))
11323 (build-system emacs-build-system)
11324 (native-inputs
11325 `(("texinfo" ,texinfo)))
11326 (arguments
11327 '(#:phases
11328 (modify-phases %standard-phases
11329 (add-after 'install 'install-doc
11330 (lambda* (#:key outputs #:allow-other-keys)
11331 (unless (invoke "makeinfo" "scratch.texi")
11332 (error "makeinfo failed"))
11333 (install-file "scratch.info"
11334 (string-append (assoc-ref outputs "out")
11335 "/share/info"))
11336 #t)))))
11337 (home-page "https://github.com/ieure/scratch-el/")
11338 (synopsis "Create scratch buffers with the same mode as current buffer")
11339 (description "Scratch is an extension to Emacs that enables one to create
11340 scratch buffers that are in the same mode as the current buffer. This is
11341 notably useful when working on code in some language; you may grab code into a
11342 scratch buffer, and, by virtue of this extension, do so using the Emacs
11343 formatting rules for that language.")
11344 (license license:bsd-2))))
11345
11346 (define-public emacs-kv
11347 (package
11348 (name "emacs-kv")
11349 (version "0.0.19")
11350 (source
11351 (origin
11352 (method git-fetch)
11353 (uri (git-reference
11354 (url "https://github.com/nicferrier/emacs-kv.git")
11355 (commit "721148475bce38a70e0b678ba8aa923652e8900e")))
11356 (file-name (git-file-name name version))
11357 (sha256
11358 (base32
11359 "0r0lz2s6gvy04fwnafai668jsf4546h4k6zd6isx5wpk0n33pj5m"))))
11360 (build-system emacs-build-system)
11361 (arguments
11362 `(#:tests? #t
11363 #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
11364 "-f" "ert-run-tests-batch-and-exit")))
11365 (home-page "https://github.com/nicferrier/emacs-kv")
11366 (synopsis "Key/Value data structures library for Emacs Lisp")
11367 (description "@code{emacs-kv} is a collection of tools for dealing with
11368 key/value data structures such as plists, alists and hash-tables in Emacs
11369 Lisp.")
11370 (license license:gpl3+)))
11371
11372 (define-public emacs-esxml
11373 (package
11374 (name "emacs-esxml")
11375 (version "0.3.4")
11376 (source (origin
11377 (method git-fetch)
11378 (uri (git-reference
11379 (url "https://github.com/tali713/esxml.git")
11380 (commit version)))
11381 (file-name (git-file-name name version))
11382 (sha256
11383 (base32
11384 "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
11385 (build-system emacs-build-system)
11386 (arguments
11387 `(#:phases
11388 (modify-phases %standard-phases
11389 (add-after 'unpack 'fix-sources
11390 (lambda _
11391 ;; See: https://github.com/tali713/esxml/pull/28.
11392 (substitute* "css-lite.el"
11393 ((";;; main interface")
11394 (string-append ";;; main interface\n"
11395 "(require 'cl-lib)"))
11396 (("mapcan")
11397 "cl-mapcan")
11398 (("',\\(cl-mapcan #'process-css-rule rules\\)")
11399 "(cl-mapcan #'process-css-rule ',rules)"))
11400 (substitute* "esxml-form.el"
11401 ((",esxml-form-field-defn")
11402 "#'esxml-form-field-defn"))
11403 ;; See: https://github.com/tali713/esxml/issues/25
11404 (delete-file "esxpath.el")
11405 #t)))))
11406 (propagated-inputs
11407 `(("emacs-kv" ,emacs-kv)))
11408 (home-page "https://github.com/tali713/esxml/")
11409 (synopsis "SXML for EmacsLisp")
11410 (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
11411 Simply, this is the easiest way to write HTML or XML in Lisp. This library
11412 uses the native form of XML representation as used by many libraries already
11413 included within Emacs. See @code{esxml-to-xml} for a concise description of
11414 the format.")
11415 (license license:gpl3+)))
11416
11417 (define-public emacs-nov-el
11418 (package
11419 (name "emacs-nov-el")
11420 (version "0.2.9")
11421 (source (origin
11422 (method git-fetch)
11423 (uri (git-reference
11424 (url "https://github.com/wasamasa/nov.el.git")
11425 (commit version)))
11426 (file-name (git-file-name name version))
11427 (sha256
11428 (base32
11429 "0v01l1p35mcigixs6j4c5bpc7n7bd51kxa0p3l1xl0gr92774yq3"))))
11430 (build-system emacs-build-system)
11431 (arguments
11432 `(#:phases
11433 (modify-phases %standard-phases
11434 (add-after 'unpack 'embed-path-to-unzip
11435 (lambda _
11436 (substitute* "nov.el"
11437 (("\\(executable-find \"unzip\"\\)")
11438 (string-append "\"" (which "unzip") "\"")))
11439 #t)))))
11440 (propagated-inputs
11441 `(("emacs-dash" ,emacs-dash)
11442 ("emacs-esxml" ,emacs-esxml)))
11443 (inputs
11444 `(("unzip" ,unzip)))
11445 (home-page "https://github.com/wasamasa/nov.el/")
11446 (synopsis "Major mode for reading EPUBs in Emacs")
11447 (description "@code{nov.el} provides a major mode for reading EPUB
11448 documents.
11449
11450 Features:
11451
11452 @itemize
11453 @item Basic navigation (jump to TOC, previous/next chapter)
11454 @item Remembering and restoring the last read position
11455 @item Jump to next chapter when scrolling beyond end
11456 @item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
11457 @item Hyperlinks to internal and external targets
11458 @item Supports textual and image documents
11459 @item View source of document files
11460 @item Metadata display
11461 @item Image rescaling
11462 @end itemize
11463 ")
11464 (license license:gpl3+)))
11465
11466 (define-public epipe
11467 (package
11468 (name "epipe")
11469 (version "0.1.0")
11470 (source
11471 (origin
11472 (method git-fetch)
11473 (uri (git-reference
11474 (url "https://github.com/cute-jumper/epipe.git")
11475 (commit version)))
11476 (file-name (git-file-name name version))
11477 (sha256
11478 (base32 "0lkisi1s7sn12nx8zh58qmsxwnk1rjwryj18wcbr148xqz3swg57"))))
11479 (build-system trivial-build-system)
11480 (inputs
11481 `(("bash" ,bash)
11482 ("perl" ,perl)))
11483 (arguments
11484 `(#:modules
11485 ((guix build utils))
11486 #:builder
11487 (begin
11488 (use-modules (guix build utils))
11489 ;; Extract source.
11490 (copy-recursively (assoc-ref %build-inputs "source") "source")
11491 (chdir "source")
11492 ;; Patch shebangs.
11493 (substitute* "epipe"
11494 (("/usr/bin/env bash")
11495 (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
11496 (patch-shebang "epipe.pl"
11497 (list (string-append (assoc-ref %build-inputs "perl")
11498 "/bin")))
11499 ;; Install.
11500 (for-each (lambda (file)
11501 (install-file file (string-append %output "/bin")))
11502 '("epipe" "epipe.pl"))
11503 #t)))
11504 (home-page "https://github.com/cute-jumper/epipe")
11505 (synopsis "Pipe to the @code{emacsclient}")
11506 (description "@code{epipe} provides an utility to use your editor in
11507 the pipeline, featuring the support for running @code{emacsclient}.")
11508 (license license:gpl3+)))
11509
11510 (define-public emacs-hcl-mode
11511 (package
11512 (name "emacs-hcl-mode")
11513 (version "0.03")
11514 (source
11515 (origin
11516 (method git-fetch)
11517 (uri (git-reference
11518 (url "https://github.com/syohex/emacs-hcl-mode.git")
11519 (commit version)))
11520 (file-name (git-file-name name version))
11521 (sha256
11522 (base32 "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"))))
11523 (build-system emacs-build-system)
11524 (home-page "https://github.com/syohex/emacs-hcl-mode")
11525 (synopsis "Major mode for the Hashicorp Configuration Language")
11526 (description
11527 "@code{emacs-hcl-mode} provides an Emacs major mode for working with
11528 @acronym{HCL, Hashicorp Configuration Language}. It provides syntax
11529 highlighting and indentation support.")
11530 (license license:gpl3+)))
11531
11532 (define-public emacs-terraform-mode
11533 (package
11534 (name "emacs-terraform-mode")
11535 (version "0.06")
11536 (source
11537 (origin
11538 (method git-fetch)
11539 (uri (git-reference
11540 (url "https://github.com/syohex/emacs-terraform-mode.git")
11541 (commit version)))
11542 (file-name (git-file-name name version))
11543 (sha256
11544 (base32 "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"))))
11545 (build-system emacs-build-system)
11546 (propagated-inputs
11547 `(("emacs-hcl-mode" ,emacs-hcl-mode)))
11548 (home-page "https://github.com/syohex/emacs-terraform-mode")
11549 (synopsis "Major mode for Terraform")
11550 (description
11551 "@code{emacs-terraform-mode} provides a major mode for working with
11552 @uref{https://www.terraform.io/, Terraform} configuration files. Most of the
11553 functionality is inherited from @code{hcl-mode}.")
11554 (license license:gpl3+)))
11555
11556 (define-public emacs-exec-path-from-shell
11557 (package
11558 (name "emacs-exec-path-from-shell")
11559 (version "1.12")
11560 (source
11561 (origin
11562 (method git-fetch)
11563 (uri (git-reference
11564 (url "https://github.com/purcell/exec-path-from-shell")
11565 (commit version)))
11566 (file-name (git-file-name name version))
11567 (sha256
11568 (base32
11569 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"))))
11570 (build-system emacs-build-system)
11571 (home-page "https://github.com/purcell/exec-path-from-shell")
11572 (synopsis "Get environment variables such as @var{PATH} from the shell")
11573 (description
11574 "This library allows the user to set Emacs @var{exec-path} and @var{PATH}
11575 from the shell @var{PATH}, so that @code{shell-command}, @code{compile} and
11576 the like work as expected on systems on which Emacs is not guaranteed to
11577 inherit a login shell's environment variables. It also allows other
11578 environment variables to be retrieved from the shell, so that Emacs will see
11579 the same values you get in a terminal.")
11580 (license license:gpl3+)))
11581
11582 (define-public emacs-frog-menu
11583 (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31")
11584 (revision "1"))
11585 (package
11586 (name "emacs-frog-menu")
11587 (version (git-version "0.2.9" revision commit))
11588 (source
11589 (origin
11590 (method git-fetch)
11591 (uri (git-reference
11592 (url "https://github.com/clemera/frog-menu")
11593 (commit commit)))
11594 (file-name (git-file-name name version))
11595 (sha256
11596 (base32
11597 "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj"))))
11598 (build-system emacs-build-system)
11599 (propagated-inputs
11600 `(("emacs-posframe" ,emacs-posframe)
11601 ("emacs-avy" ,emacs-avy)))
11602 (home-page "https://github.com/clemera/frog-menu")
11603 (synopsis "Quickly pick items from ad hoc menus")
11604 (description
11605 "This package provides a popup offering a preview of a list of
11606 candidates on which user-defined dispatch actions can act.")
11607 (license license:gpl3+))))
11608
11609 (define-public emacs-frog-jump-buffer
11610 (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20")
11611 (revision "1"))
11612 (package
11613 (name "emacs-frog-jump-buffer")
11614 (version (git-version "0.1.4" revision commit))
11615 (source
11616 (origin
11617 (method git-fetch)
11618 (uri (git-reference
11619 (url "https://github.com/waymondo/frog-jump-buffer")
11620 (commit commit)))
11621 (file-name (git-file-name name version))
11622 (sha256
11623 (base32
11624 "1z00by8hiss1r2lwmzrl8pnz6jykia2849dqqm4l3z5rf6lwvc0f"))))
11625 (build-system emacs-build-system)
11626 (propagated-inputs
11627 `(("emacs-dash" ,emacs-dash)
11628 ("emacs-frog-menu" ,emacs-frog-menu)
11629 ("emacs-avy" ,emacs-avy)))
11630 (home-page "https://github.com/waymondo/frog-jump-buffer")
11631 (synopsis "Jump to any Emacs buffer with minimal keystrokes")
11632 (description
11633 "This package provides a preview window of buffers that can be switched
11634 to with quicklink-style selections.")
11635 (license license:gpl3+))))
11636
11637 (define-public emacs-deft
11638 (package
11639 (name "emacs-deft")
11640 (version "0.8")
11641 (source
11642 (origin
11643 (method git-fetch)
11644 (uri (git-reference
11645 (url "https://github.com/jrblevin/deft.git")
11646 (commit (string-append "v" version))))
11647 (file-name (git-file-name name version))
11648 (sha256
11649 (base32
11650 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2"))))
11651 (build-system emacs-build-system)
11652 (home-page "https://jblevins.org/projects/deft/")
11653 (synopsis "Quickly browse, filter, and edit plain text notes")
11654 (description
11655 "Deft is an Emacs mode for quickly browsing, filtering, and editing
11656 directories of plain text notes, inspired by Notational Velocity.")
11657 (license license:bsd-3)))
11658
11659 (define-public emacs-anzu
11660 (package
11661 (name "emacs-anzu")
11662 (version "0.62")
11663 (source
11664 (origin
11665 (method git-fetch)
11666 (uri (git-reference
11667 (url "https://github.com/syohex/emacs-anzu.git")
11668 (commit version)))
11669 (file-name (git-file-name name version))
11670 (sha256
11671 (base32 "1lzvc0ihcbplir4hqfyxfqpsd78arz15gk92kmq4f8ggbkl37fan"))))
11672 (build-system emacs-build-system)
11673 (home-page "https://github.com/syohex/emacs-anzu")
11674 (synopsis "Show number of matches in mode-line while searching")
11675 (description
11676 "Anzu provides a minor mode which displays \"current match/total
11677 matches\" in the mode line in various search modes. This is an Emacs port of
11678 Anzu.zim.")
11679 (license license:gpl3+)))
11680
11681 (define-public emacs-ascii-art-to-unicode
11682 (package
11683 (name "emacs-ascii-art-to-unicode")
11684 (version "1.12")
11685 (source
11686 (origin
11687 (method url-fetch)
11688 (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
11689 version ".el"))
11690 (sha256
11691 (base32
11692 "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
11693 (build-system emacs-build-system)
11694 (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
11695 (synopsis "ASCII to Unicode art converter for Emacs")
11696 (description "This Emacs package provides the commands @command{aa2u} and
11697 @command{aa2u-rectangle}. Both of these commands can be used to convert
11698 simple ASCII art line drawings to Unicode; the former works on the active
11699 region of the buffer, while the latter works on rectangular selections.")
11700 (license license:gpl3+)))
11701
11702 (define-public emacs-emmet-mode
11703 (let ((commit "1acb821e0142136344ccf40c1e5fb664d7db2e70")
11704 (revision "1"))
11705 (package
11706 (name "emacs-emmet-mode")
11707 (version (git-version "1.0.8" revision commit))
11708 (source (origin
11709 (method git-fetch)
11710 (uri (git-reference
11711 (url "https://github.com/smihica/emmet-mode.git")
11712 (commit commit)))
11713 (file-name (git-file-name name version))
11714 (sha256
11715 (base32
11716 "1p25h191bm0h5b3w5apg7wks51k7pb7h4dlww4jbl9ri4d33fzcl"))))
11717 (build-system emacs-build-system)
11718 (home-page "https://github.com/smihica/emmet-mode")
11719 (synopsis "Unofficial Emmet's support for Emacs")
11720 (description
11721 "Unfold CSS-selector-like expressions to markup. It is intended to be
11722 used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
11723 (license license:gpl3+))))
11724
11725 (define-public emacs-ergoemacs-mode
11726 (let ((commit "3ce23bba3cb50562693860f87f3528c471d603ba")
11727 (revision "1"))
11728 (package
11729 (name "emacs-ergoemacs-mode")
11730 (version (git-version "5.16.10.12" revision commit))
11731 (source
11732 (origin
11733 (method git-fetch)
11734 (uri (git-reference
11735 (url "https://github.com/ergoemacs/ergoemacs-mode.git")
11736 (commit commit)))
11737 (file-name (git-file-name name version))
11738 (sha256
11739 (base32
11740 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l"))))
11741 (build-system emacs-build-system)
11742 (propagated-inputs
11743 `(("emacs-undo-tree" ,emacs-undo-tree)))
11744 (home-page "https://ergoemacs.github.io/")
11745 (synopsis "Emacs mode based on common modern interface and ergonomics")
11746 (description
11747 "This package provides an efficient Emacs keybinding set based on
11748 statistics of command frequency, and supports common shortcuts for open,
11749 close, copy, cut, paste, undo, redo.")
11750 (license license:gpl3+))))
11751
11752 (define-public emacs-password-store
11753 (package
11754 (name "emacs-password-store")
11755 (version "1.7.3")
11756 (source (origin
11757 (method url-fetch)
11758 (uri
11759 (string-append "https://git.zx2c4.com/password-store/snapshot/"
11760 "password-store-" version ".tar.xz"))
11761 (sha256
11762 (base32
11763 "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b"))))
11764 (build-system emacs-build-system)
11765 (arguments
11766 `(#:phases
11767 (modify-phases %standard-phases
11768 (add-after 'unpack 'extract-el-file
11769 (lambda _
11770 (copy-file "contrib/emacs/password-store.el" "password-store.el")
11771 (delete-file-recursively "contrib")
11772 (delete-file-recursively "man")
11773 (delete-file-recursively "src")
11774 (delete-file-recursively "tests"))))))
11775 (propagated-inputs
11776 `(("emacs-f" ,emacs-f)
11777 ("emacs-s" ,emacs-s)
11778 ("emacs-with-editor" ,emacs-with-editor)
11779 ("password-store" ,password-store)))
11780 (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
11781 (synopsis "Password store (pass) support for Emacs")
11782 (description
11783 "This package provides functions for working with pass (\"the
11784 standard Unix password manager\").")
11785 (license license:gpl2+)))
11786
11787 (define-public emacs-auth-source-pass
11788 (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
11789 (revision "1"))
11790 (package
11791 (name "emacs-auth-source-pass")
11792 (version (git-version "5.0.0" revision commit))
11793 (source
11794 (origin
11795 (method git-fetch)
11796 (uri (git-reference
11797 (url "https://github.com/NicolasPetton/auth-password-store.git")
11798 (commit commit)))
11799 (file-name (git-file-name name version))
11800 (sha256
11801 (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
11802 (build-system emacs-build-system)
11803 (arguments
11804 `(#:tests? #t
11805 #:test-command '("emacs" "--batch"
11806 "-L" "."
11807 "-l" "test/auth-source-pass-tests.el"
11808 "-f" "ert-run-tests-batch-and-exit")))
11809 (home-page "https://github.com/NicolasPetton/auth-password-store")
11810 (synopsis "Integrate @code{auth-source} with @code{password-store}")
11811 (description "This package helps Emacs integrate with the Unix
11812 @code{password-store} application.")
11813 (license license:gpl3+))))
11814
11815 (define-public emacs-pass
11816 (package
11817 (name "emacs-pass")
11818 (version "1.8")
11819 (source
11820 (origin
11821 (method git-fetch)
11822 (uri (git-reference
11823 (url "https://github.com/NicolasPetton/pass.git")
11824 (commit version)))
11825 (file-name (git-file-name name version))
11826 (sha256
11827 (base32 "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"))))
11828 (build-system emacs-build-system)
11829 (propagated-inputs
11830 `(("emacs-password-store" ,emacs-password-store)
11831 ("emacs-f" ,emacs-f)))
11832 (home-page "https://github.com/NicolasPetton/pass")
11833 (synopsis "Major mode for @file{password-store.el}")
11834 (description "This is a major mode for managing password-store (pass)
11835 keychains. The keychain entries are displayed in a directory-like structure
11836 and can be consulted and modified.")
11837 (license license:gpl3+)))
11838
11839 (define-public emacs-evil-anzu
11840 (package
11841 (name "emacs-evil-anzu")
11842 (version "0.03")
11843 (source
11844 (origin
11845 (method git-fetch)
11846 (uri (git-reference
11847 (url "https://github.com/syohex/emacs-evil-anzu")
11848 (commit version)))
11849 (file-name (git-file-name name version))
11850 (sha256
11851 (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
11852 (build-system emacs-build-system)
11853 (propagated-inputs
11854 `(("emacs-evil" ,emacs-evil)
11855 ("emacs-anzu" ,emacs-anzu)))
11856 (home-page "https://github.com/syohex/emacs-evil-anzu")
11857 (synopsis "Anzu for evil-mode")
11858 (description "@code{anzu} provides a minor mode that displays the current
11859 match and total match information in the mode-line in various search modes.")
11860 (license license:gpl3+)))
11861
11862 (define-public emacs-pg
11863 (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
11864 (package
11865 (name "emacs-pg")
11866 (version (git-version "0.1" "1" commit))
11867 (source (origin
11868 (method git-fetch)
11869 (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
11870 (commit commit)))
11871 (file-name (git-file-name name version))
11872 (sha256
11873 (base32
11874 "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
11875 (build-system emacs-build-system)
11876 (home-page "https://github.com/cbbrowne/pg.el")
11877 (synopsis "Emacs Lisp interface for PostgreSQL")
11878 (description
11879 "This package provides an Emacs Lisp interface for PostgreSQL.")
11880 (license license:gpl3+))))
11881
11882 (define-public emacs-cl-generic
11883 (package
11884 (name "emacs-cl-generic")
11885 (version "0.3")
11886 (source
11887 (origin
11888 (method url-fetch)
11889 (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
11890 version ".el"))
11891 (sha256
11892 (base32
11893 "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
11894 (build-system emacs-build-system)
11895 (home-page "https://elpa.gnu.org/packages/seq.html")
11896 (synopsis
11897 "Forward @code{cl-generic} compatibility for Emacs before version 25")
11898 (description "This package provides a subset of the features of the
11899 @code{cl-generic} package introduced in Emacs-25, for use on previous
11900 @code{emacsen}.")
11901 (license license:gpl3+)))
11902
11903 (define-public emacs-finalize
11904 (package
11905 (name "emacs-finalize")
11906 (version "2.0.0")
11907 (source
11908 (origin
11909 (method git-fetch)
11910 (uri (git-reference
11911 (url "https://github.com/skeeto/elisp-finalize.git")
11912 (commit version)))
11913 (file-name (git-file-name name version))
11914 (sha256
11915 (base32 "1gvlm4i62af5jscwz0jccc8ra0grprxpg2rlq91d5nn8dn5lpy79"))))
11916 (build-system emacs-build-system)
11917 (propagated-inputs
11918 `(("emacs-cl-generic" ,emacs-cl-generic)))
11919 (home-page "https://github.com/skeeto/elisp-finalize")
11920 (synopsis "Finalizers for Emacs Lisp")
11921 (description
11922 "This package will allows to immediately run a callback (a finalizer)
11923 after its registered lisp object has been garbage collected. This allows for
11924 extra resources, such as buffers and processes, to be cleaned up after the
11925 object has been freed.")
11926 (license license:unlicense)))
11927
11928 (define-public emacs-emacsql
11929 (package
11930 (name "emacs-emacsql")
11931 (version "3.0.0")
11932 (source (origin
11933 (method git-fetch)
11934 (uri (git-reference
11935 (url "https://github.com/skeeto/emacsql.git")
11936 (commit (string-append version))))
11937 (file-name (git-file-name name version))
11938 (sha256
11939 (base32
11940 "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
11941 (build-system emacs-build-system)
11942 (arguments
11943 `(#:modules ((guix build emacs-build-system)
11944 (guix build utils)
11945 (guix build emacs-utils)
11946 (srfi srfi-26))
11947 #:phases
11948 (modify-phases %standard-phases
11949 (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
11950 (add-before 'install 'patch-elisp-shell-shebangs
11951 (lambda _
11952 (substitute* (find-files "." "\\.el")
11953 (("/bin/sh") (which "sh")))
11954 #t))
11955 (add-after 'patch-elisp-shell-shebangs 'setenv-shell
11956 (lambda _
11957 (setenv "SHELL" "sh")))
11958 (add-after 'setenv-shell 'build-emacsql-sqlite
11959 (lambda _
11960 (invoke "make" "binary" "CC=gcc")))
11961 (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
11962 ;; This build phase installs emacs-emacsql binary.
11963 (lambda* (#:key outputs #:allow-other-keys)
11964 (install-file "sqlite/emacsql-sqlite"
11965 (string-append (assoc-ref outputs "out")
11966 "/bin"))
11967 #t))
11968 (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
11969 ;; This build phase removes interactive prompts
11970 ;; and makes sure Emacs look for binaries in the right places.
11971 (lambda* (#:key outputs #:allow-other-keys)
11972 (let ((file "emacsql-sqlite.el"))
11973 (chmod file #o644)
11974 (emacs-substitute-sexps file
11975 ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
11976 ("(executable-find" (which "gcc"))
11977 ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
11978 ;; in the right place.
11979 ("(defvar emacsql-sqlite-executable"
11980 (string-append (assoc-ref outputs "out")
11981 "/bin/emacsql-sqlite"))))))
11982 (replace 'install
11983 (lambda* (#:key outputs #:allow-other-keys)
11984 (let* ((out (assoc-ref outputs "out")))
11985 (install-file "sqlite/emacsql-sqlite"
11986 (string-append out "/bin"))
11987 (for-each (cut install-file <>
11988 (string-append out "/share/emacs/site-lisp"))
11989 (find-files "." "\\.elc*$")))
11990 #t)))))
11991 (inputs
11992 `(("emacs-minimal" ,emacs-minimal)
11993 ("mariadb" ,mariadb "lib")
11994 ("mariadb-dev" ,mariadb "dev")
11995 ("postgresql" ,postgresql)))
11996 (propagated-inputs
11997 `(("emacs-finalize" ,emacs-finalize)
11998 ("emacs-pg" ,emacs-pg)))
11999 (home-page "https://github.com/skeeto/emacsql")
12000 (synopsis "Emacs high-level SQL database front-end")
12001 (description "Any readable Lisp value can be stored as a value in EmacSQL,
12002 including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
12003 has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
12004 object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
12005 (license license:gpl3+)))
12006
12007 (define-public emacs-closql
12008 ;; Take a commit newer than 1.0.0 release because of Emacs upgrade to 26.3.
12009 (let ((commit "70b98dbae53611d10a461d9b4a6f71086910dcef"))
12010 (package
12011 (name "emacs-closql")
12012 (version (git-version "1.0.0" "1" commit))
12013 (source
12014 (origin
12015 (method git-fetch)
12016 (uri (git-reference
12017 (url "https://github.com/emacscollective/closql.git")
12018 (commit commit)))
12019 (file-name (git-file-name name version))
12020 (sha256
12021 (base32
12022 "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh"))))
12023 (build-system emacs-build-system)
12024 (propagated-inputs
12025 `(("emacs-emacsql" ,emacs-emacsql)))
12026 (home-page "https://github.com/emacscollective/closql")
12027 (synopsis "Store EIEIO objects using EmacSQL")
12028 (description
12029 "This package allows to store uniform EIEIO objects in an EmacSQL
12030 database. SQLite is used as backend. This library imposes some restrictions
12031 on what kind of objects can be stored; it isn't intended to store arbitrary
12032 objects. All objects have to share a common superclass and subclasses cannot
12033 add any additional instance slots.")
12034 (license license:gpl3))))
12035
12036 (define-public emacs-epkg
12037 ;; The release version is to old for the current database scheme.
12038 (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
12039 (package
12040 (name "emacs-epkg")
12041 (version (git-version "3.0.0" "1" commit))
12042 (source
12043 (origin
12044 (method git-fetch)
12045 (uri (git-reference
12046 (url "https://github.com/emacscollective/epkg.git")
12047 (commit commit)))
12048 (file-name (git-file-name name version))
12049 (sha256
12050 (base32
12051 "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
12052 (build-system emacs-build-system)
12053 (propagated-inputs
12054 `(("emacs-closql" ,emacs-closql)
12055 ("emacs-dash" ,emacs-dash)))
12056 (home-page "https://emacsmirror.net")
12057 (synopsis "Browse the Emacsmirror package database")
12058 (description "This package provides access to a local copy of the
12059 Emacsmirror package database. It provides low-level functions for querying
12060 the database and a @file{package.el} user interface for browsing the database.
12061 Epkg itself is not a package manager.
12062
12063 Getting a local copy:
12064
12065 @example
12066 git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
12067 cd ~/.emacs.d/epkgs
12068 git submodule init
12069 git config --global url.https://github.com/.insteadOf git@@github.com:
12070 git submodule update
12071 @end example
12072
12073 Some submodule may be missing. In this case Git will prompt for a GitHub user
12074 name and password. To skip it press a @key{Return} key.
12075
12076 You could get a Epkg package list by invoking @code{epkg-list-packages} in
12077 Emacs.")
12078 (license license:gpl3+))))
12079
12080 (define-public emacs-elisp-slime-nav
12081 (package
12082 (name "emacs-elisp-slime-nav")
12083 (version "0.9")
12084 (source
12085 (origin
12086 (method git-fetch)
12087 (uri (git-reference
12088 (url "https://github.com/purcell/elisp-slime-nav.git")
12089 (commit version)))
12090 (file-name (git-file-name name version))
12091 (sha256
12092 (base32 "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"))))
12093 (build-system emacs-build-system)
12094 (home-page "https://github.com/purcell/elisp-slime-nav")
12095 (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
12096 (description
12097 "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
12098 in @code{emacs-lisp-mode}, together with an elisp equivalent of
12099 @code{slime-describe-symbol}.")
12100 (license license:gpl3+)))
12101
12102 (define-public emacs-dedicated
12103 (package
12104 (name "emacs-dedicated")
12105 (version "1.0.0")
12106 (source
12107 (origin
12108 (method git-fetch)
12109 (uri (git-reference
12110 (url "https://github.com/emacsorphanage/dedicated.git")
12111 (commit version)))
12112 (file-name (git-file-name name version))
12113 (sha256
12114 (base32 "0pba9s0h37sxyqh733vi6k5raa4cs7aradipf3826inw36jcw414"))))
12115 (build-system emacs-build-system)
12116 (home-page "https://github.com/emacsorphanage/dedicated")
12117 (synopsis "Emacs minor mode for toggling a windows's \"dedicated\" flag")
12118 (description
12119 "This simple Emacs minor mode allows you to toggle a window's
12120 \"dedicated\" flag. When a window is \"dedicated\", Emacs will not select
12121 files into that window. This can be quite handy since many commands will use
12122 another window to show results (compilation mode, starting info, and so on).
12123 A dedicated window won't be used for such a purpose. For details, please read
12124 the source file.")
12125 (license license:gpl2+)))
12126
12127 (define-public emacs-nnreddit
12128 (let ((commit "9843f99d01fd8f1eea2fc685965a7c7f4eeb187a")
12129 (revision "1"))
12130 (package
12131 (name "emacs-nnreddit")
12132 (version (string-append "0.0.1-" revision "."
12133 (string-take commit 7)))
12134 (source (origin
12135 (method git-fetch)
12136 (uri (git-reference
12137 (url "https://github.com/paul-issartel/nnreddit.git")
12138 (commit commit)))
12139 (file-name (git-file-name name version))
12140 (sha256
12141 (base32
12142 "0j4h3bnga640250jdq8bwyja49r41ssrsjd6lba4gzzllqk02nbn"))))
12143 (build-system emacs-build-system)
12144 (home-page "https://github.com/paul-issartel/nnreddit")
12145 (synopsis "Reddit backend for the Gnus newsreader")
12146 (description "@url{https://www.reddit.com} backend for the Gnus
12147 newsreader.")
12148 (license license:gpl3+))))
12149
12150 (define-public emacs-makey
12151 (package
12152 (name "emacs-makey")
12153 (version "0.3")
12154 (source
12155 (origin
12156 (method git-fetch)
12157 (uri (git-reference
12158 (url "https://github.com/mickeynp/makey.git")
12159 (commit version)))
12160 (file-name (git-file-name name version))
12161 (sha256
12162 (base32 "1rr7vpm3xxzcaam3m8xni3ajy8ycyljix07n2jzczayri9sd8csy"))))
12163 (build-system emacs-build-system)
12164 (home-page "https://github.com/mickeynp/makey")
12165 (synopsis "Emacs interactive command-line mode")
12166 (description
12167 "This package provides an Emacs interactive command-line mode.")
12168 (license license:gpl3+)))
12169
12170 (define-public emacs-outorg
12171 (let ((commit "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"))
12172 (package
12173 (name "emacs-outorg")
12174 (version (git-version "2.0" "1" commit))
12175 (source
12176 (origin
12177 (method git-fetch)
12178 (uri (git-reference
12179 (url "https://github.com/alphapapa/outorg")
12180 (commit commit)))
12181 (file-name (git-file-name name version))
12182 (sha256
12183 (base32
12184 "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"))))
12185 (build-system emacs-build-system)
12186 (home-page "https://github.com/alphapapa/outorg")
12187 (synopsis "Org-style comment editing")
12188 (description "Outorg is for editing comment-sections of source-code
12189 files in temporary Org-mode buffers. It turns conventional
12190 literate-programming upside-down in that the default mode is the
12191 programming-mode, and special action has to be taken to switch to the
12192 text-mode (i.e. Org-mode).")
12193 (license license:gpl3+))))
12194
12195 (define-public emacs-outshine
12196 (package
12197 (name "emacs-outshine")
12198 (version "3.0.1")
12199 (source (origin
12200 (method git-fetch)
12201 (uri (git-reference
12202 (url "https://github.com/alphapapa/outshine.git")
12203 (commit (string-append "v" version))))
12204 (file-name (git-file-name name version))
12205 (sha256
12206 (base32
12207 "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
12208 (build-system emacs-build-system)
12209 (propagated-inputs
12210 `(("emacs-outorg" ,emacs-outorg)))
12211 (home-page "https://github.com/alphapapa/outshine")
12212 (synopsis "Emacs outline with outshine")
12213 (description "Outshine attempts to bring the look and feel of
12214 @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
12215 of @code{outline-minor-mode} (@code{org-mode} itself derives from
12216 outline-mode), so there is no such thing like an outshine mode, only
12217 @code{outline-minor-mode} with outshine extensions loaded.")
12218 (license license:gpl3+)))
12219
12220 (define-public emacs-frecency
12221 (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
12222 (version "0.1-pre")
12223 (revision "1"))
12224 (package
12225 (name "emacs-frecency")
12226 (version (git-version version revision commit))
12227 (source (origin
12228 (method git-fetch)
12229 (uri (git-reference
12230 (url "https://github.com/alphapapa/frecency.el")
12231 (commit commit)))
12232 (sha256
12233 (base32
12234 "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
12235 (file-name (git-file-name name version))))
12236 (build-system emacs-build-system)
12237 (propagated-inputs
12238 `(("emacs-a" ,emacs-a)
12239 ("emacs-dash" ,emacs-dash)))
12240 (home-page "https://github.com/alphapapa/frecency.el")
12241 (synopsis "Sort items by frequency and recency of access")
12242 (description "This package provides a way of sorting items via
12243 a heuristic based on frequency and recency.")
12244 (license license:gpl3+))))
12245
12246 (define-public emacs-org-recent-headings
12247 (package
12248 (name "emacs-org-recent-headings")
12249 (version "0.1")
12250 (source (origin
12251 (method git-fetch)
12252 (uri (git-reference
12253 (url "https://github.com/alphapapa/org-recent-headings.git")
12254 (commit version)))
12255 (file-name (git-file-name name version))
12256 (sha256
12257 (base32
12258 "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
12259 (build-system emacs-build-system)
12260 (propagated-inputs
12261 `(("emacs-org" ,emacs-org)
12262 ("emacs-dash" ,emacs-dash)
12263 ("emacs-frecency" ,emacs-frecency)))
12264 (home-page "https://github.com/alphapapa/org-recent-headings")
12265 (synopsis "Navigate to recently used Org headings and lists")
12266 (description "This package maintains a list of recently used Org headings,
12267 as well as functions for navigating between these headings.")
12268 (license license:gpl3+)))
12269
12270 (define-public emacs-org-super-agenda
12271 ;; emacs-org-sidebar depends on a newer commit than the latest release version.
12272 (let ((commit "a87ca11fbbe72ab6c1c4c3b55ae9e1e93ebfb8ba")
12273 (revision "3"))
12274 (package
12275 (name "emacs-org-super-agenda")
12276 (version (git-version "1.1.1" revision commit))
12277 (source (origin
12278 (method git-fetch)
12279 (uri (git-reference
12280 (url "https://github.com/alphapapa/org-super-agenda")
12281 (commit commit)))
12282 (file-name (git-file-name name version))
12283 (sha256
12284 (base32
12285 "08b7babdaqblb6jff57an4kbcxk6fkhf668620fipfjgbsnqv3ff"))))
12286 (build-system emacs-build-system)
12287 (propagated-inputs
12288 `(("emacs-org" ,emacs-org)
12289 ("emacs-dash" ,emacs-dash)
12290 ("emacs-ts" ,emacs-ts)
12291 ("emacs-ht" ,emacs-ht)
12292 ("emacs-s" ,emacs-s)))
12293 (home-page "https://github.com/alphapapa/org-super-agenda")
12294 (synopsis "Supercharged Org agenda")
12295 (description "This package allows items in the Org agenda to be grouped
12296 into sections while preserving the structure imposed by any timestamps.")
12297 (license license:gpl3+))))
12298
12299 (define-public emacs-org-make-toc
12300 (package
12301 (name "emacs-org-make-toc")
12302 (version "0.3")
12303 (source (origin
12304 (method git-fetch)
12305 (uri (git-reference
12306 (url "https://github.com/alphapapa/org-make-toc")
12307 (commit version)))
12308 (file-name (git-file-name name version))
12309 (sha256
12310 (base32
12311 "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
12312 (build-system emacs-build-system)
12313 (propagated-inputs
12314 `(("emacs-org" ,emacs-org)
12315 ("emacs-dash" ,emacs-dash)
12316 ("emacs-s" ,emacs-s)))
12317 (home-page "https://github.com/alphapapa/org-make-toc")
12318 (synopsis "Maintain a table of contents for an Org file")
12319 (description "This package facilitates the creation and maintenance of
12320 tables of contents.")
12321 (license license:gpl3+)))
12322
12323 (define-public emacs-ts
12324 (let ((commit "395649a2f2ba79028331bb1fa9ec08b218950ff6")
12325 (revision "2"))
12326 (package
12327 (name "emacs-ts")
12328 (version (git-version "0.1" revision commit))
12329 (source (origin
12330 (method git-fetch)
12331 (uri (git-reference
12332 (url "https://github.com/alphapapa/ts.el")
12333 (commit commit)))
12334 (sha256
12335 (base32
12336 "02603wv66fplsigxd87jy23hrb5g9vigszcpdqrdv0ypaqaxlr3a"))
12337 (file-name (git-file-name name version))))
12338 (build-system emacs-build-system)
12339 (propagated-inputs
12340 `(("emacs-s" ,emacs-s)
12341 ("emacs-dash" ,emacs-dash)))
12342 (arguments
12343 ;; XXX: Three tests are failing because of a timezone-related issue
12344 ;; with how they're written. On my machine, all the failing test
12345 ;; results are 18000 seconds (5 hours) off.
12346
12347 ;; The ts-parse-org function accepts a string without any timezone
12348 ;; info, not assumed to be in Unix time, and converts it to a so-called
12349 ;; ts struct. The ts-unix function (accessor) accepts a ts struct,
12350 ;; then seems to assume the struct's corresponding time is in terms of
12351 ;; the user's current time zone, before returning a Unix time in
12352 ;; seconds.
12353
12354 ;; The failing tests all have similar problems, but nothing else about
12355 ;; the library seems particularly off.
12356
12357 `(#:tests? #t
12358 #:test-command '("emacs" "--batch"
12359 "-l" "test/test.el"
12360 "-f" "ert-run-tests-batch-and-exit")
12361 #:phases
12362 (modify-phases %standard-phases
12363 (add-before 'check 'make-tests-writable
12364 (lambda _
12365 (make-file-writable "test/test.el")
12366 #t))
12367 (add-before 'check 'delete-failing-tests
12368 (lambda _
12369 (emacs-batch-edit-file "test/test.el"
12370 `(progn (progn
12371 (goto-char (point-min))
12372 (dolist (test-regexp '("ert-deftest ts-format"
12373 "ert-deftest ts-parse-org\\_>"
12374 "ert-deftest ts-parse-org-element"))
12375 (re-search-forward test-regexp)
12376 (beginning-of-line)
12377 (kill-sexp)))
12378 (basic-save-buffer)))
12379 #t)))))
12380 (home-page "https://github.com/alphapapa/ts.el")
12381 (synopsis "Timestamp and date/time library")
12382 (description "This package facilitates manipulating dates, times, and
12383 timestamps by providing a @code{ts} struct.")
12384 (license license:gpl3+))))
12385
12386 (define-public emacs-peg
12387 (package
12388 (name "emacs-peg")
12389 (version "0.6")
12390 (source (origin
12391 (method git-fetch)
12392 (uri (git-reference
12393 (url "https://github.com/emacsmirror/peg")
12394 (commit version)))
12395 (sha256
12396 (base32
12397 "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n"))
12398 (file-name (git-file-name name version))))
12399 (build-system emacs-build-system)
12400 (home-page "https://github.com/emacsmirror/peg/")
12401 (synopsis "Parsing Expression Grammars in Elisp")
12402 (description "This package provides a macro that parses the current buffer
12403 according to a parsing expression grammar.")
12404 (license license:gpl3+)))
12405
12406 (define-public emacs-org-ql
12407 (package
12408 (name "emacs-org-ql")
12409 (version "0.3.2")
12410 (source (origin
12411 (method git-fetch)
12412 (uri (git-reference
12413 (url "https://github.com/alphapapa/org-ql")
12414 (commit version)))
12415 (sha256
12416 (base32
12417 "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"))
12418 (file-name (git-file-name name version))))
12419 (build-system emacs-build-system)
12420 (propagated-inputs
12421 `(("emacs-s" ,emacs-s)
12422 ("emacs-f" ,emacs-f)
12423 ("emacs-ov" ,emacs-ov)
12424 ("emacs-peg" ,emacs-peg)
12425 ("emacs-org-super-agenda" ,emacs-org-super-agenda)
12426 ("emacs-ts" ,emacs-ts)
12427 ("emacs-org" ,emacs-org)
12428 ("emacs-helm" ,emacs-helm)
12429 ("emacs-helm-org" ,emacs-helm-org)
12430 ("emacs-dash" ,emacs-dash)))
12431 (native-inputs
12432 `(("emacs-buttercup" ,emacs-buttercup)))
12433 (arguments
12434 `(#:phases
12435 (modify-phases %standard-phases
12436 (add-after 'unpack 'require-helm
12437 (lambda _
12438 (substitute* "helm-org-ql.el"
12439 (("^;;;; Requirements")
12440 ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
12441 #t)))
12442 #:tests? #t
12443 #:test-command '("buttercup" "-L" ".")))
12444 (home-page "https://github.com/alphapapa/org-ql/")
12445 (synopsis "Query language for Org buffers")
12446 (description "This package provides a Lispy query language for Org
12447 files, allowing for actions to be performed based on search criteria.")
12448 (license license:gpl3+)))
12449
12450 (define-public emacs-org-auto-expand
12451 (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
12452 (revision "1"))
12453 (package
12454 (name "emacs-org-auto-expand")
12455 (version (git-version "0.1" revision commit))
12456 (source (origin
12457 (method git-fetch)
12458 (uri (git-reference
12459 (url "https://github.com/alphapapa/org-auto-expand")
12460 (commit commit)))
12461 (file-name (git-file-name name version))
12462 (sha256
12463 (base32
12464 "1my0c6xmkh37lwi6l472lz9d86lf20h6xcllzlxm1lxa24rhva6v"))))
12465 (build-system emacs-build-system)
12466 (propagated-inputs
12467 `(("emacs-org" ,emacs-org)
12468 ("emacs-dash" ,emacs-dash)))
12469 (home-page "https://github.com/alphapapa/org-auto-expand")
12470 (synopsis "Automatically expand certain Org headings")
12471 (description "This package allows a customizable set of headings in Org
12472 files to be expanded upon opening them.")
12473 (license license:gpl3+))))
12474
12475 (define-public emacs-parsebib
12476 (package
12477 (name "emacs-parsebib")
12478 (version "2.3.1")
12479 (source
12480 (origin
12481 (method git-fetch)
12482 (uri (git-reference
12483 (url "https://github.com/joostkremers/parsebib.git")
12484 (commit version)))
12485 (file-name (git-file-name name version))
12486 (sha256
12487 (base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
12488 (build-system emacs-build-system)
12489 (home-page "https://github.com/joostkremers/parsebib")
12490 (synopsis "Library for parsing bib files")
12491 (description
12492 "This package provides an Emacs library for parsing bib files.")
12493 (license license:gpl3+)))
12494
12495 (define-public emacs-biblio
12496 (package
12497 (name "emacs-biblio")
12498 (version "0.2")
12499 (source
12500 (origin
12501 (method git-fetch)
12502 (uri (git-reference
12503 (url "https://github.com/cpitclaudel/biblio.el.git")
12504 (commit version)))
12505 (file-name (git-file-name name version))
12506 (sha256
12507 (base32 "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"))))
12508 (build-system emacs-build-system)
12509 (propagated-inputs
12510 `(("emacs-seq" ,emacs-seq)
12511 ("emacs-dash" ,emacs-dash)
12512 ("emacs-let-alist" ,emacs-let-alist)))
12513 (home-page "https://github.com/cpitclaudel/biblio.el")
12514 (synopsis "Browse and import bibliographic references")
12515 (description "This package provides an extensible Emacs package for
12516 browsing and fetching references.
12517
12518 @file{biblio.el} makes it easy to browse and gather bibliographic references
12519 and publications from various sources, by keywords or by DOI. References are
12520 automatically fetched from well-curated sources, and formatted as BibTeX.")
12521 (license license:gpl3+)))
12522
12523 (define-public emacs-helm-bibtex
12524 (let ((commit "8ed898fb5a68f18e9bb9973832a5c1f8abcfc463")
12525 (revision "1"))
12526 (package
12527 (name "emacs-helm-bibtex")
12528 (version (string-append "2.0.0" "-" revision "."
12529 (string-take commit 7)))
12530 (source
12531 (origin
12532 (method git-fetch)
12533 (uri (git-reference
12534 (url "https://github.com/tmalsburg/helm-bibtex.git")
12535 (commit commit)))
12536 (file-name (git-file-name name version))
12537 (sha256
12538 (base32
12539 "14lyx0vbqr97p3anzrsp7m3q0kqclyjcdwplpraim403fcklzbnz"))))
12540 (build-system emacs-build-system)
12541 (propagated-inputs
12542 `(("emacs-helm" ,emacs-helm)
12543 ("emacs-parsebib" ,emacs-parsebib)
12544 ("emacs-s" ,emacs-s)
12545 ("emacs-dash" ,emacs-dash)
12546 ("emacs-f" ,emacs-f)
12547 ("emacs-biblio" ,emacs-biblio)
12548 ("emacs-ivy" ,emacs-ivy)))
12549 (home-page "https://github.com/tmalsburg/helm-bibtex")
12550 (synopsis "Bibliography manager based on Helm")
12551 (description "This package provides bibliography manager for Emacs,
12552 based on Helm and the bibtex-completion backend.
12553
12554 Key features:
12555
12556 @itemize
12557 @item Quick access to your bibliography from within Emacs
12558 @item Powerful search capabilities
12559 @item Provides instant search results as you type
12560 @item Tightly integrated with LaTeX authoring, emails, Org mode, etc.
12561 @item Open the PDFs, URLs, or DOIs associated with an entry
12562 @item Insert LaTeX cite commands, Ebib links, or Pandoc citations,
12563 BibTeX entries, or plain text references at point, attach PDFs to emails
12564 @item Support for note taking
12565 @item Quick access to online bibliographic databases such as Pubmed,
12566 arXiv, Google Scholar, Library of Congress, etc.
12567 @item Imports BibTeX entries from CrossRef and other sources.
12568 @end itemize\n")
12569 (license license:gpl3+))))
12570
12571 (define-public emacs-ewmctrl
12572 (let ((commit "3d0217c4d6cdb5c308b6cb4293574f470d4faacf"))
12573 (package
12574 (name "emacs-ewmctrl")
12575 (version (git-version "0.0.1" "1" commit))
12576 (source
12577 (origin
12578 (method git-fetch)
12579 (uri (git-reference
12580 (url "https://github.com/flexibeast/ewmctrl.git")
12581 (commit commit)))
12582 (file-name (git-file-name name version))
12583 (sha256
12584 (base32
12585 "0ilwvx0qryv3v6xf0gxqwnfm6pf96gxap8h9g3f6z6lk9ff4n1wi"))))
12586 (build-system emacs-build-system)
12587 (arguments
12588 '(#:phases
12589 (modify-phases %standard-phases
12590 (add-after 'unpack 'patch-ewmctrl
12591 ;; This build phase makes sure ‘ewmctrl’ looks
12592 ;; for ‘wmctrl’ in the right place.
12593 (lambda _
12594 (let ((file "ewmctrl.el"))
12595 (chmod file #o644)
12596 (emacs-substitute-sexps file
12597 ("(defcustom ewmctrl-wmctrl-path" (which "wmctrl")))))))))
12598 (inputs
12599 `(("wmctrl" ,wmctrl)))
12600 (home-page "https://github.com/flexibeast/ewmctrl")
12601 (synopsis "Emacs interface to @code{wmctrl}")
12602 (description "@code{ewmctrl} provides an Emacs interface to
12603 @code{wmctrl} command-line window-management program.")
12604 (license license:gpl3+))))
12605
12606 (define-public emacs-erc-image
12607 (let ((commit "82fb3871f02e24b1e880770b9a3d187aab43d0f0")
12608 (revision "1"))
12609 (package
12610 (name "emacs-erc-image")
12611 (version (git-version "0" revision commit))
12612 (source
12613 (origin
12614 (method git-fetch)
12615 (uri (git-reference
12616 (url "https://github.com/kidd/erc-image.el")
12617 (commit commit)))
12618 (file-name (git-file-name name version))
12619 (sha256
12620 (base32
12621 "1q8mkf612fb4fjp8h4kbr107wn083iqfdgv8f80pcmil8y33dw9i"))))
12622 (build-system emacs-build-system)
12623 (home-page "https://github.com/kidd/erc-image.el")
12624 (synopsis "Show inlined images (png/jpg/gif/svg) in ERC buffers")
12625 (description "This plugin subscribes to hooks @code{erc-insert-modify-hook}
12626 and @code{erc-send-modify-hook} to download and show images.")
12627 (license license:gpl3+))))
12628
12629 (define-public emacs-helm-gtags
12630 (package
12631 (name "emacs-helm-gtags")
12632 (version "1.5.6")
12633 (source
12634 (origin
12635 (method git-fetch)
12636 (uri (git-reference
12637 (url "https://github.com/syohex/emacs-helm-gtags.git")
12638 (commit version)))
12639 (file-name (git-file-name name version))
12640 (sha256
12641 (base32 "0zyspn9rqfs3hkq8qx0q1w5qiv30ignbmycyv0vn3a6q7a5fsnhx"))))
12642 (build-system emacs-build-system)
12643 (propagated-inputs
12644 `(("emacs-helm" ,emacs-helm)))
12645 (home-page "https://github.com/syohex/emacs-helm-gtags")
12646 (synopsis "Emacs Helm interface to GNU Global")
12647 (description
12648 "@code{emacs-helm-gtags} provides a Emacs Helm interface to GNU Global.")
12649 (license license:gpl3+)))
12650
12651 (define-public emacs-list-utils
12652 (package
12653 (name "emacs-list-utils")
12654 (version "0.4.4")
12655 (source
12656 (origin
12657 (method git-fetch)
12658 (uri (git-reference
12659 (url "https://github.com/rolandwalker/list-utils.git")
12660 (commit (string-append "v" version))))
12661 (file-name (git-file-name name version))
12662 (sha256
12663 (base32 "0ql159v7sxs33yh2l080kchrj52vk34knz50cvqi3ykpb7djg3sz"))))
12664 (build-system emacs-build-system)
12665 (home-page "https://github.com/rolandwalker/list-utils")
12666 (synopsis "List-manipulation utility functions")
12667 (description "This package provides a list manipulation library for Emacs.")
12668 (license license:gpl3+)))
12669
12670 (define-public emacs-move-text
12671 (package
12672 (name "emacs-move-text")
12673 (version "2.0.8")
12674 (source
12675 (origin
12676 (method git-fetch)
12677 (uri (git-reference
12678 (url "https://github.com/emacsfodder/move-text.git")
12679 (commit version)))
12680 (file-name (git-file-name name version))
12681 (sha256
12682 (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
12683 (build-system emacs-build-system)
12684 (home-page "https://github.com/emacsfodder/move-text")
12685 (synopsis "Move current line or region with M-up or M-down")
12686 (description "This package provide functions to move the current line
12687 using @kbd{M-up} or @kbd{M-down} if a region is marked, it will move the
12688 region instead.")
12689 (license license:gpl3+)))
12690
12691 (define-public emacs-validate
12692 (package
12693 (name "emacs-validate")
12694 (version "1.0.5")
12695 (source (origin
12696 (method git-fetch)
12697 (uri (git-reference
12698 (url "https://github.com/Malabarba/validate.el")
12699 (commit version)))
12700 (file-name (git-file-name name version))
12701 (sha256
12702 (base32
12703 "1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
12704 (build-system emacs-build-system)
12705 (home-page "https://github.com/Malabarba/validate.el")
12706 (synopsis "Emacs library for scheme validation")
12707 (description "This Emacs library provides two functions that perform
12708 schema validation.")
12709 (license license:gpl3+)))
12710
12711 (define-public emacs-rainbow-blocks
12712 (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842"))
12713 (package
12714 (name "emacs-rainbow-blocks")
12715 (version (git-version "1.0.0" "1" commit))
12716 (source (origin
12717 (method git-fetch)
12718 (uri (git-reference
12719 (url "https://github.com/istib/rainbow-blocks.git")
12720 (commit commit)))
12721 (file-name (git-file-name name version))
12722 (sha256
12723 (base32
12724 "06yfb3i7wzvqrhkb61zib9xvpb5i00s4frizkzff66im05k0n795"))))
12725 (build-system emacs-build-system)
12726 (home-page "https://github.com/istib/rainbow-blocks")
12727 (synopsis "Highlight sexp blocks")
12728 (description "Rainbow-blocks is an Emacs mode that highlights blocks
12729 made of parentheses, brackets, and braces according to their depth. Each
12730 successive level is highlighted in a different color. This makes it easy to
12731 orient yourself in the code, and tell which statements are at a given level.")
12732 (license license:gpl3+))))
12733
12734 (define-public emacs-hierarchy
12735 (package
12736 (name "emacs-hierarchy")
12737 (version "0.7.0")
12738 (source
12739 (origin
12740 (method git-fetch)
12741 (uri (git-reference
12742 (url "https://github.com/DamienCassou/hierarchy.git")
12743 (commit (string-append "v" version))))
12744 (file-name (git-file-name name version))
12745 (sha256
12746 (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
12747 (build-system emacs-build-system)
12748 (native-inputs
12749 `(("emacs-buttercup" ,emacs-buttercup)))
12750 (arguments
12751 `(#:tests? #t
12752 #:test-command '("buttercup" "-L" ".")))
12753 (home-page "https://github.com/DamienCassou/hierarchy")
12754 (synopsis "Library to create and display hierarchy structures")
12755 (description "This package provides an Emacs library to create, query,
12756 navigate and display hierarchy structures.")
12757 (license license:gpl3+)))
12758
12759 (define-public emacs-tree-mode
12760 (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534")
12761 (revision "1"))
12762 (package
12763 (name "emacs-tree-mode")
12764 (version (string-append "0.0.1" "-" revision "."
12765 (string-take commit 7)))
12766 (source
12767 (origin
12768 (method git-fetch)
12769 (uri (git-reference
12770 (url "https://github.com/emacsorphanage/tree-mode.git")
12771 (commit commit)))
12772 (file-name (git-file-name name version))
12773 (sha256
12774 (base32
12775 "13bbdhdmqg4x9yghanhr8fsbsxbnypzxdxgicz31sjjm675kpnix"))))
12776 (build-system emacs-build-system)
12777 (home-page "https://github.com/emacsorphanage/tree-mode")
12778 (synopsis "Emacs mode to manage tree widgets")
12779 (description
12780 "This package provides an Emacs library to manage tree widgets.")
12781 (license license:gpl3+))))
12782
12783 (define-public emacs-md4rd
12784 (package
12785 (name "emacs-md4rd")
12786 (version "0.3.1")
12787 (source (origin
12788 (method git-fetch)
12789 (uri (git-reference
12790 (url "https://github.com/ahungry/md4rd.git")
12791 (commit version)))
12792 (file-name (git-file-name name version))
12793 (sha256
12794 (base32
12795 "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"))))
12796 (propagated-inputs
12797 `(("emacs-hierarchy" ,emacs-hierarchy)
12798 ("emacs-request" ,emacs-request)
12799 ("emacs-dash" ,emacs-dash)
12800 ("emacs-s" ,emacs-s)
12801 ("emacs-tree-mode" ,emacs-tree-mode)))
12802 (build-system emacs-build-system)
12803 (home-page "https://github.com/ahungry/md4rd")
12804 (synopsis "Emacs Mode for Reddit")
12805 (description
12806 "This package allows to read Reddit from within Emacs interactively.")
12807 (license license:gpl3+)))
12808
12809 (define-public emacs-pulseaudio-control
12810 (let ((commit "7e1a87068379075a5e9ce36c64c686c03d20d379")
12811 (revision "3"))
12812 (package
12813 (name "emacs-pulseaudio-control")
12814 (version (git-version "0.0.1" revision commit))
12815 (source
12816 (origin
12817 (method git-fetch)
12818 (uri (git-reference
12819 (url "https://github.com/flexibeast/pulseaudio-control.git")
12820 (commit commit)))
12821 (file-name (git-file-name name version))
12822 (sha256
12823 (base32
12824 "0wcaqyh15x56255rrj350089z15pnwixa2vf0ly6dv0hjmzmh3mr"))))
12825 (build-system emacs-build-system)
12826 (arguments
12827 '(#:phases (modify-phases %standard-phases
12828 (add-after 'unpack 'patch-file-name
12829 (lambda* (#:key inputs #:allow-other-keys)
12830 (let ((pulseaudio (assoc-ref inputs "pulseaudio")))
12831 (chmod "pulseaudio-control.el" #o600)
12832 (emacs-substitute-variables "pulseaudio-control.el"
12833 ("pulseaudio-control-pactl-path"
12834 (string-append pulseaudio "/bin/pactl")))
12835 #t))))))
12836 (inputs `(("pulseaudio" ,pulseaudio)))
12837 (home-page "https://github.com/flexibeast/pulseaudio-control")
12838 (synopsis "Control @code{pulseaudio} from Emacs")
12839 (description
12840 "This package allows to control @code{pulseaudio} from Emacs.")
12841 (license license:gpl3+))))
12842
12843 (define-public emacs-datetime
12844 (package
12845 (name "emacs-datetime")
12846 (version "0.3")
12847 (source
12848 (origin
12849 (method git-fetch)
12850 (uri (git-reference
12851 (url "https://github.com/doublep/datetime.git")
12852 (commit version)))
12853 (file-name (git-file-name name version))
12854 (sha256
12855 (base32 "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5"))))
12856 (build-system emacs-build-system)
12857 (home-page "https://github.com/doublep/datetime/")
12858 (synopsis "Library to work with dates in Emacs")
12859 (description "Parsing, formatting, matching and recoding
12860 timestamps and date-time format strings library for Emacs.")
12861 (license license:gpl3+)))
12862
12863 (define-public emacs-org-mind-map
12864 (let ((commit "9d6e262bedd94daf9de269f4d56de277275677cb")
12865 (revision "1"))
12866 (package
12867 (name "emacs-org-mind-map")
12868 (version (string-append "0.0.1" "-" revision "."
12869 (string-take commit 7)))
12870 (source
12871 (origin
12872 (method git-fetch)
12873 (uri (git-reference
12874 (url "https://github.com/theodorewiles/org-mind-map.git")
12875 (commit commit)))
12876 (file-name (git-file-name name version))
12877 (sha256
12878 (base32
12879 "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn"))))
12880 (propagated-inputs
12881 `(("emacs-dash" ,emacs-dash)))
12882 (build-system emacs-build-system)
12883 (home-page "https://github.com/theodorewiles/org-mind-map")
12884 (synopsis "Create Graphviz directed graphs from Org files")
12885 (description
12886 "This package creates Graphviz directed graphs from Org files.")
12887 (license license:gpl3+))))
12888
12889 (define-public emacs-npm-mode
12890 (package
12891 (name "emacs-npm-mode")
12892 (version "0.6.0")
12893 (source
12894 (origin
12895 (method git-fetch)
12896 (uri (git-reference
12897 (url "https://github.com/mojochao/npm-mode.git")
12898 (commit version)))
12899 (file-name (git-file-name name version))
12900 (sha256
12901 (base32 "1mh6nbffciw4yhv049kdhh796ysj1x21ndm3fwymhskb3dy0w1ss"))))
12902 (build-system emacs-build-system)
12903 (home-page "https://github.com/mojochao/npm-mode")
12904 (synopsis "Minor mode for working with @code{npm} projects")
12905 (description
12906 "@code{npm-mode} provides a minor mode to work with @code{npm} projects.")
12907 (license license:gpl3+)))
12908
12909 (define-public emacs-seq
12910 (package
12911 (name "emacs-seq")
12912 (version "2.20")
12913 (source
12914 (origin
12915 (method url-fetch)
12916 (uri (string-append "http://elpa.gnu.org/packages/seq-" version ".tar"))
12917 (sha256
12918 (base32
12919 "0vrpx6nnyjb0gsypknzagimlhvcvi5y1rcdkpxyqr42415zr8d0n"))))
12920 (build-system emacs-build-system)
12921 (home-page "http://elpa.gnu.org/packages/seq.html")
12922 (synopsis "Sequence manipulation functions")
12923 (description "Sequence-manipulation functions that complement basic
12924 functions provided by @file{subr.el}.")
12925 (license license:gpl3+)))
12926
12927 (define-public emacs-itail
12928 (let ((commit "6e43c20da03be3b9c6ece93b7dc3495975ec1888")
12929 (revision "1"))
12930 (package
12931 (name "emacs-itail")
12932 (version (string-append "0.0.1" "-" revision "."
12933 (string-take commit 7)))
12934 (source
12935 (origin
12936 (method git-fetch)
12937 (uri (git-reference
12938 (url "https://github.com/re5et/itail.git")
12939 (commit commit)))
12940 (file-name (git-file-name name version))
12941 (sha256
12942 (base32
12943 "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv"))))
12944 (build-system emacs-build-system)
12945 (home-page "https://github.com/re5et/itail")
12946 (synopsis "Interactive @code{tail} Emacs mode")
12947 (description "@code{itail} provides interactive @code{tail} mode
12948 that allows you to filter the tail with unix pipes and highlight the
12949 contents of the tailed file. Works locally or on remote files using
12950 tramp.")
12951 (license license:gpl3+))))
12952
12953 (define-public emacs-loop
12954 (package
12955 (name "emacs-loop")
12956 (version "1.3")
12957 (source
12958 (origin
12959 (method git-fetch)
12960 (uri (git-reference
12961 (url "https://github.com/Wilfred/loop.el.git")
12962 (commit version)))
12963 (file-name (git-file-name name version))
12964 (sha256
12965 (base32 "1gs95xnmnn8aa4794k7h8mw1sz1nfdh9v0caqj6yvnsdnwy74n5x"))))
12966 (build-system emacs-build-system)
12967 (native-inputs
12968 `(("emacs-ert-runner" ,emacs-ert-runner)
12969 ("emacs-undercover" ,emacs-undercover)))
12970 (arguments
12971 `(#:tests? #t
12972 #:test-command '("ert-runner")))
12973 (home-page "https://github.com/Wilfred/loop.el")
12974 (synopsis "Imperative loop structures for Emacs")
12975 (description "Loop structures familiar to users of other languages. This
12976 library adds a selection of popular loop structures as well as break and
12977 continue.")
12978 (license license:gpl3+)))
12979
12980 (define-public emacs-elisp-refs
12981 (package
12982 (name "emacs-elisp-refs")
12983 (version "1.3")
12984 (source
12985 (origin
12986 (method git-fetch)
12987 (uri (git-reference
12988 (url "https://github.com/Wilfred/elisp-refs.git")
12989 (commit version)))
12990 (file-name (git-file-name name version))
12991 (sha256
12992 (base32 "0w7k91xf69zc0zkjrw8h8sjdjf9xq9qs5zhvajhd718lzf93564b"))))
12993 (build-system emacs-build-system)
12994 (propagated-inputs
12995 `(("emacs-dash" ,emacs-dash)
12996 ("emacs-f" ,emacs-f)
12997 ("emacs-list-utils" ,emacs-list-utils)
12998 ("emacs-loop" ,emacs-loop)
12999 ("emacs-s" ,emacs-s)
13000 ("emacs-shut-up" ,emacs-shut-up)))
13001 (native-inputs
13002 `(("emacs-ert-runner" ,emacs-ert-runner)
13003 ("emacs-undercover" ,emacs-undercover)))
13004 (arguments
13005 `(#:tests? #t
13006 #:test-command '("ert-runner")))
13007 (home-page "https://github.com/Wilfred/elisp-refs")
13008 (synopsis "Find callers of elisp functions or macros")
13009 (description "Find references to functions, macros or variables. Unlike a
13010 dumb text search, @code{elisp-refs} actually parses the code, so it's never
13011 confused by comments or @code{foo-bar} matching @code{foo}.")
13012 (license license:gpl3+)))
13013
13014 (define-public emacs-crux
13015 (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859")
13016 (revision "2"))
13017 (package
13018 (name "emacs-crux")
13019 (version (git-version "0.3.0" revision commit))
13020 (source
13021 (origin
13022 (method git-fetch)
13023 (uri (git-reference
13024 (url "https://github.com/bbatsov/crux.git")
13025 (commit commit)))
13026 (file-name (git-file-name name version))
13027 (sha256
13028 (base32
13029 "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"))))
13030 (build-system emacs-build-system)
13031 (home-page "https://github.com/bbatsov/crux")
13032 (synopsis "Collection of useful functions for Emacs")
13033 (description
13034 "@code{crux} provides a collection of useful functions for Emacs.")
13035 (license license:gpl3+))))
13036
13037 (define-public emacs-edit-server
13038 (package
13039 (name "emacs-edit-server")
13040 (version "1.13")
13041 (source
13042 (origin
13043 (method git-fetch)
13044 (uri (git-reference
13045 (url "https://github.com/stsquad/emacs_chrome.git")
13046 (commit (string-append "v" version))))
13047 (file-name (git-file-name name version))
13048 (sha256
13049 (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn"))))
13050 (build-system emacs-build-system)
13051 (arguments
13052 `(#:phases
13053 (modify-phases %standard-phases
13054 (add-after 'unpack 'chdir-elisp
13055 ;; Elisp directory is not in root of the source.
13056 (lambda _
13057 (chdir "servers"))))))
13058 (home-page "https://github.com/stsquad/emacs_chrome")
13059 (synopsis "Server that responds to edit requests from Chromium")
13060 (description
13061 "This package provides an edit server to respond to requests from Emacs.")
13062 (license license:gpl3+)))
13063
13064 (define-public emacs-m-buffer-el
13065 (package
13066 (name "emacs-m-buffer-el")
13067 (version "0.15")
13068 (source
13069 (origin
13070 (method git-fetch)
13071 (uri (git-reference
13072 (url "https://github.com/phillord/m-buffer-el")
13073 (commit (string-append "v" version))))
13074 (file-name (git-file-name name version))
13075 (sha256
13076 (base32
13077 "1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
13078 (arguments
13079 `(#:phases
13080 (modify-phases %standard-phases
13081 (add-before 'install 'check
13082 (lambda* (#:key inputs #:allow-other-keys)
13083 (invoke "emacs" "--batch" "-L" "."
13084 "-l" "test/m-buffer-test.el"
13085 "-l" "test/m-buffer-at-test.el"
13086 "-f" "ert-run-tests-batch-and-exit"))))))
13087 (build-system emacs-build-system)
13088 (home-page "https://github.com/phillord/m-buffer-el")
13089 (synopsis "List oriented buffer operations for Emacs")
13090 (description "@code{m-buffer} provides a set of list-orientated functions
13091 for operating over the contents of Emacs buffers.")
13092 (license license:gpl3+)))
13093
13094 (define-public emacs-let-alist
13095 (package
13096 (name "emacs-let-alist")
13097 (version "1.0.6")
13098 (source
13099 (origin
13100 (method url-fetch)
13101 (uri (string-append
13102 "https://elpa.gnu.org/packages/let-alist-" version ".el"))
13103 (sha256
13104 (base32 "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr"))))
13105 (build-system emacs-build-system)
13106 (home-page "https://elpa.gnu.org/packages/let-alist.html")
13107 (synopsis "Easily let-bind values of an assoc-list by their names")
13108 (description "This package offers a single macro, @code{let-alist}. This
13109 macro takes a first argument (whose value must be an alist) and a body.")
13110 (license license:gpl3+)))
13111
13112 (define-public emacs-esup
13113 (let ((commit "a589005a9a888537deef94d6fe38a9b8790c97c7")
13114 (revision "1"))
13115 (package
13116 (name "emacs-esup")
13117 (version (string-append "0.6" "-" revision "."
13118 (string-take commit 7)))
13119 (source
13120 (origin
13121 (method git-fetch)
13122 (uri (git-reference
13123 (url "https://github.com/jschaf/esup.git")
13124 (commit commit)))
13125 (file-name (git-file-name name version))
13126 (sha256
13127 (base32
13128 "04lxmd0h7mfjjl0qghrycgff0vcv950j1wqv0dbkr61jxp64n5fv"))))
13129 ;; TODO: Add tests
13130 (build-system emacs-build-system)
13131 (home-page "https://github.com/jschaf/esup")
13132 (synopsis "Emacs start up profiler")
13133 (description "Benchmark Emacs Startup time without ever leaving
13134 your Emacs.")
13135 (license license:gpl2+))))
13136
13137 (define-public emacs-restart-emacs
13138 (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9")
13139 (revision "1"))
13140 (package
13141 (name "emacs-restart-emacs")
13142 (version (git-version "0.1.1" revision commit))
13143 (source
13144 (origin
13145 (method git-fetch)
13146 (uri (git-reference
13147 (url "https://github.com/iqbalansari/restart-emacs.git")
13148 (commit commit)))
13149 (file-name (git-file-name name version))
13150 (sha256
13151 (base32 "02x1a85k7r95z8091zgjiaj9nf0zvx1jy4xvl3hr12qbnrx1wfav"))))
13152 (build-system emacs-build-system)
13153 (home-page "https://github.com/iqbalansari/restart-emacs")
13154 (synopsis "Restart Emacs from within Emacs")
13155 (description "This package provides a simple command to restart Emacs from
13156 within Emacs.")
13157 (license license:gpl3+))))
13158
13159 (define-public emacs-sourcemap
13160 (package
13161 (name "emacs-sourcemap")
13162 (version "0.03")
13163 (source
13164 (origin
13165 (method git-fetch)
13166 (uri (git-reference
13167 (url "https://github.com/syohex/emacs-sourcemap.git")
13168 (commit version)))
13169 (file-name (git-file-name name version))
13170 (sha256
13171 (base32 "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"))))
13172 (build-system emacs-build-system)
13173 (home-page "https://github.com/syohex/emacs-sourcemap")
13174 (synopsis "Sourcemap parser")
13175 (description "Sourcemap parser")
13176 (license license:gpl3+)))
13177
13178 (define-public emacs-macrostep
13179 (let ((commit "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"))
13180 (package
13181 (name "emacs-macrostep")
13182 (version (git-version "0.9" "1" commit))
13183 (source (origin
13184 (method git-fetch)
13185 (uri (git-reference
13186 (url "https://github.com/joddie/macrostep.git")
13187 (commit commit)))
13188 (file-name (git-file-name name version))
13189 (sha256
13190 (base32
13191 "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"))))
13192 (build-system emacs-build-system)
13193 (arguments
13194 '(#:phases
13195 (modify-phases %standard-phases
13196 (add-before 'check 'remove-test
13197 ;; Fails because of requirement ‘/bin/sh’.
13198 (lambda _
13199 (let ((file "macrostep-test.el"))
13200 (chmod file #o644)
13201 (emacs-batch-edit-file file
13202 `(progn (progn (goto-char (point-min))
13203 (re-search-forward
13204 "(ert-deftest macrostep-expand-c-macros")
13205 (beginning-of-line)
13206 (kill-sexp))
13207 (basic-save-buffer))))))
13208 (add-before 'install 'check
13209 (lambda _
13210 (invoke "emacs" "--batch" "-L" "."
13211 "-l" "macrostep-test.el"
13212 "-f" "ert-run-tests-batch-and-exit"))))))
13213 (home-page "https://github.com/joddie/macrostep")
13214 (synopsis "Interactive macro-expander for Emacs")
13215 (description "@code{macrostep} is an Emacs minor mode for interactively
13216 stepping through the expansion of macros in Emacs Lisp source code. It lets
13217 you see exactly what happens at each step of the expansion process by
13218 pretty-printing the expanded forms inline in the source buffer, which is
13219 temporarily read-only while macro expansions are visible. You can expand and
13220 collapse macro forms one step at a time, and evaluate or instrument the
13221 expansions for debugging with Edebug as normal (but see “Bugs and known
13222 limitations”, below). Single-stepping through the expansion is particularly
13223 useful for debugging macros that expand into another macro form. These can be
13224 difficult to debug with Emacs’ built-in macroexpand, which continues expansion
13225 until the top-level form is no longer a macro call.")
13226 (license license:gpl3+))))
13227
13228 (define-public emacs-parent-mode
13229 (package
13230 (name "emacs-parent-mode")
13231 (version "2.3")
13232 (source
13233 (origin
13234 (method git-fetch)
13235 (uri (git-reference
13236 (url "https://github.com/Fanael/parent-mode.git")
13237 (commit version)))
13238 (file-name (git-file-name name version))
13239 (sha256
13240 (base32 "0i5bc7lyyrx6swqlrp9l5x72yzwi53qn6ldrfs99gh08b3yvsnni"))))
13241 (build-system emacs-build-system)
13242 (home-page "https://github.com/Fanael/parent-mode")
13243 (synopsis "Get major mode's parent modes")
13244 (description "Get major mode's parent modes")
13245 (license license:gpl3+)))
13246
13247 (define-public emacs-lacarte
13248 (package
13249 (name "emacs-lacarte")
13250 (version "0.1")
13251 (source (origin
13252 (method url-fetch)
13253 (uri "https://www.emacswiki.org/emacs/download/lacarte.el")
13254 (sha256
13255 (base32
13256 "1sbmk37ljq5j7dsw5c37sbxvlfgdqswh7bi4dknyjzfxlq50f4am"))))
13257 (build-system emacs-build-system)
13258 (home-page "https://www.emacswiki.org/emacs/lacarte.el")
13259 (synopsis "Execute menu items as commands, with completion")
13260 (description "Execute menu items as commands, with completion.")
13261 (license license:gpl3)))
13262
13263 (define-public emacs-isearch-prop
13264 (let ((commit "4a2765f835dd115d472142da05215c4c748809f4")
13265 (revision "2"))
13266 (package
13267 (name "emacs-isearch-prop")
13268 (version (git-version "0" revision commit))
13269 (source
13270 (origin
13271 (method git-fetch)
13272 (uri (git-reference
13273 (url "https://github.com/emacsmirror/isearch-prop.git")
13274 (commit commit)))
13275 (file-name (git-file-name name version))
13276 (sha256
13277 (base32
13278 "06gdk5m84q6pxwng8rjxny1zkll8f3m2x6lw4xyib2dvg7iaslh3"))))
13279 (build-system emacs-build-system)
13280 (home-page "https://www.emacswiki.org/emacs/isearch-prop.el")
13281 (synopsis "Extensions to @code{isearch.el}")
13282 (description "The Emacs library @code{isearch-prop.el} lets you search within
13283 contexts. You can limit incremental search to a set of zones of
13284 buffer text, search contexts that in effect constitute a multi-region.
13285 These zones can be defined in various ways, including some ways
13286 provided specially by this library.")
13287 (license license:gpl3+))))
13288
13289 (define-public emacs-company-lua
13290 (let ((commit "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")
13291 (revision "2"))
13292 (package
13293 (name "emacs-company-lua")
13294 (version (git-version "0.1" "2" commit))
13295 (source
13296 (origin
13297 (method git-fetch)
13298 (uri (git-reference
13299 (url "https://github.com/ptrv/company-lua.git")
13300 (commit commit)))
13301 (file-name (git-file-name name version))
13302 (sha256
13303 (base32
13304 "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh"))))
13305 (build-system emacs-build-system)
13306 (propagated-inputs
13307 `(("emacs-company" ,emacs-company)
13308 ("emacs-s" ,emacs-s)
13309 ("emacs-f" ,emacs-f)
13310 ("emacs-lua-mode" ,emacs-lua-mode)))
13311 (arguments
13312 `(#:include (cons* "^lua\\/" %default-include)))
13313 (home-page "https://github.com/ptrv/company-lua")
13314 (synopsis "Company backend for Lua")
13315 (description
13316 "This package provides Company backend for Lua programming language.")
13317 (license license:gpl3+))))
13318
13319 (define-public emacs-beginend
13320 (package
13321 (name "emacs-beginend")
13322 (version "2.0.0")
13323 (source
13324 (origin
13325 (method git-fetch)
13326 (uri (git-reference
13327 (url "https://github.com/DamienCassou/beginend.git")
13328 (commit (string-append "v" version))))
13329 (file-name (git-file-name name version))
13330 (sha256
13331 (base32 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl"))))
13332 ;; TODO: Run tests.
13333 (build-system emacs-build-system)
13334 (inputs
13335 `(("emacs-undercover" ,emacs-undercover))) ; For tests.
13336 (home-page "https://github.com/DamienCassou/beginend")
13337 (synopsis "Redefine @code{M-<} and @code{M->} for Emacs modes")
13338 (description "@code{beginend} redefines @code{M-<} and @code{M->}
13339 keybindings for Emacs modes so that point moves to meaningful
13340 locations. Redefined keys are still accessible by pressing the same
13341 key again.")
13342 (license license:gpl3+)))
13343
13344 (define-public emacs-mbsync
13345 (let ((commit "b62491c0e0d89eb9c66261a16d7ac81231c9c453")
13346 (revision "4"))
13347 (package
13348 (name "emacs-mbsync")
13349 (version (git-version "0.1.2" revision commit))
13350 (source
13351 (origin
13352 (method git-fetch)
13353 (uri (git-reference
13354 (url "https://github.com/dimitri/mbsync-el.git")
13355 (commit commit)))
13356 (file-name (git-file-name name version))
13357 (sha256
13358 (base32
13359 "1zlih37mkqjn2czl12zn7lgxxljvrwhqqpbksj9c91zn0f0rm3mz"))))
13360 (build-system emacs-build-system)
13361 (home-page "https://github.com/dimitri/mbsync-el")
13362 (synopsis "Interface to mbsync for Emacs")
13363 (description "This package allows to call the @code{mbsync} from
13364 within Emacs.")
13365 (license license:gpl3+))))
13366
13367 (define-public emacs-ibuffer-projectile
13368 (let ((commit "76496214144687cee0b5139be2e61b1e400cac87")
13369 (revision "2"))
13370 (package
13371 (name "emacs-ibuffer-projectile")
13372 (version (git-version "0.2" revision commit))
13373 (source
13374 (origin
13375 (method git-fetch)
13376 (uri (git-reference
13377 (url "https://github.com/purcell/ibuffer-projectile.git")
13378 (commit commit)))
13379 (file-name (git-file-name name version))
13380 (sha256
13381 (base32
13382 "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav"))))
13383 (build-system emacs-build-system)
13384 (propagated-inputs
13385 `(("emacs-projectile" ,emacs-projectile)))
13386 (home-page "https://github.com/purcell/ibuffer-projectile")
13387 (synopsis "Group ibuffer's list by projectile root")
13388 (description "Adds functionality to Emacs @code{ibuffer} for
13389 grouping buffers by their projectile root directory.")
13390 (license license:gpl3+))))
13391
13392 (define-public emacs-helm-mode-manager
13393 (package
13394 (name "emacs-helm-mode-manager")
13395 (version "1.0.0")
13396 (source
13397 (origin
13398 (method git-fetch)
13399 (uri (git-reference
13400 (url "https://github.com/istib/helm-mode-manager")
13401 (commit version)))
13402 (file-name (git-file-name name version))
13403 (sha256
13404 (base32
13405 "1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
13406 (build-system emacs-build-system)
13407 (propagated-inputs
13408 `(("emacs-helm" ,emacs-helm)))
13409 (home-page "https://github.com/istib/helm-mode-manager/")
13410 (synopsis "Switch and toggle Emacs major and minor modes using Helm")
13411 (description "This package provides a Helm interface for toggling Emacs
13412 major or minor mode.
13413
13414 @itemize
13415 @item @code{helm-switch-major-mode} list of all major modes
13416 @item @code{helm-enable-minor-mode} list of all inactive minor modes
13417 @item @code{helm-disable-minor-mode} list of all ACTIVE minor modes
13418 @end itemize\n
13419
13420 Hitting @code{RET} enables the mode, @code{C-z} shows the mode
13421 documentation.")
13422 (license license:gpl3+)))
13423
13424 (define-public emacs-hy-mode
13425 (package
13426 (name "emacs-hy-mode")
13427 (version "1.0.3")
13428 (source
13429 (origin
13430 (method git-fetch)
13431 (uri (git-reference
13432 (url "https://github.com/hylang/hy-mode.git")
13433 (commit (string-append "v" version))))
13434 (file-name (git-file-name name version))
13435 (sha256
13436 (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
13437 (build-system emacs-build-system)
13438 (propagated-inputs
13439 `(("emacs-dash" ,emacs-dash)
13440 ("emacs-s" ,emacs-s)))
13441 (home-page "https://github.com/hylang/hy-mode")
13442 (synopsis "Major mode for Hylang")
13443 (description "This package provides a major mode for Hylang.")
13444 (license license:gpl3+)))
13445
13446 (define-public emacs-web-beautify
13447 (package
13448 (name "emacs-web-beautify")
13449 (version "0.3.2")
13450 (source
13451 (origin
13452 (method git-fetch)
13453 (uri (git-reference
13454 (url "https://github.com/yasuyk/web-beautify.git")
13455 (commit version)))
13456 (file-name (git-file-name name version))
13457 (sha256
13458 (base32 "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"))))
13459 (build-system emacs-build-system)
13460 (home-page "https://github.com/yasuyk/web-beautify")
13461 (synopsis "Format HTML, CSS and JavaScript, JSON")
13462 (description "This package provides an Emacs functions to format HTML,
13463 CSS, JavaScript, JSON.")
13464 (license license:gpl3+)))
13465
13466 (define-public emacs-helm-shell-history
13467 (let ((commit "110d3c35c52fe4b89b29e79ea4c8626bce7266a1"))
13468 (package
13469 (name "emacs-helm-shell-history")
13470 (version (git-version "0.1" "1" commit))
13471 (source
13472 (origin
13473 (method git-fetch)
13474 (uri (git-reference
13475 (url "https://github.com/yuutayamada/helm-shell-history.git")
13476 (commit commit)))
13477 (file-name (git-file-name name version))
13478 (sha256
13479 (base32
13480 "18fkjcz69g4dyaxhf9j8svr5x6dhsdnglddwisis8hdn504scpfj"))))
13481 (build-system emacs-build-system)
13482 (arguments
13483 '(#:phases
13484 (modify-phases %standard-phases
13485 (add-before 'check 'patch-helm-shell-history-file
13486 (lambda _
13487 (let ((file "helm-shell-history.el"))
13488 (chmod file #o644)
13489 (emacs-substitute-sexps file
13490 ("(defvar helm-shell-history-file"
13491 `(expand-file-name "~/.bash_history"))))
13492 #t)))))
13493 (propagated-inputs
13494 `(("emacs-helm" ,emacs-helm)))
13495 (home-page "https://github.com/yuutayamada/helm-shell-history")
13496 (synopsis "Find shell history with Emacs Helm")
13497 (description "This package provides an Emacs Helm interface to search
13498 throw a shell history.")
13499 (license license:gpl3+))))
13500
13501 (define-public emacs-discover-my-major
13502 (package
13503 (name "emacs-discover-my-major")
13504 (version "1.0")
13505 (source
13506 (origin
13507 (method url-fetch)
13508 (uri
13509 (string-append "https://github.com/steckerhalter/discover-my-major"
13510 "/archive/" version ".tar.gz"))
13511 (file-name (string-append name "-" version ".tar.gz"))
13512 (sha256
13513 (base32
13514 "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl"))))
13515 (build-system emacs-build-system)
13516 (propagated-inputs
13517 `(("emacs-makey" ,emacs-makey)))
13518 (home-page "https://github.com/steckerhalter/discover-my-major")
13519 (synopsis "Discover key bindings for the current Emacs major mode")
13520 (description "This package provides allows to discover key bindings and
13521 their meaning for the current Emacs major-mode.")
13522 (license license:gpl3+)))
13523
13524 (define-public emacs-org-ref
13525 (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129")
13526 (revision "1"))
13527 (package
13528 (name "emacs-org-ref")
13529 (version (string-append "1.1.1" "-" revision "."
13530 (string-take commit 7)))
13531 (source
13532 (origin
13533 (method git-fetch)
13534 (uri (git-reference
13535 (url "https://github.com/jkitchin/org-ref.git")
13536 (commit commit)))
13537 (file-name (git-file-name name version))
13538 (sha256
13539 (base32
13540 "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz"))))
13541 (build-system emacs-build-system)
13542 (propagated-inputs
13543 `(("emacs-dash" ,emacs-dash)
13544 ("emacs-helm" ,emacs-helm)
13545 ("emacs-helm-bibtex" ,emacs-helm-bibtex)
13546 ("emacs-ivy" ,emacs-ivy)
13547 ("emacs-hydra" ,emacs-hydra)
13548 ("emacs-key-chord" ,emacs-key-chord)
13549 ("emacs-s" ,emacs-s)
13550 ("emacs-f" ,emacs-f)
13551 ("emacs-pdf-tools" ,emacs-pdf-tools)))
13552 (home-page "https://github.com/jkitchin/org-ref")
13553 (synopsis "Citations, cross-references and bibliographies in org-mode")
13554 (description
13555 "Lisp code to setup bibliography, cite, ref and label org-mode links.
13556 Also sets up reftex and helm for org-mode citations. The links are
13557 clickable and do things that are useful.
13558
13559 The default setup uses helm-bibtex.
13560
13561 You should really read org-ref.org in this package for details.")
13562 (license license:gpl3+))))
13563
13564 ;; This project is unmaintained. Please use emacs-org-re-reveal instead.
13565 (define-public emacs-org-reveal
13566 (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
13567 (package
13568 (name "emacs-org-reveal")
13569 (version (git-version "0.1" "3" commit))
13570 (source (origin
13571 (method git-fetch)
13572 (uri (git-reference
13573 (url "https://github.com/yjwen/org-reveal.git")
13574 (commit commit)))
13575 (file-name (git-file-name name version))
13576 (sha256
13577 (base32
13578 "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
13579 (build-system emacs-build-system)
13580 (home-page "https://github.com/yjwen/org-reveal")
13581 (synopsis "Org and Reveal.js powered HTML presentation tool")
13582 (description "Org-Reveal is a command@{org-mode} extension that allows
13583 to create beautiful presentations (slides) with 3D effects from simple but
13584 powerful Org contents.")
13585 (license license:gpl3+))))
13586
13587 (define-public emacs-org-re-reveal
13588 (package
13589 (name "emacs-org-re-reveal")
13590 (version "2.5.1")
13591 (source (origin
13592 (method git-fetch)
13593 (uri (git-reference
13594 (url "https://gitlab.com/oer/org-re-reveal.git")
13595 (commit version)))
13596 (file-name (git-file-name name version))
13597 (sha256
13598 (base32
13599 "1zbz6hbddxbb264ibmhc04cmnpk17kb50jpn5l8878q4hxw5wwy2"))))
13600 (build-system emacs-build-system)
13601 (propagated-inputs
13602 `(("emacs-htmlize" ,emacs-htmlize)
13603 ("emacs-org" ,emacs-org)))
13604 (home-page "https://gitlab.com/oer/org-re-reveal")
13605 (synopsis "Build HTML presentations with reveal.js from Org source files")
13606 (description "This project started as fork of org-reveal. It provides an
13607 export back-end for HTML presentations with reveal.js from Org mode source
13608 files.")
13609 (license license:gpl3+)))
13610
13611 (define-public emacs-add-hooks
13612 (package
13613 (name "emacs-add-hooks")
13614 (version "3.1.1")
13615 (source
13616 (origin
13617 (method git-fetch)
13618 (uri (git-reference
13619 (url "https://github.com/nickmccurdy/add-hooks.git")
13620 (commit version)))
13621 (file-name (git-file-name name version))
13622 (sha256
13623 (base32 "1jv9fpcsm572zg0j1mbpbfkqgdlqapy89xhhj19pswkhjns1y2wl"))))
13624 (build-system emacs-build-system)
13625 (home-page "https://github.com/nickmccurdy/add-hooks/")
13626 (synopsis "Emacs function for setting multiple hooks")
13627 (description "This package provides a @code{add-hooks} function tidies up
13628 duplicate hook and function names further into a single declarative call.")
13629 (license license:gpl3+)))
13630
13631 (define-public emacs-fancy-narrow
13632 (package
13633 (name "emacs-fancy-narrow")
13634 (version "0.9.5")
13635 (source
13636 (origin
13637 (method git-fetch)
13638 (uri (git-reference
13639 (url "https://github.com/Malabarba/fancy-narrow.git")
13640 (commit version)))
13641 (file-name (git-file-name name version))
13642 (sha256
13643 (base32 "0vcr1gnqawvc1yclqs23jvxm6bqix8kpflf1c7znb0wzxmz9kx7y"))))
13644 (build-system emacs-build-system)
13645 (home-page "https://github.com/Malabarba/fancy-narrow/releases")
13646 (synopsis "Imitate @code{narrow-to-region} with more eye candy")
13647 (description
13648 "Unlike @code{narrow-to-region}, which completely hides text outside
13649 the narrowed region, this package simply de-emphasizes the text, makes it
13650 read-only, and makes it unreachable. This leads to a much more natural
13651 feeling where the region stays static (instead of being brutally moved to a
13652 blank slate) and is clearly highlighted with respect to the rest of the
13653 buffer.")
13654 (license license:gpl2+)))
13655
13656 (define-public emacs-know-your-http-well
13657 (package
13658 (name "emacs-know-your-http-well")
13659 (version "0.5.0")
13660 (source
13661 (origin
13662 (method git-fetch)
13663 (uri (git-reference
13664 (url "https://github.com/for-GET/know-your-http-well.git")
13665 (commit (string-append "v" version))))
13666 (file-name (git-file-name name version))
13667 (sha256
13668 (base32 "1lppggnii2r9fvlhh33gbdrwb50za8lnalavlq9s86ngndn4n94k"))))
13669 (arguments
13670 `(#:phases
13671 (modify-phases %standard-phases
13672 (add-after 'unpack 'install-json-files
13673 (lambda* (#:key outputs #:allow-other-keys)
13674 (for-each (lambda (directory)
13675 (copy-recursively directory
13676 (string-append
13677 (assoc-ref outputs "out")
13678 directory)))
13679 '("js" "json"))))
13680 (add-after 'unpack 'chdir-elisp
13681 ;; Elisp directory is not in root of the source.
13682 (lambda _
13683 (chdir "emacs"))))))
13684 (build-system emacs-build-system)
13685 (home-page "https://github.com/for-GET/know-your-http-well")
13686 (synopsis "Meaning of HTTP headers codes")
13687 (description "Meaning of HTTP headers codes.")
13688 (license license:gpl3+)))
13689
13690 (define-public emacs-navi-mode
13691 (let ((commit "c1d38e8237f4e14af020a0b7d4f118ea198ab674"))
13692 (package
13693 (name "emacs-navi-mode")
13694 (version (git-version "2.0" "1" commit))
13695 (source
13696 (origin
13697 (method git-fetch)
13698 (uri (git-reference
13699 (url "https://github.com/alphapapa/navi.git")
13700 (commit commit)))
13701 (file-name (git-file-name name version))
13702 (sha256
13703 (base32
13704 "0jj5spk14hgb7zb1cd2n8whcw4k1kd5zb6llwj96v178yaws7l8k"))))
13705 (build-system emacs-build-system)
13706 (propagated-inputs
13707 `(("emacs-outshine" ,emacs-outshine)
13708 ("emacs-outorg" ,emacs-outorg)))
13709 (home-page "https://github.com/alphapapa/navi")
13710 (synopsis "Emacs major-mode for easy buffer-navigation")
13711 (description
13712 "This package provides an Emacs major-mode for easy buffer-navigation")
13713 (license license:gpl3+))))
13714
13715 (define-public emacs-download-region
13716 (let ((commit "eb9e557529a73b4cfc8281c70dd0d95db333fffa")
13717 (revision "1"))
13718 (package
13719 (name "emacs-download-region")
13720 (version (string-append "0.0.1" "-" revision "."
13721 (string-take commit 7)))
13722 (source
13723 (origin
13724 (method git-fetch)
13725 (uri (git-reference
13726 (url "https://github.com/zk-phi/download-region.git")
13727 (commit commit)))
13728 (file-name (git-file-name name version))
13729 (sha256
13730 (base32
13731 "0v52djg39b6k2snizd9x0qc009ws5y0ywqsfwhqgcbs5ymzh7dsc"))))
13732 (build-system emacs-build-system)
13733 (home-page "https://github.com/zk-phi/download-region")
13734 (synopsis "In buffer download manager for Emacs")
13735 (description "@code{download-region} provides in buffer
13736 downloading manager for Emacs.")
13737 (license license:gpl3+))))
13738
13739 (define-public emacs-helpful
13740 (package
13741 (name "emacs-helpful")
13742 (version "0.17")
13743 (source
13744 (origin
13745 (method git-fetch)
13746 (uri (git-reference
13747 (url "https://github.com/Wilfred/helpful.git")
13748 (commit version)))
13749 (file-name (git-file-name name version))
13750 (sha256
13751 (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj"))))
13752 (build-system emacs-build-system)
13753 (propagated-inputs
13754 `(("emacs-elisp-refs" ,emacs-elisp-refs)
13755 ("emacs-dash" ,emacs-dash)
13756 ("emacs-s" ,emacs-s)
13757 ("emacs-f" ,emacs-f)
13758 ("emacs-shut-up" ,emacs-shut-up)))
13759 (native-inputs
13760 `(("emacs-ert-runner" ,emacs-ert-runner)
13761 ("emacs-undercover" ,emacs-undercover)))
13762 (arguments
13763 `(#:tests? #t
13764 #:test-command '("ert-runner")))
13765 (home-page "https://github.com/Wilfred/helpful")
13766 (synopsis "More contextual information in Emacs help")
13767 (description "@code{helpful} is an alternative to the built-in Emacs help
13768 that provides much more contextual information.
13769
13770 @itemize
13771 @item Show the source code for interactively defined functions (unlike the
13772 built-in Help).
13773 @item Fall back to the raw sexp if no source is available.
13774 @item Show where a function is being called.
13775 @item Docstrings will Highlight the summary (the first sentence), include
13776 cross-references, hide superfluous puncuation.
13777 @item Show you the properties that have been applied to the current
13778 symbol. This provides visibility of features like edebug or byte-code
13779 optimisation.
13780 @item Provide a separate @code{helpful-command} function to view interactive
13781 functions.
13782 @item Display any keybindings that apply to interactive functions.
13783 @item Trace, disassemble functions from inside Helpful. This is discoverable
13784 and doesn't require memorisation of commands.
13785 @end itemize\n")
13786 (license license:gpl3+)))
13787
13788 (define-public emacs-logview
13789 (package
13790 (name "emacs-logview")
13791 (version "0.9")
13792 (source
13793 (origin
13794 (method git-fetch)
13795 (uri (git-reference
13796 (url "https://github.com/doublep/logview.git")
13797 (commit version)))
13798 (file-name (git-file-name name version))
13799 (sha256
13800 (base32 "1qhzs75pxnaksbhczmpdcy2zmrqavlzkzss7ik5nv2wf9vs0sn02"))))
13801 (propagated-inputs
13802 `(("emacs-datetime" ,emacs-datetime)))
13803 (build-system emacs-build-system)
13804 (home-page "https://github.com/doublep/logview/")
13805 (synopsis "Emacs mode for viewing log files")
13806 (description "@code{logview} provides an Emacs mode to view log files.")
13807 (license license:gpl3+)))
13808
13809 (define-public emacs-suggest
13810 (package
13811 (name "emacs-suggest")
13812 (version "0.7")
13813 (home-page "https://github.com/Wilfred/suggest.el")
13814 (source
13815 (origin
13816 (method git-fetch)
13817 (uri (git-reference
13818 (url home-page)
13819 (commit version)))
13820 (file-name (git-file-name name version))
13821 (sha256
13822 (base32
13823 "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
13824 (build-system emacs-build-system)
13825 (propagated-inputs
13826 `(("emacs-loop" ,emacs-loop)
13827 ("emacs-dash" ,emacs-dash)
13828 ("emacs-s" ,emacs-s)
13829 ("emacs-f" ,emacs-f)
13830 ("emacs-spinner" ,emacs-spinner)
13831 ("emacs-shut-up" ,emacs-shut-up)))
13832 (native-inputs
13833 `(("emacs-ert-runner" ,emacs-ert-runner)
13834 ("emacs-undercover" ,emacs-undercover)))
13835 (arguments
13836 `(#:tests? #t
13837 #:test-command '("ert-runner")))
13838 (synopsis "Suggest Elisp functions that give the output requested")
13839 (description "Suggest.el will find functions that give the output
13840 requested. It's a great way of exploring list, string and arithmetic
13841 functions.")
13842 (license license:gpl3+)))
13843
13844 (define-public emacs-benchmark-init
13845 (package
13846 (name "emacs-benchmark-init")
13847 (version "1.0")
13848 (source
13849 (origin
13850 (method git-fetch)
13851 (uri (git-reference
13852 (url "https://github.com/dholm/benchmark-init-el.git")
13853 (commit version)))
13854 (file-name (git-file-name name version))
13855 (sha256
13856 (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
13857 (build-system emacs-build-system)
13858 (home-page "https://github.com/dholm/benchmark-init-el")
13859 (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
13860 (description "@code{benchmark-init} provides a way to keep track of where
13861 time is being spent during Emacs startup in order to optimize startup time.")
13862 (license license:gpl3+)))
13863
13864 (define-public emacs-emms-player-simple-mpv
13865 ;; A new mpv backend is included in Emms from 5.0.
13866 (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms))
13867
13868 (define-public emacs-magit-gerrit
13869 (let ((version "0.3")
13870 (revision "1")
13871 (commit "ece6f369694aca17f3ac166ed2801b432acfe20d"))
13872 (package
13873 (name "emacs-magit-gerrit")
13874 (version (git-version version revision commit))
13875 (source (origin
13876 (method git-fetch)
13877 (uri (git-reference
13878 (url "https://github.com/terranpro/magit-gerrit.git")
13879 (commit commit)))
13880 (file-name (git-file-name name version))
13881 (sha256
13882 (base32
13883 "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii"))))
13884 (build-system emacs-build-system)
13885 (propagated-inputs
13886 `(("emacs-magit" ,emacs-magit)))
13887 (home-page "https://github.com/terranpro/magit-gerrit")
13888 (synopsis "Magit extension for Gerrit")
13889 (description "This Magit extension provides integration with Gerrit,
13890 which makes it possible to conduct Gerrit code reviews directly from within
13891 Emacs.")
13892 (license license:gpl3+))))
13893
13894 (define-public emacs-magit-org-todos-el
13895 (let ((commit "df206287737b9671f2e36ae7b1474ebbe9940d2a"))
13896 (package
13897 (name "emacs-magit-org-todos-el")
13898 (version (git-version "0.1.1" "1" commit))
13899 (source
13900 (origin
13901 (method git-fetch)
13902 (uri (git-reference
13903 (url "https://github.com/danielma/magit-org-todos.el.git")
13904 (commit commit)))
13905 (file-name (git-file-name name version))
13906 (sha256
13907 (base32
13908 "0kdp7k7jnnrkhsg0xh1c3h7iz0vgi120gf5xwl1hxy61avivnxrn"))))
13909 (propagated-inputs
13910 `(("magit" ,emacs-magit)))
13911 (build-system emacs-build-system)
13912 (home-page "https://github.com/danielma/magit-org-todos.el")
13913 (synopsis "Get todo.org into Emacs Magit status")
13914 (description "This package allows you to get @file{todo.org} into your
13915 magit status.
13916
13917 If you have a @file{todo.org} file with @code{TODO} items in the root of your
13918 repository, @code{magit-org-todos} will create a section in your Magit status
13919 buffer with each of your todos.")
13920 (license license:gpl3+))))
13921
13922 (define-public emacs-f3
13923 (package
13924 (name "emacs-f3")
13925 (version "0.1")
13926 (source
13927 (origin
13928 (method git-fetch)
13929 (uri (git-reference
13930 (url "https://github.com/cosmicexplorer/f3.git")
13931 (commit version)))
13932 (file-name (git-file-name name version))
13933 (sha256
13934 (base32 "1qg48zbjdjqimw4516ymrsilz41zkib9321q0caf9474s9xyp2bi"))))
13935 (build-system emacs-build-system)
13936 (propagated-inputs
13937 `(("emacs-helm" ,emacs-helm)))
13938 (home-page "https://github.com/cosmicexplorer/f3")
13939 (synopsis "Fantastic File Finder for Emacs")
13940 (description
13941 "The Fantastic File Finder for Emacs. Find files fast, using helm.")
13942 (license license:gpl3+)))
13943
13944 (define-public emacs-lice-el
13945 (let ((commit "4339929927c62bd636f89bb39ea999d18d269250"))
13946 (package
13947 (name "emacs-lice-el")
13948 (version (git-version "0.2" "1" commit))
13949 (source (origin
13950 (method git-fetch)
13951 (uri (git-reference
13952 (url "https://github.com/buzztaiki/lice-el.git")
13953 (commit commit)))
13954 (file-name (git-file-name name version))
13955 (sha256
13956 (base32
13957 "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb"))))
13958 (build-system emacs-build-system)
13959 (home-page "https://github.com/buzztaiki/lice-el")
13960 (synopsis "License and header template for Emacs")
13961 (description "@code{lice.el} provides following features:
13962
13963 @itemize
13964 @item License template management.
13965 @item File header insertion.
13966 @end itemize\n")
13967 (license license:gpl3+))))
13968
13969 (define-public emacs-academic-phrases
13970 (let ((commit "0823ed8c24b26c32f909b896a469833ec4d7b656"))
13971 (package
13972 (name "emacs-academic-phrases")
13973 (version (git-version "0.1" "1" commit))
13974 (source
13975 (origin
13976 (method git-fetch)
13977 (uri (git-reference
13978 (url "https://github.com/nashamri/academic-phrases.git")
13979 (commit commit)))
13980 (file-name (git-file-name name version))
13981 (sha256
13982 (base32
13983 "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"))))
13984 (build-system emacs-build-system)
13985 (propagated-inputs
13986 `(("emacs-dash" ,emacs-dash)
13987 ("emacs-s" ,emacs-s)
13988 ("emacs-ht" ,emacs-ht)))
13989 (home-page "https://github.com/nashamri/academic-phrases")
13990 (synopsis "Bypass that mental block when writing your papers")
13991 (description
13992 "When writing your academic paper, you might get stuck trying to find
13993 the right phrase that captures your intention. This package tries to
13994 alleviate that problem by presenting you with a list of phrases organized by
13995 the topic or by the paper section that you are writing. This package has
13996 around 600 phrases so far.
13997
13998 Using this package is easy, just call @code{academic-phrases} to get a list of
13999 phrases organized by topic, or call @code{academic-phrases-by-section} to
14000 browse the phrases by the paper section and fill-in the blanks if required.")
14001 (license license:gpl3+))))
14002
14003 (define-public emacs-auto-yasnippet
14004 (let ((commit "624b0d9711222073a2a3f2186e2605eb99fc83c9")
14005 (revision "2"))
14006 (package
14007 (name "emacs-auto-yasnippet")
14008 (version (git-version "0.3.0" revision commit))
14009 (source (origin
14010 (method git-fetch)
14011 (uri (git-reference
14012 (url "https://github.com/abo-abo/auto-yasnippet.git")
14013 (commit commit)))
14014 (file-name (git-file-name name version))
14015 (sha256
14016 (base32
14017 "15g8wi067f345xhpi0c12w0h04p4f4lpccwmdjdfj8hzfl4gyxy9"))))
14018 (build-system emacs-build-system)
14019 (arguments
14020 '(#:tests? #t
14021 #:test-command '("make" "test")))
14022 (propagated-inputs
14023 `(("emacs-yasnippet" ,emacs-yasnippet)))
14024 (home-page "https://github.com/abo-abo/auto-yasnippet/")
14025 (synopsis "Quickly create disposable yasnippets")
14026 (description "This package provides a hybrid of keyboard macros and
14027 yasnippet. You create the snippet on the go, usually to be used just in the
14028 one place. It's fast, because you're not leaving the current buffer, and all
14029 you do is enter the code you'd enter anyway, just placing ~ where you'd like
14030 yasnippet fields and mirrors to be.")
14031 (license license:gpl3+))))
14032
14033 (define-public emacs-highlight-numbers
14034 (package
14035 (name "emacs-highlight-numbers")
14036 (version "0.2.3")
14037 (source
14038 (origin
14039 (method git-fetch)
14040 (uri (git-reference
14041 (url "https://github.com/Fanael/highlight-numbers.git")
14042 (commit version)))
14043 (file-name (git-file-name name version))
14044 (sha256
14045 (base32 "1r07mpyr7rhd7bkg778hx6vbhb4n9ixgzkpszhgks7ri6ia38pj8"))))
14046 (build-system emacs-build-system)
14047 (propagated-inputs
14048 `(("emacs-parent-mode" ,emacs-parent-mode)))
14049 (home-page "https://github.com/Fanael/highlight-numbers")
14050 (synopsis "Highlight numbers in source code")
14051 (description "@code{highlight-numbers-mode} provides a minor mode for
14052 syntax highlighting of numeric literals in source code.
14053
14054 It s customizable: it's easy to add or redefine what exactly consitutes a
14055 \"number\" in given major mode. See @code{highlight-numbers-modelist}.")
14056 (license license:gpl3+)))
14057
14058 (define-public emacs-darkroom
14059 (package
14060 (name "emacs-darkroom")
14061 (version "0.2")
14062 (source (origin
14063 (method url-fetch)
14064 (uri (string-append "https://elpa.gnu.org/packages/darkroom-"
14065 version ".el"))
14066 (sha256
14067 (base32
14068 "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0"))))
14069 (build-system emacs-build-system)
14070 (home-page "https://elpa.gnu.org/packages/darkroom.html")
14071 (synopsis "Remove visual distractions and focus on writing")
14072 (description "@code{darkroom-mode} makes visual distractions disappear.
14073 The mode-line is temporarily elided, text is enlarged and margins are adjusted
14074 so that it's centered on the window.
14075
14076 @code{darkroom-tentative-mode} is similar, but it doesn't immediately turn-on
14077 @code{darkroom-mode}, unless the current buffer lives in the sole window of
14078 the Emacs frame (i.e. all other windows are deleted). Whenever the frame is
14079 split to display more windows and more buffers, the buffer exits
14080 @code{darkroom-mode}. Whenever they are deleted, the buffer re-enters
14081 @code{darkroom-mode}.")
14082 (license license:gpl3+)))
14083
14084 (define-public emacs-rsw-elisp
14085 (package
14086 (name "emacs-rsw-elisp")
14087 (version "1.0.5")
14088 (source (origin
14089 (method git-fetch)
14090 (uri (git-reference
14091 (url "https://github.com/rswgnu/rsw-elisp")
14092 (commit version)))
14093 (file-name (git-file-name name version))
14094 (sha256
14095 (base32
14096 "0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
14097 (build-system emacs-build-system)
14098 (home-page "https://github.com/rswgnu/rsw-elisp")
14099 (synopsis "Improved expressions that interactively evaluate Emacs Lisp")
14100 (description "This package improves and replaces the GNU Emacs commands
14101 that interactively evaluate Emacs Lisp expressions. The new commands replace
14102 standard key bindings and are all prefixed with @code{rsw-elisp-}. They work
14103 the same way as the old commands when called non-interactively; only the
14104 interactive behavior should be different.")
14105 (license license:gpl3+)))
14106
14107 (define-public emacs-default-text-scale
14108 (let ((commit "968e985e219235f3e744d6d967e592acbaf6e0a8")
14109 (revision "1"))
14110 (package
14111 (name "emacs-default-text-scale")
14112 (version (string-append "0.1" "-" revision "."
14113 (string-take commit 7)))
14114 (source (origin
14115 (method git-fetch)
14116 (uri (git-reference
14117 (url "https://github.com/purcell/default-text-scale")
14118 (commit commit)))
14119 (file-name (git-file-name name version))
14120 (sha256
14121 (base32
14122 "0zds01c3q5yny6ab1fxfkzzgn1kgl3q23lxxap905f4qd70v922h"))))
14123 (build-system emacs-build-system)
14124 (home-page "https://github.com/purcell/default-text-scale")
14125 (synopsis "Adjust the font size in all Emacs frames")
14126 (description "This package provides commands for increasing or
14127 decreasing the default font size in all GUI Emacs frames.")
14128 (license license:gpl3+))))
14129
14130 (define-public emacs-mixed-pitch
14131 (package
14132 (name "emacs-mixed-pitch")
14133 (version "1.0.1")
14134 (source
14135 (origin
14136 (method git-fetch)
14137 (uri (git-reference
14138 (url "https://gitlab.com/jabranham/mixed-pitch.git")
14139 (commit version)))
14140 (file-name (git-file-name name version))
14141 (sha256
14142 (base32 "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"))))
14143 (build-system emacs-build-system)
14144 (home-page "https://gitlab.com/jabranham/mixed-pitch")
14145 (synopsis "Mix variable- and fixed-pitch fonts in the same Emacs buffer")
14146 (description
14147 "@code{mixed-pitch-mode} is a minor mode that enables mixing
14148 variable-pitch and fixed-pitch fonts in the same buffer. The list
14149 @code{mixed-pitch-fixed-pitch-faces} defines the faces that are kept
14150 fixed-pitch,everything else becomes variable-pitch.")
14151 (license license:gpl3+)))
14152
14153 (define-public emacs-visual-regexp
14154 (package
14155 (name "emacs-visual-regexp")
14156 (version "1.1.1")
14157 (source
14158 (origin
14159 (method git-fetch)
14160 (uri (git-reference
14161 (url "https://github.com/benma/visual-regexp.el.git")
14162 (commit (string-append "v" version))))
14163 (file-name (git-file-name name version))
14164 (sha256
14165 (base32 "12zpmzwyp85dzsjpxd3279kpfi9yz3jwc1k9fnb3xv3pjiil5svg"))))
14166 (build-system emacs-build-system)
14167 (home-page "https://github.com/benma/visual-regexp.el/")
14168 (synopsis "Regexp command with interactive visual feedback")
14169 (description "This package provides an Emacs regexp command with
14170 interactive visual feedback.")
14171 (license license:gpl3+)))
14172
14173 (define-public emacs-faceup
14174 (let ((commit "6c92dad56a133e14e7b27831e1bcf9b3a71ff154")
14175 (revision "1"))
14176 (package
14177 (name "emacs-faceup")
14178 (version (string-append "0.0.1" "-" revision "."
14179 (string-take commit 7)))
14180 (source
14181 (origin
14182 (method git-fetch)
14183 (uri (git-reference
14184 (url "https://github.com/Lindydancer/faceup.git")
14185 (commit commit)))
14186 (file-name (git-file-name name version))
14187 (sha256
14188 (base32
14189 "1yzmy7flrhrh0i10bdszx8idx6r8h6czm4vm4q0z6fp5fw94zwrx"))))
14190 (build-system emacs-build-system)
14191 (home-page "https://github.com/Lindydancer/faceup")
14192 (synopsis "Markup language for faces and font-lock regression testing")
14193 (description "Emacs is capable of highlighting buffers based on
14194 language-specific @code{font-lock} rules. This package makes it possible to
14195 perform regression test for packages that provide font-lock rules.")
14196 (license license:gpl3+))))
14197
14198 (define-public emacs-racket-mode
14199 (let ((commit "2a9a102a097d04fbcd2a443fec84078036c2e277")
14200 (revision "4"))
14201 (package
14202 (name "emacs-racket-mode")
14203 (version (git-version "0.0.2" revision commit))
14204 (source
14205 (origin
14206 (method git-fetch)
14207 (uri (git-reference
14208 (url "https://github.com/greghendershott/racket-mode")
14209 (commit commit)))
14210 (file-name (git-file-name name version))
14211 (sha256
14212 (base32
14213 "1n71dxxh62jixq20b5haapv651dxc0zyrxpl1d0yqsg8ncp726bl"))))
14214 (build-system emacs-build-system)
14215 (arguments
14216 `(#:include '("\\.el$" "\\.rkt$")))
14217 (propagated-inputs
14218 `(("emacs-faceup" ,emacs-faceup)
14219 ("emacs-s" ,emacs-s)))
14220 (home-page "https://github.com/greghendershott/racket-mode")
14221 (synopsis "Major mode for Racket language")
14222 (description "@code{racket-mode} provides:
14223
14224 @itemize
14225 @item Focus on Racket (not various Schemes).
14226 @item Follow DrRacket concepts where applicable.
14227 @item Thorough font-lock and indent.
14228 @end itemize\n")
14229 (license license:gpl3+))))
14230
14231 (define-public emacs-grep-context
14232 (let ((commit "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d")
14233 (revision "1"))
14234 (package
14235 (name "emacs-grep-context")
14236 (version (git-version "0.1.0" revision commit))
14237 (source
14238 (origin
14239 (method git-fetch)
14240 (uri (git-reference
14241 (url "https://github.com/mkcms/grep-context.git")
14242 (commit commit)))
14243 (file-name (git-file-name name version))
14244 (sha256
14245 (base32
14246 "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"))))
14247 (build-system emacs-build-system)
14248 (propagated-inputs
14249 `(("emacs-dash" ,emacs-dash)))
14250 (home-page "https://github.com/mkcms/grep-context")
14251 (synopsis "Increase context in compilation and grep buffers")
14252 (description
14253 "This package provides an Emacs package for more context in
14254 compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
14255 @code{ivy}.")
14256 (license license:gpl3+))))
14257
14258 (define-public emacs-helm-firefox
14259 (let ((commit "0ad34b7b5abc485a86cae6920c14de861cbeb085")
14260 (revision "1"))
14261 (package
14262 (name "emacs-helm-firefox")
14263 (version (string-append "0.0.1" "-" revision "."
14264 (string-take commit 7)))
14265 (source
14266 (origin
14267 (method git-fetch)
14268 (uri (git-reference
14269 (url "https://github.com/emacs-helm/helm-firefox.git")
14270 (commit commit)))
14271 (file-name (git-file-name name version))
14272 (sha256
14273 (base32
14274 "08mjsi2f9s29fkk35cj1rrparjnkm836qmbfdwdz7y51f9varjbs"))))
14275 (propagated-inputs
14276 `(("emacs-helm" ,emacs-helm)))
14277 (build-system emacs-build-system)
14278 (home-page "https://github.com/emacs-helm/helm-firefox")
14279 (synopsis "Display firefox bookmarks with Emacs Helm interface")
14280 (description "Display firefox bookmarks with Emacs Helm interface")
14281 (license license:gpl3+))))
14282
14283 (define-public emacs-interactive-align
14284 (package
14285 (name "emacs-interactive-align")
14286 (version "0.4.2")
14287 (source
14288 (origin
14289 (method git-fetch)
14290 (uri (git-reference
14291 (url "https://github.com/mkcms/interactive-align.git")
14292 (commit (string-append "v" version))))
14293 (file-name (git-file-name name version))
14294 (sha256
14295 (base32
14296 "0bh03w91i622hbar5dcq631ndxx1y8kd3h655pgw1g0lqkv1mlnc"))))
14297 (build-system emacs-build-system)
14298 (home-page "https://github.com/mkcms/interactive-align/")
14299 (synopsis "Interactive align-regexp command in Emacs")
14300 (description "Interactive align-regexp command in Emacs")
14301 (license license:gpl3+)))
14302
14303 (define-public emacs-shift-number
14304 (package
14305 (name "emacs-shift-number")
14306 (version "0.1")
14307 (source
14308 (origin
14309 (method git-fetch)
14310 (uri (git-reference
14311 (url "https://github.com/alezost/shift-number.el")
14312 (commit (string-append "v" version))))
14313 (file-name (git-file-name name version))
14314 (sha256
14315 (base32
14316 "0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
14317 (build-system emacs-build-system)
14318 (home-page "https://github.com/alezost/shift-number.el")
14319 (synopsis "Increase or decrease the number at point")
14320 (description "@code{emacs-shift-number} provides commands
14321 @code{shift-number-up} to increase and @code{shift-number-down} to
14322 decrease the number at point.")
14323 (license license:gpl3+)))
14324
14325 (define-public emacs-highlight-defined
14326 (package
14327 (name "emacs-highlight-defined")
14328 (version "0.1.5")
14329 (source
14330 (origin
14331 (method git-fetch)
14332 (uri (git-reference
14333 (url "https://github.com/Fanael/highlight-defined.git")
14334 (commit version)))
14335 (file-name (git-file-name name version))
14336 (sha256
14337 (base32 "08czwa165rnd5z0dwwdddn7zi5w63sdk31l47bj0598kbly01n7r"))))
14338 (build-system emacs-build-system)
14339 (home-page "https://github.com/Fanael/highlight-defined")
14340 (synopsis "Syntax highlighting of known Elisp symbols")
14341 (description "Minor mode providing syntax highlighting of known Emacs Lisp
14342 symbols. Currently the code distinguishes Lisp functions, built-in functions,
14343 macros, faces and variables. To enable call @code{highlight-defined-mode}. ")
14344 (license license:gpl3+)))
14345
14346 (define-public emacs-parinfer-mode
14347 (package
14348 (name "emacs-parinfer-mode")
14349 (version "0.4.10")
14350 (source
14351 (origin
14352 (method git-fetch)
14353 (uri (git-reference
14354 (url "https://github.com/DogLooksGood/parinfer-mode.git")
14355 (commit (string-append "v" version))))
14356 (file-name (git-file-name name version))
14357 (sha256
14358 (base32 "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"))))
14359 (propagated-inputs
14360 `(("emacs-dash" ,emacs-dash)
14361 ("emacs-rainbow-delimiters" ,emacs-rainbow-delimiters)
14362 ("emacs-company" ,emacs-company)))
14363 (build-system emacs-build-system)
14364 (home-page "https://github.com/DogLooksGood/parinfer-mode/")
14365 (synopsis "Lisp structure editing mode")
14366 (description "@code{parinfer-mode} is a proof-of-concept editor
14367 mode for Lisp programming languages. It will infer some changes to
14368 keep Parens and Indentation inline with one another.")
14369 (license license:gpl3+)))
14370
14371 (define-public emacs-helm-eww
14372 (package
14373 (name "emacs-helm-eww")
14374 (version "1.2")
14375 (source (origin
14376 (method git-fetch)
14377 (uri (git-reference
14378 (url "https://github.com/emacs-helm/helm-eww.git")
14379 (commit version)))
14380 (file-name (git-file-name name version))
14381 (sha256
14382 (base32
14383 "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"))))
14384 (propagated-inputs
14385 `(("emacs-helm" ,emacs-helm)))
14386 (build-system emacs-build-system)
14387 (home-page "https://github.com/emacs-helm/helm-eww/")
14388 (synopsis "Helm interface to EWW")
14389 (description "This package provides a Helm interface for EWW buffers,
14390 bookmarks and history.")
14391 (license license:gpl3+)))
14392
14393 (define-public emacs-stumpwm-mode
14394 (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39"))
14395 (package
14396 (name "emacs-stumpwm-mode")
14397 (version (git-version "0.0.1" "1" commit))
14398 (source (origin
14399 (method git-fetch)
14400 (uri (git-reference
14401 (url "https://github.com/stumpwm/stumpwm-contrib.git")
14402 (commit commit)))
14403 (file-name (git-file-name name version))
14404 (sha256
14405 (base32
14406 "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6"))))
14407 (build-system emacs-build-system)
14408 (arguments
14409 `(#:phases
14410 (modify-phases %standard-phases
14411 (add-after 'unpack 'chdir-elisp
14412 ;; Elisp directory is not in root of the source.
14413 (lambda _
14414 (chdir "util/swm-emacs"))))))
14415 (home-page "https://github.com/stumpwm/stumpwm-contrib")
14416 (synopsis "Emacs minor-mode for Stumpwm")
14417 (description "Emacs minor-mode for Stumpwm")
14418 (license license:gpl3+))))
14419
14420 (define-public emacs-irfc
14421 (package
14422 (name "emacs-irfc")
14423 (version "20130824.507-1")
14424 (source
14425 (origin
14426 (method url-fetch)
14427 (uri "https://www.emacswiki.org/emacs/download/irfc.el")
14428 (file-name (string-append "irfc-" version ".el"))
14429 (sha256
14430 (base32
14431 "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
14432 (build-system emacs-build-system)
14433 (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
14434 (synopsis "Interface for IETF RFC document")
14435 (description
14436 "This package provides an Emacs interface for IETF RFC document.")
14437 (license license:gpl3+)))
14438
14439 (define-public emacs-ido-vertical-mode
14440 (package
14441 (name "emacs-ido-vertical-mode")
14442 (version "0.1.6")
14443 (source
14444 (origin
14445 (method git-fetch)
14446 (uri (git-reference
14447 (url "https://github.com/creichert/ido-vertical-mode.el.git")
14448 (commit (string-append "v" version))))
14449 (file-name (git-file-name name version))
14450 (sha256
14451 (base32 "1lv82q639xjnmvby56nwqn23ijh6f163bk675s33dkingm8csj8k"))))
14452 (build-system emacs-build-system)
14453 (home-page "https://github.com/creichert/ido-vertical-mode.el")
14454 (synopsis "Makes ido-mode display vertically")
14455 (description "Makes ido-mode display prospects vertically.")
14456 (license license:gpl3+)))
14457
14458 (define-public emacs-wordgen
14459 (package
14460 (name "emacs-wordgen")
14461 (version "0.1.4")
14462 (source
14463 (origin
14464 (method git-fetch)
14465 (uri (git-reference
14466 (url "https://github.com/Fanael/wordgen.el.git")
14467 (commit version)))
14468 (file-name (git-file-name name version))
14469 (sha256
14470 (base32 "06vbc9ycz1nbjwjkg99y3lj6jwb6lnwnmkqf09yr00jjrrfhfash"))))
14471 (build-system emacs-build-system)
14472 (home-page "https://github.com/Fanael/wordgen.el")
14473 (synopsis "Random word generator")
14474 (description "This package provides functions to generate random words
14475 using user-provided rules.")
14476 (license license:gpl3+)))
14477
14478 (define-public emacs-on-screen
14479 (package
14480 (name "emacs-on-screen")
14481 (version "1.3.3")
14482 (source
14483 (origin
14484 (method url-fetch)
14485 (uri (string-append
14486 "http://elpa.gnu.org/packages/on-screen-" version ".el"))
14487 (file-name (string-append name "-" version ".el"))
14488 (sha256
14489 (base32 "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7"))))
14490 (build-system emacs-build-system)
14491 (home-page "https://github.com/michael-heerdegen/on-screen.el")
14492 (synopsis "Guide your eyes while scrolling")
14493 (description
14494 "Scrolling can be distracting because your eyes may lose
14495 orientation. This library implements a minor mode that highlights
14496 the previously visible buffer part after each scroll.")
14497 (license license:gpl3+)))
14498
14499 (define-public emacs-highlight-escape-sequences
14500 (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41")
14501 (revision "1"))
14502 (package
14503 (name "emacs-highlight-escape-sequences")
14504 (version (string-append "0.0.1" "-" revision "."
14505 (string-take commit 7)))
14506 (source
14507 (origin
14508 (method git-fetch)
14509 (uri (git-reference
14510 (url "https://github.com/dgutov/highlight-escape-sequences.git")
14511 (commit commit)))
14512 (file-name (git-file-name name version))
14513 (sha256
14514 (base32
14515 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is"))))
14516 (build-system emacs-build-system)
14517 (home-page "https://github.com/dgutov/highlight-escape-sequences")
14518 (synopsis "Highlight escape sequences in Emacs")
14519 (description "@code{highlight-escape-sequences} provides an
14520 Emacs minor mode to escape sequences in code.")
14521 (license license:gpl3+))))
14522
14523 (define-public emacs-dashboard
14524 (package
14525 (name "emacs-dashboard")
14526 (version "1.6.0")
14527 (source
14528 (origin
14529 (method git-fetch)
14530 (uri (git-reference
14531 (url "https://github.com/rakanalh/emacs-dashboard.git")
14532 (commit version)))
14533 (file-name (git-file-name name version))
14534 (sha256
14535 (base32 "1g6g8vad1kdmv1zxp95a8sn70idl26isqjb3xk1r95pqnx1cn591"))))
14536 (build-system emacs-build-system)
14537 (propagated-inputs
14538 `(("emacs-page-break-lines" ,emacs-page-break-lines)))
14539 (arguments
14540 '(#:include '("\\.el$" "\\.txt$" "\\.png$")
14541 #:phases
14542 (modify-phases %standard-phases
14543 (add-after 'unpack 'patch-dashboard-widgets
14544 ;; This phase fixes compilation error.
14545 (lambda _
14546 (chmod "dashboard-widgets.el" #o666)
14547 (emacs-substitute-variables "dashboard-widgets.el"
14548 ("dashboard-init-info"
14549 '(format "Loaded in %s" (emacs-init-time))))
14550 #t)))))
14551 (home-page "https://github.com/rakanalh/emacs-dashboard")
14552 (synopsis "Startup screen extracted from Spacemacs")
14553 (description "This package provides an extensible Emacs dashboard, with
14554 sections for bookmarks, projectil projects, org-agenda and more. ")
14555 (license license:gpl3+)))
14556
14557 (define-public emacs-slime-company
14558 (package
14559 (name "emacs-slime-company")
14560 (version "1.1")
14561 (source
14562 (origin
14563 (method git-fetch)
14564 (uri (git-reference
14565 (url "https://github.com/anwyn/slime-company.git")
14566 (commit (string-append "v" version))))
14567 (file-name (git-file-name name version))
14568 (sha256
14569 (base32 "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"))))
14570 (build-system emacs-build-system)
14571 (propagated-inputs
14572 `(("emacs-slime" ,emacs-slime)
14573 ("emacs-company" ,emacs-company)))
14574 (home-page "https://company-mode.github.io")
14575 (synopsis "SLIME completion backend for @code{company-mode}")
14576 (description
14577 "This is a backend implementation for the completion package
14578 @code{company-mode} which supports the normal and the fuzzy completion
14579 modes of SLIME.")
14580 (license license:gpl3+)))
14581
14582 (define-public emacs-sml-mode
14583 (package
14584 (name "emacs-sml-mode")
14585 (version "6.9")
14586 (source
14587 (origin
14588 (method url-fetch)
14589 (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
14590 version ".el"))
14591 (sha256
14592 (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
14593 (build-system emacs-build-system)
14594 (home-page "http://elpa.gnu.org/packages/sml-mode.html")
14595 (synopsis "Major mode for editing (Standard) ML")
14596 (description "SML-MODE is a major Emacs mode for editing Standard ML.
14597 It provides syntax highlighting and automatic indentation and
14598 comes with sml-proc which allows interaction with an inferior SML
14599 interactive loop.")
14600 (license license:gpl3+)))
14601
14602 (define-public emacs-eros
14603 (let ((commit "dd8910279226259e100dab798b073a52f9b4233a")
14604 (revision "2"))
14605 (package
14606 (name "emacs-eros")
14607 (version (git-version "0.0.1" revision commit))
14608 (source
14609 (origin
14610 (method git-fetch)
14611 (uri (git-reference
14612 (url "https://github.com/xiongtx/eros.git")
14613 (commit commit)))
14614 (file-name (git-file-name name version))
14615 (sha256
14616 (base32
14617 "08chj3a0lw4ygi2sv7wj0i6ihfbi8jhylr8p92inif8b88r6wg3k"))))
14618 (build-system emacs-build-system)
14619 (home-page "https://github.com/xiongtx/eros")
14620 (synopsis "Evaluation result overlays")
14621 (description "@code{eros} provides evaluation result overlays.")
14622 (license license:gpl3+))))
14623
14624 (define-public emacs-stickyfunc-enhance
14625 (let ((commit "13bdba51fcd83ccbc3267959d23afc94d458dcb0")
14626 (revision "1"))
14627 (package
14628 (name "emacs-stickyfunc-enhance")
14629 (version "0.1")
14630 (source
14631 (origin
14632 (method git-fetch)
14633 (uri (git-reference
14634 (url "https://github.com/tuhdo/semantic-stickyfunc-enhance.git")
14635 (commit commit)))
14636 (file-name (git-file-name name version))
14637 (sha256
14638 (base32
14639 "16dxjsr5nj20blww4xpd4jzgjprzzh1nwvb810ggdmp9paf4iy0g"))))
14640 (build-system emacs-build-system)
14641 (home-page "https://github.com/tuhdo/semantic-stickyfunc-enhance")
14642 (synopsis "Enhancement to stock @code{semantic-stickyfunc-mode}")
14643 (description
14644 "@code{semantic-stickyfunc-mode} shows the function point is currently
14645 in at the first line of the current buffer. This is useful when you have a
14646 very long function that spreads more than a screen, and you don't have to
14647 scroll up to read the function name and then scroll down to original position.")
14648 (license license:gpl3+))))
14649
14650 (define-public emacs-git-auto-commit-mode
14651 (package
14652 (name "emacs-git-auto-commit-mode")
14653 (version "4.4.0")
14654 (source
14655 (origin
14656 (method git-fetch)
14657 (uri (git-reference
14658 (url "https://github.com/ryuslash/git-auto-commit-mode.git")
14659 (commit version)))
14660 (file-name (git-file-name name version))
14661 (sha256
14662 (base32 "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"))))
14663 (build-system emacs-build-system)
14664 (home-page "https://github.com/ryuslash/git-auto-commit-mode")
14665 (synopsis "Emacs Minor mode to automatically commit and push")
14666 (description "@code{git-auto-commit-mode} is an Emacs minor mode that
14667 tries to commit changes to a file after every save.
14668
14669 When @code{gac-automatically-push-p} is non-nil, it also tries to push to
14670 the current upstream.")
14671 (license license:gpl3+)))
14672
14673 (define-public emacs-scroll-on-drag
14674 (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996")
14675 (revision "1"))
14676 (package
14677 (name "emacs-scroll-on-drag")
14678 (version (git-version "0.1" revision commit))
14679 (source
14680 (origin
14681 (method git-fetch)
14682 (uri (git-reference
14683 (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git")
14684 (commit commit)))
14685 (file-name (git-file-name name version))
14686 (sha256
14687 (base32
14688 "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p"))))
14689 (build-system emacs-build-system)
14690 (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag")
14691 (synopsis "Interactive scrolling")
14692 (description "This package permits scrolling at increasing speeds based
14693 on drag distance.")
14694 (license license:gpl3+))))
14695
14696 (define-public emacs-company-restclient
14697 (package
14698 (name "emacs-company-restclient")
14699 (version "0.3.0")
14700 (source
14701 (origin
14702 (method git-fetch)
14703 (uri (git-reference
14704 (url "https://github.com/iquiw/company-restclient.git")
14705 (commit (string-append "v" version))))
14706 (file-name (git-file-name name version))
14707 (sha256
14708 (base32 "0yp0hlrgcr6yy1xkjvfckys2k24x9xg7y6336ma61bdwn5lpv0x0"))))
14709 (build-system emacs-build-system)
14710 (propagated-inputs
14711 `(("emacs-company" ,emacs-company)
14712 ("emacs-know-your-http-well" ,emacs-know-your-http-well)
14713 ("emacs-restclient" ,emacs-restclient)))
14714 (home-page "https://github.com/iquiw/company-restclient")
14715 (synopsis "Company-mode completion back-end for restclient-mode")
14716 (description "@code{company-mode} back-end for
14717 @code{restclient-mode}.
14718
14719 It provides auto-completion for HTTP methods and headers in
14720 @code{restclient-mode}. Completion source is given by
14721 @code{know-your-http-well}.")
14722 (license license:gpl3+)))
14723
14724 (define-public emacs-noflet
14725 (let ((version "20170629")
14726 (revision "1")
14727 (commit "7ae84dc3257637af7334101456dafe1759c6b68a"))
14728 (package
14729 (name "emacs-noflet")
14730 (version (git-version version revision commit))
14731 (source
14732 (origin
14733 (method git-fetch)
14734 (uri (git-reference
14735 (url "https://github.com/nicferrier/emacs-noflet")
14736 (commit commit)))
14737 (file-name (git-file-name name version))
14738 (sha256
14739 (base32
14740 "0g70gnmfi8n24jzfci9nrj0n9bn1qig7b8f9f325rin8h7x32ypf"))))
14741 (build-system emacs-build-system)
14742 (arguments
14743 `(#:phases
14744 (modify-phases %standard-phases
14745 (add-after 'unpack 'require-dash
14746 ;; noflet.el uses -map from dash, but (require 'dash) is
14747 ;; missing. So, add it.
14748 (lambda _
14749 (substitute* "noflet.el"
14750 ((";;; Code:") ";;; Code:\n(require 'dash)"))
14751 #t)))))
14752 (propagated-inputs
14753 `(("emacs-dash" ,emacs-dash)))
14754 (home-page "https://github.com/nicferrier/emacs-noflet")
14755 (synopsis "Locally override functions")
14756 (description "@code{emacs-noflet} lets you locally override functions,
14757 in the manner of @command{flet}, but with access to the original function
14758 through the symbol: @command{this-fn}.")
14759 (license license:gpl3+))))
14760
14761 (define-public emacs-dumb-jump
14762 (package
14763 (name "emacs-dumb-jump")
14764 (version "0.5.3")
14765 (source
14766 (origin
14767 (method git-fetch)
14768 (uri (git-reference
14769 (url "https://github.com/jacktasia/dumb-jump.git")
14770 (commit (string-append "v" version))))
14771 (file-name (git-file-name name version))
14772 (sha256
14773 (base32 "1njf60264snhxrd36m4z687lqfkis0p9mmrr7cf1c8l0lfdvawxi"))))
14774 (build-system emacs-build-system)
14775 (arguments
14776 `(#:tests? #f ; FIXME: Tests freeze when run.
14777 #:test-command '("ert-runner")
14778 #:phases
14779 (modify-phases %standard-phases
14780 (add-after 'unpack 'set-shell
14781 (lambda _
14782 ;; Setting the SHELL environment variable is required for the
14783 ;; tests to find sh.
14784 (setenv "SHELL" (which "sh"))
14785 #t)))))
14786 (native-inputs
14787 `(("emacs-el-mock" ,emacs-el-mock)
14788 ("emacs-noflet" ,emacs-noflet)
14789 ("emacs-undercover" ,emacs-undercover)
14790 ("ert-runner" ,emacs-ert-runner)))
14791 (propagated-inputs
14792 `(("emacs-f" ,emacs-f)
14793 ("emacs-popup" ,emacs-popup)))
14794 (home-page "https://github.com/jacktasia/dumb-jump")
14795 (synopsis "Jump to definition for multiple languages without configuration")
14796 (description "Dumb Jump is an Emacs \"jump to definition\" package with
14797 support for multiple programming languages that favors \"just working\" over
14798 speed or accuracy. This means minimal --- and ideally zero --- configuration
14799 with absolutely no stored indexes (tags) or persistent background processes.
14800 Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
14801 @command{rg} installed.")
14802 (license license:gpl3+)))
14803
14804 (define-public emacs-dts-mode
14805 (let ((commit "9ee0854446dcc6c53d2b8d2941051768dba50344")
14806 (revision "1"))
14807 (package
14808 (name "emacs-dts-mode")
14809 (version (string-append "0.1.0-" revision "." (string-take commit 7)))
14810 (source
14811 (origin
14812 (method git-fetch)
14813 (uri (git-reference
14814 (url "https://github.com/bgamari/dts-mode.git")
14815 (commit commit)))
14816 (file-name (git-file-name name version))
14817 (sha256
14818 (base32
14819 "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
14820 (build-system emacs-build-system)
14821 (home-page "https://github.com/bgamari/dts-mode.git")
14822 (synopsis "Emacs minor mode for editing device tree files")
14823 (description
14824 "This package provides an Emacs minor mode for highlighting
14825 device tree files.")
14826 (license license:gpl3+))))
14827
14828 (define-public emacs-daemons
14829 (package
14830 (name "emacs-daemons")
14831 (version "2.0.0")
14832 (source
14833 (origin
14834 (method git-fetch)
14835 (uri (git-reference
14836 (url "https://github.com/cbowdon/daemons.el")
14837 (commit version)))
14838 (file-name (git-file-name name version))
14839 (sha256
14840 (base32
14841 "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"))))
14842 (build-system emacs-build-system)
14843 (home-page "https://github.com/cbowdon/daemons.el")
14844 (synopsis "Emacs UI for managing init system services")
14845 (description
14846 "This is an Emacs mode to give you a UI for managing init system
14847 daemons (services) for those getting tired of typing out @code{sudo service
14848 my_thing reload} all the time. It offers a consistent UI over different init
14849 systems.")
14850 (license license:gpl3+)))
14851
14852 (define-public emacs-isearch+
14853 (let ((commit "7c251b91a67bf914066e23e269ba52fda5b45f5f")
14854 (revision "2"))
14855 (package
14856 (name "emacs-isearch+")
14857 (version (git-version "0" revision commit))
14858 (source
14859 (origin
14860 (method git-fetch)
14861 (uri (git-reference
14862 (url "https://github.com/emacsmirror/isearch-plus.git")
14863 (commit commit)))
14864 (file-name (git-file-name name version))
14865 (sha256
14866 (base32
14867 "1w2799714jcdycjlxgs8lpmmz6dmzvcvqy8xwxhvmgpb60g4f2yr"))))
14868 (build-system emacs-build-system)
14869 (home-page "https://www.emacswiki.org/emacs/isearch+.el")
14870 (synopsis "Extensions to @code{isearch.el}")
14871 (description "This package extends @code{isearch} with advice, dynamic
14872 filters, highlighting of regexp group levels, and more.")
14873 (license license:gpl2+))))
14874
14875 (define-public emacs-eshell-bookmark
14876 (package
14877 (name "emacs-eshell-bookmark")
14878 (version "2.0.0")
14879 (source
14880 (origin
14881 (method git-fetch)
14882 (uri (git-reference
14883 (url "https://github.com/Fuco1/eshell-bookmark")
14884 (commit version)))
14885 (file-name (git-file-name name version))
14886 (sha256
14887 (base32
14888 "14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
14889 (build-system emacs-build-system)
14890 (home-page "https://github.com/Fuco1/eshell-bookmark")
14891 (synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
14892 (description
14893 "This package allows for bookmarking @code{eshell} buffers. Upon
14894 visiting the bookmark, a new @code{eshell} session will be opened in the
14895 appropriate directory if no @code{eshell} session is active.")
14896 (license license:gpl3+)))
14897
14898 (define-public emacs-eshell-z
14899 (package
14900 (name "emacs-eshell-z")
14901 (version "0.4")
14902 (source
14903 (origin
14904 (method git-fetch)
14905 (uri (git-reference
14906 (url "https://github.com/xuchunyang/eshell-z")
14907 (commit (string-append "v" version))))
14908 (file-name (git-file-name name version))
14909 (sha256
14910 (base32
14911 "13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
14912 (build-system emacs-build-system)
14913 (home-page "https://github.com/xuchunyang/eshell-z")
14914 (synopsis "Quick navigation to frequently visited directories")
14915 (description
14916 "This package is a port of @code{z}, and keeps track of visited directories
14917 and commands invoked within them in order to enable navigation via input of
14918 matching regexps.")
14919 (license license:gpl3+)))
14920
14921 (define-public emacs-esh-autosuggest
14922 (package
14923 (name "emacs-esh-autosuggest")
14924 (version "2.0.0")
14925 (source
14926 (origin
14927 (method git-fetch)
14928 (uri (git-reference
14929 (url "https://github.com/dieggsy/esh-autosuggest")
14930 (commit version)))
14931 (file-name (git-file-name name version))
14932 (sha256
14933 (base32
14934 "116pdjgpjy9b0psm5kzwkwy7dq8vn0p6dy75dl1zsy2xrjf1iqdw"))))
14935 (build-system emacs-build-system)
14936 (propagated-inputs `(("emacs-company" ,emacs-company)))
14937 (home-page "https://github.com/dieggsy/esh-autosuggest")
14938 (synopsis "Fish-like autosuggestions in Eshell")
14939 (description
14940 "This package assumes you use something other than company for eshell
14941 completion (e.g. @code{eshell-pcomplete}, @code{completion-at-point},
14942 @code{helm-esh-pcomplete}). @code{company-mode} is used solely as a mechanism
14943 for history autosuggestions.
14944
14945 Unless you're using @code{use-package}'s hook keyword, you can enable the
14946 autosuggestions with:
14947 @code{(add-hook 'eshell-mode-hook #'esh-autosuggest-mode)}")
14948 (license license:gpl3+)))
14949
14950 (define-public emacs-desktop-environment
14951 (package
14952 (name "emacs-desktop-environment")
14953 (version "0.3.0")
14954 (source
14955 (origin
14956 (method git-fetch)
14957 (uri (git-reference
14958 (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14959 (commit (string-append "v" version))))
14960 (file-name (git-file-name name version))
14961 (sha256
14962 (base32
14963 "195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2"))))
14964 (build-system emacs-build-system)
14965 (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
14966 (synopsis "Control your GNU/Linux desktop environment from Emacs")
14967 (description
14968 "This package helps you control your GNU/Linux desktop from Emacs.
14969 With @code{desktop-environment}, you can control the brightness and volume as
14970 well as take screenshots and lock your screen. The package depends on the
14971 availability of shell commands to do the hard work for us. These commands can
14972 be changed by customizing the appropriate variables.")
14973 (license license:gpl3+)))
14974
14975 (define-public emacs-org-caldav
14976 (let ((commit "a563500c9884f38ce08793e2964f8274adde163d"))
14977 (package
14978 (name "emacs-org-caldav")
14979 (version (git-version "0.0.0" "1" commit))
14980 (source
14981 (origin
14982 (method git-fetch)
14983 (uri (git-reference
14984 (url "https://github.com/dengste/org-caldav.git")
14985 (commit commit)))
14986 (file-name (git-file-name name version))
14987 (sha256
14988 (base32
14989 "18qi1iv5dc0gsvkv9ifal3cjpm568nlb907v8a53cnm4439x1l0l"))))
14990 (build-system emacs-build-system)
14991 (arguments
14992 ;; Tests require to have two specific calendars on a test server.
14993 `(#:exclude '("^org-caldav-testsuite\\.el")))
14994 (propagated-inputs
14995 `(("emacs-org" ,emacs-org)))
14996 (home-page "https://github.com/dengste/org-caldav")
14997 (synopsis "Sync Org files with external calendars via the CalDAV protocol")
14998 (description "Synchronize between events in Org files and a CalDAV
14999 calendar.")
15000 (license license:gpl3+))))
15001
15002 (define-public emacs-zotxt
15003 (package
15004 (name "emacs-zotxt")
15005 (version "20180518")
15006 (source
15007 (origin
15008 (method git-fetch)
15009 (uri (git-reference
15010 (url "https://github.com/egh/zotxt-emacs.git")
15011 (commit "23a4a9f74a658222027d53a9a83cd4bcc583ca8b")))
15012 (file-name (git-file-name name version))
15013 (sha256
15014 (base32 "09fq3w9yk9kn6bz7y9kgpiw612dvj3yzsdk734js6zgb0p8lfd2c"))))
15015 (build-system emacs-build-system)
15016 (propagated-inputs
15017 `(("emacs-deferred" ,emacs-deferred)
15018 ("emacs-request" ,emacs-request)))
15019 (home-page "https://github.com/egh/zotxt-emacs")
15020 (synopsis "Integrate Emacs with Zotero")
15021 (description "This package provides two integration features between Emacs
15022 and the Zotero research assistant: Insertion of links to Zotero items into an
15023 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
15024 (license license:gpl3+)))
15025
15026 (define-public emacs-evil-ediff
15027 ;; Evil-Ediff is included in Evil Collection from 20180617.
15028 (deprecated-package "emacs-evil-ediff" emacs-evil-collection))
15029
15030 (define-public emacs-evil-magit
15031 (let ((commit "4b66a1db8285457147a5436f209391016a819ea1")
15032 (revision "3"))
15033 (package
15034 (name "emacs-evil-magit")
15035 (version (git-version "0.4.2" revision commit))
15036 (source
15037 (origin
15038 (method git-fetch)
15039 (uri (git-reference
15040 (url "https://github.com/emacs-evil/evil-magit")
15041 (commit commit)))
15042 (file-name (git-file-name name version))
15043 (sha256
15044 (base32
15045 "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h"))))
15046 (build-system emacs-build-system)
15047 (propagated-inputs
15048 `(("emacs-evil" ,emacs-evil)
15049 ("magit" ,emacs-magit)))
15050 (arguments
15051 `(#:tests? #t
15052 #:test-command '("emacs" "-Q" "-batch"
15053 "-L" "."
15054 "-l" "evil-magit-tests"
15055 "-f" "ert-run-tests-batch-and-exit")))
15056 (home-page
15057 "https://github.com/emacs-evil/evil-magit")
15058 (synopsis "Evil-based key bindings for Magit")
15059 (description
15060 "This Emacs library configures Magit and Evil to play well with each other.
15061 For some background see @url{https://github.com/magit/evil-magit/issues/1}.
15062 See the README at @url{https://github.com/justbur/evil-magit} for a table
15063 describing the key binding changes.")
15064 (license license:gpl3+))))
15065
15066 (define-public emacs-evil-mu4e
15067 ;; Evil-mu4e is included in Evil Collection from 20180617.
15068 (deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
15069
15070 (define-public emacs-evil-multiedit
15071 (package
15072 (name "emacs-evil-multiedit")
15073 (version "1.3.9")
15074 (source
15075 (origin
15076 (method git-fetch)
15077 (uri (git-reference
15078 (url "https://github.com/hlissner/evil-multiedit")
15079 (commit (string-append "v" version))))
15080 (file-name (git-file-name name version))
15081 (sha256
15082 (base32
15083 "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
15084 (build-system emacs-build-system)
15085 (propagated-inputs
15086 `(("emacs-evil" ,emacs-evil)
15087 ("emacs-iedit" ,emacs-iedit)))
15088 (native-inputs
15089 `(("emacs-ert-runner" ,emacs-ert-runner)))
15090 (arguments
15091 `(#:phases
15092 (modify-phases %standard-phases
15093 (add-before 'check 'fix-makefile
15094 (lambda _
15095 (substitute* "Makefile"
15096 (("@cask exec ") ""))
15097 #t)))
15098 #:tests? #t
15099 #:test-command '("make" "test")))
15100 (home-page
15101 "https://github.com/hlissner/evil-multiedit")
15102 (synopsis "Multiple cursors for Evil mode")
15103 (description
15104 "This plugin was an answer to the lack of proper multiple cursor support
15105 in Emacs+Evil. It allows you to select and edit matches interactively,
15106 integrating @code{iedit-mode} into Evil mode with an attempt at sensible
15107 defaults.")
15108 (license license:gpl3+)))
15109
15110 (define-public emacs-evil-mc
15111 (let ((commit "1cabb869fe70cef49f7dc06f015c3ade1a969c8c")
15112 (revision "2"))
15113 (package
15114 (name "emacs-evil-mc")
15115 (version (git-version "0.0.3" revision commit))
15116 (source
15117 (origin
15118 (method git-fetch)
15119 (uri (git-reference
15120 (url "https://github.com/gabesoft/evil-mc.git")
15121 (commit commit)))
15122 (file-name (git-file-name name version))
15123 (sha256
15124 (base32 "0p83p90faq1p02lmsfs7zrnky3cyzgy8z4m83a81r9kakjzhkrnb"))))
15125 (build-system emacs-build-system)
15126 (propagated-inputs
15127 `(("emacs-evil" ,emacs-evil)))
15128 (native-inputs
15129 `(("emacs-espuds" ,emacs-espuds)))
15130 (home-page "https://github.com/gabesoft/evil-mc")
15131 (synopsis "Interactive search compatible with @code{multiple-cursors}")
15132 (description "This package can be used with @code{multiple-cursors} to
15133 provide an incremental search that moves all fake cursors in sync.")
15134 (license license:expat))))
15135
15136 (define-public emacs-evil-org
15137 (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
15138 (package
15139 (name "emacs-evil-org")
15140 (version (git-version "0.1.1" "1" commit))
15141 (source
15142 (origin
15143 (method git-fetch)
15144 (uri (git-reference
15145 (url "https://github.com/Somelauw/evil-org-mode")
15146 (commit commit)))
15147 (file-name (git-file-name name version))
15148 (sha256
15149 (base32
15150 "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
15151 (build-system emacs-build-system)
15152 (propagated-inputs `(("emacs-evil" ,emacs-evil)))
15153 (home-page
15154 "https://github.com/Somelauw/evil-org-mode")
15155 (synopsis "Evil keybindings for Org mode")
15156 (description
15157 "This package adds supplemental Evil mode key-bindings to Emacs
15158 Org-mode. It features:
15159 @itemize
15160 @item normal, visual and insert mode bindings;
15161 @item key bindings organised in key themes;
15162 @item operators like > and < to work on headings;
15163 @item text objects;
15164 @item table support;
15165 @item calendar (date selection) support;
15166 @item agenda support.
15167 @end itemize\n")
15168 (license license:gpl3+))))
15169
15170 (define-public emacs-debpaste
15171 (package
15172 (name "emacs-debpaste")
15173 (version "0.1.5")
15174 (home-page "https://github.com/alezost/debpaste.el")
15175 (source
15176 (origin
15177 (method git-fetch)
15178 (uri (git-reference (url home-page)
15179 (commit (string-append "v" version))))
15180 (file-name (git-file-name name version))
15181 (sha256
15182 (base32
15183 "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
15184 (build-system emacs-build-system)
15185 (propagated-inputs
15186 `(("emacs-xml-rpc" ,emacs-xml-rpc)))
15187 (synopsis "Manipulate pastes from the Debian Pastezone")
15188 (description "Debpaste is an Emacs interface for the Debian Pastezone,
15189 allowing you to receive, post, and delete pastes. It communicates with the
15190 server using XML-RPC.")
15191 (license license:gpl3+)))
15192
15193 (define-public emacs-xml-rpc
15194 (let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
15195 (revision "1"))
15196 (package
15197 (name "emacs-xml-rpc")
15198 (version (git-version "1.6.12" revision commit))
15199 (source
15200 (origin
15201 (method git-fetch)
15202 (uri (git-reference
15203 (url "https://github.com/hexmode/xml-rpc-el")
15204 (commit commit)))
15205 (file-name (git-file-name name version))
15206 (sha256
15207 (base32
15208 "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
15209 (build-system emacs-build-system)
15210 (home-page "https://github.com/hexmode/xml-rpc-el")
15211 (synopsis "XML-RPC client for Emacs")
15212 (description "This package provides an XML-RPC client for Emacs capable
15213 of both synchronous and asynchronous method calls using the @code{url}
15214 package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
15215 datatypes as Lisp values, automatically converting to and from the XML
15216 datastructures as needed, both for method parameters and return values, making
15217 using XML-RPC methods fairly transparent to the Lisp code.")
15218 (license license:gpl3+))))
15219
15220 (define-public emacs-xpm
15221 (package
15222 (name "emacs-xpm")
15223 (version "1.0.4")
15224 (source
15225 (origin
15226 (method url-fetch)
15227 (uri (string-append "https://elpa.gnu.org/packages/xpm-"
15228 version ".tar"))
15229 (sha256
15230 (base32
15231 "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
15232 (build-system emacs-build-system)
15233 (home-page "https://elpa.gnu.org/packages/xpm.html")
15234 (synopsis "XPM image editing mode for Emacs")
15235 (description "This Emacs package makes editing XPM images easy (and maybe
15236 fun). Editing is done directly on the (textual) image format, for maximal
15237 cohesion with the Emacs Way.")
15238 (license license:gpl3+)))
15239
15240 (define-public emacs-fish-completion
15241 (package
15242 (name "emacs-fish-completion")
15243 (version "1.2")
15244 (source
15245 (origin
15246 (method git-fetch)
15247 (uri (git-reference
15248 (url "https://gitlab.com/Ambrevar/emacs-fish-completion.git")
15249 (commit version)))
15250 (file-name (git-file-name name version))
15251 (sha256
15252 (base32
15253 "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q"))))
15254 (build-system emacs-build-system)
15255 (inputs `(("fish" ,fish)))
15256 (arguments
15257 `(#:phases
15258 (modify-phases %standard-phases
15259 (add-after 'unpack 'configure
15260 (lambda* (#:key inputs outputs #:allow-other-keys)
15261 (let ((fish (assoc-ref inputs "fish")))
15262 ;; Specify the absolute file names of the various
15263 ;; programs so that everything works out-of-the-box.
15264 (make-file-writable "fish-completion.el")
15265 (emacs-substitute-variables
15266 "fish-completion.el"
15267 ("fish-completion-command"
15268 (string-append fish "/bin/fish")))))))))
15269 (home-page
15270 "https://gitlab.com/Ambrevar/emacs-fish-completion")
15271 (synopsis "Fish completion for Emacs pcomplete")
15272 (description
15273 "This package provides completion for the Fish shell to pcomplete (used
15274 by shell and Eshell). You can set it up globally with:
15275
15276 @example
15277 (when (and (executable-find \"fish\")
15278 (require 'fish-completion nil t))
15279 (global-fish-completion-mode))
15280 @end example
15281
15282 Alternatively, you can call the @code{fish-completion-mode} manually or in
15283 shell/Eshell mode hook.
15284
15285 The package @code{emacs-bash-completion} is an optional dependency: if available,
15286 @code{fish-completion-complete} can be configured to fall back on bash to further
15287 try completing. See @code{fish-completion-fallback-on-bash-p}.")
15288 (license license:gpl3+)))
15289
15290 (define-public emacs-gif-screencast
15291 (let ((commit "248d1e158405e6cba2c65ecaed40e2c59b089cd8")
15292 (revision "2"))
15293 (package
15294 (name "emacs-gif-screencast")
15295 (version (git-version "1.0" revision commit))
15296 (source
15297 (origin
15298 (method git-fetch)
15299 (uri (git-reference
15300 (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git")
15301 (commit commit)))
15302 (file-name (git-file-name name version))
15303 (sha256
15304 (base32
15305 "19xqi5mgalnnhb4hw0fh7py2s2dllldx1xxbhwhknkdpifai8hl8"))))
15306 (build-system emacs-build-system)
15307 (inputs
15308 `(("scrot" ,scrot)
15309 ("imagemagick" ,imagemagick)
15310 ("gifsicle" ,gifsicle)))
15311 (arguments
15312 `(#:phases
15313 (modify-phases %standard-phases
15314 (add-after 'unpack 'configure
15315 (lambda* (#:key inputs outputs #:allow-other-keys)
15316 (let ((scrot (assoc-ref inputs "scrot"))
15317 (imagemagick (assoc-ref inputs "imagemagick"))
15318 (gifsicle (assoc-ref inputs "gifsicle")))
15319 (make-file-writable "gif-screencast.el")
15320 ;; Specify the absolute file names of the various
15321 ;; programs so that everything works out-of-the-box.
15322 (emacs-substitute-variables
15323 "gif-screencast.el"
15324 ("gif-screencast-program"
15325 (string-append scrot "/bin/scrot"))
15326 ("gif-screencast-convert-program"
15327 (string-append imagemagick "/bin/convert"))
15328 ("gif-screencast-cropping-program"
15329 (string-append imagemagick "/bin/mogrify"))
15330 ("gif-screencast-optimize-program"
15331 (string-append gifsicle "/bin/gifsicle")))))))))
15332 (home-page
15333 "https://gitlab.com/Ambrevar/emacs-gif-screencast")
15334 (synopsis "One-frame-per-action GIF recording")
15335 (description
15336 "Call @code{gif-screencast} to start a recording.
15337 A screenshot is taken for every user action. Call
15338 @code{gif-screencast-stop} (<f9> by default) to finish recording and create
15339 the GIF result.")
15340 (license license:gpl3+))))
15341
15342 (define-public emacs-google-translate
15343 (package
15344 (name "emacs-google-translate")
15345 (version "0.11.18")
15346 (source
15347 (origin
15348 (method git-fetch)
15349 (uri (git-reference
15350 (url "https://github.com/atykhonov/google-translate/")
15351 (commit (string-append "v" version))))
15352 (file-name (git-file-name name version))
15353 (sha256
15354 (base32
15355 "1kbiqisqyk31l94gxsirhnrdkj51ylgcb16fk2wf7zigmf13jqzp"))))
15356 (build-system emacs-build-system)
15357 (home-page "https://github.com/atykhonov/google-translate")
15358 (synopsis "Emacs interface to Google Translate")
15359 (description
15360 "This package provides an Emacs interface to the Google Translate
15361 on-line service.")
15362 (license license:gpl3+)))
15363
15364 (define-public emacs-helm-company
15365 (package
15366 (name "emacs-helm-company")
15367 (version "0.2.5")
15368 (source
15369 (origin
15370 (method git-fetch)
15371 (uri (git-reference
15372 (url "https://github.com/Sodel-the-Vociferous/helm-company")
15373 (commit (string-append "v" version))))
15374 (file-name (git-file-name name version))
15375 (sha256
15376 (base32
15377 "1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
15378 (build-system emacs-build-system)
15379 (propagated-inputs
15380 `(("emacs-helm" ,emacs-helm)
15381 ("emacs-company" ,emacs-company)))
15382 (native-inputs
15383 `(("emacs-ert-runner" ,emacs-ert-runner)))
15384 (arguments
15385 `(#:tests? #t
15386 #:test-command '("ert-runner")))
15387 (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
15388 (synopsis "Helm interface for company-mode")
15389 (description
15390 "This is a Helm interface to company-mode, a text completion
15391 framework.")
15392 (license license:gpl3+)))
15393
15394 (define-public emacs-helm-descbinds
15395 (let ((commit "033be73f21778633813264ce1634a6e1ad873d8e"))
15396 (package
15397 (name "emacs-helm-descbinds")
15398 (version (git-version "1.13" "1" commit))
15399 (source
15400 (origin
15401 (method git-fetch)
15402 (uri (git-reference
15403 (url "https://github.com/emacs-helm/helm-descbinds")
15404 (commit commit)))
15405 (file-name (git-file-name name version))
15406 (sha256
15407 (base32
15408 "1n89p56qwa243w1c85i5awnaf7piwjsvfi7nmnsrwm33hix5dknk"))))
15409 (build-system emacs-build-system)
15410 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15411 (home-page "https://github.com/emacs-helm/helm-descbinds")
15412 (synopsis "Convenient @code{describe-bindings} with Helm")
15413 (description
15414 "This package is a replacement of @code{describe-bindings} for Helm.
15415 @code{describe-bindings} is replaced with @code{helm-descbinds}. As usual,
15416 type @code{C-h b}, or any incomplete key sequence plus @code{C-h}, to run
15417 @code{helm-descbinds}. The bindings are presented in a similar way as
15418 @code{describe-bindings} does, but you can use completion to find the command
15419 you searched for and execute it, or view its documentation.")
15420 (license license:gpl3+))))
15421
15422 (define-public emacs-helm-emms
15423 (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"))
15424 (package
15425 (name "emacs-helm-emms")
15426 (version (git-version "1.3" "2" commit))
15427 (source
15428 (origin
15429 (method git-fetch)
15430 (uri (git-reference
15431 (url "https://github.com/emacs-helm/helm-emms")
15432 (commit commit)))
15433 (file-name (git-file-name name version))
15434 (sha256
15435 (base32
15436 "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"))))
15437 (build-system emacs-build-system)
15438 (propagated-inputs
15439 `(("emacs-helm" ,emacs-helm)
15440 ("emacs-emms" ,emacs-emms)))
15441 (home-page
15442 "https://github.com/emacs-helm/helm-emms")
15443 (synopsis "Emms for Helm")
15444 (description "Helm interface for Emms to browse all tracks and all folders
15445 from @code{emms-source-file-default-directory}.")
15446 (license license:gpl3+))))
15447
15448 (define-public emacs-helm-exwm
15449 (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5"))
15450 (package
15451 (name "emacs-helm-exwm")
15452 (version (git-version "20180703" "2" commit))
15453 (source
15454 (origin
15455 (method git-fetch)
15456 (uri (git-reference
15457 (url "https://github.com/emacs-helm/helm-exwm.git")
15458 (commit commit)))
15459 (file-name (git-file-name name version))
15460 (sha256
15461 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"))))
15462 (build-system emacs-build-system)
15463 (propagated-inputs
15464 `(("emacs-helm" ,emacs-helm)
15465 ("emacs-exwm" ,emacs-exwm)))
15466 (home-page
15467 "https://github.com/emacs-helm/helm-exwm")
15468 (synopsis "Helm for EXWM buffers")
15469 (description
15470 "@code{helm-exwm} runs a Helm session over the list of EXWM buffers.
15471 @code{helm-exwm-switch} is a convenience X application launcher using Helm to
15472 switch between the various windows of one or several specific applications.
15473 See @code{helm-exwm-switch-browser} for an example.")
15474 (license license:gpl3+))))
15475
15476 (define-public emacs-helm-flycheck
15477 (let ((commit "3cf7d3bb194acacc6395f88360588013d92675d6"))
15478 (package
15479 (name "emacs-helm-flycheck")
15480 (version (git-version "0.4" "1" commit))
15481 (source
15482 (origin
15483 (method git-fetch)
15484 (uri (git-reference
15485 (url "https://github.com/yasuyk/helm-flycheck")
15486 (commit commit)))
15487 (file-name (git-file-name name version))
15488 (sha256
15489 (base32
15490 "1a2yfxhz04klwhcandqvfzysxp6b7bxyxx1xk1x3kds5hif5fkl4"))))
15491 (build-system emacs-build-system)
15492 (propagated-inputs
15493 `(("emacs-dash" ,emacs-dash)
15494 ("emacs-flycheck" ,emacs-flycheck)
15495 ("emacs-helm" ,emacs-helm)))
15496 (home-page "https://github.com/yasuyk/helm-flycheck")
15497 (synopsis "Show Flycheck errors with Helm")
15498 (description
15499 "This integrates Flycheck with Helm.")
15500 (license license:gpl3+))))
15501
15502 (define-public emacs-helm-ls-git
15503 (let ((commit "76654c776a7f6e2e5290645e748aac2a746f7daa"))
15504 (package
15505 (name "emacs-helm-ls-git")
15506 (version (git-version "1.9.1" "1" commit))
15507 (source
15508 (origin
15509 (method git-fetch)
15510 (uri (git-reference
15511 (url "https://github.com/emacs-helm/helm-ls-git")
15512 (commit commit)))
15513 (file-name (git-file-name name version))
15514 (sha256
15515 (base32
15516 "0vsq1n3xl3ghy5zik2scm7jrs501n4kybdqd6yw6j0cv4jxdqbr0"))))
15517 (build-system emacs-build-system)
15518 (propagated-inputs `(("emacs-helm" ,emacs-helm)))
15519 (home-page "https://github.com/emacs-helm/helm-ls-git")
15520 (synopsis "Helm interface for listing the files in a Git repository")
15521 (description
15522 "This package provides a Helm interface for Git files.
15523 @itemize
15524 @item Display the open buffers in project.
15525 @item Display a status source showing state of project (modified files etc.).
15526 @item Display a list of all files in project under git control.
15527 @item Quickly look at diffs of modified files.
15528 @item Allow switching to @code{git status} with your preferred frontend
15529 (vc-dir, Magit,etc.).
15530 @item Full integration of git-grep, also allow usage of @code{helm-grep} (you
15531 can use ack-grep instead of grep).
15532 @item Integrate usage of gid from id-utils.
15533 @item Full integration with @code{helm-find-files}, allow you to browse
15534 projects unrelated to current-buffer.
15535 @item In addition, all actions of type files and buffers are provided.
15536 @end itemize\n")
15537 (license license:gpl3+))))
15538
15539 (define-public emacs-helm-mu
15540 (let ((commit "77e6fea24e01481418738421dbcfe28ef1bd63cf"))
15541 (package
15542 (name "emacs-helm-mu")
15543 (version (git-version "20180513" "1" commit))
15544 (source
15545 (origin
15546 (method git-fetch)
15547 (uri (git-reference
15548 (url "https://github.com/emacs-helm/helm-mu.git")
15549 (commit commit)))
15550 (file-name (git-file-name name version))
15551 (sha256
15552 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz"))))
15553 (build-system emacs-build-system)
15554 (propagated-inputs
15555 `(("emacs-helm" ,emacs-helm)
15556 ("mu" ,mu)))
15557 (home-page
15558 "https://github.com/emacs-helm/helm-mu")
15559 (synopsis
15560 "Helm sources for searching emails and contacts")
15561 (description
15562 "Helm sources for searching emails and contacts using @code{mu} and
15563 @code{mu4e}. Mu is an indexer for maildirs and mu4e is a mutt-like MUA for
15564 Emacs build on top of mu. Mu is highly efficient making it possible to get
15565 instant results even for huge maildirs. It also provides search operators,
15566 e.g: @code{from:Peter to:Anne flag:attach search term}.")
15567 (license license:gpl3+))))
15568
15569 (define-public emacs-helm-pass
15570 (package
15571 (name "emacs-helm-pass")
15572 (version "0.3")
15573 (source
15574 (origin
15575 (method git-fetch)
15576 (uri (git-reference
15577 (url "https://github.com/emacs-helm/helm-pass")
15578 (commit version)))
15579 (file-name (git-file-name name version))
15580 (sha256
15581 (base32
15582 "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"))))
15583 (build-system emacs-build-system)
15584 (propagated-inputs
15585 `(("emacs-helm" ,emacs-helm)
15586 ("emacs-password-store" ,emacs-password-store)))
15587 (home-page "https://github.com/emacs-helm/helm-pass")
15588 (synopsis "Helm interface to pass, the standard Unix password manager")
15589 (description
15590 "Users of @code{helm-pass} may also be interested in functionality
15591 provided by other Emacs packages dealing with pass:
15592 @itemize
15593 @item @code{emacs-password-store}, which @code{helm-pass} relies on.
15594 @item @code{emacs-pass}, a major mode for @code{pass}.
15595 @item @code{auth-source-pass.el}: integration of Emacs' auth-source with
15596 @code{pass}, included in Emacs 26+).
15597 @end itemize\n")
15598 (license license:gpl3+)))
15599
15600 (define-public emacs-image+
15601 (let ((commit "6834d0c09bb4df9ecc0d7a559bd7827fed48fffc"))
15602 (package
15603 (name "emacs-image+")
15604 (version (git-version "0.6.2" "1" commit))
15605 (source
15606 (origin
15607 (method git-fetch)
15608 (uri (git-reference
15609 (url "https://github.com/mhayashi1120/Emacs-imagex")
15610 (commit commit)))
15611 (file-name (git-file-name name version))
15612 (sha256
15613 (base32
15614 "0v66wk9nh0raih4jhrzmmyi5lbysjnmbv791vm2230ffi2hmwxnd"))))
15615 (build-system emacs-build-system)
15616 (inputs `(("imagemagick" ,imagemagick)))
15617 (arguments
15618 `(#:phases
15619 (modify-phases %standard-phases
15620 (add-after 'unpack 'configure
15621 (lambda* (#:key inputs outputs #:allow-other-keys)
15622 (let ((imagemagick (assoc-ref inputs "imagemagick")))
15623 ;; Specify the absolute file names of the various
15624 ;; programs so that everything works out-of-the-box.
15625 (chmod "image+.el" #o666)
15626 (emacs-substitute-variables
15627 "image+.el"
15628 ("imagex-convert-command"
15629 (string-append imagemagick "/bin/convert"))
15630 ("imagex-identify-command"
15631 (string-append imagemagick "/bin/identify")))))))))
15632 (home-page "https://github.com/mhayashi1120/Emacs-imagex")
15633 (synopsis "Image manipulation extensions for Emacs")
15634 (description
15635 "Image+ provides keybindings allowing you to zoom in or zoom out of an
15636 image, rotate it, save modified images, and more.")
15637 (license license:gpl3+))))
15638
15639 (define-public emacs-package-lint
15640 (let ((commit "69bb89d00ba212b734c676ad056aa793c450b288"))
15641 (package
15642 (name "emacs-package-lint")
15643 (version (git-version "0.5" "1" commit))
15644 (source
15645 (origin
15646 (method git-fetch)
15647 (uri (git-reference
15648 (url "https://github.com/purcell/package-lint")
15649 (commit commit)))
15650 (file-name (git-file-name name version))
15651 (sha256
15652 (base32
15653 "1hfricsgmy3x9snnd2p4xq6vnnv94qdsxxnxp07b3hqc9bhw31rq"))))
15654 (build-system emacs-build-system)
15655 (home-page "https://github.com/purcell/package-lint")
15656 (synopsis "Linting library for elisp package authors")
15657 (description
15658 "This provides a list of issues with the Emacs package metadata of a file,
15659 e.g. the package dependencies it requires. See function
15660 @code{package-lint-buffer}. Checks will currently be enabled only if a
15661 \"Package-Requires:\" or \"Package-Version:\" header is present in the
15662 file.")
15663 (license license:gpl3+))))
15664
15665 (define-public emacs-picpocket
15666 (let ((version "40")
15667 (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
15668 (package
15669 (name "emacs-picpocket")
15670 (version version)
15671 (source
15672 (origin
15673 (method git-fetch)
15674 (uri (git-reference
15675 (url "https://github.com/johanclaesson/picpocket")
15676 (commit commit)))
15677 (file-name (git-file-name name version))
15678 (sha256
15679 (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
15680 (build-system emacs-build-system)
15681 (arguments ; needed for running tests
15682 `(#:tests? #t
15683 #:emacs ,emacs
15684 #:test-command '("emacs" "--batch"
15685 "-l" "picpocket-test.el"
15686 "-f" "ert-run-tests-batch-and-exit")))
15687 (home-page "https://github.com/johanclaesson/picpocket")
15688 (synopsis "Image viewer for Emacs")
15689 (description
15690 "Picpocket is an image viewer for GNU Emacs. It has commands for:
15691
15692 @itemize
15693 @item File operations on the picture files (delete, move, copy, hardlink).
15694 @item Scale and rotate the picture.
15695 @item Associate pictures with tags which are saved to disk.
15696 @item Filter pictures according to tags.
15697 @item Customizing keystrokes for quick tagging and file operations.
15698 @item Undo and browse history of undoable commands.
15699 @end itemize")
15700 (license license:gpl3+))))
15701
15702 (define-public emacs-wgrep-helm
15703 ;; `emacs-wgrep-helm' was mistakenly added.
15704 (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
15705
15706 (define-public emacs-mu4e-conversation
15707 (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
15708 (revision "5"))
15709 (package
15710 (name "emacs-mu4e-conversation")
15711 (version (git-version "0.0.1" revision commit))
15712 (source
15713 (origin
15714 (method git-fetch)
15715 (uri (git-reference
15716 (url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
15717 (commit commit)))
15718 (file-name (git-file-name name version))
15719 (sha256
15720 (base32
15721 "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
15722 (build-system emacs-build-system)
15723 (propagated-inputs
15724 `(("mu" ,mu)))
15725 (home-page
15726 "https://gitlab.com/Ambrevar/mu4e-conversation")
15727 (synopsis
15728 "Show a complete thread in a single buffer")
15729 (description
15730 "This package offers an alternate view to mu4e's e-mail display. It
15731 shows all e-mails of a thread in a single view, where each correspondent has
15732 their own face. Threads can be displayed linearly (in which case e-mails are
15733 displayed in chronological order) or as an Org document where the node tree
15734 maps the thread tree.")
15735 (license license:gpl3+))))
15736
15737 (define-public emacs-pinentry
15738 (let ((commit "dcc9ba03252ee5d39e03bba31b420e0708c3ba0c")
15739 (revision "1"))
15740 (package
15741 (name "emacs-pinentry")
15742 (version (git-version "0.1" revision commit))
15743 (source
15744 (origin
15745 (method url-fetch)
15746 (uri (string-append
15747 "http://git.savannah.gnu.org/cgit/emacs/elpa.git/plain"
15748 "/packages/pinentry/pinentry.el?id=" commit))
15749 (file-name (string-append "pinentry.el"))
15750 (sha256
15751 (base32
15752 "1lf30q6r8nz5cjzclbb9bbymsk2y75nskvb55hnjdv93gr3j0sik"))))
15753 (build-system emacs-build-system)
15754 (propagated-inputs
15755 `(("gnupg" ,gnupg)))
15756 (home-page "https://elpa.gnu.org/packages/pinentry.html")
15757 (synopsis "GnuPG Pinentry server implementation")
15758 (description
15759 "This package allows GnuPG passphrase to be prompted through the
15760 minibuffer instead of graphical dialog.
15761
15762 To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
15763 reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
15764 server with @code{M-x pinentry-start}.")
15765 (license license:gpl3+))))
15766
15767 (define-public emacs-so-long
15768 (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c")
15769 (revision "2"))
15770 (package
15771 (name "emacs-so-long")
15772 (version (git-version "1.0" revision commit))
15773 (source
15774 (origin
15775 (method git-fetch)
15776 (uri (git-reference
15777 (url "https://git.savannah.gnu.org/git/so-long.git")
15778 (commit commit)))
15779 (file-name (git-file-name name version))
15780 (sha256
15781 (base32
15782 "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin"))))
15783 (build-system emacs-build-system)
15784 (home-page "https://www.emacswiki.org/emacs/SoLong")
15785 (synopsis "Improve performance in files with long lines")
15786 (description "This package improves the performance of Emacs when
15787 viewing files with long lines.")
15788 (license license:gpl3+))))
15789
15790 (define-public emacs-github-review
15791 (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
15792 (revision "2"))
15793 (package
15794 (name "emacs-github-review")
15795 (version (git-version "0.1" revision commit))
15796 (source
15797 (origin
15798 (method git-fetch)
15799 (uri (git-reference
15800 (url "https://github.com/charignon/github-review")
15801 (commit commit)))
15802 (file-name (git-file-name name version))
15803 (sha256
15804 (base32
15805 "0injfpxzgfhmqalba845j5l5cdcxxqz43knhxwinf36g52nfabl0"))))
15806 (build-system emacs-build-system)
15807 (inputs
15808 `(("emacs-dash" ,emacs-dash)
15809 ("emacs-s" ,emacs-s)
15810 ("emacs-ghub" ,emacs-ghub)))
15811 (native-inputs
15812 `(("emacs-buttercup" ,emacs-buttercup)
15813 ("emacs-undercover" ,emacs-undercover)))
15814 (arguments
15815 `(#:tests? #t
15816 #:test-command '("buttercup" "-L" "test/github-review-test.el")))
15817 (home-page "https://github.com/charignon/github-review")
15818 (synopsis "Review GitHub pull requests within Emacs")
15819 (description "This package provides commands to pull in, comment on, and
15820 accept and reject GitHub pull requests.")
15821 (license license:gpl3+))))
15822
15823 (define-public emacs-deadgrep
15824 (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
15825 (revision "2"))
15826 (package
15827 (name "emacs-deadgrep")
15828 (version (git-version "0.8" revision commit))
15829 (source
15830 (origin
15831 (method git-fetch)
15832 (uri (git-reference
15833 (url "https://github.com/Wilfred/deadgrep")
15834 (commit commit)))
15835 (file-name (git-file-name name version))
15836 (sha256
15837 (base32
15838 "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
15839 (build-system emacs-build-system)
15840 (inputs
15841 `(("emacs-dash" ,emacs-dash)
15842 ("emacs-s" ,emacs-s)
15843 ("emacs-spinner" ,emacs-spinner)))
15844 (home-page "https://github.com/Wilfred/deadgrep")
15845 (synopsis "Frontend for @code{ripgrep}")
15846 (description "This package provides an Emacs interface for performing
15847 searches with @code{ripgrep}.")
15848 (license license:gpl3+))))
15849
15850 (define-public emacs-focus
15851 (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
15852 (version "0.1.1")
15853 (revision "1"))
15854 (package
15855 (name "emacs-focus")
15856 (version (git-version version revision commit))
15857 (source
15858 (origin
15859 (method git-fetch)
15860 (uri (git-reference
15861 (url "https://github.com/larstvei/Focus")
15862 (commit commit)))
15863 (file-name (git-file-name name version))
15864 (sha256
15865 (base32
15866 "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
15867 (build-system emacs-build-system)
15868 (home-page "https://github.com/larstvei/Focus")
15869 (synopsis "Minor mode for focusing in on relevant text")
15870 (description "This package provides a minor mode that dims the color of
15871 text in neighboring sections.")
15872 (license license:gpl3+))))
15873
15874 (define-public emacs-pandoc-mode
15875 (package
15876 (name "emacs-pandoc-mode")
15877 (version "2.27.2")
15878 (source
15879 (origin
15880 (method git-fetch)
15881 (uri (git-reference
15882 (url "https://github.com/joostkremers/pandoc-mode")
15883 (commit version)))
15884 (file-name (git-file-name name version))
15885 (sha256
15886 (base32
15887 "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
15888 (build-system emacs-build-system)
15889 (propagated-inputs
15890 `(("emacs-dash" ,emacs-dash)
15891 ("emacs-hydra" ,emacs-hydra)))
15892 (home-page "https://github.com/joostkremers/pandoc-mode")
15893 (synopsis "Minor mode for interacting with Pandoc")
15894 (description "This package provides a Hydra menu for interacting with the
15895 Pandoc, the document-conversion tool.")
15896 (license license:bsd-3)))
15897
15898 (define-public emacs-ccls
15899 (let ((commit "aab3e31fd716daf59f9794e62d473357263e8cc0")
15900 (revision "4"))
15901 (package
15902 (name "emacs-ccls")
15903 (version (git-version "0.1" revision commit))
15904 (source
15905 (origin
15906 (method git-fetch)
15907 (uri (git-reference
15908 (url "https://github.com/MaskRay/emacs-ccls")
15909 (commit commit)))
15910 (file-name (git-file-name name version))
15911 (sha256
15912 (base32
15913 "1ykgw21ypyhwlyflppjcgqrj1xw4d9rld4z65qvwhk3f12cv113j"))))
15914 (build-system emacs-build-system)
15915 (propagated-inputs
15916 `(("ccls" ,ccls)
15917 ("emacs-dash" ,emacs-dash)
15918 ("emacs-projectile" ,emacs-projectile)
15919 ("emacs-lsp-mode" ,emacs-lsp-mode)))
15920 (home-page "https://github.com/MaskRay/emacs-ccls")
15921 (synopsis "Emacs support for the @code{ccls} language server")
15922 (description "This package extends @code{lsp-mode} to work with @code{C}
15923 and @code{C++} files through the @code{ccls} language server.")
15924 (license license:expat))))
15925
15926 (define-public emacs-org-brain
15927 (package
15928 (name "emacs-org-brain")
15929 (version "0.5")
15930 (source
15931 (origin
15932 (method git-fetch)
15933 (uri (git-reference
15934 (url "https://github.com/Kungsgeten/org-brain.git")
15935 (commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
15936 (file-name (git-file-name name version))
15937 (sha256
15938 (base32
15939 "1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
15940 (build-system emacs-build-system)
15941 (home-page "https://github.com/Kungsgeten/org-brain")
15942 (synopsis "Org-mode wiki and concept-mapping for Emacs")
15943 (description "@code{emacs-org-brain} implements a variant of concept
15944 mapping in Emacs, using @code{org-mode}. An org-brain is a network of
15945 org-mode entries, where each entry is a file or a headline, and you can get a
15946 visual overview of the relationships between the entries: parents, children,
15947 siblings and friends. This visual overview can also be used to browse your
15948 entries. You can think of entries as nodes in a mind map, or pages in a
15949 wiki.")
15950 (license license:expat)))
15951
15952 (define-public emacs-recent-addresses
15953 (let ((commit "afbbfdc43b81e620acf827ca20d297e0c517b6eb")
15954 (revision "1"))
15955 (package
15956 (name "emacs-recent-addresses")
15957 (home-page "http://nschum.de/src/emacs/recent-addresses/")
15958 (version (git-version "0.1" revision commit))
15959 (source (origin
15960 (method git-fetch)
15961 (uri (git-reference
15962 ;; Note: Use a branch that works with Helm. Submitted
15963 ;; at <https://github.com/nschum/recent-addresses.el/pull/1>.
15964 (url "https://github.com/civodul/recent-addresses.el")
15965 (commit commit)))
15966 (sha256
15967 (base32
15968 "0ajrq0galjmdyjdjyxazykjyax3gh6hvfk4s7l657pi11g0q5zax"))
15969 (file-name (git-file-name name version))))
15970 (build-system emacs-build-system)
15971 (synopsis "Record recently-used email addressed and auto-complete them")
15972 (description
15973 "@code{recent-addresses} is an Emacs package that allows you to quickly
15974 look up previously used email addresses. It can be used alongside the Gnus
15975 email client.")
15976 (license license:gpl2+))))
15977
15978 (define-public emacs-fold-dwim
15979 (let ((commit "c46f4bb2ce91b4e307136320e72c28dd50b6cd8b")
15980 (revision "0"))
15981 (package
15982 (name "emacs-fold-dwim")
15983 (version (git-version "1.2" revision commit))
15984 (home-page "https://github.com/emacsattic/fold-dwim")
15985 (source (origin
15986 (method git-fetch)
15987 (uri (git-reference (url home-page) (commit commit)))
15988 (sha256
15989 (base32
15990 "1yz1wis31asw6xa5maliyd1ck2q02xnnh7dc6swgj9cb4wi7k6i1"))
15991 (file-name (git-file-name name version))))
15992 (build-system emacs-build-system)
15993 (synopsis "Unified user interface for Emacs folding modes")
15994 (description
15995 "DWIM stands for \"do what I mean\", as in the idea that one keystroke
15996 can do different things depending on the context. In this package, it means
15997 that, if the cursor is in a currently hidden folded construction, we want to
15998 show it; if it's not, we want to hide whatever fold the cursor is in.")
15999 (license license:gpl2+))))
16000
16001 (define-public emacs-markup-faces
16002 (package
16003 (name "emacs-markup-faces")
16004 (version "1.0.0")
16005 (source
16006 (origin
16007 (method url-fetch)
16008 (uri (string-append "https://stable.melpa.org/packages/markup-faces-"
16009 version ".el"))
16010 (sha256
16011 (base32
16012 "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32"))))
16013 (build-system emacs-build-system)
16014 (home-page "https://github.com/sensorflo/markup-faces")
16015 (synopsis "Collection of Emacs faces for markup language modes")
16016 (description "emacs-markup-faces is like font-lock-faces, but tailored for
16017 markup languages instead programming languages. The sub group markup-faces-text
16018 is also intended for 'text viewing modes' such as info or (wo)man. This gives a
16019 common look and feel, or let's say theme, across different markup language modes
16020 and 'text viewing modes' respectively.")
16021 (license license:gpl3+)))
16022
16023 (define-public emacs-adoc-mode
16024 (package
16025 (name "emacs-adoc-mode")
16026 (version "0.6.6")
16027 (source
16028 (origin
16029 (method git-fetch)
16030 (uri (git-reference
16031 (url "https://github.com/sensorflo/adoc-mode.git")
16032 (commit (string-append "V" version))))
16033 (file-name (git-file-name name version))
16034 (sha256
16035 (base32
16036 "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm"))))
16037 (build-system emacs-build-system)
16038 (arguments
16039 `(#:phases
16040 (modify-phases %standard-phases
16041 ;; See: https://github.com/sensorflo/adoc-mode/issues/39.
16042 (add-after 'unpack 'disable-failing-tests
16043 (lambda _
16044 (let-syntax
16045 ((disable-tests
16046 (syntax-rules ()
16047 ((_ file ())
16048 (syntax-error "test names list must not be empty"))
16049 ((_ file (test-name ...))
16050 (substitute* file
16051 (((string-append "^\\(ert-deftest " test-name ".*") all)
16052 (string-append all "(skip-unless nil)\n")) ...)))))
16053 (disable-tests "adoc-mode-test.el"
16054 ("adoctest-test-tempo-delimited-blocks"
16055 "adoctest-test-tempo-macros"
16056 "adoctest-test-tempo-paragraphs"
16057 "adoctest-test-tempo-passthroug-macros"
16058 "adoctest-test-tempo-quotes")))
16059 #t)))
16060 #:tests? #t
16061 #:test-command '("emacs" "-Q" "-batch"
16062 "-l" "adoc-mode-test.el"
16063 "-f" "ert-run-tests-batch-and-exit")))
16064 (propagated-inputs
16065 `(("emacs-markup-faces" ,emacs-markup-faces)))
16066 (home-page "https://github.com/sensorflo/adoc-mode/wiki")
16067 (synopsis "AsciiDoc mode for Emacs")
16068 (description "This package provides an Emacs major mode for editing AsciiDoc
16069 files. It focuses on highlighting the document to improve readability.")
16070 (license license:gpl2+)))
16071
16072 (define-public emacs-rust-mode
16073 (package
16074 (name "emacs-rust-mode")
16075 (version "0.4.0")
16076 (source (origin
16077 (method git-fetch)
16078 (uri (git-reference
16079 (url "https://github.com/rust-lang/rust-mode")
16080 (commit version)))
16081 (file-name (git-file-name name version))
16082 (sha256
16083 (base32
16084 "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"))))
16085 (build-system emacs-build-system)
16086 (arguments
16087 `(#:phases
16088 (modify-phases %standard-phases
16089 (replace 'check
16090 (lambda _
16091 (invoke "sh" "run_rust_emacs_tests.sh"))))))
16092 (home-page "https://github.com/rust-lang/rust-mode")
16093 (synopsis "Major Emacs mode for editing Rust source code")
16094 (description "This package provides a major Emacs mode for editing Rust
16095 source code.")
16096 (license (list license:expat
16097 license:asl2.0))))
16098
16099 (define-public emacs-ztree
16100 (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94"))
16101 (package
16102 (name "emacs-ztree")
16103 (version (git-version "1.0.5" "1" commit))
16104 (source
16105 (origin
16106 (method git-fetch)
16107 (uri (git-reference
16108 (url "https://github.com/fourier/ztree")
16109 (commit commit)))
16110 (file-name (git-file-name name version))
16111 (sha256
16112 (base32
16113 "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0"))))
16114 (build-system emacs-build-system)
16115 (home-page "https://github.com/fourier/ztree")
16116 (synopsis "Directory tree comparison mode for Emacs")
16117 (description "Ztree is a project dedicated to implementation of several
16118 text-tree applications inside GNU Emacs. It consists of 2 subprojects:
16119 @command{ztree-diff} and @command{ztree-dir} (the basis of
16120 @command{ztree-diff}).")
16121 (license license:gpl3))))
16122
16123 (define-public emacs-helm-org-contacts
16124 (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc"))
16125 (package
16126 (name "emacs-helm-org-contacts")
16127 (version (git-version "20180707" "1" commit))
16128 (source
16129 (origin
16130 (method git-fetch)
16131 (uri (git-reference
16132 (url "https://github.com/tmalsburg/helm-org-contacts")
16133 (commit commit)))
16134 (file-name (git-file-name name version))
16135 (sha256
16136 (base32
16137 "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s"))))
16138 (build-system emacs-build-system)
16139 (propagated-inputs
16140 `(("emacs-dash" ,emacs-dash)
16141 ("emacs-helm" ,emacs-helm)
16142 ("emacs-s" ,emacs-s)))
16143 (home-page "https://github.com/tmalsburg/helm-org-contacts")
16144 (synopsis "Helm source for org-contacts")
16145 (description "This Helm source can be used to search contacts stored in
16146 org-contacts format. There are actions for inserting postal addresses, email
16147 addresses, and phone numbers in the buffer where @command{helm-org-contacts}
16148 was called.")
16149 (license license:gpl3))))
16150
16151 (define-public emacs-dired-du
16152 (package
16153 (name "emacs-dired-du")
16154 (version "0.5.2")
16155 (source
16156 (origin
16157 (method url-fetch)
16158 (uri (string-append
16159 "https://elpa.gnu.org/packages/dired-du-" version ".tar"))
16160 (sha256
16161 (base32 "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"))))
16162 (build-system emacs-build-system)
16163 (home-page "https://elpa.gnu.org/packages/dired-du.html")
16164 (synopsis "Dired with recursive directory sizes")
16165 (description
16166 "Display the recursive size of directories in Dired.
16167 This file defines a minor mode @command{dired-du-mode} to show the recursive
16168 size of directories in Dired buffers. If @command{du} program is available,
16169 then the directory sizes are obtained with it. Otherwise, the directory sizes
16170 are obtained with Lisp. The former is faster and provide a more precise
16171 value. For directories where the user doesn't have read permission, the
16172 recursive size is not obtained. Once this mode is enabled, every new Dired
16173 buffer displays recursive dir sizes.")
16174 (license license:gpl3+)))
16175
16176 (define-public emacs-dired-rsync
16177 (package
16178 (name "emacs-dired-rsync")
16179 (version "0.4")
16180 (source (origin
16181 (method git-fetch)
16182 (uri (git-reference
16183 (url "https://github.com/stsquad/dired-rsync.git")
16184 (commit version)))
16185 (file-name (git-file-name name version))
16186 (sha256
16187 (base32
16188 "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
16189 (build-system emacs-build-system)
16190 (propagated-inputs
16191 `(("emacs-s" ,emacs-s)
16192 ("emacs-dash" ,emacs-dash)))
16193 (home-page "https://github.com/stsquad/dired-rsync/")
16194 (synopsis "Support for rsync from Emacs dired buffers")
16195 (description "This package adds a single command @code{dired-rsync} which
16196 allows the user to copy marked files in a dired buffer via @code{rsync}. This
16197 is useful, especially for large files, because the copy happens in the
16198 background and doesn’t lock up Emacs. It is also more efficient than using
16199 tramps own encoding methods for moving data between systems.")
16200 (license license:gpl3+)))
16201
16202 (define-public emacs-pcre2el
16203 ;; Last release is very old so we get the latest commit.
16204 (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
16205 (package
16206 (name "emacs-pcre2el")
16207 (version (git-version "1.8" "1" commit))
16208 (source
16209 (origin
16210 (method git-fetch)
16211 (uri (git-reference
16212 (url "https://github.com/joddie/pcre2el")
16213 (commit commit)))
16214 (file-name (git-file-name name version))
16215 (sha256
16216 (base32
16217 "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"))))
16218 (build-system emacs-build-system)
16219 (home-page "https://github.com/joddie/pcre2el")
16220 (synopsis "Convert between PCRE, Emacs and rx regexp syntax")
16221 (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp
16222 Tools) is a utility for working with regular expressions in Emacs, based on a
16223 recursive-descent parser for regexp syntax. In addition to converting (a
16224 subset of) PCRE syntax into its Emacs equivalent, it can do the following:
16225
16226 @itemize
16227 @item convert Emacs syntax to PCRE
16228 @item convert either syntax to @code{rx}, an S-expression based regexp syntax
16229 @item untangle complex regexps by showing the parse tree in @code{rx} form and
16230 highlighting the corresponding chunks of code
16231 @item show the complete list of strings (productions) matching a regexp,
16232 provided the list is finite
16233 @item provide live font-locking of regexp syntax (so far only for Elisp
16234 buffers – other modes on the TODO list).
16235 @end itemize\n")
16236 (license license:gpl3))))
16237
16238 (define-public emacs-magit-todos
16239 (package
16240 (name "emacs-magit-todos")
16241 (version "1.4")
16242 (source
16243 (origin
16244 (method git-fetch)
16245 (uri (git-reference
16246 (url "https://github.com/alphapapa/magit-todos")
16247 (commit version)))
16248 (file-name (git-file-name name version))
16249 (sha256
16250 (base32
16251 "09pjb4k409gc0h51vb5az1shx02c1hx8cnvhi529n7dm4maildg5"))))
16252 (build-system emacs-build-system)
16253 (propagated-inputs
16254 `(("emacs-async" ,emacs-async)
16255 ("emacs-dash" ,emacs-dash)
16256 ("emacs-f" ,emacs-f)
16257 ("emacs-hl-todo" ,emacs-hl-todo)
16258 ("magit" ,emacs-magit)
16259 ("emacs-pcre2el" ,emacs-pcre2el)
16260 ("emacs-s" ,emacs-s)))
16261 (home-page "https://github.com/alphapapa/magit-todos")
16262 (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer")
16263 (description "This package displays keyword entries from source code
16264 comments and Org files in the Magit status buffer. Activating an item jumps
16265 to it in its file. By default, it uses keywords from @code{hl-todo}, minus a
16266 few (like NOTE).")
16267 (license license:gpl3)))
16268
16269 (define-public emacs-git-annex
16270 ;; Unreleased version has a fontification fix.
16271 (let ((commit "1324d3f23c534fe79391a2c256bb8803054e383b")
16272 (revision "2"))
16273 (package
16274 (name "emacs-git-annex")
16275 (version (git-version "1.1" revision commit))
16276 (source
16277 (origin
16278 (method git-fetch)
16279 (uri (git-reference
16280 (url "https://github.com/jwiegley/git-annex-el")
16281 (commit commit)))
16282 (file-name (git-file-name name version))
16283 (sha256
16284 (base32
16285 "1lfky2nsrlndlbvk6vwbswnvbvkz1sxgg0n3r5q6xykdkjym0lrh"))))
16286 (build-system emacs-build-system)
16287 (home-page "https://github.com/jwiegley/git-annex-el")
16288 (synopsis "Emacs integration for git-annex")
16289 (description "Enhances Dired and buffers visiting annex files with
16290 git-annex functionality. In Dired, the names of annex files are shortened by
16291 hiding the symbolic links and fontified based on whether content is present.
16292 Commands for performing some common operations (e.g., unlocking and adding
16293 files) are provided.")
16294 (license license:gpl2+))))
16295
16296 (define-public emacs-hackernews
16297 (let ((commit "2362d7b00e59da7caddc8c0adc24dccb42fddef9")
16298 (revision "2"))
16299 (package
16300 (name "emacs-hackernews")
16301 (version (git-version "0.5.0" revision commit))
16302 (source
16303 (origin
16304 (method git-fetch)
16305 (uri (git-reference
16306 (url "https://github.com/clarete/hackernews.el")
16307 (commit commit)))
16308 (file-name (git-file-name name version))
16309 (sha256
16310 (base32
16311 "1hcc5b173yzcvvd2ls3jxrmsw2w9bi21m9hcpcirkn0nh93ywadv"))))
16312 (build-system emacs-build-system)
16313 (home-page "https://github.com/clarete/hackernews.el")
16314 (synopsis "Hacker News client for Emacs")
16315 (description "The @command{hackernews} package is able to fetch stories
16316 from six different Hacker News feeds, namely top, new, best, ask, show and job
16317 stories. The default feed is top stories, which corresponds to the Hacker
16318 News homepage.")
16319 (license license:gpl3))))
16320
16321 (define-public emacs-youtube-dl
16322 (let ((commit "af877b5bc4f01c04fccfa7d47a2c328926f20ef4")
16323 (revision "2"))
16324 (package
16325 (name "emacs-youtube-dl")
16326 (version (git-version "1.0" "2" commit))
16327 (source
16328 (origin
16329 (method git-fetch)
16330 (uri (git-reference
16331 (url "https://github.com/skeeto/youtube-dl-emacs/")
16332 (commit commit)))
16333 (file-name (git-file-name name version))
16334 (sha256
16335 (base32
16336 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
16337 (build-system emacs-build-system)
16338 (inputs
16339 `(("youtube-dl" ,youtube-dl)))
16340 (arguments
16341 `(#:phases
16342 (modify-phases %standard-phases
16343 (add-after 'unpack 'configure
16344 (lambda* (#:key inputs #:allow-other-keys)
16345 (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
16346 ;; .el is read-only in git.
16347 (chmod "youtube-dl.el" #o644)
16348 ;; Specify the absolute file names of the various
16349 ;; programs so that everything works out-of-the-box.
16350 (emacs-substitute-variables
16351 "youtube-dl.el"
16352 ("youtube-dl-program"
16353 (string-append youtube-dl "/bin/youtube-dl")))))))))
16354 (home-page "https://github.com/skeeto/youtube-dl-emacs/")
16355 (synopsis "Emacs youtube-dl download manager")
16356 (description "This package manages a video download queue for
16357 @command{youtube-dl}, which serves as the back end. It manages a single
16358 @command{youtube-dl} subprocess, downloading one video at a time. New videos
16359 can be queued at any time.")
16360 (license license:unlicense))))
16361
16362 (define-public emacs-org-web-tools
16363 (package
16364 (name "emacs-org-web-tools")
16365 (version "1.0")
16366 (source
16367 (origin
16368 (method git-fetch)
16369 (uri (git-reference
16370 (url "https://github.com/alphapapa/org-web-tools")
16371 (commit version)))
16372 (file-name (git-file-name name version))
16373 (sha256
16374 (base32
16375 "0kak9h5ny00d39gnwspv53nadnag01brw2fq9zk5wpfc91h9bjng"))))
16376 (build-system emacs-build-system)
16377 (propagated-inputs
16378 `(("emacs-dash" ,emacs-dash)
16379 ("emacs-esxml" ,emacs-esxml)
16380 ("emacs-s" ,emacs-s)))
16381 (inputs
16382 `(("pandoc" ,ghc-pandoc)))
16383 (arguments
16384 `(#:phases
16385 (modify-phases %standard-phases
16386 (add-after 'unpack 'patch-exec-paths
16387 (lambda* (#:key inputs #:allow-other-keys)
16388 (let ((pandoc (assoc-ref inputs "pandoc")))
16389 (substitute* "org-web-tools.el"
16390 (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
16391 #t))))))
16392 (home-page "https://github.com/alphapapa/org-web-tools")
16393 (synopsis "Display/Process web page as Org-mode content")
16394 (description "This package contains library functions and commands useful
16395 for retrieving web page content and processing it into Org-mode content.
16396
16397 For example, you can copy a URL to the clipboard or kill-ring, then run a
16398 command that downloads the page, isolates the “readable” content with
16399 @command{eww-readable}, converts it to Org-mode content with Pandoc, and
16400 displays it in an Org-mode buffer. Another command does all of that but
16401 inserts it as an Org entry instead of displaying it in a new buffer.")
16402 (license license:gpl3+)))
16403
16404 (define-public emacs-blimp
16405 (let ((commit "e420763d6d18b5d1be552cdbc47f91418343db03"))
16406 (package
16407 (name "emacs-blimp")
16408 (version (git-version "0.0.0" "1" commit))
16409 (source
16410 (origin
16411 (method git-fetch)
16412 (uri (git-reference
16413 (url "https://github.com/walseb/blimp")
16414 (commit commit)))
16415 (file-name (git-file-name name version))
16416 (sha256
16417 (base32
16418 "09wmhpym516b81dfq8smdmysh1fn610dzlyvyl2rkx8600f0fizd"))))
16419 (build-system emacs-build-system)
16420 (propagated-inputs
16421 `(("emacs-eimp" ,emacs-eimp)))
16422 (home-page "https://github.com/walseb/blimp")
16423 (synopsis "Emacs wrapper around all Imagemagick commands")
16424 (description "Blimp (Bustling Image Manipulation Package) is a complete
16425 wrapper around all Imagemagick commands with descriptions, autocompletion (for
16426 some commands) and hints displayed in prompt using @command{eimp.el} to
16427 execute its commands and resize images.")
16428 (license license:gpl3+))))
16429
16430 (define-public emacs-synosaurus
16431 (let ((commit "8bf95b935976ec0a1964cf175ed57cc5f6f93bdb"))
16432 (package
16433 (name "emacs-synosaurus")
16434 (version (git-version "0.1.0" "1" commit))
16435 (source
16436 (origin
16437 (method git-fetch)
16438 (uri (git-reference
16439 (url "https://github.com/hpdeifel/synosaurus")
16440 (commit commit)))
16441 (file-name (git-file-name name version))
16442 (sha256
16443 (base32
16444 "15by9jccab6kyplxa6k0glzaivxkqdigl33gl2qi2cvy6f2q7gva"))))
16445 (build-system emacs-build-system)
16446 (propagated-inputs
16447 `(("wordnet" ,wordnet)))
16448 (arguments
16449 `(#:phases
16450 (modify-phases %standard-phases
16451 (add-after 'unpack 'configure
16452 (lambda* (#:key inputs outputs #:allow-other-keys)
16453 (let ((wn (assoc-ref inputs "wordnet")))
16454 ;; .el is read-only in git.
16455 (chmod "synosaurus-wordnet.el" #o644)
16456 ;; Specify the absolute file names of the various
16457 ;; programs so that everything works out-of-the-box.
16458 (emacs-substitute-variables
16459 "synosaurus-wordnet.el"
16460 ("wordnet-command"
16461 (string-append wn "/bin/wn")))))))))
16462 (home-page "https://github.com/hpdeifel/synosaurus")
16463 (synopsis "Extensible thesaurus mode for Emacs")
16464 (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
16465 backends, including the @command{wordnet} offline backend.")
16466 (license license:gpl3+))))
16467
16468 (define-public emacs-editorconfig
16469 (package
16470 (name "emacs-editorconfig")
16471 (version "0.8.1")
16472 (source
16473 (origin
16474 (method git-fetch)
16475 (uri (git-reference
16476 (url "https://github.com/editorconfig/editorconfig-emacs")
16477 (commit (string-append "v" version))))
16478 (file-name (git-file-name name version))
16479 (sha256
16480 (base32
16481 "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
16482 (build-system emacs-build-system)
16483 (home-page "https://github.com/editorconfig/editorconfig-emacs")
16484 (synopsis "Define and maintain consistent coding styles between different
16485 editors and IDEs")
16486 (description "The EditorConfig project consists of a file format for
16487 defining coding styles and a collection of text editor plugins that enable
16488 editors to read the file format and adhere to defined styles. EditorConfig
16489 files are easily readable and they work nicely with version control systems.")
16490 (license license:gpl3+)))
16491
16492 (define-public emacs-all-the-icons
16493 (package
16494 (name "emacs-all-the-icons")
16495 (version "3.2.0")
16496 (source
16497 (origin
16498 (method git-fetch)
16499 (uri (git-reference
16500 (url "https://github.com/domtronn/all-the-icons.el.git")
16501 (commit version)))
16502 (file-name (git-file-name name version))
16503 (sha256
16504 (base32
16505 "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
16506 (build-system emacs-build-system)
16507 (arguments
16508 `(#:include '("\\.el$" "^data/" "^fonts/")
16509 ;; Compiling "test/" fails with "Symbol’s value as variable is void:
16510 ;; all-the-icons--root-code". Ignoring tests.
16511 #:exclude '("^test/")
16512 #:tests? #f))
16513 (propagated-inputs
16514 `(("f" ,emacs-f)
16515 ("memoize" ,emacs-memoize)))
16516 (home-page "https://github.com/domtronn/all-the-icons.el")
16517 (synopsis "Collect icon fonts and propertize them within Emacs")
16518 (description "All-the-icons is a utility package to collect various icon
16519 fonts and propertize them within Emacs. Icon fonts allow you to propertize
16520 and format icons the same way you would normal text. This enables things such
16521 as better scaling of and anti aliasing of the icons.")
16522 ;; Package is released under Expat license. Elisp files are licensed
16523 ;; under GPL3+. Fonts come with various licenses: Expat for
16524 ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
16525 ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
16526 ;; "ocitcons.ttf" and "weathericons.ttf".
16527 (license
16528 (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
16529
16530 (define-public emacs-wttrin
16531 (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc")
16532 (revision "1"))
16533 (package
16534 (name "emacs-wttrin")
16535 (version (git-version "0.2.0" revision commit))
16536 (source (origin
16537 (method git-fetch)
16538 (uri (git-reference
16539 (url "https://github.com/bcbcarl/emacs-wttrin.git")
16540 (commit commit)))
16541 (file-name (git-file-name name version))
16542 (sha256
16543 (base32
16544 "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"))))
16545 (build-system emacs-build-system)
16546 (propagated-inputs
16547 `(("emacs-xterm-color" ,emacs-xterm-color)))
16548 (home-page "https://github.com/bcbcarl/emacs-wttrin")
16549 (synopsis "Frontend for weather web service @url{wttr.in}")
16550 (description "This package provides local weather information from
16551 @url{wttr.in}.")
16552 (license license:expat))))
16553
16554 (define-public emacs-powerline
16555 (package
16556 (name "emacs-powerline")
16557 (version "2.4")
16558 (source
16559 (origin
16560 (method git-fetch)
16561 (uri (git-reference
16562 (url "https://github.com/milkypostman/powerline.git")
16563 (commit version)))
16564 (file-name (git-file-name name version))
16565 (sha256
16566 (base32
16567 "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
16568 (build-system emacs-build-system)
16569 (home-page "https://github.com/milkypostman/powerline/")
16570 (synopsis "Mode-line plugin for Emacs")
16571 (description "Powerline is a utility plugin which allows you to create
16572 a better-looking, more functional Emacs mode-line. A collection of predefined
16573 themes comes with the package.")
16574 (license license:gpl3+)))
16575
16576 (define-public emacs-spaceline
16577 (package
16578 (name "emacs-spaceline")
16579 (version "2.0.1")
16580 (source
16581 (origin
16582 (method git-fetch)
16583 (uri (git-reference
16584 (url "https://github.com/TheBB/spaceline.git")
16585 (commit (string-append "v" version))))
16586 (file-name (git-file-name name version))
16587 (sha256
16588 (base32
16589 "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
16590 (build-system emacs-build-system)
16591 (propagated-inputs
16592 `(("dash" ,emacs-dash)
16593 ("powerline" ,emacs-powerline)
16594 ("s" ,emacs-s)))
16595 (home-page "https://github.com/TheBB/spaceline")
16596 (synopsis "Powerline theme from Spacemacs")
16597 (description "Spaceline provides Spacemacs' mode-line theme.
16598 This package provides features for three kinds of users.
16599
16600 @itemize
16601 @item You just want to use the Spacemacs mode-line theme and forget about it.
16602 @item You want to use something similar to the Spacemacs mode-line theme, but
16603 with a handful of easy tweaks.
16604 @item You want an easy-to-use library for building your own mode-line from
16605 scratch, and you think the Spacemacs theme looks good.
16606 @end itemize")
16607 (license license:gpl3+)))
16608
16609 (define-public emacs-column-marker
16610 (package
16611 (name "emacs-column-marker")
16612 (version "9")
16613 (source
16614 (origin
16615 (method url-fetch)
16616 (uri "https://www.emacswiki.org/emacs/download/column-marker.el")
16617 (sha256 (base32 "05bv198zhqw5hqq6cr11mhz02dpca74hhp1ycwq369m0yb2naxy9"))))
16618 (build-system emacs-build-system)
16619 (home-page "https://www.emacswiki.org/emacs/ColumnMarker")
16620 (synopsis "Emacs mode for highlighting columns")
16621 (description
16622 "With @code{column-marker.el} you can highlight any number of text columns.
16623 Three such highlight column markers are provided by default. This is
16624 especially useful for languages like COBOL or Fortran where certain columns
16625 have special meaning. It is also handy for aligning text across long vertical
16626 distances. Multi-column characters, such as @kbd{TAB} are treated
16627 correctly.")
16628 (license license:gpl2+)))
16629
16630 (define-public emacs-slime-repl-ansi-color
16631 (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
16632 (package
16633 (name "emacs-slime-repl-ansi-color")
16634 (version (git-version "0.0.0" "1" commit))
16635 (source (origin
16636 (method git-fetch)
16637 (uri (git-reference
16638 (url "https://github.com/deadtrickster/slime-repl-ansi-color")
16639 (commit commit)))
16640 (file-name (git-file-name name version))
16641 (sha256
16642 (base32
16643 "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
16644 (build-system emacs-build-system)
16645 (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
16646 (synopsis "Color ANSI codes in the REPL of SLIME")
16647 (description "Color ANSI codes in the REPL of SLIME")
16648 (license license:gpl2+))))
16649
16650 (define-public emacs-helm-slime
16651 (package
16652 (name "emacs-helm-slime")
16653 (version "0.4.0")
16654 (source (origin
16655 (method git-fetch)
16656 (uri (git-reference
16657 (url "https://github.com/emacs-helm/helm-slime")
16658 (commit version)))
16659 (file-name (git-file-name name version))
16660 (sha256
16661 (base32
16662 "0mrpjhpijdrq353fnfvdj9l9xfsz390qlcvifcair9732ma7i8l0"))))
16663 (build-system emacs-build-system)
16664 (propagated-inputs
16665 `(("emacs-helm" ,emacs-helm)
16666 ("emacs-slime" ,emacs-slime)))
16667 (home-page "https://github.com/emacs-helm/helm-slime")
16668 (synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
16669 (description "Helm-SLIME defines a few new commands:
16670
16671 @itemize
16672 @item helm-slime-complete: Select a symbol from the SLIME completion systems.
16673 @item helm-slime-list-connections: Yet another slime-list-connections with Helm.
16674 @item: helm-slime-apropos: Yet another slime-apropos with Helm.
16675 @item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
16676 @end itemize\n")
16677 (license license:gpl3+)))
16678
16679 (define-public emacs-helm-sly
16680 (package
16681 (name "emacs-helm-sly")
16682 (version "0.4.1")
16683 (source (origin
16684 (method git-fetch)
16685 (uri (git-reference
16686 (url "https://github.com/emacs-helm/helm-sly")
16687 (commit version)))
16688 (file-name (git-file-name name version))
16689 (sha256
16690 (base32
16691 "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"))))
16692 (build-system emacs-build-system)
16693 (propagated-inputs
16694 `(("emacs-helm" ,emacs-helm)
16695 ("emacs-sly" ,emacs-sly)))
16696 (home-page "https://github.com/emacs-helm/helm-sly")
16697 (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
16698 (description "Helm-SLY defines a few new commands:
16699
16700 @itemize
16701 @item helm-sly-list-connections: Yet another Lisp connection list with Helm.
16702 @item: helm-sly-apropos: Yet another @command{apropos} with Helm.
16703 @item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an
16704 extra source of Lisp-related buffers, like the events buffer or the scratch
16705 buffer.
16706 @end itemize\n")
16707 (license license:gpl3+)))
16708
16709 (define-public emacs-gtk-look
16710 (package
16711 (name "emacs-gtk-look")
16712 (version "29")
16713 (source (origin
16714 (method url-fetch)
16715 (uri "https://download.tuxfamily.org/user42/gtk-look.el")
16716 (sha256
16717 (base32
16718 "14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
16719 (build-system emacs-build-system)
16720 (arguments
16721 `(#:phases
16722 (modify-phases %standard-phases
16723 (add-after 'unpack 'configure
16724 (lambda _
16725 ;; File is read-only.
16726 (chmod "gtk-look.el" #o644)
16727 (emacs-substitute-variables "gtk-look.el"
16728 ("gtk-lookup-devhelp-indices"
16729 '(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
16730 #t)))))
16731 (home-page "http://user42.tuxfamily.org/gtk-look/index.html")
16732 (synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
16733 (description "@command{gtk-look} finds and displays HTML documentation for
16734 GTK, GNOME and Glib functions and variables in Emacs, similar to what
16735 info-lookup-symbol does for info files (C-h S). The documentation is expected
16736 to be devhelp indexes with HTML files. The location of the indexes can be
16737 customized. In addition to C code development @command{gtk-look} is good for
16738
16739 @itemize
16740 @item @command{perl-gtk2}, recognising class funcs like
16741 @command{Gtk2::Label->new} and bare method names like @command{set_text}.
16742 @item @command{guile-gnome}, recognising methods like @command{set-text} and
16743 classes like @command{<gtk-window>}.
16744 @end itemize\n")
16745 (license license:gpl3+)))
16746
16747 (define-public emacs-ov
16748 (package
16749 (name "emacs-ov")
16750 (version "1.0.6")
16751 (source (origin
16752 (method git-fetch)
16753 (uri (git-reference
16754 (url "https://github.com/ShingoFukuyama/ov.el.git")
16755 (commit version)))
16756 (file-name (git-file-name name version))
16757 (sha256
16758 (base32
16759 "0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
16760 (build-system emacs-build-system)
16761 (home-page "https://github.com/ShingoFukuyama/ov.el")
16762 (synopsis "Overlay library for Emacs Lisp")
16763 (description "@code{ov.el} provides a simple way to manipulate overlays in
16764 Emacs.")
16765 (license license:gpl3+)))
16766
16767 (define-public emacs-matrix-client
16768 (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
16769 (package
16770 (name "emacs-matrix-client")
16771 (version (git-version "0.0.0" "4" commit))
16772 (source (origin
16773 (method git-fetch)
16774 (uri (git-reference
16775 (url "https://github.com/jgkamat/matrix-client-el.git")
16776 (commit commit)))
16777 (file-name (git-file-name name version))
16778 (sha256
16779 (base32
16780 "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
16781 (build-system emacs-build-system)
16782 (arguments
16783 `(#:phases
16784 (modify-phases %standard-phases
16785 (add-after 'unpack 'add-missing-require
16786 ;; Fix a filter error at runtime due to a missing require.
16787 ;; Reported upstream:
16788 ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
16789 (lambda _
16790 (substitute* "matrix-client-room.el"
16791 (("\\(require 'dash-functional\\)" all)
16792 (string-append all "\n" "(require 'anaphora)")))
16793 #t)))))
16794 (propagated-inputs
16795 `(("a" ,emacs-a)
16796 ("anaphora" ,emacs-anaphora)
16797 ("dash" ,emacs-dash)
16798 ("esxml" ,emacs-esxml)
16799 ("f" ,emacs-f)
16800 ("frame-purpose" ,emacs-frame-purpose)
16801 ("ht" ,emacs-ht)
16802 ("ov" ,emacs-ov)
16803 ("rainbow-identifiers" ,emacs-rainbow-identifiers)
16804 ("request" ,emacs-request)
16805 ("s" ,emacs-s)
16806 ("tracking" ,emacs-tracking)))
16807 (home-page "https://github.com/jgkamat/matrix-client-el")
16808 (synopsis "Matrix client for Emacs")
16809 (description "@code{matrix-client} is a simple chat UI to Matrix.org
16810 rooms. It also provides an API which allows Emacs to seamlessly create
16811 RPC channels with users and other software.")
16812 (license license:gpl3+))))
16813
16814 (define-public emacs-sesman
16815 (package
16816 (name "emacs-sesman")
16817 (version "0.3.4")
16818 (source
16819 (origin
16820 (method git-fetch)
16821 (uri (git-reference
16822 (url "https://github.com/vspinu/sesman.git")
16823 (commit (string-append "v" version))))
16824 (file-name (git-file-name name version))
16825 (sha256
16826 (base32
16827 "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"))))
16828 (build-system emacs-build-system)
16829 (arguments
16830 `(#:phases
16831 (modify-phases %standard-phases
16832 (add-after 'unpack 'set-shell
16833 ;; Setting the SHELL environment variable is required for the tests
16834 ;; to find sh.
16835 (lambda _
16836 (setenv "SHELL" (which "sh"))
16837 #t)))
16838 #:tests? #t
16839 #:test-command '("make" "test")))
16840 (home-page "https://github.com/vspinu/sesman")
16841 (synopsis "Session manager for Emacs based IDEs")
16842 (description "Sesman provides facilities for session management and
16843 interactive session association with the current contexts (project, directory,
16844 buffers). While sesman can be used to manage arbitrary sessions, it primary
16845 targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
16846 (license license:gpl3+)))
16847
16848 (define-public emacs-buttercup
16849 (package
16850 (name "emacs-buttercup")
16851 (version "1.16")
16852 (source
16853 (origin
16854 (method git-fetch)
16855 (uri (git-reference
16856 (url "https://github.com/jorgenschaefer/emacs-buttercup.git")
16857 (commit (string-append "v" version))))
16858 (file-name (git-file-name name version))
16859 (sha256
16860 (base32
16861 "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"))))
16862 (build-system emacs-build-system)
16863 (arguments
16864 `(#:tests? #t
16865 #:test-command '("make" "test")
16866 #:phases
16867 (modify-phases %standard-phases
16868 (add-after 'install 'install-bin
16869 (lambda* (#:key outputs #:allow-other-keys)
16870 (install-file "bin/buttercup"
16871 (string-append (assoc-ref outputs "out") "/bin"))
16872 #t)))))
16873 (home-page "https://github.com/jorgenschaefer/emacs-buttercup")
16874 (synopsis "Behavior driven emacs lisp testing framework")
16875 (description "Buttercup is a behavior-driven development framework for
16876 testing Emacs Lisp code. It allows to group related tests so they can share
16877 common set-up and tear-down code, and allows the programmer to \"spy\" on
16878 functions to ensure they are called with the right arguments during testing.")
16879 (license license:gpl3+)))
16880
16881 (define-public emacs-wordnut
16882 (let ((commit "feac531404041855312c1a046bde7ea18c674915")
16883 (revision "0"))
16884 (package
16885 (name "emacs-wordnut")
16886 (version (git-version "0.1" revision commit))
16887 (home-page "https://github.com/gromnitsky/wordnut")
16888 (source (origin
16889 (method git-fetch)
16890 (uri (git-reference (url home-page) (commit commit)))
16891 (sha256
16892 (base32
16893 "1jl0b6g64a9w0q7bfvwha67vgws5xd15b7mkfyb5gkz3pymqhfxn"))
16894 (patches
16895 (search-patches "emacs-wordnut-require-adaptive-wrap.patch"))
16896 (file-name (git-file-name name version))))
16897 (build-system emacs-build-system)
16898 (propagated-inputs
16899 `(("wordnet" ,wordnet)
16900 ("emacs-adaptive-wrap" ,emacs-adaptive-wrap)))
16901 (synopsis "Major mode for WordNet")
16902 (description "This Emacs package provides an interface for
16903 @code{wordnet}. Features include completion, if the query is not found
16904 too ambiguous and navigation in the result buffer.")
16905 (license license:gpl3+))))
16906
16907 (define-public emacs-frame-purpose
16908 (package
16909 (name "emacs-frame-purpose")
16910 (version "1.0")
16911 (source (origin
16912 (method git-fetch)
16913 (uri (git-reference
16914 (url "https://github.com/alphapapa/frame-purpose.el.git")
16915 (commit version)))
16916 (sha256
16917 (base32
16918 "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
16919 (file-name (git-file-name name version))))
16920 (build-system emacs-build-system)
16921 (inputs
16922 `(("dash" ,emacs-dash)))
16923 (synopsis "Purpose-specific frames for Emacs")
16924 (description "@code{frame-purpose} makes it easy to open purpose-specific
16925 frames that only show certain buffers, e.g. by buffers’ major mode, their
16926 filename or directory, etc, with custom frame/X-window titles, icons, and
16927 other frame parameters.")
16928 (home-page "https://github.com/alphapapa/frame-purpose.el")
16929 (license license:gpl3+)))
16930
16931 (define-public emacs-arduino-mode
16932 (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
16933 (package
16934 (name "emacs-arduino-mode")
16935 (version (git-version "0" "0" commit))
16936 (source (origin
16937 (method git-fetch)
16938 (uri (git-reference
16939 (url "https://github.com/bookest/arduino-mode.git")
16940 (commit commit)))
16941 (sha256
16942 (base32
16943 "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
16944 (file-name (git-file-name name version))))
16945 (build-system emacs-build-system)
16946 (synopsis "Emacs major mode for editing Arduino sketches")
16947 (description "Emacs major mode for editing Arduino sketches.")
16948 (home-page "https://github.com/bookest/arduino-mode")
16949 (license license:gpl3+))))
16950
16951 (define-public emacs-annalist
16952 (let ((commit "e0601539c9ac0171a684ea3ff6266d215d1d08e6")
16953 (revision "1"))
16954 (package
16955 (name "emacs-annalist")
16956 (version (git-version "1.0.0" revision commit))
16957 (source (origin
16958 (method git-fetch)
16959 (uri (git-reference
16960 (url "https://github.com/noctuid/annalist.el.git")
16961 (commit commit)))
16962 (sha256
16963 (base32
16964 "10bmimdzpi6cql4sb2hbgdvrza83xbac50bi9qng4z662pfnlaam"))
16965 (file-name (git-file-name name version))))
16966 (build-system emacs-build-system)
16967 (native-inputs
16968 `(("emacs-buttercup" ,emacs-buttercup)
16969 ("emacs-lispy" ,emacs-lispy)
16970 ("emacs-evil" ,emacs-evil)))
16971 (arguments
16972 `(#:phases
16973 (modify-phases %standard-phases
16974 (add-before 'check 'fix-makefile
16975 (lambda _
16976 (substitute* "Makefile"
16977 (("cask exec ") ""))
16978 #t)))
16979 #:tests? #t
16980 #:test-command '("make" "test")))
16981 (home-page "https://github.com/noctuid/annalist.el")
16982 (synopsis "Record and display information with Org headings and tables")
16983 (description "This package allows for keybindings, settings, hooks, and
16984 advice to be recorded and displayed.")
16985 (license license:gpl3+))))
16986
16987 (define-public emacs-general
16988 (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e")
16989 (revision "3"))
16990 (package
16991 (name "emacs-general")
16992 (version (git-version "0" revision commit))
16993 (source (origin
16994 (method git-fetch)
16995 (uri (git-reference
16996 (url "https://github.com/noctuid/general.el.git")
16997 (commit commit)))
16998 (sha256
16999 (base32
17000 "1aqi5axkwfng6rm52sblf738c7rffp10sqs69dvkh2fv3ps8q28i"))
17001 (file-name (git-file-name name version))))
17002 (build-system emacs-build-system)
17003 (native-inputs
17004 `(("emacs-buttercup" ,emacs-buttercup)
17005 ("emacs-evil" ,emacs-evil)
17006 ("emacs-which-key" ,emacs-which-key)
17007 ("emacs-use-package" ,emacs-use-package)))
17008 (arguments
17009 `(#:phases
17010 (modify-phases %standard-phases
17011 (add-before 'check 'fix-makefile
17012 (lambda _
17013 (substitute* "Makefile"
17014 (("cask exec ") ""))
17015 #t)))
17016 #:tests? #t
17017 #:test-command '("make" "test")))
17018 (home-page "https://github.com/noctuid/general.el")
17019 (synopsis "More convenient key definitions in emacs")
17020 (description "@code{general.el} provides a more convenient method for
17021 binding keys in emacs (for both evil and non-evil users). Like
17022 @code{use-package}, which provides a convenient, unified interface for
17023 managing packages, @code{general.el} is intended to provide a convenient,
17024 unified interface for key definitions. While this package does implement some
17025 completely new functionality (such as the ability to make vim-style
17026 keybindings under non-prefix keys with an optional timeout), its primary
17027 purpose is to build on existing functionality to make key definition more
17028 clear and concise. @code{general-define-key} is user-extensible and supports
17029 defining multiple keys in multiple keymaps at once, implicitly wrapping key
17030 strings with (@code{kbd ...}), using named prefix key sequences (like the
17031 leader key in vim), and much more.")
17032 (license license:gpl3+))))
17033
17034 (define-public emacs-tldr
17035 (let ((commit "398b197c8d2238628b07e1b32d0f373876279f4c"))
17036 (package
17037 (name "emacs-tldr")
17038 (version (git-version "0" "0" commit))
17039 (home-page "https://github.com/kuanyui/tldr.el")
17040 (source (origin
17041 (method git-fetch)
17042 (uri (git-reference
17043 (url (string-append home-page ".git"))
17044 (commit commit)))
17045 (sha256
17046 (base32
17047 "0iq7qlis6c6r2qkdpncrhh5vsihkhvy5x4y1y8cjb7zxkh62w33f"))
17048 (file-name (git-file-name name version))))
17049 (build-system emacs-build-system)
17050 (synopsis "Simplified and community-driven man pages for Emacs")
17051 (description "@code{emacs-tldr} allows the user to access tldr pages
17052 from within emacs. The @code{tldr} pages are a community effort to simplify
17053 the man pages with practical examples.")
17054 (license license:wtfpl2))))
17055
17056 (define-public emacs-window-layout
17057 (package
17058 (name "emacs-window-layout")
17059 (version "1.4")
17060 (home-page "https://github.com/kiwanami/emacs-window-layout")
17061 (source (origin
17062 (method git-fetch)
17063 (uri (git-reference
17064 (url home-page)
17065 (commit (string-append "v" version))))
17066 (sha256
17067 (base32
17068 "0wgqi8r844lbx52fn6az8c1n8m681rp6dkfzd54wmdk1ka7zmvv6"))
17069 (file-name (git-file-name name version))))
17070 (build-system emacs-build-system)
17071 (synopsis "Simple window layout management framework for emacs")
17072 (description "A window-layout management library that can split a frame
17073 or a window into some windows according to a layout recipe.")
17074 (license license:gpl3+)))
17075
17076 (define-public emacs-e2wm
17077 (package
17078 (name "emacs-e2wm")
17079 (version "1.4")
17080 (home-page "https://github.com/kiwanami/emacs-window-manager")
17081 (source (origin
17082 (method git-fetch)
17083 (uri (git-reference
17084 (url home-page)
17085 (commit (string-append "v" version))))
17086 (sha256
17087 (base32
17088 "12midsrx07pdrsr1qbl2rpi7xyhxqx08bkz7n7gf8vsmqkpfp56s"))
17089 (file-name (git-file-name name version))))
17090 (build-system emacs-build-system)
17091 (propagated-inputs
17092 `(("emacs-window-layout" ,emacs-window-layout)))
17093 (synopsis "Equilibrium Emacs Window Manager")
17094 (description "E2WM is a window manager for Emacs. It enables to
17095 customize the place of pop-up window, how the windows are split, how the
17096 buffers are located in the windows, keybinds to manipulate windows and
17097 buffers, etc. It also has plug-ins to help your Emacs life.")
17098 (license license:gpl3+)))
17099
17100 (define-public emacs-ctable
17101 (let ((commit "b8830d1ca95abb100a81bc32011bd17d5ecba000"))
17102 (package
17103 (name "emacs-ctable")
17104 (version (git-version "0.1.2" "1" commit))
17105 (home-page "https://github.com/kiwanami/emacs-ctable")
17106 (source (origin
17107 (method git-fetch)
17108 (uri (git-reference
17109 (url home-page)
17110 (commit commit)))
17111 (sha256
17112 (base32
17113 "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"))
17114 (file-name (git-file-name name version))))
17115 (build-system emacs-build-system)
17116 (synopsis "Table component for Emacs Lisp")
17117 (description "This program is a table component for Emacs Lisp. Other
17118 programs can use this table component for the application UI.")
17119 (license license:gpl3+))))
17120
17121 (define-public emacs-leetcode
17122 (let ((commit "8624496af9e105c3e07d88844b37ede87540d604")
17123 (revision "1"))
17124 (package
17125 (name "emacs-leetcode")
17126 (version (git-version "0" "1" commit))
17127 (home-page "https://github.com/ginqi7/leetcode-emacs.git")
17128 (source (origin
17129 (method git-fetch)
17130 (uri (git-reference
17131 (url "https://github.com/ginqi7/leetcode-emacs")
17132 (commit commit)))
17133 (sha256
17134 (base32
17135 "11pp7ydlmwrv7djf9mwk4xzn295xbmdnj5x13bfj5yjpjr89p531"))
17136 (file-name (git-file-name name version))))
17137 (build-system emacs-build-system)
17138 (propagated-inputs
17139 `(("emacs-names" ,emacs-names)
17140 ("emacs-ctable" ,emacs-ctable)))
17141 (synopsis "Solve and submit LeetCode problems from within Emacs")
17142 (description "This package provides an Emacs interface to LeetCode
17143 allowing users to log in and solve problems of their choice using Emacs.")
17144 (license license:unlicense))))
17145
17146 (define-public emacs-epc
17147 (let ((commit "e1bfa5ca163273859336e3cc89b4b6460f7f8cda"))
17148 (package
17149 (name "emacs-epc")
17150 (version (git-version "0.1.1" "1" commit))
17151 (home-page "https://github.com/kiwanami/emacs-epc")
17152 (source (origin
17153 (method git-fetch)
17154 (uri (git-reference
17155 (url home-page)
17156 (commit commit)))
17157 (sha256
17158 (base32
17159 "15nkrjgi64f829isfd6xrhl4zw8jirr8pkas7nisrbk1av868hx0"))
17160 (file-name (git-file-name name version))))
17161 (build-system emacs-build-system)
17162 (propagated-inputs
17163 `(("emacs-deferred" ,emacs-deferred)
17164 ("emacs-ctable" ,emacs-ctable)))
17165 (synopsis "RPC stack for Emacs Lisp")
17166 (description "This program is an asynchronous RPC stack for Emacs.
17167 Using this RPC stack, Emacs can communicate with the peer process
17168 smoothly. Because the protocol employs S-expression encoding and consists of
17169 asynchronous communications, the RPC response is fairly good.")
17170 (license license:gpl3+))))
17171
17172 (define-public emacs-edbi
17173 (let ((commit "6f50aaf4bde75255221f2292c7a4ad3fa9d918c0"))
17174 (package
17175 (name "emacs-edbi")
17176 (version (git-version "0.1.3" "1" commit))
17177 (home-page "https://github.com/kiwanami/emacs-edbi")
17178 (source (origin
17179 (method git-fetch)
17180 (uri (git-reference
17181 (url home-page)
17182 (commit commit)))
17183 (sha256
17184 (base32
17185 "0x0igyvdcm4863n7zndvcv6wgzwgn7324cbfjja6xd7r0k936zdy"))
17186 (file-name (git-file-name name version))))
17187 (build-system emacs-build-system)
17188 (inputs
17189 `(("perl" ,perl)
17190 ("perl-rpc-epc-service" ,perl-rpc-epc-service)
17191 ("perl-dbi" ,perl-dbi)
17192 ;; TODO: Adding support for perl-dbd-mysql and others would
17193 ;; dramatically increase the closure size. Make several packages?
17194 ("perl-dbd-sqlite" ,perl-dbd-sqlite)))
17195 (propagated-inputs
17196 `(("emacs-e2wm" ,emacs-e2wm)
17197 ("emacs-epc" ,emacs-epc)))
17198 (arguments
17199 `(#:include '("\\.el$" "\\.pl$")
17200 #:phases
17201 (modify-phases %standard-phases
17202 (add-after 'install 'patch-path
17203 (lambda* (#:key inputs outputs #:allow-other-keys)
17204 (let ((perl (assoc-ref inputs "perl"))
17205 (dir (string-append (assoc-ref outputs "out")
17206 "/share/emacs/site-lisp/guix.d/edbi-"
17207 ,version)))
17208 (substitute* (string-append dir "/edbi.el")
17209 (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
17210 (chmod (string-append dir "/edbi-bridge.pl") #o555)
17211 (wrap-program (string-append dir "/edbi-bridge.pl")
17212 `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))
17213 #t))))))
17214 (synopsis "Database Interface for Emacs Lisp")
17215 (description "This program connects the database server through Perl's
17216 DBI, and provides DB-accessing API and the simple management UI.")
17217 (license license:gpl3+))))
17218
17219 (define-public emacs-edbi-sqlite
17220 (let ((commit "52cb9ca1af7691b592f2cfd2f007847e7a4ccd5f"))
17221 (package
17222 (name "emacs-edbi-sqlite")
17223 (version (git-version "0.1.1" "1" commit))
17224 (home-page "https://github.com/proofit404/edbi-sqlite")
17225 (source (origin
17226 (method git-fetch)
17227 (uri (git-reference
17228 (url home-page)
17229 (commit commit)))
17230 (sha256
17231 (base32
17232 "1vll81386fx90lq5sy4rlxcik6mvw7zx5cc51f0yaca9bkcckp51"))
17233 (file-name (git-file-name name version))))
17234 (build-system emacs-build-system)
17235 (propagated-inputs
17236 `(("emacs-edbi" ,emacs-edbi)))
17237 (synopsis "Open SQLite files in Emacs")
17238 (description "This package is a convenience wrapper for @command{edbi}
17239 to open SQLite databases.")
17240 (license license:gpl3+))))
17241
17242 (define-public emacs-nix-mode
17243 (package
17244 (name "emacs-nix-mode")
17245 (version "1.4.1")
17246 (source
17247 (origin
17248 (method git-fetch)
17249 (uri (git-reference
17250 (url "https://github.com/NixOS/nix-mode.git")
17251 (commit (string-append "v" version))))
17252 (file-name (git-file-name name version))
17253 (sha256
17254 (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
17255 (build-system emacs-build-system)
17256 (inputs
17257 `(("emacs-company" ,emacs-company)
17258 ("emacs-json-mode" ,emacs-json-mode)
17259 ("emacs-mmm-mode" ,emacs-mmm-mode)))
17260 (home-page "https://github.com/NixOS/nix-mode")
17261 (synopsis "Emacs major mode for editing Nix expressions")
17262 (description "@code{nixos-mode} provides an Emacs major mode for editing
17263 Nix expressions. It supports syntax highlighting, indenting and refilling of
17264 comments.")
17265 (license license:lgpl2.1+)))
17266
17267 (define-public emacs-libmpdel
17268 (package
17269 (name "emacs-libmpdel")
17270 (version "1.1.2")
17271 (source (origin
17272 (method git-fetch)
17273 (uri (git-reference
17274 (url "https://gitea.petton.fr/mpdel/libmpdel.git")
17275 (commit (string-append "v" version))))
17276 (file-name (git-file-name name version))
17277 (sha256
17278 (base32
17279 "0dnjndpv6bmz5blfs75ynmbm32g23l4slg5p3941b1i94a08qzpy"))))
17280 (build-system emacs-build-system)
17281 (home-page "https://gitea.petton.fr/mpdel/libmpdel")
17282 (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
17283 (description
17284 "An Emacs library client to communicate with Music Player Daemon (MPD), a
17285 flexible, powerful, server-side application for playing music.")
17286 (license license:gpl3+)))
17287
17288 (define-public emacs-mpdel
17289 (package
17290 (name "emacs-mpdel")
17291 (version "1.0.0")
17292 (source
17293 (origin
17294 (method git-fetch)
17295 (uri (git-reference
17296 (url "https://gitea.petton.fr/mpdel/mpdel.git")
17297 (commit (string-append "v" version))))
17298 (file-name (git-file-name name version))
17299 (sha256
17300 (base32
17301 "0pyyvbzskr44dxbmlp3y0r6s459fd51cvwjmnjaqxfxflr5v891g"))))
17302 (build-system emacs-build-system)
17303 (inputs
17304 `(("emacs-libmpdel" ,emacs-libmpdel)))
17305 (home-page "https://gitea.petton.fr/mpdel/mpdel")
17306 (synopsis "Emacs user interface for Music Player Daemon (MPD)")
17307 (description
17308 "MPDel provides an Emacs user interface to control playback (play, pause,
17309 next, volume) and display and control the current playlist as well as your
17310 stored playlists.")
17311 (license license:gpl3+)))
17312
17313 (define-public emacs-simple-mpc
17314 ;; There have been no releases.
17315 (let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
17316 (revision "1"))
17317 (package
17318 (name "emacs-simple-mpc")
17319 (version (git-version "0" revision commit))
17320 (source
17321 (origin
17322 (method git-fetch)
17323 (uri (git-reference
17324 (url "https://github.com/jorenvo/simple-mpc.git")
17325 (commit commit)))
17326 (file-name (git-file-name name version))
17327 (sha256
17328 (base32
17329 "1ja06pv007cmzjjgka95jlg31k7d29jrih1yxyblsxv85s9sg21q"))))
17330 (build-system emacs-build-system)
17331 (propagated-inputs `(("emacs-s" ,emacs-s)))
17332 (home-page "https://github.com/jorenvo/simple-mpc")
17333 (synopsis "Simple Emacs frontend to mpc")
17334 (description "This package provides an Emacs major mode which acts as a
17335 front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
17336 (license license:gpl3+))))
17337
17338 (define-public emacs-mkmcc-gnuplot-mode
17339 (package
17340 (name "emacs-mkmcc-gnuplot-mode")
17341 (version "1.2.0")
17342 (source
17343 (origin
17344 (method git-fetch)
17345 (uri (git-reference
17346 (url "https://github.com/mkmcc/gnuplot-mode")
17347 (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
17348 (file-name (git-file-name name version))
17349 (sha256
17350 (base32
17351 "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
17352 (build-system emacs-build-system)
17353 (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
17354 (synopsis "Minimal emacs major mode for editing gnuplot scripts")
17355 (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
17356 mode for editing gnuplot scripts. It provides syntax highlighting,
17357 indentation and a command to plot the file.")
17358 (license license:gpl3+)))
17359
17360 (define-public emacs-cmake-font-lock
17361 (let ((commit "e0ceaaae19c13b66f781512e3295bfc6707b56f4")
17362 (revision "1"))
17363 (package
17364 (name "emacs-cmake-font-lock")
17365 (version (git-version "0.1.5" revision commit))
17366 (source (origin
17367 (method git-fetch)
17368 (uri (git-reference
17369 (url "https://github.com/Lindydancer/cmake-font-lock.git")
17370 (commit commit)))
17371 (file-name (git-file-name name version))
17372 (sha256
17373 (base32
17374 "03gsyn95dlmsn15bl353bphi3qy7ccn5bss3f7n97kf38bllh0yf"))))
17375 (build-system emacs-build-system)
17376 (native-inputs
17377 `(("emacs-faceup" ,emacs-faceup)))
17378 (arguments
17379 `(#:include (cons "^admin\\/" %default-include)))
17380 (home-page "https://github.com/Lindydancer/cmake-font-lock")
17381 (synopsis "Advanced type-aware syntax-highlighting for CMake")
17382 (description "This package highlights function arguments in CMake
17383 according to their use.")
17384 (license license:gpl3+))))
17385
17386 (define-public emacs-dtrt-indent
17387 (package
17388 (name "emacs-dtrt-indent")
17389 (version "0.8")
17390 (source (origin
17391 (method git-fetch)
17392 (uri (git-reference
17393 (url "https://github.com/jscheid/dtrt-indent")
17394 (commit version)))
17395 (file-name (git-file-name name version))
17396 (sha256
17397 (base32
17398 "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
17399 (build-system emacs-build-system)
17400 (home-page "https://github.com/jscheid/dtrt-indent")
17401 (synopsis "Minor mode that guesses the indentation offset")
17402 (description "This package provides a minor mode that guesses the
17403 indentation offset originally used for creating source code files and
17404 transparently adjusts the corresponding settings in Emacs, making it more
17405 convenient to edit foreign files.")
17406 (license license:gpl2+)))
17407
17408 (define-public emacs-repo
17409 (package
17410 (name "emacs-repo")
17411 (version "0.1.3")
17412 (source (origin
17413 (method git-fetch)
17414 (uri (git-reference
17415 (url "https://github.com/canatella/repo-el")
17416 (commit version)))
17417 (file-name (git-file-name name version))
17418 (sha256
17419 (base32
17420 "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
17421 (build-system emacs-build-system)
17422 (native-inputs
17423 `(("emacs-el-mock" ,emacs-el-mock)
17424 ("ert-runner" ,emacs-ert-runner)))
17425 (propagated-inputs
17426 `(("emacs-f" ,emacs-f)
17427 ("magit" ,emacs-magit)))
17428 (home-page "https://github.com/canatella/repo-el")
17429 (synopsis "Emacs interface for the Google Repo tool")
17430 (description "This package provides integration of the Google Repo tool
17431 with emacs. It displays the output of the @code{repo status} command in a
17432 buffer and launches Magit from the status buffer for the project at point.")
17433 (license license:gpl3+)))
17434
17435 (define-public emacs-alect-themes
17436 (package
17437 (name "emacs-alect-themes")
17438 (version "0.9")
17439 (source (origin
17440 (method git-fetch)
17441 (uri (git-reference
17442 (url "https://github.com/alezost/alect-themes")
17443 (commit (string-append "v" version))))
17444 (file-name (git-file-name name version))
17445 (sha256
17446 (base32
17447 "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
17448 (build-system emacs-build-system)
17449 (home-page "https://github.com/alezost/alect-themes")
17450 (synopsis "Low contrast, light, dark and black color theme for Emacs")
17451 (description "@code{emacs-alect-themes} provides configurable light, dark
17452 and black color themes for Emacs. The themes are intended to be used with
17453 GUI.")
17454 (license license:gpl3+)))
17455
17456 (define-public emacs-google-c-style
17457 (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
17458 (revision "0"))
17459 (package
17460 (name "emacs-google-c-style")
17461 (version (git-version "0.1" revision commit))
17462 (source (origin
17463 (method git-fetch)
17464 (uri (git-reference
17465 (url "https://github.com/google/styleguide")
17466 (commit commit)))
17467 (file-name (git-file-name name version))
17468 (sha256
17469 (base32
17470 "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
17471 (build-system emacs-build-system)
17472 (home-page "https://github.com/google/styleguide")
17473 (synopsis "Emacs settings file for Google C/C++ style")
17474 (description "@code{emacs-google-c-style} provides an Emacs settings
17475 file for Google C and C++ style.")
17476 (license license:gpl1+))))
17477
17478 (define-public emacs-redshank
17479 (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
17480 (revision "1"))
17481 (package
17482 (name "emacs-redshank")
17483 (version (git-version "0.1" revision commit))
17484 (source (origin
17485 (method git-fetch)
17486 (uri (git-reference
17487 (url "http://www.foldr.org/~michaelw/projects/redshank.git")
17488 (commit commit)))
17489 (file-name (git-file-name name version))
17490 (sha256
17491 (base32
17492 "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
17493 (build-system emacs-build-system)
17494 (propagated-inputs
17495 `(("emacs-paredit" ,emacs-paredit)))
17496 (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
17497 (synopsis "Common Lisp Editing Extensions (for Emacs)")
17498 (description "Redshank is a collection of code-wrangling Emacs macros
17499 mostly geared towards Common Lisp, but some are useful for other Lisp
17500 dialects, too. Redshank's code transformations aim to be expression-based (as
17501 opposed to character-based).")
17502 (license license:gpl1+))))
17503
17504 (define-public emacs-disk-usage
17505 (package
17506 (name "emacs-disk-usage")
17507 (version "1.3.3")
17508 (source
17509 (origin
17510 (method git-fetch)
17511 (uri (git-reference
17512 (url "https://gitlab.com/Ambrevar/emacs-disk-usage.git")
17513 (commit version)))
17514 (file-name (git-file-name name version))
17515 (sha256
17516 (base32
17517 "0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
17518 (build-system emacs-build-system)
17519 (home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
17520 (synopsis "Sort and browse disk usage listings with Emacs")
17521 (description "Disk Usage is a file system analyzer: it offers a tabulated
17522 view of file listings sorted by size. Directory sizes are computed
17523 recursively. The results are cached for speed.")
17524 (license license:gpl3+)))
17525
17526 (define-public emacs-orgit
17527 (package
17528 (name "emacs-orgit")
17529 (version "1.5.3")
17530 (home-page "https://github.com/magit/orgit")
17531 (source (origin
17532 (method git-fetch)
17533 (uri (git-reference
17534 (url home-page)
17535 (commit (string-append "v" version))))
17536 (file-name (git-file-name name version))
17537 (sha256
17538 (base32
17539 "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
17540 (build-system emacs-build-system)
17541 (propagated-inputs
17542 `(("emacs-dash" ,emacs-dash)
17543 ("emacs-magit" ,emacs-magit)))
17544 (synopsis "Support for Org links to Magit buffers")
17545 (description "This package defines several Org link types, which can be
17546 used to link to certain Magit buffers. Use the command
17547 @command{org-store-link} while such a buffer is current to store a link.
17548 Later you can insert it into an Org buffer using the command
17549 @code{org-insert-link}.")
17550 (license license:gpl3+)))
17551
17552 (define-public emacs-amx
17553 (package
17554 (name "emacs-amx")
17555 (version "3.2")
17556 (source (origin
17557 (method git-fetch)
17558 (uri (git-reference
17559 (url "https://github.com/DarwinAwardWinner/amx")
17560 (commit (string-append "v" version))))
17561 (file-name (git-file-name name version))
17562 (sha256
17563 (base32
17564 "0bb8y1dmzyqkrb4mg6zndcsxppby3glridv2aap2pv05gv8kx7mj"))))
17565 (build-system emacs-build-system)
17566 (propagated-inputs `(("emacs-s" ,emacs-s)))
17567 (home-page "https://github.com/DarwinAwardWinner/amx")
17568 (synopsis "Alternative interface for M-x")
17569 (description "Amx is an alternative interface for M-x in Emacs. It
17570 provides several enhancements over the ordinary
17571 @code{execute-extended-command}, such as prioritizing your most-used commands
17572 in the completion list and showing keyboard shortcuts, and it supports several
17573 completion systems for selecting commands, such as ido and ivy.")
17574 (license license:gpl3+)))
17575
17576 (define-public emacs-lorem-ipsum
17577 (let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
17578 (package
17579 (name "emacs-lorem-ipsum")
17580 (version (git-version "0.2" "1" commit))
17581 (home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
17582 (source (origin
17583 (method git-fetch)
17584 (uri (git-reference
17585 (url home-page)
17586 (commit commit)))
17587 (file-name (git-file-name name version))
17588 (sha256
17589 (base32
17590 "0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
17591 (build-system emacs-build-system)
17592 (synopsis "Insert dummy pseudo Latin text in Emacs")
17593 (description "This package provides convenience functions to insert
17594 dummy Latin text into a buffer. This can be useful if you need to produce
17595 paragraphs or pages of text for testing purposes.")
17596 (license license:gpl3+))))
17597
17598 (define-public emacs-lisp-extra-font-lock
17599 (let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
17600 (package
17601 (name "emacs-lisp-extra-font-lock")
17602 (version (git-version "0.0.6" "1" commit))
17603 (home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
17604 (source (origin
17605 (method git-fetch)
17606 (uri (git-reference
17607 (url home-page)
17608 (commit commit)))
17609 (file-name (git-file-name name version))
17610 (sha256
17611 (base32
17612 "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
17613 (build-system emacs-build-system)
17614 (synopsis "Highlight bound variables and quoted expressions in Emacs")
17615 (description "This package highlight the location where local variables
17616 is created (bound, for example, by let) as well as quoted and backquoted
17617 constant expressions.")
17618 (license license:gpl3+))))
17619
17620 (define-public emacs-docker-tramp
17621 (package
17622 (name "emacs-docker-tramp")
17623 (version "0.1")
17624 (source
17625 (origin
17626 (method git-fetch)
17627 (uri (git-reference
17628 (url "https://github.com/emacs-pe/docker-tramp.el")
17629 (commit (string-append "v" version))))
17630 (file-name (git-file-name name version))
17631 (sha256
17632 (base32
17633 "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
17634 (build-system emacs-build-system)
17635 (home-page "https://github.com/emacs-pe/docker-tramp.el")
17636 (synopsis "TRAMP integration for docker containers")
17637 (description
17638 "This package provides a TRAMP method for Docker containers.")
17639 (license license:gpl3+)))
17640
17641 (define-public emacs-docker
17642 (package
17643 (name "emacs-docker")
17644 (version "1.3.0")
17645 (source (origin
17646 (method git-fetch)
17647 (uri (git-reference
17648 (url "https://github.com/Silex/docker.el")
17649 (commit version)))
17650 (file-name (git-file-name name version))
17651 (sha256
17652 (base32
17653 "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"))))
17654 (inputs
17655 `(("emacs-undercover" ,emacs-undercover)))
17656 (propagated-inputs
17657 `(("emacs-dash" ,emacs-dash)
17658 ("emacs-docker-tramp" ,emacs-docker-tramp)
17659 ("emacs-magit-popup" ,emacs-magit-popup)
17660 ("emacs-s" ,emacs-s)
17661 ("emacs-tablist" ,emacs-tablist)
17662 ("emacs-json-mode" ,emacs-json-mode)))
17663 (arguments
17664 `(#:phases
17665 (modify-phases %standard-phases
17666 (delete 'check)))) ;no tests
17667 (build-system emacs-build-system)
17668 (home-page "https://github.com/Silex/docker.el")
17669 (synopsis "Manage docker from Emacs")
17670 (description "This package provides an Emacs interface for Docker.")
17671 (license license:gpl3+)))
17672
17673 (define-public emacs-dockerfile-mode
17674 ;; Latest upstream release is too old.
17675 (let ((commit "ed73e82dcc636dad00d1a8c3b32a49136d25ee60"))
17676 (package
17677 (name "emacs-dockerfile-mode")
17678 (version (git-version "1.2" "2" commit))
17679 (source
17680 (origin
17681 (method git-fetch)
17682 (uri (git-reference
17683 (url "https://github.com/spotify/dockerfile-mode.git")
17684 (commit commit)))
17685 (file-name (git-file-name name version))
17686 (sha256
17687 (base32
17688 "0lri2rnx4lr23vqfphkpq39cd4xfgzkvz1xsz7ccdvl4qj0k7fdl"))))
17689 (build-system emacs-build-system)
17690 (propagated-inputs
17691 `(("emacs-s" ,emacs-s)))
17692 (home-page "https://github.com/spotify/dockerfile-mode")
17693 (synopsis "Major mode for editing Dockerfile")
17694 (description
17695 "This package provides a major mode @code{dockerfile-mode} for use with
17696 the standard @code{Dockerfile} file format.")
17697 (license license:asl2.0))))
17698
17699 (define-public emacs-lsp-mode
17700 (package
17701 (name "emacs-lsp-mode")
17702 (version "6.2.1")
17703 (source (origin
17704 (method git-fetch)
17705 (uri (git-reference
17706 (url "https://github.com/emacs-lsp/lsp-mode.git")
17707 (commit version)))
17708 (file-name (git-file-name name version))
17709 (sha256
17710 (base32
17711 "0f9d0zhblcjzrpggqclww2g7fyjky5rzpp7zj424005ahv0zd3xf"))))
17712 (build-system emacs-build-system)
17713 (propagated-inputs
17714 `(("emacs-dash" ,emacs-dash)
17715 ("emacs-f" ,emacs-f)
17716 ("emacs-ht" ,emacs-ht)
17717 ("emacs-markdown-mode" ,emacs-markdown-mode)
17718 ("emacs-spinner" ,emacs-spinner)
17719 ("emacs-hydra" ,emacs-hydra)))
17720 (home-page "https://github.com/emacs-lsp/lsp-mode")
17721 (synopsis "Emacs client and library for the Language Server Protocol")
17722 (description "@code{LSP-mode} is a client and library implementation for
17723 the Language Server Protocol. This mode aims to provide an IDE-like
17724 experience by providing optional integration with other popular Emacs packages
17725 like @code{company}, @code{flycheck}, and @code{projectile}.")
17726 (license license:gpl3+)))
17727
17728 (define-public emacs-lsp-ui
17729 (package
17730 (name "emacs-lsp-ui")
17731 (version "6.0")
17732 (source (origin
17733 (method git-fetch)
17734 (uri (git-reference
17735 (url "https://github.com/emacs-lsp/lsp-ui.git")
17736 (commit version)))
17737 (file-name (git-file-name name version))
17738 (sha256
17739 (base32
17740 "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
17741 (build-system emacs-build-system)
17742 (propagated-inputs
17743 `(("emacs-dash" ,emacs-dash)
17744 ("emacs-lsp-mode" ,emacs-lsp-mode)
17745 ("emacs-markdown-mode" ,emacs-markdown-mode)
17746 ("emacs-flycheck" ,emacs-flycheck)))
17747 (home-page "https://github.com/emacs-lsp/lsp-ui")
17748 (synopsis "User interface extensions for @code{lsp-mode}")
17749 (description
17750 "@code{LSP-ui} contains several enhancements and integrations for
17751 @code{lsp-mode}, such as visual flychecking, displaying references in-line,
17752 and code peeking.")
17753 (license license:gpl3+)))
17754
17755 (define-public emacs-lsp-ivy
17756 (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288")
17757 (revision "2"))
17758 (package
17759 (name "emacs-lsp-ivy")
17760 (version (git-version "0.1" revision commit))
17761 (source (origin
17762 (method git-fetch)
17763 (uri (git-reference
17764 (url "https://github.com/emacs-lsp/lsp-ivy.git")
17765 (commit commit)))
17766 (file-name (git-file-name name version))
17767 (sha256
17768 (base32
17769 "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z"))))
17770 (build-system emacs-build-system)
17771 (propagated-inputs
17772 `(("emacs-ivy" ,emacs-ivy)
17773 ("emacs-lsp-mode" ,emacs-lsp-mode)
17774 ("emacs-dash" ,emacs-dash)))
17775 (home-page "https://github.com/emacs-lsp/lsp-ivy")
17776 (synopsis "Provide LSP-enhanced completion for symbols")
17777 (description
17778 "This package enhances @code{ivy} with completion for symbols from
17779 workspaces with a LSP-compliant server running.")
17780 (license license:gpl3+))))
17781
17782 (define-public emacs-helm-lsp
17783 (let ((commit "3a58ca4cfd94b9ab1e15e819d3b16ef568e8889b")
17784 (revision "1"))
17785 (package
17786 (name "emacs-helm-lsp")
17787 (version (git-version "0.1" revision commit))
17788 (source (origin
17789 (method git-fetch)
17790 (uri (git-reference
17791 (url "https://github.com/emacs-lsp/helm-lsp.git")
17792 (commit commit)))
17793 (file-name (git-file-name name version))
17794 (sha256
17795 (base32
17796 "0wh5zai3s17ss2q8wcdd6d87hv1h3nbyrxxs4js9cas8m6y2ssjv"))))
17797 (build-system emacs-build-system)
17798 (propagated-inputs
17799 `(("emacs-helm" ,emacs-helm)
17800 ("emacs-lsp-mode" ,emacs-lsp-mode)
17801 ("emacs-dash" ,emacs-dash)))
17802 (home-page "https://github.com/emacs-lsp/helm-lsp")
17803 (synopsis "Provide LSP-enhanced completion for symbols")
17804 (description
17805 "This package enhances @code{helm} with completion for symbols from
17806 workspaces with a LSP-compliant server running.")
17807 (license license:gpl3+))))
17808
17809 (define-public emacs-helm-notmuch
17810 (package
17811 (name "emacs-helm-notmuch")
17812 (version "1.2")
17813 (home-page "https://github.com/emacs-helm/helm-notmuch/")
17814 (source (origin
17815 (method git-fetch)
17816 (uri (git-reference
17817 (url home-page)
17818 (commit version)))
17819 (file-name (git-file-name name version))
17820 (sha256
17821 (base32
17822 "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"))))
17823 (build-system emacs-build-system)
17824 (propagated-inputs
17825 `(("emacs-helm" ,emacs-helm)
17826 ("notmuch" ,notmuch)))
17827 (synopsis "Search emails with Emacs Notmuch and Helm")
17828 (description
17829 "This package can be used to search emails in Emacs, searching result
17830 displays as you type thanks to Helm, though @command{notmuch-search} does the
17831 real search.")
17832 (license license:gpl3+)))
17833
17834 (define-public emacs-elmacro
17835 (let ((commit "89b9b0feabafd01fee48111d67131c4c9b5fed9a"))
17836 (package
17837 (name "emacs-elmacro")
17838 (version (git-version "1.1.0" "1" commit))
17839 (home-page "https://github.com/Silex/elmacro")
17840 (source (origin
17841 (method git-fetch)
17842 (uri (git-reference
17843 (url home-page)
17844 (commit commit)))
17845 (file-name (git-file-name name version))
17846 (sha256
17847 (base32
17848 "06wkzafh6vbcjf0m3sl253mgcq32p8cdv7vsfmyx51baa36938ha"))))
17849 (build-system emacs-build-system)
17850 (propagated-inputs
17851 `(("emacs-s" ,emacs-s)
17852 ("emacs-dash" ,emacs-dash)))
17853 (synopsis "Convert keyboard macros to Emacs Lisp")
17854 (description
17855 "This package displays keyboard macros or latest interactive commands
17856 as Emacs Lisp.")
17857 (license license:gpl3+))))
17858
17859 (define-public emacs-transient
17860 ;; 0.1.0 depends on lv.el but not later versions.
17861 (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06"))
17862 (package
17863 (name "emacs-transient")
17864 (version (git-version "0.1.0" "1" commit))
17865 (source (origin
17866 (method git-fetch)
17867 (uri (git-reference
17868 (url "https://github.com/magit/transient")
17869 (commit commit)))
17870 (file-name (git-file-name name version))
17871 (sha256
17872 (base32
17873 "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1"))))
17874 (build-system gnu-build-system)
17875 (native-inputs `(("texinfo" ,texinfo)
17876 ("emacs" ,emacs-minimal)))
17877 (propagated-inputs
17878 `(("dash" ,emacs-dash)))
17879 (arguments
17880 `(#:modules ((guix build gnu-build-system)
17881 (guix build utils)
17882 (srfi srfi-26)
17883 (guix build emacs-utils))
17884 #:imported-modules (,@%gnu-build-system-modules
17885 (guix build emacs-utils))
17886 #:tests? #f ; tests are not included in the release
17887 #:make-flags (list "lisp" "info")
17888 #:phases
17889 (modify-phases %standard-phases
17890 (delete 'configure)
17891 (replace 'install
17892 (lambda* (#:key inputs outputs #:allow-other-keys)
17893 (let* ((out (assoc-ref outputs "out"))
17894 (lisp (string-append out "/share/emacs/site-lisp"))
17895 (info (string-append out "/share/info")))
17896 (for-each (cut install-file <> lisp)
17897 (find-files "." "\\.elc*$"))
17898 (install-file "docs/transient.info" (string-append info)))
17899 #t)))))
17900 (home-page "https://magit.vc/manual/transient")
17901 (synopsis "Transient commands in Emacs")
17902 (description
17903 "Taking inspiration from prefix keys and prefix arguments in Emacs,
17904 Transient implements a similar abstraction involving a prefix command, infix
17905 arguments and suffix commands. We could call this abstraction a \"transient
17906 command\", but because it always involves at least two commands (a prefix and
17907 a suffix) we prefer to call it just a \"transient\".")
17908 (license license:gpl3+))))
17909
17910 (define-public emacs-forge
17911 (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb"))
17912 (package
17913 (name "emacs-forge")
17914 (version (git-version "0.1.0" "2" commit))
17915 (source
17916 (origin
17917 (method git-fetch)
17918 (uri (git-reference
17919 (url "https://github.com/magit/forge.git")
17920 (commit commit)))
17921 (file-name (git-file-name name version))
17922 (sha256
17923 (base32
17924 "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83"))))
17925 (build-system gnu-build-system)
17926 (native-inputs
17927 `(("texinfo" ,texinfo)
17928 ("emacs" ,emacs-minimal)))
17929 (propagated-inputs
17930 `(("emacs-closql" ,emacs-closql)
17931 ("emacs-dash" ,emacs-dash)
17932 ("emacs-emacsql-sqlite" ,emacs-emacsql)
17933 ("emacs-ghub" ,emacs-ghub)
17934 ("emacs-let-alist" ,emacs-let-alist)
17935 ("emacs-magit" ,emacs-magit)
17936 ("emacs-markdown-mode" ,emacs-markdown-mode)
17937 ("emacs-transient" ,emacs-transient)))
17938 (arguments
17939 `(#:tests? #f ;no tests
17940 #:modules ((srfi srfi-26)
17941 (guix build gnu-build-system)
17942 ((guix build emacs-build-system) #:prefix emacs:)
17943 (guix build utils)
17944 (guix build emacs-utils))
17945 #:imported-modules (,@%gnu-build-system-modules
17946 (guix build emacs-build-system)
17947 (guix build emacs-utils))
17948 #:phases
17949 (modify-phases %standard-phases
17950 (delete 'configure)
17951 (delete 'install)
17952 (add-after 'unpack 'delete-doc-targets
17953 (lambda _
17954 (substitute* "./Makefile"
17955 (("lisp docs") "lisp"))))
17956 (add-after 'delete-doc-targets 'chdir-lisp
17957 (lambda _
17958 (chdir "lisp")))
17959 (add-after 'chdir-lisp 'emacs-install
17960 (assoc-ref emacs:%standard-phases 'install))
17961 (add-after 'emacs-install 'emacs-make-autoloads
17962 (assoc-ref emacs:%standard-phases 'make-autoloads))
17963 (add-after 'build 'install-elc
17964 (lambda* (#:key outputs #:allow-other-keys)
17965 (let* ((out (assoc-ref outputs "out"))
17966 (el-dir (string-append
17967 out "/share/emacs/site-lisp/guix.d/forge-"
17968 ,version)))
17969 (for-each (cut install-file <> el-dir)
17970 (find-files "." "\\.elc"))
17971 #t)))
17972 (add-after 'install-elc 'install-doc
17973 (lambda* (#:key outputs #:allow-other-keys)
17974 (let* ((out (assoc-ref outputs "out"))
17975 (info (string-append out "/share/info")))
17976 (with-directory-excursion "../docs"
17977 (invoke "makeinfo" "forge.texi")
17978 (install-file "forge.info" info)
17979 #t)))))))
17980 (home-page "https://github.com/magit/forge/")
17981 (synopsis "Access Git forges from Magit")
17982 (description
17983 "Work with Git forges, such as Github and Gitlab, from the comfort of
17984 Magit and the rest of Emacs.")
17985 (license license:gpl3+))))
17986
17987 (define-public emacs-matcha
17988 (let ((commit "c7df5cf5cdac9ae369e241342389ccda0205eab9"))
17989 (package
17990 (name "emacs-matcha")
17991 (version (git-version "0.0.1" "1" commit)) ;no upstream release
17992 (source (origin
17993 (method git-fetch)
17994 (uri (git-reference
17995 (url "https://github.com/jojojames/matcha.git")
17996 (commit commit)))
17997 (file-name (git-file-name name version))
17998 (sha256
17999 (base32
18000 "1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
18001 (propagated-inputs
18002 `(("emacs-hydra" ,emacs-hydra)
18003 ("emacs-transient" ,emacs-transient)))
18004 (build-system emacs-build-system)
18005 (home-page "https://github.com/jojojames/matcha/")
18006 (synopsis "Collection of hydras with a generic interface to launch them")
18007 (description "Matcha provides a collection of transients for various
18008 packages with a consistent way to use them.")
18009 (license license:gpl3+))))
18010
18011 (define-public emacs-undo-propose-el
18012 (let ((commit "f80baee566807d733fbacbab08a897bcd62579c3")
18013 (revision "3"))
18014 (package
18015 (name "emacs-undo-propose-el")
18016 (version (git-version "3.0.0" revision commit))
18017 (source
18018 (origin
18019 (method git-fetch)
18020 (uri (git-reference
18021 (url "https://github.com/jackkamm/undo-propose-el")
18022 (commit commit)))
18023 (file-name (git-file-name name version))
18024 (sha256
18025 (base32
18026 "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
18027 (build-system emacs-build-system)
18028 (arguments
18029 `(#:tests? #t
18030 #:test-command '("make" "test")))
18031 (home-page "https://github.com/jackkamm/undo-propose-el")
18032 (synopsis "Simple and safe navigation of @code{undo} history")
18033 (description "This package permits navigation of @code{undo} history in a
18034 temporary buffer, which is read-only save for @code{undo} commands, and
18035 subsequent committal of a chain of @code{undo} commands as a single edit in
18036 the @code{undo} history.")
18037 (license license:gpl3+))))
18038
18039 (define-public emacs-elisp-docstring-mode
18040 (let ((commit "f512e509dd690f65133e55563ebbfd2dede5034f")
18041 (version "0.0.1")
18042 (revision "1"))
18043 (package
18044 (name "emacs-elisp-docstring-mode")
18045 (version (git-version version revision commit))
18046 (source
18047 (origin
18048 (method git-fetch)
18049 (uri (git-reference
18050 (url "https://github.com/Fuco1/elisp-docstring-mode")
18051 (commit commit)))
18052 (file-name (git-file-name name version))
18053 (sha256
18054 (base32
18055 "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa"))))
18056 (build-system emacs-build-system)
18057 (home-page "https://github.com/Fuco1/elisp-docstring-mode")
18058 (synopsis "Major mode for editing Emacs Lisp docstrings")
18059 (description "This package provides font lock and automatic escaping and
18060 unescaping of quotes.")
18061 (license license:gpl3+))))
18062
18063 (define-public emacs-vimrc-mode
18064 (let ((commit "13bc150a870d5d4a95f1111e4740e2b22813c30e")
18065 (version "0.3.1")
18066 (revision "1"))
18067 (package
18068 (name "emacs-vimrc-mode")
18069 (version (git-version version revision commit))
18070 (source
18071 (origin
18072 (method git-fetch)
18073 (uri (git-reference
18074 (url "https://github.com/mcandre/vimrc-mode")
18075 (commit commit)))
18076 (file-name (git-file-name name version))
18077 (sha256
18078 (base32
18079 "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"))))
18080 (build-system emacs-build-system)
18081 (home-page "https://github.com/mcandre/vimrc-mode")
18082 (synopsis "Major mode for Vimscript")
18083 (description "This package provides font lock and @code{beginning-} and
18084 @code{end-of-defun} functions for Vimscript files.")
18085 (license license:gpl3+))))
18086
18087 (define-public emacs-flycheck-haskell
18088 (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278")
18089 (revision "2"))
18090 (package
18091 (name "emacs-flycheck-haskell")
18092 (version (git-version "0.8" revision commit))
18093 (source
18094 (origin
18095 (method git-fetch)
18096 (uri (git-reference
18097 (url "https://github.com/flycheck/flycheck-haskell")
18098 (commit commit)))
18099 (file-name (git-file-name name version))
18100 (sha256
18101 (base32
18102 "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"))))
18103 (build-system emacs-build-system)
18104 (propagated-inputs
18105 `(("emacs-dash" ,emacs-dash)
18106 ("emacs-seq" ,emacs-seq)
18107 ("emacs-flycheck" ,emacs-flycheck)
18108 ("emacs-haskell-mode" ,emacs-haskell-mode)
18109 ("emacs-let-alist" ,emacs-let-alist)))
18110 (arguments
18111 `(#:include '("\\.el$" "\\.hs$")))
18112 (home-page "https://github.com/flycheck/flycheck-haskell")
18113 (synopsis "Flycheck for Haskell")
18114 (description "This package configures syntax-checking for Haskell
18115 buffers.")
18116 (license license:gpl3+))))
18117
18118 (define-public emacs-js2-refactor-el
18119 (let ((commit "d4c40b5fc86d3edd7c6a7d83ac86483ee1cb7a28")
18120 (revision "2"))
18121 (package
18122 (name "emacs-js2-refactor-el")
18123 (version (git-version "0.9.0" revision commit))
18124 (source
18125 (origin
18126 (method git-fetch)
18127 (uri (git-reference
18128 (url "https://github.com/magnars/js2-refactor.el")
18129 (commit commit)))
18130 (file-name (git-file-name name version))
18131 (sha256
18132 (base32
18133 "08b25y3raz0p98zxk9xdd8nj9shqd6mzrqhbq1gg4cwsmi7h7ly1"))))
18134 (build-system emacs-build-system)
18135 (propagated-inputs
18136 `(("emacs-dash" ,emacs-dash)
18137 ("emacs-s" ,emacs-s)
18138 ("emacs-js2-mode" ,emacs-js2-mode)
18139 ("emacs-yasnippet" ,emacs-yasnippet)
18140 ("emacs-multiple-cursors" ,emacs-multiple-cursors)))
18141 (native-inputs
18142 `(("emacs-buttercup" ,emacs-buttercup)
18143 ("emacs-espuds" ,emacs-espuds)))
18144 (home-page "https://github.com/magnars/js2-refactor.el")
18145 (synopsis "JavaScript refactoring in Emacs")
18146 (description "This package provides various refactoring functions for
18147 JavaScript.")
18148 (license license:gpl3+))))
18149
18150 (define-public emacs-prettier
18151 (let ((commit "e9b73e81d3e1642aec682195f127a42dfb0b5774")
18152 (version "0.1.0")
18153 (revision "1"))
18154 (package
18155 (name "emacs-prettier")
18156 (version (git-version version revision commit))
18157 (source
18158 (origin
18159 (method git-fetch)
18160 (uri (git-reference
18161 (url "https://github.com/prettier/prettier-emacs")
18162 (commit commit)))
18163 (file-name (git-file-name name version))
18164 (sha256
18165 (base32
18166 "0hj4fv3fgc60i6jrsx4a81s5c9fsxxafhhs3q2q1dypsscjci9ph"))))
18167 (build-system emacs-build-system)
18168 (home-page "https://github.com/prettier/prettier-emacs")
18169 (synopsis "Automatic formatting of JavaScript code")
18170 (description "This package integrates Prettier with Emacs, and
18171 provides a minor mode that autoformats the buffer upon saving.")
18172 (license license:expat))))
18173
18174 (define-public emacs-fish-mode
18175 (package
18176 (name "emacs-fish-mode")
18177 (version "0.1.4")
18178 (source
18179 (origin
18180 (method git-fetch)
18181 (uri (git-reference
18182 (url "https://github.com/wwwjfy/emacs-fish")
18183 (commit version)))
18184 (file-name (git-file-name name version))
18185 (sha256
18186 (base32
18187 "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"))))
18188 (build-system emacs-build-system)
18189 (home-page "https://github.com/wwwjfy/emacs-fish")
18190 (synopsis "Major mode for Fish shell scripts")
18191 (description "This package provides syntax highlighting and indentation
18192 functions for Fish shell scripts.")
18193 (license license:gpl3+)))
18194
18195 (define-public emacs-eshell-up
18196 (let ((commit "9c100bae5c3020e8d9307e4332d3b64e7dc28519")
18197 (version "0.0.3")
18198 (revision "12"))
18199 (package
18200 (name "emacs-eshell-up")
18201 (version (git-version version revision commit))
18202 (source
18203 (origin
18204 (method git-fetch)
18205 (uri (git-reference
18206 (url "https://github.com/peterwvj/eshell-up")
18207 (commit commit)))
18208 (file-name (git-file-name name version))
18209 (sha256
18210 (base32
18211 "00zdbcncjabgj5mp47l1chymx5na18v2g4kj730dgmj3rnl3iz2q"))))
18212 (build-system emacs-build-system)
18213 (home-page "https://github.com/peterwvj/eshell-up")
18214 (synopsis "Quickly go to a parent directory in @code{Eshell}")
18215 (description "This package provides quick navigation to a specific
18216 parent directory using @code{Eshell}.")
18217 (license license:gpl3+))))
18218
18219 (define-public emacs-tco-el
18220 (let ((commit "482db5313f090b17ed22ccd856f0e141dc75afe6")
18221 (revision "1"))
18222 (package
18223 (name "emacs-tco-el")
18224 (version (git-version "0.3" revision commit))
18225 (source
18226 (origin
18227 (method git-fetch)
18228 (uri (git-reference
18229 (url "https://github.com/Wilfred/tco.el")
18230 (commit commit)))
18231 (file-name (git-file-name name version))
18232 (sha256
18233 (base32
18234 "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"))))
18235 (build-system emacs-build-system)
18236 (propagated-inputs
18237 `(("emacs-dash" ,emacs-dash)))
18238 (native-inputs
18239 `(("emacs-ert-runner" ,emacs-ert-runner)
18240 ("emacs-undercover" ,emacs-undercover)))
18241 (arguments
18242 `(#:tests? #t
18243 #:test-command '("ert-runner")))
18244 (home-page "https://github.com/Wilfred/tco.el")
18245 (synopsis "Tail-call optimization for Emacs Lisp")
18246 (description "This package provides tail-call optimization for Emacs
18247 Lisp functions that call themselves in tail position.")
18248 (license license:gpl3+))))
18249
18250 (define-public emacs-equake
18251 (let ((commit "7eddc025ee61b83029363e22219af228b8c20681")
18252 (revision "2"))
18253 (package
18254 (name "emacs-equake")
18255 (version (git-version "0.85" revision commit))
18256 (source
18257 (origin
18258 (method git-fetch)
18259 (uri (git-reference
18260 (url "https://gitlab.com/emacsomancer/equake/")
18261 (commit commit)))
18262 (file-name (git-file-name name version))
18263 (sha256
18264 (base32
18265 "1c55pbqak3d02sw6z1139baxzy401b90g0gxzcc3j6sgplz6sc6w"))))
18266 (build-system emacs-build-system)
18267 (propagated-inputs
18268 `(("emacs-dash" ,emacs-dash)
18269 ("emacs-tco-el" ,emacs-tco-el)))
18270 (home-page "https://gitlab.com/emacsomancer/equake/")
18271 (synopsis "Drop-down console for @code{Eshell} and terminal emulators")
18272 (description "This package provides a Quake-style drop-down console
18273 compatible with Emacs' shell modes.")
18274 (license license:gpl3+))))
18275
18276 (define-public emacs-vdiff
18277 (let ((commit "09e15fc932bfd2febe1d4a65780a532394562b07")
18278 (revision "1"))
18279 (package
18280 (name "emacs-vdiff")
18281 (version (git-version "0.2.3" revision commit))
18282 (source
18283 (origin
18284 (method git-fetch)
18285 (uri (git-reference
18286 (url "https://github.com/justbur/emacs-vdiff.git")
18287 (commit commit)))
18288 (file-name (git-file-name name version))
18289 (sha256
18290 (base32
18291 "1gvqi5l4zs872nn4pmj603aza09d81qad2rgijzv268lif8z34db"))))
18292 (build-system emacs-build-system)
18293 (propagated-inputs
18294 `(("emacs-hydra" ,emacs-hydra)))
18295 (arguments
18296 `(#:tests? #t
18297 #:test-command '("emacs" "-Q" "-batch" "-L" "."
18298 "-l" "vdiff-test.el"
18299 "-f" "ert-run-tests-batch-and-exit")))
18300 (home-page "https://github.com/justbur/emacs-vdiff/")
18301 (synopsis "Frontend for diffing based on vimdiff")
18302 (description "This package permits comparisons of two or three buffers
18303 based on diff output.")
18304 (license license:gpl3+))))
18305
18306 (define-public emacs-vdiff-magit
18307 ;; Need to use a more recent commit than the latest release version because
18308 ;; of Magit and Transient
18309 (let ((commit "b100d126c69e5c26a61ae05aa1778bcc4302b597")
18310 (version "0.3.2")
18311 (revision "8"))
18312 (package
18313 (name "emacs-vdiff-magit")
18314 (version (git-version version revision commit))
18315 (source
18316 (origin
18317 (method git-fetch)
18318 (uri (git-reference
18319 (url "https://github.com/justbur/emacs-vdiff-magit/")
18320 (commit commit)))
18321 (file-name (git-file-name name version))
18322 (sha256
18323 (base32
18324 "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
18325 (build-system emacs-build-system)
18326 (propagated-inputs
18327 `(("emacs-vdiff" ,emacs-vdiff)
18328 ("emacs-magit" ,emacs-magit)
18329 ("emacs-transient" ,emacs-transient)))
18330 (home-page "https://github.com/justbur/emacs-vdiff-magit/")
18331 (synopsis "Frontend for diffing based on vimdiff")
18332 (description "This package permits comparisons of two or three buffers
18333 based on diff output.")
18334 (license license:gpl3+))))
18335
18336 (define-public emacs-all-the-icons-dired
18337 (let ((commit "980b7747d6c4a7992a1ec56afad908956db0a519")
18338 (version "1.0")
18339 (revision "1"))
18340 (package
18341 (name "emacs-all-the-icons-dired")
18342 (version (git-version version revision commit))
18343 (source
18344 (origin
18345 (method git-fetch)
18346 (uri (git-reference
18347 (url "https://github.com/jtbm37/all-the-icons-dired/")
18348 (commit commit)))
18349 (file-name (git-file-name name version))
18350 (sha256
18351 (base32
18352 "1pvbgyxfj4j205nj1r02045f1y4wgavdsk7f45hxkkhms1rj8jyy"))))
18353 (build-system emacs-build-system)
18354 (propagated-inputs
18355 `(("emacs-all-the-icons" ,emacs-all-the-icons)))
18356 (home-page "https://github.com/jtbm37/all-the-icons-dired/")
18357 (synopsis "Show icons for each file in @code{dired-mode}")
18358 (description "This package allows icons from @file{all-the-icons.el} to
18359 be used in @code{dired-mode}.")
18360 (license license:gpl3+))))
18361
18362 (define-public emacs-exwm-edit
18363 (let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
18364 (version "0.0.1")
18365 (revision "1"))
18366 (package
18367 (name "emacs-exwm-edit")
18368 (version (git-version version revision commit))
18369 (source
18370 (origin
18371 (method git-fetch)
18372 (uri (git-reference
18373 (url "https://github.com/agzam/exwm-edit/")
18374 (commit commit)))
18375 (file-name (git-file-name name version))
18376 (sha256
18377 (base32
18378 "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
18379 (build-system emacs-build-system)
18380 (propagated-inputs
18381 `(("emacs-exwm" ,emacs-exwm)))
18382 (home-page "https://github.com/agzam/exwm-edit/")
18383 (synopsis "Open temp buffers for editing text from EXWM buffers")
18384 (description "This package facilitates editing text from EXWM buffers by
18385 generating a temp buffer in which any useful Emacs utilities and modes can be
18386 invoked.")
18387 (license license:gpl3+))))
18388
18389 (define-public emacs-ert-async
18390 (package
18391 (name "emacs-ert-async")
18392 (version "0.1.2")
18393 (source
18394 (origin
18395 (method git-fetch)
18396 (uri (git-reference
18397 (url "https://github.com/rejeep/ert-async.el")
18398 (commit (string-append "v" version))))
18399 (file-name (git-file-name name version))
18400 (sha256
18401 (base32
18402 "0hn9i405nfhjd1h9vnwj43nxbbz00khrwkjq0acfyxjaz1shfac9"))))
18403 (build-system emacs-build-system)
18404 (home-page "https://github.com/rejeep/ert-async.el")
18405 (synopsis "Async support for ERT")
18406 (description "This package allows ERT to work with asynchronous tests.")
18407 (license license:gpl3+)))
18408
18409 (define-public emacs-prodigy-el
18410 (let ((commit "0a12eec1f001a4eef16b2c0c524f02f2647a4ff1")
18411 (revision "2"))
18412 (package
18413 (name "emacs-prodigy-el")
18414 (version (git-version "0.7.0" revision commit))
18415 (source
18416 (origin
18417 (method git-fetch)
18418 (uri (git-reference
18419 (url "https://github.com/rejeep/prodigy.el")
18420 (commit commit)))
18421 (file-name (git-file-name name version))
18422 (sha256
18423 (base32
18424 "02kysq57kqzg0zkhaf302ada9cp9spgp71z8vbdq4c7dl6x75h4g"))))
18425 (build-system emacs-build-system)
18426 (propagated-inputs
18427 `(("emacs-dash" ,emacs-dash)
18428 ("emacs-s" ,emacs-s)
18429 ("emacs-f" ,emacs-f)))
18430 (native-inputs
18431 `(("emacs-el-mock" ,emacs-el-mock)
18432 ("emacs-ert-async" ,emacs-ert-async)))
18433 (home-page "https://github.com/rejeep/prodigy.el")
18434 (synopsis "Manage external services from within Emacs")
18435 (description "This package provides a GUI for defining and monitoring services.")
18436 (license license:gpl3+))))
18437
18438 (define-public emacs-web-server
18439 (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
18440 (revision "1"))
18441 (package
18442 (name "emacs-web-server")
18443 (version (git-version "0.1.0" revision commit))
18444 (source
18445 (origin
18446 (method git-fetch)
18447 (uri (git-reference
18448 (url "https://github.com/eschulte/emacs-web-server/")
18449 (commit commit)))
18450 (file-name (git-file-name name version))
18451 (sha256
18452 (base32
18453 "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
18454 (build-system emacs-build-system)
18455 (native-inputs
18456 `(("curl" ,curl)))
18457 (arguments
18458 `(#:phases
18459 (modify-phases %standard-phases
18460 (add-after 'unpack 'set-shell
18461 ;; Setting the SHELL environment variable is required for the tests
18462 ;; to find sh.
18463 (lambda _
18464 (setenv "SHELL" (which "sh"))
18465 #t)))
18466 #:tests? #t
18467 #:test-command '("make" "check")))
18468 (home-page "https://github.com/eschulte/emacs-web-server/")
18469 (synopsis "Web server with handlers in Emacs Lisp")
18470 (description "This package supports HTTP GET and POST requests with
18471 url-encoded parameters, as well as web sockets.")
18472 (license license:gpl3+))))
18473
18474 (define-public emacs-markdown-preview-mode
18475 (package
18476 (name "emacs-markdown-preview-mode")
18477 (version "0.9.2")
18478 (source
18479 (origin
18480 (method git-fetch)
18481 (uri (git-reference
18482 (url "https://github.com/ancane/markdown-preview-mode")
18483 (commit (string-append "v" version))))
18484 (file-name (git-file-name name version))
18485 (sha256
18486 (base32
18487 "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"))))
18488 (build-system emacs-build-system)
18489 (propagated-inputs
18490 `(("emacs-markdown-mode" ,emacs-markdown-mode)
18491 ("emacs-websocket" ,emacs-websocket)
18492 ("emacs-web-server" ,emacs-web-server)))
18493 (arguments '(#:include '("\\.el$" "\\.html$")))
18494 (home-page "https://github.com/ancane/markdown-preview-mode")
18495 (synopsis "Preview Markdown files")
18496 (description "This package provides a minor mode for preview of Markdown
18497 files, and sends rendered Markdown to a web browser.")
18498 (license license:gpl3+)))
18499
18500 (define-public emacs-dotenv-mode
18501 (package
18502 (name "emacs-dotenv-mode")
18503 (version "0.2.4")
18504 (source
18505 (origin
18506 (method git-fetch)
18507 (uri (git-reference
18508 (url "https://github.com/preetpalS/emacs-dotenv-mode")
18509 (commit (string-append "v" version))))
18510 (file-name (git-file-name name version))
18511 (sha256
18512 (base32
18513 "1fplkhxnsgdrg10iqsmw162zny2idz4vvv35spsb9j0hsk8imclc"))))
18514 (build-system emacs-build-system)
18515 (home-page "https://github.com/preetpalS/emacs-dotenv-mode")
18516 (synopsis "Major mode for @file{.env} files")
18517 (description "This package provides syntax highlighting for @file{.env}
18518 files.")
18519 (license license:gpl3+)))
18520
18521 (define-public emacs-add-node-modules-path
18522 (let ((commit "f31e69ccb681f882aebb806ce6e9478e3ac39708")
18523 (version "1.2.0")
18524 (revision "10"))
18525 (package
18526 (name "emacs-add-node-modules-path")
18527 (version (git-version version revision commit))
18528 (source
18529 (origin
18530 (method git-fetch)
18531 (uri (git-reference
18532 (url "https://github.com/codesuki/add-node-modules-path")
18533 (commit commit)))
18534 (file-name (git-file-name name version))
18535 (sha256
18536 (base32
18537 "0p106bqmvdr8by5iv02bshm339qbrjcch2d15mrm4h3nav03v306"))))
18538 (build-system emacs-build-system)
18539 (home-page "https://github.com/codesuki/add-node-modules-path")
18540 (synopsis "Add @file{node_modules} to the buffer-local @file{exec-path}")
18541 (description "This package searches the parent directories of the
18542 current file for the project's @file{node_modules/.bin/} directory, allowing
18543 Emacs to find project-specific installations of packages.")
18544 (license license:expat))))
18545
18546 (define-public emacs-flow-minor-mode
18547 (let ((commit "d1b32a7dd0d33c6a00a106da5f4b2323602cbd3e")
18548 (version "0.3")
18549 (revision "4"))
18550 (package
18551 (name "emacs-flow-minor-mode")
18552 (version (git-version version revision commit))
18553 (source
18554 (origin
18555 (method git-fetch)
18556 (uri (git-reference
18557 (url "https://github.com/an-sh/flow-minor-mode")
18558 (commit commit)))
18559 (file-name (git-file-name name version))
18560 (sha256
18561 (base32
18562 "169r4ib9qg9q6fm3p0p23qs1qx4pa9pg1qvyq4ysr85i7kwygppl"))))
18563 (build-system emacs-build-system)
18564 (home-page "https://github.com/an-sh/flow-minor-mode")
18565 (synopsis "Minor mode for JavaScript Flow files")
18566 (description "This package integrates Flow with Emacs, allowing for
18567 definition-jumping and type-checking on demand.")
18568 (license license:bsd-3))))
18569
18570 (define-public emacs-rjsx-mode
18571 (let ((commit "0e7fa6b4facdec4f85a7a8865bdf59dfd57217b5")
18572 (revision "2"))
18573 (package
18574 (name "emacs-rjsx-mode")
18575 (version (git-version "0.4" revision commit))
18576 (source
18577 (origin
18578 (method git-fetch)
18579 (uri (git-reference
18580 (url "https://github.com/felipeochoa/rjsx-mode")
18581 (commit commit)))
18582 (file-name (git-file-name name version))
18583 (sha256
18584 (base32
18585 "0s0871sx3ch09kgvbcp9na4zdrfrda62xjq8m9knbq5vnj8q8qpi"))))
18586 (build-system emacs-build-system)
18587 (propagated-inputs
18588 `(("emacs-js2-mode" ,emacs-js2-mode)))
18589 (arguments
18590 `(#:tests? #t
18591 #:test-command '("make" "test")))
18592 (home-page "https://github.com/felipeochoa/rjsx-mode")
18593 (synopsis "Major mode for JSX files")
18594 (description "This package extends the parser of @code{js2-mode} to
18595 support JSX syntax.")
18596 (license license:expat))))
18597
18598 (define-public emacs-origami-el
18599 (let ((commit "1f38085c8f9af7842765ed63f7d6dfe4dab59366")
18600 (version "1.0")
18601 (revision "1"))
18602 (package
18603 (name "emacs-origami-el")
18604 (version (git-version version revision commit))
18605 (source
18606 (origin
18607 (method git-fetch)
18608 (uri (git-reference
18609 (url "https://github.com/gregsexton/origami.el")
18610 (commit commit)))
18611 (file-name (git-file-name name version))
18612 (sha256
18613 (base32
18614 "0ha1qsz2p36pqa0sa2sp83lspbgx5lr7930qxnwd585liajzdd9x"))))
18615 (build-system emacs-build-system)
18616 (propagated-inputs
18617 `(("emacs-dash" ,emacs-dash)
18618 ("emacs-s" ,emacs-s)))
18619 (home-page "https://github.com/gregsexton/origami.el")
18620 (synopsis "Flexible text-folding")
18621 (description "This package provides a minor mode for collapsing and
18622 expanding regions of text without modifying the actual contents.")
18623 (license license:expat))))
18624
18625 (define-public emacs-peep-dired
18626 (let ((commit "c88a9a3050197840edfe145f11e0bb9488de32f4")
18627 (version "0")
18628 (revision "1"))
18629 (package
18630 (name "emacs-peep-dired")
18631 (version (git-version version revision commit))
18632 (source
18633 (origin
18634 (method git-fetch)
18635 (uri (git-reference
18636 (url "https://github.com/asok/peep-dired")
18637 (commit commit)))
18638 (file-name (git-file-name name version))
18639 (sha256
18640 (base32
18641 "1wy5qpnfri1gha2cnl6q20qar8dbl2mimpb43bnhmm2g3wgjyad6"))))
18642 (build-system emacs-build-system)
18643 (home-page "https://github.com/asok/peep-dired")
18644 (synopsis "Preview files in another window")
18645 (description "This package provides a minor mode that allows files to be
18646 previewed by scrolling up and down within a @code{dired} buffer.")
18647 (license license:gpl3+))))
18648
18649 (define-public emacs-counsel-etags
18650 (package
18651 (name "emacs-counsel-etags")
18652 (version "1.8.9")
18653 (source
18654 (origin
18655 (method git-fetch)
18656 (uri (git-reference
18657 (url "https://github.com/redguardtoo/counsel-etags")
18658 (commit version)))
18659 (file-name (git-file-name name version))
18660 (sha256
18661 (base32
18662 "0rmdl93kgyydwa96yclds9vwly41bpk8v18cbqc1x266w6v77dr9"))))
18663 (build-system emacs-build-system)
18664 (propagated-inputs
18665 `(("emacs-ivy" ,emacs-ivy)))
18666 (arguments
18667 `(#:tests? #t
18668 #:test-command '("make" "test")))
18669 (home-page "https://github.com/redguardtoo/counsel-etags")
18670 (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}")
18671 (description "This package uses @code{ivy-mode} to facilitate navigating
18672 and searching through @code{Ctags} files.")
18673 (license license:gpl3+)))
18674
18675 (define-public emacs-org-download
18676 (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
18677 (revision "2"))
18678 (package
18679 (name "emacs-org-download")
18680 (version (git-version "0.1.0" revision commit))
18681 (source (origin
18682 (method git-fetch)
18683 (uri (git-reference
18684 (url "https://github.com/abo-abo/org-download")
18685 (commit commit)))
18686 (sha256
18687 (base32
18688 "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
18689 (file-name (git-file-name name version))))
18690 (build-system emacs-build-system)
18691 (propagated-inputs
18692 `(("emacs-org" ,emacs-org)
18693 ("emacs-async" ,emacs-async)))
18694 (home-page "https://github.com/abo-abo/org-download")
18695 (synopsis "Facilitate moving images")
18696 (description "This package provides utilities for managing image files
18697 copied into @code{org-mode} buffers.")
18698 (license license:gpl3+))))
18699
18700 (define-public emacs-dash-docs
18701 (let ((commit "111fd9b97001f1ad887b45e5308a14ddd68ce70a")
18702 (revision "1"))
18703 (package
18704 (name "emacs-dash-docs")
18705 (version (git-version "1.4.0" revision commit))
18706 (source
18707 (origin
18708 (method git-fetch)
18709 (uri (git-reference
18710 (url "https://github.com/dash-docs-el/dash-docs.git")
18711 (commit commit)))
18712 (file-name (git-file-name name version))
18713 (sha256
18714 (base32
18715 "0sckb7z0ylflva212bns7iq9mfnffgjghi0qspsbfwra35zb9xng"))))
18716 (build-system emacs-build-system)
18717 (propagated-inputs
18718 `(("emacs-async" ,emacs-async)))
18719 (native-inputs
18720 `(("emacs-undercover" ,emacs-undercover)
18721 ("emacs-ert-runner" ,emacs-ert-runner)))
18722 (arguments
18723 `(#:tests? #t
18724 #:test-command '("ert-runner")
18725 #:phases
18726 ;; this test requires network access, so remove it
18727 (modify-phases %standard-phases
18728 (add-before 'check 'make-tests-writable
18729 (lambda _
18730 (make-file-writable "test/dash-docs-test.el")
18731 #t))
18732 (add-before 'check 'delete-test
18733 (lambda _
18734 (emacs-batch-edit-file "test/dash-docs-test.el"
18735 `(progn (progn
18736 (goto-char (point-min))
18737 (re-search-forward "ert-deftest dash-docs-official-docsets-test")
18738 (beginning-of-line)
18739 (kill-sexp))
18740 (basic-save-buffer)))
18741 #t)))))
18742 (home-page "https://github.com/dash-docs-el/dash-docs")
18743 (synopsis "Offline documentation browser for APIs using Dash docsets")
18744 (description "This package exposes functionality to work with Dash docsets.")
18745 (license license:gpl3+))))
18746
18747 (define-public emacs-helm-dash
18748 (let ((commit "7f853bd34da666f0e9a883011c80f451b06f6c59")
18749 (revision "2"))
18750 (package
18751 (name "emacs-helm-dash")
18752 (version (git-version "1.3.0" revision commit))
18753 (source
18754 (origin
18755 (method git-fetch)
18756 (uri (git-reference
18757 (url "https://github.com/areina/helm-dash.git")
18758 (commit commit)))
18759 (file-name (git-file-name name version))
18760 (sha256
18761 (base32
18762 "0r192vzry1212ihabg9pgw9xar8zdgnbgy0vsgvfm8s5wj6ny7jp"))))
18763 (build-system emacs-build-system)
18764 (propagated-inputs
18765 `(("emacs-helm" ,emacs-helm)
18766 ("emacs-dash-docs" ,emacs-dash-docs)))
18767 (home-page "https://github.com/areina/helm-dash")
18768 (synopsis "Offline documentation browser for APIs using Dash docsets")
18769 (description "This package uses Helm to install and navigate through
18770 Dash docsets.")
18771 (license license:gpl3+))))
18772
18773 (define-public emacs-counsel-dash
18774 (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
18775 (revision "3"))
18776 (package
18777 (name "emacs-counsel-dash")
18778 (version (git-version "0.1.3" revision commit))
18779 (source
18780 (origin
18781 (method git-fetch)
18782 (uri (git-reference
18783 (url "https://github.com/dash-docs-el/counsel-dash.git")
18784 (commit commit)))
18785 (file-name (git-file-name name version))
18786 (sha256
18787 (base32
18788 "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
18789 (build-system emacs-build-system)
18790 (propagated-inputs
18791 `(("emacs-dash-docs" ,emacs-dash-docs)
18792 ("emacs-ivy" ,emacs-ivy)))
18793 (arguments
18794 `(#:phases
18795 (modify-phases %standard-phases
18796 (add-after 'unpack 'require-ivy
18797 (lambda _
18798 (substitute* "counsel-dash.el"
18799 (("^\\(require 'cl-lib\\)")
18800 "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
18801 #t)))))
18802 (home-page "https://github.com/dash-docs-el/counsel-dash")
18803 (synopsis "Offline documentation browser for APIs using Dash docsets")
18804 (description "This package uses @code{ivy-mode} to install and navigate
18805 through Dash docsets.")
18806 (license license:expat))))
18807
18808 (define-public emacs-el-patch
18809 (package
18810 (name "emacs-el-patch")
18811 (version "2.2.3")
18812 (source
18813 (origin
18814 (method git-fetch)
18815 (uri (git-reference
18816 (url "https://github.com/raxod502/el-patch")
18817 (commit version)))
18818 (file-name (git-file-name name version))
18819 (sha256
18820 (base32
18821 "18djslz177q6q33y82zmg2v6n9236a76kiqfvxdk4vbqzjbq82f7"))))
18822 (build-system emacs-build-system)
18823 (home-page "https://github.com/raxod502/el-patch")
18824 (synopsis "Future-proof your Emacs customizations")
18825 (description "This package allows for an alternate definition of an Elisp
18826 function to be specified and for any differences from the original definition
18827 to be examined using Ediff.")
18828 (license license:expat)))
18829
18830 (define-public emacs-info-plus
18831 (let ((commit "4a6b93c170169594e1e8ea60cd799a1a88a969da")
18832 (revision "2"))
18833 (package
18834 (name "emacs-info-plus")
18835 (version (git-version "0" revision commit))
18836 (source
18837 (origin
18838 (method git-fetch)
18839 (uri (git-reference
18840 (url "https://github.com/emacsmirror/info-plus")
18841 (commit commit)))
18842 (file-name (git-file-name name version))
18843 (sha256
18844 (base32
18845 "1xzmx7m1qbl3b1x6yq1db1a108xqaa64ljfv1hdw763zmy4kc6m0"))))
18846 (build-system emacs-build-system)
18847 (home-page "https://github.com/emacsmirror/info-plus")
18848 (synopsis "Extensions to @file{info.el}")
18849 (description "This package extends Emacs' @file{info.el} by allowing
18850 outline-enabled table of contents, additional metadata association for Info
18851 nodes, and more.")
18852 (license license:gpl2+))))
18853
18854 (define-public emacs-eval-sexp-fu-el
18855 (package
18856 (name "emacs-eval-sexp-fu-el")
18857 (version "0.5.0")
18858 (source
18859 (origin
18860 (method git-fetch)
18861 (uri (git-reference
18862 (url "https://github.com/hchbaw/eval-sexp-fu.el")
18863 (commit (string-append "v" version))))
18864 (file-name (git-file-name name version))
18865 (sha256
18866 (base32
18867 "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"))))
18868 (build-system emacs-build-system)
18869 (home-page "https://github.com/hchbaw/eval-sexp-fu.el")
18870 (synopsis "Enhancements for evaluating s-expressions")
18871 (description "This package provides provides variants of
18872 @code{eval-last-sexp} that work on the containing list or s-expression, as
18873 well as an option for visually flashing evaluated s-expressions.")
18874 (license license:gpl3+)))
18875
18876 (define-public emacs-counsel-tramp
18877 (package
18878 (name "emacs-counsel-tramp")
18879 (version "0.6.3")
18880 (source
18881 (origin
18882 (method git-fetch)
18883 (uri (git-reference
18884 (url "https://github.com/masasam/emacs-counsel-tramp")
18885 (commit version)))
18886 (file-name (git-file-name name version))
18887 (sha256
18888 (base32
18889 "1qy9lf7cyv6hp9mmpwh92cpdcffbxzyzchx6878d5pmk9qh6xy92"))))
18890 (build-system emacs-build-system)
18891 (propagated-inputs
18892 `(("emacs-ivy" ,emacs-ivy)))
18893 (home-page "https://github.com/masasam/emacs-counsel-tramp")
18894 (synopsis "Ivy interface for TRAMP")
18895 (description "This package allows @code{ivy-mode} to display and filter
18896 SSH servers.")
18897 (license license:gpl3+)))
18898
18899 (define-public emacs-tramp-auto-auth
18900 (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac"))
18901 (package
18902 (name "emacs-tramp-auto-auth")
18903 (version (git-version "20191027" "1" commit))
18904 (source
18905 (origin
18906 (method git-fetch)
18907 (uri (git-reference
18908 (url "https://github.com/oitofelix/tramp-auto-auth.git")
18909 (commit commit)))
18910 (file-name (git-file-name name version))
18911 (sha256
18912 (base32
18913 "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k"))))
18914 (build-system emacs-build-system)
18915 (home-page "https://github.com/oitofelix/tramp-auto-auth")
18916 (synopsis "TRAMP automatic authentication library")
18917 (description "This package provides @code{tramp-auto-auth-mode} Emacs
18918 global minor mode whose purpose is to automatically feed TRAMP sub-processes
18919 with passwords for paths matching regexps.")
18920 (license license:gpl3+))))
18921
18922 (define-public emacs-eacl
18923 (package
18924 (name "emacs-eacl")
18925 (version "2.0.1")
18926 (source
18927 (origin
18928 (method git-fetch)
18929 (uri (git-reference
18930 (url "https://github.com/redguardtoo/eacl")
18931 (commit version)))
18932 (file-name (git-file-name name version))
18933 (sha256
18934 (base32
18935 "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"))))
18936 (build-system emacs-build-system)
18937 (propagated-inputs
18938 `(("emacs-ivy" ,emacs-ivy)))
18939 (home-page "https://github.com/redguardtoo/eacl")
18940 (synopsis "Auto-complete lines by using @code{grep} on a project")
18941 (description "This package provides auto-completion cammands for single
18942 and multiple lines of code in a project.")
18943 (license license:gpl3+)))
18944
18945 (define-public emacs-semantic-refactor
18946 ;; The last release, 0.5, was made on 2015-07-26 and there have been 47
18947 ;; commits since then.
18948 (let ((commit "6f2c97d17fb70f4ca2112f5a2b99a8ec162004f5"))
18949 (package
18950 (name "emacs-semantic-refactor")
18951 (version (git-version "0.5" "1" commit))
18952 (source
18953 (origin
18954 (method git-fetch)
18955 (uri (git-reference
18956 (url "https://github.com/tuhdo/semantic-refactor")
18957 (commit commit)))
18958 (file-name (git-file-name name version))
18959 (sha256
18960 (base32
18961 "1lyz3zjkx2csh0xdy1zpx8s32qp1p3sig57mwi9xhgpqjyf0axmb"))))
18962 (build-system emacs-build-system)
18963 (home-page "https://github.com/tuhdo/semantic-refactor")
18964 (synopsis "Refactoring tool for C/C++ and Lisp dialects")
18965 (description "This package provides a refactoring tool based on the
18966 Emacs Semantic parser framework. For C and C++ it supports operations such as:
18967
18968 @enumerate
18969 @item Generating class implementations
18970 @item Generating function prototypes
18971 @item Converting functions to function pointers
18972 @item Moving semantic units
18973 @item etc...
18974 @end enumerate
18975
18976 For Lisp dialects like Clojure, ELisp, and Scheme, it supports operations such
18977 as:
18978
18979 @enumerate
18980 @item Formatting the whole buffer
18981 @item Converting sexpressions to one or multiple lines
18982 @item etc...
18983 @end enumerate\n")
18984 (license license:gpl3+))))
18985
18986 (define-public emacs-nhexl-mode
18987 (package
18988 (name "emacs-nhexl-mode")
18989 (version "1.4")
18990 (source
18991 (origin
18992 (method url-fetch)
18993 (uri (string-append
18994 "https://elpa.gnu.org/packages/nhexl-mode-"
18995 version ".el"))
18996 (sha256
18997 (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8"))))
18998 (build-system emacs-build-system)
18999 (home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
19000 (synopsis "Minor mode to edit files via hex-dump format")
19001 (description
19002 "This package implements NHexl mode, a minor mode for editing files
19003 in hex dump format. The mode command is called @command{nhexl-mode}.
19004
19005 This minor mode implements similar functionality to @command{hexl-mode},
19006 but using a different implementation technique, which makes it
19007 usable as a \"plain\" minor mode. It works on any buffer, and does
19008 not mess with the undo log or with the major mode.
19009
19010 It also comes with:
19011
19012 @itemize
19013 @item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
19014 the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
19015 (which only work for hex-digits) will only modify the nibble under point.
19016 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
19017 moving text. In this minor mode, not only self-inserting keys overwrite
19018 existing text, but commands like `yank' and @command{kill-region} as well.
19019 @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
19020 C-f} to advance by #xa4 characters.
19021 @end itemize\n")
19022 (license license:gpl3+)))
19023
19024 (define-public emacs-helm-wikipedia
19025 (let ((commit "126f044e0a0e1432e0791c33ce2a41875d704a9b"))
19026 (package
19027 (name "emacs-helm-wikipedia")
19028 (version (git-version "0.0.0" "1" commit))
19029 (home-page "https://github.com/emacs-helm/helm-wikipedia/")
19030 (source
19031 (origin
19032 (method git-fetch)
19033 (uri (git-reference
19034 (url home-page)
19035 (commit commit)))
19036 (file-name (git-file-name name version))
19037 (sha256
19038 (base32
19039 "148a5xsnbsiddhf9cl7yxdk41lrv38h0pip91kcflw9d7l0dp7pr"))))
19040 (build-system emacs-build-system)
19041 (inputs
19042 `(("helm" ,emacs-helm)))
19043 (synopsis "Search suggestions and article extracts from Wikipedia for Emacs")
19044 (description
19045 "This package provides an Emacs Helm interface for search suggestions
19046 and article extracts for Wikipedia.")
19047 (license license:gpl3+))))
19048
19049 (define-public emacs-webfeeder
19050 (package
19051 (name "emacs-webfeeder")
19052 (version "1.0.0")
19053 (source
19054 (origin
19055 (method url-fetch)
19056 (uri (string-append
19057 "https://elpa.gnu.org/packages/webfeeder-"
19058 version
19059 ".tar"))
19060 (sha256
19061 (base32
19062 "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
19063 (build-system emacs-build-system)
19064 (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
19065 (synopsis "Build RSS and Atom webfeeds from HTML files")
19066 (description
19067 "Webfeeder is an Emacs library to generate RSS and Atom feeds from HTML
19068 files. The various elements of the HTML input are parsed with customizable
19069 functions (e.g. @code{webfeeder-title-function}).")
19070 (license license:gpl3+)))
19071
19072 (define-public emacs-evil-numbers
19073 (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
19074 (package
19075 (name "emacs-evil-numbers")
19076 (version (git-version "0.4" "1" commit))
19077 (source (origin
19078 (method git-fetch)
19079 (uri (git-reference
19080 (url "https://github.com/dieggsy/evil-numbers")
19081 (commit commit)))
19082 (file-name (git-file-name name version))
19083 (sha256
19084 (base32
19085 "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
19086 (build-system emacs-build-system)
19087 (home-page "https://github.com/dieggsy/evil-numbers")
19088 (synopsis "Increment and decrement numbers in Emacs")
19089 (description "This package increments and decrements binary, octal,
19090 decimal and hex literals. It works like C-a/C-x in Vim, i.e. searches for
19091 number up to EOL and then increments or decrements and keeps zero padding up
19092 (unlike in Vim). When a region is active, as in Evil's visual mode, all the
19093 numbers within that region will be incremented/decremented (unlike in Vim).
19094
19095 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
19096 (license license:gpl3+))))
19097
19098 (define-public emacs-rotate-text
19099 (package
19100 (name "emacs-rotate-text")
19101 (version "0.1")
19102 (source (origin
19103 (method git-fetch)
19104 (uri (git-reference
19105 (url "https://github.com/nschum/rotate-text.el.git")
19106 (commit version)))
19107 (file-name (git-file-name name version))
19108 (sha256
19109 (base32
19110 "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
19111 (build-system emacs-build-system)
19112 (home-page "http://nschum.de/src/emacs/rotate-text/")
19113 (synopsis "Cycle through words, symbols and patterns in Emacs")
19114 (description "@code{rotate-text} allows you rotate to commonly
19115 interchanged text with a single keystroke. For example, you can toggle
19116 between \"frame-width\" and \"frame-height\", between \"public\",
19117 \"protected\" and \"private\" and between \"variable1\", \"variable2\" through
19118 \"variableN\".")
19119 (license license:gpl2+)))
19120
19121 (define-public emacs-ediprolog
19122 (package
19123 (name "emacs-ediprolog")
19124 (version "1.2")
19125 (source
19126 (origin
19127 (method url-fetch)
19128 (uri (string-append
19129 "https://elpa.gnu.org/packages/ediprolog-"
19130 version
19131 ".el"))
19132 (sha256
19133 (base32
19134 "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
19135 (build-system emacs-build-system)
19136 (home-page "http://elpa.gnu.org/packages/ediprolog.html")
19137 (synopsis "Emacs Does Interactive Prolog")
19138 (description "This package provides a major mode that let the user
19139 interact with SWI-Prolog in all buffers. For instance, one can consult Prolog
19140 programs and evaluate embedded queries. This mode is focused on the command
19141 @code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
19142 context, carry out the appropriate action.")
19143 (license license:gpl3+)))
19144
19145 (define-public emacs-evil-cleverparens
19146 (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
19147 (revision "1"))
19148 (package
19149 (name "emacs-evil-cleverparens")
19150 (version (git-version "2017-07-17" revision commit))
19151 (source (origin
19152 (method git-fetch)
19153 (uri (git-reference
19154 (url "https://github.com/luxbock/evil-cleverparens.git")
19155 (commit commit)))
19156 (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
19157 (file-name (git-file-name name version))))
19158 (build-system emacs-build-system)
19159 (propagated-inputs
19160 `(("emacs-evil" ,emacs-evil)
19161 ("emacs-paredit" ,emacs-paredit)
19162 ("emacs-smartparens" ,emacs-smartparens)))
19163 (home-page "https://github.com/luxbock/evil-cleverparens")
19164 (synopsis "Emacs modal editing optimized for editing Lisp")
19165 (description "@code{evil-cleverparens} remaps Evil keybindings to allow
19166 modal editing with screwing up the structure of Lisp code. Alternatives for
19167 verb commands which would are normally destructive (such as deletion) are
19168 provided. Those alternative commands are and bound by default to their
19169 corresponding Evil keys.")
19170 (license license:expat))))
19171
19172 (define-public emacs-evil-traces
19173 (let ((commit "1931e3ea2c64b4aec393a9c25063c330deff55e3")
19174 (revision "2"))
19175 (package
19176 (name "emacs-evil-traces")
19177 (version (git-version "0.0.1" revision commit))
19178 (source (origin
19179 (method git-fetch)
19180 (uri (git-reference
19181 (url "https://github.com/mamapanda/evil-traces.git")
19182 (commit commit)))
19183 (file-name (git-file-name name version))
19184 (sha256
19185 (base32
19186 "12p9lfxscs182vbd4dy0m5gacs3d4kyprbz5yndpwvl8g2qsqplz"))))
19187 (build-system emacs-build-system)
19188 (propagated-inputs
19189 `(("emacs-evil" ,emacs-evil)))
19190 (arguments
19191 `(#:phases
19192 (modify-phases %standard-phases
19193 (add-after 'unpack 'set-shell
19194 ;; Setting the SHELL environment variable is required for the tests
19195 ;; to find sh.
19196 (lambda _
19197 (setenv "SHELL" (which "sh"))
19198 #t)))
19199 #:tests? #t
19200 #:test-command '("make" "test")))
19201 (home-page "https://github.com/mamapanda/evil-traces")
19202 (synopsis "Visual hints for @code{evil-ex}")
19203 (description "This package adds visual hints to certain @code{ex}
19204 commands in @code{evil-mode}.")
19205 (license license:gpl3+))))
19206
19207 (define-public emacs-xterm-color
19208 (package
19209 (name "emacs-xterm-color")
19210 (version "1.9")
19211 (source (origin
19212 (method git-fetch)
19213 (uri (git-reference
19214 (url "https://github.com/atomontage/xterm-color.git")
19215 (commit version)))
19216 (file-name (git-file-name name version))
19217 (sha256
19218 (base32
19219 "0i9ivc5xhl5y5v0l18kbhfg8s2abb9zaimyx951b8bc0f5as68xm"))))
19220 (build-system emacs-build-system)
19221 (home-page "https://github.com/atomontage/xterm-color")
19222 (synopsis "ANSI & xterm-256 color text property translator for Emacs")
19223 (description "@code{xterm-color.el} is an ANSI control sequence to
19224 text-property translator.")
19225 (license license:bsd-2)))
19226
19227 (define-public emacs-org-noter
19228 (package
19229 (name "emacs-org-noter")
19230 (version "1.4.1")
19231 (source
19232 (origin
19233 (method git-fetch)
19234 (uri (git-reference
19235 (url "https://github.com/weirdNox/org-noter.git")
19236 (commit version)))
19237 (file-name (git-file-name name version))
19238 (sha256
19239 (base32
19240 "1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
19241 (build-system emacs-build-system)
19242 (propagated-inputs `(("emacs-org" ,emacs-org)))
19243 (home-page "https://github.com/weirdNox/org-noter")
19244 (synopsis "Synchronized, Org-mode, document annotator")
19245 (description
19246 "This package lets you create notes that are kept in sync when you
19247 scroll through the document, but that are external to it---the notes
19248 themselves live in an Org-mode file. As such, this leverages the power of
19249 Org-mode (the notes may have outlines, latex fragments, babel, etc...) while
19250 acting like notes that are made @emph{in} the document.")
19251 (license license:gpl3+)))
19252
19253 (define-public emacs-org-redmine
19254 (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc"))
19255 (package
19256 (name "emacs-org-redmine")
19257 (version (git-version "0.1" "1" commit))
19258 (source (origin
19259 (method git-fetch)
19260 (uri (git-reference
19261 (url "https://github.com/gongo/org-redmine.git")
19262 (commit commit)))
19263 (file-name (git-file-name name version))
19264 (sha256
19265 (base32
19266 "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822"))))
19267 (build-system emacs-build-system)
19268 (home-page "https://github.com/gongo/org-redmine/")
19269 (synopsis "Redmine tools using Emacs")
19270 (description "This program provides an Emacs client for Redmine.")
19271 (license license:gpl3+))))
19272
19273 (define-public emacs-multi-term
19274 (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4"))
19275 (package
19276 (name "emacs-multi-term")
19277 (version "1.2")
19278 (source (origin
19279 (method git-fetch)
19280 (uri (git-reference
19281 (url "https://github.com/manateelazycat/multi-term.git")
19282 (commit commit)))
19283 (file-name (git-file-name name version))
19284 (sha256
19285 (base32
19286 "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf"))))
19287 (build-system emacs-build-system)
19288 (inputs `(("zsh" ,zsh)))
19289 (home-page "https://github.com/manateelazycat/multi-term")
19290 (synopsis "Manage multiple terminal buffers in Emacs")
19291 (description
19292 "This package enhances @code{term.el} with the following features:
19293
19294 @enumerate
19295 @item Functions to switch between multiple terminal buffers
19296 @item List of keys to be intercepted by @code{emacs-multi-term} instead of by
19297 the underlying terminal
19298 @item Kills the unused buffer left after exiting the terminal
19299 @item Kills the running sub-processes along with the terminal when killing the
19300 it forcibly
19301 @item Dedicated window for debugging program.
19302 @end enumerate")
19303 (license license:gpl3+))))
19304
19305 (define-public emacs-elpher
19306 (package
19307 (name "emacs-elpher")
19308 (version "1.4.6")
19309 (source
19310 (origin
19311 (method git-fetch)
19312 (uri (git-reference
19313 (url "https://github.com/tgvaughan/elpher")
19314 (commit (string-append "v" version))))
19315 (file-name (git-file-name name version))
19316 (sha256
19317 (base32
19318 "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66"))))
19319 (build-system emacs-build-system)
19320 (native-inputs
19321 `(("texinfo" ,texinfo)))
19322 (arguments
19323 `(#:phases
19324 (modify-phases %standard-phases
19325 (add-before 'install 'build-doc
19326 (lambda _
19327 (invoke "makeinfo" "elpher.texi"))))))
19328 (home-page "https://github.com/tgvaughan/elpher")
19329 (synopsis "Gopher client for Emacs")
19330 (description "Elpher is a full-featured gopher client for Emacs. Its
19331 features include intuitive keyboard and mouse-driven browsing, out-of-the-box
19332 compatibility with evil-mode, clickable web and gopher links in plain text,
19333 caching of visited sites, pleasant and configurable visualization of Gopher
19334 directories, direct visualisation of image files, jumping directly to links by
19335 name (with autocompletion), a simple bookmark management system and
19336 connections using TLS encryption.")
19337 (license license:gpl3+)))
19338
19339 (define-public emacs-zerodark-theme
19340 (package
19341 (name "emacs-zerodark-theme")
19342 (version "4.6")
19343 (source
19344 (origin
19345 (method git-fetch)
19346 (uri (git-reference
19347 (url "https://github.com/NicolasPetton/zerodark-theme")
19348 (commit version)))
19349 (file-name (git-file-name name version))
19350 (sha256
19351 (base32
19352 "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"))))
19353 (build-system emacs-build-system)
19354 (propagated-inputs
19355 `(("emacs-flycheck" ,emacs-flycheck)
19356 ("emacs-all-the-icons" ,emacs-all-the-icons)))
19357 (home-page
19358 "https://gitlab.petton.fr/nico/zerodark-theme")
19359 (synopsis
19360 "Dark, medium contrast theme for Emacs")
19361 (description
19362 "Zerodark is a dark theme inspired from One Dark and Niflheim.
19363 An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.")
19364 (license license:gpl3+)))
19365
19366 (define-public emacs-gnus-alias
19367 (package
19368 (name "emacs-gnus-alias")
19369 (version "20150316")
19370 (source (origin
19371 (method git-fetch)
19372 (uri (git-reference
19373 (url "https://github.com/hexmode/gnus-alias.git")
19374 (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac")))
19375 (file-name (git-file-name name version))
19376 (sha256
19377 (base32
19378 "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4"))))
19379 (build-system emacs-build-system)
19380 (home-page "https://melpa.org/#/gnus-alias")
19381 (synopsis "Alternative to @code{gnus-posting-styles}")
19382 (description "This Emacs add-on provides a simple mechanism to switch
19383 Identities when using a @code{message-mode} or a @code{message-mode} derived
19384 mode. Identities can include @code{From} and @code{Organisation} headers,
19385 extra headers, body and signature. Other features include:
19386
19387 @itemize
19388 @item Switch Identities in a message buffer.
19389 @item Access original message to help determine Identity of the followup/reply
19390 message.
19391 @item Act on a forwarded message as if it were a message being replied to.
19392 @item Start a new message with a given Identity pre-selected.
19393 @end itemize")
19394 (license license:gpl2+)))
19395
19396 (define-public emacs-ox-epub
19397 (package
19398 (name "emacs-ox-epub")
19399 (version "0.3")
19400 (source (origin
19401 (method git-fetch)
19402 (uri (git-reference
19403 (url "https://github.com/ofosos/ox-epub.git")
19404 (commit (string-append "v" version))))
19405 (file-name (git-file-name name version))
19406 (sha256
19407 (base32
19408 "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7"))))
19409 (build-system emacs-build-system)
19410 (home-page "https://github.com/ofosos/ox-epub")
19411 (synopsis "Export org mode projects to EPUB")
19412 (description "@code{ox-epub} extends the (X)HTML exporter to generate
19413 @code{.epub} files directly from OrgMode. This will export EPUB version 2,
19414 which should give broad compatibility. It should also be relatiely easy to
19415 convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working
19416 zip utility (default is @code{zip}).")
19417 (license license:gpl3+)))
19418
19419 (define-public emacs-ox-hugo
19420 (package
19421 (name "emacs-ox-hugo")
19422 (version "0.8")
19423 (source
19424 (origin
19425 (method git-fetch)
19426 (uri (git-reference
19427 (url "https://github.com/kaushalmodi/ox-hugo.git")
19428 (commit (string-append "v" version))))
19429 (file-name (git-file-name name version))
19430 (sha256
19431 (base32
19432 "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
19433 (build-system emacs-build-system)
19434 (home-page "https://ox-hugo.scripter.co")
19435 (synopsis "Hugo markdown back-end for Org export engine")
19436 (description
19437 "Ox-hugo is an Org exporter backend that exports Org to Hugo-compatible
19438 Markdown, Blackfriday, and also generates the front-matter in TOML or YAML
19439 format.")
19440 (license license:gpl3+)))
19441
19442 (define-public emacs-ox-pandoc
19443 (package
19444 (name "emacs-ox-pandoc")
19445 (version "20180510")
19446 (source (origin
19447 (method git-fetch)
19448 (uri (git-reference
19449 (url "https://github.com/kawabata/ox-pandoc.git")
19450 (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e")))
19451 (file-name (git-file-name name version))
19452 (sha256
19453 (base32
19454 "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz"))))
19455 (build-system emacs-build-system)
19456 (inputs
19457 `(("pandoc" ,ghc-pandoc)))
19458 (propagated-inputs
19459 `(("emacs-dash" ,emacs-dash)
19460 ("emacs-ht" ,emacs-ht)))
19461 (home-page "https://github.com/kawabata/ox-pandoc")
19462 (synopsis "Org exporter for Pandoc")
19463 (description "@code{ox-pandoc} is an exporter for converting Org-mode
19464 files to numerous other formats via Pandoc.")
19465 (license license:gpl3+)))
19466
19467 (define-public emacs-wc-mode
19468 (package
19469 (name "emacs-wc-mode")
19470 (version "1.3")
19471 (source (origin
19472 (method git-fetch)
19473 (uri (git-reference
19474 (url "https://github.com/bnbeckwith/wc-mode.git")
19475 (commit (string-append "v" version))))
19476 (file-name (git-file-name name version))
19477 (sha256
19478 (base32
19479 "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"))))
19480 (build-system emacs-build-system)
19481 (home-page "https://github.com/bnbeckwith/wc-mode")
19482 (synopsis "Running word count with goals (minor mode)")
19483 (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function
19484 for Emacs buffers as well as a modeline addition with live word, line and
19485 character counts. Additionally, a user can set specific goals for adding or
19486 deleting words. These goals were partly inspired by 750words.com where the
19487 goal of the site is to encourage writing by setting a goal of 750 words at a
19488 time.")
19489 (license license:gpl3+)))
19490
19491 (define-public emacs-mastodon
19492 (package
19493 (name "emacs-mastodon")
19494 (version "0.9.0")
19495 (source (origin
19496 (method git-fetch)
19497 (uri (git-reference
19498 (url "https://github.com/jdenen/mastodon.el.git")
19499 (commit version)))
19500 (file-name (git-file-name name version))
19501 (sha256
19502 (base32
19503 "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"))))
19504 (build-system emacs-build-system)
19505 (arguments
19506 `(#:phases
19507 (modify-phases %standard-phases
19508 ;; Move the source files to the top level, which is included in
19509 ;; the EMACSLOADPATH.
19510 (add-after 'unpack 'move-source-files
19511 (lambda _
19512 (let ((el-files (find-files "./lisp" ".*\\.el$")))
19513 (for-each (lambda (f)
19514 (rename-file f (basename f)))
19515 el-files))
19516 #t)))))
19517 (home-page "https://github.com/jdenen/mastodon.el")
19518 (synopsis "Emacs client for Mastodon")
19519 (description "@code{mastodon.el} is an Emacs client for Mastodon, the
19520 federated microblogging social network.")
19521 (license license:gpl3+)))
19522
19523 ;; The last release tarball is for version 0.6. We pick a commit close to
19524 ;; version 0.6.10, which doesn't have a release tarball.
19525 (define-public emacs-ebdb
19526 (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df")
19527 (revision "0"))
19528 (package
19529 (name "emacs-ebdb")
19530 (version (git-version "0.6.10" revision commit))
19531 (source (origin
19532 (method git-fetch)
19533 (uri (git-reference
19534 (url "https://github.com/girzel/ebdb.git")
19535 (commit commit)))
19536 (file-name (git-file-name name version))
19537 (sha256
19538 (base32
19539 "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz"))))
19540 (build-system emacs-build-system)
19541 (home-page "https://github.com/girzel/ebdb")
19542 (synopsis "EIEIO port of BBDB, Emacs's contact-management package")
19543 (description "EBDB is a contact management/addressbook package for
19544 Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using
19545 Emacs Lisp's (relatively new) EIEIO object oriented libraries.")
19546 (license license:gpl3+))))
19547
19548 (define-public emacs-refactor
19549 (package
19550 (name "emacs-refactor")
19551 (version "0.4")
19552 (source (origin
19553 (method git-fetch)
19554 (uri (git-reference
19555 (url "https://github.com/Wilfred/emacs-refactor.git")
19556 (commit version)))
19557 (file-name (git-file-name name version))
19558 (sha256
19559 (base32
19560 "1yky7vlv91501xb43xk19rr8mxlvrsxhawsc98jivf64nad5dqay"))))
19561 (build-system emacs-build-system)
19562 (propagated-inputs
19563 `(("emacs-dash" ,emacs-dash)
19564 ("emacs-s" ,emacs-s)
19565 ("emacs-popup" ,emacs-popup)
19566 ("emacs-list-utils" ,emacs-list-utils)
19567 ("emacs-iedit" ,emacs-iedit)))
19568 (home-page "https://github.com/Wilfred/emacs-refactor/")
19569 (synopsis "Language-specific refactoring in Emacs")
19570 (description "Emacs Refactor (EMR) is a framework for providing
19571 language-specific refactoring in Emacs. It includes refactoring commands for
19572 a variety of languages, including elisp itself.")
19573 (license license:gpl3+)))
19574
19575 (define-public emacs-flyspell-correct
19576 (package
19577 (name "emacs-flyspell-correct")
19578 (version "0.5")
19579 (source
19580 (origin
19581 (method git-fetch)
19582 (uri (git-reference
19583 (url "https://github.com/d12frosted/flyspell-correct.git")
19584 (commit (string-append "v" version))))
19585 (file-name (git-file-name name version))
19586 (sha256
19587 (base32
19588 "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"))))
19589 (build-system emacs-build-system)
19590 (propagated-inputs
19591 `(("emacs-helm" ,emacs-helm)
19592 ("emacs-ivy" ,emacs-ivy)
19593 ("emacs-popup" ,emacs-popup)))
19594 (home-page
19595 "https://github.com/d12frosted/flyspell-correct")
19596 (synopsis
19597 "Correcting words with flyspell via custom interfaces")
19598 (description
19599 "This package provides functionality for correcting words via custom
19600 interfaces. Several interfaces are supported beside the classic ido: popup,
19601 helm and ivy.")
19602 (license license:gpl3+)))
19603
19604 (define-public emacs-org-emms
19605 (let ((commit "07a8917f3d628c32e5de1dbd118ac08203772533")
19606 (revision "1"))
19607 (package
19608 (name "emacs-org-emms")
19609 (version
19610 (git-version "0.1" revision commit))
19611 (source
19612 (origin
19613 (method git-fetch)
19614 (uri (git-reference
19615 (url "https://gitlab.com/jagrg/org-emms.git")
19616 (commit commit)))
19617 (file-name (git-file-name name commit))
19618 (sha256
19619 (base32
19620 "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"))))
19621 (build-system emacs-build-system)
19622 (propagated-inputs
19623 `(("emms" ,emacs-emms)
19624 ("emacs-org" ,emacs-org)))
19625 (home-page "https://gitlab.com/jagrg/org-emms")
19626 (synopsis "Play multimedia files from org-mode")
19627 (description
19628 "This package provides a new org link type for playing back multimedia
19629 files from org-mode using EMMS, The Emacs Multimedia System. If the link
19630 contains a track position, playback will start at the specified position.")
19631 (license license:gpl3+))))
19632
19633 (define-public emacs-org-jira
19634 (package
19635 (name "emacs-org-jira")
19636 (version "4.3.1")
19637 (source
19638 (origin
19639 (method git-fetch)
19640 (uri (git-reference
19641 (url "https://github.com/ahungry/org-jira.git")
19642 (commit version)))
19643 (file-name (git-file-name name version))
19644 (sha256
19645 (base32
19646 "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"))))
19647 (build-system emacs-build-system)
19648 (propagated-inputs
19649 `(("emacs-request" ,emacs-request)
19650 ("emacs-s" ,emacs-s)
19651 ("emacs-dash" ,emacs-dash)
19652 ("emacs-org" ,emacs-org)))
19653 (home-page "https://github.com/ahungry/org-jira")
19654 (synopsis "Syncing between Jira and Org-mode")
19655 (description
19656 "This package provides an extension to org-mode for syncing issues with
19657 JIRA issue servers.")
19658 (license license:gpl3+)))
19659
19660 (define-public emacs-systemd-mode
19661 (package
19662 (name "emacs-systemd-mode")
19663 (version "1.6")
19664 (source (origin
19665 (method git-fetch)
19666 (uri (git-reference
19667 (url "https://github.com/holomorph/systemd-mode.git")
19668 (commit (string-append "v" version))))
19669 (file-name (git-file-name name version))
19670 (sha256
19671 (base32
19672 "0ylgnvpfindg4cxccbqy02ic7p0i9rygf1w16dm1filwhbqvjplq"))))
19673 (build-system emacs-build-system)
19674 (arguments '(#:include '("\\.el$" "\\.txt$")))
19675 (home-page "https://github.com/holomorph/systemd-mode")
19676 (synopsis
19677 "Major mode for editing systemd units")
19678 (description
19679 "Major mode for editing systemd units in GNU Emacs.")
19680 (license license:gpl3+)))
19681
19682 (define-public emacs-ssh-config-mode
19683 (let ((commit "4c1dfa57d452cb5654453bf186c8ff63e1e71b56")
19684 (revision "1"))
19685 (package
19686 (name "emacs-ssh-config-mode")
19687 (version (git-version "8.0" revision commit))
19688 (source
19689 (origin
19690 (method git-fetch)
19691 (uri
19692 (git-reference
19693 (url "https://github.com/jhgorrell/ssh-config-mode-el.git")
19694 (commit commit)))
19695 (file-name (git-file-name name commit))
19696 (sha256
19697 (base32
19698 "0crglfdazzckizbwzmgl2rn6j85avfzkr1q7ijxd17rp2anvr9bd"))))
19699 (build-system emacs-build-system)
19700 (arguments '(#:include '("\\.el$" "\\.txt$")))
19701 (home-page
19702 "https://github.com/jhgorrell/ssh-config-mode-el")
19703 (synopsis
19704 "Mode for fontification of ~/.ssh/config")
19705 (description
19706 "This package fontifies the ssh config keywords and creates
19707 keybindings for skipping from host section to host section.")
19708 (license license:gpl3+))))
19709
19710 (define-public emacs-ssh-agency
19711 (package
19712 (name "emacs-ssh-agency")
19713 (version "0.4")
19714 (source (origin
19715 (method git-fetch)
19716 (uri (git-reference
19717 (url "https://github.com/magit/ssh-agency.git")
19718 (commit version)))
19719 (file-name (git-file-name name version))
19720 (sha256
19721 (base32
19722 "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"))))
19723 (build-system emacs-build-system)
19724 (propagated-inputs
19725 `(("dash" ,emacs-dash)))
19726 (home-page "https://github.com/magit/ssh-agency")
19727 (synopsis "Manage @code{ssh-agent} from Emacs")
19728 (description
19729 "This package provides functions to startup @code{ssh-agent}, set the
19730 needed environment variables in Emacs, and prompt for passphrases from within
19731 Emacs so that pushes and pulls from @code{magit} will not require entering any
19732 passphrase.
19733
19734 It can also be useful on Unix-like platforms to delay having to enter your
19735 passphrase until the first time you push to a remote.")
19736 (license license:gpl3+)))
19737
19738 (define-public emacs-tao-theme
19739 (let ((commit "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c")
19740 (revision "0"))
19741 (package
19742 (name "emacs-tao-theme")
19743 (version (git-version "0" revision commit))
19744 (source
19745 (origin
19746 (method git-fetch)
19747 (uri (git-reference
19748 (url "https://github.com/11111000000/tao-theme-emacs.git")
19749 (commit commit)))
19750 (file-name (git-file-name name version))
19751 (sha256
19752 (base32
19753 "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"))))
19754 (build-system emacs-build-system)
19755 (home-page "https://github.com/11111000000/tao-theme-emacs")
19756 (synopsis "Parameterized uncolored color themes for Emacs")
19757 (description
19758 "This package provides two parameterized uncolored color themes for
19759 Emacs: @code{tao-yin} and @code{tao-yang}. The default
19760 @code{tao-theme-scale-fn} is @code{tao-theme-golden-scale}.
19761
19762 You can customize: @code{tao-theme-scale-fn}, that returns 16 2-digit numbers;
19763 @code{tao-theme-scale-filter-fn}, for edge filter; and
19764 @code{tao-theme-use-height}.")
19765 (license license:gpl3+))))
19766
19767 (define-public emacs-almost-mono-themes
19768 (let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
19769 (revision "0"))
19770 (package
19771 (name "emacs-almost-mono-themes")
19772 (version (git-version "0" revision commit))
19773 (source
19774 (origin
19775 (method git-fetch)
19776 (uri (git-reference
19777 (url "https://github.com/cryon/almost-mono-themes.git")
19778 (commit commit)))
19779 (file-name (git-file-name name version))
19780 (sha256
19781 (base32
19782 "034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
19783 (build-system emacs-build-system)
19784 (home-page "https://github.com/cryon/almost-mono-themes")
19785 (synopsis "Almost monochromatic themes for emacs in a few variants")
19786 (description
19787 "This package provides a collection of almost monochrome Emacs themes:
19788 @code{almost-mono-black} and @code{almost-mono-white}.")
19789 (license license:gpl3+))))
19790
19791 (define-public emacs-quasi-monochrome
19792 (let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
19793 (revision "0"))
19794 (package
19795 (name "emacs-quasi-monochrome")
19796 (version (git-version "1.2" revision commit))
19797 (source
19798 (origin
19799 (method git-fetch)
19800 (uri (git-reference
19801 (url "https://github.com/lbolla/emacs-quasi-monochrome.git")
19802 (commit commit)))
19803 (file-name (git-file-name name version))
19804 (sha256
19805 (base32
19806 "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
19807 (build-system emacs-build-system)
19808 (home-page "https://github.com/lbolla/emacs-quasi-monochrome")
19809 (synopsis "Dark color theme for Emacs")
19810 (description
19811 "This package provides a dark color theme with a black background, high
19812 contrast and few colors.")
19813 (license license:gpl3+))))
19814
19815 (define-public emacs-doom-themes
19816 (let ((commit "c2d0ed3fe73e415d29e05d56da08ba41018eec4f")
19817 (revision "3")
19818 (version "2.1.6"))
19819 (package
19820 (name "emacs-doom-themes")
19821 (version (git-version version revision commit))
19822 (source (origin
19823 (method git-fetch)
19824 (uri (git-reference
19825 (url "https://github.com/hlissner/emacs-doom-themes.git")
19826 (commit commit)))
19827 (file-name (git-file-name name version))
19828 (sha256
19829 (base32 "1bdi7dkddyn0s357v2jv0mlhgsyc66kcvbl01ly370pqia6r0gpc"))))
19830 (build-system emacs-build-system)
19831 (native-inputs
19832 `(("emacs-ert-runner" ,emacs-ert-runner)))
19833 (arguments
19834 `(#:tests? #t
19835 #:test-command '("ert-runner")
19836 #:modules ((guix build emacs-build-system)
19837 (guix build utils)
19838 (guix build emacs-utils)
19839 (srfi srfi-1))
19840 #:phases
19841 (modify-phases %standard-phases
19842 (add-after 'unpack 'move-themes
19843 (lambda _
19844 ;; Move the source files to the top level, which is in the
19845 ;; EMACSLOADPATH.
19846 (for-each (lambda (f)
19847 (rename-file f (basename f)))
19848 (find-files "./themes" ".*\\.el$"))
19849 #t))
19850 ;; There is a byte-code overflow issue in the latest checkout
19851 ;; which affects byte-compilation for several (read `most') theme
19852 ;; files. In order to cope with this issue, we disable
19853 ;; byte-compilation until this issue is resolved.
19854 ;; <https://github.com/hlissner/emacs-doom-themes/issues/314>
19855 (add-after 'move-themes 'disable-breaking-compilation
19856 (lambda _
19857 (for-each (lambda (file)
19858 (chmod file #o600) ; needed to write changes.
19859 (emacs-batch-disable-compilation file))
19860 (cons "doom-themes-ext-neotree.el"
19861 ;; NOTE: When updating this package, determine
19862 ;; whether changed theme files can byte-compile.
19863 ;; If they can successfully byte-compile, add them
19864 ;; to this list of exceptions.
19865 (lset-difference string-contains
19866 (find-files "." ".*-theme.el")
19867 '("material"
19868 "snazzy"
19869 "tomorrow-day"))))
19870 #t)))))
19871 (synopsis "Wide collection of color themes for Emacs")
19872 (description "Emacs-doom-themes contains numerous popular color themes for
19873 Emacs that integrate with major modes like Org-mode.")
19874 (home-page "https://github.com/hlissner/emacs-doom-themes")
19875 (license license:expat))))
19876
19877 (define-public emacs-modus-themes
19878 (package
19879 (name "emacs-modus-themes")
19880 (version "0.1.0")
19881 (source
19882 (origin
19883 (method git-fetch)
19884 (uri (git-reference
19885 (url "https://gitlab.com/protesilaos/modus-themes.git")
19886 (commit version)))
19887 (file-name (git-file-name name version))
19888 (sha256
19889 (base32
19890 "15g63675c5df2p0kk2sqj2c8qriyh69lcbggknqlaxapr13giz4x"))))
19891 (build-system emacs-build-system)
19892 (home-page "https://gitlab.com/protesilaos/modus-themes")
19893 (synopsis "Emacs themes designed for colour-contrast accessibility")
19894 (description
19895 "This is a set of accessible themes for GNU Emacs. The contrast ratio
19896 between foreground and background values should always be >= 7:1, which
19897 conforms with the WCAG AAA accessibility standard.
19898
19899 The Modus themes project consists of two standalone items, one where dark text
19900 is cast on a light backdrop (Modus Operandi) and another where light text is
19901 displayed against a dark background (Modus Vivendi).")
19902 (license license:gpl3+)))
19903
19904 (define-public emacs-punpun-theme
19905 (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65")
19906 (revision "0"))
19907 (package
19908 (name "emacs-punpun-theme")
19909 (version (git-version "0" revision commit))
19910 (source
19911 (origin
19912 (method git-fetch)
19913 (uri (git-reference
19914 (url "https://github.com/wasamasa/punpun-theme.git")
19915 (commit commit)))
19916 (file-name (git-file-name name version))
19917 (sha256
19918 (base32
19919 "1sgxrj3igzq86h3whfymxf4qzv9kpvcrlhbvjmnp7fwrplys0n7d"))))
19920 (build-system emacs-build-system)
19921 (home-page "https://github.com/wasamasa/punpun-theme")
19922 (synopsis "Bleak Emacs theme")
19923 (description
19924 "A bleak theme. Uses shades of gray and the occasional splash of
19925 color. Designed for 256-color terminals. Comes in light and dark!")
19926 (license license:gpl3+))))
19927
19928 (define-public emacs-elixir-mode
19929 (package
19930 (name "emacs-elixir-mode")
19931 (version "2.3.1")
19932 (source
19933 (origin
19934 (method git-fetch)
19935 (uri (git-reference
19936 (url "https://github.com/elixir-editors/emacs-elixir.git")
19937 (commit (string-append "v" version))))
19938 (file-name (git-file-name name version))
19939 (sha256
19940 (base32 "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"))))
19941 (build-system emacs-build-system)
19942 (propagated-inputs
19943 `(("emacs-pkg-info" ,emacs-pkg-info)))
19944 (home-page
19945 "https://github.com/elixir-editors/emacs-elixir")
19946 (synopsis "Major mode for editing Elixir files")
19947 (description
19948 "Elixir-Mode Provides font-locking, indentation and navigation support
19949 for the Elixir programming language.")
19950 (license license:gpl3+)))
19951
19952 (define-public emacs-dimmer
19953 (package
19954 (name "emacs-dimmer")
19955 (version "0.3.0")
19956 (source
19957 (origin
19958 (method git-fetch)
19959 (uri (git-reference
19960 (url "https://github.com/gonewest818/dimmer.el.git")
19961 (commit version)))
19962 (file-name (git-file-name name version))
19963 (sha256
19964 (base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"))))
19965 (build-system emacs-build-system)
19966 (home-page "https://github.com/gonewest818/dimmer.el")
19967 (synopsis "Visually highlights the selected buffer in Emacs")
19968 (description "Dimmer provides a minor mode that indicates which buffer is
19969 currently active by dimming the faces in the other buffers. It does this
19970 nondestructively, and computes the dimmed faces dynamically such that your
19971 overall color scheme is shown in a muted form without requiring you to define
19972 what is a \"dim\" version of every face.")
19973 (license license:gpl3+)))
19974
19975 (define-public emacs-minibuffer-line
19976 (package
19977 (name "emacs-minibuffer-line")
19978 (version "0.1")
19979 (source
19980 (origin
19981 (method url-fetch)
19982 (uri (string-append
19983 "https://elpa.gnu.org/packages/minibuffer-line-"
19984 version
19985 ".el"))
19986 (sha256
19987 (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
19988 (build-system emacs-build-system)
19989 (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
19990 (synopsis "Display status info in the minibuffer window")
19991 (description
19992 "This package lets you display various status information in the
19993 minibuffer window instead of the mode-line. Of course, this is only displayed
19994 when the minibuffer window is not already used for other things (e.g. a
19995 minibuffer or an each area message).
19996
19997 The contents and aspect is controlled by the @code{minibuffer-line-format}
19998 variable and the @code{minibuffer-line} face.")
19999 (license license:gpl3+)))
20000
20001 (define-public emacs-eshell-prompt-extras
20002 (package
20003 (name "emacs-eshell-prompt-extras")
20004 (version "1.0")
20005 (home-page "https://github.com/zwild/eshell-prompt-extras")
20006 (source
20007 (origin
20008 (method git-fetch)
20009 (uri (git-reference
20010 (url home-page)
20011 (commit version)))
20012 (file-name (git-file-name name version))
20013 (sha256
20014 (base32
20015 "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g"))))
20016 (build-system emacs-build-system)
20017 (synopsis "Display extra information and color for your Eshell prompt")
20018 (description "This library displays various customizable elements for
20019 @code{eshell} prompts: remote user, remote host, python virtual environment
20020 info, git branch, git dirty info and git unpushed number. Multiple themes are
20021 available.")
20022 (license license:gpl3+)))
20023
20024 (define-public emacs-eshell-did-you-mean
20025 (package
20026 (name "emacs-eshell-did-you-mean")
20027 (version "0.1")
20028 (home-page "https://github.com/xuchunyang/eshell-did-you-mean")
20029 (source
20030 (origin
20031 (method git-fetch)
20032 (uri (git-reference
20033 (url home-page)
20034 (commit (string-append "v" version))))
20035 (file-name (git-file-name name version))
20036 (sha256
20037 (base32
20038 "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg"))))
20039 (build-system emacs-build-system)
20040 (synopsis "Display suggestions on 'command not found' in Eshell")
20041 (description "This library adds a list of 'Did you mean...' suggestions
20042 when the command was not found in Eshell. The suggestions are found after the
20043 commands that bear resemblance to the input command.")
20044 (license license:gpl3+)))
20045
20046 (define-public emacs-unfill
20047 (package
20048 (name "emacs-unfill")
20049 (version "0.2")
20050 (home-page "https://github.com/purcell/unfill")
20051 (source
20052 (origin
20053 (method git-fetch)
20054 (uri (git-reference
20055 (url home-page)
20056 (commit version)))
20057 (file-name (git-file-name name version))
20058 (sha256
20059 (base32 "0wyradin5igp25nsd3n22i2ppxhmy49ac1iq1w2715v8pfmiydnc"))))
20060 (build-system emacs-build-system)
20061 (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}")
20062 (description
20063 "The functions in this package provide the inverse of Emacs'
20064 @code{fill-paragraph} and @code{fill-region}.")
20065 (license license:gpl3+)))
20066
20067 (define-public emacs-windower
20068 (package
20069 (name "emacs-windower")
20070 (version "0.0.1")
20071 (home-page "https://gitlab.com/ambrevar/emacs-windower")
20072 (source
20073 (origin
20074 (method git-fetch)
20075 (uri (git-reference
20076 (url home-page)
20077 (commit version)))
20078 (file-name (git-file-name name version))
20079 (sha256
20080 (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy"))))
20081 (build-system emacs-build-system)
20082 (synopsis "Helper functions for window manipulation in Emacs")
20083 (description
20084 "This package provides helper functions for window manipulation in Emacs,
20085 such as:
20086
20087 @itemize
20088 - switch to last buffer,
20089 - toggle single window display,
20090 - toggle between horizontal and vertical splits,
20091 - move borders more naturally,
20092 - swap windows à-la @code{windmove}.
20093 @end itemize\n")
20094 (license license:gpl3+)))
20095
20096 (define-public emacs-flycheck-cpplint
20097 (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2")
20098 (revision "1"))
20099 (package
20100 (name "emacs-flycheck-cpplint")
20101 (version (git-version "0.1" revision commit))
20102 (source
20103 (origin
20104 (method git-fetch)
20105 (uri (git-reference
20106 (url "https://github.com/flycheck/flycheck-google-cpplint")
20107 (commit commit)))
20108 (file-name (git-file-name name version))
20109 (sha256
20110 (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx"))))
20111 (build-system emacs-build-system)
20112 (arguments
20113 `(#:phases
20114 (modify-phases %standard-phases
20115 (add-after 'unpack 'set-cpplint-path
20116 (lambda _
20117 (substitute* "flycheck-google-cpplint.el"
20118 (("\"cpplint.py\"")
20119 (string-append "\"" (which "cpplint") "\"")))
20120 #t)))))
20121 (inputs
20122 `(("cpplint" ,cpplint)))
20123 (propagated-inputs
20124 `(("flycheck-mode" ,emacs-flycheck)))
20125 (synopsis "Google C++ checker for Flycheck")
20126 (description "This package provides a interface for @code{cpplint} over
20127 Flycheck plugin. @code{cpplint} is a static code checker for C++, following
20128 Google guidelines.")
20129 (home-page "https://github.com/flycheck/flycheck-google-cpplint")
20130 (license license:gpl3+))))
20131
20132 (define-public emacs-helm-fish-completion
20133 (package
20134 (name "emacs-helm-fish-completion")
20135 (version "0.2")
20136 (home-page "https://github.com/emacs-helm/helm-fish-completion")
20137 (source
20138 (origin
20139 (method git-fetch)
20140 (uri (git-reference
20141 (url home-page)
20142 (commit version)))
20143 (file-name (git-file-name name version))
20144 (sha256
20145 (base32 "089gp2k22xwn33z8brpyb7r18vpyralq2cwxj1xsc8b2sj9s4896"))))
20146 (build-system emacs-build-system)
20147 (propagated-inputs
20148 `(("helm" ,emacs-helm)
20149 ("fish-completion" ,emacs-fish-completion)))
20150 (synopsis "Helm interface for Emacs fish-completion")
20151 (description "Helm Fish Completion is a Helm interface for Emacs
20152 fish-completion. It can be used in both Eshell and M-x shell.")
20153 (license license:gpl3+)))
20154
20155 (define-public emacs-telega
20156 ;; This package has versions newer than indicated on MELPA.
20157 ;; Get the current version from `telega-version` in telega.el.
20158 ;; or by running M-x telega-version.
20159 (let ((commit "9bfb637b2e71f5f293debd35abd627a064faf8ef")
20160 (revision "1")
20161 (version "0.5.4"))
20162 (package
20163 (name "emacs-telega")
20164 (version (git-version version revision commit))
20165 (source
20166 (origin
20167 (method git-fetch)
20168 (uri (git-reference
20169 (url "https://github.com/zevlg/telega.el.git")
20170 (commit commit)))
20171 (sha256
20172 (base32
20173 "06v8i3862n5kf2lnxii8vp9g8cq5ql51kr8yxh7l1wccsidri67a"))
20174 (file-name (git-file-name name version))))
20175 (build-system gnu-build-system)
20176 (arguments
20177 `(#:test-target "test"
20178 #:modules ((guix build gnu-build-system)
20179 ((guix build emacs-build-system) #:prefix emacs:)
20180 (guix build utils)
20181 (guix build emacs-utils))
20182 #:imported-modules (,@%gnu-build-system-modules
20183 (guix build emacs-build-system)
20184 (guix build emacs-utils))
20185 #:phases
20186 (modify-phases %standard-phases
20187 (add-after 'unpack 'prefix-patch
20188 (lambda _
20189 (substitute* "server/Makefile"
20190 (("CC=cc")
20191 "CC=gcc")
20192 (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
20193 (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
20194 "/bin"))
20195 ;; Manually invoke `run_tests.py` after install phase.
20196 (("python3 run_tests.py")
20197 ""))
20198 #t))
20199 (add-after 'unpack 'telega-paths-patch
20200 (lambda* (#:key inputs #:allow-other-keys)
20201 ;; Hard-code paths to `ffplay` and `ffmpeg`.
20202 (let ((ffplay-bin (string-append (assoc-ref inputs "ffmpeg")
20203 "/bin/ffplay"))
20204 (ffmpeg-bin (string-append (assoc-ref inputs "ffmpeg")
20205 "/bin/ffmpeg")))
20206 (substitute* "telega-ffplay.el"
20207 (("\\(executable-find \"ffplay\"\\)")
20208 (string-append
20209 "(and (file-executable-p \"" ffplay-bin "\")"
20210 "\"" ffplay-bin "\")"))
20211 (("\\(executable-find \"ffmpeg\"\\)")
20212 (string-append
20213 "(and (file-executable-p \"" ffmpeg-bin "\")"
20214 "\"" ffmpeg-bin "\")"))))
20215 ;; Modify telega-util to reflect unique dir name in
20216 ;; `telega-install-data' phase.
20217 (substitute* "telega-util.el"
20218 (("\\(concat \"etc/\" filename\\) telega--lib-directory")
20219 "(concat \"telega-data/\" filename)
20220 (locate-dominating-file telega--lib-directory
20221 \"telega-data\")"))
20222 #t))
20223 ;; The server test suite has a hardcoded path.
20224 ;; Reset this behavior to use the proper path.
20225 (add-after 'unpack 'server-suite-patch
20226 (lambda _
20227 (substitute* "server/run_tests.py"
20228 (("~/.telega/telega-server")
20229 (string-append (assoc-ref %outputs "out")
20230 "/bin/telega-server")))
20231 #t))
20232 (add-after 'install 'run-server-suite
20233 (lambda _
20234 (invoke "python3" "server/run_tests.py")
20235 #t))
20236 (delete 'configure)
20237 ;; Build emacs-side using `emacs-build-system'
20238 (add-after 'compress-documentation 'emacs-add-source-to-load-path
20239 (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
20240 (add-after 'emacs-add-source-to-load-path 'emacs-install
20241 (assoc-ref emacs:%standard-phases 'install))
20242 ;; This step installs subdir /etc, which contains images, sounds and
20243 ;; various other data, next to the site-lisp dir.
20244 (add-after 'emacs-install 'telega-install-data
20245 (lambda* (#:key outputs #:allow-other-keys)
20246 (copy-recursively
20247 "etc"
20248 (string-append (assoc-ref outputs "out")
20249 "/share/emacs/telega-data/"))
20250 #t))
20251 (add-after 'telega-install-data 'emacs-build
20252 (assoc-ref emacs:%standard-phases 'build))
20253 (add-after 'emacs-build 'emacs-make-autoloads
20254 (assoc-ref emacs:%standard-phases 'make-autoloads)))))
20255 (inputs
20256 `(("ffmpeg" ,ffmpeg))) ; mp4/gif support.
20257 (propagated-inputs
20258 `(("emacs-visual-fill-column" ,emacs-visual-fill-column)
20259 ("libwebp" ,libwebp))) ; sticker support.
20260 (native-inputs
20261 `(("tdlib" ,tdlib)
20262 ("emacs" ,emacs)
20263 ("python" ,python)))
20264 (synopsis "GNU Emacs client for the Telegram messenger")
20265 (description
20266 "Telega is a full-featured, unofficial GNU Emacs-based client for the
20267 Telegram messaging platform.")
20268 (home-page "https://github.com/zevlg/telega.el")
20269 (license license:gpl3+))))
20270
20271 (define-public emacs-doom-modeline
20272 (package
20273 (name "emacs-doom-modeline")
20274 (version "2.8.2")
20275 (source (origin
20276 (method git-fetch)
20277 (uri (git-reference
20278 (url "https://github.com/seagle0128/doom-modeline.git")
20279 (commit (string-append "v" version))))
20280 (sha256
20281 (base32
20282 "11srz1mr821axggs2jcmdhihxx09a2dniqv3n039wbdfaimfaidz"))
20283 (file-name (git-file-name name version))))
20284 (build-system emacs-build-system)
20285 (arguments
20286 `(#:test-command '("ert-runner")))
20287 (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
20288 (propagated-inputs
20289 `(("emacs-all-the-icons" ,emacs-all-the-icons)
20290 ("emacs-shrink-path" ,emacs-shrink-path)))
20291 (synopsis "Fancy and fast mode-line inspired by minimalism design")
20292 (description "Doom modeline is a complete modeline for GNU Emacs inspired
20293 by the Doom theme collection. This modeline features support for mode-specific
20294 icon support, git integration, and several other utilities.")
20295 (home-page "https://github.com/seagle0128/doom-modeline/")
20296 (license license:gpl3+)))
20297
20298 (define-public emacs-shrink-path
20299 (package
20300 (name "emacs-shrink-path")
20301 (version "0.3.1")
20302 (source
20303 (origin
20304 (method git-fetch)
20305 (uri (git-reference
20306 (url "https://gitlab.com/bennya/shrink-path.el.git")
20307 (commit (string-append "v" version))))
20308 (sha256
20309 (base32
20310 "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
20311 (file-name (git-file-name name version))))
20312 (build-system emacs-build-system)
20313 (propagated-inputs
20314 `(("emacs-s" ,emacs-s)
20315 ("emacs-dash" ,emacs-dash)
20316 ("emacs-f" ,emacs-f)))
20317 (home-page "https://gitlab.com/bennya/shrink-path.el")
20318 (synopsis "Fish-style path truncation in emacs-lisp")
20319 (description "This package provides utility functions that allow for
20320 Fish-style truncated directories in eshell and various modelines.")
20321 (license license:gpl3+)))
20322
20323 (define-public emacs-org-present
20324 (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
20325 (package
20326 (name "emacs-org-present")
20327 (version "0.0.1")
20328 (source
20329 (origin
20330 (method git-fetch)
20331 (uri (git-reference
20332 (url "https://github.com/rlister/org-present.git")
20333 (commit commit)))
20334 (file-name (git-file-name name version))
20335 (sha256
20336 (base32
20337 "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
20338 (build-system emacs-build-system)
20339 (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
20340 (description "Org-present is an extremely minimalist presentation tool
20341 for Emacs org-mode. Simply layout your presentation with each slide under a
20342 top-level header, start the minor mode with @code{org-present}, and page through
20343 each slide with left/right keys.")
20344 (home-page "https://github.com/rlister/org-present")
20345 (license license:gpl2))))
20346
20347 (define-public emacs-fullframe
20348 (package
20349 (name "emacs-fullframe")
20350 (version "0.5.0")
20351 (source
20352 (origin
20353 (method git-fetch)
20354 (uri (git-reference
20355 (url "https://github.com/tomterl/fullframe.git")
20356 (commit version)))
20357 (sha256
20358 (base32
20359 "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
20360 (file-name (git-file-name name version))))
20361 (build-system emacs-build-system)
20362 (home-page "https://github.com/tomterl/fullframe")
20363 (synopsis "Generalized automatic execution in a single frame")
20364 (description "This library provides helpers for single-window-per-frame
20365 execution of buffer-exposing commands.")
20366 (license license:gpl3+)))
20367
20368 (define-public emacs-repl-toggle
20369 (package
20370 (name "emacs-repl-toggle")
20371 (version "0.6.1")
20372 (source
20373 (origin
20374 (method git-fetch)
20375 (uri (git-reference
20376 (url "https://github.com/tomterl/repl-toggle.git")
20377 (commit version)))
20378 (sha256
20379 (base32
20380 "12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"))
20381 (file-name (git-file-name name version))))
20382 (build-system emacs-build-system)
20383 (propagated-inputs
20384 `(("emacs-fullframe" ,emacs-fullframe)))
20385 (home-page "https://github.com/tomterl/repl-toggle")
20386 (synopsis "Switch to and from current major mode's REPL")
20387 (description "This package provides a function to switch to and from a
20388 REPL appropriate to the current major mode.")
20389 (license license:gpl3+)))
20390
20391 (define-public emacs-blackout
20392 (let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
20393 (revision "1"))
20394 (package
20395 (name "emacs-blackout")
20396 (version (git-version "1.0" revision commit))
20397 (source
20398 (origin
20399 (method git-fetch)
20400 (uri (git-reference
20401 (url "https://github.com/raxod502/blackout.git")
20402 (commit commit)))
20403 (sha256
20404 (base32
20405 "1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
20406 (file-name (git-file-name name version))))
20407 (build-system emacs-build-system)
20408 (home-page "https://github.com/raxod502/blackout")
20409 (synopsis "Clean up mode lighters")
20410 (description "This package provides a function for hiding and customizing
20411 display of major and minor modes in the mode line.")
20412 (license license:gpl3+))))
20413
20414 (define-public emacs-ivy-omni-org
20415 (let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
20416 (revision "1"))
20417 (package
20418 (name "emacs-ivy-omni-org")
20419 (version (git-version "0.2.1" revision commit))
20420 (source
20421 (origin
20422 (method git-fetch)
20423 (uri (git-reference
20424 (url "https://github.com/akirak/ivy-omni-org.git")
20425 (commit commit)))
20426 (file-name (git-file-name name version))
20427 (sha256
20428 (base32
20429 "1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
20430 (build-system emacs-build-system)
20431 (propagated-inputs
20432 `(("emacs-ivy" ,emacs-ivy)
20433 ("emacs-dash" ,emacs-dash)))
20434 (synopsis "Browse anything in Org mode")
20435 (description "This package allows Org items to be accessed via the Ivy
20436 interface.")
20437 (home-page "https://github.com/akirak/ivy-omni-org")
20438 (license license:gpl3+))))
20439
20440 (define-public emacs-shackle
20441 (let ((commit "7ccbe513852a1d1700b698547efca14b8940319d")
20442 (revision "1"))
20443 (package
20444 (name "emacs-shackle")
20445 (version (git-version "1.0.3" revision commit))
20446 (source
20447 (origin
20448 (method git-fetch)
20449 (uri (git-reference
20450 (url "https://github.com/wasamasa/shackle.git")
20451 (commit commit)))
20452 (file-name (git-file-name name version))
20453 (sha256
20454 (base32
20455 "0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"))))
20456 (build-system emacs-build-system)
20457 (synopsis "Enforce rules for popups")
20458 (description "This package provides a global minor mode in which users
20459 can specify how popup-displaying functions occupy the screen.")
20460 (home-page "https://github.com/wasamasa/shackle")
20461 (license license:gpl3+))))
20462
20463 (define-public emacs-helm-lacarte
20464 (let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
20465 (revision "1"))
20466 (package
20467 (name "emacs-helm-lacarte")
20468 (version (git-version "0" revision commit))
20469 (source
20470 (origin
20471 (method git-fetch)
20472 (uri (git-reference
20473 (url "https://github.com/emacs-helm/helm-lacarte.git")
20474 (commit commit)))
20475 (file-name (git-file-name name version))
20476 (sha256
20477 (base32
20478 "0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
20479 (build-system emacs-build-system)
20480 (propagated-inputs
20481 `(("emacs-helm" ,emacs-helm)
20482 ("emacs-lacarte" ,emacs-lacarte)))
20483 (synopsis "Helm interface to @code{lacarte.el}")
20484 (description "This package provides a Helm interface to
20485 @code{lacarte.el}, a package that displays mode-specific commands as menu
20486 items.")
20487 (home-page "https://github.com/emacs-helm/helm-lacarte")
20488 (license license:gpl3+))))
20489
20490 (define-public emacs-esh-help
20491 (let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
20492 (revision "1"))
20493 (package
20494 (name "emacs-esh-help")
20495 (version (git-version "1.0.1" revision commit))
20496 (source
20497 (origin
20498 (method git-fetch)
20499 (uri (git-reference
20500 (url "https://github.com/tom-tan/esh-help.git")
20501 (commit commit)))
20502 (file-name (git-file-name name version))
20503 (sha256
20504 (base32
20505 "0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
20506 (build-system emacs-build-system)
20507 (propagated-inputs
20508 `(("emacs-dash" ,emacs-dash)))
20509 (synopsis "Help functions for Eshell")
20510 (description "This package provides a @code{run-help} function inspired
20511 by @code{zsh} as well as @code{eldoc} support.")
20512 (home-page "https://github.com/tom-tan/esh-help")
20513 (license license:gpl3+))))
20514
20515 (define-public emacs-isearch-dabbrev
20516 (let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
20517 (revision "1"))
20518 (package
20519 (name "emacs-isearch-dabbrev")
20520 (version (git-version "0.1" revision commit))
20521 (source
20522 (origin
20523 (method git-fetch)
20524 (uri (git-reference
20525 (url "https://github.com/Dewdrops/isearch-dabbrev.git")
20526 (commit commit)))
20527 (file-name (git-file-name name version))
20528 (sha256
20529 (base32
20530 "17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
20531 (build-system emacs-build-system)
20532 (synopsis "Use @code{dabbrev} within @code{isearch}")
20533 (description "This package allows @code{dabbrev-expand} to be used
20534 within @code{isearch-mode}.")
20535 (home-page "https://github.com/Dewdrops/isearch-dabbrev")
20536 (license license:gpl3+))))
20537
20538 (define-public emacs-helm-linux-disks
20539 (let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
20540 (revision "1"))
20541 (package
20542 (name "emacs-helm-linux-disks")
20543 (version (git-version "0.1" revision commit))
20544 (source
20545 (origin
20546 (method git-fetch)
20547 (uri (git-reference
20548 (url "https://github.com/Akirak/helm-linux-disks.git")
20549 (commit commit)))
20550 (file-name (git-file-name name version))
20551 (sha256
20552 (base32
20553 "1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
20554 (build-system emacs-build-system)
20555 (propagated-inputs
20556 `(("emacs-helm" ,emacs-helm)))
20557 (synopsis "Mount/unmount volumes in Linux via Helm")
20558 (description "This package provides a Helm interface to run operations
20559 on removable volumes in Linux.")
20560 (home-page "https://github.com/Akirak/helm-linux-disks")
20561 (license license:gpl3+))))
20562
20563 (define-public emacs-psession
20564 (let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
20565 (revision "1"))
20566 (package
20567 (name "emacs-psession")
20568 (version (git-version "1.5" revision commit))
20569 (source
20570 (origin
20571 (method git-fetch)
20572 (uri (git-reference
20573 (url "https://github.com/thierryvolpiatto/psession.git")
20574 (commit commit)))
20575 (file-name (git-file-name name version))
20576 (sha256
20577 (base32
20578 "15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
20579 (build-system emacs-build-system)
20580 (propagated-inputs
20581 `(("emacs-async" ,emacs-async)))
20582 (synopsis "Persistent save of @code{elisp} objects.")
20583 (description "This package provides minor modes for saving Emacs session
20584 data, including buffers, window configuration, variables, and more.")
20585 (home-page "https://github.com/thierryvolpiatto/psession")
20586 (license license:gpl3+))))
20587
20588 (define-public emacs-parseedn
20589 (package
20590 (name "emacs-parseedn")
20591 (version "0.1.0")
20592 (source
20593 (origin
20594 (method git-fetch)
20595 (uri (git-reference
20596 (url "https://github.com/clojure-emacs/parseedn.git")
20597 (commit (string-append "v" version))))
20598 (file-name (git-file-name name version))
20599 (sha256
20600 (base32
20601 "11wi3hwcgmy54p6ivpijqm7v0hj6j75a19qk5z779bqfrp79b4pc"))))
20602 (build-system emacs-build-system)
20603 (propagated-inputs
20604 `(("emacs-a" ,emacs-a)
20605 ("emacs-parseclj" ,emacs-parseclj)))
20606 (home-page "https://cider.mx")
20607 (synopsis "EDN parser for Emacs Lisp")
20608 (description
20609 "An Emacs Lisp library for parsing EDN (Clojure) data.
20610 It uses parseclj's shift-reduce parser internally.")
20611 (license license:gpl3+)))
20612
20613 (define-public emacs-parseclj
20614 (package
20615 (name "emacs-parseclj")
20616 (version "0.1.0")
20617 (source
20618 (origin
20619 (method git-fetch)
20620 (uri (git-reference
20621 (url "https://github.com/clojure-emacs/parseclj.git")
20622 (commit (string-append "v" version))))
20623 (file-name (git-file-name name version))
20624 (sha256
20625 (base32
20626 "03bm5dm4hmkqimv4wqxjjh5814pxysmm7z54bv2rf7zwv1x7dggr"))))
20627 (build-system emacs-build-system)
20628 (propagated-inputs `(("emacs-a" ,emacs-a)))
20629 (home-page "https://cider.mx")
20630 (synopsis "Clojure parser for Emacs Lisp")
20631 (description
20632 "An Emacs Lisp library for parsing Clojure code and EDN data.
20633 It supports several input and output formats, all powered by the
20634 same shift-reduce parser function.")
20635 (license license:gpl3+)))
20636
20637 (define-public emacs-hide-mode-line
20638 (package
20639 (name "emacs-hide-mode-line")
20640 (version "1.0.2")
20641 (source (origin
20642 (method git-fetch)
20643 (uri (git-reference
20644 (url "https://github.com/hlissner/emacs-hide-mode-line.git")
20645 (commit (string-append "v" version))))
20646 (file-name (git-file-name name version))
20647 (sha256
20648 (base32
20649 "0dfzjgxfkcw4wisbyldsm1km18pfp9j8xgadn6qnsz11l55bpgyp"))))
20650 (build-system emacs-build-system)
20651 (synopsis "Emacs plugin that hides the mode-line")
20652 (description "A minor mode that hides the mode-line in your current
20653 buffer. It can be used to toggle an alternative mode-line, toggle its visibility,
20654 or simply disable the mode-line in buffers where it is not very useful.")
20655 (home-page "https://github.com/hlissner/emacs-hide-mode-line")
20656 (license license:expat)))